Está en la página 1de 12

COMPONENTE PRÁCTICA DE

SISTEMAS DE CONTROL AUTOMÁTICO


INFORME PRACTICA N° 4
Nombre:Jairo Fernández

Fecha: Quito 4 de Julio del 2021

1. TEMA
REDUCCIÓN DE SISTEMAS

2. OBJETIVOS

2.1. Reducir diagramas de bloques y flujo de múltiples subsistemas en un simple bloque que represente la
función de transferencia.

2.2. Utilizar los diferentes comandos que proporciona MATLAB para reducir diagramas de bloques.

2. INFORME
DIAGRAMA

1
5.1. Utilizando las ecuaciones de estado obtener la respuesta paso del sistema representado en 3.1 (considere
las dos salidas () y ())

A = 200;
K3 = 0.68;
K2 = 0.68;
Ks = 1;
Ra = 5;
La = 0.1;
n = 1/10;
Jc = 0.136;
fc = 0.136;
Jm = 0.0126;
fT = fc*(n)^2;
JT = Jc*(n)^2;
a = [-(Ra)/(La) -(A*n)/(La) -(K3)/(La); 0 0 1; (K2)/(JT) 0 -(fT)/(JT)];
B = [2000; 0; 0];
C = [0 1 0; 0 n 0];

2
D = 0;
G1=ss(a,B,C,D);
step(G1,'black', 1);

Warning: The "hold" command is not supported for multi-axes plots. Clearing the previous plot.

grid on;

5.2. Implementar en Simulink el diagrama de flujo obtenido en el trabajo preparatorio y obtener la respuesta
ante una entrada paso (considerar las dos salidas () y ()).

Signals=out.graficas.signals.values;
Signal1=Signals(:,1);
Signal2=Signals(:,2);
plot(out.graficas.time,Signal1, 'black')
title('Posición angular del motor VS Tiempo')

3
xlabel('Tiempo [s]')
ylabel('Posición [rad/s]')
grid on;

plot(out.graficas.time,Signal2, 'blue')
title('Posición angular de la carga VS Tiempo')
xlabel('Tiempo [s]')
ylabel('Posición [rad/s]')
grid on;

4
Funcion de transferencia

5
Signals=out.ScopeData.signals.values;
Signal1=Signals(:,1);
Signal2=Signals(:,2);
plot(out.ScopeData.time,Signal1, 'black')
title('Posición angular del motor VS Tiempo')
xlabel('Tiempo [s]')
ylabel('Posición [rad/s]')
grid on;

6
plot(out.ScopeData.time,Signal2, 'blue')
title('Posición angular de la carga VS Tiempo')
xlabel('Tiempo [s]')
ylabel('Posición [rad/s]')
grid on;

5.3. Comparativa de las respuestas Obtenidas

Las salidas son las mismas en magnitud, tiempo de respuesta y características dinámicas, es por eso por lo
que se concluye que tanto el diagrama de flujo como la representación en variables de estado son correctas.

La respuesta a la entrada Paso obtenida mediante el Simulink y las ecuaciones de Estado son iguales
en Matlab son semejantes , esto demuestra que las funciones de transferencia obtenidas en el Trabajo
Preparatorio , y el diagrama de bloques implementando en Simulink se realiz´o de manera exitosa.

5.4. Reducir el sistema de la figura 2 empleando los comandos de MATLAB: series, feedback, append y
connect. Considerando las siguientes funciones de transferencia: 1 () = 1 +7 , 2 () = 1 2+2+3 , 3 () = 1 +1 , 1 ()
= 1 , 2 () = 5 +4 , 3 () = 3 +2

G1=tf([1],[1 7]);
G2=tf([1],[1 2 3]);
G3=tf([1],[1 1]);
H1=tf([1],[1 0]);
H2=tf([5],[1 4]);
H3=tf([3],[1 2]);
Aux=(G3*(H1+G2)/(1+G2*H2));
Aux1=feedback(Aux,H3);
Aux2=series(Aux1,G1);

7
GS=(feedback(Aux2,1));
[Y1,T1]=step(GS);

5.5. Encontrar la respuesta paso del sistema reducido.

plot(T1,Y1)

5.6. Implementar en SIMULINK el diagrama de bloques del literal 3.2 y obtener la función de transferencia del
sistema en Matlab empleando los comandos: linmod, ss2tf. Comparar la función de transferencia obtenida con
la respuesta de 5.4.

[num,den]=linmod('Desarollo4_Bloques');

8
Q=linmod('Desarollo4_Bloques')

Q = struct with fields:


a: [7×7 double]
b: [7×1 double]
c: [1 0 0 0 0 0 0]
d: 0
StateName: {7×1 cell}
OutputName: {'Desarollo4_Bloques/Output'}
InputName: {'Desarollo4_Bloques/Input'}
OperPoint: [1×1 struct]
Ts: 0

