» elektronik » Arduino »Radiostyringsudstyr på Arduino

Radiostyringsudstyr på Arduino



Denne artikel diskuterer fremstilling af proportionalt kortbaseret radiostyringsudstyr Arduino. Et interessant træk ved projektet er, at udstyret blev tænkt som et alternativ til det "voksne" udstyr, men som du selv kan lave. Der er trimtaster på transmitteren, hvilket er vigtigt for f.eks. Kontrol modeller luftfartøjet, er senderen også udstyret med en lille skærm med organiske LED'er, der viser grundlæggende oplysninger om transmitterens drift. Udstyret er designet til 6 kanaler, 4 proportioner og 2 diskrete. Forfatteren lagde også grundlaget for den fremtidige tilføjelse af to mere proportionelle kanaler, 2 potentiometre blev tilføjet til sagen, men i øjeblikket er de ikke involveret. Ikke desto mindre er dette nok til at kontrollere modellen af ​​et fly, et skib eller en bil, og adskilte kanaler giver dig mulighed for at kontrollere den ekstra belastning, for eksempel inkludering af forlygter, dæklys, navigationslamper eller endda udsætte små missiler. Udstyret har to kontroltilstande - lineær og eksponentiel.




Til senderen har du brug for:

1 x Arduino NANO / UNO / ProMini
1 x BMS-beskyttelseskort til tre Li-ion-dåser
1 x 5,5 x 2,1 mm-stik
1 x Step Up DC / DC Converter XL6009
1 x LM2596 lille step-down konverter (jeg vil tale om det separat)
3 x 18650:
2 x joysticks JH-D202X (solgt på Ali)
2 x vippekontakt
1 x i2c OLED-skærm 0,96 tommer 128X64
1 x NRF24l01 radiomodul med forstærker og antenne
9 x taktknap 6 * 6 * 5 mm
Udgangsmodstande (se diagram)

Til modtageren har du brug for:

1 x Arduino NANO / UNO / Pro Mini
1 x Radiomodul NRF24l01
1 x AMS1117 3,3V spændingsregulator
30 x pls kamme
1 x brødbræt
1 x 10 uF kondensator

Nedenfor kan du se et grafisk billede af alle komponenter og et diagram over deres forbindelse. Før montering skal buck-konvertere konfigureres, XL6009 til 12,6 V (dette modul er ansvarligt for opladning), LM2596 til 3,3 V (strøm til radiomodulet). I stedet for LM2596 er det teoretisk muligt at bruge ASM117, ifølge databladet er den maksimale indgangsspænding for denne stabilisator 15 V, men det tilrådes ikke at anvende det højere end 12 V. Tilsyneladende, baseret på disse overvejelser, brugte forfatteren en anden DC / DC-konverter. I stedet kan du også bruge en justerbar stabilisator, for eksempel LM317.




boliger

Radiostyringsudstyr på Arduino


Sagen består af to hoveddele: den øverste og den nederste. Derudover udskrives 9 knapper (8 til trimning og en funktionsknap), 5 sikkerhedskopier til knapper, en skærmramme på skærmen og en strømskyder.Forfatteren trykte en PLA med et viskelæder med 20% dækning, en 0,4 mm dyse og en laghøjde på 0,3 mm. For øvrig forbyr ingen brug af en anden sag, du kan bare tage en passende kasse, lim den selv eller tage en temmelig stor sag fra et kinesisk legetøj, de sælges næsten i poser på klassificerede steder.


Sendermontering

Batterier er tilsluttet i serie. Forfatteren gjorde dette med lodning, jeg vil bemærke, at lodningskasser fra 18650 kræver en vis dygtighed, så hvis du ikke har sådan erfaring, skal du købe batterier med allerede svejste kronblade og lodde dem. Batterierne ifølge ovenstående skema loddes også til BMS-modulet, hvis indgang forsynes med spænding fra XL6009-konverteren (MT3608 kan bruges i stedet). BMS er ansvarlig for jævnt at oplade / aflade alle dåser og slukke for strømmen, når batterierne er opbrugt. Spænding kan også overvåges ved hjælp af displayet. Batterierne oplades med en 9 V strømforsyning med en strøm på højst 3 A (maks. For XL6009). Faktisk skal ladestrømmen beregnes afhængigt af batteriets kapacitet og tage strømforsyningen med en lidt lavere strøm eller begrænse den. Det er praktisk at montere modulerne i huset ved hjælp af "bil" dobbeltsidet bånd.




Urknapperne installeres på specielle platforme, hvorefter de fastgøres med små skruer til de tilsvarende understøtninger inde i kabinettet. Her er faktisk alt på niveau med designeren og er godt forstået fra billedet.




Knapperne er forbundet med hinanden ved hjælp af modstande, hvilket efterlader i det væsentlige et lille resistivt tastatur, som giver dig mulighed for kun at bruge en pin på Arduino-tavlen. Trådene er loddet til joystick-potentiometre, de ekstreme ledninger går til jorden og 5 V, gennemsnittet fører til den tilsvarende Arduino-stift. Jeg har planer om at gentage dette skema, jeg har allerede eksperimenteret en smule, og jeg kan sige, at koden har funktionen til automatisk at invertere kanaler efter behov, men jeg har endnu ikke forstået, hvordan skemaet bestemmer netop dette behov. Det vil sige, at kanalinversionen i det væsentlige udføres ved lodning af de ekstreme konklusioner på steder. Sådanne joysticks sælges i skrivende stund i Ali til en pris på omkring $ 7 stykket, uanset om det er op til dig, om det er op til dig. I stedet kan du bruge joystick-modulerne til arduino eller joysticks fra spilkontrollere.

Faktisk fungerer joysticket som en skillelinje, idet afbøjning af håndtaget ændrer vi spænding ved potentiometerets midtudgang, og afhængigt af denne spænding bestemmer arduino afvigelsen.
[center] [/ center]
Tumblere er også tilsluttet. Vippekontakter er nødvendige for at slukke, da kanalen er diskret og kun har to værdier - 0 eller 1, afhængigt af om output fra arduino tiltrækkes til jorden eller til en 5V strømforsyning. Desuden er on-off-kontakten nødvendig, hvis du lader udgangen "hænge i luften", hvad der ville ske, når man bruger tre positioner, controlleren forstår ikke, hvad der sker, og værdien springer tilfældigt enten 0 eller 1 (efter min erfaring). Du kan ikke indstille yderligere potentiometre, i det øjeblik de ikke er involveret. Eller du kan placere og overvåge kildesiden, måske forfatteren eventuelt vil placere den opdaterede firmware.




Dernæst installeres et arduino, et radiomodul og et radiomodulskort. Som beskrevet ovenfor er det nødvendigt at indstille en spænding på 3,3 volt på den. Det er næsten umuligt at gøre dette ved hjælp af en standard variabel modstand, så forfatteren lod lodde den og lodde en flertrins-trimmer i stedet. Derefter monteres displayet, og alle komponenter er forbundet til arduino-terminalerne i henhold til diagrammet.




insertion

Der er allerede tale om 1000 gange om Arduino-firmware, på dette tidspunkt er evnen til at gøre dette, mens du holder fast ved et arduino-projekt, som standard som evnen til at holde et loddejern i dine hænder, mens du holder noget at lodde.Koden til senderen, modtageren, nødvendige biblioteker og en fil til 3D-udskrivning af sagen kan downloades i et arkiv i slutningen af ​​artiklen.


modtager



Til modtageren har du brug for et andet Arduino-kort, et radiomodul (uden antenne, telemetri er stadig ikke implementeret her) og en 3,3 volt stabilisator. Modtageren loddes til brødbrættet. Modtagerens strøm udføres på samme måde som strømmen fra enhver anden fabriksmodtager fra en særlig udgang fra hastighedsregulatoren.




På egen hånd vil jeg tilføje, at i stedet for standardantennen til dette modul, er det ønskeligt at lodde den samme antenne, der er installeret i modulet med en forstærker (kun uden et hus). Dette vil ikke især påvirke modtagelsesområdet, men vil markant påvirke modtagelseskvaliteten afhængigt af placeringen af ​​den kontrollerede model i forskellige planer. For moderne modtagere og sendere er der til dette formål endda installeret to antenner, som er placeret vinkelret på hinanden.


Derudover har forfatteren implementeret en meget vigtig funktion - output fra PPM-modtagersignalet. Skematisk ændres intet, du skal bare udfylde en anden firmware, PPM-signalet udsendes på samme måde som i de fleste fabriksmottagere - fra den første kanal (gas).




Det er alt. Personligt kunne jeg virkelig godt lide projektet, og planlægger som sagt allerede at gentage det i tilfældet fra fjernbetjeningen til et børnetøj. I menuen kan du vælge tilstanden fra lineær til eksponentiel og finjustere værdien af ​​hver pind. Husk, at den gennemsnitlige værdi af hver kanal skal være 127.


Du kan downloade alt hvad du har brug for her.

Al succes i arbejdet!
8.9
8.6
8.6

Tilføj en kommentar

    • smilesmilxaxaokdontknowyahoonea
      bossscratchnarrejaja-jaaggressivhemmelighed
      undskylddansdance2dance3benådninghjælpdrikkevarer
      stop-vennergodgoodgoodfløjtedånetunge
      røgklappecrayerklærerspottendedon-t_mentiondownloade
      hedeirefullaugh1mdamødemoskingnegativ
      not_ipopcornstraffelæseskræmmeforskrækkelsersøg
      hånethank_youdetteto_clueumnikakutenig
      dårligbeeeblack_eyeblum3blushpralekedsomhed
      censureretpleasantrysecret2truesejryusun_bespectacled
      SHOKRespektlolprevedvelkommenkrutoyya_za
      ya_dobryihjælperenne_huliganne_othodiFludforbudtæt
30 kommentar
feonor12 skriver korrekt, at ubrugte input skal trækkes enten til jorden eller til magten. Jeg begyndte at overholde denne regel, så snart jeg lærte at arbejde med CMOS-chips. Åh, hvor længe siden var det ... Og i mikrokontrollere har naturligvis ingen annulleret denne regel.
tusind tak !!!!!
Forfatteren
I kompilationsprocessen tildelte jeg også nogle variabler og skrev også, at der var lidt hukommelse, skønt det straks blev skrevet, at skitsen bruger 77% af hukommelsen. Tegningen er klodset, ingen benægter, men den fungerer. Det vigtigste, der blev samlet. Byg et testkredsløb, og kontroller, hvordan det fungerer, der skal løses problemer, når de bliver tilgængelige. Når du samler testkredsløbet på transmitteren - alle ubrugte kanaler, det være sig joysticks, en vippekontakt eller tastatur, skal alt, hvad der ikke er tilsluttet, være bundet til jorden eller til 5V, hvis du lader enheden "hænge i luften", fungerer det ikke tilstrækkeligt med dette kolliderede, når de blev gentaget.

ZY Registrer dig, og du kan.
Gæst Andrew
det viste sig næsten som på dit foto.
først nu sværger, kort sagt, her
C: \ Brugere \ mozga \ Dokumenter \ Arduino \ bibliotek \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: i medlemsfunktionen 'boolesk værdi Adafruit_GFX_Button :: indeholder (int16_t, int16_t)':

C: \ Brugere \ mozga \ Dokumenter \ Arduino \ bibliotek \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1120: 28: advarsel: sammenligning mellem underskrevne og usignerede heltal-udtryk [-Wsign-sammenligne]

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

                             ^

C: \ Brugere \ mozga \ Dokumenter \ Arduino \ bibliotek \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1121: 28: advarsel: sammenligning mellem underskrevne og usignerede heltal-udtryk [-Wsign-sammenligne]

(y> = _y1) && (y <(_ y1 + _h)));
til sidst afsluttet udarbejdelse
og skriver ikke nok hukommelse, og programmet fungerer muligvis ikke stabilt.
beklager, jeg kan ikke placere et foto her.
Forfatteren
Fjern / sæt to skrå streger.

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

Sådan skal det være.
Gæst Andrew
tusind tak.
svær ikke meget.
Nu vil jeg google, hvilket betyder:
(Kommenter det andet, og fjern det første fra kommentaren).
Forfatteren
For to, forbandede det, google minutter. I filen Adafruit_SSD1306.h skal du finde disse linjer

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

