Sterownik rotora na Arduino UNO - Wersja do druku +- HomeMade (http://sp-hm.pl) +-- Dział: Forum Praktyczno-Techniczne HomeMade (/forum-1.html) +--- Dział: Inne urządzenia HM (/forum-2.html) +--- Wątek: Sterownik rotora na Arduino UNO (/thread-2593.html) |
Sterownik rotora na Arduino UNO - SP3TYF - 28-02-2016 2:53 Witam Na mojej stronie http://sp3tyf.qrz.pl/ umieściłem opis wraz z kodem źródłowym projektu sterownika rotora z pomiarem impulsów. Sterownik zbudowany jest na klonie Arduino UNO i obsługuje komunikacje z komputerem w protokole GS232 Yaesu. Zapraszam do lektury. pozdrawiam Sławek RE: Sterownik rotora na Arduino UNO - SQ5PGC - 21-04-2016 21:13 Właśnie próbuję zmontować na płytce prototypowej i niestety nie działa Zmieniłem tylko LCD na magistrali I2C, coś zaczyna wyświetlać ale jakieś krzaczki i znaki zapytania Jako Autor masz jakieś pomysły gdzie jest problem ? A dodam że zamiast UNO stosuję NANOv3. może to tu ?? RE: Sterownik rotora na Arduino UNO - SP3TYF - 21-04-2016 21:49 Witaj Zmontowany przez Ciebie układ mocno odbiega od prototypu. Mam nadzieje, że użyłeś odpowiednich bibliotek do obsługi LCD przez I2C i zmodyfikowałeś program. Nie znam architektury NANO tym bardziej nie wiem jak połączyłeś płytkę z peryferiami. Pozdrawiam RE: Sterownik rotora na Arduino UNO - SQ5PGC - 21-04-2016 22:07 Podłączyłem bez magistrali I2C i też nei chciało ze mną gadać, ale się okazało że masz błąd na schemacie z podłączeniem LCD (zamienione piny 3 i 4 na LCD) I generalnie ma chęć działać, tylko nie do końca Jak ustawię go w trym USB PORT i z HRD próbuje się połączyć, to przechodzi w stan MANUALL RE: Sterownik rotora na Arduino UNO - SP3TYF - 21-04-2016 22:44 Dzieje się tak ponieważ port RS jest w trybie programowania. Każda próba komunikacji po RS powoduje reset mikrokontrolera. Trzeba odciąć nogę (rozewrzeć zworkę zależnie od wersji Arduino) resetu uC. Na schemacie wrysowałem w to miejsce przełącznik dla wygody. RE: Sterownik rotora na Arduino UNO - SQ5PGC - 22-04-2016 0:16 Temat rozgryzłem dość mozolnie i długo ale rozgryzłem. Problemem jest fakt iż dla łatwiejszego programowania Atmegi zrobili automatyczny RESET, jest to połączenie RST i DTR. Rozwiązań jest kilka i jak Autor porjektu proponuje przecięcie ścieżki, ale również sa i rozwiązania mniej inwazyjne w postaci podciągnięcia lini RST do +5V przez rezystor ok 100Ohm, lub kilka linijek KODu które troszkę oszukują itp. tu można poczytać http://www.plociennik.info/index.php/transmisja-szeregowa-znane-problemy Ja swojego ogarnąłem że coś działa i komunikuje sie z HRD. reszta to przyszłość jutrzejsza :-) RE: Sterownik rotora na Arduino UNO - SP3UR - 28-08-2016 1:36 Witam serdecznie miłośników DIY. Pomysł Sławka pożeniłem z pomysłem Jarka SQ9OUB, a jako impulsator użyty został hallotron i neodymki, przez transoptor na wejście Arduino. Tanio, łatwo i jak się uważa przy lutowaniu - bezpiecznie :-): RE: Sterownik rotora na Arduino UNO - SP3TYF - 18-01-2024 19:58 Minęło 9 lat użytkowania sterownika zbudowanego na bazie Arduino Uno. Z małymi modyfikacjami programowymi i wymianą przekaźników działał bezawaryjnie niemal codziennie kierując antenę HexBeam w kierunku stacji Dx. Jakiś czas temu kupiłem z drugiej ręki rotor RAK i trzymałem go w garażu z zamiarem wymiany wysłużonego AR303 i użyciu dla anten UKF. Planowałem zbudować funkcjonalny bliźniaczy sterownik na Arduiono UNO i wymienić rotor wraz antenami przed końcem 2023 roku. Testy sterownika z RAKiem wykazały szereg niedociągnięć hardwerowych i programowych wcześniejszego sterownika. SPID Elektronik producent rotora RAK nie precyzuje jak wewnętrznie zbudowana jest impulsator i ile impulsów jest na pełen obrót 360 stopni. Mój rotor ma wewnątrz zabudowany kontraktron z szeregowym rezystorem 1k i daje równo 360 impulsów na pełen obrót 360 stopni. Sterownik połączyłem z rotorem zwykłym kablem OMY 4x0,75. Głównym problemem były nadmiarowe impulsy zliczane przez sterownik co powodowało rozjazd w rzeczywistym położeniu anteny a wskazaniami na sterowniku już po kilku ruchach rotorem. Głębsza analiza wykazała zliczanie nieistniejących impulsów pochodzących z drgań styków kontraktrona, indukowania się w kablu impulsów wynikających ze załączenia i rozłączenia prądu silnika jak i błędy montażowe prowadzenia masy w sterowniku. Przebudowałem większą część kodu programu i dodałem klucz tranzystorowy start-stop. Po modernizacji sterownik najpierw przełącza przekaźniki kierunku obrotu potem uruchamia licznik impulsów i dopiero przez klucz tranzystorowy uruchamia silnik rotora. Przy zatrzymaniu kolejność jest odwrotna. Zmieniłem sposób zabezpieczenia mikrokontrolera przed niekontrolowanym resetowniem przy aktywowaniu portu RS232. Niektóre klony Arduino nie posiadają możliwości fizycznego odcięcia resetu. Dlatego na schemacie pin reset podciągnięty jest do +5V przez rezystor ok 75 ohm. W czasie programowania należy usunąć ten rezystor. Kondensator 470uF wlutowany został za diodą na płytce arduino. Jego zadaniem jest zachowanie energii wystarczającej po wyłączaniu zasilania do zapisania bieżących parametrów do EEPROM a dzielnik rezystorowy na pinie A1 informuje mikroprocesor o zaniku napięcia. Postanowiłem zaprezentować schemat montażowy, który w mojej ocenie lepiej wizualizuje sposób połączeń modułów i sugeruje kierowanie się tym schematem szczególnie prowadząc masę i zasilanie. Cały ten proces wraz z testami zajął mi kilka miesięcy i finalnie nie zdążyłem umieścić rotora na dachu przed zimą. Zmodernizowałem również stary sterownik rotora anteny HexBeam zbudowany na arduino i z nowym oprogramowanie sprawdza się znakomicie. Strona www |