Está en la página 1de 58

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 D(s)
s
D(z)

Rafael Ramos Lara


Febrero 2007
TEMA 6
Sistemas Digitales de Control en
Tiempo Discreto

Í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

2
6.1.1 Introducción al diseño de sistemas
de control digital

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 Ventajas Desventajas


Analógico • Elevado ancho de banda • Envejecimiento de componentes
• Elevada resolución • Derivas con la temperatura
• Fácil de diseñar • Bueno para diseños simples

Digital • Diseño programable • Dificultad de diseño


• Comportamiento preciso • Necesita procesadores de altas
• Implementación prestaciones
algoritmos complejos • Genera problemas numéricos
• Fácilmente ampliable

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

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
−Ts
1− e D(s)
s
D(z)

 D (s ) 
(
D( z ) = 1 − z −1 Z  ) 
 s 

Tema 6: Sistema Digitales de Control en Tiempo Discreto 11

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
2 (z − 1)
s= T = periodo de muestreo
T z +1
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

di
Características eléctricas: L + 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

Tema 6: Sistema Digitales de Control en Tiempo Discreto 15

Modelo de la planta (II)

d 2θ dθ d 2θ
Características mecánicas: JM + B + K θ = TL − J L
dt 2 dt dt 2

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)

Modelo eléctrico Modelo mecánico


di dθ dθ
2
d 2θ
L + Ri = V − emf JM 2 + B + Kθ = TL − J L 2
dt dt dt dt
Parámetros del motor
DC Pittman 9412G316
R = 6.4Ω
θ (s ) J −1 (K t R )
J = Jm+JL = 60 ·10-6 kg·m2
G (s ) = =
Kt = 0.0207 (N · m)/A
Ke = 0.0206 volt/(rad/s)
(
V (s ) s s + J −1 (K t K e R ) )

θ (s ) 53.906
Gm (s ) = =
V (s ) s(s + 1.116 )
Tema 6: Sistema Digitales de Control en Tiempo Discreto 17

Conversión a formato discreto (I)


  G (s )  
Transformación ZOH: G (z ) = (1 − z ) Z L 
−1 −1

  s 

G (s ) b A A A b = J −1 ( K t R )
= 2 = 1 + 22 + 3
s s (s + a ) s s s+a a = J −1 (K t K e R )

( )
G (s ) − b a 2 (b a ) b a 2
= + 2 +
( ) T: periodo de muestreo
T = 0.001
s s s s+a

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
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 Km: Factor de ganancia
T = 0.001

θ (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 • Incrementa la
régimen permanente estabilidad de la planta
• Acción anticipativa que
reduce el sobreimpulso
Kp: constante proporcional
Ki: constante integral
Kd: constante derivativa
u(t): salida del control
e(t): señal de error

Tema 6: Sistema Digitales de Control en Tiempo Discreto 23

Controlador PID analógico y discreto

Control PID analógico Control PID digital

KP KP
+ +
e(t) + u(t) e(n) + u(n)
KI/s DI(z)
E(s) + U(s) E(z) + U(z)
KD·s DD(z)

Función de transferencia Función de transferencia


E (s )
U (s ) = K p E (s ) + K i + K d s E (s ) U ( z ) = K p E ( z ) + DI (z )E (z ) + DD ( z )E ( z )
s

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)

Término proporcional Término derivativo


Aproximación
K p e(t ) = K p e(n )
rectangular Si T es suficientemente pequeño se
puede aproximar por:
e(t ) e(n ) − e(n − 1)
Kd = Kd
Término integral dt T
Si se conoce e(n+1) se puede obtener
K i ∫ e(t ) = K iT ∑ ei una mejor aproximación de la derivada:
i
e(t ) e(n + 1) − e(n )
Kd = Kd
dt T

Periodo de muestreo Algoritmo de posición


u (n ) = K p e(n ) + K iT ∑ ei + K d [e(n) − e(n − 1)] T
i

Tema 6: Sistema Digitales de Control en Tiempo Discreto 27

Aproximación rectangular del PID (II)

Algoritmo de posición
Inconveniente: en caso de
u (n ) = K p e(n ) + K iT ∑ ei + K d [e(n) − e(n − 1)] T malfuncionamiento del sistema digital
i que calcula u(n) se podría generar una
salida u(n)=0

Algoritmo de velocidad • Es el algoritmo que se utiliza habitualmente


• El sistema de control solo calcula el incremento de la
∆u (n ) = u (n ) − u (n − 2 ) 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

Tema 6: Sistema Digitales de Control en Tiempo Discreto 29

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


MG = 77dB (f=100Hz)
en el dominio frecuencial se obtiene:
K1 = 13751
Kp = 4181
K2 = -19138
Kd = 9.569
K3 = 5387
Ki = 1

Tema 6: Sistema Digitales de Control en Tiempo Discreto 30

15
Implementación digital del PID

u (n ) = u (n − 2 ) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 )

e(n-1) e(n-2)
e(n) z-1 z-1

K1 X K2 X K3 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
T
Área del trapezoide: [e(n ) + e(n − 1)]
2
e(n) Función transferencia término integral
e(n-1) T
u (n ) = u (n − 1) + K I [e(n ) + e(n − 1)]
2

(
U ( z ) 1 − z −1 = K I ) T
2
[
1 + z −1 E [z ]]

DI ( z ) =
U (z )
= KI
T 1 + z −1 ( )
E (z ) 2 1 − z −1 ( )
Tema 6: Sistema Digitales de Control en Tiempo Discreto 35

Aproximación trapezoidal PID

u (n ) = K p e(n ) + K iT ∑ ei + K d [e(n) − e(n − 1)] T


i
Transformada Z de cada término

U (z ) = K p E (z ) + K I
(
T 1 + z −1 ) K
E ( z ) + d 1 − z −1 E ( z ) ( )
(
2 1− z −1
) T
Función de transferencia discreta

D(z ) =
U (z )
= K p + KI
(
T 1 + z −1 K d
+ 1 − z −1
) ( )
E (z ) 2 1− z −1
( T )
Reordenando términos

D(z ) =
(2TK p ) (
+ 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 −1
)
Tema 6: Sistema Digitales de Control en Tiempo Discreto 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
Ki K K 2K d K
Con: K1 = K p + T + d , K2 = −K p + i T − , K3 = d
2 T 2 T T

θ (z ) 0.2694 z −1 + 0.2693z −2
G p (z ) = = ⋅ Km
V (z ) 1 − 1.999 z −1 + 0.999 z − 2
Tema 6: Sistema Digitales de Control en Tiempo Discreto 37

Determinación coeficientes PID


G p ( z )Gc (z )
Gs ( z ) = Función de transferencia global del sistema
1 + G p (z )Gc ( z )

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
K2 = -2.845 GPID ( z ) =
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 )

Tema 6: Sistema Digitales de Control en Tiempo Discreto 39

Respuesta al escalón con el control PID

Polos cerca del círculo unidad: Polos cerca del origen:


• Aumenta el tiempo de respuesta • Disminuye el tiempo de respuesta
• El sistema puede hacerse inestable • Aumenta el sobre impulso

Tema 6: Sistema Digitales de Control en Tiempo Discreto 40

20
Implementación digital del PID

u (n ) = u (n − 1) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 )

e(n-1) e(n-2)
e(n) z-1 z-1

K1 X K2 X K3 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(n) e2(t) e2(n)


e1(t) D(s)
T E1(z) 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

Tema 6: Sistema Digitales de Control en Tiempo Discreto 43

Elementos para realizar de un 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

Elementos de retardo Sumadores c.a.2 Multiplicadores c.a.2


e1(n) e1(n-1) e1(n-m)
Z-1 +
+
Registro de “n” bits bm
a0

Tema 6: Sistema Digitales de Control en Tiempo Discreto 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 La función de transferencia se descompone


en funciones de primer y segundo orden
• Programación en paralelo
para disminuir los errores de truncado de
• Programación en escalera 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
a0 ⋅ e2 (n ) + ∑ ai e2 (n − i ) = ∑ bi e1 (n − i )
i =1 i =0

m p
1 1
Salida actual e2 (n ) = ∑ bi e1 (n − i ) − ∑ a e (n − i )
i 2
a0 i =0 a0 i =1

Entradas Salidas anteriores


Tema 6: Sistema Digitales de Control en Tiempo Discreto 47

Implementación directa
e1(n) e1(n-1) e1(n-2) e1(n-m) Los coeficientes ai y bi aparecen de
Z-1 Z-1 forma directa
Recursos utilizados:
b0 b1 b2 bm
• M+P elementos de retraso “Z-1”
a0 a0 a0 a0 • M+P+1 multiplicadores
+ + + • M+P sumadores
+ + + + e2(n)
+
e2(n) e2(n-1) e2(n-2) e2(n-p)
Z-1 Z-1
− a1 − a2 − ap
a0 a0 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


E2 ( z ) b0 + b1 z −1 + b2 z −2 + L + bm z − m E2 ( z ) H ( z )
D(z ) = = =
E1 ( z ) a0 + a1 z −1 + a2 z − 2 + L + a p z − p H ( z ) E1 ( z )

E2 ( z ) H (z ) 1
= b0 + b1 z −1 + b2 z − 2 + L + bm z − m =
H (z ) E1 (z ) a0 + a1 z + a2 z − 2 + L + a p z − p
−1

Transformada “z” inversa

[ ]
m
E2 ( z ) = b0 + b1 z −1 + b2 z − 2 + L + bm z − m ⋅ H ( z ) ⇒ e2 (n ) = ∑ bi h(n − i )
i =0

[ ]
p
1 1 1 1
H (z ) = E1 ( z ) − a1 z −1 + a2 z − 2 + L + a p z − p ⋅ H ( z ) ⇒ h(n ) = e1 (n ) − ∑ a h(n − i )
i
a0 a0 a0 a0 i =1

Tema 6: Sistema Digitales de Control en Tiempo Discreto 50

25
Implementación estándar
Recursos utilizados:
• P elementos de retraso “Z-1”
• P+M+2 multiplicadores
• P+M+1 sumadores
+ +
+
+ +
e2(n)
b0 b 1 b2 b
m
+
e1(n) +
a0−1 Z-1 Z-1 Z-1 h(n-p)
h(n)
- a1 a2 am ap
a0 a0 a0 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
E ( z ) b + b z −1 + b z −2 + L + bm z − m r
D( z ) = 2 = 0 1 −1 2 − 2 = D ( z ) ⋅ D ( z )L D ( z ) = ∏ Dk ( z )
E1 ( z ) a0 + a1 z + a2 z + L + a p z − p
1 2 r
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 Polos y ceros complejo conjugados


1 + bi z −1 1 + ei z −1 + f i z −2
Di ( z ) = Di ( z ) =
1 + ai z −1 1 + ci z −1 + d i z − 2

Tema 6: Sistema Digitales de Control en Tiempo Discreto 54

27
Implementación estándar
+ +
m
e2 (n ) = ∑ bi h(n − i ) + +
i =0
b0 b1 b2
+
e2(n)
h(n) Z-1
bm +
Z-1 Z-1
h(n-1) h(n-2) h(n-m)
e1(n) + h(n) h(n-1) h(n-2) h(n-m) h(n-p)
a0−1 Z-1 Z-1 Z-1
- a1 a2 am ap
a0 a0 a0 a0

+ + +
+ + +

p
1 1
h(n ) = e1 (n ) − ∑ a h(n − i )i
Tema 6: Sistema Digitales de Control en Tiempo Discreto
a0 a0 i =1 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) + bi +
Z-1 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) + fi +
Z-1 Z-1 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 q j
bi q
ei + f i z −1
= A + ∑ Di ( z ) + ∑ Di (z ) = A + ∑ −1
+ ∑ −1
i =1 i = j +1 i =1 1 + ai z i = j +1 1 + ci z + di z −2
Polos reales Polos complejos

D1(z)
e1(n) e2(n)

Dq(z)
Tema 6: Sistema Digitales de Control en Tiempo Discreto 59

Implementación funciones Di(z) (I)

Polos reales
Y (z ) bi
=
X ( z ) 1 + ai z −1

bi
y(n)

x(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 ei
=
X ( z ) 1 + ci z −1 + d i z − 2 +
f i +
y(n)

x(n) +
Z-1 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
Di( B ) ( z ) = con i = 1,2,..., p − 1
Bi z + Gi( A ) ( z )
D( z ) = A0 + D1( B ) ( z ) 1
Di( A ) ( z ) = con i = 1,2,..., p − 1
Ai + Gi(+B1) ( z )
1
D (pB ) ( z ) =
1
Bp z +
Ap
1
D( z ) = A0 +
1
B1 z +
1
A1 +
1
B2 z +
M
1
Ap −1
1
Bp z +
Ap
Tema 6: Sistema Digitales de Control en Tiempo Discreto 63

Ejemplo de programación en escalera (I)


1
D( z ) = A0 +
1 1
B1 z + D (pB ) ( z ) =
1 1
A1 + Bp z +
1 Ap
p=2 B2 z +
A2

1 1
D( z ) = A0 + = A0 + = A0 + D1( B ) ( z )
B1 z +
1 B1 z + D1( A ) ( z )
A1 + D2( B ) ( z )

Di(B)(z) se puede escribir como:


Y (z ) 1
Di( B ) ( z ) = = X i ( z ) − Di( A )Yi ( z ) = Bi zYi ( z )
X ( z ) Bi z + Di( A ) ( z )

Tema 6: Sistema Digitales de Control en Tiempo Discreto 64

32
Ejemplo de programación en escalera (II)

X i ( z ) − Di( A )Yi ( z ) = Bi zYi ( z )

+ 1 Bi
x(n) Z-1 y(n)
-

Di( A ) ( z )

Tema 6: Sistema Digitales de Control en Tiempo Discreto 65

Ejemplo de programación en escalera (III)


Di(A)(z) se puede escribir como:
Y (z ) 1
Di( A ) ( z ) = = X i ( z ) − Di(+B1)Yi ( z ) = AiYi ( z )
X ( z ) Ai + Di(+B1) ( z )

+ 1 Ai
x(n) y(n)
-

Di(+B1) ( z )

Tema 6: Sistema Digitales de Control en Tiempo Discreto 66

33
Ejemplo de programación en escalera (IV)
1 1
D( z ) = A0 + = A0 + = A0 + D1( B ) ( z )
B1 z +
1 B1 z + D1( A ) ( z )
A1 + D2( B ) ( z )

x(n) A0 + y(n)
+ 1A 1 3
4
+
- 6 5 x (B )
D1 (z ) x
x D2( B ) ( z ) x 1 2

+ 1 B1 2
1 Z-1
+ 1 B2 6
5 Z-1 -
- 3 4
1 A2 x D1( A ) ( z ) x
Tema 6: Sistema Digitales de Control en Tiempo Discreto 67

Ejemplo de programación en escalera (V)


Combinación de los diagramas de bloques

x(n) A0 + y(n)

1 x+ +x
2
1B 1
Z-1
-x x4
3 +
1 A1

+x 5 - x 6
1 B2
Z-1
-
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

Tema 6: Sistema Digitales de Control en Tiempo Discreto 75

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
1
wo =
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 Modelo driver de corriente
habilitación Vss

Tema 6: Sistema Digitales de Control en Tiempo Discreto 79

Control unidireccional del motor DC (I)

Conexión a +Vs Conexión a masa

Tema 6: Sistema Digitales de Control en Tiempo Discreto 80

40
Control unidireccional del motor DC (II)

Vss
Conexión a masa

Vss
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)

Giro a la derecha Giro a la izquierda


Vss Vss

1 M 0 0 M 1
+ - + -
Va=Vss 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

Tema 6: Sistema Digitales de Control en Tiempo Discreto 85

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

1
w A = D ·V REF ·
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

D VREF

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

Tema 6: Sistema Digitales de Control en Tiempo Discreto 87

Margen dinámico de la alimentación del motor


con driver de puente en H

D=1 Vss D=0 Vss

1 M 0 0 M 1
+ - + -
Va=Vss Va=-Vss

D = 0.5 Vss

1 1 1 1
0 0 M 0 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

PWM

Tema 6: Sistema Digitales de Control en Tiempo Discreto 91

Estructura del PWM digital de 8 bits de precisión

8 Comparador
Contador A 8 bits
CLK
8 bits
1
LT PWM

8
D B

Tc = 28·TCLK Tc

D1
D2
PWM2
PWM1
Tema 6: Sistema Digitales de Control en Tiempo Discreto 92

46
Diseño Xilinx del PWM digital

Contador Comparador Salidas de


activación
Divisor de
del puente
frecuencia

P80

Ciclo de
trabajo Salida de habilitación
del puente

Tema 6: Sistema Digitales de Control en Tiempo Discreto 93

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 2

Tema 6: Sistema Digitales de Control en Tiempo Discreto 98

49
Esquema de conexión

+Vcc

10kΩ
+Vcc 180Ω
4 Pin
3 FPGA
560Ω
1
2

Tema 6: Sistema Digitales de Control en Tiempo Discreto 99

Algoritmo de medida de la velocidad de giro

La velocidad se obtiene contando el nº de pulsos por unidad de tiempo:

Np Vrps: velocidad en revoluciones por segundo


vrps = Np: número de pulsos contados
Nv ⋅T Nv: número de ventanas del disco
T: tiempo de cuenta en segundos

Simplificación del cálculo:


Si T = 1/Nv ⇒ vrps = Np
A la FPGA
1 1
0 0

Tema 6: Sistema Digitales de Control en Tiempo Discreto 100

50
Implementación digital del algoritmo

Contador
Pulsos del de pulsos
Registro
fotointerruptor CK
de Np
Reset Asíncrono

CK

Temporizador
50MHz CK T segundos
T

Tema 6: Sistema Digitales de Control en Tiempo Discreto 101

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
Contador de 21 bits T0
MAX COUNT:
50MHz CK T=41.66ms
2.083.333d = 1FCA05H

Tema 6: Sistema Digitales de Control en Tiempo Discreto 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
Contador de 7 bits Registro
Pin
10kΩ 7 bits
+Vcc 4 180Ω FPGA 7 7
3
CK
560Ω
1 2 CK
Reset Asíncrono

T=41.66ms
Tema 6: Sistema Digitales de Control en Tiempo Discreto 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

(MSB) B6 4 D
Registro B5 A3, P49
7 bits 7 B4 9
B3 RAM
B2 512 x 8bits 4 U
B1 A4, P58
(LSB) B0 ó P56 (2E)

Tema 6: Sistema Digitales de Control en Tiempo Discreto 105

Ejemplo de visualización

Para Np=50d,
el valor del registro es Bus de Bus de
0110010b direcciones datos
4 D
Registro 0101
7 bits 7 9
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
Tema 6: Sistema Digitales de Control en Tiempo Discreto 107

Activación de los dígitos

Señales
habilitación
de dígitos
D[7..4] 4 0 8
4 8
BIN7SEG
U[3..0] 4 1 S0 A3, P49
8

S0 0 1
A4, P58 ó
A3
P56 (2E)
A4

Tema 6: Sistema Digitales de Control en Tiempo Discreto 108

54
Control de activación de los dígitos

El control de activación se puede realizar mediante un sistema secuencial

95Hz Sistema S0
50 MHz P80
Contador 19 bits secuencial A4
Clock de control A3

La frecuencia de barrido Estado Actual S0 S1


del display es de 95Hz Estado siguiente S1 S0
S0 0 0
A4 0 1
A3 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 Con el resultado de la comparación


real con la ideal 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

También podría gustarte