Mündəricat:

GPS ilə Arduino Drone: 16 addım
GPS ilə Arduino Drone: 16 addım

Video: GPS ilə Arduino Drone: 16 addım

Video: GPS ilə Arduino Drone: 16 addım
Video: Lesson 01 Arduino Boards | Robojax Arduino Step By Step Course 2024, Iyul
Anonim
GPS ilə Arduino Drone
GPS ilə Arduino Drone

Evə qayıtmaq, koordinasiya etmək və GPS tutma funksiyaları ilə birlikdə Arduino tərəfindən idarə olunan və sabitləşdirilmiş, GPS-ə əsaslanan birinci şəxs (FPV) quadcopter pilotsuz təyyarəsi qurmağa başladıq. Sadəlövhlüklə, mövcud Arduino proqramlarını və GPSsiz bir quadcopterin kabellərini GPS ötürmə sistemi ilə birləşdirməyin nisbətən sadə olacağını və tez bir zamanda daha mürəkkəb proqramlaşdırma işlərinə keçə biləcəyimizi düşünürdük. Bununla birlikdə, bu iki layihəni birləşdirmək üçün təəccüblü bir məbləğ dəyişdirilməli idi və beləliklə, əlavə funksionallıq olmadan GPS-ə əsaslanan bir FPV quadcopter hazırladıq.

Məhdud quadcopterdən məmnun olsanız, məhsulumuzu necə kopyalayacağımıza dair təlimat daxil etdik.

Daha muxtar bir quadcopter əldə etmək üçün atdığımız bütün addımları da daxil etdik. Arduinonun dərinliklərini qazmağı rahat hiss edirsinizsə və ya çoxlu Arduino təcrübəsinə sahibsinizsə və dayanma nöqtəmizi öz kəşfiyyatınız üçün bir atlama nöqtəsi olaraq götürmək istəyirsinizsə, bu Təlimat sizin üçün də uyğundur.

Nə qədər təcrübəniz olsa da Arduino üçün bina və kodlaşdırma haqqında bir şey öyrənmək üçün əla bir layihədir. Həm də inşallah bir dronla uzaqlaşacaqsınız.

Quraşdırma aşağıdakı kimidir:

Materiallar siyahısında hər iki məqsəd üçün ulduz işarəsi olmayan hissələr tələb olunur.

Bir ulduz işarəsi olan hissələr yalnız daha muxtar bir quadcopterin bitməmiş layihəsi üçün tələb olunur.

İki ulduzlu hissələr yalnız daha məhdud quadcopter üçün tələb olunur.

Hər iki layihə üçün ümumi olan addımların başlıqdan sonra işarəsi yoxdur

Yalnız daha məhdud olmayan avtonom quadcopter üçün lazım olan addımlar başlıqdan sonra "(Uno)" işarəsinə malikdir.

Yalnız davam edən avtonom quadcopter üçün lazım olan addımlar başlıqdan sonra "(Mega)" işarəsinə malikdir.

Uno əsaslı dördlüyü qurmaq üçün, başlıqdan sonra "(Mega)" işarəsini atlayaraq addımları ardıcıllıqla izləyin.

Mega əsaslı dördlük üzərində işləmək üçün, başlıqdan sonra "(Uno)" işarəsini atlayaraq addımları ardıcıllıqla izləyin.

Addım 1: Material toplayın

Komponentlər:

1) Bir quadcopter çərçivəsi (dəqiq çərçivənin böyük ehtimalı yoxdur) (15 dollar)

2) Dörd 2830, 900kV fırçasız motor (və ya bənzəri) və dörd montaj aksesuar paketi (4x $ 6 + 4x $ 4 = cəmi 40 dollar)

3) Dörd 20A UBEC ESC (4x $ 10 = $ 40)

4) Bir güc paylayıcı lövhə (XT-60 bağlantısı ilə) (20 dollar)

5) XT-60 bağlantısı olan bir 3s, 3000-5000mAh LiPo batareya (3000mAh təxminən. 20 dəqiqəlik uçuş vaxtına uyğundur) (25 dollar)

6) Çoxlu pervane (çox qırılır) (10 dollar)

7) Bir Arduino Mega 2560* (40 dollar)

8) Bir Arduino Uno R3 (20 dollar)

9) İkinci Arduino Uno R3 ** (20 dollar)

10) Bir Arduino Ultimate GPS Shield (qalxana ehtiyacınız yoxdur, ancaq fərqli bir GPS istifadə etmək üçün fərqli kabellər tələb olunacaq) (45 dollar)

11) İki HC-12 simsiz ötürücü (2x $ 5 = 10 $)

12) Bir MPU- 6050, 6DOF (sərbəstlik dərəcəsi) girro/akselerometr (5 dollar)

13) Bir Turnigy 9x 2.4GHz, 9 kanal ötürücü/alıcı cütü (70 dollar)

14) Arduino qadın (yığılabilir) başlıqları (20 dollar)

15) LiPo Battery Balance şarj cihazı (və 12V DC adapteri daxil deyil) (20 dollar)

17) USB A - B kişidən kişiyə adapter kabeli (5 dollar)

17) Yapışqan bant

18) Borunu kiçiltmək

Avadanlıq:

1) Bir lehimləmə dəmiri

2) Lehim

3) Plastik epoksi

4) Yüngül

5) Tel çıxarıcı

6) Allen açarları dəsti

Real vaxt rejimində FPV (birinci şəxs baxışı) video ötürülməsi üçün əlavə komponentlər:

1) Kiçik bir FPV kamera (bu, istifadə etdiyimiz olduqca ucuz və keyfiyyətsiz kameraya istinad edir, daha yaxşısını əvəz edə bilərsiniz) (20 dollar)