kommenter det andet og fjern det første.
Forfatteren
Hør, jeg skrev ikke denne kode og er ikke specialist i programmering. Hvad jeg vidste, så spurgte, det passer ikke dig. Det fungerer for forfatteren, jeg har samlet det - det fungerer også for mig. Det fungerer ikke for dig, så fejlen er ikke i koden eller i biblioteket. Kontakt det tematiske forum, gå til kilden og skriv til forfatteren, eller vent, indtil en, der kender her, svarer. Jeg sagde, at jeg ikke vidste, hvad der var sagen, hvad der ellers var behov for fra mig, så jeg ville droppe alt og begynde at tackle problemet for dig? Beklager, nej.
Gæst Andrew
"tak for hjælp"
fejl i biblioteket Adafruit_SSD1306.h
Og jeg har et problem med "privat orden."
det er hvad der giver ud.
Transmitter_code: 102: 2: error: #error ("Forkert højde, rett dette i Adafruit_SSD1306.h!");
måske hvilket nummer eller bogstav der skal ændres der, men jeg ved ikke
Forfatteren
Så ved jeg ikke, alt blev samlet og blev syet. Nu kontrollerede jeg af hensyn til interessen, alt blev også samlet. Så et privat problem.

Gæst Andrew
Adafruit_SSD1306-master bibliotek
installerede arduino ide-programmet i selve programmet
Forfatteren
Er der en fejl under kompilering? Han forbander ved visningsbiblioteket. Installerede du Adafruit_SSD1306-master-biblioteket fra arkivet onsdag?
Gæst Andrew
Hej
Jeg besluttede at tjekke skitser først. PPM- og PWM-modtagere (læs.)
Jeg begyndte at tjekke senderen, det giver en fejl.
#error ("Højde forkert, skal du rette dette i Adafruit_SSD1306.h!");
Google oversætter oversat.
#error ("Højde er forkert, skal du rette dette i Adafruit_SSD1306.h!");
Og hvad skal jeg gøre nu, jeg ved ikke engang ..............
Forfatteren
Hej alle sammen. Generelt har jeg hverken tid eller lyst til at færdiggøre appen i den nærmeste fremtid, så jeg kan skrive en artikel om den, men i lang tid trak jeg et signal fra den modtager, der skal tages. Jeg indsamlede ikke brættet, men jeg kontrollerede det flere gange, alt ser ud til at være korrekt. Et par ord om, at der ikke ville være spørgsmål:
Radiomodulstabilisatoren loddes i smd på brættet (ASM1117 ved 3,3 V, tændt ved datablad). Hvis det vil fungere ustabilt eller i en kort afstand - hænge 10 mikrofarader af ledere direkte på modulets strømkontakter (jeg kunne ikke finde et sted at skubbe på tavlen).
Vi lodder smd'en, derefter springerne, efterfulgt af arduino (poter med programmering til kammen af ​​udgange), den anden "etage" i radiomodulet, som jeg gjorde i flyvemaskine. Radiomodulet overlapper arduino-nulstillingsknappen, så jeg bragte det bagpå signet (lodde det bare fra arduino og lod det). Hvis din programmør trækker nulstillingen selv, eller du ikke har planer om at skifte igen efter montering, kan du fjerne knappen og sporene fra vandkanden, tørklædet kommer ud nogle få millimeter smalere og kortere (20x50 mm). Under alle omstændigheder kom tørklædet meget kompakt ud. På radiomodulet er det ønskeligt at afskære den udskrevne antenne og lodde som på standard 2,4 GHz modtagere (foto nedenfor). Dette vil ikke påvirke rækkevidden, men modtagelsen forbedres med forskellige retninger i rummet. 5V strøm til ethvert stik fra vægt regulator eller ekstern.
Sæt det færdige bord i en gennemsigtig varmekrymp, du kan fortrække, udskrive og indsætte en navneskilt med betegnelsen på kontaktgrupper. Eller lav en butebread som den samme flystabilisator.
Alt ser ud til at være Du kan downloade et signet her.



Her er stubben. flyvning, en artikel om det i min profil.


Gæst Vladislav
Skriv for at hjælpe, jeg samlede skitsen i stykker, da min indfødte ikke startede, nu fungerer alt fint, Viber 0993482290
roboten
hjælp med skatech. der er mange fejl !!
Forfatteren
Jeg gør Appu i min fritid, selv fra fritid, en tautologi, men det er sandt.For der er en fabriksapp flysky i6, denne, for sportslige interesser, samler jeg den. Når jeg er færdig med det, samler jeg den normale modtager - jeg tegner alt sammen i en separat artikel.
Men så du ikke skulle være i tvivl om dens ydeevne, vinkede her aileronen:

Som du kan se, fungerer det. En kanal tilsluttet f.eks. Tråden til modtageren er strømforsynet ved opladning fra telefonen.

Selvom der stort set er meget at udvikle, er det i softwaredelen at realisere valget af den mest lydløse kanal, bindende, til at indsamle flere modtagere, tilføje hukommelse til mindst 5 modeller. Selv telemetri kan vaskes ned, hvis du vil. Men til dette har vi brug for enten hjælp fra entusiaster, eller det er også bedre at lære arduino-sproget, eller forfatteren til at skrive, måske vil dette interessere ham. Jeg, i den nærmeste fremtid, vil bestemt ikke gøre dette.

Og jeg sagde allerede om maden. 1 dåse 18650 + MT3608 + ASM1117 + TP4056 med beskyttelse af ≈4-5 bukke. Som en mulighed, men der er mange af dem, i det mindste fra batterier.
Andrew1978
Vis videoen til din fjernbetjening ..... Om Nonsense - nonsens kan være noget for dig, men det er 65% af prisen for hele fjernbetjeningen - tre stubber, en oplader og tre litium ...
Forfatteren
Ingen generer at organisere måltider ellers. Af en eller anden grund klæber alle sig til vrøvl, idet de udelader de vigtigste nuancer - disse er færdige "hjerner", modtageren og senderen på et standard PPM-signal, og hvordan man fodrer dem og i hvilket tilfælde man skal skyve er den tiende ting. Det er muligt at tænde fra en dåse gennem en boosting DC / DC konverter, korrigere koden for korrekt at indikere ladningen af ​​en dåse. Indtil videre har jeg spist fra kronen, for til permanent brug har jeg ikke undfanget min egen version.
Andrew1978
Hvilken perversion at fodre de tre litium med en fjernbetjening, der bruger 5v og 3.3v ....
Forfatteren
Forfatteren
Vil du selv oprette en sag? Dette er spild af tid, normalt fungerer det stadig ikke. På websteder sælges klassificerede annoncer en masse fjernbetjeninger fra legetøj, herunder pistoltype. Sælg for en krone (barnet dræbte legetøjet, men fjernbetjeningen forbliver). Vælg mindre massiv og forny. Ændring reduceres til at kaste hele påfyldningen ud og lirke til kontrollerne af lineære potentiometre.
En anden mulighed er at købe en appu med en syntet fyld, men hele mekanikken. På websteder med modellerere, der fra tid til anden dukker op.
Min appa ser sådan ud (navneskiltet er test, så gør jeg det smukkere)
Gæst Eugene
det er mekanikken og interesserne, og der er ikke noget at tegne igen
Forfatteren
Hvorfor? Ja, og hvem stopper, det er et spørgsmål om mekanik. Tag pistolkonsollen fra legetøjet, rediger den, og det vil være sådan. Du kan tage alt, en computer-joystick til flysimulatorer, endda en gamepad fra Sonya. Her den vigtigste ordning.
Jeg samler mig allerede fra en legetøjskonsol.
Gæst Eugene
pistol-type udstyr ville være lavet ...
Forfatteren
Bare kontrolleret, alt åbnes og downloades. Måske har du en slags annonceblokker eller noget.
Hvis en anden har problemer med at downloade - skriv, vil jeg henvende mig til administratoren.
denne fungerer ikke her
Forfatteren
Du kan downloade alt hvad du har brug her.

Klik her
Forfatteren
Du kan downloade alt hvad du har brug her.

Klik her
og hvor er skitsen til udstyret

Vi råder dig til at læse:

Giv den til smartphonen ...