implementación de controladoresmaterias.fi.uba.ar/6631/material/digital_09.pdf · clase 09...

26
Clase 09 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 ................................................................................... 5 1.3.2. Implementación Directa ............................................................................................ 7 1.3.3. Realización Bien Acondicionada .............................................................................. 9 1.3.4. Realización Tipo Escalera ...................................................................................... 10 1.3.5. Transformada Delta ................................................................................................ 14 1.4. CONCLUSIONES........................................................ ¡ERROR! MARCADOR NO DEFINIDO.

Upload: others

Post on 28-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 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................................................................................... 5

1.3.2. Implementación Directa............................................................................................ 7

1.3.3. Realización Bien Acondicionada .............................................................................. 9

1.3.4. Realización Tipo Escalera ...................................................................................... 10

1.3.5. Transformada Delta ................................................................................................ 14

1.4. CONCLUSIONES........................................................¡ERROR! MARCADOR NO DEFINIDO.

Page 2: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 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%

Page 3: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

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

Page 4: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

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

Page 5: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 5

1.3. 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.3.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]

Page 6: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 6

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≈

Page 7: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 7

1.3.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]

Page 8: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 8

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]

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]

Page 9: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 9

1.3.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]

Page 10: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 10

1.3.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]

se puede expresar como estados

( )1 1 1 2 11

1k k k kx x x eβ

α+ = − + [1.31]

Page 11: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 11

( ) ( )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]

e

-

1

1zβ 1

u

-+

1i zβ

1iα

-+

1n zβ

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

Page 12: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 12

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]

Page 13: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 13

( ) 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]

Page 14: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 14

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

Page 15: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 15

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]

Page 16: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 16

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]

Page 17: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 17

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

Page 18: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 18

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Page 19: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 19

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

Page 20: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 20

( )

( )

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

k k k

Ta Ta Tx x T x x e

T

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.

Page 21: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 21

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]

Page 22: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 22

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]

Page 23: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 23

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]

Page 24: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 24

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;

Page 25: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 25

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

Page 26: Implementación de Controladoresmaterias.fi.uba.ar/6631/material/Digital_09.pdf · Clase 09 Implementación de Controladores.doc 7 1.3.2. Implementación Directa La forma más intuitiva

Clase 09 Implementación de Controladores.doc 26

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