Obsah:

Průvodce, který jsem si přál při stavbě dronu Arduino: 9 kroků
Průvodce, který jsem si přál při stavbě dronu Arduino: 9 kroků

Video: Průvodce, který jsem si přál při stavbě dronu Arduino: 9 kroků

Video: Průvodce, který jsem si přál při stavbě dronu Arduino: 9 kroků
Video: Leap Motion SDK 2024, Prosinec
Anonim
Průvodce, který jsem si přál mít při stavbě dronu Arduino
Průvodce, který jsem si přál mít při stavbě dronu Arduino

This is document is a kind of "How to guide" slash documentation that goes through process it has have to understand the concepts to reach my goal of building a simple quadcopter that I could control from my mobile phone.

K provedení tohoto projektu jsem chtěl získat představu o tom, co je to vlastně dron, v mém případě kvadrokoptéra, a tak jsem začal dělat nějaký výzkum. Sledoval jsem spoustu videí z YouTube, přečetl spoustu článků a nerozbitných stránek a toto jsem dostal.

V zásadě můžete dron rozdělit na dvě části. Říkal jsem tomu „fyzický“a „řadič“. Fyzická je v podstatě vše, co má co do činění s mechanikou, díky níž dron létá. Jsou to věci jako motor, rám, baterie, vrtule a všechny další věci, které dronu fyzicky umožňují létat.

Ovladač je v podstatě letový ovladač. Co řídí fyzické, aby dron mohl létat jako celá jednotka bez pádu. V podstatě mikrokontrolér, software na něm a senzory, které mu pomáhají triangulovat jeho ložiska. Abych tedy mohl mít dron, potřeboval jsem ovladač a spoustu fyzických částí, které by ovladač mohl „ovládat“.

Zásoby

Rozpočet projektu: 250 $

Časový rámec: 2 týdny

Věci ke koupi:

  • Fyzický rám 20 $
  • Čepele $ 0 (Dodává se s rámem)
  • Balíček baterií 25 $
  • ESC (elektronické regulátory otáček) $ 0 (dodává se s motory)
  • Motory 70 dolarů

Ovladač letu

  • Arduino nano 20 dolarů
  • USB kabel Arduino 2 $
  • Modul Bluetooth (HC-05) 8 $
  • 3mm LED a 330 Ohm rezistory a vodiče 13 $
  • GY-87 (akcelerometr, gyroskop) 5 $
  • Deska prototypu 10 $
  • Mužské a ženské hlavičky 5 $

jiný

  • Pájecí sada 10 $
  • Multimetr 20 $

Chtěl jsem si užít stavbu tohoto projektu jako inženýr, a tak jsem si koupil další věci, které jsem nemusel.

Celkem: 208 $

Krok 1: Moje počáteční zkušenost

Poté, co jsem koupil všechny své komponenty, dal jsem to všechno dohromady a poté jsem se pokusil spustit dron pomocí Multiwii (přechod na software, který používá hodně komunity DIY dronů), ale rychle jsem si uvědomil, že plně nerozumím tomu, co jsem dělal, protože tam bylo hodně chyb a já neměl tušení, jak je opravit.

Poté jsem se rozhodl dron rozebrat a porozumět každému dílu kousek po kousku a přestavět jej tak, abych úplně porozuměl všemu, co se děje.

V následujících částech projdu proces skládání skládačky dohromady. Předtím si udělejme rychlý přehled.

Fyzický

Fyzicky bychom měli mít: rám, vrtule, baterii a escs. Bylo by celkem snadné je dát dohromady. Chcete -li těmto částem porozumět a které byste si měli pořídit, můžete navštívit tento odkaz. Vysvětluje, co potřebujete vědět o koupi každého z dílů, které jsem uvedl. Podívejte se také na toto video z YouTube. Pomůže vám, pokud se zaseknete při skládání dílů dohromady.

Krok 2: Tipy na skládání a ladění fyzických částí

Tipy na skládání a ladění fyzických částí
Tipy na skládání a ladění fyzických částí

Vrtule a motory

  • Chcete -li zkontrolovat, zda jsou vaše vrtule ve správné orientaci (převrácené nebo ne), když je otáčíte ve směru určeném motory (většina motorů má šipky ukazující, jak by se měly otáčet), měli byste cítit vítr pod vrtulemi a ne nad nimi.
  • Šrouby na protilehlých vrtulích by měly mít stejnou barvu.
  • Barva sousedních vrtulí by měla být stejná.
  • Ujistěte se také, že jste motory uspořádali tak, aby se točily stejně jako na obrázku výše.
  • Pokud se pokoušíte otočit směr motoru, stačí vyměnit kabely na opačných koncích. Tím se obrátí směr motoru.

Baterie a napájení

  • Pokud z nějakého důvodu věci jiskří a nemůžete přijít na to, proč, je to s největší pravděpodobností proto, že jste prohodili pozitivní a negativní stránky.
  • Pokud si nejste jisti, kdy dobít baterie, můžete ke kontrole napětí použít voltmetr. Pokud je nižší, než uvádějí specifikace baterie, je třeba ji nabít. Podívejte se na tento odkaz o nabíjení baterií.
  • Většina baterií LIPO není dodávána s nabíječkami baterií. Kupujete je samostatně.

Krok 3: Ovladač Arduino

Ovladač Arduino
Ovladač Arduino

To je bezpochyby nejtěžší část celého tohoto projektu. Je velmi snadné vyhodit součásti do vzduchu a ladění může být velmi frustrující, pokud nevíte, co děláte. Také v tomto projektu jsem ovládal svůj dron pomocí bluetooth a aplikace, kterou vám ukážu, jak stavět. Díky tomu byl projekt obzvláště obtížnější, protože 99% výukových programů tam používá rádiové ovladače (to není fakt lol), ale nebojte se, prošel jsem frustrací pro vás.

Tipy, než se na tuto cestu vydáte

  • Před finalizací zařízení na desce plošných spojů použijte prkénko. To vám umožní snadno provádět změny.
  • Pokud jste komponentu podrobně testovali a nefunguje, pravděpodobně nefunguje!
  • Než připojíte zařízení, podívejte se na napětí, které zařízení zvládne!

    • Arduino zvládne 6 až 20V, ale zkuste to omezit na 12V, abyste to nevyhodili do vzduchu. Více o jeho specifikacích si můžete přečíst zde.
    • HC-05 zvládne až 5V, ale některé piny fungují na 3,3V, takže na to si dejte pozor. Promluvíme si o tom později.
    • IMU (GY-521, MPU-6050) funguje také na 5V.
  • K sestavení naší aplikace použijeme RemoteXY. Pokud jej chcete vytvořit na zařízení iOS, musíte použít jiný modul bluetooth (HM-10). Více se o tom můžete dozvědět na webu RemoteXY.

Snad jste si přečetli tipy. Nyní otestujme každou součást, která bude součástí ovladače, samostatně.

Krok 4: MPU-6050

MPU-6050
MPU-6050

Toto zařízení má gyroskop a akcelerometr, takže vám v podstatě říká zrychlení ve směru (X, Y, Z) a úhlové zrychlení v těchto směrech.

Chcete -li to vyzkoušet, můžeme použít tutoriál o tomto, můžeme použít tento tutoriál na webu Arduino. Pokud to funguje, měli byste získat proud hodnot akcelerometru a gyroskopu, které se mění při naklonění, otočení a zrychlení nastavení. Zkuste také vyladit a manipulovat s kódem, abyste věděli, co se děje.

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

Tuto část nemusíte dělat, ale je důležité, abyste mohli přejít do režimu AT (režim nastavení), protože s největší pravděpodobností budete muset změnit jedno z nastavení modulu. To byla jedna z nejvíce frustrujících částí tohoto projektu. Udělal jsem tolik výzkumu, abych zjistil, jak dostat svůj modul do režimu AT, protože moje zařízení nereagovalo na mé příkazy. Trvalo mi 2 dny, než jsem dospěl k závěru, že byl můj modul rozbitý. Objednal jsem si další a fungovalo to. Podívejte se na tento návod, jak se dostat do režimu AT.

