当前位置:文档之家› 机械工程控制基础 Matlab编程实验报告

机械工程控制基础 Matlab编程实验报告

机械工程控制基础 Matlab编程实验报告
机械工程控制基础 Matlab编程实验报告

机械工程控制基础Matlab编程实验报告

学院: 机电学院

班级: 机械096班

姓名: 杜静

学号: 2009071297

实验2

numG=[3 2],denG=[2 4 5 1]

G=tf(numG,denG)

[zG,pG,kG]=zpkdata(G,'v')

[resG,polG,otherG]=residue(numG,denG)

impulse(G)

zG = -0.6667

pG = -0.8796 + 1.1414i

-0.8796 - 1.1414i

-0.2408

kG = 1.5000

实验三function y=f()

numG=[3 2],denG=[2 4 5 1]

numstep=numG

denstep=[denG 0]

Gstep=tf(numstep,denstep)

impulse(Gstep)

G=tf(numG,denG)

step(G,30)

DC_gain=dcgain(G)

结论

numG = 3 2

denG = 2 4 5 1

numstep = 3 2

denstep = 2 4 5 1 0

Transfer function:

3 s + 2

-------------------------

2 s^4 + 4 s^

3 + 5 s^2 + s

Transfer function:

3 s + 2

-----------------------

2 s^

3 +

4 s^2 +

5 s + 1

DC_gain = 2

实验4

源程序

Gc=tf(80*[1 3],[1 15 *3])

Gp=tf(4,conv([0.5 1],[2 1]))

H=tf(1,[0.05 1])

T_ref=feedback(Gp*Gc,H)

[zT_ref,pT_ref,kT_ref]=zpkdata(T_ref,'v')

T_ref_gainDC=dcgain(T_ref)

t=[0:0.01:2]

Y_ref=Step(T_ref,t)

T_dist=feedback(Gp,Gc*H)

[zT_dist,pT_dist,kT_dist]=zpkdata(T_dist,'v') T_dist_gainDC=dcgain(T_dist)

Y_dist=step(T_dist,t)

plot(t,Y_ref,' ',t,y_dist,’--’)

text(1.0,1.00,'reference input')

text(1.0,0.22,'disturbance input')

结论

Transfer function:

16 s^2 + 368 s + 960

-------------------------------------------------

0.05 s^4 + 3.375 s^3 + 53.17 s^2 + 435.8 s + 1005

zT_ref = -20

-3

pT_ref = -49.3658

-7.3336 + 7.9786i

-7.3336 - 7.9786i

-3.4670

kT_ref = 320

T_ref_gainDC = 0.9552

实验5

程序;

G=tf([10 50],[1 4 3])

t=[0:0.06:6]';

u=2*cos(5*t+30*pi/180);

y=lsim(G,u,t);

[mag,phase]=bode(G,5)

yss=2*mag*cos(5*t+(30+phase)*pi/180); plot(t,u,'-',t,y,'--',t,yss,'-.')

结论mag = 2.3783

phase = -92.7263

实验6. 伯德图、尼柯尔斯图和奈奎斯特图

对如下传递函数绘制其伯德图、尼柯尔斯图和奈奎斯特图

16

24.32081.16042.24640

1280)(2

3

4

+++++=

s s

s

s

s s G

源程序

numG=[1280 640] denG=[1 24.2 1604.81 320.24 16] G=tf(numG,denG)

w=logspace(-2,3,100)' figure(1);bode(G,w) figure(2);nichols(G,w) axis([-270 0 -40 40]) grid;ngrid figure(3);nyquist(G) axis equal

伯德图

尼柯尔斯图

奈奎斯特图

实验7. 转角频率和渐近线

计算转角频率,并使用MA TLAB画出例6伯德图的幅频特性渐近线。

源程序

numG=[1280 640]

denG=[1 24.2 1604.81 320.24 16]

G=tf(numG,denG)

[z,p,k]=zpkdata(G,'v')

damp(z),damp(p)

abs(z),abs(p)

w=logspace(-2,3,100)';

[mag,phase]=bode(G,w)

mag=reshape(mag,[100 1]);

semilogx(w,20*log10(mag),'--')

hold on

lfg=dcgain(G)

cf1_dB=20*log10(lfg)

plot([0.01;0.1],[cf1_dB;cf1_dB],'-')

cf2_dB=cf1_dB-40*log10(0.5/0.1)

plot([0.1;0.5],[cf1_dB;cf2_dB],'-')

cf3_dB=cf2_dB-20*log10(40/0.5)

plot([0.5;40],[cf2_dB;cf3_dB],'-')

end_dB=cf3_dB-60*log10(100/40)

plot([40;1000],[cf3_dB;end_dB],'-')

hold off

text(0.23,25,'-40dB/dec')

text(15,-25,'-20dB/dec')

text(15,-70,'-60dB/dec')

axis([0.01 1000 -100 40])

结论

z = -0.5000

p = -12.0000 +38.1576i

-12.0000 -38.1576i

-0.1000 + 0.0000i

-0.1000 - 0.0000i

k = 1280

Eigenvalue Damping Freq. (rad/s)

-5.00e-001 1.00e+000 5.00e-001

Eigenvalue Damping Freq. (rad/s)

-1.20e+001 + 3.82e+001i 3.00e-001 4.00e+001 -1.20e+001 - 3.82e+001i 3.00e-001 4.00e+001 -1.00e-001 + 2.80e-009i 1.00e+000 1.00e-001 -1.00e-001 - 2.80e-009i 1.00e+000 1.00e-001

例6伯德图的幅频特性渐近线

实验8. 穿越频率、裕量和稳定性

图2系统反馈的方框图

使用margin函数求图2中反馈系统的增益裕量,相角裕量及相应的穿越频率,其中)

G与

(s

实验6相同,1

s

H。利用裕量确定此反馈系统的稳定性。利用实验6中的尼柯尔斯图和(

)

奈奎斯特图并通过计算闭环系统的极点来检验你的答案。

源程序

numG=[1280 640]

denG=[1 24.2 1604.81 320.24 16]

G=tf(numG,denG)

H=1

GH=G*H

margin(GH)

T=feedback(G,H)

poles_T=pole(T)

结论

numG = 1280 640

denG = 1.0e+003 *

0.0010 0.0242 1.6048 0.3202 0.0160

Transfer function:

1280 s + 640

----------------------------------------

s^4 + 24.2 s^3 + 1605 s^2 + 320.2 s + 16

H = 1

Transfer function:

1280 s + 640

----------------------------------------

s^4 + 24.2 s^3 + 1605 s^2 + 320.2 s + 16

Transfer function:

1280 s + 640

----------------------------------------

s^4 + 24.2 s^3 + 1605 s^2 + 1600 s + 656

poles_T =

-11.5970 +38.0338i

-11.5970 -38.0338i

-0.5030 + 0.4023i

-0.5030 - 0.4023i

实验9

实验10

lfg_CL = 0.9960

lfg_CL_dB = -0.0347 M_pw = 5.3719

i = 15

wp = 1.4514

实验11

a

tau_sen = 0.0500

Kproc = 4

selected_point = 0.0438 +15.8851i

kk = 81.3817

polesCL = -28.6674

3.0837 +1

4.7748i

3.0837 -1

4.7748i

B

源程序

tauP1=2;tauP2=0.5;tau_sen=0.05 Kproc=4

denG=conv([tauP1 1],[tauP2 1]); Gp=tf(Kproc,denG)

H=tf(1,[tau_sen 1])

t=[0:0.02:10]' ;

for Kp=0.7:0.2:1.7;

T=feedback(Kp*Gp,H,-1);

ys=step(T,t);

ref=dcgain(T);

yss=ys(length(ys));

disp([Kp yss])

plot(t,ys)

if ishold~=1,hold on,end

end

hold off

结论

tau_sen = 0.0500

Kproc = 4

C

结论

tau_sen = 0.0500

Kproc = 4

KP = 1.2550

y_ref_ss = 0.8339

y_dist_ss = 0.6645

相关主题
文本预览
相关文档 最新文档