计算机课设文档格式.docx
《计算机课设文档格式.docx》由会员分享,可在线阅读,更多相关《计算机课设文档格式.docx(18页珍藏版)》请在冰点文库上搜索。
3.1数字PID位置型算法程序………………………………………………6
3.2数字PID增量型算法程序………………………………………………7
3.3使用Simulink的PID模拟仿真…………………………………………9
四、心得体会………………………………………………………………………12
五、参考文献………………………………………………………………………13
用PID两种基本算法的计算公式进行计算
一、设计内容
1.1设计对象
假定被控对象为二阶惯性环节,其传递函数为:
(1-1)
测量装置和调节阀的特性为:
,
(1-2)
广义对象的传递函数为Gp(s)=Gv(s)G(s)Gm(s)
(1-3)
1.2设计目的
1.要求学生掌握当Gc(S)设计好后如何将其变换为离散算法Gc(Z),以及如何将Gc(Z)转化在计算机上可完成计算的迭代方程。
2.要求学生能掌握工业中常用的基本PID算法。
3.掌握一阶向前,向后差分及双线性变换离散化的具体做法及应用场合。
4.掌握PID两种基本算法的计算公式:
位置算法和增量算法。
5.熟练使用matlab软件,掌握其仿真的方法、步骤及参数设置。
6.了解计算机控制系统的组成及相应设备的选用等问题。
1.3设计要求
(1)用位置PID算法进行仿真。
(2)用增量PID算法进行仿真。
(3)对题目三的对象用simulink的PID模拟,使得超调量<
=40%,峰值时间<
=1s。
二、设计方法与步骤
2.1位置式PID控制算法
由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,故对式(2-1)中的积分和微分项不能直接使用,需要进行离散化处理。
按模拟PID控制算法的算式(2-1),现以一系列的采样时刻点kT代表连续时间t,以和式代替积分,以增量代替微分,则可以作如下的近似变换:
(2-1)
显然,上述离散化过程中,采样周期T必须足够短,才能保证有足够的精度。
为了书写方便,将e(kT)简化表示成e(k)等,即省去T。
将式(2-3)代入式(2-1),可以得到离散的PID表达式为:
(2-2)
中式:
k—采样序列号;
u(k)—第k次采样时刻的计算机输出值;
e(k)—第k次采样时刻输入的偏差值;
e(k-1)—第k-1次采样时刻输入的偏差值;
K
—积分系数,K
=K
T/T
K
—微分系数,K
T
/T。
我们常称式(2-4)为位置式PID控制算法。
对于位置式PID控制算法来说,位置式PID控制算法示意图如图2-2所示,由于全量输出,所以每次输出均与过去的状态有关,计算时要对误差进行累加,所以运算工作量大。
而且如果执行器(计算机)出现故障,则会引起执行机构位置的大幅度变化,而这种情况在生产场合不允许的,因而产生了增量式PID控制算法。
2.2增量式PID控制算法
所谓增量式PID是指数字控制器的输出只是控制量的增量Δ(k)。
增量式PID控制系统框图如图2-3所示。
当执行机构需要的是控制量的增量时,可以由式(2-3)导出提供增量的PID控制算式。
根据递推原理可得:
(2-3)
用式(2-3)减去式(2-4),可得:
(2-4)
式(2-4)称为增量式PID控制算法。
2.3两种算法的特点
增量式PID控制算法与位置式PID控制算法相比较,有如下一些优点:
1、位置式算法每次与整个过去的状态有关,算式用到过去偏差的累加值
,容易产生较大的积累误差。
而增量式中只需计算增量,算式中不需要累加,控制增量的确定仅与最近几次偏差采样值有关,当存在计算误差或精度不足时,对控制量的计算影响较小,而且容易通过加权处理获得比较好的控制效果。
2、由于计算机只输出控制增量,所以误动作时影响较小,且必要时可用逻辑判断的方法去掉,对系统安全运行有利。
3、手动—自动切换时冲击比较小。
由于上述与优点,增量式PID控制算法得到了广泛应用。
除了上述两种控制算法外,还有一种被称为是速度式的控制算法,它采用位置式的倒数形式,也就是
=
(2-5)
即
(2-6)
由于在一般计算机控制系统中,采样周期T是一个常数,所以,速度式与
增式在算法上没有本质区别。
在实际应用中,PID数字控制各种算式形式的选择
视执行器的形式、被控对象的特性而定。
若执行机构不带积分部件,其位置和计
算机输出的数字量式一一对应的话(如电液伺服阀),就要采用位置式算式。
若
执行机构带积分部件(如步进电机或步进电动机带动阀门或带动多位电位器)时,
就可以选用增量式算式。
若执行机构要求速度设定就可选用速度式算式,通常,
速度式算式用的较少。
2.4设计具体步骤
原系统的阶跃响应曲线
num=1;
den=conv(conv([1,1],[2,1]),conv([5,1],[10,1]));
Go=tf(num,den);
%原系统
figure
(1),holdon;
step(Go);
图2-3
应用两点法求得T=2(
=12.4,
=
k=1
等效为Gp=
%采用曲线拟合法可验证得到广义对象的一阶惯性加纯滞后对象的参数
>
k=1;
T=12.4;
L=6.6;
G0=tf(k,[T1]);
[np,dp]=pade(L,2);
Gp=tf(np,dp);
G=G0*Gp;
%近似模型
step(G);
图2-4
运用动态特性参数法整定,采用广为流传的科恩(Cohen)-库恩(Coon)整定公式:
KpK=1.35(
/T)
+0.27
Ti/T=[2.5(
/T)+0.5(
]/[1+0.6(
/T)]
T
/T=0.37(
/T)/[1+0.2(
得K
=2.81,Ti=13.83,T
=2.21
三.仿真模型、仿真程序和仿真结果
有PID控制参数K
=2.81,Ti=13.83,T
取采样周期T=1s可求得K
=K
T/Ti=0.203
K
/T=6.21
3.1数字PID位置型算法程序:
ts=1;
n1=[1];
d1=conv(conv([1,1],[2,1]),conv([5,1],[10,1]));
sys=tf(n1,d1);
dsys=c2d(sys,ts,'
z'
);
[num,den]=tfdata(dsys,'
v'
u_1=0;
u_2=0;
u_3=0;
u_4=0;
y_1=0;
y_2=0;
y_3=0;
y_4=0;
error_1=0;
error_2=0;
ei=0;
fork=1:
1:
120
time(k)=k*ts;
yout(k)=-den
(2)*y_1-den(3)*y_2-den(4)*y_3-den(5)*y_4+num
(2)*u_1+num(3)*u_2+num(4)*u_3+num(5)*u_4;
rin(k)=40;
error(k)=rin(k)-yout(k);
ei=ei+error(k)*ts;
kp=2.81;
ki=0.203;
kd=6.21;
u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+ki*ei;
ifu(k)>
=110
u(k)=110;
end
ifu(k)<
=-110
u(k)=-110;
u_4=u_3;
u_3=u_2;
u_2=u_1;
u_1=u(k);
y_4=y_3;
y_3=y_2;
y_2=y_1;
y_1=yout(k);
error_2=error_1;
error_1=error(k);
plot(time,rin,'
b'
time,yout,'
r'
xlabel('
time(s)'
),ylabel('
rin,yout'
图3-1
3.2数字PID增量型算法程序:
d1=conv(conv([1,1],[2,1]),conv([5,1],[10,1]));
yout(k)=-den
(2)*y_1-den(3)*y_2-den(4)*y_3-den(5)*y_4+num
(2)*u_1+num(3)*u_2+num(4)*u_3+num(5)*u_4;
du(k)=kp*(error(k)-error_1)+kd*(error(k)-2*error_1+error_2)+ki*error(k);
u(k)=u_1+du(k);
ylabel('
图3-2
3.3使用Simulink的PID模拟仿真
对
使用Simulink的PID模拟仿真
系统仿真方框图如下:
图3-3
系统仿真结果如下:
图3-4
PID参数调节框
图3-5
先只调节一个参数,如Kp。
如下图所示:
图3-6
得如下仿真结果图:
图3-7
调节后PID参数方框图:
图3-8
调节PID参数后系统仿真结果图
图3-9
由上图可知,超调量δ%<
=40%,峰值时间tp<
因此所选PID参数符合题意。
四、心得体会
本文在MATLAB环境下对该控制器进行了建模设计和仿真。
在这里用到的MATLAB语言以及所属的Simulink仿真控件。
通过此次课程设计,使我对所学知识进行了一个比较大的综合巩固,让我学会了各种查阅资料以及整理所需材料的能力,通过这次的课题设计,也让我学习到了不少新知识,在几个月的学习实践中学到的东西比以往学到的都要丰富,因为我不仅学到了一些新的专业知识还锻炼了自己解决问题的能力,这是不可多得的。
但是,在设计过程中我也遇到了不少困难,感觉自己对所学专业知识的欠缺,让自己增加了紧迫感,要抓紧弥补自己的欠缺,学无止境,这也让我体会到了不管以后走上什么样的工作岗位,都不要抛弃自己的学习,不进则退,别人的进步自己的停滞不前终将导致自己的被淘汰,这是我在整个课题设计过程中最大的体会。
五、参考文献
[1]赖寿红,微型计算机控制技术,机械工业出版社,2000.5
[2]王炎,MATLAB语言与自动控制系统设计,机械工业出版社,2004.8
[3]潘薇,MATLAB7辅助控制系统设计与仿真,电子工业出版社,2005.3
[4]施阳MATLAB语言精要及动态仿真工具SIMULINK西安[M]西北工业大学出版社1997
[5]张思雨,预测控制算法和PID控制算法[J],燕山大学工学硕士学位论文,2003