Wiznet makers

Hannah

Published January 15, 2026 ©

72 UCC

15 WCC

1 VAR

0 Contests

0 Followers

0 Following

Original Link

OpenSmartCharger

Universal, intelligent battery charger with bidirectional energy management and comprehensive logging capabilities

COMPONENTS
PROJECT DESCRIPTION

OpenSmartCharger는 EV(전기차) 또는 대용량 배터리를 “안전하게 충전해도 되는지 판단하고, 충전을 시작·중단·감시하는 제어 장치(컨트롤러)”를 오픈소스로 구현한 프로젝트입니다.

👉 즉, 전기를 “만들거나 변환하는 파워 충전기”가 아니라
👉 “충전을 허가하고 통제하는 지능형 제어 시스템(EVSE Controller)” 입니다

EVSE는 전기차에 전기를 공급해도 되는지를 판단하고, 충전을 시작·중단하며, 위험 상황에서 즉시 차단하는 전기차 충전 제어 장치이다. 

배터리를 직접 충전하지는 않으며, 차량과 충전 인프라 사이에서 안전과 제어를 담당한다. OpenSmartCharger는 이러한 EVSE의 핵심 제어 로직을 오픈소스로 구현한 프로젝트이다.

왜 이 프로젝트에 W5500이 사용되었는가?

OpenSmartCharger는 단순한 배터리 충전기가 아니라, 네트워크에 연결된 스마트 충전 시스템으로 설계되었습니다.

이를 위해 다음과 같은 요구사항이 존재합니다.

1.원격 모니터링: 전압, 전류, 충전 상태, 오류 및 보호 상태 등 실시간 데이터 모니터링

2.외부 시스템과의 연동: 서버, 웹 대시보드, 에너지 관리 시스템(EMS) 등과의 유기적인 데이터 교환

3.안정적인 유선 통신: 충전 인프라는 24시간 연속 동작해야 하므로, Wi-Fi 기반 통신의 한계를 넘어선 안정적인 통신 방식 필요

이러한 요구를 충족하기 위해 Ethernet 연결이 필수적이었으며, 그 결과 W5500 Ethernet 컨트롤러가 선택되었습니다. W5500은 하드웨어 TCP/IP 스택을 내장하고 있어, 마이크로컨트롤러의 부담을 줄이고 안정적이며 빠른 네트워크 통신을 가능하게 합니다. 이는 24시간 연속 동작해야 하는 충전 인프라의 안정성을 확보하는 데 결정적인 역할을 합니다.

아키텍처 개요 (KR)

OpenSmartCharger의 아키텍처는 크게 제어 계층, 센서 계층, 출력 제어 계층, 그리고 네트워크/연동 계층으로 구성됩니다.

  • 제어 계층 (Control Layer): 중앙 마이크로컨트롤러(MCU, Arduino Platform)가 핵심 역할을 합니다. 이 MCU는 실시간으로 센서 데이터를 수집하고, EVSE 충전 로직(파일럿 신호)에 따라 충전 허가/차단 및 상태를 판단하는 상태 머신을 실행합니다. 사용자 입력이나 외부 시스템의 명령에 따라 충전 프로세스를 제어합니다.
  • 센서 계층 (Sensor Layer): 전압 센서, 전류 센서, 온도 센서 등 다양한 센서들이 충전 중인 전기의 상태와 주변 환경을 모니터링합니다. 이 데이터는 제어 MCU로 전달되어 과전압, 과전류, 과열 등의 위험 상황을 감지하고, 이상 발생 시 즉각적인 충전 차단을 위한 결정을 내립니다. 이를 통해 사용자 및 EV의 안전을 확보합니다.
  • 출력 제어 계층 (Output Control Layer): 제어 MCU의 명령에 따라 실제 충전 전력을 제어하는 부분입니다. 고전압/고전류를 담당하는 릴레이(Relay) 또는 컨택터(Contactor)가 EV로의 전력 공급을 물리적으로 연결하거나 차단합니다. 또한, EV 충전 표준에 따른 파일럿 신호 제어를 통해 EV와 통신하며 충전량을 조절하고 안전 기능을 수행합니다.
  • 네트워크/연동 계층 (Network/Integration Layer): W5500 Ethernet 컨트롤러를 통해 인터넷에 연결되어 외부 시스템과의 통신을 담당합니다. REST API 및 MQTT 프로토콜을 사용하여 외부 서버, 웹 대시보드, 스마트폰 앱 등과 데이터를 주고받으며 원격 모니터링 및 제어를 가능하게 합니다. 이는 스마트 충전 시스템으로서의 핵심 기능입니다.

정리 요약 

OpenSmartCharger는 EV 및 배터리 시스템을 위한 오픈소스 스마트 충전기로, 충전 제어와 안전 로직을 소프트웨어로 구현한 네트워크 기반 충전 플랫폼이다. Ethernet(W5500)을 통해 안정적인 원격 모니터링과 시스템 연동이 가능하며, 상용 EVSE 구조를 오픈 하드웨어와 오픈 소프트웨어로 재현함으로써 투명하고 확장 가능한 충전 시스템을 제시한다.

 

Project Overview (EN)

OpenSmartCharger is an open-source smart charging system designed for EVs or battery-powered systems.
It focuses on implementing charging control, monitoring, and safety logic through software, enabling a low-cost and highly customizable charging solution.

Core values:

  • Open-source alternative to proprietary chargers
  • Microcontroller-based direct control
  • Flexible software-defined charging logic

Why is W5500 used in this project?

OpenSmartCharger is not just a basic charger —
it is designed as a network-connected smart charging system.

This requires:

1.Remote monitoring

  • Voltage, current, charging state, fault status

2.Integration with external systems

  • Servers, dashboards, or energy management systems

3.Stable wired communication

  • Charging infrastructure runs 24/7
  • Wi-Fi instability is unacceptable

To meet these requirements, Ethernet connectivity was essential,
and W5500 was chosen as the Ethernet solution.

Core Hardware & Technology (EN)

Key components include:

  • Microcontroller (Arduino-based)
    Handles charging logic, sensor data, and relay/contactor control
  • Current & Voltage Sensors
    Real-time monitoring and safety protection
  • Relay / Contactor
    Controls the high-power charging path
  • EVSE Control Logic (Pilot Signal)
    Implements charging authorization according to EV standards

The project essentially recreates a commercial EVSE architecture using open hardware and software.

Implementation & Challenges Solved (EN)

Notable implementation points:

  • Charging start/stop handled via a software state machine
  • Real-time safety cutoff using sensor feedback
  • Fully debuggable and extendable charging logic
  • Minimal hardware dependency

The charger is no longer a black box —
it’s a fully transparent and controllable system.

FAQ

Q1. Why choose WIZnet W5500 for a PoE-connected smart charger instead of Wi-Fi only?
A1. A PoE + Ethernet design supports a “set it and forget it” workflow: power and network in one cable, stable connectivity for long charge/discharge tests, and fewer surprises from RF interference. In a charger that emphasizes continuous logging and remote monitoring (web/MQTT), a wired link reduces operational friction.

Q2. What is the W5500’s role inside OpenSmartCharger?
A2. In this architecture, W5500 is the dedicated Ethernet connectivity component on the PoE module (listed alongside Ag9912 and DC/DC). That makes Ethernet an input-module capability rather than a fragile add-on, enabling DHCP-based LAN access and network services (web/API/MQTT) while the ESP32-S3 handles charger logic and UI.

Q3. How does the PoE module design benefit real deployments?
A3. The PoE module bundling PD + Ethernet + DC/DC means you can mount the charger on a bench or wall, run one cable, and keep it reachable for monitoring and updates. This is especially useful for multi-hour capacity tests, battery health tracking, or shared lab environments where you want predictable access without reconfiguring Wi-Fi.

Q4. Is W5500 integration beginner-friendly in ESP32-class systems?
A4. Conceptually, yes: the design isolates Ethernet into a module, so the core system remains stable even as connectivity options evolve. Practically, you still need solid embedded fundamentals—power integrity, SPI-style peripheral integration (if that’s what the design uses), and robust state machines for charge/discharge safety. The modular approach reduces risk by decoupling concerns.

Q5. If the project later adds IPv6 or future-proof networking, what should change?
A5. The modular structure suggests an upgrade path: keep the main ESP32-S3 charger control unchanged while swapping the network module. If IPv6 becomes a requirement (enterprise networks, modern infrastructure), moving to an IPv6-capable Ethernet controller module would align with the project’s “module-first” architecture without rewriting the entire charger design.

Documents
Comments Write