Tartalomjegyzék:

Az útmutató, amelyet kívántam volna egy Arduino drón építéséhez: 9 lépés
Az útmutató, amelyet kívántam volna egy Arduino drón építéséhez: 9 lépés

Videó: Az útmutató, amelyet kívántam volna egy Arduino drón építéséhez: 9 lépés

Videó: Az útmutató, amelyet kívántam volna egy Arduino drón építéséhez: 9 lépés
Videó: K(ö) és F(ö) 4.0 vagyis kérdeztetek és felelek (Ták-Ól-Lak nélküli) 2024, November
Anonim
Az útmutató, amit szerettem volna egy Arduino drón építésénél
Az útmutató, amit szerettem volna egy Arduino drón építésénél

Ez a dokumentum egyfajta „Hogyan kell irányítani” perjel dokumentációt, amely végigmegy azon a folyamaton, amelyen keresztül megértettem a fogalmakat, hogy elérjem azt a célt, hogy létrehozzak egy egyszerű quadcoptert, amelyet mobiltelefonomról irányíthatok.

Ennek a projektnek a megvalósításához szerettem volna képet kapni arról, hogy mi is valójában egy drón, az én esetemben egy quadcopter, ezért elkezdtem kutatni. Sok YouTube -videót néztem, egy csomó cikket és Insructible oldalt olvastam, és ezt kaptam.

Lényegében két részre oszthatja a drónt. „Fizikai” és „Vezérlő” -nek neveztem. A Fizikai lényegében minden, ami a mechanikához kapcsolódik, ami miatt a drón repül. Ezek olyan dolgok, mint a motor, a keret, az akkumulátor, a légcsavarok és minden más dolog, ami fizikailag megadja a drón repülési képességét.

Az irányító lényegében a repülésirányító. Mi vezérli a fizikai, hogy a drón repülhet egész egység nélkül esés nélkül. Lényegében a mikrokontroller, a rajta lévő szoftver és az érzékelők, amelyek segítik a csapágyak háromszögelésében. Tehát összességében ahhoz, hogy legyen drónom, szükségem volt egy Vezérlőre, és egy csomó fizikai alkatrészre, hogy a vezérlő „vezérelje”.

Kellékek

A projekt költségvetése: 250 USD

Időtartam: 2 hét

Vásárolnivaló:

  • Fizikai keret 20 dollár
  • Pengék 0 dollár (kerettel együtt)
  • Akkumulátor 25 dollár
  • ESC (elektronikus sebességszabályozók) $ 0 (motorral együtt)
  • Motorok 70 dollár

Repülésvezérlő

  • Arduino nano 20 dollár
  • Arduino USB kábel $ 2
  • Bluetooth modul (HC-05) $ 8
  • 3 mm -es LED és 330 Ohm ellenállások és vezetékek $ 13
  • GY-87 (gyorsulásmérő, giroszkóp) 5 dollár
  • Prototípus tábla 10 dollár
  • Férfi és női fejlécek 5 dollár

Egyéb

  • Forrasztókészlet 10 dollár
  • Multiméter 20 dollár

Élvezni akartam ennek a projektnek az építését mérnökként, ezért vettem más dolgokat, amelyeket nem kellett.

Összesen: 208 dollár

1. lépés: Első tapasztalataim

Miután megvettem az összes alkatrészemet, összeszedtem az egészet, majd megpróbáltam elindítani a drónt, a Multiwii (a szoftver, amelyet a barkácsdrónok nagy része használ) segítségével, de gyorsan rájöttem, hogy nem teljesen értem, mit csinálta, mert sok hiba történt, és fogalmam sem volt, hogyan javítsam ki őket.

Ezt követően úgy döntöttem, hogy szétszedem a drónt, és darabonként megértem az egyes alkatrészeket, és úgy építem fel újra, hogy teljesen megértsem a történteket.

A következő szakaszokban a rejtvény összerakásának folyamatán megyek keresztül. Előtte tegyünk egy gyors áttekintést.

Fizikai

Fizikai szempontból rendelkeznünk kell: a kerettel, a propellerekkel, az akkumulátorral és az ESC -vel. Ezeket elég könnyű lenne összerakni. Ezen részek megértéséhez és azokhoz, amelyeket meg kell szereznie, látogasson el erre a linkre. Elmagyarázza, mit kell tudnia az általam felsorolt alkatrészek megvásárlásakor. Nézze meg ezt a Youtube videót is. Segít, ha elakad az alkatrészek összeillesztése.

2. lépés: Tippek a fizikai alkatrészek rögzítéséhez és hibakereséséhez

Tippek a fizikai alkatrészek rögzítéséhez és hibakereséséhez
Tippek a fizikai alkatrészek rögzítéséhez és hibakereséséhez

Propellerek és motorok

  • Annak ellenőrzéséhez, hogy a propellerei megfelelő irányban vannak -e (elfordítva vagy sem), amikor a motorok által jelzett irányba forgatja őket (a legtöbb motoron nyilak mutatják, hogyan kell forogniuk), akkor érezze a szellőt a propellerek alatt, és nem fent.
  • Az ellentétes légcsavarokon lévő csavaroknak azonos színűeknek kell lenniük.
  • A szomszédos légcsavarok színének azonosnak kell lennie.
  • Ügyeljen arra is, hogy a motorokat úgy rendezze el, hogy azok a fenti képen látható módon forogjanak.
  • Ha meg akarja fordítani a motor irányát, cserélje ki a vezetékeket az ellenkező végén. Ez megfordítja a motor irányát.

Akkumulátor és tápellátás

  • Ha valamilyen oknál fogva szikráznak a dolgok, és nem tudjátok kitalálni, miért, akkor valószínűleg azért, mert pozitív és negatív dolgokat cseréltek.
  • Ha nem biztos abban, hogy mikor töltse fel az akkumulátorokat, akkor egy voltmérővel ellenőrizheti a feszültséget. Ha alacsonyabb, mint az akkumulátor adatai, akkor fel kell tölteni. Nézze meg ezt a linket az akkumulátorok töltéséről.
  • A legtöbb LIPO akkumulátor nem rendelkezik töltővel. Külön vásárolhatja meg őket.

3. lépés: Az Arduino vezérlő

Az Arduino vezérlő
Az Arduino vezérlő

Kétségtelen, hogy ez az egész projekt legnehezebb része. Nagyon könnyű felrobbantani az alkatrészeket, és a hibakeresés rendkívül frusztráló lehet, ha nem tudja, mit csinál. Ebben a projektben is Bluetooth -on és egy alkalmazáson keresztül irányítottam a drónomat, és megmutatom, hogyan kell építeni. Ez különösen megnehezítette a projektet, mert az oktatóanyagok 99% -a rádióvezérlőket használ (ez nem tény, lol), de ne aggódjon, átéltem a csalódást.

Tippek az utazás megkezdése előtt

  • Használja a panelt, mielőtt véglegesíti a készüléket a NYÁK -on. Ez lehetővé teszi a változtatások egyszerű végrehajtását.
  • Ha alaposan tesztelt egy összetevőt, és nem működik, akkor valószínűleg nem működik!
  • Mielőtt csatlakoztatja, nézze meg, milyen feszültségeket képes kezelni az eszköz!

    • Az Arduino képes kezelni 6-20 V feszültséget, de próbálja meg 12 V -ra korlátozni, hogy ne robbantsa fel. A specifikációiról itt olvashat bővebben.
    • A HC-05 akár 5 V-ot is képes kezelni, de néhány tű 3,3 V-nál működik, ezért vigyázzon erre. Majd megbeszéljük.
    • Az IMU (GY-521, MPU-6050) szintén 5V-on működik.
  • A RemoteXY -t fogjuk használni az alkalmazás létrehozásához. Ha iOS-eszközön szeretné felépíteni, akkor egy másik bluetooth modult (The HM-10) kell használnia. Erről többet megtudhat a RemoteXY weboldalán.

Remélhetőleg elolvasta a tippeket. Most teszteljük külön -külön minden egyes komponenst, amely a vezérlő része lesz.

4. lépés: Az MPU-6050

Az MPU-6050
Az MPU-6050

Ez az eszköz giroszkóppal és gyorsulásmérővel rendelkezik, így lényegében a (X, Y, Z) irányú gyorsulást és ezen irányok szöggyorsulását jelzi.

Ennek teszteléséhez használhatjuk az erről szóló oktatóanyagot, ezt az oktatóanyagot az Arduino webhelyen. Ha működik, akkor gyorsulásmérő és giroszkóp értékeket kell kapnia, amelyek a beállítás billentésekor, forgatásakor és felgyorsításakor változnak. Ezenkívül próbálja meg módosítani és manipulálni a kódot, hogy tudja, mi történik.

5. lépés: A HC-05 Bluetooth modul

A HC-05 Bluetooth modul
A HC-05 Bluetooth modul
A HC-05 Bluetooth modul
A HC-05 Bluetooth modul
A HC-05 Bluetooth modul
A HC-05 Bluetooth modul

Ezt a részt nem kell elvégeznie, de fontos, hogy AT módba (beállítási módba) léphessen, mivel nagy valószínűséggel módosítania kell a modul egyik beállítását. Ez volt a projekt egyik legelkeserítőbb része. Annyi kutatást végeztem, hogy kitaláljam, hogyan állíthatom be modulomat AT módba, mert a készülék nem reagált a parancsokra. 2 napba telt, mire megállapítottam, hogy a modulom elromlott. Rendeltem egy másikat, és működött. Tekintse meg ezt az oktatóanyagot az AT módba való belépéshez.

A HC-05 különböző típusokból áll, vannak gombokkal, mások nélkül és mindenféle tervezési változóval. Az egyik azonban állandó, hogy mindegyikük rendelkezik "34 -es tűvel". Nézze meg ezt az oktatóanyagot.

Amit tudnod kell

  • Az AT üzemmódba lépéshez tartsa lenyomva az 5V -ot a bluetooth modul 34 -es tűjéhez, mielőtt csatlakoztatja a tápellátást.
  • Csatlakoztasson egy potenciális osztót a modul RX tüskéjéhez, amint az 3.3V -on működik. Akkor is használhatja 5V -on, de esetleg megsül a tű, ha valami baj történik.
  • Ha a 34. tűt használja (a gomb helyett vagy más módon, amelyet az interneten talált), akkor a modul 38400 -ra állítja a Bluetooth adatátviteli sebességét. Ezért a fenti oktatóanyag linkjében van egy sor a kódban, amely ezt mondja:

BTSerial.begin (38400); // HC-05 alapértelmezett sebesség az AT parancsban

Ha a modul még mindig nem válaszol "OK" -val, próbálja meg átkapcsolni a tx és rx csapokat. Kellene lennie:

Bluetooth => Arduino

RXD => TX1

TDX => RX0

Ha ez még mindig nem működik, válassza a kód csapjait más Arduino csapokra. Tesztelje, ha nem működik, cserélje ki a tx és rx csapokat, majd tesztelje újra

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

Változtassa meg a fenti sort. Kipróbálhatja RX = 2, TX = 3 vagy bármely más érvényes kombinációt. A fenti képen megtekintheti az Arduino csapszámait.

6. lépés: Az alkatrészek csatlakoztatása

Az alkatrészek csatlakoztatása
Az alkatrészek csatlakoztatása

Most, hogy biztosak vagyunk benne, hogy minden működik, itt az ideje, hogy elkezdjük összerakni őket. Az alkatrészeket az áramkörön látható módon csatlakoztathatja. Ezt az Electronoobs -tól kaptam. Valóban segített nekem ebben a projektben. Nézze meg a projekt verzióját itt. Ha követi ezt az oktatóanyagot, nem kell aggódnia a vevő csatlakozása miatt: input_Yaw, input_Pitch, stb. Ezenkívül csatlakoztassa a bluetooth -t, ahogy az előző részben tettük. A tx és rx csapok némi gondot okoztak nekem, ezért az Arduino -t használtam:

RX 2, és TX 3, a normál csapok helyett. Ezután írunk egy egyszerű alkalmazást, amelyet tovább fejlesztünk, amíg meg nem lesz a végtermék.

7. lépés: A RemoteXY szépsége

A RemoteXY szépsége
A RemoteXY szépsége

A leghosszabb ideig azon gondolkodtam, hogy hogyan lehet egy könnyen használható távoli alkalmazást létrehozni, amely lehetővé teszi a drón irányítását. A legtöbb ember az MIT App Inventort használja, de a felhasználói felület nem olyan szép, mint szeretném, és nem rajongok a képi programozásért sem. Tervezhettem volna az Android Studio használatával, de ez túl sok munka lenne. Rendkívül izgatott voltam, amikor találtam egy oktatóanyagot a RemoteXY használatával. Itt a link a weboldalra. Rendkívül könnyen használható, és a dokumentáció nagyon jó. Egy egyszerű felhasználói felületet hozunk létre drónunkhoz. Testreszabhatja a sajátját, ahogy szeretné. Csak győződjön meg róla, hogy tudja, mit csinál. Kövesse az itt található utasításokat.

Ha ezt megtette, akkor szerkesztjük a kódot, hogy megváltoztassuk a helikopter fojtószelepét. Adja hozzá kódjához azokat a sorokat, amelyek a / **** dolgokat tartalmazzák, és miért *** /.

Ha nem fordít, győződjön meg róla, hogy letöltötte a könyvtárat. Nyisson meg egy példavázlatot is, és hasonlítsa össze, mi az, ami a tiéteknél nincs.

//////////////////////////////////////////////////////////////////- könyvtár // /////////////////////////////////////////////////////////////

// A RemoteXY válassza a csatlakozási módot és tartalmazza a könyvtárat

#define REMOTEXY_MODE_HC05_SOFTSERIAL

#befoglalni #befoglalni #befoglalni

// RemoteXY kapcsolat beállításai

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

Propellerek

Szervó L_F_prop; Szervó L_B_prop; Szervo R_F_prop; Szervó R_B_prop;

// RemoteXY konfiguráció

#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}; // ez a struktúra határozza meg a vezérlőfelület szerkezetének összes változóját {

// bemeneti változó

int8_t Joystick_x; // -100..100 x -koordináta joystick pozíció int8_t Joystick_y; // -100..100 y -koordináta joystick pozíció int8_t ThrottleSlider; // 0..100 csúszka helyzete

// egyéb változó

uint8_t connect_flag; // = 1, ha vezeték van csatlakoztatva, egyébként = 0

} RemoteXY;

#pragma pack (pop)

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

// END RemoteXY tartalmazza // //////////////////////////////////////////////////////////// /

/********** Add hozzá ezt a sort a fojtószelep értékének megőrzéséhez **************/

int input_THROTTLE;

void setup () {

RemoteXY_Init ();

/********** Rögzítse a motorokat a csapokhoz Módosítsa az értékeket, hogy megfeleljen a sajátjának **************/

L_F_prop.attach (4); // bal első motor

L_B_prop.attach (5); // bal hátsó motor R_F_prop.attach (7); // jobb első motor R_B_prop.attach (6); // jobb hátsó motor

/************* Az esc programozási módba való belépésének megakadályozása *******************/

L_F_prop.writeMicroseconds (1000); L_B_prop.writeMicroseconds (1000); R_F_prop.writeMicroseconds (1000); R_B_prop.writeMicroseconds (1000); késleltetés (1000);

}

void loop () {

RemoteXY_Handler ();

/****** Térképezze le az alkalmazásból kapott fojtószelep értékét 1000 és 2000 értékre, amelyekkel a legtöbb ESC működik *********/

input_THROTTLE = térkép (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); }

8. lépés: Tesztelés

Ha mindent jól csinált, akkor képesnek kell lennie arra, hogy tesztelje a helikoptert a gázpedál fel -le csúsztatásával. Győződjön meg róla, hogy ezt kint végzi. Továbbá ne tartsa bekapcsolva a propellereket, mert ez a helikopter ugrásához vezet. Még nem írtuk meg a kódot, hogy kiegyenlítsük, ezért ROSSZ ÖTLET lenne ezt tesztelni a propellerekkel! Ezt csak azért tettem, mert lmao.

A demonstráció csak annak bemutatására szolgál, hogy képesnek kell lennünk a fojtószelep vezérlésére az alkalmazásból. Észre fogja venni, hogy a motorok akadoznak. Ennek oka az, hogy az ESC -k nincsenek kalibrálva. Ehhez nézze meg a Github oldalon található utasításokat. Olvassa el az utasításokat, nyissa meg az ESC-Calibration.ino fájlt, és kövesse az utasításokat. Ha szeretné megérteni, mi történik, nézze meg ezt az Electronoobs bemutatót.

Amíg futtatja a programot, győződjön meg róla, hogy leköti a drónt húrokkal, mivel teljes gázzal fog menni. Győződjön meg arról is, hogy a propellerek nincsenek bekapcsolva. Csak azért hagytam az enyémet, mert félig őrült vagyok. NE HAGYJA MEG a propellereit !!! Ezt a bemutatót a második videó mutatja.

9. lépés: Dolgozom a kódexen. Néhány nap alatt befejezi az utasítást

Csak annyit akartam hozzátenni, hogy ha ezt az oktatóanyagot használja, és vár rám, akkor is dolgozom rajta. Csak más dolgok kerültek elő az életemben, amelyeken én is dolgozom, de ne aggódj, hamarosan közzéteszem. Mondjuk legkésőbb 2019. augusztus 10 -ig.

Augusztus 10. frissítés: Nem akartalak otthagyni. Sajnos az elmúlt héten nem volt időm dolgozni a projekten. Nagyon elfoglalt volt más dolgokkal. Nem akarlak továbbvezetni. Remélhetőleg a közeljövőben teljesítem az oktathatót. Ha bármilyen kérdése van, vagy segítségre van szüksége, írjon megjegyzést az alábbiakban, és visszahívom.

Ajánlott: