Bom dia garagistas,

Estou utilizando um sensor ntc 10k montado em um divisor de tensão com outro resistor de 10k, aonde este é ligado ao pino do canal a/d do pic com resolução de 10bits. Utilizo da esquação de Steinhart-hart para conseguir a relação temperatura x resistência. Como que eu posso fazer para conseguir uma precisão de 0.1 °C ?

Obs: Eu consigo obter em 60% a 70% do range com precisão de 0.1 porém em determindos pontos(utilizando o valor do a/d para encontrar a resistência e jogando na equação) eu tenho saltos na temperatura na casa de 0.2°C á 0.6°C.

Neste caso, eu teria que utilizar um a/d de 12bits? ou tem outra forma? lembrando que não quero ter que usar um amplificador.

Exibições: 1728

Responder esta

Respostas a este tópico

Olá amigo.

Quando se fala em PIc, geralmente os mais antigos são 8 bits 0 à 255 e a resolução não é lá essas coisas.

Há modelos de PIC com 12 (0 a 4095). ou mais bits 

Obviamente se vc trabalhar com mais bits, sua resolução vai ficar bem melhor.

Os resistores que vc usar no hardware devem ser de 1% e não os tradicionais de 5%.

Isso ajuda e muito na resolução.

Oi LS e AM, boa tarde.

AM, descordo da sua afirmação : 

"  Os resistores que vc usar no hardware devem ser de 1% e não os tradicionais de 5%.

    Isso ajuda e muito na resolução.  " 

 O uso do resistores com tolerância de 1% melhoram a precisão e não a resolução.

A resolução é definida ou pelo fabricante ou,  dependendo do ucontrolador , pode ser

alterada por software.

LS, qual PIC e qual compilador voce está utilizando?

Rui

Olá boa noite,

Rui, utilizo do microcontrolador PIC16F876A e para desenvolver o projeto utilizo o MikroC PRO, ele possui a/d de 10bits. Conforme você tinha comentado o meu problema não está na precisão e sim na resolução do sinal, ou seja, pegar a temperatura no intervalo desejado.

Tenta assim, pega o valor lido pelo AD e multiplica por 4, logo terá valores de 0 a 4096 (multiplos de 4 :() e faça uma amostragem bem alta, ai o sinal de saída seria por exemplo a média das ultimas 1024 amostras de entrada, ja deve te dar um bom resultado. Essa técnica pode ser aplicada desde que seu sinal não varie muito rapidamente.

Boa sorte nessa jornada TEMER :)

Olá caro amigo,

Essa técnica seria para estabilizar o sinal do a/d?

Bom dia,

Anexei uma tabela em excel para que vocês possam ver o que acontece, resumundo, a precisão está ótima, o valor da resistência do ntc encontrada se comparada com a tabela de temperatura do mesmo bate, o problema é que quando eu dou um passo, ou seja, quando o a/d é incrementado o salta da temperatura em certos pontos foge do 0,1 variando de 0,1 á 0,6.

 minha faixa de interesse é entre 0ºC á 110ºC.

Anexos

 delta T = 110 C 

Conversor 10 bits => 2 elevado a 10 = 1024 . (Isto é, a resolução é de uma parte em 1024. )

110 / 1024 = 0,107  ( essa resolução é a que deseja)

Portanto a tensão lida ( 0 a 5V) deverá corresponder à essa variação de temperatura de  0ºC á 110ºC.

Qual NTC esta usando ( envie o link das especificações) ?

Olá José,

      Enviei uma planilha simulando toda a operação. vou tentar partir desse novo príncipio para ver se consigo a resposta desejada dada pela função de steinhart, lembrando que preciso de um passo 0,1ºC, então creio que seria algo perto de 1000/1024, certo ?

ntc 10k@25ºC 103 AT-11 (semitec),

Boa tarde , Laelson. 

Esse é o datasheet( folha de especificações) do seu termistor NTC : Semitec 103AT-11

http://www.mouser.com/ds/2/362/semitec_atthermistor-371460.pdf

Boa tarde, José.

È este mesmo.

OK. 

Vendo a tabela de resistência do NTC 103AT  ( graus C / Ohms) :

0 C = 27280

25 C = 10000

50 C = 4160

100 C = 973,1

110 C = 757,6

Para converter a temperatura em tensão, precisará uma fonte de corrente constante. 

Como o coeficiente é negativo, a resistência diminui com o aumento da temperatura. 

Portanto para  0ºC pode ajustar a corrente para que a tensão seja máxima 5V (cálculo aproximado) :

  I = V / R = 5V / 28000 = 178 uA  

Arredondando para 180 uA 

V = R x I = 27280 x 0,00018 = 4,91 V   para 0 C

V = R x I = 10000 x 0,00018 = 1,80 V   para 25 C

V = R x I = 4160 x 0,00018 = 0,748 V para 50 C

V = R x I = 973 x 0,00018 = 0,175 V para 100 C

V = R x I = 757 x 0,00018 = 0,136 V para 110 C 

Concorda comigo ? 

 

Boa noite,

Certamente José, porem eu ainda não consegui uma forma de pegar as faixas de 0 á 100ºC, com passe de 0,1ºC, na verdade até consigo porém em determinada amostra só é possível pegar com 0,2ºC.

Exemplo: Primeira coleta = 25,1ºC ... temperatura aumenta gradualmente e em vez de vir 25,2 vem 25,3.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço