Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ilustración 2.- En la presente imagen se muestra el diseño del circuito del sistema de control digital de temperatura en
el software Proteus.
#include <TimerOne.h>
float Tref, Tsensor;
double Serror, Serror_past;
double proporcional, integral, derivativa;
double u;
double Kp = 10;
double Ki = 1;
double Kd = 2;
double Ts = 0.1; //Tiempo de muestreo de 100 ms
void setup() {
Timer1.initialize(99); // initialize timer1, and set a 1/2 second
period
Timer1.attachInterrupt(PID); // attaches callback() as a timer
overflow interrupt
Serial.begin(9600);
pinMode(6,OUTPUT); //Pin Calentar PWM
pinMode(3,OUTPUT); //Pin Enfriar PWM
}
void PID()
{
Tref = 10.0*(analogRead(A0)*5/1023.0);
delay(1);
Tsensor = 10.0*(analogRead(A1)*5/1023.0);
Serror = Tref - Tsensor;
proporcional = Kp*Serror;
integral += Ts*Serror;
derivativa = (Serror-Serror_past)/Ts;
u = proporcional + Ki*integral + Kd*derivativa;
Serror_past = Serror;
}
void loop() {
if (u>=255){u=255;}
if (u<=-255){u=-255;}
if (Serror>=0){
digitalWrite(6,u);
digitalWrite(3,LOW);
}
if (Serror<0){
digitalWrite(6,LOW);
digitalWrite(3,255+u);
}
Serial.print("Referencia=");
Serial.println(Tref);
Serial.print("Temp Sensor=");
Serial.println(Tsensor);
//Serial.print("Error=");
//Serial.println(Serror);
Serial.flush();
//delay(400);
}
Tabla 1.- En la presente imagen se muestra el código desarrollado para controlar la temperatura del horno. Cabe
mencionar que las constantes Kp, Ki y Kd se eligieron de manera empírica de acuerdo a los resultados obtenidos, se
hicieron diversas pruebas hasta encontrar el resultado más conveniente.
Parte 2. Simulación del circuito.
1. Simule su circuito con una temperatura de referencia del 50% y muestre sus
resultados. Coloque una gráfica analógica y compare la señal de entrada de
la referencia con la señal que entrega el horno para verificar el
funcionamiento.
Ilustración 3.- En la presente imagen se muestra el resultado obtenido al comparar la señal de referencia a un 50% con
la señal que entrega el sensor del horno. En este caso se esta alimentando el circuito con una fuente de 5V, por lo tanto,
el 50% le corresponde a 2.5 volts que es lo que se muestra de referencia en la gráfica. Además, es importante mencionar
que a pesar de haber implementado un control PID el resultado obtenido no es del todo favorable ya que oscila
demasiado y no llega a un punto de estabilidad. Sin embargo, no se sabe si puede ser algún problema del simulador.
Parte 3. Cuestionario
1. ¿Qué ventajas tiene usar un controlador PID?
Un controlador PID es un controlador bastante completo el cual es bastante utilizado.
Incluso es el controlador más implementado en los diversos sistemas debido a su
versatilidad ya que mediante la acción proporcional se busca llegar de manera rápida al
nivel de referencia. Sin embargo, con el control proporcional jamás se llegará a la señal
de referencia, sino que se mantendrá por debajo. Por lo tanto, se implementa una acción
integral para ayudar a llegar a la referencia, sin embargo, con esta acción se producen
sobre picos y oscilaciones ocasionadas por el error en estado estacionario, por esta razón
se implementa una acción derivativa para anular estos sobre picos y disminuir el error de
estado estacionario. Con esto se busca aproximar lo mayor posible a la señal de
referencia.
2. ¿Es conveniente utilizar un control de tipo digital para algún proyecto?
En mi opinión si puede ser conveniente usar este tipo de controladores digitales para un
sistema, debido a que no se necesitan tantos componentes a comparación del sistema
analógico. Además con este tipo de sistema es posible dar un valor más preciso a las
ganancias proporcional, integral y derivativa, lo cual ayudará a que el sistema sea más
exacto a comparación del analógico.
Conclusión
En general se puede decir que los objetivos planteados se concretaron de manera exitosa. La
temperatura no se logra estabilizar del todo, sino que se mantiene oscilando, sin embargo, se
hicieron diversas pruebas aumentando y disminuyendo las ganancias proporcional, integral y
derivativa y en algunos casos entregaba resultados contraproducentes, por lo que se concluye
que los problemas de inestabilidad presentados pueden deberse a una falla en la versión del
simulador. Además se logró apreciar de manera clara como debe ser el comportamiento de una
señal al aplicar algún tipo de control y con eso se puede dar una idea de lo que se busca hacer
con esto, lo cual resulta bastante interesante para poder aplicar un control a un sistema que se
torne inestable para tratar de estabilizarlo en posteriores proyectos.