Forum: Haus & Smart Home Akku Eco-Worthy 12,8V 100Ah und sein RS485-Protokoll


von Jens M. (dl4aas) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

mit o.g. Akku wollen wir unsere automatischen Funkstationen mit Solar- 
und Notstrom versorgen. Zum Akku gibt es ein Bluetooth-Modul, über eine 
Handy-App lassen sich einige Kenngrößen wie Spannung, Strom, Ladezustand 
auslesen.

Da der Akku aber an unbemannten Stellen stehen wird und Bluetooth auch 
nicht wirklich unser Plan ist, haben wir die Kommunikation zwischen 
BT-Modul und Akku untersucht. Signale sind RS485 und das Datenformat 
größtenteils Modbus RTU. Lediglich am Anfang sendet das Modul Daten, die 
nicht als Modbus erkennbar sind (zumindest nicht für uns).

Inzwischen läuft das Ganze recht gut, es gibt aber noch Datenfelder, 
deren Bedeutung sich uns nicht erschließt. Vermutlich geht es um 
Störungszustände - oder die wären natürlich besonders interessant.

Im Netz findet sich wenig dazu, andere Eco-Worthy-Modbus-Übertragungen 
sind zumindest nicht gleich.

Soweit zur Vorrede, nun zwei Fragen:
- Gibt es jemanden, der an dieser Stelle auch schon tätig war, seine 
Erkenntnisse aber noch nicht veröffentlicht hat? Und das jetzt 
vielleicht ändern möchte?
- Gibt es konkretes Interesse an unseren Ergebnissen? Es entsteht gerade 
eine ESP32-Lösung, die die Daten abholt und per MQTT versendet. Die 
Auswertung geschieht dann im NodeRed. Anbei eine erste Skizze der 
Schaltung (ohne Gewähr) und ein Screenshot aus NodeRed.

73 de Jens DL4AAS OV P56 (DB0WTH, DB0WIT)

P.S. Kleines Schmankerl am Rande: die Schnittstelle des Akkus schaltet 
sich aus, wenn weder ge- noch entladen wird - und auch nicht wieder ein. 
Der ESP32 wird wohl noch einen Servo zur Betätigung des Einschalttasters 
bekommen...

von Achim H. (pluto25)


Lesenswert?

Jens M. schrieb:
> und auch nicht wieder ein

Auch nicht bei Anforderung?
Einhell Akkus z.B. erzählen wie sie sich fühlen, jedoch nur wenn das 
Ladegerät sie dazu auffordert. Einfach Strom drauf reicht dehnen auch 
nicht.

von Jens M. (dl4aas) Benutzerseite


Lesenswert?

Achim H. schrieb:

> Auch nicht bei Anforderung?

Guten Frage,

im Moment warte ich auf das Einschalten der Spannung. Ich probiere es 
und berichte...

von Michael P. (mipo)


Lesenswert?

Kennst du den BMS Hersteller? Hier ist was zum Protokoll von JK BMS 
http://www.jk-bms.com/Upload/2022-05-19/1621104621.pdf

Eventuell gibt es Übereinstimmungen

von Jens M. (dl4aas) Benutzerseite


Lesenswert?

Jens M. schrieb:
> im Moment warte ich auf das Einschalten der Spannung. Ich probiere es
> und berichte...

Das geht leider nicht, die Batterie wird nicht 'wach'. Aber bei den 
Tests habe ich festgestellt, dass die einleitenden Übertragungen, die 
ich beim BT-Modul abgeschaut habe, nicht notwendig sind und eigentlich 
weg können:
1
int delay_prestart = 200;
2
byte prestart[] = { 0xf9, 0x45, 0xF9, 0x53, 0x23 };
3
int delay_start1 = 1000;
4
byte start1[] = { 0xF8, 0x45, 0x00, 0x01, 0x01, 0xF8, 0x89, 0xBE };
5
int delay_start2 = 80;
6
byte start2[] = { 0xF8, 0x35, 0x00, 0x02, 0x02, 0x00, 0x39, 0x07 };
7
int delay_start3 = 80;
8
byte start3[] = { 0xF8, 0x35, 0x00, 0x02, 0x02, 0x00, 0x39, 0x07 };
9
int delay_start4 = 80;

Die Modbus-Abfragen funktionieren auch so:
1
byte request1[] = { 0x01, 0x03, 0x15, 0x00, 0x00, 0x22, 0xC1, 0xDF };
2
byte request2[] = { 0x01, 0x03, 0x16, 0x00, 0x00, 0x2B, 0x01, 0x9D };

Also doch der Servo, der auf die Taste drückt ...

Gruß
Jens

von Jens M. (dl4aas) Benutzerseite


Lesenswert?

Michael P. schrieb:
> Kennst du den BMS Hersteller? Hier ist was zum Protokoll von JK BMS
> http://www.jk-bms.com/Upload/2022-05-19/1621104621.pdf
>
> Eventuell gibt es Übereinstimmungen

Es ist wohl ein JBD - da gibt es auch reichlich Datenblätter, aber so 
richtig passt da nichts.

Aber Sinn macht das Studium der Dinger schon, besonders wenn es um 
einzelne Werte geht, die Fehlercodes enthalten (könnten).

Wenn man sich die Werte anschaut, scheint da auch gar nicht so viel 
versteckt zu sein, zumindest nichts, was Messwerte liefert. Die erste 24 
wäre noch interessant, aber sonst?

Ich will mal versuchen, mit einem Modbus-Client auf andere Adressen zu 
gehen, vielleicht ergibt sich noch was...

Gruß
Jens

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.