» elektronik » Arduino »Radiostyrningsutrustning på Arduino

Radiostyrningsutrustning på Arduino



Den här artikeln diskuterar tillverkningen av proportionell kartbaserad radiostyrningsutrustning Arduino. Ett intressant inslag i projektet är att utrustningen utformades som ett alternativ till den "vuxna" utrustningen, men som du själv kan göra. Det finns trimknappar på sändaren, vilket är viktigt för till exempel kontroll modeller flygplan, är sändaren också utrustad med en liten display med organiska lysdioder som visar grundläggande information om sändarens drift. Utrustningen är konstruerad för 6 kanaler, 4 proportionella och 2 diskreta. Författaren lovade också att framtida tillägg av två mer proportionella kanaler, två potentiometrar lades till fallet, men för tillfället är de inte involverade. Ändå är detta tillräckligt för att kontrollera modellen för ett flygplan, fartyg eller bil, och diskreta kanaler gör att du kan kontrollera den extra belastningen, till exempel införande av strålkastare, däckljus, navigationsljus eller till och med lansering av små missiler. Utrustningen har två styrlägen - linjär och exponentiell.




För sändaren behöver du:

1 x Arduino NANO / UNO / ProMini
1 x BMS-skyddskort för tre Li-ion-burkar
1 x 5,5 x 2,1 mm kontakt
1 x Step Up DC / DC Converter XL6009
1 x LM2596 liten nedriktningsomvandlare (jag kommer att prata om det separat)
3 x 18650:
2 x joysticks JH-D202X (säljs på Ali)
2 x vippbrytare
1 x i2c OLED-skärm 0,96 tum 128X64
1 x NRF24l01 radiomodul med förstärkare och antenn
9 x taktknapp 6 * 6 * 5 mm
Utgångsmotstånd (se diagram)

För mottagaren behöver du:

1 x Arduino NANO / UNO / Pro Mini
1 x Radiomodul NRF24l01
1 x AMS1117 3,3V spänningsregulator
30 x pls kammar
1 x brödskiva
1 x 10 uF kondensator

Nedan kan du se en grafisk bild av alla komponenter och ett diagram över deras anslutning. Innan montering måste buck-omvandlare konfigureras, XL6009 till 12,6 V (denna modul ansvarar för laddning), LM2596 till 3,3 V (ström till radiomodulen). Istället för LM2596 är det teoretiskt möjligt att använda ASM117, enligt databladet är den maximala ingångsspänningen för denna stabilisator 15 V, men det rekommenderas att inte använda den högre än 12 V. Uppenbarligen, baserat på dessa överväganden, använde författaren en annan DC / DC-omvandlare. Istället kan du också använda en justerbar stabilisator, till exempel LM317.




hölje

Radiostyrningsutrustning på Arduino


Väskan består av två huvuddelar: den övre och den nedre. Dessutom skrivs ut 9 knappar (8 för trimning och ett läge-knapp), 5 säkerhetskopior för knappar, en bildskärmsram och en strömreglage.Författaren tryckte en PLA med ett radergummi med 20% täckning, ett 0,4 mm munstycke och en lagerhöjd på 0,3 mm. Förresten, ingen förbjuder användning av ett annat fall, du kan bara ta en lämplig låda, lima den själv eller ta ett ganska stort fall från en kinesisk leksak, de säljs nästan i påsar på klassificerade webbplatser.


Sändarmontering

Batterier är anslutna i serie. Författaren gjorde detta med lödning, jag vill notera att lödburkar från 18650 kräver viss skicklighet, så om du inte har någon sådan erfarenhet, köp batterier med redan svetsade kronblad och löd dem. Batterierna enligt ovanstående schema är också lödda till BMS-modulen, vars ingång matas med spänning från XL6009-omvandlaren (MT3608 kan användas istället). BMS ansvarar för jämnt laddning / urladdning av alla burkar och stäng av strömmen när batterierna är slut. Spänningen kan också övervakas med skärmen. Batterierna laddas av en 9 V strömförsörjning med en ström på högst 3 A (max för XL6009). I själva verket måste laddningsströmmen beräknas beroende på batteriets kapacitet och ta strömförsörjningen med något lägre ström eller begränsa den. Det är bekvämt att montera modulerna i höljet med hjälp av "bil" dubbelsidig tejp.




Klockknapparna installeras på speciella plattformar, varefter de fästs med små skruvar på motsvarande stöd inuti höljet. Här är faktiskt allt på designernivå och förstås väl från fotot.




Knapparna är sammankopplade av motstånd, vilket i princip lämnar ett litet resistivt tangentbord, vilket gör att du bara kan använda en stift på Arduino-kortet. Ledningarna är lödda till styrspakpotentiometrarna, de extrema ledningarna går till marken och 5 V, medeltalet leder till motsvarande Arduino-stift. Jag har planer på att upprepa detta schema, jag har redan experimenterat lite och jag kan säga att koden har funktionen att automatiskt invertera kanaler efter behov, men jag har ännu inte förstått hur schemat bestämmer detta behov. Detta för att säga att kanalinversionen huvudsakligen genomförs genom att lödas de extrema slutsatserna på platser. Sådana joysticks säljs i skrivande stund i Ali till ett pris av ungefär $ 7 styck, oavsett om det är upp till dig eller inte. Istället kan du använda joystickmodulerna för arduino eller joysticks från spelkontroller.

Faktum är att joysticken fungerar som en avdelare, avledar handtaget, vi ändrar spänningen vid mittenutgången på potentiometern, och beroende på denna spänning bestämmer arduino avvikelsen.
[center] [/ center]
Tumlar är också anslutna. Växelomkopplare behövs på-av, eftersom kanalen är diskret och endast har två värden - 0 eller 1, beroende på om utgången från arduino dras till marken eller till en 5V strömförsörjning. Dessutom är on-off-omkopplaren nödvändig, om du lämnar utgången "hängande i luften", vad som skulle hända när man använder tre positioner, styrenheten förstår inte vad som händer och värdet hoppar slumpmässigt antingen 0 eller 1 (enligt min erfarenhet). Du kan inte ställa in ytterligare potentiometrar för närvarande de inte är involverade. Eller så kan du sätta och övervaka källsidan, kanske kommer författaren så småningom att publicera den uppdaterade firmware.




Därefter installeras en arduino, en radiomodul och ett modul för radiomodul. Som beskrivits ovan är det nödvändigt att ställa in en spänning på 3,3 volt på den. Det är nästan omöjligt att göra detta med ett standardvariabelt motstånd, så författaren lossade det och lödde en flersvänd trimmer istället. Därefter är displayen monterad och alla komponenter anslutna till arduino-terminalerna enligt diagrammet.




införing

Arduino-firmware har redan pratats om 1000 gånger, vid denna tidpunkt är förmågan att göra detta medan du håller fast vid ett arduino-projekt lika viktigt som standard som förmågan att hålla ett lödkolv i händerna medan du håller något att lödda.Koden för sändaren, mottagaren, nödvändiga bibliotek och en fil för 3D-utskrift av ärendet kan laddas ner i ett arkiv i slutet av artikeln.


mottagare



För mottagaren behöver du ett annat Arduino-kort, en radiomodul (utan antenn, telemetri är fortfarande inte implementerad här) och en 3,3 volt stabilisator. Mottagaren är lödd till brödskivan. Mottagarens effekt utförs på samma sätt som kraften från någon annan fabriksmottagare, från en speciell utgång från hastighetsregleringen.




På egen hand vill jag lägga till att istället för standardantennen för den här modulen är det önskvärt att löda samma antenn som är installerad i modulen med en förstärkare (endast utan hölje). Detta kommer inte särskilt att påverka mottagningsområdet, men kommer att påverka mottagningskvaliteten avsevärt beroende på den kontrollerade modellens position i olika plan. För moderna mottagare och sändare är även två antenner installerade för detta ändamål, som är placerade vinkelrätt mot varandra.


Dessutom har författaren implementerat en mycket viktig funktion - utgång från PPM-mottagarsignalen. Schematiskt förändras ingenting i detta fall, du behöver bara fylla i en annan firmware, PPM-signalen matas ut på samma sätt som i de flesta fabriksmottagare - från den första kanalen (gas).




Det är allt. Personligen gillade jag verkligen projektet, och som jag redan sa, planerar jag att upprepa det i fallet från fjärrkontrollen till en leksaksbarn. I menyn kan du välja läget från linjärt till exponentiellt och finjustera värdet på varje pinne. Tänk på att medelvärdet för varje kanal bör vara 127.


Du kan ladda ner allt du behöver här.

All framgång i arbetet!
8.9
8.6
8.6

Lägg till en kommentar

    • lelerxaxaOKdontknowyahoonea
      bossscratchluraJaja-jaaggressivhemlighet
      ledsendansdance2dance3benådningHjälpdrycker
      stoppvännerbragoodgoodvisselpipasvimningsanfalltunga
      rökklapparcraydeclarehånfulldon-t_mentionnedladdning
      hettaRASANDElaugh1mdamötemoskingnegativ
      not_ipopcornstraffalässkrämmalarmrapportersök
      hånthank_youdettato_clueumnikakutöverens
      illabeeeblack_eyeblum3rougeskrytaledan
      censureradepleasantrysecret2hotasegeryusun_bespectacled
      shokrespektlolprevedvälkommenkrutoyya_za
      ya_dobryihjälparene_huliganne_othodiFLUDförbudstänga
30 kommentar
feonor12 skriver korrekt att oanvända ingångar måste dras antingen till marken eller till makten. Jag började följa denna regel så snart jag lärde mig att arbeta med CMOS-chips. Åh, hur länge sedan var det ... Och i mikrokontroller har naturligtvis ingen avbrutit denna regel.
mycket tack !!!!!
Författaren
I sammanställningsprocessen tilldelade jag också en del variabler och skrev också att det fanns lite minne, även om det omedelbart skrevs att skissen använder 77% av minnet. Skissen är klumpig, ingen förnekar, men den fungerar. Det viktigaste som sammanställdes. Bygg en testkrets och kontrollera hur det fungerar, problem måste lösas när de blir tillgängliga. När du monterar testkretsen på sändaren - alla oanvända kanaler, vare sig det är joysticks, en växelströmbrytare eller tangentbord, i allmänhet måste allt som inte är anslutet vara bundet till marken eller till 5V, om du lämnar enheten "hänger i luften" fungerar det inte tillräckligt, med detta kolliderade när de upprepades.

ZY Registrera dig och du kan.
Gäst Andrew
det visade sig nästan som på ditt foto.
bara svär, kort sagt, här
C: \ Användare \ mozga \ Dokument \ Arduino \ bibliotek \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: i medlemsfunktionen 'boolean value Adafruit_GFX_Button :: innehåller (int16_t, int16_t)':

C: \ Användare \ mozga \ Dokument \ Arduino \ bibliotek \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1120: 28: varning: jämförelse mellan signerade och osignerade heltalsuttryck [-Wsign-jämför]

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

                             ^

C: \ Användare \ mozga \ Dokument \ Arduino \ bibliotek \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1121: 28: varning: jämförelse mellan signerade och osignerade heltalsuttryck [-Wsign-jämför]

(y> = _y1) && (y <(_ y1 + _h)));
så småningom sammanställningen slutförd
och skriver inte tillräckligt med minne och programmet kanske inte fungerar stabilt.
ledsen här jag kan inte sätta ett foto.
Författaren
Ta bort / lägg två snedstreck.

#definiera SSD1306_128_64
// #definiera SSD1306_128_32
// # definiera SSD1306_96_16

Så här ska det vara.
Gäst Andrew
tack så mycket.
svär inte mycket.
Nu kommer jag att google, vilket betyder:
(Kommentera den andra och dela bort den första.)
Författaren
För två, jävla det, google minuter. I filen Adafruit_SSD1306.h måste du hitta dessa rader

// #definiera SSD1306_128_64
#definiera SSD1306_128_32
// # definiera SSD1306_96_16

kommentera den andra och dela bort den första.
Författaren
Lyssna, jag skrev inte den här koden och är inte specialist i programmering. Vad jag visste, sedan frågade, det passar inte dig. Det fungerar för författaren, jag samlade det - det fungerar också för mig. Det fungerar inte för dig, så felet finns inte i koden eller i biblioteket. Kontakta det tematiska forumet, gå till källan och skriva till författaren eller vänta tills någon som vet här svarar. Jag sa att jag inte visste vad som var frågan, vad behövdes mer av mig, så att jag skulle tappa allt och börja ta itu med problemet för dig? Ledsen, nej.
Gäst Andrew
"tack för hjälp"
fel i Adafruit_SSD1306.h-biblioteket
Och jag har ett problem med "privat ordning."
det är vad som ger ut.
Sändarkod: 102: 2: fel: #error ("Fel höjd, fixa detta i Adafruit_SSD1306.h!");
kanske vilket nummer eller bokstav som ska ändras där, men jag vet inte
Författaren
Då vet jag inte, allt samlades och sys. Nu kontrollerade jag av intresse, allt kompilerades också. Så ett privat problem.

Gäst Andrew
Adafruit_SSD1306-master-bibliotek
installerade arduino ide-programmet i själva programmet
Författaren
Finns det ett fel under sammanställningen? Han förbannar vid visningsbiblioteket. Har du installerat Adafruit_SSD1306-master-biblioteket från arkivet på onsdag?
Gäst Andrew
Hallå
Jag bestämde mig för att kontrollera skisserna först. PPM- och PWM-mottagare (läs.)
Jag började kontrollera sändaren, det ger ett fel.
#error ("Höjd fel, fixa detta i Adafruit_SSD1306.h!");
Google översättare översatt.
#error ("Höjden är felaktig, korrigera detta i Adafruit_SSD1306.h!");
Och vad ska jag göra nu, jag vet inte ens ..............
Författaren
Hej alla. Generellt sett har jag varken tid eller lust att avsluta appen inom en snar framtid så att jag kan skriva en artikel om den, men under en lång tid ritade jag en skyltning av mottagaren som måste tas. Jag samlade inte styrelsen, men jag kontrollerade det flera gånger, allt verkar vara korrekt. Några ord som det inte skulle finnas några frågor:
Radiomodulstabilisatorn är lödad i smd på kortet (ASM1117 vid 3,3 V, kopplad till med datablad). Om det kommer att fungera instabilt eller på kort avstånd - hänga 10 mikrofarador med lådor direkt på modulens strömkontakter (jag kunde inte hitta en plats att skjuta på brädet).
Vi löd smd, sedan hopparna, följt av arduino (tassar för programmering till kammen av utgångar), det andra "golvet" i radiomodulen, som jag gjorde i flygkontrollen. Radiomodulen överlappar återställningsknappen på arduino, så jag tog med den på baksidan av signet (löd bara den från arduino och löd den). Om din programmerare drar återställningen själv, eller om du inte planerar att byta ut igen efter montering kan du ta bort knappen och spåren från vattenkanna, halsduken kommer ut några millimeter smalare och kortare (20x50 mm). I alla fall kom halsduken ut mycket kompakt. På radiomodulen är det önskvärt att stänga av den tryckta antennen och lödningen som på standard 2,4 GHz-mottagare (foto nedan). Detta påverkar inte intervallet, men mottagningen kommer att förbättras med olika riktningar i rymden. 5V effekt till valfri kontakt från WEIGHT regulator eller extern.
Ställ in det färdiga brädet i en genomskinlig värmekrymp, du kan för-rita, skriva ut och infoga en typskylt med beteckning på kontaktgrupper. Eller skapa en butebread som samma flygstabilisator.
Allt verkar vara Du kan ladda ner en signet här.



Här är stubben. flight, en artikel om det i min profil.


Gäst Vladislav
Skriv för att hjälpa, jag samlade skissen i bitar, eftersom min infödda inte började, nu fungerar allt bra, Viber 0993482290
roboten
hjälp med skatech. det finns många misstag !!
Författaren
Jag gör Appu i min fritid även från fritiden, en tautologi, men det är sant.För det finns en fabriksapp flysky i6, den här, för sportens intresse, jag samlar in den. När jag är helt klar kommer jag att samla in den vanliga mottagaren - jag tar upp allt i en separat artikel.
Men så att du inte skulle ha tvivel om dess prestanda, viftade här aileron:

Som ni ser, det fungerar. En kanal ansluten till exempel. Ledningen till mottagaren ström, drivs av laddning från telefonen.

Även om det i stort sett är mycket att utveckla är det i mjukvarudelen att inse valet av den mest ljudlösa kanalen, bindande, att samla in flera mottagare, lägga till minne för minst 5 modeller. Även telemetri kan tvättas om du vill. Men detta kräver antingen hjälp av entusiaster, eller är det Arduino-språket bättre att lära sig, eller författaren att skriva, kanske detta intresserar honom. Jag, inom en nära framtid, kommer definitivt inte att göra detta.

Och jag sa redan om maten. 1 burk på 18650 + MT3608 + ASM1117 + TP4056 med skydd av -54-5 dollar. Som ett alternativ, men det finns många av dem, åtminstone från batterier.
Andrew1978
Visa videon på din fjärrkontroll ..... Om Nonsense - nonsens kan vara för dig, men det är 65% av kostnaden för hela fjärrkontrollen - tre stubbar, en laddare och tre litium ...
Författaren
Ingen bryr sig om att organisera måltider annars. Av någon anledning klamrar sig alla till nonsens, utelämnar huvudnyansen - det här är färdiga "hjärnor", mottagaren och sändaren på en standard PPM-signal, och hur man matar dem och i vilket fall att skjuta är den tionde saken. Det är möjligt att driva från en burk genom en förstärkande DC / DC-omvandlare, korrigera koden för att korrekt indikera laddningen för en burk. Hittills har jag ätit från kronan, för permanent användning har jag inte tänkt min egen version.
Andrew1978
Vilken perversion att mata de tre litiumerna med en fjärrkontroll som använder 5v och 3.3v ....
Författaren
Författaren
Vill du själv göra ett ärende? Detta är slöseri med tid, normalt fungerar det fortfarande inte. På webbplatser säljer klassificerade annonser en massa fjärrkontroller från leksaker, inklusive pistoltyp. Sälj för ett öre (barnet dödade leksaken, men fjärrkontrollen kvarstår). Välj mindre massivt och gör om. Ändring reduceras till att kasta ut hela fyllningen och lämna efter kontrollerna av linjära potentiometrar.
Ett annat alternativ är att köpa en appu med en synad fyllning, men hela mekaniken. På webbplatser för modellerare som då och då dyker upp.
Min appa ser ut så här (namnskylten är test, då gör jag den vackrare)
Gäst Eugene
det är mekanik och intressen och det finns inget att skriva om med
Författaren
Varför? Ja, och vem som stör, det här handlar om mekanik. Ta pistolkonsolen från leksaken, ändra den så blir den så. Du kan ta vad som helst, en dator joystick för flygsimulatorer, till och med en gamepad från Sonya. Här huvudschema.
Jag har redan samlat mig från en leksakskonsol.
Gäst Eugene
utrustning av pistol skulle tillverkas ...
Författaren
Bara kontrollerat, allt öppnas och laddas ner. Kanske har du någon form av annonsblockerare eller något.
Om någon annan har problem med att ladda ner - skriv, vänder jag mig till administratören.
den här fungerar inte här
Författaren
Du kan ladda ner allt du behöver här.

Klicka här
Författaren
Du kan ladda ner allt du behöver här.

Klicka här
och var är skissen för utrustningen

Vi rekommenderar att du läser:

Räcka den till smarttelefonen ...