Tecnologia de sensor de temperatura

Sensor de temperatura DS18B20 conectado ao MCU

Introdução ao sensor de temperatura DS18B20 Introdução
DS18B20 é um sensor de temperatura digital comumente usado. Ele produz sinais digitais, tem as características de tamanho pequeno, baixa sobrecarga de hardware, forte capacidade anti-interferência, alta precisão, e é amplamente utilizado.

DS18B20 A sonda de temperatura digital fornece 9 para 12 pedaço

DS18B20 A sonda de temperatura digital fornece 9 para 12 pedaço

Sonda de sensor DS18B20 à prova d'água

Sonda de sensor DS18B20 à prova d'água

TPE Overmolding IP68 Sensor DS18B20 à prova d'água

TPE Overmolding IP68 Sensor DS18B20 à prova d'água

Introdução ao sensor de temperatura DS18B20
Recursos técnicos:
①. Modo de interface exclusivo de fio único. Quando o ds18b20 está conectado a um microprocessador, apenas 1 É necessário o fio para realizar a comunicação bidirecional entre o microprocessador e o ds18b20.
②. Faixa de medição de temperatura -55 ℃~+125 ℃, Erro de medição de temperatura inerente 1 ℃.
③. Suporte a função de rede de vários pontos. Múltiplos ds18b20 podem ser conectados em paralelo nos únicos três fios, e um máximo de 8 pode ser conectado em paralelo para realizar a medição de temperatura de vários pontos. Se o número for muito grande, A tensão da fonte de alimentação será muito baixa, resultando em transmissão de sinal instável.
④. Fonte de energia de trabalho: 3.0~ 5.5V/DC (A fonte de alimentação parasitária da linha de dados pode ser usada).
⑤. Não são necessários componentes periféricos durante o uso.
⑥. Os resultados da medição são transmitidos em série em forma digital de 9 ~ 12 bits.
⑦. O diâmetro do tubo de proteção de aço inoxidável é φ6.
⑧. É adequado para medição de temperatura de vários pipelines industriais médios de DN15 ~ 25, DN40 ~ DN250 e equipamentos em espaços estreitos.
⑨. Trevas de instalação padrão m10x1, M12X1.5, G1/2 ”são opcionais.
⑩. O cabo de PVC está diretamente conectado ou a caixa de junção do tipo bola alemã está conectada, o que é conveniente para conexão com outros equipamentos elétricos.

DS18B20 LEIA E ESCREVA O PRINCÍPIO DE MEDIÇÃO DO TEMPERAÇÃO:
Princípio de medição de temperatura DS18B20 é mostrado na figura 1. A frequência de oscilação do oscilador de cristal do coeficiente de baixa temperatura na figura é pouco afetado pela temperatura, e é usado para gerar um sinal de pulso de frequência fixo a ser enviado para contrariar 1. A frequência de oscilação do oscilador de cristal do coeficiente de alta temperatura muda significativamente com a temperatura, e o sinal gerado é usado como a entrada de pulso do contador 2. Contador 1 e o registro de temperatura é predefinido a um valor base correspondente a -55 ℃. Contador 1 subtrai o sinal de pulso gerado pelo oscilador de cristal de coeficiente de baixa temperatura. Quando o valor predefinido do contador 1 é reduzido para 0, O valor do registro de temperatura será aumentado por 1, e a predefinição do contador 1 será recarregado. Contador 1 reinicia para contar o sinal de pulso gerado pelo oscilador de cristal do coeficiente de baixa temperatura, e o ciclo continua até o balcão 2 conta para 0, interromper o acúmulo do valor do registro de temperatura. Neste momento, O valor no registro de temperatura é a temperatura medida. O acumulador de inclinação é usado para compensar e corrigir a não linearidade no processo de medição de temperatura, e sua saída é usada para corrigir o valor predefinido do contador 1.

Figura 1 é o seguinte:

Diagrama de circuito de conexão DS18B20 e MCU

Diagrama de circuito de conexão DS18B20 e MCU

2. Diagrama de conexão DS18B20 e MCU

Definição do parâmetro de pino DS18B20

Definição do parâmetro de pino DS18B20

3. Definição do pino DS18B20:

DQ: Entrada de dados/saída. Interface de 1 fio de dreno aberto. Também pode fornecer energia ao dispositivo quando usado no modo de energia parasita VDD: fonte de alimentação positiva GND: energia de energia 4. DS18B20 ANÁLISE INTRODUÇÃO:

Análise e introdução da estrutura interna DS18B20

Análise e introdução da estrutura interna DS18B20

A figura acima mostra o diagrama de blocos do ds18b20, e a ROM de 64 bits armazena o código serial exclusivo do dispositivo. A memória do buffer contém 2 bytes de registros de temperatura que armazenam a saída digital do sensor de temperatura. Além disso, A memória do buffer fornece acesso a registros de gatilho de alarmes superiores e inferiores de 1 bytes (Th e tl) e registros de configuração de 1 bytes. O registro de configuração permite ao usuário definir a resolução da temperatura para a conversão digital para 9, 10, 11, ou 12 bits. Th, Tl, e registros de configuração não são voláteis (EEPROM), Então eles reterão dados quando o dispositivo for desligado. O DS18B20 usa o protocolo de barramento de 1 fio único da Maxim, que usa um sinal de controle. A linha de controle requer um resistor de pull-up fraco, porque todos os dispositivos estão conectados ao barramento através de uma porta de 3 estados ou de drenagem aberta (Pino DQ no caso do DS18b20). Neste sistema de ônibus, o microprocessador (mestre) usa um código exclusivo de 64 bits para cada dispositivo. Porque cada dispositivo tem um código único, O número de dispositivos que podem ser abordados em um ônibus é praticamente ilimitado.

Formato de registro de temperatura

Diagrama de formato de registro de temperatura DS18B20

Diagrama de formato de registro de temperatura DS18B20

Relacionamento de temperatura/dados

Relacionamento DS18B20 Data de temperatura

Relacionamento DS18B20 Data de temperatura

Sinal de alarme de operação

Após o DS18B20, executa uma conversão de temperatura, Ele compara o valor da temperatura ao valor do disparador de complemento definido pelo usuário, armazenado nos registros de 1 byte th e tl. O bit de sinal indica se o valor é positivo ou negativo: POSIVO S = 0, negativo s = 1. Os registros TH e TL não são voláteis (EEPROM) e, portanto, não são voláteis quando o dispositivo é desligado. TH e TL podem ser acessados ​​através de bytes 2 e 3 da memória.
Formato de registro TH e TL:

Registros de configuração DS18B20

Registros de configuração DS18B20

Diagrama esquemático de alimentar o DS18b20 usando uma fonte de alimentação externa

Diagrama esquemático do uso da fonte de alimentação externa para alimentação DS18B20

Diagrama esquemático do uso da fonte de alimentação externa para alimentação DS18B20

64-Bit Código de memória somente leitura a laser:

DS18B20 Código de memória somente leitura a laser de 64 bits

DS18B20 Código de memória somente leitura a laser de 64 bits

Cada DS18B20 contém um código exclusivo de 64 bits armazenado em ROM. O menos significativo 8 Os bits do código ROM contêm o código familiar único do DS18B20: 28h. O próximo 48 Bits contêm um número de série único. O mais significativo 8 Bits contêm uma verificação de redundância cíclica (CRC) byte, que é calculado a partir do primeiro 56 bits do código ROM.

Mapa de memória ds18b20

Mapa de memória ds18b20

Mapa de memória ds18b20

Registro de configuração:

Figura 2

Registros de configuração DS18B20

Registros de configuração DS18B20

Byte 4 da memória contém o registro de configuração, que é organizado como mostrado na figura 2. O usuário pode definir a resolução de conversão do DS18B20 usando bits R0 e R1 aqui, como mostrado na tabela 2. Os padrões de energia para esses bits são r0 = 1 e r1 = 1 (12-resolução de bits). Observe que há uma relação direta entre resolução e tempo de conversão. Pedaço 7 e bits 0 para 4 No registro de configuração, são reservados para uso interno do dispositivo e não podem ser substituídos.

Mesa 2 Configuração da resolução do termômetro

Configuração de resolução do termômetro DS18B20

Configuração de resolução do termômetro DS18B20

Geração CRC

O CRC Byte faz parte do código ROM DS18B20 de 64 bits e é fornecido no 9º byte do ScratchPad. O código ROM CRC é calculado a partir do primeiro 56 bits do código da ROM e está contido no byte mais significativo da ROM. O CRC do ScratchPad é calculado com base nos dados armazenados no ScratchPad, Portanto, muda quando os dados no scratchpad mudam. O CRC fornece ao host de ônibus um método de verificação de dados ao ler dados do DS18B20. Depois de verificar se os dados foram lidos corretamente, O mestre de ônibus deve recalcular o CRC dos dados recebidos e depois comparar esse valor com o código ROM CRC (para leituras de ROM) ou o scratchpad CRC (para leituras de scratchpad). Se o CRC calculado corresponder à leitura CRC, Os dados foram recebidos corretamente. A decisão de comparar os valores de CRC e prosseguir está inteiramente a critério do mestre de ônibus. Não há circuitos dentro do ds18b20 que impedirá a execução de uma sequência de comando se:
O DS18B20 CRC (Rom ou ScratchPad) não corresponde ao valor gerado pelo mestre de ônibus.
A função polinomial equivalente para o CRC é:
CRC = x8 + X5 + X4 + 1
O mestre de ônibus pode recalcular o CRC e compará -lo ao valor do CRC do DS18B20 por:
O gerador polinomial é mostrado na figura 3. O circuito inclui um registro de turno e portões Yihuo, e os bits do registro de turno são inicializados para 0. O bit menos significativo do código ROM ou o bit menos significativo de byte 0 no scratchpad deve ser transferido para o registro de turno um de cada vez. Depois de mudar de bit 56 da ROM ou a parte mais significativa do byte 7 do scratchpad, O gerador polinomial conterá o CRC recalculado. Próximo, O código ROM de 8 bits ou o sinal CRC no scratchpad ds18b20 deve ser transferido para o circuito. Neste ponto, Se o CRC recalculado estiver correto, O registro de turno será todos 0s.

Figura 3: Gerador CRC

Diagrama de processos do gerador CRC DS18B20 CRC

Diagrama de processos do gerador CRC DS18B20 CRC

V. Acessando o DS18B20:
A sequência para acessar o DS18B20 é a seguinte:
Etapa 1. Inicialização;

Etapa 2. ROM Comando (seguido de qualquer troca de dados necessária);

Etapa 3. DS18B20 Comando de função (seguido de qualquer troca de dados necessária);

Observação: Esta sequência é seguida toda vez que o DS18B20 é acessado, Porque o DS18b20 não responderá se alguma etapa na sequência estiver ausente ou fora de ordem. A exceção a esta regra é a ROM de pesquisa [F0h] e pesquisa de alarme [EU] comandos. Depois de emitir esses dois comandos de ROM, O host deve voltar à etapa 1 em sequência.
(A introdução acima é traduzida do manual oficial)

ROM Comando
1, Leia ROM [33h]
2, Combine rom [55h]
3, Sala de navios [Cch]
4, Pesquisa de alarme [EU]

DS18B20 Comando de função
1, Converter temperatura [44h]
2, Escreva ScratchPad (Memória) [4Eh]
3, Leia o ScratchPad (Memória) [Beh]
4, Copie o ScratchPad (Memória [48h]
5, Renorma e2 [B8H]
6, Leia o poder [B4H]

(Para uma descrição detalhada dos comandos acima, Veja o manual oficial)

Vi. Acesse o tempo DS18B20
Durante o processo de inicialização, O mestre de ônibus envia um pulso de redefinição (Tx) Baixo nível por pelo menos 480µs puxando o ônibus de 1 fio. Então, O mestre de ônibus libera o ônibus e entra no modo de recebimento (Rx). Depois de liberar o ônibus, O resistor de pull-up de 5kΩ puxa o ônibus de 1 fio alto. Quando o DS18B20 detecta esta borda crescente, Ele aguarda 15µs a 60µs e depois envia um pulso de presença puxando o ônibus de 1 fio para baixo por 60µs a 240µs.

Timing de inicialização:

Existem dois tipos de slots de tempo de gravação: “Escreva 1” horários e “Escreva 0” horários. O ônibus usa uma gravação 1 horário para escrever uma lógica 1 para o ds18b20 e uma escrita 0 horário para escrever uma lógica 0 para o DS18b20. Todos os slots de tempo de gravação devem ter pelo menos 60µs de duração, com um tempo de recuperação de pelo menos 1 µs entre os slots de tempo de gravação individuais. Ambos os tipos de slots de tempo de gravação são iniciados pelo mestre puxando o barramento de 1 fio baixo (veja a figura 14). Para gerar uma escrita 1 intervalo de tempo, Depois de puxar o ônibus de 1 fio baixo, O mestre de ônibus deve liberar o ônibus de 1 fio dentro de 15µs. Depois de liberar o ônibus, O resistor de pull-up de 5kΩ puxa o ônibus alto. Gerar a
Escrever 0 intervalo de tempo, Depois de puxar a linha de 1 fio baixa, O mestre de ônibus deve continuar mantendo o ônibus baixo durante a duração do intervalo de tempo (pelo menos 60µs). O DS18B20 amostra o barramento de 1 fio dentro de uma janela de 15µs a 60µs depois que o mestre inicia o horário de gravação slot. Se o ônibus estiver alto durante a janela de amostragem, um 1 é escrito para o DS18b20. Se a linha estiver baixa, um 0 é escrito para o DS18b20.
Observação: O horário é uma parte da auto-multiplexação em série das informações do slot de tempo dedicadas a um único canal.
Figura 14 é o seguinte:

DS18B20 Os slots de tempo de gravação são acionados pelo host para puxar o ônibus de 1 fio para baixo nível

DS18B20 Os slots de tempo de gravação são acionados pelo host para puxar o ônibus de 1 fio para baixo nível

Leia o horário:
O DS18B20 só pode enviar dados para o host quando o host emite um horário de leitura slot. Portanto, O host deve gerar um horário de leitura imediatamente após emitir um comando de memória de leitura [Beh] ou uma fonte de alimentação de leitura [B4H] comando para que o DS18B20 forneça os dados necessários. Alternativamente, O host pode gerar um horário de leitura depois de emitir um convertido t [44h] ou lembre -se E2 [B8H] comando para descobrir o status. Todos os slots de tempo de leitura devem ter pelo menos 60µs de duração com um tempo de recuperação mínimo de 1 µs entre os horários. Um slot de tempo de leitura é iniciado pelo mestre puxando o barramento de 1 fio para mantê-lo baixo por pelo menos 1µs e depois liberar o ônibus (veja a figura 14). Depois que o mestre inicia um horário de leitura, O DS18B20 começará a enviar 1s ou 0s no ônibus. O DS18B20 envia um 1 segurando o ônibus alto e envia um 0 puxando o ônibus baixo. Quando a 0 é enviado, O DS18B20 libera o ônibus mantendo o ônibus alto. O horário termina e o ônibus é puxado de volta para o estado ocioso alto pelo resistor de pull-up.

DS18B20 Host detalhado Read 1 Intervalo de tempo

DS18B20 Host detalhado Read 1 Intervalo de tempo

DS18B20 Recomendado host Read 1 intervalo de tempo

DS18B20 Recomendado host Read 1 intervalo de tempo