Urządzenie zostało zaprojektowana tak, aby wszystkie elementy były zawarte w jednej obudowie, oraz by układ był zasilany bezpośrednio z sieci. Głównymi funkcjami konstrukcji jest monitoring:
- zużywanego prądu z sieci
- stanu miernika energii elektrycznej
- stanu miernika gazu
Komunikacja
Do ograniczenia ilości okablowania, zdecydowano się na komunikację bezprzewodową z dodatkową funkcją logowania danych. Jest ona zrealizowana na module o nazwie ESP8266 w wersji 12. Zdecydowano się na niego, ponieważ oprócz łączności bezprzewodowej, pozwala on na odczyt stanów z przeróżnych czujników za pomocą łatwo dostępnych pinów GPIO.
Zasilanie
Zasilanie układu jest zrealizowane na gotowym zasilaczu impulsowym o mocy 2.5W i napięciu wyjściowym równym 3.3V. Zabezpieczenie elektroniki przed zakłóceniami pochodzącymi z sieci, rozwiązano poprzez zastosowanie filtru LC, składającego się z dwóch kondensatorów o pojemności 4700uF i dławika o indukcyjności 1mH.
Pomiar prądu
Pomiar prądu sieciowego odbywa się za pomocą czujnika iSnail. Działa on w taki sposób, że daje on na wyjściu napięcie w przedziale 0-5V, które jest proporcjonalne do przepływającego prądu. Napięcie to, jest następnie podawane na 16 bitowy przetwornik analogowo-cyfrowy (ADS1115) poprzez dzielnik napięcia.
Pomiar energii elektrycznej
Miernik energii zainstalowany w domu autora posiada diodę LED, która miga jednokrotnie na każdą watogodzinę zużytej energii. W celu pobierania danych z miernika, zamontowano (przy pomocy kleju) fototranzystor do migającej diody. Sygnał z fototranzystora jest podawany na przerzutnik schmitta o nazwie SN74AUP1G17. Zdecydowano się na jego użycie, aby ESP dostawał czysty logiczny sygnał wolny od zakłóceń sieci. Wyjście z przerzutnika jest również podane na diodę LED w celu dodatkowej wizualizacji zużytej energii.
Gaz
Gazomierz w miejscu zamieszkania autora posiada magnes zamontowany na dysku, który kręci się z prędkością proporcjonalną do przepływającego gazu. Do badania jego stanu, zakupiono oryginalny czujnik pasujący do tego gazomierza. Składa się on z kontaktronu zamkniętego w plastikowym pudełku. Przysyłanie impulsów do ESP odbywa się również przez przerzutnik schmitta i na jego wyjściu także dodano diodę sygnalizującą każdy impuls.
Zewnętrzna pamieć
W celu zapewnienia, że pomiary nie zostaną utracone w przypadku braku zasilania, zdecydowano się na gromadzenie wartości w zewnętrznej pamięci FRAM. Wybrano FRAM, ponieważ chciano zapisywać pomiary przy każdym odczycie mierników, a wewnętrzna pamięć ESP8266 jest do tego celu nieodpowiednia z uwagi na zbyt małą ilość zapisów/odczytów. Pamięć typu FRAM potrafi przeprowadzić bilion cykli zapisu / odczytu, oraz przechowuje zapisane dane przez 150 lat. Dokładny model pamięci to FM24CL04B o pojemności 4Kb posiadający komunikację za pomocą protokołu I2C.
Obudowa
Cały układ został umieszczony na płytce PCB o wymiarach 10cm x 5cm na której połowę miejsca zajmuje zasilacz. Obudowa została wycięta z 20mm poliacetalu, czyli tworzywa termoplastycznego o wysokiej wytrzymałości mechanicznej. Do przeniesienia światła z ledów na zewnątrz obudowy, zastosowano akrylowe rurki świetlne. Dostęp do przycisku reset jest przedłużony za pomocą aluminiowej rurki.
Komplikacje podczas budowy
Jednym z problemów napotkanych podczas projektowania prezentowanej konstrukcji był fakt, iż moduł ESP-12 sprowadzony z Chin okazał się podróbką. Zakupiony klon posiadał zamienione piny magistrali I2C (SDA w miejscu SCL, SCL w miejscu SDA). Rozwiązano ten problem poprzez dodanie paru zworek, pozwalają one na montaż klonów jak i oryginałów ESP8266 bez potrzeby przeprojektowania płytki.
Soft
Oprogramowanie zostało zaprojektowane w środowisku Visual Studio 2015 przy pomocy dodatku o nazwie Visual Micro. Rozszerzenie to pozwala na pisanie kodu znanego z platformy Arduino w środowisku znaczniej bardziej przyjaznym dla użytkownika niż normalny edytor Arduino. Program to praktycznie serwer WWW na którym wyświetlane są dane. Procesor pobiera raz na sekundę wartość z zewnętrznego przetwornika analogowo cyfrowego i przechowuje 60 pomiarów w tablicy, dzięki temu otrzymuje się średni pobór prądu na minutę. Do odczytu impulsów z gazomierza i licznika energii wykorzystano przerwania, które po pewnej liczbie odczytów przechowują wartości w pamięci FRAM.
Strona WWW
Odczyty z przyrządów pomiarowych są wyświetlane na stronie internetowej. Na górze strony, wyświetlane są impulsy z gazomierza i licznika energii. Pod nimi umieszczono pomiary prądu sieci pochodzące z czujnika iSnail. Dodano również opcję nastawy liczby impulsów pochodzących z mierników w celu synchronizacji z nimi.
Schemat, PCB, rysunki CAD i oprogramowanie jest dostępne na githubie autora.
Link: https://github.com/briandorey/ESP8266-Mains-Energy-Monitor
źródło: http://www.briandorey.com/post/ESP8266-Mains-Energy-Monitor
Fajne? Ranking DIY
