tMEM - Monitor energii z interfejsem Modbus

tMEM to jednofazowy, dwukierunkowy monitor energii z interfejsem Modbus RTU. Po podłączeniu tego urządzenia do LK4 zyskujemy nowoczesne rozwiązanie do zdalnego monitorowania energii elektrycznej oraz definiowania zdarzeń w celu optymalizacji zużycia energii w obiektach komercyjnych, przemysłowych i mieszkalnych. Dzięki dwukierunkowemu pomiarowi, miernik nadaje się również do współpracy z instalacjami fotowoltaicznymi.

Urządzenie jest sprzedawane z CT (transformator prądowy) 100A/50mA, z którym jest skalibrowane do pracy.

Podstawowe własności #

Specyfikacja techniczna #

Zasilanie5-12 V DC (złącze)
5 V (USB)
Znamionowe napięcie wejściowe AC230 V
Zakres pomiaru prądu AC0 - 100 A
Nieczułość pomiaru mocy3 - 4 W
InterfejsyModbus RTU (RS485),
Serial (przez USB; 115200 baud)
Wymiary74 x 40 x 30 mm (bez uchwytu DIN)
Waga50 g

tMEM to monitor energii przeznaczony do zastosowań pomiarowych i automatyki w instalacjach elektrycznych. Urządzenie nie posiada certyfikatu MIB, który jest wymagany dla liczników energii przeznaczonych do rozliczeń. W związku z tym nie może być stosowany do celów rozliczeniowych.

Domyślna konfiguracja #

Urządzenie tMEM jest fabrycznie skonfigurowane z następującymi ustawieniami:

Domyślne ustawienia będą odpowiednie dla większości standardowych instalacji. Jeśli jednak zachodzi potrzeba zmiany adresu Modbus, można to łatwo zrobić przy użyciu wbudowanego przycisku i diody LED statusu umieszczonych obok portu USB.

Szybka konfiguracja adresu Modbus #

Aby odczytać aktualny adres:

  1. Naciśnij przycisk jednokrotnie.
  2. Dioda LED zamiga tyle razy, ile wynosi aktualny adres.
    (Na przykład: 2 mignięcia = adres 2)

Aby ustawić nowy adres:

  1. Przytrzymaj przycisk.
  2. Po 2 sekundach dioda LED zamiga 1 raz.
  3. Trzymaj dalej – dioda będzie migać co sekundę, maksymalnie do 5 razy.
  4. Zwolnij przycisk po liczbie mignięć odpowiadającej żądanemu adresowi.
    (Na przykład: aby ustawić adres 3, zwolnij po trzecim mignięciu.)

⚠️ Jeśli przycisk będzie przytrzymywany dłużej niż 7 sekund, proces zostanie anulowany, a adres nie zostanie zmieniony.

Aby uzyskać dostęp do bardziej zaawansowanych opcji konfiguracji, przejdź do sekcji Zaawansowana konfiguracja.

Integracja z LK #

tMEM bezproblemowo integruje się z urządzeniami LK4 oraz LK3.5+. Może być zasilany bezpośrednio z wyjść 5V i GND kontrolera LK. Następnie należy podłączyć go — samodzielnie lub wraz z innymi urządzeniami Modbus — do złącz Modbus A+ i B− w urządzeniu LK, aby nawiązać komunikację.

Po podłączeniu skonfiguruj niestandardowy moduł Modbus w LK, korzystając z gotowego pliku konfiguracyjnego dostępnego w sekcji Do pobrania. Plik ten można łatwo dostosować do własnych potrzeb, aby odczytywał tylko interesujące Cię parametry, takie jak napięcie, prąd, moc lub energia.

Aktualizacja firmware #

Aby zaktualizować oprogramowanie, urządzenie tMEM należy uruchomić w trybie bootloadera. W tym trybie urządzenie pojawia się jako nośnik pamięci masowej o nazwie RPI-RP2 po podłączeniu do komputera. Wystarczy skopiować nowy plik z firmware do tego nośnika. Po zakończeniu kopiowania urządzenie automatycznie się zrestartuje i wznowi normalną pracę z nowym oprogramowaniem.

Uruchamianie trybu bootloadera #

Tryb bootloadera można włączyć na dwa sposoby:

💡 Pliki z oprogramowaniem dostępne są w sekcji Do pobrania.

Zaawansowana konfiguracja #

Aby zmienić ustawienia, musisz podłączyć tMEM do komputera przez USB. Urządzenie może być zasilane przez USB, więc nie są potrzebne żadne dodatkowe połączenia zasilania.

Wymagane oprogramowanie #

Aby nawiązać połączenie z licznikiem impulsów, będziesz potrzebować aplikacji obsługującej komunikację szeregową. Popularne opcje to:

Przykładowy proces konfiguracji #

  1. Wyświetlenie dostępnych portów:
    Uruchom pyserial-ports, aby wyświetlić dostępne porty COM przed podłączeniem urządzenia. Wynik może wyglądać tak:

    COM1
    COM3
    COM15
    COM16
    COM17
    

  2. Podłącz urządzenie
    Podłącz tMEM i uruchom ponownie polecenie. Nowy port COM (np. COM11) będzie reprezentował podłączone urządzenie.

  3. Połącz z tMEM
    Użyj następujących parametrów połączenia:

    • Baud rate: 115200
    • Byte size: 8 bits
    • Parity: None
    • Stop bits: 1

    Przykładowe polecenie:

    pyserial-miniterm COM11 115200

  4. Wysyłanie poleceń
    Po połączeniu możesz wydawać polecenia do urządzenia. Każde polecenie musi być zakończone klawiszem Enter. Przydatnym poleceniem jest ? lub help, które wyświetla listę wszystkich dostępnych poleceń (opisanych poniżej).

Lista poleceń #

Polecenie Opis
address? | a? Odczytuje aktualny adres Modbus (Slave ID).
address=X | a=X Ustawia adres Modbus. Parametry: X – adres do ustawienia, liczba z zakresu <1, 255>.
ratio_X? Odczytuje współczynnik przeliczeniowy dla sensora. X – Voltage, Current lub Power.
ratio_X=Y Ustawia współczynnik przeliczeniowy. X – jak wyżej, Y – wartość typu float.
read_sensor Odczytuje aktualne wartości z sensora.
reset_energy Resetuje stan zliczonej energii.
set_energy=X,Y Ustawia stan energii. X – energia dodatnia, Y – energia zwrotna (obie jako float).
save_config | sc Zapisuje konfigurację do pamięci Flash. Należy użyć po zmianie adresu Modbus, współczynników przeliczeniowych oraz ustawień autozapisu.
read_registers | rr Odczytuje wartości rejestrów Modbus.
read_definitions | rd Odczytuje definicje rejestrów Modbus: nazwa, adres, typ.
auto_save? | as? Odczytuje wartość funkcji autozapisu. Jest to interwał w sekundach, w którym liczniki są zapisywane do pamięci.
auto_save=X | as=X Ustawia wartość funkcji autozapisu. Parametry: X – czas w sekundach, liczba z zakresu <0, 65 535>; wartość 0 wyłącza funkcję.
read_status | rs Odczytuje zapisany stan urządzenia.
write_status | ws Zapisuje bieżący stan do pamięci nieulotnej.
bootloader Uruchamia urządzenie w trybie bootloadera w celu aktualizacji oprogramowania. Po podłączeniu do komputera urządzenie pojawi się jako dysk o nazwie RPI-RP2, na który należy skopiować plik firmware z rozszerzeniem uf2. Następnie urządzenie automatycznie zrestartuje się i uruchomi w trybie normalnej pracy.
restart Restartuje urządzenie.
verbose=X | v=X Włącza lub wyłącza tryb szczegółowy (verbose), który wyświetla więcej komunikatów.
help | ? Wyświetla pomoc z listą dostępnych poleceń.

Typowe przypadki użycia #

Niektóre polecenia przydają się tylko w szczególnych przypadkach, które przedstawiam poniżej.

Rejestry Modbus #

Poniżej przedstawiono listę rejestrów Modbus dostępnych w urządzeniu.
Lista odpowiada wynikowi komendy read_definitions i zawiera nazwy, adresy, typy i dzielniki.

| Name                           | Addr | Type   | Func         | Divisor |
| ------------------------------ | ---- | ------ | ------------ | ------- |
| uptime                         | 3000 | uint32 | 0x04 (IREG)  |         |
| Voltage                        | 3002 | int32  | 0x04 (IREG)  |      10 |
| Current                        | 3004 | int32  | 0x04 (IREG)  |    1000 |
| Power                          | 3006 | int32  | 0x04 (IREG)  |      10 |
| Frequency                      | 3008 | int32  | 0x04 (IREG)  |    1000 |
| PositiveEnergy                 | 3010 | int32  | 0x04 (IREG)  |    1000 |
| ReverseEnergy                  | 3012 | int32  | 0x04 (IREG)  |    1000 |
| V_RMS                          | 3014 | int32  | 0x04 (IREG)  |       1 |
| I_RMS                          | 3016 | int32  | 0x04 (IREG)  |       1 |
| I_FAST_RMS                     | 3018 | int32  | 0x04 (IREG)  |       1 |
| WATT                           | 3020 | int32  | 0x04 (IREG)  |       1 |
| CF_CNT                         | 3022 | int32  | 0x04 (IREG)  |       1 |
| FREQ                           | 3024 | int32  | 0x04 (IREG)  |       1 |
| version_major                  | 3100 | uint16 | 0x04 (IREG)  |         |
| version_minor                  | 3101 | uint16 | 0x04 (IREG)  |         |
| version_patch                  | 3102 | uint16 | 0x04 (IREG)  |         |
| address                        | 4000 | uint16 | 0x03 (HREG)  |         |
| auto_save                      | 4006 | uint16 | 0x03 (HREG)  |         |