Power Monitor – Stromverbrauch messen mit Arduino

Da die Stromkosten beim Serverhosting inzwischen der teuerste Posten sind , soll  die Leistungsaufnahme an jeder Steckdose im Rack erfasst werden.

Habe dazu 19″ Einschübe gefunden die normalerweise für Bühnen/Licht Anwendungen verwendet werden. Jede Steckdose ist einzeln mit einer Feinsicherung abgesichert.

Als Stromwandler werden Current Transformers von Talema verwendet (Datenblatt).

Erfasst wird das ganze mit einem  Arduino Mega kompatiblem Board (Roboduino Mega 16 AD Eingänge) und per USB Schnittstelle zum Monitoring Server geschickt dort in eine RRD Datenbank geschrieben und ausgewertet

Die Arduino Software habe ich haupsächlich hier abgekupfert:

http://openenergymonitor.blogspot.com/

hier mal ein paar Bilder meiner PDU’s:

Hier sind die Stromwandler bereits eingebaut und verdratet...

Das  Schaltbild : powermonitor.pdf

habe jetzt mein „powermonitoring-shield“  fertig….

Beim Test auf einem DFRduino Mega hatte ich das Problem dass die Analogports >7 nicht funktionierten. folgende Änderung (evtl Update auf 0018?) behebt das Problem:

siehe http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1250970792

Sorry guys, this will be fixed in Arduino 0018.  In the meantime, you can edit hardware/cores/arduino/wiring_analog.c and change:

ADMUX = (analog_reference << 6) | (pin & 0x0f);

to:

ADMUX = (analog_reference << 6) | (pin & 0x07);

(The change should take effect automatically next time you compile or upload a sketch.)

Es scheint soweit alles zu klappen – aber wenn von allen 12 Analogports lese  passen die Werte nicht mehr genau :-(

wenn ich nur 5 lese passt z.b. powerfactor bei einer Glühlampe  (~1) bei  12 ports geht der Wert auf 0,85…

mal sehen ob sich das beschleunigen lässt….

Ok – Das Problem scheint daher zu rühren dass durch die Verzögerung (analogread braucht 100mikrosekunden) die gemessenenen Werte ( Strom und Spannung) nicht mehr in Phase sind – deswegen auch die Abweichungen im Powerfactor!

Hier die aktuellen Arduino Sketches – Die Daten können nun von einem Script gepollt werden.

Measurments

SAmeasurement

Serial

Das ist mein Perl Script das Daten vom Arduino abholt und in eine Round-Robin-Datenbank schreibt .

rrd.pl

Graphisch dargestellt wird das ganze dann per rrd.cgi auf dem Webserver  (rrd.cfg)

Fast fertig – jetzt muss nur noch geeicht werden dann kann die ganze Sache ins Gehäuse gebaut werden.

Das  Schaltbild : powermonitor.pdf

fast fertig

Dieser Beitrag wurde unter Arduino veröffentlicht. Setze ein Lesezeichen auf den Permalink.

8 Antworten auf Power Monitor – Stromverbrauch messen mit Arduino

Schreibe einen Kommentar