Arduino Lab 06 – Leitura de um sensor de temperatura do tipo NTC

Propaganda
Arduino Lab 06 – Leitura de
um sensor de temperatura do
tipo NTC com o Arduino
Imagem montagem
Resumo
Neste Lab trataremos da leitura de temperatura utilizando um
sensor do tipo NTC (Negative Temperature Coeficient). Um
circuito será utilizado para amplificar e filtrar os sinais
provenientes deste sensor e um display gráfico irá indicar os
valores de temperatura para o usuário em valores numéricos e
no tempo. Este Lab tem como coautores os meus colegas de TCC
que contribuíram para esta parte do trabalho final. Uma imagem
dos dispositivos utilizados neste Lab é indicada abaixo.
Dispositivos
a
serem
utilizados
O termistor NTC
Os termistores são dispositivos que apresentam em seu interior
um resistor sensível a temperatura. Os do tipo NTC são
normalmente compostos de materiais semicondutores. Embora
sensores que apresentam um coeficiente de temperatura positiva
estejam disponíveis no mercado, a maioria dos termistores tem
um coeficiente de temperatura negativo (NTC), ou seja, sua
resistência diminui com o aumento da temperatura. Neste Lab
iremos utilizar um NTC com encapsulamento metálico de contato
de pele assim como é mostrado na imagem abaixo.
Sensor NTC de pele
O coeficiente de temperatura negativo pode atingir uma alta
porcentagem de variação por graus Celsius, permitindo que o
circuito empregado detecte mudanças minúsculas na temperatura
que não poderiam ser observadas utilizando outros tipos de
sensores como os RTDs (Resistance Temperature Detector) ou
Termopares.
O grande preço de se ter um dispositivo sensível é a perda de
linearidade com o aumento da temperatura. O termistor é um
dispositivo extremamente não linear e altamente dependente de
parâmetros do processo ao qual se trabalha. Devido a esse
fato, os fabricantes de termistores ainda não padronizaram as
curvas deste sensor assim como fizeram com os Termopar. Uma
curva comparativa entre o NTC e o RTD é indicada abaixo.
Curva NTC e RTD
O intervalo de medida de temperatura com termistores, na
prática para alguns modelos de NTC, está limitado a 100°C
devido a estabilidade pobre do sensor quando submetido a altas
temperaturas. A precisão na medida depende da técnica
empregada para medida da variação da resistência e da
calibração do sensor. Com o uso de uma técnica apropriada,
temperaturas de 125°C pode ser medida com uma precisão de
0,01°C.
Se o sinal de temperatura é lido através de um sistema de
aquisição de dados, é mais adequado realizar a linearização da
medida após a conversão analógica-digital no microprocessador
/ microcontrolador. Para isto pode se utilizar um polinômio
gerado a partir de medidas de dados empíricos e comparação com
um termômetro padrão. A construção deste polinômio será
tratado mais adiante.
Aquisição do sinal
A temperatura, inicialmente, é obtida analogicamente através
da variação de resistência do termistor quando em contato
direto com a pele de uma pessoa. Um divisor de tensão
referenciado em uma tensão constante de 3V, obtida com o uso
do diodo Zener em paralelo, é utilizado para captar a queda de
tensão sobre o sensor que NTC que em seguida é encaminhado ao
amplificador de instrumentação INA122P. O esquema do
amplificador é ilustrado abaixo.
Diagrama Interno do INA122P
O INA122P é um amplificador de instrumentação de precisão,
para aquisição de sinais susceptíveis a pequenos ruídos. É um
amplificador com bom desempenho e baixo consumo de corrente. É
ideal para instrumentação portátil e sistemas de aquisição de
dados.
Um capacitor de 1µF é utilizado em paralelo com o divisor de
tensão para eliminação de ruídos.
Para manter a mínima variação de tensão de referência,
utilizamos um Zener de 3 volts. A entrada inversora (pino 2) é
aterrada (0V) e a entrada não inversora (pino 3) é alimentada
com a queda de tensão advinda do divisor de tensão, ou seja, a
queda de tensão proveniente no sensor. É utilizado um resistor
entre os pinos 1 e 8 para cálculo do ganho. O RG utilizado é de
200kΩ, logo temos um ganho de 6 para este amplificador de
acordo com a necessidade de amplificação do sinal. O circuito
de aquisição é mostrado abaixo.
Esquemático de Aquisição
Uma imagem com a montagem em uma Protoshield é mostrada
abaixo.
Montagem na Protoshield
Como o sensor NTC não apresenta um comportamento linear, foi
utilizado um polinômio de terceira ordem afim de adquirir boa
precisão e confiabilidade nas leituras. Para criar este
polinômio um termômetro calibrado foi utilizado como
referencia de temperatura. Assim, apanhamos os valores de
resistência medidas no terminal do sensor e a tensão na saída
do circuito amplificador e construímos a tabela abaixo.
Tabela com os valores dos indices
O polinômio utilizado foi gerado no Matlab, pelo método do
Polinômio interpolador de Lagrange, de acordo com os dados
indicados na tabela acima, e é mostrado abaixo.
Código Matlab para gerar os
coeficientes do polinômio
Com os coeficientes determinados, o seguinte polinômio foi
obtido:
Onde:
temp -> Valor da temperatura em graus Celsius
v -> Valor da conversão proveniente do
microcontrolador.
AD
do
Algoritmo e testes
O sinal amplificado pelo circuito descrito acima é enviado
para o canal analógico A0 do Arduino. A conversão é feita e o
resultado aplicado ao polinômio. Os valores de temperatura são
indicados no display com o controlador PCD8544, muito
conhecido como Nokia 5510, na forma numérica e no tempo em
forma de gráfico.
Quando o gráfico é totalmente preenchido, o cursor retorna a
esquerda, no ponto zero no eixo do tempo, e os pontos antigos
são apagados de acordo com o preenchimento dos novos pontos.
Este funcionamento pode ser observado no vídeo indicado pelo
link abaixo.
Para o Display, algumas funções foram implementadas no próprio
corpo do algorítmo principal não sendo necessário baixar
nenhuma biblioteca extra. Desta forma, com uma análise
minunciosa do código, muitos outros tipos de gráficos e
representações podem ser gerados neste display. O algoritmo é
indicado logo abaixo.
[crayon-59434169999ec834496355/]
Conclusão
Neste Lab trabalhamos a aquisição de temperatura utilizando um
sensor NTC. O circuito de condicionamento do sinal e o
polinômio interpolador foram os pontos chaves deste protótipo.
A representação gráfica dos valores da temperatura só foi
possível devido a simplicidade de trabalho com o controlador
PCD8544 do display e a construção versátil e bem entendida da
biblioteca de comunicação. Novos protótipos podem ser criados
com base neste apresentado neste Lab. Em ocasiões futuras,
trabalharemos em um projeto de leitura de termopares
industriais tomando como base este Lab.
Imagem Display
Download