Fase 4 -Implementar controlador en un microcontrolador
David Antonio Bolaño Benitez
CC: [Link]
Curso Control Digital
Grupo 203041-1
Tutor: Joan Bustos
Universidad Nacional Abierta y a Distancia – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería -ECBTI
25/11/2022
1
2
INTRODUCCION
El presente trabajo tiene como finalidad implementa controladores digitales, teniendo en
cuenta diferentes perturbaciones para ser aplicados en procesos industriales y automatización de
líneas de producción, ya teniendo como base la función de transferencia se le debe implementar un
controlador PID.
3
OBJETIVOS
Estudiar y apropiar los conceptos unidad a estudiar.
Implementar un controlador PID.
Analizar el comportamiento del sistema ante perturbaciones de tipo escalón y realizar los
ajustes del controlador que considere pertinentes.
4
ACTIVIDAD
Cálculos de función de transferencia
Figura 1. representación del sistema con la gráfica obtenida.
Por motivos de un error en las fases anteriores se procedió a realizar el ajuste de la función
de transferencia obtenida realizando nuevamente el análisis para establecer el modelo analítico
(ecuación matemática) según la gráfica del simulador Proteus..
A continuación, es expuesto un modelo de primer orden sobre el cual vamos a trabajar para
poder modelar el comportamiento de nuestra planta.
El modelo está representado en su forma continua. Donde K es la ganancia del sistema, τ
es la constante de tiempo del proceso y θ es el retardo del proceso.
5
Figura 2. Valor inicial de la variable de temperatura 25C
Figura 3. Valor final de la variable de temperatura 850C
6
Como podemos ver en las gráficas de la figura 1 y 2 comienza en 25°C y llega hasta
850°C y que para conseguir esta respuesta tuvimos que alimentar la resistencia con 10V. Así
podemos obtener la ganancia del proceso con la siguiente formula:
Δ y 850−25 825
K= = =
Δu 10−0 10
K=82.5
Ahora teniendo estos valores tenemos que la ganancia K=82.5
Figura 4. Tiempo de establecimiento del sistema.
Observemos que la temperatura en la gráfica, se comienza a estabilizar más o menos a los
50 segundos, así podemos obtener la constante de tiempo de la variable temperatura con la
siguiente formula:
T establecimiento=4 τ
50
=τ → τ=12.5
4
7
Por último, solo nos falta averiguar el valor del retardo, para eso tenemos que ver cuánto se
demora en responder el horno una vez lo energizamos, pero vemos que el horno
responde instantáneamente, o sea que podría tener un retardo nulo, vamos a colocar un retardo
pequeño para la técnica de control por Ziegler y Nichols θ=1.
Así que, en términos generales, nuestro proceso del horno está representado por la siguiente
función de transferencia:
−1 S
82.5 e
G p ( S )=
12.5 S+1
Ziegler y Nichols propusieron unas tablas de sintonía de controladores PID a partir de
funciones de transferencias de primer orden con retardo.
Tabla [Link] controladores PID.
K p =1.2 ( 82.5∗1
12.5
)
K p =0.182
τ i =2
τ d=0.5
8
Implementación del controlador en un microcontrolador.
A partir del diseño del controlador PID de la fase 3 y el cálculo de las constantes Kp, Ti y
Td, realizar la implementación del controlador en un microcontrolador y analizar su
comportamiento ante diferentes perturbaciones.
Figura 5. Implementación del controlador.
Nota: Ajustar fuentes de voltaje según lo indicado en la guía
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) = 25
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
9
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 10v.
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 140°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 20V y para el instante de
tiempo t=120s se conmuta nuevamente a la fuente de alimentación BAT1 de 30V.
Ejecución.
Los parámetros Kp, Ti y Td se calculan según la Regla de Sintonización de Ziegler- Nichols
basada en la respuesta al escalon:
K p =0.182 τ i =2 τ d=0.5
Reemplazando los valores de Kp, Ti y Td en las ecuaciones dadas, y estableciendo un
periodo de muestreo T=0.1s según criterio T <τ0 /4, los parámetros del controlador discreto son:
a=K p=0.182;
K p T 0.182∗0.1
b= = =0.0091 ;
τi 2
K p τ d 0.182∗0.5
c= = =0.91
T 0.1
Código fuente en lenguaje C para PID discreto
10
// NOMBRE: David Bolaño Benitez
//CURSO: Control Digital
//GRUPO: 203041-1
//FECHA: 25/11/2022
//TUTOR: Joan Bustos
¿ INCLUDE< 16 F 877 A . H > ¿
¿ DEVICE ADC =10¿ USE DELAY ( CLOCK =4000000)
¿ FUSES XT , NOWDT
VOID MAIN () {
∫ 16 valor , control ;FLOAT a , b , c ;
FLOAT TEMPERATURA LIMITE ;
FLOAT rt , eT ,, dT , yT ,uT ,0 , eT 0 ;
FLOAT max , min;
min=0.0 ;
max=1000.0 ;
¿ 0=0.0 ;
eT 0=0.0;
a=0.182 ;
b=0.0091 ;c=0.91;
TEMPERATURA LIMITE=1400.0 ;
setup¿ (t 2¿ );
setupccp1 (ccp pwm );
setup¿ (all analog) ;
setupadc (adc ¿ ) ;
set ¿ (0) ;
while(true) {
valor=readadc ();
yT =5000.0∗valor /1024.0 ;
rT =TEMPERATURA LIMITE ;
eT =rT − yT ;
¿=b∗eT +¿ 0 ;
dT =c∗( eT −eT 0);
uT =¿+ a∗eT + dT ;
if (uT >max){
uT =max ;}else {
if (uT <min) {
uT =min ;
}
}
control=uT ;
set ¿ (control);
¿ 0=¿ ;eT 0=eT ;delay ms (100);
}
}
11
Figura 6. Ejecución del código en CCS compiler sin errores parte 1.
Figura 7. Ejecución del código en CCS compiler sin errores parte 2.
Como podemos apreciar en la figura 6 y 7 el programa se ejecuta sin errores y además se agregaron
los valores de a, b y c calculados anteriormente, y también se ajustó el set point el cual es de 140 C.
12
Figura 8. Implementación del controlador.
Como podemos ver en la figura 8 el programa está funcionando correctamente al agregarle
el código con los parámetros calculados al PIC16F877A.
Figura 9. Implementación del controlador estabilizado.
13
Como se puede ver en la figura 9 el sistema se encuentra ya finalizando el proceso y se puede ver que la
temperatura está en 140C y en el multímetro marca 1.4 ya que se tiene conectado en el divisor de voltaje el cual el
factor es de 100 y cada voltio que se mida en este serán 100C.
Figura 10. Grafica del valor pico del sistema.
Como se puede apreciar el sistema llega a un pico de 221C al estar la resistencia conectada
a la batería de 30V y seguidamente empieza a buscar el punto de asentamiento o el set point el cual
es 140.
14
Figura 11. Punto en la gráfica del sistema ante la entrada de la primera perturbación.
Como se puede ver en la figura 11 se genera la perturbación al hacer el cambio de batería
de 0V a 20V que con respecto al set point baja 7C y seguido vuelve a buscar este punto de
estabilización.
15
Figura 12. Punto en la gráfica después de la primera perturbación.
Como se puede ver en la figura 12 el sistema se vuelve a estabilizar después de la primera
perturbación llegando al set point el cual nos indica que el sistema está trabajando correctamente.
Figura 13. Punto en la gráfica del sistema ante la entrada de la segunda perturbación.
16
Como se puede ver en la figura 13 se genera la perturbación al hacer el cambio de batería
de 20V a 30V que con respecto al set point sube 8C y seguido vuelve a buscar el punto de
asentamiento.
Figura 14. Punto en la gráfica del sistema al finalizar la simulación.
Como se puede apreciar en la figura 14 el sistema después de haber tenido las dos
perturbaciones se estabiliza llegando al set point el cual es 140C.
Enlace de archivo ejecutable de proteus y archivo de CCS Compiler.
Link:[Link]
Link SSC: [Link]
17
CONCLUSION
A través del trabajo realizado se realizó la implementación de un controlador PID en un
sistema digital dando como resultado que es la más adecuada para ser aplicada al sistema del
horno, además al realizar los cálculos adecuado partiendo de la función de transferencia calculada
se procede a obtener los valores de las constantes de sintonización que se ingresaran al código
fuente para un PID discreto.
El controlador PID es uno de los controles o compensadores más utilizados actualmente en
la industria debido a su fácil sintonía y robustez en los diferentes procesos existentes. Este es
utilizado para llevar una variable física en nuestro caso temperatura a un punto de operación
específico (set point).
18
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.
131).Recuperado de [Link]
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, (pp.
133- 134). Recuperado de [Link]
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). Recuperado de [Link]
Ñ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
[Link]
ppg=226&docID=10740996&tm=1501271524084
Bertran, A. E. (2006). Procesado digital de señales. (pp. 270-282). [Link]
[Link]/es/ereader/unad/122308?page=270
Quinter, C. (2014). Control automático aplicado. (pp. 91-98). [Link]
[Link]/es/ereader/unad/70057?page=91
Bustos, J. (2018). Controlador PID en un microcontrolador. [Link]
19
20