Konwerter napięć i pętli prądowej na RS485 Modbus RTU N4AIA04

Witam,
od dłuższego czasu walczę z pomiarem poziomu deszczówki i jak na razie bez zadowalających efektów
przerobiłem już pomiar pośredni ciśnienia słupa wody w rurce z powietrzem oraz dedykowany czujnik poziomu z konwerterem prądowo-napięciowym XY-IT0V i esp32 - kiepski tandem - niestabilne odczyty
ostatnio zaopatrzyłem się w konwerter prądowo i napięciowy do RS485 Modbus N4AIA04.
Mam nadzieje że będzie stabilniej.
Pytanie czy ktoś już rozpracował integrację tego konwertera po Modbus ??
Coś co nazywają manualem N4AIA04 choć nawet nie ma schematu jak to podłączyć
i instruktaże czytania / konfiguracji

Czyli potrzebujesz jeszcze konwerter RS485<>TTL aby podłączyć do ESP.

Moim zdaniem zawiera wszystkie potrzebne informacje.

… ten Modbus to na którym poziomie ma być wdrożony - ESP, HA ?
Nie znam dokładnie ESPHome, ale wydaję mi się, że to najkrótsza droga to

Za pomocą tego czytasz/zapisujesz rejestry zgodnie z instrukcją konwertera N4AIA04.

Dziękuję za zainteresowanie
ESP32 był potrzebny przy poprzednim konwerterze do pomiaru napięcia, teraz jak już to jest zinterpretowane do Modbusa to zapnę się bezpośrednio do HA przez konwerter RS485-USB lub RS485-LAN.
Co do schematu podłączenia to nie ma go w “manualu” a na płytce są dwa kanały pomiaru pętli prądowej i dwie masy GND (wspólna masa z zasilaniem 12-24V) i to wszystko w nadruku na płytce jest spięte klamerką z opisem 4-20mA. Ta masa tuż przy pinie pomiarowym pętli trochę miesza w schemacie podłączenia czujnika sugerując że powinno się na niego podać kanał pomiarowy i GND a to tak działać nie będzie. GND jest zbędne, czujnik jedną żyłą zapnę do Vcc konwertera (24v) a drugą do pinu pomiarowego - a przynajmniej tak mi się wydaje.

Patrząc na opis i przykłady transmisji Modbus z tego konwertera nie rozumiem (bo tez się na tym nie znam) czy dane wartości kanałów pomiarowych będą podawane na kolejnych rejestrach czy w jednym ciągu i czy będzie to stale czy trzeba odpytywać ?

a może jakiś fragmencik yaml’a ?

Zupełnie nie kumam jak chcesz to wpiąć do pętli prądowej stosując tylko 1 wyprowadzenie, przecież to sprzeczne z prawami fizyki…
Może jakaś fotka sprzętu, bo może po prosu nie rozumiem co chciałeś przekazać?

Nie mając pewności jak to podpiąć zasięgałem opinii na Elektrodzie, tam wszystko opisałem, są fotki i schemat.

Powinieneś użyć 2 wyprowadzeń wejścia pętli prądowej (tzn. masa i wejście), a nie kombinować z podpinaniem “gdziekolwiek indziej”.
Skoro tak kombinowałeś, to zakładam, że masz czujnik 2-przewodowy (zasilany z pętli).

PS Jeśli ta płytka konwertera nie zapewnia zasilania pętli prądowej (co dość łatwo ustalić, bo na nie podpiętych wejściach pętli nie będzie napięcia) to stosujesz do zasilania samej pętli DRUGI ODDZIELNY zasilacz podłączony jak na jednym ze schematów poniżej (zależy czy masz czujnik 2 czy 3 przewodowy)

Tak mam 2 przewodowy czujnik czyli dolny schemat,
na wejściu pętli konwertera nie ma napięcia,
nie podpinałem “gdziekolwiek indziej”, moje podpięcie jest takie jak na schemacie dla czujnika 2 przewodowego ale z jednym źródłem zasilania, tego że nie może być wspólne źródło to nie wiedziałem

dziękuję za pomoc przy podłączeniu

jakieś podpowiedzi do konfigracji w HA Modbusa ?

Poradziłeś sobie z tym modułem? Ja zamierzałem u siebie zamontować podobny zestaw ale może zanim dokupię pozostałe części to dasz znać czy Ci to ruszyło?
Jestem w stanie pomóc z Modbusem w HA. Mam obecnie na jednej magistrali zapięte 2 liczniki energii i 2 falowniki fotowoltaiczne i działa to super.
Przydałby mi się jeszcze pomiar poziomu deszczówki, żeby wiedzieć jak korzystać z wody :slight_smile:

Tak, samego MODBUSA zrobiłem ale już z przeliczaniem mA na poziom a najlepiej na dm3 to w sumie nie skończyłem, w każdym razie chyba nie da się tego zrobić pod MODBUSEM ani filters: ani compensation:

w każdym razie obecnie orientacyjnie ogarniam ile mniej więcej mam wody w mA :smile:

# eletechsup N4AIA04
  - type: serial
    baudrate: 9600
    port: /dev/ttyUSB1
    bytesize: 8
    method: rtu
    parity: N
    stopbits: 1
    name: hub2
    sensors:
      - name: U 0-5
        unit_of_measurement: V
        device_class: power
        slave: 1
        address: 0
        input_type: holding
        count: 1
        data_type: int
        precision: 2
        scale: 0.01
      - name: U 0-10
        unit_of_measurement: V
        device_class: power
        slave: 1
        address: 1
        input_type: holding
        count: 1
        data_type: int
        precision: 2
        scale: 0.01
      - name: zbiornik
        unit_of_measurement: mA
        device_class: power
        slave: 1
        address: 2
        input_type: holding
        count: 1
        data_type: int
        precision: 2
        scale: 0.1
      - name: I C2 4-20
        unit_of_measurement: mA
        device_class: power
        slave: 1
        address: 3
        input_type: holding
        count: 1
        data_type: int
        precision: 2
        scale: 0.1

Nie jestem pewien scale: - nie pamiętam jak pokazywał na surowo V i mA ale to do szybkiego wyłapania.

Co do schematu podpięcia o mam to pod jednym zasilaczem 24v Mean Well HDR a testowałem z dwoma MDR, HDR, SDR, WAGO i Weidmüller - bez różnicy a przynajmniej nie widać jej przy tym przetworniku i konwerterze

Ok dzięki za potwierdzenie, ze to ma prawo zadziałać. Zamówiłem moduł + zasilacz i bede odpalał.
Próbowałeś może zmienić adres modbus na jakiś inny?

Jeśli chodzi o faktyczną ilość dm3 to znalazłem kiedyś taki kalkulator Tank Volume Calculator z wyjaśnieniem jak wykonać obliczenia jednak nie mam pojęcia czy da się takie coś ogarnąć za pomocą pomocników w HA. Możliwe, ze konieczne będzie napisanie tego w pythonie.

W moim przypadku przeliczenie wskazań przetwornika na ilość wody to banał.
Mam prostopadłościenny zbiornik o pojemności 10 000 l , jego wysokość (wewnętrzna) to 163cm. Przykładowy przetwornik mierzy ciśnienie → wysokość słupa wody w zakresie 4mA = 0m , 20mA=2m=200cm to daje 200cm słupa wody w zakresie pomiarowym 20-4=16mA, a więc 200/16=12,5 - tyle cm słupa wody odpowiada 1mA. Można też odwrotnie 16/200=0,08mA/cm.
Skoro mój zbiornik ma 163 cm to 163*0,08=13,04mA - czyli u mnie 13,04mA odpowiada pełnemu zbiornikowi czyli 10 000 l. To teraz przejdźmy na litry 10 000 l /163 cm = 61,35 l/cm a więc w końcu 0,08mA = 61,35 l. Tylko jak to zaprezentować w HA ? Pod ESPHome dane z przetwornika DAC przeliczałem filters: lub compensation:

Adresu konwertera nie zmieniałem bo nie mam takiej potrzeby, mam go na osobnej linii. Co do kilku urządzeń rs485 MODBUS na jednej linii to mam mieszane uczucia, mam dwa liczniki tak podłączone i od czasu do czasu czyta jakieś śmieci lub ma lukę w odczycie - z tym że jest niezgodność w bicie stopu 1 i 2 a akurat tego nie można zmienić w tych licznikach. Chociaż transmisja bez parzystości to tak jak 2 bity stopu - no ale jednak nie działa idealnie. Gdybym potrzebował zmienić adres przez MODBUS to kombinował bym przy pomocy Modbus Master Simulator. Do tego eletechsup N4AIA04 i innych modeli są chyba jakieś filmiki na YT jak to zmienić.

Wstyd ale minął rok od zakupu czujnika i tego wątku ale w końcu znalazłem czas na jego zamontowanie.
Jak wskazywał abaku czujnik podpięty czerwonym przewodem pod +24V i czarnym przewodem do N4AIA04 do pinu 4-20 mA.
Podrzucę tutaj mój template do kalkulacji ilości wody w cylindrycznym zbiorniku:

{% set sensor_current = states('sensor.czujnik_poziomu_cieczy_zbiornik_deszczowka') | float %}
{% set water_height = ((sensor_current - 4) * 0.3125) | round(2) %}
{% set d = 1.24 %}
{% set r = d / 2 %}
{% set m = r - water_height %}
{% set theta = 2 * acos(m / r) %}
{% set l = 2.99 %}
{% set vtank = pi*r*r*l %}
{##
20mA - 4mA = 16,
5m / 16mA = 0.3125 mA/m,
tank diameter = 1.24m
https://www.calculatorsoup.com/calculators/construction/tank.php
vsegment = (1/2)r2(θ - sinθ)l
##}

{% set vsegment = 1/2*r*r*(theta - sin(theta))*l %}

{% if water_height > r -%}
  {{ ((vtank - vsegment) * 1000) | round(0) }}
{%- else -%}
  {{ (vsegment * 1000) | round(0) }}
{%- endif %}

Adres konwertera N4AIA04 udało się zmienić zgodnie z dokumentacją. W moim przypadku na jednej magistrali rs485 mam dwa falowniki PV, 3 liczniki energii Eastron i teraz jeszcze N4AIA04. Wszystkie urządzenia są blisko siebie. Nie mam problemów z działanie komunikacji na rs485. Jednyne na co można się zalić to tutaj HA jest słabe ponieważ jak falowniki idą na noc spać to komunikacja sie timeoutuje dla nich, a HA odpytuje każdą encje niezależnie. Widać, że z pozostałych urządzeń mam wtedy rzadziej stany. Wymagałoby to własnej integracji modbusa w HA ale to już kawał projektu.