Tecnología de sensores de temperatura

Sensor de temperatura DS18B20 conectado a MCU

Introducción al conocimiento del sensor de temperatura DS18B20
DS18B20 es un sensor de temperatura digital de uso común. Emite señales digitales., Tiene las características de tamaño pequeño., baja sobrecarga de hardware, fuerte capacidad antiinterferencia, alta precisión, y es ampliamente utilizado.

La sonda de temperatura digital DS18B20 proporciona 9 a 12 poco

La sonda de temperatura digital DS18B20 proporciona 9 a 12 poco

Sonda de sensor impermeable DS18B20

Sonda de sensor impermeable DS18B20

Sensor DS18B20 impermeable IP68 sobremoldeado TPE

Sensor DS18B20 impermeable IP68 sobremoldeado TPE

Introducción al sensor de temperatura DS18B20
Características técnicas:
①. Modo de interfaz de alambre único único. Cuando DS18B20 está conectado a un microprocesador, solo 1 Se necesita un cable para realizar una comunicación bidireccional entre el microprocesador y DS18B20..
②. Rango de medición de temperatura -55 ℃~+125 ℃, error de medición de temperatura inherente 1 ℃.
③. Admitir la función de redes múltiples. Múltiples DS18B20 se pueden conectar en paralelo en los únicos tres cables, y un máximo de 8 se puede conectar en paralelo para realizar una medición de temperatura múltiple. Si el número es demasiado grande, El voltaje de la fuente de alimentación será demasiado bajo, dando como resultado una transmisión de señal inestable.
④. Fuente de alimentación: 3.0~ 5.5V/DC (La fuente de alimentación parasitaria de la línea de datos se puede usar).
⑤. No se requieren componentes periféricos durante el uso.
⑥. Los resultados de la medición se transmiten en serie en formato digital de 9 a 12 bits..
⑦. El diámetro del tubo protector de acero inoxidable es φ6.
⑧. Es adecuado para medir la temperatura de varias tuberías industriales medianas de DN15~25., DN40~DN250 y equipos en espacios estrechos.
⑨. Roscas de instalación estándar M10X1, M12x1.5, G1/2” son opcionales.
⑩. El cable de PVC está conectado directamente o la caja de conexiones tipo bola alemana está conectada, lo cual es conveniente para la conexión con otros equipos eléctricos.

Principio de medición de temperatura y temporización de lectura y escritura DS18B20:
El principio de medición de temperatura DS18B20 se muestra en la Figura 1. La frecuencia de oscilación del oscilador de cristal de bajo coeficiente de temperatura en la figura se ve poco afectada por la temperatura., y se utiliza para generar una señal de pulso de frecuencia fija que se enviará al contador 1. La frecuencia de oscilación del oscilador de cristal con coeficiente de alta temperatura cambia significativamente con la temperatura., y la señal generada se usa como la entrada de pulso del contador 2. Encimera 1 y el registro de temperatura están preestablecidos en un valor base correspondiente a -55 ℃. Encimera 1 resta la señal de pulso generada por el oscilador de cristal de bajo coeficiente de temperatura. Cuando el valor preestablecido del contador 1 se reduce a 0, El valor del registro de temperatura se incrementará en 1, y el preajuste del contador 1 será recargado. Encimera 1 se reinicia para contar la señal de pulso generada por el oscilador de cristal de bajo coeficiente de temperatura, y el ciclo continúa hasta que el contador 2 cuenta a 0, detener la acumulación del valor del registro de temperatura. En este momento, El valor en el registro de temperatura es la temperatura medida. El acumulador de pendiente se utiliza para compensar y corregir la no linealidad en el proceso de medición de temperatura, y su salida se usa para corregir el valor preestablecido del contador 1.

Cifra 1 es el siguiente:

Diagrama del circuito de conexión de DS18B20 y MCU

Diagrama del circuito de conexión de DS18B20 y MCU

2. Diagrama de conexión de DS18B20 y MCU

Definición de parámetros de pin DS18B20

Definición de parámetros de pin DS18B20

3. Definición de pines DS18B20:

Dq: Entrada/salida de datos. Interfaz de 1 cable de drenaje abierto. También puede proporcionar energía al dispositivo cuando se usa en modo de energía parásita VDD.: fuente de alimentación positiva GND: tierra eléctrica 4. Introducción al análisis interno DS18B20:

Análisis e introducción de la estructura interna DS18B20.

Análisis e introducción de la estructura interna DS18B20.

La figura anterior muestra el diagrama de bloques de DS18B20., y la ROM de 64 bits almacena el código de serie único del dispositivo. La memoria intermedia contiene 2 bytes de registros de temperatura que almacenan la salida digital del sensor de temperatura. Además, La memoria intermedia proporciona acceso a registros de activación de alarma superiores e inferiores de 1 byte. (TH y TL) y registros de configuración de 1 byte. El registro de configuración permite al usuario configurar la resolución de la temperatura para la conversión digital a 9, 10, 11, o 12 brocas. Th, TL, y los registros de configuración no son volátiles (EEPROM), para que retengan los datos cuando el dispositivo esté apagado. DS18B20 utiliza el protocolo de bus de 1 cable exclusivo de Maxim, que utiliza una señal de control. La línea de control requiere una resistencia pull-up débil porque todos los dispositivos están conectados al bus a través de un puerto de drenaje abierto o de 3 estados. (Pin DQ en el caso del DS18B20). En este sistema de bus el microprocesador (maestro) utiliza un código único de 64 bits para cada dispositivo. Porque cada dispositivo tiene un código único, el número de dispositivos que se pueden direccionar en un bus es prácticamente ilimitado.

Formato de registro de temperatura

Diagrama de formato del registro de temperatura DS18B20

Diagrama de formato del registro de temperatura DS18B20

Relación temperatura/datos

DS18B20 Relación temperatura-datos

DS18B20 Relación temperatura-datos

Señal de alarma de operación

Después de que el DS18B20 realice una conversión de temperatura, Compara el valor de temperatura con el valor de activación de alarma en complemento a dos definido por el usuario almacenado en los registros TH y TL de 1 byte.. El bit de signo indica si el valor es positivo o negativo.: positivo S=0, negativo S=1. Los registros TH y TL no son volátiles. (EEPROM) y por lo tanto no son volátiles cuando el dispositivo está apagado. Se puede acceder a TH y TL a través de bytes 2 y 3 de la memoria.
Formato de registro TH y TL:

Registros de configuración DS18B20

Registros de configuración DS18B20

Diagrama esquemático de alimentación del DS18B20 mediante una fuente de alimentación externa

Diagrama esquemático del uso de una fuente de alimentación externa para alimentar DS18B20

Diagrama esquemático del uso de una fuente de alimentación externa para alimentar DS18B20

64-código de memoria de sólo lectura con láser de bits:

Código de memoria láser de sólo lectura DS18B20 de 64 bits

Código de memoria láser de sólo lectura DS18B20 de 64 bits

Cada DS18B20 contiene un código único de 64 bits almacenado en la ROM. el menos significativo 8 Los bits del código ROM contienen el código de familia de un solo cable del DS18B20.: 28h. El próximo 48 Los bits contienen un número de serie único.. lo mas significativo 8 Los bits contienen una verificación de redundancia cíclica. (CDN) byte, que se calcula a partir de la primera 56 bits del código ROM.

Mapa de memoria DS18B20

Mapa de memoria DS18B20

Mapa de memoria DS18B20

Registro de configuración:

Cifra 2

Registros de configuración DS18B20

Registros de configuración DS18B20

Byte 4 de la memoria contiene el registro de configuración, que está organizado como se muestra en la Figura 2. El usuario puede configurar la resolución de conversión del DS18B20 usando los bits R0 y R1 aquí como se muestra en la Tabla 2. Los valores predeterminados de encendido para estos bits son R0 = 1 y R1 = 1 (12-resolución de bits). Tenga en cuenta que existe una relación directa entre la resolución y el tiempo de conversión.. Poco 7 y bits 0 a 4 en el registro de configuración están reservados para uso interno del dispositivo y no se pueden sobrescribir.

Mesa 2 Configuración de resolución del termómetro

Configuración de resolución del termómetro DS18B20

Configuración de resolución del termómetro DS18B20

Generación CRC

El byte CRC es parte del código ROM DS18B20 de 64 bits y se proporciona en el noveno byte del bloc de notas.. El código ROM CRC se calcula a partir del primer 56 bits del código ROM y está contenido en el byte más significativo de la ROM. El CRC del scratchpad se calcula en función de los datos almacenados en el scratchpad, por lo que cambia cuando cambian los datos en el scratchpad. El CRC proporciona al host del bus un método de verificación de datos al leer datos del DS18B20.. Después de comprobar que los datos se han leído correctamente, el bus maestro debe recalcular el CRC a partir de los datos recibidos y luego comparar ese valor con el código ROM CRC (para lecturas de ROM) o el scratchpad CRC (para lecturas del bloc de notas). Si el CRC calculado coincide con el CRC leído, los datos se han recibido correctamente. La decisión de comparar los valores CRC y proceder queda totalmente a discreción del jefe del autobús.. No hay ningún circuito dentro del DS18B20 que impida la ejecución de una secuencia de comando si:
El CRC DS18B20 (ROM o scratchpad) no coincide con el valor generado por el bus maestro.
La función polinómica equivalente para el CRC es:
CRC = X8 + X5 + X4 + 1
El bus maestro puede recalcular el CRC y compararlo con el valor CRC del DS18B20:
El generador de polinomios se muestra en la figura. 3. El circuito incluye un registro de desplazamiento y puertas yihuo., y los bits del registro de desplazamiento se inicializan a 0. El bit menos significativo del código ROM o el bit menos significativo del byte 0 en el scratchpad deben moverse al registro de desplazamiento uno a la vez. Después de cambiar un poco 56 desde la ROM o el bit de byte más significativo 7 desde el bloc de notas, el generador de polinomios contendrá el CRC recalculado. Próximo, el código ROM de 8 bits o la señal CRC en el scratchpad DS18B20 deben transferirse al circuito. En este punto, si el CRC recalculado es correcto, el registro de desplazamiento será todo 0.

Cifra 3: Generador CRC

Diagrama de proceso del generador DS18B20 CRC

Diagrama de proceso del generador DS18B20 CRC

V. Accediendo al DS18B20:
La secuencia para acceder al DS18B20 es la siguiente:
Paso 1. Inicialización;

Paso 2. comando ROM (seguido de cualquier intercambio de datos necesario);

Paso 3. Comando de función DS18B20 (seguido de cualquier intercambio de datos necesario);

Nota: Esta secuencia se sigue cada vez que se accede al DS18B20., porque el DS18B20 no responderá si falta algún paso en la secuencia o está fuera de servicio. La excepción a esta regla es la ROM de búsqueda. [F0h] y búsqueda de alarmas [ech] comandos. Después de emitir estos dos comandos ROM, el anfitrión debe volver al paso 1 en secuencia.
(La introducción anterior está traducida del manual oficial.)

Comando ROM
1, Leer rom [33h]
2, ROM de partido [55h]
3, Buque [CCh]
4, Búsqueda de alarmas [ech]

Comando de función DS18B20
1, Convertir temperatura [44h]
2, Escribir bloc de notas (Memoria) [4Eh]
3, Leer bloc de notas (Memoria) [BEh]
4, Copiar bloc de notas (Memoria [48h]
5, Volver a despertar E2 [B8h]
6, Leer poder [B4h]

(Para una descripción detallada de los comandos anteriores, ver el manual oficial)

VI. Acceda a la sincronización DS18B20
Durante el proceso de inicialización, el bus maestro envía un impulso de reinicio (Texas) nivel bajo durante al menos 480 µs tirando del bus de 1 cable. Entonces, El maestro del bus libera el bus y entra en el modo de recepción. (RX). Después de soltar el autobús, la resistencia pull-up de 5 kΩ eleva el bus de 1 cable. Cuando el DS18B20 detecta este flanco ascendente, espera de 15 µs a 60 µs y luego envía un pulso de presencia bajando el bus de 1 cable durante 60 µs a 240 µs.

Tiempo de inicialización:

Hay dos tipos de franjas horarias de escritura.: “Escribe 1” franjas horarias y “Escribe 0” franjas horarias. El bus utiliza una escritura. 1 intervalo de tiempo para escribir una lógica 1 al DS18B20 y un Write 0 intervalo de tiempo para escribir una lógica 0 al DS18B20. Todos los intervalos de tiempo de escritura deben tener una duración mínima de 60 µs con un tiempo de recuperación de al menos 1 µs entre intervalos de tiempo de escritura individuales. Ambos tipos de intervalos de tiempo de escritura son iniciados cuando el maestro baja el bus 1-Wire. (ver figura 14). Para generar una escritura 1 franja horaria, después de bajar el bus 1-Wire, El bus maestro debe liberar el bus 1-Wire en un plazo de 15 µs.. Después de soltar el autobús, la resistencia pull-up de 5kΩ eleva el bus. Generar un
Escribir 0 franja horaria, después de bajar la línea de 1 cable, El maestro del bus debe continuar manteniendo el bus bajo durante la duración del intervalo de tiempo. (al menos 60 µs). El DS18B20 muestrea el bus 1-Wire dentro de una ventana de 15 µs a 60 µs después de que el maestro inicia el intervalo de tiempo de escritura.. Si el bus está alto durante la ventana de muestreo, a 1 está escrito en el DS18B20. Si la línea es baja, a 0 está escrito en el DS18B20.
Nota: El intervalo de tiempo es una parte de la automultiplexación en serie de la información del intervalo de tiempo dedicada a un solo canal..
Cifra 14 es el siguiente:

El host controla los intervalos de tiempo de escritura DS18B20 para llevar el bus 1-Wire al nivel bajo

El host controla los intervalos de tiempo de escritura DS18B20 para llevar el bus 1-Wire al nivel bajo

Leer franja horaria:
El DS18B20 solo puede enviar datos al host cuando el host emite un intervalo de tiempo de lectura. Por lo tanto, el host debe generar un intervalo de tiempo de lectura inmediatamente después de emitir un comando de lectura de memoria [BEh] o una fuente de alimentación de lectura [B4h] comando para que el DS18B20 proporcione los datos requeridos. Alternativamente, el host puede generar un intervalo de tiempo de lectura después de emitir un Convert T [44h] o recordar E2 [B8h] comando para conocer el estado. Todos los intervalos de tiempo de lectura deben tener una duración mínima de 60 µs con un tiempo de recuperación mínimo de 1 µs entre intervalos de tiempo. El maestro inicia un intervalo de tiempo de lectura bajando el bus 1-Wire para mantenerlo bajo durante al menos 1 µs y luego liberando el bus. (ver figura 14). Después de que el maestro inicia un intervalo de tiempo de lectura, el DS18B20 comenzará a enviar 1 o 0 en el bus. El DS18B20 envía un 1 sosteniendo el autobús en alto y envía un 0 bajando el autobús. cuando un 0 se envía, el DS18B20 libera el bus manteniéndolo en alto. El intervalo de tiempo finaliza y la resistencia pull-up devuelve el bus al estado inactivo alto..

Lectura detallada del host DS18B20 1 Franja horaria

Lectura detallada del host DS18B20 1 Franja horaria

DS18B20 Lectura de host recomendada 1 franja horaria

DS18B20 Lectura de host recomendada 1 franja horaria