Satura rādītājs:
- Piegādes
- 1. darbība. Mana sākotnējā pieredze
- 2. darbība. Padomi par fizisko daļu savienošanu un atkļūdošanu
- 3. darbība: Arduino kontrolieris
- 4. solis: MPU-6050
- 5. solis: HC-05 Bluetooth modulis
- 6. darbība: detaļu pievienošana
- 7. solis: RemoteXY skaistums
- 8. darbība: pārbaude
- 9. darbība. Es strādāju pie koda. Dažu dienu laikā pabeigs pamācāmo
Video: Ceļvedis, kuru vēlējos, lai būvētu Arduino bezpilota lidaparātu: 9 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Šis dokuments ir sava veida “Kā vadīt” slīpsvītras dokumentācija, kas iet cauri procesam, kas man prasīja, lai saprastu jēdzienus, lai sasniegtu savu mērķi - izveidot vienkāršu kvadkopteri, kuru es varētu kontrolēt no sava mobilā tālruņa.
Lai veiktu šo projektu, es vēlējos iegūt priekšstatu par to, kas patiesībā ir drons, manā gadījumā - kvadropters, tāpēc sāku veikt dažus pētījumus. Es skatījos daudz YouTube videoklipu, lasīju virkni rakstu un nekaitīgas lapas, un tas ir tas, ko es saņēmu.
Būtībā dronu var sadalīt divās daļās. Es to nosaucu par “fizisko” un “kontrolieri”. Fiziskais būtībā ir viss, kas saistīts ar mehāniku, kas liek dronam lidot. Tās ir tādas lietas kā motors, rāmis, akumulators, dzenskrūves un visas citas lietas, kas fiziski dod dronam spēju lidot.
Kontrolieris būtībā ir lidojuma kontrolieris. Kas kontrolē fizisko, lai drons varētu lidot kā vesels agregāts, nekrītot. Būtībā mikrokontrolleris, tajā esošā programmatūra un sensori, kas palīdz tam trīsstūrēt gultņus. Tātad, lai būtu drons, man bija nepieciešams kontrolieris un virkne fizisku detaļu, lai kontrolieris varētu “kontrolēt”.
Piegādes
Projekta budžets: 250 USD
Laika grafiks: 2 nedēļas
Pērkamās lietas:
- Fiziskais rāmis 20 ASV dolāri
- Asmeņi 0 USD (komplektā ar rāmi)
- Akumulators 25 ASV dolāri
- ESC (elektroniskie ātruma regulatori) $ 0 (nāk ar motoriem)
- Motori 70 USD
Lidojuma kontrolieris
- Arduino nano 20 ASV dolāri
- Arduino USB kabelis 2 ASV dolāri
- Bluetooth modulis (HC-05) 8 ASV dolāri
- 3 mm LED un 330 omi rezistori un vadi 13 ASV dolāri
- GY-87 (akselerometrs, žiroskops) 5 ASV dolāri
- Prototipa dēlis 10 USD
- Vīriešu un sieviešu galvenes 5 USD
Citi
- Lodēšanas komplekts 10 USD
- Multimetrs 20 ASV dolāri
Es gribēju izbaudīt šī projekta veidošanu kā inženieris, tāpēc es nopirku dažas citas lietas, kuras man nevajadzēja.
Kopā: 208 ASV dolāri
1. darbība. Mana sākotnējā pieredze
Pēc visu savu komponentu iegādes es to visu saliku kopā un pēc tam mēģināju palaist bezpilota lidaparātu, izmantojot Multiwii (iet uz programmatūru, ko izmanto liela daļa pašdarināto bezpilota lidaparātu kopienu), tomēr ātri sapratu, ka līdz galam nesapratu, ko darīja, jo bija daudz kļūdu, un man nebija ne jausmas, kā tās labot.
Pēc tam es nolēmu izjaukt dronu un saprast katru komponentu pa gabalu un pārbūvēt tā, lai es pilnībā saprastu visu notiekošo.
Turpmākajās sadaļās es apskatīšu mīklas salikšanas procesu. Pirms tam apskatīsim īsu pārskatu.
Fiziski
Fiziskā ziņā mums vajadzētu būt: rāmim, dzenskrūvēm, akumulatoram un esc. Tos būtu diezgan viegli salikt kopā. Lai saprastu šīs daļas un kādas jums vajadzētu iegūt, apmeklējiet šo saiti. Viņš paskaidro, kas jums jāzina, pērkot katru no manis uzskaitītajām detaļām. Noskatieties arī šo Youtube video. Tas jums palīdzēs, ja esat iestrēdzis, saliekot detaļas kopā.
2. darbība. Padomi par fizisko daļu savienošanu un atkļūdošanu
Propelleri un motori
- Lai pārbaudītu, vai jūsu dzenskrūves ir pareizajā virzienā (pagrieztas vai nē), griežot tās dzinēju norādītajā virzienā (lielākajai daļai motoru ir bultiņas, kas parāda, kā tām vajadzētu griezties), jums vajadzētu sajust vēju zem dzenskrūvēm, nevis augstāk.
- Pretējo dzenskrūvju skrūvēm jābūt vienā krāsā.
- Blakus esošo dzenskrūvju krāsai jābūt vienādai.
- Pārliecinieties arī, vai esat sakārtojis motorus tā, lai tie grieztos tāpat kā attēlā iepriekš.
- Ja jūs mēģināt pagriezt motora virzienu, vienkārši nomainiet vadus pretējos galos. Tas mainīs motora virzienu.
Akumulators un jauda
- Ja kāda iemesla dēļ lietas sāk dzirksteļot un jūs nevarat saprast, kāpēc, tas, visticamāk, ir tāpēc, ka esat mainījis pozitīvo un negatīvo.
- Ja neesat pārliecināts, kad uzlādēt baterijas, varat izmantot voltmetru, lai pārbaudītu spriegumu. Ja tas ir zemāks par akumulatora specifikācijām, tad tas ir jāuzlādē. Pārbaudiet šo saiti par akumulatoru uzlādi.
- Lielākajai daļai LIPO akumulatoru nav lādētāju. Jūs tos pērkat atsevišķi.
3. darbība: Arduino kontrolieris
Šī neapšaubāmi ir visa šī projekta visgrūtākā daļa. Ir ļoti viegli uzspridzināt komponentus, un atkļūdošana var būt ārkārtīgi nomākta, ja nezināt, ko darāt. Arī šajā projektā es vadīju savu dronu, izmantojot Bluetooth un lietotni, kuru es jums parādīšu, kā veidot. Tas padarīja projektu īpaši sarežģītu, jo 99% apmācību izmanto radio kontrolierus (tas nav fakts, lol), taču neuztraucieties, ka esmu izjutis jūsu neapmierinātību.
Padomi pirms došanās šajā ceļojumā
- Pirms ierīces pabeigšanas PCB izmantojiet maizes dēli. Tas ļauj viegli veikt izmaiņas.
- Ja esat plaši pārbaudījis kādu komponentu un tas nedarbojas, iespējams, ka tas nedarbojas!
-
Pirms pievienojat elektrību, apskatiet spriegumu, ko ierīce var izturēt!
- Arduino var apstrādāt 6 līdz 20 V spriegumu, bet mēģiniet to ierobežot ar 12 V spriegumu, lai jūs to nespridzinātu. Vairāk par tā specifikācijām varat izlasīt šeit.
- HC-05 var darboties līdz 5 V spriegumam, bet dažas tapas darbojas pie 3,3 V sprieguma, tāpēc uzmanieties. Mēs par to runāsim vēlāk.
- IMU (GY-521, MPU-6050) darbojas arī pie 5 V sprieguma.
- Mēs izmantosim RemoteXY, lai izveidotu mūsu lietotni. Ja vēlaties to izveidot iOS ierīcē, jums jāizmanto cits Bluetooth modulis (HM-10). Jūs varat uzzināt vairāk par to RemoteXY vietnē.
Cerams, ka esat izlasījis padomus. Tagad pārbaudīsim katru komponentu, kas būs daļa no kontroliera, atsevišķi.
4. solis: MPU-6050
Šai ierīcei ir žiroskops un akselerometrs, tāpēc būtībā tā norāda paātrinājumu virzienā (X, Y, Z) un leņķisko paātrinājumu šajos virzienos.
Lai to pārbaudītu, mēs varam izmantot šajā apmācību, mēs varam izmantot šo pamācību Arduino vietnē. Ja tas darbojas, jums vajadzētu iegūt akselerometra un žiroskopa vērtību plūsmu, kas mainās, noliekot, pagriežot un paātrinot iestatīšanu. Tāpat mēģiniet pielāgot un manipulēt ar kodu, lai jūs zinātu, kas notiek.
5. solis: HC-05 Bluetooth modulis
Jums šī daļa nav jāveic, taču ir svarīgi, lai varētu pāriet uz AT režīmu (iestatījumu režīms), jo, visticamāk, būs jāmaina viens no moduļa iestatījumiem. Šī bija viena no visvairāk nomāktajām šī projekta daļām. Es veicu tik daudz pētījumu, lai noskaidrotu, kā moduli ieslēgt AT režīmā, jo mana ierīce nereaģēja uz manām komandām. Pagāja 2 dienas, lai secinātu, ka mans modulis ir bojāts. Es pasūtīju citam un tas strādāja. Iepazīstieties ar šo pamācību par nokļūšanu AT režīmā.
HC-05 ir dažāda veida, daži ir ar pogām un daži bez un visa veida dizaina mainīgie. Viens no tiem, kas ir nemainīgs, ir tas, ka viņiem visiem ir "Pin 34". Pārbaudiet šo apmācību.
Lietas, kas jums jāzina
- Lai ieslēgtu AT režīmu, pirms barošanas pievienošanas tam vienkārši turiet 5V līdz Bluetooth 34 moduļa tapai.
- Pievienojiet potenciālo dalītāju moduļa RX tapai, jo tas darbojas ar 3.3V. Jūs joprojām varat to izmantot pie 5 V, bet, ja kaut kas noiet greizi, tas var izcept.
- Ja izmantojat 34. tapu (pogas vietā vai kādā citā veidā, ko atradāt tiešsaistē), modulis iestatīs Bluetooth pārraides ātrumu uz 38400. Tāpēc iepriekš norādītās apmācības saitē kodā ir rinda:
BTSerial.begin (38400); // HC-05 noklusējuma ātrums AT komandā vairāk
Ja modulis joprojām nereaģē ar "OK", mēģiniet pārslēgt tx un rx tapas. Tam vajadzētu būt:
Bluetooth => Arduino
RXD => TX1
TDX => RX0
Ja tas joprojām nedarbojas, izvēlieties mainīt koda tapas uz citām Arduino tapām. Pārbaudiet, ja tas nedarbojas, nomainiet tx un rx tapas, tad pārbaudiet vēlreiz
SoftwareSerial BTSerial (10, 11); // RX | TX
Mainiet augšējo rindu. Jūs varētu izmēģināt RX = 2, TX = 3 vai jebkuru citu derīgu kombināciju. Augšējā attēlā varat apskatīt Arduino tapu numurus.
6. darbība: detaļu pievienošana
Tagad, kad esam pārliecināti, ka viss darbojas, ir pienācis laiks sākt tos salikt kopā. Jūs varat savienot detaļas, kā parādīts shēmā. Es to saņēmu no Electronoobs. Viņš tiešām man palīdzēja šajā projektā. Pārbaudiet viņa projekta versiju šeit. Ja sekojat šai apmācībai, jums nav jāuztraucas par uztvērēja savienojumiem: input_Yaw, input_Pitch utt. Viss, kas tiks apstrādāts, izmantojot Bluetooth. Pievienojiet arī Bluetooth, kā mēs to darījām iepriekšējā sadaļā. Manas tx un rx tapas man sagādāja mazliet nepatikšanas, tāpēc es izmantoju Arduino:
RX kā 2 un TX kā 3, nevis parastās tapas. Tālāk mēs uzrakstīsim vienkāršu lietotni, kuru turpināsim uzlabot, līdz būs gala produkts.
7. solis: RemoteXY skaistums
Ilgāk domāju par vienkāršu veidu, kā izveidot lietojamu Remote lietotni, kas ļautu man vadīt dronu. Lielākā daļa cilvēku izmanto MIT App Inventor, taču lietotāja saskarne nav tik skaista, kā es gribētu, un es arī neesmu attēlu programmētāja. Es varētu to izveidot, izmantojot Android Studio, bet tas būtu pārāk daudz darba. Es biju ārkārtīgi saviļņots, kad atradu pamācību, izmantojot RemoteXY. Šeit ir saite uz vietni. Tas ir ļoti ērti lietojams, un dokumentācija ir ļoti laba. Mēs izveidosim vienkāršu lietotāja interfeisu mūsu dronam. Jūs varat pielāgot savu, kā vēlaties. Vienkārši pārliecinieties, ka zināt, ko darāt. Izpildiet šeit sniegtos norādījumus.
Kad esat to izdarījis, mēs rediģēsim kodu, lai mēs varētu mainīt sava kopētāja droseļvārstu. Pievienojiet kodam rindiņas, kurās ir / **** lietas, kas jums jādara, un kāpēc *** /.
Ja tā netiek apkopota, pārliecinieties, vai esat lejupielādējis bibliotēku. Atveriet arī skices piemēru un salīdziniet to, kas tajā ir, bet jums nav.
///////////////////////////////////////////////////////////////////////////////////////- bibliotēka // ///////////////////////////////////////////////////////////// kuri.lv/
// RemoteXY atlasiet savienojuma režīmu un iekļaujiet bibliotēku
#define REMOTEXY_MODE_HC05_SOFTSERIAL
#iekļaut #iekļaut #iekļaut
// RemoteXY savienojuma iestatījumi
#definēt REMOTEXY_SERIAL_RX 2 #definēt REMOTEXY_SERIAL_TX 3 #definēt REMOTEXY_SERIAL_SPEED 9600
// Propelleri
Servo L_F_prop; Servo L_B_prop; Servo R_F_prop; Servo R_B_prop;
// RemoteXY konfigurēt
#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}; // šī struktūra definē visus jūsu vadības saskarnes struktūras mainīgos {
// ievades mainīgais
int8_t kursorsvira_x; // -100..100 x -koordinātu kursorsviras pozīcija int8_t kursorsviru_y; // -100..100 y koordinātu kursorsviras pozīcija int8_t ThrottleSlider; // 0..100 slīdņa pozīcija
// cits mainīgais
uint8_t connect_flag; // = 1, ja ir pievienots vads, citādi = 0
} RemoteXY;
#pragma pack (pop)
/////////////////////////////////////////////
// END RemoteXY ietver // ////////////////////////////////////////////////////////// /
/********** Pievienojiet šo rindu, lai saglabātu droseļvārsta vērtību **************/
int input_THROTTLE;
void setup () {
RemoteXY_Init ();
/********** Pievienojiet motorus tapām Mainiet vērtības atbilstoši savām **************/
L_F_prop.attach (4); // kreisais priekšējais motors
L_B_prop.attach (5); // kreisās puses aizmugures motors R_F_prop.attach (7); // labais priekšējais motors R_B_prop.attach (6); // labais aizmugures motors
/************* Neļaujiet esc ieiet programmēšanas režīmā ********************/
L_F_prop.writeMikrosekundes (1000); L_B_prop.writeMikrosekundes (1000); R_F_prop.writeMikrosekundes (1000); R_B_prop.writeMikrosekundes (1000); kavēšanās (1000);
}
void loop () {
RemoteXY_Handler ();
/****** Kartējiet no lietotnes iegūto droseļvārsta vērtību līdz 1000 un 2000, kas ir vērtības, kuras darbojas lielākā daļa ESC, izmantojot *********/
input_THROTTLE = karte (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. darbība: pārbaude
Ja esat izdarījis visu pareizi, jums vajadzētu būt iespējai pārbaudīt savu helikopteru, bīdot droseļvārstu uz augšu un uz leju. Pārliecinieties, ka to darāt ārā. Tāpat neturiet ieslēgtus dzenskrūves, jo tas izraisīs kopētāja lēcienu. Mēs vēl neesam uzrakstījuši kodu, lai to līdzsvarotu, tāpēc būtu slikta ideja to izmēģināt ar propelleriem! Es to darīju tikai tāpēc, ka lmao.
Demonstrācija ir tikai, lai parādītu, ka mums vajadzētu spēt kontrolēt droseli no lietotnes. Jūs pamanīsit, ka motori stostās. Tas ir tāpēc, ka ESK nav kalibrētas. Lai to izdarītu, apskatiet norādījumus šajā Github lapā. Izlasiet instrukcijas, atveriet failu ESC-Calibration.ino un izpildiet šos norādījumus. Ja vēlaties saprast, kas notiek, apskatiet šo Electronoobs apmācību.
Programmas darbības laikā pārliecinieties, ka esat piesējis dronu ar stīgām, jo tas darbosies ar pilnu jaudu. Pārliecinieties arī, vai nav ieslēgti propelleri. Es atstāju savu tikai tāpēc, ka esmu pusprātīgs. Neatstājiet savus propellerus ieslēgtus !!! Šī demonstrācija ir parādīta otrajā videoklipā.
9. darbība. Es strādāju pie koda. Dažu dienu laikā pabeigs pamācāmo
Es tikai gribēju piebilst, ka, ja jūs izmantojat šo apmācību un gaidāt mani, es joprojām strādāju pie tā. Vienkārši manā dzīvē ir radušās citas lietas, pie kurām arī strādāju, bet neuztraucieties, es drīz to publicēšu. Pieņemsim, ka līdz 2019. gada 10. augustam.
10. augusta atjauninājums: es negribēju jūs atstāt karājoties. Diemžēl pagājušajā nedēļā man nebija laika strādāt pie projekta. Ir bijis ļoti aizņemts ar citām lietām. Es nevēlos jūs vadīt. Cerams, ka tuvākajā laikā izpildīšu pamācību. Ja jums ir kādi jautājumi vai nepieciešama palīdzība, varat pievienot komentāru zemāk, un es ar jums sazināšos.
Ieteicams:
Bezpilota lidaparātu pielikumi (ļaujiet tam pārvietoties): 4 soļi
Dronu pielikumi (Make It Move): Es izveidoju dažus pielikumus, kurus var uzstādīt mazam sacīkšu dronam un likt darboties ar vienkāršu servo. Pirmais ir atbrīvošanas mehānisms. Tas izmanto servo, lai no rāmja izvilktu nelielu stieni, nometot visu, kas uz tā karājās. Sekunde
Kaujas bezpilota lidaparātu kvadrokopteri - īsta suņu cīņu pieredze: 8 soļi (ar attēliem)
Kaujas bezpilota lidaparātu kvadrokopteri sniedz patiesu pieredzi cīņā: Laipni lūdzam manā " ible " #37 Mums jāatzīst, ka pašreizējie kaujas droni tirgū ir nedaudz netīri. Ir ļoti grūti saprast, kurš uzvar un kurš zaudē. Kad viens drons nokrīt, otrs seko (ietriecas viens otrā
Autonomais bezpilota lidaparāts ar infrasarkano staru kameru, lai palīdzētu pirmajiem reaģētājiem: 7 soļi
Autonomais bezpilota lidaparāts ar infrasarkano staru kameru, lai palīdzētu pirmajiem reaģētājiem: Saskaņā ar Pasaules Veselības organizācijas ziņojumu, katru gadu dabas katastrofas nogalina aptuveni 90 000 cilvēku un skar gandrīz 160 miljonus cilvēku visā pasaulē. Dabas katastrofas ietver zemestrīces, cunami, vulkānu izvirdumus, zemes nogruvumus, viesuļvētras
Kā palaist bezpilota bezkaršu līdzstrāvas motoru bezpilota lidaparātam, izmantojot HW30A bezsuku motora ātruma regulatoru un servo testeri: 3 soļi
Kā palaist bezpilota bezkaršu līdzstrāvas motoru, izmantojot HW30A bezsuku motora ātruma regulatoru un servotesteru: Apraksts: Šo ierīci sauc par servomotoru testeri, ko var izmantot, lai darbinātu servomotoru, vienkārši pievienojot servomotoru un barojot to. Ierīci var izmantot arī kā signāla ģeneratoru elektriskajam ātruma regulatoram (ESC), tad jūs nevarat
Kā pagatavot bezpilota lidaparātu mājās - DIY kvadropters: 5 soļi
Kā mājās izgatavot bezpilota lidaparātu - DIY kvadrakopters: Sveiki, lasītāji šajā pamācībā es uztaisīju patiešām augstu lidojošu bezpilota lidaparātu, un labākā daļa šeit ir visi materiāli, kas vajadzīgi, lai to izveidotu, ir pieejami tiešsaistes iepirkšanās vietnēs (pārbaudiet, vai nav manā videoklipā esošo saišu Šis pašdarinātais bezpilota lidaparāts ir ļoti vienkāršs