โก ๐
BYD-Battery-Emulator-For-Gen24 This software enables EV battery packs to be used for stationary storage in combination with solar inverters. It achieves this by converting EV battery CAN data into Modbus RTU registers, that emulate a BYD 11kWh HVM battery. This makes it extremely easy to use EV batteries in a true plug'n'play fashion.
๐
Hardware requirements This code fits on the LilyGo ESP32 T-CAN485 devboard , see https://github.com/Xinyuan-LilyGO/T-CAN485
You will also need a complete EV battery. See the battery compability list on which are supported.
Finally, you will need a hybrid solar inverter that accepts the BYD battery communication standard, for example the Fronius Gen24
๐ช
Installation basics - Connect one end of the LilyGo RS485 to the Gen24 Modbus
- Connect the other end of the LilyGo to the CAN side of the battery
- Wire up high voltage cable between the Gen24 and the battery
- Add a 12V power source to power the LilyGo and the battery (uninterruptible PSU or 12V lead acid recommended in parallel)
- Some batteries need manual pre-charge circuit and positive/negative contactor control. Others are automatic. See the wiki for more info.
- Enjoy a big cheap grid connected battery!
๐ก
Wiring example, LEAF battery Here's how to wire up the communication between the components.
Here's how to connect the high voltage lines
Here's how to wire up battery low voltage wiring
For more examples showing wiring, see the Example#####.jpg pictures in the 'Images' folder https://github.com/dalathegreat/BYD-Battery-Emulator-For-Gen24/tree/main/Images
๐ป
How to compile the software - Download the Arduino IDE: https://www.arduino.cc/en/software
- When the Arduino IDE has been started; Click "File" in the upper left corner -> Preferences -> Additional Development >Board Manager URL -> Enter the URL in the input box https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Go to "Boards Manager", and install the ESP32 package by Espressif Systems
- The arduino settings should be set to "ESP32 Dev Module" with the following settings;
- Select which battery type you will use, along with other optional settings
- Press Verify and Upload to send the sketch to the board.
๐
Dependencies This code uses two libraries, ESP32-Arduino-CAN (https://github.com/miwagner/ESP32-Arduino-CAN/) slightly modified for this usecase, and the eModbus library (https://github.com/eModbus/eModbus). Both these are already located in the Software folder for an easy start.
It is also based on the info found in the following excellent repositories:
- https://gitlab.com/pelle8/gen24
- https://github.com/burra/byd_battery
- https://github.com/flodorn/TeslaBMSV2
- https://github.com/SunshadeCorp/can-service
๐
Like this project? Leave a