Control PID de temperatura de un horno con Arduino y LM35 simulación en proteus

Escrito Por: admin Publicado En: Sistemas de Control Fecha de Creación: 2017-11-28 visitas: 4733

Control PID de temperatura de un horno con Arduino y LM35 simulación en proteus

Control PID de temperatura de un horno con Arduino y LM35 simulación en proteus

 

Objetivos:

  1. Controlar la temperatura de horno usando un cotrol PID  usando la libreria PID para arduino
  2. Construir un dimmer digital  si la resistencia es AC

Material:

  1. Resistencia eléctrica
  2. Dimmer digital
  3. Horno
  4. LM35
  5. Arduino Uno

Software

  1. Arduino IDE
  2. Proteus

Desarrollo

  1. Construir un un dimmer digital si la resistencia es AC
  2. Si la resistencia es DC con un Mosfet basta

Diagrama Proteus

 

En el diagrama de proteus no incluyo el lm35 por que el modelo del horno en proteus ya tiene un salida de voltaje que es como un lm35  solo que hay que configurar que de una salida de   0.01 V /  C   o 10mV  / C 


​En la implementacion debes conectar el lm35 a GND y  5 V  y su salida al A0 del arduino . Y el Lm35 debe ir en el interior del horno. 

 


Codigo Arduino

// autor Christian A. vazquez
// http://microcontroladores.com.mx

#include <PID_v1.h>
#include <LiquidCrystal.h>


int salidaPWM = 3;  // salida de señal PWM
//Defina las variables con las que nos conectaremos
double temp,error,Setpoint,Output;
 
//Especifique los enlaces y los parámetros de sintonía iniciales
//double Kp=4, Ki=0.2, Kd=1;

double Kp=1, Ki=0.05, Kd=0.25;



PID myPID(&temp, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);
 
 
LiquidCrystal lcd(12,11, 10, 9, 8, 7);
 


 
void setup() {
  // Declarar el ledPin como una salida:
 //Serial.begin(9600);
  pinMode(salidaPWM, OUTPUT);  // decimos que pinOut es salida
  
  Setpoint = 100; // velocidad referencia
  
  lcd.begin(16,2); 
   


  
  //Activar el PID
    myPID.SetSampleTime(20);
  myPID.SetMode(AUTOMATIC);
  myPID.SetOutputLimits(0,255);
  
  
}
void loop() {

 Setpoint = 100; // velocidad referencia

 
 temp=analogRead(0)*500.0/1024.0;
 
 myPID.Compute(); // calcula salida Output  ( 0-255)

 analogWrite(salidaPWM,Output);
  
   
  lcd.setCursor(0,0);            
  lcd.print("temp");
  lcd.setCursor(5,0);            
  lcd.print(temp);
  lcd.setCursor(0,1);
  lcd.print("temd");
  lcd.setCursor(5,1);
  lcd.print(Setpoint);

   
}


Etiqueta: Control PID de temperatura de un horno con Arduino y LM35 simulación en proteus

Same In Category

comments powered by Disqus