Vous êtes sur la page 1sur 58

SISTEMAS DIGITALES DE

INSTRUMENTACIN Y CONTROL
Departamento de Ingeniera Electrnica
Rafael Ramos Lara
Febrero 2007
TEMA 6
Sistemas Digitales de
Control en Tiempo
Discreto
s
e
Ts
1
D(s)
D(z)
DAC
ADC
s
e
Ts
1
D(s)
D(z)
DAC
ADC
1
1
TEMA 6
Sistemas Digitales de Control en
Tiempo Discreto
Tema 6: Sistema Digitales de Control en Tiempo Discreto 2
ndice (I)
6.1. Sistemas de control digital
6.1.1. Introduccin al diseo de sistemas de control digital
6.1.2. Discretizacin de sistemas analgicos
6.1.3. Ejemplo: modelo discreto de un motor DC
6.2. Diseo de un control digital PID
6.2.1 Introduccin al control PID digital
6.2.2 Aproximacin rectangular del control PID
6.2.3 Aproximacin trapezoidal del control PID
6.3. Arquitecturas de realizacin de controladores digitales
6.3.1. Programacin directa
6.3.2. Programacin estndar
6.3.3. Programacin serie
6.3.4. Programacin paralelo
6.3.5. Programacin en escalera
2
Tema 6: Sistema Digitales de Control en Tiempo Discreto 3
ndice (II)
6.4. Ejemplo de diseo: control de un motor DC mediante el driver L293E
6.4.1. Introduccin al sistema de control digital de un motor
6.4.2. Modelo equivalente elctrico 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. Monitorizacin de la velocidad de giro
6.4.7. Regulacin de la velocidad de giro
4
6.1 Sistemas de control digital
3
5
6.1.1 Introduccin al diseo de sistemas
de control digital
Tema 6: Sistema Digitales de Control en Tiempo Discreto 6
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 analgicos: 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
4
Tema 6: Sistema Digitales de Control en Tiempo Discreto 7
Controladores analgicos vs. digitales
Dificultad de diseo
Necesita procesadores de altas
prestaciones
Genera problemas numricos
Diseo programable
Comportamiento preciso
Implementacin
algoritmos complejos
Fcilmente ampliable
Digital
Envejecimiento de componentes
Derivas con la temperatura
Bueno para diseos simples
Elevado ancho de banda
Elevada resolucin
Fcil de disear
Analgico
Desventajas Ventajas Controlador
Tema 6: Sistema Digitales de Control en Tiempo Discreto 8
Diseo de un sistema de control digital
Pasos de diseo de un sistema de control:
Obtencin del modelo del sistema a controlar
Diseo del controlador para obtener el comportamiento deseado del
sistema a controlar
El diseo de controles digitales implica la conversin del sistema en una
forma discreta. Dos mtodos de conversin:
Diseo analgico y conversin a discreto para su implementacin
Diseo discreto se debe obtener el modelo de la planta en forma
discreta (transformada Z)
5
9
6.1.2 Discretizacin de sistemas
analgicos
Tema 6: Sistema Digitales de Control en Tiempo Discreto 10
Tcnicas de discretizacin de sistema analgicos
Tres tcnicas para convertir un sistema analgico en discreto:
Mantenedor de orden zero (ZOH)
Correspondencia polos-ceros
Transformacin bilineal
6
Tema 6: Sistema Digitales de Control en Tiempo Discreto 11
Mantenedor de orden cero (ZOH)
Esta tcnica asume que el controlador tiene a la entrada un mantenedor de
orden cero
s
e
Ts
1
D(s)
D(z)
DAC
ADC
( ) ( )
( )
(

=

s
s D
Z z z D
1
1
Tema 6: Sistema Digitales de Control en Tiempo Discreto 12
Correspondencia Polo-Cero
Los polos y ceros s
i
de D(s) se mapean como polos y ceros de D(z) de
acuerdo con:
T s
i
i
e z = T = periodo de muestreo
Si D(s) tiene ms polos que ceros se aaden ceros en z=-1 en el numerador
para igualar el nmero de polos y ceros.
La ganancia se escoge adecuadamente para que se cumpla:
( ) ( )
0 1 = =
=
s z
s D z D
7
Tema 6: Sistema Digitales de Control en Tiempo Discreto 13
Transformacin Bilineal
Tambin denominada aproximacin de Tustin o trapezoidal, utiliza la
siguiente relacin
( )
1
1 2
+

=
z
z
T
s
T = periodo de muestreo
para transformar el dominio en s en un dominio en z
14
6.1.3 Modelo discreto de un motor DC
8
Tema 6: Sistema Digitales de Control en Tiempo Discreto 15
Modelo de la planta (I)
El primer paso en el diseo de un control es obtener el modelo de la planta
Ejemplo: modelo de un motor DC de imn permanente
Caractersticas elctricas:
emf V Ri
dt
di
L = +
L: inductancia del motor
R: resistencia
V: tensin de alimentacin
i: corriente
emf: fuerza contraelectromotriz = K
e

K
e
: constante de fuerza contraelectromotriz
Tema 6: Sistema Digitales de Control en Tiempo Discreto 16
Modelo de la planta (II)
Caractersticas mecnicas:
2
2
2
2
dt
d
J T K
dt
d
B
dt
d
J
L L M


= + +
J
M
: inercia del motor
: desplazamiento angular
K: constante de rigidez
B: coeficiente de friccin viscosa
J
L
: inercia de la carga=K
t
i
T
L
: par de rotacin de la carga
K
t
= constante de par de rotacin
9
Tema 6: Sistema Digitales de Control en Tiempo Discreto 17
Modelo de la planta (III)
Parmetros del motor
DC Pittman 9412G316
emf V Ri
dt
di
L = +
Modelo elctrico
2
2
2
2
dt
d
J T K
dt
d
B
dt
d
J
L L M


= + +
Modelo mecnico
R = 6.4
J = J
m
+J
L
= 60 10
-6
kgm
2
K
t
= 0.0207 (N m)/A
K
e
= 0.0206 volt/(rad/s)
( )
( )
( ) ( ) 116 . 1
906 . 53
+
= =
s s s V
s
s G
m

( )
( )
( )
( )
( ) ( ) R K K J s s
R K J
s V
s
s G
e t
t
1
1

+
= =

Tema 6: Sistema Digitales de Control en Tiempo Discreto 18
Conversin a formato discreto (I)
Transformacin ZOH:
( )
( ) a s
A
s
A
s
A
a s s
b
s
s G
+
+ + =
+
=
3
2
2 1
2
( ) ( )
( )
(

|
.
|

\
|
=

s
s G
z z G
1
L Z
1
1
( )
( ) R K K J a
R K J b
e t
t
1
1

=
=
( ) ( ) ( ) ( )
a s
a b
s
a b
s
a b
s
s G
+
+ +

=
2
2
2
( )
( ) ( )
( )
2 1
2 2 1 2
1 1
1 1


+ +
+ +
=
Tz e z e
z aTe e a b z aT e a b
z G
a aT
aT aT aT
T: periodo de muestreo
T = 0.001
10
Tema 6: Sistema Digitales de Control en Tiempo Discreto 19
Conversin a formato discreto (II)
( )
( ) ( )
( )
2 1
2 2 1 2
1 1
1 1


+ +
+ +
=
Tz e z e
z aTe e a b z aT e a b
z G
a aT
aT aT aT
a = 1.116
b = 53.906
T = 0.001
( )
( )
( )
m
K
z z
z z
z V
z
z G
+
+
= =


2 1
2 1
999 . 0 999 . 1 1
2693 . 0 2694 . 0
K
m
: Factor de ganancia
20
6.2 Diseo de un control digital PID
11
Tema 6: Sistema Digitales de Control en Tiempo Discreto 21
Algoritmos de control
Tcnicas de compensacin: el controlador aade polos y ceros al sistema para
obtener la respuesta deseada .
PID: el control PID es la suma de tres trminos: Proporcional al error + Integral del
error + Derivada del error. Es el algoritmo de control ms utilizado.
Deadbeat: Se utiliza cuando se desea una respuesta rpida. Se disea 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 parmetro especfico del
sistema (p.e. Tiempo de establecimiento, energa, ...). El controlador o compensador
debe minimizar el parmetro.
Control adaptativo: se utiliza en sistemas cuyos parmetros cambian con el tiempo
haciendo inestable el control. El control adaptativo sigue los cambios de la planta y
redisea el controlador para obtener un control ptimo del sistema.
22
6.2.1 Introduccin al control PID digital
12
Tema 6: Sistema Digitales de Control en Tiempo Discreto 23
Expresin general control PID
K
p
: constante proporcional
K
i
: constante integral
K
d
: constante derivativa
u(t): salida del control
e(t): seal de error
Minimiza el error
Reduce el error a cero en
rgimen permanente
Incrementa la
estabilidad de la planta
Accin anticipativa que
reduce el sobreimpulso
Tema 6: Sistema Digitales de Control en Tiempo Discreto 24
Controlador PID analgico y discreto
Control PID analgico
+
+
+
u(t)
U(s)
e(t)
E(s)
K
P
K
I
/s
K
D
s
Control PID digital
+
+
+
u(n)
U(z)
e(n)
E(z)
K
P
D
I
(z)
D
D
(z)
( ) ( )
( )
( ) s E s K
s
s E
K s E K s U
d i p
+ + =
Funcin de transferencia
( ) ( ) ( ) ( ) ( ) ( ) z E z D z E z D z E K z U
D I p
+ + =
Funcin de transferencia
Existen diversos modos de implementar D
I
(z)
13
Tema 6: Sistema Digitales de Control en Tiempo Discreto 25
Implementacin del control PID discreto
Dos tcnicas de implementacin del control PID digital:
Aproximacin rectangular:
El diseo se realiza en el dominio analgico y a continuacin se
transfiere al dominio discreto
Es fcil de implementar y proporciona resultados satisfactorios
Aproximacin trapezoidal:
El diseo se realiza en el dominio discreto directamente utilizando
tcnicas de ubicacin de polos
26
6.2.2 Aproximacin rectangular del
control PID
14
Tema 6: Sistema Digitales de Control en Tiempo Discreto 27
Aproximacin rectangular del PID (I)
( )

=
i
i i i
e T K t e K
Trmino integral
Aproximacin
rectangular
Periodo de muestreo
( ) ( ) ( )
T
n e n e
K
dt
t e
K
d d
1
=
Trmino derivativo
Si T es suficientemente pequeo se
puede aproximar por:
Si se conoce e(n+1) se puede obtener
una mejor aproximacin de la derivada:
( ) ( ) ( )
T
n e n e
K
dt
t e
K
d d
+
=
1
( ) ( ) n e K t e K
p p
=
Trmino proporcional
Algoritmo de posicin
( ) ( ) | | T n e n e K e T K n e K n u
d
i
i i p
) 1 ( ) ( + + =

Tema 6: Sistema Digitales de Control en Tiempo Discreto 28
Aproximacin rectangular del PID (II)
Algoritmo de posicin
( ) ( ) | | T n e n e K e T K n e K n u
d
i
i i p
) 1 ( ) ( + + =

Inconveniente: en caso de
malfuncionamiento del sistema digital
que calcula u(n) se podra generar una
salida u(n)=0
Algoritmo de velocidad
( ) ( ) ( ) 2 = n u n u n u
Es el algoritmo que se utiliza habitualmente
El sistema de control solo calcula el incremento de la
seal de control
Presenta mejor comportamiento en arranque y frente
a transitorios bruscos en la seal de referencia.
15
Tema 6: Sistema Digitales de Control en Tiempo Discreto 29
Algoritmo PID de velocidad
( ) ( ) | | T n e n e K e T K n e K n u
d
n
i
i i p
) 2 ( ) 1 ( 2 2
2
1
+ + =

=
Algoritmo de velocidad
( ) ( ) ( ) 2 = n u n u n u
( ) ( ) ( ) ( ) | | ( ) ( ) | | ( ) | | ) 2 ( ) 1 ( 2 1 2 2 + + + + = n e n e n e T K n e n e T K n e n e K n u n u
d i p
( ) ( ) ( ) ( ) ( )
p d
d i
i d p
K T K K
T K T K K
T K T K K K
n e K n e K n e K n u n u
=
=
+ + =
+ + + =
3
2
1
3 2 1
2
2 1 2
Tema 6: Sistema Digitales de Control en Tiempo Discreto 30
Determinacin coeficientes PID
Mtodo del margen de fase (MF) y margen de ganancia (MG)
Se escoge como parmetros de diseo:
MF = 55
Frecuencia de transicin (fase:-180) = 100Hz
Aplicando tcnicas de control clsico
en el dominio frecuencial se obtiene:
K
p
= 4181
K
d
= 9.569
K
i
= 1
MG = 77dB (f=100Hz)
K
1
= 13751
K
2
= -19138
K
3
= 5387
16
Tema 6: Sistema Digitales de Control en Tiempo Discreto 31
Implementacin digital del PID
( ) ( ) ( ) ( ) ( ) 2 1 2
3 2 1
+ + + = n e K n e K n e K n u n u
z
-1
z
-1
z
-1
e(n)
e(n-1) e(n-2)
X X X
K
1
K
2
K
3
+
+
+
u(n-2)
u(n)
z
-1
Tema 6: Sistema Digitales de Control en Tiempo Discreto 32
Respuesta al escaln con el control PID
( ) ( ) ( ) ( ) ( ) 2 1 2
3 2 1
+ + + = n e K n e K n e K n u n u
17
Tema 6: Sistema Digitales de Control en Tiempo Discreto 33
Respuesta al escaln con el control PID
34
6.2.3 Aproximacin trapezoidal del
control PID
18
Tema 6: Sistema Digitales de Control en Tiempo Discreto 35
Aproximacin trapezoidal
Se utiliza cuando se requiere una mayor precisin en la conversin discreta
La integral se determina con la suma de trapezoides
rea del trapezoide: ( ) ( ) | | 1
2
+ n e n e
T
e(n)
e(n-1)
( ) ( ) ( ) ( ) | | 1
2
1 + + = n e n e
T
K n u n u
I
Funcin transferencia trmino integral
( )( ) | | | | z E z
T
K z z U
I
1 1
1
2
1

+ =
( )
( )
( )
( )
( )
1
1
1
1
2

+
= =
z
z T
K
z E
z U
z D
I I
Tema 6: Sistema Digitales de Control en Tiempo Discreto 36
Aproximacin trapezoidal PID
( ) ( ) | | T n e n e K e T K n e K n u
d
i
i i p
) 1 ( ) ( + + =

( ) ( )
( )
( )
( ) ( ) ( ) z E z
T
K
z E
z
z T
K z E K z U
d
I p
1
1
1
1
1
1
2

+
+ =
Transformada Z de cada trmino
( )
( )
( )
( )
( )
( )
1
1
1
1
1
1
2

+
+ = = z
T
K
z
z T
K K
z E
z U
z D
d
I p
Funcin de transferencia discreta
Reordenando trminos
( )
( ) ( )
( )
1
2 1 2 2
1 2
2 4 2 2 2

+ + + +
=
z T
z K z K T K T K K T K TK
z D
d d p I d I p
19
Tema 6: Sistema Digitales de Control en Tiempo Discreto 37
Diseo del control PID de un motor DC
( )
1
2
3
1
2 1
1

+ +
=
z
z K z K K
z G
PID
Con:
T
K
K
T
K
T
K
K K
T
K
T
K
K K
d d i
p
d i
p
= + = + + =
3 2 1
,
2
2
,
2
( )
( )
( )
m p
K
z z
z z
z V
z
z G
+
+
= =


2 1
2 1
999 . 0 999 . 1 1
2693 . 0 2694 . 0
Tema 6: Sistema Digitales de Control en Tiempo Discreto 38
Determinacin coeficientes PID
( )
( ) ( )
( ) ( ) z G z G
z G z G
z G
c p
c p
s
+
=
1
Matlab ubicacin de polos en 0.96, 0.95, 0.2 y 0.15
Resolviendo el denominador para la
ubicacin de polos propuesta se obtiene:
K
1
= 1.4795
K
2
= -2.845
K
3
= 1.3636
( )
1
2
3
1
2 1
1

+ +
=
z
z K z K K
z G
PID
( ) ( ) ( ) ( ) ( ) 2 1 1
3 2 1
+ + + = n e K n e K n e K n u n u
Funcin de transferencia global del sistema
20
Tema 6: Sistema Digitales de Control en Tiempo Discreto 39
Respuesta al escaln con el control PID
( ) ( ) ( ) ( ) ( ) 2 1 1
3 2 1
+ + + = n e K n e K n e K n u n u
Tema 6: Sistema Digitales de Control en Tiempo Discreto 40
Respuesta al escaln con el control PID
Polos cerca del crculo unidad:
Aumenta el tiempo de respuesta
El sistema puede hacerse inestable
Polos cerca del origen:
Disminuye el tiempo de respuesta
Aumenta el sobre impulso
21
Tema 6: Sistema Digitales de Control en Tiempo Discreto 41
Implementacin digital del PID
( ) ( ) ( ) ( ) ( ) 2 1 1
3 2 1
+ + + = n e K n e K n e K n u n u
z
-1
z
-1
z
-1
e(n)
e(n-1) e(n-2)
X X X
K
1
K
2
K
3
+
+
+
u(n-1)
u(n)
42
6.3 Arquitecturas de realizacin de
controladores digitales
22
Tema 6: Sistema Digitales de Control en Tiempo Discreto 43
Diagrama de bloques de un controlador digital
D(s)
D(z)
e
1
(t)
T
T
e
1
(n)
e
2
(t)
e
2
(n)
E
1
(z)
E
2
(z)
( )
( )
( )
p
p
m
m
z a z a z a a
z b z b z b b
z E
z E
z D


+ + + +
+ + + +
= =
L
L
2
2
1
1 0
2
2
1
1 0
1
2
Expresin general de la funcin de transferencia del controlador digital
Tema 6: Sistema Digitales de Control en Tiempo Discreto 44
Elementos para realizar de un controlador digital
( )
( )
( )
p
p
m
m
z a z a z a a
z b z b z b b
z E
z E
z D


+ + + +
+ + + +
= =
L
L
2
2
1
1 0
2
2
1
1 0
1
2
Z
-1
e
1
(n) e
1
(n-1)
Registro de n bits
Elementos de retardo
+
+
Sumadores c.a.2
0
a
b
m
e
1
(n-m)
Multiplicadores c.a.2
23
Tema 6: Sistema Digitales de Control en Tiempo Discreto 45
Estructuras de implementacin
Programacin directa: implementa la ecuacin en diferencias
Programacin estndar: reduce el nmero de registros a utilizar
Programacin en serie
Programacin en paralelo
Programacin en escalera
La funcin de transferencia se descompone
en funciones de primer y segundo orden
para disminuir los errores de truncado de
coeficientes
46
6.3.1 Programacin directa
24
Tema 6: Sistema Digitales de Control en Tiempo Discreto 47
Descomposicin de la funcin de transferencia
( )
( )
( )
p
p
m
m
z a z a z a a
z b z b z b b
z E
z E
z D


+ + + +
+ + + +
= =
L
L
2
2
1
1 0
2
2
1
1 0
1
2
( ) ( ) ( )

= =
= +
m
i
i
p
i
i
i n e b i n e a n e a
0
1
1
2 2 0
( )| | ( )| |
m
m
p
p
z b z b z b b z E z a z a z a a z E

+ + + + = + + + + L L
2
2
1
1 0 1
2
2
1
1 0 2
Transformada z inversa
( ) ( ) ( )

= =
=
p
i
i
m
i
i
i n e a
a
i n e b
a
n e
1
2
0
0
1
0
2
1 1
Salida actual
Salidas anteriores
Entradas
Tema 6: Sistema Digitales de Control en Tiempo Discreto 48
Implementacin directa
Z
-1
0
0
a
b
Z
-1
0
1
a
b
e
1
(n) e
1
(n-1)
0
a
b
m
e
1
(n-m)
0
2
a
b
e
1
(n-2)
+
+
+
+
+
+
+
+
Z
-1
Z
-1
0
1
a
a
e
2
(n) e
2
(n-1)
0
a
a
p

e
2
(n-p)
0
2
a
a
e
2
(n-2)
+
+
+
+
e
2
(n)
+
Los coeficientes a
i
y b
i
aparecen de
forma directa
Recursos utilizados:
M+P elementos de retraso Z
-1
M+P+1 multiplicadores
M+P sumadores
25
49
6.3.2 Programacin estndar
Tema 6: Sistema Digitales de Control en Tiempo Discreto 50
Descomposicin de la funcin de transferencia
( )
( )
( )
( )
( )
( )
( ) z E
z H
z H
z E
z a z a z a a
z b z b z b b
z E
z E
z D
p
p
m
m
1
2
2
2
1
1 0
2
2
1
1 0
1
2
=
+ + + +
+ + + +
= =


L
L
( )
( )
( )
( )
p
p
m
m
z a z a z a a z E
z H
z b z b z b b
z H
z E


+ + + +
= + + + + =
L
L
2
2
1
1 0 1
2
2
1
1 0
2
1
( ) | | ( ) ( ) ( )
( ) ( ) | | ( ) ( ) ( ) ( )

=

=

= + + + =
= + + + + =
p
i
i
p
p
m
i
i
m
m
i n h a
a
n e
a
n h z H z a z a z a
a
z E
a
z H
i n h b n e z H z b z b z b b z E
1
0
1
0
2
2
1
1
0
1
0
0
2
2
2
1
1 0 2
1 1 1 1
L
L
Transformada z inversa
26
Tema 6: Sistema Digitales de Control en Tiempo Discreto 51
Implementacin estndar
Z
-1
0
b
Z
-1
1
b
m
b
2
b
+
+
+
+
+
+
0
1
a
a
h(n)
0
a
a
p
h(n-p)
0
2
a
a
+ +
+
+
0
a
a
m
+
+
e
1
(n)
1
0

a
-
+
e
2
(n)
Z
-1
Recursos utilizados:
P elementos de retraso Z
-1
P+M+2 multiplicadores
P+M+1 sumadores
Tema 6: Sistema Digitales de Control en Tiempo Discreto 52
Fuentes de error
La precisin en la implementacin de controles digitales es importante para
obtener un buen resultado.
Hay tres fuentes de error que afectan a la precisin:
El error de cuantificacin de los ADC
Redondeo en las operaciones aritmticas
Truncamiento de los coeficientes a
i
y b
i
este error aumenta al
aumentar el orden de la funcin de transferencia un pequeo error
en los coeficientes de un filtro de orden elevado provoca un gran error
en la ubicacin de polos y ceros
Este error se puede reducir matemticamente descomponiendo las funciones
de transferencia de orden elevado en combinaciones de funciones de primer
y segundo orden
27
53
6.3.3 Programacin serie
Tema 6: Sistema Digitales de Control en Tiempo Discreto 54
Descomposicin de la funcin de transferencia
( )
( )
( )
( ) ( ) ( ) ( )

=


= =
+ + + +
+ + + +
= =
r
k
k r
p
p
m
m
z D z D z D z D
z a z a z a a
z b z b z b b
z E
z E
z D
1
2 1
2
2
1
1 0
2
2
1
1 0
1
2
L
L
L
La funcin de transferencia se descompone en un producto de funciones sencillas
de primer o segundo orden
D
1
(z) D
r
(z) D
2
(z) e
2
(n) e
1
(n)
Las funciones de transferencia D
i
(z) dependen de los polos y ceros de D(z):
( )
1
1
1
1

+
+
=
z a
z b
z D
i
i
i
Polo y cero reales
( )
2 1
2 1
1
1


+ +
+ +
=
z d z c
z f z e
z D
i i
i i
i
Polos y ceros complejo conjugados
28
Tema 6: Sistema Digitales de Control en Tiempo Discreto 55
Implementacin estndar
Z
-1
0
b
Z
-1
1
b
h(n)
h(n-1)
m
b
h(n-m)
2
b
h(n-2)
+
+
+
+
+
( ) ( )

=
=
m
i
i
i n h b n e
0
2
+
Z
-1
Z
-1
0
1
a
a
h(n) h(n-1)
0
a
a
p
h(n-p)
0
2
a
a
h(n-2)
+ +
+
+
0
a
a
m
h(n-m)
+
+
e
1
(n)
1
0

a
-
+
e
2
(n)
( ) ( ) ( )

=
=
p
i
i
i n h a
a
n e
a
n h
1
0
1
0
1 1
Z
-1
Z
-1
Tema 6: Sistema Digitales de Control en Tiempo Discreto 56
Implementacin funciones D
i
(z) (I)
( )
( )
1
1
1
1

+
+
=
z a
z b
z X
z Y
i
i
Polo y cero reales
Z
-1
i
b
i
a
x(n)
y(n)
+
-
+
+
29
Tema 6: Sistema Digitales de Control en Tiempo Discreto 57
Implementacin funciones D
i
(z) (II)
( )
( )
2 1
2 1
1
1


+ +
+ +
=
z d z c
z f z e
z X
z Y
i i
i i
Polos y ceros complejo conjugados
Z
-1
i
f
i
c
x(n)
y(n)
+
-
+
+
Z
-1
i
d
+
+
i
e +
+
58
6.3.4 Programacin paralelo
30
Tema 6: Sistema Digitales de Control en Tiempo Discreto 59
Descomposicin de la funcin de transferencia
La funcin de transferencia se descompone en suma de fracciones parciales de
primer y segundo orden:
( )
( )
( )
( ) ( ) ( )
( ) ( )

+ =

=

+ = =


+ +
+
+
+
+ = + + =
+ + + + =
+ + + +
+ + + +
= =
q
j i
i i
i i
j
i
i
i
q
j i
i
j
i
i
q
p
p
m
m
z d z c
z f e
z a
b
A z D z D A
z D z D z D A
z a z a z a a
z b z b z b b
z E
z E
z D
1
2 1
1
1
1
1 1
2 1
2
2
1
1 0
2
2
1
1 0
1
2
1 1
L
L
L
Polos reales Polos complejos
A
D
1
(z)
D
q
(z)
e
1
(n)
e
2
(n)
Tema 6: Sistema Digitales de Control en Tiempo Discreto 60
Implementacin funciones D
i
(z) (I)
( )
( )
1
1

+
=
z a
b
z X
z Y
i
i
Polos reales
Z
-1
i
b
i
a
x(n)
y(n)
+
-
31
Tema 6: Sistema Digitales de Control en Tiempo Discreto 61
Implementacin funciones D
i
(z) (II)
( )
( )
2 1
1
1

+ +
+
=
z d z c
z f e
z X
z Y
i i
i i
Polos complejos conjugados
Z
-1
i
e
i
c
x(n)
y(n)
+
-
Z
-1
i
d
+
+
i
f +
+
62
6.3.5 Programacin en escalera
32
Tema 6: Sistema Digitales de Control en Tiempo Discreto 63
Descomposicin de la funcin de transferencia
( )
p
p
p
A
z B
A
z B
A
z B
A z D
1
1
1
1
1
1
1
2
1
1
0
+
+
+
+
+ =

M
( )
( )
( )
( )
1 ,..., 2 , 1
1
=
+
= p i con
z G z B
z D
A
i i
B
i
( )
( )
( )
( )
1 ,..., 2 , 1
1
1
=
+
=
+
p i con
z G A
z D
B
i i
A
i
( )
( )
p
p
B
p
A
z B
z D
1
1
+
=
( )
( )
( ) z D A z D
B
1 0
+ =
Tema 6: Sistema Digitales de Control en Tiempo Discreto 64
Ejemplo de programacin en escalera (I)
( )
( )
p
p
B
p
A
z B
z D
1
1
+
=
( )
( )
( )
( )
( )
( )
( ) z D A
z D z B
A
z D A
z B
A z D
B
A
B
1 0
1 1
0
2 1
1
0
1
1
1
+ =
+
+ =
+
+
+ =
D
i
(B)
(z) se puede escribir como:
( )
( )
( )
( )
( )
( ) z D z B z X
z Y
z D
A
i i
B
i
+
= =
1
( )
( )
( ) ( ) z zY B z Y D z X
i i i
A
i i
=
( )
2
2
1
1
0
1
1
1
1
A
z B
A
z B
A z D
+
+
+
+ =
p=2
33
Tema 6: Sistema Digitales de Control en Tiempo Discreto 65
Ejemplo de programacin en escalera (II)
( )
( )
( ) ( ) z zY B z Y D z X
i i i
A
i i
=
i
B 1
x(n) y(n)
+
-
Z
-1
( )
( ) z D
A
i
Tema 6: Sistema Digitales de Control en Tiempo Discreto 66
Ejemplo de programacin en escalera (III)
i
A 1
x(n) y(n)
+
-
( )
( ) z D
B
i 1 +
D
i
(A)
(z) se puede escribir como:
( )
( )
( )
( )
( )
( ) z D A z X
z Y
z D
B
i i
A
i
1
1
+
+
= =
( )
( )
( ) ( ) z Y A z Y D z X
i i i
B
i i
=
+1
34
Tema 6: Sistema Digitales de Control en Tiempo Discreto 67
Ejemplo de programacin en escalera (IV)
( )
( )
( )
( )
( )
( )
( ) z D A
z D z B
A
z D A
z B
A z D
B
A
B
1 0
1 1
0
2 1
1
0
1
1
1
+ =
+
+ =
+
+
+ =
0
A
x(n)
y(n)
+
( )
( ) z D
B
1
+
1 2
x x
1
1 B
+
-
Z
-1
( )
( ) z D
A
1
1
2
3
x
4
x
1
1 A
+
-
( )
( ) z D
B
2
4
3
5
x
6
x
5
6 2
1 B
+
-
Z
-1
2
1 A
Tema 6: Sistema Digitales de Control en Tiempo Discreto 68
Ejemplo de programacin en escalera (V)
0
A
x(n)
y(n)
+
+
1
2
x
x
1
1 B
-
Z
-1
3
x
4
x
1
1 A
5
6 2
1 B
+
-
Z
-1
2
1 A
+
+
x
x
-
Combinacin de los diagramas de bloques
35
69
6.4 Ejemplo de diseo: control de un
motor DC mediante el driver L293E
Tema 6: Sistema Digitales de Control en Tiempo Discreto 70
ndice
6.4.1. Introduccin al sistema de control digital de un motor
6.4.2. Modelo equivalente elctrico 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. Monitorizacin de la velocidad de giro
6.4.7. Regulacin de la velocidad de giro
36
71
6.4.1 Introduccin al sistema de control
digital de un motor
Tema 6: Sistema Digitales de Control en Tiempo Discreto 72
Diagrama de bloques del sistema de control
FPGA
Placa interface
Elementos bsicos:
FPGA: implementa el sistema digital de control
Interface etapa lgica-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
37
73
6.4.2 Modelo equivalente elctrico del
motor DC
Tema 6: Sistema Digitales de Control en Tiempo Discreto 74
Modelo ideal del motor DC
Transformador ideal de tensin/corriente en velocidad/fuerza
Relaciones de transformacin:
KI
S
= F
m
V
S
= KU
m
(fuerza)
(velocidad)
38
Tema 6: Sistema Digitales de Control en Tiempo Discreto 75
Modelo real del motor DC con prdidas
L
e
y R
e
: Inductancia y resistencia del devanado del rotor
C
m
: modela la resistencia que presenta el motor a cambios de
velocidad
R
m
: resistencia mecnica
R
L
: carga del motor
Tema 6: Sistema Digitales de Control en Tiempo Discreto 76
Circuito elctrico equivalente del motor
Circuito equivalente del secundario visto desde el primario
Modelo elctrico equivalente de segundo orden
REF
eq eq
o
o S
A
V D V
C L
w
w s s V
w
=

=
+ +
=
1
2
1
2 2

39
77
6.4.3 Interfase con el motor: L293E
Tema 6: Sistema Digitales de Control en Tiempo Discreto 78
Driver de cuatro canales Push-Pull
Caractersticas:
Iout: 1A por canal
Iout de pico: 2 A por canal
Entrada de inhibicin
Proteccin contra sobre-temperatura
40
Tema 6: Sistema Digitales de Control en Tiempo Discreto 79
Diagrama de bloques
Entradas de control
Entradas de
habilitacin
Modelo driver de corriente
Vss
Tema 6: Sistema Digitales de Control en Tiempo Discreto 80
Control unidireccional del motor DC (I)
Conexin a +Vs
Conexin a masa
41
Tema 6: Sistema Digitales de Control en Tiempo Discreto 81
Control unidireccional del motor DC (II)
Vss
Conexin a masa
Vss
1
M
Conexin a +Vs
Vss
0
M
Tema 6: Sistema Digitales de Control en Tiempo Discreto 82
Control bidireccional del motor DC (I)
42
Tema 6: Sistema Digitales de Control en Tiempo Discreto 83
Control bidireccional del motor DC (II)
Vss
1
M 0
Giro a la derecha
Vss
0
M 1
Giro a la izquierda
Va=Vss
+ -
Va=-Vss
+ -
84
6.4.4 Control en lazo abierto de la
velocidad de giro
43
Tema 6: Sistema Digitales de Control en Tiempo Discreto 85
Control en lazo abierto de la velocidad de giro
Variando la tensin de alimentacin del motor se varia su velocidad
Con un modulador PWM se obtiene una tensin variable de valor:
DVcc donde D es el ciclo de trabajo de la seal PWM
Tema 6: Sistema Digitales de Control en Tiempo Discreto 86
Diagrama de bloques del
sistema de control en lazo abierto
DV
REF
Motor Modulador PWM
Variando el ciclo de trabajo D se varia la tensin de alimentacin del
motor y con ello la velocidad de giro
A
2 2
2
1

o
REF A
w s s
V D w
+ +
=

44
Tema 6: Sistema Digitales de Control en Tiempo Discreto 87
Modulador de anchura de pulsos (PWM)
Tc: periodo de conmutacin
T
ON
T
ON
T
OFF
T
OFF
T
ON
T
OFF
V
REF
D
D = T
ON
/Tc con 0 D 1
Si el Tc es suficientemente pequeo la tensin equivalente que se aplica
al motor es el valor medio de la seal PWM: DV
REF
Tema 6: Sistema Digitales de Control en Tiempo Discreto 88
Margen dinmico de la alimentacin del motor
con driver de puente en H
Vss
1
M 0
D = 1
Vss
0
M 1
D = 0
Va=Vss
+ -
Va=-Vss
+ -
Vss
M
D = 0.5
Va=0
+ -
1
0
1
0
1
0
1
0
45
Tema 6: Sistema Digitales de Control en Tiempo Discreto 89
Forma de onda de la tensin del motor
+Vss
-Vss
90
6.4.5 PWM digital
46
Tema 6: Sistema Digitales de Control en Tiempo Discreto 91
Estructura del PWM analgico
D
PWM
-
+
D
PWM
Rampa
Comparador
Ciclo de trabajo
Tc
Tema 6: Sistema Digitales de Control en Tiempo Discreto 92
Estructura del PWM digital de 8 bits de precisin
Contador
8 bits
CLK
Comparador
8 bits
LT
8
D
8
A
B
1
PWM
D
1
D
2
PWM
2
PWM
1
Tc
Tc = 2
8
T
CLK
47
Tema 6: Sistema Digitales de Control en Tiempo Discreto 93
Diseo Xilinx del PWM digital
Ciclo de
trabajo
Divisor de
frecuencia
P80
Contador Comparador
Salidas de
activacin
del puente
Salida de habilitacin
del puente
Tema 6: Sistema Digitales de Control en Tiempo Discreto 94
Divisor de frecuencia
Disear el divisor de frecuencia para que Tc=1ms
Tc = 2
8
T
CLK
P80
50MHz
T
CLK
48
Tema 6: Sistema Digitales de Control en Tiempo Discreto 95
Ciclo de trabajo
El valor del ciclo de trabajo se introduce mediante los switches
La precisin es de 8 bits
El SW1 es el bit de mayor peso
Tema 6: Sistema Digitales de Control en Tiempo Discreto 96
PWM1
ENABLE
Seales de control del puente en H
PWM
49
97
6.4.6 Monitorizacin de la velocidad de
giro
Tema 6: Sistema Digitales de Control en Tiempo Discreto 98
Fotointerruptor
4
1
3
2
1
4 3
2
Vista inferior
50
Tema 6: Sistema Digitales de Control en Tiempo Discreto 99
Esquema de conexin
4
1
3
2
560
+Vcc
10k
+Vcc
180
Pin
FPGA
Tema 6: Sistema Digitales de Control en Tiempo Discreto 100
Algoritmo de medida de la velocidad de giro
La velocidad se obtiene contando el n de pulsos por unidad de tiempo:
1
0
1
0
A la FPGA
T N
N
v
v
p
rps

=
Vrps: velocidad en revoluciones por segundo
Np: nmero de pulsos contados
Nv: nmero de ventanas del disco
T: tiempo de cuenta en segundos
Simplificacin del clculo:
Si T = 1/N
v
v
rps
= N
p
51
Tema 6: Sistema Digitales de Control en Tiempo Discreto 101
Implementacin digital del algoritmo
Contador
de pulsos
Pulsos del
fotointerruptor
Temporizador
T segundos
50MHz
Registro
de Np
CK
CK
Reset Asncrono
CK
T
Tema 6: Sistema Digitales de Control en Tiempo Discreto 102
Dimensionado de componentes
Temporizador T
Para Nv = 24 y con T = 1/Nv v
rps
= N
p
El valor a temporizar es T = 41.66ms
Si f
CLK
= 50MHz, 41.66ms equivalen a 2.083.333 pulsos
Temporizador T
50MHz CK
Contador de 21 bits
MAX COUNT:
2.083.333d = 1FCA05H
T0
T=41.66ms
52
Tema 6: Sistema Digitales de Control en Tiempo Discreto 103
Dimensionado de componentes
Contador de pulsos, Registro Np
Si se toma como velocidad mxima v
rps_max
= 100d
El contador debe ser de 7 bits
El registro tambin es de 7 bits
Pin
FPGA
CK
Contador de 7 bits
Reset Asncrono
7
Registro
7 bits
CK
7
T=41.66ms
4
1
3
2
560
+Vcc
10k
+Vcc
180
Tema 6: Sistema Digitales de Control en Tiempo Discreto 104
Bloques de memoria RAM
en la familia Spartan 2/2E
Estructura
utilizada
53
Tema 6: Sistema Digitales de Control en Tiempo Discreto 105
(MSB) B6
B5
B4
B3
B2
B1
(LSB) B0
Etapa de visualizacin
Se debe visualizar valores entre 0 y 99 rps
Los valores a visualizar se almacenan en la memoria RAM
RAM
512 x 8bits
4
4
9
D
U
A3, P49
A4, P58
P56 (2E)
7
Registro
7 bits
Tema 6: Sistema Digitales de Control en Tiempo Discreto 106
Ejemplo de visualizacin
Para Np=50d,
el valor del registro es
0110010b
4
4
Bus de
datos
Bus de
direcciones
D
U
0101
0000
7
Registro
7 bits
Los dos bits de mayor peso del bus de direcciones valen siempre 0
RAM
512 x 8bits
9
[3..0]
[7..4]
54
Tema 6: Sistema Digitales de Control en Tiempo Discreto 107
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 108
Activacin de los dgitos
BIN7SEG
D[7..4]
4
U[3..0]
4
8
8
8
Seales
habilitacin
de dgitos
S
0
4
0
1
A3
A4
S
0
0 1
A3, P49
A4, P58
P56 (2E)
55
Tema 6: Sistema Digitales de Control en Tiempo Discreto 109
Control de activacin de los dgitos
El control de activacin se puede realizar mediante un sistema secuencial
50 MHz
Clock
P80
Contador 19 bits
95Hz
Sistema
secuencial
de control
S0
A4
A3
La frecuencia de barrido
del display es de 95Hz
Estado Actual S0 S1
Estado siguiente S1 S0
S0 0 0
A4 0 1
A3 1 0
110
6.4.7 Regulacin de la velocidad de giro
56
Tema 6: Sistema Digitales de Control en Tiempo Discreto 111
Sistema de control en lazo cerrado
El sistema de control ajusta el valor de D para que la velocidad real, w
a
se
mantenga igual a la velocidad deseada w
d
Se compara la velocidad
real con la ideal
Con el resultado de la comparacin
se ajusta el ciclo de trabajo D
Tema 6: Sistema Digitales de Control en Tiempo Discreto 112
Bibliografa (I)
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.ti.com
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
57
Tema 6: Sistema Digitales de Control en Tiempo Discreto 113
Bibliografa (II)
www.st.com
L293B/L293E Data Sheet
Katsuhiko Ogata, Discrete-Time Control Systems, Ed. Prentice Hall