Forum: Mikrocontroller und Digitale Elektronik LiPo Tiefentladeschutz mit µC


von Patrick P. (potman)


Lesenswert?

Guten Tag,

nach langer Überlegung was ich mit meiner Freizeit anstellen soll bin 
ich auf die Idee gekommen mir ein kleines Roboter Raupenfahrzeug zu 
bauen.
Als Fahrgestell benutze ich das RP5 Fahrgestell von Conrad. Auf diesem 
befindet sich ein ATMega1284P der die Steuersignale per RFM12 Funkmodul 
von einem weiteren µC bekommt und weiterverarbeitet. Gesteuert wird der 
kleine Roboter per Xbox360 Gamepad. Dieses ist mit einem Laptop 
verbunden, der PC schickt die Befehle per RS232 weiter an einen 
SenderµC.

Genug vorgeplänkel....

Zum Thema:

Da ich jetzt die Schnautze voll von Batterien habe. Habe ich mir kurzer 
Hand beim Modellbauhändler meines Vertrauens einen 3Zellen 2200mAh 11,1V 
LiPo Akku samt Ladegerät gekauft.

Nun muss ich noch einen Tiefentladeschutz für diesen verwirklichen. Da 
es diese LiPo's gar nicht mögen wenn sie unter eine gewisse 
Zellenspannung entladen werden.
Ich dachte da an einen kleinen µC (zb. ATMega48 hab ich hier noch 
rumliegen) bei dem ich 3 ADC Kanäle verwende und über den 
Balancerstecker des Akkus die Zellenspannungen messe. Fällt diese 
Zellensapnnung in einer der Zellen unter den vorgeschriebenen Wert wird 
der Akku per MOSFET von den Verbrauchern getrennt. Vorher wird vllt noch 
per LED gewarnt das es gleich soweit sein wird. (theoretisch ist es so 
auch im wieteren möglich Informationen per SPI oder I2C an den "Haupt"µC 
auf dem Roboter zu schicken)

Die mindestzellen Spannung ist mir noch nicht bekannt. Der Verkäufer 
meinte aber nicht unter 3,3 - 3,4V. Soviel ich noch weiß ;-)
Das Balancerstecker Pinout ist mir ebenfalls noch nicht bekannt. Da 
werde ich im Laufe des Tages die allwissende Suchmaschine dazu befragen.

Nun wollte ich nur Wissen ob ich den Tiefentladeschutz prinzipiell so 
bauen kann oder ob einer von euch Vorschläge dazu hat oder gar schonmal 
vor dem selben Problem stand.

mfg
Patrick

von MaWin (Gast)


Lesenswert?

Man kann den prinzipiell so bauen, allerding ist die Spannungsreferenz 
im uC nicht so besonders genau. Bei der Entladeschlussspannung muß es 
aber auch nicht genau sein, irgendwo zwischen 2.5 und 3 pro Zelle reicht 
schon.
Es gibt 2 Schaltungsvarianten.
Bei einer trennt sich der uC selber ab, kann also auch nicht mehr 
einschalten wenn der Akku geladen wird. Da braucht man keinen eigenen 
uC, das kann der Haupt-uC des Roboters tun.
Bei der anderen bleibt der uC am Akku, er sollte dann in sleep möglichst 
wenig Strom verbrauchen (unter 100uA) damit der Akku nicht weiter 
entladen wird. Man kann ihn per Watchdog regelmässig aufwecken um 
nachzugucken ob der Akku inzwischen wieder voller wurde.

Insgesamt verbaust du ein bischen viele Prozessoren.

von Patrick P. (potman)


Lesenswert?

Danke für deine Antwort.

Ja ich hatte auch schon überlegt den Tiefentladeschutz mit dem Haupt-µC 
zu verwirklichen doch ich brauche den ADC im Haupt-µC noch für 
Ultraschall Abstandsmessungen.

Die zweite Variante hört sich gut an. Bei der der µC in den Sleepmodus 
wechselt.

Ich werde jetzt mal einen Code Prototyp schreiben und erste Versuche 
unternehmen.

Viele Prozessoren sind relativ ;-) einer auf dem Roboter der diesen 
steuert. und einer auf der Senderplatine der mir die Steuersignale 
schickt und vllt bald auch Daten vom Roboter empfängt und diese auf 
einen LCD ausgibt oder  an den PC weiter schickt.
Den PC brauche ich weil ich das Xbox-Gamepad verwende. Mir hat sich 
keine Möglichkeit eröffnet dieses Gamepad direkt per µC auszulesen.

Vllt steige ich blad noch auf ein Wii Classic Gamepad um. Dann würde ich 
kein PC mehr benötigen.

von Patrick P. (potman)


Lesenswert?

Also ich habe mich jetzt über den Balancerstecker schlau gemacht nun 
stellt sich mir die Frage wie ich am besten die einzelnen 
Zellenspannungen heruas bekomme.

Da am Balancerstecker 4 PINs zu Verfügung stehn, und zwar:


Minus Zelle1 ; Puls Zelle1 - Minus Zelle2; Puls Zelle2 - Minus Zelle3 ; 
Puls Zelle 3

das heißt:

Spannungen gegen Masse gemessen:

-  3,7V
-  7,4V
-  11,1V

Nun stellt sich mir die Frage welches die beste Lösung ist diese 
Spannungen für den ADC des µC aufzubereiten.

Zwei Möglichkeiten kommen mir in den Sinn:

1. Über einfache Spannungsteiler die zwei letzteren Spannungen zu 
halbieren bzw. zu dritteln und den µC die richtigen Spannungen 
ausrechnen zu lassen.

2. Über 2 Operationsverstärker die als Differenzverstärker 
(Subtrahierer) betrieben werden die Spannungen voneinander abzuziehen 
und fertig aufbereitet dem µC zur verfügung zu stellen.

Welches wäre eurer Meinung die bessere Lösung?

von Walter S. (avatar)


Lesenswert?

da 0,1V Auflösung reichen würde ich einfach Spannungsteiler nehmen.
Entladeschluss würde ich aber auf 3,0-3,2 legen
drunter ist eh keine Kapazität mehr vorhanden und der Akku wird geschont
Kommt aber auch auf Entladestrom/Temperatur an

von Ichmichs (Gast)


Lesenswert?

Ich würde den Operationsverstärker vorziehen.
Damit erhälst Du die maximale Auflösung.

von MaWin (Gast)


Lesenswert?

Überlege, was passiert, wenn du abschaltest.

Die Spannungsteiler liegen immer am Akku und ziehen Strom, können aber 
mit 1 MOhm hochohmig werden, wenn man den A/D-Wandlereingang mit 10nF 
puffert.

Die OpAmp ziehen eventuell Strom über die Eingangsschutzdioden wenn man 
ihnen die Versorgungsspannugn wegnimmt, und belässt man sie an der 
Versorgung, brauchen sie Strom.

Differenzverstärker sind beides: OpAmps und Spannungsteiler, haben also 
beide Probleme.

Alle Probleme sind lösbar, aber müssen beachtet werden.

von Pete K. (pete77)


Lesenswert?


von Patrick P. (potman)


Lesenswert?

Mir ist schon bewusst das die Überwchung direkt am Akku immer ein wenig 
Strom zieht.

Das ist auch nicht weiter schlimm weil der Akku zum laden und zum lagern 
sowieso vom Roboter getrennt wird.

Ich werde es jetzt so machen:

Akkuüberwachung übernimmt erstmal der Haupt-µC. Die Spannungen werden 
per Spannungsteiler dem µC bereitgestellt. Die Teiler werden mit je 
1Mohm Widerständen versehn. Wenn eine der Zellenspannungen in den 
Bereich 3,4V - 3,2V fällt wird gewarnt. Zum Beispiel mit ner einfachen 
roten LED. Fällt die Zellenspannung unter 3,2V werden die Antriebe, 
Servos, Beleuchtungsleds und das Funkmodul vom Akku getrennt und der µC 
geht in den Sleepmodus.

I2 = U/R : 7,4V / 2000000Ohm = 0,0000037A = 0,0037mA = 3,7µA
I3 = U/R : 11,1V / 3000000Ohm = 0,0000037A = 0,0037mA = 3,7µA

Diese Ströme sind verkraftbar. Da sowieso spätestens nach dem Abschalten 
der Akku herausgenommen wird.

Im µC werden dann die einzelnen Zellenspannungen herausgerechnet zb.

Uz2 = (U2*2) - Uz1
Uz3 = (U3*3) - (Uz1+Uz2)

Wobei U2 die halbierte gemessene Spannung 7,4V und U3 die gedrittelte 
Spannung 11,1V ist.


Danke für eure Antworten. Ich bin natürlich für weitere Anmerkungen und 
konstruktive Kritik offen.

von Patrick P. (potman)


Lesenswert?

Kann mir jemand noch eine passende Sicherung (Auslösegeschwindigkeit) 
für den Akku empfehlen?

Diese soll Kurzschlüsse und Überstrom vermeiden.

Ich denke dass die Antriebe + Logik mit allem drum und dran nicht mehr 
wie 1A-1,5A ziehen. Aber ich werde es nochmal nachmessen.

von Anja (Gast)


Lesenswert?

Patrick P. schrieb:
> Mir ist schon bewusst das die Überwchung direkt am Akku immer ein wenig
> Strom zieht.

Das kann man auch minimieren indem man den Spannungsteiler nur dann 
einschaltet wenn man auch mit dem ADC mißt.

Siehe T2 aus meinem Batteriewächter.

http://www.mikrocontroller.net/articles/Batteriew%C3%A4chter#Prozessorteil
http://www.mikrocontroller.net/articles/Datei:BMON_1048_PIC.PNG

Allerdings ist zu beachten daß am Source des Transistors maximal ca. 
Versorgungsspannung - 1.5V verfügbar sind. Aber das paßt ja gut zu der 
internen 1.1V Referenz eines ATMega oder einer externen 1.235V Referenz.

Gruß Anja

von Anja (Gast)


Lesenswert?

Patrick P. schrieb:
> Kann mir jemand noch eine passende Sicherung (Auslösegeschwindigkeit)
> für den Akku empfehlen?

Bei 9-11V Gesamtspannung würde ich einen High-Side Pro-FET verwenden.
Z.B. BTS432F2 (38mOhm) oder BTS6143D (10mOhm) für höhere Ströme.

Gruß Anja

von Martin H. (martinhaag)


Lesenswert?

>da 0,1V Auflösung reichen würde ich einfach Spannungsteiler nehmen.
>Entladeschluss würde ich aber auf 3,0-3,2 legen

Bei einem Entladestrom <1C wie du ihn hast würde ich dir eine 
Abschaltschwelle bei etwa 3,3-3,5V empfehlen. Die LiPo Zellen die ich 
mit 1C entladen habe, brechen ab etwa 3,6V zusammen wenn sie leer sind.
Damit erhöhst du die Lebensdauer und ich gehe nicht davon aus, dass du 
die maximale Betriebsdauer herauskitzeln willst.
Grüsse Martin

von B-loch (Gast)


Lesenswert?

Patrick P. schrieb:
> Ja ich hatte auch schon überlegt den Tiefentladeschutz mit dem Haupt-µC
> zu verwirklichen doch ich brauche den ADC im Haupt-µC noch für
> Ultraschall Abstandsmessungen.

Solang du noch irgendwie 3 ADC über hast würde ich an den Haupt 
Prozessor gehen. Akkuspannung in 10 Sekunden abständen messen sollte 
vollkommen ausreichen.

von Patrick P. (potman)


Lesenswert?

Martin Haag schrieb:
> Bei einem Entladestrom <1C wie du ihn hast würde ich dir eine
> Abschaltschwelle bei etwa 3,3-3,5V empfehlen.

Danke für die Empfehlung :-)

B-loch schrieb:
> Akkuspannung in 10 Sekunden abständen messen sollte
> vollkommen ausreichen.

So habe ich mir das auch gedacht.



Nur stellen sich mir jetzt noch fragen wie:

Soll ich die Spannungsteiler nur zuschalten bei Messungen oder ist das 
nicht nötig?

Und zur Absicherung gegen Kurzschluss und Überstrom welche Sicherungen 
ich da am besten verwende

Anja schrieb:
> Z.B. BTS432F2 (38mOhm) oder BTS6143D (10mOhm) für höhere Ströme.

Diese FET´s sind mir nicht bekannt. Ich dachte da am Anfang eher an eine 
Feinsicherung. oder sind diese zu Träge?

Und ob ich die einzelnen Balancerabgriffe auch absichern sollte zb. mit 
100mA. Sodass jeder Akkuabgriff abgesichert ist.

von Anja (Gast)


Lesenswert?

Patrick P. schrieb:
> Diese FET´s sind mir nicht bekannt. Ich dachte da am Anfang eher an eine
> Feinsicherung. oder sind diese zu Träge?

Du kannst natürlich auch eine Sicherung nehmen:
2 A träge = 150mV Spannungsabfall bei Nennstrom.
2 A flink = 170mV Spannungsabfall

Gruß Anja

von Thomas W. (wagneth)


Lesenswert?

...und somit kann Anja über den aktuellen Spannungsabfall an der 
Sicherung den fliessenden Strom messen :)

von Patrick P. (potman)


Lesenswert?

Sooo habe mir jetzt Sicherungen und MOSFET´s besorgt.

Und zwar flinke 2A Feinsicherungen und 125mA Pico-Fuses, dazu BS170 
N-MOSFET´s und IRLZ34N Logic Level FET´s was anderes hatte der 
Elektronikhändler bei mir in der Nähe nicht auf Lager.


Ich werde mich jetzt an die erste Versuchsschaltung machen. Habe das µC 
Programm soweit das jede 10 Sekunden eine ADC Messung angestroßen wird. 
Bei dieser Messung werden alle 3 Kanäle einmal durchgemessen. Und falls 
einer der Kanäle unter einen festgelegten Wert fällt (3,4V) wird 
abgeschalten.

Werde jetzt noch weiter dran basteln sodass die Spannungsteiler kurz vor 
dem Messzeitpunkt zugeschalten werden. Und jeder Abgriff vom Akku wird 
mit einer Sicherung versehen. Bei der Messung werden natürlich alle 
eventuellen Spannungsabfälle von Sicherungen oder Dioden berücksichtigt.

von ChrisS (Gast)


Lesenswert?

Hallo,

ich hab das Thema mal nochmal hochgeholt, weil ich ähnliche Pläne hab.

Ich habe auch vor einen LiPo-Warner mit einem µC zu realisieren ... er 
hat noch andere Aufgaben und soll die Daten auch weitergeben, deshalb 
fällt eine Fertiglösung aus ...

Der Unterschied zum Projekt des Themenerstellers ist, das ich hier 8 
LiPo-Zellen hab und deshalb die naheliegende Lösung mit dem 
Spannungsteiler nicht unbedingt die "schönste" ist. Der Spannungsteiler 
wird einfach mal recht groß (8+7+6+5+4+3+2= 35 Widerstände) und ich 
möchte auch nicht so viele Ports verschwenden.

Die benötigte Portanzahl kann ich ja mit nem Multiplexer verringern, 
bleibt aber immernoch der große SpgT ...

Meine Überlegung ist mit dem µC mit Multiplexern die jeweilige Spannung 
nacheinander zu präsentieren, also nicht nur ein Potential, sondern 
beide jeweils passend anzulegen ... Ein Messmultiplexer quasi ...

Mir ist bis jetzt allerdings keine funktionierende Schaltung eingefallen 
bei der nicht bei irgendeiner Kombination doch mal zuviel Spannung am µC 
oder Muxer anliegt ...

Gibts sowas vielleicht sogar als IC? Wäre ja nicht unbedingt abwegig ...

Ich habe hier auch ne Fertiglösung, einen handelsüblichen LiPo-Warner. 
Da ist auch nur nen Atmel256 und nen weiter IC drauf. Er heißt TG71608 
1351 und ich geh mal davon aus, das es ein 8Port-Muxer ist. Ein Reihe 
von Widerständen (8 mal (820k + 15k)) ist auch drauf, aber mehr seh ich 
nicht. Müsste ich kaputt machen, um die ganze Schaltung zu ergründen.



Oder fällt jemandem vielleicht eine ganz andere Lösung ein?

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
Noch kein Account? Hier anmelden.