sábado, 3 de marzo de 2012

CONTROL ON-OFF DE TEMPERATURA CON EL SENSOR LM35 PARA ARDUINO:
ELEMENTO DE CONTROL: CELDA PELTIER

En nuestro anterior entrada hemos aprendido como sensar la temperatura, ahora aprenderemos a crear un control ON-OFF alrededor de una temperatura límite o "set point". El elemento a controlar será una CELDA PELTIER.

Celda Peltier:


Grafica deseada:

Conexiones:

Relé Shenle JQC:

Código:


int Set_P=23 ;
float Rango=1 ;
float Temp;
int pintemperatura = 2 ;
float Lim_inf = Set_P - Rango ;
float Lim_sup = Set_P + Rango ;
int senal_celda;
void setup (void)
{
Serial.begin (9600);
pinMode(12,OUTPUT);
}
void loop ()
{
Temp=(5.0*analogRead(pintemperatura)*100.0/1024.0);
   if (Temp<Lim_inf)
{
  digitalWrite(12,HIGH);
  }
if (Temp>Lim_sup)
{
  digitalWrite(12,LOW);
  }
else if (Lim_inf < Temp < Lim_sup)
{
 digitalWrite (pintemperatura,senal_celda);  
 }
Serial.print("Temperatura(Celsius)=");Serial.println(Temp);
delay (1000);
}

Explicaremos el código línea por línea, así que tendremos en cuenta que hay 32 de ellas empezando desde la palabra Int.

Línea 1: Temperatura de control, identificada como entero.
Línea 2: Rango de la temperatura de control, identificado como decimal con entero.
Línea 3: Variable real para guardar la temperatura leída por el sensor.
Línea 4: Pin escogido para captar el valor analógico de la temperatura.
Línea 5: Límite inferior de la temperatura de control, como número real.


Línea 6: Límite inferior de la temperatura de control, como número real.
Línea 7: Señal ON-OFF de la celda para ser guardada.
Línea 11: Pin escogido como salida controlada.
Línea 13: Función para repetir indefinidamente el programa.
Línea 15: 5 = Valor analógico de tensión.
Analog read = lectura analógica de tensión.
100.0= Resolución de lectura en microsegundos.
1024.0 = 210, valor binario de 10 dígitos binarios.
Línea 17: Condicional para el rango menor.
Línea 19: Respuesta al condicional en el pin 12.
Línea 21: Condicional para el rango mayor.
Línea 23: Respuesta al condicional en el pin 12.
Línea 25: Condicional para el rango entre la temperatura máxima y mínima.
Línea 27: Indicamos que el valor a tomar es el mismo anterior a este.
Línea 29: Imprimimos el valor de la temperatura.
Línea 31: Demoramos 1s la siguiente toma de datos.


Espero hayan entendido muy bien el proceso :D.....









6 comentarios:

  1. Que tal! muchas gracias por el codigo, me ha servido mucho!
    Una pregunta, me podrias ayudar y decirme como pido el rele, la verdad no soy muy experto en electronica y cuando fui por uno me pidieron especificar el tipo, te lo agradeceria mucho!

    ResponderEliminar
  2. Hola ferxrubio, muchas gracias por tu comentario.
    Bueno amigo, al hacer estas conexiones simplemente pedimos un relé y utilizamos este que ves en los planos (de marca SHENLE) pero si te piden especificar el tipo es: JQC, de esta forma lo encontramos, igual cualquier relé de este tipo (como se muestra en el diagrama en la parte de arriba) te servirá igual. Espero sea de ayuda el comentario si algo, me preguntas de nuevo.

    ResponderEliminar
  3. Ya lo consegui! muchas gracias! disculpa tengo otra pregunta, que placa utilizaste para tu eperimento y que tempertura maxima te dio? Estoy en un experimento en el que tengo que calentar un portaobjeto a 60°, con una placa de 60W crees que pueda alcanzar esta temperatura o se necesita una mas potente?

    ResponderEliminar
  4. Hola fexrubio.

    Para mi experiencia te diria que si, estoy casi seguro que puedes lograrlo yo subi a una temperatura de 80°C con una de 50W, croe que ais como lo haces te irá bien.
    Ojala sea de ayuda.

    ResponderEliminar
  5. Buenas días, necesito conectar un bommbillo a la corriente alterna y al réle, pero necesito controlar la temperatura, entre 30 a 50 o algo así. Cómo puedo hacer? que pena la molstia

    ResponderEliminar
  6. Buenas noches, disculpa las conexiones qeu hiciste son para calentar y enfriar o solo para calentar? me refiero a que si inviertas la polaridad.

    ResponderEliminar