TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Projeto Termistor NTC com Arduino

Por:   •  14/3/2017  •  Relatório de pesquisa  •  1.437 Palavras (6 Páginas)  •  538 Visualizações

Página 1 de 6

Projeto Termistor NTC com Arduino

Alunos: Felipe Davi

        Victor Philippe

          Gustavo Mendes

Vídeo do arduino em funcionamento: Projeto Arduino - Programação 1 ( CCUFAL) 

Objetivo do Projeto:Utilizando-se de um termistor, baseado na temperatura ambiente, este termistor em questão trabalha de forma inversamente proporcional ao aumento da temperatura, ou seja, ele diminui a resistência conforme a temperatura sobe,e através corrente sai desse termistor podemos calcular a temperatura utilizando-se do método do fator beta, dado por esta formula:

[pic 1]

No código foram utilizadas variáveis do tipo float para maior precisão, segue declaração das variáveis:

float Vin=5.0;     // [V]        

floatRaux=10000;  // [ohm]      Resistor auxiliar

float R0=10000;    // [ohm]      valor nominal do RTC a 25ºC

float T0=298.15;   // [K] (25ºC)

floatVout=0.0;    // [V]        Tensão de saída do divisor

floatRout=0.0;    // [ohm]      Valor de resistência do NTC

//Ver Datasheet ou usar um multímetro e medir a resistência do NTC nas duas temperaturas

float T1=273;      // [K]        Temperatura de calibração 1

float T2=373;      // [K]        Temperatura de calibração 2

float RT1=35563;   // [ohms]     Resistência medida na temperatura de calibração 1

float RT2=549;    // [ohms]     Resistência medida na temperatura de calibração 2

float beta=0.0;    // [K]        parâmetro Beta

floatRinf=0.0;    // [ohm]      parâmetro Rinf

floatTempK=0.0;   // [K]        Temperatura de saída em Kelvin

floatTempC=0.0;   // [ºC]       Temperatura de saída em °C

aqui temos o calculo do beta que é realizado apenas uma vez dados os valores setados universalmente nas variáveis previamente descritas:

beta=(log(RT1/RT2))/((1/T1)-(1/T2)); ->
beta=(log(35563/549))/((1/273)-(1/373)); ->
beta=4247.249512

Rinf=R0*exp(-beta/T0); ->
Rinf=10000*exp((-4247.249512)/298.15); ->
Rinf=0.006506

Já dentro do loop temos o calculo constante das variações de resistência e de temperatura:

//Calculo da resistência do NTC

Vout=Vin*((float)(analogRead(0))/1024.0); ->

Vout=5.0*((float)(analogRead(0))/1024.0);

Rout=(10000*Vout/(5.0-Vout)); ->

Rout=(10000*(5.0*((float)(analogRead(0))/1024.0))/(5.0-(5.0*((float)(analogRead(0))/1024.0))));

//Calculo da temperatura

TempK=(beta/log(Rout/Rinf));->

TempK=(beta/log(((10000*(5.0*((float)(analogRead(0))/1024.0))/(5.0-(5.0*((float)(analogRead(0))/1024.0)))))/ 0.006506));

TempC=TempK-273.15; ->

TempC=((beta/log(((10000*(5.0*((float)(analogRead(0))/1024.0))/(5.0-(5.0*((float)(analogRead(0))/1024.0)))))/ 0.006506)))-273.15;

Como extra a um simples termômetro, foi inserido um alarme o qual toca a Marcha Imperial - Tema dentro do filme de Star Wars, ou algo parecido com ela...

aqui definido em costantesestão as notas musicais transformadas em frequências para serem emitidas pelo buzzer:

//do

constint c = 261;

//re

constint d = 294;

//mi

constint e = 329;

//fa

constint f = 349;

//so

constint g = 391;

//so sustenido

constintgS = 415;

//la

constint a = 440;

//la sustenido

constintaS = 455;

//si

constint b = 466;

//do maior

constintcH = 523;

//do maior sustenido

constintcSH = 554;

//re maior

constintdH = 587;

//re maior sustenido

constintdSH = 622;

//mi maior sustenido

constinteH = 659;

//fa maior

constintfH = 698;

//fa maior sustenido

constintfSH = 740;

//so maior

constintgH = 784;

//so maior sustenido

constintgSH = 830;

//la maior

constintaH = 880;

jogando a função beep “ voidbeep(int nota, intduracao)” linha 138, enviamos a frequência da nota em forma de constante e a duração da emissão do “beep”.

Aqui temos uma amostra do código completo (seguido em anexo do arquivo .ino):

#include // tem se a include para utilizar o LCD

float Vin=5.0;     // [V]

floatRaux=10000;  // [ohm]      Resistor auxiliar

float R0=10000;    // [ohm]      valor nominal do RTC a 25ºC

float T0=298.15;   // [K] (25ºC)

floatVout=0.0;    // [V]        Tensão de saída do divisor

floatRout=0.0;    // [ohm]      Valor de resistência do NTC

temperaturas

float T1=273;      // [K]        Temperatura de calibração 1

float T2=373;      // [K]        Temperatura de calibração 2

float RT1=35563;   // [ohms]     Resistência medida na temperatura de calibração 1

float RT2=549;    // [ohms]     Resistência medida na temperatura de calibração 2

float beta=0.0;    // [K]        parâmetro Beta

floatRinf=0.0;    // [ohm]      parâmetro Rinf

floatTempK=0.0;   // [K]        Temperatura de saída em Kelvin

floatTempC=0.0;   // [ºC]       Temperatura de saída em °C

//joga os "tons" em constantes

//do

constint c = 261;

//re

constint d = 294;

//mi

constint e = 329;

//fa

constint f = 349;

//so

constint g = 391;

...

Baixar como (para membros premium)  txt (11.2 Kb)   pdf (200 Kb)   docx (32.9 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com