Chevrolet Volt Charger
This unit is CAN controlled also. It is actually two chargers in one box. One module charges 12V battery up to 30A worth. Second module is HV charger and it can operate from 200V up to 420Vdc. Usually it provides 8A for charging the main battery.
First we need to connect to 12V battery. Second connector provides control voltage and interlock in case of EVSE malfunction. Note charger has two CAN bus lines. We only utilise the first one as seen from the sketch. Drawn is connector from charger side.
The Lear operates CAN at 500Kbps.
Select which of the charger modules you wish to operate. Only one msg is sent for heartbeat, do not send all three messages!
Address DLC Data0 Data1 Data2 Data3
0x30E 1 0x01 Turn on aux12vdc
0x30E 1 0x02 Turn on HV Charging
0x30E 1 0x03 Turn on aux12vdc and turn on HV Charging
This message is sent at 30ms interval
Then send command line.
0x304 4 0x40 0xA0 0x03 0x20 Charge at 8amps to 400.0vdc
This is sent at 500ms interval
Address 0x304 Data0 is an unknown at present, but seem to be 40 or 48 in the Volt.
Address 0x304 Data1 is the current commanded, convert to decimal and divide by 20.
Address 0x304 Data2 first 2 bits are MSB of the voltage command.
Address 0x304 Data3 byte is the LSB of the voltage command. Then MSB LSB is divided by 2.
Data1 is A0(hex) which is 160 decimal. Divided by 20 is 8 and that is the commanded current.
Data2 is 03(hex) and Data3 is 20(hex) which is 0320(hex) equals 800(decimal) divided by 2 is 400vdc.
Charging at 10A and to 410V
0x304 4 0x40 0xC8 0x03 0x34
Current measurement is in returned message 0x212 data byte0 and data byte1 as a 16 bit integer, then divide that by 158 to read actual output current.
Charger really needs liquid cooling as it gets hot quickly when charging at 8A.