AEQ-WEB

Arduino Current Sensor - Wechselstrom messen
Arduino
13.01.2019

Switch language to: en Englisch

Arduino Leistungsmesser

Für dieses Projekt gibt es auch ein Video auf Youtube: Arduino Current Power Sensor - Strom und Leistung im Wechselstromkreis messen


In diesem Artikel berichten wir über einen sehr günstigen induktiven Wechselstrom Leistungsmesser. Da es für dieses Bauteil sowohl vom Hersteller als auch auf von diversen anderen Blogs kaum oder keine Information darüber gibt, ist das für uns ein Anlass, dieses Produkt zu testen.


Wie das Bauteil funktioniert

Der elektrische Aufbau von diesen induktiven Leistungsmessern ist eigentlich sehr einfach und auch bei den Energieversorgern seit Jahrzehnten vor allem im Bereich der Hochspannung im Einsatz. Ein großer Vorteil ist, dass mit dieser Methode hohe Ströme "berührungslos" gemessen werden können. Der Leiter bzw. die Phase im Wechselstromnetz wird durch dieses Bauteil geführt. Wenn ein Verbraucher angeschlossen ist, so fließt durch die Leitung ein Strom, der um die Leitung ein Magnetfeld aufbaut. Durch dieses Magnetfeld wird in einer Spule, die sich in diesem Bauteil befindet, eine kleine Spannung induziert. Je mehr Strom fließt, desto höher ist die induzierte Spannung in der Spule. Mit einem Mikrocontroller kann dadurch analog eine Spannung ausgewertet werden, die dann in den fließenden Strom umgerechnet werden kann. Wird dann der Strom mit der Spannung multipliziert, so kann die Leistung in Watt errechnet werden.


Leistung messen mit dem Arduino

Für die Auswertung nehmen wir ein Arduino Uno Board. Das ganze Projekt kann aber auch sehr leicht mit einem ESP32 oder NodeMCU realisiert werden. Für die Auswertung wird lediglich ein analoger Eingang am jeweiligen Mikrocontroller benötigt, der dann den eingelesenen Spannungswert in Strom und Leistung umrechnet. Zusätzlich wird der Sensor noch mit 5 Volt und der Masse vom Mikrocontroller verbunden.


Arduino Current Sensor Power Meter - Wechselstrom und Leistung messen - Schaltplan

Probleme beim Messen

Ein großes Problem ist die korrekte Messung bei Wechselspannungen. Da das Wechselstromnetz in Europa bei 50 Hz liegt, bedeutet das, dass auf der gemessenen Leitung pro Sekunde 50 Schwingungen vorhanden sind. Wird der analoge Eingang schnell eingelesen, so sieht man, dass die Spannung sehr schwankt, aber jedoch zum Glück sehr gleichmäßig. Die folgende Grafik aus dem Serial Plotter zeigt die Schwingungen vom Wechselstromnetz deutlich an. Um daraus einen relativ konstanten Wert zu bekommen, muss die Messung über einen bestimmten Zeitraum laufen und daraus der Mittelwert errechnet werden.


Arduino Current Graph at 50 Hz

Die Software

Die Software zeigt im Serial Monitor den ermittelten Strom an und errechnet auch die Leistung in Watt. Die Messung erfolgt 2000-mal hintereinander, wodurch dann ein Mittelwert errechnet wird. Dieser Wert schwankte bei unserem Versuch kaum. In weiterer Folge wird der analoge Wert um das Siebenfache multipliziert. Dadurch wird erreicht, dass man ein reales Maß hat. Ein Beispiel: Am analogen Eingang bekommen wir den Wert 60. Gemessen werden aktuell 4,2 Ampere Strom am Verbraucher. Am Ende soll die Ausgabe im Serial Monitor 4,20 Ampere betragen. Mit der Formel (60*7)/100 wird dieser Wert erreicht. Somit bekommt man den fixen Stromwert als Float ausgegeben.


Arduino Current Serial Monitor

Sensor abgleichen

Damit der Sensor richtig arbeitet, muss dieser mit einem Amperemeter oder einem Leistungsmesser abgleichen werden. Die Spannung am analogen Eingang ist nicht immer gleich, weshalb man die Formel im Code unbedingt mit einem Referenzgerät abgeglichen werden muss und gegebenenfalls zum Modifizieren ist.


Qualität vom Sensor

Der Sensor arbeitet sehr zuverlässig, ist jedoch nicht linear! Das bedeutet, dass der Sensor nur in einem gewissen Bereich ein exaktes Ergebnis liefert. Bei unserem Versuch hatte der Sensor zwischen 200 und 1500 Watt eine Abweichung von maximal 12 Watt. Das ist unserer Meinung nach in Ordnung. Bei unter 200 Watt bzw. über 1500 Watt war die Toleranz wesentlich größer. Bei einem Verbraucher, der exakt 50 Watt verbraucht, wurde mit dem Sensor ein Verbrauch von 80 Watt ermittelt, was eindeutig über jeder Toleranzgrenze liegt. Es ist grundsätzlich möglich, dass man dieses Problem mit mathematischen Formeln umgeht, jedoch steckt dahinter auch sehr viel Messaufwand, um den Sensor richtig zu kalibrieren. Zusammengefasst sind wir der Meinung, dass der Sensor für kleine Projekte ganz gut funktioniert, jedoch für eine exakte Messung oder für eine Stromkosten-Verrechnung nicht geeignet ist.


Drehstrom messen

Mit dem Sensor ist es auch möglich, ein Drehstromnetz zu messen. Dazu werden drei Sensoren benötigt, wovon durch jeden eine Phase geleitet wird. Die einzelnen Teilströme müssen dann addiert werden, um den gesamten Stromverbrauch zu ermitteln. Am Arduino werden die Sensoren an den analogen Pins von A0 bis A2 angeschlossen.



Von Alex @ AEQ-WEB 470