自动控制课程设计Word格式文档下载.docx
《自动控制课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《自动控制课程设计Word格式文档下载.docx(12页珍藏版)》请在冰点文库上搜索。
采用不同的方法,使得系统的阶跃响应超调量小于20%,上升时间小于0.5S,调节时间小于1.2S(误差取2%).
G0(s)
原系统模型建立:
、
R(s)+C(s)
-
利用matlab进行时域以及频域的分析:
a.时域分析
系统闭环传递函数为
也即
Matlab文本如下:
num=[250];
den=[18719703600250];
sys=tf(num,den);
p=roots(den)
t=0:
0.01:
100;
step(sys,t);
grid
xlabel('
t'
);
ylabel('
C(t)'
title('
stepresponse'
)
参考资料见自动控制原理课本
最终得到的闭环特征根为:
S1=-44.9740S2=-40.0331S3=-1.9207S4=-0.0723;
即证明系统稳定。
其阶跃响应为:
在matlab所得图中右键可得:
调节时间
,超调量
,上升时间
显然原系统是无法达到要求的!
!
下面介绍用simulink仿真得到的时域响应
方框图:
示波器观察到的时域响应波形:
得到的相应曲线与直接用matlab编程得到的结果是一致的。
简单的比较matlab编程求解与用matlab工具包simulink仿真的优劣
简单(传递函数比较简单)的单位负反馈系统,由于计算简便,所以可以直接用matlab基础编程实现,而且可以显示超调量,调节时间以及上升时间。
对于比较复杂,计算量很大,有多个方块,特别是反馈网路中有方块的系统,若对于上升时间,调节时间以及超调量的精度要求不高,就可用simulink仿真得到结果,估读出结果。
b.频域分析
同样建立开环传递函数:
G=tf([250],[187197036000]);
(红色字体为发现问题后修改的!
margin(G);
运行结果如下:
系统的幅值裕度h=50.1dB相角裕度
即系统稳定!
由于原系统不能满足实际的要求,所以需要改进。
解决问题:
第一种改良方案:
临界比例度法(Z-N法)
参考资料《工业过程控制中的PID整定方法》付冬梅教授
模型建立:
G(s)
R(s)+
_
令其中G(s)=Kp,用matlab调试,直至阶跃响应出现等幅震荡
结果当Kp
时,出现等幅震荡,如图
则Km=320Tm=1s
可按塔卡哈什经验公式整定PID控制器参数
控制器
参数
Kp
Ti
Td
P
PI
PID
0.5Km
0.45Km
0.6Km
0.85Tm
0.5Tm
0.125Tm
选择其中的PID改进作为测试
相应的闭环特征方程:
所以Matlab文本如下:
sys=tf([1251800002000],[43487880145251800002000]);
p=roots([43487880145251800002000])
0.1:
10;
得到如下的结果:
(右边为simulink仿真结果)
其中:
调节时间t
=9.16s上升时间t
=0.237s
超调量
使用临界比例度法整定PID最终只有上升时间达到要求,超调量很大,也就是说Z-N法有增幅震荡的危险性,甚至有可能使系统破坏。
另附用根轨迹的方法确定Km的值
Matlab文本:
figure
(1)
pzmap(G);
figure
(2)
rlocus(G);
rlocfind(G)
运行结果:
找到临界稳定的Kp值大约为347,与逐一尝试法的结果320相差不大。
相比之下,这种方法实用,而不是漫无目标的取值。
(当时本来想做一个三维的图,但是没有成功…)
这期间发生另外一个小插曲,我刚开始用的开环传递函数为:
G=tf([250],[18719703600]);
所得到的结果为Km=667,与先前的结果相差甚大,所以又做了一次时域分析,带入的是Km=670,结果时域响应并不是等幅震荡而是发散的震荡。
然后又以为是Km的值求法出错了,上网查资料,证实求解K值的方法是正确的。
接着开始怀疑自己基础知识的掌握是不是错了,也就是临界稳定与临界阻尼,结果还是一样,在根轨迹上,我的判断没有错…实在没办法,只好回到书本,仔细的观察书上例题与我所求得的传递函数的区别,发现就是分子分母的阶次问题,也就是对于开环传递函数,我所求的分母最低阶次为S,一阶;
书本上的分母最低阶次为数字,0阶。
所以只要在我原先的基础上补上一个0,问题就解决了,实际的结果也证实了我的猜想。
虽然看似一个微不足道的问题,或许老师在自控实验上也提到过,但是对于从未遇到此类问题的我们来说(因为辅导书上的例子比较简单),还真是很容易犯错的。
就此,我又回查了先前的matlab文本,也发现了一个类似的问题,当时也是很无奈,为什么相角裕量会是无穷大呢?
改正过后才得出了正确的结果。
今后的编程相信会注意这个问题的。
小小问题,收获不小嘛!
第二种改良方案:
带死区的PID控制
带死区的PID控制可以避免系统频繁的工作,适用于要求被控量尽量平稳的情形。
但是这种改良方案并不能实现要求,仅作为兴趣简单研究了一下,下面就给出用simulink仿真的结果(其PID参数与第一种改良方案中的相同)
可以发现,后面的震荡明显减少了,相应的调节时间也有所减少,但是超调量较大,仍然超过50%。
第三种改良方案:
Z-N法的改进
a.有一种改良方案就是降低增益,但是是以牺牲相应速度为代价的。
简单的以simulink验证
可以看出当将PID比例环节改为15(先前为180)后,超调量小于20%,但是上升时间(大约为3s)与调节时间(超过10s)都大大提高,是不满足要求的。
b.另一种改进方案是ISTE最优整定,但是由于FOPDT模型实在不会建立(原则上可以由特征面积法确定),只好运用先前用Z-N法确定的Kp,Ti,Td参数反过来推算,利用的公式为:
kp=
=
Ti=2
Td=0.5
(其中T取0.5s)
得到Kp=144;
Ti=0.576s;
Td=0.102s
但是仿真结果并没有太大变化,只是调节时间减少了许多,仍然存在超调太大的问题。
补充:
先发现可以用曲线拟合的PID参数整定的方法
具体的方法参见参考文献10第四章
最后得出的Kp=29.1Ti=1.14sTd=8.26s
仿真结果为:
发现其超调量明显减少,估计不到10%,、人、调节时间也有所减少,大约为2.2s,上升时间大约为2.3s,越来越接近题目要求了。
第四种改良方案: