Taula de continguts:

Calibratge del sensor DS18B20 amb Arduino UNO: 3 passos (amb imatges)
Calibratge del sensor DS18B20 amb Arduino UNO: 3 passos (amb imatges)

Vídeo: Calibratge del sensor DS18B20 amb Arduino UNO: 3 passos (amb imatges)

Vídeo: Calibratge del sensor DS18B20 amb Arduino UNO: 3 passos (amb imatges)
Vídeo: DS18B20 waterproof temperature sensor with(code explained) | Arduino tutorial 13 2024, De novembre
Anonim
Calibratge del sensor DS18B20 amb Arduino UNO
Calibratge del sensor DS18B20 amb Arduino UNO
Calibratge del sensor DS18B20 amb Arduino UNO
Calibratge del sensor DS18B20 amb Arduino UNO
Calibratge del sensor DS18B20 amb Arduino UNO
Calibratge del sensor DS18B20 amb Arduino UNO

EXCLUSIÓ DE RESPONSABILITAT:

El dispositiu que veieu a les imatges s’utilitza en un altre projecte com a termòstat per al procés de desenvolupament de pel·lícules. Podeu trobar aquest projecte aquí. Per calibrar un sensor o més d’un, necessitareu el que trobareu en aquest projecte, res més, i també és bastant bàsic. Som-hi!

Pas 1: prepareu el dispositiu

Prepareu el dispositiu
Prepareu el dispositiu

Aquí teniu una llista del que necessiteu:

  1. Arduino UNO (o MEGA)
  2. Sensors DS18B20
  3. 4kOhm - 5kOhm de resistència (he utilitzat un 5k1Ohm)
  4. Pantalla LCD per llegir valors (també podeu utilitzar un ordinador portàtil i simplement llegir-los en un monitor sèrie)
  5. Un esbós que utilitza el sensor i mostra d'alguna manera els valors

Primer de tot, heu de connectar els mòduls i el sensor al controlador. Deixaré la part complicada de la pantalla LCD perquè pugueu cercar al web i només us explicaré com connectar el sensor.

Normalment, aquests sensors vénen amb tres cables de colors: negre, vermell i groc. Els dos primers són per a energia i el tercer per a les dades. Connecteu el negre a GNN, el vermell a Vcc (5V) i el groc en una entrada analògica, diguem-ne A0.

Ara connecteu la resistència entre el groc i el vermell per completar les connexions.

Connecteu també la pantalla LCD (us proposo una pantalla LCD de 16x2 senzilla amb connexió i2c per fer servir només 4 cables en total) i heu acabat amb cables i cables.

Ara l’esbós que és súper senzill:

#include "OneWire.h"

#include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); DallasTemperature sensor1 (& ourWire1); #include "LiquidCrystal_I2C.h"

LiquidCrystal_I2C lcd (0x27, 16, 2); float RawValue = 0;

void setup () {lcd.init (); lcd.backlight (); sensor1.begin (); sensor1.setResolution (11); } bucle buit () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens. 1"); lcd.print (RawValue, 1); }

Com podeu veure, fem servir la biblioteca Dallas Temperature i una pantalla LCD amb connexió i2c.

A la configuració iniciem la pantalla LCD i el sensor i al bucle només demanem la temperatura i emmagatzemem el valor dins de la variable RawValue per mostrar-la a la pantalla LCD.

Si voleu que sigui més senzill, només cal que utilitzeu el monitor sèrie amb l'esbós següent

#include "Wire.h" #include "OneWire.h" #include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); DallasTemperature sensor1 (& ourWire1);

float RawValue = 0;

configuració nul·la () {

retard (1000); Serial.begin (9600); sensor1.begin (); sensor1.setResolution (11);

}

bucle buit () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens. 1"); Serial.println (RawValue, 1); }

Ara seguiu-me al nucli del projecte per calibrar el sensor.

Pas 2: Calibració de dos punts

Calibració de dos punts
Calibració de dos punts
Calibració de dos punts
Calibració de dos punts
Calibració de dos punts
Calibració de dos punts

Alguna cosa a saber primer

Per calibrar un termosensor, heu de mesurar alguna cosa de la qual conegueu la temperatura. La forma més senzilla de fer-ho a casa és fent servir aigua bullint i un bany de gel que es fon, també anomenat bany de "triple punt". En aquests casos sabem que l’aigua bull a 100 ° C al nivell del mar. Tingueu en compte que per fer una mesura precisa heu de conèixer la vostra altitud i calcular-hi la temperatura d’ebullició adequada.

Ho podeu comprovar aquí!

Per ser sincer, heu de comprovar la pressió atmosfèrica i no l’altitud. Però aquesta manera és prou precisa.

El bany de tres punts, o bany de gel, és la temperatura a la qual hi ha aigua en els tres estats sòlid, líquid i gasós, la temperatura és de 0, 01 ° C. Utilitzarem, per simplificar, 0 ° C.

Sabent el valor que ha llegit el sensor i el valor que hauria de ser, podem modificar el valor en brut del DS18B20 en quelcom més correcte.

NOTA: també podeu fer servir més temperatura per calibrar el sensor només posant-lo en alguna altra substància de la qual conegueu el punt d’ebullició com Èter (35 ° C), Pentà (36, 1 ° C), Acetona (56 ° C) o Etanol (78, 37 ° C), però aquestes substàncies bullents produeixen gasos altament inflamables. Així que no ho feu!

Aigua bullint:

Poseu una mica d’aigua en una olla i escalfeu-la fins que bulli (es formen bombolles de gas i l’aigua s’agita). Immergiu el sensor allà on no toca res més que aigua. Espereu un parell de minuts i llegiu el lcd o el monitor sèrie

La temperatura ha de romandre la mateixa durant almenys un minut. Si és així, escriviu aquest valor. Aquest és el vostre valor: RawHigh.

Bany de tres punts:

Ara preneu un got gran (no necessiteu res enorme ni olla) i ompliu-lo fins a la vora amb glaçons. Intenteu utilitzar glaçons de mida petita. Ara ompliu el 80% del got amb aigua freda. Ompliu de gel si la palanca intenta baixar.

Ara poseu el sensor dins de l’aigua / gel i espereu un minut i mig. Llegiu la temperatura que hauria de mantenir-se durant almenys 30 segons. Si és així, escriviu-lo perquè sigui el vostre valor RawLow.

Pas 3: utilitzeu els valors que obtingueu de la manera correcta

Per tant, ara teniu alguns valors importants:

  • RawHigh
  • RawLow
  • Referència Alta
  • Referència Baixa

El valor de les referències és òbviament de 99,9 ° C per a l’aigua bullent (a la meva altitud de 22 m) i de 0 ° C per al bany de gel que es fon. Ara calculeu els intervals d'aquests valors:

  • RawRange = RawHigh - RawLow
  • ReferenceRange = ReferenceHigh - ReferenceLow

Ara esteu a punt per utilitzar aquest sensor en qualsevol altre projecte, assegurant-vos que us proporcionarà una mesura adequada. Com? Utilitzant el valor que heu obtingut aquí al projecte, crearà amb aquest sensor.

En el vostre futur projecte, haureu d’utilitzar els valors que heu llegit en aquest i us proposo fer-ho amb els mateixos noms que he fet servir aquí.

Declareu les variables abans de la secció void setup () de la manera següent:

float RawHigh = 99,6; float RawLow = 0,5; float ReferenceHigh = 99,9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;

Cada vegada que utilitzeu el sensor, podeu utilitzar la fórmula següent per calcular el valor corregit:

float CorrectedValue = (((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;

RawValue és, òbviament, la lectura del sensor.

Això és!

Ara ja sabeu com calibrar el sensor DS18B20 o qualsevol altre sensor que utilitzeu. Diverteix-te!

Recomanat: