Documentos de Académico
Documentos de Profesional
Documentos de Cultura
a)
b)
c)
sol:
a)
nG=[23.7 23.7];
d1G=conv([1 0],[0.1 1]);
d2G=conv([0.2 1],[0.5 1]);
dG=conv(d1G,d2G);
D=tf(nG,dG)
bode (D)
Transfer function:
23.7 s + 23.7
---------------------------------
0.01 s4 + 0.17 s3 + 0.8 s2 + s
Bode Diagram
50
0
Magnitude (dB)
-50
-100
-150
-45
-90
Phase (deg)
-135
-180
-225
-270
-1 0 1 2 3
10 10 10 10 10
Frequency (rad/sec)
En el diagrama de bode anterior se puede observar que dbH(10)=3.1dB, y la fase es -193 grados.
Por tanto la respuesta sera:
H=
2.0417
Y=
20.4174
fase =
-3.3685
500
400
300
200
100
-100
0 1 2 3 4 5 6 7 8 9 10
b)
nG=[23.7];
d1G=[1 6 9];
d2G=[1 3];
dG=conv(d1G,d2G);
D=tf(nG,dG)
bode (D)
Transfer function:
23.7
-----------------------
s3 + 9 s2 + 27 s + 27
Bode Diagram
0
-20
Magnitude (dB)
-40
-60
-80
-100
0
Phase (deg)
-90
-180
-270
-1 0 1 2
10 10 10 10
Frequency (rad/sec)
H=
4.2658e-004
Y=
0.0043
fase =
-3.8572
80
60
40
20
-20
-40
0 1 2 3 4 5 6 7 8 9 10
c)
nG=[11.85 23.7];
d1G=[1 0];
d2G=[1 1 1];
dG=conv(d1G,d2G);
D=tf(nG,dG)
bode (D)
Transfer function:
11.85 s + 23.7
--------------
s3 + s2 + s
Bode Diagram
60
40
Magnitude (dB)
20
-20
-40
-60
-90
Phase (deg)
-135
-180
-225
-1 0 1 2
10 10 10 10
Frequency (rad/sec)
H=
0.0081
Y=
0.0813
fase =
-3.2463
la respuesta en estado estacionario sera:
250
200
150
100
50
-50
0 1 2 3 4 5 6 7 8 9 10
prob 3:
Para un sistema con retroalimentación unitaria, trace el diagrama de Bode. A partir de este
diagrama de Bode, encuentre el valor de K para que el sistema tenga un margen de ganancia de
20dB. También determine el valor de K para que el margen de fase sea de 45º.
sol.
%Enter G(s)
numg=[1 0.47558];
deng=conv([1 0],[1 2.37 4.7558]);
'G(s)'
G=tf(numg,deng)
w=0.01:0.1:100;
%Enter K
K=input('Type gain, K ');
bode(K*G,w)
pause
[M,P]=bode(K*G,w);
%Calculate Phase Margin
for i=1:1:length(M);
if M(i)<=1;
fprintf('\nGain K = %g',K)
fprintf(', Frequency (0 dB) = %g',w(i))
fprintf(', Magnitude = %g',M(i))
fprintf(', Magnitude (dB) = %g',20*log10(M(i)))
fprintf(', Phase = %g',P(i))
Pm=180+P(i);
fprintf(', Phase Margin = %g',Pm)
break
end
end
%Calculate Gain Margin
for i=1:1:length(P);
if P(i)<=-180;
fprintf('\nGain K = %g',K)
fprintf(', Frequency(180 deg) = %g',w(i))
fprintf(', Magnitude = %g',M(i))
fprintf(', Magnitude (dB) = %g',20*log10(M(i)))
fprintf(', Phase = %g',P(i))
Gm=20*log10(1/M(i));
fprintf(', Gain Margin (dB) = %g',Gm)
break
end
end
Transfer function:
s + 0.4756
------------------------
s^3 + 2.37 s^2 + 4.756 s
20
Magnitude (dB)
-20
-40
-60
-80
-45
Phase (deg)
-90
-135
-180
-2 -1 0 1
10 10 10 10
Frequency (rad/sec)
prob. 6.
Utilizando la función de transferencia L(s), trace el diagrama de Nyquist de L(s). Utilizando este
diagrama determine el rango de K para que el sistema sea estable.
a)
b)
c)
d)
e)
f)
sol.
a)
numg=10;
deng=poly ([0 0 -5 -2]);
'G(s)'
G=tf (numg, deng) % Create and display G(s).
[Gm,Pm,Wcg,Wcp]=margin(G); % Find margins and margin
K=Gm % Display K for stability.
pause
Transfer function:
10
--------------------
s4 + 7 s3 + 10 s2
Warning: The closed-loop system is unstable.
> In warning at 26
In lti.margin at 66
In suma at 5
K=
0
b)
Transfer function:
50
-----------------
s3 + 4 s2 - 5 s
Warning: The closed-loop system is unstable.
> In warning at 26
In lti.margin at 66
In suma at 5
K=
Inf
c)
numg=0.1;
deng=conv([1 5 0],[1 1 1]);
'G(s)'
G=tf (numg, deng) % Create and display G(s).
[Gm,Pm,Wcg,Wcp]=margin(G); % Find margins and margin
Transfer function:
0.1
-------------------------
s4 + 6 s3 + 6 s2 + 5 s
K =
43.0555
e)
numg=[1 -5 2];
deng=conv([1 0],[1 2 2 10]);
'G(s)'
G=tf (numg, deng) % Create and display G(s).
[Gm,Pm,Wcg,Wcp]=margin(G); % Find margins and margin
f)
numg=[10 100];
deng=conv([1 1 0],[1 100]);
'G(s)'
G=tf (numg, deng) % Create and display G(s).
[Gm,Pm,Wcg,Wcp]=margin(G); % Find margins and margin
Prob. 07.
El esquema muestra el sistema de control de un motor CD, determine el rango de K
para que el sistema sea estable. Considere los casos siguientes: a) Kt=0; b) Kt=0.01*M;
c) Kt=0.1*N.
sol.
a)
numg=[10000];
deng=[1 10 0 0];
'G(s)'
G=tf (numg, deng) % Create and display G(s).
[Gm,Pm,Wcg,Wcp]=margin(G); % Find margins and margin
10000
------------
s3 + 10 s2
Warning: The closed-loop system is unstable.
> In warning at 26
In lti.margin at 66
In suma at 6
K=
0
b)
numg=[10000 100000 0 0];
deng=[1 20 1100 10000 0 0 0];
'G(s)'
G=tf (numg, deng) % Create and display G(s).
[Gm,Pm,Wcg,Wcp]=margin(G); % Find margins and margin
10000 s3 + 100000 s2
-----------------------------------
s6 + 20 s5 + 4856 s4 + 47558 s3
Warning: The closed-loop system is unstable.
> In warning at 26
In lti.margin at 66
In suma at 6
K=
4.7558