Whether you are a passionate RISE V2G aficionado already, or you are looking for a way to get started with ISO 15118 and wondering how to set up a test system: this is the article for you. Elaad hosted its first-ever CharIN Testival (video included) event at its Arnhem headquarters on Oct 30 and 31, 2019. There, I visited with representatives from KOSTAL who were testing their charging station setup against various electric vehicles (EVs). KOSTAL is a reputable 1st Tier supplier for the automotive industry and has been selected as a system supplier for one of the largest car manufacturers in Europe. The event was full of testing opportunities. KOSTAL brought the test setup they use in their test labs to test On-board Battery Chargers (OBCs) of major EV manufacturers.
Fun fact: KOSTAL uses RISE V2G, the only open-source implementation of ISO 15118, to successfully conduct their tests. I’ve included a few videos within this post to share the complete hardware and software setup with you.
The test setup consists of three main components:
In the video below, the OBC is hidden beneath a piece of paper as the car manufacturer who provided this controller does not allow public demonstration.
This video shows the technical setup, with a laptop running the GUI to control the charging communication process on the left, the OBC located in the middle, and the EVSEpi board on the right. Note that there is no real power flow taking place, but everything else is exactly as it would be in a real charging scenario.
KOSTAL test setup with RISE V2G at 1st CharIN Testival
KOSTAL invented the EVSEpi board to serve as a simulated charging controller that replicates the behavior of a charging station. It includes the following elements:
The Raspberry Pi operating system (Raspbian) runs on a MicroSD card, which hosts a Debian GNU/Linux.
At the beginning of a wired charging communication based on ISO 15118, we need to set up a data communication link. This is where the PLC comes in. To avoid the well-known crosstalk problem on PLC links, ISO 15118-3 describes a protocol that eliminates this problem. The solution is called SLAC, which is short for Signal Level Attenuation and Characterization. In order to perform the SLAC process, both EVCC (the on-board charger in our test setup) and SECC (running on the Raspberry Pi Compute Module 3) need to be connected to a HomePlug GreenPHY-compliant modem. That is exactly what the QCA7000 chip is for. The implementation of the SLAC process is based on open-plc-utils, an open-source power line toolkit provided by Qualcomm to ease working with their PLC chips.
Once the data link has been established using SLAC and the QCA7000 chip, the EVCC initiates the high-level communication via ISO 15118 with the SECC.
In order for the OBC (the on-board controller that is usually within the EV) to accept the simulated charging station, KOSTAL also needed to implement a pulse-width modulation (PWM) signal.
Before the charging process can start, an analog signalling communication takes place between the EV and the charging station using the Control Pilot (CP) pin which is integrated into the charging plug. The CP pin allows for distinguishing between different connection states by measuring the electrical resistance in Volts. This takes place within the cable.
IEC 61851 defines an analog pulse-width modulation (PWM) signalling mechanism. PWM is a modulation technique used to encode information – such as the maximum allowed charging current – into a pulsing signal. This allows the charging station to communicate the maximum available charging current to the EV by applying a pulse-width modulation of the CP signal. The charging station controls the PWM signal, whereas the EV controls the voltage (and therefore the connection state).
In Figure 1, the voltage is illustrated on the y-axis and the time is illustrated on the x-axis. The most important CP states are:
The voltage amplitude provided to the outlet of the charging station is controlled by turning the switch between supply and load on and off at a very high rate (1 kHz). The longer the switch is turned on compared to the off periods, the higher the available charging current. This proportion(between time it is turned off and time it is turned on) is called a “duty cycle” and expressed in a percentage. On the right side of Figure 1, you can seethe mapping between PWM duty cycles and available charging currents.
IEC 61851 defines that at a 5 % duty cycle, external digital communication (e.g. via the ISO 15118 protocol) must be applied to control the charging current.
This is exactly what this PWM module on KOSTAL’s EVSEpi board is doing: making sure the EVCC and SECC can properly communicate via ISO 15118 by applying a +/-12 V PWM signal with a 5% duty cycle on the CP pin. For more information on PWM signalling, see section 2.3 of the ISO 15118 Manual. Sign up for a free excerpt of the manual.
The EVSEpi board also displays the voltage swing on the CP line via an analog-to-digital converter (ADC), which enables the board to exactly determine the CP state. This way, KOSTAL can distinguish between the states CP_STATE_A_IDLE (+12 V), CP_STATE_B_VEHICLE_CONNECTED (+9 V), and CP_STATE_C_VEHICLE_CHARGE_REQUEST (+6 V), as illustrated in the video below.
Demonstration of Control Pilot (CP) state change and illustration in KOSTAL graphical user interface (at 1st CharIN Testival)
The conversion from an analog signal to digital signal happens through an additional circuit that delivers the PWM duty cycle as an interrupt. KOSTAL needed to write a kernel driver to start the measurement precisely at the rising edge of the duty cycle. Furthermore, different kinds of charging cables can be simulated via software by providing a proximity pilot (PP) pin. All in all, the EVSEpi board can do pretty much anything a charging station can do, except the high-voltage power transfer.
KOSTAL runs RISE V2G as a completely self-sufficient process on the EVSEpi board that manages the high-level communication (at 5 % duty cycle), all according to ISO 15118. The first step is a mutual discovery of IP addresses and ports using the SECC Discovery Protocol, called SDP for short. To get a glimpse at the complete communication sequence specified in the ISO 15118 standard, have a look at the ISO 15118 Manual.
The video below shows the simulation of a charging session using the Web UI KOSTAL programmed for their testing purposes. At the beginning of the video, the PLC modem is not active (the “PlcModemAktivieren” checkbox on the right is not checked and the AAG graph on the left is empty). This means that no ISO 15118 messages have been exchanged so far. These messages are listed in the “V2G” part on the left screen.
You will observe the following actions within this video:
An ISO 15118 charging communication session using RISE V2G as the ISO 15118 software stack on the KOSTAL charging controller
The RISE V2G code running on the Raspberry Pi Compute Module 3 is doing all the magic on the SECC side – the code has not been touched by KOSTAL.
This is a great opportunity to showcase the production-ready and mature nature of RISE V2G to anyone who is interested in using this open-source software for their testing purposes – or in deploying it within a charging station in the field.
What did you think of this article? Was the information new to you? If so, was it presented in an understandable way? I’d very much appreciate a quick email so I can continue refining these articles and resources for the EV community at large. Together, we can demystify tough concepts and all of us (and the industry as a whole) will be better off for it. I’m at [email protected] and hope to hear from you soon.
I plan to get more involved with SLAC by implementing an open-source software running the SLAC procedure (in Python) and writing a detailed article on exactly how SLAC works. Stay tuned for that and let me know if that would be of value for you.
Sara stands for Station Analytics and Remote Administration
The Open Charge Alliance is the official body that specifies OCPP 2.0.1 and defines a set of certification profiles. Each profile tests a certain set of functionalities. Depending on the functionality of your charger or CSMS, you might want to certify for either a subset or all of these profiles.
Continuous Integration / Continuous Deployment (CI/CD)
Scotti stands for Simple Compliance Testing Tool for Interoperability.
Efficient XML Interchange (EXI) is a very compact representation of XML. All ISO 15118 messages are defined in XML. EXI improves serialisation and parsing speed on embedded devices (like an EV and a charging station controller) and allows more efficient use of memory and battery life, compared to standard (textual) XML.
The Message Queuing Telemetry Transport (MQTT) is a lightweight, publish-subscribe network protocol that transports messages between devices.
A Charging Station Management System (CSMS) helps you monitor, maintain, and control your charger network.
Automated Connection Device (ACD), a conductive charging concept that doesn't require a person to plug in the charging cable. A first implementation is ACD-P, where 'P' stands for 'pantograph' charging of buses.
Power line communication, a communication technology that enables sending data over existing power cables.
Signal Level Attenuation Characterisation (SLAC) is based on power line communication (specifically HomePlug Green PHY) and is a protocol to establish the data link between the EV and the charging station via the charging cable.
Charge Point Operator, the entity monitoring and managing an EV charger network.