Sisukord:

Arduino droon GPS -iga: 16 sammu
Arduino droon GPS -iga: 16 sammu

Video: Arduino droon GPS -iga: 16 sammu

Video: Arduino droon GPS -iga: 16 sammu
Video: ARDUINO GPS TRACKER WITH GOOGLE MAPS 2024, Juuli
Anonim
Arduino droon GPS -iga
Arduino droon GPS -iga

Asusime ehitama Arduino juhitud ja stabiliseeritud GPS-toega esimese inimese vaate (FPV) nelikopteri drooni koos koju naasmise, koordineerimise ja GPS-i hoidmise funktsioonidega. Eeldasime naiivselt, et olemasolevate Arduino programmide ja ilma GPS -iga nelikopteri juhtmete ühendamine GPS -ülekandesüsteemi omadega oleks suhteliselt lihtne ja saaksime kiiresti liikuda keerukamate programmeerimisülesannete juurde. Nende kahe projekti ühendamiseks tuli aga üllatavalt palju muuta ja seega tegime lõpuks GPS-toega FPV-nelikopteri ilma lisafunktsioonita.

Oleme lisanud juhised selle kohta, kuidas oma toodet kopeerida, kui olete rahul piiratuma nelikopteriga.

Oleme lisanud ka kõik sammud, mille astusime autonoomsema kvadropteri juurde. Kui tunnete end mugavalt Arduinosse süvenedes või teil on juba palju Arduino kogemusi ja soovite meie peatuspunkti võtta enda uurimiseks hüppepunktiks, siis see juhend on ka teie jaoks.

See on suurepärane projekt, et õppida midagi Arduino ehitamise ja kodeerimise kohta, olenemata sellest, kui palju kogemusi teil on. Samuti kõnnite loodetavasti drooniga minema.

Seadistus on järgmine:

Materjalide loendis on mõlema eesmärgi jaoks vajalikud tärnita osad.

Ühe tärniga osi on vaja ainult autonoomsema nelikopteri lõpetamata projekti jaoks.

Kahe tärniga osad on vajalikud ainult piiratumal nelikopteril.

Mõlema projekti ühistel etappidel pole pealkirja järel markerit

Ainult piiratumal mitteautonoomsel nelikopteril nõutavate sammude pealkirja järel on „(Uno)”.

Ainult poolelioleva autonoomse nelikopteri jaoks vajalike sammude pealkirja järel on tähis „(Mega)”.

Uno-põhise nelinurga ehitamiseks järgige samme järjekorras, jättes kõik pealkirja järel olevad sammud vahele ("Mega").

Megapõhise quadiga töötamiseks järgige juhiseid järjekorras, jättes kõik pealkirja järel olevad sammud vahele ("Uno").

Samm: koguge materjalid

Komponendid:

1) Üks nelikopteri raam (täpne raam pole tõenäoliselt oluline) (15 dollarit)

2) Neli 2830, 900 kV harjadeta mootorit (või samalaadset) ja neli lisatarvikute komplekti (4x $ 6 + 4x $ 4 = kokku $ 40)

3) Neli 20A UBEC ESC -d (4x 10 dollarit = kokku 40 dollarit)

4) Üks toitejaotusplaat (XT-60 ühendusega) (20 dollarit)

5) Üks 3s, 3000-5000mAh LiPo aku koos XT-60 ühendusega (3000mAh vastab umbes 20-minutilisele lennuajale) ($ 25)

6) Palju propellereid (need purunevad palju) (10 dollarit)

7) Üks Arduino Mega 2560* (40 dollarit)

8) Üks Arduino Uno R3 (20 dollarit)

9) Teine Arduino Uno R3 ** (20 dollarit)

10) Üks Arduino Ultimate GPS -kilp (te ei vaja kilpi, kuid erineva GPS -i kasutamine nõuab erinevat juhtmestikku) (45 dollarit)

11) Kaks HC-12 traadita transiiverit (2x $ 5 = $ 10)

12) Üks MPU-6050, 6DOF (vabadusaste) güroskoop/kiirendusmõõtur (5 dollarit)

13) Üks Turnigy 9x 2,4 GHz, 9 kanaliga saatja/vastuvõtja paar (70 dollarit)

14) Arduino naissoost (virnastatavad) päised (20 dollarit)

15) LiPo aku tasakaalu laadija (ja 12V alalisvooluadapter, ei kuulu komplekti) (20 dollarit)

17) USB A - B - mees - adapteri juhe (5 dollarit)

17) Kleeplint

18) Kahanda torusid

Varustus:

1) jootekolb

2) jootma

3) Plastist epoksü

4) kergem

5) Traadi eemaldaja

6) Alleni mutrivõtmete komplekt

Valikulised komponendid reaalajas FPV (esimese isiku vaatamine) videoedastuseks:

1) Väike FPV-kaamera (see viitab üsna odavale ja halva kvaliteediga kaamerale, mille kasutasime, võite asendada parema) (20 dollarit)

2) 5,6 GHz video saatja/vastuvõtja paar (kasutatud 832 mudelit) (30 dollarit)

3) 500 mAh, 3 s (11,1 V) LiPo aku (7 dollarit) (kasutasime koos banaanipistikuga, kuid soovitame tagantjärele kasutada lingitud akut, kuna sellel on pistik, mis ühildub TS832 saatjaga ja seega mitte.) t nõuavad jootmist).

4) 2 1000mAh 2s (7,4V) LiPo aku või sarnane (5 dollarit). MAh arv ei ole kriitiline, kui see on üle 1000 mAh. Sama väide, nagu eespool, kehtib ka ühe patareipistiku kohta. Teist kasutatakse monitori toiteks, nii et peate jootma ükskõik mida. Tõenäoliselt on kõige parem hankida see XT-60 pistikuga (seda me tegime). Selle tüübi link on siin: 1000mAh 2s (7,4V) LiPo koos XT-60 pistikuga

5) LCD -ekraan (valikuline) (15 dollarit). Otse sülearvutis vaatamiseks võite kasutada ka AV-USB-adapterit ja DVD-kopeerimistarkvara. See annab võimaluse ka videoid ja fotosid salvestada, mitte ainult neid reaalajas vaadata.

6) Kui olete ostnud patareid, millel on ühendatud pistikutest erinevad pistikud, võite vajada sobivaid adaptereid. Sellest hoolimata hankige monitori toitepatareile vastav adapter. Siit leiate XT-60 adapterid

* = ainult täpsema projekti jaoks

** = ainult põhiprojekti jaoks

Kulud:

Kui alustada nullist (kuid jootekolbiga jne …), pole FPV -süsteemi: ~ 370 dollarit

Kui teil on juba RC saatja/vastuvõtja, LiPo akulaadija ja LiPo aku: ~ 260 dollarit

FPV süsteemi maksumus: 80 dollarit

Samm: raami kokkupanek

Pange raam kokku
Pange raam kokku
Pange raam kokku
Pange raam kokku
Pange raam kokku
Pange raam kokku

See samm on üsna lihtne, eriti kui kasutate sama eelraami, mida kasutasime. Kasutage lihtsalt kaasasolevaid kruvisid ja pange raam kokku, nagu näidatud, kasutades oma raami jaoks sobivat kuuskantvõtit või kruvikeerajat. Veenduge, et sama värvi käed oleksid üksteise kõrval (nagu sellel pildil), nii et droonil oleks selge esi- ja tagakülg. Lisaks veenduge, et põhjaplaadi pikk osa jääks vastassuunaliste õlgade vahele. See muutub hiljem oluliseks.

Samm: paigaldage mootorid ja ühendage esc

Mount Motors ja Connect Escs
Mount Motors ja Connect Escs
Mount Motors ja Connect Escs
Mount Motors ja Connect Escs
Mount Motors ja Connect Escs
Mount Motors ja Connect Escs
Mount Motors ja Connect Escs
Mount Motors ja Connect Escs

Nüüd, kui raam on kokku pandud, võtke välja neli mootorit ja neli paigaldustarvikut. Mootorite ja kinnituste kruvimiseks võite kasutada kinnituskomplektides olevaid kruvisid või nelikopteri raamist järele jäänud kruvisid. Kui ostate kinnitused, millega oleme lingitud, saate kaks ülaltoodud lisakomponenti. Meil on ilma nendeta osadeta olnud hea mootori jõudlus, seega jätsime need kaalulangetamiseks välja.

Kui mootorid on oma kohale kruvitud, paigaldage neljakopteri raami ülemise plaadi kohale epoksüvõimsus (PDB). Veenduge, et asetate selle nii, et aku pistik osutaks eri värvi õlgade vahele (paralleelselt põhjaplaadi ühe pika osaga), nagu ülaltoodud pildil.

Teil peaks olema ka neli sisekeermega propellerikoonust. Pange need praegu kõrvale.

Võtke nüüd oma ESC -d välja. Ühel küljel tuleb sealt välja kaks juhtmest, üks punane ja teine must. Sisestage iga nelja ESC puhul punane juhe esialgse eelarveprojekti positiivsesse pistikusse ja must negatiivsesse. Pange tähele, et kui kasutate muud esialgset eelarveprojekti, võib see samm nõuda jootmist. Nüüd ühendage igast mootorist väljuv kolm juhtmest. Siinkohal pole vahet, millise ESC juhtme millise mootoritraadiga ühendate (seni, kuni ühendate kõik ühe ESC juhtmed sama mootoriga!) Parandate tagantpolaarsust hiljem. Juhtmete ümberpööramine ei ole ohtlik; selle tagajärjel pöörleb mootor ainult tagurpidi.

Samm: valmistage ette Arduino ja Shield

Valmistage ette Arduino ja Shield
Valmistage ette Arduino ja Shield
Valmistage ette Arduino ja Shield
Valmistage ette Arduino ja Shield

Märkus enne alustamist

Esiteks võite valida kõigi juhtmete otsejootmise. Siiski leidsime, et tihvtide päiste kasutamine on hindamatu, kuna need pakuvad tõrkeotsinguks ja projekti kohandamiseks palju paindlikkust. Järgnevalt kirjeldame, mida me tegime (ja soovitame teistel seda teha).

Valmistage ette Arduino ja kilp

Võtke välja oma Arduino Mega (või Uno, kui teete mitteautonoomset quadit), GPS-kilp ja virnastatavad päised. Jootke virnastatavate päiste isane ots paika GPS-kilbil, tihvtide ridades paralleelselt eeljoodetud tihvtidega, nagu on näidatud ülaltoodud pildil. Samuti jootke virnastatavatesse päistesse tihvtide reas sildiga 3V, CD,… RX. Kasutage traatlõikurit, et põhjast välja ulatuvate tihvtide liigne pikkus ära lõigata. Asetage painutatud ülaosaga isased päised kõikidesse nendesse virnastatavatesse päistesse. Nende külge joote juhtmed ülejäänud komponentide jaoks.

Kinnitage GPS -kilp ülaosale, veendudes, et tihvtid vastavad Arduino (Mega või Uno) tihvtidele. Pange tähele, et kui kasutate Mega, paljastub palju Arduinot pärast kaitsekatte paika panemist.

Asetage Arduino põhjale elektrilint, mis katab kõik avatud tihvtjoodised, et vältida lühist, kuna Arduino toetub esialgsele eelarveprojektile.

Samm: ühendage komponendid kokku ja asetage aku (Uno)

Ühendage komponendid kokku ja asetage aku (Uno)
Ühendage komponendid kokku ja asetage aku (Uno)
Ühendage komponendid kokku ja asetage aku (Uno)
Ühendage komponendid kokku ja asetage aku (Uno)
Ühendage komponendid kokku ja asetage aku (Uno)
Ühendage komponendid kokku ja asetage aku (Uno)
Ühendage komponendid kokku ja asetage aku (Uno)
Ühendage komponendid kokku ja asetage aku (Uno)

Ülaltoodud skeem on peaaegu identne Joop Brookingi skeemiga, kui lähtusime oma disainist suuresti tema plaanist.

*Pange tähele, et see skeem eeldab õigesti paigaldatud GPS -kaitsekilpi ja seega ei kuvata GPS -i selles skeemis.

Ülaltoodud skeem koostati tarkvara Fritzing abil, mida soovitatakse eriti Arduinoga seotud skeemide jaoks. Kasutasime enamasti üldisi osi, mida saab paindlikult redigeerida, kuna meie osad ei olnud tavaliselt Fritzingi kaasatud teegis.

-Veenduge, et GPS -kilbi lüliti on asendis "Otsekirjutus".

-Nüüd ühendage kõik komponendid vastavalt ülaltoodud skeemile (välja arvatud aku!) (Oluline märkus GPS -andmesidejuhtmete kohta allpool).

-Pange tähele, et olete ESC -d mootorite ja esialgse eelarveprojektiga juba ühendanud, nii et see skeemi osa on tehtud.

-Lisaks pange tähele, et GPS -andmed (kollased juhtmed) väljuvad Arduino tihvtidest 0 ja 1 (mitte GPS -i eraldi Tx- ja Rx -tihvtidest). Selle põhjuseks on asjaolu, et konfigureeritud "Otse kirjutamiseks" (vt allpool) väljastab GPS otse uno riistvara jadapordidesse (tihvtid 0 ja 1). See on kõige selgemalt näidatud kogu juhtmestiku ülaltoodud teisel pildil.

-RC -vastuvõtja ühendamisel vaadake ülaltoodud pilti. Jälgige, et andmesidejuhtmed läheksid ülemisele reale, samas kui Vin ja Gnd oleksid vastavalt teisel ja kolmandal real (ning nööpnõelte teisest kuni kõige kaugemal).

-HC-12 transiiveri, RC-vastuvõtja ja 5Vouti juhtmestiku tegemiseks esialgsest eelarveprojektist Arduino Vin-i kasutasime virnastatavaid päiseid, samas kui güroskoopi jaoks jootsime juhtmed otse plaadile ja kasutasime termokahanevaid torusid ümber jootma. Võite valida mõne komponendi puhul, kuid soovitatav on jootmine otse güroskoopile, kuna see säästab ruumi, mis muudab väikese osa paigaldamise lihtsamaks. Päiste kasutamine on ees pisut rohkem tööd, kuid pakub rohkem paindlikkust. Juhtmete otsejootmine on pikaajalisem turvalisem ühendus, kuid tähendab, et selle komponendi kasutamine teises projektis on raskem. Pange tähele, et kui olete GPS -kilbil päiseid kasutanud, on teil endiselt korralik paindlikkus, olenemata sellest, mida teete. Oluline on veenduda, et GPS -i juhtmeid 0 ja 1 tihvtidel on lihtne eemaldada ja asendada.

Projekti lõpus ei suutnud me välja töötada head meetodit kõigi meie komponentide raamile kinnitamiseks. Meie klassi ajasurve tõttu keerlesid meie lahendused tavaliselt kahepoolse vahtlindi, kleeplindi, elektrilindi ja tõmblukkude ümber. Soovitame teil kulutada rohkem aega stabiilsete kinnituskonstruktsioonide projekteerimisele, kui plaanite seda pikemaajaliseks projektiks. Sellegipoolest, kui soovite lihtsalt kiire prototüübi teha, siis järgige meie protsessi. Veenduge siiski, et güroskoop oleks kindlalt paigaldatud. See on ainus viis, kuidas Arduino teab, mida quadcopter teeb, nii et kui see lennu ajal liigub, on teil probleeme.

Kui kõik on ühendatud ja paigas, võtke LiPo aku ja libistage see raami ülemise ja alumise plaadi vahele. Veenduge, et selle pistik on suunatud samasse suunda kui esialgse eelarveprojekti pistik ja et neid saab tegelikult ühendada. Aku paigal hoidmiseks kasutasime kleeplinti (takjapael töötab ka, kuid on tüütum kui kleeplint). Kleeplint töötab hästi, kuna aku saab hõlpsalt vahetada või laadimiseks eemaldada. Siiski peate olema kindel, et te teete aku TAGASTI alla, kuna aku liigub lennu ajal ringi, võib see drooni tasakaalu tõsiselt häirida. ÄRGE ühendage akut veel esialgse eelarveprojektiga.

6. samm: ühendage komponendid kokku ja asetage aku (mega)

Ühendage komponendid kokku ja asetage aku (mega)
Ühendage komponendid kokku ja asetage aku (mega)
Ühendage komponendid kokku ja asetage aku (mega)
Ühendage komponendid kokku ja asetage aku (mega)
Ühendage komponendid kokku ja asetage aku (mega)
Ühendage komponendid kokku ja asetage aku (mega)

Ülaltoodud skeem koostati tarkvara Fritzing abil, mida soovitatakse eriti arduinoga seotud skeemide jaoks. Kasutasime enamasti üldisi osi, kuna meie osi üldiselt Fritzingi kaasatud teegis ei olnud.

-Pange tähele, et see skeem eeldab õigesti paigaldatud GPS -kaitset ja seega ei kuvata GPS -i selles skeemis.

-Lülitage Mega 2560 lüliti asendisse "Soft Serial".

-Nüüd ühendage kõik komponendid vastavalt ülaltoodud skeemile (välja arvatud aku!)

-Pange tähele, et olete ESC -d mootorite ja esialgse eelarveprojektiga juba ühendanud, nii et see skeemi osa on tehtud.

-Kambrikaablid pin 8 kuni Rx ja pin 7 kuni Tx on olemas, sest (erinevalt Unost, mille jaoks see kilp valmistati) puudub megal universaalne asünkroonne vastuvõtja-saatja (UART) tihvtidel 7 ja 8 ning seega peame kasutama riistvara jadatihvte. On mitmeid põhjuseid, miks vajame riistvara jadatihvte, mida arutatakse hiljem.

-RC -vastuvõtja ühendamisel vaadake ülaltoodud pilti. Jälgige, et andmesidejuhtmed läheksid ülemisele reale, samas kui Vin ja Gnd oleksid vastavalt teisel ja kolmandal real (ning nööpnõelte teisest kuni kõige kaugemal).

-HC-12 transiiveri, RC-vastuvõtja ja 5Vout juhtmete tegemiseks Arduino esialgsest projektist Vin-i kasutasime virnastatavaid päiseid, samas kui güroskoopi jaoks jootsime juhtmed otse ja kasutasime joote ümber termokahanevaid torusid. Võite valida, kas teha ükskõik millise komponendi puhul. Päiste kasutamine on pisut rohkem tööd, kuid pakub rohkem paindlikkust. Juhtmete otsejootmine on pikaajalisem turvalisem ühendus, kuid tähendab, et selle komponendi kasutamine teises projektis on raskem. Pange tähele, et kui olete GPS -kilbil päiseid kasutanud, on teil endiselt korralik paindlikkus, olenemata sellest, mida teete.

Projekti lõpus ei suutnud me välja töötada head meetodit kõigi meie komponentide raamile kinnitamiseks. Meie klassi ajasurve tõttu keerlesid meie lahendused tavaliselt kahepoolse vahtlindi, kleeplindi, elektrilindi ja tõmblukkude ümber. Soovitame teil kulutada rohkem aega stabiilsete kinnituskonstruktsioonide projekteerimisele, kui plaanite seda pikemaajaliseks projektiks. Sellegipoolest, kui soovite lihtsalt kiire prototüübi teha, järgige julgelt meie protsessi. Veenduge siiski, et güroskoop oleks kindlalt paigaldatud. See on ainus viis, kuidas Arduino teab, mida quadcopter teeb, nii et kui see lennu ajal liigub, on teil probleeme.

Kui kõik on ühendatud ja paigas, võtke LiPo aku ja libistage see raami ülemise ja alumise plaadi vahele. Veenduge, et selle pistik on suunatud samasse suunda kui esialgse eelarveprojekti pistik ja et neid saab tegelikult ühendada. Aku paigal hoidmiseks kasutasime kleeplinti (takjapael töötab ka, kuid on tüütum kui kleeplint). Kleeplint töötab hästi, kuna aku saab kergesti vahetada või laadimiseks eemaldada. Siiski peate olema kindel, et te teete aku TAGASTI alla, kuna aku liigub lennu ajal ringi, võib see drooni tasakaalu tõsiselt häirida. ÄRGE ühendage akut veel esialgse eelarveprojektiga.

7. samm: siduge vastuvõtja

Siduda vastuvõtja
Siduda vastuvõtja
Siduda vastuvõtja
Siduda vastuvõtja

Võtke RC -vastuvõtja ja ühendage see ajutiselt 5 V toiteallikaga (kas lülitades Arduino sisse USB- või 9 V -toitega või eraldi toiteallikaga. Ärge ühendage LiPo -d veel Arduinoga). Võtke RC -vastuvõtjaga kaasas olev sidumistihvt ja asetage see vastuvõtja BIND -tihvtidele. Teise võimalusena lühendage veeru BIND ülemised ja alumised tihvtid, nagu on näidatud ülaltoodud fotol. Vastuvõtjal peaks kiiresti vilkuma punane tuli. Võtke nüüd kontroller ja vajutage tagaküljel olevat nuppu, kui see on välja lülitatud, nagu ülal näidatud. Kui vajutate nuppu, lülitage kontroller sisse. Nüüd peaks vastuvõtja vilkuv tuli põlema. Vastuvõtja on seotud. Eemaldage sidumiskaabel. Kui kasutasite muud toiteallikat, ühendage vastuvõtja uuesti Arduino 5V -ga.

8. samm: (valikuline) ühendage juhtmed kokku ja paigaldage FPV -kaamerasüsteem

(Valikuline) Ühendage juhtmed kokku ja paigaldage FPV kaamerasüsteem
(Valikuline) Ühendage juhtmed kokku ja paigaldage FPV kaamerasüsteem
(Valikuline) Ühendage juhtmed kokku ja paigaldage FPV kaamerasüsteem
(Valikuline) Ühendage juhtmed kokku ja paigaldage FPV kaamerasüsteem

Esiteks jootke XT-60 adapter monitori toite- ja maandusjuhtmetega kokku. Need võivad kuvariti erineda, kuid toide on peaaegu alati punane, maapind peaaegu alati must. Nüüd sisestage joodetud juhtmetega adapter XT-60 pistikuga oma 1000mAh LiPo-sse. Monitor peaks sisse lülituma (tavaliselt) sinise taustaga. See on kõige raskem samm!

Nüüd keerake vastuvõtja ja saatja antennid kinni.

Ühendage oma väike 500mAh Lipo saatjaga. Parempoolne tihvt (otse antenni all) on aku maandatud (V_), järgmine vasakpoolne tihvt on V+. Nad tulevad kolme juhtme juurde, mis lähevad kaamera juurde. Teie kaameraga peaks kaasas olema kolm ühes pistik, mis sobib saatjasse. Veenduge, et kollane andmesidekaabel oleks keskel. Kui kasutasite lingitud patareisid selleks ettenähtud pistikutega, ei tohiks see samm nõuda jootmist.

Lõpuks ühendage oma teine 1000mAh aku vastuvõtjaga kaasasoleva alalisvoolu juhtmega ja ühendage see omakorda vastuvõtja alalisvoolu pordiga. Lõpuks ühendage vastuvõtjaga kaasas olnud AVini kaabli must ots oma vastuvõtja AVini porti ja teine (kollane, emane) ots monitori AVini kaabli kollase isasesse otsa.

Siinkohal peaksite nägema monitori kaameravaadet. Kui te ei saa, veenduge, et vastuvõtja ja saatja on mõlemad sisse lülitatud (peaksite nägema numbreid nende väikestel ekraanidel) ja et nad on samal kanalil (kasutasime mõlema jaoks kanalit 11 ja see õnnestus hästi). Lisaks peate võib -olla muutma monitori kanalit.

Paigaldage komponendid raamile.

Kui seadistamine on toiminud, eemaldage patareid vooluvõrgust, kuni olete lendamiseks valmis.

9. samm: seadistage GPS -i andmete vastuvõtt

Seadistage GPS -andmete vastuvõtt
Seadistage GPS -andmete vastuvõtt
Seadistage GPS -andmete vastuvõtt
Seadistage GPS -andmete vastuvõtt

Ühendage oma teine Arduino oma teise HC-12 transiiveriga, nagu on näidatud ülaltoodud skeemil, pidades meeles, et seadistust toidetakse nii, nagu kuvatakse, kui see on arvutiga ühendatud. Laadige alla kaasasolev transiiveri kood, avage jadamonitor 9600 baudini.

Kui kasutate lihtsamat seadistust, peaksite alustama GPS-lausete vastuvõtmist, kui teie GPS-kilp on toitega ja korralikult ühendatud teise HC-12 transiiveriga (ja kui kilbil olev lüliti on asendis "Otsekirjutus").

Mega puhul veenduge, et lüliti on asendis "Soft Serial".

10. toiming: seadistuskoodi sooritamine (tühistamine)

See kood on identne Joop Brokkingi kasutamisega oma Arduino nelikopteri õpetuses ja ta väärib selle kirjutamise eest kogu tunnustust.

Kui aku on lahti ühendatud, kasutage USB -kaablit arvuti ühendamiseks Arduinoga ja laadige üles lisatud seadistuskood. Lülitage RC -saatja sisse. Avage seeriamonitor 57600 baudini ja järgige juhiseid.

Levinud vead:

Kui koodi üleslaadimine ebaõnnestub, veenduge, et tihvtid 0 ja 1 on UNO/GPS -i kilbil lahti ühendatud. See on sama riistvaraport, mida seade kasutab arvutiga suhtlemiseks, seega peab see olema tasuta.

Kui kood jätab korraga mitu sammu vahele, kontrollige, kas teie GPS -lüliti on asendis „Otsekirjutus”.

Kui vastuvõtjat ei tuvastata, veenduge, et vastuvõtja põleb, kui saatja on sisse lülitatud, püsiv (kuid hämar) punane tuli. Kui jah, kontrollige juhtmestikku.

Kui güroskoopi ei tuvastata, võib põhjuseks olla see, et güroskoop on kahjustatud või kui teil on teist tüüpi güroskoop, mitte see, millele kood on mõeldud kirjutamiseks.

11. samm: seadistuskoodi (mega) sooritamine

See kood on identne Joop Brokkingi kasutamisega oma Arduino nelikopteri õpetuses ja ta väärib selle kirjutamise eest kogu tunnustust. Me lihtsalt kohandasime Mega juhtmestikku nii, et vastuvõtja sisendid vastasid õigetele tihvtide vahetamise katkestustele.

Kui aku on lahti ühendatud, kasutage USB -kaablit arvuti ühendamiseks Arduinoga ja laadige üles lisatud seadistuskood. Avage seeriamonitor 57600 baudini ja järgige juhiseid.

12. samm: ESC -de kalibreerimine (Uno)

Taaskord on see kood identne Joop Brokkingi koodiga. Kõik muudatused tehti GPS -i ja Arduino integreerimise eesmärgil ning need leiate hiljem täpsema kvadropteri ehituse kirjeldusest.

Laadige üles lisatud ESC kalibreerimiskood. Kirjutage jadamonitorile täht „r” ja vajutage tagasipöördumist. Peaksite nägema reaalajas RC -kontrolleri väärtusi. Veenduge, et need varieeruvad gaasi, veeremise, kaldenurga ja pöörde äärmuslikes piirides vahemikus 1000–2000. Seejärel kirjutage a ja vajutage tagasipöördumist. Laske güroskoopi kalibreerida ja seejärel kontrollige, kas güroskoop registreerib nelinurga liikumise. Tõstke nüüd arduino arvutist välja, lükake gaasipedaal kontrolleril lõpuni üles ja ühendage aku. ESC -d peaksid tegema erinevaid piiksutonne (kuid sõltuvalt ESC -st ja selle püsivarast võib see olla erinev). Lükake gaasipedaal lõpuni alla. ESC -d peaksid andma madalamat piiksu ja seejärel vaikima. Ühendage aku lahti.

Valikuliselt võite sel hetkel kasutada mootorikinnituse tarvikutega kaasas olnud koonuseid, et propellereid tihedalt kinni keerata. Seejärel sisestage jadamonitorile numbrid 1 - 4, et mootorid 1 - 4 vastavalt madalaima võimsusega sisse lülitada. Programm registreerib rekvisiitide tasakaalustamatusest tingitud värisemise. Võite proovida seda parandada, lisades ühele või teisele rekvisiitide küljele väikese koguse kleeplinti. Leidsime, et saame ilma selle sammuta suurepärase lennu, kuid võib -olla pisut vähem tõhusalt ja valjemini, kui oleksime rekvisiite tasakaalustanud.

13. samm: ESC -de kalibreerimine (mega)

See kood on väga sarnane Brokkingi koodiga, kuid kohandasime selle (ja vastava juhtmestiku) Megaga töötamiseks.

Laadige üles lisatud ESC kalibreerimiskood. Kirjutage jadamonitorile täht „r” ja vajutage tagasipöördumist. Peaksite nägema reaalajas RC -kontrolleri väärtusi. Veenduge, et need varieeruvad gaasi, veeremise, kaldenurga ja pöörde äärmuslikes piirides vahemikus 1000–2000.

Seejärel kirjutage a ja vajutage tagasipöördumist. Laske güroskoopi kalibreerida ja seejärel kontrollige, kas güroskoop registreerib nelinurga liikumise.

Tõstke nüüd arduino arvutist välja, lükake gaasipedaal kontrolleril lõpuni üles ja ühendage aku. ESC -d peaksid andma kolm madalat piiksu, millele järgneb kõrge piiks (kuid see võib olenevalt ESC -st ja selle püsivarast erineda). Lükake gaasipedaal lõpuni alla. Ühendage aku lahti.

Selles koodis tehtud muudatused pidid lülituma PORTD -i kasutamisest ESC -tihvtide asemel PORTA -le ja muutma nendesse portidesse kirjutatud baite, et aktiveerida õiged tihvtid, nagu on näidatud juhtmestiku skeemil. Selle muudatuse põhjuseks on asjaolu, et PORTD -registri tihvtid ei asu Mega samas kohas kui Unos. Me ei saanud seda koodi täielikult testida, kuna töötasime vana brändivälise Megaga, mis oli meie kooli poes. See tähendas, et mingil põhjusel ei suutnud kõik PORTA registri tihvtid ESC -sid korralikult aktiveerida. Samuti oli meil probleeme mõne testkoodi operaatori (| =) kasutamisega. Me ei tea, miks see põhjustas probleeme baitide kirjutamisel ESC pin pingete seadmiseks, seega muutsime Brookingi koodi nii vähe kui võimalik. Arvame, et see kood on funktsionaalsusele väga lähedal, kuid teie läbisõit võib erineda.

14. samm: saate õhku !! (Uno)

Ja jällegi, see kolmas geeniuskood on Joop Brokkingu töö. Kõiki neid kolme kooditükki muudetakse ainult siis, kui oleme püüdnud GPS -andmeid Arduinoga integreerida.

Kui teie propellerid on kindlalt raamile kinnitatud ja kõik komponendid rihmaga kinnitatud, teibitud või muul viisil kinnitatud, laadige oma Arduinole lennujuhi kood ja seejärel ühendage Arduino arvutist lahti.

Võtke oma kvadopter välja, ühendage aku ja lülitage saatja sisse. Soovi korral võtke kaasa sülearvuti, mis on ühendatud teie GPS -i vastuvõtuseadistusega, samuti video vastuvõtmise seadistus ja monitor. Laadige transiiveri kood oma maapealsele Arduinole, avage seeriamonitor 9600 baudini ja vaadake, kuidas GPS -andmed sisse tulevad.

Nüüd olete valmis lendama. Lükake gaasipedaal alla ja pöörake vasakule, et nelikopterit relvastada, seejärel tõstke õrnalt gaasihoob üles. Alustage lendamisega madalalt maapinnale ja üle pehmete pindade nagu rohi, kuni tunnete end mugavalt.

Vaadake sisseehitatud videot sellest, kuidas me esimest korda põnevusega drooni lendasime, kui suutsime drooni ja GPS -i samaaegselt tööle panna.

15. samm: saate õhku !! (Mega)

Mega ESC kalibreerimiskoodiga katkestamise tõttu ei õnnestunud meil selle plaadi jaoks kunagi lennujuhi koodi luua. Kui olete selle punkti jõudnud, siis kujutan ette, et olete vähemalt ESC kalibreerimiskoodi näpistanud, et see Mega jaoks toimiks. Seetõttu peate tõenäoliselt tegema lennujuhi koodis sarnaseid muudatusi, nagu tegite viimases etapis. Kui meie ESC kalibreerimiskood Mega jaoks töötab võluväel ilma muid muudatusi tegemata, peate aktsiakoodiga selle sammu toimimiseks tegema vaid mõned asjad. Kõigepealt peate läbima ja asendama kõik PORTD -i eksemplarid PORTA -ga. Samuti ärge unustage muuta DDRD -d DDRA -ks. Seejärel peate muutma kõik PORTA registrisse kirjutatavad baidid, et need aktiveeriksid õiged nööpnõelad. Selleks kasutage baiti B11000011, et seada tihvtid kõrgele ja B00111100, et seada tihvtid madalale. Palju õnne ja palun andke meile teada, kui olete Mega abil edukalt lennanud!

16. samm: kuidas megastiga jõudsime sinna, kus me praegu oleme

See projekt oli meile kui Arduino ja elektroonika hobi algajatele tohutu õppimiskogemus. Seetõttu lisame siiski saaga kõigest, mis meil GPS -i lubamisel Joop Brokkingi koodi lubades tekkis. Kuna Brokkingi kood on nii põhjalik ja palju keerulisem kui kõik muu, mida me kirjutasime, otsustasime seda võimalikult vähe muuta. Püüdsime panna GPS -kilbi saatma andmeid Arduinole ja seejärel laskma Arduino -l saata see teave meile HC12 transiiveri kaudu ilma lennukoodi või juhtmestikku muutmata. Olles vaadanud meie Arduino Uno skeeme ja juhtmeid, et välja selgitada, millised tihvtid olid saadaval, muutsime GPS -transiiveri koodi, mida kasutasime olemasoleva kujunduse ümber töötamiseks. Seejärel katsetasime seda, et veenduda, kas kõik töötab. Sel hetkel tundusid asjad paljulubavad.

Järgmine samm oli integreerida kood, mille olime äsja muutnud ja Brokkingi lennujuhiga testinud. See ei olnud liiga raske, kuid sattusime kiiresti vea peale. Brokkingi lennujuht tugineb Arduino Wire ja EEPROM raamatukogudele, samal ajal kui meie GPS -kood kasutas nii tarkvara jadateeki kui ka Arduino GPS -i teeki. Kuna Wire Library viitab tarkvara jadateekile, sattusime vea juurde, mille korral koodi ei kompileerita, sest seal oli "mitu definitsiooni _vector 3_ jaoks", olenemata sellest, mida see tähendab. Pärast Google'i otsimist ja raamatukogudes uurimist saime lõpuks aru, et see raamatukogukonflikt tegi võimatuks nende kooditükkide koos kasutamise. Niisiis, otsisime alternatiive.

Arvasime välja, et ainus teekide kombinatsioon, mis meile viga ei visanud, oli tavalise GPS -teegi ümberlülitamine neoGPS -ile ja seejärel tarkvara Serial asemel AltSoftSerial kasutamine. See kombinatsioon töötas, kuid AltSoftSerial saab töötada ainult konkreetsete tihvtidega, mida meie disainis polnud saadaval. See viis meid Mega kasutamiseni. Arduino Megas on mitu riistvara jadaporti, mis tähendas, et me võiksime sellest raamatukogukonfliktist mööda minna, ilma et oleks vaja tarkvara jadaporte üldse avada.

Kui me aga Mega kasutama hakkasime, mõistsime kiiresti, et tihvtide konfiguratsioon on erinev. Katkestustega Uno tihvtid on Megal erinevad. Samamoodi olid SDA ja SCL tihvtid erinevates kohtades. Pärast igat tüüpi Arduino nööpnõelte diagrammide uurimist ja koodi kutsutud registrite värskendamist saime lennu seadistuskoodi käivitada vaid minimaalse uuesti ühendamise ja tarkvara muudatusteta.

ESC kalibreerimiskood on koht, kus hakkasime probleeme tekitama. Me puudutasime seda lühidalt enne, kuid põhimõtteliselt kasutab kood ESC -de juhtimiseks kasutatavate tihvtide reguleerimiseks tihvtiregistreid. See muudab koodi raskem lugeda kui tavalise funktsiooni pinMode () kasutamine; see aga kiirendab koodi töötamist ja aktiveerib tihvte samaaegselt. See on oluline, kuna lennukood töötab hoolikalt ajastatud ahelas. Arduinode nööpnõelte erinevuste tõttu otsustasime kasutada Mega pordiregistrit A. Kuid meie katsetamisel ei andnud kõik tihvtid meile sama väljundpinget, kui neil kästi kõrgel töötada. Mõne tihvti väljund oli umbes 4,90 V ja teised andsid meile lähemale 4,95 V. Ilmselt on meil olemasolevad ESC -d mõnevõrra peenikesed ja seega toimiksid nad korralikult ainult siis, kui kasutasime kõrgema pingega tihvte. See sundis meid muutma registreeritud baite registrisse A nii, et räägime õigete nööpnõeltega. Lisateavet selle kohta leiate jaotisest ESC kalibreerimine.

See on umbes nii palju, kui me projekti selles osas jõudsime. Kui me läksime seda muudetud ESC kalibreerimiskoodi testima, tekkis midagi lühist ja me kaotasime side meie Arduinoga. Olime sellest väga hämmingus, sest me polnud juhtmeid muutnud. See sundis meid tagasi astuma ja mõistma, et meil oli vaid paar päeva aega lendava drooni hankimiseks pärast nädalaid kestnud katset oma sobimatuid tükke kokku sobitada. Seetõttu tegime tagasilöögi ja lõime Unoga lihtsama projekti. Siiski arvame endiselt, et meie lähenemisviis on lähedal sellele, et töötada koos Megaga veidi rohkem aega.

Meie eesmärk on, et see selgitus tõketest, mida me leidsime, on teile abiks, kui töötate Brokkingi koodi muutmise kallal. Samuti ei saanud me kunagi võimalust proovida autonoomsete juhtimisfunktsioonide kodeerimist GPS -i põhjal. See on midagi, mida peate välja mõtlema pärast Megaga töötava drooni loomist. Mõne Google'i esialgse uuringu põhjal tundub siiski, et Kalmani filtri rakendamine võib olla kõige stabiilsem ja täpsem viis lennuasendi määramiseks. Soovitame teil veidi uurida, kuidas see algoritm olekuhinnanguid optimeerib. Peale selle palju õnne ja andke meile teada, kui jõuate kaugemale kui suutsime!

Soovitan: