Konwertery Kamami.pl dla magistrali RS-485: KAmod USB RS485 ISO oraz KAmodRPi UART RS485 ISO
W artykule zaprezentujemy dwa nowe adaptery z oferty Kamami.pl. Są to konwertery umożliwiające połączenie standardu przemysłowego RS-485 do portu szeregowego komputera. Moduły KAmod USB RS485 ISO to izolowane adaptery pozwalające na dołączenie do portu USB, natomiast KAmodRPi UART RS485 ISO to wersja umożliwiająca wpięcie do komputerów Raspberry Pi.
Czym jest RS-485?
RS-485 to standard komunikacyjny używany w automatyce przemysłowej, sterowaniu silnikami czy systemach HVAC. Standard opracowano w 1983 w instytucji EIA i szybko stał się on wiodącym rozwiązaniem w przemyśle, sprzęcie medycznym oraz użytkowym.
Opiera się o transmisję szeregową i w przeciwieństwie do popularnego portu RS-232 oprócz komunikacji punkt-punkt, umożliwia także tworzenie sieci logicznych. Standard dobrze sprawdza się w systemach przemysłowych ze względu na długi dystans transmisji (nawet do 1 200 m) oraz bardzo dużą odporność na zakłócenia.
Rys. 1. Prosty schemat magistrali w trybie half-duplex, często stosowana w automatyce (źródło: materiały Maxim Integrated)
Dane w standardzie są wysyłane różnicowo, w trybie half-duplex za pośrednictwem skrętki dwuprzewodowej, lub też w trybie full-duplex, za pomocą skrętki czteroprzewodowej. Stosuje się różne przewody, m.in. skrętki STP. Transmisja różnicowa daje dużą ochronę przed zakłóceniami, co jest bardzo istotne w środowiskach przemysłowych. W celu zwiększenia poziomu ochrony można także zastosować ekranowanie kabla. Taka właściwość pozwoliła na osiąganie stosunkowo dużych prędkości komunikacji. Maksymalna przepływność wynosi 10 Mbit/s, ale tylko na krótkich dystansach. Na maksymalnym możliwym dystansie, to znaczy na odległość 1 200 m, dane można wysyłać tylko z prędkością 100 Kbit/s. Przy czym są to wartości, które można wymieniać między sobą. Przyjmuje się, że iloczyn długości przewodu w metrach i prędkości transmisji w Mbit/s powinien wynosić ok. 100.
Czułość interfejsu wynosi ±200 mV. Oznacza to, że logiczna „1” to napięcie poniżej -200 mV, zaś logiczne „0” to napięcie powyżej +200 mV. Typowo stosowane napięcia wynoszą od ±1,5 V do ±6 V. Standard nie definiuje określonego typu konektora – w praktyce korzysta się z różnych typów: od zwykłych przewodów, aż po wtyczki DE-9, znane m.in. z portów szeregowych RS-232.
Rys. 2. Minimalne poziomy napięć w standardzie RS-485 (źródło: materiały Maxim Integrated)
Sieć ma tryb magistrali, w której według standardu może pracować do 32 nadajników i 32 odbiorników. Nowoczesne kontrolery pracują już jednak z wyższą rezystancją wyjściową – określaną jako 1/4 unit-load lub nawet 1/8 unit-load. Takich urządzeń można podłączyć więcej – odpowiednio do 128 lub 256.
Nadajniki są podłączane do sieci na czas nadawania, odbiorniki podłączone są przez cały czas pracy. Magistrala musi być zakończona rezystorem terminującym o rezystancji 120 Ω z obu stron.
RS-485 to tylko opis komunikacji fizycznej. Może być ona realizowana poprzez różne protokoły, takie jak Modbus RTU, bardzo często używany w przemyśle. Chociaż w nowszych systemach już stosuje się rozwiązania oparte o komunikację Ethernet, to RS-485 nadal ma ważne miejsce, ze względu na prostotę implementacji oraz dużą liczbę dostępnych układów i urządzeń na rynku.
KAmodRPi UART RS485 ISO: moduł Kamami do obsługi magistrali RS-485 dla Raspberry Pi
Kamami.pl – sklep internetowy, a także producent modułów edukacyjnych właśnie wprowadził do oferty dwa nowe moduły, które umożliwiają obsługę tego protokołu. Pierwszym z nich jest transceiver izolowany KAmodRPi UART RS485 ISO. Korzysta on z układu scalonego MAX13487 produkowanego aktualnie przez Analog Devices. Transceiver umożliwia komunikację w trybie half-duplex, poprzez jedną parę przewodów. Potrafi automatycznie przełączać się pomiędzy nadawaniem i odbieraniem danych, co oznacza, że nie trzeba stosować zewnętrznych mechanizmów rozróżniania nadawcy i odbiorcy.
Rys. 3. Moduł KAmodRPi UART RS485 ISO
Ta wersja konwertera jest przystosowana do współpracy z komputerem Raspberry Pi, zarówno w wersji „dużej”, jak i Zero. Zasilanie potrzebne do obsługi magistrali można dostarczyć poprzez port rozszerzeniowy malinki, natomiast sygnały danych połączone są do portu UART GPIO14 i 15. Magistrala RS485 jest izolowana optycznie do różnicy potencjałów 1 kV. Transceiver MAX13487 ogranicza przepływność transmisji do 500 kbit/s, ale za to wzmacnia odporność transferu danych.
Magistralę RS485 wyprowadzono na złącza Phoenix Contact MC 3,81 mm, które umożliwiają łatwe i trwałe połączenie przewodów.
Port UART jest podłączony do sprzętowego portu szeregowego komputera Raspberry Pi. Proste testy są układu i napisanie podstawowej komunikacji nie powinno nastręczać więc większych problemów. Są też odpowiednie implementacje protokołów, takich jak Modbus, co pozwala na napisanie bardziej specjalistycznego oprogramowania. Ta tematyka wykracza jednak poza ramy tego artykułu.
KAmodUSB RS485 ISO: moduł do obsługi magistrali RS-485 przez USB
Podobną funkcję pełni KAmodUSB RS485 ISO. To również transceiver danych z portu szeregowego na RS485. Tym razem jednak mamy port USB typu C, co pozwala wysyłać dane na interfejs, bądź to z komputera PC, bądź to z każdego innego urządzenia z portem USB 2.0. Po stronie magistrali RS485 zastosowano układ ST485, który obsługuje do 64 urządzeń w magistrali i jest dołączony poprzez obwody zapewniające separację galwaniczną. Szybkość transmisji wynosi maksymalnie 1 Mbit/s, a sam interfejs, podobnie jak w poprzedniej płytce, wyprowadzono na wygodne złącze Phoenix Contact MC 3,81 mm. Dostępna jest tu też funkcja ECHO umożliwiająca sprawdzenie poprawności transmisji. Pozwala także dołączyć do magistrali rezystor terminujący.
Rys. 4. Moduł KAmodUSB RS485 ISO