Das 1000ste DIY BMS

Ok, ich würde die led fes Balancers nicht in fer Ansteuerung des 1,7 Ohm.mschrn,bsondern parallel fazu. Der sinn der 5 A Sicherung beim 1,7 erschlisst sich mir nicht

Ansomsten sehe ich nichts,vwas mich theoretisch stören würde. Ob die gesteuerten daten led noch kleine Kapazität brauchen, keine Ahnung. Vielleicht sollte man in Ansteurerung und Ladtkreis noch leerpads vorsehen.. (dann braucht man sie nicht).

Danke für das Feedback.
Ja, LED parallel zur Last macht Sinn, da würde man einen defekten FET sofort sehen.

Die 5A Multifuse sitzt mitten im PCB-Lastwiderstand und deren Auslösestrom nimmt ja mit der Temperatur massiv ab. Die würde bei einem durchlegierten FET oder Softwarefehler auslösen und damit die Temperatur des PCBs auf geschätzt unter 100°C begrenzen.

Warum sollte die Sende-LED eine Kapazität brauchen?

Was meinst Du mit Leerpads?

Ist ja ein witziges Konzept, gerade die IR-Kommunikation zwischen den Zell-Modulen und dem Master. Bessere galvanische Trennung geht nicht!

Erlaubt es die Geometrie, dass alle Sende- und Empfangsdioden der Zell-Module freie "Sicht" zum Master-Modul haben?

Ich habe jetzt nicht ins Datenblatt des ATtiny geschaut, wo dessen ADC-Eingänge sind. Ich sehe aber im Schaltplan gerade nicht, wo Du die Zellspannung misst. BalancerTemp und CellTemp liegen offenbar an 2 ADC-Eingängen an, aber wo wird Vcell erfasst?

Die Zellmodule sind ja auf den Zellen abwechseln in Nord- und Südrichtung montiert.
Für den TSOP34156 gibt es deshalb zwei Bestückungsoptionen, um beide Richtungen abzubilden. Bei der Sende-LED muss ich halt abwechselnd nach Norden oder Süden umbiegen.
Am Nord- bzw. Südende der Batterie setze ich dann die Empfangseinheit des Master-Moduls hin.

Der ATtiny wird direkt aus der Zelle versorgt und nimmt die Zellspannung als ADC-Referenz. Damit misst er mit seinem 12 Bit-Wandler die Spannung der 2,5V-Referenz. Aus dem Messwert der 2,5V-Referenz lässt sich dann die Zellspannung errechnen:
Zellspannung = 4096/ADCvalue * 2,5
Auflösung im Bereich der Balancing Spannung ist dann ca. 1,2mV.
Der Fehler durch die Toleranz der Referenz ist ±3,5mV.
Ich kann damit bis ca. 2,6V herunter die Zellspannung messen, fällt die Spannung tiefer, geht das nicht mehr. Aber das ist dann auch egal, weil ich nicht tiefer als 3,0V entladen werde.
Ich könnte auch eine 2,048V-Referenz verwenden, dann könnte ich tiefer runter messen, bezahle das aber mit schlechterer Auflösung und Genauigkeit bei hohen Spannungen.
Wenn ich das anders machen würde (2,5V als Referenz und Zellspannung mit Spannungsteiler), dann kämen die Toleranzen der Widerstände hinzu und dann wird es ohne Abgleich zu schlecht, auch mit 0,1% Widerständen.

Ahh, alles klar. Auf die Idee, das so herum zu machen, wäre ich gar nicht gekommen. Man nimmt also in Kauf, dass die interne ADC-Referenzspannung "nicht stimmt" (weil von V_cell abhängig), und vermisst damit die fixen, bekannten 2,5V am ADC-Eingang.
Ja, sollte klappen. Du musst nur bei der Auswertung der Spannungsmessungen für BalancerTemp und CellTemp dann daran denken, den Korrekturfaktor für die verkehrte ADC-Referenzspannung einzubeziehen.

Dass der ATtiny mit 1,8 - 5,5 V Versorgungsspannung auskommt, passt für Deinen Anwendungsfall natürlich super.

Wie viel Ruhestrom wird Deine Balancer-Platine vsl. aus der Zelle ziehen?

P.S.: Ich finde es ein geniales Projekt, auch wenn hier so viel "Gegenwind" kam :slight_smile:

Ich stehe technisch zu dem, was ich gesagt habe, und ich stehe formal dazu, wie ich es gesagt habe.

Meine Andere Meinung bezieht sich nicht auf die Elektronik, die er geplant hat, sondern auf das Gesamtkonzept, was er verwenden will.

Wenn diese Platinen ins Gesamtsystem eingebunden sind, gibt es genau ein System, was den Akku schützt. Die Platinen samt Infrarotübertragung, Bussverbindung, WR, steuerung dazwischen. Samt aller hoffentlich vorhandenen und umfassend getesteter Sicherheitsfeatures in der Firmware….

Die Platinen sind gut geplant, saubere einfache Konzeption. Von jemandem geplant, der offensichtlich weiss, was er tut. Besonderes Lob, er weiss wirklich wie Elektronik geht.

Was ich damit machen würde:

Einen Akku mit JK BMS.

Und DANN die Platinen (ohne Balancing) samt aller Steuerung und Features, wie er es geplant hat.

Dann verhält sich der Last- und Ladekreis wirklich Akkukonform…. Und bei einer beliebigen Fehlfunktion (im gesamten Lastkreis) dabei ist immer noch das JK da, um die Karre vom Unglück zu retten. Das wäre ein System/Konzept, mit dem ich vollumfänglich zufrieden wäre. Und dafür ist seine Idee eigentlich optimal: nachrüstbar ohne Drahtverhau, BMS konzept als getrennte Sicherheitsinstanz bleibt erhalten.

Und noch eines, @astirfreak baut das aus Interesse, aus Spass am Konzept ohne Drähte. Das verstehe ich, und ich könnte/würde ich an seiner Stelle auch machen. Nur würde ich das nicht als “alleiniges” Konzept laufen lassen.

Und eines möchte ich auch noch sagen :

Auch aus grundsätzlich Erwägungen ist es richtig, einer solchen Idee nachzugehen und die Möglichkeiten auszuloten. Man kann nicht vorhersagen, wie sich sowas bewährt, welche Änderungen es erfährt, welche weiteren Ideen und Konzepte/Möglichkeiten es triggert. Eine davon habe ich gerade genannt: das eine tun, und das andere nicht lassen.

Da bringst Du mich gerade auf eine Idee:
Der schlimmste "Amoklauf", den so eine Einzeplatine begehen könnte, wäre ja eine Tiefentladung der Zelle durch exzessiv häufige Ansteuerung des Entlade-MOSFET T10. Sollte man da vielleicht einen einfachen Hardware-Interlock eindesignen, z.B. basierend auf einer Zener-Diode, der bei Unterschreiten einer bestimmten Zell-Spannung den T10 sperrt, damit auch eine buggy Firmware auf dem ATtiny die Zelle nicht schrotten kann?

Nein muss ich nicht. Das ist eine ratiometrische Messung, da kompensiert sich der Fehler selbst raus.

Niedrige einstellige Milliampere. Der Hauptverbraucher ist der µC. Ich muss mal schauen, wie weit ich mit der Taktfrequenz runterkomme und gleichzeitig noch IR-Decodierung machen kann. Ich peile mal 2,5MHz oder weniger an.
Wenn die Zellspannung unter z.B. 2.7V fällt, kann ich Referenz und IR-Kommunikation komplett deaktivieren und den ATTiny schlafen legen. Dann komme ich deutlich unter 1mA runter.
Das kommt aber einer Deaktivierung des gesamten BMS gleich, weil das Mastermodul dann keine Infos über diese Zelle mehr enthält. Da muss ich mal schauen, wie damit umgehe, z.B. nur noch einmal pro Minute Daten senden oder so.

Dankeschön.

Zener-Dioden sind bei den niedrigen Spannungen nicht zu gebrauchen, schau Dir mal die Kennlinien dazu an.

Ich könnte das aber irgendwie mit der 2,5V-Referenz und einem Komparator machen.
Oder ich steuere den MOSFET über ne Ladungspumpe an (Watchdog). Sobald da nicht mehr getaktet wird, geht der aus.
Die Idee nehme ich mal mit. Möchte aber auch nicht unnötig viel Komplexität da reinbringen.
Aktuell besteht der Schutz aus der Polyfuse. Wenn der Balancer durchgehend über Minuten aktiv ist, wird sie auslösen und den Strom auf deutlich unter 300mA reduzieren.
In jedem Fall kann das Master-Modul dann Alarm schlagen und trotzdem habe ich viele Tage Zeit, bis es kritisch wird, da ich meine Zellen nie unter 3,0V betreibe.

Ach, hast recht! Die Messwiderstände R4 und R5 hängen ja an V_SW, und nicht etwa an 2V5. In letzterem Fall wäre der Effekt dann nämlich aufgetreten.

@Carolus: Ich werde das Projekt auf jeden Fall mit dem JK-BMS parallel starten. Sollte das JK-BMS aber in den nächsten Jahren defekt gehen oder Mist machen, würde ich es nicht ersetzen.

Je mehr ich drüber nachdenke, desto eher tendiere ich dazu, nichts zu machen.
Der ATTiny bekommen seinen Watchdog und Brownout-Reset aktiviert. Da in Hardware noch was zu schützen bringt da kaum noch Mehrwert. Alles, was ich dazubaue, braucht Strom und kann auch kaputt gehen.
Habe beruflich zu oft erlebt wie Angstbauteile und die Absicherungen der Sicherung der Sicherung in Projekten mehr Probleme gemacht haben, als sie gelöst haben. Man muss da echt vorsichtig sein und sorgfältig abwägen.

Eine tiefentladene Zelle ist ärgerlich, aber kein Weltuntergang, sofern man sie danach entsorgt.
Brand- und Überladeschutz sind da viel wichtiger.

Hmmmm… ich hätte eher Angst vor einer zu niedrig gemessenen Zellspannung. (Durch stabile Kontaktprobleme der Platine). Dann würde die Zelle massiv überladen…

T10 ist doch ein Mosfet? Gatespannung passend auf 2,5 V gesetzt, und schon gibts keine Tiefentladung.

Den Fehler fängt man, indem man bei Zellspannungsdifferenzen in der Batterie von z.B. mehr als 150mV das Laden und Entladen deaktiviert und wenn sich Victron und Konsorten nicht dran halten, die Sicherung abschaltet.
Das Problem hast Du ja bei jedem anderen BMS-Prinzip auch.

Ach wäre das schön, wenn ein MOSFET digital wäre. Leider sieht die Kennlinie so aus:

Das ist ein SOT-23-MOSFET. Im halb aufgesteuerten Zustand würde der dann in meiner Anwendung mehr als 1W verheizen und wäre sofort defekt.

Natürlich ist der nicht digital. Es genügt dir doch, wenn er bei 2 V noch zu ist und bei 3,4 V 1,7 A kann. Muss dafür ja noch nichtmal satt durchgeschaltet sein.

Dan nimm dip8. Funktionssoicherheit bekommt man auch durch reichliche wasserfeste Dimensionierung. Platz ist doch genug da .

Ein MOSFET, der bei 2V noch richtig zu ist, ist bei 3,4V noch relativ hochohmig. Das Ganze hat erhebliche Toleranzen.
Bei einem BSP295 liegt die Gate-Threshold bei 400µA (nur da ist die Toleranz spezifiziert) zwischen 0,8V und 1.8V.
Für 1mA gibt es einen Graph:

Der RDSon ist aber nur ab 4,5V spezifiziert.
Laut SOA darf dieser nicht mehr ganz so kleine FET im linearen Bereich bei 2V nichtmal 1A tragen. Aber das kann passieren, weil der Bereich zwischen 1,8V und 4,5V nicht spezifiziert ist, erhebliche Toleranzen aufweist und auch noch temperaturabhängig ist.
Typische Werte bei 25°C sind hier dargestellt:

Aber die Kurve kann sich über Temperatur und Toleranzen um mehrere 100mV nach rechts und links verschieben.
Gerade bei MOSFETs muss man im Linearbetrieb sehr genau wissen, was man tut.

Das ist genau so ein typisches Beispiel. Man baut eine Angstschaltung rein und schafft sich mehr Probleme als man damit löst.

Fragt sich nur: Was macht der eigentlich im Defektfall? Komplett nichtleitend? Komplett leitend? Oder irgendetwas dazwischen?
Oder ist das womöglich nicht-deterministisch und kann mal so, mal so ausgehen?

Man sollte die Schaltung auf jeden Fall so designen, dass das Gate-Potential des MOSFET entweder hart GND oder >>Schaltschwelle ist, aber nie etwas dazwischen.
Man könnte da jetzt einen Gate-Treiberbaustein einsetzen, die haben üblicherweise einen undervoltage lockout. Aber halt, wir wollen die Komplexität ja nicht zu weit nach oben treiben...

Das ist dann ein MOSFET, der für Deine Anwendung nicht taugt. Über 4,5V Gate-Spannung bekommt man an einer 3,2V Akkuzelle ohne aufwändige Step-Up-Wandlung nun mal nicht her.

Genau, deshalb habe ich einen MOSFET gewählt, der bei 2,5V einen spezifizieren RDSon hat. Blöderweise leitet der aber auch bei knapp 1V schon.

Ein MOSFET taugt einfach nicht dazu, Komparator zu spielen.

Ein MOSFET geht normalerweise niederohmig kaputt, wobei er im Defektfall aber nie so niederohmig ist wie im durchgesteuerten Zustand. Deshalb kann auch ein defekter MOSFET je nach Schaltung sehr heiß werden und auch heiß bleiben, was dann je nach Konstruktion auch eine Brandgefahr mitbringt.

Genau deshalb traue ich diesen China-BMS nur bedingt.

Da verstehe ich den Zusammenhang nicht. Ich habe auch noch kein einziges China BMS brennen sehen. Und die Gefahr fes durchlegieren wird ständig beschworen …. Hab ich noch nie gesehen, ausser bei mir selber.

( Nur für einen Versuch 2 BMS in Reihe, beim Abchalten des einen Bms sind die fets des anderen durchgeknallt… durch zu hohe Spamnung)

Bezüglich meines obigen Vorschlag hast du recht, das scheint nicht genau genug spezifizierbar zu sein. Oder eben einen deutlich überdimensionierten Mosfet.