Sie sind auf Seite 1von 12

Tarea N.

2 Unidad 3
Realizado por: Fernando Quisaguano Materia:
Control Digital
Leandro Alvarez
Anita Aguirre

Fecha: 3 de Agosto del 2016


NRC: 2696

TEMA: DIGITALIZACIÓN DE SISTEMAS CONTINUOS DESCRITOS EN EL


ESPACIO DE ESTADO

Resultado de aprendizaje: Digitalizar un sistema continuo descrito


en el espacio de estados a través de la relación exacta del vector
resolvente, aproximación matricial de la función exponencial y la
asistencia de software. Se ha considerado como sistemas
representativos de la problemática de control los que proponen
Karl J. Astrom en su libro (Computer Controlled Systems)

1. El doble integrador

1.1 Formulación de las matrices del sistema en continuo

1
𝑌(𝑠) = 𝑈(𝑠)
𝑠2

U Y
1
𝑠2
𝑋1

𝑠 2 𝑌(𝑠) = 𝑈(𝑠)

𝑌̈ = 𝑈

𝑋1 = 𝑌 → 𝑋1̇ = 𝑌̇

𝑋2 = 𝑌̇ → 𝑋2̇ = 𝑌̈
De esta manera obtenemos:
𝑋1̇ = 𝑋2 (1

𝑋2̇ = 𝑈 (2
𝑌 = 𝑋1 (3
𝑋1̇ 0 1 𝑋1 0
( )=( )( ) + ( )𝑈
𝑋2̇ 0 0 𝑋2 1
𝑋
𝑌 = (1 0) ( 1 )
𝑋 2

Programa en matlab:

A=[0 1;0 0];


B=[0;1];
C=[1 0];
D=0;
sysC=ss(A,B,C,D)

Ejecución:

1.2 Solución extra a través del vector resolvente

𝜑(𝑡) = ℒ −1 {(𝑆 𝐼 − 𝐴)−1 }


−1
(𝑆𝐼 − 𝐴)−1 = [𝑆 (1 0) − (0 1)]
0 1 0 0
𝑆 0 0 1 −1
(𝑆𝐼 − 𝐴)−1 = [( )−( )]
0 𝑆 0 0
1 1
−1 2
(𝑆𝐼 − 𝐴)−1 = [𝑆 −1] = (𝑆 𝑆 )
0 𝑆 1
0
𝑆
1 𝑇
𝜑(𝑡) = [ ]
0 1
𝟏 𝑻
𝑭 = 𝝋(𝒕) = [ ]
𝟎 𝟏
𝑇 𝑇
1 𝑇 0 𝑇
𝐺=∫ [ ] [ ] 𝑑𝑇 = ∫ [ ] 𝑑𝑇
0 0 1 1 0 1

𝑻𝟐
𝑮=[𝟐]
𝑻
Suponga que T=0.1
1 0.1
𝐹=[ ]
0 1
0.005
𝐺=[ ]
0.1
Programa en matlab:

T = 0.1
Fe =[1 T;0 1]
Ge =[(T^2)/2; T]

Ejecución:

1.3 Solución aproximada

𝐴𝑇 2
𝜓 = 𝐼𝑇 + ; 𝐹 = 𝐼 + 𝐴𝜓
2
𝐺 = 𝜓𝐵
2
1 0 0 1 𝑇
𝜓=[ ]𝑇 + [ ]
0 1 0 0 2
𝑇2
𝜓 = [𝑇 2]
0 𝑇
𝑇2
1 0 0 1 𝑇
𝐹=[ ]+[ ][ 2]
0 1 0 0
0 𝑇
1 𝑇
𝐹=[ ]
0 1
𝑇2 𝑇2
0
𝐺 = [𝑇 2 ] [ 1] = [ 2 ]
0 𝑇 𝑇
Si T=0.1
1 0.1
𝐹=[ ]
0 1
0.005
𝐺=[ ]
0.1
Programa en matlab:

X=eye(2)*T+A*T^2/2
Fa=eye(2)+A*X
Ga=X*B
Ejecución:

1.4 Mediante la función C2D

sysD=c2d(sysC,T)
[F,G,H,D]=ssdata(sysD)
2. El oscilador armónico

2.1 Formulación de las matrices del sistema en continuo


Siento u la aceleración del pivote e y el ángulo del péndulo
La ecuación que describe el sistema es:
𝑑2 𝑦
+ 𝑠𝑒𝑛 𝑦 − 𝑢 cos 𝑦 = 0
𝑑𝑡 2

𝑦̈ + 𝑠𝑒𝑛 𝑦 − 𝑢 cos 𝑦 = 0

𝑥1 = 𝑦 → 𝑥1̇ = 𝑦̇
𝑥2 = 𝑦̇ → 𝑥2̇ = 𝑦̈

Remplazando los valores tenemos:


𝑥1̇ = 𝑥2 (1
𝑥2̇ = −𝑠𝑒𝑛 𝑥1 + 𝑢 cos 𝑥1 (2
𝑦 = 𝑥1 (3

Como es un sistema no lineal procedemos a linealizar con u = x1


(del libro Karl J. Astrom)

𝑥1̇ = 𝑥2 (1
𝑥2̇ = −𝑥1 + 𝑢 (2
𝑦 = 𝑥1 (3

𝑋1̇ 0 1 𝑋1 0
( )=( )( ) + ( )𝑈
𝑋2̇ −1 0 𝑋2 1
𝑋
𝑌 = (1 0) ( 1 )
𝑋 2
Programa en matlab:

A=[0 1;-1 0];


B=[0;1];
C=[1 0];
D=0;
sysC=ss(A,B,C,D)

Ejecución:
2.2 Solución extra a través del vector resolvente

𝜑(𝑡) = ℒ −1 {(𝑆 𝐼 − 𝐴)−1 }

(𝑆𝐼 − 𝐴)−1 = [𝑆 (1 0 0 1 −1
)−( )]
0 1 −1 0
𝑆 0 0 1 −1
(𝑆𝐼 − 𝐴)−1 = [( )−( )]
0 𝑆 −1 0
𝑆 1
−1
(𝑆𝐼 − 𝐴)−1 = [𝑆 −1] 𝑆2 2
= ( + 1 𝑆 + 1)
1 𝑆 −1 𝑆
2 2
𝑆 +1 𝑆 +1
cos(𝑇) 𝑠𝑒𝑛(𝑇)
𝜑(𝑡) = [ ]
−sen(𝑇) 𝑐𝑜𝑠(𝑇)
𝐜𝐨𝐬(𝑻) 𝒔𝒆𝒏(𝑻)
𝑭 = 𝝋(𝒕) = [ ]
−𝐬𝐞𝐧(𝑻) 𝒄𝒐𝒔(𝑻)
𝑇 𝑇
cos(𝑇) 𝑠𝑒𝑛(𝑇) 0 𝑠𝑒𝑛(𝑇)
𝐺=∫ [ ] [ ] 𝑑𝑇 = ∫ [ ] 𝑑𝑇
0
−sen(𝑇) 𝑐𝑜𝑠(𝑇) 1 0
𝑐𝑜𝑠(𝑇)

𝟏 − 𝐜𝐨𝐬(𝑻)
𝑮=[ ]
𝒔𝒆𝒏(𝑻)

Suponga que T=0.1


0.995 0.0998
𝐹=[ ]
−0.0998 0.995
0.005
𝐺=[ ]
0.0998

Programa en matlab:

T = 0.1
Fe =[cos(T) sin(T);-sin(T) cos(T)]
Ge =[1-cos(T); sin(T)]

Ejecución del programa:

2.3 Solución aproximada

𝐴𝑇 2
𝜓 = 𝐼𝑇 + ; 𝐹 = 𝐼 + 𝐴𝜓
2
𝐺 = 𝜓𝐵
2
1 0 0 1 𝑇
𝜓=[ ]𝑇 + [ ]
0 1 −1 0 2
𝑇2
𝑇
𝜓= 2
𝑇2
[− 2 𝑇]

𝑇2
𝑇
1 0 0 1 2
𝐹=[ ]+[ ]
0 1 −1 0 𝑇2

[ 2 𝑇]

𝑇2
1− 𝑇
𝐹= 2
𝑇2
[ −𝑇 1−
2]
𝑇2
𝑇 𝑇2
𝐺= 2 [ 0] = [ ]
𝑇2 1 2
− 𝑇] 𝑇
[ 2
Si T=0.1
0.995 0.1
𝐹=[ ]
0.1 0.995
0.005
𝐺=[ ]
0.1
Programa en matlab:

X=eye(2)*T+A*T^2/2
Fa=eye(2)+A*X
Ga=X*B

Ejecución:

2.4 Mediante la función C2D

Programa en matlab:
T=0.1
sysD=c2d(sysC,T)
[F,G,H,D]=ssdata(sysD)
Discusión: Ya en este punto podemos encontrar una diferencia de
resultados entre el método de solución aproximada pero con una
diferencia muy pequeña del resultado 0.1 y el valor real 0.099.
3. Sistema con retardo de transporte

3.1 Formulación de las matrices del sistema en continuo

Sabiendo la ecuación de transferencia


1
𝐺(𝑠) = 𝑒 −𝑠∗2.6
𝑠+1
Determinando el retenedor de orden cero:
𝑑𝑥(𝑡)
= −𝑥(𝑡) + 𝑢(𝑡 − 2.6)
𝑑𝑡
Con un intervalo h=1 en este caso d = 3 y 𝜏′=0.6

El correspondiente espacio estados tenemos:

𝑥(𝑘 + 1) = 𝜑 𝑥(𝑡) + Γ𝑜 𝑢(𝑘 − 2) + Γ1 𝑢 (𝑘 − 3)

𝜙 = 𝑒 −1 = 0.3679
0.4
Γ𝑜 = ∫ 𝑒 −𝑠 𝑑𝑠 = 0.3297
0

0.6
Γ1 = 𝑒 −0.4 ∫ 𝑒 −𝑠 𝑑𝑠 = 0.3024
0

3.4 Mediante la función C2D

Programa en matlab:

gs=tf([1],[1 1],'inputdelay',2.6)
gz = c2d(gs,1)

Ejecución del programa:


Discusión: Podemos observar que se verifica la solución
analítica y la solución utilizando la función c2d.

Das könnte Ihnen auch gefallen