机械工程控制基础大作业(1)

  悬架是汽车的车架(或承载式车身)与车桥(或车轮)之间的一切传力连接装置的总称,其作用是传递作用在车轮和车架之间的力和力扭,并且缓冲由不平路面传给车架或车身的冲击力,并减少由此引起的震动,以保证汽车能平顺地行驶。

 1.悬架系统的数学模型

 ( ( 1 1 ) )

 从研究车辆行驶平顺性的目的出发,建立图 1 所示的数学模型。在此主要考虑对行驶平顺性影响最大的垂直震动。

 建立方程

 ) x ( ) ( x m 2 1 2 1 1 1 2 2 x c x x k x m           

  传递函数 k csk cs s ms xs  222110s m ) () ( x

 悬架系统传递函数框图

 (2)

  ) () () s (21 c b 2 12221 b 2 1K cs s m K K K K K cs s mK cs s m K K K KGb     

  2.利用 Matlab 对悬架系统进行分析

 2.1 利用 Matlab 分析时间响应 (1)当 Kb 分别为 5、10、20 时,系统在单位阶跃输入作用下的响应的程序和图像 t = [0:0.01:10];

 nG=[0.5 1 10];dG=[4 5 20];

 G1=tf(nG,dG);

 nG=[1 2 20];dG=[5 9 40];

 G2=tf(nG,dG);

 nG=[2 4 40];dG=[6 17 80];

 G3=tf(nG,dG);

 [y1,T]=impulse(G1,t);[y1a,T]=step(G1,t);

 [y2,T]=impulse(G2,t);[y2a,T]=step(G2,t);

 [y3,T]=impulse(G3,t);[y3a,T]=step(G3,t);

 subplot(121),plot(T,y1,"--",T,y2,"-",T,y3,"-")

 legend("kb=5","kb=10","kb=20")

 xlabel("t(sec)"),ylabel("x(t)");grid on;

 subplot(122),plot(T,y1a,"--",T,y2a,"-",T,y3a,"-")

 legend("kb=5","kb=10","kb=20")

 xlabel("t(sec)"),ylabel("x(t)");grid on;

 (2)当 Kb 分别为 5、10、20 时,系统的瞬态性能指标程序和数据

 t=[0:0.01:10];

 yss=0.5;dta=0.02;

 nG=[0.5 1 10];dG=[4 5 20];

 G1=tf(nG,dG);

 nG=[1 2 20];dG=[5 9 40];

 G2=tf(nG,dG);

 nG=[2 4 40];dG=[6 17 80];

 G3=tf(nG,dG);

 y1=step(G1,t);y2=step(G2,t);y3=step(G3,t);

 r=1;while y1(r)<yss;r=r+1;end

 tr1=(r-1)*0.01;

 [ymax,tp]=max(y1);tp1=(tp-1)*0.01;

 mp1=(ymax-yss)/yss;

 s=1001;while y1(s)>0.5-dta&y1(s)<0.5+dta;s=s-1;end

 ts1=(s-1)*0.01;

 r=1;while y2(r)<yss;r=r+1;end

 tr2=(r-1)*0.01;[ymax,tp]=max(y2);

 tp2=(tp-1)*0.01;mp2=(ymax-yss)/yss;

 s=1001;while y2(s)>0.5-dta&y2(s)<0.5+dta;s=s-1;end

 ts2=(s-1)*0.01;

 r=1;while y3(r)<yss;r=r+1;end

 tr3=(r-1)*0.01;[ymax,tp]=max(y3);

 tp3=(tp-1)*0.01;mp3=(ymax-yss)/yss;

 s=1001;while y3(s)>0.5-dta&y3(s)<0.5+dta;s=s-1;end

 ts3=(s-1)*0.01;

 [tr1 tp1 mp1 ts1;tr2 tp2 mp2 ts2;tr3 tp3 mp3 ts3]

 上升时间

 峰值时间

  最大超调量

  调整时间

 2.2 利用 Matlab 分析时间特性 (1) 利用 Matlab 绘制 Nyquist 图 nG1=[2 4 40];

 dG1=[6 17 80];

 [re,im]=nyquist(nG1,dG1);

 plot(re,im);grid on

 (2) 利用 Matlab 绘制 Bode 图 nG1=[2 4 40];

 dG1=[6 17 80];

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

 bode(nG1,dG1,w);grid on

 (3) 利用 Matlab 求系统的频域特征量 nG1=[2 4 40];

 dG1=[6 17 80];

 w=logspace(-1,3,100);

 [Gm,pm,w]=bode(nG1,dG1,w);

 [Mr,k]=max(Gm);

 Mr=20*log10(Mr),Wr=w(k)

 M0=20*log10(Gm(1));

 n=1;while 20*log10(Gm(n))>=-3;n=n+1;end

 Wb=w(n)

 2.3 利用 Matlab 分析系统的稳定性 den=[4 5 20];

 K=10;num1=[K];

 [Gm1 Pm1 Wg1 Wc1]=margin(num1,den);

 K=100;num2=[K];

 [mag, phase,w]=bode(num2,den);

 [Gm2 Pm2 Wg2 Wc2]=margin(mag, phase,w);

 [20*log10(Gm1) Pm1 Wg1 Wc1;20*log10(Gm2) Pm2 Wg2 Wc2]

 den=[5 9 40];

 K=10;num1=[K];

 [Gm1 Pm1 Wg1 Wc1]=margin(num1,den);

 K=100;num2=[K];

 [mag, phase,w]=bode(num2,den);

 [Gm2 Pm2 Wg2 Wc2]=margin(mag, phase,w);

 [20*log10(Gm1) Pm1 Wg1 Wc1;20*log10(Gm2) Pm2 Wg2 Wc2]

 den=[6 17 80];

 K=10;num1=[K];

 [Gm1 Pm1 Wg1 Wc1]=margin(num1,den);

 K=100;num2=[K];

 [mag, phase,w]=bode(num2,den);

 [Gm2 Pm2 Wg2 Wc2]=margin(mag, phase,w);

 [20*log10(Gm1) Pm1 Wg1 Wc1;20*log10(Gm2) Pm2 Wg2 Wc2]

 2.4 利用 Matlab 设计系统校正 校正前系统的 e Bode 图和程序 k=10

 numg=[0.5 1 10];deng=[4 5 20];

 [num,den]=series(k,1,numg,deng);

 %

 w=logspace(-1,2,200);

 [mag,phase,w]=bode(tf(num,den),w);

 [Gm,Pm,Wcg,Wcp]=margin(mag,phase,w);

 %

 Phi=(50-Pm+5)*pi/180;

 %

 alpha=(1-sin(Phi))/(1+sin(Phi));

 %

 M=10*log10(alpha)*ones(length(w),1);

 semilogx(w,20*log10(mag(:)),w,M);grid on;

 校正后系统的 e Bode 图和程序

  k=10;

 %

 numg=[0.5 1 10];deng=[4 5 20];

 %

 numgc=[0.081 1];dengc=[0.186 1];

 %

 [nums,dens]=series(numgc,dengc,numg,deng);

 %

 [num,den]=series(k,1,nums,dens);

 %

 w=logspace(-1,2,200);

 [mag,phase,w]=bode(tf(num,den),w);

 [Gm,Pm,Wcg,Wcp]=margin(mag,phase,w);

 bode(tf(num,den),w);

 grid;

 title(["相位裕度=",num2str(Pm)]);