2) 5.6GHz video ötürücü/alıcı cütü (832 model istifadə olunur) (30 dollar)

3) 500mAh, 3s (11.1V) LiPo batareyası (7 dollar) (bir banan fişi ilə istifadə edirdik, ancaq TS832 ötürücü ilə uyğun bir konnektoru olduğu üçün əlaqəli batareyadan istifadə etməyinizi məsləhət görürük. t lehimləmə tələb olunur).

4) 2 1000mAh 2s (7.4V) LiPo batareya və ya bənzəri (5 dollar). 1000 mAh və ya daha çox olduğu müddətdə mAh sayı kritik deyil. Yuxarıda göstərilən eyni ifadə iki batareyadan birinin fiş tipinə aiddir. Digəri monitörü gücləndirmək üçün istifadə ediləcək, buna görə də nə olursa olsun lehim etməlisiniz. Yəqin ki, bunun üçün XT-60 fişini almaq daha yaxşıdır (etdiyimiz budur). Bu tip bir keçid burada: XT-60 fişli 1000mAh 2s (7.4V) LiPo

5) LCD monitor (isteğe bağlı) (15 dollar). Bir dizüstü kompüterə baxmaq üçün AV-USB adapterindən və DVD kopyalama proqramından da istifadə edə bilərsiniz. Bu, video və fotoşəkilləri yalnız real vaxtda görməkdənsə qeyd etmək imkanı verir.

6) Bağlı olanlardan fərqli fişli batareyalar almış olsanız, uyğun adapterlərə ehtiyacınız ola bilər. Nə olursa olsun, monitoru işlədən batareyanın fişinə uyğun bir adapter alın. XT-60 adapterlərini haradan əldə edə bilərsiniz

* = yalnız daha inkişaf etmiş bir layihə üçün

** = yalnız daha əsas layihə üçün

Xərclər:

Sıfırdan başlayarsanız (ancaq bir lehimləmə dəmiri ilə və s.), FPV sistemi yoxdur: ~ 370 dollar

Zaten bir RC vericisi/alıcısı, LiPo batareya şarj cihazı və LiPo batareyası varsa: ~ 260 dollar

FPV sisteminin dəyəri: 80 dollar

Addım 2: Çərçivəni yığın

Çərçivəni yığın
Çərçivəni yığın
Çərçivəni yığın
Çərçivəni yığın
Çərçivəni yığın
Çərçivəni yığın

Bu addım olduqca sadədir, xüsusən də əvvəlcədən hazırladığımız eyni çərçivəni istifadə etsəniz. Sadəcə daxil olan vintlərdən istifadə edin və çərçivəniz üçün uyğun bir allen açarı və ya tornavida istifadə edərək çərçivəni göstərildiyi kimi bir yerə yığın. Eyni rəngli qolların bir -birinə bitişik olduğundan əmin olun (bu şəkildəki kimi) ki, dronun ön və arxası aydın olsun. Bundan əlavə, alt boşqabın uzun hissəsinin əks rəngli qollar arasında qaldığından əmin olun. Bu daha sonra əhəmiyyətli olur.

Addım 3: Motorları Montaj edin və Escs qoşun

Mount Motors və Connect Escs
Mount Motors və Connect Escs
Mount Motors və Connect Escs
Mount Motors və Connect Escs
Mount Motors və Connect Escs
Mount Motors və Connect Escs
Mount Motors və Connect Escs
Mount Motors və Connect Escs

İndi çərçivə yığıldıqdan sonra dörd mühərriki və dörd montaj aksesuarını çıxarın. Mühərrikləri bağlamaq üçün montaj dəstlərinə daxil olan vintlərdən və ya quadcopter çərçivəsindən qalan vintlərdən istifadə edə bilərsiniz. Bağladığımız bağları satın alsanız, yuxarıda göstərilən iki əlavə komponent alacaqsınız. Bu hissələr olmadan yaxşı motor performansına sahib olduq, buna görə də arıqlamaq üçün onları buraxdıq.

Mühərriklər yerində əyildikdən sonra, kvadrokopter çərçivəsinin üst boşqabının üstündəki epoksi güc paylayıcı lövhəni (PDB) yerləşdirin. Batareya konnektorunun yuxarıdakı şəkildə olduğu kimi fərqli rəngli qollar arasında (alt lövhənin uzun hissələrindən birinə paralel olaraq) işarə edəcək şəkildə istiqamətləndirdiyinizə əmin olun.

Qadın dişləri olan dörd pervane konusunuz da olmalıdır. Bunları hələlik kənara qoyun.

İndi ESC -lərinizi çıxarın. Bir tərəfdən biri qırmızı, biri qara olmaqla iki tel çıxacaq. Dörd ESC -nin hər biri üçün qırmızı teli PDB -nin müsbət bağlayıcısına, qara hissəni isə mənfi tərəfə daxil edin. Unutmayın ki, fərqli bir PDB istifadə edirsinizsə, bu addım lehim tələb edə bilər. İndi hər bir motordan çıxan üç telin hər birini bağlayın. Bu nöqtədə hansı ESC telini hansı motor telinə bağladığınızın əhəmiyyəti yoxdur (bir ESC -nin bütün tellərini eyni mühərriklə bağladığınız müddətcə!) Arxa polariteyi sonradan düzəldəcəksiniz. Tellərin geri çevrilməsi təhlükəli deyil; yalnız motorun geriyə fırlanması ilə nəticələnir.

Addım 4: Arduino və Shield hazırlayın

Arduino və Shield hazırlayın
Arduino və Shield hazırlayın
Arduino və Shield hazırlayın
Arduino və Shield hazırlayın

Başlamazdan əvvəl bir qeyd

Birincisi, bütün telləri birbaşa birlikdə lehimləməyi seçə bilərsiniz. Bununla birlikdə, pin başlıqlarından istifadə etməyi əvəzolunmaz hesab etdik, çünki onlar problemlərin aradan qaldırılması və layihənin uyğunlaşdırılması üçün çox rahatlıq verir. Aşağıdakılar, etdiklərimizin təsviridir (və başqalarına etməyi tövsiyə edir).

Arduino və qalxan hazırlayın

Arduino Mega-nı (və ya muxtar olmayan dördlüyü işləyərkən Uno), GPS qalxanı və yığılabilir başlıqları çıxarın. Yuxarıdakı şəkildə göstərildiyi kimi, yığılmış başlıqların kişi ucunu GPS qalxanından əvvəlcədən lehimlənmiş pinlərə paralel sancaqlar sırasına yerləşdirin. 3V, CD,… RX etiketli pin sırasındakı yığılabilir başlıqlarda da lehim. Dibdən çıxan sancaqlardakı artıq uzunluğu kəsmək üçün tel kəsici istifadə edin. Bütün üst -üstə yığılmış başlıqlarda əyilmiş başları olan kişi başlıqlarını yerləşdirin. Qalan komponentlər üçün telləri lehimləyəcəyiniz şeylər bunlardır.

Sancaqların Arduino (Mega və ya Uno) ilə üst -üstə düşdüyündən əmin olaraq GPS qalxanı yuxarıya bağlayın. Qeyd edək ki, Mega -dan istifadə etsəniz, qalxanı yerinə qoyduqdan sonra çoxlu Arduino hələ də açıq qalacaq.

Arduino PDB -də dayandıqda hər hansı bir qısa qapanmanın qarşısını almaq üçün elektrik lentini Arduinonun altına, bütün açıq pin lehimlərini əhatə edərək qoyun.

Addım 5: Komponentləri Bir -birinə Bağlayın və Batareyanı Yerləşdirin (Uno)

Komponentləri Birlikdə Tel Edin və Batareyanı Yerləşdirin (Uno)
Komponentləri Birlikdə Tel Edin və Batareyanı Yerləşdirin (Uno)
Komponentləri Birlikdə Tel Edin və Batareyanı Yerləşdirin (Uno)
Komponentləri Birlikdə Tel Edin və Batareyanı Yerləşdirin (Uno)
Komponentləri Birlikdə Tel Edin və Batareyanı Yerləşdirin (Uno)
Komponentləri Birlikdə Tel Edin və Batareyanı Yerləşdirin (Uno)
Komponentləri Birlikdə Tel Edin və Batareyanı Yerləşdirin (Uno)
Komponentləri Birlikdə Tel Edin və Batareyanı Yerləşdirin (Uno)

Yuxarıdakı sxem, dizaynımızı özümüzdən çox üstün tutduğumuz üçün Joop Brooking tərəfindən edilən ilə eynidir.

*Qeyd edək ki, bu sxem düzgün quraşdırılmış GPS qalxanıdır və beləliklə GPS bu sxemdə görünmür.

Yuxarıdakı sxem, xüsusilə Arduino ilə əlaqəli sxemlər üçün çox tövsiyə olunan Fritzing proqramı istifadə edərək hazırlanmışdır. Parçalarımız ümumiyyətlə Fritzing -in daxil olan hissə kitabxanasında olmadığından, əsasən çevik şəkildə düzəldilə bilən ümumi hissələrdən istifadə etdik.

-GPS qalxanındakı açarın "Birbaşa Yazma" ya keçdiyinə əmin olun.

-İndi bütün komponentləri yuxarıdakı sxemə uyğun olaraq bağlayın (batareya istisna olmaqla!) (Aşağıdakı GPS məlumat tellərinə dair vacib qeyd).

-ESC -ləri motorlara və PDB -yə bağladığınızı unutmayın, buna görə sxemin bu hissəsi tamamlandı.

-Əlavə olaraq qeyd edək ki, GPS məlumatları (sarı tellər) Arduino üzərindəki 0 və 1 sancaqlardan çıxır (GPS -də ayrı Tx və Rx pinləri deyil). Bunun səbəbi, "Birbaşa Yazma" (aşağıya bax) olaraq konfiqurasiya edilmiş, GPS birbaşa uno üzərindəki aparat serial portlarına (pinlər 0 və 1) çıxır. Bu, tam kabelin yuxarıdakı ikinci şəkilində ən aydın şəkildə göstərilmişdir.

-RC alıcısını bağlayarkən yuxarıdakı şəklə baxın. Məlumat tellərinin ən üst sıraya girdiyini, Vin və Gnd isə müvafiq olaraq ikinci və üçüncü sıralarda (və ikinci və ən uzaq sancaqlar sütununda) olduğuna diqqət yetirin.

-PDC-dən Arduino'nun Vin-ə qədər olan HC-12 qəbuledicisi, RC alıcısı və 5Vout üçün naqilləri yığmaq üçün üst-üstə düşən başlıqlardan istifadə etdik, gyro üçün isə telləri birbaşa lövhəyə lehimlədik və ətrafındakı istilik büzücü borulardan istifadə etdik. lehim. Kiçik hissənin montajını asanlaşdıran yer qənaət etdiyi üçün hər hansı bir komponent üçün seçim edə bilərsiniz, ancaq birbaşa girroya lehimləmə tövsiyə olunur. Başlıqlardan istifadə etmək daha az işdir, ancaq daha çox rahatlıq təmin edir. Lehim telləri uzunmüddətli daha etibarlı bir əlaqədir, lakin bu komponenti başqa bir layihədə istifadə etmək daha çətindir. Qeyd edək ki, GPS qalxanındakı başlıqlardan istifadə etmisinizsə, nə etməyinizdən asılı olmayaraq hələ də kifayət qədər elastikliyə sahibsiniz. Əsas odur ki, GPSdəki 0 və 1 sancaqlardakı GPS məlumat tellərinin sökülüb dəyişdirilməsinin asan olduğuna əmin olun.

