Dziś wpis dotyczący miernika energii elektrycznej SDM120 z pomocą którego można zobrazować zużycie prądu w domu.
Ostatnio dużo dzieje się na forum nettemp gdzie razem z użytkownikami wprowadziłem takie funkcje jak pomiar zużycia energii elektrycznej, gazu i wody. Pomiary odbywają się przewodowo i bezprzewodowo. W pierwszej wersji wykorzystujemy GPIO w drugiej mini układ WiFi ESP8266. Doszła jeszcze jedna opcja pomiarów poprzez USB i protokół modbus z wykorzystaniem miernika SDM120.
Na użycie tego miernika wpadł jeden z użytkowników forum, który używa go dokładnie do pomiarów energii wytworzonej z solarów i energii zużytej przez grzałkę. Link do wątku na forum: http://techfreak.pl/forum/viewtopic.php?f=19&t=643
SDM120
Ja też zakupiłem sobie jeden egzemplarz na testy i zamierzam go zamontować w skrzynce bezpieczników na stałe. Link do SDM120 na aliexpress.
Podłączenie
Podłączenie jest całkiem proste. Do wejścia nr 1 należy podłączyć fazę (L) a do wejścia nr 2 odbiorniki. Do wejścia nr 4 trzeba podłączyć linie neutralną (N) . Trzeba pamiętać o takim podłączeniu w innym przypadku SDM120 pokaże nieprawidłowe wartości. Miernik montowany jest na szynę DIN i przy zakupie trzeba wiedzieć jaka szyna jest w skrzynce bezpieczników. U mnie jest to 35mm.
Wyświetlacz
SDM120 został wyposażony w wyświetlacz i guzik. Domyślnie wyświetlacz pokazuje całkowite zużycie kWh, po kliknięciu na guziczek można przełączyć na inny widok np. Volt, Amper, Wat, Herc. Poniżej parę fotek.
USB, Modbus, RS485
Najlepszą opcją tego miernika jest to, że posiada możliwość pobierania wartości poprzez protokół modbus i interfejs RS485. Aby podłączyć SDM120 do np. Raspberry Pi wystarczy zaopatrzyć się w konwerter RS485 -USB który można dostać za grosze na aliexpress. Podłączenie ogranicza się do podłączenia przewodów 9 (B), 10(A) do konwertera USB A i B. Niewątpliwą zaletą RS485 jest możliwość podłączenia 247 urządzeń na jednej linii do ok 1000 metrów.
Odczyty wartości, sterowniki
Bardzo fajną rzeczą jest to, że ktoś kiedyś napisał fajny program do odczytów wartości z SDM120 i jest on dostępny na githubie dla wszystkich.
sudo apt-get install libmodbus-dev git clone https://github.com/gianfrdp/SDM120C cd SDM120C make clean && make install
Po podłączeniu konwertera można wywołać polecenie jeśli twój SDM to /dev/ttyUSB0:
sdm120c /dev/ttyUSB0
Które powinno zwrócić coś w tym stylu:
Voltage: 236.20 V Current: 0.13 A Power: 29.50 W Active Apparent Power: 31.53 VA Reactive Apparent Power: -11.00 VAR Power Factor: 0.94 Phase Angle: 0.00 Degree Frequency: 49.95 Hz Import Active Energy: 2428 Wh Export Active Energy: 6947 Wh Total Active Energy: 9375 Wh Import Reactive Energy: 7007 VARh Export Reactive Energy: 209 VARh Total Reactive Energy: 7216 VARh OK
Każdą z tych opcji można wywołać z osobna co ułatwia parsowanie.
sdm120c /dev/ttyUSB0 -p Power: 29.30 W OK
Wszystkie opcje można sprawdzić w helpie
sdm120c --help
Nettemp
Oczywiście napisałem skrypty które pobierają wartości i zapisują je w bazach. Dzięki czemu nettemp rysuje wykresy i daje możliwość monitorowania zużycia. Poniżej na wykresach widać ile zużywa mój NAS Synology DSM212+ w czasie normalnej pracy i hibernacji.
Podsumowanie
SDM120 montowany na szynę DIN jest idealnym rozwiązaniem aby monitorować zużycie prądu w mieszkaniu. Ten miernik jest jedno fazowy ale nie ma przeszkód aby podłączyć takie trzy lub kupić wersje trzy fazową. Jedynym minusem jest brak możliwość zresetowania takiego miernika. Wraz z połączeniem do nettemp dostajemy tanie urządzenia z możliwością logowania.