ESP32-gebaseerde energiemeter, project-update 1: we gaan verder met het prototype
op
We zijn begonnen met de ontwikkeling van een betrouwbare, gebruiksvriendelijke energiemeter met behulp van de ESP32-microcontroller. In onze vorige aflevering, “Prototype van een ESP32-gebaseerde energiemeter”, bespraken we de uitgangspunten voor het ontwerp, het blokschema en het plan om dit project te starten. Voordat we een update geven, even een samervatting. Het conceptuele ontwerp van de energiemeter wordt getoond in de rendering in figuur 1.
![ESP32 Energy Meter rendering](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_559,h_376,c_fit/https%3A%2F%2Fwww.elektormagazine.nl%2Fassets%2Fupload%2Fimages%2F42%2F20240711191805_esp-meter-up1-fig1.png)
Onze focus lag op real-time energiemonitoring, met de nadruk op veiligheid en betaalbaarheid. Om de energiemeting nauwkeurig te maken, kozen we voor de Atmel ATM90E32AS, een meerfasig energiemonitoring-IC. Dit IC krijgt de enkelfasige spanning van het lichtnet en gebruikt CT-transformatoren met deelbare kern om de stroom veilig te meten. Als belangrijkste microcontroller werd de ESP32 gekozen, omdat deze ingebouwde WiFi heeft en zeer voordelig is in vergelijking met andere MCU’s. In figuur 2 wordt het bijgewerkte blok van het project getoond. De geplande grootte van de uiteindelijke energiemeter is 100×80×30 mm (L×B×H), maar voor het prototype meet onze print 100×100 mm. Het doel van dit prototype is een proof-of-concept en als we daarin succesvol zijn, schalen we de afmetingen terug naar 100×80 mm of zelfs minder voor de uiteindelijke versie. Het belangrijkste doel van het maken van deze energiemeter was de ontwikkeling van een betaalbaar apparaat met IoT-ondersteuning dat nauwkeurige energiemetingen kan doen en de gebruiker via een mobiel apparaat realtime-energiegegevens kan leveren, zodat de gebruiker zijn energieverbruik in realtime kan volgen en energiezuiniger kan worden.
In dit artikel gaan we dieper in op de ontwikkeling van het project, met aandacht voor het schema-ontwerp, de implementatie van de isolatie van de schakeling en de belangrijkste verbeteringen die we hebben aangebracht sinds ons eerste concept.
![Energy meter block diagram](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_650,h_377,c_fit/https%3A%2F%2Fwww.elektormagazine.nl%2Fassets%2Fupload%2Fimages%2F42%2F20240711190514_esp32-energy-meter-update1.png)
Ontwerp van het schema
Het hart van ons project is het ontwerp van het schema. De ESP32-microcontroller blijft centraal staan in onze architectuur en sluit naadloos aan op de ATM90E32AS voor de energiemeting. Ons bijgewerkte schema weerspiegelt een meer gestroomlijnde aanpak, waarbij ruis wordt verminderd en signaalintegriteit, isolatie en meer worden verbeterd. In figuur 3 zie je het volledige schema van het project.
IC1 is de ATM90E32AS – het brein van dit hele project. Deze koppelt de netspanning via zeven 240kΩ-weerstanden (R1...R7) naar de pinnen V1P, V2P en V3P. Om het eenvoudig te houden, krijgen al deze pinnen een enkelfasige spanning van het lichtnet. Je kunt je afvragen waarom we geen transformator gebruiken in plaats van deze reeks weerstanden? Omdat we door de gekozen aanpak beperkingen hebben wat betreft afmetingen en kosten. Afgezien van het kleine formaat van de gebruikte weerstanden is er nog een voordeel, namelijk minder fasevertraging. Transformatoren kunnen een fasevertraging introduceren tussen de primaire en secundaire wikkelingen, wat invloed kan hebben op de timing en nauwkeurigheid van spanningsmetingen bij het meten van energie. Bij gebruik van weerstanden wordt deze fasevertraging aanzienlijk verminderd, wat mogelijk leidt tot nauwkeurigere realtime-spanningsmetingen. Maar het gebruik van deze serieweerstanden heeft een groot nadeel, namelijk het ontbreken van galvanische scheiding. We zullen het hier later in het artikel over hebben.
![ESP Energy Meter schematic](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_720/https%3A%2F%2Fwww.elektormagazine.nl%2Fassets%2Fupload%2Fimages%2F42%2F20240711192327_esp-meter-up1-fig3.png)
Nu gaan we over naar de stroommeting. Daarvoor gebruiken we stroomtransformatoren (CT’s). Connectoren K1...K3 zijn audio jack-connectoren waarop de SCT013 van YHDC wordt aangesloten, een CT met een deelbare kern, zie figuur 4. De reden om voor een CT te kiezen is dat deze voordelig en gebruiksvriendelijk is en geen verbindingen hoeven te worden onderbroken.
De energiemeter wordt gevoed door twee Hi-Link HLK-5M05 modules ACDC1/2, voor een galvanische scheiding tussen de MCU en de schakeling van de energiemeter, als bescherming tegen het risico van hoogspanning. De AMS1117-3.3 spanningsregelaars leveren voor de voeding een stabiele 3,3 V, essentieel voor de ESP32 en andere laagspanningsonderdelen. De veiligheid wordt verder verhoogd door de zekering F1 voor overstroombeveiliging en een metaaloxide-varistor (MOV) (R23) tegen spanningspieken. Voor diagnosedoeleinden geven LED1 en LED2 de voedings- en bedrijfsstatus aan. Connector K6 is verbonden met alle uitgangen van de MCU voor het debuggen.
![YHDC SCT013](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_443,h_368,c_fit/https%3A%2F%2Fwww.elektormagazine.nl%2Fassets%2Fupload%2Fimages%2F42%2F20240711192556_esp-meter-up1-fig4-YHDC-SCT013-.png)
Isolatie van de schakeling
In het schema heb je misschien twee DC-massa’s gezien, GND en GNDA. De massaklem (GND) is verbonden met IC1 en is ook verbonden met de nulleider van het lichtnet. GNDA is een geïsoleerde aardklem die is verbonden met de ESP32-WROOM-32D (MOD1). Voor de veiligheid is het noodzakelijk om de ESP32 te isoleren van de nulleider van het lichtnet. Omdat IC1 geen galvanische scheiding heeft, is het noodzakelijk om deze componenten van elkaar te isoleren. Nu rijst de vraag hoe de SPI tussen deze twee chips wordt gecommuniceerd. Hier komt IC2, een ADuM3151 van Analog Devices om de hoek kijken.
De ADuM3151 is van cruciaal belang voor een veilige communicatie tussen IC1 en de ESP32-WROOM-32D en zorgt voor galvanische isolatie van de SPI-lijnen. In figuur 5 zie je het functionele blokschema van IC2. Het maakt gebruik van inductieve koppelingen om digitale signalen door een isolatiebarrière te sturen, waardoor de op de computer aangesloten ESP32 effectief wordt afgeschermd van de piekspanningen van het lichtnet. Deze opzet is cruciaal voor het voorkomen van schade tijdens het coderen en debuggen, terwijl de ondersteuning van meerdere geïsoleerde kanalen zorgt voor betrouwbare en veilige SPI-communicatie, waarbij de gegevensintegriteit behouden blijft en afgestemd wordt op de veiligheids- en prestatiedoelen van het project.
![ESP32 Meter ADuM3151 SPIsolator](https://cdn.xingosoftware.com/elektor/images/fetch/dpr_1,w_532,h_459,c_fit/https%3A%2F%2Fwww.elektormagazine.nl%2Fassets%2Fupload%2Fimages%2F42%2F20240711192742_esp-meter-up1-fig5-ADuM3151-SPIsolator.png)
Gebruikersinterface en interactie
De gebruikersinterface van het ESP32-energiemeterproject is ontworpen om informatief en gebruiksvriendelijk te zijn. Een OLED-display, aangesloten op connector K5, aangesloten op de I2C-pinnen van de ESP32, doet dienst als primair display. Dit display toont alle relevante gegevens in real-time aan de gebruiker, inclusief energieverbruik en systeemstatus. De keuze voor OLED-technologie zorgt voor een duidelijke weergave en een snel reagerende interface.
Naast het hardware-display bevat het project een webserver die op de ESP32 wordt gehost. Deze webinterface bevat de gegevens die op het OLED-scherm worden weergegeven en biedt gebruikers een alternatieve manier om hun energieverbruik in de gaten te houden. De firmware is erop gericht om een web-UI en -UX te maken die zowel gebruiksvriendelijk als gedetailleerd is, zodat de gegevens toegankelijk en uitgebreid worden gepresenteerd. Dankzij deze dubbele interfaces kunnen gebruikers zowel ter plekke als op afstand communiceren met de energiemeter, wat de algehele bruikbaarheid van het systeem verbetert.
Volgende stappen en toekomstplannen
Naarmate het project vordert, is het eerste PCB-ontwerp opgestuurd voor productie. Na levering wordt de aandacht verlegd naar de firmwarekant van het project. De ontwikkeling van de firmware omvat het programmeren van de ESP32 om nauwkeurig gegevens over energieverbruik te verwerken en weer te geven, de webserver te beheren en te zorgen voor een soepele communicatie tussen alle componenten.
Voor de toekomst zijn er plannen om extra functies te integreren om de functionaliteit van de energiemeter te vergroten. Deze kunnen het volgende omvatten:
- monitoring op afstand: gebruikers kunnen via de webinterface vanaf elke locatie hun energieverbruik controleren;
- waarschuwingen en meldingen: implementatie van een systeem om gebruikers te waarschuwen over ongewone energieverbruikspatronen of potentiële systeemproblemen;
- tools voor gegevensanalyse: analysetools opnemen in de webinterface om gebruikers te helpen inzicht te krijgen in trends van hun energieverbruik en te bepalen waar verbeteringen in efficiëntie mogelijk zijn.
We streven ernaar om voortdurend te verbeteren en te innoveren, waarbij we ons richten op feedback van gebruikers om toekomstige verbeteringen door te voeren. Het doel is om niet alleen een betrouwbare tool voor energiemonitoring te bieden, maar ook om gebruikers inzicht te geven in hun energieverbruik, waardoor bewustwording en efficiëntie worden bevorderd.
Dit artikel verscheen oorspronkelijk in Elektor jan/feb 2024 (230709). Bekijk de ESP32-gebaseerde energiemeterserie.
Discussie (0 opmerking(en))