Forum: Analoge Elektronik und Schaltungstechnik BMS für Lithium Akku


von Mike Litoris (Gast)


Lesenswert?

Hi!

Für ein kommendes Projekt möchte ich ein Batteriemanagement System für 
einen Lithium Akku bauen. Dazu habe ich noch ein paar Fragen.

Der Akku wird vorraussichtlich ein 24S6P aus 18650er Zellen.

1. Frage zur "Architektur":
Meine erste Überlegung war es, Module für jeweils 8 Zellen zu bauen, 
bestehend aus einem Analog Multiplexer mit 8 Kanälen, 16Bit AD-Wandler, 
L etc.. Diese messen nur die Zellspannung und steuern die 
Lastwiderstände.

Diese Module werden dann über UART/SPI/etc. mit einem "Master Modul" 
verbunden, dass den Strom misst, SOC Bestimmung übernimmt, usw..

Hier im Chat meinte aber jemand, dass das nicht so sinnvoll ist und man 
lieber einen Controller pro Zelle nehmen sollte.
Das hätte folgende Vorteile:
- Einfache Stromversorgung
- beliebig skalierbar
- integrierte Referenz und ADC
- Lastwiderstände einfacher schaltbar

Allerdings sehe ich dabei folgende Nachteile:
- Kommunikation recht kompliziert, viele Optokoppler nötig (mindestens 
zwei pro Controller)

Was meint ihr? Was macht mehr Sinn?

2. Frage zur Dimensionierung der Lastwiderstände:
Falls während dem Laden eine Zelle die Ladeschlussspannung erreicht muss 
dringend verhindert werden, dass diese weiter geladen wird. Dazu werden 
üblicherweise Lastwiderstände paralell zu den Zellen geschaltet, und mit 
Transistoren gesteuert.

Dimensionierung: Die Widerstände müssen ja nicht den kompletten 
Ladestrom verheizen können, da das Verheizen der Ladeleistung nur im 
letzten Stadium der CC/CV Ladung nötig werden könnte.
Mit welchen Leistungen kann man da rechnen? Reichen 0,25W?
Man weiss ja sowohl den aktuellen Ladestrom als auch welchen Strom die 
Widerstände aufnehmen können. Könnte man das Batteriepack vom Ladegerät 
trennen wenn deutlich wird, dass die Ladeleistung nicht verheizt werden 
kann und dadurch die Zellenspannung zu hoch wird?

3. Was passiert wenn nur ein Teil der maximalen Leistung im Widerstand 
verheizt werden muss? Kann man die verheizte Leistung einfach per PWM 
einstellen? Gibt das nicht eventuell Probleme mit der Regelung der 
Schaltregler im Ladegerät?
Wie bestimme ich das Tastverhältnis der PWM? So:?
(AktuellerLadestrom)/(MaximalerStromImWiderstand)=Tastverhältnis

Oder muss man das irgendwie regeln? Überschwinger in der Spannung wären 
uncool.


Danke schonmal im Vorraus fürs durchlesen und euren Input!
Grüße!

: Verschoben durch User
von René Z. (dens)


Lesenswert?

Ich schlage dir jetzt mal den LTC6804 vor. Der taugt!

von Mike Litoris (Gast)


Lesenswert?

René Z. schrieb:
> Ich schlage dir jetzt mal den LTC6804 vor. Der taugt!
Danke für deine Antwort!
Beschaffbarkeit ist aber eher suboptimal. Möchte ausserdem mal so ein 
Teil von grund auf entwickeln. Natürlich lernt man mit dem IC auch was, 
aber ich denke andersherum ist der Lerneffekt größer...

Grüße!

von temp (Gast)


Lesenswert?

Mike Litoris schrieb:
> Beschaffbarkeit ist aber eher suboptimal. Möchte ausserdem mal so ein
> Teil von grund auf entwickeln. Natürlich lernt man mit dem IC auch was,
> aber ich denke andersherum ist der Lerneffekt größer...

Baust du den µC auch aus Einzeltransistoren auf weil da der Lerneffekt 
größer ist?
Den fast gleichen LTC6802 gibts bei Farnell bzw. im HBE-Shop. 
Zugegebenermaßen ist der nicht ganz preiswert. Allerdings etwas 
ähnliches aus Einzelteilen zusammen zu bauen wird wohl auch nicht 
weniger kosten. Auf alle Fälle nicht, wenn man auf ähnliche Genauigkeit 
und Ruheströme kommen will. Zum Lernen gibt es bei diesem Chip auch 
genügend, dass weiß ich aus eigener Erfahrung.

Eine andere Alternative ist ein fertiges China-Board:
https://bmsbattery.com/80-smart-BMS
Da ist ein OZ890 drauf, den man in der freien Wildbahn wohl auch nicht 
bekommt. Dieser Chip ist ähnlich wie der LTC6802(4), hat aber einen 
Controller mit an Board, so dass er auch ohne µC arbeiten kann. Man kann 
ihn aber über I2C auch so benutzen wie die Linear-Chips. Das hat auch 
genügend Potential um was dabei zu lernen.

von bianchifan (Gast)


Lesenswert?

Mike Litoris schrieb:
> Der Akku wird vorraussichtlich ein 24S6P

100V ?? Im Ernst??

von temp (Gast)


Lesenswert?

Mike Litoris schrieb:
> Das hätte folgende Vorteile:
> - Einfache Stromversorgung
> - beliebig skalierbar
> - integrierte Referenz und ADC
> - Lastwiderstände einfacher schaltbar
>
> Allerdings sehe ich dabei folgende Nachteile:
> - Kommunikation recht kompliziert, viele Optokoppler nötig (mindestens
> zwei pro Controller)

Die Variante mit mehreren Controllern macht aber bei so kleinen Akkus 
kaum Sinn. Bei den großen LiFePo4 Zellen (>=40Ah) sieht das schon anders 
aus. Optokoppler sind überhaupt nicht nötig in dieser Variante. Da 
reicht ein simpler Transistor in Basisschaltung um vom TX des einen 
Controllers ein Leveshifting zum RX des drüberliegenden zu machen. Am 
oberen Ende der Kette ist dann ein Optokoppler sinnvoll. Der ideale 
Controller dafür dürfte aktuell der ATTiny841 sein, weil er anders als 
die anderen Tinys eine vollwertige UART an Board hat. Kostet bei Farnell 
knapp 90Cent. Alles in allem dürfte das Ganze 12mal aufgebaut auch auf 
die Kosten für den LTC680x kommen. Dabei gibt es aber noch zu bedenken, 
dass jedes dieser Module kalibriert werden muss, da die interne Referenz 
sicher Spannungs- und Temperaturstabiel genug ist, aber die absolute 
Höhe der Referenzspannung zu sehr streut.

von Frederik (Gast)


Lesenswert?

Ich kann dir helfen. Wie kann ich dir in PVT kontaktieren ?

Grüße!

von Mike Litoris (Gast)


Lesenswert?

Frederik schrieb:
> Wie kann ich dir in PVT kontaktieren ?

PVT?

bianchifan schrieb:
> 100V ?? Im Ernst??

Ja. Ist kein Fahrzeug für Lutscher.

temp schrieb:
> Baust du den µC auch aus Einzeltransistoren auf weil da der Lerneffekt
> größer ist?

Nein, man muss nicht alles wissen. BMS interessiert mich aber, von daher 
wäre das schon interessant.

temp schrieb:
> en fast gleichen LTC6802 gibts bei Farnell bzw. im HBE-Shop.

OKok, ich schaus mir nochmal an...


Hat jemand auf die anderen Fragen bzgl. den Lastwiderständen eine 
Antwort?

von George H. (Gast)


Lesenswert?

Falls du dir das alles doch nicht einzeln aufbauen willst - hier ist ne 
ganz gute Übersicht über BMS-ICs:

http://liionbms.com/html/BMS_IC_table.html

von Steffen R. (steffen_rose)


Lesenswert?

Mike Litoris schrieb:
> Hat jemand auf die anderen Fragen bzgl. den Lastwiderständen eine
> Antwort?

