Sensor de Temperatura de Projeto: Digital Sensor de Temperatura ICs
Mark Harris
Digital de temperatura sensores oferecem a maneira mais simples de medir e de entrada altamente precisa da temperatura em um microcontrolador ou outro dispositivo de lógica. No último artigo desta série de sensores de temperatura, analisamos os sensores de temperatura analógicos. Embora isso possa parecer mais fácil de implementar apenas fazendo uma simples leitura de ADC, para obter a medição mais precisa, você precisará calibrar o ADC de cada dispositivo durante a produção, o que nem sempre é viável. Neste artigo, estamos mergulhando em várias opções diferentes de sensores de temperatura digital. Os sensores de temperatura digitais normalmente serão mais caros do que um simples sensor de temperatura analógico. No entanto, a facilidade e a conveniência de produção usando esses dispositivos geralmente fazem com que o custo adicional valha a pena, onde altos níveis de precisão de medição são necessários. Os sensores de temperatura digitais são o quinto tipo de sensor que estamos vendo nesta série. Concluímos esta série com o artigo final, que colocará todos os sensores que testamos uns contra os outros em uma disputa frente a frente em uma ampla gama de condições ambientais para nos permitir comparar sua funcionalidade, precisão e comportamento. Começamos a série com um artigo introdutório no qual construímos um conjunto de modelos para cartões de sensor de temperatura padrão. As versões analógica e digital podem ser empilhadas através do uso de conectores mezanino ou lidas independentemente de seus conectores de borda. Estaremos construindo placas de host para todos esses sensores mais tarde na série, o que nos permitirá ler dados de um único sensor para validar sua funcionalidade ou ler toda a pilha de placas para que possamos registrar os dados de todos eles juntos.Nesta série, vamos dar uma olhada em uma ampla gama de sensores de temperatura, falando sobre suas vantagens e desvantagens, bem como algumas topologias típicas para sua implementação. A série vai ser abrangendo os seguintes tipos de sensores:
- Coeficiente de Temperatura Negativa (NTC) termistores
- Coeficiente de Temperatura Positivo (PTC) termistores
- Detectores de Temperatura por Resistência (RTD)
- Analógico do Sensor de Temperatura do ICs
- Digital Sensor de Temperatura ICs
- Termopares
Como com meus projetos, você pode encontrar os detalhes do projeto, os esquemas, e o conselho arquivos no GitHub, junto com o outro sensor de temperatura implementações. O projeto é lançado sob a licença MIT de código aberto, que permite que você use os designs ou qualquer parte deles para fins pessoais ou comerciais, como desejar.
Sensor De Temperatura Digital ICs
suponha que você esteja interessado apenas em ler a saída de um sensor de temperatura usando um microcontrolador ou outro dispositivo lógico. Nesse caso, um sensor de temperatura digital é eletricamente a opção mais simples de implementar. Os sensores de temperatura digitais podem oferecer excelentes níveis de precisão, pois todos os sensores, compensação e conversão são feitos no chip. Não há necessidade de calibrar o ADC do seu microcontrolador (ou ADC externo). Além disso, você não precisa se preocupar com a interferência eletromagnética de traços próximos ou outros dispositivos instalados nas conexões entre o sensor de temperatura analógico e o microcontrolador que podem influenciar involuntariamente a leitura da temperatura.
neste projeto, implementaremos Quatro opções diferentes de sensores de temperatura digitais de diferentes resoluções e faixas de detecção.
Name |
MAX31826MUA+T |
STS-30-DIS |
EMC1833T |
SI7051-A20-IMR |
Type |
Digital |
Digital |
Digital |
Digital |
Sensing Temp Min (°C) |
-55°C |
0°C |
-40°C |
-40°C |
Sensing Temp Max (°C) |
+125°C |
+60°C |
+125°C |
+125°C |
Faixa De Detecção |
Local |
Local |
Remoto |
Local |
Resolução (Bits) |
||||
Precisão (°C) |
±0.5°C (+10°C a +85°C) ±2°C (-55°C a 125°C) |
±0.2°C |
±1°C (-20°C t +105°C) |
±0.1°C |
temperatura de Funcionamento (°C) |
-55°C a +125°C |
-40°C a +125°C |
-40°C a +125°C |
-40°C a +125°C |
Funções |
1 Ônibus Fio, Parasitas de Energia |
I2C |
I2C, SMBus |
I2C |
Min Tensão De Alimentação |
3 V |
2.15 V |
1.62 V |
1.9 V |
Max Tensão De Alimentação (V) |
3.7 V |
5.5 V |
3.6 V |
3.6 V |
Consumo de corrente (uA) |
4 mA (quando a leitura de baixo nível lógico) |
45 uA ocioso |
700 uA na conversão, |
195 nA |
Fabricante |
Maxim Integrated |
Sensirion AG |
Microchip |
Silicon Labs |
Pacote |
8-MSOP |
8-VFDFN |
8-VDFN |
6-DFN |
eu ter incluído o EMC1833T porque, para mim, é uma fascinante sensor. É um dispositivo de detecção de temperatura remota, o que significa que não usa um sensor localizado dentro do componente. Em vez disso, ele detecta a temperatura convertendo a saída de um sensor externo, que neste caso é um transistor, em um sinal digital. Não tenho certeza se ele pertence necessariamente a essa categoria de “sensor de temperatura digital”, pois não se encaixa perfeitamente com os outros sensores que estamos vendo. Ainda assim, os transistores normalmente não são bem conhecidos como sendo usados como sensores de temperatura, então eu não tinha ideia de onde colocá-lo. O que me fascina sobre este sensor é que ele pode medir a temperatura usando quase qualquer transistor. Se você estiver projetando um ASIC, poderá facilmente incluir um transistor extra na matriz para esse fim. Você pode então usar este transistor, que pode ser lido por um sensor como o EMC1833T, para fazer uma medição externa da temperatura da matriz sem precisar adicionar qualquer complexidade adicional ao seu silício. Outra maneira de ver isso é que você pode monitorar a temperatura de sua matriz sem incorrer em nenhum risco de engenharia associado ao projeto e construção de um sensor de temperatura digital sob medida no silício.
implementação do Sensor Digital: MAX31826MUA + T
o primeiro sensor que implementaremos é o MAX31826 produzido pela Maxim Integrated. Este sensor funciona em um barramento de 1 fio em vez do barramento I2C ou SPI mais típico. Um problema potencial é que é improvável que 1 fio seja oferecido como um protocolo de comunicação pelo microcontrolador em que seu projeto se baseia. No entanto, é um protocolo simples de bit-bang e tem uma vantagem considerável sobre as escolhas mais populares, pois só precisa de dois fios para operar o sensor. Incluindo o fornecimento de energia, o I2C requer quatro fios e o SPI precisa de cinco fios. Por outro lado, 1 fio requer apenas um aterramento e uma linha de dados para a maioria das aplicações, pois pode se desligar da linha de dados usando uma técnica de potência parasitária. Integrado dentro do sensor é um capacitor que pode sustentar a fonte de alimentação para o IC durante os períodos em que a linha de dados está no estado baixo, o que elimina a necessidade de uma fonte de tensão dedicada sob a maioria das condições normais de operação. Esta pode ser uma solução muito conveniente para placas que têm espaço extremamente limitado disponível.
outra característica interessante do sensor e seu barramento de 1 fio é a capacidade de definir um endereço de 4 bytes para o dispositivo usando pinos selecionáveis manualmente instalados no pacote do dispositivo. Isso permite a instalação de até 16 sensores de temperatura em um único barramento de dados de 1 fio, dando a cada dispositivo um endereço exclusivo. Esta pode ser uma opção altamente conveniente se você tiver falta de pinos de microcontrolador e, ao mesmo tempo, exigir recursos de detecção usando um grande número de sensores de temperatura.
em comparação com os sensores que analisamos nos artigos anteriores desta série, O MAX31826 não é apenas altamente preciso, mas também fornece dados de alta resolução. O sensor oferece + / – 0.Precisão de 5°C entre -10°C e + 85°C, com precisão de +/- 2°C em sua faixa de temperatura total de -55°C a +125°C. Todas as leituras do sensor são entregues como valores de 12 bits, que é uma resolução maior do que a maioria dos microcontroladores oferecem.
como sensor de temperatura, o MAX31826 tem muito a oferecer, mas também é equipado com um EEPROM de 1 kB integrado como recurso de bônus. Eu acho que eles tinham algum quarto de sobra na morte. Se o seu microcontrolador não tiver um EEPROM integrado e você precisar armazenar alguns dados de configuração para sua aplicação, este sensor de temperatura o cobrirá. Se você precisar de armazenamento não volátil adicional, este sensor de temperatura reduzirá sua contagem de componentes e economizará espaço na placa.
folha de dados recomenda diretamente ligar o dispositivo ao invés de usar parasitárias poder de ônibus, quando as temperaturas podem ultrapassar os 100°C. Enquanto a maioria das aplicações típicas não precisa chegar a esses níveis de temperatura, os testes que vamos colocar o sensor através vai ultrapassar os 100°C. Portanto, para este exercício, vamos seguir a recomendação de diretamente ligar o dispositivo ao invés de explorar o fascinante parasitárias opção de alimentação.
a forma da placa e o layout geral vêm do modelo de projeto que criamos na introdução a esta série. Como não estamos usando nenhum dos ônibus de comunicação usuais, removi as redes associadas e seus componentes da placa. Ainda assim, deixei as conexões no conector de empilhamento para garantir que isso não cause problemas para outros sensores empilhados. Com o barramento de 1 fio, só precisamos usar o pino de seleção de chip para nos comunicarmos de volta ao microcontrolador host.
implementação do Sensor Digital: STS-30-DIS
eu usei o STS-30-DIS produzido pela Sensirion em um projeto passado por causa de sua incrível precisão e indicações calibradas que são rastreáveis ao NIST. Isso foi necessário à medida que a instrumentação foi desenvolvida para uma empresa de serviços de alimentação, necessária para coletar dados para fins de relatórios governamentais. Com uma pegada pequena, ampla faixa de tensão, precisão incrível e saída digital de 16 bits linearizada, há muito o que amar neste dispositivo se você precisar apenas de detecção de temperatura positiva. Se você precisar detectar temperaturas abaixo de zero, a variante STS-30A-DIS é qualificada para automóveis e tem uma faixa de detecção de -40°C a 125°C. No entanto, esse alcance de detecção aumentado tem um leve custo para a precisão geral.
no artigo anterior dos sensores de temperatura analógicos, falei sobre como são ótimos sensores de temperatura analógicos para aplicações como monitoramento de processos, para ligar e desligar um ventilador ou para outros sistemas de gerenciamento térmico que podem funcionar sem intervenção de um microcontrolador. O STS-30 oferece um PIN de alerta que pode ser usado para cumprir uma função semelhante. Destina-se à conexão a um pino de interrupção de um microcontrolador; no entanto, ele também possui uma nota de aplicativo completa dedicada a ele e pode ser usado para alternar cargas automaticamente. A capacidade de interagir com a função de interrupção do microcontrolador pode ser crucial. Ele permite que o sensor Notifique imediatamente o microcontrolador com um sinal de alta prioridade de que algo precisa ser feito imediatamente, em vez de depender de pesquisas de microcontroladores infrequentes do sensor e da resposta aos dados de leitura. Se a saída de alerta estiver conectada a um transistor para permitir que ele conduza uma carga, o sensor pode ser usado para fins de monitoramento/registro, bem como ter uma função de gerenciamento térmico autônoma. Em comparação com as soluções analógicas, essa configuração pode muito bem tornar o STS-30 digital uma opção mais barata. Um comparador separado não será necessário, e o limite para o pino de alerta pode ser configurado pelo Usuário através de um microcontrolador/IHM sem o requisito de ser definido de fábrica.
os dispositivos da série STS-30 usam um barramento I2C para comunicações. O esquema que estamos implementando para este artigo não inclui nenhum dos resistores pull-up que geralmente são necessários para que o barramento de comunicações funcione corretamente. Esses resistores pull-up serão instalados nas placas do host. Como precisamos apenas de um conjunto de resistores pull-up por barramento, adicionar resistores a cada sensor adicionaria vários resistores pull-up ao barramento e poderia resultar em seu mau funcionamento. Além disso, todos os resistores conectados em paralelo reduziriam sua resistência geral.
o pino ADDR nos permite escolher entre dois endereços diferentes para o dispositivo, permitindo conectar dois componentes STS-30 ao mesmo barramento I2C. Embora isso possa não ser tão impressionante quanto os recursos do dispositivo MAX31826 no barramento de 1 fio, ainda é conveniente, pois nos permite usar mais de um dispositivo. Estou puxando o pino ADDR para logic low (GND), pois isso define o endereço padrão como 0x4A, com a lógica puxada para o estado alto, isso o define para o endereço alternativo de 0x4B.
eu gosto do pacote no STS-30, pois é compacto, mas ainda não muito louco, para que você possa montar sua placa manualmente se estiver usando um estêncil. O pacote do sensor mais um capacitor de desacoplamento 0603 estão juntos aproximadamente do mesmo tamanho que o MAX31826 que analisamos acima. Com um capacitor menor, caberia muito bem em uma placa de alta densidade. A grande almofada à Terra Sob O IC fornece um trajeto excelente para transferir o calor de um plano à terra à junção de detecção da temperatura dentro do IC. Isso o torna uma escolha perfeita para colocar ao lado de qualquer dispositivo, como um grande MOSFET ou um regulador, que usa o plano do solo para despejar o excesso de calor na placa. Colocar o IC nas proximidades da fonte de calor dará resultados de detecção de temperatura mais precisos.
implementação do Sensor Digital: Emc1833t
como mencionei anteriormente, acho o dispositivo emc1883 produzido pela Microchip fascinante não só porque tem uma gama de características fantásticas, mas que pode ler a temperatura detectada por uma junção de transistor. O STS-30 que analisamos acima tinha um pino de interrupção de alerta acionado por um valor absoluto; no entanto, o EMC1883 pode ser configurado para também gerar um alerta com base na taxa de mudança da temperatura detectada. Esse alerta de taxa de mudança pode permitir que soluções inteligentes de gerenciamento térmico sejam ativadas automaticamente, antecipando sua necessidade e não após o evento. Isso tem o potencial de melhorar a confiabilidade do dispositivo como um todo pelo gerenciamento cuidadoso de sua temperatura de operação. Tal como acontece com o STS-30, é totalmente configurável por software, o que oferece vantagens consideráveis sobre qualquer opção de conjunto de fábrica que você provavelmente precisaria implementar se estivesse usando um termostato totalmente analógico para obter os mesmos resultados.
o modelo específico da série EMC8xx que estamos testando suportará apenas a detecção de uma única junção. No entanto, existem outros modelos da série que podem fornecer sensores para até cinco junções.
como o STS-30, Este é um sensor baseado em I2C que acomoda a instalação de vários sensores em um único barramento I2C. Uma distinção é que a implementação do pino ADDR EMC1833T é diferente da natureza binária de ligar/desligar do dispositivo STS-30. Este dispositivo permite que você configure até seis endereços separados usando diferentes valores de resistor pull-up. O pino ADDR também funciona como um dos pinos de interrupção, atuando como o pino de aviso térmico (junto com o pino de alerta/aviso térmico 2). Como a instalação anterior do dispositivo, não implementarei resistores pull-up nas linhas I2C na placa do sensor de temperatura. No entanto, eles devem ser instalados em algum lugar dentro do seu circuito para permitir que o barramento de comunicações do sensor funcione corretamente.
a folha de dados recomenda o uso de um transistor de junção bipolar 2N3904 como elemento de sensoriamento remoto, uma vez que Não tenho um transistor de CPU disponível para usar para medições. Estou usando a variante de Montagem Em superfície de um 2N3904 para detectar a temperatura nesta placa. O MMBT3904 está disponível em praticamente todas as empresas de fabricação de silício que lidam com BJTs-neste caso, optei por usar uma parte semicondutora, pois era a melhor abastecida. Havia vários milhões disponíveis quando olhei pela última vez para Octopart.
como fiz em artigos anteriores desta série, coloquei o elemento sensor de temperatura, nosso transistor, dentro da ruptura térmica. Eu coloquei os elementos não sensíveis atrás da ruptura térmica. Isso evita que o EMC1833T seja capaz de influenciar negativamente a leitura da temperatura devido a qualquer calor que possa gerar.
implementação do Sensor Digital: Si7051-A20-IMR
finalmente, temos os Laboratórios de silício Si7051-A20. São os resultados deste dispositivo que estou mais animado para ver em toda esta série. O MAX31826 é um sensor bastante preciso; no entanto, o Si7051-A20 oferece uma impressionante precisão de +/- 0,1°C com um consumo de energia incrivelmente baixo de apenas 195 nA Ao amostrar. O consumo de energia é pelo menos uma ordem de magnitude menor do que todos os outros sensores de temperatura digitais e substancialmente menor do que os sensores de temperatura analógicos que analisamos no artigo anterior.
onde muitos sensores têm precisões anunciadas muito altas, os números geralmente se aplicam apenas a uma parte limitada da faixa de detecção geral. Em contraste, o Si7051-A12 oferece a precisão relatada em toda a sua faixa de detecção de -40°C a +125°C. Além disso, o erro de 0,1°C é uma precisão de pior cenário, não a média ou o mínimo. Com sua resolução de 14 bits selecionada, o Si7051-A20 fornece uma leitura repetível de 0,01°C – adoro sensores precisos e repetíveis!
tal como acontece com os dois últimos sensores, o Si7051-A20 é um sensor compatível com I2C. No entanto, ele não oferece um PIN de endereço, o que significa que você só pode ter uma única unidade conectada ao barramento I2C, a menos que você adicione um interruptor I2C ou alterne a energia entre diferentes unidades conectadas no mesmo barramento. Isso exigiria pinos IO adicionais e adicionaria complexidade ao circuito, tornando o Si7051-A20 menos ideal para detectar vários locais em sua placa de circuito. O dispositivo também não possui nenhum pino de alerta/interrupção, destinado a ser usado puramente como um sensor de temperatura digital. Geralmente, se você está procurando automatizar o gerenciamento térmico em sua placa de circuito, um sensor menos preciso e de menor custo será mais do que suficiente para tal aplicação.
um dos recursos que eu realmente gostei sobre o STS-20 quando usei pela última vez foi a calibração certificada pelo NIST aplicada a cada dispositivo, pois meu cliente exigia esse recurso. Embora o Si7051-A20 não faça nenhuma menção a isso em sua folha de dados, ele possui um certificado de calibração disponível. Também consegui encontrar outro certificado de calibração mais específico; no entanto, isso não está no site da Silicon Labs e, portanto, só pode se aplicar às unidades específicas que esta empresa comprou. Nesse caso, ele estabelece uma precedência para a Silicon Labs que emite certificados específicos para seus clientes.
como as outras implementações I2C que abordamos neste artigo, as linhas I2C para este cartão não têm resistores pull-up instalados nas linhas de dados/relógio. Você precisará incluir um resistor pull-up em cada linha em algum lugar dentro do seu circuito para permitir que o Si7051-A20 se comunique com sucesso.
o pacote DFN de 6 pinos também é o protótipo mais fácil de entregar de todas as opções sem chumbo que abordamos neste artigo. Usando um estêncil ou uma ferramenta de deposição de pasta como o Voltera V-One, Este sensor seria incrivelmente fácil de colocar e refluir manualmente usando ferramentas básicas, tornando-o perfeito para prototipagem no laboratório doméstico ou de escritório.
conclusão
analisamos quatro sensores de temperatura digitais diferentes neste artigo. No entanto, existem centenas de outras opções de sensores de temperatura digitais disponíveis que podem atender aos requisitos específicos do seu projeto, que estão bem abastecidos e disponíveis. Embora os sensores de temperatura analógicos sejam excelentes no monitoramento autônomo de processos ou no uso com um conversor analógico para digital, Os sensores de temperatura digitais oferecem conveniência significativa ao integrar-se a um produto que possui um microcontrolador. Como vimos neste artigo, existem sensores de temperatura digitais que podem gerar interrupções e alertas em limites configuráveis, o que permite aplicações interessantes além de um termostato baseado em comparador de fábrica, como você provavelmente usaria com um sensor de temperatura analógico. A precisão e a precisão dos modernos sensores de temperatura digitais podem ser excepcionalmente altas; no entanto, muitas opções consomem consideravelmente mais corrente do que suas contrapartes analógicas, o que pode fornecer algum deslocamento de temperatura do autoaquecimento.
os sensores de temperatura digitais mais populares e bem abastecidos normalmente usam um barramento I2C para comunicações; no entanto, as opções de barramento SPI e 1-Wire também estão prontamente disponíveis para atender à disponibilidade de ônibus de comunicação alternativos para o seu projeto.
como mencionei no início do artigo, você pode encontrar detalhes de cada uma dessas placas de sensores e todas as outras implementações de sensores de temperatura no GitHub. Esses projetos são todos lançados sob a licença MIT de código aberto, que permite que você faça praticamente qualquer coisa com o design para uso pessoal ou comercial.
gostaria de saber mais sobre como a Altium pode ajudá-lo com seu próximo design de PCB? Fale com um especialista da Altium.