Mündəricat:
- Təchizat
- Addım 1: İlk Təcrübəm
- Addım 2: Fiziki hissələri birləşdirmək və düzəltmək üçün məsləhətlər
- Addım 3: Arduino Nəzarətçisi
- Addım 4: MPU-6050
- Addım 5: HC-05 Bluetooth Modulu
- Addım 6: Parçaları birləşdirin
- Addım 7: RemoteXY -nin gözəlliyi
- Addım 8: Test
- Addım 9: Kod üzərində işləyirəm. Bir neçə Gündə Təlimatlandırmanı bitirəcək
Video: Arduino Drone qurmaq istədiyim bələdçi: 9 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Bu sənəd, cib telefonumdan idarə edə biləcəyim sadə bir quadcopter qurmaq məqsədimə çatmaq üçün anlayışları başa düşməyim lazım olan bir prosesdən keçən "Necə istiqamətləndirmək olar" sənədidir.
Bu layihəni həyata keçirmək üçün bir dronun əslində nə olduğunu, mənim vəziyyətimdə bir quadcopterin nə olduğunu bilmək istədim, buna görə də araşdırmalara başladım. Bir çox YouTube videosu izlədim, bir çox məqalə və İnsructible səhifələr oxudum və aldığım budur.
Əslində bir dronu iki hissəyə ayıra bilərsiniz. Mən buna "Fiziki" və "Nəzarətçi" adını verdim. Fiziki olaraq, dronu uçduran mexanika ilə əlaqəli hər şey var. Bunlar motor, çərçivə, batareya, pervaneler və drona uçmaq qabiliyyətini fiziki olaraq verən hər şeydir.
Nəzarətçi əslində uçuş nəzarətçisidir. Pilotsuz təyyarənin yıxılmadan bütöv bir vahid kimi uça bilməsi üçün fiziki cəhətdən nə nəzarət edir. Əsasən mikrokontrolör, üzərindəki proqram və yataqları üçbucağa çevirməyə kömək edən sensorlar. Pilotsuz təyyarəyə sahib olmaq üçün bir nəzarətçiyə və nəzarətçinin "idarə etməsi" üçün bir çox fiziki hissəyə ehtiyacım var idi.
Təchizat
Layihənin büdcəsi: 250 dollar
Vaxt: 2 həftə
Alınacaq şeylər:
- Fiziki çərçivə 20 dollar
- Bıçaqlar $ 0 (Çərçivə ilə gəlir)
- Batareya paketi 25 dollar
- ESC (Elektron sürət tənzimləyiciləri) $ 0 (Motorlarla gəlir)
- Motorlar 70 dollar
Uçuş Nəzarətçisi
- Arduino nano 20 dollar
- Arduino USB Kabeli 2 dollar
- Bluetooth Modulu (HC-05) 8 dollar
- 3 mm LED və 330 Ohm rezistorlar və tellər 13 dollardır
- GY-87 (akselerometr, giroskop) 5 dollar
- Prototip lövhəsi 10 dollar
- Kişi və Qadın başlıqları 5 dollar
Digər
- Lehim dəsti 10 dollar
- Multimetr 20 dollar
Bir mühəndis olaraq bu layihəni qurmaqdan zövq almaq istədim, buna görə də ehtiyacım olmayan başqa şeylər aldım.
Cəmi: 208 dollar
Addım 1: İlk Təcrübəm
Bütün komponentlərimi satın aldıqdan sonra hamısını bir araya gətirdim və sonra Multiwii -dən istifadə edərək pilotsuz uçuş aparatını işə salmağa çalışdım (bir çox DIY dron icmasının istifadə etdiyi proqrama keçin), amma nə etdiyimi tam başa düşmədiyimi tez anladım. səhvlər çox olduğu üçün etdi və bunları necə düzəltəcəyimi bilmirdim.
Bundan sonra pilotsuz təyyarəni ayırıb hər bir komponenti hissə -hissə başa düşmək və baş verənləri tamamilə başa düşəcəyim şəkildə yenidən qurmaq qərarına gəldim.
Növbəti hissələrdə tapmacanın bir -birinə yapışdırılması prosesindən keçəcəyəm. Bundan əvvəl qısa bir baxış əldə edək.
Fiziki
Fiziki olaraq, sahib olmalıyıq: çərçivə, pervaneler, batareya və escs. Bunları bir yerə yığmaq olduqca asan olardı. Bu hissələri və hansını əldə etməli olduğunuzu başa düşmək üçün bu linkə daxil ola bilərsiniz. Sadaladığım hər bir hissəni satın almaq üçün nəyi bilməli olduğunuzu izah edir. Bu Youtube videosunu da izləyin. Parçaları bir -birinə yapışdırmaqda çətinlik çəksəniz kömək edəcək.
Addım 2: Fiziki hissələri birləşdirmək və düzəltmək üçün məsləhətlər
Pervaneler və Motorlar
- Pervanelerinizin doğru istiqamətdə olub olmadığını yoxlamaq üçün (Çevrilmiş və ya dönməmiş), onları mühərriklərin göstərdiyi istiqamətə fırladığınız zaman (əksər mühərriklərdə necə fırlanmalı olduğunu göstərən oxlar var), pervanelerin altında bir külək hiss etməlisiniz və yuxarıda deyil.
- Qarşı tərəfdəki vintlər eyni rəngdə olmalıdır.
- Bitişik pervanelerin rəngi eyni olmalıdır.
- Ayrıca, mühərrikləri yuxarıdakı şəkildəki kimi fırladacaq şəkildə düzəltdiyinizə əmin olun.
- Bir motorun istiqamətini çevirmək istəyirsənsə, əks tərəfdəki telləri dəyişdir. Bu, motorun istiqamətini dəyişdirəcəkdir.
Batareya və Güc
- Hər hansı bir səbəbdən şeylər qığılcımlanırsa və bunun səbəbini anlaya bilmirsinizsə, bu çox güman ki, müsbət və mənfi cəhətləri dəyişdirdiyiniz üçündir.
- Batareyalarınızı nə vaxt dolduracağınızdan əmin deyilsinizsə, gərginliyi yoxlamaq üçün voltmetrdən istifadə edə bilərsiniz. Batareyanın xüsusiyyətlərindən aşağıdırsa, şarj edilməlidir. Batareyalarınızı doldurmaq üçün bu linkə baxın.
- Əksər LIPO batareyaları batareya şarj cihazları ilə gəlmir. Onları ayrıca alırsınız.
Addım 3: Arduino Nəzarətçisi
Bu, bütün layihənin ən çətin hissəsidir. Komponentləri partlatmaq çox asandır və nə etdiyinizi bilmirsinizsə, ayıklama son dərəcə sinir bozucu ola bilər. Həm də bu layihədə bluetooth və necə qurulacağını göstərəcəyim bir tətbiqdən istifadə edərək pilotsuz təyyarəmi idarə etdim. Bu, layihəni xüsusilə çətinləşdirdi, çünki dərsliklərin 99% -i radio nəzarətçilərindən istifadə edir (bu bir fakt deyil)
Bu səyahətə başlamazdan əvvəl məsləhətlər
- Cihazınızı bir PCB üzərində tamamlamadan əvvəl bir çörək taxtası istifadə edin. Bu, asanlıqla dəyişikliklər etməyə imkan verir.
- Bir komponenti geniş şəkildə sınamısınız və işləmirsə, yəqin ki, işləmir!
-
Bir cihazı bağlamadan əvvəl idarə edə biləcəyi gərginliklərə baxın!
- Arduino 6 ilə 20 V arasında işləyə bilər, amma onu 12V -ə endirməyə çalışın ki, onu partlatmasın. Xüsusiyyətləri haqqında daha çox məlumatı burada oxuya bilərsiniz.
- HC-05 5V-a qədər işləyə bilər, lakin bəzi pinlər 3.3V-də işləyir, buna görə diqqətli olun. Bu barədə sonra danışacağıq.
- IMU (GY-521, MPU-6050) də 5V-də işləyir.
- Tətbiqimizi qurmaq üçün RemoteXY -dən istifadə edəcəyik. Bir iOS cihazında qurmaq istəyirsinizsə, fərqli bir bluetooth modulu (HM-10) istifadə etməlisiniz. Bu barədə RemoteXY saytında daha çox məlumat əldə edə bilərsiniz.
Ümid edirəm ipuçlarını oxudunuz. İndi nəzarətçinin bir hissəsi olacaq hər bir komponenti ayrıca sınaqdan keçirək.
Addım 4: MPU-6050
Bu cihazda bir giroskop və bir akselerometr var, buna görə bir istiqamətdə (X, Y, Z) və bu istiqamətlərdəki bucaqlı sürətlənmədən xəbər verir.
Bunu yoxlamaq üçün Arduino veb saytında bu dərsdən istifadə edə bilərik. İşləyirsə, əyilmə, dönmə və qurulmanı sürətləndirərkən dəyişən bir akselerometr və giroskop dəyərləri axını almalısınız. Ayrıca, nəyin baş verdiyini bilmək üçün kodu çimdikləməyə və manipulyasiya etməyə çalışın.
Addım 5: HC-05 Bluetooth Modulu
Bu hissəni yerinə yetirmək məcburiyyətində deyilsiniz, ancaq modun parametrlərindən birini dəyişdirmək məcburiyyətində qalacağınız üçün AT rejiminə (parametrlər rejimi) keçə bilmək vacibdir. Bu, layihənin ən əsəbi hissələrindən biri idi. Cihazım əmrlərimə cavab vermədiyi üçün modulumu AT rejiminə necə keçirəcəyimi anlamaq üçün çox araşdırma apardım. Modulumun pozulduğu qənaətinə gəlmək 2 gün çəkdi. Başqasına sifariş verdim və işə yaradı. AT rejiminə keçmək üçün bu təlimata baxın.
HC-05 fərqli növlərdə gəlir, bəziləri düyməli, bəziləri isə olmayan və hər cür dizayn dəyişənləri var. Davam edən bir şey, hamısının "Pin 34" ə sahib olmasıdır. Bu təlimatı yoxlayın.
Bilməli olduğunuz şeylər
- AT rejiminə keçmək üçün gücü bağlamadan əvvəl bluetooth modulunun 34 pininə 5V tutun.
- 3.3V -də işlədiyi üçün potensial bölücünü modulun RX pininə qoşun. Hələ də 5V -də istifadə edə bilərsiniz, amma bir şey səhv olarsa, bu pimi qızarta bilər.
- Pin 34 -dən istifadə etsəniz (düymə və ya başqa bir şəkildə onlayn olaraq tapsanız), modul bluetoothun ötürmə sürətini 38400 olaraq təyin edəcək. Bu səbəbdən yuxarıdakı dərslikdəki linkdə kodda belə bir xətt var:
BTSSerial.begin (38400); // AT əmrində HC-05 standart sürəti daha çox
Modul hələ də "OK" ilə cavab vermirsə, tx və rx pinlərini dəyişdirməyə çalışın. Bu olmalıdır:
Bluetooth => Arduino
RXD => TX1
TDX => RX0
Bu hələ də işləmirsə, koddakı pinləri digər Arduino sancaqlarına dəyişdirməyi seçin. Test edin, işləmirsə tx və rx pinlərini dəyişdirin, sonra yenidən sınayın
SoftwareSerial BTSSerial (10, 11); // RX | TX
Yuxarıdakı xətti dəyişdirin. RX = 2, TX = 3 və ya digər etibarlı birləşmələri sınaya bilərsiniz. Yuxarıdakı şəkildə Arduino pin nömrələrinə baxa bilərsiniz.
Addım 6: Parçaları birləşdirin
İndi hər şeyin işlədiyinə əmin olduğumuz üçün bunları bir araya gətirməyə başlamağın vaxtı gəldi. Parçaları sxemdə göstərildiyi kimi bağlaya bilərsiniz. Bunu Electronoobs -dan aldım. Bu layihədə mənə həqiqətən kömək etdi. Layihənin onun versiyasına buradan baxın. Bu təlimatı izləyirsinizsə, alıcı əlaqələri haqqında narahat olmağınız lazım deyil: input_Yaw, input_Pitch və s. Bütün bunlar bluetooth ilə idarə olunacaq. Ayrıca, bluetooth'u əvvəlki hissədə etdiyimiz kimi bağlayın. Tx və rx pinlərim mənə bir az çətinlik yaradırdı, buna görə də Arduino -dan istifadə etdim:
Normal sancaqlar yerinə RX 2, TX 3 olaraq. Sonra, son məhsulu əldə edənə qədər təkmilləşdirməyə davam edəcəyimiz sadə bir tətbiq yazmalıyıq.
Addım 7: RemoteXY -nin gözəlliyi
Uzun müddətdir ki, pilotsuz təyyarəni idarə etməyimə imkan verən istifadə edilə bilən Uzaqdan tətbiq qurmağın asan bir yolunu düşünürdüm. Əksər insanlar MIT App Inventor -dan istifadə edirlər, lakin istifadəçi interfeysi istədiyim qədər gözəl deyil və mən də təsvirli proqramlaşdırma tərəfdarı deyiləm. Android Studio istifadə edərək dizayn edə bilərdim, amma bu çox iş olardı. RemoteXY istifadə edən bir dərslik tapanda çox həyəcanlandım. Veb saytına keçid burada. İstifadəsi son dərəcə asandır və sənədləri çox yaxşıdır. Dronumuz üçün sadə bir UI yaradacağıq. İstədiyiniz kimi özünüzə uyğunlaşdıra bilərsiniz. Sadəcə nə etdiyinizi bildiyinizə əmin olun. Buradakı təlimatları izləyin.
Bunu etdikdən sonra helikopterimizin qazını dəyişdirə bilmək üçün kodu düzəldəcəyik. Kodunuza / **** etməli olduğunuz şeylər və niyə *** / olan sətirləri əlavə edin.
Tərtib edilmirsə, kitabxananı yüklədiyinizə əmin olun. Bir nümunə eskiz açın və sizinki olmayanları müqayisə edin.
//////////////////////////////////////////////////////////// RemoteXY daxildir kitabxana // ////////////////////////////////////////////////////////////////////
// RemoteXY əlaqə rejimini seçin və kitabxananı daxil edin
#REMOTEXY_MODE_HC05_SOFTSERIAL təyin edin
#daxil edin #daxil edin #daxil edin
// RemoteXY əlaqə parametrləri
#REMOTEXY_SERIAL_RX 2 təyin edin #REMOTEXY_SERIAL_TX 3 təyin edin #REMOTEXY_SERIAL_SPEED 9600 təyin edin
// Pervaneler
Servo L_F_prop; Servo L_B_prop; Servo R_F_prop; Servo R_B_prop;
// RemoteXY konfiqurasiya edin
#pragma paketi (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}; // bu quruluş idarəetmə interfeysi quruluşunuzun bütün dəyişənlərini təyin edir {
// giriş dəyişən
int8_t Joystick_x; // -100..100 x koordinatlı joystick mövqeyi int8_t Joystick_y; // -100..100 y koordinatlı joystick mövqeyi int8_t ThrottleSlider; // 0..100 sürüşmə mövqeyi
// digər dəyişən
uint8_t connect_flag; // = 1 tel bağlanırsa, başqa = 0
} RemoteXY;
#praqma paketi (pop)
/////////////////////////////////////////////
// END RemoteXY daxildir // /////////////////////////////////////////////////////////////////////////////////////////////////// /
/********** Qaz xəttini saxlamaq üçün bu xətti əlavə edin **************/
int giriş_THROTTLE;
boş quraşdırma () {
RemoteXY_Init ();
/********** Motorları sancaqlara bağlayın Dəyərləri özünüzə uyğun olaraq dəyişdirin **************/
L_F_prop.attach (4); // sol ön motor
L_B_prop.attach (5); // sol arxa motor R_F_prop.attach (7); // sağ ön motor R_B_prop.attach (6); // sağ arxa motor
/************* Esc -in proqramlaşdırma rejiminə girməsinin qarşısını alın ********************/
L_F_prop.writeMicroseconds (1000); L_B_prop.writeMicroseconds (1000); R_F_prop.writeMicroseconds (1000); R_B_prop.writeMicroseconds (1000); gecikmə (1000);
}
boşluq döngəsi () {
RemoteXY_Handler ();
/****** Tətbiqdən əldə etdiyiniz qaz tənzimləmə dəyərini əksər ESC -lərin işlədiyi dəyərlər olan 1000 və 2000 -ə uyğunlaşdırın *********/
input_THROTTLE = xəritə (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); }
Addım 8: Test
Hər şeyi düzgün etdinizsə, qazanı yuxarı və aşağı sürüşdürərək helikopterinizi sınamalısınız. Bunu çöldə etdiyinizə əmin olun. Ayrıca pervaneleri tutmayın, çünki bu helikopterin tullanmasına səbəb olacaq. Kodu balanslaşdırmaq üçün hələ yazmamışıq, buna görə də bunu pervanelerlə sınamaq pis bir fikir olardı! Bunu yalnız ona görə etdim ki, lmao.
Nümayiş, qazı tətbiqdən idarə edə biləcəyimizi göstərmək üçündür. Mühərriklərin kəkələdiyini görəcəksiniz. Bunun səbəbi ESC -lərin kalibrlənməməsidir. Bunu etmək üçün bu Github səhifəsindəki təlimatlara baxın. Təlimatları oxuyun, ESC-Calibration.ino faylını açın və bu təlimatları izləyin. Nə olduğunu başa düşmək istəyirsinizsə, Electronoobs -un bu təlimatına baxın.
Proqramı işləyərkən dronu iplərlə bağladığınızdan əmin olun, çünki tam qazda olacaq. Pervanelerin işə salınmadığından da əmin olun. Yarım dəli olduğum üçün yalnız özümü tərk etdim. PROVELERLƏRİNİZİ YERİNƏ TƏRK ETMƏYİN !!! Bu nümayiş ikinci videoda göstərilir.
Addım 9: Kod üzərində işləyirəm. Bir neçə Gündə Təlimatlandırmanı bitirəcək
Əlavə etmək istədim ki, bu dərsdən istifadə edirsənsə və məni gözləyirsənsə, hələ də üzərində işləyirəm. Həyatımda üzərində çalışdığım başqa şeylər var, amma narahat olmayın, tezliklə paylaşacam. Ən son 10 Avqust 2019 tarixinə qədər deyək.
10 Avqust Yeniləmə: Səni asmaq istəmədim. Təəssüf ki, son bir həftə ərzində layihə üzərində işləməyə vaxtım olmadı. Başqa işlərlə çox məşğul oldum. Səni irəli aparmaq istəmirəm. İnşallah yaxın gələcəkdə təlimatçılığı tamamlayacağam. Hər hansı bir sualınız və ya hər hansı bir yardıma ehtiyacınız varsa, aşağıda bir şərh əlavə edə bilərsiniz və sizə geri dönəcəyəm.
Tövsiyə:
HiFi Dinamikləri - Birinci Sınıf Quruluşu üçün Bələdçi: 8 Addım (Şəkillərlə)
HiFi Dinamikləri - Birinci Sınıf Quruluşu üçün Bələdçi: Çox təcrübə və ya təcrübəyə malik olmayan HiFi dinamik kabinetləri qurmaq üçün keyfiyyətli, tam məlumat tapmaq üçün çox vaxt sərf etdikdən sonra bu Təlimatı yazmağa qərar verdim. Çox gözəl təlimatlar var
IPhone ilə Video çəkmək və Facebook və ya YouTube -a yükləmək üçün sürətli bələdçi: 9 addım
IPhone ilə Video Hazırlamaq və Facebook və ya YouTube -a Yükləmək üçün Sürətli Bələdçi: İlk YouTube və ya Facebook videonuzu yaratmaq və yükləmək üçün bu sadə 5 addımlı prosesdən istifadə edin (Təlimatlar bunu əslində olduğundan daha çox addım kimi göstərir). iPhone
Veb sayt necə yaradılır (Addım-addım bələdçi): 4 addım
Veb Saytı Necə Yaradılır (Adım Adım Bələdçi): Bu təlimatda, əksər web inkişaf etdiricilərinin öz saytlarını necə qurduqlarını və daha böyük bir sayt üçün çox məhdud olan bahalı veb sayt qurucularından necə qaça biləcəyinizi sizə göstərəcəyəm. işə başlayanda etdiyim bəzi səhvlərdən qaçınmanıza kömək edir
2 dollar Arduino. ATMEGA328 tək başına. Asan, Ucuz və Çox Kiçik. Tam bir bələdçi: 6 addım (şəkillərlə birlikdə)
2 dollar Arduino. ATMEGA328 tək başına. Asan, Ucuz və Çox Kiçik. Tam bir bələdçi .: Bu təlimatda Arduino ATMEGA328 mikro nəzarətçi çipinin müstəqil bir mikro nəzarətçi olaraq necə istifadə ediləcəyini öyrənəcəksiniz. Yalnız 2 dollara başa gəlir, Arduino ilə eyni şeyi edə bilər və layihələrinizi çox kiçik edə bilərik
Arduino -nu yuxuya salmaq üçün bir bələdçi: 5 addım
Arduino -nu yuxuya salmaq üçün bir bələdçi: Bəzən bir vəziyyətə düşürük ki, Arduino -nu elektrik şəbəkəsinə qoşmağın heç bir imkanı yoxdur. Bu, məlumatı uzaq bir saytda qeyd etməyə çalışdığımız zaman və ya yalnız Arduino -nu aktivləşdirməyimiz lazım olduqda baş verir