Ich kenne es so, dass man ein aktives Ballancing während des 
Ladevorgangs macht, d.h. dass bereits während des Ladens ein Teil des 
Stromes an gewissen Zellen vorbeigeleitet wird. Damit braucht es 
kleinere Widerstände.
Naja, und man muß eben aufhören, wenn die erste Zelle die 
Ladeschlußspannung erreicht. Aber nach mehreren Ladezyklen sollte sich 
das Niveau der Zellen einander angleichen.

Allerdings kenne ich es nur aus den Weiten des Internets und habe es 
bisher nicht praktisch umgesetzt.

von Schmi B. (schmi_b)


Lesenswert?

Ich würde nicht den LTC68XX nehmen... Die Dinger sind so dermassen 
empfindlich und zickig was die Kommunikation angeht. Ich habe bisher 
noch nie einen IC gesehen, der so viele Probleme macht. Die interne ESD 
Schutzschaltung ist ein Witz. (Und nein ich habe die Dinger nicht bei 
niedriger Luftfeuchtigkeit über einen Teppich gezogen, sondern immer 
schön auf ESD Matte/Boden mit ESD Armband gearbeitet).

Ich würde eher den bq76PL536a verwenden. (Habe aber selbst noch nicht 
damit gearbeitet)

von Mike Litoris (Gast)


Lesenswert?

Steffen R. schrieb:
> Ich kenne es so, dass man ein aktives Ballancing während des
> Ladevorgangs macht, d.h. dass bereits während des Ladens ein Teil des
> Stromes an gewissen Zellen vorbeigeleitet wird. Damit braucht es
> kleinere Widerstände.

Nein, meines Wissens nach nicht Stand der Technik. Tesla und sämtliche 
ebikes machen das nicht.

Ist einfach zu aufwändig. Ich behaupte mal, man braucht mindestens zwei 
MOSFETs pro Zelle?!?! Ein MOSFET zum entfernen der Zelle aus dem Strang 
und ein MOSFET zum schließen der Lücke. Von den Verlusten brauchen wir 
garnicht zu sprechen.
Andere Lösungen, wie z.B. mithilfe von Induktivitäten die Ladung von 
einer Zelle zur anderen zu schieben sind viel zu kompliziert.
Beide Lösungen sind mmna ihr Geld nicht wert. Weder der gesparte Strom 
noch die größeren Lastwiderstände sind teuer.

Steffen R. schrieb:
> Naja, und man muß eben aufhören, wenn die erste Zelle die
> Ladeschlußspannung erreicht. Aber nach mehreren Ladezyklen sollte sich
> das Niveau der Zellen einander angleichen.

Genau DAS will man ja verhindern. Deswegen verbrät das BMS die Energie 
für eine Zelle, sobald diese voll ist und nichts mehr aufnehmen kann.

Schmi B. schrieb:
> Ich würde nicht den LTC68XX nehmen... Die Dinger sind so dermassen
> empfindlich und zickig was die Kommunikation angeht. Ich habe bisher
> noch nie einen IC gesehen, der so viele Probleme macht. Die interne ESD
> Schutzschaltung ist ein Witz. (Und nein ich habe die Dinger nicht bei
> niedriger Luftfeuchtigkeit über einen Teppich gezogen, sondern immer
> schön auf ESD Matte/Boden mit ESD Armband gearbeitet).

Okay, DAS sind die Infos die ich brauche. Empfindlich klingt nicht so 
als ob ich das in der Hobbywerkstatt in einem selbstgebauten Bike haben 
möchte :-(
Hat jemand ähnliche Erfahrungen?

von Steffen R. (steffen_rose)


Lesenswert?

Mike Litoris schrieb:
> Nein, meines Wissens nach nicht Stand der Technik. Tesla und sämtliche
> ebikes machen das nicht.

OK.

> Ist einfach zu aufwändig. Ich behaupte mal, man braucht mindestens zwei
> MOSFETs pro Zelle?!?! Ein MOSFET zum entfernen der Zelle aus dem Strang
> und ein MOSFET zum schließen der Lücke. Von den Verlusten brauchen wir
> garnicht zu sprechen.

Der Trick ist ja gerade, dass die Zelle nicht komplett vom Netz genommen 
wird. Die unbalancierte Zelle ist bekannt und erhält während des 
Ladevorgang ein klein wenig weniger Energie als die anderen Zellen. 
Wegen der geringen Strömen wird nur eine kleine Last benötigt.

Da das Balancing bei jedem Ladevorgang und nicht erst am Ende 
stattfindet, sind die Zellen eigentlich immer recht gut ausbalanciert.
(Nach ein paar ersten Ladezyklen.)

Nun gut. Wenn es da mittlerweile wieder etwas besseres gibt, werd ich 
hier mal weiter mitlesen.

von Cyblord -. (cyblord)


Lesenswert?

Steffen R. schrieb:
> Mike Litoris schrieb:
>> Nein, meines Wissens nach nicht Stand der Technik. Tesla und sämtliche
>> ebikes machen das nicht.
>
> OK.

Wird allerdings im Modellbaubereich gemacht. Funktioniert auch mit recht 
einfachen "dummen" Balancern, obwohl die heute in den meisten 
Ladegeräten integriert sind.

> Der Trick ist ja gerade, dass die Zelle nicht komplett vom Netzgenommen
> wird. Die unbalancierte Zelle ist bekannt und erhält während des
> Ladevorgang ein klein wenig weniger Energie als die anderen Zellen.
> Wegen der geringen Strömen wird nur eine kleine Last benötigt.

Richtig.
Und eigentlich ist das Balancieren gerade beim Laden nötig. 
Lithiumzellen mögen keine Überladung. Wie kann das beim Laden verhindert 
werden ohne Balancing?

: Bearbeitet durch User
von F. F. (foldi)


Lesenswert?

Habe mir gerade auch IC's besorgt, aber würde ich das selbst bauen 
wollen, so würde ich pro Zelle einen Tiny10 nehmen. Das ist dann (fast, 
abgesehen vom Nerzteil) beliebig skalierbar. Der T10 kostet paar Cent, 
die Programmierung ist die gleich, Updates kann man erstmal an einer 
Zelle probieren.
Mir fallen da keine Nachteil ein.

von Volle (Gast)


Lesenswert?

mir fallen da viele Nachteile ein

MultiCPU Systeme sind sehr schwer zu beherrschen.

Fängt beim Programmieren an geht über Debuggen, Fehlererkennen und 
Reaktion bis zum Fehlerreport.
Und die Ausfallhäufigkeit steigt eh mit der Komplexität.



Ist zwar machbar (hab auch schon solche Systeme in Serie gebracht)
der Aufwand ist aber sehr viel größer als bei einem SingelCPU System

von Schreiber (Gast)


Lesenswert?

Volle schrieb:
> Fängt beim Programmieren an geht über Debuggen, Fehlererkennen und
> Reaktion bis zum Fehlerreport.
> Und die Ausfallhäufigkeit steigt eh mit der Komplexität.

Das ist nicht so schlimm, eigentlich reichen hier 3 OPVs, eine 
Referenzspannungsquelle, zwei Optokoppler und etwas Hühnerfutter pro 
Zelle. Dann gehts auch ganz ohne µC

Mit µC wird es etwas übersichtlicher und der Abgleich geht schneller.

von temp (Gast)


Lesenswert?

Mike Litoris schrieb:
> und zickig was die Kommunikation angeht

Was heisst zickig, das hört sich so an als ob das von der Tagesform 
abhängig ist wie eine Frau. Wenn man sich ans Datenblatt hält geht das 
perfekt. Von denen die ich verbaut habe habe ich auch hoch keinen 
zerstört. ESD mässig ist in dem chip alles drin was nötig ist. Ist im 
Datenblatt gut beschrieben. Wenn die kaputt gehen, machst du was falsch.
Tiny10 würde ich nicht verwenden. Schon allein weil die keine 
vernünftige UART haben. Unterschätz auch nicht die Zeit bei der 
Entwicklung. 24 Kontroller neu zu Programmieren ist auch nicht mal eben 
so gemacht. 24 mal kalibrieren auch nicht.
Der bq76PL536a ist sicher eine Alternative, kann aber nur 6 Zellen und 
in der Summe kostet es das gleiche.

von F. F. (foldi)


Lesenswert?

Volle schrieb:
> Ist zwar machbar (hab auch schon solche Systeme in Serie gebracht)
> der Aufwand ist aber sehr viel größer als bei einem SingelCPU System

Dann hast du nicht richtig gelesen was ich geschrieben habe.
Du programmierst doch nur für eine Zelle. Außer dem Netzteil haben die 
einzelnen Schächte doch gar nichts miteinander zu tun.

Außerdem ist das "Nerzteil" ein Netzteil. Das Handy kreiert da völlig 
neue Wörter. :-)

: Bearbeitet durch User
von F. F. (foldi)


Lesenswert?

temp schrieb:
> 24 Kontroller neu zu Programmieren

Das hatte ich überlesen.
Aber gut, ich dachte sogar an jeweils eine Platine pro Schacht, wenn man 
denn, wie ich ursprünglich dachte, einzelne Zellen versorgt.

von Alex S. (thor368)


Lesenswert?

So hier auch noch mein Senf. Der LTC6804 ist sehr zu empfehlen. Das 
gefriemel mit Einzelzell-BMS ist wie häufig geschrieben wurde sehr 
unschön. Das lässt sich nicht auf den ersten Blick erdiskutieren sondern 
ist abgeleitet aus Erfahrung und Vergleich. Wenn du es gern selbst 
ausprobieren möchtest: Nur zu. Dabei lernst du auf jeden Fall was 
Frustrationstolleranz bedeutet^^

Bezüglich balancing kann ich nur bestätigen, dass "aktives balancing" 
mit wie auch immer geartetem Ladungstransfer zwischen den Zellen zu 
aufwendig ist für den Nutzen den es verspricht. Ein intelligentes BMS 
benötigt für das selbe Ergebnis sowas nicht. Das "clampen" der 
Ladeschlussspannung ist das einfachste/dümmste das du machen kannst. Du 
hast wärend des Ladevorgangs so viel Zeit zur Verfügung, die du beim 
simplen clamping Algorithmus verschenkst. Das Ziel ist eine gewisse 
Differenzladungsmenge auszubalancieren. Das kannst du entweder in kurzer 
Zeit am Ende der Ladung machen und viel Strom verbraten oder zu bist 
schlau und lässt dir viel Zeit dafür und brauchst nur wenig Strom zu 
bleeden.

Der LTC6804 kann ohne externe MOSFET zum Balancen eingesetzt werden. 
Wenn du dich schlau anstellst reicht das für viele dutzend Amperstunden 
Kapazität völlig aus. In den meisten Fällen rechnest du für den 
Widerstand einfach nach den Maximalwerten. Für internes balancen sind 
50mA als gesund anzunehmen. Bei 4,2V Ladeschluss sind 100Ohm eine gute 
Wahl. Ein 0805 SMD Krümel wird sich gegen Ladeschluss dabei vielleicht 
etwas quälen aber es gibt auch 250mW 0805er oder du nimmst gleich 1206.

Thor

von Steffen R. (steffen_rose)


Lesenswert?

Alex S. schrieb:
> Das kannst du entweder in kurzer
> Zeit am Ende der Ladung machen und viel Strom verbraten oder zu bist
> schlau und lässt dir viel Zeit dafür und brauchst nur wenig Strom zu
> bleeden.

Das Balancing erst am Ende zu machen widerspricht der Forderung, den 
Akku möglichst nicht voll zu laden. Insofern sehe ich nur das Balancing 
während des Ladens als sinnvoll an.

von Volle (Gast)


Lesenswert?

wird in der Praxis aber nicht gemacht

Balancing beeinflusst meist die Zellspannungsmessung
 und erhöht die Temperatur der Elektronik was auch die Temperturmessung 
der Zellen stören kann, wenn sie nicht weit weg ist.

Durch die Messabweichung benötigt man einen größeren Abstand zur 
tatsächlichen maximalen Spannung -> weniger Ladung

Die SOC Berechnung parallel zum Laden und Balancing ist auch nicht 
einfach.

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.