Site Tools


en:tech:jkbmscan

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:tech:jkbmscan [2024/05/12 06:38] bullaren:tech:jkbmscan [2026/08/12 12:15] (current) – external edit 127.0.0.1
Line 14: Line 14:
 <WRAP group> <WRAP group>
 <WRAP half column> <WRAP half column>
-{{ :en:tech:growatt.jpeg?direct&400|Supported protocols}}+{{ :media:tech:jkbmscan:growatt.jpeg?direct&400|Supported protocols}}
 </WRAP> </WRAP>
 <WRAP half column> <WRAP half column>
-{{:en:tech:lithium_battery_communication_and_setting.png?direct&400 |Connection}}+{{:media:tech:jkbmscan:lithium_battery_communication_and_setting.png?direct&400 |Connection}}
 </WRAP> </WRAP>
 </WRAP> </WRAP>
  
-Unfortunately the battery manufacturer use own proprietary protocols. At least the protocol from {{https://en.pylontech.com.cn|PYLONTECH}} can be easily found in the internet (see [[en:tech:jkbmscan#downloads|download area]]). For GROWATT it's the protocol setup ''CAN L52 (Protocol)''+Unfortunately the battery manufacturer use own proprietary protocols. At least the protocol from [[https://en.pylontech.com.cn|PYLONTECH]] can be easily found in the internet (see [[en:tech:jkbmscan#downloads|download area]]). For GROWATT it's the protocol setup ''CAN L52 (Protocol)''
  
 ==== BMS ==== ==== BMS ====
  
 The BMS B2A245-20P documentation describes a CAN interface but it's only optional (can be customised). But a RS485 interface is standard named //GPS//. In fact it's a serial interface with 3.3V level shifter inside and MODBUS protocol. The BMS B2A245-20P documentation describes a CAN interface but it's only optional (can be customised). But a RS485 interface is standard named //GPS//. In fact it's a serial interface with 3.3V level shifter inside and MODBUS protocol.
-{{ :en:tech:screenshot_2024-05-12_at_09.22.33.png?direct&400 |JKBMS interfaces}}. <WRAP center important 40%>+{{ :media:tech:jkbmscan:screenshot_2024-05-12_at_09.22.33.png?direct&400 |JKBMS interfaces}}. <WRAP center important 40%>
 CAUTION: The power pin VCC at RS485/GPS connector is VBAT. That means we will see a voltage of 45-58V (=battery voltage) at this terminal. CAUTION: The power pin VCC at RS485/GPS connector is VBAT. That means we will see a voltage of 45-58V (=battery voltage) at this terminal.
 </WRAP> </WRAP>
Line 38: Line 38:
 A lot of clever makers have already challenged this task. A lot of clever makers have already challenged this task.
 Here an incomplete list: Here an incomplete list:
-  * {{https://github.com/Uksa007/esphome-jk-bms-can|esphome-jk-bms-can}} +  * [[https://github.com/Uksa007/esphome-jk-bms-can|esphome-jk-bms-can]] 
-  * {{https://github.com/syssi/esphome-jk-bms|esphome-jk-bms}} +  * [[https://github.com/syssi/esphome-jk-bms|esphome-jk-bms]] 
-  * {{https://github.com/Sleeper85/esphome-jk-bms-can|JK-BMS-CAN}} +  * [[https://github.com/Sleeper85/esphome-jk-bms-can|JK-BMS-CAN]] 
-  * {{https://github.com/ArminJo/JK-BMSToPylontechCAN|Arduino JK-BMS To Pylontech CAN Protocol Converter}} +  * [[https://github.com/ArminJo/JK-BMSToPylontechCAN|Arduino JK-BMS To Pylontech CAN Protocol Converter]] 
-  * {{https://github.com/maxx-ukoo/jk-bms2pylontech|JKBMS to Pylontech protocol converter}}+  * [[https://github.com/maxx-ukoo/jk-bms2pylontech|JKBMS to Pylontech protocol converter]]
  
-As I use {{https://www.home-assistant.io Home Assistant|Home Assistant}} for my home automation I preferred a {{https://esphome.io|ESPHome}} solution from {{https://github.com/Sleeper85/esphome-jk-bms-can|Sleeper85}}. But because I am an enthusiast of compact solutions I designed my own PCB and case.+As I use [[https://www.home-assistant.io Home Assistant|Home Assistant]] for my home automation I preferred a [[https://esphome.io|ESPHome]] solution from [[https://github.com/Sleeper85/esphome-jk-bms-can|Sleeper85]]. But because I am an enthusiast of compact solutions I designed my own PCB and case.
 ===== Hardware ===== ===== Hardware =====
  
Line 64: Line 64:
  
 The converter should be always powered (as the BMS) to avoid dead locks. Therefore I like to use VBAT as power source. The converter should be always powered (as the BMS) to avoid dead locks. Therefore I like to use VBAT as power source.
-The power supply is based on a XL7015 Buck DC to DC Converter (0.8A 150KHz 80V) from {{https://www.xlsemi.com|XLSEMI}}. The 5V output voltage can be defined by two resistors (R1/R2). The CAN interface is implemented by well-known TJA1050 from {{https://www.nxp.com/docs/en/data-sheet/TJA1050.pdf|NXP}} and a standard RJ45 plug. The heart of the converter is a 38-pin ESP32-DEVKIT.+The power supply is based on a XL7015 Buck DC to DC Converter (0.8A 150KHz 80V) from [[https://www.xlsemi.com|XLSEMI]]. The 5V output voltage can be defined by two resistors (R1/R2). The CAN interface is implemented by well-known TJA1050 from [[https://www.nxp.com/docs/en/data-sheet/TJA1050.pdf|NXP]] and a standard RJ45 plug. The heart of the converter is a 38-pin ESP32-DEVKIT.
  
 <WRAP group> <WRAP group>
 <WRAP half column> <WRAP half column>
-{{ en:tech:jk-bms-can-sch.png?direct&400|Schematic}}+{{ media:tech:jkbmscan:jk-bms-can-sch.png?direct&400|Schematic}}
 </WRAP> </WRAP>
 <WRAP half column> <WRAP half column>
-{{{{:en:tech:jk-bms-can-pcb.png?direct&400 |PCB}}+{{{{:media:tech:jkbmscan:jk-bms-can-pcb.png?direct&400 |PCB}}
 </WRAP> </WRAP>
 </WRAP> </WRAP>
Line 77: Line 77:
 The final module in my 3D-printed case. The corresponding STL file is also attached in [[en:tech:jkbmscan#downloads|download area]]. The final module in my 3D-printed case. The corresponding STL file is also attached in [[en:tech:jkbmscan#downloads|download area]].
  
-{{ :en:tech:jk-bms-can-all.jpg?direct&400 |The final module}}+{{ :media:tech:jkbmscan:jk-bms-can-all.jpg?direct&400 |The final module}}
  
 ===== Software ===== ===== Software =====
  
-As mentioned the software is based on {{https://github.com/Sleeper85/esphome-jk-bms-can|ESPHome JK-BMS-CAN}}. I did only some slight modifications at the CAN protocol data.+As mentioned the software is based on [[https://github.com/Sleeper85/esphome-jk-bms-can|ESPHome JK-BMS-CAN]]. I did only some slight modifications at the CAN protocol data.
  
 ++++ jk-bms-can.yaml | ++++ jk-bms-can.yaml |
Line 1379: Line 1379:
 This converter is now running since Aug-2023 without any issues. The live data in [[https://www.home-assistant.io|Home Assistant]]: This converter is now running since Aug-2023 without any issues. The live data in [[https://www.home-assistant.io|Home Assistant]]:
  
-{{ :en:tech:bms_live_data.png?direct&800 |BMS data shown in Home Assistant}} +{{ :media:tech:jkbmscan:bms_live_data.png?direct&800 |BMS data shown in Home Assistant}} 
 =====Downloads===== =====Downloads=====
-  * {{:en:tech:can-bus-protocol-pylon-low-voltage-v1.2-20180408_2.pdf}} PYLON CANBUS Protocol V1.2 +  * {{:media:tech:jkbmscan:can-bus-protocol-pylon-low-voltage-v1.2-20180408_2.pdf}} PYLON CANBUS Protocol V1.2 
-  * {{:en:tech:jkbms_protocoll_gps.pdf}} JKBMS serial protocol +  * {{:media:tech:jkbmscan:jkbms_protocoll_gps.pdf}} JKBMS serial protocol 
-  * {{:en:tech:jk-bms-can_sch.pdf}} Schematic +  * {{:media:tech:jkbmscan:jk-bms-can_sch.pdf}} Schematic 
-  * {{:en:tech:jk-bms-can_pcb.pdf}} PCB +  * {{:media:tech:jkbmscan:jk-bms-can_pcb.pdf}} PCB 
-  * {{:en:tech:jk-bms-can.brd.zip}} EAGLE brd file +  * {{:media:tech:jkbmscan:jk-bms-can.brd.zip}} EAGLE brd file 
-  * {{:en:tech:jk-bms-can_bom.txt.zip}} BOM +  * {{:media:tech:jkbmscan:jk-bms-can_bom.txt.zip}} BOM 
-  * {{:en:tech:jk-bms-can_case.stl.zip}} STL file+  * {{:media:tech:jkbmscan:jk-bms-can_case.stl.zip}} STL file
  
 =====Links===== =====Links=====
    * [[https://www.home-assistant.io]] Home Assistant    * [[https://www.home-assistant.io]] Home Assistant
    * [[https://esphome.io]] ESPHome    * [[https://esphome.io]] ESPHome
-   * [[https://airbnb.com/h/villarollokohsamui]] You can spend your holidays with us...+   * [[https://airbnb.com/h/villarollokohsamui]] You can spend your holidays at our home in Thailand...
  
 ===== Donate ===== ===== Donate =====
en/tech/jkbmscan.1715495912.txt.gz · Last modified: by bullar