Sadržaj:
- Supplies
- Korak 1: Moje početno iskustvo
- Korak 2: Savjeti o sastavljanju i otklanjanju grešaka fizičkih dijelova
- Korak 3: Arduino kontroler
- Korak 4: MPU-6050
- Korak 5: HC-05 Bluetooth modul
- Korak 6: Povezivanje dijelova
- Korak 7: Ljepota RemoteXY -a
- Korak 8: Testiranje
- Korak 9: Radim na Kodeksu. Završit će instrukcije za nekoliko dana
Video: Vodič koji sam želio imati o izgradnji Arduino drona: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Ovaj dokument je svojevrsna kosa dokumentacija “Kako voditi” koja prolazi kroz proces koji mi je trebao za razumijevanje koncepata za postizanje cilja izgradnje jednostavnog četvorokontrolera kojim bih mogao upravljati sa svog mobilnog telefona.
Da bih napravio ovaj projekt, želio sam steći predodžbu o tome što je zapravo dron, u mom slučaju quadcopter, pa sam počeo istraživati. Gledao sam mnogo YouTube videa, čitao gomilu članaka i stranica koje se ne mogu obraniti i to sam dobio.
U osnovi možete podijeliti bespilotnu letjelicu na dva dijela. Nazvao sam to "Fizički" i "Kontroler". Fizičko je u suštini sve što ima veze sa mehanikom zbog koje dron leti. To su stvari poput motora, okvira, baterije, propelera i svih drugih stvari koje fizički daju bespilotnoj letjelici mogućnost letenja.
Kontrolor je u suštini kontrolor leta. Ono što kontrolira fizičko tako da bespilotna letjelica može letjeti kao cjelina bez pada. U osnovi mikrokontroler, softver na njemu i senzori koji mu pomažu u triangulaciji ležajeva. Dakle, sve u svemu da bih imao bespilotnu letjelicu, trebao mi je kontroler i gomila fizičkih dijelova kako bi kontroler mogao "upravljati".
Supplies
Budžet projekta: 250 USD
Vremenski okvir: 2 sedmice
Stvari koje treba kupiti:
- Fizički okvir 20 USD
- Oštrice 0 USD (dolazi s okvirom)
- Baterija 25 USD
- ESC (elektronički regulatori brzine) 0 USD (dolazi s motorima)
- Motori 70 dolara
Kontrolor leta
- Arduino nano 20 USD
- Arduino USB kabel 2 USD
- Bluetooth modul (HC-05) 8 USD
- 3mm LED i 330 Ohm otpornici i žice 13 USD
- GY-87 (akcelerometar, žiroskop) 5 USD
- Prototipna ploča 10 USD
- Muško i žensko zaglavlje 5 USD
Ostalo
- Komplet za lemljenje 10 USD
- Multimetar 20 USD
Htio sam uživati u izgradnji ovog projekta kao inženjer, pa sam kupio neke druge stvari koje nisam morao.
Ukupno: 208 USD
Korak 1: Moje početno iskustvo
Nakon što sam kupio sve svoje komponente, sve sam to sastavio, a zatim pokušao lansirati dron koristeći Multiwii (idite na softver koji koristi većina DIY zajednice dronova), međutim brzo sam shvatio da nisam potpuno shvatio što radio jer je bilo puno grešaka i nisam imao pojma kako ih popraviti.
Nakon toga sam odlučio rastaviti bespilotnu letjelicu i razumjeti svaku komponentu dio po dio i obnoviti je na način da ću u potpunosti razumjeti sve što se događa.
U sljedećim odjeljcima ću proći kroz proces slaganja slagalice. Prije toga idemo na kratak pregled.
Fizički
Za fizičko, trebali bismo imati: okvir, propelere, bateriju i escs. Bilo bi ih prilično lako sastaviti. Da biste razumjeli ove dijelove i koje biste trebali nabaviti, posjetite ovu vezu. On objašnjava šta trebate znati o kupovini svakog od dijelova koje sam naveo. Pogledajte i ovaj video na Youtube -u. Pomoći će vam ako zaglavite sastavljajući dijelove.
Korak 2: Savjeti o sastavljanju i otklanjanju grešaka fizičkih dijelova
Propeleri i motori
- Da biste provjerili jesu li vaši propeleri u ispravnoj orijentaciji (okrenuti ili ne), kada ih okrećete u smjeru koji pokazuju motori (većina motora ima strelice koje pokazuju kako se trebaju vrtjeti), trebali biste osjetiti povjetarac ispod propelera, a ne iznad.
- Vijci na suprotnim propelerima trebaju biti iste boje.
- Boja susjednih elisa trebala bi biti ista.
- Također provjerite jeste li rasporedili motore na način da se okreću kao na gornjoj slici.
- Ako pokušavate okrenuti smjer motora, zamijenite žice na suprotnim krajevima. Ovo će promijeniti smjer motora.
Baterija i napajanje
- Ako iz nekog razloga stvari iskre i ne možete shvatiti zašto, to je najvjerojatnije zato što ste zamijenili pozitivne i negativne.
- Ako niste sigurni kada napuniti baterije, možete upotrijebiti voltmetar za provjeru napona. Ako je niža od specifikacija na bateriji, potrebno ju je napuniti. Pogledajte ovaj link o punjenju baterija.
- Većina LIPO baterija ne dolazi s punjačima. Kupujete ih zasebno.
Korak 3: Arduino kontroler
Ovo je bez sumnje najteži dio cijelog projekta. Vrlo je lako razneti komponente, a otklanjanje grešaka moglo bi biti izuzetno frustrirajuće ako ne znate što radite. Također u ovom projektu sam kontrolirao svoj dron koristeći bluetooth i aplikaciju koja će vam pokazati kako se izrađuje. Ovo je dodatno otežalo projekt jer 99% vodiča koristi radijske kontrolere (ovo nije činjenica lol), ali ne brinite jer sam prošao kroz frustraciju za vas.
Savjeti prije nego što krenete na ovo putovanje
- Koristite matičnu ploču prije nego što finalizirate svoj uređaj na PCB -u. Ovo vam omogućava da lako unosite promene.
- Ako ste opsežno testirali komponentu i ne radi, vjerojatno ne radi!
-
Pogledajte napone koje uređaj može podnijeti prije nego ga uključite!
- Arduino može podnijeti 6 do 20V, ali pokušajte ga ograničiti na 12V kako ga ne biste digli u zrak. Više o specifikacijama možete pročitati ovdje.
- HC-05 može podnijeti do 5V, ali neki pinovi rade na 3.3V pa pripazite na to. O tome ćemo kasnije.
- IMU (GY-521, MPU-6050) takođe radi na 5V.
- Za izradu naše aplikacije koristit ćemo RemoteXY. Ako ga želite izgraditi na iOS uređaju, morate koristiti drugi Bluetooth modul (HM-10). Više o tome možete saznati na web stranici RemoteXY.
Nadam se da ste pročitali savjete. Sada hajde da testiramo svaku komponentu koja će biti dio kontrolera zasebno.
Korak 4: MPU-6050
Ovaj uređaj ima žiroskop i mjerač ubrzanja, pa vam u osnovi govori ubrzanje u smjeru (X, Y, Z) i kutno ubrzanje u tim smjerovima.
Da bismo to provjerili, možemo upotrijebiti vodič na ovoj stranici. Ovaj vodič možemo koristiti na web stranici Arduino. Ako uspije, trebali biste dobiti niz mjerača ubrzanja i žiroskopa koji se mijenjaju dok naginjete, rotirate i ubrzavate postavljanje. Također pokušajte prilagoditi i manipulirati kodom kako biste znali što se događa.
Korak 5: HC-05 Bluetooth modul
Ne morate raditi ovaj dio, ali važno je da možete otići u AT način (način postavki) jer ćete najvjerojatnije morati promijeniti jednu od postavki modula. Ovo je bio jedan od najfrustrirajućih dijelova ovog projekta. Toliko sam istraživao kako bih shvatio kako prebaciti modul u AT način rada, jer moj uređaj nije reagirao na moje naredbe. Trebalo mi je 2 dana da zaključim da mi je modul pokvaren. Naručio sam još jedan i upalilo je. Pogledajte ovaj vodič o ulasku u AT način rada.
HC-05 dolazi u različitim vrstama, neke imaju tipke, a neke bez i sve vrste varijabli dizajna. Jedna konstanta je ta da svi imaju "Pin 34". Pogledajte ovaj vodič.
Stvari koje biste trebali znati
- Da biste prešli u AT način rada, samo držite 5V na pin 34 bluetooth modula prije nego što na njega priključite napajanje.
- Spojite razdjelnik potencijala na RX pin modula jer radi na 3.3V. I dalje biste ga mogli koristiti na 5V, ali mogao bi ispržiti taj pin ako nešto pođe po zlu.
- Ako koristite Pin 34 (umjesto dugmeta ili na neki drugi način koji ste pronašli na mreži), modul će postaviti brzinu prijenosa Bluetootha na 38400. Zato se u linku za gornji vodič nalazi red u kodu koji kaže:
BTSerial.begin (38400); // Zadana brzina HC-05 u AT naredbi više
Ako modul i dalje ne reagira sa "OK", pokušajte promijeniti tx i rx pinove. To bi trebao biti:
Bluetooth => Arduino
RXD => TX1
TDX => RX0
Ako to i dalje ne radi, odaberite promjenu pinova u kodu u druge Arduino pinove. Testirajte, ako ne radi, zamijenite pinove tx i rx, a zatim ponovo testirajte
SoftwareSerial BTSerial (10, 11); // RX | TX
Promijenite gornju liniju. Možete probati RX = 2, TX = 3 ili bilo koju drugu valjanu kombinaciju. Arduino pin brojeve možete pogledati na gornjoj slici.
Korak 6: Povezivanje dijelova
Sada kada smo sigurni da sve funkcionira, vrijeme je da ih počnemo sastavljati. Možete spojiti dijelove baš kao što je prikazano u krugu. Dobio sam to od Electronoobs -a. Zaista mi je pomogao u ovom projektu. Njegovu verziju projekta pogledajte ovdje. Ako pratite ovaj vodič, ne morate brinuti o vezama prijemnika: input_Yaw, input_Pitch itd. Sve će se to rješavati putem bluetootha. Također, povežite bluetooth na način na koji smo to učinili u prethodnom odjeljku. Moje igle za tx i rx zadavale su mi probleme, pa sam upotrijebio Arduino:
RX kao 2, a TX kao 3, umjesto normalnih pinova. Zatim ćemo napisati jednostavnu aplikaciju koju ćemo nastaviti poboljšavati dok ne dobijemo konačni proizvod.
Korak 7: Ljepota RemoteXY -a
Najduže sam razmišljao o jednostavnom načinu da napravim upotrebljivu aplikaciju za daljinsko upravljanje koja bi mi omogućila upravljanje dronom. Većina ljudi koristi MIT App Inventor, ali korisničko sučelje nije toliko lijepo koliko bih želio, a također nisam ni ljubitelj slikovnog programiranja. Mogao sam ga dizajnirati koristeći Android Studio, ali to bi jednostavno bilo previše posla. Bio sam izuzetno oduševljen kada sam pronašao vodič pomoću RemoteXY -a. Evo linka do web stranice. Izuzetno je jednostavan za upotrebu, a dokumentacija je vrlo dobra. Napravit ćemo jednostavno korisničko sučelje za naš dron. Svoju možete prilagoditi kako želite. Samo pazite da znate šta radite. Slijedite upute ovdje.
Nakon što to učinite, uredit ćemo kôd tako da možemo promijeniti gas na našem helikopteru. Dodajte redove koji sadrže / **** stvari koje trebate učiniti i zašto *** / u vaš kôd.
Ako se ne sastavlja, provjerite jeste li preuzeli biblioteku. Otvorite i primjer skice i uporedite ono što ima, a vaše nema.
////////////////////////////////////////////////////// RemoteXY uključuje biblioteka // ///////////////////////////////////////////////////
// RemoteXY odabire način povezivanja i uključuje biblioteku
#define REMOTEXY_MODE_HC05_SOFTSERIAL
#include #include #include
// Postavke veze RemoteXY
#define REMOTEXY_SERIAL_RX 2 #define REMOTEXY_SERIAL_TX 3 #define REMOTEXY_SERIAL_SPEED 9600
// Propeleri
Servo L_F_prop; Servo L_B_prop; Servo R_F_prop; Servo R_B_prop;
// RemoteXY konfigurirati
#pragma paket (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}; // ova struktura definira sve varijable vaše strukture upravljačkog sučelja {
// ulazna varijabla
int8_t Joystick_x; // -100..100 x -koordinatni položaj joystick -a int8_t Joystick_y; // -100..100 pozicija džojstika sa koordinatom y int8_t ThrottleSlider; // 0..100 položaj klizača
// druga varijabla
uint8_t connect_flag; // = 1 ako je žica spojena, else = 0
} RemoteXY;
#pragma paket (pop)
/////////////////////////////////////////////
// END RemoteXY include // ///////////////////////////////////////////// /
/********** Dodajte ovu liniju da zadržite vrijednost gasa **************/
int input_THROTTLE;
void setup () {
RemoteXY_Init ();
/********** Priključite motore na pinove Promijenite vrijednosti tako da odgovaraju vašim **************/
L_F_prop.attach (4); // prednji lijevi motor
L_B_prop.attach (5); // lijevi zadnji motor R_F_prop.attach (7); // prednji desni motor R_B_prop.attach (6); // desni zadnji motor
/************* Spriječite esc da uđe u programski način ********************/
L_F_prop.writeMicroseconds (1000); L_B_prop.writeMicroseconds (1000); R_F_prop.writeMicroseconds (1000); R_B_prop.writeMicroseconds (1000); kašnjenje (1000);
}
void loop () {{100} {101}
RemoteXY_Handler ();
/****** Preslikajte vrijednost leptira za gas koju dobijete iz aplikacije na 1000 i 2000, vrijednosti na kojima većina ESC -a radi *********/
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); }
Korak 8: Testiranje
Ako ste sve učinili kako treba, trebali biste moći testirati svoje helikopter klizanjem gasa gore -dolje. Učinite to vani. Takođe nemojte držati propelere uključene jer će to uzrokovati skok helikoptera. Još nismo napisali kôd kako bismo ga uravnotežili, pa bi bila LOŠA IDEJA OVO ISPITIVATI S UKLJUČENIM PROPELERIMA! Ovo sam učinio samo zato što sam lmao.
Demonstracija samo želi pokazati da bismo trebali moći kontrolirati gas iz aplikacije. Primijetit ćete da motori mucaju. To je zato što ESC nisu kalibrirani. Da biste to učinili, pogledajte upute na ovoj Github stranici. Pročitajte upute, otvorite datoteku ESC-Calibration.ino i slijedite ta uputstva. Ako želite razumjeti što se događa, pogledajte ovaj vodič tvrtke Electronoobs.
Dok pokrećete program, obavezno povežite dron žicama jer će raditi punim gasom. Također provjerite da propeleri nisu uključeni. Ostavio sam svoj samo zato što sam polu lud. NE OSTAVLJAJTE SVOJE PROPELERE UKLJUČENE !!! Ova demonstracija prikazana je u drugom videu.
Korak 9: Radim na Kodeksu. Završit će instrukcije za nekoliko dana
Samo sam htio dodati da ako koristite ovaj vodič i čekate na mene, još uvijek radim na tome. Samo su se druge stvari u mom životu pojavile na kojima također radim, ali ne brinite, uskoro ću to objaviti. Recimo najkasnije do 10. avgusta 2019.
Ažuriranje 10. avgusta: Nisam htio da vas ostavim na cjedilu. Nažalost, nisam imao vremena za rad na projektu protekle sedmice. Bio sam jako zauzet drugim stvarima. Ne želim te voditi dalje. Nadam se da ću u bliskoj budućnosti završiti uputstva. Ako imate bilo kakvih pitanja ili vam je potrebna pomoć, možete dodati komentar ispod, a ja ću vam se javiti.
Preporučuje se:
Igračke sa prilagodbom na prekidač: Zmaj koji hoda, koji diše vodom učinjen pristupačnim!: 7 koraka (sa slikama)
Igračke sa prilagodbom na promjenu: Zmaj koji hoda, koji diše vodom postao dostupan !: Adaptacija igračaka otvara nove načine i prilagođena rješenja koja omogućuju djeci s ograničenim motoričkim sposobnostima ili smetnjama u razvoju da samostalno komuniciraju s igračkama. U mnogim slučajevima djeca kojima su potrebne prilagođene igračke nisu u mogućnosti
Jeste li ikada htjeli imati video domofon?: 12 koraka
Jeste li ikada htjeli imati video domofon?: Uvod Prvo sam htio koristiti svoj stvarni Windows 10 Phone i Windows Virtual Shield za postavljanje video i audio veze na moj Windows 10 PC. Ali ovo je za početnike poput mene bilo teško shvatiti jer bih morao napisati na lea
Kako imati mini mapu u Minecraftu 1.12.2: 6 koraka
Kako imati minimap u Minecraftu 1.12.2: Zdravo, danas ću vas naučiti kako instalirati minimap u vaš Minecraft. Imati mini kartu velika je prednost za vas koji uživate u avanturi za jednog igrača u Minecraftu
Sve o izgradnji web stranice: 5 koraka
Sve o izgradnji web stranice: ovaj besplatni nacrt web stranice je dokument koji koristite za planiranje izgradnje uspješne web stranice sa sadržajem fokusiranim na ključne riječi. Ovaj plan je kreiran sa komponentama koje se lako koriste u programu Microsoft Excel, iako mnogi različiti softverski paketi zajedno
Kako vaš Visual Studio Editor imati obojenu pozadinu: 3 koraka
Kako vaš uređivač Visual Studija imati obojenu pozadinu: Promijenite boju pozadine uređivača koda tako da bolje vidite, manje opterećujete oči ili se bolje fokusirate