BMW BMS Message 0x080

Introduction and miscellaneous that we haven't created categories for, yet
Post Reply
FFMan
Posts: 331
Joined: Mon Jul 25, 2022 7:59 pm
Location: Bicester, Oxfordshire
Has thanked: 8 times
Been thanked: 47 times

BMW BMS Message 0x080

Post by FFMan »

I'm trying to activate the balance feature of the BMS modules attached to my BMW G30 batteries. The code cribbed from simpbms on git hub is useful, i have the modukles checking and can read individual cell voltages and the temperatures tec.

The code snippet below sets the balance voltage if balancing is requested but it doesn't appear to work for me. I wonder if the last 2 lines commented as //balancing bits need to be set to something, although the code never appears to do this. Is it enough just to send each module the balance voltage or perhaps i wonder to the bit settings need setting for each cell to apply to, or something else i'm missing.

Does anyone else have this working outside of simpbms, or does anyone have a can dump of a working setup in balance mode ?

thanks

Code: Select all

msg.id = 0x080 | (nextmes);
  msg.len = 8;
  if (balancecells == 1) {
    msg.buf[0] = lowByte((uint16_t((bms.getLowCellVolt()) * 1000) + 5));
    msg.buf[1] = highByte((uint16_t((bms.getLowCellVolt()) * 1000) + 5));
  } else {
    msg.buf[0] = 0xC7;
    msg.buf[1] = 0x10;
  }
  msg.buf[2] = 0x00;  //balancing bits
  msg.buf[3] = 0x00;  //balancing bits
E46 touring
Phev rear motor, OEM inverter cabin heater and charger
BMW 9kwh & 12kwh packs
User avatar
tom91
Posts: 2390
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 206 times
Been thanked: 562 times

Re: BMW BMS Message 0x080

Post by tom91 »

You need to run through the whole SimpBMS code.

There are start up messages to do valid starting checks.
You need to provided propper valid CRC values in the messages.
Also if the BMS modules go into fault states they need to be reset, is also in the SimpBMS code.

Turns out static messages will allow reading of values yet the BMS modules will be in fault states.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
FFMan
Posts: 331
Joined: Mon Jul 25, 2022 7:59 pm
Location: Bicester, Oxfordshire
Has thanked: 8 times
Been thanked: 47 times

Re: BMW BMS Message 0x080

Post by FFMan »

thanks

i've been through the code, but can always do it again. there is lots in there for other controllers so it takes a bit of dissecting but i have the crc working (required to get the voltages), and i'm reading the fault status but none are in fault that i can tell. i can't see there is much more to do other than request each CMU to balance to a voltage, hence if anyone had any can dumps that would help
E46 touring
Phev rear motor, OEM inverter cabin heater and charger
BMW 9kwh & 12kwh packs
User avatar
mane2
Posts: 251
Joined: Fri Jan 13, 2023 6:32 am
Location: Finland
Has thanked: 40 times
Been thanked: 40 times

Re: BMW BMS Message 0x080

Post by mane2 »

tom91 wrote: Mon Jun 26, 2023 8:16 pm Also if the BMS modules go into fault states they need to be reset, is also in the SimpBMS code.
I'm getting error state for 0x10 for 3 modules. I was checking SimpBMS code but clearing faults is commented out

https://github.com/Tom-evnut/BMWPhevBMS ... e.cpp#L184

How can you clear faults?
User avatar
mane2
Posts: 251
Joined: Fri Jan 13, 2023 6:32 am
Location: Finland
Has thanked: 40 times
Been thanked: 40 times

Re: BMW BMS Message 0x080

Post by mane2 »

I swapped the order of the modules in daisy-chain and ran unassigned + assigned the module Id's few times and now the error is gone! Magic :)
User avatar
tom91
Posts: 2390
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 206 times
Been thanked: 562 times

Re: BMW BMS Message 0x080

Post by tom91 »

mane2 wrote: Thu Jun 05, 2025 3:57 pmMagic
So the time spent with myself and someone else was worth it then. So just running a full id assignment got the Master CSC to realise there are 11 more and not 5.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
User avatar
mane2
Posts: 251
Joined: Fri Jan 13, 2023 6:32 am
Location: Finland
Has thanked: 40 times
Been thanked: 40 times

Re: BMW BMS Message 0x080

Post by mane2 »

Full id assignment and swapping the modules in daisy chain got rid of the 0x10 error. The other issue I mentioned in other thread was solved by finding hard coded module amount when requesting voltages.
modellfan
Posts: 92
Joined: Tue Jul 12, 2022 11:20 am
Has thanked: 17 times
Been thanked: 13 times

Re: BMW BMS Message 0x080

Post by modellfan »

How did you reassign the id s and reset the errors ? I have one module throwing this fault .

Arduino Lib with some SimpBmS bugs fixed and much more messages reverse engineered . You can even see which cells are upwards or downwards balanced : https://github.com/Modellfan/TeensyVCU/ ... ery%2520i3
User avatar
tom91
Posts: 2390
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 206 times
Been thanked: 562 times

Re: BMW BMS Message 0x080

Post by tom91 »

modellfan wrote: Sat Jun 07, 2025 8:36 am Arduino Lib with some SimpBmS bugs fixed and much more messages reverse engineered . You can even see which cells are upwards or downwards balanced : https://github.com/Modellfan/TeensyVCU/ ... ery%2520i3
Where did you mention it is derived from my work?

The id assignment info is in the BMW PHEV version of SimpBMS
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
modellfan
Posts: 92
Joined: Tue Jul 12, 2022 11:20 am
Has thanked: 17 times
Been thanked: 13 times

Re: BMW BMS Message 0x080

Post by modellfan »

Just left in the CRC file. Will add it again . Please have a look at my messages . I found many additional interesting signals.
User avatar
mane2
Posts: 251
Joined: Fri Jan 13, 2023 6:32 am
Location: Finland
Has thanked: 40 times
Been thanked: 40 times

Re: BMW BMS Message 0x080

Post by mane2 »

I tested some of those messages that you found, but X5 battery does not have all of them. I was able to use those balancing bits. But the message always say that all cells are balancing, not per cell group and no additional info about the balancing process. I guess you have i3 battery? That seems to work bit differently with some messages.
User avatar
tom91
Posts: 2390
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 206 times
Been thanked: 562 times

Re: BMW BMS Message 0x080

Post by tom91 »

modellfan wrote: Thu Jun 12, 2025 11:47 pm Just left in the CRC file. Will add it again . Please have a look at my messages . I found many additional interesting signals.
Cool, did you create a DBC for easy tracking of the newly found signals?
I cannot really find anything too "interesting" in the module.cpp
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
modellfan
Posts: 92
Joined: Tue Jul 12, 2022 11:20 am
Has thanked: 17 times
Been thanked: 13 times

Re: BMW BMS Message 0x080

Post by modellfan »

Yes, I have i3. I am able to see, single cell beeing up or down balanced. I recorded all information with 10HZ to an influx DB. You can realy see during balancing the single cell voltages drop because of balancing.
User avatar
tom91
Posts: 2390
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 206 times
Been thanked: 562 times

Re: BMW BMS Message 0x080

Post by tom91 »

single cell beeing up or down balanced, they can only be bled down. this is the 12 bit value in the "0" message id

Also you have next to the cell voltage a signal that indicates the "quality" one of the values indicates voltage not to be used due to balancing.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
Post Reply