Académique Documents
Professionnel Documents
Culture Documents
Abstract— In this paper we present the procedures done in or- II. D ESCRIPCI ÓN DEL S ISTEMA
der to design a digital controller for a thermal system using Root
Locus based methods. The design process involves a previous El sistema que se trabajará en esta práctica está dado en la guı́a
system identificaction, also included in this report. The digital de laboratorio [1] y consiste de un volumen cuya temperatura
controller was implemented on a PSoC 5LP microcontroller, interna se desea controlar. Este se implementó como un
and some additional recquired circuitry. The practical results sistema en lazo cerrado con realimentación unitaria negativa
are validated by simulation and conclussions regarding the con una acción de control proporcional-integral discreta. El
performance of the derived models and designed controller are
presented. diagrama de bloques se muestra en la figura 1, siendo T el
periodo de muestreo, y se usa un retenedor de orden cero.
1
s (z−a)
Y (s)
K 1−e−T s G(s)
I. I NTRODUCCI ÓN Σ (z−1) s
T
−
E L diseño de controladores digitales hereda muchas de las
técnicas empleadas para el dominio continuo, entre ellas,
el diseño de controladores basado en el Lugar Geométrico de
las Raı́ces (LGR). Este diagrama, que nos indica el compor- Fig. 1. Diagrama de bloques del sistema con control discreto
tamiento de los polos del sistema en lazo cerrado, permite
diseñar controladores optimizando directamente los criterios En lo que sigue se describen en detalle la implementación de
de respuesta temporal, que es la métrica de desempeño en la planta y sistema de control.
la que solemos estar interesados. El traslado de las técnicas
basadas en el LGR del dominio continuo al dominio discreto
A. Planta
implica únicamente mapear del plano complejo s al plano
complejo z. La planta consiste de: una cámara de calentamiento, un
actuador térmico, un sensor LM35, y un acondicionamiento
En esta práctica de laboratorio se realiza el diseño de un para obtener una sensibilidad de 100 mV/◦ C. A continuación
controlador digital Proporcional-Integral (PI) para una planta se especifica la implementación de estos elementos.
térmica, en la que el objetivo es fijar la temperatura en un valor
deseado indicado por la referencia, esto sujeto a requisitos 1) Cámara de calentamiento:
impuestos a la respuesta temporal.
Es el volumen dentro del cual se controla la temperatura.
En la sección II se describe el montaje experimental usado en Esta debe ser de un material aislante térmico, que para esta
la práctica de laboratorio, incluyendo el diseño de los circuitos implementación fue poliestireno expandido 1 . Como actuador
que componen la planta y el sistema de control, y detalles se implementó un bombillo de 12 VDC de 20 W. La figura 2
de la implementación en el microcontrolador del controlador muestra el sistema térmico implementado para la práctica.
digital, ası́ como las condiciones de operación en las cuales se
realizaron los experimentos. En la sección III se muestran las 2) Sensado y Acondicionamiento:
mediciones obtenidas de la respuesta al escalón en lazo abierto Como elemento de sensado se utilizó el sensor de temperatura
de la planta, ası́ como la obtención del modelo aproximado semiconductor LM35DZ de National Semiconductors, cuya
basado en estos datos, y su verificación por simulación. En sensibilidad nominal es de 10 mV/◦ C. Para evitar ruido en el
la sección IV se realizan los cálculos para la obtención del sensado se utilizó el circuito recomendado en [2](figura 4).
controlador discreto PI. En la sección V se presentan los resul- Para cumplir con el requisito de 100 mV/◦ C de sensibilidad
tados prácticos obtenidos de la implementación del sistema de se implementó un amplificador de ganancia 10. El circuito
control y se comparan con las simulaciones correspondientes. completo de sensado y acondicionamiento se muestra en la
Finalmente en la sección VI se presentan las conclusiones de
la práctica. 1 Nombre común: icopor.
INFORME DE LABORATORIO PRÁCTICA NO. 3, CONTROL 2, NOVIEMBRE 2017 2
figura 3. 11V → 4V
37 2314
Vo = Vi + v
223 1115
El circuito resultante considerando condiciones de balance
eléctrico se muestra en la figura 5.
3) Actuador:
El actuador, elemento encargado de aplicar la potencia reque-
rida por el controlador a la planta para generar calor, consiste
de un seguidor de potencia con un transistor en configuración
Darlington implementado usando el circuito integrado TIP122.
El circuito empleado se muestra en la figura 4.
0,5V → −10, 7V
4V → 11V
• Resolución de 16 bit.
• Módulo en 2000 cuentas.
• Reloj de 1 kHz.
2000
El periodo de muestreo se calcula como: T = 100 Hz =
20 s. Para temporizar la ejecución de la acción de control
se hizo pooling sobre la bandera tc (Conteo de tiempo) del
temporizador.
Se incluye además saturación por código a los valores medidos
de VOH y VOL . En el Apéndice se anexa el código fuente
utilizado para la implementación del controlador digital.
Fig. 6. Diagrama circuital del acondicionador de salida
III. I DENTIFICACI ÓN DEL S ISTEMA
Para la identificación del sistema se midió la respuesta al
C. Implementación del controlador digital escalón de la planta en lazo abierto. En primera instancia
Para la implementación de los controladores digitales se se identificó la región lineal de la planta como valores entre
usó el Kit de desarrollo CY8CKIT-059 que incorpora el 40◦ y 80◦ , siendo zona muerta para valores inferiores a
microcontrolador CY8C5888LTI-LP097 de la familia 5LP 40◦ y ocurriendo saturación para valores superiores a 80◦ .
de Cypress Semiconductors [4]. Este microcontrolador tiene Conociendo ya la región lineal se aplicaron escalones unitarios
embebidos varios Conversores Análogicos-Digitales (ADC) en este rango, correspondiendo a voltajes en el rango de 5 VDC
y Conversores Digitales-Analógicos(DAC) lo que facilita a 9 VDC .
la implementación del controlador discreto. A continuación Las respuestas obtenidas de esta medición se muestran en la
se listan los bloques usados y su configuración para la figura 7, donde se observa la gran similitud entre las curvas
implementación del controlador. para diferentes valores de tensión, validando ası́ la estimación
del rango lineal de la planta. Dado que la respuesta muestra el
1) Conversor Analógico-Digital: comportamiento de una función de primer orden, se hará una
Este se implementó mediante el bloque de Convertidor aproximación a la función de transferencia de la planta de la
Analógico-Digital Delta Sigma que permite conversión a alta forma:
K
resolución sacrificando altos recursos de hardware lógico del G(s) =
τs+1
microcontrolador, desventaja que no es pertinente para esta
aplicación a diferencia de la resolución. La configuración Donde K es la ganancia del sistema. Siendo la entrada
empleada para este bloque fue: unitaria, de la figura 7 se mide K = 0,46. La constante de
tiempo τ es el tiempo que le toma al sistema llegar al 63.2 %
• Modo de conversión de una sóla muestra activado por
de su valor de establecimiento, por lo que de las mediciones
software.
se obtiene τ = 80 s.
• Resolución de 16 bits.
• Rango de entrada endre VSSA y VDDA (0 V y 5 V).
• Voltaje de referencia de VDDA/4 con capacitor de filtrado.
IIm(zd )
IV. D ISE ÑO DEL C ONTROLADOR a = IRe(zd ) − = 0,7397
tan(6 (z − a))
Dado que la planta es un sistema de primer orden sin polos en
Finalmente se haya la ganancia mediante la condición de
el origen se decidió implementar un controlador Proporcional-
magnitud como:
Integral (PI) para lograr error de posición en estado estacio-
nario nulo. La función de transferencia en tiempo discreto del 1
K= = 3,2896
controlador PI es: || (z−a)
(z−1) |zd G(z)|zd ||
Tz (z − a)
C(z) = Kp + Ki =K Con lo que se obtiene la función de transferencia del contro-
z−1 (z − 1)
lador:
Kp 3,2896 z − 2,433
Donde K = Kp + Ki T y a = Kp +Ki T . C(z) =
z−1
Como criterios de diseño en la respuesta temporal se escogie-
Como último paso del diseño se debe expresar la función
ron:
del controlador como una ecuación en diferencias para su
ts (2 %) = 250 s ; Mp = 1 %
implementación en el microcontrolador:
Con lo que se procede a diseñar el controlador. U (z) 3,2896 z − 2,433
C(z) = =
Para el paso de la función de transferencia al dominio z se E(z) z−1
determinó el periodo de muestreo apropiado usando el criterio
Donde U (z) y E(z) son las señales de salida del controlador
del tiempo de subida. En la figura 8 se muestra la respuesta
y error en el dominio de z. Entonces se tiene que:
al escalón junto con el tiempo de subida en lazo cerrado con
realimentación unitaria del modelo obtenido en la sección III, (3,2896 z − 2,433)E(z) = (z − 1)U (z)
resultando en tr = 252s. Aplicando el criterio del tiempo de
subida: Pasando a potencias negativas:
tr tr
≤T < (3,2896 − 2,433 z −1 )E(z) = (1 − z −1 )U (z)
12 8
INFORME DE LABORATORIO PRÁCTICA NO. 3, CONTROL 2, NOVIEMBRE 2017 5
V. R ESULTADOS
A. Simulaciones
Para verificar el diseño realizado del controlador PI se grafica
el LGR de la función de transferencia en lazo cerrado con Fig. 11. Diagrama de bloques usado para simulación en MATLAB Simulink.
controlador Go (z) = C(z) G(z) en la figura 9, donde se puede
observar que los polos de lazo cerrado quedaron ubicados en
las posiciones deseadas según el diseño, esperando por tanto Los resultados obtenidos cumplen con los criterios de diseño
que la respuesta temporal al escalón tenga las caracterı́sticas establecidos en cuanto a la respuesta temporal, y las curvas
deseadas. de salida y error coinciden de forma muy cercana a las curvas
simuladas, aunque en la práctica la planta resulto tener una
respuesta ligeramente más rápida. La diferencia más notable
se observa en la curva de la señal de control, resultando esta
en la práctica con un valor medio menor al valor medio de la
señal obtenida por simulación.
Fig. 10. Respuesta al escalón del sistema con controlador en lazo cerrado.
B. Mediciones
Para la verificación experimental del diseño realizado se midió
la respuesta del sistema para una secuencia de tres escalones
de referencia en la región lineal de la planta. En la figura
12 se muestran los resultados obtenidos de la medición de
las señales de referencia, salida, control y error (lı́nea sólida)
para tres escalones de referencia en (5, 6, 7) VDC , y se
comparan con los valores obtenidos por simulación para las Fig. 12. Mediciones hechas de la respuesta del sistema para referencia de 5
V (50 ◦ , arriba), 6 V (60 ◦ , medio), y 7 V (70 ◦ , abajo.)
mismas condiciones (linea punteada). El diagrama de bloques
usado para la simulación en MATLAB Simulink se muestra
INFORME DE LABORATORIO PRÁCTICA NO. 3, CONTROL 2, NOVIEMBRE 2017 6
/ / R e f e r e n c i a en 16 b i t s
/ / ( s e p i d e en 32 b i t s p a r a e v i t a r o v e r f l o w )
a d c o u t = ADC GetResult32 ( ) ;
/ / E r r o r de c u e n t a s a v o l t a j e y e m u l a c i ó n d e l v o l t a j e de e r r o r
e = ADC CountsTo Volts ( a d c o u t ) ;
e = ( e *6.027027027) − 12.60810811;
/ / D e t i e n e l a c o n v e r s i ó n
ADC StopConvert ( ) ;
/ / Conmuta l a s e ñ a l d e l s e n s o r a l ADC
AMUX Select ( 1 ) ;
/ / Empieza l a c o n v e r s i ó n en e l ADC
ADC StartConvert ( ) ;
/ / E s p e r a r e s u l t a d o de l a c o n v e r s i ó n
ADC IsE ndC onve rsio n ( ADC WAIT FOR RESULT ) ;
/ / S a l i d a d e l s e n s o r en 16 b i t s ( s e p i d e en 32 b i t s p a r a e v i t a r o v e r f l o w )
a d c o u t = ADC GetResult32 ( ) ;
/ / S e ñ a l s e n s a d a de c u e n t a s a v o l t a j e y e m u l a c i ó n
s n s = ADC CountsTo Volts ( a d c o u t ) ;
sns = sns * 2 . 5 ;
/ / D e t i e n e l a c o n v e r s i ó n
ADC StopConvert ( ) ;
/ / C a l c u l a y a p l i c a l a a c c i ó n de c o n t r o l s i t = nT , n = 1 , 2 , 3 . . .
t c = T i m e r R e a d S t a t u s R e g i s t e r ( ) & 0 b00000001 ;
i f ( t c == 1 ) {
/ / C á l c u l o de l a s e ñ a l de c o n t r o l
u = a0 * e + b0 * e p r e v + c0 * u ;
/ / S a t u r a c i ó n p o r s o f t w a r e
i f ( u > 11){
u = 11;
} e l s e i f ( u < −10.7){
u = −10 .7;
}
/ / A c t u a l i z a c i ó n de v a r i a b l e de e r r o r
e prev = e ;
/ / A c o n d i c i o n a l a s e ñ a l de c o n t r o l e n t r e 0 . 5 y 4 V
v out = ( u *0.186950672) + 2.168;
L C D P o s i t i o n ( 1 u , 10 u ) ;
s p r i n t f ( s t r , ” %1.2 f V” , u ) ;
LCD PrintString ( s t r ) ;
/ / S e ñ a l de c o n t r o l de v o l t i o s a c u e n t a s
v out = v out * 62.5;
VDAC SetValue ( ( u i n t 8 ) v o u t ) ;
Timer Start ( ) ;
}
/ / E s c r i t u r a de v a l o r e s a l a LCD
LCD Position (0 u , 2u ) ;
s p r i n t f ( s t r , ” %1.1 f V ” , s n s ) ;
LCD PrintString ( s t r ) ;
LCD Position (1 u , 2u ) ;
s p r i n t f ( s t r , ” %1.1 f V ” , e ) ;
LCD PrintString ( s t r ) ;
CyDelay ( 1 0 u ) ;
}
}