Sadržaj:
- Korak 1: Revizija
- Korak 2: Zašto AnalogRead () vraća vrijednost između 0 i 1023?
- Korak 3: Dakle, šta je AREF?
- Korak 4: Vanjski AREF
- Korak 5: Interni AREF
Video: Arduino AREF pin: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
U ovom ćemo vodiču pogledati kako možete mjeriti manje napone s većom točnošću pomoću analognih ulaznih pinova na vašem Arduinu ili kompatibilnoj ploči zajedno s AREF pinom. Međutim, prvo ćemo napraviti neke izmjene kako bismo vas ubrzali. Molimo vas da u potpunosti pročitate ovaj post prije prvog rada s AREF -om.
Korak 1: Revizija
Možda se sjećate da možete koristiti funkciju Arduino analogRead () za mjerenje napona električne struje sa senzora i tako dalje pomoću jednog od analognih ulaznih pinova. Vrijednost vraćena iz analogRead () bila bi između nule i 1023, pri čemu nula predstavlja nula volti i 1023 predstavlja radni napon Arduino ploče u upotrebi.
A kad kažemo radni napon - ovo je napon dostupan Arduinu nakon kruga napajanja. Na primjer, ako imate tipičnu Arduino Uno ploču i pokrećete je iz USB utičnice - naravno, na ploči je na raspolaganju 5 V iz USB utičnice na vašem računaru ili u čvorištu - ali napon se malo smanjuje kako se struja okreće oko spoj na mikrokontroler - ili USB izvor jednostavno nije dorastao.
To se lako može dokazati povezivanjem Arduino Uno -a na USB i postavljanjem multimetra za mjerenje napona na pinovima 5V i GND. Neke ploče će se vratiti na nisko 4,8 V, neke više, ali i dalje ispod 5 V. Dakle, ako tražite preciznost, napajajte ploču iz vanjskog izvora napajanja putem DC utičnice ili Vin pina - poput 9V DC. Zatim nakon što prođe kroz krug regulatora snage imat ćete lijepih 5V, na primjer sliku.
Ovo je važno jer će na točnost bilo kojih analognih vrijednosti () utjecati to što nema istinitih 5 V. Ako nemate nikakvu opciju, možete upotrijebiti neke matematike u skici da biste kompenzirali pad napona. Na primjer, ako je vaš napon 4,8 V - raspon analogRead () od 0 ~ 1023 odnosit će se na 0 ~ 4,8 V, a ne na 0 ~ 5 V. Ovo može zvučati trivijalno, međutim ako koristite senzor koji vraća vrijednost kao napon (npr. Temperaturni senzor TMP36) - izračunata vrijednost neće biti točna. Stoga u interesu točnosti koristite vanjsko napajanje.
Korak 2: Zašto AnalogRead () vraća vrijednost između 0 i 1023?
To je zbog rezolucije ADC -a. Rezolucija (za ovaj članak) je stupanj u kojem se nešto može numerički predstaviti. Što je veća rezolucija, veća je tačnost s kojom se nešto može predstaviti. Rezoluciju mjerimo u smislu broja bitova rezolucije.
Na primjer, 1-bitna rezolucija dozvolila bi samo dvije (dvije snage jedne) vrijednosti-nulu i jednu. 2-bitna rezolucija omogućila bi četiri (dvije u odnosu na dvije) vrijednosti-nulu, jedan, dva i tri. Ako bismo pokušali izmjeriti raspon od pet volti s dvobitnom rezolucijom, a izmjereni napon bio je četiri volta, naš ADC bi vratio numeričku vrijednost 3-jer četiri volta pada između 3,75 i 5 V. Lakše je zamisliti ovo sa slikom.
Dakle, s našim primjerom ADC-a s 2-bitnom rezolucijom, on može predstavljati napon samo s četiri moguće rezultirajuće vrijednosti. Ako ulazni napon padne između 0 i 1,25, ADC vraća brojčano 0; ako napon padne između 1,25 i 2,5, ADC vraća brojčanu vrijednost 1. I tako dalje. S rasponom ADC-a našeg Arduina od 0 ~ 1023-imamo 1024 moguće vrijednosti-ili 2 do stupnja 10. Dakle, naši Arduino imaju ADC s 10-bitnom rezolucijom.
Korak 3: Dakle, šta je AREF?
Da skratim priču, kada vaš Arduino uzima analogno očitanje, uspoređuje napon izmjeren na analognom pinu koji se koristi s onim što je poznato kao referentni napon. U normalnoj upotrebi analognog čitanja, referentni napon je radni napon ploče.
Za popularnije Arduino ploče, poput ploča Uno, Mega, Duemilanove i Leonardo/Yún, radni napon je 5V. Ako imate Arduino Due ploču, radni napon je 3,3 V. Ako imate nešto drugo - provjerite stranicu proizvoda Arduino ili pitajte dobavljača ploče.
Dakle, ako imate referentni napon od 5 V, svaka jedinica koju vrati analogRead () je procijenjena na 0,00488 V. (Ovo se računa dijeljenjem 1024 na 5 V). Šta ako želimo mjeriti napone između 0 i 2 ili 0 i 4,6? Kako bi ADC znao koji je 100% našeg raspona napona?
I u tome leži razlog za AREF pin. AREF znači analogna referenca. Omogućuje nam da napojimo Arduino referentni napon iz vanjskog izvora napajanja. Na primjer, ako želimo mjeriti napone s maksimalnim rasponom od 3,3 V, napajali bismo lijepih glatkih 3,3 V u AREF pin - možda iz IC regulatora napona.
Tada bi svaki korak ADC -a predstavljao oko 3,22 milivolta (podijelite 1024 na 3,3). Imajte na umu da najniži referentni napon koji možete imati iznosi 1,1V. Postoje dva oblika AREF -a - unutrašnji i vanjski, pa ih provjerimo.
Korak 4: Vanjski AREF
Vanjski AREF je mjesto gdje napajate vanjski referentni napon na Arduino ploču. To može doći iz reguliranog izvora napajanja, ili ako vam je potrebno 3.3V, možete ga nabaviti sa Arduinovog 3.3V pina. Ako koristite vanjsko napajanje, spojite GND na Arduino GND pin. Ili ako koristite Ardunov 3.3V izvor - samo pokrenite kratkospojnik od 3,3V pina do AREF pina.
Da biste aktivirali vanjski AREF, upotrijebite sljedeće u void setup ():
analogReference (EXTERNAL); // koristiti AREF za referentni napon
Ovo postavlja referentni napon na sve što ste spojili na AREF pin - koji će naravno imati napon između 1,1 V i radnog napona ploče. Vrlo važna napomena - kada koristite eksternu referentnu naponsku vrijednost, morate postaviti analognu referencu na EXTERNAL prije korištenja analogRead (). Time ćete spriječiti kratki spoj aktivnog internog referentnog napona i AREF pina koji mogu oštetiti mikrokontroler na ploči. Ako je potrebno za vašu aplikaciju, možete se vratiti na radni napon ploče za AREF (to jest - vratiti se na normalu) sa sljedećim
analogReference (DEFAULT);
Sada da demonstriramo vanjski AREF na djelu. Koristeći 3.3V AREF, sljedeća skica mjeri napon iz A0 i prikazuje postotak ukupnog AREF -a i izračunati napon:
#include "LiquidCrystal.h"
LiquidCrystal lcd (8, 9, 4, 5, 6, 7);
int analogni ulaz = 0; // naš analogni pin
int analogamount = 0; // sprema dolaznu vrijednost float percent = 0; // koristi se za spremanje naše postotne vrijednosti plivajući napon = 0; // koristi se za spremanje vrijednosti napona
void setup ()
{lcd.begin (16, 2); analogReference (EXTERNAL); // koristite AREF za referentni napon}
void loop ()
{lcd.clear (); analogamount = analogRead (analogni ulaz); procenat = (analogamount/1024.00)*100; napon = analogni nosač*3.222; // u milivoltima lcd.setCursor (0, 0); lcd.print ("% od AREF:"); lcd.print (procenat, 2); lcd.setCursor (0, 1); lcd.print ("A0 (mV):"); lcd.println (napon, 2); kašnjenje (250); }
Rezultati gornje skice prikazani su u videu.
Korak 5: Interni AREF
Mikrokontroleri na našim Arduino pločama također mogu generirati interni referentni napon od 1,1 V i to možemo koristiti za rad AREF. Jednostavno koristite liniju:
analogReference (INTERNAL);
Za Arduino Mega ploče koristite:
analogReference (INTERNAL1V1);
u void setup () i isključeni ste. Ako imate Arduino Mega, dostupan je i referentni napon od 2,56 V koji se aktivira sa:
analogReference (INTERNAL2V56);
Konačno - prije nego što se odlučite za rezultate sa svog AREF pina, uvijek kalibrirajte očitanja prema poznatom dobrom multimetru.
Zaključak
AREF funkcija daje vam veću fleksibilnost pri mjerenju analognih signala.
Ovaj post vam donosi pmdway.com - sve za proizvođače i ljubitelje elektronike, uz besplatnu dostavu širom svijeta.
Preporučuje se:
ICSP konektor za Arduino Nano bez zalemljenog zaglavlja pina, ali Pogo Pin: 7 koraka
ICSP konektor za Arduino Nano bez lemljenog zaglavlja pina, ali Pogo Pin: Napravite ICSP konektor za Arduino Nano bez zalemljenog zaglavlja pina na ploči, ali Pogo Pin.Parts3 × 2 Pin utičnica x1 - APitch 2,54 mm Dupont Line žica Ženski priključak za konektore kućišta x6 -BP75-E2 (konusna glava od 1,3 mm) Opružna ispitna sonda Pogo Pin
Elektronski sigurnosni sistem sa RTC -om i korisničkim PIN kodom: 7 koraka
Elektronski sigurnosni sistem sa RTC -om i korisničkim PIN kodom: Zdravo momci! Ovo je projekt koji sam napravio pomoću mikrokontrolera za slike, njegov elektronički sigurnosni sistem sa PIN kodom sa satom u stvarnom vremenu i mogućnostima definiranja korisničkog koda koje definiše korisnik. Ova stranica sadrži sve detalje kako biste ga sami napravili
Uključeno Isključeno zasun S UC. Jedno dugme. One Pin. Diskretna komponenta .: 5 koraka
Uključeno Isključeno zasun S UC. Jedno dugme. One Pin. Diskretna komponenta.: Pozdrav svima, tražio sam krug za uključivanje/isključivanje na mreži. Sve što sam pronašao nije ono što sam tražio. Razgovarao sam sam sa sobom, za to nužno postoji način. To mi je trebalo. -Samo jedno dugme za uključivanje i isključivanje. -Moram koristiti samo
AT naredbe za Bluetooth modul (HC-05 W/ EN pin i tipka) pomoću Arduino ploče!: 5 koraka
AT naredbe za Bluetooth modul (HC-05 W/ EN pin i tipka) Korištenje Arduino ploče !: Autor Jay Amiel AjocGensan PHOva instrukcija će vam pomoći da započnete s korištenjem Bluetooth modula HC05. Do kraja ove upute naučit ćete o slanju AT naredbi modulu za njegovu konfiguraciju/izmjenu (ime, šifra, baud ra
Detektor metala s pin -pokazivačem - Arduino: 6 koraka (sa slikama)
Pin -Pointer detektor metala - Arduino: Ako ste ljubitelj detektora metala ili samo tražite zgodan alat za radionicu, svidjet će vam se ovaj jedinstveni ručni pinpointer za sužavanje određene lokacije metalne mete. Upotrebom četiri nezavisne zavojnice za pretraživanje, cool LED boje za sig