






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
como calibrar termistor ntc! instrumentação
Tipologia: Exercícios
1 / 12
Esta página não é visível na pré-visualização
Não perca as partes importantes!







Um termistor é um tipo de resistor em que a resistência depende da temperatura do meio em que se encontra. O NTC ( Negative Temperature Coefficient ) se caracteriza por ter o coeficiente negativo, ou seja, quando a variação da temperatura é positiva, a variação da resistência é negativa[1]. Existem diversos sistemas que utilizam termistores como uma válvula para ativar circuitos internos como:
O principal objetivo deste projeto é a calibração de um termistor de NTC através de uma coleta de dados utilizando uma placa de Arduíno e um outro termistor, LM35, que possui uma leitura mais acurada a procura de uma alternativa econômica em sistemas que utilizam vários termistores.
Para determinar a temperatura lida pelo NTC devemos utilizar a Equação de Steinhart- Hart, que é geral para qualquer termistor
A ideia da calibração é determinar as constantes A, B e C tais que a leitura da temperatura do NTC seja igual à do LM35. Na prática, substituímos T pela temperatura lida pelo LM35 e R pela resistência medida do NTC. Existe uma forma simplificada da equação de Steinhart-Hart que assume o coeficiente C nulo[2], porém vamos utilizar a forma padrão e verificar se tal hipótese é válida. Foi montado um circuito como ilustrado abaixo Utilizamos como meio para variação térmica a água, mas como os termistores incluídos no kit básico de Arduíno não permite a imersão dos mesmos em um outro meio por não alcançarem qualquer recipiente, nós utilizamos termistores NTC e LM35 com terminais soldados e envoltos em um material isolante. Para preparar o meio, aquecemos por volta de 230 ml de água da torneira utilizando um fogão elétrico e uma panela. Ao atingir o ponto de ebulição, transferimos a água da panela Figura 1: NTC 10k Figura 2: LM35DZ
Além de dados coerentes, devemos escolher qual a melhor janela de dados a se trabalhar e para isso fizemos análises do valor do χ𝑟𝑒𝑑^2 e da curtose da distribuição dos dados em janelas diferentes em função do número de dados da janela. Figura 4: Exemplo de uma janela de 1000 dados
Figura 5: 𝜒red^2 por janela Figura 6: Exemplos de distribuição de dados em janelas diferentes
Como evidenciado pela imagem, encontramos um erro visível em nossa análise pois os pontos em destaque, tanto no ajuste quanto nos resíduos, não apareceram durante a análise individual dos dados e chegamos à conclusão que tais pontos aparecem devido a nós simplesmente juntarmos os dados em um arquivo sem uma formatação apropriada, logo uma janela de dados cobre o início e o fim de uma coleta de dados na mesma janela, levando a uma média irreal de dados. Com uma pequena modificação no script foi possível simplesmente eliminar tais pontos dos resultados finais.
Ao analisarmos os resíduos suspeitamos de uma tendência nos dados, porém não estava explícita o suficiente, então identificamos os diferentes conjuntos de dados por cores
[1] https://en.wikipedia.org/wiki/Thermistor [2] http://thermistor.sourceforge.net/ [3] http://labdegaragem.com/profiles/blogs/tutorial-como-utilizar-o-termistor-ntc-com-arduino https://www.arduino.cc/
Rotina de obtenção de dados:
Script de análise de dados: clear NOME_ARQUIVO = 'Todos-juntos.txt'; JANELA = 6000; A = load(NOME_ARQUIVO); % fix = arredonda para baixo A = A(1:fix(size(A,1)/JANELA)JANELA,:); % 1.1 = voltagem do AREF; T = 100(1.1/1023)reshape(A(:, 1),JANELA, []); B = reshape(A(:, 2),JANELA, []); R = 10(1023./B - 1);
Tm = mean( T ); Rm = mean( R ); sT = std( T ); sR = std( R ); Rm = Rm1000; Tm = Tm + 273.15; %deleta pontos contaminados k = find (sT>3); for i= 1 : length(k) sT(k(i)-(i-1)) = []; Tm(k(i)-(i- 1 )) = []; Rm(k(i)-(i-1)) = []; end %ajuste do modelo model = @(b,Rm) (1./(b(1) + b(2)log(Rm) + b(3)(log(Rm)).^3)); [ beta, Res ] = mmqGM( Rm, Tm, sT, model, [1.8987861143e-3; 1.818009621e-4; - 5.760160042e-7]); %plota dados+modelo c/ barra de erro figure (1) x = linspace (1000,7000,100); y = (1./(beta(1) + beta(2)log(x) + beta(3)*(log(x)).^3)); plot( x, y, '-r'); title('Todos os Dados; Janela = 6000') xlabel('Resistencia (Ohms)') ylabel('Temperatura (K)') xlim('auto') ylim('auto')