1 of 40

Open Source CCS

Implementierung

zur Nutzung der Schnellladeinfrastruktur

Linuxtag Augsburg

20 Apr 2024

2 of 40

Unser Hintergrund

🇬🇧 Johannes mit E-Touran in Greenwich 2023

🇮🇪 Janosch, Johannes, Damian in Cork mit EV Taxi 2022

Uwe mit FOCCI 2024

3 of 40

Motivation: Ladezeit für 30kWh

Type 2 AC

7kW

🐢 257 min

30 min 🐇

CCS Combo

60kW

Anfahrt gestern: Kassel - Augsburg: 103 kWh

4 of 40

Bundesnetzagentur 11/2023

weit verbreitet

sehr komplex

Eigene Messung 2024

5 of 40

Der Clou beim Schnellladen

  • Zum Laden muss geregelter Gleichstrom her
  • Das Ladegerät wandert aus dem Auto heraus
  • Dadurch kann es leistungsfähiger sein

6 of 40

Simple Hardware im Auto

7 of 40

Gesamtsystem

8 of 40

Uwes Teil

Geschichte von pyPLC & Co

Etwas CCS-Theorie

9 of 40

Und wie bekomme ich Strom?

10 of 40

Power-Line-Communication

11 of 40

Geschichte von pyPLC (2) – The Modem

12 of 40

Geschichte von pyPLC (3) - Wireshark

13 of 40

Geschichte von pyPLC (4) - Ziele

Use-Cases

  1. Mitloggen der Kommunikation zwischen Fahrzeug und Ladesäule, um Ladeprobleme zu verstehen („ListenMode“)
  2. pyPLC als Ladestation, um Fahrzeug zu laden oder entladen („EvseMode“)
  3. pyPLC als Ladecontroller im Fahrzeug („PevMode“)

14 of 40

Das Puzzle fügt sich zusammen

  • Dez 2021: uhi‘s erster Wireshark-Mitschnitt an öffentlicher Ladestation
  • Feb 2022: Catfish startet den AR7420-Thread mit modifizierten Homeplug-Modems auf openinverter.org
  • Mai 2022: Johannes: We really need a full open source implementation of CCS that lets everyone play with it until it works with all chargers.
    • Entscheidung: python scripts 🡪 Name „pyPLC“ (python power line communication)
  • Okt 2022: Modem spricht erstmals mit Ioniq. Initial commit auf github.
  • Dez 2022: Glühlampe am Alpitronic leuchtet

15 of 40

Weitere Anwendungsbeispiele

16 of 40

Laptop laden am Schnelllader

März 2023

17 of 40

Tee kochen am Schnelllader

März 2023

18 of 40

Fahrzeug illuminiert Glühbirne

April 2023

19 of 40

Elektro Umbau lädt am Schnelllader

20 of 40

5000km Europa-Tour mit pyPLC

21 of 40

Geht‘s noch kleiner?

  • „Sperrige“ Lösung mit
    • Homeplug-Modem
    • Raspberry o.ä.
    • Netzwerkkabel
    • Relais-Treiber
    • Spannungsversorgung
    • Interfacelogik

22 of 40

Der Wechsel zu Embedded

Juli –Okt 2023: embedded-Board entsteht

23 of 40

Das Kind braucht einen Namen

Foccci (Fully Open CCS Charge Controller Interface)

github.com/uhi22/foccci

Clara

github.com/uhi22/ccs32clara

Software

Hardware

24 of 40

Status quo und Ausblick

  • Foccci im Shop erhältlich
  • In zwei Fahrzeugen erfolgreich im Einsatz, weitere im Aufbau
  • Software stabil
  • Verbesserungen in Richtung Stromsparen (sleep/wakeup)
  • Feature-Ergänzungen je nach Bedarf
  • Komplettes Kit für den Shop
  • Docu verbessern

25 of 40

CCS – Theorie

26 of 40

Theorie (1) - Verbindungsaufbau

SLAC, SetKey, SDP, TCP connect

CCM

27 of 40

Theorie (2) – Session Setup

  • Protokoll wird ausgehandelt (DIN70121, ISO15118 oder Tesla)
  • Ladeparameter werden ausgehandelt (minimale und maximale Spannung, verfügbare Leistung, …)

CCM

28 of 40

Theorie (3) – Ladevorbereitung

  • Stecker wird verriegelt
  • Isolationsprüfung
  • PreCharge

CCM

29 of 40

Theorie (4) – Laden

  • Fahrzeug sendet gewünschten Strom und Spannung
  • Ladesäule liefert Energie entsprechend der Vorgabe

CCM

U, I, SOC

30 of 40

Theorie (5) – Ladung beenden

  • Nutzerwunsch an Säule oder Fahrzeug, oder Akku voll
  • Prüfung, ob Abschaltung funktioniert
  • Stecker entriegeln

CCM

U, I, SOC

31 of 40

Theorie (11) – Protokollstack

PLC

Ethernet

IPv6

TCP

V2GTP

EXI

Homeplug GreenPHY:

  • 1155 Träger im Bereich von 2MHz bis 30MHz
  • Phasenmodulation (QPSK)
  • Forward Error Correction (FEC)
  • 10 Mbit/s
  • Security: AES 128 und SHA-256

MAC-Adressen je 6 Byte

16-Byte IP-Adressen

Zuverlässige Übertragung, Wiederholung verlorengegangender Nachrichten

Botschaftstyp und -größe

Komprimierte XML-Datenstrukturen

32 of 40

Openinverter Framework C++

  • Etwas HAL für den STM32
  • Bootloader
  • Standardisierte Kommunikation

33 of 40

Hardwarefunktionen

  • CAN (Open) Kommunikation
  • Digitale IO Pins
  • Analoge Eingänge
  • UART Textterminal
  • LIN Kommunikation
  • Effizienter Hardware Scheduler

34 of 40

Beispiel IO Pins

35 of 40

Steuerung via Terminal

36 of 40

Web UI

  • Über UART oder CANOpen
  • Selbe Weboberfläche für alle �openinverter Projekte
  • Parameter, Anzeigewerte, Plots,�Datenlogger, Firmware Upgrade
  • Läuft auf ESP8266 oder ESP32

37 of 40

CAN Mapping

38 of 40

39 of 40

Resourcen (online)

40 of 40

Resourcen (heute)

  • E-Touran am Parkplatz
  • OpenInverter Org CCS Stand