Sistemas Digitales de Control en Tiempo Discreto

• Necesita procesadores de altas prestaciones • Genera problemas ... discreto directamente utilizando técnicas de ... de Control en Tiempo Discreto 30...

55 downloads 743 Views 648KB Size
Departamento de Ingeniería Electrónica

SISTEMAS DIGITALES DE INSTRUMENTACIÓN Y CONTROL

TEMA 6 Sistemas Digitales de Control en Tiempo Discreto

DAC

ADC

1 − e −Ts s

D(s) D(z)

Rafael Ramos Lara Febrero 2007

TEMA 6 Sistemas Digitales de Control en Tiempo Discreto

1

Índice (I) 6.1. Sistemas de control digital 6.1.1. Introducción al diseño de sistemas de control digital 6.1.2. Discretización de sistemas analógicos 6.1.3. Ejemplo: modelo discreto de un motor DC 6.2. Diseño de un control digital PID 6.2.1 Introducción al control PID digital 6.2.2 Aproximación rectangular del control PID 6.2.3 Aproximación trapezoidal del control PID 6.3. Arquitecturas de realización de controladores digitales 6.3.1. Programación directa 6.3.2. Programación estándar 6.3.3. Programación serie 6.3.4. Programación paralelo 6.3.5. Programación en escalera Tema 6: Sistema Digitales de Control en Tiempo Discreto

2

1

Índice (II) 6.4. Ejemplo de diseño: control de un motor DC mediante el driver L293E 6.4.1. Introducción al sistema de control digital de un motor 6.4.2. Modelo equivalente eléctrico del motor DC 6.4.3. Interface con el motor: L293E 6.4.4. Control en lazo abierto de la velocidad de giro 6.4.5. PWM digital 6.4.6. Monitorización de la velocidad de giro 6.4.7. Regulación de la velocidad de giro

Tema 6: Sistema Digitales de Control en Tiempo Discreto

3

6.1 Sistemas de control digital

4

2

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

5

Componentes de un sistema de control Los componentes principales de un sistema de control son: • Sensores • Actuadores • Controlador: permite obtener el comportamiento deseado del sistema a controlar, manteniendo al mismo tiempo la estabilidad del sistema Tipos de controladores: • Controladores analógicos: implementados con amplificadores, resistencias, condensadores que realizan estructuras semejantes a filtros que modifican la respuesta frecuencial del sistema • Controladores digitales: implementados con microprocesadores, microcontroladores, DSP, FPGA, CPLD, etc... Necesitan conversores ADC y DAC Tema 6: Sistema Digitales de Control en Tiempo Discreto

6

3

Controladores analógicos vs. digitales Controlador Analógico

Ventajas • • •

Digital

• • • •

Desventajas

Elevado ancho de banda Elevada resolución Fácil de diseñar



Diseño programable Comportamiento preciso Implementación algoritmos complejos Fácilmente ampliable



• •

• •

Envejecimiento de componentes Derivas con la temperatura Bueno para diseños simples Dificultad de diseño Necesita procesadores de altas prestaciones Genera problemas numéricos

Tema 6: Sistema Digitales de Control en Tiempo Discreto

7

Diseño de un sistema de control digital Pasos de diseño de un sistema de control: • Obtención del modelo del sistema a controlar • Diseño del controlador para obtener el comportamiento deseado del sistema a controlar El diseño de controles digitales implica la conversión del sistema en una forma discreta. Dos métodos de conversión: • Diseño analógico y conversión a discreto para su implementación • Diseño discreto ⇒ se debe obtener el modelo de la planta en forma discreta (transformada Z)

Tema 6: Sistema Digitales de Control en Tiempo Discreto

8

4

6.1.2 Discretización de sistemas analógicos

9

Técnicas de discretización de sistema analógicos Tres técnicas para convertir un sistema analógico en discreto: • Mantenedor de orden zero (ZOH) • Correspondencia polos-ceros • Transformación bilineal

Tema 6: Sistema Digitales de Control en Tiempo Discreto

10

5

Mantenedor de orden cero (ZOH) Esta técnica asume que el controlador tiene a la entrada un mantenedor de orden cero DAC

ADC

1− e s

−Ts

D(s) D(z)

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

(

)

11

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Correspondencia Polo-Cero Los polos y ceros “si” de D(s) se mapean como polos y ceros de D(z) de acuerdo con:

z i = e si T

T = periodo de muestreo

Si D(s) tiene más polos que ceros se añaden ceros en z=-1 en el numerador para igualar el número de polos y ceros. La ganancia se escoge adecuadamente para que se cumpla:

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

Tema 6: Sistema Digitales de Control en Tiempo Discreto

12

6

Transformación Bilineal También denominada aproximación de Tustin o trapezoidal, utiliza la siguiente relación

s=

2 (z − 1) T z +1

T = periodo de muestreo

para transformar el dominio en “s” en un dominio en “z”

Tema 6: Sistema Digitales de Control en Tiempo Discreto

13

6.1.3 Modelo discreto de un motor DC

14

7

Modelo de la planta (I) El primer paso en el diseño de un control es obtener el modelo de la planta Ejemplo: modelo de un motor DC de imán permanente

Características eléctricas: L

di + Ri = V − emf dt

L: inductancia del motor R: resistencia V: tensión de alimentación i: corriente emf: fuerza contraelectromotriz = Ke · θ Ke: constante de fuerza contraelectromotriz

15

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Modelo de la planta (II) Características mecánicas:

JM

d 2θ dθ d 2θ + + = − B K θ T J L L dt 2 dt 2 dt JM: inercia del motor θ: desplazamiento angular K: constante de rigidez B: coeficiente de fricción viscosa JL: inercia de la carga=Kt · i TL: par de rotación de la carga Kt= constante de par de rotación

Tema 6: Sistema Digitales de Control en Tiempo Discreto

16

8

Modelo de la planta (III)

Parámetros del motor DC Pittman 9412G316

Modelo eléctrico di L + Ri = V − emf dt

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

Modelo mecánico dθ dθ d 2θ + Kθ = TL − J L 2 JM 2 + B 2

dt

θ (s )

dt

dt

J −1 (K t R ) G (s ) = = V (s ) s s + J −1 (K t K e R )

Gm (s ) = Tema 6: Sistema Digitales de Control en Tiempo Discreto

(

θ (s )

V (s )

)

=

53.906 s(s + 1.116 )

17

Conversión a formato discreto (I) 

 G (s )     s 

−1 −1 Transformación ZOH: G (z ) = (1 − z ) Z L 



A G (s ) b A A = 2 = 1 + 22 + 3 s s (s + a ) s s s+a

(

)

(

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

(

)

(

)

b = J −1 ( K t R )

a = J −1 (K t K e R )

T: periodo de muestreo T = 0.001

)

b a 2 e − aT − 1 + aT z −1 + b a 2 1 − e − aT − aTe − aT z −2 G (z ) = 1 − 1 + e − aT z −1 + e − aTz − 2

(

)

Tema 6: Sistema Digitales de Control en Tiempo Discreto

18

9

Conversión a formato discreto (II) G (z ) =

(

)

(

)

b a 2 e − aT − 1 + aT z −1 + b a 2 1 − e − aT − aTe − aT z −2 1 − 1 + e − aT z −1 + e − aTz − 2

(

)

a = 1.116 b = 53.906 T = 0.001

Km: Factor de ganancia

θ (z )

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

19

6.2 Diseño de un control digital PID

20

10

Algoritmos de control • Técnicas de compensación: el controlador añade polos y ceros al sistema para obtener la respuesta deseada . • PID: el control PID es la suma de tres términos: Proporcional al error + Integral del error + Derivada del error. Es el algoritmo de control más utilizado. • Deadbeat: Se utiliza cuando se desea una respuesta rápida. Se diseña en el dominio Z • Modelos en el espacio de estado: describen matricialmente el modelo de sistema a controlar. Se utiliza cuando hay muchas variables de estado a controlar. • Control óptimo: se utiliza cuando se desea minimizar un parámetro específico del sistema (p.e. Tiempo de establecimiento, energía, ...). El controlador o compensador debe minimizar el parámetro. • Control adaptativo: se utiliza en sistemas cuyos parámetros cambian con el tiempo haciendo inestable el control. El control adaptativo sigue los cambios de la planta y rediseña el controlador para obtener un control óptimo del sistema. Tema 6: Sistema Digitales de Control en Tiempo Discreto

21

6.2.1 Introducción al control PID digital

22

11

Expresión general control PID

Minimiza el error Reduce el error a cero en régimen permanente Kp: constante proporcional Ki: constante integral Kd: constante derivativa u(t): salida del control e(t): señal de error

• Incrementa la estabilidad de la planta • Acción anticipativa que reduce el sobreimpulso

23

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Controlador PID analógico y discreto Control PID digital

Control PID analógico KP e(t) E(s)

KI/s

+ +

+

KP u(t)

e(n) E(z)

U(s)

+

u(n) U(z)

DD(z)

KD·s Función de transferencia U (s ) = K p E (s ) + K i

DI(z)

+ +

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

Función de transferencia U ( z ) = K p E ( z ) + DI (z )E (z ) + DD ( z )E ( z )

Existen diversos modos de implementar DI(z) Tema 6: Sistema Digitales de Control en Tiempo Discreto

24

12

Implementación del control PID discreto Dos técnicas de implementación del control PID digital: • Aproximación rectangular: • El diseño se realiza en el dominio analógico y a continuación se transfiere al dominio discreto • Es fácil de implementar y proporciona resultados satisfactorios • Aproximación trapezoidal: • El diseño se realiza en el dominio discreto directamente utilizando técnicas de ubicación de polos

Tema 6: Sistema Digitales de Control en Tiempo Discreto

25

6.2.2 Aproximación rectangular del control PID

26

13

Aproximación rectangular del PID (I) Aproximación rectangular

Término proporcional

Término derivativo

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

Si T es suficientemente pequeño se puede aproximar por:

Término integral K i ∫ e(t ) = K iT ∑ ei i

Kd

Si se conoce e(n+1) se puede obtener una mejor aproximación de la derivada:

Kd

Periodo de muestreo

e(t ) e(n ) − e(n − 1) = Kd dt T

e(t ) e(n + 1) − e(n ) = Kd dt T

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

27

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Aproximación rectangular del PID (II) Algoritmo de posición u (n ) = K p e(n ) + K iT ∑ ei + K d [e(n) − e(n − 1)] T i

Algoritmo de velocidad ∆u (n ) = u (n ) − u (n − 2 )

Inconveniente: en caso de malfuncionamiento del sistema digital que calcula u(n) se podría generar una salida u(n)=0

• Es el algoritmo que se utiliza habitualmente • El sistema de control solo calcula el incremento de la señal de control • Presenta mejor comportamiento en arranque y frente a transitorios bruscos en la señal de referencia.

Tema 6: Sistema Digitales de Control en Tiempo Discreto

28

14

Algoritmo PID de velocidad Algoritmo de velocidad

∆u (n ) = u (n ) − u (n − 2 ) n−2

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

u (n ) − u (n − 2 ) = K p [e(n ) − e(n − 2 )] + K iT [e(n ) + e(n − 1)] + K d T [e(n ) − 2e( n − 1) + e( n − 2)] u (n ) = u (n − 2 ) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 ) K1 = K p + K d T + K i T K 2 = K iT − 2 K d T K3 = K d T − K p

29

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Determinación coeficientes PID Método del margen de fase (MF) y margen de ganancia (MG) Se escoge como parámetros de diseño: • MF = 55º • Frecuencia de transición (fase:-180º) = 100Hz

Aplicando técnicas de control clásico en el dominio frecuencial se obtiene: Kp = 4181 Kd = 9.569 Ki = 1

Tema 6: Sistema Digitales de Control en Tiempo Discreto

MG = 77dB (f=100Hz) K1 = 13751 K2 = -19138 K3 = 5387

30

15

Implementación digital del PID u (n ) = u (n − 2 ) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 ) z-1

e(n) K1

X

K2

+

e(n-1)

X

z-1 K3

e(n-2)

X

+

u(n-2) z-1

z-1

+

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

31

Respuesta al escalón con el control PID u (n ) = u (n − 2 ) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 )

Tema 6: Sistema Digitales de Control en Tiempo Discreto

32

16

Respuesta al escalón con el control PID

Tema 6: Sistema Digitales de Control en Tiempo Discreto

33

6.2.3 Aproximación trapezoidal del control PID

34

17

Aproximación trapezoidal • Se utiliza cuando se requiere una mayor precisión en la conversión discreta • La integral se determina con la suma de trapezoides

Área del trapezoide:

Función transferencia término integral

e(n)

e(n-1)

T [e(n ) + e(n − 1)] 2

u (n ) = u (n − 1) + K I

(

)

U ( z ) 1 − z −1 = K I

DI ( z ) =

T [e(n ) + e(n − 1)] 2

[

]

T 1 + z −1 E [z ] 2

( (

U (z ) T 1 + z −1 = KI E (z ) 2 1 − z −1

) ) 35

Tema 6: Sistema Digitales de Control en Tiempo Discreto

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

U (z ) = K p E (z ) + K I

Transformada Z de cada término

( (

) )

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

(

)

Función de transferencia discreta

D(z ) =

D(z ) =

(2TK

p

( (

) )

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

) (

(

)

Reordenando términos

)

+ K I T 2 + 2 K d + K I T 2 − 2 K pT − 4 K d z −1 + 2 K d z − 2

(

2T 1 − z

Tema 6: Sistema Digitales de Control en Tiempo Discreto

−1

)

36

18

Diseño del control PID de un motor DC

K1 + K 2 z −1 + K 3 z −2 GPID ( z ) = 1 − z −1 Con: K1 = K p +

G p (z ) =

θ (z )

V (z )

=

Ki K K K 2K d T + d , K2 = −K p + i T − , K3 = d T T T 2 2

0.2694 z −1 + 0.2693z −2 ⋅ Km 1 − 1.999 z −1 + 0.999 z − 2

Tema 6: Sistema Digitales de Control en Tiempo Discreto

37

Determinación coeficientes PID Gs ( z ) =

G p ( z )Gc (z )

1 + G p (z )Gc ( z )

Función de transferencia global del sistema

Matlab ⇒ ubicación de polos en 0.96, 0.95, 0.2 y 0.15 Resolviendo el denominador para la ubicación de polos propuesta se obtiene: K1 = 1.4795 K1 + K 2 z −1 + K 3 z −2 GPID ( z ) = K2 = -2.845 1 − z −1 K3 = 1.3636

u (n ) = u (n − 1) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 ) Tema 6: Sistema Digitales de Control en Tiempo Discreto

38

19

Respuesta al escalón con el control PID u (n ) = u (n − 1) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 )

39

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Respuesta al escalón con el control PID

Polos cerca del círculo unidad: • Aumenta el tiempo de respuesta • El sistema puede hacerse inestable Tema 6: Sistema Digitales de Control en Tiempo Discreto

Polos cerca del origen: • Disminuye el tiempo de respuesta • Aumenta el sobre impulso 40

20

Implementación digital del PID u (n ) = u (n − 1) + K1e(n ) + K 2 e(n − 1) + K 3e(n − 2 ) z-1

e(n) K1

X

K2

+

e(n-1)

X

z-1 K3

+

e(n-2)

X

u(n-1) z-1

+

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

41

6.3 Arquitecturas de realización de controladores digitales

42

21

Diagrama de bloques de un controlador digital

e1(t)

e1(n) T

E1(z)

D(s)

e2(t)

e2(n) T

E2(z)

D(z) Expresión general de la función de transferencia del controlador digital

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

43

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Elementos para realizar de un controlador digital D(z ) =

Elementos de retardo e1(n)

Z-1

e1(n-1)

Registro de “n” bits

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

Sumadores c.a.2 + +

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Multiplicadores c.a.2 e1(n-m) bm a0

44

22

Estructuras de implementación • Programación directa: implementa la ecuación en diferencias • Programación estándar: reduce el número de registros a utilizar • Programación en serie • Programación en paralelo • Programación en escalera

La función de transferencia se descompone en funciones de primer y segundo orden para disminuir los errores de truncado de coeficientes

Tema 6: Sistema Digitales de Control en Tiempo Discreto

45

6.3.1 Programación directa

46

23

Descomposición de la función de transferencia E2 (z ) b0 + b1 z −1 + b2 z −2 + L + bm z − m D( z ) = = E1 (z ) a0 + a1 z −1 + a2 z − 2 + L + a p z − p

[

]

[

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

]

Transformada “z” inversa p

m

i =1

i =0

a0 ⋅ e2 (n ) + ∑ ai e2 (n − i ) = ∑ bi e1 (n − i )

1 e2 (n ) = a0

Salida actual

m

1 bi e1 (n − i ) − ∑ a0 i =0

p

∑ a e (n − i ) i =1

i 2

Salidas anteriores

Entradas Tema 6: Sistema Digitales de Control en Tiempo Discreto

47

Implementación directa e1(n)

Z-1

b0 a0

e1(n-1)

Z-1

e1(n-2)

e1(n-m)

b2 a0

bm a0

b1 a0

+

+

+

+

+

+

Los coeficientes ai y bi aparecen de forma directa Recursos utilizados: • M+P elementos de retraso “Z-1” • M+P+1 multiplicadores • M+P sumadores

+

e2(n)

+ e2(n)

Z-1

e2(n-1)

Z-1

− a1 a0

e2(n-2)

e2(n-p)

− a2 a0

− ap a0

+ +

+ +

Tema 6: Sistema Digitales de Control en Tiempo Discreto

48

24

6.3.2 Programación estándar

49

Descomposición de la función de transferencia D(z ) =

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

E2 ( z ) = b0 + b1 z −1 + b2 z − 2 + L + bm z − m H (z )

H (z ) 1 = −1 E1 (z ) a0 + a1 z + a2 z − 2 + L + a p z − p Transformada “z” inversa

[

]

m

E2 ( z ) = b0 + b1 z −1 + b2 z − 2 + L + bm z − m ⋅ H ( z ) H (z ) =

[

⇒ e2 (n ) = ∑ bi h(n − i ) i =0

]

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

Tema 6: Sistema Digitales de Control en Tiempo Discreto

p

∑ a h(n − i ) i =1

i

50

25

Implementación estándar Recursos utilizados: • P elementos de retraso “Z-1” • P+M+2 multiplicadores • P+M+1 sumadores

+

+ +

e1(n)

a0−1

+ -

h(n)

+

+

b

b0

Z-1

b

b

1

m

2

a1 a0

+ +

ap

am a0

a2 a0

+

h(n-p)

Z-1

Z-1

e2(n)

+

a0

+ +

+

Tema 6: Sistema Digitales de Control en Tiempo Discreto

51

Fuentes de error La precisión en la implementación de controles digitales es importante para obtener un buen resultado. Hay tres fuentes de error que afectan a la precisión: • El error de cuantificación de los ADC • Redondeo en las operaciones aritméticas • Truncamiento de los coeficientes ai y bi ⇒ este error aumenta al aumentar el orden de la función de transferencia ⇒ un pequeño error en los coeficientes de un filtro de orden elevado provoca un gran error en la ubicación de polos y ceros Este error se puede reducir matemáticamente descomponiendo las funciones de transferencia de orden elevado en combinaciones de funciones de primer y segundo orden Tema 6: Sistema Digitales de Control en Tiempo Discreto

52

26

6.3.3 Programación serie

53

Descomposición de la función de transferencia La función de transferencia se descompone en un producto de funciones sencillas de primer o segundo orden r E ( z ) b + b z −1 + b z −2 + L + bm z − m ( ) ( ) ( ) D( z ) = 2 = 0 1 −1 2 − 2 = D z ⋅ D z L D z = Dk ( z ) ∏ r 1 2 E1 ( z ) a0 + a1 z + a2 z + L + a p z − p k =1 e1(n)

D1(z)

D2(z)

Dr(z)

e2(n)

Las funciones de transferencia Di(z) dependen de los polos y ceros de D(z): Polo y cero reales 1 + bi z −1 Di ( z ) = 1 + ai z −1

Polos y ceros complejo conjugados 1 + ei z −1 + f i z −2 Di ( z ) = 1 + ci z −1 + d i z − 2

Tema 6: Sistema Digitales de Control en Tiempo Discreto

54

27

Implementación estándar +

e2 (n ) = ∑ bi h(n − i )

+ +

i =0

b1

b0

h(n) e1(n)

a0−1

Z-1 h(n)

+

+

m

Z-1

b2

Z-1

h(n-1) h(n-1)

Z-1

Z-1

h(n-2) h(n-2)

a1 a0

-

+

Z-1

+ +

h(n-m) h(n-m)

e2(n)

h(n-p) ap

am a0

a2 a0

+

+

bm

a0

+ + h(n ) =

Tema 6: Sistema Digitales de Control en Tiempo Discreto

+ 1 1 e1 (n ) − a0 a0

p

∑ a h(n − i ) i =1

i

55

Implementación funciones Di(z) (I) Polo y cero reales Y ( z ) 1 + bi z −1 = X ( z ) 1 + ai z −1

x(n)

+

Z-1

bi

+

+ y(n)

ai

Tema 6: Sistema Digitales de Control en Tiempo Discreto

56

28

Implementación funciones Di(z) (II) Polos y ceros complejo conjugados Y ( z ) 1 + ei z −1 + f i z −2 = X ( z ) 1 + ci z −1 + d i z − 2 + ei

x(n)

+

Z-1

Z-1

+ fi

+

+ y(n)

ci

+ +

di

Tema 6: Sistema Digitales de Control en Tiempo Discreto

57

6.3.4 Programación paralelo

58

29

Descomposición de la función de transferencia La función de transferencia se descompone en suma de fracciones parciales de primer y segundo orden: E ( z ) b0 + b1 z −1 + b2 z −2 + L + bm z − m D(z ) = 2 = = A + D1 ( z ) + D2 ( z ) + L + Dq ( z ) E1 ( z ) a0 + a1 z −1 + a2 z − 2 + L + a p z − p j

= A + ∑ Di ( z ) + i =1

q

∑ Di (z ) = A +

i = j +1

j

bi ∑ −1 i =1 1 + ai z

Polos reales

+

ei + f i z −1 ∑ −1 + di z −2 i = j +1 1 + ci z q

Polos complejos

A e1(n)

D1(z)

e2(n)

Dq(z) 59

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Implementación funciones Di(z) (I) Polos reales bi Y (z ) = X ( z ) 1 + ai z −1

bi

x(n)

+

y(n)

Z-1 ai

Tema 6: Sistema Digitales de Control en Tiempo Discreto

60

30

Implementación funciones Di(z) (II) Polos complejos conjugados Y (z ) ei + f i z −1 = X ( z ) 1 + ci z −1 + d i z − 2

ei

+ f

x(n)

+

Z-1

i

+

y(n)

Z-1

ci

+ +

di

Tema 6: Sistema Digitales de Control en Tiempo Discreto

61

6.3.5 Programación en escalera

62

31

Descomposición de la función de transferencia 1 con i = 1,2,..., p − 1 Bi z + Gi( A ) ( z ) 1 Di( A ) ( z ) = con i = 1,2,..., p − 1 Ai + Gi(+B1) ( z ) 1 D (pB ) ( z ) = 1 Bp z + Ap

Di( B ) ( z ) =

D( z ) = A0 + D1( B ) ( z )

D( z ) = A0 +

1 B1 z +

1 A1 +

1 1 M

B2 z + Ap −1

1 Bp z +

Tema 6: Sistema Digitales de Control en Tiempo Discreto

1 Ap

63

Ejemplo de programación en escalera (I) D( z ) = A0 +

1 B1 z +

1 A1 +

p=2

D (pB ) ( z ) =

1 B2 z +

1 A2

D( z ) = A0 +

1

B1 z +

1 A1 + D2( B ) ( z )

= A0 +

1

Bp z +

1 Ap

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

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

1 Y (z ) = X ( z ) Bi z + Di( A ) ( z )

Tema 6: Sistema Digitales de Control en Tiempo Discreto

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

64

32

Ejemplo de programación en escalera (II) X i ( z ) − Di( A )Yi ( z ) = Bi zYi ( z )

x(n)

+

1 Bi

Z-1

y(n)

Di( A ) ( z )

65

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Ejemplo de programación en escalera (III) Di(A)(z) se puede escribir como: Di( A ) ( z ) =

x(n)

1 Y (z ) = X ( z ) Ai + Di(+B1) ( z )

+

1 Ai

X i ( z ) − Di(+B1)Yi ( z ) = AiYi ( z )

y(n)

Di(+B1) ( z )

Tema 6: Sistema Digitales de Control en Tiempo Discreto

66

33

Ejemplo de programación en escalera (IV) D( z ) = A0 +

4

1 B1 z +

1A

+

6 x

D2( B ) ( z )

1 B2

-

x(n)

3

1

-

5

1 A1 + D2( B ) ( z )

+

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

= A0 +

x 1

5 x

6

Z-1

+

1

(B )

D1

y(n)

+

A0

+

(z ) x 2

1 B1

Z-1

2

3 x

1 A2

D1( A ) ( z )

4 x 67

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Ejemplo de programación en escalera (V) Combinación de los diagramas de bloques +

A0

x(n)

+x

1 x+ 1B

1

-x

2

Z-1

3

+

1 A1

+x 5 1 B2

-

y(n)

Z-1

x4

- x 6

1 A2

Tema 6: Sistema Digitales de Control en Tiempo Discreto

68

34

6.4 Ejemplo de diseño: control de un motor DC mediante el driver L293E

69

Índice 6.4.1. Introducción al sistema de control digital de un motor 6.4.2. Modelo equivalente eléctrico del motor DC 6.4.3. Interface con el motor: L293E 6.4.4. Control en lazo abierto de la velocidad de giro 6.4.5. PWM digital 6.4.6. Monitorización de la velocidad de giro 6.4.7. Regulación de la velocidad de giro

Tema 6: Sistema Digitales de Control en Tiempo Discreto

70

35

6.4.1 Introducción al sistema de control digital de un motor

71

Diagrama de bloques del sistema de control Placa interface FPGA

Elementos básicos: • FPGA: implementa el sistema digital de control • Interface etapa lógica-motor: etapa de potencia controlada digitalmente que alimenta el motor DC • Motor: sistema a controlar • Sensor óptico: permite medir la velocidad de giro del motor Tema 6: Sistema Digitales de Control en Tiempo Discreto

72

36

6.4.2 Modelo equivalente eléctrico del motor DC

73

Modelo ideal del motor DC • Transformador ideal de tensión/corriente en velocidad/fuerza • Relaciones de transformación: K·IS = Fm VS = K·Um (fuerza)

(velocidad)

Tema 6: Sistema Digitales de Control en Tiempo Discreto

74

37

Modelo real del motor DC con pérdidas

Le y Re: Inductancia y resistencia del devanado del rotor Cm: modela la resistencia que presenta el motor a cambios de velocidad Rm: resistencia mecánica RL: carga del motor 75

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Circuito eléctrico equivalente del motor Circuito equivalente del secundario visto desde el primario

Modelo eléctrico equivalente de segundo orden wA 1 = 2 VS s + 2α s + wo2 wo =

1 Leq ⋅ C eq

V = D ⋅ V REF Tema 6: Sistema Digitales de Control en Tiempo Discreto

76

38

6.4.3 Interfase con el motor: L293E

77

Driver de cuatro canales Push-Pull

Características: • Iout: 1A por canal • Iout de pico: 2 A por canal • Entrada de inhibición • Protección contra sobre-temperatura

Tema 6: Sistema Digitales de Control en Tiempo Discreto

78

39

Diagrama de bloques Entradas de control Entradas de habilitación

Modelo driver de corriente Vss

79

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Control unidireccional del motor DC (I) Conexión a +Vs

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Conexión a masa

80

40

Control unidireccional del motor DC (II) Vss Vss

Conexión a masa

1 M

Vss M 0 Conexión a +Vs Tema 6: Sistema Digitales de Control en Tiempo Discreto

81

Control bidireccional del motor DC (I)

Tema 6: Sistema Digitales de Control en Tiempo Discreto

82

41

Control bidireccional del motor DC (II)

1

Giro a la derecha

Giro a la izquierda

Vss

Vss

+

M

-

0

0

Va=Vss

+

M

-

1

Va=-Vss

Tema 6: Sistema Digitales de Control en Tiempo Discreto

83

6.4.4 Control en lazo abierto de la velocidad de giro

84

42

Control en lazo abierto de la velocidad de giro • Variando la tensión de alimentación del motor se varia su velocidad • Con un modulador PWM se obtiene una tensión variable de valor: D·Vcc donde D es el ciclo de trabajo de la señal PWM

85

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Diagrama de bloques del sistema de control en lazo abierto Modulador PWM

Motor D·VREF

Variando el ciclo de trabajo D se varia la tensión de alimentación del motor y con ello la velocidad de giro ωA

w A = D ·V REF ·

1 s 2 + 2α s + wo2

Tema 6: Sistema Digitales de Control en Tiempo Discreto

86

43

Modulador de anchura de pulsos (PWM) TON TOFF TON TOFF TON TOFF VREF

D

Tc: periodo de conmutación D = TON/Tc con 0 ≤ D ≤ 1 • Si el Tc es suficientemente pequeño la tensión equivalente que se aplica al motor es el valor medio de la señal PWM: D·VREF

87

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Margen dinámico de la alimentación del motor con driver de puente en H Vss

D=1

0

M + Va=Vss

1

0

1

0

0

+

M

1

-

Va=-Vss Vss

D = 0.5 1

Vss

D=0

+

M

1

-

0

1

0

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

88

44

Forma de onda de la tensión del motor +Vss

-Vss

Tema 6: Sistema Digitales de Control en Tiempo Discreto

89

6.4.5 PWM digital

90

45

Estructura del PWM analógico Rampa

Comparador PWM

Tc

+

D

Ciclo de trabajo D

PWM 91

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Estructura del PWM digital de 8 bits de precisión CLK

Contador 8 bits

8

Comparador A 8 bits LT

D

Tc = 28·TCLK

8

1

PWM

B

Tc

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

92

46

Diseño Xilinx del PWM digital Contador

Comparador

Divisor de frecuencia

Salidas de activación del puente

P80

Ciclo de trabajo

Salida de habilitación del puente

93

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Divisor de frecuencia • Diseñar el divisor de frecuencia para que Tc=1ms • Tc = 28·TCLK

TCLK P80 50MHz

Tema 6: Sistema Digitales de Control en Tiempo Discreto

94

47

Ciclo de trabajo • El valor del ciclo de trabajo se introduce mediante los switches • La precisión es de 8 bits El SW1 es el bit de mayor peso

Tema 6: Sistema Digitales de Control en Tiempo Discreto

95

Señales de control del puente en H

PWM

PWM1 ENABLE

Tema 6: Sistema Digitales de Control en Tiempo Discreto

96

48

6.4.6 Monitorización de la velocidad de giro

97

Fotointerruptor 4

3

1

2 4

3 Vista inferior

1 Tema 6: Sistema Digitales de Control en Tiempo Discreto

2 98

49

Esquema de conexión +Vcc

10kΩ 180Ω

+Vcc 4

3

Pin FPGA

560Ω 1

2 99

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Algoritmo de medida de la velocidad de giro La velocidad se obtiene contando el nº de pulsos por unidad de tiempo:

vrps =

Np Nv ⋅T

Vrps: velocidad en revoluciones por segundo Np: número de pulsos contados Nv: número de ventanas del disco T: tiempo de cuenta en segundos

A la FPGA 1 1 0 0 Tema 6: Sistema Digitales de Control en Tiempo Discreto

Simplificación del cálculo: Si T = 1/Nv ⇒ vrps = Np

100

50

Implementación digital del algoritmo

Pulsos del fotointerruptor

CK

Contador de pulsos

Registro de Np

Reset Asíncrono CK

50MHz

CK

Temporizador T segundos

T 101

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Dimensionado de componentes Temporizador T • Para Nv = 24 y con T = 1/Nv ⇒ vrps = Np • El valor a temporizar es T = 41.66ms • Si fCLK = 50MHz, 41.66ms equivalen a 2.083.333 pulsos Temporizador T 50MHz

Contador de 21 bits T0 MAX COUNT: CK 2.083.333d = 1FCA05H

Tema 6: Sistema Digitales de Control en Tiempo Discreto

T=41.66ms

102

51

Dimensionado de componentes Contador de pulsos, Registro Np • Si se toma como velocidad máxima vrps_max = 100d • El contador debe ser de 7 bits • El registro también es de 7 bits +Vcc

+Vcc

Pin 180Ω FPGA

10kΩ 4

560Ω 1

3 2

Contador de 7 bits 7

CK Reset Asíncrono

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

Registro 7 bits

7

CK

103

Bloques de memoria RAM en la familia Spartan 2/2E

Estructura utilizada

Tema 6: Sistema Digitales de Control en Tiempo Discreto

104

52

Etapa de visualización • Se debe visualizar valores entre 0 y 99 rps • Los valores a visualizar se almacenan en la memoria RAM

Registro 7 bits

4

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

D A3, P49

9

RAM 512 x 8bits

4

U A4, P58 ó P56 (2E)

105

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Ejemplo de visualización Para Np=50d, el valor del registro es 0110010b

Registro 7 bits

7

Bus de direcciones

9

Bus de datos D 4 0101 RAM [7..4] 512 x 8bits 4 U 0000 [3..0]

Los dos bits de mayor peso del bus de direcciones valen siempre 0 Tema 6: Sistema Digitales de Control en Tiempo Discreto

106

53

Contenido de la memoria RAM INIT_00=3130292827262524232221201918171615141312111009080706050403020100 INIT_01=6362616059585756555453525150494847464544434241403938373635343332 INIT_02=9594939291908988878685848382818079787776757473727170696867666564 INIT_03=0000000000000000000000000000000000000000000000000000000099989796 INIT_04=0000000000000000000000000000000000000000000000000000000000000000 INIT_05=0000000000000000000000000000000000000000000000000000000000000000 INIT_06=0000000000000000000000000000000000000000000000000000000000000000 INIT_07=0000000000000000000000000000000000000000000000000000000000000000 INIT_08=0000000000000000000000000000000000000000000000000000000000000000 INIT_09=0000000000000000000000000000000000000000000000000000000000000000 INIT_0A=0000000000000000000000000000000000000000000000000000000000000000 INIT_0B=0000000000000000000000000000000000000000000000000000000000000000 INIT_0C=0000000000000000000000000000000000000000000000000000000000000000 INIT_0D=0000000000000000000000000000000000000000000000000000000000000000 INIT_0E=0000000000000000000000000000000000000000000000000000000000000000 INIT_0F=0000000000000000000000000000000000000000000000000000000000000000

107

Tema 6: Sistema Digitales de Control en Tiempo Discreto

Activación de los dígitos

D[7..4] 4

8

0

U[3..0] 4

4

1 S0 S0

0

BIN7SEG

Señales habilitación de dígitos

8 A3, P49 8

1

A3 A4

Tema 6: Sistema Digitales de Control en Tiempo Discreto

A4, P58 ó P56 (2E)

108

54

Control de activación de los dígitos El control de activación se puede realizar mediante un sistema secuencial

95Hz 50 MHz P80 Contador 19 bits Clock

La frecuencia de barrido del display es de 95Hz

Sistema S0 secuencial A4 de control A3

Estado Actual Estado siguiente S0 A4 A3

S0 S1 0 0 1

S1 S0 0 1 0

Tema 6: Sistema Digitales de Control en Tiempo Discreto

109

6.4.7 Regulación de la velocidad de giro

110

55

Sistema de control en lazo cerrado El sistema de control ajusta el valor de D para que la velocidad real, wa se mantenga igual a la velocidad deseada wd Se compara la velocidad real con la ideal

Con el resultado de la comparación se ajusta el ciclo de trabajo D

Tema 6: Sistema Digitales de Control en Tiempo Discreto

111

Bibliografía (I) www.ti.com • Application Report SPRA083: “Implementation of PID and Deadbeat Controllers with the TMS320 Family,” Irfan Ahmed • Application Report SPRA009: “Control System Compensation and Implementation with the TMS32010,” Charles Slivinsky www.motorola.com • AN1213/D: “16-Bit DSP Servo Control With the MC68HC16Z” David Wilson • AN1249/D: Bruhed DC Motor Control Using the MC68HC16Z1 • AN1712: “Get Your Motor Running” with the MC68HC708MP16 Tema 6: Sistema Digitales de Control en Tiempo Discreto

112

56

Bibliografía (II) • Katsuhiko Ogata, “Discrete-Time Control Systems,” Ed. Prentice Hall www.st.com • L293B/L293E Data Sheet

Tema 6: Sistema Digitales de Control en Tiempo Discreto

113

57