58
SISTEMAS DIGITALES DE INSTRUMENTACIÓN Y CONTROL Departamento de Ingeniería Electrónica Rafael Ramos Lara Febrero 2007 TEMA 6 Sistemas Digitales de Control en Tiempo Discreto D(z) DAC ADC s e Ts 1 D(s) D(z) DAC ADC

Control pid discreto

Embed Size (px)

DESCRIPTION

temario para ingenieria mecatronica

Citation preview

Page 1: Control pid discreto

SISTEMAS DIGITALES DE INSTRUMENTACIÓN Y CONTROL

Departamento de Ingeniería Electrónica

Rafael Ramos LaraFebrero 2007

TEMA 6Sistemas Digitales de

Control en Tiempo Discreto

se Ts−−1 D(s)

D(z)

DAC ADC

se Ts−−1 D(s)

D(z)

DAC ADC

Page 2: Control pid discreto

1

1

TEMA 6Sistemas Digitales de Control en

Tiempo Discreto

Tema 6: Sistema Digitales de Control en Tiempo Discreto 2

Índice (I)

6.1. Sistemas de control digital6.1.1. Introducción al diseño de sistemas de control digital6.1.2. Discretización de sistemas analógicos6.1.3. Ejemplo: modelo discreto de un motor DC

6.2. Diseño de un control digital PID6.2.1 Introducción al control PID digital6.2.2 Aproximación rectangular del control PID6.2.3 Aproximación trapezoidal del control PID

6.3. Arquitecturas de realización de controladores digitales6.3.1. Programación directa6.3.2. Programación estándar6.3.3. Programación serie6.3.4. Programación paralelo6.3.5. Programación en escalera

Page 3: Control pid discreto

2

Tema 6: Sistema Digitales de Control en Tiempo Discreto 3

Índice (II)

6.4. Ejemplo de diseño: control de un motor DC mediante el driver L293E6.4.1. Introducción al sistema de control digital de un motor6.4.2. Modelo equivalente eléctrico del motor DC6.4.3. Interface con el motor: L293E6.4.4. Control en lazo abierto de la velocidad de giro6.4.5. PWM digital 6.4.6. Monitorización de la velocidad de giro6.4.7. Regulación de la velocidad de giro

4

6.1 Sistemas de control digital

Page 4: Control pid discreto

3

5

6.1.1 Introducción al diseño 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 sistemaTipos 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

Page 5: Control pid discreto

4

Tema 6: Sistema Digitales de Control en Tiempo Discreto 7

Controladores analógicos vs. digitales

• Dificultad de diseño• Necesita procesadores de altas

prestaciones• Genera problemas numéricos

• Diseño programable• Comportamiento preciso• Implementación

algoritmos complejos• Fácilmente ampliable

Digital

• Envejecimiento de componentes• Derivas con la temperatura• Bueno para diseños simples

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

AnalógicoDesventajasVentajasControlador

Tema 6: Sistema Digitales de Control en Tiempo Discreto 8

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)

Page 6: Control pid discreto

5

9

6.1.2 Discretización de sistemas analógicos

Tema 6: Sistema Digitales de Control en Tiempo Discreto 10

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

Page 7: Control pid discreto

6

Tema 6: Sistema Digitales de Control en Tiempo Discreto 11

Mantenedor de orden cero (ZOH)

Esta técnica asume que el controlador tiene a la entrada un mantenedor de orden cero

se Ts−−1 D(s)

D(z)

DAC ADC

( ) ( ) ( )

−= −

ssDZzzD 11

Tema 6: Sistema Digitales de Control en Tiempo Discreto 12

Correspondencia Polo-Cero

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

Tsi

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

( ) ( )01 ==

=sz

sDzD

Page 8: Control pid discreto

7

Tema 6: Sistema Digitales de Control en Tiempo Discreto 13

Transformación Bilineal

También denominada aproximación de Tustin o trapezoidal, utiliza la siguiente relación ( )

112

+−

=zz

Ts 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

Page 9: Control pid discreto

8

Tema 6: Sistema Digitales de Control en Tiempo Discreto 15

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: emfVRidtdiL −=+

L: inductancia del motorR: resistenciaV: tensión de alimentacióni: corrienteemf: fuerza contraelectromotriz = Ke · θKe: constante de fuerza contraelectromotriz

Tema 6: Sistema Digitales de Control en Tiempo Discreto 16

Modelo de la planta (II)

Características mecánicas: 2

2

2

2

dtdJTK

dtdB

dtdJ LLM

θθθθ−=++

JM: inercia del motorθ: desplazamiento angularK: constante de rigidezB: coeficiente de fricción viscosaJL: inercia de la carga=Kt · iTL: par de rotación de la carga Kt= constante de par de rotación

Page 10: Control pid discreto

9

Tema 6: Sistema Digitales de Control en Tiempo Discreto 17

Modelo de la planta (III)

Parámetros del motor DC Pittman 9412G316

emfVRidtdiL −=+

Modelo eléctrico

2

2

2

2

dtdJTK

dtdB

dtdJ LLM

θθθθ−=++

Modelo mecánico

R = 6.4ΩJ = Jm+JL = 60 ·10-6 kg·m2

Kt = 0.0207 (N · m)/AKe = 0.0206 volt/(rad/s)

( ) ( )( ) ( )116.1

906.53+

==sssV

ssGmθ

( ) ( )( )

( )( )( )RKKJss

RKJsVssG

et

t1

1

+==

θ

Tema 6: Sistema Digitales de Control en Tiempo Discreto 18

Conversión a formato discreto (I)

Transformación ZOH:

( )( ) as

AsA

sA

assb

ssG

+++=

+= 3

221

2

( ) ( ) ( )

−= −−

ssGzzG 1LZ11

( )( )RKKJa

RKJb

et

t1

1

=

=

( ) ( ) ( ) ( )as

abs

abs

abssG

+++

−=

2

2

2

( ) ( ) ( )( ) 21

2212

1111

−−−−

−−−−−

++−−−++−

=Tzeze

zaTeeabzaTeabzG aaT

aTaTaT

T: periodo de muestreoT = 0.001

Page 11: Control pid discreto

10

Tema 6: Sistema Digitales de Control en Tiempo Discreto 19

Conversión a formato discreto (II)

( ) ( ) ( )( ) 21

2212

1111

−−−−

−−−−−

++−−−++−

=Tzeze

zaTeeabzaTeabzG aaT

aTaTaT

a = 1.116b = 53.906T = 0.001

( ) ( )( ) mK

zzzz

zVzzG ⋅

+−+

== −−

−−

21

21

999.0999.112693.02694.0θ

Km: Factor de ganancia

20

6.2 Diseño de un control digital PID

Page 12: Control pid discreto

11

Tema 6: Sistema Digitales de Control en Tiempo Discreto 21

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.

22

6.2.1 Introducción al control PID digital

Page 13: Control pid discreto

12

Tema 6: Sistema Digitales de Control en Tiempo Discreto 23

Expresión general control PID

Kp: constante proporcionalKi: constante integralKd: constante derivativau(t): salida del controle(t): señal de error

Minimiza el errorReduce el error a cero enrégimen permanente

• Incrementa la estabilidad de la planta

• Acción anticipativa que reduce el sobreimpulso

Tema 6: Sistema Digitales de Control en Tiempo Discreto 24

Controlador PID analógico y discreto

Control PID analógico

+++

u(t)U(s)

e(t)E(s)

KP

KI/s

KD·s

Control PID digital

+++

u(n)U(z)

e(n)E(z)

KP

DI(z)

DD(z)

( ) ( ) ( ) ( )sEsKssEKsEKsU dip ++=

Función de transferencia

( ) ( ) ( ) ( ) ( ) ( )zEzDzEzDzEKzU DIp ++=

Función de transferencia

Existen diversos modos de implementar DI(z)

Page 14: Control pid discreto

13

Tema 6: Sistema Digitales de Control en Tiempo Discreto 25

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

26

6.2.2 Aproximación rectangular del control PID

Page 15: Control pid discreto

14

Tema 6: Sistema Digitales de Control en Tiempo Discreto 27

Aproximación rectangular del PID (I)

( ) ∑∫ =i

iii eTKteKTérmino integral

Aproximaciónrectangular

Periodo de muestreo

( ) ( ) ( )T

neneKdtteK dd

1−−=

Término derivativoSi T es suficientemente pequeño se puede aproximar por:

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

( ) ( ) ( )T

neneKdtteK dd

−+=

1

( ) ( )neKteK pp =

Término proporcional

Algoritmo de posición

( ) ( ) [ ] TneneKeTKneKnu di

iip )1()( −−++= ∑

Tema 6: Sistema Digitales de Control en Tiempo Discreto 28

Aproximación rectangular del PID (II)

Algoritmo de posición

( ) ( ) [ ] TneneKeTKneKnu di

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

Algoritmo de velocidad

( ) ( ) ( )2−−=∆ nununu

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

Page 16: Control pid discreto

15

Tema 6: Sistema Digitales de Control en Tiempo Discreto 29

Algoritmo PID de velocidad

( ) ( ) [ ] TneneKeTKneKnu d

n

iiip )2()1(22

2

1−−−++−=− ∑

=

Algoritmo de velocidad

( ) ( ) ( )2−−=∆ nununu

( ) ( ) ( ) ( )[ ] ( ) ( )[ ] ( )[ ])2()1(2122 −+−−+−++−−=−− neneneTKneneTKneneKnunu dip

( ) ( ) ( ) ( ) ( )

pd

di

idp

KTKKTKTKK

TKTKKKneKneKneKnunu

−=−=

++=−+−++−=

3

2

1

321

2

212

Tema 6: Sistema Digitales de Control en Tiempo Discreto 30

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 = 4181Kd = 9.569Ki = 1

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

Page 17: Control pid discreto

16

Tema 6: Sistema Digitales de Control en Tiempo Discreto 31

Implementación digital del PID

( ) ( ) ( ) ( ) ( )212 321 −+−++−= neKneKneKnunu

z-1 z-1

z-1

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

X X XK1 K2 K3

+ ++

u(n-2)

u(n)

z-1

Tema 6: Sistema Digitales de Control en Tiempo Discreto 32

Respuesta al escalón con el control PID

( ) ( ) ( ) ( ) ( )212 321 −+−++−= neKneKneKnunu

Page 18: Control pid discreto

17

Tema 6: Sistema Digitales de Control en Tiempo Discreto 33

Respuesta al escalón con el control PID

34

6.2.3 Aproximación trapezoidal del control PID

Page 19: Control pid discreto

18

Tema 6: Sistema Digitales de Control en Tiempo Discreto 35

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: ( ) ( )[ ]12

−+ neneT

e(n)e(n-1)

( ) ( ) ( ) ( )[ ]12

1 −++−= neneTKnunu I

Función transferencia término integral

( )( ) [ ] [ ]zEzTKzzU I11 1

21 −− +=−

( ) ( )( )

( )( )1

1

11

2 −

−+

==zzTK

zEzUzD II

Tema 6: Sistema Digitales de Control en Tiempo Discreto 36

Aproximación trapezoidal PID

( ) ( ) [ ] TneneKeTKneKnu di

iip )1()( −−++= ∑

( ) ( ) ( )( ) ( ) ( ) ( )zEz

TKzE

zzTKzEKzU d

Ip1

1

1

111

2−

−+−+

+=

Transformada Z de cada término

( ) ( )( )

( )( ) ( )1

1

1

111

2−

−+−+

+== zTK

zzTKK

zEzUzD d

Ip

Función de transferencia discreta

Reordenando términos

( ) ( ) ( )( )1

2122

1224222

−−

+−−+++=

zTzKzKTKTKKTKTK

zD ddpIdIp

Page 20: Control pid discreto

19

Tema 6: Sistema Digitales de Control en Tiempo Discreto 37

Diseño del control PID de un motor DC

( ) 1

23

121

1 −

−−

−++

=z

zKzKKzGPID

Con:TKK

TKTKKK

TKTKKK ddi

pdi

p =−+−=++= 321 ,22

,2

( ) ( )( ) mp K

zzzz

zVzzG ⋅

+−+

== −−

−−

21

21

999.0999.112693.02694.0θ

Tema 6: Sistema Digitales de Control en Tiempo Discreto 38

Determinación coeficientes PID

( ) ( ) ( )( ) ( )zGzG

zGzGzG

cp

cps +

=1

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.4795K2 = -2.845K3 = 1.3636

( ) 1

23

121

1 −

−−

−++

=z

zKzKKzGPID

( ) ( ) ( ) ( ) ( )211 321 −+−++−= neKneKneKnunu

Función de transferencia global del sistema

Page 21: Control pid discreto

20

Tema 6: Sistema Digitales de Control en Tiempo Discreto 39

Respuesta al escalón con el control PID

( ) ( ) ( ) ( ) ( )211 321 −+−++−= neKneKneKnunu

Tema 6: Sistema Digitales de Control en Tiempo Discreto 40

Respuesta al escalón con el control PID

Polos cerca del círculo unidad:• Aumenta el tiempo de respuesta• El sistema puede hacerse inestable

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

Page 22: Control pid discreto

21

Tema 6: Sistema Digitales de Control en Tiempo Discreto 41

Implementación digital del PID

( ) ( ) ( ) ( ) ( )211 321 −+−++−= neKneKneKnunu

z-1 z-1

z-1

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

X X XK1 K2 K3

+ ++

u(n-1)

u(n)

42

6.3 Arquitecturas de realización de controladores digitales

Page 23: Control pid discreto

22

Tema 6: Sistema Digitales de Control en Tiempo Discreto 43

Diagrama de bloques de un controlador digital

D(s)

D(z)

e1(t) T T

e1(n) e2(t) e2(n)

E1(z) E2(z)

( ) ( )( ) p

p

mm

zazazaazbzbzbb

zEzEzD −−−

−−−

++++++++

==L

L2

21

10

22

110

1

2

Expresión general de la función de transferencia del controlador digital

Tema 6: Sistema Digitales de Control en Tiempo Discreto 44

Elementos para realizar de un controlador digital

( ) ( )( ) p

p

mm

zazazaazbzbzbb

zEzEzD −−−

−−−

++++++++

==L

L2

21

10

22

110

1

2

Z-1e1(n) e1(n-1)

Registro de “n” bits

Elementos de retardo

++

Sumadores c.a.2

0abm

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

Page 24: Control pid discreto

23

Tema 6: Sistema Digitales de Control en Tiempo Discreto 45

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

46

6.3.1 Programación directa

Page 25: Control pid discreto

24

Tema 6: Sistema Digitales de Control en Tiempo Discreto 47

Descomposición de la función de transferencia

( ) ( )( ) p

p

mm

zazazaazbzbzbb

zEzEzD −−−

−−−

++++++++

==L

L2

21

10

22

110

1

2

( ) ( ) ( )∑∑==

−=−+⋅m

ii

p

ii inebineanea

01

1220

( )[ ] ( )[ ]mm

pp zbzbzbbzEzazazaazE −−−−−− ++++=++++ LL 2

21

1012

21

102

Transformada “z” inversa

( ) ( ) ( )∑∑==

−−−=p

ii

m

ii inea

aineb

ane

12

001

02

11Salida actual

Salidas anterioresEntradas

Tema 6: Sistema Digitales de Control en Tiempo Discreto 48

Implementación directa

Z-1

0

0

ab

Z-1

0

1

ab

e1(n) e1(n-1)

0abm

e1(n-m)

0

2

ab

e1(n-2)

++

++

++

+

+

Z-1 Z-1

0

1

aa−

e2(n) e2(n-1)

0aap−

e2(n-p)

0

2

aa−

e2(n-2)

++

++

e2(n)

+

Los coeficientes ai y bi aparecen de forma directaRecursos utilizados:

• M+P elementos de retraso “Z-1”

• M+P+1 multiplicadores• M+P sumadores

Page 26: Control pid discreto

25

49

6.3.2 Programación estándar

Tema 6: Sistema Digitales de Control en Tiempo Discreto 50

Descomposición de la función de transferencia

( ) ( )( )

( )( )

( )( )zEzH

zHzE

zazazaazbzbzbb

zEzEzD p

p

mm

1

22

21

10

22

110

1

2 =++++++++

== −−−

−−−

L

L

( )( )

( )( ) p

p

mm zazazaazE

zHzbzbzbbzHzE

−−−−−−

++++=++++=

LL 2

21

101

22

110

2 1

( ) [ ] ( ) ( ) ( )

( ) ( ) [ ] ( ) ( ) ( ) ( )∑

=

−−−

=

−−−

−−=⇒⋅+++−=

−=⇒⋅++++=

p

ii

pp

m

ii

mm

inhaa

nea

nhzHzazazaa

zEa

zH

inhbnezHzbzbzbbzE

101

0

22

11

01

0

02

22

1102

1111L

L

Transformada “z” inversa

Page 27: Control pid discreto

26

Tema 6: Sistema Digitales de Control en Tiempo Discreto 51

Implementación estándar

Z-1

0b

Z-1

1b mb2b

+

+

+

+

++

0

1

aa

h(n)

0aap

h(n-p)

0

2

aa

+ ++ +

0aam

++

e1(n) 10−a

-

+

e2(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 errorLa 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

Page 28: Control pid discreto

27

53

6.3.3 Programación serie

Tema 6: Sistema Digitales de Control en Tiempo Discreto 54

Descomposición de la función de transferencia

( ) ( )( ) ( ) ( ) ( ) ( )∏

=−−−

−−−

=⋅=++++++++

==r

kkrp

p

mm zDzDzDzD

zazazaazbzbzbb

zEzEzD

1212

21

10

22

110

1

2 LL

L

La función de transferencia se descompone en un producto de funciones sencillas de primer o segundo orden

D1(z) Dr(z)D2(z) e2(n)e1(n)

Las funciones de transferencia Di(z) dependen de los polos y ceros de D(z):

( ) 1

1

11

++

=zazbzD

i

ii

Polo y cero reales

( ) 21

21

11

−−

−−

++++

=zdzczfzezD

ii

iii

Polos y ceros complejo conjugados

Page 29: Control pid discreto

28

Tema 6: Sistema Digitales de Control en Tiempo Discreto 55

Implementación estándar

Z-1

0b

Z-1

1b

h(n)h(n-1)

mbh(n-m)

2b

h(n-2)

+

+

+

+

+

( ) ( )∑=

−=m

ii inhbne

02

+

Z-1 Z-1

0

1

aa

h(n) h(n-1)

0aap

h(n-p)

0

2

aa

h(n-2)

+ ++ +

0aam

h(n-m)

++

e1(n)1

0−a

-

+

e2(n)

( ) ( ) ( )∑=

−−=p

ii inha

ane

anh

101

0

11

Z-1

Z-1

Tema 6: Sistema Digitales de Control en Tiempo Discreto 56

Implementación funciones Di(z) (I)

( )( ) 1

1

11

++

=zazb

zXzY

i

i

Polo y cero reales

Z-1ib

ia

x(n) y(n)+

-

++

Page 30: Control pid discreto

29

Tema 6: Sistema Digitales de Control en Tiempo Discreto 57

Implementación funciones Di(z) (II)

( )( ) 21

21

11

−−

−−

++++

=zdzczfze

zXzY

ii

ii

Polos y ceros complejo conjugados

Z-1if

ic

x(n) y(n)+

-

++

Z-1

id

++

ie ++

58

6.3.4 Programación paralelo

Page 31: Control pid discreto

30

Tema 6: Sistema Digitales de Control en Tiempo Discreto 59

Descomposición de la función de transferenciaLa función de transferencia se descompone en suma de fracciones parciales de primer y segundo orden:

( ) ( )( ) ( ) ( ) ( )

( ) ( ) ∑∑∑∑+=

−−

=−

+==

−−−

−−−

+++

++

+=++=

++++=++++++++

==

q

ji ii

iij

i i

iq

jii

j

ii

qpp

mm

zdzczfe

zabAzDzDA

zDzDzDAzazazaazbzbzbb

zEzEzD

121

1

11

11

2122

110

22

110

1

2

11

LL

L

Polos reales Polos complejos

A

D1(z)

Dq(z)

e1(n) e2(n)

Tema 6: Sistema Digitales de Control en Tiempo Discreto 60

Implementación funciones Di(z) (I)

( )( ) 11 −+

=za

bzXzY

i

i

Polos reales

Z-1

ib

ia

x(n)

y(n)

+

-

Page 32: Control pid discreto

31

Tema 6: Sistema Digitales de Control en Tiempo Discreto 61

Implementación funciones Di(z) (II)

( )( ) 21

1

1 −−

+++

=zdzc

zfezXzY

ii

ii

Polos complejos conjugados

Z-1

ie

ic

x(n)

y(n)

+

-Z-1

id

++

if ++

62

6.3.5 Programación en escalera

Page 33: Control pid discreto

32

Tema 6: Sistema Digitales de Control en Tiempo Discreto 63

Descomposición de la función de transferencia

( )

pp

p

AzB

A

zBA

zBAzD

11

11

11

1

2

1

1

0

+

++

++=

M

( )( ) ( )( ) 1,...,2,11−=

+= picon

zGzBzD A

ii

Bi

( )( ) ( )( ) 1,...,2,11

1

−=+

=+

piconzGA

zD Bii

Ai

( )( )

pp

Bp

AzB

zD 11

+=

( ) ( )( )zDAzD B10 +=

Tema 6: Sistema Digitales de Control en Tiempo Discreto 64

Ejemplo de programación en escalera (I)

( )( )

pp

Bp

AzB

zD 11

+=

( )( )( )

( )( )( )( )zDA

zDzBA

zDAzB

AzD BA

B

1011

0

211

01

11

+=+

+=

++

+=

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

( )( ) ( )( ) ( )( )zDzBzXzYzD A

ii

Bi +

==1 ( ) ( ) ( ) ( )zzYBzYDzX iii

Aii =−

( )

22

1

1

0

11

11

AzB

AzB

AzD

++

++=

p=2

Page 34: Control pid discreto

33

Tema 6: Sistema Digitales de Control en Tiempo Discreto 65

Ejemplo de programación en escalera (II)

( ) ( ) ( ) ( )zzYBzYDzX iiiA

ii =−

iB1x(n) y(n)+

-Z-1

( )( )zD Ai

Tema 6: Sistema Digitales de Control en Tiempo Discreto 66

Ejemplo de programación en escalera (III)

iA1x(n) y(n)+

-

( )( )zD Bi 1+

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

( )( ) ( )( ) ( )( )zDAzXzYzD B

ii

Ai

1

1

++== ( ) ( ) ( ) ( )zYAzYDzX iii

Bii =− +1

Page 35: Control pid discreto

34

Tema 6: Sistema Digitales de Control en Tiempo Discreto 67

Ejemplo de programación en escalera (IV)

( )( )( )

( )( )( )( )zDA

zDzBA

zDAzB

AzD BA

B

1011

0

211

01

11

+=+

+=

++

+=

0Ax(n) y(n)+

( )( )zD B1

+

1 2x x

11 B+

-Z-1

( )( )zD A1

12

3x

4x

11 A+

-( )( )zD B2

43

5x

6x

5621 B+

-Z-1

21 A

Tema 6: Sistema Digitales de Control en Tiempo Discreto 68

Ejemplo de programación en escalera (V)

0Ax(n) y(n)+

+1 2x x11 B

-Z-1

3x 4x11 A

5621 B

+

-Z-1

21 A

+

+

xx-

Combinación de los diagramas de bloques

Page 36: Control pid discreto

35

69

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

Tema 6: Sistema Digitales de Control en Tiempo Discreto 70

Índice

6.4.1. Introducción al sistema de control digital de un motor6.4.2. Modelo equivalente eléctrico del motor DC6.4.3. Interface con el motor: L293E6.4.4. Control en lazo abierto de la velocidad de giro6.4.5. PWM digital 6.4.6. Monitorización de la velocidad de giro6.4.7. Regulación de la velocidad de giro

Page 37: Control pid discreto

36

71

6.4.1 Introducción 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 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

Page 38: Control pid discreto

37

73

6.4.2 Modelo equivalente eléctrico del motor DC

Tema 6: Sistema Digitales de Control en Tiempo Discreto 74

Modelo ideal del motor DC

• Transformador ideal de tensión/corriente en velocidad/fuerza• Relaciones de transformación:

K·IS = FmVS = K·Um

(fuerza)

(velocidad)

Page 39: Control pid discreto

38

Tema 6: Sistema Digitales de Control en Tiempo Discreto 75

Modelo real del motor DC con pérdidas

Le y Re: Inductancia y resistencia del devanado del rotorCm: modela la resistencia que presenta el motor a cambios de velocidadRm: resistencia mecánicaRL: carga del motor

Tema 6: Sistema Digitales de Control en Tiempo Discreto 76

Circuito eléctrico equivalente del motor

Circuito equivalente del secundario visto desde el primario

Modelo eléctrico equivalente de segundo orden

REF

eqeqo

oS

A

VDV

CLw

wssVw

⋅=

⋅=

++=

12

122 α

Page 40: Control pid discreto

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

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

Page 41: Control pid discreto

40

Tema 6: Sistema Digitales de Control en Tiempo Discreto 79

Diagrama de bloques

Entradas de controlEntradas dehabilitación

Modelo driver de corrienteVss

Tema 6: Sistema Digitales de Control en Tiempo Discreto 80

Control unidireccional del motor DC (I)

Conexión a +Vs Conexión a masa

Page 42: Control pid discreto

41

Tema 6: Sistema Digitales de Control en Tiempo Discreto 81

Control unidireccional del motor DC (II)

Vss

Conexión a masaVss

1M

Conexión a +Vs

Vss

0M

Tema 6: Sistema Digitales de Control en Tiempo Discreto 82

Control bidireccional del motor DC (I)

Page 43: Control pid discreto

42

Tema 6: Sistema Digitales de Control en Tiempo Discreto 83

Control bidireccional del motor DC (II)

Vss

1 M 0

Giro a la derechaVss

0 M 1

Giro a la izquierda

Va=Vss+ -

Va=-Vss+ -

84

6.4.4 Control en lazo abierto de la velocidad de giro

Page 44: Control pid discreto

43

Tema 6: Sistema Digitales de Control en Tiempo Discreto 85

Control en lazo abierto de la velocidad de giro

• Variando la tensión de alimentación del motor se varia su velocidad• Con un modulador PWM se obtiene una tensión variable de valor:

D·Vcc donde D es el ciclo de trabajo de la señal PWM

Tema 6: Sistema Digitales de Control en Tiempo Discreto 86

Diagrama de bloques del sistema de control en lazo abierto

D·VREF

MotorModulador PWM

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

22 21··

oREFA wss

VDw++

Page 45: Control pid discreto

44

Tema 6: Sistema Digitales de Control en Tiempo Discreto 87

Modulador de anchura de pulsos (PWM)

Tc: periodo de conmutación

TON TONTOFF TOFF TON TOFF

VREFD

D = TON/Tc con 0 ≤ D ≤ 1

• Si el Tc es suficientemente pequeño la tensión equivalente que se aplica al motor es el valor medio de la señal PWM: D·VREF

Tema 6: Sistema Digitales de Control en Tiempo Discreto 88

Margen dinámico de la alimentación del motorcon 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+ -

10

10

10

10

Page 46: Control pid discreto

45

Tema 6: Sistema Digitales de Control en Tiempo Discreto 89

Forma de onda de la tensión del motor

+Vss

-Vss

90

6.4.5 PWM digital

Page 47: Control pid discreto

46

Tema 6: Sistema Digitales de Control en Tiempo Discreto 91

Estructura del PWM analógico

D

PWM

-

+DPWM

Rampa Comparador

Ciclo de trabajoTc

Tema 6: Sistema Digitales de Control en Tiempo Discreto 92

Estructura del PWM digital de 8 bits de precisión

Contador8 bits

CLKComparador

8 bits

LT

8

D 8

A

B

1PWM

D1

D2

PWM2

PWM1

TcTc = 28·TCLK

Page 48: Control pid discreto

47

Tema 6: Sistema Digitales de Control en Tiempo Discreto 93

Diseño Xilinx del PWM digital

Ciclo detrabajo

Divisor defrecuencia

P80

Contador Comparador Salidas deactivacióndel puente

Salida de habilitacióndel puente

Tema 6: Sistema Digitales de Control en Tiempo Discreto 94

Divisor de frecuencia

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

P80

50MHz

TCLK

Page 49: Control pid discreto

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 precisión es de 8 bits

El SW1 es el bit de mayor peso

Tema 6: Sistema Digitales de Control en Tiempo Discreto 96

PWM1ENABLE

Señales de control del puente en H

PWM

Page 50: Control pid discreto

49

97

6.4.6 Monitorización de la velocidad de giro

Tema 6: Sistema Digitales de Control en Tiempo Discreto 98

Fotointerruptor

4

1

3

2

1

4 3

2Vista inferior

Page 51: Control pid discreto

50

Tema 6: Sistema Digitales de Control en Tiempo Discreto 99

Esquema de conexión

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:

10

10

A la FPGA

TNN

vv

prps ⋅

=Vrps: velocidad en revoluciones por segundoNp: número de pulsos contadosNv: número de ventanas del discoT: tiempo de cuenta en segundos

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

Page 52: Control pid discreto

51

Tema 6: Sistema Digitales de Control en Tiempo Discreto 101

Implementación digital del algoritmo

Contadorde pulsosPulsos del

fotointerruptor

TemporizadorT segundos50MHz

Registrode Np

CK

CK

Reset Asíncrono

CK

T

Tema 6: Sistema Digitales de Control en Tiempo Discreto 102

Dimensionado de componentesTemporizador 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 CK

Contador de 21 bitsMAX COUNT:

2.083.333d = 1FCA05H

T0

T=41.66ms

Page 53: Control pid discreto

52

Tema 6: Sistema Digitales de Control en Tiempo Discreto 103

Dimensionado de componentesContador 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

PinFPGA

CK

Contador de 7 bits

Reset Asíncrono

7

Registro7 bits

CK

7

T=41.66ms

4

1

3

2560Ω

+Vcc10kΩ

+Vcc

180Ω

Tema 6: Sistema Digitales de Control en Tiempo Discreto 104

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

Estructurautilizada

Page 54: Control pid discreto

53

Tema 6: Sistema Digitales de Control en Tiempo Discreto 105

(MSB) B6B5B4B3B2B1

(LSB) B0

Etapa de visualización

• Se debe visualizar valores entre 0 y 99 rps• Los valores a visualizar se almacenan en la memoria RAM

RAM512 x 8bits

4

4

9

D

U

A3, P49

A4, P58ó P56 (2E)

7Registro

7 bits

Tema 6: Sistema Digitales de Control en Tiempo Discreto 106

Ejemplo de visualización

Para Np=50d, el valor del registro es

0110010b

4

4

Bus dedatos

Bus dedirecciones

D

U

0101

0000

7Registro

7 bits

Los dos bits de mayor peso del bus de direcciones valen siempre 0

RAM512 x 8bits

9

[3..0]

[7..4]

Page 55: Control pid discreto

54

Tema 6: Sistema Digitales de Control en Tiempo Discreto 107

Contenido de la memoria RAM

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

Tema 6: Sistema Digitales de Control en Tiempo Discreto 108

Activación de los dígitos

BIN7SEG

D[7..4] 4

U[3..0] 48

8

8

Señaleshabilitaciónde dígitos

S0

40

1

A3A4

S0 0 1

A3, P49

A4, P58 óP56 (2E)

Page 56: Control pid discreto

55

Tema 6: Sistema Digitales de Control en Tiempo Discreto 109

Control de activación de los dígitos

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

50 MHzClock

P80Contador 19 bits

95Hz Sistemasecuencialde control

S0A4A3

La frecuencia de barridodel 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 Regulación de la velocidad de giro

Page 57: Control pid discreto

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

Bibliografía (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

Page 58: Control pid discreto

57

Tema 6: Sistema Digitales de Control en Tiempo Discreto 113

Bibliografía (II)

www.st.com

• L293B/L293E Data Sheet

• Katsuhiko Ogata, “Discrete-Time Control Systems,” Ed. Prentice Hall