Sie sind auf Seite 1von 12

Fase 3- Implementar el controlador en un microcontrolador

Tutor/a: Fredy Valderrama

Estudiantes:

Diego Felipe Rojas Rodríguez Código: 1015439922

José Daniel Paiba Código: 1.024.545.826

José Guillermo Rodríguez código: 80854487

Jonathan José Rincón código: 1069745777

Julián Alberto Celis código:

Grupo: 203041_5

Universidad Nacional Abierta y a Distancia UNAD

Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI

Ingeniería Electrónica

Curso: Control Digital

Bogotá 28 de noviembre de 2019


Introducción
En el siguiente documento se presenta el desarrollo correspondiente a la Fase 3 del
curso de control digital, el cual busca darles continuidad a las actividades anteriores
del curso, implementando el diseño del controlador PID de la actividad pasada, en un
microcontrolador simulado en Proteus, para controlar la temperatura de un calefactor,
y ver si respuesta o desempeño frente a perturbaciones presentadas el calentador
cuenta con las siguientes características:
La simulación se debe desarrollar en Proteus utilizando el modelo
Heated Oven (LumpedModel) con la siguiente configuración en
Parámetros:
• Temperature Ambient (°C)= 27
• Thermal Resistence to Ambient (°C/W)= 0.5
• Oven Time Constant (sec)= 10
• Heater Time Constant (sec)= 1
• Temperature coefficient (V/°C)= 1
• Heating Power (W)= 150
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 su comportamiento ante
perturbaciones de tipo escalón, teniendo en cuenta que la
Temperatura límite o set point es de 130°C.
Para ingresar las perturbaciones al sistema se debe hacer lo siguiente:
En el instante de tiempo t=0s se utiliza una de alimentación BAT1 de
30V, para el instante de tiempo t=50s se conmuta otra fuente de alimentación BAT 2
de 15V y para el instante de tiempo t=120s se conmuta nuevamente a la fuente de
alimentación BAT1 de 30V.
RESUMEN
Un controlador PID (controlador proporcional, integral y derivativo) es un mecanismo
de control simultáneo por realimentación ampliamente usado en sistemas de control
industrial. Este calcula la desviación o error entre un valor medido y un valor
deseado.

El algoritmo del control PID consta de tres parámetros distintos: el proporcional, el


integral, y el derivativo. El valor proporcional depende del error actual, el integral
depende de los errores pasados y el derivativo es una predicción de los errores
futuros. La suma de estas tres acciones es usada para ajustar el proceso por medio
de un elemento de control, como la posición de una válvula de control o la potencia
suministrada a un calentador.
Objetivos
 Implementar el controlador PID en un microcontrolador.
 Simular el microcontrolador y entender su comportamiento.
 Graficar la temperatura del calefactor respecto al tiempo y ver cómo reacciona
frente a perturbaciones.
 Calcular el procedimiento matemático mediantes fórmulas para llegar a la
ecuación base a compilar.
Desarrollo de la actividad

Para el desarrollo de la actividad, se tiene en cuenta el diseño del controlador PID


que se creó en la Fase 1 y 2:

Analizamos la gráfica y obtenemos los valores de L y T:


T =15−1.2=13.8
L=1.2
Ahora tenemos que
τ 0=t 1−t 0 =2.2−1.2=1

Υ 0=t 2−t 1=15−1.2=13.8

y 1− y 0 1600−27
K 0= = =143
u1−u 0 11−0

Υ0 13.8
k p=1.2 =1.2 =0.1158
K0 τ0 ( 143 )( 1 )
T i=2 τ 0=2 ( 1 )=2

T d=0.5 τ 0=0.5 ( 1 )=0.5

Ahora calculamos las constantes a, b y c, teniendo en cuenta que T < τ 0 /4 , es decir se


toma como T=0.1:
a=k p =0.1158

k p T ( 0.1158 )( 0.2 )
b= = =0.01158
Ti 2
k p T d (0.1158 )(0.5)
c= = =0.579
T 0.1

Ya teniendo las constantes, pasamos a hacer el montaje del circuito en Proteus:

Ahora creamos el software que se implementará en el microcontrolador:


#INCLUDE <16F877A.H>
#DEVICE ADC=10
#USE DELAY(CLOCK=4000000)
#FUSES XT,NOWDT
VOID MAIN(){
INT16 valor, control; //Variables para lectura de ADC y señal de Control a modulo
CCP
FLOAT a,b,c; //Constantes para parámetros de controlador PID
FLOAT TEMPERATURA_LIMITE; //Referencia de Temperatura
FLOAT rt,eT,iT,dT,yT,uT,iT0,eT0; //Variables de controlador PID
FLOAT max,min; //Variables para anti-windup
min=0.0;
max=1000.0;
iT0=0.0;
eT0=0.0;
a=0.1158;
b=0.01158;
c=0.579;
TEMPERATURA_LIMITE=1300.0; //Set Point r(kT)= 130°C
setup_timer_2(t2_div_by_4,249,1); //Configuración de Timer 2 para establecer frec.
PWM a 1kHz
setup_ccp1(ccp_pwm); //Configurar modulo CCP1 en modo PWM
setup_adc_ports(all_analog); //Configurar ADC
setup_adc(adc_clock_internal);
set_adc_channel(0); //Seleccionar Canal 0 para sensor de Temperatura
while(true){
valor=read_adc(); //Leer ADC
yT=5000.0*valor/1024.0; //Escalizar señal de salida y(kT)
rT=TEMPERATURA_LIMITE;
eT=rT-yT; //Calcular señal de error e(kT)
iT=b*eT+iT0; //Calcular termino integrativo i(kT)
dT=c*(eT-eT0); //Calcular termino derivativo d(kT)
uT=iT+a*eT+dT; //Calcular señal de control u(kT)
if (uT>max){ //Anti-windup
uT=max;
}
else {
if (uT<min){
uT=min;
}
}
control=uT;
set_pwm1_duty(control); //Transferencia de señal de control al actuador
iT0=iT;
eT0=eT;
delay_ms(100); //Periodo de muestreo T=0.1s
}
}
Ahora compilamos el archivo y lo cargamos en Proteus. Simulamos como lo indica la
guía alternando las fuentes en T=50s y T=120s, y obtenemos la siguiente gráfica.
Como podemos ver en la gráfica, el sistema se estabiliza a loa 130 grados. Luego en
T=50, se cambia la fuente BAT2 de 15V y la temperatura baja, pero el sistema se
estabiliza de nuevo y vuelve a 130 grados. De igual manera sucede en T=120
cuando se vuelve a conectar BAT1 de 30V, la temperatura sube y el sistema se
estabiliza de nuevo a 130 grados después de un par de segundos.
Conclusiones
 Se logró implementar el controlador PID en un microcontrolador en Proteus.
 Se pudo observar cómo el sistema reacciona frente a perturbaciones
presentadas, nivelando y estabilizando la temperatura en su set point.
 El uso de software de simulación como Proteus facilita el aprendizaje y el
entendimiento del funcionamiento tanto de microcontroladores como de
controladores PID, y nos permite ver si los diseños hechos funcionan o son
correctos.
Referencias
 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. 128, 131, 133-134).Recuperado
de  http://hdl.handle.net/10596/4971
 Ñeco García, Ramón P., Reinoso García, Oscar, and García Aracil,
Nicolás. Apuntes de sistemas de control. Alicante, ES: ECU, 2013. ProQuest
ebrary. (pp. 203-211). Recuperado
de http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?
ppg=226&docID=10740996&tm=1501271524084
 Barrera, C. E. & Soria, L. R. (2010) Congreso Anual de la Asociación de
México de Control Automático. Puerto Vallarta, Jalisco, México. Diseño e
Implementación de Controladores Digitales Basados en Procesadores
Digitales De Señales. Recuperado de  http://hdl.handle.net/10596/4994
 Ruge, I. A. (2015). Método básico para implementar un controlador digital pid
en un microcontrolador pic para desarrollo de aplicaciones a bajo costo.
Editorial Pearson Education. Prentice Hall. Tercera Edición. Capítulo I. (pp. 1-
13). México, 1998. Recuperado de  http://hdl.handle.net/10596/4993
 García, J. & Rodríguez, J. & Vidal, J.  (2005). Aprenda Matlab 7.0 como si
estuviera en primero. Diciembre 2005. Recuperado
de    http://hdl.handle.net/10596/4988

Das könnte Ihnen auch gefallen