Obsah:

Dron Arduino s GPS: 16 krokov
Dron Arduino s GPS: 16 krokov

Video: Dron Arduino s GPS: 16 krokov

Video: Dron Arduino s GPS: 16 krokov
Video: ARDUINO GPS TRACKER WITH GOOGLE MAPS 2024, Júl
Anonim
Dron Arduino s GPS
Dron Arduino s GPS

Pustili sme sa do výroby kvadrokoptéry Dron ovládanej a stabilizovanej pomocou FPU (Arduino) s návratom domov, koordináciou a podržaním GPS. Naivne sme predpokladali, že skombinovanie existujúcich programov Arduino a zapojenia pre kvadrokoptéru bez systému GPS s programami prenosového systému GPS bude relatívne jednoduché a že by sme mohli rýchlo prejsť na komplexnejšie programovacie úlohy. Aby sa však tieto dva projekty spojili, muselo sa zmeniť prekvapivo veľa, a tak sme nakoniec vyrobili kvadrokoptéru FPV s podporou GPS bez akejkoľvek pridanej funkcie.

Zahrnuli sme návod na replikáciu nášho produktu, ak ste s obmedzenejším kvadrokoptérom spokojní.

Zahrnuli sme tiež všetky kroky, ktoré sme urobili na ceste k autonómnejšej kvadrokoptére. Ak sa cítite pohodlne kopať hlboko v Arduine alebo už máte veľa skúseností s Arduino a chceli by ste vziať náš bod zastavenia ako miesto na skok pre vaše vlastné skúmanie, potom je tento návod tiež pre vás.

Je to skvelý projekt, aby ste sa dozvedeli niečo o stavaní a kódovaní pre Arduino bez ohľadu na to, aké máte skúsenosti. Dúfajme, že tiež odídete s dronom.

Nastavenie je nasledovné:

V zozname materiálov sú pre oba ciele požadované diely bez hviezdičky.

Časti s jednou hviezdičkou sú potrebné iba pre nedokončený projekt autonómnejšej kvadrokoptéry.

Časti s dvoma hviezdičkami sú vyžadované iba pre obmedzenejšiu kvadrokoptéru.

Kroky spoločné pre oba projekty nemajú za názvom žiadnu značku

Kroky požadované iba pre obmedzenejšiu neautonómnu kvadrokoptéru majú za názvom „(Uno)“.

Kroky požadované iba pre prebiehajúcu autonómnu kvadrokoptéru majú za názvom „(Mega)“.

Ak chcete zostaviť štvorkolku založenú na Uno, postupujte podľa pokynov v poradí a preskočte všetky kroky s „(Mega)“za názvom.

Ak chcete pracovať na štvorkolke založenej na technológii Mega, postupujte podľa uvedených pokynov a preskočte všetky kroky s názvom „(Uno)“za názvom.

Krok 1: Zhromaždite materiály

Komponenty:

1) Jeden rám kvadrokoptéry (na presnom rámci pravdepodobne nezáleží) (15 dolárov)

2) Štyri bezkartáčové motory 2830, 900 kV (alebo podobné) a štyri sady montážneho príslušenstva (4x 6 dolárov + 4x 4 doláre = spolu 40 dolárov)

3) Štyri 20A UBEC ESC (4x 10 dolárov = 40 dolárov spolu)

4) Jedna rozvodná doska (s pripojením XT-60) (20 dolárov)

5) Jedna 3 s, 3 000-5 000 mAh LiPo batéria s pripojením XT-60 (3 000 mAh zodpovedá približne 20 minútam letu) (25 dolárov)

6) Veľa pohonných hmôt (tieto sa veľmi lámu) (10 dolárov)

7) Jeden Arduino Mega 2560* (40 dolárov)

8) Jeden Arduino Uno R3 (20 dolárov)

9) Druhé Arduino Uno R3 ** (20 dolárov)

10) Jeden štít Arduino Ultimate GPS (štít nepotrebujete, ale používanie iného systému GPS bude vyžadovať iné zapojenie) (45 dolárov)

11) Dva bezdrôtové transceivery HC-12 (2x 5 dolárov = 10 dolárov)

12) Jeden gyroskop/akcelerometer MPU- 6050, 6DOF (stupeň voľnosti) (5 dolárov)

13) Jeden pár Turnigy 9x 2,4 GHz, 9 kanálových vysielačov a prijímačov (70 dolárov)

14) Hlavičky Arduino (stohovateľné) (20 dolárov)

15) Nabíjačka vyváženia batérie LiPo (a 12V DC adaptér, nie je súčasťou dodávky) (20 dolárov)

17) Kábel adaptéra USB A na B samec - samec (5 dolárov)

17) Lepiaca páska

18) Zmršťovacia hadička

Vybavenie:

1) Spájkovačka

2) Spájka

3) Plastový epoxid

4) Zapaľovač

5) Odstraňovač drôtov

6) Sada imbusových kľúčov

Voliteľné komponenty pre prenos videa FPV (pohľad z prvej osoby) v reálnom čase:

1) Malá kamera FPV (odkazuje na celkom lacnú a zlú kvalitu, ktorú sme použili, môžete nahradiť lepšiu) (20 dolárov)

2) Pár video/vysielač/prijímač 5,6 GHz (použité 832 modelov) (30 dolárov)

3) 500mAh, 3s (11,1 V) LiPo batéria (7 dolárov) (používali sme s banánkovou zástrčkou, ale pri spätnom pohľade odporúčame použiť prepojenú batériu, pretože má konektor kompatibilný s vysielačom TS832, a teda nie je nevyžadujú spájkovanie).

4) 2 LiPo batéria 1 000 mAh 2 s (7,4 V) alebo podobná batéria (5 dolárov). Počet mAh nie je rozhodujúci, pokiaľ je viac ako 1 000 mAh. To isté vyhlásenie ako vyššie platí pre typ zástrčky pre jednu z dvoch batérií. Druhý bude slúžiť na napájanie monitora, takže budete musieť spájkovať bez ohľadu na to. Na to je asi najlepšie zaobstarať si jeden s konektorom XT-60 (to sme urobili). Odkaz na tento typ je tu: 1000 mAh 2 s (7,4 V) LiPo so zástrčkou XT-60

5) LCD monitor (voliteľný) (15 dolárov). Na zobrazenie priamo na prenosnom počítači môžete použiť aj adaptér AV-USB a softvér na kopírovanie diskov DVD. To tiež dáva možnosť nahrávania videa a fotografií, nie len ich prezerať v reálnom čase.

6) Ak ste si kúpili batérie s rôznymi zástrčkami z prepojených, možno budete potrebovať vhodné adaptéry. Bez ohľadu na to si zaobstarajte adaptér zodpovedajúci konektoru pre batériu, ktorá napája monitor. Tu nájdete kde získať adaptéry XT-60

* = iba pre pokročilejší projekt

** = iba pre základnejší projekt

Náklady:

Ak začínate od nuly (ale s spájkovačkou atď. …), žiadny systém FPV: ~ 370 dolárov

Ak už máte RC vysielač/prijímač, nabíjačku batérií LiPo a batériu LiPo: ~ 260 dolárov

Náklady na systém FPV: 80 dolárov

Krok 2: Zostavte rám

Zostavte rám
Zostavte rám
Zostavte rám
Zostavte rám
Zostavte rám
Zostavte rám

Tento krok je pomerne jednoduchý, najmä ak používate rovnaký vopred pripravený rám, aký sme použili. Jednoducho použite dodané skrutky a rám dajte dohromady, ako je znázornené, pomocou vhodného imbusového kľúča alebo skrutkovača pre váš rám. Uistite sa, že ramená rovnakej farby sú vedľa seba (ako na tomto obrázku), aby mal dron jasnú prednú aj zadnú stranu. Ďalej sa uistite, že dlhá časť spodnej dosky vyčnieva medzi ramenami opačnej farby. To sa stane dôležité neskôr.

Krok 3: Namontujte motory a pripojte Escs

Namontujte motory a pripojte esc
Namontujte motory a pripojte esc
Namontujte motory a pripojte esc
Namontujte motory a pripojte esc
Namontujte motory a pripojte esc
Namontujte motory a pripojte esc
Namontujte motory a pripojte esc
Namontujte motory a pripojte esc

Teraz, keď je rám zostavený, vyberte štyri motory a štyri montážne príslušenstvo. Na skrutkovanie motorov a úchytiek na mieste môžete použiť buď skrutky zahrnuté v montážnych sadách, alebo skrutky, ktoré zostanú z rámu kvadrokoptéry. Ak si kúpite držiaky, s ktorými sme prepojili, dostanete dva ďalšie komponenty, ktoré sú zobrazené na obrázku vyššie. Bez týchto dielov sme mali dobrý motorický výkon, preto sme ich kvôli zníženiu hmotnosti nechali.

Akonáhle sú motory zaskrutkované na miesto, epoxidovú dosku na distribúciu energie (PDB) umiestnite na miesto v hornej časti hornej dosky rámu kvadrokoptéry. Dbajte na to, aby bol orientovaný tak, aby konektor batérie smeroval medzi rôzne zafarbené ramená (rovnobežné s jednou z dlhých častí spodnej dosky), ako na obrázku vyššie.

Mali by ste mať aj štyri vrtuľové kužele s vnútornými závitmi. Tieto zatiaľ odložte.

Teraz vyberte svoje ESC. Na jednej strane budú vychádzať dva drôty, jeden červený a jeden čierny. Pri každom zo štyroch ESC zapojte červený vodič do kladného konektora na PDB a čierny do záporného. Všimnite si toho, že ak použijete iný PDB, tento krok môže vyžadovať spájkovanie. Teraz pripojte každý z troch vodičov vychádzajúcich z každého motora. V tomto mieste nezáleží na tom, ktorý vodič ESC spojíte s ktorým vodičom motora (pokiaľ budete spájať všetky vodiče jedného ESC s rovnakým motorom!) Akúkoľvek spätnú polaritu neskôr opravíte. Nie je nebezpečné, ak sú vodiče obrátené; to má za následok iba točenie motora dozadu.

Krok 4: Pripravte si Arduino a Shield

Pripravte si Arduino a Shield
Pripravte si Arduino a Shield
Pripravte si Arduino a Shield
Pripravte si Arduino a Shield

Poznámka predtým, ako začnete

Najprv sa môžete rozhodnúť spájkovať všetky vodiče dohromady. Považovali sme však za neoceniteľné používať hlavičky pinov, pretože poskytujú veľkú flexibilitu pri riešení problémov a prispôsobovaní projektu. Nasleduje popis toho, čo sme urobili (a odporúčame to urobiť iným).

Pripravte si Arduino a štít

Vyberte si Arduino Mega (alebo Uno, ak robíte neautonómnu štvorkolku), štít GPS a stohovateľné hlavičky. Spájkujte mužský koniec stohovateľných hlavičiek na miesto na štít GPS, v radoch kolíkov rovnobežných s vopred spájkovanými kolíkmi, ako je to znázornené na obrázku vyššie. Tiež spájkujte v stohovateľných hlavičkách na rade pinov s označením 3V, CD,… RX. Odrezávačom drôtu odstrihnite prebytočnú dĺžku na kolíkoch vyčnievajúcich dole. Do všetkých týchto stohovateľných hlavičiek umiestnite mužské hlavičky s ohnutými vrchmi. Práve k nim budete spájkovať drôty k ostatným komponentom.

Pripojte štít GPS k vrchu a uistite sa, že sa kolíky zhodujú s kolíkmi na Arduine (Mega alebo Uno). Všimnite si toho, že ak použijete Mega, veľa Arduina bude odhalených aj po nasadení štítu na miesto.

Na spodok Arduina položte elektrickú pásku, ktorá zakryje všetky odhalené spájky pinov, aby ste predišli skratu, pretože Arduino spočíva na PDB.

Krok 5: Spojte komponenty a vložte batériu (Uno)

Spojte komponenty a vložte batériu (Uno)
Spojte komponenty a vložte batériu (Uno)
Spojte komponenty a vložte batériu (Uno)
Spojte komponenty a vložte batériu (Uno)
Spojte komponenty a vložte batériu (Uno)
Spojte komponenty a vložte batériu (Uno)
Spojte komponenty a vložte batériu (Uno)
Spojte komponenty a vložte batériu (Uno)

Schéma vyššie je takmer identická s tou, ktorú vytvoril Joop Brooking, pretože sme vo veľkom vychádzali z nášho návrhu z jeho.

*Všimnite si toho, že táto schéma predpokladá správne namontovaný štít GPS, a preto sa GPS v tejto schéme nezobrazuje.

Vyššie uvedená schéma bola pripravená pomocou softvéru Fritzing, ktorý sa dôrazne odporúča najmä pre schémy zahŕňajúce Arduino. Väčšinou sme používali generické diely, ktoré je možné flexibilne upravovať, pretože naše diely spravidla neboli v knižnici náhradných dielov zahrnutej vo Fritzingu.

-Uistite sa, že prepínač na štíte GPS je prepnutý do polohy „Priamy zápis“.

-Teraz zapojte všetky komponenty podľa vyššie uvedenej schémy (okrem batérie!) (Dôležitá poznámka k dátovým káblom GPS nižšie).

-Všimnite si toho, že ste už zapojili ESC k motorom a PDB, takže táto časť schémy je hotová.

-Ďalej si všimnite, že údaje GPS (žlté vodiče) pochádzajú z pinov 0 a 1 na Arduine (nie zo samostatných pinov Tx a Rx na GPS). Pretože je nakonfigurovaný na „priamy zápis“(pozri nižšie), GPS výstupy priamo do hardvérových sériových portov na uno (piny 0 a 1). Najjasnejšie je to znázornené na druhom obrázku vyššie celého zapojenia.

-Pri zapojení RC prijímača postupujte podľa obrázku vyššie. Všimnite si, že dátové vodiče idú do horného radu, zatiaľ čo Vin a Gnd sú v druhom a treťom rade (a v druhom až najvzdialenejšom stĺpci kolíkov).

-Na zapojenie transceiveru, RC prijímača a 5Vout HC-12 z PDB do Vin Arduina sme použili stohovateľné záhlavia, zatiaľ čo v prípade gyroskopu sme drôty spájkovali priamo na dosku a pomocou zmršťovacej trubice okolo spájka. Môžete sa rozhodnúť pre ktorúkoľvek z týchto komponentov, odporúča sa však spájkovanie priamo na gyroskop, pretože šetrí miesto a uľahčuje montáž malej časti. Používanie záhlaví je menšia práca vopred, ale poskytuje väčšiu flexibilitu. Spájkovanie drôtov priamo je z dlhodobého hľadiska bezpečnejšie spojenie, ale znamená to, že používanie tohto komponentu na inom projekte je ťažšie. Ak ste na štít GPS použili záhlavia, stále máte slušnú flexibilitu bez ohľadu na to, čo robíte. Hlavne sa uistite, že dátové vodiče GPS v kolíkoch 0 a 1 na GPS je možné ľahko odstrániť a vymeniť.

Na konci nášho projektu sme neboli schopní navrhnúť dobrú metódu pripevnenia všetkých našich komponentov k rámu. Vzhľadom na časový tlak našej triedy sa naše riešenia spravidla točili okolo obojstrannej penovej pásky, lepiacej pásky, elektrickej pásky a zipsových páskov. Dôrazne odporúčame, aby ste strávili viac času navrhovaním stabilných montážnych štruktúr, ak plánujete, že sa jedná o dlhodobejší projekt. So všetkým, čo bolo povedané, ak chcete len vytvoriť rýchly prototyp, neváhajte a pokračujte v našom procese. Dbajte však na to, aby bol gyroskop bezpečne namontovaný. Toto je jediný spôsob, akým Arduino vie, čo kvadrokoptéra robí, takže ak sa pohybuje za letu, budete mať problémy.

Keď je všetko zapojené a na svojom mieste, vezmite batériu LiPo a zasuňte ju medzi hornú a dolnú dosku rámu. Zaistite, aby jeho konektor smeroval rovnakým smerom ako konektor PDB a aby sa v skutočnosti mohli pripojiť. Na uchytenie batérie na mieste sme použili lepiacu pásku (funguje aj páska na suchý zips, ktorá je však nepríjemnejšia ako lepiaca páska). Lepiaca páska funguje dobre, pretože batériu je možné ľahko vymeniť alebo vybrať na nabíjanie. Musíte si však byť istí, že batériu ZATVORÍTE, aby sa batéria počas letu pohybovala, čo by mohlo vážne narušiť rovnováhu dronu. Batériu zatiaľ nepripájajte k PDB.

Krok 6: Spojte komponenty a vložte batériu (mega)

Spojte komponenty a vložte batériu (mega)
Spojte komponenty a vložte batériu (mega)
Spojte komponenty a vložte batériu (mega)
Spojte komponenty a vložte batériu (mega)
Spojte komponenty a vložte batériu (mega)
Spojte komponenty a vložte batériu (mega)

Vyššie uvedená schéma bola pripravená pomocou softvéru Fritzing, ktorý sa odporúča predovšetkým pre schémy zahŕňajúce arduino. Väčšinou sme používali generické diely, pretože naše diely spravidla neboli v knižnici náhradných dielov zahrnutej vo Fritzingu.

-Všimnite si, že táto schéma predpokladá správne namontovaný štít GPS, a preto sa GPS v tejto schéme nezobrazuje.

-Prepnite prepínač na Mega 2560 do polohy „Soft Serial“.

-Teraz zapojte všetky komponenty podľa vyššie uvedenej schémy (okrem batérie!)

-Všimnite si toho, že ste už zapojili ESC k motorom a PDB, takže táto časť schémy je hotová.

-Prepojovacie káble od Pin 8 do Rx a Pin 7 do Tx sú tam preto, že (na rozdiel od Uno, pre ktorý bol tento štít vyrobený), mega chýba univerzálny asynchrónny prijímač-vysielač (UART) na pinoch 7 a 8, a teda musíme použiť hardvérové sériové piny. Existuje viac dôvodov, prečo potrebujeme hardvérové sériové piny, o ktorých sa bude diskutovať neskôr.

-Pri zapojení RC prijímača postupujte podľa obrázku vyššie. Všimnite si, že dátové vodiče idú do horného radu, zatiaľ čo Vin a Gnd sú v druhom a treťom rade (a v druhom až najvzdialenejšom stĺpci kolíkov).

-Na zapojenie transceiveru, RC prijímača a 5Vout HC-12 z PDB do Vin Arduina sme použili stohovateľné záhlavia, zatiaľ čo pre gyroskopy sme drôty spájkovali priamo a pomocou zmršťovacej trubice okolo spájky. Môžete sa rozhodnúť vykonať niektorý z týchto komponentov. Používanie hlavičiek je menšia práca vopred, ale poskytuje väčšiu flexibilitu. Spájkovanie drôtov priamo je z dlhodobého hľadiska bezpečnejšie spojenie, ale znamená to, že používanie tohto komponentu na inom projekte je ťažšie. Ak ste na štít GPS použili záhlavia, stále máte slušnú flexibilitu bez ohľadu na to, čo robíte.

Na konci nášho projektu sme neboli schopní navrhnúť dobrú metódu pripevnenia všetkých našich komponentov k rámu. Vzhľadom na časový tlak našej triedy sa naše riešenia spravidla točili okolo obojstrannej penovej pásky, lepiacej pásky, elektrickej pásky a zipsových páskov. Dôrazne odporúčame, aby ste strávili viac času navrhovaním stabilných montážnych štruktúr, ak plánujete, že sa jedná o dlhodobejší projekt. So všetkým, čo bolo povedané, ak chcete len vytvoriť rýchly prototyp, neváhajte a pokračujte v našom procese. Dbajte však na to, aby bol gyroskop bezpečne namontovaný. Toto je jediný spôsob, akým Arduino vie, čo kvadrokoptéra robí, takže ak sa pohybuje za letu, budete mať problémy.

Keď je všetko zapojené a na svojom mieste, vezmite batériu LiPo a zasuňte ju medzi hornú a dolnú dosku rámu. Uistite sa, že jeho konektor smeruje rovnakým smerom ako konektor PDB a že sa môžu v skutočnosti pripojiť. Na uchytenie batérie na mieste sme použili lepiacu pásku (funguje aj páska na suchý zips, ktorá je však nepríjemnejšia ako lepiaca páska). Lepiaca páska funguje dobre, pretože batériu je možné ľahko vymeniť alebo vybrať na nabíjanie. Musíte si však byť istí, že batériu ZATVORÍTE, aby sa batéria počas letu pohybovala, čo by mohlo vážne narušiť rovnováhu dronu. Batériu zatiaľ nepripájajte k PDB.

Krok 7: Viazať prijímač

Prijímač viazania
Prijímač viazania
Prijímač viazania
Prijímač viazania

Vezmite RC prijímač a dočasne ho pripojte k 5V zdroju (buď napájaním Arduina pomocou USB alebo 9V napájania, alebo samostatným zdrojom. Zatiaľ nepripájajte LiPo k Arduinu). Vezmite viazací kolík dodaný s RC prijímačom a umiestnite ho na VIAZANÉ kolíky na prijímači. Striedavo skráťte horný a dolný kolík v stĺpci VIAZANÉ, ako je to znázornené na fotografii vyššie. Na prijímači by malo rýchlo blikať červené svetlo. Teraz vezmite ovládač a stlačte tlačidlo na zadnej strane, keď je vypnuté, ako je to znázornené vyššie. Po stlačení tlačidla zapnite ovládač. Teraz by malo blikajúce svetlo na prijímači neprerušovane svietiť. Prijímač je viazaný. Odstráňte viazací kábel. Ak ste používali iný napájací zdroj, znova pripojte prijímač k 5V mimo Arduino.

Krok 8: (Voliteľné) Spojte drôty a namontujte kamerový systém FPV

(Voliteľné) Spojte vodiče a namontujte kamerový systém FPV
(Voliteľné) Spojte vodiče a namontujte kamerový systém FPV
(Voliteľné) Spojte vodiče a namontujte kamerový systém FPV
(Voliteľné) Spojte vodiče a namontujte kamerový systém FPV

Najprv spájajte adaptér XT-60 s napájacími a uzemňovacími vodičmi na monitore. Tieto sa môžu líšiť od monitora k monitoru, ale napájanie bude takmer vždy červené, zem takmer vždy čierna. Teraz vložte adaptér s spájkovanými vodičmi do 1 000 mAh LiPo so zástrčkou XT-60. Monitor by sa mal zapnúť (spravidla) s modrým pozadím. To je najťažší krok!

Teraz zaskrutkujte antény na prijímači a vysielači.

Pripojte svoj malý 500mAh Lipo k vysielaču. Úplne vpravo (vpravo pod anténou) je zem (V_) batérie, ďalší kolík vľavo je V+. Prichádzajú tri drôty, ktoré vedú k fotoaparátu. Fotoaparát by mal byť dodávaný s konektorom typu tri v jednom, ktorý sa zmestí do vysielača. Uistite sa, že v strede je žltý dátový vodič. Ak ste použili batérie, na ktoré sme prepojili zástrčky určené na tento účel, tento krok by nemal vyžadovať žiadne spájkovanie.

Nakoniec zapojte svoju druhú batériu 1000 mAh s výstupným DC káblom, ktorý ste dostali s prijímačom, a zapojte ho do portu DC na prijímači. Nakoniec pripojte čierny koniec kábla AVin, ktorý bol dodaný s vašim prijímačom, k portu AVin na vašom prijímači a druhý (žltý, ženský) koniec k žltému konektoru AVin vášho monitora.

V tomto mieste by ste mali na monitore vidieť pohľad kamery. Ak nemôžete, uistite sa, že sú prijímač aj vysielač zapnuté (na malých obrazovkách by ste mali vidieť čísla) a že sú na rovnakom kanáli (pre obidva sme použili kanál 11 a mali sme dobrý úspech). Ďalej možno budete musieť zmeniť kanál na monitore.

Namontujte komponenty na rám.

Akonáhle máte nastavenie funkčné, odpojte batérie, kým nebudete pripravení letieť.

Krok 9: Nastavte príjem údajov GPS

Nastavte príjem údajov GPS
Nastavte príjem údajov GPS
Nastavte príjem údajov GPS
Nastavte príjem údajov GPS

Pripojte svoje druhé Arduino k druhému transceiveru HC-12, ako je znázornené na vyššie uvedenej schéme, pričom majte na pamäti, že zariadenie bude napájané tak, ako je zobrazené, ak je zapojené do počítača. Stiahnite si dodaný kód transceiveru, otvorte sériový monitor na 9600 baudov.

Ak používate základnejšie nastavenie, mali by ste začať prijímať vety GPS, ak je váš štít GPS napájaný a správne prepojený s druhým transceiverom HC-12 (a ak je spínač na štíte v polohe „Priamy zápis“).

U Mega skontrolujte, či je prepínač v polohe „Soft Serial“.

Krok 10: Vykonajte inštalačný kód (Uno)

Tento kód je identický s kódom, ktorý použil Joop Brokking vo svojom tutoriáli o kvadrokoptére Arduino, a za jeho napísanie si zaslúži všetku zásluhu.

Keď je batéria odpojená, pomocou kábla USB pripojte počítač k Arduinu a nahrajte priložený inštalačný kód. Zapnite RC vysielač. Otvorte sériový monitor na 57 600 baudov a postupujte podľa pokynov.

Časté chyby:

Ak sa kód nepodarí načítať, uistite sa, že piny 0 a 1 sú odpojené od štítu UNO/GPS. Jedná sa o rovnaký hardvérový port, ktorý zariadenie používa na komunikáciu s počítačom, preto musí byť voľný.

Ak kód preskočí niekoľko krokov naraz, skontrolujte, či je prepínač GPS v polohe „Priamy zápis“.

Ak nie je detekovaný žiadny prijímač, uistite sa, že je prijímač pri zapnutom vysielači neprerušovane (ale tlmene) červený. Ak je to tak, skontrolujte zapojenie.

Ak nie je zistené žiadne gyroskop, môže to byť spôsobené tým, že je gyroskop poškodený, alebo ak máte iný typ gyroskopu, než na ktorý je kód určený na zápis.

Krok 11: Vykonajte inštalačný kód (mega)

Tento kód je identický s kódom, ktorý použil Joop Brokking vo svojom tutoriáli o kvadrokoptére Arduino, a za jeho napísanie si zaslúži všetku zásluhu. Jednoducho sme upravili zapojenie pre Mega tak, aby vstupy prijímača zodpovedali správnym pinom prerušenia zmeny PIN.

Keď je batéria odpojená, pomocou kábla USB pripojte počítač k Arduinu a nahrajte priložený inštalačný kód. Otvorte sériový monitor na 57 600 baudov a postupujte podľa pokynov.

Krok 12: Kalibrácia ESC (Uno)

Tento kód je opäť identický s kódom Joop Brokking. Všetky úpravy boli vykonané v snahe integrovať GPS a Arduino a nájdete ich neskôr v popise konštrukcie pokročilejšej kvadrokoptéry.

Nahrajte priložený kalibračný kód ESC. Na sériový monitor napíšte písmeno „r“a stlačte návrat. Mali by ste začať vidieť uvedené hodnoty radiča RC v reálnom čase. Overte, či sa pohybujú od 1 000 do 2 000 pri extrémoch škrtiacej klapky, valca, sklonu a vybočenia. Potom napíšte „a“a stlačte kláves Return. Nechajte kalibráciu gyroskopu pokračovať a potom overte, či gyroskop registruje pohyb štvorice. Teraz odpojte arduino od počítača, zatlačte plyn na ovládači úplne hore a pripojte batériu. ESC by mali cyklovať rôzne tony pípnutia (ale to sa môže líšiť v závislosti od ESC a jeho firmvéru). Zatlačte plyn až na doraz. ESC by mali vydávať nižšie pípnutia a potom stíchnuť. Odpojte batériu.

Voliteľne môžete v tomto mieste pomocou kužeľov, ktoré boli dodané s balíčkami príslušenstva na upevnenie motora, pevne priskrutkovať vrtule. Potom na sériovom monitore zadajte čísla 1 - 4, aby sa motory 1 - 4 zapli na najmenší výkon. Program zaregistruje množstvo trasenia v dôsledku nerovnováhy rekvizít. Môžete to skúsiť napraviť pridaním malého množstva škótskej pásky na jednu alebo druhú stranu rekvizít. Zistili sme, že bez tohto kroku dokážeme dobre lietať, ale možno o niečo menej efektívne a hlasnejšie, ako keby sme vyvážili rekvizity.

Krok 13: Kalibrácia ESC (mega)

Tento kód je veľmi podobný Brokkingovmu kódu, ale upravili sme ho (a zodpovedajúce zapojenie) tak, aby fungoval s Mega.

Nahrajte priložený kalibračný kód ESC. Na sériový monitor napíšte písmeno „r“a stlačte návrat. Mali by ste začať vidieť uvedené hodnoty radiča RC v reálnom čase. Overte, či sa pohybujú od 1 000 do 2 000 pri extrémoch škrtiacej klapky, valca, sklonu a vybočenia.

Potom napíšte „a“a stlačte kláves Return. Nechajte kalibráciu gyroskopu pokračovať a potom overte, či gyroskop registruje pohyb štvorice.

Teraz odpojte arduino od počítača, zatlačte plyn na ovládači úplne hore a pripojte batériu. ESC by mali vydať tri nízke pípnutia, po ktorých by nasledovalo vysoké pípnutie (môže sa to však líšiť v závislosti od ESC a jeho firmvéru). Zatlačte plyn až na doraz. Odpojte batériu.

Zmeny, ktoré sme urobili v tomto kóde, boli prechod z používania PORTD pre piny ESC na používanie PORTA a potom zmena bajtov zapísaných do týchto portov, aby sme aktivovali správne piny, ako je znázornené na schéme zapojenia. Táto zmena je z toho dôvodu, že piny registra PORTD nie sú na rovnakom mieste na Mega, ako sú na Uno. Tento kód sme nemohli úplne otestovať, pretože sme pracovali so starou značkou Mega, ktorú mal obchod našej školy. To znamenalo, že z nejakého dôvodu nie všetky piny registra PORTA dokázali správne aktivovať ESC. Tiež sme mali problém s použitím operátora alebo sa rovná (| =) v niektorých z našich testovacích kódov. Nie sme si istí, prečo to spôsobovalo problémy pri zápise bajtov na nastavenie napätí pinov ESC, preto sme Brookingov kód upravili čo najmenej. Myslíme si, že tento kód je veľmi blízko funkčnosti, ale počet najazdených kilometrov sa môže líšiť.

Krok 14: Dostaňte sa do vzduchu !! (Uno)

A opäť, tento tretí kúsok geniálneho kódu je dielom Joopa Brokkinga. Zmeny všetkých týchto troch kúskov kódu sú k dispozícii iba pri našom pokuse o integráciu údajov GPS do Arduina.

Keď sú vaše vrtule pevne namontované na ráme a všetky súčiastky sú pripevnené, prilepené páskou alebo inak pripevnené, načítajte kód letového ovládača do svojho Arduina a potom Arduino odpojte od počítača.

Vezmite svoju kvadrokoptéru von, zapojte batériu a zapnite vysielač. Voliteľne si môžete priniesť prenosný počítač pripojený k vášmu prijímaciemu systému GPS, ako aj vášmu zariadeniu na príjem videa a monitoru. Vložte kód transceiveru do terestriálneho Arduina, otvorte sériový monitor na 9600 baudov a sledujte, ako sa vkladajú údaje GPS.

Teraz ste pripravení letieť. Stlačte plyn a zatáčajte doľava, aby ste zapli kvadrokoptéru, potom jemne nadvihnite plyn, aby sa vznášal. Začnite tým, že budete lietať nízko nad zemou a po mäkkých povrchoch, ako je tráva, kým sa nepohodnete.

Pozrite sa na vložené video, ako vzrušene lietame s dronom, keď sme prvýkrát dokázali zaistiť súčinnosť drona a GPS súčasne.

Krok 15: Dostaňte sa do vzduchu !! (Mega)

Vzhľadom na naše zavesenie s kalibračným kódom ESC pre Mega sa nám nikdy nepodarilo vytvoriť kód letového ovládača pre túto dosku. Ak ste sa dostali do tohto bodu, potom si predstavujem, že ste sa aspoň pohrávali s kalibračným kódom ESC, aby fungoval pre Mega. Preto budete pravdepodobne musieť vykonať podobné úpravy kódu letového ovládača, ako ste urobili v poslednom kroku. Ak náš kalibračný kód ESC pre Mega magicky funguje bez akýchkoľvek ďalších úprav, potom musíte so základným kódom urobiť len niekoľko vecí, aby v tomto kroku fungoval. Najprv budete musieť prejsť a nahradiť všetky inštancie systému PORTD portom PORTA. Nezabudnite tiež zmeniť DDRD na DDRA. Potom budete musieť zmeniť všetky bajty zapísané do registra PORTA tak, aby aktivovali správne piny. Na tento účel použite bajt B11000011 na nastavenie pinov na vysoké hodnoty a B00111100 na nastavenie pinov na nízke hodnoty. Veľa šťastia a dajte nám vedieť, či úspešne lietate pomocou Mega!

Krok 16: S Mega Designom sme sa dostali tam, kde sa momentálne nachádzame

Tento projekt bol pre nás ako začiatočníkov v Arduine a elektronike nesmiernym vzdelávacím zážitkom. Preto by sme zahrnuli ságu všetkého, s čím sme sa stretli pri pokuse o povolenie GPS kódu Joop Brokking. Pretože je Brokkingov kód taký dôkladný a oveľa komplikovanejší než čokoľvek, čo sme písali, rozhodli sme sa ho upraviť čo najmenej. Pokúsili sme sa získať štít GPS na odosielanie údajov do Arduina a potom nechať Arduino, aby nám tieto informácie odoslal cez transceiver HC12 bez toho, aby sme akýmkoľvek spôsobom upravovali letový kód alebo vedenie. Po prezretí schémy a zapojenia nášho Arduino Uno, aby sme zistili, aké piny sú k dispozícii, sme zmenili kód transceivera GPS, ktorý sme používali na vyriešenie existujúceho dizajnu. Potom sme to otestovali, aby sme sa uistili, že všetko funguje. V tomto momente to vyzeralo sľubne.

Ďalším krokom bola integrácia kódu, ktorý sme práve upravili a testovali s Brokkingovým letovým ovládačom. Nebolo to príliš ťažké, ale rýchlo sme narazili na chybu. Letový ovládač Brokking sa spolieha na knižnice Arduino Wire a EEPROM, zatiaľ čo náš kód GPS používal softvérovú sériovú knižnicu aj knižnicu GPS Arduino. Pretože drôtová knižnica odkazuje na softvérovú sériovú knižnicu, vyskytla sa chyba, v ktorej by sa kód nemohol skompilovať, pretože pre „_vector 3_“existovalo „viac definícií, bez ohľadu na to, čo to znamená. Potom, čo sme sa pozreli na Google a poobzerali sa v knižniciach, sme si nakoniec uvedomili, že tento konflikt v knižniciach znemožnil spoločné používanie týchto kúskov kódu. Išli sme teda hľadať alternatívy.

Zistili sme, že jedinou kombináciou knižníc, ktoré na nás nevrhli chybu, bolo prepnutie štandardnej knižnice GPS na neoGPS a použitie AltSoftSerial namiesto Software Serial. Táto kombinácia fungovala, AltSoftSerial však môže fungovať iba so špecifickými kolíkmi, ktoré v našom dizajne neboli k dispozícii. Práve to nás viedlo k používaniu Mega. Arduino Megas má viac hardvérových sériových portov, čo znamenalo, že sme mohli tento konflikt knižnice obísť tak, že nebudeme musieť vôbec otvárať softvérové sériové porty.

Keď sme však Mega začali používať, rýchlo sme zistili, že konfigurácia pinov je odlišná. Piny na Uno, ktoré majú prerušenia, sa na Mega líšia. Podobne piny SDA a SCL boli na rôznych miestach. Po preštudovaní pinových diagramov pre každý typ Arduina a refrencingu registrov zavolaných v kóde sme dokázali spustiť kód nastavenia letu len s minimálnym prepájaním a bez softvérových zmien.

Kalibračný kód ESC je miesto, kde sme začali narážať na problémy. Krátko sme sa toho dotkli predtým, ale v zásade kód používa kolíkové registre na reguláciu pinov používaných na ovládanie ESC. Vďaka tomu je kód ťažšie čitateľný ako používanie štandardnej funkcie pinMode (); kód však pobeží rýchlejšie a súčasne aktivuje piny. Je to dôležité, pretože letový kód beží v starostlivo načasovanej slučke. Vzhľadom na rozdiely v kolíkoch medzi Arduinosom sme sa rozhodli použiť na Mega register portov A. Pri našom testovaní nám však nie všetky piny poskytli rovnaké výstupné napätie, keď nám bolo povedané, že sú vysoké. Niektoré piny mali výkon okolo 4,90 V a iné nám poskytli bližšie k 4,95 V. Zdá sa, že ESC, ktoré máme, sú trochu chúlostivé, a preto by správne fungovali, iba ak by sme použili kolíky s vyšším napätím. To nás potom prinútilo zmeniť bajty, ktoré sme napísali, do registra A, aby sme hovorili so správnymi kolíkmi. V sekcii kalibrácie ESC je o tom viac informácií.

To je zhruba tak ďaleko, ako sme sa dostali v tejto časti projektu. Keď sme išli testovať tento upravený kalibračný kód ESC, niečo sa skratovalo a stratili sme komunikáciu s naším Arduinom. Boli sme z toho veľmi zmätení, pretože sme nezmenili žiadne vedenie. To nás prinútilo ustúpiť a uvedomiť si, že na to, aby sme dostali lietajúci dron, sme mali len pár dní po týždňoch snaženia sa spojiť naše nekompatibilné kúsky dohromady. Preto sme ustúpili a vytvorili jednoduchší projekt s Uno. Stále si však myslíme, že náš prístup je blízky práci s Mega s trochou viac času.

Našim cieľom je, aby vám toto vysvetlenie prekážok, s ktorými sme sa stretli, pomohlo, ak pracujete na úprave Brokkingovho kódu. Tiež sme nikdy nemali šancu vyskúšať si kódovanie akýchkoľvek funkcií autonómneho riadenia na základe GPS. To je niečo, čo budete musieť zistiť po vytvorení pracovného drona s Mega. Z predbežného výskumu spoločnosti Google však vyzerá, že implementácia Kalmanovho filtra môže byť najstabilnejším a najpresnejším spôsobom určenia polohy za letu. Odporúčame vám, aby ste si urobili malý prieskum o tom, ako tento algoritmus optimalizuje odhady stavu. Okrem toho veľa šťastia a dajte nám vedieť, ak sa dostanete ďalej, ako sme boli schopní!

Odporúča: