Tartalomjegyzék:

Arduino drón GPS -sel: 16 lépés
Arduino drón GPS -sel: 16 lépés

Videó: Arduino drón GPS -sel: 16 lépés

Videó: Arduino drón GPS -sel: 16 lépés
Videó: ARDUINO GPS TRACKER WITH GOOGLE MAPS 2024, Július
Anonim
Arduino drón GPS -sel
Arduino drón GPS -sel

Elhatároztuk, hogy egy Arduino által vezérelt és stabilizált, GPS-képes első személyi nézet (FPV) négykópás drónt építünk haza visszatéréssel, koordinációval és GPS-tartással. Naivul feltételeztük, hogy a meglévő Arduino programok és a GPS nélküli quadcopter vezetékeinek összekapcsolása a GPS átviteli rendszerével viszonylag egyszerű lenne, és gyorsan áttérhetünk a bonyolultabb programozási feladatokra. Meglepő mennyiségű változtatásra volt azonban szükség ahhoz, hogy összekapcsoljuk ezt a két projektet, és így végül egy GPS-képes FPV quadcopter-t készítettünk, a hozzáadott funkciók nélkül.

Mellékeltünk utasításokat arra vonatkozóan, hogyan másolhatjuk termékünket, ha elégedett a korlátozottabb quadcopterrel.

Azt is felsoroltuk, hogy milyen lépéseket tettünk az autonómabb quadcopter felé vezető úton. Ha jól érzi magát az ásás mélyén az Arduino-ban, vagy már sok tapasztalata van az Arduino-val, és szeretné, ha megállási pontunkat ugráspontnak tekintené saját felfedezéséhez, akkor ez az Instructable is az Ön számára.

Ez egy nagyszerű projekt, hogy megtanuljon valamit az Arduino építéséről és kódolásáról, függetlenül attól, hogy mennyi tapasztalata van. Ezenkívül remélhetőleg elsétál egy drónnal.

A beállítás a következő:

Az anyagok listájában csillag nélküli részek szükségesek mindkét célhoz.

Az egy csillaggal ellátott alkatrészek csak egy autonómabb négykópopter befejezetlen projektjéhez szükségesek.

A két csillaggal ellátott alkatrészek csak a korlátozottabb quadcopterhez szükségesek.

Mindkét projekt közös lépései nem rendelkeznek jelölővel a cím után

A lépések csak a korlátozottabb, nem autonóm quadcopter számára szükségesek ("Uno") a cím után.

A folyamatban lévő autonóm quadcopterhez szükséges lépéseknek a cím után "(Mega)" van.

Az Uno-alapú quad építéséhez kövesse a lépéseket sorrendben, a cím után hagyja el a "(Mega)" betűvel végrehajtott lépéseket.

A Mega-alapú quaddal való munkavégzéshez kövesse a lépéseket sorrendben, a cím után az "(Uno)" billentyűvel.

Lépés: Gyűjtse össze az anyagokat

Összetevők:

1) Egy quadcopter keret (a pontos keret valószínűleg nem számít) (15 USD)

2) Négy 2830, 900 kV kefe nélküli motor (vagy hasonló) és négy rögzítő tartozék csomag (4x 6 USD + 4x 4 USD = összesen 40 USD)

3) Négy 20A UBEC ESC (4x10 USD = összesen 40 USD)

4) Egy tápegység (XT-60 csatlakozással) (20 USD)

5) Egy 3s, 3000-5000mAh LiPo akkumulátor XT-60 csatlakozással (3000mAh kb. 20 perces repülési időnek felel meg) (25 USD)

6) Sok propeller (ezek sokat törnek) ($ 10)

7) Egy Arduino Mega 2560* (40 dollár)

8) Egy Arduino Uno R3 ($ 20)

9) Egy második Arduino Uno R3 ** (20 dollár)

10) Egy Arduino Ultimate GPS pajzs (nincs szüksége a pajzsra, de egy másik GPS használata eltérő vezetékeket igényel) ($ 45)

11) Két HC-12 vezeték nélküli adó-vevő (2x $ 5 = $ 10)

12) Egy MPU-6050, 6DOF (szabadságfok) giroszkóp/gyorsulásmérő ($ 5)

13) Egy Turnigy 9x 2,4 GHz, 9 csatornás adó/vevő pár (70 dollár)

14) Arduino női (egymásra rakható) fejlécek (20 USD)

15) LiPo Battery Balance töltő (és 12V DC adapter, nem tartozék) ($ 20)

17) USB A -B apa -férfi adapter kábel ($ 5)

17) Ragasztószalag

18) Zsugorcső

Felszerelés:

1) Forrasztópáka

2) Forrasztás

3) Műanyag epoxi

4) Világosabb

5) Huzalcsupaszító

6) Egy imbuszkulcs készlet

Opcionális komponensek a valós idejű FPV (first person view) videótovábbításhoz:

1) Egy kis FPV kamera (ez az általunk használt olcsó és rossz minőségű kamerához kapcsolódik, helyettesíthet egy jobbat) (20 USD)

2) 5,6 GHz -es video adó/vevő pár (832 modell) ($ 30)

3) 500mAh, 3s (11.1V) LiPo akkumulátor ($ 7) (banán dugóval használtuk, de utólag azt javasoljuk, hogy használja a csatlakoztatott akkumulátort, mivel a TS832 távadóval kompatibilis csatlakozóval rendelkezik, így nem) t forrasztást igényel).

4) 2 db 1000mAh 2s (7,4V) LiPo akkumulátor vagy hasonló (5 dollár). Az mAh -k száma nem kritikus, amíg meghaladja az 1000 mAh -t. Ugyanaz a megállapítás vonatkozik a két akkumulátor egyikének dugó típusára. A másikat a monitor tápellátására használják, így forrasztania kell, bármi is legyen. Valószínűleg a legjobb, ha ehhez XT-60 csatlakozóval szerezünk be egyet (ezt tettük). Az ilyen típusú link itt található: 1000mAh 2s (7,4V) LiPo XT-60 dugóval

5) LCD monitor (opcionális) (15 USD). Használhat AV-USB adaptert és DVD-másoló szoftvert is, ha közvetlenül laptopon szeretné megtekinteni. Ez lehetőséget ad arra is, hogy videókat és fényképeket rögzítsen, ne csak valós időben nézze meg őket.

6) Ha olyan elemeket vásárolt, amelyeknek különböző csatlakozói vannak, mint a csatlakoztatott, akkor szükség lehet megfelelő adapterekre. Ettől függetlenül szerezzen be egy adaptert, amely megfelel a monitort tápláló akkumulátor dugójának. Itt szerezhet be XT-60 adaptereket

* = csak fejlettebb projekthez

** = csak az alapprojekthez

Költségek:

Ha a nulláról indul (de forrasztópáka stb.), Nincs FPV rendszer: ~ 370 USD

Ha már rendelkezik RC adóval/vevővel, LiPo akkumulátortöltővel és LiPo akkumulátorral: ~ 260 USD

Az FPV rendszer költsége: 80 USD

2. lépés: Szerelje össze a keretet

Szerelje össze a keretet
Szerelje össze a keretet
Szerelje össze a keretet
Szerelje össze a keretet
Szerelje össze a keretet
Szerelje össze a keretet

Ez a lépés meglehetősen egyszerű, különösen, ha ugyanazt az előre elkészített keretet használjuk, mint amit használtunk. Egyszerűen használja a mellékelt csavarokat, és állítsa össze a keretet az ábrán látható módon, a keretéhez megfelelő imbuszkulcs vagy csavarhúzó segítségével. Győződjön meg arról, hogy az azonos színű karok egymás mellett vannak (mint ezen a képen), hogy a drón elöl és hátul világos legyen. Továbbá ügyeljen arra, hogy az alsó lemez hosszú része kilógjon az ellentétes színű karok között. Ez később válik fontossá.

3. lépés: Szerelje fel a motorokat és csatlakoztassa az Escs -eket

Mount Motors és Connect Escs
Mount Motors és Connect Escs
Mount Motors és Connect Escs
Mount Motors és Connect Escs
Mount Motors és Connect Escs
Mount Motors és Connect Escs
Mount Motors és Connect Escs
Mount Motors és Connect Escs

Most, hogy a keret össze van szerelve, vegye ki a négy motort és négy szerelési tartozékot. Használhatja a rögzítő készletekben található csavarokat, vagy a quadcopter keretéből megmaradt csavarokat a motorok és tartók csavarozásához. Ha megvásárolja az általunk összekapcsolt tartókat, akkor két további alkatrészt kap, a fenti képen. Ezen alkatrészek nélkül jó motoros teljesítményt értünk el, ezért a súlycsökkentés érdekében hagytuk őket.

Miután a motorokat a helyére csavarják, epoxizálja a tápegység elosztó táblát (PDB) a quadcopter keret felső lapjának tetején. Ügyeljen arra, hogy úgy helyezze el, hogy az akkumulátor csatlakozója a különböző színű karok között mutasson (párhuzamosan az alsó lemez egyik hosszú részével), mint a fenti képen.

Ezenkívül négy propeller kúppal kell rendelkeznie, amelyek belső menetesek. Ezeket most tegye félre.

Most vegye ki az ESC -ket. Az egyik oldalon két vezeték fog kijönni, egy piros és egy fekete. Mind a négy ESC -hez csatlakoztassa a piros vezetéket az EKB pozitív csatlakozójába, a feketét a negatívba. Vegye figyelembe, hogy ha másik PDB -t használ, ez a lépés forrasztást igényelhet. Most csatlakoztassa az egyes motorokból kilépő három vezeték mindegyikét. Ezen a ponton nem mindegy, hogy melyik ESC vezetéket melyik motorhuzalhoz köti (mindaddig, amíg egy ESC összes vezetékét ugyanahhoz a motorhoz csatlakoztatja!) Később korrigálja a visszafelé irányuló polaritást. Nem veszélyes, ha a vezetékek megfordulnak; csak azt eredményezi, hogy a motor visszafelé forog.

Lépés: Készítse elő az Arduino -t és a Shield -et

Készítse elő az Arduino -t és a Shield -et
Készítse elő az Arduino -t és a Shield -et
Készítse elő az Arduino -t és a Shield -et
Készítse elő az Arduino -t és a Shield -et

Megjegyzés, mielőtt elkezdené

Először is dönthet úgy, hogy az összes vezetéket közvetlenül összeforrasztja. Mindazonáltal felbecsülhetetlennek találtuk a tűfejlécek használatát, mert nagy rugalmasságot biztosítanak a hibaelhárításhoz és a projekt adaptálásához. A következőkben leírjuk, hogy mit tettünk (és ajánljuk másoknak is).

Készítse elő az Arduino -t és a pajzsot

Vegye elő az Arduino Mega-t (vagy egy Uno-t, ha nem autonóm quad-ot csinál), a GPS-pajzst és az egymásra rakható fejléceket. Forrasztja a halmozható fejlécek hüvelyét a helyére a GPS pajzson, az előforrasztott csapokkal párhuzamos csapok soraiban, a fenti képen látható módon. Forrasztható egymásra rakható fejlécekben is a 3V, CD,… RX feliratú tűsoron. Drótvágóval vágja le a felesleges hosszúságot az alján kilógó csapokról. Mindegyik egymásra rakható fejlécbe helyezzen hajlított tetejű hím fejléceket. Ezekre fogja forrasztani a vezetékeket a többi alkatrészhez.

Rögzítse a GPS pajzsot a tetejére, ügyelve arra, hogy a csapok illeszkedjenek az Arduino (Mega vagy Uno) csapjaihoz. Ne feledje, hogy a Mega használatakor sok Arduino még mindig látható lesz, miután a pajzsot a helyére tette.

Helyezzen elektromos szalagot az Arduino aljára, amely lefedi az összes szabadon lévő tűhegesztőt, hogy megakadályozza a rövidzárlatot, mivel az Arduino az EKT -n nyugszik.

5. lépés: Csatlakoztassa az alkatrészeket és helyezze be az akkumulátort (Uno)

Csatlakoztassa az alkatrészeket és helyezze be az akkumulátort (Uno)
Csatlakoztassa az alkatrészeket és helyezze be az akkumulátort (Uno)
Csatlakoztassa az alkatrészeket és helyezze be az akkumulátort (Uno)
Csatlakoztassa az alkatrészeket és helyezze be az akkumulátort (Uno)
Csatlakoztassa az alkatrészeket és helyezze be az akkumulátort (Uno)
Csatlakoztassa az alkatrészeket és helyezze be az akkumulátort (Uno)
Csatlakoztassa az alkatrészeket és helyezze be az akkumulátort (Uno)
Csatlakoztassa az alkatrészeket és helyezze be az akkumulátort (Uno)

A fenti vázlat majdnem megegyezik azzal, amelyet Joop Brooking készített, amikor a tervezésünket nagymértékben az övé alapján alapoztuk meg.

*Ne feledje, hogy ez a vázlat egy megfelelően felszerelt GPS -pajzst feltételez, így a GPS nem jelenik meg ebben a vázlatban.

A fenti vázlatot Fritzing szoftverrel készítettük, amely különösen ajánlott az Arduino -t tartalmazó vázlatokhoz. Többnyire általános részeket használtunk, amelyek rugalmasan szerkeszthetők, mivel részeink általában nem voltak Fritzing mellékelt könyvtárában.

-Győződjön meg arról, hogy a GPS pajzs kapcsolója "Direct Write" állásba van kapcsolva.

-Most kösse be az összes alkatrészt a fenti vázlat szerint (az akkumulátor kivételével!) (Fontos megjegyzés az alábbi GPS adatvezetékekről).

-Vegye figyelembe, hogy már csatlakoztatta az ESC -ket a motorokhoz és az PDB -hez, így a vázlatnak ez a része elkészült.

-Továbbá, vegye figyelembe, hogy a GPS -adatok (sárga vezetékek) az Arduino 0 -ás és 1 -es csapjaiból származnak (nem a GPS különálló Tx és Rx csapjaiból). Ennek az az oka, hogy a "Direct Write" -ra konfigurálva (lásd alább) a GPS közvetlenül az uno hardver soros portjaira (0 és 1 érintkező) ad ki. Ez a legvilágosabban a teljes kábelezés fenti második képén látható.

-Az RC vevő bekötésekor nézze meg a fenti képet. Figyelje meg, hogy az adatvezetékek a felső sorba mennek, míg a Vin és a Gnd a második és a harmadik sorban vannak (és a csapok második-legtávolabbi oszlopában).

-A HC-12 adó-vevő, az RC-vevő és az 5Vout vezetékezéséhez az Arduino PDB-jéből Vin-hez egymásra rakható fejléceket használtunk, míg a giroszkóphoz közvetlenül a táblához forrasztottuk a vezetékeket, és zsugorcső segítségével. forrasztani. Bármelyik komponenshez választhat, de a forrasztás közvetlenül a giroszkóphoz ajánlott, mivel helyet takarít meg, ami megkönnyíti a kis rész felszerelését. A fejlécek használata kis mennyiségű munkát igényel, de nagyobb rugalmasságot biztosít. A vezetékek közvetlen forrasztása hosszú távon biztonságosabb kapcsolat, ugyanakkor azt jelenti, hogy az alkatrész más projekten való használata nehezebb. Ne feledje, hogy ha fejléceket használt a GPS -pajzson, akkor is kellő rugalmassággal rendelkezik, függetlenül attól, hogy mit csinál. Lényeges, hogy győződjön meg arról, hogy a GPS adatvezetékeit a GPS 0 -ás és 1 -es tűiben könnyű eltávolítani és cserélni.

Projektünk végén nem tudtunk jó módszert tervezni az összes alkatrészünk kerethez való rögzítésére. Osztályunk időnyomása miatt megoldásaink általában a kétoldalas habszalag, a ragasztószalag, az elektromos szalag és a cipzárkötések körül forogtak. Erősen javasoljuk, hogy több időt szánjon stabil rögzítőszerkezetek tervezésére, ha ezt hosszabb távú projektnek tervezi. Mindezek ellenére, ha csak egy gyors prototípust szeretne készíteni, akkor bátran kövesse folyamatunkat. Ellenőrizze azonban, hogy a giroszkóp biztonságosan van -e felszerelve. Az Arduino csak így tudja, hogy mit csinál a quadcopter, így ha repülés közben mozog, problémái lesznek.

Ha minden be van kötve és a helyén van, vegye fel LiPo akkumulátorát, és csúsztassa be a keret felső és alsó lapjai közé. Győződjön meg arról, hogy a csatlakozója ugyanabba az irányba mutat, mint a PDB csatlakozója, és hogy valóban csatlakozhatnak. Ragasztószalaggal tartottuk az akkumulátort (a tépőzáras szalag is működik, de bosszantóbb, mint a ragasztószalag). A ragasztószalag jól működik, mert az akkumulátort egyszerűen ki lehet cserélni, vagy eltávolítani töltésre. Azonban biztosnak kell lennie abban, hogy az akkumulátort FIGYELŐEN ragasztja le, mert ha az akkumulátor repülés közben mozog, ez komolyan felboríthatja a drón egyensúlyát. NE csatlakoztassa még az akkumulátort az PDB -hez.

6. lépés: Csatlakoztassa az alkatrészeket és helyezze be az akkumulátort (mega)

Csatlakoztassa az alkatrészeket és helyezze az akkumulátort (mega)
Csatlakoztassa az alkatrészeket és helyezze az akkumulátort (mega)
Csatlakoztassa az alkatrészeket és helyezze az akkumulátort (mega)
Csatlakoztassa az alkatrészeket és helyezze az akkumulátort (mega)
Csatlakoztassa az alkatrészeket és helyezze az akkumulátort (mega)
Csatlakoztassa az alkatrészeket és helyezze az akkumulátort (mega)

A fenti vázlatot Fritzing szoftverrel készítettük, amely különösen ajánlott az arduino -t tartalmazó vázlatokhoz. Többnyire általános alkatrészeket használtunk, mivel alkatrészeink általában nem voltak Fritzing mellékelt könyvtárában.

-Vegye figyelembe, hogy ez a vázlat egy megfelelően felszerelt GPS pajzsot feltételez, és így a GPS nem jelenik meg ebben a vázlatban.

-Fordítsa a Mega 2560 kapcsolóját a "Soft Serial" állásba.

-Most kösse be az összes alkatrészt a fenti vázlat szerint (kivéve az akkumulátort!)

-Vegye figyelembe, hogy már csatlakoztatta az ESC -ket a motorokhoz és az PDB -hez, így a vázlatnak ez a része elkészült.

-Az áthidaló kábelek a 8-as érintkezőtől az Rx-ig és a 7-es tűtől a Tx-ig ott vannak, mert (ellentétben az Unóval, amelyhez ezt az árnyékolást készítették), a mega-ból hiányzik az univerzális aszinkron vevő-adó (UART) a 7-es és 8-as érintkezőkön, és így hardveres soros csapokat kell használnunk. Több oka van annak, hogy hardveres soros csapokra van szükségünk, amelyeket később tárgyalunk.

-Az RC vevő bekötésekor nézze meg a fenti képet. Figyelje meg, hogy az adatvezetékek a felső sorba mennek, míg a Vin és a Gnd a második és a harmadik sorban vannak (és a csapok második-legtávolabbi oszlopában).

-A HC-12 adó-vevő, az RC vevő és az 5Vout kábelezéséhez az Arduino PDB-jéből Vin-hez egymásra rakható fejléceket használtunk, míg a giroszkóphoz közvetlenül a forrasztó körül forrasztottuk a vezetékeket, és zsugorcső segítségével. Választhatja, hogy bármelyik komponens esetében megteheti -e. A fejlécek használata kis mennyiségű munkát igényel, de nagyobb rugalmasságot biztosít. A vezetékek közvetlen forrasztása hosszú távon biztonságosabb kapcsolat, ugyanakkor azt jelenti, hogy az alkatrész más projekten való használata nehezebb. Ne feledje, hogy ha fejléceket használt a GPS -pajzson, akkor is kellő rugalmassággal rendelkezik, függetlenül attól, hogy mit csinál.

Projektünk végén nem tudtunk jó módszert tervezni az összes alkatrészünk kerethez való rögzítésére. Osztályunk időnyomása miatt megoldásaink általában a kétoldalas habszalag, a ragasztószalag, az elektromos szalag és a cipzárkötések körül forogtak. Erősen javasoljuk, hogy több időt szánjon stabil rögzítőszerkezetek tervezésére, ha ezt hosszabb távú projektnek tervezi. Mindezek ellenére, ha csak egy gyors prototípust szeretne készíteni, kövesse nyomon folyamatunkat. Ellenőrizze azonban, hogy a giroszkóp biztonságosan van -e felszerelve. Az Arduino csak így tudja, hogy mit csinál a quadcopter, így ha repülés közben mozog, problémái lesznek.

Ha minden be van kötve és a helyén van, vegye fel LiPo akkumulátorát, és csúsztassa be a keret felső és alsó lapjai közé. Győződjön meg arról, hogy a csatlakozója ugyanabba az irányba mutat, mint a PDB csatlakozója, és hogy valóban csatlakozhatnak. Ragasztószalaggal tartottuk az akkumulátort (a tépőzáras szalag is működik, de bosszantóbb, mint a ragasztószalag). A ragasztószalag jól működik, mert az akkumulátort egyszerűen ki lehet cserélni, vagy eltávolítani töltésre. Azonban biztosnak kell lennie abban, hogy az akkumulátort FIGYELŐEN ragasztja le, mert ha az akkumulátor repülés közben mozog, ez komolyan felboríthatja a drón egyensúlyát. NE csatlakoztassa még az akkumulátort az PDB -hez.

7. lépés: Kösse össze a vevőt

Kötés vevő
Kötés vevő
Kötés vevő
Kötés vevő

Fogja az RC vevőt, és ideiglenesen csatlakoztassa 5 V -os tápegységhez (vagy az Arduino USB -ről vagy 9 V -os tápellátásról történő bekapcsolásával, vagy külön tápegységgel. Még ne csatlakoztassa a LiPo -t az Arduino -hoz). Fogja meg az RC vevőhöz kapott kötőtűt, és helyezze a vevő BIND csapjaira. Alternatív megoldásként rövidítse le a BIND oszlop felső és alsó csapjait, amint a fenti képen látható. Egy piros lámpának gyorsan kell villognia a vevőkészüléken. Most vegye fel a vezérlőt, és nyomja meg a hátulján lévő gombot, amíg ki van kapcsolva, ahogy fent látható. A gomb megnyomásával kapcsolja be a vezérlőt. Most a vevőegység villogó fényének folyamatosan világítania kell. A vevő be van kötve. Távolítsa el a kötőkábelt. Ha más tápegységet használt, csatlakoztassa újra a vevőt az Arduino 5V -os kimenetére.

8. lépés: (Opcionális) Csatlakoztassa össze és szerelje fel az FPV kamerarendszert

(Opcionális) Csatlakoztassa össze és szerelje fel az FPV kamerarendszert
(Opcionális) Csatlakoztassa össze és szerelje fel az FPV kamerarendszert
(Opcionális) Csatlakoztassa össze és szerelje fel az FPV kamerarendszert
(Opcionális) Csatlakoztassa össze és szerelje fel az FPV kamerarendszert

Először forrasztja össze az XT-60 adaptert a monitor táp- és földelővezetékeivel. Ezek monitoronként változhatnak, de a tápellátás szinte mindig piros lesz, a föld szinte mindig fekete. Most helyezze be az adaptert forrasztott vezetékekkel az 1000 mAh-s LiPo-ba az XT-60 dugóval. A monitornak (általában) kék háttérrel kell bekapcsolnia. Ez a legnehezebb lépés!

Most csavarja be a vevő és az adó antennáit.

Csatlakoztassa a kicsi 500 mAh -s Lipót az adóhoz. A jobb szélső érintkező (közvetlenül az antenna alatt) az akkumulátor földelt (V_), a bal oldali következő csap V+. Jön a három vezeték, ami a kamerához megy. A fényképezőgépnek három az egyben csatlakozót kell tartalmaznia, amely illeszkedik az adóhoz. Győződjön meg arról, hogy a sárga adatvezeték középen van. Ha az általunk összekapcsolt elemeket erre a célra szolgáló dugókkal használta, akkor ez a lépés nem igényel forrasztást.

Végül kösse be a másik 1000 mAh -s akkumulátort a vevőhöz kapott DC kimeneti vezetékkel, majd csatlakoztassa a vevőegység DC in portjához. Végül csatlakoztassa a vevőhöz kapott AVin kábel fekete végét a vevő AVin portjához, a másik végét (sárga, női) a monitor AVin kábelének sárga dugójához.

Ezen a ponton látnia kell a kamera nézetét a monitoron. Ha nem tudja, győződjön meg arról, hogy a vevő és az adó egyaránt be van kapcsolva (számokat kell látni a kis képernyőn), és ugyanazon a csatornán vannak (mindkettőnél a 11 -es csatornát használtuk, és jól jártunk). Továbbá előfordulhat, hogy csatornát kell váltania a monitoron.

Szerelje fel az alkatrészeket a keretre.

A beállítások elvégzése után húzza ki az elemeket, amíg készen áll a repülésre.

9. lépés: A GPS adatfogadás beállítása

GPS adatfogadás beállítása
GPS adatfogadás beállítása
GPS adatfogadás beállítása
GPS adatfogadás beállítása

Csatlakoztassa a második Arduino-t a második HC-12 adó-vevőjéhez, amint azt a fenti vázlat mutatja, szem előtt tartva, hogy a beállítás csak akkor jelenik meg a kijelzőn, ha számítógéphez csatlakoztatja. Töltse le a mellékelt adó -vevő kódot, nyissa meg a soros monitort 9600 baudra.

Ha az alapbeállításokat használja, akkor el kell kezdenie a GPS-mondatok fogadását, ha a GPS-pajzs be van kapcsolva, és megfelelően van csatlakoztatva a másik HC-12 adó-vevőhöz (és ha a pajzson lévő kapcsoló "Direct Write" állásban van).

A Mega esetében győződjön meg arról, hogy a kapcsoló "Soft Serial" állásban van.

10. lépés: Végezze el a telepítő kódot (Uno)

Ez a kód megegyezik azzal, amelyet Joop Brokking használt az Arduino quadcopter oktatóanyagában, és minden elismerést megérdemel az írásáért.

Ha az akkumulátort lecsatlakoztatta, az USB -kábellel csatlakoztassa a számítógépet az Arduino -hoz, és töltse fel a mellékelt telepítő kódot. Kapcsolja be az RC távadót. Nyissa meg a soros monitort 57600 baudra, és kövesse az utasításokat.

Gyakori hibák:

Ha a kód feltöltése sikertelen, győződjön meg arról, hogy a 0 és az 1 -es érintkezők ki vannak húzva az UNO/GPS pajzsról. Ugyanaz a hardverport, amelyet az eszköz a számítógéppel való kommunikációhoz használ, tehát szabadnak kell lennie.

Ha a kód egyszerre több lépést is átugor, ellenőrizze, hogy a GPS -kapcsoló "Direct Write" állásban van -e.

Ha nem észlel vevőt, győződjön meg arról, hogy a vevőkészüléken folyamatos (de halvány) piros fény világít, amikor az adó be van kapcsolva. Ha igen, ellenőrizze a vezetékeket.

Ha nem észlel giroszkópot, annak az lehet az oka, hogy a giroszkóp megsérült, vagy ha más típusú giroszkópja van, mint amit a kód írni tervezett.

11. lépés: Végezze el a telepítési kódot (Mega)

Ez a kód megegyezik azzal, amelyet Joop Brokking használt az Arduino quadcopter oktatóanyagában, és minden elismerést megérdemel az írásáért. Egyszerűen úgy alakítottuk ki a Mega vezetékét, hogy a vevő bemenete megfeleljen a megfelelő Pin Change Interrupt csapoknak.

Ha az akkumulátort lecsatlakoztatta, az USB -kábellel csatlakoztassa a számítógépet az Arduino -hoz, és töltse fel a mellékelt telepítő kódot. Nyissa meg a soros monitort 57600 baudra, és kövesse az utasításokat.

12. lépés: Az ESC -k kalibrálása (Uno)

Ez a kód ismét megegyezik Joop Brokking kódjával. Minden módosítás a GPS és az Arduino integrálása érdekében történt, és később megtalálható a fejlettebb quadcopter felépítésének leírásában.

Töltse fel a mellékelt ESC kalibrációs kódot. A soros monitoron írja be az „r” betűt, és nyomja meg a return gombot. El kell kezdenie látni a valós idejű RC vezérlő értékeket. Ellenőrizze, hogy 1000 és 2000 között változnak -e a fojtószelep, a gurulás, a dőlésszög és a lengés szélsőségei között. Ezután írja be az "a" betűt, és nyomja meg a return gombot. Engedje el a giroszkóp kalibrálását, majd ellenőrizze, hogy a giroszkóp regisztrálja -e a quad mozgását. Most húzza ki az arduinót a számítógépről, nyomja le teljesen a gázkart a vezérlőn, és csatlakoztassa az akkumulátort. Az ESC -knek különböző hangjelzéseket kell ciklusoznia (de ez eltérhet az ESC -től és a firmware -től függően). Nyomja le teljesen a gázkart. Az ESC -knek alacsonyabb hangjelzést kell adniuk, majd elhallgatnak. Húzza ki az akkumulátort.

Opcionálisan ezen a ponton használhatja a motorra szerelhető tartozékcsomagokhoz kapott kúpokat a propellerek szoros csavarozásához. Ezután írja be az 1-4 számokat a soros monitoron, hogy az 1-4 motorokat a legalacsonyabb teljesítményen kapcsolja be. A program regisztrálja a rázkódás mértékét a kellékek kiegyensúlyozatlansága miatt. Megpróbálhatja orvosolni ezt úgy, hogy kis mennyiségű szalagot ad hozzá a kellékek egyik vagy másik oldalához. Megállapítottuk, hogy e lépés nélkül is jól repülünk, de talán valamivel kevésbé hatékonyan és hangosabban, mint ha kiegyensúlyoztuk a kellékeket.

13. lépés: Az ESC -k kalibrálása (mega)

Ez a kód nagyon hasonló a Brokking kódjához, de mi (és a hozzá tartozó vezetékek) a Mega -val való együttműködéshez alakítottuk.

Töltse fel a mellékelt ESC kalibrációs kódot. A soros monitoron írja be az „r” betűt, és nyomja meg a return gombot. El kell kezdenie látni a valós idejű RC vezérlő értékeket. Ellenőrizze, hogy 1000 és 2000 között változnak -e a fojtószelep, a gurulás, a dőlésszög és a lengés szélsőségei között.

Ezután írja be az "a" betűt, és nyomja meg a return gombot. Engedje el a giroszkóp kalibrálását, majd ellenőrizze, hogy a giroszkóp regisztrálja -e a quad mozgását.

Most húzza ki az arduinót a számítógépről, nyomja le teljesen a gázkart a vezérlőn, és csatlakoztassa az akkumulátort. Az ESC -knek három alacsony és egy magas hangjelzést kell kiadniuk (ez azonban az ESC -től és a firmware -től függően eltérő lehet). Nyomja le teljesen a gázkart. Húzza ki az akkumulátort.

Ezen a kódon a következő változtatásokat hajtottuk végre: a PORTD használatáról az ESC csapokra a PORTA használatára váltottunk, majd az ezekre a portokra írt bájtokat úgy változtattuk meg, hogy aktiváljuk a megfelelő csapokat a bekötési rajz szerint. Ez a változás azért van, mert a PORTD regiszter tüskék nem ugyanazon a helyen vannak a Mega -n, mint az Uno -ban. Nem tudtuk teljesen tesztelni ezt a kódot, mivel egy régi, márkán kívüli Mega-val dolgoztunk, ami az iskolánk boltjában volt. Ez azt jelentette, hogy valamilyen oknál fogva nem minden PORTA regiszter tüske tudta megfelelően aktiválni az ESC -ket. Problémáink adódtak azzal is, hogy a tesztkódunkban az vagy egyenlő operátort (| =) használtuk. Nem vagyunk biztosak abban, hogy ez miért okozott problémákat, amikor a bájtokat írtuk az ESC tűfeszültségének beállításához, ezért a lehető legkevesebbet módosítottuk Brooking kódját. Úgy gondoljuk, hogy ez a kód nagyon közel van a működéshez, de a futásteljesítmény változhat.

14. lépés: Légy repülőgép !! (Uno)

És ez a zseniális kód harmadik része Joop Brokking műve. Mindhárom kódrész módosítása csak a GPS -adatok Arduino -ba történő integrálási kísérletében van jelen.

Ha a légcsavarok szilárdan a keretre vannak felszerelve, és minden alkatrész rögzítve, ragasztva vagy más módon rögzítve, töltse be a repülésvezérlő kódját az Arduino -hoz, majd húzza ki az Arduino -t a számítógépről.

Vigye ki a quadcoptert, csatlakoztassa az akkumulátort, és kapcsolja be az adót. Opcionálisan hozzon magával egy laptopot, amely csatlakozik a GPS -vételhez, valamint a videofelvételi beállításhoz és a monitorhoz. Töltse be az adó -vevő kódot a földi Arduino -ra, nyissa meg a soros monitort 9600 baudra, és nézze meg, hogyan érkeznek be a GPS -adatok.

Most már készen áll a repülésre. Nyomja le a fojtószelepet, és forgassa balra a quadcopter élesítését, majd óvatosan emelje fel a gázkart. Kezdje azzal, hogy alacsonyan repül a talajra, és olyan puha felületekre, mint a fű, amíg kényelmesen nem érzi magát.

Nézze meg a beágyazott videót, amelyen izgatottan repülünk a drónon, amikor először tudtuk működtetni a drónt és a GPS -t.

15. lépés: Légy repülőgép !! (Mega)

A Mega ESC kalibrációs kódjával való kapcsolatunk miatt soha nem tudtunk létrehozni repülésvezérlő kódot ehhez a táblához. Ha már eljutott idáig, akkor azt képzelem, hogy legalább az ESC kalibrációs kóddal babrált, hogy működjön a Mega esetében. Ezért valószínűleg hasonló módosításokat kell végrehajtania a repülésvezérlő kódján, mint az utolsó lépésben. Ha a Mega ESC -kalibrációs kódja varázslatosan működik minden egyéb módosítás nélkül, akkor csak néhány dolgot kell tennie a készletkóddal, hogy működjön ebben a lépésben. Először át kell mennie és le kell cserélnie a PORTD összes példányát PORTA -ra. Ezenkívül ne felejtse el a DDRD -t DDRA -ra cserélni. Ezután meg kell változtatnia az összes bájtot, amelyet a PORTA regiszterbe írnak, hogy aktiválják a megfelelő pin -ket. Ehhez használja a B11000011 bájtot, hogy a csapokat magasra állítsa, a B00111100 billentyűt pedig a csapok alacsonyra állításához. Sok szerencsét, és kérjük, ossza meg velünk, ha sikeresen repül Mega segítségével!

16. lépés: Hogyan jutottunk el oda, ahol jelenleg vagyunk a Mega Design segítségével

Ez a projekt óriási tanulási élmény volt számunkra, mint Arduino és elektronikai hobbi kezdőknek. Ezért, bár belefoglalnánk a történetet mindenből, amellyel találkoztunk, amikor a GPS engedélyezni próbáltuk Joop Brokking kódját. Mivel Brokking kódja olyan alapos és sokkal bonyolultabb, mint bármi, amit írtunk, úgy döntöttünk, hogy a lehető legkevesebbet módosítjuk. Megpróbáltuk elérni, hogy a GPS pajzs adatokat küldjön az Arduino -nak, majd az Arduino küldje el nekünk ezeket az információkat a HC12 adó -vevőn keresztül a repülési kód vagy a vezetékek bármilyen módosítása nélkül. Miután megnéztük az Arduino Uno vázlatát és kábelezését, hogy megtudjuk, milyen tűk állnak rendelkezésre, megváltoztattuk a GPS adó -vevő kódját, amelyet a meglévő kialakítás körüljárására használtunk. Ezután teszteltük, hogy megbizonyosodjunk arról, hogy minden működik. Ezen a ponton ígéretesnek tűntek a dolgok.

A következő lépés az volt, hogy integráljuk a kódot, amelyet éppen módosítottunk és teszteltünk Brokking repülésvezérlőjével. Ez nem volt túl nehéz, de gyorsan hibába ütköztünk. A Brokking repülési irányítója az Arduino Wire és az EEPROM könyvtárakra támaszkodik, míg a GPS -kódunk mind a Software Serial könyvtárat, mind az Arduino GPS könyvtárat használta. Mivel a Wire Library a Software Serial könyvtárra hivatkozik, hibába ütköztünk, amikor a kód nem fordult le, mert "többféle definíció volt a _vector 3_ számára", bármit is jelentsen ez. Miután megnéztük a Google -t, és körbenéztünk a könyvtárakban, végül rájöttünk, hogy ez a könyvtári konfliktus lehetetlenné teszi a kódrészletek együttes használatát. Tehát alternatívákat kerestünk.

Kitaláltuk, hogy a könyvtárak egyetlen kombinációja, amely nem dobott ránk hibát, az volt, hogy a szabványos GPS könyvtárat átkapcsolta a neoGPS -re, majd az AltSoftSerial -t használta a Software Serial helyett. Ez a kombináció működött, azonban az AltSoftSerial csak speciális csapokkal működhet, amelyek nem voltak elérhetők a tervezésünkben. Ez vezetett minket a Mega használatához. Az Arduino Megas több hardver soros porttal rendelkezik, ami azt jelentette, hogy megkerülhetjük ezt a könyvtári konfliktust, ha egyáltalán nem kell megnyitnunk a szoftver soros portjait.

Amikor azonban elkezdtük a Mega használatát, gyorsan rájöttünk, hogy a csap konfigurációja más. Az Uno csapjai, amelyek megszakításokkal rendelkeznek, különbözőek a Mega -n. Hasonlóképpen, az SDA és az SCL csapok különböző helyeken voltak. Miután tanulmányoztuk az egyes Arduino típusok pin diagramjait, és frissítettük a kódban meghívott regisztereket, csak minimális újbóli bekötés és szoftverváltozás nélkül futtathattuk a repülési beállítási kódot.

Az ESC kalibrációs kódja az, ahol problémákkal kezdtünk találkozni. Korábban röviden érintettük ezt, de alapvetően a kód a pin regisztereket használja az ESC vezérléséhez használt csapok szabályozására. Ez megnehezíti a kód olvasását, mint a standard pinMode () függvény használata; azonban gyorsabbá teszi a kódot, és egyszerre aktiválja a csapokat. Ez azért fontos, mert a repülési kód gondosan időzített ciklusban fut. Az Arduino -k tűs különbségei miatt úgy döntöttünk, hogy az A portregisztert használjuk a Mega -n. Tesztelésünk során azonban nem minden csap adta meg ugyanazt a kimeneti feszültséget, amikor azt mondták, hogy magasan kell működni. Néhány tüske kimenete körülbelül 4,90 V volt, mások közelebb adtak minket a 4,95 V -hoz. Nyilvánvalóan az ESC -k kissé finnyásak, és így csak akkor működnének megfelelően, ha a nagyobb feszültségű csapokat használjuk. Ez arra kényszerített bennünket, hogy az A regiszterbe írt bájtokat úgy változtassuk meg, hogy a megfelelő tűkkel beszéljünk. Erről bővebb információ az ESC kalibrációs részben található.

Körülbelül ennyit értünk el a projekt ezen részében. Amikor elmentünk tesztelni ezt a módosított ESC kalibrációs kódot, valami zárlatos lett, és elvesztettük a kapcsolatot az Arduino -val. Rendkívül értetlenül álltunk ezen, mert a vezetékeken nem változtattunk. Ez arra kényszerített minket, hogy visszalépjünk, és rájöjjünk, hogy csak néhány napunk volt repülő drón beszerzésére, miután hetek óta próbáltuk összeilleszteni az összeférhetetlen darabjainkat. Ezért hátráltunk, és az Uno -val létrehoztuk az egyszerűbb projektet. Mindazonáltal továbbra is úgy gondoljuk, hogy megközelítésünk közel áll ahhoz, hogy kevesebb idővel dolgozzunk a Mega -val.

Célunk, hogy ez a magyarázat az előttünk álló akadályokra hasznos legyen, ha a Brokking kódjának módosításán dolgozik. Sosem volt lehetőségünk arra, hogy kipróbáljuk az autonóm vezérlési funkciók kódolását a GPS alapján. Ezt meg kell találnia, miután létrehozott egy működő drónt Mega -val. Néhány előzetes Google -kutatás alapján azonban úgy tűnik, hogy a Kalman -szűrő alkalmazása lehet a legstabilabb és legpontosabb módszer a repülés közbeni pozíció meghatározására. Javasoljuk, hogy kutasson egy kicsit arról, hogyan optimalizálja ez az algoritmus az állapotbecsléseket. Ettől eltekintve sok sikert, és tudassa velünk, ha messzebbre jut, mint amit mi tudtunk!

Ajánlott: