Sterownik obrotnicą antenową na Arduino UNO

Po 5 latach eksploatacji anteny HexBeam postanowiłem zdjąć antenę z komina i postawić na 10m maszcie w ogrodzie. Na starym maszcie pozostały anteny UKF i stary rotor AR303 sterowany wcześniej opisanym sterownikiem na Atmega8. Do kręcenia anteną HexBeam na nowym maszcie skonstruowałem rotor na bazie starego reduktora ślimakowego. Elementem odczytującym położenie anteny jest czujnik impulsów wbudowany w rotor. Do budowy sterownika wykorzystałem płytkę Arduino UNO i wyświetlacz 2*16. Sterownik może pracować w dwóch trybach, ręcznym i automatycznym. Sterowanie ręczne realizowane jest przez zadawanie azymutu z potencjometru na ściance przedniej a sterowanie automatyczne polega na komunikacji z komputerem w protokole GS-232 YAESU z prędkością 9600bd i współpracuje ze wszystkimi programami logującymi.

Poniżej znajduje się schemat blokowy połączeń z kilkoma zewnętrznymi elementami. Wszystkie moduły i elementy zakupiłem na znanym portalu zakupowym w łącznej cenie poniżej 100pln. Sterownik zasilam napięciem 13.8V z tego samego zasilacza co TRX. Ponieważ wykorzystałem silnik 24V zastosowałem dodatkową regulowaną przetwornice napięcia 12>24VDC, którą można pominąć dla silników 12V. Załączanie i zmiana kierunku obrotów silnika realizowana jest przez moduł przekaźnikowy. Położenie anteny przy każdorazowym wyłączaniu zasilania zapisywane jest do pamięci mikrokontrolera i odczytywane po załączeniu zasilania. Przy wyłączonym sterowniku rotor powinien być zablokowany mechanicznie przed poruszeniem przez podmuchy wiatru. Elementy D1 i C1 gromadzą energie potrzebną na podtrzymanie pracy kontrolera i zapisanie parametrów do pamięci eeprom po rozłączeniu zasilania. Kontroler przez dzielnik napięcia R3 i R4 i wejście analogowe A1 czuwa nad stanem napięcia zasilania 12V i natychmiast zapisuje położenie anteny w pamięci podczas zaniku zasilania. Ewentualne podświetlanie LCD powinno być zrealizowane z oddzielnego obwodu +5V a nie z napięcia +5V płytki Arduino. W przeciwnym razie funkcja zapamiętywania może nie działać poprawnie. Przełącznik RESET zamontowany z tyłu urządzenia powinien być normalnie rozwarty i przełączany tylko dla programowania Arduino. W przeciwnym razie nie otrzymamy poprawnej komunikacji z programami logującymi. Impulsy z czujnika rotora podawane są na pin 2 modułu Arduino. Ja użyłem czujnika indukcyjnego M8 PNP ale można zastosować kontraktron, halotron lub inny czujnik. Impulsy zliczane są w przerwaniach. W kodzie programu w linii 168 należy obliczyć dzielną właściwą dla użytego rotora i całkowitej ilości impulsów na pełen obrót 360 stopni.

Kod programu:

Rotor V1.1   

Rotor V1.2  - Do pamięci eeprom dodałem dodatkowe informacje. Obecnie sterownik zapamiętuje w jakiej był pozycji menu i po ponownym załączeniu zasilania ustawia się w ostatnio używanej funkcji. Jeżeli jest to funkcja USB-PORT lub AUTO-USB to przy starcie układu do okienka zadanego azymutu, w nawiasach, przepisywany jest stan aktualnie odczytanej pozycji rotora.


Opis menu i informacji pojawiających się na wyświetlaczu LCD:

1.  Tryb ręczny. wyświetlany jest aktualny azymut i w nawiasie zadany azymut z potencjometru.

2. Krótkie przyciśnięcie GO uruchamia jednorazowy obrót anteny na zadany azymut. Aby zmienić kierunek anteny na inny azymut należy ustawić potencjometr azymut i ponownie przycisnąć GO. Krótkie przyciśnięcie U/M zatrzymuje obracanie (stop).

3. Przyciśnięcie i przytrzymanie GO uruchamia obrót i ustawia sterownik w tryb ciągłego śledzenia potencjometru nastawiania azymutu. Wystarczy przestawić potencjometr i antena natychmiast podąża za zmianami. Krótkie przyciśnięcie U/M zatrzymuje obracanie (stop).

4. Dłuższe przyciśnięcie U/M przełącza do trybu automatycznego ustawiania anteny z komputera.

5. Krótkie przyciśnięcie GO uruchamia jednorazowy obrót anteny na zadany azymut. Aby zmienić kierunek anteny należy zadać z komputera nowy azymut i przycisnąć GO. Krótkie przyciśnięcie U/M zatrzymuje obracanie (stop).

6. Przyciśnięcie i przytrzymanie GO uruchamia obrót i ustawia sterownik w tryb ciągłego śledzenia zadawanego azymutu z komputera. Krótkie przyciśnięcie U/M zatrzymuje obracanie (stop).

7. Przyciśnięcie i długie przytrzymanie U/M przełącza w tryb zerowania ustawień anteny. Polega ono na ustawieniu przyciskami GO i U/M (lewo-prawo) rotora na azymucie 0. Dla zapisania zmian należy jednocześnie przycisnąć krótko obydwa przyciski. Po wyjściu z zerowania antena znajduje się na kierunku północnym, azymut wskazuje 000 natomiast antena może przesuwać się tylko w prawo do azymutu 360 i z powrotem.

Strzałki na wyświetlaczu pokazują kierunek obrotu anteny. Odczyt azymutu na LCD odświeżany jest 2 razy na sekundę.

Poniżej zamieszczam kilka fotografii mojego rotora. Przepraszam za bałaganiarski montaż :|

 

 

 

<< POWRÓT DO MENU