2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Często warto poznać aktualne zużycie energii lub całkowite zużycie energii w domu, aby ograniczyć koszty energii elektrycznej i chronić środowisko. To naprawdę nie jest problem, ponieważ w swojej szafce instalacyjnej najczęściej znajdziesz inteligentny cyfrowy licznik energii elektrycznej. U nas w Niemczech w tym przypadku często znajdziesz w swojej szafce DZ541 firmy Holley Tech z Chin. Miernik ten wyposażony jest w optyczny interfejs podczerwieni oraz interfejs RS485 do dystrybucji zebranych danych za pomocą tzw. protokołu SML. W tym projekcie wykorzystamy interfejs RS485 do podłączenia Arduino do licznika i odczytania wartości całkowitego poboru mocy i mocy rzeczywistej.
Krok 1: Połączenie RS485
Do połączenia Arduino z licznikiem przez RS485 użyłem naszego nakładki Arduino RS485 z izolowanym interfejsem. Zaciski dla RS485 miernika zabezpieczone są plastikową osłoną. Ta pokrywa jest zwykle zamykana plombą. Nie otwieraj samodzielnie tej pokrywy. Może to być niebezpieczne, a zerwana plomba może być przyczyną wielu problemów z dostawcą energii. Najlepiej poprosić o pomoc elektryka. Potrafi podłączyć kabel do zacisków RS485 miernika i odzyskać plombę.
Teraz możesz połączyć zaciski A i B miernika z zaciskami A i B ekranu.
Krok 2: Ustawienie zworki i przełącznika DIP
Ekran RS485 jest wyposażony w kilka zworek i przełączników DIP do konfiguracji. Przełączniki DIP należy ustawić w następujący sposób: SW1 - ON, OFF, OFF, OFF (odbiornik zawsze włączony) SW2 - OFF, OFF, ON, ON (tryb RS485) SW3 - ON, OFF, OFF, OFF (rezystor załączony) Należy ustawić tylko dwie zworki: JP1 na 5V dla Arduino UNO i drugą zworkę na pozycji RX-2
Krok 3: Kod
Używamy UART do debugowania i programowania. Miernik jest podłączony przez port D2 i oprogramowanie UART przez 9600 bodów (8N1). Miernik w sposób ciągły przesyła dane. Program poszukuje specjalnych sekwencji bajtów w strumieniu danych, aby znaleźć interesujące pakiety danych. W przypadku innych mierników może być konieczna edycja sekwencji bajtów lub odległości między sekwencjami bajtów (nagłówków) a interesującymi danymi. Odkodowane wartości całkowitego zużycia energii i mocy rzeczywistej zostaną wyświetlone w oknie terminala Arduino IDE.