Zum Messen von Batterien und Akkus (laden oder entladen) Anlass war, dass Aldi plötzlich neue Mignonzellen hat. Ich wollte wissen ob die für das Geld die gleiche Kapazität bieten. Ein Messgerät in der Art konnte ich nicht finden. Da ich gerade angefangen habe AVR in C zu programmieren (nachdem die Leuchtdiode geblinkt hat), bot sich das Projekt geradezu an. Funktion: Bildet ein Integral über den gemessenen Strom. Zeigt das Ergebnis in mAh an. Ausserdem die Zeit und den aktuellen Strom. Anzeige über RS232 möglich Man kann z.B. einen Akku über eine Last entladen und den Strom mit diesem gerät messen. Hinterher weiss man wieviel drin war. Der Spannungsabfall ist so gering (z.B. 20mV bei 200mA), dass vermutlich auch Akkuladegeräte fast korrekt funktionieren und man somit auch Ladungen beim Aufladen messen kann Hardware: Das Gerät besitzt ledigleich 2 Anschlüssen. Zwischen beiden ist ein Widerstand von 0,1 Ohm. Der Spannungsabfall wird verstärkt und mit einem Mega8 gemessen. Software: Ich habe es mit dem AVR-Studio in GCC geschrieben (kein Makefile) Ich verwende einen Takt von 9,6MHz (ist Zufall den hatte ich gerade da). Achtung: Externer Takt -> Fuse Bits entsprechedn setzen Das Hauptprogramm macht eigentlich nichts. Timer 1 löst jede Sekunde einen Interrupt aus. Der Strom wird gemessen bis (1024 mA) Man könnte auch andere Faktoren einstellen ("strom = adWert * Faktor;") Den Strom gebe ich zudem als ASCII auf die serielle Schnittstelle. Dann wird der Wert je Sekunde aufaddiert und durch 3600 geteilt. Das Ergebnis sind die mAh. Der LCD Treiber stammt von Peter Fleury. Probleme: sehr kleine Ströme (unter 20mA) werden nicht korrekt gemessen, da der OP in diesem Bereich nicht linear arbeitet. Nachdem ich ihm eine negative Versorgungsspannung spendiert hatte, wurde es kaum besser. Ein CA3140 brauchte auch kein besseres Ergebnis. Ausserdem habe ich noch 2 Schaltungen getestet die im Forum empfohlen wurden. Aber keine hatte eine 100% ige Linearität. So dass ich beschlossen habe mit einer geringen Abweichung (bis zu 3mA) zu leben. Die Platine habe ich mit Eagle gezeichnet. Leider musste ich nachträglich am Layout einiges ändern, weil ich Fehler im Schaltplan hatte. Die Fehler habe ich Layout nicht mehr korrigiert. Deshalb nur der Schaltplan. ************************ Das Hauptprogramm habe ich mal angehängt Alle Files habe ich auch auf meine HP gestellt: http://www.stegem.de/Ladungsmesser/ Ich wäre dankbar für viele Verbesserungsvorschläge, weil ich an dem Projekt ja lernen will.
Hier noch der Schaltplan
Hier das Hauptprogramm direkt als Text (lässt sicht nicht anhängen) ************
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | |
135 | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 | |
144 | |
145 | |
146 | |
147 | |
148 | |
149 | |
150 | |
151 | |
152 | |
153 | |
154 | |
155 | |
156 | |
157 | |
158 | |
159 | |
160 | |
Nachdem das Gerät nun 2 Tage gelaufen ist, erste Ergebnisse. Alle Alkaline Batterien haben ähnliche Werte (Mignon um die 2Ah), also kann man auch billige kaufen (Aldi und Lidl sind gleich) Die Anschaffung des Gerätes zu diesem Zweck ist uninteressant. Ich habe eine Mignonzelle mit meinem Reflexlader aufgeladen. Der hier: http://www.klaus-leidinger.de/mp/RC-Elektronik/Reflexlader/Reflexlader_m.html Durch den Messtakt von 1s ergaben sich anfangs große Abweichungen, da der Reflexlader wohl nur Ladeimpulse schickt und dann wieder misst. Bei längerer Laufzeit, hat man aber korrekte Werte, der Fehler gleicht sich aus. Am Ende ergab sich eine Abweichung der Kapazität von 10%. Ich vermute aber eher dass der Reflexlader nicht richtig abgeglichen ist. Muss mal reingucken. Gestört hat der Spannungsabfall den Reflexlader nicht.
Gast
#440221
Hallo, vielleicht kommt deine Abweichung hier her.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
Atmel schlaegt zwei Messungen beim ersten mal vor um ein richtigen Wert zuerhalten.
Danke für den Hinweis ich werde auf jeden Fall mal 2 Messungen machen und den Durchschnitt bilden. Inzwischen habe ich mal versucht den Reflexlader abzugleichen, was nicht ganz einfach ist, da er ja ständig kurz entlädt um zu messen. Ich denke meine Schaltung ist genau. Wenn ich 1Stunde genau 1A fliessen lasse stimmt die Anzeige.
Gast
#444503
moin moin, der LM358 ist für Messaufgaben wegen seines Offsets ( ca. 2mV )schlecht geeignet. Entweder es kommt noch ein Offsetabgleich hinzu oder gleich einen besseren OPV. Bei so etwas verwende ich den LTC1049, Offset <10µV. mfg Pieter
tolles Teil der LTC1049 :-) steht auf meiner Bestellliste drauf. Ich werde ihn aber für genauere Messungen aufheben. Beim Ladungsmessgerät kommt es mir nicht auf Genauigkeit an.
Hallo, ich habe da einen Fehler gefunden:
summe = summe + strom; // Strom aussummieren
if (summe >= 3600){ // in mAh umrechnen
mah++; // wenn 1mAh voll +1
summe = summe % 3600; // Rest weiterzählen
}
Es muss doch "summe = summe - 3600" sein. Ansonsten egibt es für mich
keinen Sinn. Es mag bei dir zwar so funktioniert haben, aber mit einem
kleinen Fehler.
Ich hoffe ich habe da kein Misst geschrieben.
Bin gerade am Überlegen mir einen Akku Tester zu bauen. Da habe ich mir
deinen Code angeschaut.
MfG
% ist Modulo Division. Das heißt die 3600 fallen weg, der Rest bleibt. Ginge wohl auch mit minus.
Moin, schönes Projekt und als Einstieg gut gelungen! Modulo funktioniert natürlich, aber wenn man mit Resourcen (Flash, Zeit) geizen müsste, würde man Modulo (bzw. allgemein Division) möglichst durch Subtraktion oder Zuweisung "summe=0" ersetzen. Laut Schaltplan kriegt AVCC keine Spannung!?! Gruß Frank
> Laut Schaltplan kriegt AVCC keine Spannung!?!
scheint aber zu funktionieren
Ich habe REFS0 und REFS1 auf 1 gesetzt.
Im Datenblatt steht:
"Internal Voltage Reference (2.56V) with external Capacitor at AREF pin"
Ich meine AVCC, nicht AREF ;-)
Frank N. wrote:
> Ich meine AVCC, nicht AREF ;-)
Sorry
Ich habe gerade nachgemessen AVCC liegt auf +5V. Ich frage mich nur
warum. Ich habe keine Verbindung. Muss irgendwie intern geschaltet sein?
Gast
#469627
>Atmel schlaegt zwei Messungen beim ersten mal vor um ein richtigen Wert >zuerhalten. Wo steht das? Das betrifft nur das Umschalten der Referenzen, nicht die AD-Wandlung eines einzelnen Kanals (der ja offensichtlich nicht gewechstelt wird). >Ich habe gerade nachgemessen AVCC liegt auf +5V. Ich frage mich nur >warum. Ich habe keine Verbindung. Muss irgendwie intern geschaltet sein? Interessant... Übrigens solltest du laut Datenblatt bei ADC-Benutzung ein LC-Glied an dem Pin haben.
>>Ich habe gerade nachgemessen AVCC liegt auf +5V. Ich frage mich nur >>warum. Ich habe keine Verbindung. Muss irgendwie intern geschaltet sein? > Interessant... > Übrigens solltest du laut Datenblatt bei ADC-Benutzung ein LC-Glied an > dem Pin haben. ja weiss ich. Aber wieso geht es? ich habe jetzt sogar auf der Platine nachmessen keine Verbindung zwischen + und AVCC
Hab hier grad nen ATMega8: VCC und AVCC sind niederohmig (~5ohm) miteinander verbunden und "Diodenprüfung" ergibt Spannungsdifferenz von 0,08V in beide Richtungen. Also nix (parasitäre) Diode oder so. Viel nutzen dürfte das LC-Glied also nicht...
ich habe mir jetzt mal die Werte anzeigen lassen. Ohne AVCC sind die Messungen falsch. Mit Referenz AVCC nimmt er 3,4V statt 5V Mit Int. Ref 2V statt 2,5V Bei meiner Schaltung ist das egal, weil ich sie entsprechend abgeglichen habe. Hab gerade gemerkt, dass in der Schaltung ein Mega8 drin ist. Obige Messung war mit Tiny26
Wo ist denn die Datei "BinaryNr.h" zu finden? bb
Hier der neue Link: http://www.stegem.de/Elektronik/Ladungsmesser/
Gast
#1030967
...Hi, nun werd ich mein KapMessgerät auch mal fertig stellen, scheint ja gerade in Mode zu sein. Ist die ISR nicht etwas "voll"?! Sollte man doch für gewöhnlich in eine Unterfkt auslagern, oder? Wofür ist die Diode am Ausgangsspgsteiler des OP? Gruß, Klaus.
Gast
#1032203
Hi Stefan, könntest Du die Ergebnisse Deiner Vergleichsmessung verschiedener Discounter-Batterien mal hier einstellen. cdg
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
