You are on page 1of 15

UNIVERSIDAD CATÓLICA DE SANTA MARÍA

FACULTAD DE ciencias e ingenierías físicas y


formales

Escuela PROFESIONAL DE INGENIERÍA mecánica,


mecánica eléctrica y mecatrónica

“Control Mecatrónico iii”


Control por realimentación de estados

DOCENTE:
ING. QUISPE CACHUCO, MARCELO
Alumnos:
LUQUE VARGAS, CLAUDIA XIMENA
VALDIVIA MEDINA, FRANK EDIL

AREQUIPA, 6 DE MAyo DEL 2019


Problema 1: Implementar un control por realimentación para el siguiente sistema.
Considerar el modelo del sistema masa-resorte con amortiguamiento, afectado por la entrada
extrema u
1 −1 2
𝑥̇ = [ ]∙𝑥+[ ]∙𝑢
1 −2 1
- Encontrar los valores de k y kr por el método de ackerman; para diseñar el controlador
por realimentación de estados, u=-kr, tal que los polos en lazo cerrado estén
localizados en {-1,-2}
- Implementar con un código en Matlab, indicando una comparación del sistema con
controlador y sin controlador
- Implementar en simulink de forma similar
- Para los inisos anteriores graficar en una sola figura la respuesta al step del sistema
original y la respuesta del sistema para la ley de control u=-Kx+ktr,

SOLUCION

𝑊𝑐 = [𝑏 𝐴𝑏]
2 1
𝑊𝑐 = [ ]
1 0
0 1
𝑊𝑐−1 = [ ]
1 −2
𝑞1 = [1 −2]
- Polinomio característico deseado

𝑎𝑐 (𝑠) = (𝑠 + 1) ∙ (𝑠 + 2)

𝑎𝑐 (𝑠) = 𝑠 2 + 3𝑠 + 2
- Encontrando el valor de K

𝑘 = 𝑞1 𝛼𝑐 (𝑠)
𝑘 = 𝑞1 (𝐴2 + 3𝐴 + 2𝐼2 )
1 −1 1 −1 1 −1 1 0
𝑘 = 𝑞1 ([ ][ ]+3[ ]+ 2[ ])
1 −2 1 −2 1 −2 0 1
0 1 5 −3
𝑘 = [1 −2] {[ ]+[ ]}
−1 3 2 −4
5 −2
𝑘 = [1 −2] [ ]
2 −1
𝒌 = [𝟏 𝟎]
Código en MATLAB

CODIGO MATLAB
clear all, close all, clc
A=[1 -1; 1 -2];
B=[2; 1];
C=[1 0];
D=0;
P=[-1 -2]
K=acker(A,B,P)
kr=-1/(C*(inv(A-B*K))*B)
% sin controlador
sys=ss(A,B,C,D)
[y,t,x]=step(sys)
% Con controlador
sys2=ss(A-B*K, kr*B,C,D)
[y1,t1,x1]=step(sys2)
% GRÁFICA DEL SISTEMA UNO
figure(1)
step(sys)
grid on
title('SISTEMA SIN CONTROLADOR')
% GRÁFICA DEL SISTEMA DOS
figure(2)
step(sys2)
grid on
title('SISTEMA CON CONTROLADOR')
% GRÁFICA DE AMBOS SISTEMAS
figure(3)
plot(t,y)
hold on
plot(t1,y1)
grid on
axis([0 6 0 1.2])
title('COMPARACION DE AMBAS RESPUESTAS')
legend('y = SIN CONTROLADOR','y = CON
CONTROLADOR')
GRAFICANDO EN MATLAB:
- SIMULACIÓN EN SIMULINK
Problema 2: realizar el procedimiento anterior para el siguiente motor DC (control de
velocidad). Polos deseados 𝑠 = −5 ± 𝑗
𝑤̇ −10 1 𝑤 0
[ ]=[ ] ∙ [ ] + [ ] ∙ 𝑣(𝑡)
𝑖 −0.02 −2 𝑖 2
𝑤
𝑦 = [1 0] ∙ [ ]
𝑖
𝑥(0) = [0.2 1]
SOLUCION

𝑊𝑐 = [𝑏 𝐴𝑏]
0 2
𝑊𝑐 = [ ]
2 −4
0 0.5
𝑊𝑐−1 = [ ]
0.5 0
1
𝑞1 = [ 0]
2
- Polinomio característico deseado

𝑎𝑐 (𝑠) = (𝑠 + 5 − 𝑗) ∙ (𝑠 + 5 + 𝑗)

𝑎𝑐 (𝑠) = −𝑗 2 + 𝑠 2 + 10𝑠 + 25

𝑎𝑐 (𝑠) = −1 + 𝑠 2 + 10𝑠 + 25

𝑎𝑐 (𝑠) = 𝑠 2 + 10𝑠 + 24
- Encontrando el valor de K

𝑘 = 𝑞1 ∙ 𝛼𝑐 (𝑠)

𝑘 = 𝑞1 (𝐴2 + 10𝐴 + 2𝐼2 )


−10 1 −10 1 −10 1 1 0
𝑘 = 𝑞1 ([ ][ ] + 10 [ ]+2[ ])
−0.02 −2 −0.02 −2 −0.02 −2 0 1
4999
1 −12 −76 10
𝑘=[ 50 ]+[ 1
0] {[ 6 199 − 4
]}
2 5
25 50
1199
1 −2
𝑘=[ 50
0] [ 1 399
]
2
25 50
𝑘 = [12.99 −1]

CODIGO MATLAB
clear all, close all, clc
A=[-10 1; -0.02 -2];
B=[0; 2];
C=[1 0];
D=0;
P=[-5+j -5-j];
X0=[0.2 1]
K=acker(A,B,P)
disp('K=')
disp(K)
kr=-1/(C*(inv(A-B*K))*B)
% sin controlador
sys=ss(A,B,C,D)
[y,t,x]=step(sys);
% Con controlador
sys2=ss(A-B*K, kr*B,C,D)
[y1,t1,x1]=step(sys2);
% Comparación de ambas gráficas
figure(1)
step(sys)
grid on
title('SISTEMA SIN CONTROLADOR')
figure(2)
step(sys2)
grid on
title('SISTEMA CON CONTROLADOR')
figure(3)
plot(t,y)
hold on
plot(t1,y1)
grid on
title('COMPARACION DE AMBAS RESPUESTAS')
legend('y = SIN CONTROLADOR','y = CON CONTROLADOR')
GRAFICANDO EN MATLAB:
Problema 3: realizar el procedimiento anterior para el siguiente motor DC (control de
posición).

Considere el sistema motor DC de armadura que presenta la figura, donde Ra=5, La=200mH,
Kb=0.1V/rad/sec, Ki=0.1 Nm/A, la razón del engranaje N1/N2=1/50. La inercia de la armadura
es Iarmadura =2*10-3 kgm2. La carga de 10 kg esta localizada a un radio efectivo de 0.2m. La
inercia del engranaje y fricción son despreciables.

Luego de construir el modelo espacio de estados del motor DC, se tiene:


𝑅𝑎 𝐾𝑎 1
− 0 − 𝑥1
𝑥̇ 1 𝐿𝑎 𝐿𝑎 𝐿𝑎
[𝑥̇ 2 ] = 0 0 1 ∙ 𝑥2 + 0 ∙ 𝑢
𝑥̇ 3 𝑘1
0 0 [𝑥3 ] [ 0]
[ 𝐼𝑒𝑞 ]
𝑥!
𝑁1
𝑦 = [0 0] ∙ [𝑥2 ]
𝑁2 𝑥3

Para x1 𝑥1 = 𝑖𝑎 , 𝑥2 = 𝜃, 𝑥3 = 𝜃̇ = 2, 𝑢 = 𝑒𝑎 , "y" 𝑦 = 𝜃𝑙

Los autovalores de A-bk son: {-1+i, -1-i, -10}

5 0.1
− 0 − −25 0 −0.5
0.2 0.2
𝐴= 0 0 1 =[ 0 0 1 ]
0.1 50 0 0
[0.002 0 0 ]

1
𝐵 = [0.2]
0
0
1
𝐶 = [0 0]
50

Paso 1: hallar 𝑞1
5 −125 3000
𝑤𝑐 = [𝐵 𝐴. 𝐵 2 ]
𝐴 𝐵 = [0 0 250 ]
0 250 −6250
0.2 0.1 0.1
(𝑤𝑐 )−1 = [ 0 0.1 0.004]
0 0.004 0

𝑞1 = [0 0.004 0]

Paso 2: Polinomio deseado {−1 + 𝑖, −1 − 𝑖, −10}


∝𝑐 (𝑠) = (𝑠 + 1 + 𝑗)(𝑠 + 1 − 𝑗)(𝑠 + 10)
∝𝑐 (𝑠) = 𝑠 3 + 12𝑠 2 + 22𝑠 + 20
Paso 3: Metodo ackerman

𝑘 = 𝑞1 ∝𝑐 (𝐴)
−7775 0 −162
𝑘 = [0 0.004 0] ∗ [ −602 20 −1 ]
14993 0 321
𝑘 = [−2.60 0.08 −0.05]
Paso 4: Hallar kr:
𝑘𝑟 = −1/(𝐶(𝐴 − 𝐵𝑘)−1 𝐵)
0 0 0.0216 5
−1
𝐶(𝐴 − 𝐵𝑘) 𝐵 = [0 0.02 0] ∗ [−2.6 −0.625 −0.648] ∗ [0]
0 1 0 0
𝐶(𝐴 − 𝐵𝑘)−1 𝐵 = −0.23

1
𝑘𝑟 = − = 4.32
−0.23
CODIGO MATLAB
clear all, close all, clc
A=[-25 0 -0.5;0 0 1;50 0 0];
B=[5;0;0];
C=[0 0.5 0];
D=0;
P=[-1+j -1-j -10];
K=acker(A,B,P)
kr=-1/(C*(inv(A-B*K))*B)
% sin controlador
sys=ss(A,B,C,D)
[y,t,x]=step(sys)
% Con controlador
sys2=ss(A-B*K, kr*B,C,D)
[y1,t1,x1]=step(sys2)
% GRÁFICA DEL SISTEMA UNO
figure(1)
step(sys)
grid on
title('SISTEMA SIN CONTROLADOR')
% GRÁFICA DEL SISTEMA DOS
figure(2)
step(sys2)
grid on
title('SISTEMA CON CONTROLADOR')
% GRÁFICA DE AMBOS SISTEMAS
figure(3)
plot(t,y)
hold on
plot(t1,y1)
grid on
axis([0 6 0 1.2])
title('COMPARACION DE AMBAS RESPUESTAS')
legend('y = SIN CONTROLADOR','y = CON CONTROLADOR')
GRAFICANDO EN MATLAB:
SIMULACIÓN EN SIMULINK:

You might also like