Energiemessgerät mit ESP32, Projekt-Update 1: Nächste Schritte beim Prototyping
Wir haben mit der Entwicklung eines zuverlässigen, benutzerfreundlichen Energiezählers begonnen, der den ESP32-Mikrocontroller nutzt. In unserem letzten Beitrag, „Prototyping eines Energiezählers mit ESP32“, haben wir die grundsätzlichen Anforderungen an den Entwurf, das Blockschaltbild und den Plan für den Start dieses Projekts besprochen. Bevor wir ein Update dazu geben, lassen Sie uns noch einmal rekapitulieren. Das Konzept des Energiezählers ist in Bild 1 zu sehen.
Unser Schwerpunkt lag auf der Energieüberwachung in Echtzeit, wobei ein Hauptaugenmerk auf Sicherheit und Erschwinglichkeit lag. Um die Energiemessung präzise zu gestalten, haben wir uns für ein mehrphasiges Energieüberwachungs-IC ATM90E32AS von Atmel [2] entschieden. Dieses IC bezieht die einphasige Spannung aus dem Netz und verwendet Split-Coil-Transformatoren, um den Strom sicher zu messen. Als Mikrocontroller für die Hauptanwendung wurde der ESP32 ausgewählt, da er über integriertes WLAN verfügt und im Vergleich zu anderen MCUs sehr kostengünstig ist. In Bild 2 ist das aktualisierte Blockschaltbild des Projekts dargestellt.
Die geplante Größe des endgültigen Energiezählers beträgt 100 × 80 × 30 mm (L×B×H), aber für den Prototyp ist unsere Platine mit 100 mm × 100 mm noch zu groß. Unser Ziel ist es aber, diesen Prototyp als Proof-of-Concept zu verwenden. Wenn wir damit erst einmal erfolgreich sind, können wir die Größe für die endgültige Version auf 100 × 80 mm oder sogar weniger reduzieren. Der Hauptzweck der Entwicklung dieses Energiemessgeräts bestand darin, ein IoT-fähiges, preisgünstiges Gerät zu entwickeln, das genaue Energiemessungen vornehmen und dem Benutzer über ein mobiles Gerät (Handy, Computer) Energiedaten in Echtzeit zur Verfügung stellen kann, damit dieser seinen Stromverbrauch in Echtzeit verfolgen und in der Folge energieeffizienter handeln kann.
In diesem Artikel gehen wir näher auf die Entwicklung des Projekts ein und beleuchten den Schaltplanentwurf, die Implementierung einer Isolierung der Stromkreise und die wichtigsten Verbesserungen, die wir seit unserem ursprünglichen Konzept aufgenommen haben.
Entwurf des Schaltbildes
Der ESP32-Mikrocontroller bleibt das Herzstück unseres Geräts und bildet eine nahtlose Schnittstelle zum ATM90E32AS für die Energiemessung. Unser aktualisierter Schaltplan spiegelt einen schlankeren Ansatz wider, mit reduziertem Rauschen und Verbesserungen in der Signalintegrität, der Isolierung der Schaltkreise und vieles mehr. In Bild 3 sehen Sie den vollständigen Schaltplan des Projekts.
Der ATM90E32AS (IC1) ist das Gehirn des gesamten Projekts. Er verbindet die Netzspannung über sieben in Reihe geschalteten 240-k-Widerständen (R1...R7) mit den Pins V1P, V2P und V3P. Der Einfachheit halber werden alle diese Pins mit einer Phasenspannung aus dem Netz versorgt. Sie fragen sich vielleicht, warum nicht ein Transformator anstelle dieser Reihe von Widerständen? Weil wir aufgrund des von uns gewählten Ansatzes Größen- und Kostenbeschränkungen haben. Abgesehen von der geringen Größe der Widerstände gibt es einen weiteren Vorteil, nämlich eine geringere Phasenverzögerung. Transformatoren können eine Phasenverzögerung zwischen den Primär- und Sekundärwicklungen verursachen, die sich auf das Timing und die Genauigkeit der Spannungswerte bei Energiemessungen auswirken kann. Bei der Verwendung von Widerständen wird diese Phasenverzögerung erheblich reduziert, was zu genaueren Echtzeit-Spannungsmessungen führen kann. Die Verwendung dieser Reihenwiderstände hat jedoch einen großen Nachteil, nämlich die fehlende galvanische Isolierung. Wir werden später in diesem Artikel darauf eingehen.
Kommen wir nun zur Strommessung: Hierfür verwenden wir Split-Coil-Stromtransformatoren des Typs SCT013 von YHDC, die an die Audio-Klinkenbuchsen K1...K3 angeschlossen werden. Es handelt sich um Stromwandler mit geteiltem Kern, wie in Bild 4 dargestellt. Der Grund für die Wahl des Stromwandlers war, dass er kostengünstig ist, einfach anzuwenden und vor allem, dass die Außenleiter bei der Montage nicht aufgetrennt/abgeklemmt werden müssen, da sich die obere Kernhälfte des Wandlers einfach aufklappen lässt.
Der Energiezähler wird von den zwei HLK-5M05-Modulen ACDC1 und ACDC2 der Firma Hi-Link versorgt, um eine galvanische Trennung zwischen der MCU und der Schaltung des Energiezählers zu gewährleisten und vor Risiken durch die Netzspannung zu schützen. Die beiden Regler AMS1117-3.3 liefern stabile 3,3-V-Spannungen, die für den ESP32 und andere Niederspannungsbauteile unerlässlich sind. Die Sicherheit wird durch Sicherungen (F1) für den Überstromschutz und R23, einen Metalloxid-Varistor (MOV) gegen Spannungsspitzen weiter verstärkt. Zu Diagnosezwecken zeigen LED1 und LED2 die Stromversorgung und den Betriebsstatus an. Über den Anschluss K6 werden alle Ausgänge der MCU für das Debugging angeschlossen.
Isolierung der Schaltung
Im Schaltplan haben Sie vielleicht zwei DC-Massen bemerkt, GND und GNDA. Der Masseanschluss GND ist mit dem IC1 verbunden und außerdem mit dem Neutralleiter des Wechselstromnetzes. GNDA ist eine isolierte Masseklemme, die mit dem ESP32-WROOM-32D (MOD1) verbunden ist. Um die Sicherheit zu gewährleisten, muss der ESP32 unbedingt vom Neutralleiter des Wechselstromnetzes isoliert werden. Da IC1 über keine galvanische Trennung verfügt, muss er unbedingt von der Controllerabteilung isoliert werden. Dabei stellt sich natürlich die Frage, wie beide Chips über das SPI überhaupt kommunizieren sollen. Hier kommt IC2, ein ADuM3151 von Analog Devices, ins Spiel.
Der ADuM3151 ist von zentraler Bedeutung für die sichere Kommunikation zwischen IC1 und dem ESP32-WROOM-32D, da er eine galvanische Trennung der SPI-Leitungen gewährleistet. In Bild 5 sehen Sie, wie IC2 im Inneren aufgebaut ist. Das IC verwendet induktive Koppler, um digitale Signale über eine Isolationsbarriere zu übertragen. Dabei werden die Hochspannungstransienten des Wechselstromnetzes effektiv vom ESP32 und dem eventuell daran angeschlossenen Computer ferngehalten. Dies ist entscheidend, um Schäden während der Programmierung und der Fehlersuche zu vermeiden. Gleichzeitig ist die sichere und zuverlässige SPI-Kommunikation über mehrere isolierte Kanäle gewährleistet, was die Datenintegrität aufrechterhält und mit den Sicherheits- und Leistungszielen des Projekts übereinstimmt.
Benutzeroberfläche und Interaktion
Die Benutzeroberfläche des ESP32-Energiemessers ist informativ und benutzerfreundlich gestaltet. Als primäre und lokale Anzeige dient ein reaktionsschnelles und klar ablesbares OLED-Display, das an K5 und somit an den I2C-Pins des ESP32 angeschlossen ist. Dieses Display zeigt dem Benutzer alle relevanten Daten in Echtzeit an, einschließlich Kennwerte zur Energieaufnahme und zum Systemstatus.
Zusätzlich zum Hardware-Display umfasst das Projekt einen Webserver, der auf dem ESP32 gehostet ist. Diese Weboberfläche spiegelt die auf dem OLED-Bildschirm angezeigten Daten wider und bietet den Nutzern eine alternative Möglichkeit zur Überwachung ihres Energiebedarfs. Das Entwicklungsteam hat es sich zur Aufgabe gemacht, eine benutzerfreundliche und zugleich detaillierte Web-Oberfläche zu schaffen, die eine barrierefreie und umfassende Datendarstellung gewährleistet. Dieser Ansatz mit zwei Schnittstellen ermöglicht es den Benutzern, sowohl lokal als auch aus der Ferne mit dem Energiezähler zu interagieren, was die Benutzerfreundlichkeit des Systems insgesamt erhöht.
Nächste Schritte und Zukunftspläne
Während das Projekt voranschreitet, wurde das ursprüngliche Platinenlayout an einen PCB-Service verschickt. Nach der Rückkehr der Schaltung wird sich der Schwerpunkt auf die Firmware-Seite des Projekts verlagern. Bei der Entwicklung der Firmware geht es darum, den ESP32 so zu programmieren, dass er die Energieverbrauchsdaten genau verarbeitet und anzeigt, den Webserver verwaltet und eine reibungslose Kommunikation zwischen allen Komponenten gewährleistet.
Für die Zukunft ist geplant, weitere Funktionen zu integrieren, um die Funktionalität des Energiezählers zu verbessern. Dazu könnten gehören:
- Fernüberwachungsfunktionen: Die Nutzer können ihre Energieverbrauchsdaten von jedem beliebigen Ort aus über die Webschnittstelle überprüfen.
- Warnungen und Benachrichtigungen: Implementierung eines Systems, das die Nutzer über ungewöhnliche Muster der Energieaufnahme oder mögliche Systemprobleme informiert.
- Werkzeuge zur Datenanalyse: Integration von Analysetools in die Weboberfläche, um den Nutzern zu helfen, ihre Energieverbrauchstrends zu verstehen und Möglichkeiten zur Verbesserung der Effizienz auszumachen.
Wir bemühen uns um kontinuierliche Innovation, wobei wir uns auch auf das Feedback der Nutzer freuen, um in Zukunft Verbesserungen vorzunehmen. Ziel ist es, nicht nur ein zuverlässiges Instrument zur Energieüberwachung bereitzustellen, sondern den Nutzern auch Einblicke in ihren Energieverbrauch zu geben und so das Bewusstsein um die Effizienz zu fördern.
Dieser Artikel erschien ursprünglich in Elektor Jan/Feb 2024 (230709). Schauen Sie sich die ESP32-basierte Energiezählerserie an.