Spisu treści:
Wideo: UChip - Prosty szkic do zdalnego sterowania silnikami i / lub serwami za pośrednictwem radia 2,4 GHz Tx-Rx!: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Bardzo lubię świat RC. Korzystanie z zabawki RC daje poczucie, że kontrolujesz coś niezwykłego, mimo że jest to mała łódka, samochód lub dron!
Jednak nie jest łatwo dostosować swoje zabawki i sprawić, by robiły to, co chcesz. Zazwyczaj jesteś zmuszony do korzystania z domyślnych ustawień nadajnika lub specjalnie zaprojektowanych kombinacji przełączników i pokręteł.
Kontrolowanie wszystkiego tak, jak naprawdę chcesz, jest dość trudne, głównie dlatego, że świat RC wymaga dość głębokiej znajomości programowania na poziomie sprzętowym, aby wydobyć z niego to, co najlepsze.
Próbowałem wielu platform i konfiguracji, ale zawsze kosztowało to ogromny wysiłek, aby uzyskać wystarczająco dużo komfortu z kodem, zanim dokonam prawdziwego dostosowania do mojej zabawki RC.
Brakowało mi prostego szkicu, który mógłbym załadować za pomocą Arduino IDE i który pozwoliłby mi łatwo przetłumaczyć wartości wychodzące z Radio RX (odbiornika) na pożądane sterowanie silnikiem/serwomechanizmem.
Dlatego oto, co stworzyłem po zabawie trochę z uChip i Arduino IDE: Prosty szkic do zdalnego sterowania silnikami i / lub serwami za pomocą radia 2.4GHz Tx-Rx!
Zestawienie materiałów
1 x uChip: płyta kompatybilna z Arduino IDE
1 xTx-Rx System radiowy: każdy system radiowy z odbiornikiem cPPM jest dobry (moje połączenie to stary Spectrum DX7 Tx + Orange R614XN cPPM Rx), upewnij się, że postępujesz zgodnie z właściwą procedurą wiązania, aby powiązać Tx i Rx.
1 x Akumulator: akumulatory o wysokim prądzie rozładowania są niezbędne w przypadku silników i serw.
Silniki/Serwa: zgodnie z Twoimi potrzebami
Komponenty elektroniczne do napędzania silników/serw: proste oporniki, tranzystory MOSFET i diody umożliwiają osiągnięcie celu napędzania.
Krok 1: Okablowanie
Połącz elementy razem, jak opisano na schematach.
Rx jest podłączony bezpośrednio do uChipand nie wymaga żadnych zewnętrznych komponentów. Jeśli używasz innego odbiornika, sprawdź, czy potrzebujesz przełącznika poziomu, czy nie. Pamiętaj, aby podłączyć sygnał cPPM do uChip PIN_9 (czyli PORTA19 w przypadku, gdy chcesz dostosować kod do innej płyty SAMD21).
Pozostałe okablowanie jest niezbędne do napędzania silnika i/lub serwomechanizmu. Załączony schemat przedstawia podstawowy obwód w celu ochrony uChip przed skokami/przeregulowaniami, które zwykle występują podczas napędzania obciążeń indukcyjnych. Kluczowym elementem zapewniającym bezpieczeństwo uChip jest dioda Zenera zasilania 5,1 V (D1 na schemacie), którą należy podłączyć równolegle do VEXT (uChip pin 16) i GND (uChip pin 8). Alternatywnie, zamiast używać diody Zenera, możesz zdecydować się na opcjonalne obwody reprezentowane przez D2, C1 i C2, które zapobiegają uszkodzeniom komponentów uChip.
Możesz sterować dowolną liczbą silników / serw, po prostu replikując schemat i zmieniając piny sterujące (możesz użyć dowolnego pinu z wyjątkiem pinów zasilania (PIN_8 i PIN_16) oraz pinu cPPM (PIN_9)). Należy pamiętać, że chociaż potrzebny jest tylko jeden obwód ochronny, który jest reprezentowany przez diodę Zenera (lub komponenty opcjonalnego obwodu), komponenty elektryczne związane z napędem silnika / serwomechanizmu muszą być replikowane tyle razy, ile jest silników / serwa, którymi zamierzasz jeździć.
Ponieważ chciałem sterować co najmniej 2 silnikami i 2 serwomechanizmami, wykonałem małą płytkę drukowaną, w której zaimplementowano opisany układ, co widać na zdjęciu. Jednak pierwszy prototyp został wykonany na proto-boardzie za pomocą latających drutów.
Dzięki temu nie potrzebujesz żadnych umiejętności lutowania/projektowania PCB, aby zrealizować ten prosty projekt:)
Krok 2: Programowanie
Oto magia! To tutaj robi się ciekawie.
Jeśli zbudowałeś obwód opisany na poprzednim schemacie, możesz po prostu załadować szkic „DriveMotorAndServo.ino” i wszystko powinno działać.
Spójrz na kod i sprawdź jak działa.
Na początku jest kilka #define używanych do zdefiniowania:
- ilość kanałów Rx (6Ch z Orange 614XN)
- piny do których mocowane są silniki/serwa
- Maks. i min. używane dla serwomechanizmów i silników
- Max i min używane dla zasięgu kanałów radiowych
Dalej znajduje się sekcja deklaracji zmiennych, w której deklarowane są zmienne silników/serwomechanizmów.
W przypadku, gdy napędzasz więcej niż jeden silnik i jedno dołączone serwo, jak opisano na poprzednim schemacie, musisz zmodyfikować szkic i dodać kod obsługujący dodatkowe dołączone silniki/serwa. Musisz dodać tyle Servo, servo_value i motor_value, ile serw/silników używasz.
W sekcji deklaracji zmiennych znajdują się również zmienne ulotne używane do porównywania przechwytywania sygnału cPPM. NIE ZMIENIAJ TYCH ZMIENNYCH!
To, co musisz zrobić dalej, to funkcja loop(). Tutaj możesz zdecydować, co zrobić z wartości kanałów przychodzących.
W moim przypadku podłączyłem przychodzącą wartość bezpośrednio do silnika i serwomechanizmu, ale możesz ją zmienić zgodnie z własnymi potrzebami! Na filmie i zdjęciach połączonych w tym samouczku podłączyłem 2 silniki i 2 serwa, ale może być 3, 4, 5, …do maksymalnej dostępnej liczby wolnych pinów (13 w przypadku uChip).
Możesz znaleźć przechwyconą wartość kanału w tablicy ch[index], której „indeks” przechodzi od 0 do NUM_CH - 1. Każdy kanał odpowiada drążkowi/przełącznikowi/pokrętłu w radiu. Od Ciebie zależy, czy zrozumiesz, co jest czym:)
Na koniec zaimplementowałem kilka funkcji debugowania, aby ułatwić zrozumienie, co się dzieje. Skomentuj/odkomentuj #define DEBUG, aby wydrukować na natywnym SerialUSB wartość kanałów.
WSKAZÓWKA: Poniżej funkcji loop() znajduje się więcej kodu. Ta część kodu jest niezbędna do ustawienia pinów zasilania uChip, obsługi przerwań generowanych przez funkcję porównywania przechwytywania, ustawienia timerów i celu debugowania. Jeśli czujesz się na tyle odważny, aby bawić się rejestrami, możesz je zmodyfikować!
Edycja: Zaktualizowano szkic, naprawiono błąd w funkcji mapowania.
Krok 3: Graj, jedź, ścigaj się, lataj
Upewnij się, że prawidłowo połączysz system Tx i Rx. Włącz go, podłączając akumulator. Sprawdź, czy wszystko działa. Możesz dowolnie rozszerzać funkcjonalności lub zmieniać funkcję każdego kanału, ponieważ teraz masz pełną kontrolę nad swoim przyszłym modelem RC.
Teraz zbuduj swój spersonalizowany model RC!
PS: Ponieważ oprawa może być dość nudna, planuję wkrótce wydać szkic, który pozwoli na oprawę twojego systemu Tx-Rx bez konieczności robienia tego ręcznie. Bądź na bieżąco z aktualizacjami!
Zalecana:
Magiczny przycisk 4k: 20 USD BMPCC 4k (lub 6k) Bezprzewodowy pilot zdalnego sterowania: 4 kroki (ze zdjęciami)
Magiczny przycisk 4k: bezprzewodowy pilot zdalnego sterowania BMPCC 4k (lub 6k) za 20 USD: Wiele osób prosiło mnie o udostępnienie szczegółów dotyczących mojego bezprzewodowego kontrolera do BMPCC4k. Większość pytań dotyczyła sterowania bluetooth, więc wspomnę kilka szczegółów na ten temat. Zakładam, że znasz środowisko Arduino ESP32
Pilot zdalnego sterowania ATtiny85 RF: 3 kroki
Pilot ATtiny85 RF: UWAGA: Moja instruktażowa „Wirtualna gra w chowanego”; pokazuje, jak używać tego typu pilota z modułem RXC6, który automatycznie dekoduje wiadomość. Jak wspomniałem w poprzednim Instructable, niedawno zacząłem bawić się niektórymi ATtiny85 chi
Zestaw przełączników zdalnego sterowania DIY firmy 2262/2272 M4 płytka do chleba i przekaźnik dla producenta: 4 kroki (ze zdjęciami)
Zestaw przełączników zdalnego sterowania DIY firmy 2262/2272 M4 Bread Board & Relay for Maker: inteligentny dom nadchodzi w naszym życiu. jeśli chcemy, aby inteligentny dom się spełnił, potrzebujemy wielu przełączników zdalnego sterowania. dzisiaj zrobimy test, zróbmy łatwy obwód, aby nauczyć się teorii przełącznika zdalnego sterowania. Ten projekt zestawu autorstwa SINONING ROBOT
555 Timer TV Jammer zdalnego sterowania: 3 kroki
555 Timer TV Jammer: Jak działa zagłuszacz TV? Pilot do telewizora wykorzystuje światło do przesyłania sygnałów z pilota do telewizora. Dioda LED na pilocie emituje niewidzialne światło podczerwone, które odpowiada określonym kodom binarnym. Te kody binarne zawierają polecenia takie jak
Zwykły zestaw zdalnego sterowania przekształcony w czterokanałowy pilot zdalnego sterowania RC: 4 kroki
Zwykły zestaw zdalnego sterowania przekształcony w czterokanałowy pilot zdalnego sterowania RC: 如何将通用遥控器套件转换为玩具模型中使用的四通道遥控器。遥控器套件非常便宜。它采用2262和2272芯片和433个模块构建。 ja