TEMA 6 Sistemas Digitales de Control en Tiempo Discreto

Anuncio
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
Descargar