Inhoudsopgave:

Arduino AD8495-thermometer - Ajarnpa
Arduino AD8495-thermometer - Ajarnpa

Video: Arduino AD8495-thermometer - Ajarnpa

Video: Arduino AD8495-thermometer - Ajarnpa
Video: Аналоговый усилитель термопары типа-К на AD8495 2024, November
Anonim
Arduino AD8495-thermometer
Arduino AD8495-thermometer
Arduino AD8495-thermometer
Arduino AD8495-thermometer
Arduino AD8495-thermometer
Arduino AD8495-thermometer
Arduino AD8495-thermometer
Arduino AD8495-thermometer

Een korte handleiding om uw problemen met deze K-thermometer op te lossen. We hopen dat het helpt:)

Voor het volgende project heb je nodig:

1x Arduino (elke soort, we leken gewoon 1 Arduino Nano gratis te hebben)

1x AD8495 (het wordt meestal geleverd als kit met de sensor en alles)

6x jumperdraden (verbinden AD8495 met Arduino)

soldeerbout & soldeerdraad

OPTIONEEL:

1x 9V batterij

2x weerstanden (we gebruikten 1x 10kOhms & 2x5kOhms omdat we de 2x5k met elkaar verbonden)

Pas op dat u voorzichtig te werk gaat en let op uw vingers. De soldeerbout kan brandwonden veroorzaken als er niet voorzichtig mee wordt omgegaan.

Stap 1: Hoe werkt het over het algemeen?

Hoe werkt het over het algemeen?
Hoe werkt het over het algemeen?

Over het algemeen is deze thermometer een product van Adafruit, hij heeft een K-type sensor die voor bijna alles kan worden gebruikt, van temperatuurmeting in huis of kelder tot warmtemeting in ovens en ovens. Hij is bestand tegen temperaturen van -260 graden C tot 980, en met wat kleine aanpassingen van de voeding gaat hij tot 1380 graden C (wat best opmerkelijk is) en hij is ook vrij nauwkeurig, met de +/-2 graden variatie zijn opmerkelijk nuttig. Als je het maakt zoals we deden met Arduino Nano, kun je het ook in een kleine doos verpakken (aangezien je je eigen doos maakt die niet in deze tutorial is opgenomen).

Stap 2: Aansluiten en juiste bedrading

Aansluiten en juiste bedrading
Aansluiten en juiste bedrading
Aansluiten en juiste bedrading
Aansluiten en juiste bedrading
Aansluiten en juiste bedrading
Aansluiten en juiste bedrading

Toen we het pakket ontvingen, zag het er zo uit, zoals u kunt zien op de bovenstaande foto's. Je kunt jumperdraden gebruiken om het op het Arduino-bord aan te sluiten, maar ik zou aanraden om de draden te solderen omdat het op zeer kleine spanningen werkt, zodat elke kleine beweging de resultaten kan bederven.

De foto's hierboven zijn gemaakt van hoe we de draden op de sensor hebben gesoldeerd. Voor ons project hebben we Arduino Nano gebruikt en zoals je kunt zien, hebben we onze Arduino ook een beetje aangepast om de optimale resultaten uit onze metingen te halen.

Stap 3: Type gebruik

Type gebruik
Type gebruik

Volgens de datasheet kan deze sensor worden gebruikt om te meten van -260 tot 980 graden C met de normale Arduino 5V voeding of je kunt een externe stroombron toevoegen en dat geeft je de mogelijkheid om tot 1380 graden te meten. Maar pas op als de thermometer meer dan 5V teruggeeft aan de Arduino om te lezen, kan dit uw Arduino beschadigen en kan uw project gedoemd zijn te mislukken.

Om dit probleem op te lossen, hebben we een spanningsdeler op het apparaat geplaatst, wat in ons geval Vout is tot de helft van de Vin-spanning.

Links naar de datasheet:

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

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

Stap 4: Het grote probleem met de code bij het meten

Het grote probleem met de code bij het meten
Het grote probleem met de code bij het meten

Volgens de datasheet van de thermometer is de referentiespanning 1,25V. In onze metingen was dit niet het geval… Toen we verder testten, kwamen we erachter dat de referentiespanning variabel is en we testten op twee computers, op beide was het anders (!?!). Welnu, we plaatsen een pin op het bord (zoals weergegeven op de afbeelding hierboven) en we plaatsen een lijn in de code om elke keer de referentiespanningswaarde te lezen voordat we gaan berekenen.

De hoofdformule hiervoor is Temp=(Vout-1,25) / 0,005.

In onze formule hebben we het gemaakt: Temp=(Vout-Vref) / 0.005.

Stap 5: De code deel 1

De code deel 1
De code deel 1
De code deel 1
De code deel 1

const int AnalogPin= A0; // Analoge pin voor temp readconst int AnalogPin2 = A1; //Analoge pin voor het lezen van referent valuefloat Temp; //Temperatuurvlotter Vref; // Referentievoltagefloat Vout; // Spanning na adcfloat SenVal; //Sensor valuefloat SenVal2; // Sensorwaarde van referent pinvoid setup () {Serial.begin (9600); } void loop () { SenVal = analogRead (A0); // Analoge waarde van temperatuur SenVal2 =analogRead (A1); // Analoge waarde van referent pinVref = (SenVal2 * 5.0) / 1024.0; // Conversie analoog naar digitaal voor referentiewaarde Vout = (SenVal * 5.0) / 1024.0; // Conversie analoog naar digitaal voor de temperatuurleesspanning Temp = (Vout - Vref) / 0.005; //Temperatuurberekening Serial.print("Temperature= ");Serial.println(Temp);Serial.print("Referentiespanning= ");Serial.println(Vref);vertraging (200);}

Deze code wordt gebruikt wanneer u de stroom van de Arduino gebruikt (geen externe stroombron). Dit beperkt je meting tot 980 graden C volgens de datasheet.

Stap 6: De code deel 2

De code deel 2
De code deel 2
De code deel 2
De code deel 2

const int AnalogPin= A0; // Analoge pin voor temp readconst int AnalogPin2 = A1; // Analoge pin van waaruit we de referentiewaarde lezen (we moesten dit maken omdat de referentiewaarde van de sensor onstabiel is) float Temp; //Temperatuurvlotter Vref; // Referentievoltagefloat Vhalf; // Spanning op de arduino gelezen na de dividerfloat Vout; // Spanning na conversiefloat SenVal; //Sensor valuefloat SenVal2; // Sensorwaarde van de waar we referent valuevoid setup () {Serial.begin (9600); }void loop() {SenVal = analogRead(A0); // Analoge output valueSenVal2= analogRead (A1); //Analoge uitvoer van waaruit we referent valueVref = (SenVal2 * 5.0) / 1024.0; // Analoge waarde omzetten van referent-pin naar digitale waarde Vhalf = (SenVal * 5.0) / 1024.0; // Transformeer analoog naar digitaal waarde Vout = 2 * Vhalf; // Berekening van de spanning na de halvering van de spanningsdelerTemp = (Vout - Vref) / 0,005; //Temperatuur formule berekeningSerial.print("Temperature= ");Serial.println(Temp);Serial.print("Vout= ");Serial.println(Vout);Serial.print("Referentie spanning= ");Serial.println(Vref);vertraging (100);}

Dit is de code als je een externe stroombron gebruikt en hiervoor gebruiken we de spanningsdeler. Daarom hebben we de waarde "Vhalf" erin. Onze gebruikte spanningsdeler (zie in deel 3) is om de inkomende spanning te halveren (R1 heeft dezelfde ohm waardes als R2) omdat we een 9V batterij gebruikten. Zoals hierboven vermeld, kan elke spanning boven 5V je Arduino beschadigen, dus we hebben het gehaald om max 4,5V te krijgen (wat in dit geval onmogelijk is, omdat het hoogste uitgangsvermogen van de sensor na de spanningsdeler iets rond de 3,5V kan zijn).

Stap 7: Resultaten

Resultaten
Resultaten
Resultaten
Resultaten
Resultaten
Resultaten
Resultaten
Resultaten

Zoals je kunt zien aan de bovenstaande schermafbeeldingen, hebben we het getest en het werkt. Daarnaast hebben we u voorzien van de originele Arduino-bestanden.

Dit is het. We hopen dat het u helpt bij uw projecten.

Aanbevolen: