Qual é a maneira mais simples de calibrar um termistor?


11

Como um hobby que não tem acesso a equipamentos de laboratório, realmente me parece impossível poder calibrar o termistor que tenho.

É claro que existem sensores de temperatura calibrados como o DS18B20, mas termistores especialmente em MCUs lentos como o Aruino UNO (em comparação com novos MCUs) são mais rápidos.

Que opções temos para calibrar um termistor sem usar equipamento de laboratório?


1
Use um sensor calibrado como o DS18B20 para obter uma característica do termistor.
Janka

O que você quer dizer com "snappier"? Isso não soa como uma boa justificativa se você precisar fazer uma correção de software no termistor, mas não com um DS18B20.
Elliot Alderson

Se o seu atraso de um segundo do DS18B20 em resolução máxima for sua preocupação, use um dos sensores de conexão do monitor da bateria, por exemplo, o DS2438. Possui um sensor de temperatura rápido no chip.
Janka

2
Calibração da temperatura, para precisão, geralmente é difícil. Alguns intervalos são mais difíceis que outros. Os pontos de congelamento de materiais comumente disponíveis podem ajudar muito, ainda mais se o seu intervalo incluir mais deles. Porém, referências precisas serão rastreáveis ​​aos padrões NIST ou DIN (ou grupo similar) mantidos em um laboratório em algum lugar e gerenciados por um ou dois físicos. Ajudaria sua pergunta se você especificasse a faixa de temperatura e a exatidão e a precisão que você procura nessa faixa.
21819

1
@ newbie Mas em casa? Procure a pureza e crie combinações de gelo / líquido ou então caldeiras de condensação pura. Por exemplo, o gelo misturado com a água é muito comumente usado - mas se ajuda ou não o suficiente pode depender dos números de precisão e do trabalho que você deseja fazer. Você também pode usar água fervente ou ácido sulfúrico que se condensam no fundo de um balão de Florença. (Eu usei os dois.) Mas os resultados também dependem de impurezas e variações de pressão atmosférica e outros fatores. Seus requisitos têm muito a ver com o que pode ser sugerido para tentativas de homebrew.
21819

Respostas:


5

Calibrar um termistor (ou principalmente qualquer sensor) é um processo de duas etapas:

  1. medir os dados de calibração
  2. elaborar uma lei de calibração que se encaixe nesses dados

O primeiro passo é o mais difícil e, infelizmente, o que eu tenho menos experiência. Vou então descrevê-lo apenas em termos muito gerais. O segundo passo é principalmente matemática.

Medindo os dados de calibração

Você deve preencher uma tabela com pares (T, R), ou seja, com valores de resistência medidos em temperaturas conhecidas. Seus dados de calibração devem cobrir toda a faixa de temperaturas que você precisará no uso real. Os pontos de dados fora desse intervalo não são muito úteis. Caso contrário, quanto mais pontos de dados você tiver, melhor.

A fim de medir a resistência da sonda, eu aconselho contra utilizando um ohmímetro. Em vez disso, use a mesma configuração que você usará para as medidas reais de pós-calibração. Dessa forma, quaisquer erros sistemáticos na medição de resistência (como erros de deslocamento e ganho ADC) serão calibrados.

Para conhecer a temperatura, você tem duas opções: use pontos de temperatura fixos (como, por exemplo, água fervente ou gelo derretido) ou use um termômetro já calibrado. Os pontos fixos são o padrão-ouro da calibração de temperatura, mas é difícil acertá-los, e você provavelmente não encontrará muitos deles dentro da faixa de temperaturas de que gosta.

Usar um termômetro em bom estado provavelmente será mais fácil, mas ainda existem algumas advertências:

  • você deve garantir que o termistor e o termômetro de referência estejam na mesma temperatura
  • você deve manter essa temperatura estável por tempo suficiente para que ambos atinjam o equilíbrio térmico.

Colocar os dois juntos, dentro de um gabinete com alta inércia térmica (geladeira ou forno) pode ajudar aqui.

Obviamente, a precisão do termômetro de referência é um fator muito importante aqui. Deve ser significativamente mais preciso que os requisitos que você possui para sua precisão final de medição.

Como aplicar uma lei de calibração

Agora você precisa encontrar uma função matemática que se ajuste aos seus dados. Isso é chamado de "ajuste empírico". Em princípio, qualquer lei pode fazer enquanto estiver perto o suficiente dos pontos de dados. Os polinômios são os favoritos aqui, pois o ajuste sempre converge (porque a função é linear em relação aos seus coeficientes) e é barato para avaliar, mesmo em um microcontrolador modesto. Como um caso especial, uma regressão linear pode ser a lei mais simples que você pode tentar.

No entanto, a menos que você esteja interessado em uma faixa muito estreita de temperaturas, a resposta de um termistor NTC é altamente não linear e não é passível de ajustes polinomiais de baixo grau. No entanto, uma mudança estratégica de variáveis ​​pode tornar sua lei quase linear e muito fácil de ajustar. Para isso, faremos um desvio através de algumas físicas básicas ...

A condução elétrica em um termistor NTC é um processo ativado termicamente. A condutância pode então ser modelada por uma equação de Arrhenius :

G = G exp (−E a / (k B T))

onde G é chamado de “fator pré-exponencial”, E a é a energia de ativação , k B é a constante de Boltzmann e T é a temperatura absoluta.

Isso pode ser reorganizado como uma lei linear:

1 / T = log A + B (R)

onde B = k B / E a ; A = B log (L ); e log () é o logaritmo natural.

Se você pegar seus dados de calibração e plotar 1 / T como uma função do log (R) (que é basicamente um gráfico de Arrhenius com os eixos trocados), você notará que é quase, mas não completamente, uma linha reta. O afastamento da linearidade vem principalmente do fato de que o fator pré-exponencial é um pouco dependente da temperatura. No entanto, a curva é suave o suficiente para ser facilmente ajustada por um polinômio de baixo grau:

1 / T = c 0 + c 1 log (R) + c 2 log (R) 2 + c 3 log (R) 3 + ...

Se o intervalo de temperaturas em que você estiver interessado for suficientemente curto, uma aproximação linear poderá ser boa o suficiente para você. Você usaria o chamado "modelo β", em que o coeficiente β é 1 / B. Se você usar um polinômio de terceiro grau, poderá observar que o coeficiente c 2 pode ser negligenciado. Se você a negligenciar, terá a famosa equação de Steinhart – Hart .

Em geral, quanto maior o grau do polinômio, melhor ele deve se ajustar aos dados. Mas se o grau for muito alto, você acabará se ajustando demais . Em qualquer caso, o número de parâmetros livres no ajuste nunca deve exceder o número de pontos de dados. Se esses números forem iguais, a lei ajustará exatamente os dados , mas você não tem como avaliar a qualidade do ajuste. Observe que esta calculadora termistor (vinculada a um comentário) usa apenas três pontos de dados para fornecer três coeficientes. Isso é ótimo para uma calibração aproximada preliminar, mas eu não confiaria nela se precisasse de precisão.

Não discutirei aqui como realmente executar o ajuste. Pacotes de software para fazer ajustes arbitrários de dados são abundantes.


Obrigado pela resposta bem detalhada e explicada. questão paralela; Eu usei um sensor DS18B20 como minha fonte de leitura de temperatura e notei que a leitura do termistor está a cerca de 2,2 graus. Eu adicionei então 2,2 graus no cálculo da temperatura do termistor. agora ambas as leituras do ds18b20 e do termistor são quase as mesmas. Testei a mudança de temperatura na faixa de 25 a 35 graus e, embora o termistor respondesse mais às mudanças de temperatura, mas no final o resultado era quase o mesmo. qual é o lado negativo desse método que eu usei?
ElectronSurf

2
@ newbie: Eu não entendo "a leitura do termistor está a cerca de 2,2 graus". Um termistor não dá uma leitura em graus. Você quer dizer que tentou alguma lei de calibração (proveniente de onde?) Que forneceu leituras a 2,2 ° C? Se esse for o caso, e esse deslocamento for estritamente constante, sua abordagem tem a desvantagem menor de ter uma lei de conversão mais complexa com uma etapa aritmética extra. Se o deslocamento não for estritamente constante, refazer o ajuste deve fornecer melhores resultados.
Edgar Bonet

11

Ler termistor é um pouco complicado. O método de calibração acima, não gera rendimento para a detecção de erros, criaria dois pontos de uma curva logarítmica (a curva de resposta do termistor).

Isso significa que, para cada 0,1 ° C de temperatura da temperatura, a temperatura correspondente da resistência variará, dependendo da faixa de temperatura. insira a descrição da imagem aqui

A princípio, você pode encontrar um erro a cerca de 2 a 5 ° C da temperatura real, mas sem erros, apenas uma leitura ruim.

Você não postou detalhes sobre como está lendo este termistor, pode ser o Arduino? Devo dizer que algumas bibliotecas não funcionam, então você deve criar uma função especial para isso.

Poste uma explicação detalhada sobre como caracterizar e ler um termistor. O post está em espanhol, mas nas tags de código, todas as explicações em inglês puro.

Depois de obter os coeficientes ABC, seu erro será de cerca de 0,1 ° C em outra medição, mesmo em uma extensão de 6m de fio LAN.

Um teste em 4 termistores Este teste leu ao mesmo tempo os 4 termistores. Você pode ver uma pequena diferença de temperatura em 2 deles que eu estava segurando brevemente nos meus dedos.


@ newbie Esta é a abordagem correta. Se você não puder seguir as instruções, responda a mim em um dia ou mais e procurarei meu código do arduino, as referências que ele contém e escreva uma resposta aqui.
Piojo 28/08/19

1
Os links morrem e a capacidade desta resposta de criar uma solução no futuro depende muito do vínculo entre o ativo e o ativo. Você pode adicionar as etapas à sua resposta?
Keeta - reinstala Monica 28/08

Copio e colo a seção de código da resposta; // Este é um exemplo de código sobre como ler um termistor, a biblioteca "Thermimistor.h" disponível apenas aceita coeficiente Beta // e, no meu caso, ceder a resultados incorretos, é uma maneira muito mais correta de ler o // termistor , caso você tenha medições ímpares ou erradas, siga estas etapas: // // Para obter os resultados esperados para esse código, será necessário; // um multímetro, um termistor NTC, outra temperatura precisa // medidor de sonda. // Passo 1.- Set multimiter no modo de resistência meassurement
Alejandro Santiago

// Etapa 2.- Leia e anote a resistência real do termistor // e a temperatura real (permita 1min para obter uma medição estável). // Um ​​pouco de água quente e um copo. // Etapa 3.- coloque os dois sensores (termistor e sonda de temperatura em um // recipiente contendo água à temperatura ambiente). // Em outro copo aqueça um pouco de água. // Adicione água quente até aquecer mais de 10 ° C na sonda de temperatura, aguarde // medição estável e anote a temperatura e a resistência. // Adicione mais água para aquecer o elemento a 20 ° da primeira medição. // Tome nota da temperatura e resista
Alejandro Santiago

1
@ newbie Se você possui um termistor NTC, precisa calcular as constantes A, B e C e conectá-las à Equação de Steinhart Hart para resolver a temperatura de uma resistência. Você precisa de três medições de temperatura / resistência para encontrar essas constantes. (As constantes diferem por termistor e encontrar as constantes é a sua calibração.) Este artigo mostra como fazê-lo, mas como ele usa a matemática da matriz, sugiro encontrar uma calculadora on-line. thinkrs.com/downloads/pdfs/applicationnotes/…
piojo

9

Encha um copo com cubos de gelo e despeje água para encher até a borda. Mexa ocasionalmente. Quando o gelo começar a derreter, você estará a 0 ° C. Coloque o sensor na água e faça uma leitura.

Se o seu sensor puder tolerá-lo, coloque-o em uma chaleira com água fervente. Ao nível do mar, você fornecerá uma leitura de referência de 100 ° C.

Se você precisar aquecer seu sensor para a impermeabilização, precisará dar um tempo para a leitura estabilizar.

esquemático

simular este circuito - esquemático criado usando o CircuitLab

Figura 1. Curva de calibração linear simples.

  • y1 é a resistência, tensão ou leitura do ADC a 0 ° C.
  • y2 é a resistência, tensão ou leitura do ADC a 100 ° C.

T=100y-y1y2-y1

Conforme apontado nos comentários, se você estiver usando um termistor, precisará verificar a folha de dados quanto à linearidade. Se essa abordagem simples não for boa o suficiente, você precisará usar um cálculo polinomial ou uma tabela de consulta em um microcontrolador.


3
Isso fornecerá dois pontos, que você pode usar para calcular o beta desses dois tempos. A resposta nesse intervalo será nem perto linear (supondo que os meios OP-lo quando ele / ela chama de "termistor"),
Scott Seidman

1
@ newbie: Veja a atualização.
Transistor

5
@ newbie Como o Transistor escreve no final, essa abordagem pode não ser boa o suficiente. Não posso imaginar que seria bom o suficiente, francamente. A única maneira de obter essa abordagem é a repetibilidade (supostamente 40 ° C sempre será o mesmo suposto 40 ° C, mas pode realmente ser 20 ° C ou 60 ° C).
Piojo 28/08/19

2
A água pura ferve a 100 ° C se a pressão for de 1,01325 bar ou 1013,25 milibar ou hectopascal. A pressão ao nível do mar depende do clima.
Uwe

1
@newbie. Isso parece útil. Se você conseguir funcionar, publique um código de exemplo na sua pergunta ou como resposta. Tenho certeza que outros achariam mais útil do que minha resposta.
Transistor

2

Termômetros linearizados apresentam um erro de ganho e deslocamento.

  • Os suprimentos bipolares provavelmente terão o valor nulo em 0V.
  • pontes de suprimento únicas terão uma relação Vref ou R de Vref ou Vcc em que o deslocamento é anulado nessa temperatura de projeto. Normalmente, isso é simétrico, de modo que corresponderia ao ponto médio do seu intervalo de design.
  • os termistores são calibrados a 25 'C com uma curva de sensibilidade específica com 2 variáveis.

  • para calibrá-lo, você só precisa de 2 medições

    • Nulo ajusta onde tensão de erro = nulo = 0, Vt = Vref
    • ajuste de ganho em T max
      • para uma ponte típica de 4 R, que geralmente é temperatura intermediária.
  • use qualquer termômetro melhor para calibração ou
    • use água gelada e água fervente por 0, 100'C
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.