I have a 96s battery that I want to monitor and balance using Flying ADC BMS. I'm using 6 boards from OI shop and have them chained together using CAN.
BMS is connected to vehicle CAN in a BMW e39 and because there is BMW DSC message with 0x1F5 id, I would like to change default master pdobase id to 0x1E4 because default BMS address for submodule 1 is 0x1F5.
Problem is that pdobase parameter change on master board is not persisted after changing it with oic write and repowering BMS board.
I'm using RPi5 with SocketCAN and oic tool connected to CAN using Kvaser Leaf Lite HS v2 adapter.
CAN communication is working great.
Here is output of oic scan command:
I'm changing address on nodeId 10 - that should be master board.
Code: Select all
Scanning for devices. Please wait...
Found possible openinverter node: 118
Found possible openinverter node: 121
Found possible openinverter node: 117
Found possible openinverter node: 116
Found possible openinverter node: 119
Found possible openinverter node: 120
Found possible openinverter node: 122
Found possible openinverter node: 10
Found possible openinverter node: 11
Found possible openinverter node: 12
Found possible openinverter node: 13
Found possible openinverter node: 14
Found possible openinverter node: 15
oic -n 10 write pdobase 448
oic -n 10 pdobase
Code: Select all
pdobase : 448 []
Code: Select all
pdobase : 500 []
I would like to do this before connecting BMS to the battery and I appreciate any insights or suggestions you might have.
Thank you in advance for your help!