domingo, 7 de diciembre de 2014

Termómetro digital con Arduino.

Termómetro digital.



tl084

En este proyecto lo que he hecho es un termómetro digital con arduino. El control de la Ntc lo he hecho con el siguiente esquema:



Y aquí os dejo un vídeo de como son los cálculos para controlar el voltaje de la salida del TL084 con las resistencias.





Y el código con el que he hecho el programa es el siguiente; en este tambien hay que tener en cuneta los valores de la NTC a 0ºC y a 25ºC:

#include <math.h>

//Pines para las entradas analógicas
int analogPin1 = A0;


//Variable PARA la temperatura de disparo
double tempMin = 0.0;

//DATOS para las ecuaciones

float Vin = 5.0;     // [V]       Tensión alimentación del divisor
float Rfija = 12000;  // [ohm]     Resistencia fija del divisor
float R25 = 4700;    // [ohm]     Valor de NTC a 25ºC
float Beta = 3900.0; // [K]      Parámetro Beta de NTC
float T0 = 293.15;   // [K]       Temperatura de referencia en Kelvin

float Vout = 0.0;    // [V]       Variable para almacenar Vout
float Rntc = 0.0;    // [ohm]     Variable para NTC en ohmnios

float TempK = 0.0;   // [K]       Temperatura salida en Kelvin
float TempC = 0.0;   // [ºC]      Temperatura salida en Celsius

void setup() {

  //Comenzamos la comunicación puerto serie
  Serial.begin(9600);


  //Y los pines de entrada
  pinMode(analogPin1, INPUT);


}

void loop()
{
  
  
  Vout=(Vin/1024)*(analogRead(analogPin1));
  
  Serial.println(analogPin1);
 Serial.println(Vout);
  
  
  //Ahora la resistencia de la NTC
   Rntc=(Vout*Rfija)/(Vin-Vout);
   
   Serial.println(Rntc);
  //Y por último la temperatura en Kelvin
  TempK = Beta/(log(R25/Rntc)+(Beta/T0));

  //Y ahora la pasamos a celsius
  TempC = TempK-273.15;

 if (TempC<=0){
   TempC=0.0; 
 }

  //Y lo mostramos por puerto serie
  Serial.println();
  Serial.print("LA TEMPERATURA DE LA NTC ES DE ");
  Serial.print(TempC);
  Serial.println(" GRADOS CELSIUS");
  Serial.println();

  //Un pequeño delay PARA no volver loco al puerto serie
  delay(1000);
}

No hay comentarios:

Publicar un comentario