Está en la página 1de 58

Departamento de Ingeniera Electrnica

SISTEMAS DIGITALES DE
INSTRUMENTACIN 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

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

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

Tema 6: Sistema Digitales de Control en Tiempo Discreto

6.1 Sistemas de control digital

6.1.1 Introduccin al diseo 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 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
Tema 6: Sistema Digitales de Control en Tiempo Discreto

Controladores analgicos vs. digitales


Controlador
Analgico

Ventajas

Digital

Desventajas

Elevado ancho de banda


Elevada resolucin
Fcil de disear

Diseo programable
Comportamiento preciso
Implementacin
algoritmos complejos
Fcilmente ampliable

Envejecimiento de componentes
Derivas con la temperatura
Bueno para diseos simples
Dificultad de diseo
Necesita procesadores de altas
prestaciones
Genera problemas numricos

Tema 6: Sistema Digitales de Control en Tiempo Discreto

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)

Tema 6: Sistema Digitales de Control en Tiempo Discreto

6.1.2 Discretizacin de sistemas


analgicos

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

Tema 6: Sistema Digitales de Control en Tiempo Discreto

10

Mantenedor de orden cero (ZOH)


Esta tcnica 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

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 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:

D( z ) z =1 = D(s ) s =0

Tema 6: Sistema Digitales de Control en Tiempo Discreto

12

Transformacin Bilineal
Tambin denominada aproximacin de Tustin o trapezoidal, utiliza la
siguiente relacin

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

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: L

di
+ Ri = V emf
dt

L: inductancia del motor


R: resistencia
V: tensin de alimentacin
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)


Caractersticas mecnicas:

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 friccin viscosa
JL: inercia de la carga=Kt i
TL: par de rotacin de la carga
Kt= constante de par de rotacin

Tema 6: Sistema Digitales de Control en Tiempo Discreto

16

Modelo de la planta (III)

Parmetros del motor


DC Pittman 9412G316

Modelo elctrico
di
L + Ri = V emf
dt

R = 6.4
J = Jm+JL = 60 10-6 kgm2
Kt = 0.0207 (N m)/A
Ke = 0.0206 volt/(rad/s)

Modelo mecnico
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

Conversin a formato discreto (I)

G (s )

1
1
Transformacin 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

Conversin 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 Diseo de un control digital PID

20

10

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.
Tema 6: Sistema Digitales de Control en Tiempo Discreto

21

6.2.1 Introduccin al control PID digital

22

11

Expresin general control PID

Minimiza el error
Reduce el error a cero en
rgimen permanente
Kp: constante proporcional
Ki: constante integral
Kd: constante derivativa
u(t): salida del control
e(t): seal de error

Incrementa la
estabilidad de la planta
Accin anticipativa que
reduce el sobreimpulso

23

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Controlador PID analgico y discreto


Control PID digital

Control PID analgico


KP
e(t)
E(s)

KI/s

+
+

KP
u(t)

e(n)
E(z)

U(s)

u(n)
U(z)

DD(z)

KDs
Funcin de transferencia
U (s ) = K p E (s ) + K i

DI(z)

+
+

E (s )
+ K d s E (s )
s

Funcin 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

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

Tema 6: Sistema Digitales de Control en Tiempo Discreto

25

6.2.2 Aproximacin rectangular del


control PID

26

13

Aproximacin rectangular del PID (I)


Aproximacin
rectangular

Trmino proporcional

Trmino derivativo

K p e(t ) = K p e(n )

Si T es suficientemente pequeo se
puede aproximar por:

Trmino integral
K i e(t ) = K iT ei
i

Kd

Si se conoce e(n+1) se puede obtener


una mejor aproximacin 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 posicin
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

Aproximacin rectangular del PID (II)


Algoritmo de posicin
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 podra generar una
salida u(n)=0

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.

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

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

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:
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

Implementacin digital del PID


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

e(n)
K1

K2

e(n-1)

z-1
K3

e(n-2)

u(n-2) z-1

z-1

u(n)
Tema 6: Sistema Digitales de Control en Tiempo Discreto

31

Respuesta al escaln 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 escaln con el control PID

Tema 6: Sistema Digitales de Control en Tiempo Discreto

33

6.2.3 Aproximacin trapezoidal del


control PID

34

17

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:

Funcin transferencia trmino 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

Aproximacin 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 trmino

(
(

)
)

