Projektvorstellung: Battery safety controller

Ich komme aktuell nicht dazu einmal ein BMS anzuschließen und die drei seriellen Ports (RS485) zu testen.

CAN und onewire geht bei mir so weit.

@nemon21

Hast du an einer der seriellen Schnittstellen ein BMS angeschlossen?

Ich würde mit einer erneuten Sammelbestellung gerne warten bis ich weiß, dass die HW sicher funktioniert. Ich werde aber sicherlich noch 4-8 Wo. brauchen.

Es sei denn, jemand anderes hat evtl. schon die drei seriellen Schnittstellen getestet oder könnte dieses testen.

Das Senden (Datenanfrage beim BMS) habe ich mir mit dem Oszi angeschaut. Das schaut soweit gut aus.

Hat es jemand besonders eilig? Zur Not könnte ich noch eines von meinen abgeben. Voraussetzung wäre aber dann, das derjenige auch die seriellen Schnittstellen testet.

Bei denen sich der BSC nicht programmieren lässt wäre es schön, wenn sich jemand findet der überprüft ob der ESP in den Downloadmodus geht.

Eine weitere möglichkeit wäre es, das Flashen direkt mit dem esptool zu probieren, so wie es auch @nemon21 gemacht hat.

# esptool.py -p /dev/tty.usbserial-A50285BI -b 921600 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size keep --flash_freq keep 0x1000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin

Soviel ich weis macht das Winows Programm nicht anderes als, dass es das esptool aufruft.

@shiningman

mit putty bekomme ich die antwort

Das flashen bleibt dort hÄngen

Planst du denn auch eine Unterstützung für das DIYBMS von Stuart Pittaway?

@crazyd

Ich habe das ganze bei mir noch einmal probiert. Ich bekomme das SYNC Problem nur dann wenn ich den Junmper nicht gesteckt habe oder einen falschen COM-Port ausgewählt habe.

Daher noch einmal zu Sicherheit das Vorgehen:

  1. Versorgungsspannung ausschalten

  2. ESP32 Download Tool vorbereiten (Richtigten COM-Port auswählen)

  3. Downloadkabel anschließen

  4. Jumper stecken!

  5. Versorgungsspannung einschalten

  6. Downloadvorgang starten.

Ich sehe sonst keinen Grund warum der ESP sich nicht programmieren lassen sollte.

Wäre nur noch der TX Pin. Kalte Lötstelle am ESP?

Für was wäre die Unterstützung des DIYBMS von Stuart gut? Was für einen Mehrwert würde das bringen?

Hat das DIYBMS überhaupt eine Schnittstelle um Daten zu holen. Ich müsste mich erst einmal mit diesem auseinandersetzen.

@shiningman

werde es morgen noch einmal probieren

comport habe ich den selben wie mit putty

habe dann die Versorgung Spannung entfernt

Dann das esp 32 Tool vorbereitet Jumper war gesteckt und dann die Spannung wieder aufgelegt

Jedoch ohne Erfolg

habe es noch ein paar mal probiert ohne erfolg

in der console steht

Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Exception in thread Thread-1:
Traceback (most recent call last):
File "threading.py", line 932, in _bootstrap_inner
File "download_process.py", line 678, in run
File "espDownloader.py", line 601, in flash_download_test
File "espDownloader.py", line 803, in flash_download_func
err_define.FlashStatusRegError: ESP32 flash status reg error bat_read_status.

Mit der neuen version 3.9.4 vom esp32 tool hat es beim ersten mal funtioniert.

@shiningman

Ist es richtig das man unter BT devices nur den Neey auswählen kann ?

Der Neey per BT läuft schonmal ohne probleme und sendet seine sachen schön per MQTT in mein Ipsymcon ? ?

Hallo shinigman,

sehr schöne Sache das, mit einem einfachen ESP32 läuft ja schonmal das Bluetooth Geraffel und sendet fleißig.

Vielen Dank dafür. Wäre es eine Option das Seplos BMS auch über bluetooth Anbindung einzubinden?

Dann wäre die Programmierschnitstelle am BMS weiter verfügbar und die Steuerung des WR kann ja auch über modbus sunspec erfolgen, was Ladeleistung etc. angeht.

Auch sind in der Variante Galvanische Trennungen nicht noch zusätzlich nötig, natürlich auf Kosten der Zuverlässigkeit der BT Verbindung.

Erstmal ein dickes Dankeschön für deine Arbeit!

Slade

1 „Gefällt mir“

Ist richtig. Bisher geht nur der NEEY.

Ich bin dabei den Support für das JK-BMS hinzuzufügen, aber bisher bin ichmir noch nicht sicher ob das wirklich stabil hinzubekommen ist.

Bisher schaut es, was die Stabilität der BT Verbindung beim JK-BMS angeht, nicht so gut aus.

Was im nächsten Release noch kommt, ist, dass über die Weboberfläche auch die Settings vom NEEY eingestellt werden können.

@crazyd

Hat das Programmieren jetzt geklappt?

@shiningman

Ja es hat funtioniert Ich habe vom espdownloder die version 3.9.4 benutz und damit hat es bei beiden BSC s direkt beim erten mal funktioniert.

Mit der 3.9.3 bekomme ich irgendwie keinen esp32 geflsht mit der 3.9.4 klappt alles tadelos

@slade

Ich bin dabei das JK über Bluetooth einzubinden. Ob ich mich dann noch an das Seplos mach weiß ich nicht. Vmtl. würde ich vorher das JBD machen, da ich dies selber habe.

Um weitere BT Devices einzubinden brauche ich zumindest einen Mitschnitt (Trace) vom Verbindungsaufbau, sonst wird es so wie so nichts.

Ich habe in den Discussions eine Umfrage gestartet für die Unterstützung weiterer BMSen.

Mir ist es am liebsten ein Issue auf github zu eröffnen, wenn irgendeine Funktion benötigt wird.

Wird der BSC nur zum Datensammeln eingesetzt, genügt Bluetooth natürlich. Soll er den Wechselrichter mit Daten versorgen, würde ich mich auf keine Bluetooth Verbindung verlassen. Obwohl du hier mit dem BSC zumindest die Möglichkeit hast, bei Kommunikationsverlust zum BMS die Lade-/Entladesleistung auf 0 zu fahren.

Ich nutze den BSC als zweite Sicherungsebene. Denn wer schaltet denn ab, wenn z.B. die FETs durchlegiert sind. So kann der BSC im Gefahrenfall meinen ABB Leistungsschalter abschalten.

Hat jemand mehr als ein JK-BMS und möchte die Bluetoothanbindung testen, dann kann er sich per PN bei mir melden.

Um so mehr JK-BMS der jenige hat um so besser:)

@shiningman

Da ich bisher nur ein einfaches ESP ohne zusätzliche Platine habe, ist es bis zur Sammelbestellung erstmal eine "Notlösung" um die Daten extern verfügbar zu machen und in fhem einzubinden.

EDIT:

Wobei ein Nachteil des Seplos BMS ist, dass bei mehr als einem Pack der Masterpack über RS485 nicht mehr auslesbar ist und nur der oder die Slave Packs sind sichtbar, da macht die zusätzliche Bluetooth Verbindung Sinn, um alle Zelldaten, etc. zu bekommen, insofern habe ich da langfristig Interesse dran.

Ich habe gerade mal versucht Android so zu emulieren, dass die App auf dem PC lauffähig ist, zickt noch etwas, sobald das läuft, trace ich mal mit...

EDIT:

Ok, mit einem Emulator wird das nichts, ich besorg mir morgen mal ein Android Gerät um dort im Entwicklermodus alles mitzuloggen.

Gruß,

Slade

Das versthehe ich nicht. Die Seplos hängen doch alle parallel an einem RS485-Bus. Jedes hat dann eine andere ID (1-15). Daher sollte auch jedes einzeln ansprechbar sein. Bisher ist das Seplos im BSC so implementiert, dass es ID 1 haben muss. Man könnte das ganze aber erweitern, dass auch mehrere IDs gelesen werden können. Sowit kannst du alle Seplos mit dem BMS verbinden und dieser reicht die Daten dann per MQTT oder CAN weiter.

das wäre auch mein Anwendungsfall. (also ID1, ID2, ID3, ...)

Wieviel IDs bräuchte es denn maximal? Esw wird wohl keiner 15 Seplos BMS nutzen, oder?
Wenn ich es einbaue, könntest du es dann ggf. mit mehreren Seplos testen?

@shiningman Sobald der Canbus im Masterpack des Seplos aktiviert wird, um auch den Slave an den WR mitzuteilen, ist der Masterpack über RS485 nicht mehr ansprechbar.
Wenn das BSC die Kommunikation zum Wechselrichter komplett übernimmt, und beide/drei/vier Packs nur an das BSC liefern, müsste es noch möglich sein, müsste ich aber prüfen sobald ich eine vollständige Platine hier habe.

Meine persönliche Frage wäre dann auch, ob das BSC mit Solaredge Wechselrichtern spricht, da ist das Seplos eben recht gut drin, aber das können wir ja mal probieren..

Slade

Das können wir probieren und ggf. auch anpassen. Was für Daten sendet denn das Seplos BMS an den SolarEdge Wechselrichter?

@shiningman Canbus, müsste also eigentlich funktionieren. Gesendet werden definitiv Ladestromstärke, Ladespannung, SOC und SOH, bin noch nicht dazu gekommen, dort mal mitzulauschen. Protokoll ist Pylontech.

Gruß,

Slade