Laboratorio 3 - Control II

´ ´ INFORME DE LABORATORIO PRACTICA DE DISCRETIZACION, CONTROL 2, SEPTIEMBRE 2017 1 Laboratorio Control II - Discretiz

Views 120 Downloads 1 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

´ ´ INFORME DE LABORATORIO PRACTICA DE DISCRETIZACION, CONTROL 2, SEPTIEMBRE 2017

1

Laboratorio Control II - Discretizaci´on de Controladores Santiago Cuervo, Brayan Ru´ız, Juan V´elez Universidad Distrital Francisco Jos´e de Caldas Facultad de Ingenier´ıa Bogot´a, Colombia

Abstract— In this laboratory report we present the theoretical and experimental procedures, and results of the discretization of a lead compensator applied to a second order unstable system. The discretization was implemented by five different methods on a PSoC 5LP microcontroller. The practical results are validated by simulation and conclussions regarding the performance of the different discretization methods are presented.

´ I. I NTRODUCCI ON Os sistemas de control digitales han ido reemplazando progresivamente a los sistemas de control anal´ogicos en una gran cantidad de aplicaciones a peque˜na y gran escala, esto debido a la creciente disponibilidad de microcomputadores de gran potencia y bajo costo, y a las muchas ventajas que ofrecen los sistemas de control digitales, como lo son versatilidad, escalabilidad, alta confiabilidad y a menudo menor costo que sus contrapartes anal´ogicas [1].

L

Los sistemas digitales no pueden integrar, ni tampoco derivar de forma exacta puesto que su resoluci´on temporal es finita. Por esta raz´on en la implementaci´on de sistemas de control en dispositivos digitales se requiere usar aproximaciones num´ericas para estas operaciones en forma de s´olo sumas y productos. Esta pr´actica de laboratorio tiene por objetivo la implementaci´on de controladores usando estas t´ecnicas de aproximaci´on y su aplicaci´on en el control de un sistema. En la secci´on II se describe el montaje experimental usado en la pr´actica de laboratorio, incluyendo el dise˜no de los circuitos que componen la planta y el sistema de control anal´ogico, y detalles de la implementaci´on en el microcontrolador del controlador digital, as´ı como las condiciones de operaci´on en las cuales se realizaron los experimentos. En la secci´on III se realizan los c´alculos para la discretizaci´on del controlador por cinco diferentes t´ecnicas: diferencia atr´as, diferencia adelante, regla trapezoidal, invarianza al impulso, e invarianza al escal´on; se obtienen adem´as las ecuaciones en diferencias a implementar en el microcontrolador. En la secci´on IV se presentan los resultados pr´acticos obtenidos de las discretizaciones y se comparan con las simulaciones correspondientes para tres valores diferentes del periodo de muestreo. Finalmente en la secci´on V se presentan las conclusiones de la pr´actica. ´ DEL S ISTEMA II. D ESCRIPCI ON El sistema que se trabajar´a en esta pr´actica est´a dado en la gu´ıa de laboratorio [3] y consiste de una planta de segundo

orden: G(s) = −

2 s2

Y un compensador en adelanto: C(s) = −3

(s + 1) (s + 6)

El sistema de control se implementar´a tanto con el controlador en tiempo continuo, como con versiones discretizadas de este. Los diagramas de bloques del sistema a implementar con control continuo y control discreto se muestran en las figuras 1 y 2 respectivamente. En el sistema con control discreto T es el periodo de muestreo, y se usa un retenedor de orden cero, −T s cuya funci´on de transferencia es Gzoh = 1−es . 1 s

Σ

(s+1) −3 (s+6)

Y (s)

− s22



Fig. 1. Diagrama de bloques del sistema con control continuo 1 s

Σ

C(z) T

1−e−T s s

− s22

Y (s)



Fig. 2. Diagrama de bloques del sistema con control discreto

