Hi,
I have a complete i-MiEV batterypack around for testing purposes, and was trying to get the SimpBMS running on it. Unfortunately currently getting some weird behaviour. I have been trying different things, but as an Arduino-beginner might be in need for some tips.
After startup, the BMS starts 'finding' the modules. Most modules are correctly monitored, except for module 6 & 12 (the only 4-cell modules). After about 10 seconds when the SOC-calculation is done (see "/// SOC SET ///"), all cell voltages turn negative.
Below the console output (search for "///" to find the SOC calculation point), and a screenshot of the present CAN-bus data. CAN-bus data stays steady, no lost messages. Using a MCP2551 CAN transceiver, oscilloscope displays clean signal at pin 4 of the Teensy. MCP2551 gives 5V at the RXD line, but imho the Teensy 3.2 should be 5V tolerant.
Tried with the most recent .HEX of Tom's Github as well as a recompiled version with the updated ADC library (modified the adc->adc0 calls), same behaviour.
What am I doing wrong ?
Mitsubishi i-MiEV BMS
-
- Posts: 1305
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 102 times
- Been thanked: 216 times
Re: Mitsubishi i-MiEV BMS
Just figured some things out:
- After the first SOC calculation, variable 'SOCset' is set. This triggers the 'bms.setSensors' which sets through 'setOffset' the temperature offset ('settings.TempOff', -52) to all the CellOffset of all modules.
- Voltage scaling of the i-MiEV CMU's is different; looks like it is (read value * 5mV + 2,1V). Will test with an external voltage source and confirm this.
- My CMU ID 06 is defective. Displays temperatures but no cell voltages.
- After the first SOC calculation, variable 'SOCset' is set. This triggers the 'bms.setSensors' which sets through 'setOffset' the temperature offset ('settings.TempOff', -52) to all the CellOffset of all modules.
- Voltage scaling of the i-MiEV CMU's is different; looks like it is (read value * 5mV + 2,1V). Will test with an external voltage source and confirm this.
- My CMU ID 06 is defective. Displays temperatures but no cell voltages.
-
- Posts: 1305
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 102 times
- Been thanked: 216 times
Re: Mitsubishi i-MiEV BMS
Any progress? If you could share this I can have a look at updating the main SimpBMS code
Re: Mitsubishi i-MiEV BMS
I just sent you per e-mail the version I used for testing.
It was my very first Arduino-experience at that time, so I am pretty sure I screwed up a lot (bashing the "compile" button until it compiled , and took out a lot of code that I didn't need / understand). So watch out if copying parts.
If I remember correctly; in the function "BMSModule::decodecan(int Id, CAN_message_t &msg)" I did just modifiy the CellVolt calculation, and wrote "2.1" there into the "CellOffset" as a quick workaround for both issues.
I sold this pack because plans changed a bit, so did not use it in a vehicle.
It was my very first Arduino-experience at that time, so I am pretty sure I screwed up a lot (bashing the "compile" button until it compiled , and took out a lot of code that I didn't need / understand). So watch out if copying parts.
If I remember correctly; in the function "BMSModule::decodecan(int Id, CAN_message_t &msg)" I did just modifiy the CellVolt calculation, and wrote "2.1" there into the "CellOffset" as a quick workaround for both issues.
I sold this pack because plans changed a bit, so did not use it in a vehicle.
-
- Posts: 1305
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 102 times
- Been thanked: 216 times
Re: Mitsubishi i-MiEV BMS
Thank you for sharing I will look at what you sent and put it back into the SimpBMS code.