Joined
·
14,251 Posts
(See later in the thread for the G2 Insight, Nimh CR-Z, Jazz, HCH1, early Accord etc)
The HCH2 Civic has always had a problem with eating the battery packs.
A way of safely monitoring the voltage taps would be very nice to help identify weak sticks and the like.
Up to now we have had to use an HDS or special CAN device to request tap data via the OBDII port.
It's was not easy to get and IIRC? the data was only displayed to one decimal place or 0.1V
People have used multiple crude voltmeters, but that is not elegant or very safe.
So looking inside the HCH2 BCM we can see it has an isolated tap sensing HV section with it's own CPU and a simple opto isolator connecting it to the LV side.
Suspecting it was simple serial data stream being sent I grabbed some captures from the middle output pin of the opto!
Hey presto! Now we have an OBDIIC&C based device that can simply piggy back onto this safe LV side of the opto and gather the 5V logic voltage tap data.
It's basically 25 bytes 31250,9,O,1 format packets. Weird baud rate but that's what the shortest bit length says.
We have a two byte rotating header $80,$52 or $C0,$52 and then 22 bytes of voltage data and a final checksum.
In this example packet below the header is $80,$52. The checksum is $43.
The two bytes that make up each tap voltage have the high byte and the bottom nibble of the low byte combined to form 12bits of data.
If we take (Voltage Tap 1) VHB0 the first part high byte $5E and low byte $05 low nibble $5 we get $5E5 = DEC 1509 = 15.09V
This is the voltage between VHB1 (negative) and VHB0 (positive)
VHB0 is the positive high end of the pack. VHB12 is the negative low end of the pack.
POS -------- VHB0 ---- VHB1 ------ VHB2 ----- VHB3 ----- VHB4 ----- VHB5 -- VHB6 & 7 -- VHB8 ---- VHB9 ---- VHB10 --- VHB11 - NEGATIVE VHB12
$80,$52,-- ($5E,$05),($5E,$0D),($5E,$06),($5E,$0E),($5E,$03),($5E,$0D),($5E,$05),($5E,$0D),($5E,$05),($5E,$0E),($5E,$06),$43
Note VHB6 and VHB7 are directly connected internally via the battery main switch when it is on.
So in effect they are the same connection but provide continuity for voltage sensing on the taps either side of the switch when it is off.
The operating sensing range of each voltage tap is about 0.5V to 20.15V
Resolution is to two decimal places with accuracy of about +/-10mv or so.
There is a full 25byte serial data packet sent every 15ms.
That is about a 66hz refresh rate if you wanted maximum speed for logging the tap data etc.
So you can simply make a 5V serial reception device using your favourite cpu/PIC/Arduino etc
Power it from the LV side of the BCM and with three simple connections +5V or +12V, GND and 5V Logic serial input you can have a dash mounted tap monitor.
In the video I also show/discuss the 11 x 10k 0.1% tolerance resistor matrix divider (BCM Fooler) for simulating perfectly balanced battery taps.
With a pre-resistor (inserted where the screw terminal jumper wire is) the voltage the BCM sees can be turned down to whatever we like...
i.e A 250V Battery can become 200V as far as the BCM is concerned. This is for voltage hacking the HCH2 system in my CR-Z project.
Now to build and install a little serial fooling gadget into the BCM itself..
The HCH2 Civic has always had a problem with eating the battery packs.
A way of safely monitoring the voltage taps would be very nice to help identify weak sticks and the like.
Up to now we have had to use an HDS or special CAN device to request tap data via the OBDII port.
It's was not easy to get and IIRC? the data was only displayed to one decimal place or 0.1V
People have used multiple crude voltmeters, but that is not elegant or very safe.
So looking inside the HCH2 BCM we can see it has an isolated tap sensing HV section with it's own CPU and a simple opto isolator connecting it to the LV side.
Suspecting it was simple serial data stream being sent I grabbed some captures from the middle output pin of the opto!
Hey presto! Now we have an OBDIIC&C based device that can simply piggy back onto this safe LV side of the opto and gather the 5V logic voltage tap data.
It's basically 25 bytes 31250,9,O,1 format packets. Weird baud rate but that's what the shortest bit length says.
We have a two byte rotating header $80,$52 or $C0,$52 and then 22 bytes of voltage data and a final checksum.
In this example packet below the header is $80,$52. The checksum is $43.
The two bytes that make up each tap voltage have the high byte and the bottom nibble of the low byte combined to form 12bits of data.
If we take (Voltage Tap 1) VHB0 the first part high byte $5E and low byte $05 low nibble $5 we get $5E5 = DEC 1509 = 15.09V
This is the voltage between VHB1 (negative) and VHB0 (positive)
VHB0 is the positive high end of the pack. VHB12 is the negative low end of the pack.
POS -------- VHB0 ---- VHB1 ------ VHB2 ----- VHB3 ----- VHB4 ----- VHB5 -- VHB6 & 7 -- VHB8 ---- VHB9 ---- VHB10 --- VHB11 - NEGATIVE VHB12
$80,$52,-- ($5E,$05),($5E,$0D),($5E,$06),($5E,$0E),($5E,$03),($5E,$0D),($5E,$05),($5E,$0D),($5E,$05),($5E,$0E),($5E,$06),$43
Note VHB6 and VHB7 are directly connected internally via the battery main switch when it is on.
So in effect they are the same connection but provide continuity for voltage sensing on the taps either side of the switch when it is off.
The operating sensing range of each voltage tap is about 0.5V to 20.15V
Resolution is to two decimal places with accuracy of about +/-10mv or so.
There is a full 25byte serial data packet sent every 15ms.
That is about a 66hz refresh rate if you wanted maximum speed for logging the tap data etc.
So you can simply make a 5V serial reception device using your favourite cpu/PIC/Arduino etc
Power it from the LV side of the BCM and with three simple connections +5V or +12V, GND and 5V Logic serial input you can have a dash mounted tap monitor.
In the video I also show/discuss the 11 x 10k 0.1% tolerance resistor matrix divider (BCM Fooler) for simulating perfectly balanced battery taps.
With a pre-resistor (inserted where the screw terminal jumper wire is) the voltage the BCM sees can be turned down to whatever we like...
i.e A 250V Battery can become 200V as far as the BCM is concerned. This is for voltage hacking the HCH2 system in my CR-Z project.
Now to build and install a little serial fooling gadget into the BCM itself..