Presentado Por:
Presentado A:
Cead – Florencia.
Actividades a desarrollar
Para el análisis de la curva de reacción, se analizará la respuesta del sistema en lazo abierto ante
una entrada escalón, dicha entrada escalón es de 0v a 20v. Se debe definir el modelo del sistema y
analizar el comportamiento del sistema ante perturbaciones de tipo escalón teniendo en cuenta
que la temperatura límite o set point es de 90°C. Para ingresar las perturbaciones al sistema se debe
hacer lo siguiente:
Para el instante de tiempo t=0s se utiliza una de alimentación BAT1 de 20V, para el instante de
tiempo t=50s se conmuta otra fuente de alimentación BAT 2 de 30V y para el instante de tiempo
t=120s se conmuta nuevamente a la fuente de alimentación BAT1 de 20V.
Ecuación del Controlador PID
Donde 𝑒(𝑡) es el error de la señal y 𝑢(𝑡) es la entrada de control del proceso. 𝑘𝑝 es la ganancia
proporcional, 𝑡𝑖 es la constante de tiempo integral y 𝑇𝑑 es la constante de tiempo derivativa.
Método Ziegler-Nichols
El método de Ziegler-Nichols permite ajustar o "sintonizar" un regulador PID de forma empírica, sin
necesidad de conocer las ecuaciones de la planta o sistema controlado. Estas reglas de ajuste
propuestas por Ziegler y Nichols fueron publicadas en 1942 y desde entonces es uno de los métodos
de sintonización más ampliamente difundido y utilizado. Los valores propuestos por este método
intentan conseguir en el sistema realimentado una respuesta al escalón con un sobrepulso máximo
del 25%, que es un valor robusto con buenas características de rapidez y estabilidad para la mayoría
de los sistemas.
𝐾𝑜 ∗ 𝑒 −𝑠𝑡𝑜
𝐺(𝑠) =
(1 + 𝑠𝑦𝑜
Respuesta de salida a una entrada escalon
Configuramos el Heater Oven.
Para determinar la respuesta al escalón de la planta se debe retirar el controlador PID y sustituirlo
por una señal escalón.
Con los datos que arroja la grafica se hallan los parametros 𝐾𝑜 𝑌𝑜 𝑇𝑜
𝑡𝑜 = 𝑡𝑖 − 𝑡𝑜 = 4 − 2 = 2
𝑦𝑜 = 𝑡2 − 𝑡𝑖 = 18 − 4 = 14
𝑌1 − 𝑌𝑂 9000 − 30
𝑘𝑜 = = = 897
𝑈1 − 𝑈𝑂 10 − 0
𝑎 = 𝑘𝑝 = 0.0156
𝑘𝑝 ∗ 𝑡 0.0156 ∗ 0.1
𝑏= = = 0.0039
𝑡𝑖 4
𝑘𝑝 ∗ 𝑡𝑑 0.0156 ∗ 1
𝑐= = = 0.156
𝑡 0.1
Codigo de programacion pic compiler
#INCLUDE <16F877.h>
#device adc= 10
#use delay(clock=4000000)
void main(){
int16 valor;
int16 control;
float a,b,c;
float temp_limit;
float rT,eT,iT,dT,yT,uT,iTO,eTO,iT_1,eT_1;
float max,min;
min = 0.0;
max =1000.0;
iT_1=0.0;
eT_1=0.0;
a= 0.0156;
b= 0.0039;
c= 0.156;
temp_limit=500.0;
TRISC=0;
setup_timer_2(t2_div_by_4,249,1);
setup_ccp1(ccp_pwm);
setup_adc_ports(all_analog);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
while(1) {
valor=read_adc();
yT=valor*500.0/1024.0;
rT=temp_limit;
eT=rT-yT;
iT=b*eT+iTO;
dT=c*(eT-eTO);
uT=iT+a*eT+dT;
if (uT>max) {
uT=max;}
else {
if (uT<min){
uT=min;}
control=uT;
set_pwm1_duty(control);
iTo=iT;
eTO=eT;
delay_ms(100);
}
Implementacion controlador pic
Referencias bibliograficas
http://csd.newcastle.edu.au/SpanishPages/clase_slides_download/C07.pdf