» Elektronika » Arduino »Sprzęt do sterowania radiowego w Arduino

Sprzęt do sterowania radiowego na Arduino



W tym artykule omówiono produkcję proporcjonalnego radiowego urządzenia sterującego Arduino. Ciekawą cechą tego projektu jest to, że sprzęt został pomyślany jako alternatywa dla sprzętu „dla dorosłych”, ale który można wykonać samodzielnie. Na nadajniku znajdują się przyciski przycinania, które są ważne na przykład dla kontroli modele w samolocie nadajnik jest również wyposażony w mały wyświetlacz z organicznymi diodami LED, który wyświetla podstawowe informacje o działaniu nadajnika. Sprzęt jest przeznaczony dla 6 kanałów, 4 proporcjonalnych i 2 dyskretnych. Autor położył również podwaliny pod przyszłe dodanie dwóch proporcjonalnych kanałów, do obudowy dodano 2 potencjometry, ale w tej chwili nie są one zaangażowane. Niemniej jednak wystarczy to do sterowania modelem samolotu, statku lub samochodu, a dyskretne kanały pozwolą kontrolować dodatkowe obciążenie, na przykład włączenie reflektorów, świateł pokładowych, świateł nawigacyjnych, a nawet wystrzelić małe pociski. Sprzęt ma dwa tryby sterowania - liniowy i wykładniczy.




Do nadajnika potrzebne będą:

1 x Arduino NANO / UNO / ProMini
1 x płyta ochronna BMS dla trzech puszek litowo-jonowych
Złącze 1 x 5,5 x 2,1 mm
1 x przetwornica DC / DC Step Up XL6009
1 x LM2596 mały konwerter obniżający (omówię to osobno)
3 x 18650:
2 x joysticki JH-D202X (sprzedawane na Ali)
2 x przełącznik dwustabilny
1 x ekran OLED i2c 0,96 cala 128 x 64
1 x moduł radiowy NRF24l01 ze wzmacniaczem i anteną
9 x przycisk taktowy 6 * 6 * 5 mm
Rezystory wyjściowe (patrz schemat)

Do odbiornika potrzebujesz:

1 x Arduino NANO / UNO / Pro Mini
1 x moduł radiowy NRF24l01
1 x regulator napięcia 3,3 V AMS1117
30 x grzebienie PLS
1 x deska do krojenia chleba
1 x kondensator 10 uF

Poniżej znajduje się graficzny obraz wszystkich komponentów i schemat ich połączenia. Przed montażem należy skonfigurować konwertery buck, XL6009 na 12,6 V (ten moduł jest odpowiedzialny za ładowanie), LM2596 na 3,3 V (zasilanie modułu radiowego). Zamiast LM2596 teoretycznie możliwe jest użycie ASM117, zgodnie z arkuszem danych, maksymalne napięcie wejściowe tego stabilizatora wynosi 15 V, ale zaleca się, aby nie stosować go powyżej 12 V. Najwyraźniej na podstawie tych rozważań autor zastosował inny konwerter DC / DC. Zamiast tego można również użyć regulowanego stabilizatora, na przykład LM317.




Obudowa

Sprzęt do sterowania radiowego na Arduino


Obudowa składa się z dwóch głównych części: górnej i dolnej. Ponadto drukowanych jest 9 przycisków (8 przycisków przycinania i jeden przycisk trybu), 5 kopii zapasowych przycisków, ramka wyświetlacza i suwak zasilania.Autor wydrukował PLA z gumką z 20% pokryciem, dyszą 0,4 mm i wysokością warstwy 0,3 mm. Nawiasem mówiąc, nikt nie zabrania korzystania z innej skrzynki, możesz po prostu wziąć odpowiednie pudełko, skleić go samodzielnie lub wziąć dość dużą skrzynkę z chińskiej zabawki, są one prawie sprzedawane w torbach na sklasyfikowanych stronach.


Montaż przetwornika

Baterie są połączone szeregowo. Autor zrobił to przez lutowanie, chcę zauważyć, że lutowanie puszek 18650 wymaga pewnych umiejętności, więc jeśli nie masz takiego doświadczenia, kup baterie z już spawanymi płatkami i przylutuj do nich. Ponadto baterie zgodnie z powyższym schematem są przylutowane do modułu BMS, którego wejście zasilane jest napięciem z konwertera XL6009 (zamiast tego można użyć MT3608). BMS odpowiada za równomierne ładowanie / rozładowywanie wszystkich puszek i wyłączanie zasilania po wyczerpaniu akumulatorów. Napięcie można również monitorować za pomocą wyświetlacza. Akumulatory są ładowane za pomocą zasilacza 9 V o prądzie nie większym niż 3 A (maksimum dla XL6009). W rzeczywistości prąd ładowania należy obliczyć w zależności od pojemności akumulatorów i wziąć zasilacz z nieco niższym prądem lub go ograniczyć. Wygodne jest montowanie modułów w obudowie za pomocą dwustronnej taśmy „samochodowej”.




Przyciski zegara są instalowane na specjalnych platformach, po czym są przymocowane za pomocą małych śrub do odpowiednich wsporników wewnątrz obudowy. Tutaj wszystko jest na poziomie projektanta i jest dobrze zrozumiane na zdjęciu.




Przyciski są połączone rezystorami, co w zasadzie pozostawia małą klawiaturę rezystancyjną, co pozwala na użycie tylko jednego styku karty Arduino. Przewody są przylutowane do potencjometrów joysticka, skrajne przewody prowadzą do uziemienia, a 5 V, średnie przewody do odpowiednich pinów Arduino. Mam plany powtórzenia tego schematu, już trochę eksperymentowałem i mogę powiedzieć, że kod ma funkcję automatycznego odwracania kanałów w razie potrzeby, ale jeszcze nie zrozumiałem, w jaki sposób schemat określa tę potrzebę. To znaczy, że inwersja kanałów jest zasadniczo przeprowadzana przez lutowanie ekstremalnych wniosków w niektórych miejscach. Takie joysticki w momencie pisania są sprzedawane w Ali w cenie około 7 USD za sztukę, niezależnie od tego, czy zależy to od Ciebie, czy nie. Zamiast tego możesz użyć modułów joysticka dla arduino lub joysticków kontrolerów gier.

W rzeczywistości joystick działa jak dzielnik, odchylając uchwyt, zmieniamy napięcie na środkowej mocy potencjometru, aw zależności od tego napięcia arduino określa odchylenie.
[centrum] [/ centrum]
Tumblery są również podłączone. Przełączniki są potrzebne do włączania i wyłączania, ponieważ kanał jest dyskretny i ma tylko dwie wartości - 0 lub 1, w zależności od tego, czy wyjście arduino jest przyciągane do ziemi, czy do źródła zasilania 5 V. Ponadto przełącznik włączania jest konieczny, jeśli zostawisz wyjście „wiszące w powietrzu”, co by się stało przy użyciu trzech pozycji, kontroler nie rozumie, co się dzieje, a wartość losowo przeskakuje 0 lub 1 (z mojego doświadczenia). Nie można ustawić dodatkowych potencjometrów, w tym momencie nie są one zaangażowane. Lub możesz umieścić i monitorować stronę źródłową, być może autor ostatecznie opublikuje zaktualizowane oprogramowanie.




Następnie instaluje się arduino, moduł radiowy i płytę zasilania modułu radiowego. Jak opisano powyżej, konieczne jest ustawienie na nim napięcia 3,3 wolta. Jest to prawie niemożliwe, aby to zrobić za pomocą standardowego rezystora zmiennego, więc autor rozlutował go i wlutował wieloobrotowy trymer. Następnie montuje się wyświetlacz, a wszystkie elementy podłącza się do zacisków arduino zgodnie ze schematem.




Oprogramowanie układowe

O oprogramowaniu Arduino mówiono już około 1000 razy. W tym momencie możliwość zrobienia tego przy jednoczesnym trzymaniu się projektu arduino jest tak samo ważna domyślnie, jak umiejętność trzymania lutownicy w dłoniach podczas trzymania czegoś do lutowania.Kod nadajnika, odbiornika, niezbędnych bibliotek i plik do drukowania 3D obudowy można pobrać w jednym archiwum na końcu artykułu.


Odbiornik



Do odbiornika potrzebna będzie kolejna płytka Arduino, moduł radiowy (bez anteny, telemetria nadal nie jest tu zaimplementowana) i stabilizator 3,3 V. Odbiornik jest przylutowany do płyty chlebowej. Moc odbiornika odbywa się w taki sam sposób, jak moc każdego innego odbiornika fabrycznego, ze specjalnego wyjścia regulatora prędkości.




Sam chcę dodać, że zamiast standardowej anteny tego modułu pożądane jest lutowanie tej samej anteny, która jest zainstalowana w module ze wzmacniaczem (tylko bez obudowy). Nie wpłynie to szczególnie na zasięg odbioru, ale znacząco wpłynie na jakość odbioru w zależności od pozycji kontrolowanego modelu w różnych płaszczyznach. W przypadku nowoczesnych odbiorników i nadajników w tym celu instalowane są nawet dwie anteny, które są umieszczone prostopadle do siebie.


Ponadto autor zaimplementował bardzo ważną funkcję - wyjście z sygnału odbiornika PPM. Schematycznie nic się nie zmienia w tym przypadku, wystarczy wypełnić inne oprogramowanie, sygnał PPM jest wyprowadzany w taki sam sposób, jak w większości fabrycznych odbiorników - z pierwszego kanału (gazu).




To wszystko. Osobiście bardzo podobał mi się projekt i, jak już powiedziałem, planuje powtórzyć go w przypadku ze zdalnego sterowania zabawką dla dzieci. W menu możesz wybrać tryb od liniowego do wykładniczego i precyzyjnie dostroić wartość każdego drążka. Pamiętaj, że średnia wartość każdego kanału powinna wynosić 127.


Możesz pobrać wszystko, czego potrzebujesz tutaj.

Wszystkie sukcesy w pracy!
8.9
8.6
8.6

Dodaj komentarz

    • uśmiechnij sięuśmiecha sięxaxaoknie wiemyahoonea
      szefiezadrapaniegłupiectaktak-takagresywnysekret
      przepraszamtańczyćdance2dance3przebaczeniepomocnapoje
      przestańprzyjacieledobrzegoodgoodgwizdaćomdlećjęzyk
      palićklaskanierakdeklarowaćdrwiącydon-t_mentionpobierz
      ciepłożałujęśmiech 1mdaspotkaniemoskingnegatywne
      niepopcornukaraćczytaćprzestraszyćstraszyszukaj
      drwinadziękujętoto_clueumnikostryzgadzam się
      źlepszczołablack_eyeblum3rumienić sięchwalić sięnuda
      ocenzurowaneuprzejmośćsekret2grozićzwycięstwoyusun_bespectacled
      shokrespektlolprevedwitamykrutoyya_za
      ya_dobryipomocnikne_huliganne_othodifludzakazzamknij
30 komentarze
feonor12 poprawnie zapisuje, że nieużywane wejścia należy pociągnąć do ziemi lub do zasilania. Zacząłem stosować się do tej zasady, gdy tylko nauczyłem się pracować z układami CMOS. Och, jak dawno temu to było ... I oczywiście w mikrokontrolerach nikt nie anulował tej zasady.
wielkie dzięki !!!!!
Autor
W procesie kompilacji ponownie przypisałem niektóre zmienne, a także napisałem, że jest mało pamięci, chociaż od razu napisano, że szkic zajmuje 77% pamięci. Szkic jest niezdarny, nikt nie zaprzecza, ale działa. Najważniejsze, co się skompilowało. Zbuduj obwód testowy i sprawdź, jak to działa, problemy muszą zostać rozwiązane, gdy tylko będą dostępne. Kiedy montujesz obwód testowy nadajnika - wszystkie nieużywane kanały, czy to joysticki, przełącznik lub klawiatura, ogólnie rzecz biorąc, wszystko, co nie jest podłączone, musi być przywiązane do ziemi lub do 5V, jeśli pozostawisz urządzenie „wisi w powietrzu”, nie będzie działało odpowiednio, z tym zderzył się, gdy powtórzono.

Z.Y. Zarejestruj się i możesz.
Gość Andrew
prawie okazało się, jak na twoim zdjęciu.
tylko teraz, krótko mówiąc, tutaj
C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: w funkcji składowej „wartość logiczna Adafruit_GFX_Button :: zawiera (int16_t, int16_t)”:

C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1120: 28: ostrzeżenie: porównanie wyrażeń całkowitych ze znakiem i bez znaku [-Wignign-Compare]

return ((x> = _x1) i& (x <(_ x1 + _w)) i&

                             ^

C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1121: 28: ostrzeżenie: porównanie wyrażeń całkowitych ze znakiem i bez znaku [-Wignign-Compare]

(y> = _y1) && (y <(_ y1 + _h)));
ostatecznie kompilacja zakończona
i zapisuje za mało pamięci, a program może nie działać stabilnie.
przepraszam, nie mogę tutaj umieścić zdjęcia.
Autor
Usuń / umieść dwa ukośniki.

# zdefiniuj SSD1306_128_64
// # zdefiniuj SSD1306_128_32
// # zdefiniuj SSD1306_96_16

Tak powinno być.
Gość Andrew
dziękuję bardzo
nie przeklinaj dużo.
Teraz będę google, co oznacza:
(Skomentuj drugi i odkomentuj pierwszy.)
Autor
Dla dwóch, cholera, Google minut. W pliku Adafruit_SSD1306.h musisz znaleźć te linie

// # zdefiniuj SSD1306_128_64
# zdefiniuj SSD1306_128_32
// # zdefiniuj SSD1306_96_16

skomentuj drugi i odkomentuj pierwszy.
Autor
Słuchaj, nie napisałem tego kodu i nie jestem specjalistą od programowania. To, co wiedziałem, a potem podpowiedziałem, nie pasuje ci. Działa dla autora, zebrałem go - działa również dla mnie. To nie działa, więc błędu nie ma w kodzie ani w bibliotece. Skontaktuj się z forum tematycznym, przejdź do źródła i napisz do autora lub poczekaj, aż ktoś, kto tu zna, odpowie. Powiedziałem, że nie wiem, o co chodzi, czego jeszcze ode mnie potrzebowałem, abym rzucił wszystko i zaczął zajmować się problemem dla ciebie? Przepraszam nie
Gość Andrew
„dzięki za pomoc”
błąd w bibliotece Adafruit_SSD1306.h
Mam problem z „prywatnym zamówieniem”.
to daje.
Transmitter_code: 102: 2: error: #error („Nieprawidłowa wysokość, napraw to w Adafruit_SSD1306.h!”);
może jaki numer lub literę należy tam zmienić, ale nie wiem
Autor
Więc nie wiem, wszystko skompilowane i zszyte. Teraz sprawdziłem ze względu na zainteresowanie, wszystko też zostało skompilowane. Więc prywatny problem.

Gość Andrew
Adafruit_SSD1306-główna biblioteka
zainstalował program arduino ide w samym programie
Autor
Czy podczas kompilacji wystąpił błąd? Przeklina bibliotekę wystawową. Czy zainstalowałeś bibliotekę Adafruit_SSD1306-master z archiwum w środę?
Gość Andrew
cześć
Najpierw postanowiłem sprawdzić szkice Odbiorniki PPM i PWM (czytaj.)
Zacząłem sprawdzać nadajnik, wyświetla błąd.
#error („Nieprawidłowa wysokość, proszę to naprawić w Adafruit_SSD1306.h!”);
Tłumacz Google został przetłumaczony.
#error („Wysokość jest nieprawidłowa, popraw to w Adafruit_SSD1306.h!”);
A co powinienem teraz zrobić, nawet nie wiem ..............
Autor
Witam wszystkich Ogólnie rzecz biorąc, nie mam ani czasu, ani chęci ukończenia aplikacji w najbliższej przyszłości, abym mógł napisać o niej artykuł, ale przez długi czas narysowałem sygnet odbiorcy, który należy zabrać. Nie odebrałem tablicy, ale sprawdziłem ją kilka razy, wszystko wydaje się prawidłowe. Kilka słów, że nie będzie pytań:
Stabilizator modułu radiowego jest wlutowany w smd na płytce (ASM1117 przy 3,3 V, włączanie przez arkusz danych). Jeśli będzie działać niestabilnie lub na krótkich dystansach - powieś 10 mikrofaradów kondensatorów bezpośrednio na stykach zasilania modułu (nie mogłem znaleźć miejsca, w którym można by je włożyć).
Lutujemy smd, potem zworki, a następnie arduino (łapy programowania do grzebienia wyjść), drugie „piętro” modułu radiowego, tak jak zrobiłem to w kontrolerze lotu. Moduł radiowy nakłada się na przycisk resetowania arduino, więc przyniosłem go z tyłu sygnetu (przylutuj go z arduino i przylutuj). Jeśli twój programista sam wykona reset lub nie planujesz ponownego napełnienia po złożeniu, możesz usunąć przycisk i gąsienice z konewki, szalik wyjdzie kilka milimetrów węższy i krótszy (20 x 50 mm). W każdym razie szalik wyszedł bardzo kompaktowy. W module radiowym pożądane jest odcięcie drukowanej anteny i lutowanie jak w standardowych odbiornikach 2,4 GHz (zdjęcie poniżej). Nie wpłynie to na zasięg, ale odbiór poprawi się przy różnych orientacjach w przestrzeni. Moc 5 V. do dowolnego złącza z regulatora WAGI lub zewnętrzny.
Ustaw gotową płytę w przezroczysty termokurczliwy, możesz wstępnie narysować, wydrukować i wstawić tabliczkę znamionową z oznaczeniem grup kontaktów. Lub zrób chleb jak ten sam stabilizator lotu.
Cóż, wszystko wydaje się być możesz pobrać sygnet tutaj.



Oto skrót. lot, artykuł na ten temat w moim profilu.


Gość Vladislav
Napisz, aby pomóc, zebrałem szkic na kawałki, ponieważ mój rodowity nie zaczął się, teraz wszystko działa dobrze, Viber 0993482290
robot
pomoc ze skatech. jest wiele błędów !!
Autor
Robię Appu w wolnym czasie, nawet z wolnego czasu, tautologii, ale to prawda.Ponieważ istnieje aplikacja fabryczna Flysky i6, ta, ze względu na sportowe zainteresowanie, zbieram ją. Kiedy go ukończę, zbiorę normalny odbiornik - wszystko opiszę w osobnym artykule.
Ale abyś nie miał wątpliwości co do jego działania, tutaj pomachał lotką:

Jak widać, to działa. Na przykład podłączony jeden kanał. Przewód do odbiornika jest zasilany, zasilany przez ładowanie z telefonu.

Chociaż jest wiele do opracowania, w zasadzie jest to część oprogramowania, aby zrealizować wybór najbardziej bezszumowego kanału, powiązania, aby zebrać kilka odbiorników, dodać pamięć dla co najmniej 5 modeli. Nawet telemetria może zostać zmyta, jeśli chcesz. Ale to wymaga albo pomocy entuzjastów, albo sam język Arduino lepiej się uczyć, albo autora do pisania, może to go zainteresuje. Ja w najbliższej przyszłości na pewno tego nie zrobię.

I już mówiłem o jedzeniu. 1 puszka 18650 + MT3608 + ASM1117 + TP4056 z ochroną ≈4-5 dolców. Opcjonalnie, ale jest ich wiele, przynajmniej z baterii.
Andrew1978
Pokaż wideo z pilota ... O nonsense - nonsens może być dla Ciebie, ale to 65% kosztu całego pilota - trzy odcinki, ładowarka i trzy litki ....
Autor
W przeciwnym razie nikt nie zadaje sobie trudu organizowania posiłków. Z jakiegoś powodu wszyscy trzymają się bzdur, pomijając główny niuans - są to gotowe „mózgi”, odbiornik i nadajnik na standardowym sygnale PPM, a także sposób ich karmienia, w którym to przypadku dziesiątą rzeczą jest pchnięcie. Możliwe jest zasilanie z jednej puszki za pomocą przetwornika podwyższającego napięcie DC / DC, poprawiając kod, aby poprawnie wskazywał ładunek z jednej puszki. Do tej pory jadłem z korony, bo do stałego użytku nie wymyśliłem własnej wersji.
Andrew1978
Co za perwersja w zasilaniu trzech litów pilotem, który używa 5 V i 3,3 V ....
Autor
Czy chcesz sam złożyć sprawę? To strata czasu, zwykle nadal się nie udaje. W witrynach ogłoszeń niejawnych sprzedaje się kilka pilotów z zabawek, w tym pistoletowych. Sprzedaj za grosz (dziecko zabiło zabawkę, ale pilot pozostaje). Wybierz mniej masywne i wykonaj ponownie. Zmiana ogranicza się do wyrzucenia całego wypełnienia i podważenia elementów sterujących potencjometrów liniowych.
Inną opcją jest zakup appu z pojedynczym wypełnieniem, ale całą mechaniką. Na stronach projektantów pojawiają się takie od czasu do czasu.
Moja aplikacja będzie wyglądać mniej więcej tak (tabliczka znamionowa to test, wtedy sprawię, że będzie piękniejsza)
Gość Eugene
taka jest mechanika i zainteresowania i nie ma nic do przerysowania
Autor
Dlaczego Tak, a kto przeszkadza, to kwestia mechaniki. Wyjmij konsolę pistoletową z zabawki, zmodyfikuj ją i tak będzie. Możesz wziąć wszystko, joystick komputerowy do symulatorów lotu, nawet gamepad od Sonya. Oto główny schemat.
Już składam się z konsoli z zabawkami.
Gość Eugene
powstałby sprzęt pistoletowy ...
Autor
Właśnie sprawdzone, wszystko się otwiera i pobiera. Być może masz jakiś bloker reklam lub coś takiego.
Jeśli ktoś ma problemy z pobraniem - napisz, zwrócę się do administratora.
ten tutaj nie działa
Autor
Możesz pobrać wszystko, czego potrzebujesz tutaj.

Kliknij tutaj
Autor
Możesz pobrać wszystko, czego potrzebujesz tutaj.

Kliknij tutaj
i gdzie jest szkic sprzętu

Radzimy przeczytać:

Podaj go do smartfona ...