3
\$\begingroup\$

I am about to obtain BYD B-Box LV Residential battery for my off-grid solar system. The inverter I have is not on the list of compatible ones, which means (according to my local battery supplier) that the battery will simply refuse to run unless we connect it to a specially programmed device like Venux GX which will trick the BMS into thinking that it is connected to a compatible inverter. The interface is CAN/RS485.

Now my idea is to use a laptop instead of Venux GX for these reasons:

  • Venux GX would not be connected to the inverter, therefore it will not have chances to react (e.g. change voltage) exactly/when the BMS wants (although the inverter can be programmed on its own, this is less than ideal). At the same time, the inverter can be controlled from PC via serial port so I would like to write a program that would coordinate the inverter and BMS to co-work nicely;
  • I want to learn how to program this kind of stuff (I am a software engineer but never worked with microcontrollers before).

So, the question is about where/how to approach this task. I assume that I will need to obtain:

  • Some sort of adapter from CAN/RS485 to USB?
  • Some software/frameworks/languages handy to program communications over CAN/RS485?
  • Any other gotchas a newbie would be advised to know?
\$\endgroup\$
7
  • \$\begingroup\$ trick the BMS into thinking that it is connected to a compatible inverter ... how does the Venus GX do that? .... do you have the information \$\endgroup\$
    – jsotola
    Commented May 20, 2018 at 23:55
  • \$\begingroup\$ @jsotola My local battery supplier knows how to program Venus to do that. I have no idea just yet but they are offering me to sell the battery and Venus programmed to work with it. \$\endgroup\$
    – Greendrake
    Commented May 20, 2018 at 23:59
  • 1
    \$\begingroup\$ i am sure that your battery supplier does not know how the Venus GX communicates to the BMS ..... you need to know that information before you can replace the VenusGX with your own device (your laptop) \$\endgroup\$
    – jsotola
    Commented May 21, 2018 at 0:16
  • \$\begingroup\$ @jsotola Well, the supplier claims they know and they will let me know if I buy from them. So let's assume I know how they communicate for the purpose of this question. \$\endgroup\$
    – Greendrake
    Commented May 21, 2018 at 0:21
  • 1
    \$\begingroup\$ You will need to know which protocol the BMS is using or there's nothing you can do, save for trying to reverse-engineer it, which is not a newbie task. Other than that, you may or may not be able to use adapters and a laptop, depending on the real-time requirements. As a rule of thumb, forget about using PC if you need faster response time than 10ms. As for adapters, there's plenty of manufacturers, depending on if you need CAN or RS485. \$\endgroup\$
    – Lundin
    Commented May 22, 2018 at 9:43

4 Answers 4

2
\$\begingroup\$

I know this is a few years too late but for future readers the overall concept here is very, very dangerous. The reason BYD requires communication is because in the event of an error, the BMS needs to be able to shut down the inverters without simply pulling the plug. This keeps the inverter IC on but the output at 0W. Furthermore, the BMS needs to be able to control the charge and discharge parameters in realtime. Removing this ability is paramount to throwing away your warranty and shortening your battery lifespan significantly. Not to mention any headaches/under-voltage/over-voltage shutdowns a person will encounter.

\$\endgroup\$
1
\$\begingroup\$

A search for "Victron and byd" and you'll find a Victron document on configuring and connecting the Venus/ccgx to the byd bmu. It is suspect this is the extent to which your battery supplier claims to know how the two communicate - which gives you nothing except the CAN H/L pinout and the baud rate.

Speculating as someone who as yet knows nothing (I'd like to investigate whether the some of the history data can be collected for the VenusOS software.)

\$\endgroup\$
1
\$\begingroup\$

The Venus OS that runs on the Venux GX is (partially) open source and you can download images for Raspberry Pi and Beagle Bone. If you can find a USB - CAN adapter and configure it to show up as a serial port it may be possible to get it to talk to the BYD BMU.

From what I know the Venus OS is sending a heartbeat command to the BMU frequently to stop it shutting down.

\$\endgroup\$
0
\$\begingroup\$

Try this: https://nocache.victronenergy.com/upload/documents/Manual-CANUSB-EN.pdf

perhaps it can help or point you in the right direction.

\$\endgroup\$
1
  • \$\begingroup\$ Welcome to EE . Link only answers are discouraged as the target of the link sometimes goes away. You may want to include the main points in your answer. \$\endgroup\$
    – RoyC
    Commented Nov 16, 2018 at 14:33

Not the answer you're looking for? Browse other questions tagged or ask your own question.