tMEM to jednofazowy, dwukierunkowy monitor energii z interfejsem Modbus RTU.
Po podłączeniu tego urządzenia do LK4 otrzymujemy nowoczesne rozwiązanie do zdalnego monitorowania energii elektrycznej oraz ustawiania 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.
| Parametr | Wartość |
|---|---|
| Zasilanie | 5 - 12 V DC (złącze) 5 V (USB) |
| Znamionowe napięcie wejściowe AC | 230 V |
| Zakres pomiaru prądu AC | 0 - 100 A |
| Martwa strefa pomiaru mocy | 3 - 4 W |
| Interfejsy | Modbus RTU (RS485), Serial (przez USB; 115200 baud) |
| Wymiary | 74 × 40 × 25 mm (bez uchwytu DIN) |
| Waga | 49 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.
Po wyjęciu z pudełka tMEM jest wstępnie skonfigurowany z następującymi ustawieniami:
Ustawienia te odpowiadają większości standardowych instalacji. Jeśli jednak chcesz zmienić adres Modbus, zobacz sekcję poniżej, a jeśli potrzebujesz zmienić inne ustawienia, przejdź do sekcji Zaawansowana konfiguracja.
Jeśli chcesz zmienić adres Modbus, możesz to zrobić za pomocą wbudowanego przycisku funkcyjnego oraz diody LED znajdujących się na płytce PCB. Przycisk znajduje się przy krawędzi płytki przeciwnej do strony, na której znajdują się port USB oraz złącza Modbus i zasilania.
Aby odczytać aktualny adres:
Aby ustawić nowy adres:
⚠️ Jeśli przytrzymasz przycisk dłużej niż 7 sekund, procedura zostanie anulowana i zmiany nie zostaną wprowadzone.
Dodatkowe opcje konfiguracji znajdziesz w sekcji Zaawansowana konfiguracja.
Moduł tMEM bezproblemowo integruje się z urządzeniami LK4 i LK3.5+. Można go zasilać bezpośrednio z kontrolera LK za pomocą wyjść 5 V i GND. Następnie należy go podłączyć – samodzielnie lub razem z innymi urządzeniami Modbus – do zacisków Modbus A+ i B− kontrolera LK, aby nawiązać komunikację.
Po podłączeniu skonfiguruj niestandardowy moduł Modbus w LK, korzystając z gotowego presetu konfiguracyjnego dostępnego w sekcji Do pobrania. Preset można łatwo zmodyfikować tak, aby odczytywać tylko potrzebne parametry, np. napięcie, prąd, moc lub energię.
Aby zaktualizować firmware, urządzenie musi zostać uruchomione w trybie bootloadera. W tym trybie po podłączeniu do komputera pojawi się jako urządzenie pamięci masowej o nazwie RPI-RP2. Wystarczy skopiować plik nowego firmware na ten nośnik. Po przesłaniu, urządzenie automatycznie uruchomi się ponownie i wznowi normalną pracę z nowym firmware.
Tryb bootloadera można włączyć na dwa sposoby:
Przez konsolę USB
Podłącz urządzenie do komputera i otwórz konsolę szeregową (patrz sekcja Zaawansowana konfiguracja).
Następnie wyślij polecenie bootloader.
Połączenie zostanie przerwane, a urządzenie uruchomi się ponownie w trybie bootloadera.
Za pomocą pól stykowych JP2 (metoda sprzętowa)
Otwórz obudowę urządzenia, aby uzyskać dostęp do JP2 jumper pad — dwóch sąsiadujących pól stykowych na płytce PCB.
Tymczasowo zewrzyj oba pola (np. pęsetą lub innym metalowym narzędziem) przed podłączeniem urządzenia do komputera przez USB.
Przytrzymaj zwarcie przez chwilę podczas uruchamiania urządzenia. Gdy urządzenie wejdzie w tryb bootloadera, usuń zwarcie.
W starszych rewizjach sprzętowych zamiast tego używany jest przycisk FLASH / SW znajdujący się na płytce PCB.
Należy go nacisnąć i przytrzymać przed podłączeniem urządzenia do komputera przez USB, a następnie zwolnić po wejściu urządzenia w tryb bootloadera.
Pliki firmware są dostępne w sekcji Do pobrania.
Aby zmienić ustawienia, należy podłączyć tMEM do komputera przez USB. Urządzenie może być zasilane przez USB, więc dodatkowe zasilanie nie jest wymagane.
Do nawiązania połączenia z urządzeniem potrzebny jest program obsługujący komunikację szeregową. Popularne narzędzia to:
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ć następująco:
COM1
COM3
COM15
COM16
COM17
Podłącz urządzenie
Podłącz tMEM i uruchom polecenie ponownie. Nowy port COM (np. COM11) będzie odpowiadał podłączonemu urządzeniu.
Połącz się z tMEM
Użyj następujących parametrów połączenia:
Przykładowe polecenie:
pyserial-miniterm COM11 115200
Wysyłanie poleceń
Po nawiązaniu połączenia możesz wysyłać polecenia do urządzenia. Każde polecenie należy zakończyć klawiszem Enter. Przydatnym poleceniem jest ? lub help, które wyświetla listę dostępnych poleceń (opisanych poniżej).
| Polecenie | Opis |
|---|---|
| address? | a? | Odczytuje adres Modbus (Slave ID). |
| address=X | a=X | Ustawia adres Modbus. Parametry: X – adres do ustawienia, liczba <1, 255>. |
| ratio_X? | Odczytuje współczynnik przeliczeniowy dla czujnika. Parametry: X – ciąg znaków Voltage, Current lub Power. |
| ratio_X=Y | Ustawia współczynnik przeliczeniowy dla czujnika. Parametry: X – ciąg znaków Voltage, Current lub Power, Y – liczba zmiennoprzecinkowa. |
| read_sensor | Odczytuje wartości z czujników. |
| reset_energy | Resetuje stan energii. |
| set_energy=X,Y | Ustawia stan energii. Parametry: X – wartość energii dodatniej (float), Y – wartość energii zwrotnej (float). |
| save_config | sc | Zapisuje konfigurację do pamięci Flash. Należy użyć po zmianie adresu Modbus i współczynników przeliczeniowych. |
| 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 stan liczników jest zapisywany. |
| auto_save=X | as=X | Ustawia wartość funkcji autozapisu. Parametry: X – wartość w sekundach, liczba <0, 65_535>, dla 0 funkcja jest wyłączona. |
| read_status | rs | Odczytuje zapisany stan. |
| write_status | ws | Zapisuje stan do pamięci Flash. |
| bootloader | Uruchamia urządzenie w trybie bootloadera w celu aktualizacji firmware. Po podłączeniu do komputera pojawi się jako urządzenie pamięci masowej o nazwie RPI-RP2, do którego należy skopiować plik firmware z rozszerzeniem uf2. Następnie urządzenie uruchomi się ponownie w trybie normalnej pracy. |
| restart | Uruchamia ponownie 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 komunikat pomocy z listą dostępnych poleceń. |
Niektóre polecenia są przydatne tylko w określonych sytuacjach.
Adresowanie Modbus
W przypadku używania wielu urządzeń tMEM na jednej magistrali Modbus lub razem z innym urządzeniem o tym samym adresie, zaleca się zmianę adresu za pomocą polecenia address=X, aby każde urządzenie miało unikalny adres.
Automatyczny zapis
Jeśli konieczne jest zachowanie stanu energii w przypadku zaniku zasilania, należy użyć polecenia auto_save=X. Powoduje ono okresowe zapisywanie stanu energii do pamięci trwałej.
Należy pamiętać o zużyciu pamięci Flash, ponieważ ma ona ograniczoną liczbę cykli zapisu (szacowaną na około 100 tys.). Dlatego korzystając z tej funkcji, interwał powinien być dobrany jako rozsądny kompromis. Na przykład, domyślna wartość 600 sekund powinna wystarczyć na około 2 lata pracy. Urządzenia wykorzystują system plików z równoważeniem zużycia, co znacznie zwiększa oczekiwaną liczbę zapisów (nasze urządzenie testowe wykonało już ponad 440 tys. zapisów bez błędów).
Resetowanie i ustawianie stanu energii
Przydatne np. przy wymianie monitora energii lub zmianie miejsca instalacji. Przykładowo set_energy=123.123,0.345 ustawi stan energii dodatniej na 123.123 kWh, a energii zwrotnej na 0.345 kWh.
Zapisywanie zmian
Po zmianie ustawień za pomocą poleceń address=X, ratio_X=Y, auto_save=X należy użyć polecenia save_config, aby zapisać konfigurację w pamięci trwałej. W przeciwnym razie zmiany zostaną utracone po zaniku zasilania lub ponownym uruchomieniu urządzenia.
Poniżej znajduje się lista rejestrów Modbus dostępnych w urządzeniu.
Zawartość odpowiada wynikowi polecenia read_definitions i zawiera nazwy rejestrów, adresy, typy oraz 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) | |