Ինչպես միացնել արագացուցիչը Arduino- ին

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

Ինչպես միացնել արագացուցիչը Arduino- ին
Ինչպես միացնել արագացուցիչը Arduino- ին

Video: Ինչպես միացնել արագացուցիչը Arduino- ին

Video: Ինչպես միացնել արագացուցիչը Arduino- ին
Video: Arduino UNO and Mega Windows 7, 8, 10 USB driver Solved 2024, Ապրիլ
Anonim

Այս անգամ մենք կզբաղվենք ADXL335 անալոգային եռաքայլ արագացուցչակը Arduino- ին միացնելու հետ:

Անալոգային արագացուցաչափ ADXL335
Անալոգային արագացուցաչափ ADXL335

Անհրաժեշտ է

  • - Arduino;
  • - արագացուցաչափ ADXL335;
  • - անհատական համակարգիչ `Arduino IDE զարգացման միջավայրով:

Հրահանգներ

Քայլ 1

Արագացման վեկտորը որոշելու համար օգտագործվում են արագացուցիչներ: ADXL335 արագացուցիչն ունի երեք առանցք, և դրա շնորհիվ այն կարող է որոշել արագացման վեկտորը եռաչափ տարածքում: Շնորհիվ այն բանի, որ ձգողականության ուժը նաև վեկտոր է, արագացուցիչը կարող է որոշել իր կողմնորոշումը եռաչափ տարածության մեջ ՝ համեմատած Երկրի կենտրոնի հետ:

Պատկերում ներկայացված են նկարներ անձնագրից (https://www.analog.com/static/imported-files/data_sheets/ADXL335.pdf) ADXL335 արագացուցչի համար: Այստեղ ցուցադրվում են արագացուցիչի զգայունության կոորդինատային առանցքները տարածության մեջ սարքի մարմնի երկրաչափական տեղադրման հետ կապված, ինչպես նաև 3 արագացուցիչաչափի ալիքներից լարման արժեքների աղյուսակ ՝ կախված տարածության մեջ նրա կողմնորոշումից: Աղյուսակում տրված տվյալները տրված են հանգստի վիճակում գտնվող սենսորի համար:

Եկեք ավելի սերտ նայենք, թե ինչ է մեզ ցույց տալիս արագաչափիչը: Թող սենսորը հորիզոնական պառկի, օրինակ ՝ սեղանի վրա: Այդ դեպքում արագացման վեկտորի պրոյեկցիան հավասար կլինի 1g- ի Z առանցքի երկայնքով, կամ Zout = 1g: Մյուս երկու առանցքները կունենան զրոներ. Xout = 0 և Yout = 0. Երբ սենսորը շրջվի «մեջքին», այն կուղղվի ինքնահոս վեկտորի համեմատ հակառակ ուղղությամբ, այսինքն. Zout = -1 գ Նմանապես, չափումները կատարվում են բոլոր երեք առանցքների վրա: Ակնհայտ է, որ արագացուցիչը կարող է տեղակայվել ըստ ցանկության տարածության մեջ, այնպես որ մենք բոլոր երեք ալիքներից զրոյից բացի այլ ընթերցումներ ենք վերցնելու:

Եթե զոնդը ուժեղ թափ է տալիս ուղղահայաց Z առանցքի երկայնքով, ապա Zout- ի արժեքը մեծ կլինի «1 գ» -ից: Առավելագույն չափելի արագացումը ցանկացած ուղղությամբ առանցքներից յուրաքանչյուրում «3 գ» է (այսինքն `« գումարած »-ով և« մինուսով »):

Արագաչափիչի զգայունության առանցքները և ելքային արժեքների աղյուսակը
Արագաչափիչի զգայունության առանցքները և ելքային արժեքների աղյուսակը

Քայլ 2

Կարծում եմ ՝ մենք հասկացանք արագացուցչի աշխատանքի սկզբունքը: Այժմ եկեք նայենք կապի դիագրամը:

ADXL335 անալոգային արագացուցիչի չիպը բավականին փոքր է և տեղավորված է BGA փաթեթում, և տանը դժվար է այն տեղադրել տախտակի վրա: Հետեւաբար, ես կօգտագործեմ պատրաստի GY-61 մոդուլ `ADXL335 արագացուցիչով: Չինական առցանց խանութներում նման մոդուլներն արժեն գրեթե կոպեկ:

Արագաչափաչափը գործարկելու համար անհրաժեշտ է +3, 3 Վ լարման մատակարարել մոդուլի VCC քորոցին: Սենսորի չափման ալիքները միացված են Arduino- ի անալոգային քորոցներին, օրինակ `« A0 »,« A1 »և« A2 »: Սա է ամբողջ շրջանը:)

ADXL335 արագացուցչի միացման դիագրամ դեպի Arduno
ADXL335 արագացուցչի միացման դիագրամ դեպի Arduno

Քայլ 3

Եկեք այս ուրվագիծը բեռնենք Arduino հիշողության մեջ: Մենք կկարդանք ընթերցումները երեք ալիքների անալոգային մուտքերից, դրանք կվերափոխենք լարման և դուրս կգանք սերիական պորտ:

Arduino- ն ունի 10 բիթային ADC, իսկ առավելագույն թույլատրված քորոցային լարումը 5 վոլտ է: Չափված լարումները կոդավորված են բիթերով, որոնք կարող են վերցնել ընդամենը 2 արժեք `0 կամ 1. Սա նշանակում է, որ ամբողջ չափման տիրույթը բաժանվելու է (1 + 1) -ով 10-րդ հզորության, 1024 հավասար հատվածների վրա:

Ընթերցումները վոլտերի վերափոխելու համար հարկավոր է անալոգային մուտքում չափված յուրաքանչյուր արժեքը բաժանել 1024-ի (հատվածներ), ապա բազմապատկել 5-ի վրա (վոլտ):

Եկեք տեսնենք, թե իրականում ինչ է գալիս արագացուցչից, որպես օրինակ օգտագործելով Z առանցքը (վերջին սյունը): Երբ սենսորը հորիզոնական դիրքում է և նայում է վերև, թվերը գալիս են (2.03 +/- 0,01): Այսպիսով, սա պետք է համապատասխանի Z + առանցքի երկայնքով «+ 1 գ» արագացմանը և 0 աստիճանի անկյան: Մատով խփեք սենսորը: Թվերը գալիս են (1, 69 +/- 0, 01), որոնք պետք է համապատասխանեն «-1 գ» -ին և 180 աստիճանի անկյունին:

Արագաչափաչափի ընթերցման ուրվագիծ
Արագաչափաչափի ընթերցման ուրվագիծ

Քայլ 4

Եկեք արագացուցչից վերցնենք արժեքները 90 և 270 աստիճանի անկյուններում և դրանք մուտքագրենք աղյուսակ: Աղյուսակը ցույց է տալիս արագացուցչի ռոտացիայի անկյունները (սյուն «A») և համապատասխան Zout արժեքները վոլտերով (սյուն «B»):

Հստակության համար ցուցադրվում է Zout- ի ելքի վրա պտտման տեսանկյունից լարման սյուժե: Կապույտ դաշտը հանգստի գոտին է (1 գ արագացումով): Գրաֆիկի վրա վարդագույն վանդակը մարժա է, որպեսզի մենք կարողանանք չափել արագացումը մինչև + 3 գ և մինչև -3 գ:

90 աստիճանի պտտման ժամանակ Z առանցքն ունի զրոյական արագացում: Դրանք 1.67 վոլտ արժեքը Z առանցքի համար պայմանական զրո է: Դրանից հետո կարող եք գտնել արագացումը ՝

g = Zout - Zo / զգայունություն_z, այստեղ Zout- ը միլիվոլտով չափված արժեքն է, Zo- ն `միլիվոլտով զրոյական արագացման արժեքը, զգայունությունը_զ-ը Z առանցքի երկայնքով սենսորի զգայունությունն է: ճշգրտեք արագացուցաչափը և հաշվարկեք զգայունության արժեքը հատուկ ձեր համար: ցուցիչ ՝ օգտագործելով բանաձևը.

զգայունություն_զ = [((0 աստիճան) - ((90 աստիճան)] * 1000. Այս դեպքում աքսելերաչափիչի զգայունությունը Z առանցքի երկայնքով = (2, 03 - 1, 68) * 1000 = 350 մՎ: Նմանապես, զգայունությունը պետք է հաշվարկվի X և Y առանցքների համար:

Աղյուսակի «C» սյունը ցույց է տալիս հինգ անկյունների համար հաշվարկված արագացումը 350 զգայունության պայմաններում: Ինչպես տեսնում եք, դրանք գործնականում համընկնում են Նկար 1-ում ցույց տրվածների հետ:

Արագաչափիչի պտտման անկյունների համապատասխանությունը ընթերցումներին
Արագաչափիչի պտտման անկյունների համապատասխանությունը ընթերցումներին

Քայլ 5

Հիշելով երկրաչափության հիմնական ընթացքը, մենք ստանում ենք արագացուցչի ռոտացիայի անկյունները հաշվարկելու բանաձև.

angle_X = arctg [sqrt (Gz ^ 2 + Gy ^ 2) / Gx]:

Արժեքները ռադիաներով են: Դրանք աստիճաններ դարձնելու համար բաժանեք Pi- ով և բազմապատկելով 180-ով:

Արդյունքում, բոլոր առանցքների երկայնքով արագացուցչի արագացման և պտտման անկյունները հաշվարկող ամբողջական ուրվագիծը ներկայացված է նկարում: Մեկնաբանությունները բացատրություններ են տալիս ծրագրի ծածկագրի համար:

«Serial.print ()» պորտին ելք կատարելիս «\ t» նիշը նշանակում է էջանիշի նիշ, որպեսզի սյունները հավասար լինեն, իսկ արժեքները տեղադրվեն մեկը մյուսի տակ: «+» նշանակում է տողերի միացում (միացում): Ավելին, «String ()» օպերատորը հստակ ասում է կազմողին, որ թվային արժեքը պետք է վերածվի տողի: Կլոր () օպերատորը անկյունը կլորացնում է մոտակա 1 աստիճանի:

Էսքիզ, որը հաշվարկում է արագացուցիչի արագացումը և անկյունները
Էսքիզ, որը հաշվարկում է արագացուցիչի արագացումը և անկյունները

Քայլ 6

Այսպիսով, մենք իմացանք, թե ինչպես վերցնել և մշակել տվյալներ ADXL335 անալոգային արագացուցիչից ՝ օգտագործելով Arduino: Այժմ մեր նախագծերում կարող ենք օգտագործել արագացուցիչը:

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