Turinys:

„Arduino“dronas su GPS: 16 žingsnių
„Arduino“dronas su GPS: 16 žingsnių

Video: „Arduino“dronas su GPS: 16 žingsnių

Video: „Arduino“dronas su GPS: 16 žingsnių
Video: How To Install (RC) Radio Control Systems, Motor, ESC, Servo. Brushed & Brushless 2024, Liepa
Anonim
„Arduino“dronas su GPS
„Arduino“dronas su GPS

Mes nusprendėme sukurti „Arduino“valdomą ir stabilizuotą „GPS“įgalintą pirmojo asmens peržiūros (FPV) keturkojo droną su grįžimu į namus, eiti į koordinavimą ir GPS laikymo funkcijas. Mes naiviai manėme, kad esamų „Arduino“programų sujungimas su keturkoopterio be GPS prijungimu prie GPS perdavimo sistemos būtų gana paprastas ir galėtume greitai pereiti prie sudėtingesnių programavimo užduočių. Tačiau, norint suderinti šiuos du projektus, reikėjo pakeisti stebėtinai daug, todėl galiausiai sukūrėme FPV kvadratinį kopijavimą su GPS, be jokių papildomų funkcijų.

Įtraukėme instrukcijas, kaip atkartoti mūsų produktą, jei esate patenkintas ribotesniu keturkopiu.

Mes taip pat įtraukėme visus veiksmus, kurių ėmėmės kelyje į autonomiškesnį keturkojį. Jei jaučiatės patogiai gilindamiesi į „Arduino“arba jau turite daug „Arduino“patirties ir norėtumėte mūsų sustojimo tašką laikyti atspirties tašku savo žvalgybai, tai šis „Instructable“taip pat skirtas jums.

Tai puikus projektas, norint sužinoti ką nors apie „Arduino“kūrimą ir kodavimą, nesvarbu, kiek turite patirties. Be to, jūs, tikiuosi, pasitrauksite su dronu.

Sąranka yra tokia:

Medžiagų sąraše abiem tikslams reikalingos dalys be žvaigždutės.

Dalys, pažymėtos viena žvaigždute, reikalingos tik nebaigtam autonomiškesnio keturkočio projektui.

Dalys su dviem žvaigždutėmis yra reikalingos tik ribotam keturkojui.

Abiejų projektų veiksmai po pavadinimo neturi žymeklio

Žingsniai, reikalingi tik ribotesniam neautonominiam keturkojui, po pavadinimo turi „(Uno)“.

Žingsniai, reikalingi tik nebaigtam autonominiam keturkojui, turi pavadinimą „(Mega)“.

Norėdami sukurti „Uno“pagrindu sukurtą keturratį, atlikite nurodytus veiksmus, praleisdami visus veiksmus po „(Mega)“po pavadinimo.

Jei norite dirbti su „Mega“pagrindu veikiančiu keturračiu, atlikite nurodytus veiksmus, praleisdami visus veiksmus po pavadinimo „(Uno)“.

1 žingsnis: Surinkite medžiagas

Komponentai:

1) Vienas keturkojo rėmas (tikslus rėmas greičiausiai nesvarbus) (15 USD)

2) Keturi 2830, 900 kV varikliai be šepetėlių (arba panašūs) ir keturi tvirtinimo priedų paketai (4x 6 USD + 4x 4 USD = iš viso 40 USD)

3) Keturi 20A UBEC ESC (4x 10 USD = 40 USD)

4) Viena maitinimo paskirstymo plokštė (su XT-60 jungtimi) (20 USD)

5) Viena 3s, 3000-5000mAh LiPo baterija su XT-60 jungtimi (3000mAh atitinka maždaug 20 min skrydžio laiko) (25 USD)

6) Daug sraigtų (jie daug lūžta) (10 USD)

7) Vienas „Arduino Mega 2560“* (40 USD)

8) Vienas „Arduino Uno R3“(20 USD)

9) Antrasis „Arduino Uno R3 **“(20 USD)

10) Vienas „Arduino Ultimate GPS Shield“(jums nereikia skydo, tačiau naudojant kitą GPS reikės skirtingų laidų) (45 USD)

11) Du HC-12 belaidžiai siųstuvai-imtuvai (2x 5 USD = 10 USD)

12) Vienas MPU-6050, 6DOF (laisvės laipsnis) giroskopas/akselerometras (5 USD)

13) Viena „Turnigy 9x 2.4GHz“, 9 kanalų siųstuvo/imtuvo pora (70 USD)

14) „Arduino“moterų (sukraunamos) antraštės (20 USD)

15) „LiPo Battery Balance“įkroviklis (ir 12 V nuolatinės srovės adapteris, neįskaičiuotas) (20 USD)

17) USB nuo A iki B adapterio laidas nuo vyrų iki vyrų (5 USD)

17) Lipni juosta

18) susitraukiantys vamzdeliai

Įranga:

1) Lituoklis

2) Lituoklis

3) Plastikinis epoksidas

4) Žiebtuvėlis

5) Vielos nuėmiklis

6) „Allen“veržliarakčių rinkinys

Pasirenkami FPV (pirmojo asmens peržiūros) vaizdo perdavimo realiu laiku komponentai:

1) Maža FPV kamera (tai nuoroda į gana pigią ir prastos kokybės kamerą, kurią naudojome, galite pakeisti geresne) (20 USD)

2) 5,6 GHz vaizdo siųstuvo/imtuvo pora (naudojami 832 modeliai) (30 USD)

3) 500 mAh, 3 s (11,1 V) „LiPo“baterija (7 USD) (mes naudojome su bananų kištuku, tačiau retrospektyviai rekomenduojame naudoti susietą bateriją, nes ji turi jungtį, suderinamą su TS832 siųstuvu, taigi t reikia lituoti).

4) 2 1000 mAh 2 s (7,4 V) „LiPo“baterija arba panaši (5 USD). MAh skaičius nėra kritiškas, jei jis yra didesnis nei 1000 mAh. Tas pats teiginys, kaip aprašyta aukščiau, taikomas vieno iš dviejų akumuliatorių kištuko tipui. Kitas bus naudojamas monitoriui maitinti, todėl turėsite lituoti, nesvarbu. Turbūt geriausia tai įsigyti su XT-60 kištuku (taip ir padarėme). Šio tipo nuoroda yra čia: 1000mAh 2s (7,4V) LiPo su XT-60 kištuku

5) LCD monitorius (neprivaloma) (15 USD). Taip pat galite naudoti AV-USB adapterį ir DVD kopijavimo programinę įrangą, kad galėtumėte tiesiogiai žiūrėti nešiojamąjį kompiuterį. Tai taip pat suteikia galimybę įrašyti vaizdo įrašus ir nuotraukas, o ne tik peržiūrėti juos realiuoju laiku.

6) Jei nusipirkote baterijas su skirtingais kištukais iš susietų, jums gali prireikti tinkamų adapterių. Nepaisant to, įsigykite adapterį, atitinkantį akumuliatoriaus kištuką, kuris maitina monitorių. Štai kur įsigyti XT-60 adapterių

* = tik pažangesniam projektui

** = tik paprastesniam projektui

Išlaidos:

Jei pradedate nuo nulio (bet su lituokliu ir pan.), Be FPV sistemos: ~ 370 USD

Jei jau turite RC siųstuvą/imtuvą, „LiPo“akumuliatoriaus įkroviklį ir „LiPo“akumuliatorių: ~ 260 USD

FPV sistemos kaina: 80 USD

2 žingsnis: Surinkite rėmą

Surinkite rėmą
Surinkite rėmą
Surinkite rėmą
Surinkite rėmą
Surinkite rėmą
Surinkite rėmą

Šis žingsnis yra gana paprastas, ypač jei naudojamas tas pats iš anksto paruoštas rėmas, kurį naudojome. Tiesiog naudokite pridėtus varžtus ir surinkite rėmą, kaip parodyta, naudodami savo rėmui tinkamą šešiakampį veržliaraktį arba atsuktuvą. Įsitikinkite, kad tos pačios spalvos ginklai yra greta vienas kito (kaip šiame paveikslėlyje), kad dronas būtų aiškiai matomas priekyje ir gale. Be to, įsitikinkite, kad ilga apatinės plokštės dalis išsikiša tarp priešingos spalvos rankų. Tai tampa svarbu vėliau.

3 žingsnis: pritvirtinkite variklius ir prijunkite „Escs“

„Mount Motors“ir „Connect Escs“
„Mount Motors“ir „Connect Escs“
„Mount Motors“ir „Connect Escs“
„Mount Motors“ir „Connect Escs“
„Mount Motors“ir „Connect Escs“
„Mount Motors“ir „Connect Escs“
„Mount Motors“ir „Connect Escs“
„Mount Motors“ir „Connect Escs“

Dabar, kai rėmas yra surinktas, išimkite keturis variklius ir keturis tvirtinimo priedus. Norėdami pritvirtinti variklius ir laikiklius, galite naudoti varžtus, esančius tvirtinimo rinkiniuose, arba varžtus, likusius iš keturkojo rėmo. Jei perkate laikiklius, kuriuos susiejome, gausite du papildomus komponentus, pavaizduotus aukščiau. Mes turėjome geras variklio charakteristikas be šių dalių, todėl jas palikome, kad sumažintume svorį.

Kai varikliai prisukami, epoksidiniu būdu paskirstykite maitinimo skirstomąją plokštę (PDB) ant keturkojo rėmo viršutinės plokštės. Įsitikinkite, kad nukreipėte taip, kad akumuliatoriaus jungtis būtų nukreipta tarp skirtingų spalvų svirtelių (lygiagrečiai su viena iš ilgų apatinės plokštės dalių), kaip parodyta aukščiau esančiame paveikslėlyje.

Taip pat turėtumėte turėti keturis sraigto kūgius su moteriškais sriegiais. Kol kas atidėkite juos.

Dabar išimkite savo ESC. Vienoje pusėje bus du laidai, vienas raudonas ir vienas juodas. Kiekvienos iš keturių ESC atveju įkiškite raudoną laidą į teigiamą PBP jungtį, o juodą - į neigiamą. Atminkite, kad jei naudojate kitą PBP, šį veiksmą gali reikėti lituoti. Dabar prijunkite kiekvieną iš trijų laidų, išeinančių iš kiekvieno variklio. Šiuo metu nesvarbu, kurį ESC laidą prijungsite prie kurio variklio laido (jei visus vieno ESC laidus prijungsite tuo pačiu varikliu!) Vėliau ištaisysite bet kokį atgalinį poliškumą. Tai nėra pavojinga, jei laidai yra atvirkščiai; dėl to variklis sukasi tik atgal.

4 žingsnis: Paruoškite „Arduino“ir „Shield“

Paruoškite „Arduino“ir „Shield“
Paruoškite „Arduino“ir „Shield“
Paruoškite „Arduino“ir „Shield“
Paruoškite „Arduino“ir „Shield“

Pastaba prieš pradedant

Pirma, galite tiesiogiai lituoti visus laidus. Tačiau mums pasirodė neįkainojama naudoti kaiščių antraštes, nes jos suteikia daug lankstumo šalinant ir pritaikant projektą. Toliau aprašoma, ką mes padarėme (ir rekomenduojame kitiems).

Paruoškite „Arduino“ir skydą

Išimkite „Arduino Mega“(arba „Uno“, jei darote ne autonominį keturratį), GPS skydą ir sukraunamas antraštes. Lituokite sukraunamų antraščių išorinį galą ant GPS skydo, kaiščių eilėse, lygiagrečiose iš anksto lituotiems kaiščiams, kaip parodyta aukščiau esančiame paveikslėlyje. Taip pat lituokite sukraunamose antraštėse ant kaiščių eilutės, pažymėtos 3V, CD,… RX. Naudokite vielos pjaustytuvą, kad nupjautumėte perteklinį ilgį ant kaiščių, kyšančių iš apačios. Į visas šias sukraunamas antraštes įdėkite vyriškas antraštes su išlenktomis viršūnėmis. Prie jų lituosite laidus likusiems komponentams.

Pritvirtinkite GPS skydą prie viršaus ir įsitikinkite, kad smeigtukai sutampa su „Arduino“(„Mega“arba „Uno“). Atminkite, kad naudojant „Mega“, įdėjus skydą į vietą, vis tiek bus daug „Arduino“.

Ant „Arduino“apačios uždėkite elektros juostą, uždengiančią visus atvirus kaiščius, kad išvengtumėte trumpojo jungimo, nes „Arduino“yra PBP.

5 žingsnis: Sujunkite komponentus ir įdėkite bateriją (atšaukite)

Sujunkite komponentus ir įdėkite akumuliatorių (atšaukite)
Sujunkite komponentus ir įdėkite akumuliatorių (atšaukite)
Sujunkite komponentus ir įdėkite akumuliatorių (atšaukite)
Sujunkite komponentus ir įdėkite akumuliatorių (atšaukite)
Sujunkite komponentus ir įdėkite bateriją (atšaukite)
Sujunkite komponentus ir įdėkite bateriją (atšaukite)
Sujunkite komponentus ir įdėkite akumuliatorių (atšaukite)
Sujunkite komponentus ir įdėkite akumuliatorių (atšaukite)

Aukščiau pateikta schema yra beveik identiška Joopo Brookingo schemai, kai mes labai grindėme jo dizainą.

*Atminkite, kad šioje schemoje daroma prielaida, kad GPS skydas yra tinkamai sumontuotas, todėl GPS šioje schemoje nerodomas.

Aukščiau pateikta schema buvo paruošta naudojant „Fritzing“programinę įrangą, kuri yra labai rekomenduojama, ypač schemoms, susijusioms su „Arduino“. Mes dažniausiai naudojome bendras dalis, kurias galima lanksčiai redaguoti, nes mūsų dalių paprastai nebuvo įtrauktoje Fritzingo dalių bibliotekoje.

-Įsitikinkite, kad GPS skydo jungiklis yra perjungtas į „Direct Write“.

-Dabar prijunkite visus komponentus pagal aukščiau pateiktą schemą (išskyrus akumuliatorių!) (Svarbi pastaba apie GPS duomenų laidus žemiau).

-Atkreipkite dėmesį, kad ESC jau prijungėte prie variklių ir PBP, todėl ši schemos dalis yra padaryta.

Be to, atkreipkite dėmesį, kad GPS duomenys (geltoni laidai) išeina iš „Arduino“0 ir 1 kaiščių (o ne atskiri GPS Tx ir Rx kaiščiai). Taip yra todėl, kad sukonfigūruotas „Tiesioginis rašymas“(žr. Žemiau), GPS išvedamas tiesiai į „uno“aparatinės įrangos nuoseklius prievadus (0 ir 1 kaiščiai). Tai ryškiausiai parodyta antrame paveikslėlyje, kuriame yra visa instaliacija.

-Prijungdami RC imtuvą, žiūrėkite paveikslėlį aukščiau. Stebėkite, kad duomenų laidai patektų į viršutinę eilutę, o „Vin“ir „Gnd“-atitinkamai antroje ir trečioje eilutėse (ir antrame iki tolimiausiame kaiščių stulpelyje).

-Norėdami prijungti laidus HC-12 siųstuvui-imtuvui, RC imtuvui ir 5Vout iš PBP į „Arduino“Vin, naudojome sukraunamas antraštes, o giroskopui laidus litavome tiesiai prie plokštės ir aplink termiškai susitraukiančius vamzdžius. lituoklis. Galite pasirinkti bet kurį iš komponentų, tačiau rekomenduojama lituoti tiesiai prie giroskopo, nes tai taupo vietą, todėl mažą dalį lengviau sumontuoti. Naudojant antraštes yra šiek tiek daugiau darbo iš anksto, tačiau tai suteikia daugiau lankstumo. Tiesioginis litavimo laidas yra saugesnis ilgalaikis ryšys, tačiau reiškia, kad naudoti šį komponentą kitame projekte yra sunkiau. Atminkite, kad jei GPS skydelyje naudojote antraštes, vis tiek turite pakankamai lankstumo, nepriklausomai nuo to, ką darote. Svarbiausia, kad būtų lengva nuimti ir pakeisti GPS duomenų laidus, esančius 0 ir 1 kaiščiuose.

Pasibaigus mūsų projektui, mes negalėjome sukurti gero metodo, kaip visus komponentus pritvirtinti prie rėmo. Dėl mūsų klasės laiko spaudimo mūsų sprendimai paprastai buvo susiję su dvipuse putplasčio juosta, lipnia juosta, elektros juosta ir užtrauktukais. Jei planuojate, kad tai ilgesnio laikotarpio projektas, labai rekomenduojame skirti daugiau laiko stabilių tvirtinimo konstrukcijų projektavimui. Be to, jei norite tik sukurti greitą prototipą, nedvejodami sekite mūsų procesą. Tačiau įsitikinkite, kad giroskopas yra tvirtai pritvirtintas. Tik taip „Arduino“žino, ką daro keturkojis, todėl jei jis juda skrisdamas, turėsite problemų.

Kai viskas prijungta ir sumontuota, paimkite „LiPo“akumuliatorių ir pastumkite jį tarp viršutinės ir apatinės rėmo plokščių. Įsitikinkite, kad jo jungtis nukreipta ta pačia kryptimi kaip ir PBP jungtis, ir kad jie iš tikrųjų gali jungtis. Mes naudojome lipnią juostą, kad laikytume bateriją (velcro juosta taip pat veikia, bet labiau erzina nei lipni juosta). Lipni juosta veikia gerai, nes galima lengvai pakeisti bateriją arba išimti ją įkraunant. Tačiau turite būti tikri, kad akumuliatorių užklijuojate Tvirtai, nes akumuliatorius judėdamas skrydžio metu gali rimtai sutrikdyti drono pusiausvyrą. Kol kas nejunkite akumuliatoriaus prie PBP.

6 žingsnis: Sujunkite komponentus ir įdėkite bateriją (mega)

Sujunkite komponentus ir įdėkite bateriją (mega)
Sujunkite komponentus ir įdėkite bateriją (mega)
Sujunkite komponentus ir įdėkite bateriją (mega)
Sujunkite komponentus ir įdėkite bateriją (mega)
Sujunkite komponentus ir įdėkite bateriją (mega)
Sujunkite komponentus ir įdėkite bateriją (mega)

Aukščiau pateikta schema buvo paruošta naudojant „Fritzing“programinę įrangą, kuri yra labai rekomenduojama, ypač schemoms, susijusioms su arduino. Mes dažniausiai naudojome bendras dalis, nes mūsų dalių paprastai nebuvo įtrauktoje Fritzingo dalių bibliotekoje.

-Atkreipkite dėmesį, kad šioje schemoje daroma prielaida, kad GPS skydas yra tinkamai sumontuotas, todėl GPS šioje schemoje nerodomas.

-Pasukite „Mega 2560“jungiklį į „Soft Serial“.

-Dabar prijunkite visus komponentus pagal aukščiau pateiktą schemą (išskyrus akumuliatorių!)

-Atkreipkite dėmesį, kad ESC jau prijungėte prie variklių ir PBP, todėl ši schemos dalis yra padaryta.

-Džemperio kabeliai nuo 8 kaiščio iki Rx ir 7 kaiščio iki Tx yra, nes (skirtingai nei „Uno“, kuriam buvo sukurtas šis skydas), „mega“neturi universalaus asinchroninio imtuvo-siųstuvo (UART) 7 ir 8 kaištuose, todėl turime naudoti aparatūros serijinius kaiščius. Yra daugiau priežasčių, kodėl mums reikia aparatinės įrangos serijinių kaiščių, aptariami vėliau.

-Prijungdami RC imtuvą, žiūrėkite paveikslėlį aukščiau. Stebėkite, kad duomenų laidai patektų į viršutinę eilutę, o „Vin“ir „Gnd“-atitinkamai antroje ir trečioje eilutėse (ir antrame iki tolimiausiame kaiščių stulpelyje).

-Norėdami prijungti HC-12 siųstuvo-imtuvo, RC imtuvo ir 5Vout laidus iš PBP į „Arduino“Vin, naudojome sukraunamas antraštes, o giroskopui laidus lituodavome tiesiogiai ir naudodami termiškai susitraukiančius vamzdžius aplink lydmetalį. Galite pasirinkti bet kurį iš komponentų. Naudojant antraštes yra šiek tiek daugiau darbo iš anksto, tačiau tai suteikia daugiau lankstumo. Tiesioginis litavimo laidas yra saugesnis ilgalaikis ryšys, tačiau reiškia, kad naudoti šį komponentą kitame projekte yra sunkiau. Atminkite, kad jei GPS skydelyje naudojote antraštes, vis tiek turite pakankamai lankstumo, nepriklausomai nuo to, ką darote.

Pasibaigus mūsų projektui, mes negalėjome sukurti gero metodo, kaip visus komponentus pritvirtinti prie rėmo. Dėl mūsų klasės laiko spaudimo mūsų sprendimai paprastai buvo susiję su dvipuse putplasčio juosta, lipnia juosta, elektros juosta ir užtrauktukais. Jei planuojate, kad tai ilgesnio laikotarpio projektas, labai rekomenduojame skirti daugiau laiko stabilių tvirtinimo konstrukcijų projektavimui. Be to, jei norite tik sukurti greitą prototipą, nedvejodami sekite mūsų procesą. Tačiau įsitikinkite, kad giroskopas yra tvirtai pritvirtintas. Tik taip „Arduino“žino, ką daro keturkojis, todėl jei jis juda skrisdamas, turėsite problemų.

Kai viskas yra prijungta ir sumontuota, paimkite „LiPo“akumuliatorių ir pastumkite jį tarp viršutinės ir apatinės rėmo plokščių. Įsitikinkite, kad jo jungtis nukreipta ta pačia kryptimi kaip ir PBP jungtis, ir kad jie iš tikrųjų gali jungtis. Mes naudojome lipnią juostą, kad laikytume akumuliatorių (velcro juosta taip pat veikia, bet labiau erzina nei lipni juosta). Lipni juosta veikia gerai, nes galima lengvai pakeisti bateriją arba išimti ją įkraunant. Tačiau turite būti tikri, kad akumuliatorių užklijuojate Tvirtai, nes akumuliatorius judėdamas skrydžio metu gali labai sutrikdyti drono pusiausvyrą. Kol kas NEGALIMA prijungti akumuliatoriaus prie PBP.

7 žingsnis: suriškite imtuvą

Įrišti imtuvą
Įrišti imtuvą
Įrišti imtuvą
Įrišti imtuvą

Paimkite RC imtuvą ir laikinai prijunkite jį prie 5 V maitinimo šaltinio (įjungdami „Arduino“naudodami USB arba 9 V maitinimą arba naudodami atskirą maitinimo šaltinį. Kol kas neprijunkite „LiPo“prie „Arduino“). Paimkite įrišimo kaištį, gautą kartu su RC imtuvu, ir padėkite jį prie imtuvo BIND kaiščių. Arba sutrumpinkite viršutinius ir apatinius kaiščius stulpelyje BIND, kaip parodyta aukščiau esančioje nuotraukoje. Imtuve turėtų greitai mirksėti raudona lemputė. Dabar paimkite valdiklį ir paspauskite mygtuką, esantį gale, kai jis yra išjungtas, kaip parodyta aukščiau. Paspaudę mygtuką, įjunkite valdiklį. Dabar mirksinti imtuvo lemputė turėtų nuolat šviesti. Imtuvas surištas. Nuimkite surišimo kabelį. Jei naudojate kitą maitinimo šaltinį, iš naujo prijunkite imtuvą prie 5 V iš „Arduino“.

8 veiksmas: (pasirinktinai) prijunkite laidą ir pritvirtinkite FPV kamerų sistemą

(Pasirinktinai) Sujunkite laidą ir pritvirtinkite FPV kamerų sistemą
(Pasirinktinai) Sujunkite laidą ir pritvirtinkite FPV kamerų sistemą
(Pasirinktinai) Sujunkite laidą ir pritvirtinkite FPV kamerų sistemą
(Pasirinktinai) Sujunkite laidą ir pritvirtinkite FPV kamerų sistemą

Pirmiausia lituokite XT-60 adapterį su maitinimo ir įžeminimo laidais monitoriuje. Jie gali skirtis priklausomai nuo monitoriaus, tačiau maitinimas beveik visada bus raudonas, o žemė beveik visada juoda. Dabar įdėkite adapterį su lituotais laidais į savo 1000 mAh „LiPo“su XT-60 kištuku. Monitorius turėtų įsijungti (dažniausiai) mėlynu fonu. Tai sunkiausias žingsnis!

Dabar prisukite imtuvo ir siųstuvo antenas.

Prijunkite savo mažą 500 mAh „Lipo“prie siųstuvo. Dešinysis kaištis (tiesiai po antena) yra įžemintas (V_) akumuliatoriaus, kitas kaištis kairėje yra V+. Ateina trys laidai, einantys į fotoaparatą. Jūsų fotoaparatas turi būti su kištuku „trys viename“, kuris telpa į siųstuvą. Įsitikinkite, kad geltonas duomenų laidas yra viduryje. Jei naudojote baterijas, su kuriomis susiejome, tam skirtus kištukus, šiam žingsniui nereikia lituoti.

Galiausiai prijunkite kitą 1000 mAh talpos bateriją su nuolatinės srovės išvesties laidu, gautu kartu su imtuvu, ir savo ruožtu prijunkite jį prie imtuvo nuolatinės srovės prievado. Galiausiai prijunkite prie imtuvo pridedamo „AVin“kabelio juodąjį galą prie imtuvo AVin prievado, o kitą (geltoną, moterišką) galą prie geltonojo monitoriaus „AVin“kabelio galo.

Šiuo metu monitoriuje turėtumėte matyti kameros vaizdą. Jei negalite, įsitikinkite, kad imtuvas ir siųstuvas yra įjungti (mažuose ekranuose turėtumėte matyti numerius) ir kad jie yra tame pačiame kanale (mes abu naudojome 11 kanalą ir gerai sekėsi). Be to, gali tekti pakeisti monitoriaus kanalą.

Sumontuokite komponentus ant rėmo.

Kai sąranka veiks, atjunkite baterijas, kol būsite pasiruošę skristi.

9 veiksmas: nustatykite GPS duomenų priėmimą

Nustatykite GPS duomenų priėmimą
Nustatykite GPS duomenų priėmimą
Nustatykite GPS duomenų priėmimą
Nustatykite GPS duomenų priėmimą

Prijunkite savo antrąjį „Arduino“su antruoju siųstuvo-imtuvo imtuvu, kaip parodyta aukščiau esančioje schemoje, turint omenyje, kad sąranka bus maitinama tik taip, kaip parodyta, jei bus prijungta prie kompiuterio. Atsisiųskite pateiktą imtuvo kodą, atidarykite nuoseklųjį monitorių iki 9600 baudų.

Jei naudojate paprastesnes sąrankas, turėtumėte pradėti gauti GPS sakinius, jei jūsų GPS skydas yra maitinamas ir tinkamai prijungtas prie kito HC-12 siųstuvo-imtuvo (ir jei skydo jungiklis yra „Tiesioginio rašymo“padėtyje).

Naudodami „Mega“įsitikinkite, kad jungiklis yra „Soft Serial“.

10 veiksmas: atlikite sąrankos kodą (atšaukti)

Šis kodas yra identiškas tam, kurį naudojo Joopas Brokkingas savo „Arduino quadcopter“pamokoje, ir jis nusipelno viso nuopelno už jo rašymą.

Atjungę akumuliatorių, USB laidu prijunkite kompiuterį prie „Arduino“ir įkelkite pridėtą sąrankos kodą. Įjunkite RC siųstuvą. Atidarykite nuoseklųjį monitorių iki 57600 baudų ir vykdykite nurodymus.

Dažnos klaidos:

Jei nepavyksta įkelti kodo, įsitikinkite, kad 0 ir 1 kaiščiai yra atjungti nuo UNO/GPS skydo. Tai tas pats aparatūros prievadas, kurį įrenginys naudoja bendraudamas su kompiuteriu, todėl jis turi būti laisvas.

Jei kodas vienu metu praleidžia daugybę veiksmų, patikrinkite, ar jūsų GPS jungiklis yra „Tiesioginio rašymo“padėtyje.

Jei imtuvas neaptinkamas, įsitikinkite, kad įjungus siųstuvą imtuvas dega nuolat (bet silpnai) raudonai. Jei taip, patikrinkite laidus.

Jei giroskopas neaptinkamas, tai gali būti dėl to, kad giroskopas yra sugadintas arba jei turite kitokio tipo giroskopą, nei tas, kuriam skirtas kodas.

11 veiksmas: atlikite sąrankos kodą (mega)

Šis kodas yra identiškas tam, kurį naudojo Joopas Brokkingas savo „Arduino quadcopter“pamokoje, ir jis nusipelno viso nuopelno už jo rašymą. Mes tiesiog pritaikėme „Mega“laidus taip, kad imtuvo įėjimai atitiktų teisingus kaiščio keitimo pertraukimo kaiščius.

Atjungę akumuliatorių, USB laidu prijunkite kompiuterį prie „Arduino“ir įkelkite pridėtą sąrankos kodą. Atidarykite nuoseklųjį monitorių iki 57600 baudų ir vykdykite nurodymus.

12 veiksmas: kalibruokite ESC (Uno)

Vėlgi, šis kodas yra identiškas Joop Brokking kodui. Visos modifikacijos buvo padarytos siekiant integruoti GPS ir „Arduino“, ir vėliau jas galima rasti pažangesnio keturkopinio aparato konstrukcijos aprašyme.

Įkelkite pridėtą ESC kalibravimo kodą. Serijiniame monitoriuje parašykite raidę „r“ir paspauskite „Return“. Turėtumėte pradėti matyti išvardytas realiojo laiko RC valdiklio vertes. Patikrinkite, ar jie skiriasi nuo 1000 iki 2000, atsižvelgiant į droselio, ritinio, žingsnio ir posūkio kraštutinumus. Tada parašykite „a“ir paspauskite grįžti. Leiskite kalibruoti giroskopą ir patikrinkite, ar giroskopas užregistruoja keturračio judesį. Dabar atjunkite arduino nuo kompiuterio, iki galo nuspauskite droselinę sklendę ant valdiklio ir prijunkite akumuliatorių. ESC turėtų skleisti skirtingus pyptelėjimo tonus (tačiau tai gali skirtis priklausomai nuo ESC ir jos programinės įrangos). Paspauskite droselinę sklendę iki galo. ESC turėtų skleisti mažesnius pyptelėjimus, tada nutilti. Atjunkite akumuliatorių.

Pasirinktinai šiuo metu galite naudoti kūgius, pridėtus prie jūsų variklio tvirtinimo priedų paketų, kad tvirtai užsuktumėte sraigtus. Tada įveskite skaičius 1 - 4 nuosekliajame monitoriuje, kad įjungtumėte atitinkamai 1 - 4 variklius mažiausiu galingumu. Programa užregistruos drebėjimo dėl rekvizitų disbalanso kiekį. Galite pabandyti tai ištaisyti pridėdami nedidelį kiekį lipnios juostos vienoje ar kitoje atramos pusėje. Mes nustatėme, kad be šio žingsnio galime skristi puikiai, bet galbūt šiek tiek mažiau efektyviai ir garsiau, nei subalansavome rekvizitus.

13 veiksmas: kalibruokite ESC (mega)

Šis kodas yra labai panašus į „Brokking“kodą, tačiau mes jį (ir atitinkamą laidą) pritaikėme darbui su „Mega“.

Įkelkite pridėtą ESC kalibravimo kodą. Serijiniame monitoriuje parašykite raidę „r“ir paspauskite „Return“. Turėtumėte pradėti matyti išvardytas realiojo laiko RC valdiklio vertes. Patikrinkite, ar jie skiriasi nuo 1000 iki 2000, atsižvelgiant į droselio, ritinio, žingsnio ir posūkio kraštutinumus.

Tada parašykite „a“ir paspauskite grįžti. Leiskite kalibruoti giroskopą ir patikrinkite, ar giroskopas užregistruoja keturračio judesį.

Dabar atjunkite arduino nuo kompiuterio, iki galo nuspauskite droselinę sklendę ant valdiklio ir prijunkite akumuliatorių. ESC turėtų skleisti tris žemus pyptelėjimus, o po to - didelį pyptelėjimą (tačiau tai gali skirtis priklausomai nuo ESC ir jos programinės įrangos). Paspauskite droselinę sklendę iki galo. Atjunkite akumuliatorių.

Šio kodo pakeitimai buvo pakeisti nuo PORTD naudojimo ESC kaiščiams prie PORTA, o tada pakeisti į šiuos prievadus įrašytus baitus, kad suaktyvintume tinkamus kaiščius, kaip parodyta laidų schemoje. Šis pakeitimas yra todėl, kad PORTD registro kaiščiai nėra toje pačioje „Mega“vietoje, kaip ir „Uno“. Mes negalėjome visiškai išbandyti šio kodo, nes dirbome su sena ne prekės ženklo „Mega“, kurią turėjo mūsų mokyklos parduotuvė. Tai reiškė, kad dėl kokių nors priežasčių ne visi PORTA registro kaiščiai sugebėjo tinkamai įjungti ESC. Mes taip pat turėjome problemų naudodami operatorių „or equals“(| =) kai kuriame mūsų bandymo kode. Nesame tikri, kodėl tai sukėlė problemų rašant baitus, siekiant nustatyti ESC kaiščio įtampą, todėl kuo mažiau keitėme Brookingo kodą. Manome, kad šis kodas yra labai artimas funkciniam, tačiau jūsų rida gali skirtis.

14 žingsnis: gaukite orą !! (Atšaukti)

Ir vėl, šis trečiasis genialiojo kodo fragmentas yra Joopo Brokkingo darbas. Visų šių trijų kodų pakeitimai yra tik bandant integruoti GPS duomenis į „Arduino“.

Kai sraigtai tvirtai pritvirtinti prie rėmo, o visi komponentai pritvirtinti, pritvirtinti juosta ar kitaip pritvirtinti, įkelkite skrydžio valdiklio kodą į „Arduino“, tada atjunkite „Arduino“nuo kompiuterio.

Išveskite savo kvadrokopterį į lauką, prijunkite akumuliatorių ir įjunkite siųstuvą. Pasirinktinai pasiimkite nešiojamąjį kompiuterį, prijungtą prie GPS priėmimo sąrankos, taip pat vaizdo gavimo sąranką ir monitorių. Įkelkite siųstuvo -imtuvo kodą į antžeminį „Arduino“, atidarykite nuoseklųjį monitorių iki 9600 baudų ir stebėkite, kaip įsijungia GPS duomenys.

Dabar esate pasiruošęs skristi. Nuspauskite droselinę sklendę žemyn ir pasukite kairėn, kad įjungtumėte keturkojį, tada švelniai pakelkite droselinę sklendę. Pradėkite skristi žemai į žemę ir virš minkštų paviršių, pavyzdžiui, žolės, kol tapsite patogūs.

Žiūrėkite įterptą vaizdo įrašą, kuriame mes džiaugiamės skraidydami dronu pirmą kartą, kai sugebėjome vienu metu veikti bepiločio orlaivio ir GPS.

15 žingsnis: gaukite orą !! (Mega)

Dėl ryšio su „Mega“ESC kalibravimo kodu, mes niekada negalėjome sukurti skrydžio valdiklio kodo šiai lentai. Jei jau pasiekėte šį tašką, tada įsivaizduoju, kad bent jau susipainiojote su ESC kalibravimo kodu, kad jis veiktų „Mega“. Todėl greičiausiai turėsite atlikti panašius skrydžio valdiklio kodo pakeitimus, kaip atlikote paskutiniame žingsnyje. Jei mūsų „Mega“ESC kalibravimo kodas stebuklingai veikia be jokių kitų pakeitimų, tuomet turėsite atlikti tik keletą atsargų kodo veiksmų, kad jis veiktų šiam žingsniui. Pirmiausia turėsite pereiti ir pakeisti visus PORTD atvejus PORTA. Taip pat nepamirškite pakeisti DDRD į DDRA. Tada turėsite pakeisti visus įrašytus baitus į PORTA registrą, kad jie suaktyvintų tinkamus smeigtukus. Norėdami tai padaryti, naudokite baitą B11000011, kad kaiščiai būtų aukšti, o B00111100 - kaiščiai būtų žemi. Sėkmės ir praneškite mums, jei sėkmingai skrendate naudodami „Mega“!

16 žingsnis: kaip mes pasiekėme, kur šiuo metu esame su „Mega“dizainu

Šis projektas buvo didžiulė mokymosi patirtis mums, kaip „Arduino“ir elektronikos pomėgių pradedantiesiems. Todėl, nors ir įtrauktume sakmę apie viską, su kuo susidūrėme bandydami GPS įjungti Joopo Brokkingo kodą. Kadangi „Brokking“kodas yra toks kruopštus ir daug sudėtingesnis už viską, ką rašėme, nusprendėme jį kuo mažiau modifikuoti. Mes bandėme, kad GPS skydas nusiųstų duomenis į „Arduino“, o tada „Arduino“atsiųstų mums šią informaciją per HC12 siųstuvą -imtuvą, jokiu būdu nekeisdamas skrydžio kodo ar laidų. Peržiūrėję „Arduino Uno“schemas ir laidus, norėdami išsiaiškinti, kokie kaiščiai yra, mes pakeitėme GPS siųstuvo -imtuvo kodą, kurį naudojome norėdami išspręsti esamą dizainą. Tada mes jį išbandėme, kad įsitikintume, jog viskas veikia. Šiuo metu viskas atrodė daug žadanti.

Kitas žingsnis buvo integruoti ką tik pakeistą ir išbandytą kodą su „Brokking“skrydžio valdikliu. Tai nebuvo per sunku, tačiau greitai susidūrėme su klaida. „Brokking“skrydžių valdytojas remiasi „Arduino Wire“ir EEPROM bibliotekomis, o mūsų GPS kodas naudojo programinės įrangos serijos biblioteką ir „Arduino“GPS biblioteką. Kadangi „Wire Library“nurodo programinės įrangos serijos biblioteką, susidūrėme su klaida, kai kodas nebuvo sudaromas, nes buvo „keli _vector 3_ apibrėžimai“, kad ir ką tai reikštų. Pažiūrėję į „Google“ir pasigrožėję bibliotekomis, galiausiai supratome, kad dėl šio bibliotekos konflikto neįmanoma naudoti šių kodo dalių kartu. Taigi, mes pradėjome ieškoti alternatyvų.

Mes supratome, kad vienintelis bibliotekų derinys, kuris mums nepadarė klaidos, buvo perjungti standartinę GPS biblioteką į „neoGPS“ir tada naudoti „AltSoftSerial“, o ne „Software Serial“. Šis derinys pasiteisino, tačiau „AltSoftSerial“gali veikti tik su konkrečiais kaiščiais, kurių nebuvo mūsų dizaine. Tai paskatino mus naudotis „Mega“. „Arduino Megas“turi kelis aparatinės įrangos nuoseklius prievadus, o tai reiškė, kad galėjome apeiti šį bibliotekos konfliktą, kai visai nereikėjo atidaryti programinės įrangos nuosekliųjų prievadų.

Tačiau pradėję naudoti „Mega“greitai supratome, kad kaiščių konfigūracija skiriasi. „Uno“kaiščiai su pertraukomis „Mega“yra skirtingi. Panašiai SDA ir SCL kaiščiai buvo skirtingose vietose. Ištyrę kiekvieno tipo „Arduino“kaiščių diagramas ir atnaujinę į registrą įvestus registrus, galėjome paleisti skrydžio sąrankos kodą tik minimaliai prijungę ir nekeisdami programinės įrangos.

Pradėjome susidurti su ESC kalibravimo kodu. Mes tai trumpai palietėme anksčiau, tačiau iš esmės kode naudojami kaiščių registrai, skirti reguliuoti kaiščius, naudojamus valdyti ESC. Tai apsunkina kodo skaitymą nei naudojant standartinę pinMode () funkciją; tačiau dėl to kodas veikia greičiau ir vienu metu aktyvuojami kaiščiai. Tai svarbu, nes skrydžio kodas veikia kruopščiai nustatytu ciklu. Dėl „Arduinos“kaiščių skirtumų nusprendėme „Mega“naudoti A prievado registrą. Tačiau mūsų bandymų metu ne visi kaiščiai davė mums tą pačią išėjimo įtampą, kai liepė veikti aukštai. Kai kurių kaiščių galia buvo apie 4,90 V, o kitų - arčiau 4,95 V. Matyt, mūsų turimi ESC yra šiek tiek smulkmeniški, todėl jie tinkamai veiktų tik tada, kai naudosime aukštesnės įtampos kaiščius. Tai privertė mus pakeisti įrašytus baitus į registrą A, kad kalbėtume su teisingais kaiščiais. Daugiau informacijos apie tai rasite ESC kalibravimo skyriuje.

Tai yra tiek, kiek pasiekėme šioje projekto dalyje. Kai nuėjome išbandyti šio modifikuoto ESC kalibravimo kodo, kažkas sutriko ir praradome ryšį su „Arduino“. Mes buvome labai sutrikę dėl to, nes nepakeitėme jokių laidų. Tai privertė mus atsitraukti ir suprasti, kad turėjome tik porą dienų, kad gautume skraidantį droną po kelių savaičių bandymų suderinti nesuderinamus kūrinius. Štai kodėl mes atsitraukėme ir sukūrėme paprastesnį projektą su „Uno“. Tačiau mes vis dar manome, kad mūsų požiūris yra artimas darbui su „Mega“, turint šiek tiek daugiau laiko.

Mūsų tikslas yra, kad šis kliūčių paaiškinimas, su kuriuo susidūrėme, būtų naudingas jums, jei dirbate keisdami „Brokking“kodą. Mes taip pat niekada neturėjome galimybės pabandyti koduoti jokių autonominių valdymo funkcijų, pagrįstų GPS. Tai jums reikės išsiaiškinti sukūrus veikiantį bepilotį orlaivį su „Mega“. Tačiau iš kai kurių preliminarių „Google“tyrimų atrodo, kad Kalmano filtro įdiegimas gali būti pats stabiliausias ir tiksliausias būdas nustatyti skrydžio vietą. Siūlome šiek tiek ištirti, kaip šis algoritmas optimizuoja būsenos įvertinimus. Be to, sėkmės ir praneškite mums, jei pasieksite daugiau nei mums pavyko!

Rekomenduojamas: