您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 基于Matlab的计算机控制技术仿真实验
计算机控制系统仿真实验第1页共31页实验一基于Matlab的控制系统模型一、实验目的1.熟悉Matlab的使用环境,学习Matlab软件的使用方法和编程方法2.学习使用Matlab进行各类数学变换运算的方法3.学习使用Matlab建立控制系统模型的方法二、实验器材x86系列兼容型计算机,Matlab软件三、实验原理1.香农采样定理对一个具有有限频谱的连续信号f(t)进行连续采样,当采样频率满足S2max时,采样信号f*(t)能无失真的复现原连续信号。2.拉式变换和Z变换使用Matlab求函数的拉氏变换和Z变换拉式变换:symsawtf1=exp(-a*t)laplace(f1)f2=tlaplace(f2)f3=t*exp(-a*t)laplace(f3)f4=sin(w*t)Z变换:symsakTf1=exp(-a*k*T)ztrans(f1)f2=k*Tztrans(f2)f3=k*T*exp(-a*k*T)ztrans(f3)f4=sin(a*k*T)作信号f(t)5e10t和f*(t)5e10kT的曲线,比较采样前后的差异。幅度曲线:T=0.05t=0:T:0.5f=5*exp(-10*t)subplot(2,1,1)plot(t,f)gridsubplot(2,1,2)stem(t,f)grid请改变采样周期T,观察不同的采样周期下的采样效果。幅频曲线:w=-50:1:50F=5./sqrt(100+w.^2)plot(w,F)grid若|F(jmax)|0.1|F(0)|,选择合理的采样周期T并验加以证w=-400:20:400ws=200Ts=2*pi/wsF0=5/Ts*(1./sqrt(100+(w).^2))F1=5/Ts*(1./sqrt(100+(w-ws).^2))F2=5/Ts*(1./sqrt(100+(w+ws).^2))plot(w,F0,w,F1,w,F2)grid请改变采样频率ws,观察何时出现频谱混叠?计算机控制系统仿真实验第2页共31页13.控制系统模型的建立与转化numbsmbsm1b传递函数模型:num=[b1,b2,…bm],den=[a1,a2,…an],G(s)12mdenasnasn1b零极点增益模型:z=[z1,z2,……zm],p=[p1,p2……pn],k=[k],G(s)k(sz1)(sz2)(szm)(sp1)(sp2)(spn)建立系统模型s(s1)s2sG(s)和(s2)(s3)s25s6z(z1)z2zG(z)(z2)(z3)z25z6传递函数模型:num=[1,1,0]den=[1,5,6]T=0.1Gs1=tf(num,den)Gz1=tf(num,den,T)零极点增益模型:z=[0,-1]p=[-2,-3]k=[1]T=0.1Gs2=zpk(z,p,k)Gz2=zpk(z,p,k,T)传递函数模型和零极点增益模型相互转化传递函数模型转化零极点增益模型:num=[1,1,0]den=[1,5,6]T=0.1Gs1=tf(num,den)Gz1=tf(num,den,T)[z,p,k]=tf2zp(num,den)Gs2=zpk(z,p,k)Gz2=zpk(z,p,k,T)零极点增益模型转化传递函数模型:z=[0,-1]p=[-2,-3]k=[2]T=0.1Gs1=zpk(z,p,k)Gz1=zpk(z,p,k,T)[num,den]=zp2tf(z',p',k)Gs2=tf(num,den)Gz2=tf(num,den,T)laplace(f4)f5=exp(-a*t)*cos(w*t)laplace(f5)反拉式变换symssaf1=1/silaplace(f1)f2=1/(s+a)ilaplace(f2)f3=1/s^2ilaplace(f3)f4=w/(s^2+w^2)ilaplace(f4)f5=1/(s*(s+2)^2*(s+3))ilaplace(f5)ztrans(f4)f5=a^kztrans(f5)反Z变换symszaTf1=z/(z-1)iztrans(f1)f2=z/(z-exp(-a*T))iztrans(f2)f3=T*z/(z-1)^2iztrans(f3)f4=z/(z-a)iztrans(f4)f5=z/((z+2)^2*(z+3))iztrans(f5)2n计算机控制系统仿真实验第3页共31页四、实验步骤1.根据参考程序,验证采样定理、拉氏变换和Z变换、控制系统模型建立的方法2.观察记录输出的结果,与理论计算结果相比较3.自行选则相应的参数,熟悉上述的各指令的运用方法五、实验数据及结果分析记录输出的数据和图表并分析六、总结(s1)(s22s2)(z1)(z22z2)建立系统模型G(s)和G(z)(s22)(s24s8)(z22)(z24z8)num1=[1,1]num2=[1,2,2]den1=[1,0,2]den2=[1,4,8]num=conv(num1,num2)den=conv(den1,den2)T=0.1Gs1=tf(num,den)Gz1=tf(num,den,T)[z,p,k]=tf2zp(num,den)Gs2=zpk(z,p,k)Gz2=zpk(z,p,k,T)计算机控制系统仿真实验第4页共31页实验二基于Matlab的离散控制系统仿真一、实验目的1.学习使用Matlab的命令对控制系统进行仿真的方法2.学习使用Matlab中的Simulink工具箱进行系统仿真的方法二、实验器材x86系列兼容型计算机,Matlab软件三、实验原理1.控制系统命令行仿真建立如图所示一阶系统控制模型并进行系统仿真。一阶系统闭环传递函数为G(s)3/s3,转换为离散系统脉冲传13/ss3递函数并仿真。%模型建立num=[3]%传递函数分子den=[1,3]%传递函数分母T=0.1%采样周期gs=tf(num,den)%传递函数模型建立gz=c2d(gs,T,'zoh')%转化为离散系统脉冲传递函数模型%'zoh'零阶保持器变换%'foh'三角变换(一阶保持器)%'tustin'双线性变换%'prewarp'带频率预畸的双线性变换%'matched'零极点匹配变换%模型特性[z,p,k]=tf2zp(num,den)%求零极点pzmap(gs)%零极点图gridpzmap(gz)%零极点图gridrlocus(gs)%根轨迹图gridrlocus(gz)%根轨迹图grid%时间响应impulse(gs)%单位脉冲响应impulse(gz)%离散单位脉冲响应step(gs)%单位阶跃响应step(gz)%离散单位阶跃响应%频率响应freqs(num,den)%频率响应freqz(num,den)%频率响应closebode(gs)%波特图bode(gz)%波特图nyquist(gs)%奈奎斯特曲线nyquist(gz)%奈奎斯特曲线nichols(gs)%尼科尔斯曲线nichols(gz)%尼科尔斯曲线计算机控制系统仿真实验第5页共31页二阶系统闭环传递函数为G(s)52s(s20.45)5252s220.45s52,请转换为离散系1s(s20.45)统脉冲传递函数并仿真,改变参数,观察不同的系统的仿真结果。2.控制系统的Simulink仿真按图建立系统的Simulink模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。将上述系统离散化并仿真,观察仿真结果。四、实验步骤1.根据实验原理对控制系统进行软件仿真2.观察记录输出的结果,与理论计算值相比较3.自行选择参数,练习仿真方法,观察不同的仿真结果五、实验数据及结果分析记录输出的数据和图表并分析。六、总结251R(s)R(z)+-E(s)C(s)C(z)计算机控制系统仿真实验第6页共31页实验三连续系统PID控制器设计及其参数整定一、实验目的(1)掌握PID控制规律及控制器实现。(2)对给定系统合理地设计PID控制器。(3)掌握对给定控制系统进行PID控制器参数在线实验工程整定的方法。二、实验原理在串联校正中,比例控制可提高系统开环增益,减小系统稳态误差,提高系统的控制精度,但会降低系统的相对稳定性,甚至可能造成系统闭环系统不稳定;积分控制可以提高系统的型别(无差度),有利于提高系统稳态性能,但积分控制增加了一个位于原点的开环极点。使信号产生90°的相位滞后,于系统的稳定不利,故不宜采用单一的积分控制器;微分控制规律能反映输入信号的变化趋势,产生有效的早期修正信号,以增加系统的阻尼程度,从而改善系统的稳定性,但微分控制增加了一个-1/τ的开环零点,使系统的相角裕度提高,因此有助于系统稳态性能的改善。在串联校正中,PI控制器增加了一个位于原点的开环极点,同时也增加了一个位于s左半平面的开环零点。位于原点的开环极点可以提高系统的型别(无差度),减小稳态误差,有利于提高系统稳态性能;负的开环零点可以减小系统的阻尼,缓和PI极点对系统产生的不利影响。只要积分时间常数Ti足够大,PI控制器对系统的不利影响可大为减小。PI控制器主要用来改善控制系统的稳态性能。在串联校正中,PID控制器增加了一个位于原点的开环极点,和两个位于s左半平面的开环零点。除了具有PI控制器的优点外,还多了一个负实零点,动态性能比PI更具有优越性。通常应使积分发生在低频段,以提高系统的稳态性能,而使微分发生在中频段,以改善系统的动态性能。PID控制器传递函数为Ge(s)=Kp(1+1/Tis+Tds),注意工程PID控制器仪表中比例参数整定常用比例度δ%,δ%=1/Kp*100%.三、实验内容(1)Ziegler-Nichols——反应曲线法反应曲线法适用于对象传递函数可以近似为e-Ls的场合。先测出系统处于开环状态下的对象动态特性(即先输入阶跃信号,测得控制对象输出的阶跃响应曲线),如图6-25所示,然后根据动态特性估算出对象特性参数,控制对象的增益K、等效滞后时间L和等效时间常数T,然后根据表6-4中的经验值选取控制器参数。计算机控制系统仿真实验第7页共31页图6-25控制对象开环动态特性表6-4反应曲线法PID控制器参数整定控制器类型比例度δ%比例系数Kp积分时间Ti微分时间TdPKL/TT/KL∞0PI1.1KL/T0.9T/KLL/0.30PID0.85KL/T1.2T/KL2L0.5L【范例6-7】已知控制对象的传递函数模型为:G(s)=试设计PID控制器校正,并用反应曲线法整定PID控制器的Kp、Ti和Td,绘制系统校正后的单位阶跃响应曲线,记录动态性能指标。【解】1)求取被控制对象的动态特性参数K、L、T。%graph32.mnum=10;den=conv([1,1],conv([1,3],[1,5]));G=tf(num,den);step(G);k=dcgain(G)k=0.6667计算机控制系统仿真实验第8页共31页图6-26控制对象开环阶跃响应曲线程序运行后,得到对象的增益K=0.6667,阶跃响应曲线如图6-26所示,在曲线的拐点处作切线后,得到对象待定参数;等效滞后时间L=0.293s,等效时间常数T=2.24-0.293=1.947s。2)反应曲线法PID参数整定%graph33.mnum=10;den=conv([1,1],conv([1,3],[1,5]));k=0.6667;L=0.293;T=1.947;G=tf(num,den);Kp=1.2*T/(k*L);Ti=2*L;Td=0.5*L;Kp,Ti,Td,s=tf('s');Gc=Kp*(1+1/(Ti*s)+Td*s);GcG=feedback(Gc*G,1);step(GcG)Kp=11.9605Ti=0.5860计
本文标题:基于Matlab的计算机控制技术仿真实验
链接地址:https://www.777doc.com/doc-5748390 .html