CMU CAN ‘spoofing’

Mitsubishi i-MiEV Forum

Help Support Mitsubishi i-MiEV Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Hi all, one more step made :)
connected Canbridge (only one port to see messages) in the CAN-Bat .
Read all messages, and only ID: 0x613 has many strange value as shown in the attached picture.
All other ID reported very stable value (+-1 digit of difference). This log was taken at zero load.
(the first number in the left is a "timestamp" manually added in the excel table)
1739804868058.png
 
Last edited:
Read all messages, and only ID: 0x613 has many strange value as shown in the attached picture.
Well done, what you see here is a typical (intermittent) CMU1 fault that can easily be fixed with the bridge.

Next step is to activate the second channel and send a ‘stable’ value on bytes 6&7, e.g. transmit the values of bytes 4&5 instead.
 
But... if i filter out only wrong messages, is it a problem or few message from these cells generate errors?
From what @alviseven reported, driving will tolerate a few ‘bad messages’ but charging stops immediately.

Trick is not to just filter for wrong data, the bridge in your case needs to be programmed to

A) receive every message from the CMUs on one channel
B) check if it’s coming from PID 0x613 and if not, immediately send it on to the BMU on the other channel
C) set bytes 6/7 (faulty cell 6) to the same as 4/5 (cell 5) for PID0x613 and only then transmit the data to the BMU
D) just forward data coming from the BMU to the CMUs
 
well, i'm thinking to try using @piev code, that store values from the good message and put them into the wrong message of same PID... i think this approach is best for safety , because it use the real voltage value of the cell...
 
well, i'm thinking to try using @piev code, that store values from the good message and put them into the wrong message of same PID... i think this approach is best for safety , because it use the real voltage value of the cell...
You need to have ‘good’ messages to do such a thing, only because it’s value is within the voltage range doesn’t necessarily mean it’s correct (certainly not in my case), but I can see where you’re coming from.

What worries me however, is that (IIRC) you measured the actual battery voltage dropping to a cell equivalent of about 2.5V under (a very moderate) load. Your ‘last known good’ error correction algorithm could interpret this drop as a false reading and essentially disable the car’s low voltage shutdown safety feature?
 
If the cell is actually in good health, but the issue is a faulty CMU channel, then this might work for a short trip to move the car to a workshop for inspection and repairs.

But if the cell is actually weak or in bad shape, then using this fake out could be risky and potentially dangerous.

If it were a temperature sensor then the risk is not so much, but faking out a cell voltage seems a wild risk.
 
If the cell is actually in good health, but the issue is a faulty CMU channel,
Agreed, only if you can (reasonably) determine the issue is caused by a CMU fault should you consider a ‘CAN bridge’ fix. This ‘hack’ is only ever meant be a temporary measure, the 'proper' way to resolve this, is to replace the faulty CMU or at least it's LTC chip..
But if the cell is actually weak or in bad shape, then using this fake out could be risky and potentially dangerous.
Post #22 shows that one cell’s voltage constantly fluctuates between three values (3.83, 3.39 and 2.1 V), in quick succession, without a load, imho this cannot be caused by a weak cell?
 
IT WORKS! :)
I had make a little test and seems that the car now is working!
Heather goes to maximum power, the car move forward and reverse with power.

I consider the cambridge solution only temporary, i want first of all see if this is the only problem of the car , and to find a garage that permit me to open the battery and repair the bad CMU. Non so easy in my country.

Now I want to fix the wiring and the can-bridge so that it is stable and safe, also on the software side, then I will try to do the charging both in AC and in Chademo.
If everything works then I take the car to the inspection required by law to be able to use the car on public roads. (in Italy must do it every two years)

The rapid change in value of the cell, may be caused by the erratic rading of the A/D and the subseguent settling time. If a read go to zero, maybe that the value take few milisec, to return stable, i think that a minimum time of integration is required.
A weak cell, i think , don't change value so much in few millisecond and return to a value exactly te same of other cells.
 
IT WORKS! :)
I had make a little test and seems that the car now is working!
Heather goes to maximum power, the car move forward and reverse with power.
Great news, well done.
The rapid change in value of the cell, may be caused by the erratic rading of the A/D and the subseguent settling time. If a read go to zero, maybe that the value take few milisec, to return stable, i think that a minimum time of integration is required.
This is a quite common fault, usually caused by LTC6802-G2 chip on the CMU board, various ways to fix this issue, but all methods require the HV battery to be removed.

A weak cell, i think , don't change value so much in few millisecond and return to a value exactly te same of other cells.
Agreed.
 
This is a quite common fault, usually caused by LTC6802-G2 chip on the CMU board, various ways to fix this issue, but all methods require the HV battery to be removed.
I have a hot air station on my desk and I am familiar with the soldering system for SMD components.

For an intermittent signal like this, do you think it's just a problem on the PCB or soldering, or does the chip need to be changed?

Is it possible to find a used board and try to repair the faulty module later?
 
Last edited:
I have a hot air station on my desk and I am familiar with the soldering system for SMD components.
That helps a lot
For an intermittent signal like this, do you think it's just a problem on the PCB or soldering, or does the chip need to be changed?
Chip needs to be replaced at a minimum, better to swap the CMU altogether just in case…
Is it possible to find a used board and try to repair the faulty module later?
Easiest way (for you, as you’re familiar with SMD soldering) is to get a used 8 cell CMU and move the ID chip from the faulty board to the ‘new’ one.

Alternatively, just order a new LTC chip (avoid cheap clones) and swap it yourself.
 
Back
Top