Mündəricat:
- Addım 1: Ehtiyacımız olan:
- Addım 2: Bina…
- Addım 3: Davam etməzdən əvvəl bəzi əlavə məlumatlar
- Addım 4: Kod:
- Addım 5: Test və Nəticə
Video: Gyro, Accelerometer və Arduino istifadə edərək Açı Ölçmə: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:49
Cihaz, nəticədə özünü tarazlaşdıran bir robot olacaq şeyin kobud bir prototipidir, bu deşik işinin ikinci hissəsidir (akselerometr oxuyun və motoru özünü tarazlaşdırmaq üçün idarə edin). Yalnız cayro ilə birinci hissəni burada tapa bilərsiniz. Bu təlimatda, həm giroskopu, həm də akselerometrdən istifadə edərək və hamar bir siqnal əldə etmək üçün hər iki sensoru birləşdirən bir texnikadan istifadə edərək ölçəcəyik. Texnikaya "tamamlayıcı filtr" deyilir
Addım 1: Ehtiyacımız olan:
Bəzi hissələr dəyişdirilə bilər və bəzi dəyişikliklər cihazınıza uyğun olaraq edilməlidir. Bu layihədə istifadə edəcəyik:- Breadboard- Mikro nəzarətçi, Arduinoboard- Tel- Jumper Telləri- Gyroscope XV-8100- Nunchuck Wii (sürətləndirici üçün)- Arduino üçün Nunchuck Wii adapteri
Addım 2: Bina…
Dövrə, arduino -da 0 portuna birbaşa bağlı olan bir giroskopdan və I2C portunda bir nunchuck wii -dən ibarətdir. - çörək taxtasına girrou qoşun2. - telin hər şeyi:- Arduino-da analog port0-a qoşulan cirodan Vo pin (Açıq narıncı tel)- Torpaqla əlaqəli girrodan G pin (Ağ tel)- Vdd-ə qoşulan girodan V+ pin (Narıncı tel) Montaj akselerometr: 1. - adapteri nunchuck2 -ə qoşun. - adapteri istifadə edərək nunchucku arduino -ya qoşun. - Accel sensorunu yuxarıdakı şəkildəki kimi yerləşdirin
Addım 3: Davam etməzdən əvvəl bəzi əlavə məlumatlar
Hər iki sensordan bucağı ölçə bilərik, ancaq iki fərqli texnikadan istifadə edirik. Gyrodan istifadə edərək bucağı ölçmək üçün siqnalı birləşdirməliyik. Amma niyə bunu etməliyik? Gyro bizə bucaq dərəcəsi verdiyindən, bucağı əldə etməyin sadə bir yolu, bucaq nisbətini zamana vurmaqdır [açı = bucaq + w * dt] Bir akselerometrdən istifadə edərək bucağı ölçmək üçün hər bir cazibə qüvvəsini hiss etməliyik. akselerometrin oxu, bunun nə demək olduğunu, cazibə qüvvəsinin sürətlənməsinin sensorun hər istiqamətindəki proyeksiyası bizə bucaq haqqında fikir verir. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))]) Bəs niyə bir sensoru əvəzinə iki sensor istifadə edəcəyik? Hər iki sensor xüsusiyyətindən faydalanmaq üçün. Gyro məlumatlarının davamlı artımına baxsanız, buna drift deyilir və akselerometr məlumatları çox qısa müddətdə çox dəyişir. Bunun arxasında duran dəqiq nəzəriyyəni bilmirəm, amma yaxşı işləyir. İnternetdə bəzi məlumatlar var, daha çox məlumat lazımdırsa google -a daxil olun. Bu linkdə çoxlu məlumatlar var və faydalı ola bilər.filtered_angle = HPF*(filtered_angle + w*dt) + LPF*(angle_accel); burada HPF + LPF = 1 HPF və LPF dəyərlərini filter.pdf faylında bu linkdə tapa bilərsiniz. "DIY Segway" dən sizə təşəkkür edirəm. Test məqsədləri üçün bu dəyərləri bu şəkildə təyin edəcəyik, HPF = 0.98 və LPF = 0.02.
Addım 4: Kod:
Kod, başqa bir layihədə istifadə etdiyim bir koddan bir uyğunlaşmadır. Yəqin ki, istifadə edilməyən bəzi dəyişənlər var. Http://todbot.com/blog/ saytından nunchuck məlumatlarını oxumaq üçün kitabxanadan istifadə etdim. Təşəkkür edirəm Tod E. Kurt. Kod haqqında şərhlər portuqal dilindədir, boş vaxtım olanda onu tərcümə edəcəyəm. Kod xətti ilə bu nümunə olan bəzi nömrələr çıxır: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Beləliklə, bu dəyərləri seriyalı terminalda saxlaya və qrafik qura və ya başqa şeylər üçün bucaqdan istifadə edə bilərsiniz. Kod haqqında hər hansı bir şərhə ehtiyacınız varsa, soruşmaqda çətinlik çəkmisiniz. zipli. Yalnız açın, açın və arduino -ya yükləyin.
Addım 5: Test və Nəticə
Termit adlı bir proqramı istifadə edərək məlumatları saxladığım sistemi sınamaq üçün bu məlumatları excel -ə daxil edin və filtrimin nə qədər yaxşı olduğunu görmək üçün qrafik qurun. Nəticələr inanılmazdır. Əlbəttə ki, bir motoru və ya digər şeyləri idarə etmək üçün siqnaldan istifadə edə bilərsiniz. Hər hansı bir şərh, hər hansı bir şübhə, hər hansı bir məlumat çatışmazlığı varsa, sadəcə mənə deyin və mən düzəldim. Zəhmət olmasa bunu qiymətləndirsəniz, hamınıza təşəkkür edirəm.
Tövsiyə:
Arduino, OBD2 və CAN Avtobusundan istifadə edərək takometr/skan ölçmə cihazı: 8 addım
Arduino, OBD2 və CAN Avtobusundan istifadə edərək takometr/skan ölçmə cihazı: Hər hansı bir Toyota Prius (və ya digər hibrid/xüsusi nəqliyyat vasitəsi) sahibləri tablosunda bir neçə yığım çatışmadığını biləcəklər! Mənim priusumda nə mühərrik dövriyyəsi, nə də temperatur göstəricisi var. Bir ifaçı olsanız, əvvəlcədən vaxt təyin etmək kimi şeyləri bilmək istəyə bilərsiniz
HYT939 və Partikül Fotonundan istifadə edərək Nəm Ölçmə: 4 addım
HYT939 və Partikül Fotonundan istifadə edərək Nəm Ölçmə: HYT939, I2C rabitə protokolu üzərində işləyən rəqəmsal rütubət sensorudur. Nəmlik, tibbi sistemlərə və laboratoriyalara gəldikdə əsas bir parametrdir, buna görə də bu məqsədlərə çatmaq üçün HYT939 -u moruq pi ilə birləşdirməyə çalışdıq. Mən
HIH6130 və Arduino Nano istifadə edərək Nəmlik və Temperatur Ölçmə: 4 addım
HIH6130 və Arduino Nano istifadə edərək Rütubət və Temperatur Ölçmə: HIH6130 rəqəmsal çıxışı olan rütubət və temperatur sensorudur. Bu sensorlar ± 4% RH dəqiqlik səviyyəsi təmin edir. Sektorun aparıcı uzunmüddətli sabitliyi, əsl temperaturla kompensasiya edilmiş rəqəmsal I2C, Sənayenin qabaqcıl etibarlılığı, Enerji səmərəliliyi
HTS221 və Arduino Nano istifadə edərək Nəmlik və Temperatur Ölçmə: 4 addım
HTS221 və Arduino Nano istifadə edərək Rütubət və Temperatur Ölçmə: HTS221 nisbi rütubət və temperatur üçün ultra kompakt bir kapasitiv rəqəmsal sensordur. Ölçmə məlumatlarını rəqəmsal serial vasitəsilə təmin etmək üçün bir hissedici element və qarışıq siqnal tətbiqinə xüsusi inteqrasiya edilmiş dövrə (ASIC) daxildir
HIH6130 və Particle Photon istifadə edərək Nəmlik və Temperatur Ölçmə: 4 Addım
HIH6130 və Partikül Fotonundan istifadə edərək Nəmlik və Temperatur Ölçmə: HIH6130 rəqəmsal çıxışı olan rütubət və temperatur sensoru. Bu sensorlar ± 4% RH dəqiqlik səviyyəsi təmin edir. Sektorun aparıcı uzunmüddətli sabitliyi, əsl temperaturla kompensasiya edilmiş rəqəmsal I2C, Sənayenin qabaqcıl etibarlılığı, Enerji səmərəliliyi