1. implementaciÓn de controladoresmaterias.fi.uba.ar/6631/material/clase_08_implementacion.pdf ·...

Post on 20-Apr-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Clase 08 Implementación de Controladores.doc 1

1. Implementación de Controladores 1. IMPLEMENTACIÓN DE CONTROLADORES ........................................................ 1

1.1. INTRODUCCIÓN.................................................................................................................. 2

1.2. PROBLEMAS NUMÉRICOS .................................................................................................. 2

1.2.1. Fuentes de error:....................................................................................................... 2

1.2.2. Longitud de Palabra.................................................................................................. 3

1.2.3. Redondeo ................................................................................................................... 3

1.3. REALIZACIÓN DE UN CONTROLADOR................................................................................ 5

1.3.1. Sensibilidad Coeficiente-Polo................................................................................... 7

1.3.2. Implementación Directa............................................................................................ 9

1.3.3. Realización Bien Acondicionada ............................................................................ 12

1.3.4. Realización Tipo Escalera ...................................................................................... 13

1.3.5. Transformada Delta ................................................................................................ 18

Clase 08 Implementación de Controladores.doc 2

1.1. Introducción Controlador

( )( )k k

S qu e

R q= [1.1]

en variables de estado

1k k k c k

k k k c k

x Fx Gy G ru Cx Dy D r+ = + += + +

[1.2]

1.2. Problemas Numéricos 1.2.1. Fuentes de error: - cuantización de los conversores AD - cuantización de parámetros - redondeo AD 8 bits resolución de 0,4% AD 10 bits resolución de 0,1% AD 12 bits resolución de 0,025% AD 14 bits resolución de 0,006%

Clase 08 Implementación de Controladores.doc 3

La cuantización de los parámetros depende principalmente del período de muestreo.

1.2.2. Longitud de Palabra longitudes típicas: 8, 16, 32.

Ejemplo 1.1. Producto escalar [ ][ ]100 1 100

100 1 100

a

b

=

= − [1.3]

producto escalar 1ab = [1.4]

representación con coma flotante con tres decimales: 100 100 1 1 100 100 10000 10000 0ab = × + × − × = − = [1.5]

depende del orden en que se hagan las operaciones. Esto se debe analizar con detalle a la hora de elegir un DSP o micro.

1.2.3. Redondeo Es una no linealidad en el lazo de control Generalmente causa ciclos límites

Clase 08 Implementación de Controladores.doc 4

Ejemplo 1.2. Control Proporcional

( ) ( )( )0,251 0,5

KG zz z

=− −

[1.6]

Step Q uantizer

1.6*.25

(z-1)(z-0.5)Discrete

Zero-Pole

sin cuantiar y con cuantización de 0,5

0 10 20 30 40 50 600

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

0 10 20 30 40 50 600

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

Clase 08 Implementación de Controladores.doc 5

1.3. Efecto Antireset Windup up

u

KTds-y

es

u

K

K/Ti 1/s

Actuador

1

iT

-

+

+

+

e v

+

+

+

u

KTds-y

es

u

K

K/Ti 1/s

1

iT

-

+

+

+

e v

+

+

+

ActuadorModelo

Clase 08 Implementación de Controladores.doc 6

1.4. Efecto Bumpless

Manual

u

PDy

es1

rT

-

+

e

+

r

Actuaciónmanual

1

rT1s

1s

1

rT

1

mT

Auto

-

Clase 08 Implementación de Controladores.doc 7

1.5. Realización de un Controlador generalmente el controlador es de la forma

( )1

1 0 11

11

mm

k k knn

b b q b qu R q e ea q a q

− −−

− −

+ + += =

+ + + [1.7]

1.5.1. Sensibilidad Coeficiente-Polo ( ) ( ) ( )1

1 1, n ni n nA z a z a z a z p z p−= + + + = − − [1.8]

veamos cómo influye una variación en los coeficientes en la posición de los polos. Desarrollamos en serie el polinomio alrededor de cada uno de los polos,

( ) ( )0 , ,k

k k

i i k i k iz pz p i z p

A AA z z a a A p a p az a

δ δ δ δ=

= =

∂ ∂= + + ≈ + + +

∂ ∂ [1.9]

para que el segundo término sea cero debe cumplirse

0k k

k iz p i z p

A Ap az a

δ δ= =

∂ ∂+ =

∂ ∂ [1.10]

Clase 08 Implementación de Controladores.doc 8

k

k i

i z p

Azp aAa

δ δ

=

∂∂≈ − ⋅

∂∂

[1.11]

k

n ik

i z p

A pa

=

∂=

∂ y ( )

k

k jj kz p

A p pz ≠=

∂= −

∂ ∏ [1.12]

( )n ik

k ik j

j k

pp ap p

δ δ−

≈ −−∏

[1.13]

si el filtro es estable, las raíces son menores a uno y tiene su máximo valor en n=i. El coeficiente na es el que más influye.

Si hay raíces próximas la sensibilidad crece k jp p≈

Clase 08 Implementación de Controladores.doc 9

1.5.2. Implementación Directa La forma más intuitiva de realizar el controlador es

0 1

m n

k i k i i k ii i

u b e a u− −= =

= −∑ ∑ [1.14]

Hay que almacenar los valores anteriores, o sea m+n No es la mínima realización No hay que recalcular los estados, simplemente guardarlos. Es muy sensible a errores computacionales

Ejemplo 1.3. PID

( )( )( ) ( )

1 11 2

1 11

1 1

1 1p

k k

K c q c qu e

q p q

− −

− −

− −=

− − [1.15]

( ) ( )1 2 1 2 1 1 2 21k k k p k p k p ku p u pu K e K c c e K c c e− − − −= + − + − + + [1.16]

Clase 08 Implementación de Controladores.doc 10

Lo mismo ocurre con la FCC

1k k k c k

k k k c k

x Fx Gy G ru Cx Dy D r+ = + += + +

[1.17]

( ) ( )

1 2 1

1

1 0 1 0 0

11 0 0 0 00 1 0 0 0

0 0 1 0 0

n n

k k k

k n n k k

a a a a

x x e

u b b a b b a x b e

+

− − − −

= +

= − − +

[1.18]

Clase 08 Implementación de Controladores.doc 11

Ejemplo 1.4. PID en Variables de Estado ( ) ( )1 2 1 2 1 1 2 21k k k p k p k p ku p u pu K e K c c e K c c e− − − −= + − + − + + [1.19]

1 1 2 2 0 1 1 2 2k k k k k ku a u a u b e b e b e− − − −= − − + + + [1.20]

en variables de estado

1 21

11 0 0k k k

a ax x e+

− − = +

[1.21]

( ) ( )1 0 1 2 0 2 0k k ku b b a b b a x b e= − − + [1.22]

Clase 08 Implementación de Controladores.doc 12

1.5.3. Realización Bien Acondicionada si el filtro tiene rn raíces reales y cn raíces complejas se hace

1

11

2

1 1

cr

i k i ik i k i k

i i ii k i k

i i i

nnT

k i ik i ik k c ki i

z z y r

v v y

u z v Dy D r

λ β γσ ω ρω σ ρ

γ δ

+

+

= =

= + +

= + −

= + + +∑ ∑

[1.23]

Ejemplo 1.5. PID Bien Acondicionado

( ) ( )( )( )

1 1 11 2

1 11 111

1 11 11 1

pk k k k

K c q c q qu e e eq p qq p qα β γ

− − −

− −− −

− − += = +

− −− −[1.24]

con ( )1 2 1 21

11

pKc c c c

pα = − − −

−, ( )1 2 1 2 1

11pK

c c c c pp

β = + + −−

, 1 2pK c cγ = − [1.25]

1 1 1k k kz z eα−= + [1.26]

2 1 2 1 1k k k kz p z e eβ γ− −= + + [1.27]

1 2k k ku z z= + [1.28]

Clase 08 Implementación de Controladores.doc 13

1.5.4. Realización Tipo Escalera Se toma el regulador de la forma

( ) ( )( )

B zR z

A z= [1.29]

y se lo reescribe

( ) 0

1

1

2

1

11

11

11n

nn

R zz

z

z

αβ

αβ

αβ

α

= ++

++

++

[1.30]

Clase 08 Implementación de Controladores.doc 14

se puede expresar como estados

( )1 1 1 2 11

1k k k kx x x eβ

α+ = − + [1.31]

( ) ( )2 2 1 1 2 3 21 2

1 1k k k k kx x x x xβ

α α+ = − + − [1.32]

( ) ( )1 1 11

1 1i i k i k ik i k ik

i i

x x x x xβα α+ − +

= − + − [1.33]

( )1 11

1 0

1 1n nk n k nk nk

n n

k k k

x x x x

u x e

βα αα

+ −−

= − +

= + [1.34]

Clase 08 Implementación de Controladores.doc 15

e

+

1

1zβ 1

u

-+

1i zβ

1iα

-+

1nzβ

1nα

-+

1x

+ - -+

ix 1ix + nx

( )1 21

1 x xα

− ( )11

1i i

i

x xα −

− ( )11

i ii

x xα + − ( )1

1

1n n

n

x xα −

+

Clase 08 Implementación de Controladores.doc 16

Ejemplo 1.6. PID en Escalera ( ) ( )1 2 1 2 1 1 2 21k k k p k p k p ku p u pu K e K c c e K c c e− − − −= + − + − + + [1.35]

1 21 0,5 0,6 0,7pK p c c= = = = [1.36]

1 2 1 21,5 0,5 1,3 0,42k k k k k ku u u e e e− − − −= − + − + [1.37]

( ) ( )( )

2

2

1,3 0,421,5 0,5

B z z zR zA z z z

− += =

− + [1.38]

( ) 22

0,2 0,08 1 11 1 1 1,1 0,51,5 0,51,5 0,5 50,2 0,080,2 0,08

zR z zz zz z zzz

−= + = + = +

− +− +− + +−−

[1.39]

( ) 1 1 11 1 11,1 0,5 1 15 5 50,2 0,08 0,0109090,2 0,08 0,18181,1 0,5 1,1 0,5

R z zz z zzzz z

= + = + = +− +

+ + +−− − +

− + − +

[1.40]

( ) 1 11 11 15 50,010909 10,1818 0,18181,1 0,5 100,83 45,83

R zz z

z z

= + = ++ +− + − +

− + − +

[1.41]

Clase 08 Implementación de Controladores.doc 17

( ) 11 15 10,1818 1100,830,0218

R zz

z

= ++− +

− +

[1.42]

( )1 1 2 11,10011k k k kx x x e+ = − − + [1.43]

( )2 1 1 2 2 1 20,05455 0,4549 0,05455 0,4003k k k k k kx x x x x x+ = − + = + [1.44]

1k k ku x e= + [1.45]

Clase 08 Implementación de Controladores.doc 18

1.5.5. Transformada Delta Apta para pequeños períodos de muestreo. una mejor forma de calcularlo es, desde el punto de vista numérico,

( )1k k k k c k

k k k c k

x x F I x Gy G ru Cx Dy D r+ = + − + +

= + + [1.46]

multiplicando por el período de muestreo T,

( )1k k k k c k

k k k c k

x x T Fx Gy G r

u Cx Dy D r+ = + + +

= + + [1.47]

donde TF F ITG G

= −

= [1.48]

introduciendo 1q

Tδ −= [1.49]

se puede reescribir

Clase 08 Implementación de Controladores.doc 19

k k k c k

k k k c k

x Fx Gy G ru Cx Dy D r

δ = + += + +

[1.50]

para obtener kx se hace

( )( )

1

1

1k k k c k

k k k c k

k k k k c k

k k k c k

x Fx Gy G rq x Fx Gy G rT

x x T Fx Gy G r

x I TF x TGy TG r

δ

+

+

= + +−

= + +

= + + +

= + + +

[1.51]

Clase 08 Implementación de Controladores.doc 20

Ejemplo 1.7. Filtro de Primer Orden Sea el filtro

x x u= − + [1.52]

discretizado resulta

( )1 1T Tk k k k kx e x e u ax bu− −+ = + − = + [1.53]

para períodos de muestreo muy pequeños es casi un integrador.

( )11k k k

k k k

T x ax bua bx x u

T T

δ

δ

+ = +

−= +

[1.54]

se calcula kxδ con esta ecuación y luego se vuelve a

( )1k k kx x T xδ+ = + [1.55]

Clase 08 Implementación de Controladores.doc 21

Código: % comparación Delta T=.000007; n=150000; xft=zeros(n,1); xde=zeros(n,1); e=zeros(n,1); a = exp(-T); b= 1-a; pr=1e5; t=0:T:(n-1)*T; for i=3:n e(i)=1; xft(i)=round(a*pr)/pr*xft(i-1)+round(b*pr)/pr*e(i-1); d=round((a-1)/T*pr)/pr*xft(i-1)+round(b/T*pr)/pr*e(i-1); xde(i)=xde(i-1)+T*d; % esta parece igual a la anterior pero es inexacta al truncar-se %xde(i)=xde(i-1)+round((a-1)*pr)/pr*xft(i-1)+round(b*pr)/pr*e(i-1); end

Clase 08 Implementación de Controladores.doc 22

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Clase 08 Implementación de Controladores.doc 23

Ejemplo 1.8. PID en Transformada Delta PID en variables de estado

1 21

11 0 0k k k

a ax x e+

− − = +

[1.56]

( ) ( )1 0 1 2 0 2 0k k ku b b a b b a x b e= − − + [1.57]

en función de transferencia 2

0 1 22

1 2k k

b q b q bu eq a q a

+ +=

+ + [1.58]

introduciendo la variable delta

( ) ( )( ) ( )

2 2 20 1 2 0 0 0 1 1 2

2 2 21 1 21 2

1 1 22 11 1

k k k

b T b T b b T b T b b T b bu e eT T a T a aT a T a

δ δ δ δ δδ δ δδ δ

+ + + + + + + + += =

+ + + + + ++ + + + [1.59]

20 1 2

21 2

k kb b bu e

a aδ δδ δ′ ′ ′+ +

=′ ′+ +

[1.60]

donde

Clase 08 Implementación de Controladores.doc 24

( )

( )

0 1 0 1 220 0 1 2

1 1 221 2

2

2 1

b b b b bb b b bT Ta a aa aT T

+ + +′ ′ ′= = =

+ + +′ ′= = [1.61]

variables de estado en delta

1 2 11 0 0k k k

a ax x eδ

′ ′− − = +

[1.62]

el nuevo estado se calcula

( )

( ) ( )

1 21

1 0 1 2 0 2 0

11 0 0k k k k k

k

k k k

a ax x T x x T x e

u b b a b b a x b e

δ+

′ ′ − − = + = + +

= − − +

[1.63]

a. Si tenemos un PI con un período de muestreo muy pequeño y un tiempo de integra-

ción muy grande (poco efecto integral), se necesita trabajar con alta precisión.

Clase 08 Implementación de Controladores.doc 25

Ejemplo 1.9. Filtro Cuarto Orden

( )

4

4k kbu e

q a=

+ [1.64]

2 3 4 41 2 3 4 4

41 1 2 2 3 3 4 4 4

4 6 4k k k k k k

k k k k k

u au a u a u a u b e

a u a u a u a u b e− − − − −

− − − − −

= − − − − + =

= − − − − + [1.65]

1 2 3 4

1

4

11 0 0 0 00 1 0 0 00 0 1 0 0

0 0 0

k k k

k k

a a a a

x x e

u b x

+

− − − − = + =

[1.66]

en el operador δ ,

( )

4

41k k

bu eT aδ

=+ +

[1.67]

Clase 08 Implementación de Controladores.doc 26

4

41k k

bTu e

aT

δ=

+ +

[1.68]

4 3 2 2 3 3 4 4 4 44 6 4k k k k k ku a u a u a u a u b eδ δ δ δ δ δ′ ′ ′ ′ ′= − − − − + [1.69]

con 1 a ba b

T T+′ ′= = [1.70]

4 3 2 3 4 4 41 2 3 4k k k k k ku a u a u a u a u b eδ δ δ δ δ δ′ ′ ′ ′ ′= − − − − + [1.71]

pasando a variables de estado

k k kx Fx Geδ = + [1.72]

1 2 3 4

1

4

11 0 0 0 00 1 0 0 00 0 1 0 0

0 0 0

k k k

k k

a a a a

x x e

u b x

δ +

′ ′ ′ ′− − − − = +

′ =

[1.73]

Clase 08 Implementación de Controladores.doc 27

para calcular el nuevo estado se hace

1k kk

x xxT

δ + −= [1.74]

1k k kx x T xδ+ = + [1.75]

El incremento del estado, kxδ se calcula con la ecuación[1.72], resultando

1 2 3 4

1

4

11 0 0 0

0 1 0 00 0 1 0

0 0 0

k k k

k k

Ta Ta Ta Ta TT

x x eT

T

u b x

+

′ ′ ′ ′− − − − = +

′ =

[1.76]

Clase 08 Implementación de Controladores.doc 28

Código: % filtro de cuarto orden con retardo y delta % tabla 9.6 de astrom clear all n=100000; a=-.9998; T=1; a1=4*a; a2=6*a*a; a3=4*a*a*a; a4=a*a*a*a; b=1+a; x1=0;x2=0;x3=0;x4=0; ur=zeros(n,1); %u=F*e e=1; for i=1:n ur(i)=b*b*b*b*x4; aux=-a1*x1-a2*x2-a3*x3-a4*x4+e; x4=x3; x3=x2; x2=x1;

Clase 08 Implementación de Controladores.doc 29

x1=aux; end %delta ap=(1+a)/T; bp=b/T; a1=4*ap; a2=6*ap^2; a3=4*ap^3; a4=ap^4; x1=0;x2=0;x3=0;x4=0; ud=zeros(n,1); for i=1:n ud(i)=bp*bp*bp*bp*x4; aux=-a1*x1-a2*x2-a3*x3-a4*x4+T*e; x4=x4+x3; x3=x3+x2; x2=x2+x1; x1=x1+aux; end plot([ur ud]);grid

Clase 08 Implementación de Controladores.doc 30

0 2 4 6 8 10

x 104

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Nombre de archivo: Clase 08 Implementa-ción de Controladores.doc

Directorio: C:\Documents and Set-tings\CELERON02\Mis documen-tos\Materias\Control Digital\Clases\Clase 08 Implementación

Plantilla: C:\Documents and Set-tings\CELERON02\Datos de progra-ma\Microsoft\Plantillas\Normal.dot

Título: Controlador de Tiempo Finito (dead beat control)

Asunto: Autor: Aníbal Zanini Palabras clave: Comentarios: Fecha de creación: 26/03/2003 11:46:00 Cambio número: 18 Guardado el: 27/06/2006 13:11:00 Guardado por: PC-02 Tiempo de edición: 279 minutos Impreso el: 27/06/2006 13:11:00 Última impresión completa Número de páginas: 30 Número de palabras: 3.104 (aprox.) Número de caracteres: 17.076 (aprox.)

top related