Layihəmizin sonunda bütün komponentlərimizi çərçivəyə bağlamaq üçün yaxşı bir üsul hazırlaya bilmədik. Sinifimizin vaxt təzyiqi səbəbindən həll yollarımız ümumiyyətlə iki tərəfli köpük lent, yapışan bant, elektrik lenti və fermuar bağları ətrafında gedirdi. Daha uzunmüddətli bir layihə olaraq planlaşdırırsanız, sabit montaj quruluşlarının dizaynına daha çox vaxt sərf etməyinizi çox tövsiyə edirik. Bütün bunlarla birlikdə, yalnız sürətli bir prototip hazırlamaq istəyirsinizsə, prosesimizi izləməkdən çekinmeyin. Bununla birlikdə, gironun etibarlı bir şəkildə quraşdırıldığından əmin olun. Bu, Arduinonun quadcopterin nə etdiyini bilməsinin yeganə yoludur, buna görə də uçuşda hərəkət edərsə, problemləriniz olacaq.

Hər şey telli və yerindədirsə, LiPo batareyanızı götürün və çərçivənin üst və alt plitələri arasında sürüşdürün. Bağlayıcısının PDB konnektoru ilə eyni istiqamətdə olduğuna və əslində qoşula biləcəyinə əmin olun. Batareyanı yerində saxlamaq üçün yapışqan lentdən istifadə etdik (velcro tape də işləyir, amma yapışqan lentdən daha çox əsəbidir). Bant yaxşı işləyir, çünki batareyanı asanlıqla dəyişdirə və ya şarj etmək üçün çıxara bilərsiniz. Batareyanı sıx bağladığınızdan əmin olmalısınız, sanki batareya uçuş zamanı hərəkət edir və bu, dronun balansını ciddi şəkildə poza bilər. Batareyanı hələ PDB -yə QOŞULMAYIN.

Addım 6: Komponentləri Birləşdirin və Batareyanı Yerləşdirin (Mega)

Komponentləri Birləşdirin və Batareyanı Yerləşdirin (Mega)
Komponentləri Birləşdirin və Batareyanı Yerləşdirin (Mega)
Komponentləri Birləşdirin və Batareyanı Yerləşdirin (Mega)
Komponentləri Birləşdirin və Batareyanı Yerləşdirin (Mega)
Komponentləri Birləşdirin və Batareyanı Yerləşdirin (Mega)
Komponentləri Birləşdirin və Batareyanı Yerləşdirin (Mega)

Yuxarıdakı sxem, xüsusən arduino ilə əlaqəli sxemlər üçün çox tövsiyə olunan Fritzing proqramı ilə hazırlanmışdır. Parçalarımız ümumiyyətlə Fritzing -in daxil olan kitabxana kitabxanasında olmadığından, əsasən ümumi hissələrdən istifadə etdik.

-Qeyd edək ki, bu sxem düzgün quraşdırılmış GPS qalxanıdır və beləliklə GPS bu sxemdə görünmür.

-Mega 2560 -dakı açarı "Yumşaq Serial" a çevirin.

-İndi bütün komponentləri yuxarıdakı sxemə görə bağlayın (batareya istisna olmaqla!)

-ESC -ləri motorlara və PDB -yə bağladığınıza diqqət yetirin, buna görə sxemin bu hissəsi tamamlandı.

-Pin 8-dən Rx-ə və Pin-7-dən Tx-ə qədər olan tullanan kabellər var, çünki (bu qalxanın hazırlandığı Unodan fərqli olaraq), mega 7 və 8-ci pinlərdə universal asenkron qəbuledici-ötürücüdən (UART) məhrumdur. hardware serial pinlərindən istifadə etməliyik. Daha sonra müzakirə ediləcək hardware serial pinlərinə ehtiyacımızın daha çox səbəbi var.

-RC alıcısını bağlayarkən yuxarıdakı şəklə baxın. Məlumat tellərinin ən üst sıraya girdiyini, Vin və Gnd isə müvafiq olaraq ikinci və üçüncü sıralarda (və ikinci və ən uzaq sancaqlar sütununda) olduğuna diqqət yetirin.

-PDC-dən Arduino'nun Vin-ə qədər olan HC-12 qəbuledicisi, RC alıcısı və 5Vout-un naqillərini düzəltmək üçün üst-üstə yığılmış başlıqlardan istifadə etdik. Hər hansı bir komponent üçün bunu etməyi seçə bilərsiniz. Başlıqlardan istifadə etmək daha az işdir, ancaq daha çox rahatlıq təmin edir. Lehim telləri uzunmüddətli daha etibarlı bir əlaqədir, lakin bu komponenti başqa bir layihədə istifadə etmək daha çətindir. Qeyd edək ki, GPS qalxanındakı başlıqlardan istifadə etmisinizsə, nə etməyinizdən asılı olmayaraq hələ də kifayət qədər elastikliyə sahibsiniz.

Layihəmizin sonunda bütün komponentlərimizi çərçivəyə bağlamaq üçün yaxşı bir üsul hazırlaya bilmədik. Sinifimizin vaxt təzyiqi səbəbindən həll yollarımız ümumiyyətlə iki tərəfli köpük lent, yapışan bant, elektrik lenti və fermuar bağları ətrafında gedirdi. Daha uzunmüddətli bir layihə olaraq planlaşdırırsanız, sabit montaj quruluşlarının dizaynına daha çox vaxt sərf etməyinizi çox tövsiyə edirik. Bütün bunlarla birlikdə, yalnız sürətli bir prototip etmək istəyirsinizsə, prosesimizdə təqib etməkdən çekinmeyin. Bununla birlikdə, gironun etibarlı bir şəkildə quraşdırıldığından əmin olun. Bu, Arduinonun quadcopterin nə etdiyini bilməsinin yeganə yoludur, buna görə də uçuşda hərəkət edərsə, problemləriniz olacaq.

Hər şey telli və yerindədirsə, LiPo batareyanızı götürün və çərçivənin üst və alt plitələri arasında sürüşdürün. Bağlayıcısının PDB konnektoru ilə eyni istiqamətdə olduğuna və əslində qoşula biləcəyinə əmin olun. Batareyanı yerində saxlamaq üçün yapışqan lentdən istifadə etdik (velcro tape də işləyir, amma yapışqan lentdən daha çox əsəbidir). Bant yaxşı işləyir, çünki batareyanı asanlıqla dəyişdirə və ya şarj etmək üçün çıxara bilərsiniz. Batareyanı sıx bağladığınızdan əmin olmalısınız, sanki batareya uçuş zamanı hərəkət edir və bu, dronun balansını ciddi şəkildə poza bilər. Batareyanı hələ PDB -yə QOŞULMAYIN.

Addım 7: Alıcını bağlayın

Bağlayıcı Alıcı
Bağlayıcı Alıcı
Bağlayıcı Alıcı
Bağlayıcı Alıcı

RC qəbuledicisini götürün və müvəqqəti olaraq 5V enerji təchizatına qoşun (ya Arduino -nu USB və ya 9V gücündə, ya da ayrı bir enerji təchizatı ilə işə salın. LiPo -nu Arduino -ya hələ qoşmayın). RC alıcısı ilə birlikdə gələn bağlama pinini götürün və alıcıdakı BIND pinlərinə yerləşdirin. Alternativ olaraq, yuxarıdakı fotoşəkildə göstərildiyi kimi BIND sütunundakı üst və alt sancaqları qısaltın. Alıcıda qırmızı işıq sürətlə yanıb -sönməlidir. İndi nəzarətçini götürün və yuxarıda göstərildiyi kimi söndürüldükdə arxadakı düyməni basın. Düyməni basıb idarəçini yandırın. İndi qəbuledicinin yanıb -sönən işığı yanmalıdır. Alıcı bağlıdır. Bağlama kabelini çıxarın. Fərqli bir enerji təchizatı istifadə edirsinizsə, alıcını Arduinodan 5V -ə yenidən bağlayın.

Addım 8: (İsteğe bağlı) Birlikdə tel bağlayın və FPV Kamera Sistemini quraşdırın

(İsteğe bağlı) Birlikdə tel bağlayın və FPV Kamera Sistemini quraşdırın
(İsteğe bağlı) Birlikdə tel bağlayın və FPV Kamera Sistemini quraşdırın
(İsteğe bağlı) Birlikdə tel bağlayın və FPV Kamera Sistemini quraşdırın
(İsteğe bağlı) Birlikdə tel bağlayın və FPV Kamera Sistemini quraşdırın

Əvvəlcə XT-60 adapterini monitordakı güc və torpaq telləri ilə birlikdə lehimləyin. Bunlar monitordan monitora dəyişə bilər, amma güc demək olar ki, həmişə qırmızı, yer demək olar ki, həmişə qara olacaq. İndi lehimli telləri olan adapteri XT-60 fişi ilə 1000mAh LiPo-ya daxil edin. Monitor (ümumiyyətlə) mavi fonda açılmalıdır. Ən çətin addım budur!

İndi alıcı və ötürücüdəki antenləri vidalayın.

Kiçik 500mAh Lipo cihazınızı ötürücüyə qoşun. Ən sağdakı pin (antenanın altında) batareyanın şnurudur (V_), soldakı növbəti pin V+-dır. Kameraya gedən üç tel gəlir. Kameranız, ötürücüyə uyğun olan üçdə bir fiş ilə birlikdə gəlməlidir. Ortada sarı məlumat telinin olduğundan əmin olun. Bağladığımız batareyaları bunun üçün fişlərlə istifadə edirsinizsə, bu addım heç bir lehim tələb etməməlidir.

Nəhayət, digər 1000mAh batareyanı qəbuledicinizlə birlikdə gələn DC çıxışı ilə bağlayın və öz növbəsində alıcınızdakı DC portuna qoşun. Nəhayət, qəbuledicinizlə gələn AVin kabelinin qara ucunu alıcınızdakı AVin portuna, digər ucunu (sarı, dişi) monitörünüzün AVin kabelinin sarı kişi ucuna bağlayın.

Bu nöqtədə, monitorda bir kamera görünüşünü görə bilməlisiniz. Bunu edə bilmirsinizsə, qəbuledicinin və vericinin hər ikisinin də (kiçik ekranlarında rəqəmləri görməlisiniz) və eyni kanalda olduğundan əmin olun (hər ikisi üçün 11 -ci kanaldan istifadə etdik və yaxşı uğur qazandıq). Əlavə olaraq, monitordakı kanalı dəyişdirməyiniz lazım ola bilər.

Komponentləri çərçivəyə quraşdırın.

Quraşdırma işləri başa çatdıqdan sonra, uçmağa hazır olana qədər batareyaları ayırın.

Addım 9: GPS Məlumat qəbulunu qurun

GPS Məlumat qəbulunu qurun
GPS Məlumat qəbulunu qurun
GPS Məlumat Qəbulunu qurun
GPS Məlumat Qəbulunu qurun

