Messung von AKKU-(Entlade-)Kapazitäten mit ATTINY24 in C Kürzlich hatte ich LiPo-Akkus für kleine Euros erworben - und nun wollte ich gerne wissen, ob die eigentlich ihr Geld wert und die Angaben zur Kapazität "belastbar" sind. Dazu benötigte ich einen Helfer, der die Akkus entlädt, dabei kontinuierlich die Spannung im Auge behält und beim Unterschreiten der Entladeschlussspannung den Akku abwirft. Da bei der Spannungsmessung der Lastwiderstand bekannt ist, kann der aktuell fließende Strom errechnet und über die Dauer der Entladung die Kapazität des Akkus ermittelt werden. Da mich auch der zeitliche Verlauf der Entladespannung interessiert, sollten die Messwerte protokolliert und später mit Hilfe von gnuplot visualisiert werden. Als Controller habe ich wegen der Anzahl der benötigten Pins einen ATtiny24 gewählt. Die Daten werden in einem 2-wire Serial Eeprom AT24C512 mit 64 kB zwischengespeichert. Die Entladung erfolgt über einen Lastwiderstand, der über einen FET zugeschaltet wird. Einzelnen LiPo- bzw. LiFePO4-Zellen können direkt angeschlossen werden. Für in Serie geschaltete Akkupacks bzw. Bleiakkus ist ein Spannungsteiler erforderlich. Der ATtiny arbeitet nebenbei als USI-TWI-Slave bzw. als USI-TWI-Master. Als Slave stellt er die aktuellen Messwerte zum Auslesen zur Verfügung. Der Slave kann ebenfalls genutzt werden, um einige Einstellungen auf dem ATtiny zu verändern, ohne dass dazu der Controller neu programmiert werden muss. Veränderbar sind: - die TWI-Adresse des Slaves, - die Höhe der Referenzspannung für die Spannungsmessung, - die Höhe der Entladeschlussspannung, - der Lastwiderstand. Die Werte sind im Eeprom des ATtiny gespeichert und werden bei einem Neustart übernommen. Weiterhin kann der Slave genutzt werden, um den Discharger aus einer Benutzeroberfläche heraus zu steuern. Denn er kann Kommandos empfangen und ausführen zum: - Starten einer Messreihe (manuell durch Betätigen der Start-Taste möglich), - Unterbrechen der Messreihe, - Fortsetzen einer unterbrochenen Messreihe, - Beenden einer Messreihe (vor Erreichen der Entladeschlussspannung). Nachdem die Entladung abgeschlossen ist (unteres Spannungslimit erreicht), kann das TWI-Eeprom ausgelesen und die Daten können zur Visualisierung weitergereicht werden. Weitere Erläuterungen gibt's in der Readme.pdf. Der Programmcode in C findet sich in der Datei "Discharger_140102.zip". Einige Entladekurven für LiPos, LiFePO und PB-Gel-Akkus sind in "Entladekurven.pdf" und ein schematischer Schaltplan ist als "Discharger-Schaltplan.pdf" beigefügt. Michael S. 04.01.2014
Nettes Projekt! Wenn Du jetzt noch das Laden der Akkus mit integrierst, dann hast Du einen schönen Akkutester.
Hallo Julian, einen LiPo-Lader habe ich schon lange in Betrieb. Er hat erfolgreich die 2C-LiPo's (850mAh) für meinen Stuben-Heli geladen. Einen Schaltplan und eine besondere Beschreibung über den kommentierten Programmcode hinaus gibts aber nicht. Allerdings basiert das Programm auf der AppNote AVR450 von Atmel, hier kann man weitere Informationen finden. Nachdem ich auf einen 450er TRex mit 3C-LiPo's umgestiegen war, habe ich mir dann ein fertiges, multifunkionales Ladeteil zugelegt. Denn die Reparatur abgestützter Heli's kostete soviel Zeit, dass an einen Selbstbau nicht mehr zu denken war ... Michael S.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.