Բովանդակություն:

Անկյունի չափում `օգտագործելով գիրո, արագացուցիչ և արդուինո. 5 քայլ
Անկյունի չափում `օգտագործելով գիրո, արագացուցիչ և արդուինո. 5 քայլ

Video: Անկյունի չափում `օգտագործելով գիրո, արագացուցիչ և արդուինո. 5 քայլ

Video: Անկյունի չափում `օգտագործելով գիրո, արագացուցիչ և արդուինո. 5 քայլ
Video: Փակվել է 40 տարի ~ Պորտուգալական ազնվականների լքված պալատն իր ողջ ունեցվածքով 2024, Նոյեմբեր
Anonim
Անկյունի չափում ՝ օգտագործելով գիրո, արագացուցիչ և արդուինո
Անկյունի չափում ՝ օգտագործելով գիրո, արագացուցիչ և արդուինո

Սարքը կոպիտ նախատիպ է այն բանի, թե ի վերջո ինչ կդառնա ինքնահավասարակշռող ռոբոտ, սա անցքի երկրորդ մասն է (կարդացեք արագացուցիչի արագությունը և կառավարեք շարժիչը ինքնահավասարակշռության համար): Այստեղ կարելի է գտնել միայն գիրոյի առաջին մասը: Այս ուսանելիի վրա մենք կչափենք անկյունը ՝ օգտագործելով և՛ գիրո, և՛ արագացուցիչ, և տեխնիկայի միջոցով միացնել երկու սենսորը ՝ սահուն ազդանշան ստանալու համար: Տեխնիկան կոչվում է «լրացուցիչ ֆիլտր»: նախորդը

Քայլ 1: Այն, ինչ մեզ պետք կգա

Այն, ինչ մեզ պետք կգա
Այն, ինչ մեզ պետք կգա
Այն, ինչ մեզ պետք կգա
Այն, ինչ մեզ պետք կգա
Այն, ինչ մեզ պետք կգա
Այն, ինչ մեզ պետք կգա
Այն, ինչ մեզ պետք կգա
Այն, ինչ մեզ պետք կգա

Որոշ մասեր կարող են փոխարինվել, և ծածկագրում որոշակի փոփոխություններ պետք է կատարվեն `ձեր սարքավորումների համար համապատասխան: Այս նախագծում մենք կօգտագործենք. (արագացուցիչի համար)- Nunchuck Wii ադապտեր Arduino- ի համար

Քայլ 2: Կառուցել…

Շինություն…
Շինություն…
Շինություն…
Շինություն…
Շինություն…
Շինություն…

Շղթան բաղկացած է գիրոսկոպից, որը միացված է անմիջապես ձեր arduino- ի 0 պորտին և I2C նավահանգստում միացված nunchuck wii- ին: Կիրոսի հավաքում. 1. - միացրեք գիրոն հացատախտակին 2: - մետաղալարեր երբևէ. արագացուցիչ ՝ 1. - միացրեք ադապտորը nunchuck2- ին: - միացրեք nunchuck- ը arduino- ում `օգտագործելով ադապտեր 3: - տեղադրեք արագաչափ սենսորը, ինչպես վերը նշված լուսանկարը

Քայլ 3: Որոշ լրացուցիչ տեղեկություններ նախքան մեր գործը շարունակելը

Շարունակելուց առաջ որոշ լրացուցիչ տեղեկություններ
Շարունակելուց առաջ որոշ լրացուցիչ տեղեկություններ
Շարունակելուց առաջ որոշ լրացուցիչ տեղեկություններ
Շարունակելուց առաջ որոշ լրացուցիչ տեղեկություններ
Շարունակելուց առաջ որոշ լրացուցիչ տեղեկություններ
Շարունակելուց առաջ որոշ լրացուցիչ տեղեկություններ

Երկու սենսորներից էլ մենք կարող ենք չափել անկյունը, բայց օգտագործելով երկու հստակ տեխնիկա: Կիրոսի միջոցով անկյունը չափելու համար մենք պետք է ինտեգրենք ազդանշանը: Բայց ինչու՞ պետք է դա անենք: Քանի որ գիրոն մեզ տալիս է անկյունային արագություն, ուստի անկյուն ստանալու համար պարզ միջոց է անկյունային արագությունը բազմապատկել ժամանակով [անկյուն = անկյուն + w * dt] Արագացուցիչի միջոցով անկյունը չափելու համար մենք պետք է զգանք յուրաքանչյուրի ծանրությունը: արագացուցիչի առանցքը, ինչ է դա նշանակում, սենսորի յուրաքանչյուր ուղղությամբ ինքնահոս արագացման կանխատեսումը մեզ պատկերացում է տալիս անկյունի մասին: [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] Այսպիսով, ինչու՞ ենք մենք մեկ սենսորի փոխարեն օգտագործել երկու սենսոր: Երկու սենսորային հատկություններից առավելություն ստանալու համար: Եթե դուք դիտում եք գիրո տվյալների անընդհատ աճը, դա կոչվում է դրեյֆ, և արագացուցիչի տվյալները փոքր ժամանակ շատ են փոխվում: Իսկ ինչպե՞ս միացնել երկու ազդանշանը: Մենք կօգտագործենք տեխնիկա, որը կոչվում է լրացուցիչ զտիչ: Ես չգիտեմ դրա ճշգրիտ տեսությունը, բայց դա լավ է աշխատում: Ինտերնետում կան որոշ տեղեկություններ, պարզապես գուգլեք, եթե լրացուցիչ տեղեկությունների կարիք ունեք: Այս հղումը շատ տեղեկություններ ունի և կարող է օգտակար լինել: զտված_անկյուն = HPF*(ֆիլտրացված_անկյուն + w*dt) + LPF*(angle_accel); որտեղ HPF + LPF = 1 HPF- ի և LPF- ի արժեքները կարելի է գտնել այս հղումով ՝ filter.pdf ֆայլում: Շնորհակալություն ձեզ «The DIY Segway» - ից:

Քայլ 4: Կոդ

Կոդը ադապտացիա է այն կոդից, որը ես օգտագործել եմ մեկ այլ նախագծում: Հավանաբար կան որոշ փոփոխականներ, որոնք չօգտագործված են: Ես գրադարանից օգտվել եմ https://todbot.com/blog/ կայքի nunchuck տվյալները կարդալու համար: Շնորհակալություն Tod E. Kurt: Կոդի վերաբերյալ մեկնաբանությունները պորտուգալերեն են, ազատ ժամանակ ունենալուն պես ես կթարգմանեմ այն: Սերիայի տողից ստացված ծածկագիրը որոշ թվեր ունի այս օրինակով. Dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Այսպիսով, դուք կարող եք պահպանել այս արժեքները սերիական տերմինալում և գծապատկերել գրաֆիկական պատկեր կամ օգտագործել անկյունը այլ բաների համար: ziped. Պարզապես ապասեղմեք, բացեք և վերբեռնեք այն ձեր arduino- ում:

Քայլ 5: Թեստավորում և եզրակացություն

Թեստավորում և եզրակացություն
Թեստավորում և եզրակացություն
Թեստավորում և եզրակացություն
Թեստավորում և եզրակացություն

Համակարգը ստուգելու համար ես տվյալները պահեցի Termite կոչվող ծրագրի միջոցով, այնուհետև ներմուծեք այս տվյալները Excel- ում և գծագրեք գրաֆիկը ՝ տեսնելու, թե որքան լավ է իմ զտիչը: Արդյունքները զարմանալի են: Իհարկե, դուք կարող եք օգտագործել ազդանշանը շարժիչ կամ այլ բաներ վարելու համար: commentsանկացած մեկնաբանություն, կասկած, տեղեկատվություն չկա, պարզապես ասեք ինձ, և ես այն ուղղում եմ: Խնդրում եմ, եթե դա ձեզ դուր է գալիս, գնահատեք: Շնորհակալություն բոլորիդ:

Խորհուրդ ենք տալիս: