Tecnologia del sensor de temperatura

Sensor de temperatura DS18B20 connectat a MCU

Introducció al coneixement del sensor de temperatura DS18B20
DS18B20 és un sensor de temperatura digital d'ús comú. Emet senyals digitals, té les característiques de mida petita, Despestament de maquinari baix, forta capacitat anti-interferència, alta precisió, i és molt utilitzat.

La sonda de temperatura digital DS18B20 proporciona 9 a 12 bit

La sonda de temperatura digital DS18B20 proporciona 9 a 12 bit

Sonda de sensor impermeable DS18B20

Sonda de sensor impermeable DS18B20

Sensor de sobreemmotllament TPE IP68 impermeable DS18B20

Sensor de sobreemmotllament TPE IP68 impermeable DS18B20

Introducció al sensor de temperatura DS18B20
Característiques tècniques:
①. Mode d'interfície únic d'un sol cable. Quan el DS18B20 està connectat a un microprocessador, només 1 Es necessita un cable per realitzar una comunicació bidireccional entre el microprocessador i el DS18B20.
②. Interval de mesura de temperatura -55 ℃ ~ + 125 ℃, error inherent de mesura de temperatura 1 ℃.
③. Admet la funció de xarxa multipunt. Es poden connectar diversos DS18B20 en paral·lel als tres únics cables, i un màxim de 8 es pot connectar en paral·lel per realitzar una mesura de temperatura multipunt. Si el nombre és massa gran, la tensió d'alimentació serà massa baixa, resultant en una transmissió del senyal inestable.
④. Font d'alimentació en funcionament: 3.0~5,5 V/CC (Es pot utilitzar una font d'alimentació paràsit de la línia de dades).
⑤. No calen components perifèrics durant l'ús.
⑥. Els resultats de la mesura es transmeten en sèrie en forma digital de 9 ~ 12 bits.
⑦. El diàmetre del tub protector d'acer inoxidable és Φ6.
⑧. És adequat per a la mesura de la temperatura de diverses canonades industrials mitjanes de DN15 ~ 25, DN40~DN250 i equips en espais estrets.
⑨. Rosca d'instal·lació estàndard M10X1, M12X1,5, G1/2” són opcionals.
⑩. El cable de PVC està connectat directament o la caixa de connexió de tipus bola alemanya està connectada, que és convenient per a la connexió amb altres equips elèctrics.

DS18B20 lectura i escriptura de temps i principi de mesura de temperatura:
El principi de mesura de la temperatura DS18B20 es mostra a la figura 1. La freqüència d'oscil·lació de l'oscil·lador de cristall de coeficient de baixa temperatura de la figura es veu poc afectada per la temperatura, i s'utilitza per generar un senyal de pols de freqüència fixa que s'envia al comptador 1. La freqüència d'oscil·lació de l'oscil·lador de cristall d'alt coeficient de temperatura canvia significativament amb la temperatura, i el senyal generat s'utilitza com a entrada de pols del comptador 2. Mostrador 1 i el registre de temperatura estan preestablerts a un valor base corresponent a -55 ℃. Mostrador 1 resta el senyal de pols generat per l'oscil·lador de cristall de coeficient de baixa temperatura. Quan el valor preestablert del comptador 1 es redueix a 0, El valor del registre de temperatura s’incrementarà 1, i el preajust de comptador 1 es tornarà a carregar. Mostrador 1 es reinicia per comptar el senyal de pols generat per l'oscil·lador de cristall de coeficient de baixa temperatura, i el cicle continua fins al comptador 2 compta a 0, aturant l'acumulació del valor del registre de temperatura. En aquest moment, El valor del registre de temperatura és la temperatura mesurada. L'acumulador de pendent s'utilitza per compensar i corregir la no linealitat en el procés de mesura de temperatura, i la seva sortida s'utilitza per corregir el valor preestablert del comptador 1.

Figura 1 és el següent:

Esquema del circuit de connexió DS18B20 i MCU

Esquema del circuit de connexió DS18B20 i MCU

2. Diagrama de connexió DS18B20 i MCU

Definició del paràmetre del pin DS18B20

Definició del paràmetre del pin DS18B20

3. Definició de PIN DS18B20:

DQ: Entrada/sortida de dades. Obre la interfície d'1 cable de desguàs. També pot proporcionar energia al dispositiu quan s'utilitza en mode d'alimentació paràsit VDD: font d'alimentació positiva GND: terra d'alimentació 4. Introducció a l'anàlisi interna DS18B20:

Anàlisi i introducció de l'estructura interna DS18B20

Anàlisi i introducció de l'estructura interna DS18B20

La figura anterior mostra el diagrama de blocs de DS18B20, i la ROM de 64 bits emmagatzema el codi de sèrie únic del dispositiu. La memòria buffer conté 2 bytes de registres de temperatura que emmagatzemen la sortida digital del sensor de temperatura. A més, la memòria intermèdia proporciona accés als registres d'activació d'alarma superior i inferior d'1 byte (TH i TL) i registres de configuració d'1 byte. El registre de configuració permet a l'usuari configurar la resolució de la temperatura a la conversió digital 9, 10, 11, o 12 bites. TH, TL, i els registres de configuració no són volàtils (EEPROM), de manera que conservaran les dades quan el dispositiu estigui apagat. El DS18B20 utilitza l'únic protocol de bus d'1 cable de Maxim, que utilitza un senyal de control. La línia de control requereix una resistència d'extracció feble perquè tots els dispositius estan connectats al bus mitjançant un port de drenatge obert o de 3 estats. (Pin DQ en el cas del DS18B20). En aquest sistema de bus el microprocessador (mestre) utilitza un codi únic de 64 bits per a cada dispositiu. Perquè cada dispositiu té un codi únic, el nombre de dispositius que es poden adreçar en un bus és pràcticament il·limitat.

Format de registre de temperatura

Diagrama de format de registre de temperatura DS18B20

Diagrama de format de registre de temperatura DS18B20

Relació temperatura/dades

DS18B20 Relació temperatura-dades

DS18B20 Relació temperatura-dades

Senyal d'alarma de funcionament

Després que el DS18B20 realitzi una conversió de temperatura, compara el valor de temperatura amb el valor d'activació de l'alarma del complement a dos definit per l'usuari emmagatzemat als registres TH i TL d'1 byte. El bit de signe indica si el valor és positiu o negatiu: positiu S=0, negatiu S=1. Els registres TH i TL no són volàtils (EEPROM) i per tant no són volàtils quan el dispositiu està apagat. Es pot accedir a TH i TL mitjançant bytes 2 i 3 de la memòria.
Format de registre TH i TL:

Registres de configuració DS18B20

Registres de configuració DS18B20

Diagrama esquemàtic de l'alimentació del DS18B20 mitjançant una font d'alimentació externa

Diagrama esquemàtic de l'ús d'una font d'alimentació externa per alimentar DS18B20

Diagrama esquemàtic de l'ús d'una font d'alimentació externa per alimentar DS18B20

64-codi de memòria de només lectura làser de bits:

Codi de memòria de només lectura làser de 64 bits DS18B20

Codi de memòria de només lectura làser de 64 bits DS18B20

Cada DS18B20 conté un codi únic de 64 bits emmagatzemat a la ROM. El menys significatiu 8 els bits del codi ROM contenen el codi familiar d'un sol cable del DS18B20: 28h. El següent 48 els bits contenen un número de sèrie únic. El més significatiu 8 els bits contenen una comprovació de redundància cíclica (CRC) byte, que es calcula a partir de la primera 56 bits del codi ROM.

Mapa de memòria DS18B20

Mapa de memòria DS18B20

Mapa de memòria DS18B20

Registre de configuració:

Figura 2

Registres de configuració DS18B20

Registres de configuració DS18B20

Byte 4 de la memòria conté el registre de configuració, que s'organitza com es mostra a la figura 2. L'usuari pot configurar la resolució de conversió del DS18B20 mitjançant els bits R0 i R1 aquí, tal com es mostra a la taula 2. Els valors per defecte d'encesa per a aquests bits són R0 = 1 i R1 = 1 (12-resolució de bits). Tingueu en compte que hi ha una relació directa entre la resolució i el temps de conversió. Bit 7 i bits 0 a 4 al registre de configuració estan reservats per a ús intern del dispositiu i no es poden sobreescriure.

Taula 2 Configuració de la resolució del termòmetre

Configuració de la resolució del termòmetre DS18B20

Configuració de la resolució del termòmetre DS18B20

Generació CRC

El byte CRC forma part del codi ROM de 64 bits DS18B20 i es proporciona al 9è byte del bloc de notes.. El codi ROM CRC es calcula a partir del primer 56 bits del codi ROM i està contingut en el byte més significatiu de la ROM. El CRC del bloc de notes es calcula a partir de les dades emmagatzemades al bloc de notes, de manera que canvia quan canvien les dades del bloc de notes. El CRC proporciona a l'amfitrió del bus un mètode de verificació de dades quan llegeix dades del DS18B20. Després de comprovar que les dades s'han llegit correctament, el mestre de bus ha de tornar a calcular el CRC a partir de les dades rebudes i després comparar aquest valor amb el codi ROM CRC (per a lectures de ROM) o el bloc de notes CRC (per a lectures del bloc de notes). Si el CRC calculat coincideix amb el CRC llegit, les dades s'han rebut correctament. La decisió de comparar els valors de CRC i procedir és totalment a criteri del director de l'autobús. No hi ha cap circuit dins del DS18B20 que impedirà l'execució d'una seqüència d'ordres si:
El DS18B20 CRC (ROM o bloc de notes) no coincideix amb el valor generat pel bus mestre.
La funció polinomi equivalent per al CRC és:
CRC = X8 + X5 + X4 + 1
El mestre de bus pot tornar a calcular el CRC i comparar-lo amb el valor CRC del DS18B20 mitjançant:
El generador de polinomis es mostra a la figura 3. El circuit inclou un registre de desplaçament i portes yihuo, i els bits del registre de desplaçament s'inicien a 0. El bit menys significatiu del codi ROM o el bit menys significatiu del byte 0 al bloc de notes s'hauria de desplaçar al registre de canvis d'un en un. Després de canviar de bit 56 de la ROM o el bit més significatiu de byte 7 des del bloc de notes, el generador de polinomis contindrà el CRC recalculat. A continuació, el codi ROM de 8 bits o el senyal CRC del bloc de notes DS18B20 s'ha de desplaçar al circuit. En aquest punt, si el CRC recalculat és correcte, el registre de desplaçament serà tots 0s.

Figura 3: Generador CRC

Diagrama de procés del generador CRC DS18B20

Diagrama de procés del generador CRC DS18B20

V. Accedint al DS18B20:
La seqüència per accedir al DS18B20 és la següent:
Pas 1. Inicialització;

Pas 2. Comandament ROM (seguit de qualsevol intercanvi de dades necessari);

Pas 3. Ordre de funció DS18B20 (seguit de qualsevol intercanvi de dades necessari);

Nota: Aquesta seqüència es segueix cada vegada que s'accedeix al DS18B20, perquè el DS18B20 no respondrà si falta algun pas de la seqüència o està fora d'ordre. L'excepció a aquesta regla és la ROM de cerca [F0h] i cerca d'alarmes [Ech] ordres. Després d'emetre aquestes dues ordres ROM, l'amfitrió ha de tornar al pas 1 en seqüència.
(La introducció anterior està traduïda del manual oficial)

Comandament ROM
1, Llegir ROM [33h]
2, Coincideix amb ROM [55h]
3, Omet la ROM [CCh]
4, Cerca d'alarma [Ech]

Comandament de funció DS18B20
1, Converteix la temperatura [44h]
2, Escriu Scratchpad (Memòria) [4Eh]
3, Llegir Scratchpad (Memòria) [BEh]
4, Copia Scratchpad (Memòria [48h]
5, Torna a despertar E2 [B8h]
6, Llegeix Power [B4h]

(Per obtenir una descripció detallada de les ordres anteriors, consulteu el manual oficial)

VI. Accés DS18B20 Cronometratge
Durant el procés d'inicialització, el mestre de bus envia un pols de reinici (TX) nivell baix durant almenys 480 µs estirant el bus 1-Wire. Aleshores, el mestre de bus deixa anar l'autobús i entra en el mode de recepció (RX). Després d'alliberar l'autobús, la resistència pull-up de 5kΩ fa que el bus d'1 fil sigui alt. Quan el DS18B20 detecta aquest front ascendent, espera de 15 µs a 60 µs i després envia un pols de presència fent baixar el bus d'1 fil durant 60 µs a 240 µs.

Temps d'inicialització:

Hi ha dos tipus de franges horàries d'escriptura: “Escriu 1” franges horàries i “Escriu 0” franges horàries. L'autobús utilitza un Write 1 franja horària per escriure una lògica 1 al DS18B20 i un Write 0 franja horària per escriure una lògica 0 al DS18B20. Tots els intervals de temps d'escriptura han de tenir una durada mínima de 60 µs amb un temps de recuperació d'almenys 1 µs entre els intervals de temps d'escriptura individuals.. Ambdós tipus de franges de temps d'escriptura s'inicien pel mestre que fa baixar el bus d'1 fil (vegeu la figura 14). Per generar una escriptura 1 franja horària, després de baixar el bus 1-Wire, el bus mestre ha d'alliberar el bus 1-Wire en 15µs. Després d'alliberar l'autobús, la resistència pull-up de 5kΩ fa que el bus sigui alt. Genera a
Escriu 0 franja horària, després de baixar la línia d'1 cable, el mestre de l'autobús ha de continuar mantenint l'autobús baix durant la durada de la franja horària (almenys 60 µs). El DS18B20 mostra el bus d'1 cable dins d'una finestra de 15 µs a 60 µs després que el mestre iniciï la franja de temps d'escriptura. Si l'autobús està alt durant la finestra de mostreig, a 1 està escrit al DS18B20. Si la línia és baixa, a 0 està escrit al DS18B20.
Nota: La franja horària és una part de l'automultiplexació en sèrie de la informació de la franja horària dedicada a un sol canal.
Figura 14 és el següent:

Les franges de temps d'escriptura DS18B20 són impulsades per l'amfitrió per tirar el bus d'1 fil a un nivell baix

Les franges de temps d'escriptura DS18B20 són impulsades per l'amfitrió per tirar el bus d'1 fil a un nivell baix

Llegir franja horària:
El DS18B20 només pot enviar dades a l'amfitrió quan aquest emet un interval de temps de lectura. Per tant, l'amfitrió ha de generar un interval de temps de lectura immediatament després d'emetre una comanda de lectura de memòria [BEh] o una font d'alimentació de lectura [B4h] comanda perquè el DS18B20 proporcioni les dades necessàries. Alternativament, l'amfitrió pot generar un interval de temps de lectura després d'emetre un Convert T [44h] o recordeu E2 [B8h] comanda per conèixer l'estat. Tots els intervals de temps de lectura han de tenir una durada mínima de 60 µs amb un temps de recuperació mínim d'1 s entre franges horàries.. S'inicia una franja de temps de lectura quan el mestre tira el bus d'1 cable baix per mantenir-lo baix durant almenys 1 µs i després allibera el bus (vegeu la figura 14). Després que el mestre iniciï un interval de temps de lectura, el DS18B20 començarà a enviar 1 o 0 a l'autobús. El DS18B20 envia un 1 mantenint l'autobús alt i envia a 0 fent baixar l'autobús. Quan a 0 s'envia, el DS18B20 allibera l'autobús mantenint-lo alt. La franja horària s'acaba i el bus torna a l'estat d'inactivitat alta per la resistència d'extracció.

DS18B20 Lectura detallada de l'amfitrió 1 Franja horària

DS18B20 Lectura detallada de l'amfitrió 1 Franja horària

DS18B20 Lectura de l'amfitrió recomanada 1 franja horària

DS18B20 Lectura de l'amfitrió recomanada 1 franja horària