Sterownik rotora anteny obrotowej GNI-r3

W numerze 3/2018 miesięcznika Świat Radio opublikowałem artykuł o mojej konstrukcji sterownika do popularnych rotorów antenowych typu RAU i RAK. Poniżej jest skrócona wersja tej publikacji wraz z poprawionym nieco schematem.

Rotor controller GNI-r3 board front view
Płytka sterownika rotora GNI-r3 front

Sterownik GNI-r3 obsługuje jeden rotor. Obrót anteny jest możliwy w zakresie 0-360 stopni z zapasem w każdą stronę, czyli np. od -180 do +540 stopni. W takim właśnie zakresie dolna linijka wyświetla rzeczywiste położenie anteny. Górna linijka wskazuje aktualną wartość azymutu anteny w zakresie 0-359 stopni. Użyty w module Arduino Nano układ Atmega328P ma wbudowaną pamięć nieulotną EEPROM, gdzie przechowywane są wartości ostatniego położenia anteny. Wartość liczbowa zapasu może być zmieniona ze 180 na dowolną inną (np. 90 stopni) w kodzie źródłowym programu obsługi sterownika rotora GNI-r3.

Schemat sterownika rotora anteny obrotowej GNI-r3
Schemat sterownika rotora anteny obrotowej GNI-r3 – plik pdf

Zmodyfikowany schemat sterownika rotora GNI-r3 pokazuję powyżej, najważniejsza zmiana to  dodatkowe zabezpieczenie D3-D6 aby stłumić przepięcia, które powstają w wyniku przełączania na długich kablach. Część sterująca zasilana jest z komputera poprzez złącze mini-USB modułu Arduino. Służy ono także do kontroli rotora w trybie automatycznym (z PC), oraz do programowania mikrokontrolera. Zastosowałem wyświetlacz LCD 2×16 z kontrolerem HD44780 w wersji z wlutowaną płytką interfejsu I2C, dzięki czemu upraszcza się konstrukcja i maleje liczba połączeń. Dostępne są wersje w różnych kolorach znaków i tła. Można nabyć oddzielnie wyświetlacz i interfejs I2C oraz zlutować razem. Po 3 minutach braku aktywności podświetlenie wyświetlacza automatycznie wyłącza się. Wartość tego czasu być także łatwo zmieniona na inną w programie źródłowym sterownika rotora GNI-r3.

Do ręcznego sterowania rotorem wykorzystuje się 3 przyciski: „+” (obrót zgodnie z ruchem wskazówek zegara), „-” (obrót w stronę przeciwną) oraz „Stop” (natychmiastowe zatrzymanie rotora). Ten ostatni ma także dodatkową funkcję – kalibracja, czyli ustawienie pozycji początkowej. Jeśli jest on wciśnięty przez kilka sekund w czasie włączania zasilania, to wartości azymutu anteny oraz rzeczywistego jej położenia są w pamięci EEPROM ustawiane na 180 stopni (kierunek na południe). Wartość ta może być ona zmieniona na inną (np. 0 stopni) w kodzie źródłowym. Do ustalenia kierunku obrotu silnika rotora służą przekaźniki K1 oraz K2. Napięcie zasilania silnika rotora podane na gniazdo P1 może mieścić się w zakresie od 12V do 24V. Masa zasilania silnika jest galwanicznie oddzielona od masy kontrolera rotora GNI-r3 i komputera. Dioda LED1 miga przy każdym impulsie z kontaktronu (co 1 stopień).

Sterowanie rotorem z komputera jest możliwe za pomocą dowolnego programu kompatybilnego z protokołem AlfaSpid (patrz Uwaga 2). Sprawdziłem prawidłowość działania sterownika rotora GNI-r3 z następującymi programami: DXView (część DX Lab), Logger32, HRD, N1MM Rotor, PstRotator, Spid Driver (SQ7RO), a także z programem testowym Alfa Radio (w języku Phyton ALFAMD.py).

Projekt sterownika GNI-r3 można rozbudować np. w celu dodania sterowania drugiego rotora w elewacji. Są 2 metody – jedna to dodanie trochę kodu, Arduino na wystarczająco pinów (PD3, 5, 6 na nowym schemacie). I jeszcze mała płytka z przekaźnikami do elewacji. Druga metoda – zastosować dwie płytki sterowników GNI-r3 (zamontować jedna nad druga lub obok siebie i zrobić odpowiednią obudowę). Ale wtedy każdy rotor jest sterowany z innego COMa (dwa kable USB lub hub USB). Można pójść dalej i w jednej obudowie umieścić kilka płytek. Takie rozwiązanie może być interesujące dla posiadaczy wielu anten obrotowych – znaczna oszczędność miejsca na biurku HI.

Lista najważniejszych komponentów:
MOD – Arduino Nano (lub jego klon) – Sklep Piekarz nr 29554
Listwa – (do montażu Arduino) – Sklep AVT nr Z-BL16/1G
DISP – I2C Interface 1602 LCD – https://www.ebay.com/itm/253079231142
Uwaga – dostępne na rynku wyświetlacze z intefejsem I2C (lub oddzielne interfejsy do wlutowania) mają z reguły adres „27”. Spotkałem również takie z adresem „3F”. W takim przypadku w kodzie źródłowym należy odpowiednio zmodyfikować instrukcję LiquidCrystal_I2C .
Łącznik – (do mocowania wyświetlacza)-  Sklep AVT nr PMB-1
K1, K2 – Przekaźnik HF68F-005-1 – Sklep Piekarz nr 11536
P1 – Gniazdo DC 2.1/5.5 – Sklep AVT nr GN DC2.1/5.5
S1/2/3 – Mikroprzycisk 6x6mm – Sklep AVT nr MIKROSW 6 K
T1/2 – BC237 – Sklep AVT
IC2 – 74LVC1G17DBVR – Sklep TME (Texas Instruments)
OK1 – Transoptor PC817 – Sklep AVT
C12 – 100uF/16V tantalowy – Sklep AVT

SONY DSC
Sterownik GNI-r5

Kod źródłowy programu obsługi z obszernymi komentarzami jest dostępny dla zainteresowanych na stronie https://github.com/sp5gni/GNI-r3-rotator-controller (lecz lepiej poprosić mnie o uaktualniona wersję). Plik pdf do wykonania płytki metodą prasowania wysyłam mailem na żądanie. Instrukcja obsługi GNI-r3 dostępna jest TUTAJ .

Uwaga – dostępne w handlu wyświetlacze z interfejsem I2C (lub osobne interfejsy do wlutowania) zwykle mają adres „27”. Spotyka się również z adresem „3F”. W takim przypadku komenda LiquidCrystal_I2C w kodzie źródłowym musi zostać odpowiednio zmodyfikowana.

Uwaga 2 – każda aktywacja portu COM w komputerze powoduje wysłanie sygnału zerowania do mikrokontrolera! Dzieje się to np. po wybraniu pola „Enable” w zakładce „Rotator Control” w aplikacji DXView. Niektóre aplikacje (jak np. HRD) wysyłają sygnał zerowania w sposób niekontrolowany i niezgodny z protokołem AlfaSpid. Nie jest to groźne za wyjątkiem przypadku, gdy antena jest w ruchu. Następuje wtedy utrata informacji co do aktualnego położenia anteny, co może być niebezpieczne dla kabla koncentrycznego, ponieważ nowsze rotory RAU/RAK nie mają wyłącznika krańcowego. Aby w takim przypadku nie następowało zerowanie mikrokontrolera, należy w module Arduino Nano usunąć jeden kondensator SMD 100nF. Jest on dołączony do pinu DTR  układu scalonego interfejsu USB (w zależności od wersji modułu – pin 13 dla CH340 lub pin 2 dla FT232; jest on często oznaczony jako C4). Należy to zrobić po ostatecznym zaprogramowaniu mikrokontrolera, bo funkcja programowania bez tego kondensatora nie działa!

Jest również dostępny unowocześniony sterownik rotora typu GNI-r5 (fot. wyżej). Jest to wersja z możliwością programowania, z manipulatorem typu mysz, kompletny, w solidnej metalowej obudowie.

Mirek Sadowski sp5gni@gmail.com

Liczba komentarzy: 2

  • Witam!
    Chce zbudować sterownik według Twojego pomysłu.
    Potrzebuje plik pdf do wykonania płytki metodą prasowania.
    Poproszę również o najnowsze oprogramowanie Arduino.
    Jeżeli jest to możliwe będę bardzo wdzięczny.
    Pozdrawiam Darek MI0SLE

    Odpowiedz
  • Dzień dobry.
    Proszę bardzo o najnowsze oprogramowanie Arduino do sterownika GNI-r3.
    Z góry serdecznie dziękuję.
    Tadeusz.

    Odpowiedz

Skomentuj

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *