Cuprins:

Termometru Arduino AD8495: 7 pași
Termometru Arduino AD8495: 7 pași

Video: Termometru Arduino AD8495: 7 pași

Video: Termometru Arduino AD8495: 7 pași
Video: Как настроить точность градусника и другие подробности электронного термометра, гигрометра. 2024, Noiembrie
Anonim
Termometru Arduino AD8495
Termometru Arduino AD8495
Termometru Arduino AD8495
Termometru Arduino AD8495
Termometru Arduino AD8495
Termometru Arduino AD8495
Termometru Arduino AD8495
Termometru Arduino AD8495

Un ghid rapid pentru a vă rezolva problemele cu acest termometru de tip K. Sperăm că vă va ajuta:)

Pentru următorul proiect veți avea nevoie de:

1x Arduino (orice fel, parcă pur și simplu avem 1 Arduino Nano gratuit)

1x AD8495 (în general vine ca kit cu senzorul și totul)

6 fire Jumper (conectarea AD8495 la Arduino)

fier de lipit și sârmă de lipit

OPȚIONAL:

1x baterie de 9V

2x rezistențe (am folosit 1x 10kOhms și 2x5kOhms pentru că am conectat 2x5k împreună)

Vă rugăm să aveți grijă să continuați cu grijă și să vă uitați la degete. Fierul de lipit poate provoca arsuri dacă nu este manipulat cu grijă.

Pasul 1: Cum funcționează în general

Cum funcționează în general
Cum funcționează în general

În general, acest termometru este un produs al Adafruit, cu un senzor de tip K, care poate fi utilizat pentru aproape orice, de la măsurarea temperaturii la domiciliu sau la subsol până la măsurarea căldurii cuptorului și cuptorului. Poate rezista la temperaturi de la -260 grade C până la 980 și, cu unele mici ajustări ale sursei de alimentare, merge până la 1380 grade C (ceea ce este destul de remarcabil) și este destul de precis și cu +/- 2 grade variația este remarcabil de utilă. Dacă o faceți așa cum am făcut cu Arduino Nano, o puteți împacheta și într-o cutie mică (având în vedere că vă veți crea propria cutie care nu este inclusă în acest tutorial).

Pasul 2: Conectarea și cablarea corectă

Conectarea și cablarea corectă
Conectarea și cablarea corectă
Conectarea și cablarea corectă
Conectarea și cablarea corectă
Conectarea și cablarea corectă
Conectarea și cablarea corectă

Pe măsură ce am primit pachetul a fost așa cum puteți vedea din fotografiile de mai sus. Puteți utiliza fire jumper pentru a-l conecta la placa Arduino, dar aș recomanda lipirea firelor deoarece funcționează la tensiuni foarte mici, astfel încât orice mișcare ușoară poate strica rezultatele.

Fotografiile de mai sus sunt realizate despre modul în care am lipit firele de pe senzor. Pentru proiectul nostru am folosit Arduino Nano și, după cum puteți vedea, ne-am modificat puțin Arduino pentru a obține rezultate optime din măsurătorile noastre.

Pasul 3: Tipul de utilizare

Tipul de utilizare
Tipul de utilizare

Conform fișei tehnice, acest senzor poate fi utilizat pentru a măsura de la -260 la 980 grade C cu sursa normală de alimentare Arduino 5V sau puteți adăuga o sursă de alimentare externă care vă va oferi posibilitatea de a măsura până la 1380 grade. Dar atenție, dacă termometrul redă mai mult de 5V înapoi la Arduino pentru a-l citi, acesta poate deteriora Arduino și proiectul dvs. poate fi condamnat să eșueze.

Pentru a depăși această problemă, am pus un dispozitiv de divizare a tensiunii pe dispozitiv, care în cazul nostru este Vout la jumătate din tensiunea Vin.

Link-uri către foaia tehnică:

www.analog.com/media/en/technical-documenta…

www.analog.com/media/en/technical-documenta…

Pasul 4: Marea problemă cu codul la măsurare

Marea problemă cu codul la măsurare
Marea problemă cu codul la măsurare

Conform fișei tehnice pentru termometru, tensiunea de referință este de 1,25V. În măsurătorile noastre acest lucru nu a fost cazul … Pe măsură ce am testat în continuare, am aflat că tensiunea de referință este variabilă și am testat pe două computere, pe ambele a fost diferit (!?!). Ei bine, am pus un pin pe tablă (așa cum se arată în imaginea de mai sus) și am pus o linie în cod pentru a citi valoarea tensiunii referente de fiecare dată înainte de a calcula.

Formula principală pentru aceasta este Temp = (Vout-1,25) / 0,005.

În formula noastră am realizat-o: Temp = (Vout-Vref) / 0,005.

Pasul 5: Codul Partea 1

Codul Partea 1
Codul Partea 1
Codul Partea 1
Codul Partea 1

const int AnalogPin = A0; // Pin analogic pentru readconst temp int AnalogPin2 = A1; // Pin analogic pentru citirea valorii de referință float Temp; // Float de temperatură Vref; // Tensiune de referință plutitoare Vout; // Tensiunea după adcfloat SenVal; // Valoarea senzorului floare SenVal2; // Valoarea senzorului de la configurarea pinvoid referent () {Serial.begin (9600); } void loop () {SenVal = analogRead (A0); // Valoare analogică de la temperatura SenVal2 = analogRead (A1); // Valoare analogică din referință pinVref = (SenVal2 * 5.0) / 1024.0; // Conversie analogică la digitală pentru valoarea de referință Vout = (SenVal * 5.0) / 1024.0; // Conversie analog în digital pentru tensiunea de citire a temperaturii Temp = (Vout - Vref) / 0,005; // Calculul temperaturii Serial.print ("Temperatura ="); Serial.println (Temp); Serial.print ("Referent Voltage ="); Serial.println (Vref); delay (200);}

Acest cod este utilizat atunci când utilizați puterea de la Arduino (fără sursă de alimentare externă). Acest lucru vă va limita măsurarea până la 980 grade C conform fișei tehnice.

Pasul 6: Codul partea 2

Codul partea 2
Codul partea 2
Codul partea 2
Codul partea 2

const int AnalogPin = A0; // Pin analogic pentru readconst temp int AnalogPin2 = A1; // Pin analogic de unde am citit valoarea referent (Trebuia să facem acest lucru deoarece valoarea referent a senzorului este instabilă) plutesc Temp; // Float de temperatură Vref; // Tensiune de referință plutitor Vhalf; // Tensiunea pe arduino citită după divider float Vout; // Tensiunea după conversie plutește SenVal; // Valoarea senzorului floare SenVal2; // Valoarea senzorului de unde obținem valoarea de referințăValoare setare () {Serial.begin (9600); } void loop () {SenVal = analogRead (A0); // Valoare ieșire analogicăSenVal2 = analogRead (A1); // Ieșire analogică de unde obținem valoarea referentăVref = (SenVal2 * 5.0) / 1024.0; // Transmiterea valorii analogice de la pinul referent la valoarea digitalăVhalf = (SenVal * 5.0) / 1024.0; // Transformă analog în valoare digitalăVout = 2 * Vhalf; // Calculul tensiunii după divizarea tensiunii de înjumătățireTemp = (Vout - Vref) / 0,005; // Formula de calcul a temperaturiiSerial.print ("Temperatura ="); Serial.println (Temp); Serial.print ("Vout ="); Serial.println (Vout); Serial.print ("Referent Voltage ="); Serial.println (Vref); întârziere (100);}

Acesta este codul dacă utilizați o sursă de alimentare externă și pentru aceasta folosim divizorul de tensiune. De aceea avem în interior valoarea „Vhalf”. Divizorul nostru de tensiune utilizat (a se vedea partea 3) este la jumătate din tensiunea de intrare (R1 are aceleași valori ohmi ca R2) deoarece am folosit o baterie de 9V. După cum s-a menționat mai sus, orice tensiune de peste 5V poate deteriora Arduino, așa că am făcut să obțină maximum 4,5V (ceea ce este imposibil în acest caz, deoarece puterea maximă de ieșire a senzorului după divizorul de tensiune poate fi de aproximativ 3,5V).

Pasul 7: Rezultate

Rezultate
Rezultate
Rezultate
Rezultate
Rezultate
Rezultate
Rezultate
Rezultate

După cum puteți vedea din capturile de ecran de mai sus, l-am testat și funcționează. În plus, v-am furnizat fișierele Arduino originale.

Acesta este, sperăm că vă va ajuta cu proiectele dumneavoastră.

Recomandat: