BMW I3 Fast Charging LIM Module: Difference between revisions

From openinverter.org wiki
Jump to navigation Jump to search
(CCS charging sequence logs, CAN communication updated)
Line 547: Line 547:
The switch signal is useful to stop charging and has to be connected to the ECU. The ECU then terminates the charging process over the CAN bus.
The switch signal is useful to stop charging and has to be connected to the ECU. The ECU then terminates the charging process over the CAN bus.
[[File:RGB LED common cathode.png|none|thumb|243x243px|RGB LED]]
[[File:RGB LED common cathode.png|none|thumb|243x243px|RGB LED]]
== LIM control ==


=== Battery voltage and battery current ===
=== Battery voltage and battery current ===
In this setup the battery voltage and current gets measured by a Isabellenhütte IVT CAN bus sensor but those values could also be measured and shard on the CAN bus by the BMS. (message 0x112)
Battery voltage and current is needed. In this setup the battery voltage and current gets measured by a Isabellenhütte IVT CAN bus sensor but those values could also be measured and shard on the CAN bus by the BMS. (message 0x112)
 
=== Charging current control ===
During (fast) charging a cell voltage and cell temp dependant current limit is very important.
 
The BMS should limit this value according to the battery specifications and protect the cells from damage and ageing at all times.


=== CCS inlet temperature sensors ===
=== CCS inlet temperature sensors ===
Line 555: Line 562:


=== On board charger control ===
=== On board charger control ===
The LIM shares the PP (charging cable) and CP (charging station) AC current limits for AC charging.
The LIM shares PP (charging cable) and CP (charging station) AC current limits in the 0x3B4 EVSE info CAN message.


If the on board charger accepts a max AC current this limits can be directly used but some chargers can only be controlled with a max DC current.  
If the on board charger accepts a AC current limit this value can be directly used but some chargers can only be controlled with DC current commands.


Since we don't know the actual AC current we can only estimate it with a fixed AC voltage, efficiency...
Since we don't know the actual AC current we can only estimate it with a fixed AC voltage, efficiency...
Line 569: Line 576:
https://assured-project.eu/storage/files/assured-10-interoperability-reference.pdf
https://assured-project.eu/storage/files/assured-10-interoperability-reference.pdf


== LIM logs ==
Here you can find some CAN logs of AC and DC charging sessions. https://github.com/damienmaguire/BMW-i3-CCS/tree/main/CAN_Logs
Here you can find some CAN logs of AC and DC charging sessions. https://github.com/damienmaguire/BMW-i3-CCS/tree/main/CAN_Logs


Some QCA7005 SPI captures on Damien's GitHub https://github.com/damienmaguire/BMW-i3-CCS/tree/main/SPI_Caps
QCA7005 SPI captures on Damien's GitHub https://github.com/damienmaguire/BMW-i3-CCS/tree/main/SPI_Caps


== Observations ==
== Observations ==

Revision as of 23:22, 28 September 2021

The BMW LIM module is a CCS, CHAdeMO and AC charging controller. It is used to communicate between the vehicle and the public charging infrastructure, to allow fast charging to occur.

As these can be found affordably on eBay and from auto wreckers, they have been pursued as an open-source charger-interface project.

External links

Forum discussion

github.com/damienmaguire/BMW-i3-CCS

> CAN logs

> STM32 VCU software

> I3 LIM CAN dbc1

BMW I3 HV components

Design Guide for Combined Charging System (2015)

LIM versions

Only AC_DCO versions work for CCS. (Check if you have a MAC address on the label!)

LIM versions
SN IEC 61851

J1772 (AC)

DIN 70121 ISO 15118 ISO 15118-20 Cars Used until Tested
61 35 9 346 827 x x BMW i3
61 35 9 346 820 x x BMW i3
61 35 9 353 646 x x BMW i3 Jul 2014 x
61 35 9 380 352 x x ? BMW i3 Nov 2015
61 35 6 805 847 x x ? BMW i3 Jul 2016
61 35 9 494 498 x x ? BMW i3 2018? x
61 35 9 470 199 x x ? BMW i3 ?
61 35 9 454 319 x x x ? BMW i3

Mini cooper SE

now

The LIM's are available new from BMW spare parts suppliers for € 240 but there might be some programming/codeing necessary before the unit behaves like the ones used during development of the solution.

Power Limits

The limits for pre 2017/26 (Week 26 of 2017) are 0V-500V 0A-250A, post 2017/27 (Week 27 of 2017) 0V-1000V -500A-+500A.

This probably indicates when they moved from DIN 70121 only to ISO 15118.

Connectors and Pinouts

BMW i3 LIM CCS Charging Module

All connectors are available at https://www.auto-click.co.uk/ worldwide.

Connector Key (left to right)
Label Description Compatible Plugs
4B 12 Pin Connector BMW 61138373632

Audi 4E0 972 713

TE 1534152-1 / 1534151-1

3B 8 Pin Connector (CHAdeMO models only) BMW 61138364624

Audi 4F0 972 708

TE 1-1534229-1

1B 16 Pin Connector Hirschmann 805-587-545
2B 6 Pin Connector BMW 61138383300

Audi 7M0 973 119

TE 1-967616-1

X Replacement Pins 5-962885-1
X Rubber Seal 1-967067-1
LIM pinout
1B Pinout:
Pin # Function Description
1B-1 -
1B-2 -
1B-3 LED_M Lighting Charge Socket? (Not necessary)
1B-4 LOCK_MOT+ Charge Inlet Lock Motor
1B-5 LOCK_MOT- Charge Inlet Lock Motor
1B-6 CAN_H Powertrain CAN
1B-7 CAN_L Powertrain CAN
1B-8 IGN Wake up signal +12V (ignition, contact 15)
1B-9 VCC Constant Power +12V
1B-10 GND Ground
1B-11 -
1B-12 -
1B-13 -
1B-14 - Internally connected to GND
1B-15 CHARGE_E Goes to KLE. Guessing this is charge enable or drive interlock signal?
1B-16 LOCK_FB Charge Inlet Lock Feedback (1k unlocked, 11k locked)
2B Pinout:
Pin # Function Description
2B-1 CP Pilot (Charge Inlet)
2B-2 PP Proxy (Charge Inlet)
2B-3 Jumper Connected to Pin 4
2B-4 Jumper Connected to Pin 3
2B-5 GND Ground (Charge Inlet)
2B-6 US CCS1 version connected to 2B-2

3B Pinout:

- N/A (for CHAdeMO only)

4B Pinout:
Pin # Function Description
4B-1 POS_CONT+ Positive HV Contactor Control (Contactor coil resistance needs to be ~15 ohms)
4B-2 NEG_CONT+ Negative HV Contactor Control
4B-3 POS_CONT- Positive HV Contactor Control
4B-4 NEG_CONT- Negative HV Contactor Control
4B-5 U_HV_DC Charge Inlet DC Voltage (current input 3-20mA?)
4B-6 LED_RT Red charge Status Light (12V RGB LED)
4B-7 LED_GN Green charge Status Light (12V RGB LED)
4B-8 LED_BL Blue charge Status Light (12V RGB LED)
4B-9 LED_GND Charge Status Light Ground (common cathode of RGB LED)
4B-10 COV_MOT- Charge Inlet Cover Motor (Not necessary)
4B-11 COV_MOT+ Charge Inlet Cover Motor (Not necessary)
4B-12 COV_FB Charge Inlet Cover Feedback (connect to GND to simulate open cover)


Connector for BMW i3 CCS plug locking actuator is BMW part number 12527549033. Pins and seals should be the same as used on the LIM module.

Wiring Diagram

Wiring LIM electric vehicle charge controller


CAN communication

A DBC CAN database file can be found here: I3 LIM CAN dbc1

This list has to be cleaned up once we know which messages are actually necessary for the LIM.

Power Train CAN messages [500kbps]
ID Function sent by interval Notes
0x112 BMS msg. VCU 10ms could also be sent by BMS
0x12F Wake up VCU 100ms
0x1A1 Vehicle speed VCU 20ms
0x3E9 Main LIM control VCU 200ms
0x431 Battery info VCU 200ms needed but does not control anything
0x03C Vehicle status VCU 200ms
0x2A0 Central locking VCU 200ms
0x397 OBD VCU 200ms
0x3F9 Engine info VCU 200ms Rex?
0x3A0 Vehicle condition VCU 200ms
0x330 Range info VCU 200ms
0x432 BMS SoC VCU 200ms
0x51A Network management VCU 200ms
0x540 Network management 2 VCU 200ms
0x512 Network management edme VCU 200ms
0x560 Network management kombi VCU 200ms
0x510 Network management zgw VCU 200ms
0x328 Counter VCU 1s
0x3E8 OBD reset VCU 1s
0x2F1 Lim DC charge command 2. VCU 100ms
0x2FA Lim DC charge command 3. VCU 1s
0x2FC Charge flap control VCU 100ms
Messages sent by LIM
0x29E CCS charger specs LIM
0x2EF Min available voltage from the ccs charger. LIM
0x2B2 Current and Votage as measured by the ccs charger LIM
0x3B4 EVSE info CP, PP & inlet voltage LIM
0x272 CCS contactor state and charge flap open/close status. LIM
0x337 Inlet lock status LIM

LIM peripherals

Isolated DC charge inlet voltage sense board

The LIM gets the inlet DC voltage from a board in the KLE.

This board needs to produce an isolated 3-20mA current signal from the high voltage DC voltage.

isolated DC Voltage sense board by muehlpower

The circuit of the voltage sense board is shared here https://openinverter.org/forum/viewtopic.php?p=28143#p28143

Large fast charge contactor control

The LIM produces a 12V, 50% PWM on the positive and negative fast charging contactor outputs and measures the current draw of the contactors.

This makes it a bit harder to use different contactors.

The easiest option is to place a 15 ohms resistor (with heat sink) in parallel to simulate the original contactor coil and a small relais to drive the large Gigavac contactor with internal PWM economizer or dual coil.

Each of the two 15 ohm resistor has to dissipate ~6W @ 13.4V, 50% PWM.

Further investigation is needed to find out if the LIM also detects a contactor failure from the current draw.

Gigavac contactor driver circuit

Duosida inlet lock feedback

DUOSIDA / MIDA CCS inlet

The i3 uses a quite expensive Phoenix CCS inlet and it would be nice to be able to use the cheaper Duosida CCS inlets.

The charge inlet lock should work with the Duosida lock as well but the feedback (1k unlocked, 11k locked) is a bit different which requires some additional resistors.

CCS inlet lock

RGB charge indication light

The RGB charge indicator LED should have a common cathode and series resistors for 12V DC.

Nice push buttons with integrated RGB led are available on Aliexpress for a few dollars.

The switch signal is useful to stop charging and has to be connected to the ECU. The ECU then terminates the charging process over the CAN bus.

RGB LED

LIM control

Battery voltage and battery current

Battery voltage and current is needed. In this setup the battery voltage and current gets measured by a Isabellenhütte IVT CAN bus sensor but those values could also be measured and shard on the CAN bus by the BMS. (message 0x112)

Charging current control

During (fast) charging a cell voltage and cell temp dependant current limit is very important.

The BMS should limit this value according to the battery specifications and protect the cells from damage and ageing at all times.

CCS inlet temperature sensors

Many CCS inlets have DC contact temperature sensors for safety. The LIM has no temperature sensor inputs but the VCU could be connected to the sensors (usually PT1000 or NTC) and reduce charging speed if the inlet gets too hot.

On board charger control

The LIM shares PP (charging cable) and CP (charging station) AC current limits in the 0x3B4 EVSE info CAN message.

If the on board charger accepts a AC current limit this value can be directly used but some chargers can only be controlled with DC current commands.

Since we don't know the actual AC current we can only estimate it with a fixed AC voltage, efficiency...

DC_current = fixed_AC_voltage * CP_PP_current_limit * phase_count * charger_efficiency / DC_voltage

CCS charging sequence

CCS-Charging-sequence.jpg

This document actually covers Fast and Smart Charging Solutions for Full Size Urban Heavy Duty Applications but since most of the protocols used are similar it has comparable sequence diagrams with description for normal start up, normal shutdown, DC supply initiated emergency stop and EV initiated emergency stop.

https://assured-project.eu/storage/files/assured-10-interoperability-reference.pdf

LIM logs

Here you can find some CAN logs of AC and DC charging sessions. https://github.com/damienmaguire/BMW-i3-CCS/tree/main/CAN_Logs

QCA7005 SPI captures on Damien's GitHub https://github.com/damienmaguire/BMW-i3-CCS/tree/main/SPI_Caps

Observations

VIN Numbers is not required for AC or DC fast charging to function

Functional LIMs have come from vehicles where the Air Bags have deployed, indicating that the module still works after a "Safety" event has occurred.

LIM board components

components
Chip Description Function Datasheet
Renesas V850E2/FG4 32-bit Single-Chip Microcontroller main MCU https://www.renesas.com/us/en/document/dst/data-sheet-v850e2fg4
Qualcomm QCA7000 HomePlug® Green PHY, single chip solution PLC Green PHY https://openinverter.org/forum/download/file.php?id=9611
Infineon TLE 7263E Integrated HS-CAN, LIN, LDO and HS Switch, System Basis Chip CAN, 2xLDO, wake-up https://docs.rs-online.com/db13/0900766b814d680b.pdf
TI SN74LVC2T45-Q1 Dual-Bit Dual Supply Transceiver with Configurable Voltage Translation https://www.ti.com/lit/gpn/sn74lvc2t45-q1
NXP 74LVC1T45 Dual supply translating transceiver https://datasheetspdf.com/pdf-file/648034/NXP/74LVC1T45/1
STM L9951XP Actuator driver inlet lock motor https://www.st.com/resource/en/datasheet/l9951.pdf
STM TS321 Low-Power Single Operational Amplifier https://www.ti.com/lit/gpn/ts321
TI LM2902 Quadruple general-purpose operational amplifier https://www.ti.com/lit/gpn/lm2902
STM VNQ5E250AJ-E Quad channel high-side driver with analog current sense LEDs?, contactors? https://www.st.com/resource/en/datasheet/vnq5e250aj-e.pdf