Tabla de contenido:

Calibración del sensor DS18B20 con Arduino UNO: 3 pasos (con imágenes)
Calibración del sensor DS18B20 con Arduino UNO: 3 pasos (con imágenes)

Video: Calibración del sensor DS18B20 con Arduino UNO: 3 pasos (con imágenes)

Video: Calibración del sensor DS18B20 con Arduino UNO: 3 pasos (con imágenes)
Video: 5 - COMO CONECTAR Y PROGRAMAR UN SENSOR DE TEMPERATURA EN ARDUINO ¡¡¡SIN TEXTO!!! 2024, Noviembre
Anonim
Calibración del sensor DS18B20 con Arduino UNO
Calibración del sensor DS18B20 con Arduino UNO
Calibración del sensor DS18B20 con Arduino UNO
Calibración del sensor DS18B20 con Arduino UNO
Calibración del sensor DS18B20 con Arduino UNO
Calibración del sensor DS18B20 con Arduino UNO

DESCARGO DE RESPONSABILIDAD:

El dispositivo que ves en las imágenes se utiliza en otro proyecto como termostato para el proceso de revelado de películas. Puedes encontrar ese proyecto aquí. Para calibrar un sensor, o más de uno, necesitará solo lo que encontrará en este proyecto, nada más, ¡y también es bastante básico! ¡Vamos!

Paso 1: prepara tu dispositivo

Prepare su dispositivo
Prepare su dispositivo

Aquí hay una lista de lo que necesita:

  1. Arduino UNO (o MEGA)
  2. Sensor (es) DS18B20
  3. 4kOhm - 5kOhm de resistencia (usé un 5k1Ohm)
  4. Pantalla LCD para leer valores (también puede usar una computadora portátil y simplemente leerlos en un monitor en serie)
  5. Un boceto que usa el sensor y muestra de alguna manera los valores

En primer lugar, debe conectar sus módulos y sensores a su controlador. Te dejo la parte complicada de la pantalla LCD para que busques en la web, y solo te diré cómo conectar el sensor.

Por lo general, esos sensores vienen con cables de tres colores: negro, rojo, amarillo. Los dos primeros son para energía y el tercero es para datos. Conecte el negro a GNN, el rojo a Vcc (5V) y el amarillo en una entrada analógica, digamos A0.

Ahora conecta la resistencia entre el amarillo y el rojo para completar las conexiones.

Conecte también la pantalla LCD (sugiero una pantalla LCD simple de 16x2 con conexión i2c para usar solo 4 cables en total) y ya está con cables y alambres.

Ahora el boceto que es súper simple:

#include "OneWire.h"

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

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

configuración vacía () {lcd.init (); LCD luz de fondo(); sensor1.begin (); sensor1.setResolution (11); } bucle vacío () {sensor1.requestTemperatures (); flotador RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens. 1"); lcd.print (RawValue, 1); }

Como puede ver, usamos la biblioteca Dallas Temperature y una pantalla LCD con conexión i2c.

En la configuración iniciamos el LCD y el sensor y en el bucle simplemente solicitamos la temperatura y almacenamos el valor dentro de la variable RawValue para mostrarlo en el LCD.

Si desea que sea más simple, simplemente use el monitor en serie con el siguiente boceto

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

float RawValue = 0;

configuración vacía () {

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

}

bucle vacío () {sensor1.requestTemperatures (); flotador RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens. 1"); Serial.println (RawValue, 1); }

Ahora sígueme en el núcleo del proyecto para calibrar el sensor.

Paso 2: Calibración de dos puntos

Calibración de dos puntos
Calibración de dos puntos
Calibración de dos puntos
Calibración de dos puntos
Calibración de dos puntos
Calibración de dos puntos

Algo para saber primero

Para calibrar un termo-sensor, debes medir algo de lo que conozcas la temperatura. La forma más sencilla de hacerlo en casa es utilizando agua hirviendo y un baño de hielo derretido, también llamado baño de "punto triple". En esos casos sabemos que el agua hierve a 100 ° C sobre el nivel del mar. Tenga en cuenta que para realizar una medición precisa debe conocer su altitud y calcular la temperatura de ebullición adecuada allí.

¡Puede comprobar aquí!

Para ser honesto, debe verificar la presión atmosférica y no la altitud. Pero esa forma es lo suficientemente precisa.

El baño de triple punto, o baño de hielo, es la temperatura a la que existe el agua en los tres estados sólido, líquido y gaseoso, esa temperatura es de 0,01 ° C. Usaremos, para simplificar, 0 ° C.

Sabiendo el valor que leyó el sensor y el valor que debería ser, podemos modificar el valor bruto del DS18B20 a algo más correcto.

NOTA: también puede usar más temperatura para calibrar el sensor simplemente poniéndolo en alguna otra sustancia cuyo punto de ebullición conozca como éter (35 ° C), pentano (36, 1 ° C), acetona (56 ° C) o Etanol (78, 37 ° C), ¡pero esas sustancias en ebullición producen gases altamente inflamables! ¡Así que no lo hagas!

Agua hirviendo:

Ponga un poco de agua en una olla y caliéntela hasta que hierva (se forman burbujas de gas y el agua se agita). Sumerja su sensor donde no toque nada más que agua. Espere un par de minutos y lea la pantalla lcd o el monitor en serie

La temperatura debe permanecer igual durante al menos un minuto. Si es así, anote ese valor. Ese es su valor: RawHigh.

Baño de triple punto:

Ahora tome un vaso grande (no necesita nada grande ni una olla) y llénelo hasta el borde con cubitos de hielo. Intente utilizar cubitos de hielo de tamaño pequeño. Ahora llena el 80% del vaso con agua fría. Vuelva a llenar con hielo si la palanca intenta bajar.

Ahora coloque su sensor dentro de la cosa de agua / hielo y espere un minuto y medio. Lea la temperatura que debe permanecer igual durante 30 segundos como mínimo. Si es así, anótelo, que es su valor RawLow.

Paso 3: ¡Utilice los valores que obtenga de la manera correcta

Entonces, ahora tienes algunos valores importantes:

  • RawHigh
  • RawLow
  • ReferenceHigh
  • ReferenciaBajo

El valor de referencia es obviamente 99,9 ° C para el agua hirviendo (a mi altitud de 22 m) y 0 ° C para el baño de hielo derretido. Ahora calcule los rangos de esos valores:

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

Ahora está todo listo para usar ese sensor en cualquier otro proyecto, asegurándose de que le dará una medición correcta. ¿Cómo? Usando el valor que obtuvo aquí en el proyecto que creará con ese sensor.

En su proyecto futuro, tendrá que usar los valores que leyó en este y le sugiero que lo haga usando los mismos nombres que usé aquí.

Declare las variables antes de la sección void setup () así:

float RawHigh = 99.6; float RawLow = 0.5; float ReferenceHigh = 99.9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;

Entonces, cada vez que use el sensor, puede usar la siguiente fórmula para calcular el CorrectedValue:

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

RawValue es obviamente la lectura del sensor.

¡Eso es todo!

¡Ahora ya sabe cómo calibrar su sensor DS18B20 o cualquier otro sensor que utilice! ¡Divertirse!

Recomendado: