Forum: Mikrocontroller und Digitale Elektronik ein DIY 16s BMS für unter 10€.


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Das R. (Firma: Verliererland) (verlierer)



Lesenswert?

Hintergrund ist ein 128s bms für meine 4 kWh LiFePo4 und 11 kW Danfoss 
Frequenzumrichter - darum das 16s Modul für unter 10€. Dafür bin ich 
hier natürlich wieder mal gekreuzigt 
worden:Beitrag "Wie ein 128s BMS für 4 kWh Hochvoltbatterie ?"

Bastele seit ein paar Tagen an einem ESP32 16s BMS, siehe Fotos.
Die 16 Zellen aber einfach über 10k - 200k Spindelpotis an die 16 adc 
Eingänge zu hängen funktioniert leider gar nicht.

Hatte gehofft dass der Temperaturdrift vom Poti den Spannungsteiler 
gleichermaßen betrifft. Vielleicht hab ich auch andere Fehlerquelle.

Vielleicht hab ich aber auch schon aufgegeben als ich gestern für 84,24€ 
aus Spanien ein 320A Smart BMS für meinen 14 kWh LiFePo4 Akku geordert 
habe: https://www.aliexpress.com/item/32997552090.html

Nun soll ADC beim ESP32 alles andere als genau sein :-/

Mein ESP32 code mittelt über so 100 Messungen. Da normlerweise alle 
Zellen auf das zehntel Volt zwischen 3,2 und 3,3 Volt liegen, kann ich 
die 16 Messwerte leicht eichen. Das bleibt dann auch über ein paar 
Minuten stabil. Komme ich aber nach einer Stunde wieder dann war wieder 
alles für die Katz. Ich träume also noch auf eine schalttechnische 
Lösung.

Ist gerade diese Langzeitinistabilität das Problem beim ESP32 ?

Da ich ja 128s für meinen 11 kW Frequenzumrichter im Hinterkopf habe, 
ist mir der ads1105 zu teuer. Inzwischen kostet ein Ding so 3 Euro :-( 
Kennt Ihr 1€ adc module/chips ?

für die letzte Spannung brauche ich aber 200 k Poti mit so 1:16 
Spannungsteiler :-( Schöner wären 4x i2c adc module die ich mit level 
shiftern in Reihe hänge..

Ursprünglich wollte ich ja mit diesesn Padauk Billigst-CPUs an jeder 
Zelle eine CPU hängen, die ich mit zyklischem datenbus verbinde... 
Allerdings wäre dies ein Albtraum für firmware-updates. Der Lolin32 Lite 
kostet nur noch so 3 Euro und man kann per wlan updates aufspielen. 
Espressif scheint als einziger Chipanbieter nicht von dem weltweiten 
Engpass betroffen ?

Wie machen das eigentlich die echten bms ????

Es gibt ja auch die analog-switches. Also nur einen adc und jede Zelle 
kann mit zwei Mosfet auf GND und ADC geschaltet werden. So ein Switch 
müsste aber 60V schalten können. Da fehlt mir auch noch ein billiges 
Chip.


Ich könnte versuchen, meinen ESP32 zu retten indem ich noch einen 
ADS1115 daneben packe und je einen ADC1 und ADC2 pin parallel erfasse. 
Aus diesen exakten Werten kann ich dann alle adc1 und adc2 pins 
korrigieren.

Die zwei noch freien ads1115 eingänge könnte ich für gpio0 und gpio2 
verwenden:

ADC2 pins cannot be used when Wi-Fi is used.
pin input output remarks
0 pulled up OK outputs PWM signal at boot !!
2 OK OK connected to on-board LED ??!!
12 OK OK boot fail if pulled high !!
14 OK OK outputs PWM signal at boot

Leider haben sich die chippreise rund verdreifacht, das ist eine echte 
Spaßbremse.

Im März hab ich den ADS1015 12 Bit noch für 1,15€ geordert.

Problem meines jetzigen ESP32 ist wohl auch, dass ich ihn mit schottky 
Diode direkt an die erste 280Ah LifePo4 Zelle gehängt habe. Dazu ein 
15mA buzzer den ich aktivieren will, wenn die Zelle die maximalen ESP32 
3,6V erreicht.

Denn ohne den Stromverbrauch ist der Spannungsabfall an der Diode zu 
gering.

Da der ESP32 aber kein interne Spannungsreferenz hat, springen wohl die 
adc Werte nach oben wenn sich der Stromverbrauch ändert :-(

Das sollte der eine ads1115/ads1105 aber auch ausgleichen können :-)


Ein Arduino Nano hat nur 8x adc. Für 128s bräuchte ich also 16 Stück :-/
Aber mit 12bit und besseren adc wäre der neue LGT8F328P Nano clone fast 
ideal dafür.
Zum Glück hab ich letzten August drei Stück für je 0,89€ geordert und 
erfolgreich getestet. Inzwischen kosten die auch 3€.


"Bezahlbar" ist noch der ESP12f mit so 1,6€. Und ein USB Chip braucht es 
wegen Stromverbrauch eigentlich nicht.

An den nur einen (10bit) adc Pin dann ein CD74HC4067 16-Channel Digital 
Multiplexer für 1€

Mit 16x adc auf einen Schlag bin ich aber wieder an dem miesen 1:16 
Spannungsteiler für die oberste Zelle :-(

Lieber wäre mir ein Modul mit nur 4 oder 8x adc. Fällt Euch da noch was 
anderes als der LGT8F328P ein ?


das Roland und wie immer:
Ideen immer zu mir :-)
Ausreden woanders hin :-(

: Bearbeitet durch User
von jemand (Gast)


Lesenswert?

Ich bin schon versucht, dir zu erzählen, was für eine Art Chip dein 
ominöser IC von dem passiven balancern so sein könnte, damit das nicht 
in noch größerem Pfusch endet, aber ich möchte Leute auch nicht dabei 
unterstützen, sich und andere zu gefährden.

von demo (Gast)


Lesenswert?

Tu dir einen Gefallen und nimm was vernünftiges. LTC6803 z.B. oder 2x 
bq76930 z.B. Die sind für sowas gemacht.
Wenn du eine Variante mit einem einzigen ads1115 verwenden willst, dann 
bitte nur ein Spannungsteiler und dei Zellen nacheinander am den 
Spannungsteiler schalten und messen. Dafür eignen sich gut Optokoppler 
mit antiseriellen Mosfets im Ausgang:
https://www.vishay.com/solid-state-relays/
Oder wenns billig und langsam sein soll Reed Relais die auf 
irgendwelchen Plattformen verschleudert werden.
Aber 16 Spindeltrimmer ist das letzte was man einsetzen sollte.

von demo (Gast)


Lesenswert?

Das R. schrieb:
> Hintergrund ist ein 128s bms für meine 4 kWh LiFePo4 und 11 kW Danfoss
> Frequenzumrichter - darum das 16s Modul für unter 10€. Dafür bin ich
> hier natürlich wieder mal gekreuzigt

Und das zu Recht. Wenn du in der Lage wärst mit sowas umzugehen, würdest 
du es umsetzten und deine Zeit hier nicht mit Labern verbringen. 128s 
LiFePo4 ist eine Hausnummer, die ich dir absolut nicht zutraue. Also 
schließe ich mich dem jemand an und bin raus.

von Das R. (Firma: Verliererland) (verlierer)


Lesenswert?

demo schrieb:
> Aber 16 Spindeltrimmer ist das letzte was man einsetzen sollte.

Danke für die Antwort. Nur leider hast Du den Thread Titel ignoriert.

Die Spindeltrimmer sind natürlich nur für den Prototyp bei dem ich zu 
faul bin, 32 Widerstände zu verlöten. Würden die denn für stabilere 
Spannungsteiler sorgen ?

von Helge (Gast)


Lesenswert?

Es gibt fertige BMS Bausteine mit serieller Schnittstelle, die sich 
zusammenschalten lassen. Die verbrauchen sicherlich weniger als deine 
Lösung. Suche nach Tesla Batterie Analyse, bei den Youtube-Videos dazu 
sind paar gute.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Das R. schrieb:
> Ist gerade diese Langzeitinistabilität das Problem beim ESP32 ?
Kauf dir mal ne Dose Kältespray und einen einstellbaren Heißluftfön. Du 
wirst damit böse Überraschungen erleben, wenn du die abwechselnd auf 
deine Schaltung loslässt...

BTW und nur, weil mir noch keiner eine Antwort gegeben hat: wo lernt man 
eigentlich dieses Geplenke?

: Bearbeitet durch Moderator
von MOSI (Gast)


Lesenswert?

Lothar M. schrieb:
> wo lernt man
> eigentlich dieses Geplenke?

Gaanz ruhig bleiben...

von Andre (Gast)


Lesenswert?

Das R. schrieb:
> 4 kWh LiFePo4 und 11 kW Danfoss Frequenzumrichter

und

> Modul für unter 10€

Wasch mich, aber mach mich nicht nass?
Irgendwie verstehe ich diesen Billig-Bastler Trend nicht. Mach doch 
einfach mal was vernünftiges. Hier ist jedes zweite Thema nur noch "ich 
habe möglichst billige, undokumentierte China-Module in ein Gehäuse 
gepappt!". Langweilig!

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.