You are on page 1of 8

UNIDAD 3: PASO 4 – DISEÑAR E IMPLEMENTAR UN CIRCUITO DE CONTROL

DIGITAL

RAFAEL ANTONIO PAJARO CASTRO – 1.044.926.272

ASIGNATURA
CONTROL DIGITAL
203041_16

JOAN SEBASTIAN BUSTOS.


TUTOR (A)

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)


INGENIERIA ELECTRONICA
CONTROL DIGITAL
MAYO 2018
Actividad por desarrollar.
Implementar un controlador PID en un microcontrolador PIC 16f877A para un
sistema de calefacción.
La simulación se debe desarrollar en Proteus utilizando el Heated Oven
(LumpedModel) y se establecerán los siguientes valores:

Temperature Ambient (°C)= 30


Thermal Resistence to Ambient (°C/W)= 0.7
Oven Time Constant (sec)= 10
Heater Time Constant (sec)= 1
Temperature coefficient (V/°C)= 1
Heating Power (W)= 120

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 100°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.
Desarrollo.

Se realizan las configuraciones del Heather tal como esta indicado en la guía.

Realizamos esta configuración sin el PID para poder observar el comportamiento


del sistema ante una entrada escalón.
En esta grafica podemos observa el comportamiento del Heather ante la entrada
escalón.

Aquí observamos la grafica completa del sistema y su curva de análisis.


Tomando los valores que nos arroja la curva como temperatura donde se estabiliza
el sistema (1.78k), y los tiempos 𝑡0 y 𝑡1 para determinar 𝜏0 . Estos valores se obtienen
en la guía y en la respuesta escalón de la curva.
Determinamos según la siguiente formula.
𝜏0 =𝑡1 - 𝑡0 = 5s – 4s =1s
у0 = 𝑡2 − 𝑡1 = 18𝑠 − 5𝑠 = 13𝑠
𝑦1 − 𝑦0 1780 − 30
𝑘0 = = = 175
𝑢1 − 𝑢0 10 − 0
Queda definido el modelo del sistema del calefactor.
𝑘0 𝑒 −𝑠𝜏0 𝑒 −𝑠
𝐺(𝑠) = = 175
1 + у0 𝑠 1 + 13𝑠
Para el siguiente plazo procedemos a calcular 𝑘𝑝 , 𝑡𝑖 𝑦 𝑡𝑑 según la regla de
sintonización de Ziegler-Nichols basada en la respuesta al escalón así:
𝑦 13
 𝑘𝑝 = 1.2 𝑘 0𝜏 = 1.2 175∗1 = 0.089
0 0
 𝑡𝑖 = 2𝜏0 = 2 ∗ 1 = 2
 𝑡𝑑 = 0.5𝜏0 = 0.5 ∗ 1 = 0.5
Ya conociendo los valores nos disponemos a reemplazarlos establecemos el
periodo de muestreo, debemos tener claro que T<𝜏0 /4, entonces tomamos T=0.1 s.
𝑎 = 𝑘𝑝 = 0.089
𝐾𝑝 𝑇 0.089 ∗ 0.1
𝑏= = = 0.00445
𝑡𝑖 2
𝑘𝑝 𝑡𝑑 0.089 ∗ 0.5
𝑐= = = 0.445
𝑇 0.1
Teniendo en cuenta estos datos procedemos a programar nuestro 16F877A.
El siguiente es el código de programación del PIC.

#include "C:\Users\PTM CRECIENTE\Desktop\RAFAEL


PAJARO\IMPORTANTE\UNIVERSIDAD\03 SEMESTRE\CONTROL
DIGITAL\PASO 5\pic\pic.h"
#use DELAY (CLOCK=1000000)
#FUSES XT,NOWDT
VOID MAIN (){
INT16 valor, control;
FLOAT a,b,c;
FLOAT TEMPERATURA_LIMITE;
FLOAT rt,eT,iT,dT,yT,uT,iT0,eT0;
FLOAT max,min;
min=0.0;
max=1000.0;
iT0=0.0;
eT0=0.0;
a=0.089;
b=0.00445;
c=0.445;
TEMPERATURA_LIMITE=1000.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(true){
valor=read_adc();
yT=5000.0*valor/1024.0;
rT=TEMPERATURA_LIMITE;
eT=rT-yT;
iT=b*eT+iT0;
dT=c*(eT-eT0);
uT=iT+a*eT+dT;
if (uT>max){
uT=max;
}
else{
if (uT<min)
{ uT=min;
}
}
control=uT;
set_pwm1_duty(control);
iT0=iT;
eT0=eT;
delay_ms(100);
}
}
En esta imagen observamos el sistema completo, las resistencias conectadas al
pin dos del PIC para que funcionen como valor de temperatura que se da en mv,
así tenemos un voltímetro que nos indica el valor medido. A la salida del PIC
tenemos conectado un transistor el cual entra al calentador además del switch el
cual utilizamos para dar las perturbaciones con las baterías seleccionadas y
también tenemos un voltímetro en esta entrada para visualizar el valor de voltaje
que estamos ingresando.

Podemos observa la grafica del sistema como se muestra que el sistema PID
funciona correctamente, aun ante las perturbaciones que le realizamos a los 50 y
120 segundos cambio de la fuente de 20 v a 30 v y luego regresamos a la de 20 v.
Bibliografía
 Bolaños, Y. H. & Pineda, L. F. & Mosquera V. H (2012). Didactic system for
the implementation of digital controllers .Revista Colombiana de Tecnologías
de Avanzada , Volumen 2, página 131.Recuperado
de http://hdl.handle.net/10596/4971
 Bolaños, Y. H. & Pineda, L. F. & Mosquera V. H (2012). Didactic system for
the implementation of digital controllers .Revista Colombiana de Tecnologías
de Avanzada , Volumen 2, página 133 - 134. Recuperado
de http://hdl.handle.net/10596/4971

You might also like