Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uhi22/ccs32
WT32-ETH01 with tpLink HomePlug modem as CCS charge controller
https://github.com/uhi22/ccs32
arduino ccs charging electric-vehicles homeplug iso15118 pev wt32-eth01
Last synced: about 2 months ago
JSON representation
WT32-ETH01 with tpLink HomePlug modem as CCS charge controller
- Host: GitHub
- URL: https://github.com/uhi22/ccs32
- Owner: uhi22
- License: gpl-3.0
- Created: 2023-03-11T21:20:13.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-07-18T07:01:20.000Z (over 1 year ago)
- Last Synced: 2024-10-11T13:45:26.773Z (2 months ago)
- Topics: arduino, ccs, charging, electric-vehicles, homeplug, iso15118, pev, wt32-eth01
- Language: C
- Homepage:
- Size: 591 KB
- Stars: 19
- Watchers: 5
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE.md
Awesome Lists containing this project
README
# CCS Charging Experiments with ESP32
## Goal
This project intends to use the ESP32-based WT32-ETH01 board together
with a tpLink Homeplug modem containing an AR7420, to build the vehicle
side of a CCS charging system for electrical cars.The basis of this port is the python-variant in
https://github.com/uhi22/pyPLC## News / Change history / functional status
### 2023-04-05 Charging loop on Alpitronics works
- After fixing several topics regarding the NeighborSolicitation, the SDP succeeds, and we come to the charging loop on alpitronics hypercharger.### 2023-03-25 LC Display works
- The three-line-OLED display (see https://github.com/uhi22/SerialToOLED) shows the charging progress.
- Simulated charging works with simulated EVSE (Win10, pyPlc).
- The main crash reason was a heap leakage because receive buffer was not free'd. This is fixed.
- Sporadically still crashes: `panic'ed (Unhandled debug exception). Debug exception reason: Stack canary watchpoint triggered (emac_rx)`### 2023-03-19 PEV state machine until Charging Loop
With simulated EVSE (Win10, pyPlc) on the opposite end, the WT32-ETH01 makes the SLAC, SDP, NeighborDiscovery, TCP
and the charging state machine. It runs until the charging loop.
Unfortunately, the controller is not really stable. Several ethernet issues are
visible:
- Sometimes the eth raises `ETHERNET_EVENT_DISCONNECTED`.
- Sporadically we get `emac_esp32_transmit(229): insufficient TX buffer size`
- Often `esp.emac: no mem for receive buffer`
- Sporadically a complete crash: `panic'ed (Unhandled debug exception). Debug exception reason: Stack canary watchpoint triggered (emac_rx)`### 2023-03-11 Reading the HomePlug software versions works
Initial Arduino sketch, which is able to send and receive HomePlug
messages on the Ethernet port of the WT-ETH01. Debug console is
the Arduino IDE, via the RX0/TX0, which are also used for programming.
As test, the sketch sends GetSoftwareVersion requests and shows
the related responses on the debug console.## Benefits of this solution
- much faster startup time (2s) compared to the Raspberry or Notebook
- much less current consumption compared to the Raspberry or Notebook
- more compact design## Drawbacks
- no log file for offline analysis## Todos
[x] porting of all required homeplug stuff from python to C.
[x] porting the SLAC state machine
[ ] porting the Syslog message transmission
[x] porting the UDP and SDP
[x] integrating TCP
[x] integrating the EXI decoder/encoder
[x] porting the pev state machine