K
T 1 + z 1
E ( z ) + d 1 z 1 E ( z )
1
2 1 z
T

Funcin de transferencia discreta

D(z ) =

D(z ) =

(2TK

(
(

)
)

U (z )
T 1 + z 1 K d
= K p + KI
+
1 z 1
1
E (z )
2 1 z
T

) (

Reordenando trminos

+ 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

36

18

Diseo 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

Determinacin coeficientes PID


Gs ( z ) =

G p ( z )Gc (z )

1 + G p (z )Gc ( z )

Funcin de transferencia global del sistema

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:
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 escaln 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 escaln con el control PID

Polos cerca del crculo 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

Implementacin digital del PID


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

e(n)
K1

K2

e(n-1)

z-1
K3

e(n-2)

u(n-1) z-1

u(n)
Tema 6: Sistema Digitales de Control en Tiempo Discreto

41

6.3 Arquitecturas de realizacin 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)
Expresin general de la funcin 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 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

Tema 6: Sistema Digitales de Control en Tiempo Discreto

45

6.3.1 Programacin directa

46

23

Descomposicin de la funcin 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

i =1

i =0

a0 e2 (n ) + ai e2 (n i ) = bi e1 (n i )

1
e2 (n ) =
a0

Salida actual

1
bi e1 (n i )

a0
i =0

a e (n i )
i =1

i 2

Salidas anteriores

Entradas
Tema 6: Sistema Digitales de Control en Tiempo Discreto

47

Implementacin 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 Programacin estndar

49

Descomposicin de la funcin 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

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

a h(n i )
i =1

50

25

Implementacin estndar
Recursos utilizados:
P elementos de retraso Z-1
P+M+2 multiplicadores
P+M+1 sumadores

+
+

e1(n)

a01

+
-

h(n)

b0

Z-1

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 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 ai y bi 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
Tema 6: Sistema Digitales de Control en Tiempo Discreto

52

26

6.3.3 Programacin serie

53

Descomposicin de la funcin de transferencia


La funcin 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

Implementacin estndar
+

e2 (n ) = bi h(n i )

+
+

i =0

b1

b0

h(n)
e1(n)

a01

Z-1
h(n)

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

a h(n i )
i =1

55

Implementacin 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

Implementacin 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 Programacin paralelo

58

29

Descomposicin de la funcin de transferencia


La funcin 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

Di (z ) = A +

i = j +1

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

Implementacin 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

Implementacin 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

y(n)

Z-1

ci

+
+

di

Tema 6: Sistema Digitales de Control en Tiempo Discreto

61

6.3.5 Programacin en escalera

62

31

Descomposicin de la funcin 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 programacin en escalera (I)


D( z ) = A0 +

1
B1 z +

1
A1 +

p=2

D (pB ) ( z ) =

1
B2 z +

1
A2

D( z ) = A0 +

B1 z +

1
A1 + D2( B ) ( z )

= A0 +

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 programacin 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 programacin 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 programacin en escalera (IV)


D( z ) = A0 +

1
B1 z +

1A

6
x

D2( B ) ( z )

1 B2

x(n)

1
A1 + D2( B ) ( z )

1
= A0 + D1( B ) ( z )
B1 z + D1( A ) ( z )

= A0 +

x
1

5
x

Z-1

(B )

D1

y(n)

A0

(z ) x
2

1 B1

Z-1

3
x

1 A2

D1( A ) ( z )

4
x
67

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Ejemplo de programacin en escalera (V)


Combinacin de los diagramas de bloques
+

A0

x(n)

+x

1 x+
1B

-x

Z-1

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 diseo: control de un


motor DC mediante el driver L293E

69

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

Tema 6: Sistema Digitales de Control en Tiempo Discreto

70

35

6.4.1 Introduccin al sistema de control


digital de un motor

71

Diagrama de bloques del sistema de control


Placa interface
FPGA

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

72

36

6.4.2 Modelo equivalente elctrico del


motor DC

73

Modelo ideal del motor DC


Transformador ideal de tensin/corriente en velocidad/fuerza
Relaciones de transformacin:
KIS = Fm
VS = KUm
(fuerza)

(velocidad)

Tema 6: Sistema Digitales de Control en Tiempo Discreto

74

37

Modelo real del motor DC con prdidas

Le y Re: Inductancia y resistencia del devanado del rotor


Cm: modela la resistencia que presenta el motor a cambios de
velocidad
Rm: resistencia mecnica
RL: carga del motor
75

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Circuito elctrico equivalente del motor


Circuito equivalente del secundario visto desde el primario

Modelo elctrico 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

Caractersticas:
Iout: 1A por canal
Iout de pico: 2 A por canal
Entrada de inhibicin
Proteccin contra sobre-temperatura

Tema 6: Sistema Digitales de Control en Tiempo Discreto

78

39

Diagrama de bloques
Entradas de control
Entradas de
habilitacin

Modelo driver de corriente


Vss

79

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Control unidireccional del motor DC (I)


Conexin a +Vs

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Conexin a masa

80

40

Control unidireccional del motor DC (II)


Vss
Vss

Conexin a masa

1
M

Vss
M
0
Conexin 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

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

85

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Diagrama de bloques del


sistema de control en lazo abierto
Modulador PWM

Motor
DVREF

Variando el ciclo de trabajo D se varia la tensin de alimentacin 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

Tc: periodo de conmutacin


D = TON/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: DVREF

87

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Margen dinmico de la alimentacin del motor


con driver de puente en H
Vss

D=1

M
+
Va=Vss

Va=-Vss
Vss

D = 0.5
1

Vss

D=0

Va=0
Tema 6: Sistema Digitales de Control en Tiempo Discreto

88

44

Forma de onda de la tensin del motor


+Vss

-Vss

Tema 6: Sistema Digitales de Control en Tiempo Discreto

89

6.4.5 PWM digital

90

45

Estructura del PWM analgico


Rampa

Comparador
PWM

Tc

Ciclo de trabajo
D

PWM
91

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Estructura del PWM digital de 8 bits de precisin


CLK

Contador
8 bits

Comparador
A 8 bits
LT

Tc = 28TCLK

PWM

Tc

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

92

46

Diseo Xilinx del PWM digital


Contador

Comparador

Divisor de
frecuencia

Salidas de
activacin
del puente

P80

Ciclo de
trabajo

Salida de habilitacin
del puente

93

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Divisor de frecuencia
Disear el divisor de frecuencia para que Tc=1ms
Tc = 28TCLK

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 precisin es de 8 bits
El SW1 es el bit de mayor peso

Tema 6: Sistema Digitales de Control en Tiempo Discreto

95

Seales de control del puente en H

PWM

PWM1
ENABLE

Tema 6: Sistema Digitales de Control en Tiempo Discreto

96

48

6.4.6 Monitorizacin de la velocidad de


giro

97

Fotointerruptor
4

2
4

3
Vista inferior

1
Tema 6: Sistema Digitales de Control en Tiempo Discreto

2
98

49

Esquema de conexin
+Vcc

10k
180

+Vcc
4

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: nmero de pulsos contados
Nv: nmero 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

Simplificacin del clculo:


Si T = 1/Nv vrps = Np

100

50

Implementacin digital del algoritmo

Pulsos del
fotointerruptor

CK

Contador
de pulsos

Registro
de Np

Reset Asncrono
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 mxima vrps_max = 100d
El contador debe ser de 7 bits
El registro tambin es de 7 bits
+Vcc

+Vcc

Pin
180 FPGA

10k
4

560
1

3
2

Contador de 7 bits
7

CK
Reset Asncrono

T=41.66ms
Tema 6: Sistema Digitales de Control en Tiempo Discreto

Registro
7 bits

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 visualizacin
Se debe visualizar valores entre 0 y 99 rps
Los valores a visualizar se almacenan en la memoria RAM

Registro
7 bits

(MSB) B6
B5
7
B4
B3
B2
B1
(LSB) B0

D
A3, P49

RAM
512 x 8bits

U
A4, P58
P56 (2E)

105

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Ejemplo de visualizacin
Para Np=50d,
el valor del registro es
0110010b

Registro
7 bits

Bus de
direcciones

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

Activacin de los dgitos

D[7..4] 4

U[3..0] 4

1 S0
S0

BIN7SEG

Seales
habilitacin
de dgitos

8
A3, P49
8

A3
A4

Tema 6: Sistema Digitales de Control en Tiempo Discreto

A4, P58
P56 (2E)

108

54

Control de activacin de los dgitos


El control de activacin 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 Regulacin 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 comparacin


se ajusta el ciclo de trabajo D

Tema 6: Sistema Digitales de Control en Tiempo Discreto

111

Bibliografa (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

Bibliografa (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