HC-05 se dodává v různých typech, některé jsou s tlačítky a některé bez a všechny druhy designových proměnných. I když je to konstantní, je to, že všichni mají „Pin 34“. Podívejte se na tento návod.

Věci, které byste měli vědět

  • Chcete -li přejít do režimu AT, podržte 5V na kolíku 34 modulu bluetooth, než k němu připojíte napájení.
  • Připojte potenciální dělič ke kolíku RX modulu, který pracuje na 3,3 V. Stále byste jej mohli používat při 5 V, ale v případě, že se něco pokazí, může tento pin smažit.
  • Pokud používáte Pin 34 (místo tlačítka nebo jiným způsobem, který jste našli online), modul nastaví přenosovou rychlost bluetooth na 38 400. Proto v odkazu na tutoriál výše je v kódu řádek, který říká:

BTSerial.begin (38400); // Výchozí rychlost HC-05 v AT příkazu více

Pokud modul stále nereaguje pomocí „OK“, zkuste přepnout piny tx a rx. To by mělo být:

Bluetooth => Arduino

RXD => TX1

TDX => RX0

Pokud to stále nefunguje, zvolte změnit piny v kódu na jiné piny Arduino. Vyzkoušejte, pokud to nefunguje, vyměňte piny tx a rx, pak proveďte test znovu

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

Změňte řádek výše. Můžete vyzkoušet RX = 2, TX = 3 nebo jiné platné kombinace. Můžete se podívat na čísla pinů Arduino na obrázku výše.

Krok 6: Připojení dílů

Připojení dílů
Připojení dílů

Nyní, když jsme si jisti, že vše funguje, je čas začít je dávat dohromady. Díly můžete připojit stejně, jak je znázorněno na obvodu. Mám to od Electronoobs. S tímto projektem mi opravdu pomohl. Podívejte se na jeho verzi projektu zde. Pokud sledujete tento tutoriál, nemusíte si dělat starosti s připojením přijímače: input_Yaw, input_Pitch atd. Vše, co bude řešeno pomocí bluetooth. Také připojte bluetooth tak, jak jsme to udělali v předchozí části. Moje tx a rx piny mi dělaly trochu potíže, takže jsem použil Arduino:

RX jako 2 a TX jako 3 místo normálních pinů. Dále napíšeme jednoduchou aplikaci, kterou budeme nadále vylepšovat, dokud nebudeme mít finální produkt.

Krok 7: Krása RemoteXY

Krása RemoteXY
Krása RemoteXY

Nejdelší dobu jsem přemýšlel o snadném způsobu, jak vytvořit použitelnou aplikaci Remote, která by mi umožnila ovládat dron. Většina lidí používá MIT App Inventor, ale uživatelské rozhraní není tak hezké, jak bych chtěl, a také nejsem příznivcem obrazového programování. Mohl jsem to navrhnout pomocí Android Studio, ale to by bylo příliš mnoho práce. Byl jsem nesmírně nadšený, když jsem našel tutoriál pomocí RemoteXY. Zde je odkaz na web. Jeho použití je velmi snadné a dokumentace je velmi dobrá. Pro náš dron vytvoříme jednoduché uživatelské rozhraní. Své si můžete přizpůsobit, jak se vám líbí. Jen se ujistěte, že víte, co děláte. Postupujte podle pokynů zde.

Jakmile to uděláte, upravíme kód, abychom mohli změnit plyn na naší helikoptéře. Přidejte do kódu řádky, které obsahují / **** Věci, které byste měli udělat, a proč *** /.

Pokud není kompilace, ujistěte se, že máte staženou knihovnu. Otevřete také ukázkový náčrt a porovnejte, co má a co váš ne.

//////////////////////////////////////////////////// RemoteXY zahrnují knihovna // ///////////////////////////////////////////////////

// RemoteXY vyberte režim připojení a zahrňte knihovnu

#define REMOTEXY_MODE_HC05_SOFTSERIAL

#include #include #include

// Nastavení připojení 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;

// Konfigurace 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}; // tato struktura definuje všechny proměnné struktury ovládacího rozhraní {

// vstupní proměnná

int8_t Joystick_x; // -100..100 x -souřadnicová poloha joysticku int8_t Joystick_y; // -100..100 poloha souřadnice joysticku y int8_t ThrottleSlider; // 0..100 pozice jezdce

// jiná proměnná

uint8_t connect_flag; // = 1, pokud je připojen vodič, else = 0

} RemoteXY;

#pragma pack (pop)

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

// END RemoteXY include // ///////////////////////////////////////////////////// /

/********** Přidejte tento řádek, aby byla zachována hodnota škrticí klapky **************/

int input_THROTTLE;

neplatné nastavení () {

RemoteXY_Init ();

/********** Připojte motory k kolíkům Změňte hodnoty tak, aby odpovídaly vašim **************/

L_F_prop.attach (4); // levý přední motor

L_B_prop.attach (5); // levý zadní motor R_F_prop.attach (7); // motor vpředu vpravo R_B_prop.attach (6); // pravý zadní motor

/************* Zabraňte esc ve vstupu do programovacího režimu *******************/

L_F_prop.writeMicroseconds (1000); L_B_prop.writeMicroseconds (1000); R_F_prop.writeMicroseconds (1000); R_B_prop.writeMicroseconds (1000); zpoždění (1000);

}

prázdná smyčka () {

RemoteXY_Handler ();

/****** Mapujte hodnotu škrticí klapky, kterou získáte z aplikace, na 1000 a 2000, což jsou hodnoty, na kterých většina ESC pracuje na *********/

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: Testování

Pokud jste udělali vše správně, měli byste mít možnost vyzkoušet svou helikoptéru posunutím plynu nahoru a dolů. Určitě to udělejte venku. Nenechávejte vrtule zapnuté, protože to způsobí, že helikoptéra vyskočí. Ještě jsme nenapsali kód, abychom jej vyrovnali, takže by bylo ŠPATNÝM NÁPADEM TOTO ZKOUŠET S VRTULE NA! Udělal jsem to jen proto, že lmao.

Demonstrace má jen ukázat, že bychom měli být schopni ovládat plyn z aplikace. Všimnete si, že motory koktají. Důvodem je, že ESC nebyly kalibrovány. Chcete -li to provést, podívejte se na pokyny na této stránce Github. Přečtěte si pokyny, otevřete soubor ESC-Calibration.ino a postupujte podle těchto pokynů. Pokud chcete pochopit, co se děje, podívejte se na tento návod od Electronoobs.

Během běhu programu nezapomeňte dron svázat, jak to půjde na plný plyn. Také se ujistěte, že nejsou zapnuty vrtule. Svůj jsem nechal jen proto, že jsem napůl blázen. NENECHÁVEJTE SVÉ vrtule !!! Tato ukázka je ukázána ve druhém videu.

Krok 9: Pracuji na kodexu. Dokončí instruktáž za několik dní

Jen jsem chtěl dodat, že pokud používáte tento návod a čekáte na mě, stále na něm pracuji. Jsou to jen další věci v mém životě, na kterých také pracuji, ale nebojte se, brzy to zveřejním. Řekněme, že nejpozději do 10. srpna 2019.

Aktualizace 10. srpna: Nechtěl jsem vás nechat viset. Minulý týden jsem bohužel neměl čas pracovat na projektu. Byli velmi zaneprázdněni jinými věcmi. Nechci tě vést. Doufám, že v blízké budoucnosti dokončím pokyny. Pokud máte nějaké dotazy nebo potřebujete pomoc, můžete přidat komentář níže a já se vám ozvu.

Doporučuje: