Obsah:

Príručka, ktorú som si želal pri stavbe dronu Arduino: 9 krokov
Príručka, ktorú som si želal pri stavbe dronu Arduino: 9 krokov

Video: Príručka, ktorú som si želal pri stavbe dronu Arduino: 9 krokov

Video: Príručka, ktorú som si želal pri stavbe dronu Arduino: 9 krokov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, December
Anonim
Príručka, ktorú som si želal, aby som mal pri stavbe dronu Arduino
Príručka, ktorú som si želal, aby som mal pri stavbe dronu Arduino

Tento dokument je akýmsi dokumentom o lomke „Ako viesť“, ktorý prešiel procesom a trvalo mi porozumieť konceptom, aby som dosiahol svoj cieľ postaviť jednoduchú kvadrokoptéru, ktorú by som mohol ovládať zo svojho mobilného telefónu.

Aby som urobil tento projekt, chcel som získať predstavu o tom, čo je to vlastne dron, v mojom prípade kvadrokoptéra, a tak som začal robiť malý prieskum. Pozrel som si veľa videí na YouTube, prečítal som veľa článkov a nezničiteľných stránok a toto som dostal.

V zásade môžete dron rozdeliť na dve časti. Nazval som to „fyzický“a „kontrolór“. Fyzická je v podstate všetko, čo má do činenia s mechanikou, vďaka ktorej dron letí. Sú to veci ako motor, rám, batéria, vrtule a všetky ostatné veci, ktoré dronu fyzicky umožňujú lietať.

Ovládač je v zásade letový ovládač. Čo ovláda fyzické, aby dron mohol lietať ako celok bez toho, aby spadol. V zásade mikrokontrolér, softvér na ňom a senzory, ktoré mu pomáhajú triangulovať ložiská. Na to, aby som mal dron, som teda potreboval ovládač a veľa fyzických súčiastok, ktoré by ovládač mohol „ovládať“.

Zásoby

Rozpočet na projekt: 250 dolárov

Časový rámec: 2 týždne

Veci na nákup:

  • Fyzický rám 20 dolárov
  • Čepele 0 dolárov (dodáva sa s rámom)
  • Batéria 25 dolárov
  • ESC (elektronické regulátory rýchlosti) 0 dolárov (dodáva sa s motormi)
  • Motory 70 dolárov

Letový ovládač

  • Arduino nano 20 dolárov
  • Kábel USB Arduino 2 doláre
  • Modul Bluetooth (HC-05) 8 dolárov
  • 3mm LED a 330 Ohm rezistory a vodiče 13 dolárov
  • GY-87 (akcelerometer, gyroskop) 5 dolárov
  • Prototypová rada 10 dolárov
  • Mužské a ženské hlavičky 5 dolárov

Iné

  • Spájkovacia súprava 10 dolárov
  • Multimetr 20 dolárov

Chcel som si užiť budovanie tohto projektu ako inžinier, a tak som si kúpil ďalšie veci, ktoré som nemusel.

Spolu: 208 dolárov

Krok 1: Moja počiatočná skúsenosť

Po zakúpení všetkých svojich komponentov som to všetko spojil a potom som sa pokúsil spustiť dron pomocou programu Multiwii (prechod na softvér, ktorý používa veľa komunít zameraných na výrobu dronov), rýchlo som však zistil, že nerozumiem úplne tomu, čo som robil, pretože bolo veľa chýb a ja som nevedel, ako ich opraviť.

Potom som sa rozhodol dron rozobrať a porozumieť každému komponentu po kúsku a prestavať ho tak, aby som úplne porozumel všetkému, čo sa deje.

V nasledujúcich častiach prejdem procesom skladania puzzle dohromady. Predtým si urobme rýchly prehľad.

Fyzické

Pokiaľ ide o fyzické, mali by sme mať: rám, vrtule, batériu a escs. Dalo by sa to celkom ľahko skĺbiť. Aby ste porozumeli týmto častiam a tým, ktoré by ste si mali zaobstarať, môžete navštíviť tento odkaz. Vysvetľuje, čo potrebujete vedieť o kúpe každej z uvedených súčiastok. Pozrite si aj toto video na YouTube. Pomôže vám, ak zostanete pri spájaní dielov dohromady.

Krok 2: Tipy na spájanie a ladenie fyzických častí

Tipy na spájanie a ladenie fyzických častí
Tipy na spájanie a ladenie fyzických častí

Vrtule a motory

  • Ak chcete skontrolovať, či sú vaše vrtule v správnej orientácii (preklopené alebo nie), keď ich otáčate v smere uvedenom motormi (väčšina motorov má šípky ukazujúce, ako by sa mali otáčať), mali by ste cítiť vietor pod vrtulami a nie nad nimi.
  • Skrutky na protiľahlých vrtuliach by mali mať rovnakú farbu.
  • Farba susedných vrtúľ by mala byť rovnaká.
  • Uistite sa tiež, že ste motory usporiadali tak, aby sa točili rovnako ako na obrázku vyššie.
  • Ak sa pokúšate obrátiť smer motora, stačí vymeniť vodiče na opačných koncoch. Tým sa zmení smer motora.

Batéria a výkon

  • Ak z nejakého dôvodu veci iskria a nemôžete prísť na to, prečo, je to s najväčšou pravdepodobnosťou preto, že ste si vymenili pozitívne a negatívne stránky.
  • Ak si nie ste istí, kedy nabiť batérie, môžete napätie skontrolovať pomocou voltmetra. Ak je nižšia ako špecifikácie batérie, je potrebné ju nabiť. Pozrite sa na tento odkaz o nabíjaní batérií.
  • Väčšina batérií LIPO sa nedodáva s nabíjačkami. Kúpite ich samostatne.

Krok 3: Ovládač Arduino

Ovládač Arduino
Ovládač Arduino

Toto je bezpochyby najťažšia časť celého tohto projektu. Je veľmi ľahké vyhodiť komponenty do vzduchu a ladenie môže byť veľmi frustrujúce, ak neviete, čo robíte. Aj v tomto projekte som ovládal svoj dron pomocou bluetooth a aplikácie, ktorú vám ukážem, ako sa stavia. Vďaka tomu bol projekt obzvlášť náročný, pretože 99% návodov tam používa rádiové ovládače (to nie je fakt lol), ale nebojte sa, prešiel som kvôli vám frustráciou.

Tipy, než sa vydáte na túto cestu

  • Pred finalizáciou zariadenia na doske plošných spojov použite breadboard. To vám umožní ľahko vykonávať zmeny.
  • Ak ste komponent podrobne testovali a nefunguje, pravdepodobne nefunguje!
  • Pred pripojením zariadenia sa pozrite na napätie, ktoré dokáže zariadenie zvládnuť!

    • Arduino zvládne 6 až 20V, ale snažte sa ho zapnúť na 12V, aby ste ho nevyhodili do vzduchu. Viac o jeho špecifikáciách si môžete prečítať tu.
    • HC-05 môže pracovať až do 5 V, ale niektoré kolíky fungujú pri 3,3 V, na to si dajte pozor. Porozprávame sa o tom neskôr.
    • IMU (GY-521, MPU-6050) funguje aj pri 5V.
  • Na zostavenie našej aplikácie použijeme RemoteXY. Ak ho chcete postaviť na zariadení so systémom iOS, musíte použiť iný modul bluetooth (HM-10). Môžete sa o tom dozvedieť viac na webovej stránke RemoteXY.

Našťastie ste si prečítali tipy. Teraz vyskúšajme každý komponent, ktorý bude súčasťou ovládača, zvlášť.

Krok 4: MPU-6050

MPU-6050
MPU-6050

Toto zariadenie má gyroskop a akcelerometer, takže vám v podstate hovorí o zrýchlení v smere (X, Y, Z) a uhlovom zrýchlení v týchto smeroch.

Aby sme to mohli otestovať, môžeme použiť tutoriál, ktorý môžeme použiť na webe Arduino. Ak to funguje, mali by ste získať prúd hodnôt akcelerometra a gyroskopu, ktoré sa menia pri nakláňaní, otáčaní a zrýchľovaní nastavenia. Skúste tiež vyladiť a manipulovať s kódom, aby ste vedeli, čo sa deje.

Krok 5: Modul Bluetooth HC-05

Modul Bluetooth HC-05
Modul Bluetooth HC-05
Modul Bluetooth HC-05
Modul Bluetooth HC-05
Modul Bluetooth HC-05
Modul Bluetooth HC-05

Túto časť nemusíte robiť, ale je dôležité, aby ste mohli prejsť do režimu AT (režim nastavení), pretože s najväčšou pravdepodobnosťou budete musieť zmeniť jedno z nastavení modulu. Toto bola jedna z najviac frustrujúcich častí tohto projektu. Urobil som toľko výskumu, aby som zistil, ako dostať svoj modul do režimu AT, pretože moje zariadenie nereagovalo na moje príkazy. Trvalo mi 2 dni, kým som dospel k záveru, že môj modul je poškodený. Objednal som si ešte jeden a fungoval. Pozrite sa na tento návod, ako sa dostať do režimu AT.

HC-05 je dodávaný v rôznych druhoch, existujú niektoré s tlačidlami a niektoré bez a so všetkými druhmi dizajnových premenných. Neustále však je, že všetky majú „pin 34“. Pozrite sa na tento návod.

Veci, ktoré by ste mali vedieť

  • Ak chcete prejsť do režimu AT, pred pripojením napájania podržte 5V na kolíku 34 modulu bluetooth.
  • Pripojte rozdeľovač potenciálu k kolíku RX modulu, ktorý funguje na 3,3 V. Stále ho môžete používať pri 5 V, ale v prípade chyby sa môže vyprážať.
  • Ak použijete pin 34 (namiesto tlačidla alebo iným spôsobom, ktorý ste našli online), modul nastaví prenosovú rýchlosť bluetooth na 38 400. Preto v odkaze na vyššie uvedený návod je v kóde riadok, ktorý hovorí:

BTSerial.begin (38400); // Predvolená rýchlosť HC-05 v AT príkaz viac

Ak modul stále nereaguje pomocou „OK“, skúste prepnúť piny tx a rx. To by malo byť:

Bluetooth => Arduino

RXD => TX1

TDX => RX0

Ak to stále nefunguje, zvoľte zmenu pinov v kóde na iné piny Arduino. Otestujte, ak to nefunguje, vymeňte kolíky tx a rx, potom skúste znova

SoftwareSerial BTSerial (10, 11); // RX | TX

Zmeňte riadok vyššie. Môžete skúsiť RX = 2, TX = 3 alebo akékoľvek iné platné kombinácie. Môžete sa pozrieť na čísla pinov Arduino na obrázku vyššie.

Krok 6: Pripojenie dielov

Pripojenie dielov
Pripojenie dielov

Teraz, keď sme si istí, že všetko funguje, je načase začať ich dávať dohromady. Časti môžete pripojiť tak, ako je to znázornené na obvode. Mám to od Electronoobs. S týmto projektom mi skutočne pomohol. Jeho verziu projektu nájdete tu. Ak sa budete riadiť týmto návodom, nemusíte si robiť starosti s prepojením prijímača: input_Yaw, input_Pitch, atď. Všetko, čo bude riešené pomocou bluetooth. Pripojte tiež bluetooth tak, ako sme to urobili v predchádzajúcej časti. Moje piny tx a rx mi robili trochu problémy, takže som použil Arduino:

RX ako 2 a TX ako 3 namiesto bežných kolíkov. Ďalej napíšeme jednoduchú aplikáciu, ktorú budeme naďalej vylepšovať, kým nebudeme mať konečný produkt.

Krok 7: Krása RemoteXY

Krása RemoteXY
Krása RemoteXY

Najdlhšie som premýšľal o jednoduchom spôsobe, ako vytvoriť použiteľnú aplikáciu Remote, ktorá by mi umožnila ovládať dron. Väčšina ľudí používa MIT App Inventor, ale používateľské rozhranie nie je také pekné, ako by som chcel, a tiež nie som zástancom obrázkového programovania. Mohol som to navrhnúť pomocou Android Studio, ale to by bolo príliš veľa práce. Bol som veľmi nadšený, keď som našiel návod na používanie RemoteXY. Tu je odkaz na webovú stránku. Jeho použitie je veľmi jednoduché a dokumentácia je veľmi dobrá. Pre náš dron vytvoríme jednoduché používateľské rozhranie. Svoje si môžete prispôsobiť tak, ako sa vám páči. Len sa uistite, že viete, čo robíte. Postupujte podľa pokynov tu.

Akonáhle to urobíte, upravíme kód, aby sme mohli zmeniť plyn na našej helikoptére. Pridajte do kódu riadky, ktoré obsahujú / **** Veci, ktoré by ste mali urobiť a prečo *** /.

Ak nie je kompilácia, uistite sa, že máte stiahnutú knižnicu. Otvorte tiež ukážkový náčrt a porovnajte, čo obsahuje a čo nie.

//////////////////////////////////////////////////// RemoteXY zahrnúť knižnica // ///////////////////////////////////////////////////

// RemoteXY vyberte režim pripojenia a zahrňte knižnicu

#define REMOTEXY_MODE_HC05_SOFTSERIAL

#include #include #include

// Nastavenia pripojenia RemoteXY

#define REMOTEXY_SERIAL_RX 2 #define REMOTEXY_SERIAL_TX 3 #define REMOTEXY_SERIAL_SPEED 9600

// Vrtule

Servo L_F_prop; Servo L_B_prop; Servo R_F_prop; Servo R_B_prop;

// Konfigurácia RemoteXY

#pragma pack (push, 1) uint8_t RemoteXY_CONF = {255, 3, 0, 0, 0, 61, 0, 8, 13, 0, 5, 0, 49, 15, 43, 43, 2, 26, 31, 4, 0, 12, 11, 8, 47, 2, 26, 129, 0, 11, 8, 11, 3, 17, 84, 104, 114, 111, 116, 116, 108, 101, 0, 129, 0, 66, 10, 7, 3, 17, 80, 105, 116, 99, 104, 0, 129, 0, 41, 34, 6, 3, 17, 82, 111, 108, 108, 0}; // táto štruktúra definuje všetky premenné štruktúry vášho ovládacieho rozhrania {

// vstupná premenná

int8_t Joystick_x; // -100..100 x súradnicová poloha joysticku int8_t Joystick_y; // -100..100 poloha súradnicového joysticku v súradniciach int8_t ThrottleSlider; // 0..100 poloha posúvača

// iná premenná

uint8_t connect_flag; // = 1, ak je pripojený vodič, else = 0

} RemoteXY;

#pragma pack (pop)

/////////////////////////////////////////////

// KONEC RemoteXY zahrnúť // ///////////////////////////////////////////////////// /

/********** Pridajte tento riadok, aby bola zachovaná hodnota škrtiacej klapky *************/

int input_THROTTLE;

neplatné nastavenie () {

RemoteXY_Init ();

/********** Pripojte motory k kolíkom Zmeňte hodnoty tak, aby zodpovedali vašim **************/

L_F_prop.attach (4); // ľavý predný motor

L_B_prop.attach (5); // ľavý zadný motor R_F_prop.attach (7); // pravý predný motor R_B_prop.attach (6); // pravý zadný motor

/************* Zabrániť esc v prechode do režimu programovania *******************/

L_F_prop.writeMicroseconds (1000); L_B_prop.writeMicroseconds (1000); R_F_prop.writeMicroseconds (1000); R_B_prop.writeMicroseconds (1000); oneskorenie (1000);

}

prázdna slučka () {

RemoteXY_Handler ();

/****** Mapujte hodnotu škrtiacej klapky, ktorú získate z aplikácie, na 1 000 a 2 000, čo sú hodnoty, pri ktorých väčšina ESC pracuje pri *********/

input_THROTTLE = mapa (RemoteXY. ThrottleSlider, 0, 100, 1000, 2000);

L_F_prop.writeMicroseconds (input_THROTTLE);

L_B_prop.writeMicroseconds (input_THROTTLE); R_F_prop.writeMicroseconds (input_THROTTLE); R_B_prop.writeMicroseconds (input_THROTTLE); }

Krok 8: Testovanie

Ak ste urobili všetko správne, mali by ste byť schopní otestovať svoju helikoptéru posunutím plynu hore a dole. Uistite sa, že to robíte vonku. Rovnako nenechávajte vrtule zapnuté, pretože to spôsobí, že helikoptéra vyskočí. Kód sme ešte nenapísali, aby sme ho vyvážili, takže by bolo ZLÝM NÁPADOM TOTO TESTOVAŤ NA VRTÚRACH! Urobil som to len kvôli lmao.

Ukážka má len ukázať, že by sme mali byť schopní ovládať plyn z aplikácie. Všimnete si, že motory koktajú. Dôvodom je, že ESC neboli kalibrované. Za týmto účelom si prečítajte pokyny na tejto stránke Github. Prečítajte si pokyny, otvorte súbor ESC-Calibration.ino a postupujte podľa nich. Ak chcete pochopiť, čo sa deje, pozrite sa na tento návod od spoločnosti Electronoobs.

Kým bežíte program, uistite sa, že drona uviažete na struny, ako to pôjde na plný plyn. Tiež sa uistite, že nie sú zapnuté vrtule. Nechal som si len ten svoj, pretože som napoly blázon. NENECHÁVAJTE SVOJE vrtule !!! Táto ukážka je zobrazená v druhom videu.

Krok 9: Pracujem na kódexe. Dokončí inštrukcie za niekoľko dní

Chcel som len dodať, že ak používate tento návod a čakáte na mňa, stále na ňom pracujem. Sú to len ďalšie veci v mojom živote, na ktorých tiež pracujem, ale nebojte sa, čoskoro to zverejním. Povedzme, že najneskôr do 10. augusta 2019.

Aktualizácia 10. augusta: Nechcel som vás nechať visieť. Minulý týždeň som bohužiaľ nemal čas pracovať na projekte. Boli veľmi zaneprázdnení inými vecami. Nechcem ťa viesť. Dúfam, že v blízkej budúcnosti dokončím pokyny. Ak máte akékoľvek otázky alebo potrebujete pomoc, môžete pridať komentár nižšie a ja sa vám ozvem.

Odporúča: