Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W tej instrukcji dowiesz się, jak czytam moje główne zużycie energii elektrycznej w moim domu i publikuję je za pośrednictwem ESP8266, Wifi, MQTT w mojej automatyce domowej Openhab.
Mam „inteligentny licznik” ISKRA Typ MT372, jednak nie ma łatwej możliwości eksportu danych. Dlatego użyłem impulsów LED do odczytu aktualnej mocy, dioda LED pulsuje 1000 razy po 1 kW/h.
Krok 1: Schemat zasad
Impulsy są wykrywane przez ESP8266. Potrzebujesz jednak dobrego i wyraźnego „0” i „1”. Impulsy są dość słabe, więc potrzebowałem odpowiednich elementów elektronicznych.
Fototranzystor
Fotorezystor nie jest wystarczająco szybki, aby wykryć krótkie i słabe impulsy światła czerwonego. Na podstawie tego filmu na Youtube wybrałem fototranzystor. Dodając rezystor 2M Ohm mogłem osiągnąć około 2V.
Komparator
Jednak, aby zapewnić wyraźne „0” i „1”, zdecydowałem się dodać komparator LM293. Podłączając 0,6 V do Vin i fototranzystor Vref uzyskałem dodatni sygnał w ciemności, a ujemny przy impulsie. Odpowiednie napięcia zostały znalezione za pomocą potencjometrów dla napięcia Vin i Vref. Z komparatorem zastosowałem rezystor 300K.
Używając rezystora podciągającego na wyjściu, mogłem uzyskać różnicę wyjściową prawie 3,3V.
Wyjście jest pokazane na ekranie oscylacyjnym.
ESP8266
ESP8266 wykrywa niskie napięcie, gdy pojawia się impuls. Wysyła dane wyjściowe do mojego brokera MQTT. Dane są odbierane przez:- Openhab2-Node-red, przez który dane są przesyłane do Thingspeak
Krok 2: Komponenty
Główne komponenty, których użyłem:
- Fototranzystor 3DU5C (objaśnienie na filmie)
- Komparator LM293
-ESP-01
- kilka rezystorów
- prototypowa płytka drukowana
- Przetwornica. Używam zasilacza routera o napięciu 12 V i dowiedziałem się, że LM1117 nie jest zbyt wydajny i dość się nagrzewa.
- Pudełko z ABS
Krok 3: Programowanie
Program jest opublikowany na moim Github:
Zobacz schemat dla zarysu programu i metody obliczania mocy.
Programuję mój ESP-01 za pomocą zmodyfikowanego programatora USB. Przylutowałem przełącznik przyciskowy między RST i GND dla łatwego resetowania oraz przełącznik suwakowy między GPIO0 i GND, aby uruchomić w trybie flash.
Krok 4: Montaż
Wszystkie części są przylutowane do prototypowej płytki drukowanej.
Zobacz zdjęcia i schemat dla wyjaśnienia.
Niebieska dioda LED: niebieska dioda LED jest podłączona do sygnału wyjściowego komparatora LM293 i świeci niezależna od ESP8266. Jeśli nie ma impulsu (ciemny), napięcie wyjściowe z obwodu fototranzystora jest niskie, dlatego Vref < Vin (stałe napięcie 0,6V), a wyjście LM293 jest wysokie, do VCC nie płynie prąd, a niebieska dioda LED jest wyłączona.
Jeżeli występuje impuls (światło), to wyjście z układu fototranzystora jest wyższe (ok. 1,5V) zatem Vref ? Vin (stałe napięcie 0,6V) i wyjście LM293 jest niskie, więc prąd płynie z VCC, a niebieska dioda LED jest włączona.
Zielona dioda LED: zielona dioda LED jest podłączona do GPIO0 ESP8266 i pulsuje, jeśli ESP8266 wykrył dobry puls.
Krok 5: Montaż do licznika energii elektrycznej
Użyłem lepkiej szpachli do plakatów, aby zamontować płytkę w pudełku i pudełko do licznika, aby nie uszkodzić licznika. Ważne jest, aby wywiercić otwór w dokładnej pozycji diody LED. Zegnij fototranzystor skierowany w dół do diody LED.
Krok 6: Uruchamianie
Użyłem trochę bardziej lepkiej szpachli, aby zapobiec wpadaniu światła z otoczenia do fototranzystora, gdy otwierałem obudowę w świetle dziennym. Wywierć mały otwór w pokrywie, aby zobaczyć migające diody LED (nie na zdjęciach).
Przeczytaj wartości w Openhab, aby uzyskać te fajne wykresy!