Termómetro con termopar en microcontrolador pic. Termómetro en ATmega8 y sensor de temperatura DS18B20. Algoritmo del programa de termómetro en ATmega y DS18B20

Termómetro en el microcontrolador PIC16F628A y DS18B20 (DS18S20): un artículo con una descripción detallada del circuito del termómetro de memoria y, además, una continuación lógica del artículo que publiqué anteriormente en el sitio de Yandex pichobbi.narod.ru. Este termómetro ha demostrado su eficacia y se decidió modernizarlo un poco. En este artículo te contaré qué cambios se han realizado en el esquema y el programa de trabajo, describiré las nuevas funciones. El artículo será útil para principiantes. Posteriormente convertí la versión actual del termómetro a .

El termómetro del microcontrolador PIC16F628A y DS18B20 (DS18S20) puede:

  • medir y mostrar la temperatura en el rango:
    -55...-10 y +100...+125 con una precisión de 1 grado (ds18b20 y ds18s20)
    -en el rango -9,9...+99,9 con una precisión de 0,1 grados (ds18b20)
    -en el rango -9,5...+99,5 con una precisión de 0,5 grados (ds18s20);
  • Detecta automáticamente el sensor DS18B20 o DS18S20;
  • Verifique automáticamente el sensor en busca de fallas;
  • Recuerde las temperaturas máximas y mínimas medidas.

El termómetro también permite sustituir fácilmente el indicador de 7 segmentos de OK por un indicador con OA. Se ha organizado un procedimiento suave para escribir en la memoria EEPROM del microcontrolador. En este artículo se describe un voltímetro que ha demostrado su eficacia.

El diagrama de circuito de un termómetro digital en un microcontrolador fue desarrollado para un uso confiable y a largo plazo. Todas las piezas utilizadas en el circuito no escasean. El patrón es fácil de seguir y perfecto para principiantes.

El diagrama esquemático del termómetro se muestra en la Figura 1.

Figura 1: Diagrama esquemático de un termómetro en PIC16F628A + ds18b20/ds18s20

No describiré el esquema completo del termómetro, ya que es bastante simple, me detendré solo en las características.

Utilizado como microcontrolador. PIC16F628A de Microchip. Este es un controlador económico y tampoco escasea.

Los sensores digitales se utilizan para medir la temperatura. DS18B20 o DS18S20 de Máxima. Estos sensores son económicos, de tamaño pequeño y la información sobre la temperatura medida se transmite digitalmente. Esta solución le permite no preocuparse por la sección de los cables, su longitud, etc. Sensores DS18B20,DS18S20 capaz de funcionar en el rango de temperatura de -55… +125 °C.

La temperatura se muestra en un indicador LED de 7 segmentos y 3 dígitos con cátodo común (OK) o con (OA).

Para mostrar las temperaturas máximas y mínimas medidas en el indicador, necesita el botón SB1. Para resetear la memoria también necesitas el botón SB1

Con el botón SA1 puede cambiar rápidamente de sensor (calle, casa).

Se necesita un puente para cambiar el cable común del indicador LED. ¡IMPORTANTE! Si el indicador está bien, colocamos el bloqueador en la posición inferior de acuerdo con el diagrama y soldamos los transistores VT1-VT3 con conductividad p-n-p. Si el indicador LED es OA, movemos el bloqueador a la posición superior de acuerdo con el diagrama y soldamos los transistores VT1-VT3 con conductividad n-p-n.

En la Tabla 1 puedes ver la lista completa de piezas y su posible sustitución por una analógica.

Tabla 1 – Lista de piezas para el montaje del termómetro
Designación de posición Nombre Analógico/reemplazo
C1, C2 Condensador cerámico - 0,1 μFx50V -
C3 Condensador electrolítico - 220μFx10V
DD1 Microcontrolador PIC16F628A PIC16F648A
DD2, DD3 Sensor de temperatura DS18B20 o DS18S20
GB1 Tres pilas AA de 1,5 V
HG1 Indicador LED de 7 segmentos KEM-5631-ASR (OK) Cualquier otro de bajo consumo para indicación dinámica y apto para conexión.
R1,R3,R14,R15 Resistencia 0,125W 5,1 Ohmios Tamaño SMD 0805
R2,R16 Resistencia 0,125W 5,1 kOhmios Tamaño SMD 0805
R4,R13 Resistencia 0,125W 4,7 kiloohmios Tamaño SMD 0805
R17-R19 Resistencia 0,125W 4,3 kiloohmios Tamaño SMD 0805
R5-R12 Resistencia 0,125W 330 Ohmios Tamaño SMD 0805
SA1 Cualquier interruptor adecuado
SB1 Botón táctil
VT1-VT3 Transistor BC556B para indicador con OK/transistor BC546B para indicador con OA KT3107/KT3102
XT1 Bloque de terminales para 3 contactos.

Para la depuración inicial del termómetro digital, se utilizó un modelo virtual construido en Proteus. En la Figura 2 puedes ver un modelo simplificado en Proteus.

Figura 2 – Modelo de termómetro en el microcontrolador PIC16F628A en Proteus

La Figura 3-4 muestra la placa de circuito del termómetro digital.

Figura 3: Placa de circuito impreso de un termómetro en un microcontrolador PIC16F628A (abajo) no a escala.

Figura 4: Placa de circuito impreso de un termómetro en un microcontrolador PIC16F628A (arriba) no a escala.

El termómetro, con las piezas de trabajo ensambladas, comienza a funcionar inmediatamente y no necesita depuración.

El resultado del trabajo son las Figuras 5-7.

Figura 5 - Aspecto del termómetro

Figura 6 - Aspecto del termómetro

Figura 7 - Aspecto del termómetro

¡IMPORTANTE! En el firmware del termómetro. no cosido La publicidad se puede utilizar para su placer.

Modificaciones realizadas al programa de trabajo:

1 detección automática del sensor DS18B20 o DS18S20;

2. El tiempo de reescritura en EEPROM se ha reducido (si se cumple la condición de reescritura) de 5 minutos a 1 minuto.

3. Se ha aumentado la frecuencia de parpadeo del punto;

Una descripción más detallada del funcionamiento del termómetro se puede encontrar en el documento, que se puede descargar al final de este artículo. Si no desea descargar, entonces en el sitio web. www.pichobbi.narod.ru El funcionamiento del dispositivo también está perfectamente descrito.

El tablero terminado encaja perfectamente en un despertador chino (Figuras 8, 9).

Figura 8 – Todo el relleno de un despertador chino

Figura 9 - Todo el relleno del despertador chino.

Video - Operación del termómetro en PIC16F628A

PIC16F676 Aplicación: estación de soldadura, control de procesos de alta temperatura, etc. con función de control PID del elemento calefactor

Decidí insertar un termómetro en mi laminadora, un termómetro termopar tipo K. Para hacerlo más informativo para mí, creo que un radioaficionado aficionado no puede contentarse cuando solo dos LED "POWER" y "READY" están encendidos en dicho dispositivo. Acomodo la bufanda para mis detalles. Por si acaso, con la posibilidad de cortarlo por la mitad (esto es algo de versatilidad). Inmediatamente con un lugar para la parte de potencia en el tiristor, pero por ahora no estoy usando esta parte, este será mi circuito para un soldador (cuando descubra cómo conectar un termopar a la punta)


No hay suficiente espacio en la laminadora (los mecanismos están ubicados muy apretados, ya sabes, en China), uso un pequeño indicador de siete segmentos, pero eso no es todo, tampoco cabe toda la placa, aquí es donde reside la versatilidad del tablero me viene muy bien, lo corté por la mitad (si usas un conector, en la parte superior caben muchos desarrollos sobre cositas de ur5kby.)


Lo configuro, primero hago lo que dicen en el foro, no soldo el termopar, pongo 400 (aunque si este parámetro está en la memoria, este elemento desaparecerá), pongo las variables aproximadamente a temperatura ambiente y exactamente al punto de ebullición,

En teoría, un controlador de este tipo funciona hasta 999°C, pero en casa es poco probable que se encuentre esa temperatura; como mucho, es un fuego abierto, pero esta fuente de calor tiene una fuerte no linealidad y sensibilidad a las condiciones externas.

Aquí hay una tabla de muestra.
y también para mayor claridad

Por lo tanto, hay pocas opciones a la hora de elegir una fuente para ajustar las lecturas del controlador.

Ya no se juega con los botones, todo se puede coleccionar,
Usé un termopar de un probador chino. Y un post en el foro me avisó que este termopar se puede multiplicar, su longitud es de casi medio metro, le corté 2 cm.

Hago un transformador girándolo con carbón, se obtiene una bola, y en los dos extremos es exactamente igual, a lo largo de un alambre de cobre, para una buena soldadura a mis cables.

Una serie de artículos sobre medición de temperatura con controladores Arduino estarían incompletas sin una historia sobre termopares. Además, no hay nada más con qué medir las altas temperaturas.

Termopares (convertidores termoeléctricos).

Todos los sensores de temperatura de lecciones anteriores permitieron medir la temperatura en un rango no mayor que – 55 ... + 150 °C. Para medir temperaturas más altas, los sensores más comunes son los termopares. Ellos:

  • tienen un rango de medición de temperatura extremadamente amplio -250 … +2500 °C;
  • se puede calibrar para una alta precisión de medición, hasta un error de no más de 0,01 °C;
  • suelen tener un precio bajo;
  • se consideran sensores de temperatura confiables.

La principal desventaja de los termopares es la necesidad de un medidor de precisión bastante complejo, que debe proporcionar:

  • medición de valores bajos de termo-EMF con un valor superior en el rango de decenas y, a veces, incluso unidades de mV;
  • compensación de termo-EMF de la unión fría;
  • Linealización de las características del termopar.

Principio de funcionamiento de los termopares.

El principio de funcionamiento de este tipo de sensores se basa en el efecto termoeléctrico (efecto Seebeck). Por lo tanto, otro nombre para un termopar es convertidor termoeléctrico.

En un circuito, se forma una diferencia de potencial entre metales diferentes conectados. Su valor depende de la temperatura. Por eso se llama termofem. Diferentes materiales tienen diferentes valores de fem térmica.

Si en un circuito las uniones (uniones) de conductores diferentes están conectadas en un anillo y tienen la misma temperatura, entonces la suma de la termo-EMF es igual a cero. Si las uniones de cables están a diferentes temperaturas, entonces la diferencia de potencial total entre ellos depende de la diferencia de temperatura. Como resultado, llegamos al diseño de un termopar.

Dos metales diferentes 1 y 2 forman en un punto una unión de trabajo. La junta de trabajo se coloca en el punto cuya temperatura debe medirse.

Las uniones frías son los puntos donde los metales de un termopar se conectan con otro metal, generalmente cobre. Estos pueden ser los bloques de terminales del instrumento de medición o los cables de comunicación de cobre al termopar. En cualquier caso, es necesario medir la temperatura de la unión fría y tenerla en cuenta en el cálculo de la temperatura medida.

Principales tipos de termopares.

Los termopares más utilizados son XK (chromel - copel) y XA (chromel - alumel).

Nombre Designación NSKh Materiales Rango de medición, °C Sensibilidad, µV/°C, (a temperatura, °C) Termo-EMF, mV, a 100 °C
THC (cromel-copel) l cromel, copel - 200 … + 800 64 (0) 6,86
TCA (cromel-alumel) k cromel, alumel - 270 … +1372 35 (0) 4,10
TPR (platino-rodio) B Platinorodio, platino 100 … 1820 8 (1000) 0, 03
TVR (tungsteno-renio) A Tungsteno-renio, tungsteno-renio 0 … 2500 14 (1300) 1,34

Cómo medir prácticamente la temperatura usando un termopar. Técnica de medición.

La característica estática nominal (NSC) del termopar se proporciona en forma de tabla con dos columnas: la temperatura de la unión de trabajo y la termofem. GOST R 8.585-2001 contiene el NSCH de termopares de diferentes tipos, especificados para cada grado. Se puede descargar en formato PDF desde este enlace.

Para medir la temperatura usando un termopar, siga estos pasos:

  • medir el termo-EMF del termopar (Etotal);
  • medir la temperatura de la unión fría (junta fría T);
  • Usando la tabla NSH de termopar, determine la termo-EMF de la unión fría usando la temperatura de la unión fría (junta fría E);
  • determine la termo-EMF de la unión de trabajo, es decir agregue la FEM de la unión fría a la FEM termo total (E unión de trabajo = E total + E unión fría);
  • Usando la tabla NSH, determine la temperatura de la unión de trabajo usando el termo-EMF de la unión de trabajo.

Aquí hay un ejemplo de cómo medí la temperatura de una punta de soldador usando un termopar TXA.

  • Toqué la unión de trabajo con la punta del soldador y medí el voltaje en los terminales del termopar. El resultado fue 10,6 mV.
  • Temperatura ambiente, es decir La temperatura de la unión fría es de aproximadamente 25 °C. La fuerza electromagnética de unión fría de la tabla GOST R 8.585-2001 para un termopar tipo K a 25 °C es de 1 mV.
  • La FEM térmica de la unión de trabajo es 10,6 + 1 = 11,6 mV.
  • La temperatura de la misma tabla para 11,6 mV es 285 °C. Este es el valor medido.

Necesitamos implementar esta secuencia de acciones en el programa del termómetro Arduino.

Termómetro Arduino para medir altas temperaturas mediante termopar tipo TXA.

Encontré un termopar TP-01A. Un termopar TCA típico y ampliamente utilizado de un probador. Esto es lo que usaré en el termómetro.

Los parámetros indicados en el embalaje son:

  • tipo K;
  • rango de medición – 60 … + 400 °C;
  • Precisión ±2,5% hasta 400°C.

El rango de medición se basa en cable de fibra de vidrio. Existe un termopar similar TP-02, pero con una sonda de 10 cm de largo.

El TP-02 tiene un límite de medición superior de 700 °C. Entonces, desarrollaremos un termómetro:

  • para termopar tipo TXA;
  • con rango de medición – 60 … + 700 °C.

Una vez que comprenda el programa y el diagrama del circuito del dispositivo, podrá crear un medidor para termopares de cualquier tipo con cualquier rango de medición.

El resto de funciones del termómetro son las mismas que las de los dispositivos de las tres lecciones anteriores, incluida la función de registrar cambios de temperatura.

Categoría: . Puedes marcarlo como favorito.