What we need to do is set BattCur and power to the sum of both batteries.
The parameters BMS_ChargeLim, BMS_MaxInput and BMS_MaxOutput will be 75% of the sum of both batteries, unless there is a difference of more than 75% between the 2 batteries, in which case set the parameter to the lowest value of either battery. If any of the batteries reports a 0 limit then the parameter would be set to 0. Hopefully that makes sense.
So onto the next step. how would we go about getting the ZV to talk to 2 Leaf BMSs on CAN1 and CAN2?
Code: Select all
void LeafDualBMS::SetCanInterface(CanHardware* can) {
can->RegisterUserMessage(0x1DB);//Leaf BMS message 10ms
can->RegisterUserMessage(0x1DC);//Leaf BMS message 10ms
can->RegisterUserMessage(0x55B);//Leaf BMS message 100ms
can->RegisterUserMessage(0x5BC);//Leaf BMS message 100ms (500ms on ZE0)
//can->RegisterUserMessage(0x5C0);//Leaf BMS message 500ms
//can->RegisterUserMessage(0x59E);//Leaf BMS message 500ms (Only on AZE0)
can->RegisterUserMessage(0x1C2);//Leaf BMS message 10ms (ZE1)
can->RegisterUserMessage(0x1ED);//Leaf BMS message 10ms (ZE1, only on 62kWh)
}
Would the same idea work for the next section? This
Code: Select all
void LeafDualBMS::DecodeCAN(int id, uint8_t * data) {Code: Select all
void LeafDualBMS::DecodeCAN(int 0, uint8_t * data) {Code: Select all
void LeafDualBMS::DecodeCAN(int 1, uint8_t * data) {Thanks in advance for any ideas on how to implement this.