TF1=tf(num,den);
[Y2,T2]=step(TF1);
[Y1,T1]=step(GS);
figure()
plot(T1,Y1)
grid on;
hold on
plot(T2,Y2,'--')
legend({'Algebra de bloques','Diagrama de Bloques Simulink'},'Location','best','Orientation','v
xlabel('t')
ylabel('f(t)')
TF1

TF1 =

s^4 + 9 s^3 + 29 s^2 + 42 s + 24


-----------------------------------------------------------------
s^7 + 16 s^6 + 94 s^5 + 283 s^4 + 558 s^3 + 766 s^2 + 631 s + 276

Continuous-time transfer function.

GS

GS =

s^6 + 11 s^5 + 50 s^4 + 127 s^3 + 195 s^2 + 174 s + 72


-------------------------------------------------------------------------------------------
s^9 + 18 s^8 + 129 s^7 + 519 s^6 + 1406 s^5 + 2731 s^4 + 3837 s^3 + 3836 s^2 + 2445 s + 828

Continuous-time transfer function.

La Funci´on de Transferencia obtenida mediante comando de Matlab (linmod) , se presenta con coeficientes
de menor grado respecto a la Funcion de Transferencia obtenida mediante los comandos (series, feedback,
append y connect) , y esto se debe a que se va eliminando los polos iguales que se tenga entre el numerador y
denominador. Siendo asi ambas Funciones de Transferencia semejantes, pues se obtiene la misma respuesta
ante la entrada Paso

5.7. Obtener la respuesta ante una entrada paso del diagrama de bloques implementado en Simulink.
Comparar con la respuesta obtenida en el literal 5.5

9
Signals=ScopeData2.signals.values;
Signal1=Signals(:,1);
plot(ScopeData2.time,Signal1, 'black')
title('Grafica del diagrama de bloques')
xlabel('Tiempo [s]')
ylabel('Respuesta paso')
grid on;

Las respuestas son muy similares entre si debido a que parten del mismo sistema o diagrama de bloques por
lo cual podemos determinar que los 2 métodos son igual de validos al momento de encontrar la respuesta paso
del sistema y por ende la de cualquier tipo de entrada

10
G1=tf([1],[1 7]);
G2=tf([1],[1 2 3]);
G3=tf([1],[1 1]);
H1=tf([1],[1 0]);
H2=tf([5],[1 4]);
H3=tf([3],[1 2]);
C1=1;
C2=1;
inputs=1;
outputs=8;
sys=append(C1,G1,H3,H1,G2,H2,G3,C2);

Q=[2 1 -7 0;3 7 0 0;4 2 -3 -6;5 2 -3 -6;5 2 -3 -6; 6 5 0 0;7 4 5 0;8 7 0 0];

sysc=connect(sys,Q,inputs,outputs);

GTF=tf(sysc)

GTF =

s^4 + 9 s^3 + 29 s^2 + 42 s + 24


-----------------------------------------------------------------
s^7 + 16 s^6 + 94 s^5 + 283 s^4 + 558 s^3 + 766 s^2 + 631 s + 276

Continuous-time transfer function.

GS

GS =

s^6 + 11 s^5 + 50 s^4 + 127 s^3 + 195 s^2 + 174 s + 72


-------------------------------------------------------------------------------------------
s^9 + 18 s^8 + 129 s^7 + 519 s^6 + 1406 s^5 + 2731 s^4 + 3837 s^3 + 3836 s^2 + 2445 s + 828

Continuous-time transfer function.

TF1

TF1 =

s^4 + 9 s^3 + 29 s^2 + 42 s + 24


-----------------------------------------------------------------
s^7 + 16 s^6 + 94 s^5 + 283 s^4 + 558 s^3 + 766 s^2 + 631 s + 276

Continuous-time transfer function.

Como se puede apreciar la funcion de transferencia obtenida con este metodo es exactamente la misma que
con el comando linmode dando a entender que es en realidad esta la funcion de transferencia correcta.

Conclusiones:

• Se pudo observar el comportamiento del sistema mecánico, ante la entrada de una señal paso, este
tiende a estabilizarse con el paso del tiempo, teniendo un movimiento armónico en su inicio.
• Para la obtención de la función de transferencia del sistema se pueden aplicar varias formas, como
implementar directamente el diagrama de bloques, utilizar las ecuaciones de estado, o la función de
transferencia, todas dándonos la misma respuesta, dependerá de los datos que tengamos disponibles.

11
• Los comandos “serie”, “parallel” y “feedback”, permiten reducir sistemas en el script de MATLAB, su
única funcionalidad es la de ahorrar el proceso algebraico que esto implica.

Bibliografia:

No aplica para este trabajo

12

También podría gustarte