Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Termómetro exterior con tendencia, temperatura máxima y mínima

Componentes y suministros

Arduino UNO
× 1
Sensor de temperatura de precisión TS-NTC-103, 10 kΩ
× 1
LCD estándar Adafruit - 16x2 blanco sobre azul
× 1
Fuente de alimentación RobotGeek 12VDC 2.0A - EE. UU.
× 1
Condensador 100 nF
× 2
Condensador 470 µF
× 1
Resistencia de película metálica 10k tolerancia 0,1%
× 1
pulsador (normalmente desactivado)
× 1
Potenciómetro giratorio (genérico)
× 1
Resistencia de 10k ohmios
× 1

Acerca de este proyecto

Introducción

Hice este termómetro por diversión, pero también para obtener algo de experiencia con la escritura del software Arduino y con el uso de una pantalla LCD. Mientras trabajaba en él, decidí agregar algunas funciones. Temperatura máxima medida, temperatura mínima y una flecha hacia arriba o hacia abajo en la pantalla que muestra la tendencia de la temperatura. Se utiliza un botón para restablecer la temperatura mínima y máxima mostrada a la temperatura actual.

Cómo construirlo

Construirlo es bastante simple. Conecte los componentes como se muestra en el programa. La salida de 5 V del Arduino Uno debe estar vinculada a todas las conexiones de + 5 V (flechas). También interconecte todos los pines de tierra. El termómetro está alimentado por una fuente de alimentación externa de 12 V DC conectada al Arduino. Descargue el boceto y cárguelo en su Arduino y listo.

Qué necesitas:

  • Arduino Uno
  • Pantalla LCD 1602A
  • Fuente de alimentación de 12 V CC
  • B + B Thermo Technik TS-NTC-103 (10kΩ)
  • Resistencia de película metálica de 10 kΩ, tolerancia del 0,1%
  • potenciómetro lineal de 10 kΩ
  • Resistencia de 820 Ω (la tolerancia no es importante, 10%, 5% o mejor será suficiente)
  • Resistencia de 10 kΩ (la tolerancia no es importante)
  • Condensador 0,1 uF (=100nF) 16V (2 piezas)
  • Elco 470 uF 16V
  • botón pulsador (normalmente desactivado)
  • Recinto si desea construirlo

El sensor, un NTC de alta precisión

El NTC que utilizo es un sensor de temperatura de precisión de B + B Thermo Technik de 10 kΩ. Este sensor tiene una tolerancia de resistencia a 25 ° C de ± 0,5% Los sensores de temperatura NTC de la serie TS-NTC tienen un amplio rango de medición de -60 ... +150 ° C, y por lo tanto, son adecuados para aplicaciones donde hasta ahora se estaban utilizando costosas resistencias de platino. Tanto la resistencia básica como el valor B están dentro de una tolerancia de ± 0,5%, por lo que el componente se puede utilizar en muchas aplicaciones sin calibración de temperatura y también se puede reemplazar sin reajuste. Por lo tanto, mediante una simple medición de la resistencia, se puede lograr de esta manera una precisión de ± 0,12 K a 25 ° C. En el rango de temperatura de -60 ... + 85 ° C, el error máximo es de aproximadamente ± 0.5K. Puede usar cualquier otro NTC de alta precisión, pero luego tendrá que cambiar los coeficientes de Steinhart-Hart en el dibujo para que se ajusten a ese NTC (consulte la aproximación de Steinhart-Hart).

Obviamente, para mediciones de temperatura de alta precisión, la otra resistencia del divisor de voltaje, en serie con el NTC, también debe ser del tipo de baja tolerancia. Usé una resistencia de película metálica de 10kΩ, tolerancia 0,1%, 0,6W, coeficiente de temperatura 25 ppm. Cualquier otra resistencia con una tolerancia de 0,5% o menos servirá.

El cable NTC capta ruido

El NTC se coloca fuera de la casa. En mi caso con un par de metros de cable. Para evitar interferencias de otros equipos eléctricamente 'ruidosos' en la casa, coloqué un condensador de desacoplamiento de 0,1 uF de la entrada de temperatura analógica del Arduino Uno (pin 14) a tierra. El osciloscopio todavía mostró algo de ruido en el pin 14 después de eso. El ruido fue causado por el reloj de la pantalla LCD 1602. Desapareció después de que se colocó un condensador de desacoplamiento de 0,1 uF entre el VDD y el pin Vss de la pantalla LCD. Este condensador debe soldarse directamente en la placa de PC LCD con cables lo más cortos posible (1 cm como máximo).

El osciloscopio mostró que la señal en el pin 14 estaba limpia después de eso. Para evitar ruido y ondulaciones de la fuente de alimentación conmutada, coloqué un elco de 470 uF entre los 5V y la tierra del Arduino

Colocación del NTC

Para evitar mediciones de temperatura defectuosas, es posible que el NTC y su carcasa nunca estén al sol. Por lo tanto, debe colocarse a la sombra, preferiblemente en el lado norte de la casa (en el lado sur si se encuentra en el hemisferio sur) o incluso lejos de la casa. No apretado a la pared, pero al menos un par de mm fuera de la pared, ya que la pared puede estar un par de grados más caliente que el aire exterior. Y preferiblemente una pared sin calefacción detrás como la pared del garaje.

Sobre el software.

La biblioteca LiquidCrystal se incluye para los comandos LCD 1602. Se declaran varias constantes y variables. Por favor, lea los comentarios en el boceto para obtener más información. A, B y C son los coeficientes de Steinhart-Hart para el NTC I. Para otros NTC, debe cambiar estos coeficientes. El intervalo entero en la línea 17 define el tiempo entre dos mediciones sucesivas, que es de 3 segundos. Para que la medición de temperatura avance sin problemas, se calcula un promedio móvil de 30 mediciones sucesivas (numReadings en la línea 22). Por tanto, la temperatura mostrada es siempre el promedio de la temperatura de los últimos 90 segundos. Para el cálculo del promedio móvil se utiliza una matriz:lecturas [numReadings] o en este caso lecturas [30] en la línea 21. Cada lectura es un número entero entre 0 y 1023.

Aproximación Steinhart-Hart

Un NTC (coeficiente de temperatura negativo) es una resistencia con una resistencia dependiente de la temperatura. La resistencia disminuye si aumenta la temperatura. Desafortunadamente, la relación entre resistencia y temperatura no es lineal. Pero la curva R-T se puede aproximar mediante una fórmula. En la práctica se utilizan dos fórmulas de aproximación. La llamada fórmula Beta y la fórmula Steinhart-Hart. Dado que el último da la mejor aproximación, ese es el que uso. A menudo, el fabricante nos da valores para ambas aproximaciones. Sin embargo, el TS-NTC-103 se puede utilizar en un amplio rango de temperatura de -60 ... + 150 grados centígrados. Dado que lo estamos usando en un rango mucho más pequeño de aprox. -10 ... + 30 grados Celsius obtenemos una mejor aproximación si calculamos los coeficientes nosotros mismos especialmente para este rango. Usé tres pares de resistencia-temperatura de las especificaciones del fabricante en nuestro rango de trabajo (-10, 0 y +20 grados Celsius). Es sencillo calcular los coeficientes con la calculadora en línea de Stanford Reasearch Systems. En el siguiente diagrama, puede ver los datos (puntos rojos) de la aproximación del modelo Beta y la aproximación de Steinhart-Hart. En la esquina inferior derecha puede ver que con un valor de resistencia de 10k, la temperatura aproximada es 25,0035 grados Celsius con aproximación Steinhart-Hart, que es bastante buena, y 25,7716 grados Celsius con aproximación Beta, que es sustancialmente menos buena. (el NTC es 10k a 25 grados centígrados)

Enlace a NTCcalculator

Código

Arduino
La versión 1.4 resuelve un problema de convención en la declaración de función PrintPG () que estaba causando un error del compilador en el editor fuera de línea, pero sin problemas en el editor web, la versión 1.3 incluye histéresis para la flecha de tendencia

Esquemas


Proceso de manufactura

  1. Control de acceso con QR, RFID y verificación de temperatura
  2. Mide temperaturas con un sensor DS18B20 de 1 cable y Raspberry Pi
  3. Leer temperatura con DS18B20 | Raspberry Pi 2
  4. Medición de temperatura con RASPBERRY PI
  5. Sensor de temperatura Python y Raspberry Pi
  6. Temperatura y humedad sencillas en Raspberry Pi
  7. Supervisión de la temperatura con Raspberry Pi
  8. Bricolaje:Regulación y monitoreo de temperatura para HomeBrew
  9. Monitoreo de temperatura ambiente controlado por Raspberry Pi con salida de imagen Gnuplot y capacidad de alerta por correo electrónico
  10. Sensor de temperatura y luz Raspberry Pi
  11. Creación de robots con Raspberry Pi y Python