ok, danke
dann weiß ich jetzt was der Fehler ist, und hoffe das ich den Prozessor noch nicht geschrottet habe
ok, danke
dann weiß ich jetzt was der Fehler ist, und hoffe das ich den Prozessor noch nicht geschrottet habe
Das ESP ist in dieser Hinsicht nicht sehr tolerant. Der geringe Strom, den dein RS232 Wandler treiben kann, sollte ihn aber nicht gleich töten.
Den ESP auf der Leiterplatte zu tauschen ist kein leichtes Unterfangen, da auf der Unterseite ein Thermalpad ist.
Ich habe heute eine neue Version (v0.3.0) fertiggestellt.
Die größte und wichtigste Änderung ist die Stabilität. Wenn mehr als ein NEEY verbunden war, oder wenn es häufige Wifi-Reconnects gab, gab es immer Probleme die meist in einem Reboot geendet haben. Dies sollte jetzt nicht mehr auftreten. Auch nach längerer Laufzeit mit tausenden von Wifi-Reconnects (die arme Fritzbox) läuft es bisher ohne Probleme.
müssen bei der 12V Variante beide DC/DC Wandler bestückt werden U1+U19 oder reicht nur der U19?
Ich grad gesehen das der U19 nicht bestückt werden kann, da der DC/DC Wandler auch 180 Grad gedreht werden muss.
Warum kann U19 nicht bestückt werden?
Bei der 12V Variante musst du U1 und U19 bestücken.
U1 macht die 3V3 aus der Versorgungsspannung.
U19 macht die 5V aus der Versorgungsspannung. U19 kann nur bei einer Versorgungsspannung von 5V unbestückt bleiben. Dafür muss dann der Lötjumper JP28 geschlossen werden.
Wenn du die DC/DC-Wandler leicht schräg einbaust, geht das ohne große Probleme und du musst nichts verlängern.
Hallo,
ich verfolge das Thema auch schon etwas länger. In Github habe ich gelesen, dass das Bluetooth Protokoll für die Einbindung des JK-BMS über Bluetooth fehlt. Es wird hier im Forum von Scotty89 parallel am auslesen des JK-BMS gearbeitet, siehe https://www.akkudoktor.net/forum/open-source-software-projekte/jkbms-auslesen-ueber-ble-bluetooth-oder-rs485-adapter-mittels-eps-iobroker/ . Da ich ich im programmieren eine Pfeife bin, frage ich mich ob es nicht ein leichtes wäre den Code auf dieses Projekt zu adaptieren, da beide mit ESP32 arbeiten und somit die ganzen zusätzlichen Adapter, Isolationsprobleme und Kopfschmerzen zu umgehen.
Liebe Grüße
Ich bleibe auch die ganze Zeit beim Sync hängen
Welches Kabel nutzt du zum Flashen?
Hast du den Boot Jumper vor dem einschalten gesteckt?
Evtl. auch ein Screenshot vom Flash-Tool um zu sehen ob alle Settings richtig sind.
Wie ist das Board denn mit Spannung versorgt?
Bei mir hat die USB-Spannung nicht ausgereicht.
Ich habe dann ein Netzgerät angeschlossen und dann hat es funktioniert.
Machbar ist theoretisch alles. Die Frage ist der Nutzen-Zeitaufwand. Wie groß ist das Interesse an der Bluetooth Implementierung?
Serial via RS485 funktioniert es ja.
Hi,
bei mir klappt es auch nicht.
Habe einen Moxa Uport1150 und einen rs232 > TTL Wandler.
in der Console steht :
test offset : 4096 0x1000
case ok
test offset : 32768 0x8000
case ok
test offset : 57344 0xe000
case ok
test offset : 65536 0x10000
case ok
.
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.
@shinigman
interessant auf jeden Fall mindestens für mich ?
Gründe dafür:
keine zusätzlichen Adapter notwendig
kein Verkabelungsaufwand
keine zusätzlichen Kosten
zusätzliche Parameter auslesbar
evtl. irgendwann Steuerung möglich?
mehr als 3 Adapter möglich
Grüße
Ich fänd die Bluetooth-Implementierung für das JKBMS auch super. Die Infos zum Protokoll, falls das was hilft, von: esphome-jk-bms/jk_bms_ble.cpp at main · syssi/esphome-jk-bms · GitHub
// Byte Len Payload Content Coeff. Unit Example value // 0 2 0x55 0xAA 0xEB 0x90 Header // 4 1 0x02 Record type // 5 1 0x8C Frame counter // 6 2 0xFF 0x0C Voltage cell 01 0.001 V // 8 2 0x01 0x0D Voltage cell 02 0.001 V // 10 2 0x01 0x0D Voltage cell 03 0.001 V // ... // 54 4 0xFF 0xFF 0x00 0x00 Enabled cells bitmask // 0x0F 0x00 0x00 0x00 4 cells enabled // 0xFF 0x00 0x00 0x00 8 cells enabled // 0xFF 0x0F 0x00 0x00 12 cells enabled // 0xFF 0x1F 0x00 0x00 13 cells enabled // 0xFF 0xFF 0x00 0x00 16 cells enabled // 0xFF 0xFF 0xFF 0x00 24 cells enabled // 0xFF 0xFF 0xFF 0xFF 32 cells enabled // 58 2 0x00 0x0D Average Cell Voltage 0.001 V // 60 2 0x00 0x00 Delta Cell Voltage 0.001 V // 62 1 0x00 Max voltage cell 1 // 63 1 0x00 Min voltage cell 1 // 64 2 0x9D 0x01 Resistance Cell 01 0.001 Ohm // 66 2 0x96 0x01 Resistance Cell 02 0.001 Ohm // 68 2 0x8C 0x01 Resistance Cell 03 0.001 Ohm // ... // 110 2 0x00 0x00 Resistance Cell 24 0.001 Ohm // 112 2 0x00 0x00 Unknown112 // 114 4 0x00 0x00 0x00 0x00 Warning wire resistance too high? // 118 4 0x03 0xD0 0x00 0x00 Battery voltage 0.001 V // 122 4 0x00 0x00 0x00 0x00 Battery power 0.001 W // 126 4 0x00 0x00 0x00 0x00 Charge current 0.001 A // 130 2 0xBE 0x00 Temperature Sensor 1 0.1 °C // 132 2 0xBF 0x00 Temperature Sensor 2 0.1 °C // 134 2 0xD2 0x00 MOS Temperature 0.1 °C // 136 2 0x00 0x00 System alarms // 0x00 0x01 Charge overtemperature 0000 0000 0000 0001 // 0x00 0x02 Charge undertemperature 0000 0000 0000 0010 // 0x00 0x04 0000 0000 0000 0100 // 0x00 0x08 Cell Undervoltage 0000 0000 0000 1000 // 0x00 0x10 0000 0000 0001 0000 // 0x00 0x20 0000 0000 0010 0000 // 0x00 0x40 0000 0000 0100 0000 // 0x00 0x80 0000 0000 1000 0000 // 0x01 0x00 0000 0001 0000 0000 // 0x02 0x00 0000 0010 0000 0000 // 0x04 0x00 Cell count is not equal to settings 0000 0100 0000 0000 // 0x08 0x00 Current sensor anomaly 0000 1000 0000 0000 // 0x10 0x00 Cell Over Voltage 0001 0000 0000 0000 // 0x20 0x00 0010 0000 0000 0000 // 0x40 0x00 0100 0000 0000 0000 // 0x80 0x00 1000 0000 0000 0000 // // 0x14 0x00 Cell Over Voltage + 0001 0100 0000 0000 // Cell count is not equal to settings // 0x04 0x08 Cell Undervoltage + 0000 0100 0000 1000 // Cell count is not equal to settings // 138 2 0x00 0x00 Balance current 0.001 A // 140 1 0x00 Balancing action 0x00: Off // 0x01: Charging balancer // 0x02: Discharging balancer // 141 1 0x54 State of charge in 1.0 % // 142 4 0x8E 0x0B 0x01 0x00 Capacity_Remain 0.001 Ah // 146 4 0x68 0x3C 0x01 0x00 Nominal_Capacity 0.001 Ah // 150 4 0x00 0x00 0x00 0x00 Cycle_Count 1.0 // 154 4 0x3D 0x04 0x00 0x00 Cycle_Capacity 0.001 Ah // 158 2 0x64 0x00 Unknown158 // 160 2 0x79 0x04 Unknown160 (Cycle capacity?) // 162 4 0xCA 0x03 0x10 0x00 Total runtime in seconds s // 166 1 0x01 Charging switch enabled 0x00: off, 0x01: on // 167 1 0x01 Discharging switch enabled 0x00: off, 0x01: on // 168 1 0xAA Unknown168 // 169 2 0x06 0x00 Unknown169 // 171 2 0x00 0x00 Unknown171 // 173 2 0x00 0x00 Unknown173 // 175 2 0x00 0x00 Unknown175 // 177 2 0x00 0x00 Unknown177 // 179 2 0x00 0x00 Unknown179 // 181 2 0x00 0x07 Unknown181 // 183 2 0x00 0x01 Unknown183 // 185 2 0x00 0x00 Unknown185 // 187 2 0x00 0xD5 Unknown187 // 189 2 0x02 0x00 Unknown189 // 190 1 0x00 Unknown190 // 191 1 0x00 Balancer status (working: 0x01, idle: 0x00) // 192 1 0x00 Unknown192 // 193 2 0x00 0xAE Unknown193 // 195 2 0xD6 0x3B Unknown195 // 197 10 0x40 0x00 0x00 0x00 0x00 0x58 0xAA 0xFD 0xFF 0x00 // 207 7 0x00 0x00 0x01 0x00 0x02 0x00 0x00 // 214 4 0xEC 0xE6 0x4F 0x00 Uptime 100ms // // 218 81 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 // 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 // 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 // 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 // 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 // 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 // 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 // 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 // 0x00 // 299 1 0xCD CRC
Für alle die noch Probleme beim Flashen haben, habe ich Bilder vom Kabel und den Einstellungen des Download-Tools gemacht.
Wenn es Probleme gibt, würde ich als erstes die Spannungsversorgung und das Kabel anschauen.
Welchen rs232 > TTL Wandler hast du?
RX/TX richtig verbunden?
Wie ist die Versorgungsspannung?
Python ist installiert?
Ich hätte Interesse und würde mich auch gerne an den Tests beteiligen. Oder wie bekomme ich mehr als 3 JK-BMS in die Überwachung, mein derzeitiger Endausbau wären 7 BMS. Ich bin relativ naiv davon ausgegangen 3x seriell + 4x bluetoth (auch wenn mir eine Kabelverbindung lieber gewesen wäre)
Da ich kein eigenes JK-BMS habe, sehe ich die Implementierung ohne Unterstützung als schwierig an. Denn wenn ich etwas implementiere, muss es stabil laufen. Für mich ist z.B. ein sporadischer oder gewollter Neustart des ESP, weil das JK scheinbar keine Verbindung mehr aufbauen will, nicht akzeptabel. Dazu muss ich genau wissen, wie der Verbindungsaufbau etc. abläuft. Wenn mich jemand unterstützen kann, indem er mir ein paar Bluetooth HCI Logs beim Verbinden etc. der Android App mit dem BMS zur Verfügung stellt, dann kann ich das BMS schon implementieren. Ich werde es nicht einfach durch Kopieren und Einfügen von anderem Code implementieren.
Eine weitere Möglichkeit, mehr als 3 serielle BMS zu verbinden, ist die Kaskadierung des BSC. Der BSC hat einen Erweiterungsport. Hier war meine Idee, mehrere BSCs zu verbinden, um die Anzahl der seriellen Ports zu erhöhen. Ein BSC wäre praktisch der Master, die anderen wären dann Slaves und würden nur Daten an den Master liefern, der dann die Wifi Verbindung, MQTT und die Überwachungslogik abwickelt. Aber das ist alles noch nicht realisiert. Alles hängt vom Interesse ab. Ich würde auf jeden Fall einer Kabelverbindung immer den Vorzug vor BT geben.