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

Arduino AREF քորոց. 6 քայլ
Arduino AREF քորոց. 6 քայլ

Video: Arduino AREF քորոց. 6 քայլ

Video: Arduino AREF քորոց. 6 քայլ
Video: How to use MPU-9250 Gyroscope, Accelerometer, Magnetometer for Arduino 2024, Հուլիսի
Anonim
Arduino AREF քորոց
Arduino AREF քորոց

Այս ձեռնարկում մենք կանդրադառնանք, թե ինչպես կարող եք չափել ավելի փոքր լարման ավելի մեծ ճշգրտությամբ ՝ օգտագործելով ձեր Arduino- ի կամ համատեղելի տախտակի անալոգային մուտքային կապերը ՝ AREF կապի հետ միասին: Այնուամենայնիվ, նախ մենք որոշակի վերանայում կանենք ՝ ձեզ արագացնելու համար: Խնդրում ենք ամբողջությամբ կարդալ այս գրառումը AREF- ի հետ առաջին անգամ աշխատելուց առաջ:

Քայլ 1: Վերանայում:

Վերանայում!
Վերանայում!

Դուք կարող եք հիշել, որ դուք կարող եք օգտագործել Arduino analogRead () գործառույթը ՝ սենսորներից էլեկտրական հոսանքի լարումը չափելու և այլն ՝ օգտագործելով անալոգային մուտքային կապումներից մեկը: AnalogRead- ից () վերադարձված արժեքը կլինի զրոյի և 1023 -ի միջև, զրոը ներկայացնում է զրո վոլտ, իսկ 1023 -ը `օգտագործվող Arduino տախտակի աշխատանքային լարումը:

Իսկ երբ ասում ենք աշխատանքային լարումը, սա այն հոսանքն է, որը հասանելի է Arduino- ին էներգիայի մատակարարման սխեմայից հետո: Օրինակ, եթե դուք ունեք սովորական Arduino Uno տախտակ և այն աշխատում եք USB վարդակից, իհարկե, ձեր համակարգչի կամ հանգույցի USB վարդակից տախտակին հասանելի է 5 Վ, բայց լարումը փոքր -ինչ նվազում է, քանի որ ընթացիկ քամիները պտտվում են միացում միկրոկառավարիչին, կամ USB աղբյուրը պարզապես քերծվածք չէ:

Դա կարելի է հեշտությամբ ցույց տալ ՝ Arduino Uno- ն USB- ին միացնելով և 5V և GND կապում լարումը չափելու բազմաչափ տեղադրելու միջոցով: Որոշ տախտակներ կվերադառնան 4.8 Վ -ից ցածր, ոմանք ավելի բարձր, բայց դեռ 5 Վ -ից ցածր: Այսպիսով, եթե դուք կրակում եք ճշգրտության համար, սնուցեք ձեր տախտակը արտաքին սնուցման աղբյուրից ՝ DC վարդակից կամ Vin քորոցով, օրինակ ՝ 9V DC- ով: Այնուհետև էներգիայի կարգավորիչի սխեմայով անցնելուց հետո կունենաք գեղեցիկ 5 Վ, օրինակ ՝ պատկերը:

Սա կարևոր է, քանի որ ցանկացած analogRead () արժեքների ճշգրտությունը կազդի 5 Վ իրական չունենալու պատճառով: Եթե որևէ տարբերակ չունեք, կարող եք օգտագործել ձեր ուրվագծի որոշ մաթեմատիկա ՝ փոխհատուցելու լարման անկումը: Օրինակ, եթե ձեր լարումը 4.8V է, ապա analogRead () միջակայքը 0 ~ 1023 -ին վերաբերելու է 0 ~ 4.8V- ին և ոչ թե 0 ~ 5V: Սա կարող է չնչին թվալ, սակայն, եթե օգտագործում եք տվիչ, որը արժեք է վերադարձնում որպես լարում (օրինակ ՝ TMP36 ջերմաստիճանի տվիչ) - հաշվարկված արժեքը սխալ կլինի: Այսպիսով, ճշգրտության շահերից ելնելով, օգտագործեք արտաքին սնուցման աղբյուր:

Քայլ 2. Ինչու՞ AnalogRead () - ը վերադարձնում է արժեքը 0 -ից 1023 -ի միջև:

Ինչու՞ է AnalogRead- ը () վերադարձնում արժեքը 0 -ից 1023 -ի միջև
Ինչու՞ է AnalogRead- ը () վերադարձնում արժեքը 0 -ից 1023 -ի միջև

Դա պայմանավորված է ADC- ի որոշմամբ: Բանաձևը (այս հոդվածի համար) այն աստիճանն է, որով ինչ -որ բան կարող է թվայինորեն ներկայացվել: Որքան բարձր է բանաձևը, այնքան մեծ ճշգրտություն, որով ինչ -որ բան կարող է ներկայացվել: Մենք որոշում ենք բանաձևը լուծման բիթերի քանակի առումով:

Օրինակ, 1-բիթ թույլատրելիությունը թույլ կտա միայն երկու (երկուսը մեկի հզորության) արժեքներ `զրո և մեկ: 2-բիթանոց լուծումը թույլ կտա չորս (երկուսը երկու հզորության) արժեքներ `զրո, մեկ, երկու և երեք: Եթե մենք փորձեինք չափել հինգ վոլտ տիրույթ երկբիթ թույլատրելիությամբ, և չափված լարումը չորս վոլտ էր, մեր ADC- ն կվերադարձներ 3-ի թվային արժեքը, քանի որ չորս վոլտը ընկնում է 3.75-ից մինչև 5V- ի միջև: Սա ավելի հեշտ է պատկերացնել պատկերով:

Այսպիսով, 2-բիթ թույլատրությամբ ADC- ի մեր օրինակով այն կարող է ներկայացնել լարման միայն հնարավոր չորս ստացված արժեքներով: Եթե մուտքային լարումը ընկնում է 0 -ից 1.25 -ի սահմաններում, ADC- ն վերադարձնում է թվային 0; եթե լարումը ընկնում է 1.25 -ից 2.5 -ի սահմաններում, ADC- ն վերադարձնում է 1. թվային արժեք: Եվ այսպես շարունակ: Մեր Arduino- ի ADC տիրույթով `0 ~ 1023-մենք ունենք 1024 հնարավոր արժեք, կամ 2` 10-ի հզորությամբ: Այսպիսով, մեր Arduinos- ն ունի 10-բիթանոց լուծաչափով ADC:

Քայլ 3: Այսպիսով, ինչ է AREF- ը:

Երկար պատմություն ասելու համար, երբ ձեր Arduino- ն անալոգային ընթերցում է կատարում, այն համեմատում է անալոգային քորոցում չափվող լարումը այն բանի հետ, ինչ հայտնի է որպես հղման լարման: Սովորական analogRead օգտագործման դեպքում հղման լարումը տախտակի աշխատանքային լարվածությունն է:

Առավել հայտնի Arduino տախտակների համար, ինչպիսիք են Uno, Mega, Duemilanove և Leonardo/Yún տախտակները, աշխատանքային լարումը 5 Վ է: Եթե ունեք Arduino Due տախտակ, աշխատանքային լարումը 3.3 Վ է: Եթե այլ բան ունեք - ստուգեք Arduino- ի արտադրանքի էջը կամ հարցրեք ձեր տախտակի մատակարարին:

Այսպիսով, եթե ունեք 5 Վ հղումային լարման, analogRead () - ով վերադարձված յուրաքանչյուր միավորը գնահատվում է 0.00488 Վ (սա հաշվարկվում է 1024 -ը 5 Վ -ի բաժանելով): Ի՞նչ անել, եթե մենք ուզում ենք չափել լարումները 0 -ից 2 -ի կամ 0 -ի և 4.6 -ի միջև: Ինչպե՞ս ADC- ն իմանա, թե որն է մեր լարման տիրույթի 100% -ը:

Եվ դրանում է գտնվում AREF քորոցի պատճառը: AREF նշանակում է անալոգային հղում: Այն թույլ է տալիս մեզ Arduino- ին սնուցել արտաքին էներգիայի աղբյուրից տեղեկատու լարման: Օրինակ, եթե մենք ցանկանում ենք չափել 3.3 Վ առավելագույն տիրույթով լարման չափերը, մենք մի լավ հարթ 3.3 Վ լարում ենք AREF կապում `գուցե լարման կարգավորիչ IC- ից:

Այնուհետև ADC- ի յուրաքանչյուր քայլը կներկայացնի մոտ 3.22 միլիվոլտ (1024 -ը բաժանել 3.3 -ի): Նկատի ունեցեք, որ ամենացածր հղման լարումը, որը կարող եք ունենալ, 1.1 Վ է: AREF- ի երկու ձև կա `ներքին և արտաքին, ուստի եկեք դրանք ստուգենք:

Քայլ 4. Արտաքին AREF

Արտաքին AREF- ն այն է, որտեղ դուք մատակարարում եք արտաքին հղման լարումը Arduino- ի տախտակին: Սա կարող է գալ կարգավորվող սնուցման աղբյուրից, կամ եթե Ձեզ անհրաժեշտ է 3.3 Վ, ապա այն կարող եք ստանալ Arduino- ի 3.3 Վ կապիկից: Եթե դուք օգտագործում եք արտաքին սնուցման աղբյուր, համոզվեք, որ GND- ը միացրեք Arduino- ի GND քորոցին: Կամ, եթե դուք օգտագործում եք Արդունոյի 3.3 Վ աղբյուրը, պարզապես 3.3 Վ -ի պինից ցատկեք դեպի AREF կապը:

Արտաքին AREF- ն ակտիվացնելու համար void setup () - ում օգտագործեք հետևյալը.

analogReference (EXTERNAL); // օգտագործեք AREF- ը հղման լարման համար

Սա սահմանում է հղման լարումը այն ամենի վրա, ինչ դուք միացրել եք AREF կապին, որը, իհարկե, կունենա լարում 1.1V- ի և տախտակի աշխատանքի լարման միջև: Շատ կարևոր նշում. Արտաքին լարման հղում օգտագործելիս պետք է անալոգային հղումը սահմանել EXTERNAL analogRead () օգտագործելուց առաջ: Սա թույլ չի տա կարճացնել ակտիվ ներքին տեղեկատուի լարումը և AREF կապը, ինչը կարող է վնասել տախտակի վրա գտնվող միկրոկոնտրոլերը: Ձեր դիմումի համար անհրաժեշտության դեպքում կարող եք վերադառնալ AREF- ի տախտակի աշխատանքային լարմանը (այսինքն `վերադառնալ նորմալ) հետևյալով.

analogReference (ՊԱՇՏՊԱՆՈԹՅՈՆ);

Հիմա աշխատավայրում արտաքին AREF ցուցադրելու համար: Օգտագործելով 3.3V AREF ՝ հետևյալ ուրվագիծը չափում է A0- ի լարումը և ցուցադրում է ընդհանուր AREF- ի և հաշվարկված լարման տոկոսը.

#ներառել «LiquidCrystal.h»

LiquidCrystal LCD (8, 9, 4, 5, 6, 7);

int անալոգային մուտքագրում = 0; // մեր անալոգային քորոցը

int analogamount = 0; // պահում է մուտքային արժեքի բոց տոկոս = 0; // օգտագործվում է մեր լողացող լարման տոկոսային արժեքը = 0 պահելու համար; // օգտագործվում է լարման արժեքը պահելու համար

դատարկ կարգավորում ()

{lcd.begin (16, 2); analogReference (EXTERNAL); // օգտագործել AREF- ը հղման լարման համար}

դատարկ շրջան ()

{lcd.clear (); analogamount = analogRead (անալոգային մուտքագրում); տոկոս = (անալոգային քանակ/1024.00)*100; լարման = անալոգային քանակ*3.222; // միլիվոլտերում lcd.setCursor (0, 0); lcd.print ("% AREF:"); lcd.print (տոկոս, 2); lcd.setCursor (0, 1); lcd.print ("A0 (mV):"); lcd.println (լարման, 2); ուշացում (250); }

Վերոնշյալ ուրվագծի արդյունքները ցուցադրվում են տեսանյութում:

Քայլ 5: Ներքին AREF

Մեր Arduino- ի տախտակների վրա գտնվող միկրոկոնտրոլերները կարող են նաև առաջացնել 1.1 Վ ներքին լարման լարում, և մենք կարող ենք դա օգտագործել AREF- ի աշխատանքի համար: Պարզապես օգտագործեք տողը.

analogReference (INTERNAL);

Arduino Mega տախտակների համար օգտագործեք.

analogReference (INTERNAL1V1);

in void setup () և դու անջատված ես: Եթե դուք ունեք Arduino Mega, կա նաև 2.56 Վ հղման լարման առկայություն, որն ակտիվացված է.

analogReference (INTERNAL2V56);

Վերջապես, նախքան ձեր AREF քորոցի արդյունքները լուծելը, միշտ չափեք ընթերցումները հայտնի լավ մուլտիմետրի համեմատ:

Եզրակացություն

AREF գործառույթը ձեզ տալիս է ավելի մեծ ճկունություն անալոգային ազդանշանների չափման հետ:

Այս գրառումը ձեզ է բերել pmdway.com- ը `ամեն ինչ արտադրողների և էլեկտրոնիկայի սիրահարների համար` անվճար առաքում ամբողջ աշխարհով:

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