BMW GENERATION 5 packs (IX3 etc) - opening / reuse / reverse engineering

Swing
Posts: 73
Joined: Mon Jan 27, 2020 2:03 pm
Has thanked: 20 times
Been thanked: 11 times

Re: BMW GENERATION 5 packs (IX3 etc) - opening / reuse / reverse engineering

Post by Swing »

cloudy wrote: Sat Nov 02, 2024 8:17 pm I'm also working on Gen5 packs - have started some documentation on the dala wiki:
https://github.com/dalathegreat/Battery ... 7-Platform

I also have a battery emulator feature branch that has basic support already. https://github.com/dalathegreat/Battery ... ix-support. Currently don't have contactors, balancing or iso measure working (I also need to crash reset my SME) but the rest works. Is anyone able to get some logs from an IX/iX3/i4/i7 on the canFD bus between SME/EME/CCU/BDC?

Thanks!
Thanks for the pinout amongst others! I got pretty close, but close is useless when it doesn't work.
So you can see battery cell and temperature information right now?

I am just interested in getting either the CSC slave or CSC + the unit is connected to, which I see as BMS but I have to understand the roles better.
I just want the battery info and of course balancing which we don't know yet. Everything more is always nice.
But mine also had a pretty big crash so I am sure all the pyro fuses are blown and I might need to reset something if I use all the components, don't know how.

I got the whole thing dismantled now but eager to test it when I have time.

Edit: The ETH-WUP wake up signal just needs a 12v+ for several seconds? After which CAN traffic starts?
User avatar
cloudy
Posts: 209
Joined: Wed Oct 02, 2019 12:15 am
Location: UK
Been thanked: 7 times

Re: BMW GENERATION 5 packs (IX3 etc) - opening / reuse / reverse engineering

Post by cloudy »

It won't send CAN on it's own & it's also CAN-FD at 500/2mb - not standard CAN. You can hold wake high it seems - and it'll stay awake waiting for CAN. It'll start sending it's messages with just a counter sent to it on 0x0C0 (you'll see it in the code)

Yes basically all interesting values are mapped and being read, including all cell voltages. FYI pyro replace is not enough to get active battery control working - so depends if just the monitoring alone is useful to you.

Also, whilst BMW do a great job of insulating all parts in this - don't get complacent because of it. If you have the pack open, use your class 0 gloves + gauntlets and insulated tools as a minimum!
Swing
Posts: 73
Joined: Mon Jan 27, 2020 2:03 pm
Has thanked: 20 times
Been thanked: 11 times

Re: BMW GENERATION 5 packs (IX3 etc) - opening / reuse / reverse engineering

Post by Swing »

cloudy wrote: Sun Nov 03, 2024 9:21 pm It won't send CAN on it's own & it's also CAN-FD at 500/2mb - not standard CAN. You can hold wake high it seems - and it'll stay awake waiting for CAN. It'll start sending it's messages with just a counter sent to it on 0x0C0 (you'll see it in the code)
I probably got the wiring right but had no clue about the wake up procedure. I will check the code of course, when I have more time.
Yes basically all interesting values are mapped and being read, including all cell voltages. FYI pyro replace is not enough to get active battery control working - so depends if just the monitoring alone is useful to you.
Thats great. I am going to put the IX3 battery in a van. Getting cell voltages and temps is great for now so I can make some test drives. Can go quite a while without balancing I expect, but at some point it will be needed. Hopefully by then we got that information.
What is extra nice is that I have a Deye 20kW inverter, that I will be able to supply with battery info this way. That inverter will be in the van, also used as AC charger.
I also need to supply the Siemens drivetrain with CAN bus messages about battery, I already got that working, but could integrate that here as well.
There I do my own precharge circuit for the Siemens ELFA2. But it would be nice to have a BMS operate a main contactor based on the cell voltages and temps, even though balancing is not working yet.
Anyway, there is some customization involved in the project, which I can do myself, but just missing necessary info.
Also, whilst BMW do a great job of insulating all parts in this - don't get complacent because of it. If you have the pack open, use your class 0 gloves + gauntlets and insulated tools as a minimum!
Yes I have my gloves and I already drained the coolant and unmounted everything.
Battery case is empty and will be taken away.
So cannot test anything now.
User avatar
cloudy
Posts: 209
Joined: Wed Oct 02, 2019 12:15 am
Location: UK
Been thanked: 7 times

Re: BMW GENERATION 5 packs (IX3 etc) - opening / reuse / reverse engineering

Post by cloudy »

iX support is now in main release of battery emulator - do still need someone with an un-crashed battery to test contactors with though!
Swing
Posts: 73
Joined: Mon Jan 27, 2020 2:03 pm
Has thanked: 20 times
Been thanked: 11 times

Re: BMW GENERATION 5 packs (IX3 etc) - opening / reuse / reverse engineering

Post by Swing »

cloudy wrote: Sun Dec 08, 2024 11:55 pm iX support is now in main release of battery emulator - do still need someone with an un-crashed battery to test contactors with though!
Great!
Still without balancing right?
User avatar
cloudy
Posts: 209
Joined: Wed Oct 02, 2019 12:15 am
Location: UK
Been thanked: 7 times

Re: BMW GENERATION 5 packs (IX3 etc) - opening / reuse / reverse engineering

Post by cloudy »

Correct, need canlogs (CANFD) from working vehicle to proceed - even an uncrashed pack remains in balancing off mode. Suspect it needs vehicle messages and maybe drive mode flag.
Swing
Posts: 73
Joined: Mon Jan 27, 2020 2:03 pm
Has thanked: 20 times
Been thanked: 11 times

Re: BMW GENERATION 5 packs (IX3 etc) - opening / reuse / reverse engineering

Post by Swing »

cloudy wrote: Sun Nov 03, 2024 9:21 pm It won't send CAN on it's own & it's also CAN-FD at 500/2mb - not standard CAN. You can hold wake high it seems - and it'll stay awake waiting for CAN. It'll start sending it's messages with just a counter sent to it on 0x0C0 (you'll see it in the code)
Hi, I finally got around to this project again. Now have to get the BMS working (or replace it with something else)

But I can't get the CAN bus to work with my analyzer (I have a Lilygo board, but it is not FD).
I've set it up as CAN-FD 500:2000, and tried various other settings.
I have wired it up as in the Battery emulator wiki and am sending it the 0xC0 message every 200ms with 0xF0 0x00 and increasing 14 times to 0xFE 0x00

I'm still getting no response and sometimes errors so I am not sure if I have misconfigured the CAN bus? I added a resistor, so it is sitting around 60 Ohm now.
It should send at least some data right? after the wake up. No requests needed to receive at least something?
CANsettingsBMWiX.png
By the way, I wired it directly on the picture below. Not through the board in the main connector, which doesn't seem to add much.
I only have the battery modules, the long CSC board, and the manager in the picture below.
Perhaps that is too little to get it running?

Image
Swing
Posts: 73
Joined: Mon Jan 27, 2020 2:03 pm
Has thanked: 20 times
Been thanked: 11 times

Re: BMW GENERATION 5 packs (IX3 etc) - opening / reuse / reverse engineering

Post by Swing »

I also found a LinkedIn post from EV Clinic, describing a software lockout of a crashed pack of this BMW generation:

https://www.linkedin.com/posts/ev-clini ... TIqvXTTnns

So probably not easy to get it back to work once crashed and the pyro fuses have blown.
User avatar
cloudy
Posts: 209
Joined: Wed Oct 02, 2019 12:15 am
Location: UK
Been thanked: 7 times

Re: BMW GENERATION 5 packs (IX3 etc) - opening / reuse / reverse engineering

Post by cloudy »

Recommend joining the battery emulator discord as we have a lot of people working on it. No the BMS will not send any traffic on it's own - you have to wake & poll it continuously. Suggest starting with the battery emulator working code as a starting point or use a BMW BDC to awaken it. We have contactors closing for non crashed packs, but even then they lock out after a few days.
Post Reply