Got to my pack, connected a MCP2562 transceiver to a Teensy 3.2, loaded SimpBMS BMW PHEV as per Tom's posts above (latest version) and connected as below. Success!! I can see all the modules and cells and its a healthy pack. Couldn't test balancing as my pack seems well balanced (2mV delta), which was a surprise given it has sat untouched for many months. I assume it can't balance disconnected from the vehicle?
A few pics of my setup and links if that is any help to anyone below.
Transceiver (I used 256
2 and connected VIO to 3.3V):
http://ww1.microchip.com/downloads/en/D ... 05167C.pdf
Tom's code:
https://github.com/tomdebree/BMWPhevBMS
I disconnected the BMW BMS and connected in to the blue connector:
You can see from this picture of my breadboard I had to terminate the CAN lines at the transceiver with 120R.
The 3 first modules power and CAN is separate from the last 2, so needs two sets of 5V connections.
The CAN lines for the 3 and 2 module sets also "seem" to be separate, measuring the continuity of the CAN lines to the modules and this connector, but only one of the CAN lines for the first three modules needed to be connected to be able to see them all on that CAN bus. No idea how/why, but seems to work fine and means termination is easier. Perhaps I measured it wrong.
The 5V line takes about 64mA when enabling all 5 modules, so probably also powering some of the logic of those boards.
The output I recorded was:
Code: Select all
BMS Status : 1 Ready 80
Out:0000 Cont:0000 In:0000 Charge Current Limit : 10 A DisCharge Current Limit : 30 A
Modules: 5 Cells: 80 Strings: 1 Voltage: 289.420V Avg Cell Voltage: 3.618V Low Cell Voltage: 3.617V High Cell Voltage: 3.619V Delta Voltage: 2mV Avg Temp: 19.600C
Module #1 57.89V Cell0: 3.62V Cell1: 3.62V Cell2: 3.62V Cell3: 3.62V Cell4: 3.62V Cell5: 3.62V Cell6: 3.62V Cell7: 3.62V Cell8: 3.62V Cell9: 3.62V Cell10: 3.62V Cell11: 3.62V Cell12: 3.62V Cell13: 3.62V Cell14: 3.62V Cell15: 3.62V
Temp 1: 21.00C Temp 2: 20.00C Status: 0x0 Bal: 0x0
Module #2 57.88V Cell16: 3.62V Cell17: 3.62V Cell18: 3.62V Cell19: 3.62V Cell20: 3.62V Cell21: 3.62V Cell22: 3.62V Cell23: 3.62V Cell24: 3.62V Cell25: 3.62V Cell26: 3.62V Cell27: 3.62V Cell28: 3.62V Cell29: 3.62V Cell30: 3.62V Cell31: 3.62V
Temp 1: 19.00C Temp 2: 21.00C Status: 0x0 Bal: 0x0
Module #3 57.88V Cell32: 3.62V Cell33: 3.62V Cell34: 3.62V Cell35: 3.62V Cell36: 3.62V Cell37: 3.62V Cell38: 3.62V Cell39: 3.62V Cell40: 3.62V Cell41: 3.62V Cell42: 3.62V Cell43: 3.62V Cell44: 3.62V Cell45: 3.62V Cell46: 3.62V Cell47: 3.62V
Temp 1: 20.00C Temp 2: 19.00C Status: 0x0 Bal: 0x0
Module #4 57.89V Cell48: 3.62V Cell49: 3.62V Cell50: 3.62V Cell51: 3.62V Cell52: 3.62V Cell53: 3.62V Cell54: 3.62V Cell55: 3.62V Cell56: 3.62V Cell57: 3.62V Cell58: 3.62V Cell59: 3.62V Cell60: 3.62V Cell61: 3.62V Cell62: 3.62V Cell63: 3.62V
Temp 1: 18.00C Temp 2: 19.00C Status: 0x0 Bal: 0x0
Module #5 57.88V Cell64: 3.62V Cell65: 3.62V Cell66: 3.62V Cell67: 3.62V Cell68: 3.62V Cell69: 3.62V Cell70: 3.62V Cell71: 3.62V Cell72: 3.62V Cell73: 3.62V Cell74: 3.62V Cell75: 3.62V Cell76: 3.62V Cell77: 3.62V Cell78: 3.62V Cell79: 3.62V
Temp 1: 20.00C Temp 2: 19.00C Status: 0x0 Bal: 0x0
CANbus 0.00mA 51% SOC 13260.00mAh
Very happy with that. The voltages all moved around a tiny bit over time, so they were "live". Now working on a very simple display to connect in to the Teensy to help with debugging on the bench and sorting out the contractors etc. and adding a simple mode change button.
Also, need to incorporate the important charge and discharge limits vs. duration these little packs have, as alluded to here:
https://batteryhookup.com/products/bmw- ... 1288381572
That certainly looks like our module but not identical? You can see the 10 sec max power limitation in discharge and charge (re-gen braking). No idea where they would have got this info or how reliable it is but helpful nonetheless. (That was a fantastic price!!) Note the voltages also. I think the lowest voltage is too low?
So, from what I've found on the web, the 330e pack, I think, will do somewhere between 23kW and 32kW continuous power (with cooling), and 58kW to 65kW peak for 10 sec (With lots of cooling!) Some references state 70kW peak, and BMW state the 330e has a 65kW motor, which would match a 70kW battery peak, but that seems quite extreme!
The usable capacity is consistently stated as 5.7kWh. We can work out the usable SOC range and so voltage range from that.
These are all with a very capable, active refrigerant system. Unless that is re-instated, I'm not sure we can access those peak power ratings very often! Also, I'd wonder if the BMW BMS would be modeling the thermal behaviour of the cells vs current in and out and be running a kind of feed forward control to the cooling system. Activating cooling from the sensor measurements may be too slow I'd guess? For a huge EV pack I don't think this is such a big deal but operating these small PHEV packs at peak power for more than a few seconds is going to need care I think?
If anyone has any experience using these packs, has found a good cooling solution and has more reliable data, please share!
I'm thinking of investigating what of the 330e refrigerant system can be re-used with an eAC compressor and my Panda's (eventual) AC system. My first idea of putting water in the pack's refrigerant lines is probably not going to do much, but worth also investigating?
Quick question to Tom, I notice when I remove power to the modules, the CAN comms stop, but none of the data displayed changes from then, its frozen, obviously. I've not had a chance to test yes, but what is your thinking around the status of the BMS when/if that happens? Does it indicate it has lost comms with the modules and suggest zero charge and discharge capability or some other mode change to warn of an unprotected pack? I could see no change in behaviour when I powered down the modules. Maybe I'm worrying too much for a home build!
Thanks.