Turinys:
- 1 žingsnis: peržiūra
- 2 žingsnis: Kodėl „AnalogRead ()“grąžina reikšmę nuo 0 iki 1023?
- 3 žingsnis: Taigi, kas yra AREF?
- 4 žingsnis: išorinis AREF
- 5 veiksmas: vidinis AREF
Video: „Arduino AREF“kaištis: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Šioje pamokoje apžvelgsime, kaip galite tiksliau išmatuoti mažesnę įtampą naudodami analoginius įvesties kaiščius „Arduino“arba suderinamoje plokštėje kartu su AREF kaiščiu. Tačiau pirmiausia atliksime keletą peržiūrų, kad galėtume greičiau veikti. Prieš pirmą kartą dirbdami su AREF, perskaitykite šį įrašą.
1 žingsnis: peržiūra
Galite prisiminti, kad galite naudoti „Arduino analogRead“() funkciją, norėdami išmatuoti jutiklių elektros srovės įtampą ir pan., Naudodami vieną iš analoginių įvesties kaiščių. Vertė, gauta iš „analogRead“(), būtų nuo nulio iki 1023, o nulis - nulis voltų, o 1023 - naudojamos „Arduino“plokštės darbinė įtampa.
Ir kai mes sakome, kad darbinė įtampa - tai yra įtampa, prieinama „Arduino“po maitinimo grandinės. Pvz., Jei turite įprastą „Arduino Uno“plokštę ir paleidžiate ją iš USB lizdo - žinoma, iš kompiuterio ar šakotuvo USB lizdo plokštė turi 5 V įtampą, tačiau įtampa šiek tiek sumažėja, kai srovė sukasi aplink grandinė prie mikrovaldiklio - arba USB šaltinis tiesiog nėra įbrėžtas.
Tai galima lengvai parodyti prijungus „Arduino Uno“prie USB ir įdėjus multimetro rinkinį 5 V ir GND kaiščių įtampai matuoti. Kai kurios plokštės sugrįš iki 4,8 V, kai kurios - aukštesnės, bet vis tiek žemiau 5 V. Taigi, jei siekiate tikslumo, maitinkite plokštę iš išorinio maitinimo šaltinio per nuolatinės srovės lizdą arba „Vin“kaištį, pvz., 9 V nuolatinę srovę. Tada po to, kai praeis maitinimo reguliatoriaus grandinė, turėsite gražų 5 V, pavyzdžiui, vaizdą.
Tai svarbu, nes bet kurio „analogRead“() reikšmių tikslumui įtakos turės tai, kad neturėsite tikrojo 5 V. Jei neturite jokios parinkties, eskize galite naudoti tam tikrą matematiką, kad kompensuotumėte įtampos kritimą. Pvz., Jei jūsų įtampa yra 4,8 V, „analogRead“() diapazonas 0–1023 bus susijęs su 0–4,8 V, o ne nuo 0 iki 5 V. Tai gali atrodyti nereikšminga, tačiau jei naudojate jutiklį, kuris grąžina vertę kaip įtampą (pvz., TMP36 temperatūros jutiklį) - apskaičiuota vertė bus neteisinga. Taigi, siekdami tikslumo, naudokite išorinį maitinimo šaltinį.
2 žingsnis: Kodėl „AnalogRead ()“grąžina reikšmę nuo 0 iki 1023?
Taip yra dėl ADC rezoliucijos. Rezoliucija (šiam straipsniui) yra laipsnis, kuriuo kažkas gali būti pavaizduotas skaitmeniniu būdu. Kuo didesnė skiriamoji geba, tuo didesnis tikslumas gali būti vaizduojamas. Mes matuojame rezoliuciją pagal rezoliucijos bitų skaičių.
Pavyzdžiui, 1 bitų skiriamoji geba leistų tik dvi (dvi iki vieno galios) reikšmes-nulį ir vieną. 2 bitų skiriamoji geba leistų keturias (dvi iki dviejų galių) reikšmes-nulį, vieną, du ir tris. Jei bandytume išmatuoti penkių voltų diapazoną su dviejų bitų skiriamąja geba, o išmatuota įtampa būtų keturi voltai, mūsų ADC grąžintų skaitinę vertę 3-keturi voltai krenta nuo 3,75 iki 5 V. Su vaizdu tai lengviau įsivaizduoti.
Taigi, naudojant mūsų pavyzdinį ADC su 2 bitų skiriamąja geba, jis gali parodyti tik įtampą, turėdamas keturias galimas vertes. Jei įėjimo įtampa nukrenta nuo 0 iki 1,25, ADC grąžina skaičių 0; jei įtampa nukrenta nuo 1,25 iki 2,5, ADC grąžina skaitinę reikšmę 1. Ir pan. Naudodami mūsų „Arduino“ADC diapazoną nuo 0 iki 1023-turime 1024 galimas vertes-arba 2 iki 10. Taigi mūsų „Arduinos“turi 10 bitų skiriamąją gebą.
3 žingsnis: Taigi, kas yra AREF?
Trumpai tariant, kai jūsų „Arduino“nuskaito analogiškai, jis lygina naudojamą analoginį kaištį išmatuotą įtampą su vadinamąja atskaitos įtampa. Įprastai naudojant „analogRead“, etaloninė įtampa yra plokštės darbinė įtampa.
Populiariausių „Arduino“plokščių, tokių kaip „Uno“, „Mega“, „Duemilanove“ir „Leonardo/Yún“plokštės, darbinė įtampa yra 5 V. Jei turite „Arduino Due“plokštę, darbinė įtampa yra 3,3 V. Jei turite ką nors kita - patikrinkite „Arduino“produkto puslapį arba kreipkitės į lentos tiekėją.
Taigi, jei turite 5 V etaloninę įtampą, kiekvienas „analogRead“() grąžintas vienetas yra vertinamas 0,00488 V. (Tai apskaičiuojama padalijus 1024 į 5 V). Ką daryti, jei norime išmatuoti įtampą nuo 0 iki 2 arba nuo 0 iki 4,6? Kaip ADC žinotų, kas yra 100% mūsų įtampos diapazono?
Ir čia yra AREF kaiščio priežastis. AREF reiškia analoginę nuorodą. Tai leidžia mums tiekti „Arduino“etaloninę įtampą iš išorinio maitinimo šaltinio. Pavyzdžiui, jei norime matuoti įtampą, kurios maksimalus diapazonas yra 3,3 V, į AREF kaištį tiekiame gražią, sklandžią 3,3 V įtampą - galbūt iš įtampos reguliatoriaus IC.
Tada kiekvienas ADC žingsnis sudarytų apie 3,22 milivolto (padalinkite 1024 į 3.3). Atminkite, kad mažiausia atskaitos įtampa, kurią galite turėti, yra 1,1 V. Yra dvi AREF formos - vidinė ir išorinė, todėl patikrinkime jas.
4 žingsnis: išorinis AREF
Išorinis AREF yra vieta, kur į „Arduino“plokštę tiekiate išorinę etaloninę įtampą. Tai gali būti iš reguliuojamo maitinimo šaltinio arba, jei jums reikia 3,3 V, galite jį gauti iš „Arduino“3,3 V kaiščio. Jei naudojate išorinį maitinimo šaltinį, būtinai prijunkite GND prie „Arduino“GND kaiščio. Arba, jei naudojate „Arduno“3,3 V šaltinį - tiesiog paleiskite trumpiklį nuo 3,3 V kaiščio iki AREF kaiščio.
Norėdami suaktyvinti išorinį AREF, negaliojančioje sąrankoje () naudokite šiuos veiksmus:
analogReference (IŠORINIS); // naudoti AREF etaloninei įtampai
Tai nustato atskaitos įtampą bet kuriai, kurią prijungėte prie AREF kaiščio - žinoma, įtampa bus nuo 1,1 V iki plokštės veikimo įtampos. Labai svarbi pastaba - naudodami išorinę įtampos nuorodą, turite nustatyti analoginę nuorodą IŠORINĖ prieš naudodami analogRead (). Tai neleis sutrumpinti aktyvios vidinės etaloninės įtampos ir AREF kaiščio, kuris gali sugadinti plokštės mikrovaldiklį. Jei to reikia jūsų programai, galite grįžti prie plokštės darbinės AREF įtampos (tai yra - grįžti prie normalios), atlikdami šiuos veiksmus:
analogReference (Numatytasis);
Dabar pademonstruokite išorinį AREF darbe. Naudojant 3.3V AREF, šis eskizas matuoja įtampą nuo A0 ir rodo viso AREF procentą ir apskaičiuotą įtampą:
#įtraukti „LiquidCrystal.h“
„LiquidCrystal lcd“(8, 9, 4, 5, 6, 7);
int analoginput = 0; // mūsų analoginis kaištis
int analogamount = 0; // saugo gaunamos vertės plūdės procentą = 0; // naudojamas mūsų procentinei vertei saugoti plūdės įtampa = 0; // naudojamas įtampos vertei saugoti
negaliojanti sąranka ()
{lcd.pradis (16, 2); analogReference (IŠORINIS); // atskaitos įtampai naudoti AREF}
tuštumos kilpa ()
{lcd.clear (); analogamount = analogRead (analoginput); procentas = (analogamount/1024,00)*100; įtampa = analogamount*3.222; // milivoltais lcd.setCursor (0, 0); lcd.print ("% AREF:"); lcd.print (procentas, 2); lcd.setCursor (0, 1); lcd.print ("A0 (mV):"); lcd.println (įtampa, 2); vėlavimas (250); }
Aukščiau eskizo rezultatai parodyti vaizdo įraše.
5 veiksmas: vidinis AREF
Mūsų „Arduino“plokščių mikrovaldikliai taip pat gali generuoti 1,1 V vidinę etaloninę įtampą, ir mes galime ją naudoti AREF darbui. Tiesiog naudokite eilutę:
analogReference (INTERNAL);
„Arduino Mega“plokštėms naudokite:
analogReference (INTERNAL1V1);
tuštumos sąrankoje () ir esate išjungtas. Jei turite „Arduino Mega“, taip pat yra 2,56 V etaloninė įtampa, kuri įjungiama:
analogReference (INTERNAL2V56);
Galiausiai - prieš nuspręsdami dėl savo AREF kaiščio rezultatų, visada kalibruokite rodmenis pagal žinomą gerą multimetrą.
Išvada
AREF funkcija suteikia daugiau lankstumo matuojant analoginius signalus.
Šį įrašą jums pateikė pmdway.com - viskas gamintojams ir elektronikos entuziastams, nemokamas pristatymas visame pasaulyje.
Rekomenduojamas:
ICSP jungtis „Arduino Nano“be litavimo kaiščio antraštės, bet „Pogo“kaištis: 7 žingsniai
ICSP jungtis „Arduino Nano“be litavimo kaiščio antraštės, bet „Pogo“kaištis: padarykite „Arduino Nano“ICSP jungtį be lituoto kaiščio antraštės ant plokštės, bet „Pogo“kaiščio. 3 × 2 kaiščių lizdas x1 - „APitch“2,54 mm „Dupont Line“laido moteriško kaiščio jungties korpuso gnybtai -BP75-E2 (1,3 mm kūginė galvutė) spyruoklinis bandymo zondas „Pogo“
Šviesus animacinis atostogų kaištis: 9 žingsniai (su nuotraukomis)
Apšviestas animacinis atostogų kaištis: kai pirmą kartą sukūriau šį projektą, nesitikėjau, kad jis bus paskelbtas atviro šaltinio. Aš maniau, kad tai puiki idėja ir turėjau komercinį potencialą kaip prekę, kurią galėčiau parduoti amatų parodoje. Galbūt tai yra dėl tam tikros įgimtos patirties stokos, o gal
(Lengvas) apšviestas gėlių kaištis: 6 žingsniai (su nuotraukomis)
(Lengvas) apšviestas gėlių kaištis: žibintai! Gėlės! (Kūrėjas) Veiksmas! Štai paprastas būdas pasigaminti nešiojamą gėlę sau ar mėgstamam boo. Netikras, tikras, kažkas tarp … kas tinka jūsų (ar jų) išgalvojimui. Gerai, pradėkime :) Skaitymo laikas: ~ 5 min
Motociklo kameros laikiklis (galinis kaištis): 11 žingsnių (su nuotraukomis)
Motociklo kameros laikiklis (galinis kaištis): Jau kurį laiką šlifuoju savo sportinio dviračio fotoaparato laikiklio tinklelį. Viskas, ką randu, yra per brangu, sudėtinga arba per sunku įdiegti/pašalinti. Kai kurie yra visi trys! Vieną dieną aš turėjau epifaniją ir sugalvojau šį norą
Elektrinė lelija arba apsauginis kaištis: kaip tai padaryti saugiai ir atrodyti gerai: 9 žingsniai (su nuotraukomis)
Elektrinė lelija arba apsauginis smeigtukas: kaip būti saugiam ir gerai atrodyti tai darant: Ši instrukcija skirta tiek vaikštantiems, tiek dviratininkams. Kas nori būti matomas naktį ir vis tiek gerai atrodyti. Padovanok ją savo merginai, sesei, broliui, namų vaikinui ar net mamai. Kiekvienas stilingas ir vaikšto, bėga ar važinėja dviračiu naktį