Ich bin aktuell dabei, für unsern Selbstbau-Rennwagen ein BMS zu
entwickeln.
Als Vorgabe habe ich mir gesetzt, auf jede Zelle bzw. Zell-Block eine
Sensor-Platine zu setzen, welche Spannung, Temperatur vom
Microcontroller und Temperatur von der Zelle misst und dazu auch per
shunt widerstand ein passives balancing durchführen kann.
Alles außer die Datenübertragung habe ich bis jetzt auch geschafft.
Dabei wollte ich die Daten in einer Daisy Chain von der ersten Zelle bis
zur letzten Zelle in einer Kette senden und dann ans BMS übergeben.
Als ersten Ansatz hatte ich jeweils einen Optokoppler, welcher von einer
Zelle zur nächsten das Signal entkoppelt. Funktioniert zwar, aber ist
eher eine schlechte Lösung, die recht fehleranfällig ist.
Ich hatte dann das hier gefunden: https://bps.biz.hr/BMS.html
Das wäre so das günstigste und optimal, jedoch verstehe ich nicht, wie
das funktionieren soll.
Ich habe das ganze auch mal simuliert, jedoch bekomme ich beim Eingang
des MCs immer eine Spannung, die viel zu hoch ist. So gesehen zieht der
P-Channel MOSFET ja das Signal auf den positiven Kontakt der nächsten
Zelle, was ja die Spannung von über 7V bedeutet. Die beiden Schalter
habe ich symbolhaft mal eingebaut, um den MC Ausgang zu simulieren.
Meine Frage ist also, ob ich da einen Denkfehler habe oder die Schaltung
umgebaut werden müsste, damit es auch funktioniert und den MC nicht
brät. Die Widerstände am Eingang zu variieren habe ich auch schon
überlebt, aber durch schwankende Spannungen an der Zelle kann es ja
trotzdem passieren, dass die Spannung am MC Eingang mehr als VDD +0,5V
beträgt. Achso, und ich verwende einen Atmega328P.