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