Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino i Inverter ABB Trio 5.8 half-duplex, Modbus RTU

16 Sty 2020 20:39 195 1
  • Poziom 1  
    Dzień dobry

    Zamontowałem sobie instalacje fotowoltaiczną wraz z inverterem firmy ABB Trio 5.8-TL-OUTD-S. Falownik ma możliwość komunikacji przez port RS-485.
    Od jakiegoś czasu próbuje połączyć się z płytką arduino ale niestety nie udało mi się uzyskać danych.

    Na początku napiszę, że udało mi się połączyć inverter z komputerem przez konwerer ADAM-4561 i wszystko pięknie jest wyświetlane w programie Aurora Manager LITE.
    Dzięki programowi dowiedziałem się, że prędkość przesyłanych danych dla falownika to 19200 bps oraz adres "3" (można zmienić w falowniku).
    Otrzymałem dokumentację "Modbus RTU registers map for TRIO"



    Aby połączyć się z arduino wykorzystałem te poradniki:
    youtube.com/watch?v=HPZrGuBtk_c
    youtube.com/watch?v=tBw15SfmuwI

    Połączenie płytki i falownika:
    Arduino i Inverter ABB Trio 5.8 half-duplex, Modbus RTU

    Kostka zaciskowa w falowniku:
    Arduino i Inverter ABB Trio 5.8 half-duplex, Modbus RTU

    Przykładowe dane rejestrów:
    Arduino i Inverter ABB Trio 5.8 half-duplex, Modbus RTU Arduino i Inverter ABB Trio 5.8 half-duplex, Modbus RTU


    Program:
    Kod: avrasm
    Zaloguj się, aby zobaczyć kod



    Chciałbym się dowiedzieć dlaczego nie mogę uzyskać inforamacji z inveretera gdzie popełniłem błąd. A może ktoś ma inny, lepszy pomysł na połączenie falownika i arduino (np z wykorzystaniem konwertera ADAM-4561)
    Z góry dziękuję za informacje.
  • Poziom 32  
    UNO ma jedno wspólne połączenie UART dla pinów 0 i 1 z tym wykorzystanym do komunikacji z PC po USB. Użyj softserial i innych pinów na UNO, można też zmienić płytkę przynajmniej na Leonardo/MICRO (do PC jest osobne USB) lub MEGA - UART0 jest podłączony do USB, a UART1,2,3 można podłączyć do czegoś zewnętrznego.
    Robisz begin dla serial i potem dla serial1, serial to jest to co wysyłasz na PC, serial1 do rozmowy z modułem RS485.
    Są konwertery UART - RS485 z automatyczną kontrolą kierunku, podłączasz jedynie piny RX/TX, to też może pomóc. Ja np. podłączyłem sobie konwerter do ESP-8266 i użyłem takiego modułu na 3.3V: Link, znajdź sobie analogiczny na 5V.
    Można też użyć prawidłowo podłączonego zestawu z Arduino z tym programem na PC i sprawdzić czy sam sprzęt jest OK, pogadać ze znanym już sobie sprzętem z RS485, innym zestawem Arduino z RS485, itp.
    Jeśli zawsze używasz jednocześnie zapisu 0 i 1 do obu pinów kontroli kierunku to można je złączyć razem i jeden wywalić z programu. Tak było z przykładem, który sobie zaadaptowałem do licznika prądu.
    Nie mam takiego inwertera, więc tu nie podpowiem.