ce este referința arduino adc?

Folosesc arduino pentru prima dată și nu înțeleg cu adevărat ce presupun să conectez la PIN-ul de referință ADC … sau dacă chiar trebuie să-l folosiți în timp ce conectați senzorul analogic la arduino, mulțumesc!

Comentarii

Răspundeți

Convertorul AD din microcontrolerul ATMega (așa cum este utilizat în Arduino) convertește o tensiune de intrare într-un număr .

Acest ADC se întâmplă să fie de 10 biți, ceea ce înseamnă 2 ^ 10 stări, care este 1024.

Numărul 0 (zero) înseamnă tensiune de intrare 0 volți.

Numărul 1023 înseamnă maxim tensiunea de intrare.

Deoarece 0 este, de asemenea, o valoare, scala variază de la 0 la 1023, făcând 1024 de valori.

Scala este liniară, astfel încât 511 înseamnă jumătate din tensiunea maximă.

Care este această tensiune maximă de intrare?

Aceasta este Tensiunea de referință ADC . În mod implicit, tensiunea de alimentare este utilizată, deci dacă rulați Arduino pe 5 V, atunci 1023 = 5 V. Dar dacă rulați Arduino pe 3,3 V, atunci 1023 = 3,3 V.

Există și în referință internă de 2,56 V (sau 1,1 V, în funcție de Arduino), dacă îl utilizați atunci, l-ați ghicit, 1023 = 2,56 V (sau 1,1 V).

S-ar putea să aveți o externă foarte elegantă tensiunea de referință deja disponibilă și dacă doriți să o utilizați, utilizați setarea externă și conectați tensiunea de referință la pinul AREF.

Dacă senzorul analogic dă 0 până la 5 V și Arduino este alimentat și de 5 V, atunci ar trebui să utilizați setarea implicită, astfel încât VCC să fie utilizat ca referință ADC.

Dacă senzorul dvs. oferă o tensiune între 0 și 1 V, atunci puteți utiliza referința internă, astfel încât mai mult de la 0 la Gama 1023 este utilizabilă. Oferindu-vă o rezoluție mai bună.

Răspuns

Comportamentul implicit este ca referința analogică să fie Vcc, care pe multe Arduino este 5V . În acest caz, nu conectați nimic la AREF.

Cu toate acestea, dacă aveți o referință de tensiune de precizie , atunci o puteți conecta la AREF (și GND) și specificați în schița dvs., înainte de a face un analogRead :

 analogReference (EXTERNAL); 

Am o pagină despre convertorul ADC care poate ajuta la explicarea sau poate fi prea mult detaliu. 🙂


sau chiar dacă trebuie să-l folosesc în timp ce conectez senzorul analogic la arduino

Dacă nu intenționați să utilizați o tensiune de referință diferită, nu o utilizați deloc.

Pentru un Arduino de 5V, tensiunea măsurată cu AREF implicit ar fi aproximativ 4,88 mV pe unitate de măsură (adică 5V / 1024), dar mai precis:

float voltage = ((float) rawADC + 0.5 ) / 1024.0 * Vref; 

Tensiunea pe care o furnizați VREF (dacă furnizați all) trebuie să fie între 1,0V și Vcc, unde Vcc ar fi 5V pentru un Arduino Uno.

Comentarii

  • nu conectez orice la AREF ”și„ [call analogReference(EXTERNAL)] înainte de a face o analogRead ”(amfaza mea). Acestea sunt foarte importante puncte care nu sunt menționate în celelalte răspunsuri.
  • Am adăugat accentul în răspunsul meu, în cazul în care a fost prea ușor așa cum a fost.;)

Răspunde

Ei bine, cred că ar trebui să citești mai întâi manualul înainte de a utiliza (și chiar poate să o frâneze).

În general, referința analogică este o valoare de tensiune între 0,00 și 5,00V, care va fi folosită ca referință virtuală pentru toate intrările analogice, pe care le conectați la placa arduino.

Despre referința analogică se află pe site-ul Arduino: https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/

Răspuns

AREF este un pin de intrare de tensiune de referință.
Tensiunea de referință este tensiunea maximă atunci când măsurați semnalul analogic.
Cu alte cuvinte, puteți măsura tensiunea 0V ~ AREF utilizând portul ADC.

Rețineți că tensiunea minimă a AREF este de 1.0V.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *