精品计算机仿真大作业姚雷阳班Word格式文档下载.docx
《精品计算机仿真大作业姚雷阳班Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《精品计算机仿真大作业姚雷阳班Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
1.1自己定义一组数据,并将其保存到文件data.dat。
要求第一列为时间t(t为等差数列,0≤t≤200);
第二列为与t对应的201个幅值数据,作为信号f1(t)的幅值;
第三列为按s的降幂排列的传递函数分子系数;
第四列为按s的降幂排列的分母系数。
第三列、第四列的数据个数不能超过5个。
MATLAB文本:
>
a=0:
1:
200;
b=random('
Poisson'
0:
200,1,201);
c=[98621];
d=[75431];
fid=fopen('
d:
\data.dat'
'
wt'
);
fprintf(fid,'
%4d'
a);
\n'
b);
c);
d);
fclose(fid);
图1data.dat的读入
2、读文件数据并画图操作
2.1读入data.dat数据,画出f1(t)的时域波形。
fid=fopen('
rt'
t=fscanf(fid,'
%d'
201);
f1=fscanf(fid,'
fclose(fid);
plot(t,f1)
title('
f1-t曲线图'
xlabel('
t'
ylabel('
f1'
图2f1曲线图
3、构造新函数并绘图操作
3.1
求取f2(t),将结果保存到result.mat文件,画出其时域波形。
forn=1:
10
f2(n)=2*f1(n);
end
forn=11:
100
ifabs(f1(n))<
15
f2(n)=f1(n)*f1(n);
else
f2(n)=f1(n-3);
forn=101:
201
plot(t,f2)
f2-t曲线图'
f2'
\result.mat'
fprintf(fid,'
f2);
图3f2曲线图
4、读取数据绘制传递函数波特图操作
4.1按data.dat中的第三列、第四列,求取其对应的传递函数,绘制其bode图。
f=fscanf(fid,'
402);
num=fscanf(fid,'
5);
den=fscanf(fid,'
num1=ctranspose(num);
den1=ctranspose(den);
Gs=tf(num1,den1)
Gs=
9s^4+8s^3+6s^2+2s+1
-------------------------------
7s^4+5s^3+4s^2+3s+1
Continuous-timetransferfunction.
bode(Gs)
图4系统波特图
二、子系统封装
1、用Simulink建立系统
程序要求:
1.1用SIMULINK建立系统:
y=ax3+bx+c,x为输入,y为输出,a、b、c为常数。
对该系统进行封装,要求通过对话框能修改a、b、c的值。
图5 未封装系统
图6封装后系统
图7参数更改界面
2、观察输入输出波形
2.1若输入x为幅度为5、频率为0.25Hz的锯齿波,采用示波器显示输出y及输入x的波形。
图8输入x波形
图9输出y波形
3、数据导出
3.1将输入x和输出y导入到工作空间,并采用plot命令,将两个波形在同一波形窗口显示,带网格线、图例。
Matlab文本:
x=simout;
y=simout1;
plot(x);
holdon;
plot(y);
y=simout1;
plot(x,'
r'
holdon;
plot(y,'
k'
grid on
legend('
x'
y'
)
图10输入输出导入工作空间
图11导入工作空间的波形
三、PID控制器参数整定
某控制系统的开环传递函数为
,采用单位负反馈。
(1)试采用工程整定法,设置合适的P、PI、PID控制器的参数。
(2)将仿真时间定为300秒,绘制整定后的系统的单位阶跃响应曲线。
(3)设计M文件,采用编程法求取系统阶跃响应性能指标:
超调量、调节时间。
1、采用工程整定法分别设置控制器参数
1.1先建立原控制系统的Simulink仿真模型
图12原系统仿真模型
1.2对原控制系统进行仿真
输入为单位阶跃函数,得阶跃响应如图13所示,可知原控制系统是不稳定的。
图13原系统仿真输出波形图
1.3在该控制系统中引入PID控制器
采用工程整定法中的临界比例度法来设置合适的P、PI、PID控制器参数。
引入PID控制器后的系统仿真模型如图14所示。
图14封装前的仿真模型
图15封装后仿真模型
通过下面的对话框可以修改个各比例系数的值。
图16修改比例系数截图
1.4求取系统临界稳定增益并设置参数
采用工程整定法进行PID调整。
具体做法是:
令Ti为无穷,Td为零,只有Kp控制系统;
首先,随意设置一个增益Kp(初始值一般为1)并且不断加大或者减小Kp,直到系统出现等幅震荡,可以测出Kp=0.9的时候,系统恰好出现等幅震荡情况,此时的比例系数称为临界增益,用Kc表示。
图17Kp=0.9临界震荡波形
求此时震荡周期Tc:
Matlab文本:
num=9;
den=[11101];
G1=tf(num,den);
G=feedback(G1,1);
step(G)
图18matlab仿真临界震荡波形Tcr=2s
根据整定法公式,计算所需参数。
表1经验法公式
根据表1可以求得各个控制器的参数:
P控制:
K=0.45
PI控制:
K=0.405Ti=1.66
PID控制:
K=0.54Ti=1Td=0.24
2、PID控制仿真并绘图
2.1P控制仿真
将I,D连线断开,设置Pk为0.45,比例控制系统的单位阶跃响应波形如下:
图19Kp=0.45(P)波形
(1)
图20Kp=0.45(P)波形
(2)
P值的改变只改变信号的增益而不影响其相位。
从图中可以看出,经过调整P值参数,系统的超调量和调节时间(动态性能)有很大的提高,但是造成了一定的稳态误差(因为此时Kp<
1)。
2.2PI控制仿真
比例积分控制系统的单位阶跃响应:
图21Kp=0.405Ti=1.66(PI)波形
(1)
图22Kp=0.405Ti=1.66(PI)波形
(2)
从图中可以看出,在P控制的基础上加入I控制后,形成PI控制,系统稳态误差有所减少,但是超调量和调节时间有所加大,这可以看出,PI控制适用于对系统稳态误差(稳态性能)要求精度大,但是对于调节时间(动态性能)要求精度小的实际模型。
2.3PID控制仿真
将仿真时间定为300秒,绘制整定后的系统的单位阶跃响应曲线(PID)。
比例积分微分控制下的单位阶跃响应:
图23Kp=0.54Ti=1
Td=0.24(PID)波形
(1)
图24Kp=0.54Ti=1
Td=0.24(PID)波形
(2)
由图形可以看出,PID控制后,无论是稳态误差(稳态性能)还是调节时间(动态性能)都有所加强,但是超调量超过了40%,不符合实际要求,再次调整PID参数,把PID中的参数Ti改为7,其它两个参数不变,得到如下阶跃响应曲线,可以看出调整后系统的阶跃响应的超调量小于20%,可以实现稳、准、快三大要求,也符合实际工程要求,因此PID联合控制适用于对动态性能和稳态性能都有要求的实际系统。
图25 调整后的PID阶跃响应曲线
3、制作M文件求取系统阶跃响应性能指标
PID控制后系统的传递函数为:
G=
1.3s^2+5.4s+0.77
-----------------------------------
s^4+s^3+11.3s^2+6.4s+0.77
M文件如下:
num=[1.35.40.77];
den=[1111.36.40.77];
t=0:
0.01:
100;
y=step(num,den,t);
plot(t,y)
G=tf(num,den);
C=dcgain(G);
[Y,k]=max(y);
chaotiao=(Y-C)/C
chaotiao=
0.0558
i=length(t);
while(y(i)>
0.98*C)&
(y(i)<
1.02*C);
i=i-1;
ts=t(i)
ts=
16.4600
图26系统阶跃响应波形
四、总结
(1)校正方法总结
P控制器只改变信号的增益,而不影响其相位。
Kp增大可以减小系统的稳态误差,从而提高系统的控制精度,但会降低系统的相对稳定性,甚至可能造成闭环系统不稳定,所以,很少单独使用P控制规律。
PI控制器在系统中增加一个位于原点的开环极点和一个位于S左半平面的开环零点,只要积分时间常数足够大,PI控制器对系统稳定性的不利影响可大为减弱,主要用来改善控制系统的稳态性能。
PID在系统中增加一个位于原点的开环极点和两个负实零点,具有提高系统稳态性能的优点外,在提高系统动态性能方面有更大的优越性。
(2)总体体会
此次计算机仿真大作业,使我更加熟练地运用Matlab,特别是Simulink模块,实践出真知,只有在实践中才能真正明白如何运用Matlab解决实际中的问题。
这次大作业让我更加透彻地理解本学期所学习的知识,不仅仅是计算机仿真,还有自动控制原理,对我以后的学习和工作有着很大的帮助。
五、参考文献
[1]薛定宇. 控制系统仿真与计算机辅助设计. 机械工业出版社 2009.
[2]胡寿松. 自动控制原理. 国防工业出版社 2005.
此文档是由网络收集并进行重新排版整理.word可编辑版本!