A continuaci´on se describe la implementaci´on circuital del controlador y de la planta. A. Circuito de la Planta La planta se implement´o mediante dos integradores de ganancia unitaria en cascada con amplificadores operacionales y un amplificador inversor de ganancia 2. El diagrama circuital se muestra en la figura 3. La funci´on de transferencia de el circuito integrador es: Vo (s) 1 =− Vi (s) RCs Por facilidad se escoge el valor del condensador en 1.5 µF , seg´un lo cual se determina el valor de la resistencia para ganancia unitaria:

´ ´ INFORME DE LABORATORIO PRACTICA DE DISCRETIZACION, CONTROL 2, SEPTIEMBRE 2017

2

De donde se tiene que: C1 =3 C2

1 =1 R1 C 1

;

1 =6 R2 C2

;

Escogiendo C1 = 1 µF se obtienen los dem´as valores: C2 = 330 nF

1 1 = ≈ 666 kΩ C 1,5µF

Por tanto los valores de los elementos del doble integrador son: R1 = R2 = 666 kΩ

;

C1 = C2 = 1,5 µF

Para el amplificador de ganancia 2 se plantea la ecuaci´on de balance: A+ = A− + 1 = 2 + 1 = 3 Por lo que se requerir´a una resistencia de balance R4 en la entrada no inversora. Se escoge la resistencia del lazo de realimentaci´on R5 = 30 kΩ, seg´un lo cual se calculan R4 y R3 : R3 =

30 kΩ = 15 kΩ 2

;

R1 = 1 M Ω

;

R2 ≈ 505 kΩ

C. Circuito Acondicionador

Fig. 3. Diagrama circuital de la planta

R=

;

R4 =

30 kΩ = 10 kΩ 3

La se˜nal de error requiere acondicionamiento para ser procesada por el microcontrolador, dado que el ADC establece un rango de entrada m´aximo entre Vssa + 0.1 V y Vdda - 0.25 V, siendo Vssa y Vdda el voltaje de referencia y de alimentaci´on anal´ogica del microcontrolador, respectivamente. Para evitar overflow debido a variaciones del voltaje de alimentaci´on USB se define el rango de la se˜nal de error entre 0.3V y 4V, lo cual implica que en la mayor´ıa de casos no se aprovecha el rango completo de cuentas del convertidor, pero se evitan para todos los casos errores debido a voltajes fuera del rango de entrada. El acondicionamiento se hace con amplificadores operacionales en configuraci´on sumador-restador. El rango entrada/salida de este se define como: −10, 7v → 0,3v 11v → 4v Siendo -10.7v y 11V los valores de VOL y VOH respectivamente, medidos con alimentaci´on de ±12v. La ecuaci´on de salida del amplificador es: 2314 37 Vi + v 223 1115 El circuito resultante considerando condiciones de balance el´ectrico se muestra en la figura 5. Vo =

B. Circuito del Compensador El circuito que describe la funci´on de transferencia del compensador se muestra en la figura 4 [2]. La funci´on de transferencia de este circuito es: Vo (s) R2 (R1 C1 )s + 1 =− Vi (s) R1 (R2 C2 )s + 1

Fig. 5. Diagrama circuital del acondicionador de entrada

Fig. 4. Diagrama circuital del controlador continuo

Que reescribi´endola en la forma de la funci´on de transferencia dada para el controlador queda como: Vo (s) C1 s + =− Vi (s) C2 s +

1 R1 C1 1 R2 C2

Dado que el DAC est´a limitado en el rango de voltajes de salida a valores entre 0V y 4.08V tambi´en se hace necesario acondicionar la se˜nal a la salida del microcontrolador. El rango de entrada-salida de este acondicionador es: 0,5v → −10, 7v 4v → 11v

´ ´ INFORME DE LABORATORIO PRACTICA DE DISCRETIZACION, CONTROL 2, SEPTIEMBRE 2017

Se considera 0.5V como el voltaje m´ınimo para evitar que prime el efecto del offset y p´erdidas del amplificador operacional para voltajes en el rango de las decenas de mV. La ecuaci´on que define el acondicionador de salida es: Vo =

486 223 Vi − v 35 35

El dise˜no considerando balance el´ectrica resulta en el circuito de la figura 6.

3

2) Conversor Digital-Anal´ogico: Para la conversi´on Digital-Anal´ogica se empleo el bloque Convertidor Digital-Anal´ogico de Voltaje de 8-bit. Este tiene una resoluci´on fija de 8 bits, los par´ametros configurados fueron: • Rango de salida entre 0 y 4.08V. • Valor inicial en 2.04V. • Tiempo de levantamiento lento.

3) Temporizador: Este se us´o para configurar el periodo de muestreo y se implement´o mediante el bloque de Temporizador. La configuraci´on de par´ametros fue: • Resoluci´ on de 8 bit. • M´ odulo en 200 cuentas. • Reloj de 2 kHz.

Fig. 6. Diagrama circuital del acondicionador de salida

El periodo de muestreo se calcula como: T = 2 200 kHz = 0,1 s. Al puerto tc (Conteo de tiempo) del temporizador se conect´o un m´odulo ISR (Rutina de Servicio de Interrupci´on) para que cumplido el conteo a 200 cuentas se ejecute una interrupci´on que calcula y aplica la acci´on de control. En el Ap´endice se anexa el c´odigo fuente utilizado para la implementaci´on del controlador digital.

D. Implementaci´on del controlador digital Para la implementaci´on de los controladores digitales se us´o el Kit de desarrollo CY8CKIT-059 que incorpora el microcontrolador CY8C5888LTI-LP097 de la familia 5LP de Cypress Semiconductors [4]. Este microcontrolador tiene embebidos varios Conversores An´alogicos-Digitales (ADC) y Conversores Digitales-Anal´ogicos(DAC) lo que facilita la implementaci´on del controlador discreto. A continuaci´on se listan los bloques usados y su configuraci´on para la implementaci´on del controlador. 1) Conversor Anal´ogico-Digital: Este se implement´o mediante el bloque de Convertidor Anal´ogico-Digital Delta Sigma que permite conversi´on a alta resoluci´on sacrificando altos recursos de hardware l´ogico del microcontrolador, desventaja que no es pertinente para esta aplicaci´on a diferencia de la resoluci´on. La configuraci´on empleada para este bloque fue: • • • •

Modo de conversi´on de una s´ola muestra activado por software. Resoluci´on 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.

´ DEL C ONTROLADOR III. D ISCRETIZACI ON La discretizaci´on del controlador se realiz´o mediante cinco t´ecnicas: diferencia atr´as, diferencia adelante, regla trapezoidal, invarianza al impulso e invarianza al escal´on. Las tres primeras se basan en aproximaciones num´ericas a la derivada, mientras que las dos u´ ltimas son m´etodos para conservar en el controlador discreto la respuesta temporal del controlador continuo a entradas impulso y escal´on. A continuaci´on se realizan los c´alculos para obtener la funci´on de transferencia pulso del controlador discreto y la ecuaci´on en diferencias a implementar en el microcontrolador seg´un las cinco t´ecnicas de discretizaci´on. A. Diferencia Atr´as Se hace la aproximaci´on por diferencia atr´as a la variable compleja s: 1 − z −1 s= T Con lo que se obtiene: C(z) = −3

1−z −1 T 1−z −1 T

+1 +6

= −3

(1 + T ) − z −1 U (z) = (1 + 6T ) − z −1 E(z)

Eliminando denominadores: De donde se obtiene una sensibilidad de: sadc

1,25 V µV = ≈ 19 216 CT A

(−3T − 3 + 3z −1 )E(z) = (1 + 6T − z − 1)U (z) Aplicando transformada Z inversa para obtener una ecuaci´on en diferencias: (−3 − 3T )e[k] + 3e[k − 1] = u[k](1 + 6T ) − u[k − 1]

´ ´ INFORME DE LABORATORIO PRACTICA DE DISCRETIZACION, CONTROL 2, SEPTIEMBRE 2017

Y finalmente despejando para u[k] se obtiene la funci´on de control discreta implementable en el microcontrolador: (−3 − 3T )e[k] + 3e[k − 1] + u[k − 1] u[k] = (1 + 6T )

4

Evaluando y aplicando transformada Z: C(z) = 15T Z{e−6kT } =

U (z) 15T = 1 − e−6T z −1 E(z)

Eliminando denominadores: B. Diferencia Adelante Se hace la aproximaci´on por diferencia adelante a la variable compleja s: z−1 s= T Obteni´endose: z−1 T C(z) = −3 z−1 T

+1 1 + (T − 1)z −1 U (z) = −3 = −1 1 + (6T − 1)z E(z) +6

U (z) − U (z)e−6T z −1 = 15T E(z) Aplicando transformada Z inversa para obtener una ecuaci´on en diferencias: u[k] − u[k − 1]e−6kT = 15T e[k] Y por u´ ltimo despejando la se˜nal de control u[k] se obtiene: u[k] = 15T e[k] + u[k − 1]e−6kT

Eliminando denominadores: (−3 − 3T z −1 + 3z −1 )E(z) = (1 + 6T z −1 − z − 1)U (z)

E. Invarianza al Escal´on Aplicando transformada Z inversa: −3e[k] + (3 − 3T )e[k − 1] = u[k] + (6T − 1)u[k − 1] Y despejando para u[k]: u[k] = −3e[k] + (3 − 3T )e[k − 1] − (6T − 1)u[k − 1] C. Regla Trapezoidal Se hace la aproximaci´on por regla trapezoidal a la variable compleja s: 2 1 − z −1 s= T 1 + z −1 Obteni´endose: C(z) = −3

2 T 2 T

1−z −1 1+z −1 1−z −1 1+z −1

+1 +6

= −3

(T − 2)z −1 + (T + 2) (6T − 2)z −1 + (6T + 2)

Eliminando denominadores: [(−3T +6)z −1 −(3T +6)]E(z) = [(6T −2)z −1 +(6T +2)]U (z) Aplicando transformada Z inversa: (−3T +6)e[k−1]−(3T +6)e[k] = (6T −2)u[k−1]+(6T +2)u[k] Y despejando para u[k]: u[k] =

(−3T + 6)e[k − 1] − (3T + 6)e[k] − (6T − 2)u[k − 1] 6T + 2

La obtenci´on del controlador por este m´etodo de discretizaci´on se obtiene a partir de la siguiente expresi´on:     G(s) |t=kT C(z) = (1 − z −1 )Z L−1 s Aplicando transformada inversa de Laplace:     G(s) (s + 1) L−1 |t=kT = −3 L−1 |t=kT s s(s + 6) Por fracciones parciales se tiene:   0,5 2,5 −3L−1 − − = −0,5u(t) − 2,5e−6t |t=kT s s+6 Ahora se obtiene la transformada Z de la expresi´on anterior.  Z −0,5u[kT ] − 2,5e−6kT  2, 5 −0, 5 − −0, 5 Z {u[kT ]}−2, 5 Z e−6kT = 1 − z −1 1 − e−6T z −1 Por lo tanto el control discretizado es igual a: ( ) 0,5 C(z) = (1 − z −1 ) − 2,5 1 − z −1 − 1−e−6T z −1 C(z) = −0,5 −

D. Invarianza al Impulso

2, 5(1 − z −1 ) U (z) = 1 − e−6T z −1 E(z)

La obtenci´on del controlador por este m´etodo de discretizaci´on parte de: C(z) = T Z{L−1 {G(s)}|t=kT }

Eliminando denominadores:

Haciendo transformada de Laplace inversa.   (s + 1) L−1 {G(s)} = −3L−1 (s + 6)

Aplicando transformada Z inversa para obtener una ecuaci´on en diferencias:

Por fracciones parciales se obtiene:   s 1 −1 −3L + = 18e−6t − 3e−6t (s + 6) (s + 6)

U (z)−U (z)e−6T z −1 = −3 E(z)+E(z)z −1 (2, 5+0, 5e−6T )

u[k] − u[k − 1]e−6kT = −3 e[k] + e[k − 1] (2, 5 + 0, 5e−6kT ) Y por u´ ltimo despejando la se˜nal de control u[k] se obtiene: u[k] = −3 e[k] + e[k − 1] (2, 5 + 0, 5e−6kT ) + u[k − 1]e−6kT

´ ´ INFORME DE LABORATORIO PRACTICA DE DISCRETIZACION, CONTROL 2, SEPTIEMBRE 2017

IV. R ESULTADOS A. Simulaciones A continuaci´on se presentan las simulaciones realizadas para el controlador continuo, y cada t´ecnica de discretizaci´on. En la figura 7 se muestran las respuestas al escal´on por los diferentes m´etodos de discretizaci´on simuladas para tres diferentes valores del periodo de muestreo. El periodo de muestreo base se escogi´o seg´un el criterio del tiempo de subida de la respuesta en lazo cerrado del sistema continuo, este se midi´o de la respuesta simulada, obteni´endose un valor de tr = 1,18 s. Aplicando el criterio se tiene que: 1,18 1,18

# i n c l u d e / / P e r i o d o de m u e s t r e o const f l o a t T = 0 . 1 ; / / Variables del sistema float u; / / u[k] float e ; // e[k] / / e [ k −1] float e prev = 0; / / C o e f i c i e n t e s de l a e c u a c i o´ n en d i f e r e n c i a s f l o a t a0 ; f l o a t b0 ; f l o a t c0 ; / / V a r i a b l e s de c o´ mputo uint32 adc out ; float v out ; CY ISR ( S a m p l e E r r o r ) { / / Empieza l a c o n v e r s i o´ 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 o´ n ADC IsE ndC onve rsio n ( ADC WAIT FOR RESULT ) ; / / E r r o r en 32 b i t s 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 e = ADC CountsTo Volts ( a d c o u t ) ; / / E m u l a c i o´ n d e l v o l t a j e de e r r o r e = ( e *6.027027027) − 12.50810811; / / C a´ l c u l o de l a s e n˜ 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 o´ n p o r s o f t w a r e i f (u > 11.6){ u = 11.6; } e l s e i f ( u < −10.7){ u = −10 .7; } / / A c t u a l i z a c i o´ 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 n˜ a l de c o n t r o l v out = ( u *0.156950672) + 2.179372197; / / S e n˜ 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; / / E s c r i t u r a a l DAC VDAC SetValue ( ( u i n t 8 ) v o u t ) ; } i n t main ( v o i d )

´ ´ INFORME DE LABORATORIO PRACTICA DE DISCRETIZACION, CONTROL 2, SEPTIEMBRE 2017

{ / / S e l e c t o r de m e´ todo de d i s c r e t i z a c i o´ n uint8 sel = ’1 ’ ; / / Habilita interrupciones . CyGlobalIntEnable ; / / I n i c i a l i z a componentes timer clock Start (); Timer Start ( ) ; ADC Start ( ) ; VDAC Start ( ) ; / / H a b i l i t a l a i n t e r r u p c i o´ n d e l t i m e r TimerISR StartEx ( SampleError ) ; / / Selecciona los coeficientes switch ( s e l ){ / / D i f e r e n c i a A t r a´ s case ’1 ’ : a0 = (−3 − 3 * T ) / ( 1 + 6 * T ) ; b0 = 3 / ( 1 + 6 * T ) ; c0 = 1 / ( 1 + 6 * T ) ; break ; / / Diferencia Adelante case ’2 ’ : a0 = −3; b0 = 3 − 3 * T ; c0 = −(6 * T − 1 ) ; break ; / / Regla T r a p e z o i d a l case ’3 ’ : a0 = (−3 * T − 6 ) / ( 6 * T + 2 ) ; b0 = (−3 * T + 6 ) / ( 6 * T + 2 ) ; c0 = (−6 * T + 2 ) / ( 6 * T + 2 ) ; break ; / / Invarianza al Impulso case ’4 ’ : a0 = 15 * T ; b0 = 0 ; c0 = exp (−6 * T ) ; break ; / / I n v a r i a n z a a l E s c a l o´ n case ’5 ’ : a0 = −3; b0 = 2 . 5 + 0 . 5 * exp (−6 * T ) ; c0 = exp (−6 * T ) ; break ; default : break ; } for ( ; ; ) ; }

10