Departamento de Ingeniería Electrónica SISTEMAS DIGITALES DE INSTRUMENTACIÓN Y CONTROL TEMA 6 Sistemas Digitales de Control en Tiempo Discreto DAC ADC 1 − e −Ts s D(s) D(z) Rafael Ramos Lara Febrero 2007 TEMA 6 Sistemas Digitales de Control en Tiempo Discreto 1 Índice (I) 6.1. Sistemas de control digital 6.1.1. Introducción al diseño de sistemas de control digital 6.1.2. Discretización de sistemas analógicos 6.1.3. Ejemplo: modelo discreto de un motor DC 6.2. Diseño de un control digital PID 6.2.1 Introducción al control PID digital 6.2.2 Aproximación rectangular del control PID 6.2.3 Aproximación trapezoidal del control PID 6.3. Arquitecturas de realización de controladores digitales 6.3.1. Programación directa 6.3.2. Programación estándar 6.3.3. Programación serie 6.3.4. Programación paralelo 6.3.5. Programación en escalera Tema 6: Sistema Digitales de Control en Tiempo Discreto 2 1 Índice (II) 6.4. Ejemplo de diseño: control de un motor DC mediante el driver L293E 6.4.1. Introducción al sistema de control digital de un motor 6.4.2. Modelo equivalente eléctrico del motor DC 6.4.3. Interface con el motor: L293E 6.4.4. Control en lazo abierto de la velocidad de giro 6.4.5. PWM digital 6.4.6. Monitorización de la velocidad de giro 6.4.7. Regulación de la velocidad de giro Tema 6: Sistema Digitales de Control en Tiempo Discreto 3 6.1 Sistemas de control digital 4 2 6.1.1 Introducción al diseño de sistemas de control digital 5 Componentes de un sistema de control Los componentes principales de un sistema de control son: • Sensores • Actuadores • Controlador: permite obtener el comportamiento deseado del sistema a controlar, manteniendo al mismo tiempo la estabilidad del sistema Tipos de controladores: • Controladores analógicos: implementados con amplificadores, resistencias, condensadores que realizan estructuras semejantes a filtros que modifican la respuesta frecuencial del sistema • Controladores digitales: implementados con microprocesadores, microcontroladores, DSP, FPGA, CPLD, etc... Necesitan conversores ADC y DAC Tema 6: Sistema Digitales de Control en Tiempo Discreto 6 3 Controladores analógicos vs. digitales Controlador Analógico Ventajas • • • Digital • • • • Desventajas Elevado ancho de banda Elevada resolución Fácil de diseñar • Diseño programable Comportamiento preciso Implementación algoritmos complejos Fácilmente ampliable • • • • • Envejecimiento de componentes Derivas con la temperatura Bueno para diseños simples Dificultad de diseño Necesita procesadores de altas prestaciones Genera problemas numéricos Tema 6: Sistema Digitales de Control en Tiempo Discreto 7 Diseño de un sistema de control digital Pasos de diseño de un sistema de control: • Obtención del modelo del sistema a controlar • Diseño del controlador para obtener el comportamiento deseado del sistema a controlar El diseño de controles digitales implica la conversión del sistema en una forma discreta. Dos métodos de conversión: • Diseño analógico y conversión a discreto para su implementación • Diseño discreto ⇒ se debe obtener el modelo de la planta en forma discreta (transformada Z) Tema 6: Sistema Digitales de Control en Tiempo Discreto 8 4 6.1.2 Discretización de sistemas analógicos 9 Técnicas de discretización de sistema analógicos Tres técnicas para convertir un sistema analógico en discreto: • Mantenedor de orden zero (ZOH) • Correspondencia polos-ceros • Transformación bilineal Tema 6: Sistema Digitales de Control en Tiempo Discreto 10 5 Mantenedor de orden cero (ZOH) Esta técnica asume que el controlador tiene a la entrada un mantenedor de orden cero DAC ADC 1− e s −Ts D(s) D(z) D (s ) D( z ) = 1 − z −1 Z s ( ) 11 Tema 6: Sistema Digitales de Control en Tiempo Discreto Correspondencia Polo-Cero Los polos y ceros “si” de D(s) se mapean como polos y ceros de D(z) de acuerdo con: z i = e si T T = periodo de muestreo Si D(s) tiene más polos que ceros se añaden ceros en z=-1 en el numerador para igualar el número de polos y ceros. La ganancia se escoge adecuadamente para que se cumpla: D( z ) z =1 = D(s ) s =0 Tema 6: Sistema Digitales de Control en Tiempo Discreto 12 6 Transformación Bilineal También denominada aproximación de Tustin o trapezoidal, utiliza la siguiente relación s= 2 (z − 1) T z +1 T = periodo de muestreo para transformar el dominio en “s” en un dominio en “z” Tema 6: Sistema Digitales de Control en Tiempo Discreto 13 6.1.3 Modelo discreto de un motor DC 14 7 Modelo de la planta (I) El primer paso en el diseño de un control es obtener el modelo de la planta Ejemplo: modelo de un motor DC de imán permanente Características eléctricas: L di + Ri = V − emf dt L: inductancia del motor R: resistencia V: tensión de alimentación i: corriente emf: fuerza contraelectromotriz = Ke · θ Ke: constante de fuerza contraelectromotriz 15 Tema 6: Sistema Digitales de Control en Tiempo Discreto Modelo de la planta (II) Características mecánicas: JM d 2θ dθ d 2θ + + = − B K θ T J L L dt 2 dt 2 dt JM: inercia del motor θ: desplazamiento angular K: constante de rigidez B: coeficiente de fricción viscosa JL: inercia de la carga=Kt · i TL: par de rotación de la carga Kt= constante de par de rotación Tema 6: Sistema Digitales de Control en Tiempo Discreto 16 8 Modelo de la planta (III) Parámetros del motor DC Pittman 9412G316 Modelo eléctrico di L + Ri = V − emf dt R = 6.4Ω J = Jm+JL = 60 ·10-6 kg·m2 Kt = 0.0207 (N · m)/A Ke = 0.0206 volt/(rad/s) Modelo mecánico dθ dθ d 2θ + Kθ = TL − J L 2 JM 2 + B 2 dt θ (s ) dt dt J −1 (K t R ) G (s ) = = V (s ) s s + J −1 (K t K e R ) Gm (s ) = Tema 6: Sistema Digitales de Control en Tiempo Discreto ( θ (s ) V (s ) ) = 53.906 s(s + 1.116 ) 17 Conversión a formato discreto (I) G (s ) s −1 −1 Transformación ZOH: G (z ) = (1 − z ) Z L A G (s ) b A A = 2 = 1 + 22 + 3 s s (s + a ) s s s+a ( ) ( G (s ) − b a 2 (b a ) b a 2 = + 2 + s s s s+a ( ) ( ) b = J −1 ( K t R ) a = J −1 (K t K e R ) T: periodo de muestreo T = 0.001 ) b a 2 e − aT − 1 + aT z −1 + b a 2 1 − e − aT − aTe − aT z −2 G (z ) = 1 − 1 + e − aT z −1 + e − aTz − 2 ( ) Tema 6: Sistema Digitales de Control en Tiempo Discreto 18 9 Conversión a formato discreto (II) G (z ) = ( ) ( ) b a 2 e − aT − 1 + aT z −1 + b a 2 1 − e − aT − aTe − aT z −2 1 − 1 + e − aT z −1 + e − aTz − 2 ( ) a = 1.116 b = 53.906 T = 0.001 Km: Factor de ganancia θ (z ) 0.2694 z −1 + 0.2693 z −2 = G (z ) = ⋅ Km V ( z ) 1 − 1.999 z −1 + 0.999 z − 2 Tema 6: Sistema Digitales de Control en Tiempo Discreto 19 6.2 Diseño de un control digital PID 20 10 Algoritmos de control • Técnicas de compensación: el controlador añade polos y ceros al sistema para obtener la respuesta deseada . • PID: el control PID es la suma de tres términos: Proporcional al error + Integral del error + Derivada del error. Es el algoritmo de control más utilizado. • Deadbeat: Se utiliza cuando se desea una respuesta rápida. Se diseña en el dominio Z • Modelos en el espacio de estado: describen matricialmente el modelo de sistema a controlar. Se utiliza cuando hay muchas variables de estado a controlar. • Control óptimo: se utiliza cuando se desea minimizar un parámetro específico del sistema (p.e. Tiempo de establecimiento, energía, ...). El controlador o compensador debe minimizar el parámetro. • Control adaptativo: se utiliza en sistemas cuyos parámetros cambian con el tiempo haciendo inestable el control. El control adaptativo sigue los cambios de la planta y rediseña el controlador para obtener un control óptimo del sistema. Tema 6: Sistema Digitales de Control en Tiempo Discreto 21 6.2.1 Introducción al control PID digital 22 11 Expresión general control PID Minimiza el error Reduce el error a cero en régimen permanente Kp: constante proporcional Ki: constante integral Kd: constante derivativa u(t): salida del control e(t): señal de error • Incrementa la estabilidad de la planta • Acción anticipativa que reduce el sobreimpulso 23 Tema 6: Sistema Digitales de Control en Tiempo Discreto Controlador PID analógico y discreto Control PID digital Control PID analógico KP e(t) E(s) KI/s + + + KP u(t) e(n) E(z) U(s) + u(n) U(z) DD(z) KD·s Función de transferencia U (s ) = K p E (s ) + K i DI(z) + + E (s ) + K d s E (s ) s Función de transferencia U ( z ) = K p E ( z ) + DI (z )E (z ) + DD ( z )E ( z ) Existen diversos modos de implementar DI(z) Tema 6: Sistema Digitales de Control en Tiempo Discreto 24 12 Implementación del control PID discreto Dos técnicas de implementación del control PID digital: • Aproximación rectangular: • El diseño se realiza en el dominio analógico y a continuación se transfiere al dominio discreto • Es fácil de implementar y proporciona resultados satisfactorios • Aproximación trapezoidal: • El diseño se realiza en el dominio discreto directamente utilizando técnicas de ubicación de polos Tema 6: Sistema Digitales de Control en Tiempo Discreto 25 6.2.2 Aproximación rectangular del control PID 26 13 Aproximación rectangular del PID (I) Aproximación rectangular Término proporcional Término derivativo K p e(t ) = K p e(n ) Si T es suficientemente pequeño se puede aproximar por: Término integral K i ∫ e(t ) = K iT ∑ ei i Kd Si se conoce e(n+1) se puede obtener una mejor aproximación de la derivada: Kd Periodo de muestreo e(t ) e(n ) − e(n − 1) = Kd dt T e(t ) e(n + 1) − e(n ) = Kd dt T Algoritmo de posición u (n ) = K p e(n ) + K iT ∑ ei + K d [e(n) − e(n − 1)] T i 27 Tema 6: Sistema Digitales de Control en Tiempo Discreto Aproximación rectangular del PID (II) Algoritmo de posición u (n ) = K p e(n ) + K iT ∑ ei + K d [e(n) − e(n − 1)] T i Algoritmo de velocidad ∆u (n ) = u (n ) − u (n − 2 ) Inconveniente: en caso de malfuncionamiento del sistema digital que calcula u(n) se podría generar una salida u(n)=0 • Es el algoritmo que se utiliza habitualmente • El sistema de control solo calcula el incremento de la señal de control • Presenta mejor comportamiento en arranque y frente a transitorios bruscos en la señal de referencia. Tema 6: Sistema Digitales de Control en Tiempo Discreto 28 14 Algoritmo PID de velocidad Algoritmo de velocidad ∆u (n ) = u (n ) − u (n − 2 ) n−2 u (n − 2 ) = K p e(n − 2 ) + K iT ∑ ei + K d [e(n − 1) − e(n − 2)] T i =1 u (n ) − u (n − 2 ) = K p [e(n ) − e(n − 2 )] + K iT [e(n ) + e(n − 1)] + K d T [e(n ) − 2e( n − 1) + e( n − 2)] u (n ) = u (n − 2 ) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 ) K1 = K p + K d T + K i T K 2 = K iT − 2 K d T K3 = K d T − K p 29 Tema 6: Sistema Digitales de Control en Tiempo Discreto Determinación coeficientes PID Método del margen de fase (MF) y margen de ganancia (MG) Se escoge como parámetros de diseño: • MF = 55º • Frecuencia de transición (fase:-180º) = 100Hz Aplicando técnicas de control clásico en el dominio frecuencial se obtiene: Kp = 4181 Kd = 9.569 Ki = 1 Tema 6: Sistema Digitales de Control en Tiempo Discreto MG = 77dB (f=100Hz) K1 = 13751 K2 = -19138 K3 = 5387 30 15 Implementación digital del PID u (n ) = u (n − 2 ) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 ) z-1 e(n) K1 X K2 + e(n-1) X z-1 K3 e(n-2) X + u(n-2) z-1 z-1 + u(n) Tema 6: Sistema Digitales de Control en Tiempo Discreto 31 Respuesta al escalón con el control PID u (n ) = u (n − 2 ) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 ) Tema 6: Sistema Digitales de Control en Tiempo Discreto 32 16 Respuesta al escalón con el control PID Tema 6: Sistema Digitales de Control en Tiempo Discreto 33 6.2.3 Aproximación trapezoidal del control PID 34 17 Aproximación trapezoidal • Se utiliza cuando se requiere una mayor precisión en la conversión discreta • La integral se determina con la suma de trapezoides Área del trapezoide: Función transferencia término integral e(n) e(n-1) T [e(n ) + e(n − 1)] 2 u (n ) = u (n − 1) + K I ( ) U ( z ) 1 − z −1 = K I DI ( z ) = T [e(n ) + e(n − 1)] 2 [ ] T 1 + z −1 E [z ] 2 ( ( U (z ) T 1 + z −1 = KI E (z ) 2 1 − z −1 ) ) 35 Tema 6: Sistema Digitales de Control en Tiempo Discreto Aproximación trapezoidal PID u (n ) = K p e(n ) + K iT ∑ ei + K d [e(n) − e(n − 1)] T i U (z ) = K p E (z ) + K I Transformada Z de cada término ( ( ) ) K T 1 + z −1 E ( z ) + d 1 − z −1 E ( z ) −1 2 1− z T ( ) Función de transferencia discreta D(z ) = D(z ) = (2TK p ( ( ) ) U (z ) T 1 + z −1 K d = K p + KI + 1 − z −1 −1 E (z ) 2 1− z T ) ( ( ) Reordenando términos ) + K I T 2 + 2 K d + K I T 2 − 2 K pT − 4 K d z −1 + 2 K d z − 2 ( 2T 1 − z Tema 6: Sistema Digitales de Control en Tiempo Discreto −1 ) 36 18 Diseño del control PID de un motor DC K1 + K 2 z −1 + K 3 z −2 GPID ( z ) = 1 − z −1 Con: K1 = K p + G p (z ) = θ (z ) V (z ) = Ki K K K 2K d T + d , K2 = −K p + i T − , K3 = d T T T 2 2 0.2694 z −1 + 0.2693z −2 ⋅ Km 1 − 1.999 z −1 + 0.999 z − 2 Tema 6: Sistema Digitales de Control en Tiempo Discreto 37 Determinación coeficientes PID Gs ( z ) = G p ( z )Gc (z ) 1 + G p (z )Gc ( z ) Función de transferencia global del sistema Matlab ⇒ ubicación de polos en 0.96, 0.95, 0.2 y 0.15 Resolviendo el denominador para la ubicación de polos propuesta se obtiene: K1 = 1.4795 K1 + K 2 z −1 + K 3 z −2 GPID ( z ) = K2 = -2.845 1 − z −1 K3 = 1.3636 u (n ) = u (n − 1) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 ) Tema 6: Sistema Digitales de Control en Tiempo Discreto 38 19 Respuesta al escalón con el control PID u (n ) = u (n − 1) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 ) 39 Tema 6: Sistema Digitales de Control en Tiempo Discreto Respuesta al escalón con el control PID Polos cerca del círculo unidad: • Aumenta el tiempo de respuesta • El sistema puede hacerse inestable Tema 6: Sistema Digitales de Control en Tiempo Discreto Polos cerca del origen: • Disminuye el tiempo de respuesta • Aumenta el sobre impulso 40 20 Implementación digital del PID u (n ) = u (n − 1) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 ) z-1 e(n) K1 X K2 + e(n-1) X z-1 K3 + e(n-2) X u(n-1) z-1 + u(n) Tema 6: Sistema Digitales de Control en Tiempo Discreto 41 6.3 Arquitecturas de realización de controladores digitales 42 21 Diagrama de bloques de un controlador digital e1(t) e1(n) T E1(z) D(s) e2(t) e2(n) T E2(z) D(z) Expresión general de la función de transferencia del controlador digital E2 ( z ) b0 + b1 z −1 + b2 z −2 + L + bm z − m D(z ) = = E1 (z ) a0 + a1 z −1 + a2 z − 2 + L + a p z − p 43 Tema 6: Sistema Digitales de Control en Tiempo Discreto Elementos para realizar de un controlador digital D(z ) = Elementos de retardo e1(n) Z-1 e1(n-1) Registro de “n” bits E2 (z ) b0 + b1 z −1 + b2 z −2 + L + bm z − m = E1 ( z ) a0 + a1 z −1 + a2 z − 2 + L + a p z − p Sumadores c.a.2 + + Tema 6: Sistema Digitales de Control en Tiempo Discreto Multiplicadores c.a.2 e1(n-m) bm a0 44 22 Estructuras de implementación • Programación directa: implementa la ecuación en diferencias • Programación estándar: reduce el número de registros a utilizar • Programación en serie • Programación en paralelo • Programación en escalera La función de transferencia se descompone en funciones de primer y segundo orden para disminuir los errores de truncado de coeficientes Tema 6: Sistema Digitales de Control en Tiempo Discreto 45 6.3.1 Programación directa 46 23 Descomposición de la función de transferencia E2 (z ) b0 + b1 z −1 + b2 z −2 + L + bm z − m D( z ) = = E1 (z ) a0 + a1 z −1 + a2 z − 2 + L + a p z − p [ ] [ E2 ( z ) a0 + a1 z −1 + a2 z −2 + L + a p z − p = E1 ( z ) b0 + b1 z −1 + b2 z −2 + L + bm z − m ] Transformada “z” inversa p m i =1 i =0 a0 ⋅ e2 (n ) + ∑ ai e2 (n − i ) = ∑ bi e1 (n − i ) 1 e2 (n ) = a0 Salida actual m 1 bi e1 (n − i ) − ∑ a0 i =0 p ∑ a e (n − i ) i =1 i 2 Salidas anteriores Entradas Tema 6: Sistema Digitales de Control en Tiempo Discreto 47 Implementación directa e1(n) Z-1 b0 a0 e1(n-1) Z-1 e1(n-2) e1(n-m) b2 a0 bm a0 b1 a0 + + + + + + Los coeficientes ai y bi aparecen de forma directa Recursos utilizados: • M+P elementos de retraso “Z-1” • M+P+1 multiplicadores • M+P sumadores + e2(n) + e2(n) Z-1 e2(n-1) Z-1 − a1 a0 e2(n-2) e2(n-p) − a2 a0 − ap a0 + + + + Tema 6: Sistema Digitales de Control en Tiempo Discreto 48 24 6.3.2 Programación estándar 49 Descomposición de la función de transferencia D(z ) = E2 ( z ) b0 + b1 z −1 + b2 z −2 + L + bm z − m E2 ( z ) H ( z ) = = E1 ( z ) a0 + a1 z −1 + a2 z − 2 + L + a p z − p H ( z ) E1 ( z ) E2 ( z ) = b0 + b1 z −1 + b2 z − 2 + L + bm z − m H (z ) H (z ) 1 = −1 E1 (z ) a0 + a1 z + a2 z − 2 + L + a p z − p Transformada “z” inversa [ ] m E2 ( z ) = b0 + b1 z −1 + b2 z − 2 + L + bm z − m ⋅ H ( z ) H (z ) = [ ⇒ e2 (n ) = ∑ bi h(n − i ) i =0 ] 1 1 1 1 E1 ( z ) − a1 z −1 + a2 z − 2 + L + a p z − p ⋅ H ( z ) ⇒ h(n ) = e1 (n ) − a0 a0 a0 a0 Tema 6: Sistema Digitales de Control en Tiempo Discreto p ∑ a h(n − i ) i =1 i 50 25 Implementación estándar Recursos utilizados: • P elementos de retraso “Z-1” • P+M+2 multiplicadores • P+M+1 sumadores + + + e1(n) a0−1 + - h(n) + + b b0 Z-1 b b 1 m 2 a1 a0 + + ap am a0 a2 a0 + h(n-p) Z-1 Z-1 e2(n) + a0 + + + Tema 6: Sistema Digitales de Control en Tiempo Discreto 51 Fuentes de error La precisión en la implementación de controles digitales es importante para obtener un buen resultado. Hay tres fuentes de error que afectan a la precisión: • El error de cuantificación de los ADC • Redondeo en las operaciones aritméticas • Truncamiento de los coeficientes ai y bi ⇒ este error aumenta al aumentar el orden de la función de transferencia ⇒ un pequeño error en los coeficientes de un filtro de orden elevado provoca un gran error en la ubicación de polos y ceros Este error se puede reducir matemáticamente descomponiendo las funciones de transferencia de orden elevado en combinaciones de funciones de primer y segundo orden Tema 6: Sistema Digitales de Control en Tiempo Discreto 52 26 6.3.3 Programación serie 53 Descomposición de la función de transferencia La función de transferencia se descompone en un producto de funciones sencillas de primer o segundo orden r E ( z ) b + b z −1 + b z −2 + L + bm z − m ( ) ( ) ( ) D( z ) = 2 = 0 1 −1 2 − 2 = D z ⋅ D z L D z = Dk ( z ) ∏ r 1 2 E1 ( z ) a0 + a1 z + a2 z + L + a p z − p k =1 e1(n) D1(z) D2(z) Dr(z) e2(n) Las funciones de transferencia Di(z) dependen de los polos y ceros de D(z): Polo y cero reales 1 + bi z −1 Di ( z ) = 1 + ai z −1 Polos y ceros complejo conjugados 1 + ei z −1 + f i z −2 Di ( z ) = 1 + ci z −1 + d i z − 2 Tema 6: Sistema Digitales de Control en Tiempo Discreto 54 27 Implementación estándar + e2 (n ) = ∑ bi h(n − i ) + + i =0 b1 b0 h(n) e1(n) a0−1 Z-1 h(n) + + m Z-1 b2 Z-1 h(n-1) h(n-1) Z-1 Z-1 h(n-2) h(n-2) a1 a0 - + Z-1 + + h(n-m) h(n-m) e2(n) h(n-p) ap am a0 a2 a0 + + bm a0 + + h(n ) = Tema 6: Sistema Digitales de Control en Tiempo Discreto + 1 1 e1 (n ) − a0 a0 p ∑ a h(n − i ) i =1 i 55 Implementación funciones Di(z) (I) Polo y cero reales Y ( z ) 1 + bi z −1 = X ( z ) 1 + ai z −1 x(n) + Z-1 bi + + y(n) ai Tema 6: Sistema Digitales de Control en Tiempo Discreto 56 28 Implementación funciones Di(z) (II) Polos y ceros complejo conjugados Y ( z ) 1 + ei z −1 + f i z −2 = X ( z ) 1 + ci z −1 + d i z − 2 + ei x(n) + Z-1 Z-1 + fi + + y(n) ci + + di Tema 6: Sistema Digitales de Control en Tiempo Discreto 57 6.3.4 Programación paralelo 58 29 Descomposición de la función de transferencia La función de transferencia se descompone en suma de fracciones parciales de primer y segundo orden: E ( z ) b0 + b1 z −1 + b2 z −2 + L + bm z − m D(z ) = 2 = = A + D1 ( z ) + D2 ( z ) + L + Dq ( z ) E1 ( z ) a0 + a1 z −1 + a2 z − 2 + L + a p z − p j = A + ∑ Di ( z ) + i =1 q ∑ Di (z ) = A + i = j +1 j bi ∑ −1 i =1 1 + ai z Polos reales + ei + f i z −1 ∑ −1 + di z −2 i = j +1 1 + ci z q Polos complejos A e1(n) D1(z) e2(n) Dq(z) 59 Tema 6: Sistema Digitales de Control en Tiempo Discreto Implementación funciones Di(z) (I) Polos reales bi Y (z ) = X ( z ) 1 + ai z −1 bi x(n) + y(n) Z-1 ai Tema 6: Sistema Digitales de Control en Tiempo Discreto 60 30 Implementación funciones Di(z) (II) Polos complejos conjugados Y (z ) ei + f i z −1 = X ( z ) 1 + ci z −1 + d i z − 2 ei + f x(n) + Z-1 i + y(n) Z-1 ci + + di Tema 6: Sistema Digitales de Control en Tiempo Discreto 61 6.3.5 Programación en escalera 62 31 Descomposición de la función de transferencia 1 con i = 1,2,..., p − 1 Bi z + Gi( A ) ( z ) 1 Di( A ) ( z ) = con i = 1,2,..., p − 1 Ai + Gi(+B1) ( z ) 1 D (pB ) ( z ) = 1 Bp z + Ap Di( B ) ( z ) = D( z ) = A0 + D1( B ) ( z ) D( z ) = A0 + 1 B1 z + 1 A1 + 1 1 M B2 z + Ap −1 1 Bp z + Tema 6: Sistema Digitales de Control en Tiempo Discreto 1 Ap 63 Ejemplo de programación en escalera (I) D( z ) = A0 + 1 B1 z + 1 A1 + p=2 D (pB ) ( z ) = 1 B2 z + 1 A2 D( z ) = A0 + 1 B1 z + 1 A1 + D2( B ) ( z ) = A0 + 1 Bp z + 1 Ap 1 = A0 + D1( B ) ( z ) B1 z + D1( A ) ( z ) Di(B)(z) se puede escribir como: Di( B ) ( z ) = 1 Y (z ) = X ( z ) Bi z + Di( A ) ( z ) Tema 6: Sistema Digitales de Control en Tiempo Discreto X i ( z ) − Di( A )Yi ( z ) = Bi zYi ( z ) 64 32 Ejemplo de programación en escalera (II) X i ( z ) − Di( A )Yi ( z ) = Bi zYi ( z ) x(n) + 1 Bi Z-1 y(n) Di( A ) ( z ) 65 Tema 6: Sistema Digitales de Control en Tiempo Discreto Ejemplo de programación en escalera (III) Di(A)(z) se puede escribir como: Di( A ) ( z ) = x(n) 1 Y (z ) = X ( z ) Ai + Di(+B1) ( z ) + 1 Ai X i ( z ) − Di(+B1)Yi ( z ) = AiYi ( z ) y(n) Di(+B1) ( z ) Tema 6: Sistema Digitales de Control en Tiempo Discreto 66 33 Ejemplo de programación en escalera (IV) D( z ) = A0 + 4 1 B1 z + 1A + 6 x D2( B ) ( z ) 1 B2 - x(n) 3 1 - 5 1 A1 + D2( B ) ( z ) + 1 = A0 + D1( B ) ( z ) B1 z + D1( A ) ( z ) = A0 + x 1 5 x 6 Z-1 + 1 (B ) D1 y(n) + A0 + (z ) x 2 1 B1 Z-1 2 3 x 1 A2 D1( A ) ( z ) 4 x 67 Tema 6: Sistema Digitales de Control en Tiempo Discreto Ejemplo de programación en escalera (V) Combinación de los diagramas de bloques + A0 x(n) +x 1 x+ 1B 1 -x 2 Z-1 3 + 1 A1 +x 5 1 B2 - y(n) Z-1 x4 - x 6 1 A2 Tema 6: Sistema Digitales de Control en Tiempo Discreto 68 34 6.4 Ejemplo de diseño: control de un motor DC mediante el driver L293E 69 Índice 6.4.1. Introducción al sistema de control digital de un motor 6.4.2. Modelo equivalente eléctrico del motor DC 6.4.3. Interface con el motor: L293E 6.4.4. Control en lazo abierto de la velocidad de giro 6.4.5. PWM digital 6.4.6. Monitorización de la velocidad de giro 6.4.7. Regulación de la velocidad de giro Tema 6: Sistema Digitales de Control en Tiempo Discreto 70 35 6.4.1 Introducción al sistema de control digital de un motor 71 Diagrama de bloques del sistema de control Placa interface FPGA Elementos básicos: • FPGA: implementa el sistema digital de control • Interface etapa lógica-motor: etapa de potencia controlada digitalmente que alimenta el motor DC • Motor: sistema a controlar • Sensor óptico: permite medir la velocidad de giro del motor Tema 6: Sistema Digitales de Control en Tiempo Discreto 72 36 6.4.2 Modelo equivalente eléctrico del motor DC 73 Modelo ideal del motor DC • Transformador ideal de tensión/corriente en velocidad/fuerza • Relaciones de transformación: K·IS = Fm VS = K·Um (fuerza) (velocidad) Tema 6: Sistema Digitales de Control en Tiempo Discreto 74 37 Modelo real del motor DC con pérdidas Le y Re: Inductancia y resistencia del devanado del rotor Cm: modela la resistencia que presenta el motor a cambios de velocidad Rm: resistencia mecánica RL: carga del motor 75 Tema 6: Sistema Digitales de Control en Tiempo Discreto Circuito eléctrico equivalente del motor Circuito equivalente del secundario visto desde el primario Modelo eléctrico equivalente de segundo orden wA 1 = 2 VS s + 2α s + wo2 wo = 1 Leq ⋅ C eq V = D ⋅ V REF Tema 6: Sistema Digitales de Control en Tiempo Discreto 76 38 6.4.3 Interfase con el motor: L293E 77 Driver de cuatro canales Push-Pull Características: • Iout: 1A por canal • Iout de pico: 2 A por canal • Entrada de inhibición • Protección contra sobre-temperatura Tema 6: Sistema Digitales de Control en Tiempo Discreto 78 39 Diagrama de bloques Entradas de control Entradas de habilitación Modelo driver de corriente Vss 79 Tema 6: Sistema Digitales de Control en Tiempo Discreto Control unidireccional del motor DC (I) Conexión a +Vs Tema 6: Sistema Digitales de Control en Tiempo Discreto Conexión a masa 80 40 Control unidireccional del motor DC (II) Vss Vss Conexión a masa 1 M Vss M 0 Conexión a +Vs Tema 6: Sistema Digitales de Control en Tiempo Discreto 81 Control bidireccional del motor DC (I) Tema 6: Sistema Digitales de Control en Tiempo Discreto 82 41 Control bidireccional del motor DC (II) 1 Giro a la derecha Giro a la izquierda Vss Vss + M - 0 0 Va=Vss + M - 1 Va=-Vss Tema 6: Sistema Digitales de Control en Tiempo Discreto 83 6.4.4 Control en lazo abierto de la velocidad de giro 84 42 Control en lazo abierto de la velocidad de giro • Variando la tensión de alimentación del motor se varia su velocidad • Con un modulador PWM se obtiene una tensión variable de valor: D·Vcc donde D es el ciclo de trabajo de la señal PWM 85 Tema 6: Sistema Digitales de Control en Tiempo Discreto Diagrama de bloques del sistema de control en lazo abierto Modulador PWM Motor D·VREF Variando el ciclo de trabajo D se varia la tensión de alimentación del motor y con ello la velocidad de giro ωA w A = D ·V REF · 1 s 2 + 2α s + wo2 Tema 6: Sistema Digitales de Control en Tiempo Discreto 86 43 Modulador de anchura de pulsos (PWM) TON TOFF TON TOFF TON TOFF VREF D Tc: periodo de conmutación D = TON/Tc con 0 ≤ D ≤ 1 • Si el Tc es suficientemente pequeño la tensión equivalente que se aplica al motor es el valor medio de la señal PWM: D·VREF 87 Tema 6: Sistema Digitales de Control en Tiempo Discreto Margen dinámico de la alimentación del motor con driver de puente en H Vss D=1 0 M + Va=Vss 1 0 1 0 0 + M 1 - Va=-Vss Vss D = 0.5 1 Vss D=0 + M 1 - 0 1 0 Va=0 Tema 6: Sistema Digitales de Control en Tiempo Discreto 88 44 Forma de onda de la tensión del motor +Vss -Vss Tema 6: Sistema Digitales de Control en Tiempo Discreto 89 6.4.5 PWM digital 90 45 Estructura del PWM analógico Rampa Comparador PWM Tc + D Ciclo de trabajo D PWM 91 Tema 6: Sistema Digitales de Control en Tiempo Discreto Estructura del PWM digital de 8 bits de precisión CLK Contador 8 bits 8 Comparador A 8 bits LT D Tc = 28·TCLK 8 1 PWM B Tc D1 D2 PWM2 PWM1 Tema 6: Sistema Digitales de Control en Tiempo Discreto 92 46 Diseño Xilinx del PWM digital Contador Comparador Divisor de frecuencia Salidas de activación del puente P80 Ciclo de trabajo Salida de habilitación del puente 93 Tema 6: Sistema Digitales de Control en Tiempo Discreto Divisor de frecuencia • Diseñar el divisor de frecuencia para que Tc=1ms • Tc = 28·TCLK TCLK P80 50MHz Tema 6: Sistema Digitales de Control en Tiempo Discreto 94 47 Ciclo de trabajo • El valor del ciclo de trabajo se introduce mediante los switches • La precisión es de 8 bits El SW1 es el bit de mayor peso Tema 6: Sistema Digitales de Control en Tiempo Discreto 95 Señales de control del puente en H PWM PWM1 ENABLE Tema 6: Sistema Digitales de Control en Tiempo Discreto 96 48 6.4.6 Monitorización de la velocidad de giro 97 Fotointerruptor 4 3 1 2 4 3 Vista inferior 1 Tema 6: Sistema Digitales de Control en Tiempo Discreto 2 98 49 Esquema de conexión +Vcc 10kΩ 180Ω +Vcc 4 3 Pin FPGA 560Ω 1 2 99 Tema 6: Sistema Digitales de Control en Tiempo Discreto Algoritmo de medida de la velocidad de giro La velocidad se obtiene contando el nº de pulsos por unidad de tiempo: vrps = Np Nv ⋅T Vrps: velocidad en revoluciones por segundo Np: número de pulsos contados Nv: número de ventanas del disco T: tiempo de cuenta en segundos A la FPGA 1 1 0 0 Tema 6: Sistema Digitales de Control en Tiempo Discreto Simplificación del cálculo: Si T = 1/Nv ⇒ vrps = Np 100 50 Implementación digital del algoritmo Pulsos del fotointerruptor CK Contador de pulsos Registro de Np Reset Asíncrono CK 50MHz CK Temporizador T segundos T 101 Tema 6: Sistema Digitales de Control en Tiempo Discreto Dimensionado de componentes Temporizador T • Para Nv = 24 y con T = 1/Nv ⇒ vrps = Np • El valor a temporizar es T = 41.66ms • Si fCLK = 50MHz, 41.66ms equivalen a 2.083.333 pulsos Temporizador T 50MHz Contador de 21 bits T0 MAX COUNT: CK 2.083.333d = 1FCA05H Tema 6: Sistema Digitales de Control en Tiempo Discreto T=41.66ms 102 51 Dimensionado de componentes Contador de pulsos, Registro Np • Si se toma como velocidad máxima vrps_max = 100d • El contador debe ser de 7 bits • El registro también es de 7 bits +Vcc +Vcc Pin 180Ω FPGA 10kΩ 4 560Ω 1 3 2 Contador de 7 bits 7 CK Reset Asíncrono T=41.66ms Tema 6: Sistema Digitales de Control en Tiempo Discreto Registro 7 bits 7 CK 103 Bloques de memoria RAM en la familia Spartan 2/2E Estructura utilizada Tema 6: Sistema Digitales de Control en Tiempo Discreto 104 52 Etapa de visualización • Se debe visualizar valores entre 0 y 99 rps • Los valores a visualizar se almacenan en la memoria RAM Registro 7 bits 4 (MSB) B6 B5 7 B4 B3 B2 B1 (LSB) B0 D A3, P49 9 RAM 512 x 8bits 4 U A4, P58 ó P56 (2E) 105 Tema 6: Sistema Digitales de Control en Tiempo Discreto Ejemplo de visualización Para Np=50d, el valor del registro es 0110010b Registro 7 bits 7 Bus de direcciones 9 Bus de datos D 4 0101 RAM [7..4] 512 x 8bits 4 U 0000 [3..0] Los dos bits de mayor peso del bus de direcciones valen siempre 0 Tema 6: Sistema Digitales de Control en Tiempo Discreto 106 53 Contenido de la memoria RAM INIT_00=3130292827262524232221201918171615141312111009080706050403020100 INIT_01=6362616059585756555453525150494847464544434241403938373635343332 INIT_02=9594939291908988878685848382818079787776757473727170696867666564 INIT_03=0000000000000000000000000000000000000000000000000000000099989796 INIT_04=0000000000000000000000000000000000000000000000000000000000000000 INIT_05=0000000000000000000000000000000000000000000000000000000000000000 INIT_06=0000000000000000000000000000000000000000000000000000000000000000 INIT_07=0000000000000000000000000000000000000000000000000000000000000000 INIT_08=0000000000000000000000000000000000000000000000000000000000000000 INIT_09=0000000000000000000000000000000000000000000000000000000000000000 INIT_0A=0000000000000000000000000000000000000000000000000000000000000000 INIT_0B=0000000000000000000000000000000000000000000000000000000000000000 INIT_0C=0000000000000000000000000000000000000000000000000000000000000000 INIT_0D=0000000000000000000000000000000000000000000000000000000000000000 INIT_0E=0000000000000000000000000000000000000000000000000000000000000000 INIT_0F=0000000000000000000000000000000000000000000000000000000000000000 107 Tema 6: Sistema Digitales de Control en Tiempo Discreto Activación de los dígitos D[7..4] 4 8 0 U[3..0] 4 4 1 S0 S0 0 BIN7SEG Señales habilitación de dígitos 8 A3, P49 8 1 A3 A4 Tema 6: Sistema Digitales de Control en Tiempo Discreto A4, P58 ó P56 (2E) 108 54 Control de activación de los dígitos El control de activación se puede realizar mediante un sistema secuencial 95Hz 50 MHz P80 Contador 19 bits Clock La frecuencia de barrido del display es de 95Hz Sistema S0 secuencial A4 de control A3 Estado Actual Estado siguiente S0 A4 A3 S0 S1 0 0 1 S1 S0 0 1 0 Tema 6: Sistema Digitales de Control en Tiempo Discreto 109 6.4.7 Regulación de la velocidad de giro 110 55 Sistema de control en lazo cerrado El sistema de control ajusta el valor de D para que la velocidad real, wa se mantenga igual a la velocidad deseada wd Se compara la velocidad real con la ideal Con el resultado de la comparación se ajusta el ciclo de trabajo D Tema 6: Sistema Digitales de Control en Tiempo Discreto 111 Bibliografía (I) www.ti.com • Application Report SPRA083: “Implementation of PID and Deadbeat Controllers with the TMS320 Family,” Irfan Ahmed • Application Report SPRA009: “Control System Compensation and Implementation with the TMS32010,” Charles Slivinsky www.motorola.com • AN1213/D: “16-Bit DSP Servo Control With the MC68HC16Z” David Wilson • AN1249/D: Bruhed DC Motor Control Using the MC68HC16Z1 • AN1712: “Get Your Motor Running” with the MC68HC708MP16 Tema 6: Sistema Digitales de Control en Tiempo Discreto 112 56 Bibliografía (II) • Katsuhiko Ogata, “Discrete-Time Control Systems,” Ed. Prentice Hall www.st.com • L293B/L293E Data Sheet Tema 6: Sistema Digitales de Control en Tiempo Discreto 113 57