仿真实验报告 2 2.docx
《仿真实验报告 2 2.docx》由会员分享,可在线阅读,更多相关《仿真实验报告 2 2.docx(18页珍藏版)》请在冰豆网上搜索。
仿真实验报告22
控制系统仿真实验报告
学院:
班级:
姓名:
学号:
实验一数字仿真方法验证
一、实验目的
1.掌握基于数值积分法的系统仿真、了解各仿真参数的影响;
2.掌握基于离散相似法的系统仿真、了解各仿真参数的影响;
3.熟悉MATLAB语言及应用环境。
二、实验内容
(一)试将示例1的问题改为调用ode45函数求解,并比较结果。
(1)建立描述微分方程组的函数m文件
functiondu=syvdp(t,u)
du=[u-(2*t)/u];
(2)调用解题器指令ode45求解y
[t,u]=ode45('syvdp',[0,1],1);
plot(t,u(:
1),'r');
xlabel('t');
ylabel('u');
legend('u');
得到的结果如下图所示:
(二)试用四阶RK法编程求解下列微分方程初值问题。
仿真时间2s,取步长h=0.1。
采用RK法的程序
clear
t0=0;
y0=1;
h=0.1;
n=2/h;
y1=1;
t1=0;
fori=0:
(n-1)
k1=y0-t0*t0;
k2=(y0+h/2*k1)-(t0+h/2)*(t0+h/2);
k3=(y0+h/2*k2)-(t0+h/2)*(t0+h/2);
k4=(y0+h*k3)-(t0+h/2)*(t0+h/2);
y1=y0+h*(k1+2*k2+2*k3+k4)/6;
t1=t0+h;
y0=y1;
t0=t1;
y(i+2)=y1;
t(i+2)=t1;
end
y1
t1
figure
(1)
plot(t,y,'r');
得到的结果如下图所示:
y1=
2.6831
t1=
2.0000
(三)试求示例3分别在周期为5s的方波信号和脉冲信号下的响应,仿真时间20s,采样周期Ts=0.1。
系统响应程序程序如下
clear
%Createsystemmodel
A=[-0.5572-0.7814;0.78140];
B=[1;0];
C=[1.96916.4493];
D=0;
sys=ss(A,B,C,D);
%Createinputsignal
[u,t]=gensig('square',5,20,0.1);
plot(t,u)
%systemresponse
holdon
lsim(sys,u,t);
holdoff
grid
%impulseresponseofthesystem
holdon
impulse(sys,5,20);
holdoff
grid
%impulseresponseofthesystem
holdon
impulse(sys,5,20);
holdoff
grid%impulseresponseofthesystem
holdon
impulse(sys,20);
holdoff
grid
周期方波信号系统响应如下图所示:
单位脉冲信号系统响应如下图所示:
周期脉冲信号系统响应如下图所示:
三、实验心得:
通过本次实验,熟悉了解了MATLAB在自动控制当中的应用,了解了相关的传递函数及其操作,对于控制系统的建模有打好了基础。
同时,学习了基本的输入函数,并求出对应的响应,对于实际中相关系统的分析有很大的帮助。
同时,也巩固了MATLAB的画图功能,同样为之后对控制系统的仿真打下基础,对于相关传递函数图形的绘制有很大的帮助。
实验二SIMULINK仿真实验
一、实验目的
熟悉工具箱及其使用,进行系统仿真分析,通过仿真对系统进行校正校验。
二、实验内容
熟悉有关控制工具箱命令与SIMULINK仿真工具的使用,并对实验题目作好分析设计。
某系统框图如图所示,试用SIMULINK进行仿真,并比较在无饱和非线性环节下系统仿真结果。
根据题目要求设计的仿真模型如下:
仿真图形如下:
3、结果分析
将无饱和非线性环节和有饱和非线性环节比较,无饱和非线性环节超调量更大,调整时间更长,震荡次数更多,有饱和非线性环节系统更容易达到稳定。
四、实验心得:
通过本次试验,熟悉了解了MATLAB中SIMULINK的应用,特别是在自动控制系统建模中,它非常的简便易操作,相比输入语句的建模来说,它形象而快速,不仅便于理解和分析,而且大大提高了仿真速度。
同时,也巩固了MATLAB的画图功能,同样为之后对控制系统的仿真打下基础,对于相关传递函数图形的绘制有很大的帮助。
实验三PID控制器设计
一、实验目的
1.了解PID控制原理,掌握相应PID控制器设计仿真程序的应用;
2.掌握计算机辅助系统瞬态性能指标的计算;
3.掌握计算机辅助系统频率性能分析;
二、实验内容
已知如图所示单位反馈系统
要求:
1.绘制系统的开环Nyquist图和Bode图,并判断该闭环系统是否稳定。
2.应用Ziegler—Nichols方法设计P控制器、PI控制器和PID控制器。
3.计算比较原系统与P控制系统、PI控制系统、PID控制系统的瞬态性能指标。
1.调用函数绘制系统的开环Nyquist图和Bode图
clear
num=[5005000];
den=[133337177549505000];
sys=tf(num,den);
figure
(1)
nyquist(sys)
[re,im,w1]=nyquist(sys);
figure
(2)
bode(sys)
[mag,phase,w2]=bode(sys);
Nyquist图
Bode图
根据系统稳定的充分必要条件为:
系统的闭环特征根全部分布在S复平面的左半部,即具有负实部。
或者说系统闭环传递函数的极点全部位于S复平面的左半部。
由此建立函数分析该闭环系统稳定性:
clear
num=[5005000];
den=[133337177549505000];
sys=tf(num,den);
sysclose=feedback(sys,1);
[a,p,k]=zpkdata(sysclose,'v');
ii=find(real(p)>0);
np=length(ii)
ifnp>0
disp('thesystemisnotstable')
else
disp('thesystemisstable')
end
程序结果如下:
np=
0
thesystemisstable
2.建立P控制器、PI控制器、PID控制器计算的函数m文件
function[sysc,Kp,Ti,Td]=pidmargin(sys,type)
margin(sys)
[Gm,Pm,Wg,Wc]=margin(sys);
Kcr=Gm;
Wcr=Wg;
Tcr=2*pi/Wcr;
switchtype
case1
disp('pcontroler')
Kp=0.5*Kcr
Ti='nodesign'
Td='nodesign'
sysc=Kp;
case2
disp('picontroler')
Kp=0.4*Kcr
Ti=0.8*Tcr
Td='nodesign'
sysc=Kp*(1+tf(1,[Ti,0]));
case3
disp('pidcontroler')
Kp=0.6*Kcr
Ti=0.5*Tcr
Td=0.12*Tcr
sysc=Kp(1+tf(1,[Ti,0])+tf([Td,0]),1)
End
用Ziegler---Nichols方法调用function函数求解系统校正控制器
clf
num=[5005000];
den=[133337177549505000];
sys=[num,den];
sysgroup=feedback(sys,1);
fori=1:
3
type=i;
[sysc,Kp,Ti,Td]=pidmargin(sys,type);
sysopen=sysc*sys;
sysclose=feedback(sysopen,1);
sysgroup=append(sysgroup,sysclose);
end
clf
fori=1:
4
subplot(2,2,i)
step(sysgroup(i,i))
End
程序结果如下:
PControler
Kp=
1.7849
Ti=
NoDesign
Td=
NoDesign
PIControler
Kp=
1.4279
Ti=
1.0882
Td=
NoDesign
PIDControler
Kp=
2.1419
Ti=
0.6801
Td=
0.1632
3.由2计算得出的相关参数带入瞬态性能指标计算函数求得相关性能指标
clear
num=[5005000];
den=[133337177549505000];
sys=tf(num,den);
step(sys)
%Computesteadyvalue
Finalvalue=polyval(num,0)/polyval(den,0)
%Computeovershoot
[y,t]=step(sys);
[Ymax,k]=max(y);
Peaktime=t(k)
OvershootPercent=100*(Ymax-Finalvalue)/Finalvalue
%Computerisetime
n=1;
whiley(n)<0.1*Finalvalue,n=n+1;end
m=1;
whiley(m)<0.9*Finalvalue,m=m+1;end
RiseTime=t(m)-t(n)
%Computesettlingtime
r=length(t);
while(y(r)>0.98*Finalvalue&y(r)<1.02*Finalvalue)
r=r-1;
end
SettlingTime=t(r)
程序结果如下:
原系统瞬态性能指标
Finalvalue=
1
Peaktime=
4.0797
OvershootPercent=
-0.0626
RiseTime=
1.1126
SettlingTime=
2.3313
P控制系统瞬态性能指标
Finalvalue=
1.7849
Peaktime=
3.3049
OvershootPercent=
-0.2908
RiseTime=
1.1279
SettlingTime=
2.3344
PI控制系统瞬态性能指标
Finalvalue=
1.3122
Peaktime=
0.7844
OvershootPercent=
58.2044
RiseTime=
0.2615
SettlingTime=
2.4513
Finalvalue=
Inf
Peaktime=
2.6617e+004
OvershootPercent=
NaN
3、结果分析
P控制器实质上是一个具有可调的放大器。
该控制器在信号变换的过程中,只改变信号的增益而不影响其相位。
在串联校正中,加大控制器的增益可以提高系统的通频带,提高系统的快速性。
但同时比例系数的增大会降低该系统的相对不稳定性,甚至可能造成闭环系统的不稳定。
PI控制器可以消除或减小系统的稳态误差,改善系统的稳态性能;系统的快速性能较P控制器有了较大的提高,系统的抗干扰能力有了进一步加强,系统受到干扰后恢复稳态的时间被大大缩短。
PID控制器比例项为基本控制作用,有效的反应控制系统的偏差信号。
微分项会反应偏差信号的变化趋势,加快系统的瞬态响应,改善平稳性,积分项主要用于消除误差,提高系统的稳态特性。
四、实验心得:
通过本次试验,熟悉了解了PID控制器的设计应用,特别是巩固了控制系统相关理论知识体系,MATLAB用非常的简便易操作,形象而快速理解和分析控制系统相关性能,大大提高了对模型的设计与分析速度。