Yuxarıdakı sxemdə göstərildiyi kimi, ikinci Arduino-nu ikinci HC-12 qəbuledicinizlə bağlayın, unutmayın ki, quraşdırma yalnız kompüterə qoşulduqda göstərildiyi kimi işləyəcəkdir. Verilən ötürücü kodunu yükləyin, seriyalı monitorunuzu 9600 bauda açın.

Daha sadə bir quruluşdan istifadə edirsinizsə, GPS qalxanınız digər HC-12 qəbuledicisinə düzgün bağlanıbsa (və qalxanın açarı "Birbaşa Yazı" dadırsa) GPS cümlələri almağa başlamalısınız.

Mega ilə keçidin "Yumşaq Serial" da olduğundan əmin olun.

Addım 10: Quraşdırma Kodunu həyata keçirin (Uno)

Bu kod Joop Brokkingin Arduino quadcopter dərsliyində istifadə etdiyi kodla eynidir və yazdığı üçün bütün kreditə layiqdir.

Batareya ayrıldıqda, USB kabelindən istifadə edərək kompüterinizi Arduino -ya qoşun və əlavə edilmiş Quraşdırma Kodunu yükləyin. RC ötürücüsünü yandırın. Serial monitorunuzu 57600 baud -a açın və əmrləri yerinə yetirin.

Ümumi səhvlər:

Kod yüklənmirsə, UNO/GPS qalxanındakı 0 və 1 sancaqlarının çıxarıldığından əmin olun. Bu cihazın kompüterlə ünsiyyət qurmaq üçün istifadə etdiyi eyni hardware portudur, buna görə də pulsuz olmalıdır.

Kod bir anda bir neçə addımı atlayırsa, GPS keçidinizin "Birbaşa Yazma" nın olub olmadığını yoxlayın.

Heç bir alıcı aşkar edilmirsə, ötürücü aktiv olduqda qəbuledicinizdə bərk (lakin zəif) qırmızı işıq olduğundan əmin olun. Əgər belədirsə, naqilləri yoxlayın.

Heç bir cayro aşkar edilmirsə, bunun səbəbi girro zədələnmiş ola bilər və ya kodun yazmaq üçün nəzərdə tutulduğundan fərqli bir cayro növü varsa.

Addım 11: Quraşdırma Kodunu (Mega) yerinə yetirin

Bu kod Joop Brokkingin Arduino quadcopter dərsliyində istifadə etdiyi kodla eynidir və yazdığı üçün bütün kreditə layiqdir. Alıcı girişləri düzgün Pin Change Interrupt pinlərinə uyğun olması üçün Mega üçün naqilləri uyğunlaşdırdıq.

Batareya ayrıldıqda, USB kabelindən istifadə edərək kompüterinizi Arduino -ya qoşun və əlavə edilmiş Quraşdırma Kodunu yükləyin. Serial monitorunuzu 57600 baud -a açın və əmrləri yerinə yetirin.

Addım 12: ESC -ləri kalibr edin (Uno)

Bir daha bu kod Joop Brokking kodu ilə eynidir. Bütün dəyişikliklər GPS və Arduinonun inteqrasiyası üçün edildi və daha sonra daha inkişaf etmiş quadcopterin quruluşunun təsvirində tapıla bilər.

Əlavə edilmiş ESC kalibrləmə kodunu yükləyin. Serial monitorda 'r' hərfini yazın və geri qayıt. Gerçek zamanlı RC nəzarətçi dəyərlərini siyahıda görməyə başlamalısınız. Qaz, rulon, meydança və yaw həddində 1000 -dən 2000 -ə qədər dəyişdiklərini doğrulayın. Sonra 'a' yazın və geri qayıt. Gyro kalibrini buraxın və sonra gironun dördlüyün hərəkətini qeyd etdiyini yoxlayın. İndi arduino -nu kompüterdən çıxarın, qazı idarəedicinin üstünə qədər itələyin və batareyanı qoşun. ESC -lər fərqli səs siqnalları verməlidir (lakin bu, ESC və onun proqram təminatından asılı olaraq fərqli ola bilər). Qazı sonuna qədər itələyin. ESC -lər daha aşağı səs siqnalları verməli, sonra susmalıdırlar. Batareyanı ayırın.

İsteğe bağlı olaraq, bu anda pervaneleri sıx bir şəkildə bağlamaq üçün motor montaj aksesuar paketinizlə birlikdə gələn konusları istifadə edə bilərsiniz. Daha sonra ən aşağı gücdə 1 - 4 mühərrikləri işə salmaq üçün serial monitorda 1 - 4 rəqəmlərini daxil edin. Proqram, rekvizitlərin balanssızlığı səbəbindən titrəmənin miqdarını qeyd edəcək. Bir tərəfə və ya digər tərəfə az miqdarda skotch əlavə edərək bunu düzəltməyə cəhd edə bilərsiniz. Bu addım olmadan gözəl bir uçuş əldə edə biləcəyimizi gördük, ancaq rekvizitləri balanslaşdırdığımızdan bir az daha səmərəli və daha yüksək səslə.

Addım 13: ESC -ləri kalibr edin (Mega)

Bu kod Brokking koduna çox oxşardır, lakin onu (və müvafiq naqilləri) Mega ilə işləmək üçün uyğunlaşdırdıq.

Əlavə edilmiş ESC kalibrləmə kodunu yükləyin. Serial monitorda 'r' hərfini yazın və geri qayıt. Real vaxtlı RC nəzarətçi dəyərlərini siyahıda görməyə başlamalısınız. Qaz, rulon, meydança və yaw həddində 1000 -dən 2000 -ə qədər dəyişdiklərini doğrulayın.

Sonra 'a' yazın və geri qayıt. Gyro kalibrini buraxın və sonra gironun dördlüyün hərəkətini qeyd etdiyini yoxlayın.

İndi arduino -nu kompüterdən çıxarın, qazı idarəedicinin üstünə qədər itələyin və batareyanı qoşun. ESC -lər üç aşağı səs siqnalı və sonra yüksək səs siqnalı verməlidir (lakin bu, ESC və onun proqram təminatından asılı olaraq fərqli ola bilər). Qazı sonuna qədər itələyin. Batareyanı ayırın.

Bu kodda etdiyimiz dəyişikliklər, ESC sancaqları üçün PORTD -dən PORTA -ya keçmək və sonra bu portlara yazılmış baytları dəyişdirmək idi, beləliklə, kabel sxemində göstərildiyi kimi müvafiq pinləri aktivləşdirdik. Bu dəyişiklik, PORTD qeyd pinlərinin Uno -da olduğu kimi Mega -da eyni yerdə olmamasıdır. Məktəbimizin mağazasında olan köhnə markalı bir Mega ilə işləyərkən bu kodu tam olaraq sınaya bilmədik. Bu, nədənsə bütün PORTA qeyd pinlərinin ESC -ləri düzgün şəkildə aktivləşdirə bilməməsi demək idi. Test kodlarımızdan birində və ya bərabər operatorunu (| =) istifadə etməkdə də çətinlik çəkdik. ESC pin gərginliyini təyin etmək üçün bayt yazarkən bunun niyə problem yaratdığından əmin deyilik, buna görə də Brooking kodunu mümkün qədər az dəyişdirdik. Bu kodun funksionallığa çox yaxın olduğunu düşünürük, ancaq yürüşünüz dəyişə bilər.

Addım 14: Havadan alın !! (Uno)

Yenə də dahi kodun bu üçüncü hissəsi Joop Brokkingin əsəridir. Bütün bu üç kod parçasında dəyişikliklər yalnız GPS məlumatlarını Arduinoya inteqrasiya etmək cəhdlərimizdə mövcuddur.

Pervanelerinizi çərçivəyə möhkəm bağladığınızda və bütün komponentləri bağladığınızda, bantladığınızda və ya başqa bir şəkildə bağladığınızda uçuş nəzarət kodunu Arduino -ya yükləyin, sonra Arduino -nu kompüterinizdən ayırın.

Kvadrokopterinizi bayıra çıxarın, batareyanı qoşun və ötürücünüzü yandırın. İsteğe bağlı olaraq, GPS qəbul qurğunuza, həmçinin video qəbulu və monitorunuza qoşulmuş bir noutbuk gətirin. Alıcı -verici kodunu yerüstü Arduino -ya yükləyin, seriyalı monitörünüzü 9600 bada açın və GPS məlumatlarının daxil olmasını izləyin.

İndi uçmağa hazırsınız. Qazı aşağı itələyin və quadcopteri silahlandırmaq üçün sola əyildikdən sonra yavaşca hover etmək üçün qazanı qaldırın. Rahatlaşana qədər yerə aşağı və çəmən kimi yumşaq səthlərin üstünə uçmağa başlayın.

İlk dəfə dron və GPS -in eyni vaxtda işləməsini əldə edə bildiyimiz zaman həyəcanla dronla uçduğumuzu əks etdirən videoya baxın.

Addım 15: Havadan alın !! (Meqa)

Mega üçün ESC kalibrləmə kodu ilə bağlı olduğumuz üçün bu lövhə üçün uçuş nəzarətçi kodu yarada bilmədik. Bu nöqtəyə çatmısınızsa, təsəvvür edirəm ki, Mega üçün işləməsi üçün heç olmasa ESC kalibrləmə kodu ilə məşğul olmusunuz. Buna görə də, ehtimal ki, son addımda etdiyiniz kimi uçuş nəzarətçi koduna bənzər dəyişikliklər etməli olacaqsınız. Mega üçün ESC kalibrləmə kodumuz başqa bir dəyişiklik etmədən sehrli bir şəkildə işləyirsə, bu addım üçün işləməsi üçün stok kodunu etməli olduğunuz bir neçə şey var. Əvvəlcə bütün PORTD nümunələrini keçib PORTA ilə əvəz etməlisiniz. Ayrıca, DDRD -ni DDRA olaraq dəyişdirməyi unutmayın. Sonra, PORTA reyestrinə yazılan bütün baytları düzgün sancaqları aktivləşdirmək üçün dəyişdirməlisiniz. Bunu etmək üçün sancaqları yüksək səviyyəyə təyin etmək üçün B11000011 baytından istifadə edin. Uğurlar və bir Mega istifadə edərək uğurla uçduğunuzu bizə bildirin!

Addım 16: Mega Dizaynı ilə Hal -hazırda Olduğumuz Yerə Necə Getdik

Bu layihə Arduino və elektronika hobbisinə yeni başlayanlar üçün bizim üçün böyük bir öyrənmə təcrübəsi idi. Buna görə də, Joop Brokking kodunu aktivləşdirmək üçün GPS -ə çalışarkən qarşılaşdığımız hər şeyin dastanını daxil edəcəyik. Brokking kodu yazdığımız hər şeydən daha dolğun və çox mürəkkəb olduğu üçün onu mümkün qədər az dəyişdirmək qərarına gəldik. GPS qalxanının Arduino -ya məlumat göndərməsini almağa çalışdıq və Arduino -dan bu kodu HC12 qəbuledicisi vasitəsilə uçuş kodunu dəyişdirmədən və ya heç bir şəkildə dəyişdirmədən bizə göndərməsini istədik. Hansı pinlərin olduğunu öyrənmək üçün Arduino Uno -nun sxemlərinə və kabellərinə baxdıqdan sonra mövcud dizayn üzərində işləmək üçün istifadə etdiyimiz GPS ötürücü kodunu dəyişdik. Sonra hər şeyin işlədiyinə əmin olmaq üçün test etdik. Bu nöqtədə işlər ümidverici görünürdü.

Növbəti addım, yeni düzəltdiyimiz və Brokkingin uçuş idarəedicisi ilə sınadığımız kodu inteqrasiya etmək idi. Bu o qədər də çətin olmadı, amma tez bir zamanda səhv etdik. Brokkingin uçuş nəzarətçisi, Arduino Wire və EEPROM kitabxanalarına güvənir, GPS kodumuz həm Proqram Serial kitabxanasından, həm də Arduino GPS kitabxanasından istifadə edirdi. Tel Kitabxanası Proqram Serial kitabxanasına istinad etdiyi üçün, kodun tərtib edilmədiyi bir səhvlə qarşılaşdıq, çünki "_vector 3_ üçün birdən çox tərif" var, nə deməkdir. Google -a baxdıqdan və kitabxanalarda araşdırmalar apardıqdan sonra başa düşdük ki, bu kitabxana qarşıdurması bu kod parçalarını birlikdə istifadə etməyi qeyri -mümkün edir. Beləliklə, alternativlər axtarmağa başladıq.

Anladığımız şey, səhv etməyən kitabxanaların yeganə birləşməsinin standart GPS kitabxanasını neoGPS -ə dəyişməsi və sonra Software Serial yerinə AltSoftSerialdan istifadə etməsidir. Bu kombinasiya işə yaradı, lakin AltSoftSerial yalnız dizaynımızda olmayan xüsusi pinlərlə işləyə bilər. Mega -dan istifadə etməyimizə səbəb olan budur. Arduino Megas -ın birdən çox hardware serial portu var ki, bu da proqram serial portlarını açmağa ehtiyac duymadan bu kitabxana qarşıdurmasını aşa biləcəyimiz anlamına gəlir.

Ancaq Mega -dan istifadə etməyə başlayanda, pin konfiqurasiyasının fərqli olduğunu tez anladıq. Uno -da kəsintilər olan pinlər Mega -da fərqlidir. Eynilə, SDA və SCL pinləri fərqli yerlərdə idi. Hər bir Arduino növü üçün pin diaqramlarını öyrəndikdən və kodda qeyd edilən qeydləri yenidən ixtisar etdikdən sonra, uçuş qurma kodunu yalnız minimal yenidən bağlama və proqram dəyişikliyi olmadan işlədə bildik.

ESC kalibrləmə kodu problemlərlə qarşılaşmağa başladığımız yerdir. Qısa müddət əvvəl buna toxunduq, amma əsasən ESC -ləri idarə etmək üçün istifadə olunan pinləri tənzimləmək üçün kod pin qeydlərindən istifadə edir. Bu, standart pinMode () funksiyasından istifadə etməklə kodu oxumağı çətinləşdirir; Bununla birlikdə, kodun daha sürətli işləməsinə və sancaqları eyni anda aktivləşdirməsinə səbəb olur. Uçuş kodu diqqətlə təyin edilmiş bir döngədə işlədiyi üçün bu vacibdir. Arduinos arasındakı pin fərqləri səbəbiylə Mega -da A port registrindən istifadə etmək qərarına gəldik. Ancaq testlərimizdə, bütün pinlər bizə yüksək işləməyi söylədikdə eyni çıxış gərginliyi vermədi. Bəzi sancaqlar 4.90V ətrafında, digərləri isə 4.95V -ə yaxınlaşdırdı. Göründüyü kimi, əlimizdə olan ESC -lər bir qədər çətindir və buna görə də daha yüksək gərginlikli pinləri istifadə etdiyimiz zaman düzgün işləyəcəklər. Bu, bizi A qeyd etmək üçün yazdığımız baytları düzgün pinlərlə danışmaq üçün dəyişdirməyə məcbur etdi. ESC kalibrləmə bölməsində bu barədə daha çox məlumat var.

Bu, layihənin bu hissəsində əldə etdiyimiz qədərdir. Bu dəyişdirilmiş ESC kalibrləmə kodunu sınamağa gedəndə bir şey qısaldı və Arduino ilə əlaqəmiz kəsildi. Kabellərin heç birini dəyişdirmədiyimiz üçün bu barədə çox təəccübləndik. Bu, bizi geri çəkilməyə və bir -birimizə uyğun olmayan parçaları bir araya gətirməyə çalışdıqdan sonra uçan bir pilotsuz təyyarə almaq üçün cəmi bir neçə günümüzün olduğunu başa düşməyə məcbur etdi. Bu səbəbdən geri çəkildik və Uno ilə daha sadə bir layihə yaratdıq. Ancaq yenə də düşünürük ki, yanaşmamız Mega ilə işləməyə çox az vaxt qalıb.

Məqsədimiz, Brokking kodunu dəyişdirmək üzərində işləyirsinizsə, qarşılaşdığımız maneələrin bu izahının sizin üçün faydalı olmasıdır. GPS əsasında hər hansı bir muxtar idarəetmə xüsusiyyətini kodlaşdırmağa cəhd etmə şansımız da olmadı. Bu, Mega ilə işləyən bir dron yaratdıqdan sonra başa düşməyiniz lazım olan bir şeydir. Ancaq Google -un bəzi ilkin araşdırmalarına görə, Kalman filtrini tətbiq etmək uçuşdakı mövqeyi təyin etmək üçün ən sabit və ən doğru yol ola bilər. Bu alqoritmin dövlət qiymətləndirmələrini necə optimallaşdırdığını bir az araşdırmağı təklif edirik. Bunun xaricində uğurlar və bacardığımızdan daha çox şey əldə etsəniz bizə bildirin!

Tövsiyə: