View on GitHub

Smart Charging Wizard

A Lightweight User Interface for Cloud-based Smart Charging of Electric Vehicles

Why should you use the Smart Charging Wizard? πŸ€”

Smart charging, i.e. the controlled and coordinated charging of Electric Vehicles (EVs) seems promising for efficient electric mobility. According concepts, however, require sufficient user acceptance. For this purpose, the Smart Charging Wizard provides a lightweight User Interface (UI) that makes smart charging more transparent. In particular, the utilization of energy and time flexibilities in EV charging events to reduce both EV operating cost and battery aging is illustrated.


What do you have to put into the Smart Charging Wizard? πŸ“₯

Once you parked your EV at a charging station, you may calculate a charging event for various input parameters, these comprise:

The following screencast presents the Input Page of the Smart Charging Wizard, and how to set the aforementioned inputs:


What magic does the Smart Charging Wizard do? πŸ§™

The Smart Charging Wizard is a container-based web app written in Python. It contains a CasADi optimization module and a Streamlit front end. Once you hit the Calculate-Button, the optimization scheme is run to reduce both battery aging and electricity costs. This can be achieved by adapting the charging power of your EV for specific points in time while considering the dynamic behavior of the EV battery. Furthermore, the Smart Charging Wizard respects all constraints given by you (departure time and SOC) and the EV (battery capacity, charging power). Finally, the results are prompted as a table and some plots on the Result Page. See the following screen cast:


How does it help you charge your EV? πŸ”Œ

If you like what the Smart Charging Wizard calculated for you, the actual charging process may be started. To adapt, monitor, or stop the charging process later or from another device, you can enter an optional session token, e.g. your name. Or, if you just want to get it on, hit the Start Charging-Button. The Smart Charging Wizard will then send the calculated charging power profile to a second backend service called Charging Session Handler (CSH). While you are doing other important things, the CSH takes care of charging your EV. On the Charging Page, you can monitor the charging process in real time and immediately stop it, if your plans change suddenly. See the following screen cast for the details:


What's behind the magic of the Smart Charging Wizard? πŸ’‘

If you now wonder, how all of that might work, here's some more insight. You interact with the Smart Charging Wizard, e.g. via a smart device using HyperText Transfer Protocol (HTTP). The Smart Charging Wizard runs together with the Charging Session Handler (CSH) and a Message Queuing Telemetry Transport (MQTT) server in a cloud environment. Each service is containerized by means of Docker and deployed on a Kubernetes cluster. Via JavaScript Object Notation (JSON) encoded messages, the MQTT server establishes communication between Smart Charging Wizard, CSH, and a Programmable Logic Controller (PLC). For communication between the PLC and the charging station, we choose the User Datagram Protocol (UDP). The purpose of the PLC is to set the current at the charging station using the International Electrotechnical Commission (IEC) 61851 standard. Furthermore, the PLC receives the charging station’s actual status and forwards it via MQTT to the Smart Charging Wizard.

That was too fast? Check out the following figure that shows an overview of the IoT architecture and the participants in the context of the Smart Charging Wizard:


Who contributed? 🀝

Of course, all of that magic could not have been achieved without many hands working togehter. Don't miss the following list of contributors with their major task and affiliation:

Stefan Meisenbacher, M.Sc. (Optimization Logic, Karlsruhe Institute of Technology)

Karl Schwenk, M.Sc. (Frontend Implementation, Karlsruhe Institute of Technology & Mercedes-Benz AG)

Johannes Galenzowski, M.Sc. (Communication Concept, Karlsruhe Institute of Technology)

Tobias Moser, B.Eng. (Hardware Support, Karlsruhe Institute of Technology)

Friedrich Wiegel, M.Sc. (Hardware Support, Karlsruhe Institute of Technology)

Matthias Frey (Deployment Support, Karlsruhe Institute of Technology)

Dr.-Ing. Simon Waczowicz (Supervision, Karlsruhe Institute of Technology)

Prof. Dr. Ralf Mikut (Supervision, Karlsruhe Institute of Technology)

Prof. Dr. Veit Hagenmeyer (Supervision, Karlsruhe Institute of Technology)


Where else should you have a look at? πŸ”Ž

Source Code (Coming Soon!)

Paper on the Maths

Paper on the Architecture

Our Test Environment: The Energy Lab 2.0 at the Karlsruhe Institute of Technology

Some other cool projects from the Institute for Automation and Applied Informatics

Python

Streamlit

CasADi

Docker

Kubernetes


Hits