Volvo V60 battery pack

User avatar
manny
Posts: 8
Joined: Sun Jan 23, 2022 4:15 pm
Location: Netherlands

Re: Volvo V60 battery pack

Post by manny »

Does anyone have a can log from a charging battery ?

Thanks Manny
User avatar
FJ3422
Posts: 112
Joined: Fri Jul 10, 2020 9:55 am
Location: Netherlands

Re: Volvo V60 battery pack

Post by FJ3422 »

manny wrote: Fri Jan 28, 2022 7:12 am Did you found out how the ballancing works?
If so can you tell me how it works.
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.
User avatar
manny
Posts: 8
Joined: Sun Jan 23, 2022 4:15 pm
Location: Netherlands

Re: Volvo V60 battery pack

Post by manny »

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
User avatar
manny
Posts: 8
Joined: Sun Jan 23, 2022 4:15 pm
Location: Netherlands

Re: Volvo V60 battery pack

Post by manny »

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.
User avatar
FJ3422
Posts: 112
Joined: Fri Jul 10, 2020 9:55 am
Location: Netherlands

Re: Volvo V60 battery pack

Post by FJ3422 »

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.
User avatar
manny
Posts: 8
Joined: Sun Jan 23, 2022 4:15 pm
Location: Netherlands

Re: Volvo V60 battery pack

Post by manny »

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
User avatar
Peter
Posts: 237
Joined: Fri Dec 14, 2018 9:07 pm
Location: North West Lancs, UK

Re: Volvo V60 battery pack

Post by Peter »

Hi Manny. Would it be possible to have a copy of your Arduino software to test please? Thanks. Peter
User avatar
FJ3422
Posts: 112
Joined: Fri Jul 10, 2020 9:55 am
Location: Netherlands

Re: Volvo V60 battery pack

Post by FJ3422 »

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 ?
User avatar
manny
Posts: 8
Joined: Sun Jan 23, 2022 4:15 pm
Location: Netherlands

Re: Volvo V60 battery pack

Post by manny »

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
User avatar
Kutato72
Posts: 12
Joined: Sat Mar 12, 2022 8:03 pm
Location: Hungary, Tata
Contact:

Re: Volvo V60 battery pack

Post by Kutato72 »

I just wrote my own code to make it work. For balancing, the 0x1C control packet must be sent maximum every 2000 msec. The authorization signal is the 0x22 packet, which must be sent every 450 msec at most. But the balancing itself is started by the query packet 0x17, but in pulses, so it is worth issuing it frequently. The 4th pin in the connector is not needed, nor is it connected to my device.
User avatar
victor_norberg
Posts: 7
Joined: Wed Mar 11, 2020 7:07 am
Location: Stockholm, Sweden
Contact:

Re: Volvo V60 battery pack

Post by victor_norberg »

Very nice work with the CAN messages fellers.

Im sitting on a complete V60 battery like this. 20k km on it.

Open to sell if someone would be interested in it.
Building foiling boats in Stockholm. Elcat Electric Car & Other projects.
Post Reply