Genezą tego projektu jest prośba, z którą kilka miesięcy temu zwrócił się do mnie jeden z czytelników naszego serwisu. Chodziło o konsultację, dotyczącą możliwości selektywnego załączania/odłączania osi napędowych w modelu kołowym 4WD (dwa silniki DC, z których każdy napędza jedną oś). Tego rodzaju funkcjonalność można zrealizować w oparciu o 2 kanałowy układ typu „rc switch”, którego budowę na bazie Arduino opisuję poniżej. Oczywiście taki układ przełącznika RC jest uniwersalny i można go zastosować w wielu innych przypadkach, kiedy potrzebujemy zamienić sygnał kanałowy z odbiornika (normalnie podawany na serwo) na dwustanowy sygnał elektryczny, sterujący innymi urządzeniami (przekaźniki, oświetlenie, dźwięk, urządzenia zapłonowe itp.).
Opis działania układu:
- wejście SGM-RCSwitch podłącza się do wolnego kanału w odbiorniku (w aparaturach kołowych zwykle kanał 3, w aparaturach lotniczych 6-8);
- w nadajniku ten kanał musi być skojarzony z 3-położeniowym przełącznikiem dźwigniowym (SW), położenie środkowe dźwigni odpowiada neutrum sygnału (1500uS), przełączenie dźwigni w skrajne położenie (minimum lub maksimum) powoduje reakcję na wyjściu jednego z 2 kanałów (Ch1, Ch2), w sposób zależny od położenia zworki ustalającej tryb pracy (Mode);
- „Mode 0” – brak zworki J1 --> w neutrum SW na obu wyjściach (Ch1, Ch2) jest sygnał wysoki (kanały załączone), przełączenie SW do minimum lub maksimum odłącza jeden z kanałów, pozostawiając drugi włączony – ten tryb można wykorzystać właśnie w modelu kołowym 4WD;
- „Mode 1” – zworka J1 założona --> w neutrum SW na obu wyjściach (Ch1, Ch2) jest sygnał niski (kanały wyłączone), przełączenie SW do minimum lub maksimum załącza jeden z kanałów, pozostawiając drugi wyłączony – ten tryb można wykorzystać np. do odpalania rakiet;
- układ posiada „tryb uzbrajania SW” - jest to zabezpieczenie, powodujące, że jeśli po włączeniu zasilania SW nie znajduje się w położeniu środkowym, to wyjścia Ch1 i Ch2 są ustawione jak dla neutrum (stan wysoki lub niski w zależności od „Mode”), dopiero po przesunięciu SW do neutrum kolejne jego ruchy będą miały przełożenie na wyjścia Ch1/Ch2;
- zabezpieczenie działa podobnie w przypadku braku sygnału RC po włączeniu zasilania (np. odłączony przewód do odbiornika, lub odbiornik włączony wcześniej niż nadajnik);
- stan wejścia RC jest sygnalizowany przy pomocy diody LED na płytce procesora w następujący sposób:
miganie szybkie - SW=Mid (>1300uS i <1700uS)
miganie powolne - SW=Low (<1300uS)
świecenie ciągłe - SW=High (>1700uS)
dioda nie świeci - brak sygnału RC
Układ jest zbudowany w oparciu o moduł Arduino Pro Mini i zawiera niewielką ilość elementów. Rezystory oznaczone gwiazdką (R3, R4) są opcjonalne, można je zamontować (lub nie) w zależności co będzie podłączane na wyjścia Ch1/Ch2. Niektóre (np. fabryczne moduły przekaźników) będą miały taki rezystor, jeśli zaś podłączamy własny moduł, wtedy ilość elementów na jego płytce może być mniejsza.
Płytka ma wymiary zbliżone do wymiarów Pro Mini. Nie mam w chwili obecnej potrzeby wykorzystania takiego rc switch’a, więc nie zbudowałem go w wersji docelowej. Sposób montażu jest identyczny jak w pozostałych projektach z tej serii, przy wykorzystaniu modułu ProMini z wlutowanym kątowym męskim złączem goldpin, umożliwiającym łatwe zaprogramowanie przy użyciu programatora USBasp. Zainteresowanych szczegółami odsyłam do działu --> Warsztat --> Arduino
Prace nad programem i testy prowadziłem przy pomocy zestawu jak na fotce – Arduino Uno, tester serw jako źródło sygnału RC i diody LED podłączone na wyjścia odpowiadające kanałom Ch1/Ch2 (dioda świeci, kiedy na wyjście jest podany sygnał wysoki).
Ta fotka ilustruje testy – układ jest w trybie „Mode 0”, przy potencjometrze ustawionym w położeniu środkowym świecą obie diody, przy skrajnych położeniach lewa lub prawa odpowiednio.
Tutaj z kolei mamy ilustrację programowych zabezpieczeń – odłączony od wejścia D2 kabel z testera serw przy włączeniu zasilania, oraz potencjometr skręcony na minimum przy włączeniu zasilania, w obu przypadkach działa „tryb uzbrajania”, świecą obie diody (w trybie Mode 0 odpowiada to stanowi neutrum), układ zacznie reagować na potencjometr po podłączeniu sygnału RC i przestawieniu pokrętła w położenie środkowe.
Przejdźmy teraz do przykładu zastosowania. Jak wcześniej wspomniałem chodzi o model kołowy 4WD z dwoma silnikami DC, każdy z nich napędza jedną oś.
Typowa instalacja w takim modelu wygląda jak na powyższym schemacie. Silniki DC są połączone równolegle i zasilane sterowane ze sterownika dwukierunkowego (ESC), przeznaczonego do obsługi silników szczotkowych. Obie osie pracują jednocześnie i nie nie ma możliwości pracy tylko osi przedniej lub tylko osi tylnej.
Opisaną funkcjonalność zapewnia podłączenie modułu SGM-RCSwitch w sposób pokazany na schemacie. Dodatkowo konieczne jest użycie dwóch modułów przekaźników. Można je zbudować samodzielnie (mniej więcej jak to pokazano na schemacie, w tym przypadku założyłem, że opcjonalne rezystory R3/R4 są wlutowane na płytce switch’a) lub użyć gotowych modułów. W opisanym zastosowaniu switch powinien pracować w trybie Mode 0, bo zależy nam aby w położeniu neutralnym SW obie osie pracowały, a zmiana położenia SW na skrajne odłączało odpowiednią oś. Taki sposób sterowania nadaje się również dla modelu gąsienicowego lub trójkołowca z dwoma kołami (gąsienicami), każde napędzane swoim silnikiem. Zatrzymanie jednego koła będzie powodować skręt modelu.
Przykładem gotowego modułu przekaźnika jest tani chiński moduł z rodziny Arduino, ma on jednak spore wymiary, a co ważne obciążalność zestyków jest 10A, w niektórych przypadkach może się to okazać za mało. Gdybym robił taki układ dla siebie, to budowałbym go w oparciu o miniaturowy przekaźnik Songle 20A/5V. Tutaj od razu warto zaznaczyć, że powyższy schemat zakłada, że wydajność prądowa układu BEC 5V jest wystarczająca dla wysterowania cewek dwóch przekaźników. Przy konkretnej realizacji należy zawsze sprawdzić pobór prądu i ew, zastosować oddzielny obwód zasilania, potrzeby również w przypadku innego napięcia cewek niż 5V. Dodatkowo takie miniaturowe przekaźniki wymagają dobrze zaprojektowanej (i polutowanej) płytki drukowanej, gdyż przekrój wyprowadzeń (końcówek) prądowych jest niewielki a prąd w obwodzie silników może być bardzo duży.
Program SGM-RCSwitch, wersja 1.1 --> pobierz
Uwaga! Nie ponosimy odpowiedzialności za ewentualne błędy i uszkodzenia związane z budową i podłączaniem urządzenia, każdy robi to na własne ryzyko. Projekt do wykorzystania wyłącznie na własny użytek.