The first version of a DIY DC CHAdeMO fast charging kit was developed in 2015 by Paulo Almeida, Damien Maguire, Collin Kidder and Jack Rickard. It used the JLD505 developed by Paulo Almeida and Celso Menaia. As per mid 2019, the latest version available was a CHAdeMO Interface v0.3 designed by Paulo and updated by Celso (New Electric) and further developed into v1 and v1.1 by New Electric.
Table of contents
- Open source (how it all got accelerated)
- CHAdeMO process (explaining how it works)
- Hardware version v2.0 (pinout and backwards compatibility)
- Wiring the CHAdeMO controller (how to install it in your car)
- CHAdeMO software (enhancements and configuration)
To accelerate the development and increase availability for the DIY community, New Electric shared the designs and latest version of the CHAdeMO fast charging software with Damien Maguire (www.evbwm.com). He implemented some changes and shared it as open source. Since that design only had single CAN-BUS it was limited in using data on voltage and current that was already available from a BMS or external sensors.
As a result Damien decided to change the approach for the CHAdeMO fast charging controller and started using the same hardware as his Leaf VCU V2. Later on he created a dedicated CHAdeMO board.
Bottomline is that a SAM3X chip (like the Arduino Due) was used instead of the Atmega328. That change was 90% a software change since the code had to be ported from the Atmega328 to the new SAM3X chip. The heavy lifting for this is taken care of by the compiler (Arduino IDE or Visual Studio Code + PlatformIO). Furthermore a CAN-BUS shunt had to be added as new current and voltage source and some legacy from the JLD505 had to be dropped. Isaac Kelly (www.electricboxster.com) took up this challenge and with the support of Damien he updated the software to a 0.6 version that worked together with the Leaf VCU V2 hardware (with some addons / modifications).
As mentioned in “Introducing DC fast charging“, the communication for the CHAdeMO fast charging process is via CAN-BUS. The process is initiated by inserting the charge plug. The proximity pin triggers a wake-up of the controller. On it’s turn the controller provides an active low signal and 12V+ output (500 mA max) so you can use either one to wakeup other components such as the battery management system and put the car in charge mode.
As soon as the plug is inserted and the user presses “Start” on the charger, the EVSE (charger) initiates the charge process. It is a combination of messages over CAN-BUS and analog signals. In the CHAdeMO fast charging approach the charger start/stop 1 is 12V ‘signal’ capable of delivering up to 2 A and is used to drive contactors. This approach gives the charger the opportunity to open contactors directly if needed. The whole sequence is explained below.
While the CHAdeMO protocol is accessible for members of the CHAdeMO Association only, there are many leads for achieving a DIY controller. For example, the digital communication (CAN messaging) is defined in the IEC 61851-24 standard (Electric vehicle conductive charging system – Part 24: Digital communication between a d.c. EV charging station and an electric vehicle for control of d.c. charging) which I purchased.
Hardware version v2.0
EVcreate developed the version v2.0 hardware as a drop-in replacement for the New Electric v1.1 by keeping the pinout the same and maintaining isolated CAN-BUS. It is NOT compatibele with earlier versions since those use a different pinout.
The controller has a Cinch enclosure and header with Molex MX150 connectors. To be exact, the ME-MX Header 5810132011 is used. This is a 32 I/O header with a 20 position A connector and a 12 position B connector.
The A connector is for the integration in the car and the B connector is used to connect to the CHAdeMO fast charging outlet.
A1 = Not connected
A2 = GND (for contactor feedback)
A3 = Not connected
A4 = USB D-
A5 = USB D+
A6 = CHAdeMO HV contactors coil GND
A7 = 12V output (500 mA max) when on
A8 = 12V in (always on)
A9 = CHAdeMO HV contactors coil +
A10 = Incoming Car CAN-H
A11 = Outgoing car CAN-H
A12 = Outgoing car CAN-L
A13 = Not connected
A14 = USB GND
A15 = USB 5V+
A16 = CHAdeMO HV- contactor feedback
A17 = Active low (GND) when on
A18 = CHAdeMO HV+ contactor feedback
A19 = GND
A20 = Incoming Car CAN-L
B2 = Charge start 1
B3 = Not connected
B4 = Charge enable
B5 = Not connected
B6 = Not connected
B7 = Proximity
B8 = CAN H
B9 = CAN L
B10 = Charge start 2
B11 = Not connected
B12 = Not connected
Enhancements in v2.0
New to the v2.0 hardware are the following features:
- Dual CAN-BUS (one dedicated for CHAdeMO and another one to communicate with the car
- Car CAN-BUS in and out for easy daisy chaining to other nodes
- Optional car CAN termination by soldering two pads
- CHAdeMO contactor feedback inputs
- Active low (GND) and 12V+ output (500 mA max) when on
- CAN bus now with common mode choke, ESD protection and split termination
- Increased robustness against 12V circuit over-voltage and 12V circuit over-current
- 12V+ and GND power connector on the PCB to easily power it for configuration on the bench
- USB connector on the PCB including wakeup on USB plug insertion
Things that were already good in V1.1 were kept, such as:
- Isolated inputs using optocouplers
- USB connections in connector A to easily program and monitor while installed in a car
- Isolated CAN-BUS
Wiring the CHAdeMO controller
To install the CHAdeMO fast charge controller in your car is quite straightforward. There are three main areas:
1. Yazaki socket to controller
The number on the Yazaki outlet matches one on one with the Cinch / Molex B-connector. So Yazaki 1 goes to B1, 2 to B2, etcetera. Only exceptions are pin 3 (which is not connected) and the high voltage connections 5 and 6 which do not go into the controller.
2. Current sensor
The CHAdeMO controller requires input on the charging current and voltage measured by the car. This is compared with the values measured / indicated by the charger. In case the deviation is too big, an error is triggered and the charing process stops.
The previous versions of the CHAdeMO fast charge controller up to v1.1 used a shunt and voltage divider to get information on voltage and current. However that required high voltage inputs into the controller. Getting this data over CAN-BUS increases the safety. Most robust and therefore supported way of implementing a current sensor is direct (as shown above) using a sensor on the CHAdeMO high voltage wiring (either + or -).
Using a direct current sensor is the most straightforward approach. By measuring the current directly on the CHAdeMO high voltage wiring the CHAdeMO fast charging controller and use this data directly.
Suggested and supported sensors are the LEM CAB300, LEM CAB500 or the IVT Current sensor.
3. Car integration
Basically what the controller needs is power, CAN-BUS, trigger the car charge mode and to control the HV contactors.
The USB connection is optional as well is the contactor feedback. The maximum allowed power draw of the two CHAdeMO contactors together is 2A.
The CHAdeMO software was originally mainly developed by Collin Kidder (still doing awesome stuff, Collin80 on Github). It has been improved by New Electric based on field experience and fixes to address issues.
Currently EVcreate is working on further improving the software / CHAdeMO DIY library.
This paragraph will be updated as soon as more details are available.
Blog series on DC fast charging
Any feedback, additions, suggestions for improvement is welcome. Please contact me by e-mail.
Share & link
Do you like this article? Please share and link (and not copy paste).