Datum: 19.08.2008 20:00
Hallo zusammen ich habe mit einem Projet angefangen, mit dem man die Kapazität von Akkus messen kann. Eine genaue Beschreibung des Projekts findet ihr in der Artikelsammlung "Akku Tester". http://www.mikrocontroller.net/articles/Akku_Tester Vieleicht habt ihr ja lust euch das anzusehen. Ich würde mich über jede Art von Feedback freuen und auch gerne Fragen beantworten. MfG Philipp
Datum: 19.08.2008 20:37
Hi, Ich finde das Projekt eine gute Idee! Was mir daszu noch einfällt: 1. Weiß nicht ob du das machst, aber die Spannung der Akkus sollte Stromlos gemessen werden damit die Übergangswiderstände die Messung nicht verfälschen. 2. Bildet eine Impulsförmige Entladung das selbe Ergebnis wie eine Gleichbleibende Entladung? 3. Wäre cool wenn man am PC die Kiste Parametrieren könnte, denke da an Einstellung der Entladeschlussspannung, Entladestrom evtl. max Akkutemperatur. Automatisches Entladen / Laden mit unterschiedlichen Entladeströmen. 4. Bei einem dicken Akkupack macht manchmal nur 1 Akku schlapp. Wäre gut wenn beim Entladen alle Zellspannungen gemessen werden können. 5. Eine Ladefunktion für Lipo mit Balancer, NiCD, NimH wäre auch praktisch, ist nur viel Arbeit.
Datum: 19.08.2008 20:49
>Klaubunde
Könntest Du das BITTE mal korrigieren :(
Das erste 'u' gehört da nicht hin.
Datum: 19.08.2008 20:56
Michael wrote: > Hi, > Ich finde das Projekt eine gute Idee! > Was mir daszu noch einfällt: > > 1. Weiß nicht ob du das machst, aber die Spannung der Akkus sollte > Stromlos gemessen werden damit die Übergangswiderstände die Messung > nicht verfälschen. Gut wäre auch eine sog. Kelvin-Verbindung, d.h. eine extra Leitung für plus und minus für die Spannungsmessung, die exakt am Akku befestigt wird. So kann der Spannungsabfall in den Leitungen abgefangen werden. ( Ich hab fast das gleiche in der Arbeit gebaut und entlade ca. 20W. Da erreiche ich fast 0.5V und mehr Spannungsabfall auf der Leitung. > 2. Bildet eine Impulsförmige Entladung das selbe Ergebnis wie eine > Gleichbleibende Entladung? Ist keine Impulsförmige Entladung, da die PWM über ein RC-Filter geglättet wird. > 3. Wäre cool wenn man am PC die Kiste Parametrieren könnte, denke da an > Einstellung der Entladeschlussspannung, Entladestrom evtl. max > Akkutemperatur. Ja, find ich auch. > Automatisches Entladen / Laden mit unterschiedlichen Entladeströmen. Nö, find ich nicht > 4. Bei einem dicken Akkupack macht manchmal nur 1 Akku schlapp. Wäre gut > wenn beim Entladen alle Zellspannungen gemessen werden können. Ich sehe aber noch ein Problem: Bei meiner Schaltung hatte ich Probleme mit Schwinugungen, d.h. der ganze Lastkreis hat bei verschiedenen Situationen zu schwingen begonnen, ich habe einen Kondensator von ca. 470n als Gegenkopplung beim OPAMP eingebaut. Dann funktionierte es einwandfrei! Die SD-Karte find ich geil. Ich werd mal den Souce code anschauen. Ich verwende für mein Projekt den MSC1210 der hat nen 24bit ADC. Ich kann die Spannung ohne grossen Stress auf 1mV genau messen. Den Strom ebenfalls mit 1mA Genauigkeit. Kannst Du deine Schaltung auch kalibrieren? Ich habe bei mir einen Offset und ein Gain vorgesehen, diese Faktoren linke ich in einer *.h-Datei dazu. Somit kann ich das exakt kalibrieren, wenn ich will.
Datum: 20.08.2008 00:43
Die Wunschvorstellung eine Akkukapazität so einfach ableiten zu können wie z.B. mit einem Voltmeter die Spannung zu messen, (Drannhalten und ablesen) wird wohl für immer ein Traum bleiben. Wenn man sich mit den Akkuherstellern unterhält bekommt man meisst eine lapidare Aussage im Sinne von: "Kapazität hängt von Einsatzzweck, Alter, Lade-/Entladestrom ab". Nur leider habe ich noch nie eine Kapazitätskurve eines Akkus entdeckt die auch nur von einem angenommenen Fall ausgeht, und einem eine ungefähre Schlussfolgerung über die verbleibende Kapazität verrät. Insbesondere über die Lebensdauer von Solarakkus wurde ich schon oft schockiert. Teilweise erreichten diese nicht einmal die halbe angegebene Lebensdauer. Mein lauter Verdacht ist einfach das, a) die Hersteller-Kapazitätsangaben weit nach unten korrigiert werden müssten, wenn wir die Kapazität einfach messen könnten. b) Die Hersteller bewusst eine längere Lebensdauer angeben, da man sich ja immer auf "falschen Einsatzzweck" hinaus reden kann. (Diese Standardaussage habe ich nur leider schon all zu oft gehört). -> Stichwort Autobatterie! Wenn man das zu Grunde legt, denke ich, Akkuhersteller haben sehr wohl die Möglichkeit die verbleibende Akkukapazitäten bereits beim Ladevorgang hoch zu rechnen. Sie würden sich damit nur selbst Schaden wenn sie diese Techniken veröffentlichen würden. Besonders in dynamischen Prozessen wie z.b. Solarakkuladung, würde sich eine ständige Messung von Ladung - Entladung anbieten, aus der sich dann alle herstellerspezifischen Unbekannten wie Alter, Einsatzzweck ect. ganz einfach Ableiten lassen. Ich geh sogar noch einen Schritt weiter, daraus könnten sogar Pflegetips für Akkus automatisiert ausgegeben werden. Aber bissher hab ich noch kein Solarakkuregler gesehen der eine Auskunft über die Verfassung seines "Schützlings" preisgibt. Bleibt nur zu hoffen das jemand eine geniale Schaltung entwirft die aus der Ladestromkennlinie eine "reale" Kapazitätsangabe berechnet. Gruss Chriss
Datum: 20.08.2008 01:42
Angehängte Dateien:Hi, den Apparat aus modernster Hochtechnik* habe ich mir gestern/vorgestern schonmal angekukkt, sowas suche ich noch, sowas universelles eben. Es reicht mir vollkommen aus, wenn ich die Akkus mit verschiedenen Strömen entladen kann, also nen 14Ah Akku z.b. mit 200mA oder auch mit 3A. Noch cooler wäre, wenn mehr als ein Akku gleichzeitig gehen würde. Anhand der Meßwerte kann ich ja selber entscheiden, ob ich die Akkus weiter benutze oder weg damit. Außerdem weiß ich dann auch, welcher Akku unter Last bei einem 4er Pack z.B. als erster abschlafft. Von der Rechenleistung schafft der Prozessor das, aber wie es mit dem Handling dann aussieht...... Der Tiefpaß zur Generierung einer Gleichspannung aus einer PWM läßt sich sehr gut mit einem Sallen-Key-Filter machen, besser als mit einem einfachen RC-Tiefpaß. Siehe Anhang & Wikipedia, auch zur Berechnung. Die Formeln bzw. Rechenschritte dazu: 1) Cutoff-Freq. festlegen, z.B. f_o = 10kHz wegen Störungen bei 50 kHz f_Sig < 5 kHz (input) 2) C2 = 10 pf .... 100 nF 3) C1 = 2x C2 4) R1 = R2 = 1/(2*pi*f_o*C1*sqrt(2)) Wie das jetzt genau zusammenhängt mit C2 von 10 pF bis 100 nF weis ich auch nicht mehr, habe hier nur meine Notizen abgeschrieben. Aber ich denke mit Filter ist schon vorteilhafter. Dann wäre noch super, wenn man zur Log-Datei einstellen könnte, ob mit Semikolon die Werte getrennt sind oder mit Tabulator. Mit Tabulator hat den Vorteil, daß man die Datei direkt ankukken kann und die Meßwerte spaltenweise passend übereinander stehen. Außerdem kann man die Daten dann mit gnuplot sich ausgeben lassen, auch wenn es mehr als 16000 Zeilen an Daten sind. Office-Proggis machen da schlapp. Und Office-Proggis können auch mit Tabulator getrennte Datenfelder importieren. Dann wäre vllt. noch vorteilhaft, den Akku wahlweise mit einem konstanten Strom oder mit einem konstanten Widerstandswert zu entladen. Achso, bevor ich's vergesse. Den Namen.... >>Klaubunde >Könntest Du das BITTE mal korrigieren :( >Das erste 'u' gehört da nicht hin. ....ich hab's mal eben schnell korrigiert. Mehr fällt mir zu dem allermodernsten Hochtechnologiemaschienegerät* nicht ein, so spontan. *) Begriffierungen geklaut aus Ion Tichy Raumpilot, Teil 1-6
Datum: 20.08.2008 17:59
Erstmals danke für die zahlreichen Antworten @Michael 1. Ich habe meinen Akkutester für grosse Ströme ausgelegt, damit ich die Akkus realistisch Belasten kann. Ich habe das vorallem gemacht, um Modellbauakkus zu Testen, und da will ich wissen, wann er auf einer gewissen Spannung entladen ist. Es nützt mir nichts, wenn er sich nach einer Gewissen Zeilt erholt, denn bis dann habe ich den Akku gewechselt. Wenn du die Kapazität dennoch genau wissen möchtest, dann kanst du ihn mit einem kleinen Strom entladen, damit es keine grossen Verlüste an übergangswiderständen gibt. 2. Wiss ich nicht genau, wenn du mit einem Impulsförmigen Strom aber grosse Stromspitzen meinst, dann wird das Resultat sicher anders rauskommen, denn je grösser der Strom desto grösser der Verlust im Akku drinnen. 3. Eine grosse Sache wäre das eigentlich nicht, doch wennschon dann möchte ich das ganze Plattformenunabhängig und OpenSource machen. Ich kenne mich da leider nur mit VB6 aus und das läuft nur auf Windows, wobei Vista auch schon ein Problem ist. Falls aber jemand lust hat so ein Programm in JAVA zu schreiben, dann werde ich das in der uP-Software gerne ergänzen. 4. Wäre schön, gibt aber viel Hardwareaufwand und ich wollte es so einfach wie möglich halten, damit es auch etwas für nicht sehr versierte Elektrobastler ist. 5. Laden ist eigentlich nicht vorgesehen, und LiPo ist da eh heikel. (Temperatur >70°C = Booomm) @Holger Sorry. Da war jemand schon schneller als ich. @Frank 1. Mit Schwingungen hatte ich bis jetzt noch kein Problem, hängt aber wahrscheinlich auch vom OP ab. 2. Externer ADC ist zar toll kostet abe besonders wenns ein 24bit ist. Mit meiner schaltung kann man auf 10mA und 53mV genau messen. Ich denke das reicht, da andere Einflüsse (z.B. Temperatur, vorheriger Ladezustand usw.) grössere Einflüsse auf das Resultat haben. 3. Kalibrierung ist bei mir überflüssig, da alleine die Tolareanz des Leistungswiderstandes einiges über dem des ADC liegt. @Chris Herstellerangaben sind immer so eine Sache. Die Kapazität und Lebensdauer hängt von so vielem ab, und das ist auch der Punkt warum ich sagte, dass ich die Spannung nicht im Stromlosen Zustand messe, denn dann wäre es meiner Meinung nach nicht mehr Realitätsgetreu. Hilt also nur eines, den Akku unter Realen bedingungen ausmessen, und das ist genau das, was ich mit diesm Projekt erreichen will. @Hegy 1. Die Schaltung werd ich mir mal genauer ansehen und ausmessen. 2. Ich hab da einfach mal das ";" genommen, aber du hast gute gründe füe einen Tabulator, ich werde das in der nächsten Version ändern. 3. Wenn du den Akku mit einem konstante Widerstand entladen möchtest, ist das ganze nicht mehr universell einsetzbar oder wa spricht für einen konstanten Widerstand? @Alle Bei den Logdateien hatte ich mir überlegt, für den Dateinamen einen Zähler anzuhängen, der bei jeder Messung eins raufzählt, damit man mehrere Messungen auf einer Karte speichern kann. Der Zähler wird dann ebenfalls im EEPROM abgespeichert. Oder hat sonst jemand eine Idee, wie man einen Dateinamen mit einem Drehknopf und einer Taste einstellen kann?
Datum: 20.08.2008 20:36
Mit Drehgeber und Taster (als Teil des Drehgebers) kann man mehrere unterschiedliche Eingabeformen unterscheiden: - nur drehen (links / rechts) - gedrückt drehen (links / rechts) - kurz drücken (ohne drehen) - lang drücken (ohne drehen) - mehrmals kurz hintereinander drücken (vor Anlauf eines Timeouts) KH
Datum: 20.08.2008 23:29
Die Antwort zu deiner Frägh >3. Wenn du den Akku mit einem konstante Widerstand entladen möchtest, >ist das ganze nicht mehr universell einsetzbar oder wa spricht für einen >konstanten Widerstand? Warum nicht mehr universell einsatzbar? Jeden Akku kann ich mit einem Widerstand (z.B. Glühlampe) entladen. So habe ich bisher meine Akkus auf Funktion gecheckt. Ist zwar nicht korrekt bzgl. Ah auszurechnen, aber mir ging es darum, wielange der ungefähr hält und als Vergleich gegenüber den anderen. Mal nen paar Fragen/Anmerkungen zur Projekt-Hardware. a) Was, wenn der Akku verpolt angeschlossen wird? b) wenn ein Hochstrom-Akku angeschlossen ist, eine einzelne Zelle mit 1,24V, und soll z.B. mit 1A oder mehr entladen werden. Da stört dann der R17 mit 1R8. Läßt sich das noch optimieren? c) der Spannungsteiler aus R12 und R13, der die Akku-Spannung an den Controller zürckmeldet, scheint mir sehr hoch dimensioniert zu sein. Angenommen, der Eingangspin kann nur 5V ab (max. ADC Input Voltage lt. Datenbladl ist max. AVCC = Ub), dann wird es erst bei Akkuspannungen von 55V kritisch. Ich denke mal bei 15V (Kfz-Akku + Reserve) wäre schon ok, dann wäre auch die Spannungsauflösung höher. Um den Eingangspin zu schützen, eine Z-Diode davor. Warum ist überhaupt der 100nF Kondensator C17 drin? d) der Elko C10 am Ausgang für den Lüfter ist mir noch ein Rätsel. Warum soll der den Transistor entlasten. Ist der Elko etwas entladen und wird der T1 durchgesteuert, wird der Lüfter mit Strom versorgt und auch der Elko geladen, wobei diese Stromspitze bei fast leerem Elko und 100µ ziemlich heftig ausfällt. Ich weiß nicht, wie hoch die PWM dazu ist, aber aufgrund der Massenträgheit des Lüfterrads würde ich den Elko weglassen oder aber, die PWM mit jenem Sallen-Key-Filter zu einer sauberen Gleichspannung machen, die den Transistor und damit den Lüfter steuert. Oder direkt die PWM auf einen MOSFET, BS170 oder sowas.
Datum: 21.08.2008 02:10
Nochmal was zur Plattformunabhängigkeit. Ich habe das Projekt nicht "gemaket" bekommen, weil es unter modernen Dateisystemen ein Unterschied ist, ob es KS0108.h heißt oder ks0108.h. Daher bitte drauf achten, wenn es denn wirklich Plattform unabhängig sein soll, daß im Makefile und in den Include-Statements die Dateinamen gleich GROSS oder klein geschrieben sind und mit dem Ist-Bestand auf der Platte checken. Ich habe jetzt kurzerhand alle Dateinamen klein geschrieben und auch in den Files das mal geändert, um mal zu sehen, wie groß das ganze teil wird. Lösung 25996 Byte. Und dann mal ne Frägh: So'ne Dingers versteht mein avr-gcc nicht (Ver. 4.10) data |= 0b00000010; Die Schreibweise 0bxxxxxx ist es, mußte ich auch manuell ändern. Was muß ich tun, damit der's frißt?
Datum: 21.08.2008 08:45
Das Projekt ist doch in der Rubrik "Wettbewerb". Sind da auch Gemeinschaftsprojekte vorgesehen?
Datum: 21.08.2008 08:57
Hegy wrote: > Und dann mal ne Frägh: > So'ne Dingers versteht mein avr-gcc nicht (Ver. 4.10) > data |= 0b00000010; > > Die Schreibweise 0bxxxxxx ist es, mußte ich auch manuell ändern. > Was muß ich tun, damit der's frißt? Einen passend gepatchten gcc nehmen. Ich habe meinen vor einem halben Jahr selbst uebersetzt und musste auch erst die neusten AVR-Patches manuell hinzufuegen. Die aktuellen Versionen im Studio sollten aber AFAIK o.k. sein...
Datum: 22.08.2008 19:05
Hallo zusammen @Hegy 1. Du kannst den Widerstand auch durch eine Lampe ersetzen und den Strom voll Raufdrehen, daher wird der PWM auf 100% nun du entlädst mit deinem Widerstand. 2. Mit dem Verpolungsschutz hab ich mir zuerst auch den Kopf zerbrochen, aber ich habe jetzt eine Lösung. Man kann vor den Transistor eine Diode oder besser eine Schottkydiode einbauen. Der Proz schützt sich selber, da er am Eingang zwei Dioden hat und da der Spannungsteiler Hochohmig ist fliesst da nur wenig Strom 3. Ein 1.24 V kann man eben nicht mit vollem Strom entladen und irgendwo hat jedes Gerät seine Grenzen. 4. Um die Spannung un den Strom zu messen verwende ich die interne 2.56V Referenz oder AVCC (5V) somit ist die Auflösung bei kleinen Spannung hoch und bei den höheren Spannung ist dann der Prozentuale Fehler etwa gleich gross, obwohl die Auflösung weniger genau ist. Der Kondensator C17 ist um Störungen vorzubeugen. 5. Auch in der Lüfterschaltung arbeitet der Transistor als Spannungsfolger. Der Kondensator soll die Stomspitze abfangen, die der Lüfter duch das interne Schalten verursacht. Der PWM hat mit dem ganzen eigentlich wenig zu tun, da der Transistor mit einer Analogspannung angesteuert wird. 6. Das mit den Dateinamen ist mir noch gar nicht aufgefallen, aber auch das werde ich in der nächsten Version ändern. 7. Ich verwende den AVR-GCC 4.3, daher würde ich dir raten ein Update zu machen. Ich werde noch ein Hinweis anbringen, dass der Source mit AVR-GCC 4.3 kompiliert ist. @Anna Ja, das ist erlaubt. Zudem ist das hier eine Community und der Sinn einer Community ist, dass man sich gegenseitig hilft. mfg Philipp
Datum: 22.08.2008 20:10
Hallo Hegy ich hab jetz mal probiert meine Dateien auf kleinschreibung umbenennt aber jetzt funktioniert nichts mehr mit kompilieren. Könntest du deine Dateien hier posten? mfg Philipp
Datum: 23.08.2008 02:17
> aber jetzt funktioniert nichts mehr mit kompilieren.
Wie lauten denn deine Fehlermeldungen?
Ich habe mir nochmal die Ver. 0.6 gezogen und mit den
Original-Dateinamen versucht zu übersetzen. Hier mal nacheinander die
Fehlrmeldungen und Gegenmaßnahmen.
$ make -------- begin -------- avr-gcc (GCC) 4.1.0 [....] Compiling C: main.c avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -std=gnu99 -Wundef -MMD -MP -MF .dep/main.o.d main.c -o main.o main.c:1: error: target system does not support the "dwarf-2" debug format make: *** [main.o] Error 1 |
Verstehen tue ich das nicht wirklich. Vermutlich liegts an meiner Version. Also aus dem Makefile, sorry, makefile das DEBUG=dwarf-2 auskommentiert.
$ make
Compiling C: main.c
avr-gcc -c -mmcu=atmega32 -I. -g -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -std=gnu99 -Wundef -MMD -MP -MF .dep/main.o.d main.c -o main.o
In file included from KS0108.h:21,
from Init.h:18,
from main.c:24:
ks0108_def.h:11:21: error: ks0108.h: No such file or directory
In file included from main.c:24:
Init.h:22:18: error: FAN.h: No such file or directory
In file included from main.c:25:
GLCD.h:97:7: warning: no newline at end of file
make: *** [main.o] Error 1
|
>ks0108_def.h:11:21: error: ks0108.h: No such file or directory es heißt KS0108.h >Init.h:22:18: error: FAN.h: No such file or directory es heißt Fan.h Und weil das ja ewig lang werden könnte, hier meine Änderungen:
In File ks0108_def.h, Line 11: #include "KS0108.h" In File ks0108.c, Line 9: #include "KS0108.h" In File Init.h, Line 22: #include "Fan.h" |
Das sind die 3 Änderungen, die notwendig sind.
GLCD.h:97:7: warning: no newline at end of file |
Das ist ja ganz fix gefixd.
dir.c:59: warning: pointer targets in passing argument 2 of 'MakeFileName' differ in signedness dir.c:59: warning: pointer targets in passing argument 3 of 'MakeFileName' differ in signedness dir.c:225: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness dir.c:447: warning: pointer targets in passing argument 2 of 'strncmp' differ in signedness dos.c:514: warning: pointer targets in passing argument 2 of 'MakeFileName' differ in signedness dos.c:514: warning: pointer targets in passing argument 3 of 'MakeFileName' differ in signedness ..... |
von den Warnungen bzgl. "differ in signedness" bekomme ich eine ganze Latte. Abhilfe: File fat.c, Line 112 und 113 ändern, das "unsigned" rausschmeißen, z.b. so:
/*unsigned*/ char FileName[8];^M /*unsigned*/ char FileExt[3];^M |
File fat.h, Line 172 und 173, hier auch das "unsigned" rausschmeißen
/*unsigned*/ char DIR_Name[8]; //8 chars filename^M /*unsigned*/ char DIR_Ext[3]; //3 chars extension^M |
Line 260 und 261 ändern, das "unsigned" rausschmeißen
extern /*unsigned*/ char FileName[];^M extern /*unsigned*/ char FileExt[];^M |
Wenn das alles geändert ist, dann rödelt das bei mir in einem rutsch durch, ohne Warnungen & Fehlermeldungen. Einzige Fehlermeldung, die ich bekomme, ist aus dem Makefile. Ändere mal Zeile 436 von
ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(NAME).elf^M |
auf
ELFSIZE = $(SIZE) -A $(NAME).elf |
Dann kommt auch was zum schluß raus
Size after: AkkuTester.elf : section size addr .text 25960 0 .data 36 8388704 .bss 1316 8388740 .noinit 0 8390056 .eeprom 0 8454144 .stab 46692 0 .stabstr 17481 0 Total 91485 |
und jetzt poofen!
Datum: 23.08.2008 15:04
Hallo Hegy ich hatte mein Fehler gefunden, ich hatte eine Datei falsch umbenennt und somit konnte ich nicht kompilieren und bekam auch keine Fehlermeldung, ausser dass er das elf File nich fand. Danke noch für deine anderen Anregungen. Ich habe sie in die Version 0.7 einfliessen lassen. Gruss Philipp
Datum: 23.08.2008 19:26
@Chris D. Wenn die Hersteller das wüsten, würden schon viel mehr elektroautos unterwegs sein. Problem bei den Litium akus ist momentan der Alterungsprozess. Da solche Akkus für den automobileinsatz recht teuer werden, kann man die nicht alle 2 jahre austauschen (beim handy egal, da die meisten sich nach der zeit ein neues holen). Sie muessen somit die lebenszeit eines PKWs ueberleben (ca 8 Jahre stellt sich der hersteller da so vor). Und alter, restkapazitaet, ... lassen sich leider nicht durch einfaches messen von aussen ermitteln den ladezustand ggf ja. Es ist vielmehr der interne zustand der zelle gefragt, der sich momentan nur durch eine externe simulation erfassen laest (temeratur, spannung, und lade und entladestroeme). und selbst das ist momentan noch forschungs gebit. (Ein bekannter schreibt darueber gerade seine doktor arbeit) z.B. Sind entladungen in bestimmten situationen gift fuer so eine zelle. Lagerung im vollgeladenen zustand sowie im lehren zustand sind auch nicht gesonders gut fuer die Zelle, tiefe temperaturen sowieso, ... fuer den obimalen betrieb solcher zellen, laest sich der interne zustand vorraussagen, nur hat der mit der realitaet nich viel zu tun. gruss
Datum: 24.08.2008 03:00
Angehängte Dateien:Mit den Dateinamen in komplett kleingeschrieben in der Ver. 0.7..... naja, so war das nicht gemeint. Ich hatte für MICH die Dateien alle in kleingeschrieben umbenannt, damit ich das compiliert bekommen. Damit du dir die scheiß Arbeit sparen kannst, habe ich ja nochmal die 0.6 Version ausgepackt und nachmal mit make rumgekachelt und mal genauer hingekukkt, was da faul ist. Du hättest alles beim alten lassen können, nur in 2 oder 3 Dateien was ändern, ne Kleinichkeit, das wärs dann schon gewesen. Also, schreib so wie du willst, ich will die nicht unbedingt in kleinschrift haben die Dateinamen. Deine Schreibweise war schon voll ok. Nochmal was zur Projektseite, Abschnitt Speicherung der Daten Ich war mal so frei und habe die einzelnen Leerzeichen durch TAB ersetzt, zumindest optisch. Somit steht das erste Zeichen in Spalte 1, nach dem 1. Tab das nächste Zeichen in Spalte 9 usw. Dann wüder ich noch vorschlagen, die Spaltenüberschriften abzukürzen, also t für Zeit (müßte es nicht Entladezeit heißen statt Ladezeit?), U für Spannung usw. So sähe das aus:
t[s] U[mV] I[mA] C[mAs] E[mWs] 11 660 22 73 46 31 660 33 358 226 |
Ganz Allgemein finde ich, daß grundlegende Angaben, wie z.B. - min. & max. Entladestrom, - min. & max. Akkuspannung, - Schrittweite der Einstellung, - verwendbar für welche Akkutypen fehlen. Falls diese Werte noch nicht festgelegt sind, festlegen! Is unheimlich wichtich, darauf baust du dein Projekt auf! Ich versuche gerade einen der ToDo Punkte auszuradieren, daher nehme ich mal folgende Werte an: minimaler Entladestrom 10 mA max. Entladestrom 10 A über bei allen Spannungen (1.2V bis 12V)! Schrittweite zur einstellung des Entladestroms 10 mA. Damit gehts schon los, 10A Entladestrom bei 1.2V Akku. Es gibt ja so größere Tonnen, die können das. Oder auch einzellige Blei-Akkus. Es soll ja universell vielseitig sein. ...ca. 3 Std. später.... So, feddich gemalt. Ich habe meine Ergüsse mal gemalt! Kukkense mah in Anhang. Muß ich das jetzt erklären? Ok, Kurzform, schon wieder so spät, ich will inne Poofe und nicht erst noch was essen, krich wieder schmacht. Zum Themer. Aufgrund meiner gemachten Annahmen habe ich 2 Entladestrompfade gebaut. Der obere Zweig (L für Low Current) ist für max. 100mA Entladestrom und sollte auch mit 1,2V Akkus erreichbar sein. Am Shuntwiderstand des T1d (10 ohm) wird bei 100 mA max. 1V abgegriffen, mit nicht invertierendem OP und Verstärkungsfaktor 5 auf max. 5V für den AD-Wandler hochgebracht. Selbiges mit den untern Strompfad (H wie High Current), ausgelegt (theoretisch) für max. 10A und mit Umschaltung auf max. 1A für bessere Auflösung. Die generelle Umschaltung zw. H und L geschieht mit TTL-Pegel an T5, der als Inverter arbeitet. Somit kann nur einer der MOSFETS, die übrigens bei U_GS=5V schon fast voll durchschalten, durchschalten und die aus der PWM generierte Gleichspannung zum entsprechenden Transistor durchschalten. Somit ist entweder der L- oder H-Strompfad aktiv. Je nach dem, wie beim Setup der Entladestrom gewählt ist, wird per SW der Verstärkungsfaktor der H-Strompfades umgeschaltet (und generell die H/L-umschaltung entsprechend gesetzt), Faktor 8 im Bereich über 1A bis 10A, sonst Faktor 80. Das ist nur erstmal ein Entwurf. Wahscheinlich fehlt am S-Pin von T3 ein Widerstand nach GND (oder Widerstand von Basis T1a/b/c nach GND wie bei T1d). Dann noch offen sind die 3 Entkoppelwiderstände zu je 1k an den Emittern von T1a/b/c zum OP. Ob das funktioniert, weis ich nicht. Den H-Strompfad habbich übrigens mal aus 3 Transistoren aufgebaut. Grund ist, daß die Wärmeverteilung besser ist, also nicht ein Hot-Spot in schweineheiß, sondern 3 Hot-Spöttchen in etwas wärmer. vllt. sind auch die errechneten Werte allesamt für die Tonne...... Außerdem hat der TIP142 eine parasitäre Diode zw. E und C in Sperrichtung drin. Wenn jetzt also der Akku verpolt angeschlossen wird, sind die Dioden leitend oder auch schon tot und der Transistor übrigens auch! Aber auch dafür gibt es Möglichkeiten, das zu verhindern. Z.B. vorher abchecken, ob überhaupt ein Akku angeschlossen ist und wenn, die Polung feststellen. bei falscher Polung darf dann eben der Lastkreis nicht bestromt werden. Achso, die 3 Shunts am T1a/b/c sind 5 Watt Geräte (0.18 Ohm × (3.33A)² = 2W) und brauchen nicht mehr auf den Kühlkörper montiert zu werden.
Datum: 14.09.2008 12:13
So ich hab jetz nach einigen Test, auch mit grossen Batterien (Autobatterie 12V 50Ah) noch einen Fehler in der Anzeige korrigiert. Einen weiteren habe ich bei der Mittelwertbildung korrigiert, der aber scheinbar keine Auswirkung auf die Funktion hatte. Ich hoffe, dass ich alle Fehler gefunden habe und alle Funktionen richtig funktionieren. Falls jemand noch andere Sprachen als Deutsch und Englisch beherrscht und lust hat mir zu helfen ist er/sie gerne willkommen.
Datum: 30.04.2009 18:18
Hallo zusammen. Ich bin Einsteiger im Thema Elektronik und der Akkutester soll mein erstes Projekt werden, bei welchem ich mich mit dem Thema "Microcontroler" beschäftige. Eine Frage hab ich aber vorher noch zur Funktionweise des Akkutester, leider konnte ich es nicht wirklich herauslesen: Entläd der Akkutester den Akku komplett und sagt mir dann, wieviel Strom geflossen ist? Oder hat er ein anderes Prüfverfahren? Wir würden damit gern Akkus testen die 5 oder 6 Ah haben. Das dauert dann ja ganz schön... Vielen Dank für die Hilfe. mit freundlichen Grüßen Akron
Datum: 30.04.2009 18:24
Akron wrote: > Eine Frage hab ich aber vorher noch zur Funktionweise des Akkutester, > leider konnte ich es nicht wirklich herauslesen: Aus der Einleitung im verlinkten Artikel Die Idee ist, dass man einen Akku den man testen möchte zuerst mit einem Ladegerät voll lädt. Der Akku Tester entlädt dann den Akku und misst die Kapazität [mAh] die entnommen wurde, und die Energie [mWh]. Diese Werte kann man dann mit den Herstellerangaben vom Akku vergleichen und so sehen, wie fit der Akku noch ist.
Datum: 03.05.2009 20:59
Okay, ich geh mein Kopf jetzt mal auf den Tisch hämmern. Man sollte wahrscheinlich immer am Anfang beginn mit dem Lesen. Ich danke für die Hilfe mfg Akron

