» elektronikk » Arduino »Radiostyringsutstyr på Arduino

Radiokontrollutstyr på Arduino



Denne artikkelen diskuterer produksjon av proporsjonalt tavlebasert radiostyringsutstyr Arduino. Et interessant trekk ved prosjektet er at utstyret ble tenkt som et alternativ til det "voksne" utstyret, men som kan lages av deg selv. Det er trimmetaster på senderen, som for eksempel er viktig for kontroll modeller fly, er senderen også utstyrt med et lite display med organiske lysdioder, som viser grunnleggende informasjon om driften av senderen. Utstyret er designet for 6 kanaler, 4 proporsjonale og 2 diskrete. Forfatteren la også grunnlaget for fremtidig tillegg av to mer proporsjonale kanaler, 2 potensiometre ble lagt til saken, men for øyeblikket er de ikke involvert. Likevel er dette nok til å kontrollere modellen til et fly, skip eller bil, og adskilte kanaler vil tillate deg å kontrollere den ekstra belastningen, for eksempel inkludering av lyskastere, dekklys, navigasjonslys eller til og med skyting av små missiler. Utstyret har to kontrollmodus - lineær og eksponentiell.




For senderen trenger du:

1 x Arduino NANO / UNO / ProMini
1 x BMS beskyttelsesbrett for tre Li-ion-bokser
1 x 5,5 x 2,1 mm kontakt
1 x Step Up DC / DC Converter XL6009
1 x LM2596 liten nedtrappingsomformer (jeg vil snakke om det separat)
3 x 18650:
2 x styrespaker JH-D202X (selges på Ali)
2 x bryter
1 x i2c OLED-skjerm 0,96 tommer 128X64
1 x NRF24l01 radiomodul med forsterker og antenne
9 x taktknapp 6 * 6 * 5 mm
Utgangsmotstander (se diagram)

For mottakeren trenger du:

1 x Arduino NANO / UNO / Pro Mini
1 x Radiomodul NRF24l01
1 x AMS1117 3,3V spenningsregulator
30 x pls kammer
1 x brødbrett
1 x 10 uF kondensator

Nedenfor kan du se et grafisk bilde av alle komponenter og et diagram over deres forbindelse. Før montering må bukkkonvertere konfigureres, XL6009 til 12,6 V (denne modulen er ansvarlig for lading), LM2596 til 3,3 V (strøm til radiomodulen). I stedet for LM2596 er det teoretisk mulig å bruke ASM117, i følge databladet, er maksimal inngangsspenning til denne stabilisatoren 15 V, men det anbefales å ikke levere den høyere enn 12 V. Tilsynelatende, basert på disse hensynene, brukte forfatteren en annen DC / DC-omformer. I stedet kan du også bruke en justerbar stabilisator, for eksempel LM317.




bolig

Radiokontrollutstyr på Arduino


Saken består av to hoveddeler: den øvre og den nedre. I tillegg skrives det ut 9 knapper (8 for trimming og en modus-knapp), 5 sikkerhetskopier for knapper, en skjermramme og en glidebryter.Forfatteren trykket en PLA med viskelær med 20% dekning, en 0,4 mm dyse og en laghøyde på 0,3 mm. For øvrig forbyr ingen bruk av en annen sak, du kan bare ta en passende eske, lim den selv eller ta en ganske stor sak fra et kinesisk leketøy, de selges nesten i poser på klassifiserte nettsteder.


Sendermontering

Batterier er koblet i serie. Forfatteren gjorde dette med lodding, jeg vil merke at loddebeholdere fra 18650 krever litt dyktighet, så hvis du ikke har slik erfaring, kan du kjøpe batterier med allerede sveisede kronblad og lodde til dem. Batteriene i henhold til skjemaet ovenfor er også loddet til BMS-modulen, hvis inngang forsynes med spenning fra XL6009-omformeren (MT3608 kan brukes i stedet). BMS er ansvarlig for jevn lading / utlading av alle bokser og slå av strømmen når batteriene er oppbrukt. Spenning kan også overvåkes ved hjelp av skjermen. Batteriene lades med en 9 V strømforsyning med en strøm på ikke mer enn 3 A (maksimalt for XL6009). Faktisk må ladestrømmen beregnes avhengig av batteriets kapasitet og ta strømforsyningen med litt lavere strøm eller begrense den. Det er praktisk å montere modulene i huset ved hjelp av "bil" dobbeltsidig tape.




Klokkeknappene er installert på spesielle plattformer, hvoretter de er festet med små skruer til de tilsvarende støttene inne i saken. Her er faktisk alt på nivå med designeren og er godt forstått fra bildet.




Knappene er sammenkoblet av motstander, og etterlater i hovedsak et lite resistivt tastatur, som lar deg bruke bare en pinne på Arduino-brettet. Ledningene er loddet til styrespaken potensiometre, de ekstreme ledningene går til bakken og 5 V, gjennomsnittet fører til den tilsvarende Arduino-tappen. Jeg har planer om å gjenta dette skjemaet, jeg har allerede eksperimentert litt, og jeg kan si at koden har funksjonen til automatisk å invertere kanaler etter behov, men jeg har ennå ikke forstått hvordan ordningen bestemmer nettopp dette behovet. Dette for å si at kanalinversjonen i hovedsak gjennomføres ved lodding av de ekstreme konklusjonene på steder. Slike joysticks selges i skrivende stund i Ali til en pris av omtrent $ 7 stykk, uansett om det er opp til deg om det er opp til deg. I stedet kan du bruke styrespakmodulene for arduino eller styrespaker fra spillkontrollere.

Faktisk fungerer joysticken som en skillelinje, avleder håndtaket, vi endrer spenningen ved potensiometerets midtutgang, og avhengig av denne spenningen bestemmer arduino avviket.
[sentrum] [/ sentrum]
Tumblere er også tilkoblet. Vippebrytere er nødvendig av-på, siden kanalen er diskret og bare har to verdier - 0 eller 1, avhengig av om utgangen til arduino blir tiltrukket av bakken eller til en 5V strømforsyning. Dessuten er av-bryteren nødvendig, hvis du lar utgangen "henge i luften", hva som ville skje når du bruker tre posisjoner, kontrolleren forstår ikke hva som skjer, og verdien springer tilfeldig verken 0 eller 1 (etter min erfaring). Du kan ikke angi flere potensiometre for øyeblikket de ikke er involvert. Eller du kan sette og overvåke kildesiden, kanskje vil forfatteren etter hvert legge ut den oppdaterte firmware.




Deretter installeres en arduino, en radiomodul og et radiomodulens strømkort. Som beskrevet ovenfor, er det nødvendig å stille en spenning på 3,3 volt på den. Det er nesten umulig å gjøre dette ved å bruke en standard variabel motstand, så forfatteren loddet løs og loddet en flersvingtrimmer i stedet. Deretter er skjermen montert, og alle komponenter kobles til arduino-terminalene i henhold til diagrammet.




innsetting

Arduino firmware har allerede blitt snakket om 1000 ganger, på dette tidspunktet er muligheten til å gjøre dette mens du holder på et arduino-prosjekt like viktig som standard som muligheten til å holde et loddejern i hendene mens du holder noe å lodde.Koden for senderen, mottakeren, nødvendige biblioteker og en fil for 3D-utskrift av saken kan lastes ned i ett arkiv på slutten av artikkelen.


mottaker



For mottakeren trenger du et annet Arduino-kort, en radiomodul (uten antenne, telemetri er fortsatt ikke implementert her) og en 3,3 volt stabilisator. Mottakeren er loddet til brødbordet. Kraften til mottakeren utføres på samme måte som kraften fra enhver annen fabrikkmottaker, fra en spesiell utgang fra hastighetskontrolleren.




På egen hånd vil jeg legge til at i stedet for standardantennen til denne modulen, er det ønskelig å lodde den samme antennen som er installert i modulen med en forsterker (bare uten et hus). Dette vil ikke særlig påvirke mottaksområdet, men vil påvirke mottakskvaliteten betydelig avhengig av plasseringen av den kontrollerte modellen i forskjellige plan. For moderne mottakere og sendere er for dette formålet til og med to antenner installert, som er plassert vinkelrett på hverandre.


I tillegg har forfatteren implementert en veldig viktig funksjon - output fra PPM-mottakersignalet. Skematisk endres ingenting i dette tilfellet, du trenger bare å fylle ut en annen firmware, PPM-signalet sendes ut på samme måte som i de fleste fabrikkmottakere - fra den første kanalen (gass).




Det er alt. Personlig likte jeg veldig godt prosjektet, og har som sagt planer om å gjenta det i saken fra fjernkontrollen til et leketøy for barn. I menyen kan du velge modus fra lineær til eksponentiell og finjustere verdien for hver pinne. Husk at gjennomsnittsverdien for hver kanal skal være 127.


Du kan laste ned alt du trenger her.

All suksess i arbeidet!
8.9
8.6
8.6

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær
30 kommentar
feonor12 skriver riktig at ubrukte innganger må trekkes enten til bakken eller til makten. Jeg begynte å overholde denne regelen så snart jeg lærte å jobbe med CMOS-brikker. Å, hvor lenge siden var det ... Og i mikrokontrollere har selvfølgelig ingen kansellert denne regelen.
tusen takk !!!!!
Forfatteren
I samlingsprosessen tildelte jeg også noen variabler, og skrev også at det var lite minne, selv om det umiddelbart ble skrevet at skissen bruker 77% av minnet. Skissen er klønete, ingen benekter, men den fungerer. Det viktigste som samlet. Bygg en testkrets og sjekk hvordan det fungerer, problemer må løses når de blir tilgjengelige. Når du monterer testkretsen til senderen - alle ubrukte kanaler, det være seg joysticks, en vippebryter eller tastatur, generelt, alt som ikke er tilkoblet må være bundet til bakken eller til 5V, hvis du lar enheten "henge i lufta" vil det ikke fungere tilstrekkelig, med dette kolliderte når de ble gjentatt.

ZY Registrer deg, og det kan du.
Gjest Andrew
det viste seg nesten som på bildet ditt.
bare nå sverger, kort sagt, her
C: \ Brukere \ mozga \ Dokumenter \ Arduino \ bibliotek \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: i medlemsfunksjonen 'boolean value Adafruit_GFX_Button :: inneholder (int16_t, int16_t)':

C: \ Brukere \ mozga \ Dokumenter \ Arduino \ bibliotek \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1120: 28: advarsel: sammenligning mellom signerte og usignerte heltalluttrykk [-Wsign-sammenligne]

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

                             ^

C: \ Brukere \ mozga \ Dokumenter \ Arduino \ bibliotek \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1121: 28: advarsel: sammenligning mellom signerte og usignerte heltalluttrykk [-Wsign-sammenligne]

(y> = _y1) && (y <(_ y1 + _h)));
etter hvert fullført samling
og skriver ikke nok minne, og programmet kan ikke virke stabilt.
beklager, jeg kan ikke legge et bilde her.
Forfatteren
Fjern / sett to skråstreker.

#definere SSD1306_128_64
// #definere SSD1306_128_32
// #definere SSD1306_96_16

Slik skal det være.
Gjest Andrew
tusen takk.
sverger ikke mye.
Nå skal jeg google, som betyr:
(Kommenter det andre og kammenter det første.)
Forfatteren
For to, jævla det, google minutter. I Adafruit_SSD1306.h-filen må du finne disse linjene

// #definere SSD1306_128_64
#definere SSD1306_128_32
// #definere SSD1306_96_16

kommenter den andre og del den første.
Forfatteren
Hør her, jeg skrev ikke denne koden og er ikke spesialist på programmering. Det jeg visste, og deretter bedt om, det passer ikke deg. Det fungerer for forfatteren, jeg samlet det - det fungerer for meg også. Det fungerer ikke for deg, så feilen er ikke i koden eller i biblioteket. Ta kontakt med det tematiske forumet, gå til kilden og skriv til forfatteren, eller vent til noen som vet her svarer. Jeg sa at jeg ikke visste hva som var saken, hva annet som trengs fra meg, for at jeg skulle slippe alt og begynne å takle problemet for deg? Beklager, nei.
Gjest Andrew
"takk for hjelpen"
feil i Adafruit_SSD1306.h-biblioteket
Og jeg har et problem med "privat ordre."
det er det som gir ut.
Transmitter_code: 102: 2: error: #error ("Feil høyde, fikse dette i Adafruit_SSD1306.h!");
kanskje hvilket nummer eller bokstav som skal endres der, men jeg vet ikke
Forfatteren
Da vet jeg ikke, alt samlet og ble sydd. Nå sjekket jeg av hensyn til interessen, alt ble samlet også. Så et privat problem.

Gjest Andrew
Adafruit_SSD1306-master bibliotek
installerte arduino ide-programmet i selve programmet
Forfatteren
Er det en feil under samlingen? Han forbanner på visningsbiblioteket. Har du installert Adafruit_SSD1306-master-biblioteket fra arkivet på onsdag?
Gjest Andrew
Hallo
Jeg bestemte meg for å sjekke skissene først. PPM- og PWM-mottakere (les.)
Jeg begynte å sjekke senderen, det gir en feil.
#error ("Høyden er feil, ordne dette i Adafruit_SSD1306.h!");
Google-oversetter.
#error ("Høyden er feil, rett dette i Adafruit_SSD1306.h!");
Og hva skal jeg gjøre nå, jeg vet ikke en gang ..............
Forfatteren
Hei alle sammen. Generelt har jeg verken tid eller lyst til å fullføre appen i løpet av en nær fremtid slik at jeg kan skrive en artikkel om den, men i lang tid tegnet jeg et skilt av mottakeren som må tas. Jeg samlet ikke brettet, men jeg sjekket det flere ganger, alt ser ut til å være riktig. Noen få ord om at det ikke ville være noen spørsmål:
Radiomodulstabilisatoren er loddet i smd på brettet (ASM1117 ved 3,3 V, slått på ved datablad). Hvis det vil fungere ustabilt eller for en kort avstand - heng 10 mikrofarader med ledninger direkte på modulens strømkontakter (jeg kunne ikke finne et sted å skyve på brettet).
Vi lodder smd, deretter hoppere, etterfulgt av arduino (poter med programmering til kam av utganger), andre "etasje" på radiomodulen, som jeg gjorde i flykontrollen. Radiomodulen overlapper tilbakestillingsknappen til arduino, så jeg tok den med på baksiden av signet (bare lodde den fra arduino og lodde den). Hvis programmereren din trekker nullstillingen selv, eller du ikke planlegger å skifte på nytt etter montering, kan du fjerne knappen og sporene fra vannkannen, skjerfet vil komme ut noen få millimeter smalere og kortere (20x50 mm). I alle fall kom skjerfet veldig kompakt ut. På radiomodulen er det ønskelig å kutte av den trykte antennen og loddetinn som på standard 2,4 GHz mottakere (bildet nedenfor). Dette vil ikke påvirke rekkevidden, men mottaket vil bli bedre med forskjellige retninger i rommet. 5V strøm til hvilken som helst kontakt fra VEKT regulator eller ekstern.
Sett det ferdige brettet i en gjennomsiktig varmekrymp, du kan forhåndstegne, skrive ut og sette inn en navneplate med betegnelsen på kontaktgrupper. Eller lag en butebread som samme flystabilisator.
Det ser ut til å være Du kan laste ned et skilt her.



Her er stubben. flight, en artikkel om det i profilen min.


Gjest Vladislav
Skriv for å hjelpe, jeg samlet skissen i biter, siden min innfødte ikke begynte, nå fungerer alt bra, Viber 0993482290
roboten
hjelp med skatech. det er mange feil !!
Forfatteren
Jeg gjør Appu på fritiden, selv fra fritiden, en tautologi, men det er sant.For det er en fabrikk-app flysky i6, denne, av hensyn til sportslig interesse, samler jeg den inn. Når jeg er ferdig med den, samler jeg den vanlige mottakeren - jeg tegner alt i en egen artikkel.
Men slik at du ikke skulle være i tvil om ytelsen, vinket her aileronet:

Som du ser, fungerer det. Én kanal tilkoblet, for eksempel. Kabelen til mottakeren er strøm, drevet av lading fra telefonen.

Selv om det stort sett er mye å utvikle er det i programvaredelen å innse valget av den mest lydløse kanalen, bindende, å samle flere mottakere, legge til minne for minst 5 modeller. Selv telemetri kan vaskes ned hvis du vil. Men dette krever enten hjelp fra entusiaster, eller at det arduino-språket i seg selv er bedre å lære, eller forfatteren å skrive, kanskje dette vil interessere ham. Jeg, i nærmeste fremtid, vil definitivt ikke gjøre dette.

Og jeg sa allerede om maten. 1 boks på 18650 + MT3608 + ASM1117 + TP4056 med beskyttelse av -54-5 dollar. Som et alternativ, men det er mange av dem, i det minste fra batterier.
Andrew1978
Vis videoen til fjernkontrollen din .... Om tull - tull kan være noe for deg, men det er 65% av kostnadene for hele fjernkontrollen - tre stubber, en lader og tre litium ...
Forfatteren
Ingen plager å organisere måltider ellers. Av en eller annen grunn klamrer alle seg til tull og utelater hovednyansen - dette er ferdige "hjerner", mottakeren og senderen på et standard PPM-signal, og hvordan de skal mates og i hvilket tilfelle å skyve er den tiende tingen. Det er mulig å strømme fra en boks via en boosting DC / DC-omformer, korrigere koden for å indikere ladningen til en boks riktig. Så langt har jeg spist fra kronen, for til permanent bruk har jeg ikke tenkt min egen versjon.
Andrew1978
For en perversjon å mate de tre litiumene med en fjernkontroll som bruker 5v og 3.3v ....
Forfatteren
Forfatteren
Vil du lage en sak selv? Dette er bortkastet tid, normalt vil det fremdeles ikke fungere. På nettsteder selger rubrikkannonser en haug med fjernkontroller fra leker, inkludert pistoltype. Selg for en krone (barnet drepte leketøyet, men fjernkontrollen gjenstår). Velg mindre massiv og gjør om på nytt. Endring reduseres til å kaste ut hele fyllingen og lirke til kontrollene til lineære potensiometre.
Et annet alternativ er å kjøpe en appu med en syntet fyll, men hele mekanikken. På nettstedene til modellere dukker det opp fra tid til annen.
Appen min vil se slik ut (navneplaten er test, så skal jeg gjøre den vakrere)
Gjest Eugene
det er mekanikken og interessene, og det er ingenting å tegne om
Forfatteren
Hvorfor? Ja, og hvem som blander seg inn, dette er et spørsmål om mekanikk. Ta pistolkonsollen fra leketøyet, modifiser den, så blir det sånn. Du kan ta hva som helst, en datamaskin-joystick for flysimulatorer, til og med en gamepad fra Sonya. Her hovedordningen.
Jeg har allerede satt meg sammen fra en leketøykonsoll.
Gjest Eugene
pistol-utstyr ville bli laget ...
Forfatteren
Bare sjekket, alt åpnes og lastes ned. Kanskje har du en slags annonseblokker eller noe.
Hvis noen andre har problemer med nedlasting - skriv, vil jeg henvende meg til administratoren.
denne fungerer ikke her
Forfatteren
Du kan laste ned alt du trenger her.

Klikk her
Forfatteren
Du kan laste ned alt du trenger her.

Klikk her
og hvor er skissen for utstyret

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...