Warunki propagacji

Solar X-rays:
Status
Geomagnetic Field:
Status
 
Xray Flux:
Status
Magnetometr:
Status
Kp Index:
Status
VHF Aurora:
Status
144 MHz Es dla EU:
Status
Dzisiejszy MUF & Es:
Status
Źródło n3kl.org

Na sprzedaż

Sprzęt krótkofalarski którego chcemy się pozbyć:
» store.sp5pip.pl

Sterownik do rotora RAKDrukuj

Sterownik rotora RAK by SQ5BE

Sterownik do rotora RAK SpidAlfa w oparciu o pomysł kolegi SP3TYF. Odsyłam do linku i nie będę przedstawiał samego podłączenia do płytki Arduino.  Zachowałem te same porty jakich użył SP3TYF do podłączenia LCD, przycisków (GO/U/M/STOP), PulseIn, potencjometru ustawienia azymutu). Konstrukcja kolegi SP3TYF została jednak zmodyfikowana. 

Modyfikacje polegały na:

  1. zastosowano dodatkowy w pełni odseparowany od układów samego sterownika zasilacz dla silnika rotora (24V),
  2. zasilanie silnika rotora zostało uzupełnione o układ filtrujący analogiczny do układu w oryginalnym sterowniku Rak1Prog,
  3. wejście przyjmujące impulsy z kontaktronu w rotorzez zostało odseparowane od sterownika układzem optoizolacji,
  4. jako potencjometr służący do ręcznego ustawiania azymutu zastosowano potencjometr 10-obrotowy (dużo większa precyzja ustawiania),
  5. wprowadzono układ eliminujący automatyczny restart Arduino w momencie inicjacji transmisji szeregowej,
  6. zrezygnowano z zapisu aktualnego położenia anteny do pamięci EEPROM w sytuacji braku zasilania (rozwiązanie zastąpiono zapisem tego położenia w momencie ustawienia anteny na nowy azymut),
  7.  zmieniono architekturę programu sterującego (zrezynowano z pętli czasowych i przerwań),
  8.  dodano diody LED sygnalizujące:
    • brak impusów z rotora
    • zapis do pamięci EEPROM
    • tryb pracy automatycznej (Manual i USB)

Arduino NANO

Zastosowana płytka to klon Arduino Nano z firmy DFRobot DFRduino Nano V3.1.

Obrazy artykułów: nano.jpg

Montaż płytki Nano został zrealizowany poprzez płytkę adaptera:

Obrazy artykułów: nano_expasion.jpg

Sterowanie silnika rotora za pomocą modułu przekaźników z optoizolacją:

Obrazy artykułów: 2chrelays_sch.jpg

Obrazy artykułów: 2chrelays.jpg

Arduino UNO/Nano problem z autorestartem

Problem polega na tym, że płytka Arduino UNO/Nano jest zbudowana tak, że w momencie gdy np. oprogramowanie współpracujące inicjuje port transmisji szeregowej (np. program logujący zaczyna sterowanie rotorem) następuje restart Arduino. Problem jest znany i opis jego rozwiązania jest np. tutaj.

Zastosowałem rozwiązanie z kondensatorem 10uF dołączanym pomiędzy pin RESET a pin GND. Trzeba jednak pamiętać, że gdy kondensator jest w układzie nie ma możliwości programowania Arduino przez IDE.  Ponieważ lubię co jakiś czas modyfikować oprogramowanie i aby nie było konieczności za każdym takim razem otwierać obudowę sterownika celem odłączenia kondensatora zastosowałem przełącznik:

Obrazy artykułów: autoreset.png

Optoizolacja na wejściu z impulsatora (kontaktron):

Dla uproszczenia zastosowałem gotowy moduł SPF-01937:

Obrazy artykułów: optoizolator-dwukanalowy-ild213t-modul-sparkfun.jpgZasilanie wejścia modułu zostało zrealizowane z oddzielnego (od układów logicznych sterownika) zasilacza 5V. Schemat modułu poniżej (wykorzystałem tylko jeden kanał):

Obrazy artykułów: schemat_ild213t.png

Potencjometr ustawiania azymutu

Obrazy artykułów: pot_10rot.jpg

Zmontowany sterownik

Zastosowałem dwa zasilacze impulsowe. Jeden dostarczający napięcie 24V/1,5A służy do zasilania silnika rotora (zasilacz jest odseparowany od reszty układów). Drugi zasilacz dostarcza napięć 12V i 5V. Napięcie 12V służy do zasilania Arduino, napięcie 5V zasila: przekaźniki sterujące silnikiem, tor impulsatora, podświetlanie wyświetlacza. Optoizolacja impulsatora, optoizolacja przekaźników oraz wyświetlacz LCD i potencjometr zasilane są z płytki Arduino (5V). Producent rotora sugeruje aby zasilacz rotora miał wydajność prądową nie mniejszą niż 5A. Prawdopodobnie taki prąd silnik może pobierać przy obracaniu większych anten KF i/lub w  podczas wietrznej pogody. Zastosowałem zasilacz który miał szansę zmieścić się w obudowie, jak narazie jest wystarczający (obraca małą anteną na 144MHz - 2λ).

Obrazy artykułów: inside_sterownika.jpg

Oprogramowanie sterownika

Największych zmian dokonałem w samym oprogramowaniu. Zarówno odczyt impulsów jak i odczyt przycisków odbywa się z wykorzystaniem bliblioteki Bounce. Biblioteka Bounce pozwala w prosty sposób na wyeliminowanie błędów związanych z "drganiem styków". Brak w głównej pętli programu funkcji delay() powoduje, że program działa płynnie a reakcje związane z przyciskami i impulsatorem są pewne i pozbawione mylnych odczytów.

 

W momecie gdy utrata zasilania nastąpi w czasie pracy rotora ustawienia azymutu nie zostaną zachowane i konieczna może być ponowna kalibracja.

Źródła elementów
  • Arduino Nano, płytka pod moduł Arduino Nano, optoizolacja, potencjometr wieloobrotowy: firma Botland
  • obudowa, zasilacze, przyciski, diody, złącza: firma TME
Brak komentarzy. Może czas dodać swój?

Dodaj komentarz

Zaloguj się, aby móc dodać komentarz.