Does anyone have a can log from a charging battery ?
Thanks Manny
Volvo V60 battery pack
Re: Volvo V60 battery pack
Yes, I got it working but unfortunately didn't fully document it. If I remember correctly; module addressing for balancing is in the sample code (shared earlier in this topic), arangement of cell-bits still has to be done. Will check my paper notes. It was quite similar to the Chevy Volt way, but with cell balancing bits arranged differently.
Re: Volvo V60 battery pack
The can bus message is 0x1C;
First byte:
The addresses are 0x19 , 0x1A, 0x1B, ....
And the two bytes following are the bits for balancing.
I will try this
First byte:
The addresses are 0x19 , 0x1A, 0x1B, ....
And the two bytes following are the bits for balancing.
I will try this
Re: Volvo V60 battery pack
So have bin doing some testing. but a am unable to trigger the balancing.
so if anyone has some info on this i would love to know.
Manny.
so if anyone has some info on this i would love to know.
Manny.
Re: Volvo V60 battery pack
Checked my notes again; it really should be the 0x01C telegram,3 bytes long, 100ms rate.
- First byte: Module to balance (19,1A, 1B, 1C, 1D etc.) My note also says that 'FF' triggers all the modules to react. Original BMS-master cycles every 100ms to the next module, so the a triggered balancing will stay on for at least 1000ms.
- Second byte: Cell 1...8 balance command
- Third byte: Two LSB bits -> Cell 9..10 balance command
No checksum or whatever needed, balancing can be triggered with for example PCAN-View.
If I remember correctly, in one of the broadcast telegrams of the slaves they report which balancing resistors are active. There is a limit on the amount of active balancing resistors (dissipation limit), so sending FF FF FF might react different as expected : -)
Alternatively you could use an infared thermometer; that will indicate a temperature rise on an active balancing resistors within seconds.
- First byte: Module to balance (19,1A, 1B, 1C, 1D etc.) My note also says that 'FF' triggers all the modules to react. Original BMS-master cycles every 100ms to the next module, so the a triggered balancing will stay on for at least 1000ms.
- Second byte: Cell 1...8 balance command
- Third byte: Two LSB bits -> Cell 9..10 balance command
No checksum or whatever needed, balancing can be triggered with for example PCAN-View.
If I remember correctly, in one of the broadcast telegrams of the slaves they report which balancing resistors are active. There is a limit on the amount of active balancing resistors (dissipation limit), so sending FF FF FF might react different as expected : -)
Alternatively you could use an infared thermometer; that will indicate a temperature rise on an active balancing resistors within seconds.
Re: Volvo V60 battery pack
still on luck,
my test set up:
have one module on the workbench. A Arduino with a can interface is sending the can commands. I am able to read the cell voltages and temp sensors. savvy can to see the can traffic.
balance command:
address : 0x1C
byte 1 : 0x19, 0x1A, 0x1B,0x23, 0x22,0x21,0x29,0x2A,0x2B,0x33
byte 2 : 0x01
byte 3 : 0x00
byte 1 is cycling though the addresses.
I use a thermal camera to check the balancing.
do i need other connections to the module?
do i need all modules?
is there a enable balancing can command?
thanks for the advice
Manny
my test set up:
have one module on the workbench. A Arduino with a can interface is sending the can commands. I am able to read the cell voltages and temp sensors. savvy can to see the can traffic.
balance command:
address : 0x1C
byte 1 : 0x19, 0x1A, 0x1B,0x23, 0x22,0x21,0x29,0x2A,0x2B,0x33
byte 2 : 0x01
byte 3 : 0x00
byte 1 is cycling though the addresses.
I use a thermal camera to check the balancing.
do i need other connections to the module?
do i need all modules?
is there a enable balancing can command?
thanks for the advice
Manny
Re: Volvo V60 battery pack
Hi Manny. Would it be possible to have a copy of your Arduino software to test please? Thanks. Peter
Re: Volvo V60 battery pack
Are you just sending the 0x1C, or together with the other commands for reading the cell voltages/temperatures ?
- 0x16h (1byte, 100ms rate) requests specific slaves to report cell voltages (1Ah with incomplete pack, 1Bh when 10 modules connected)
- 0X17h (1byte, 100ms rate) requests all slaves to report cell voltages (00-10-20-30-40-50-60-70-80-90-A0-B0-C0-D0-E0-F0 cycle)
- 0X1Ah (1byte, 100ms rate) requests specific slave to report temperatures (1Ah with incomplete pack, 1Bh when 10 modules connected)
- 0x1Bh(1byte, 100ms rate) requests all slaves to report temperatures (00-10-20-30-40-50-60-70-80-90-A0-B0-C0-D0-E0-F0 cycle)
- 0x1Fh (2bytes, 100ms rate) request some other status messages.
I tested this with a complete pack and the original cable loom; There is a dasiy-chained IO-wire between all modules, that might be some error signal (Pin 4 = Digital input (internally 50K pulled up)). Maybe connect that wire to GND ?
- 0x16h (1byte, 100ms rate) requests specific slaves to report cell voltages (1Ah with incomplete pack, 1Bh when 10 modules connected)
- 0X17h (1byte, 100ms rate) requests all slaves to report cell voltages (00-10-20-30-40-50-60-70-80-90-A0-B0-C0-D0-E0-F0 cycle)
- 0X1Ah (1byte, 100ms rate) requests specific slave to report temperatures (1Ah with incomplete pack, 1Bh when 10 modules connected)
- 0x1Bh(1byte, 100ms rate) requests all slaves to report temperatures (00-10-20-30-40-50-60-70-80-90-A0-B0-C0-D0-E0-F0 cycle)
- 0x1Fh (2bytes, 100ms rate) request some other status messages.
I tested this with a complete pack and the original cable loom; There is a dasiy-chained IO-wire between all modules, that might be some error signal (Pin 4 = Digital input (internally 50K pulled up)). Maybe connect that wire to GND ?
Re: Volvo V60 battery pack
hi,
the 0x16h and 0x1Ah are new to me. will add it to the code. and see if it helps.
i am sending the 0x17, 0x1B, 0x1F and the 0x1C
the 0x1F message two bytes 0xFF and a counter.
the 0x16h and 0x1Ah are not in the log i made from the other complete pack I have.
thanks
the 0x16h and 0x1Ah are new to me. will add it to the code. and see if it helps.
i am sending the 0x17, 0x1B, 0x1F and the 0x1C
the 0x1F message two bytes 0xFF and a counter.
the 0x16h and 0x1Ah are not in the log i made from the other complete pack I have.
thanks