计算机控制实验三数字PID调节器算法的研究Word下载.docx
《计算机控制实验三数字PID调节器算法的研究Word下载.docx》由会员分享,可在线阅读,更多相关《计算机控制实验三数字PID调节器算法的研究Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
因此在工业生产中常用改进的PID算法,如积分分离PID算法,其思想是当被控量与设定值偏差较大时取消积分控制;
当控制量接近给定值时才将积分作用投入,以消除静差,提高控制精度。
这样,既保持了积分的作用,又减小了超调量。
2、实验步骤
1、实验接线
1.1按图1和图2连接一个二阶被控对象闭环控制系统的电路;
1.2该电路的输出与数据采集卡的输入端AD1相连,电路的输入与数据采集卡的输出端DA1相连;
1.3待检查电路接线无误后,打开实验平台的电源总开关,并将锁零单元的锁零按钮处于“不锁零”状态。
2、脚本程序运行
2.1启动计算机,在桌面双击图标THTJ-1,运行实验软件;
2.2顺序点击虚拟示波器界面上的“
”按钮和工具栏上的“
”按钮(脚本编程器);
2.3在脚本编辑器窗口的文件菜单下点击“打开”按钮,并在“计算机控制算法VBS\计算机控制技术基础算法\数字PID调器算法”文件夹下选中“位置式PID”脚本程序并打开,阅读、理解该程序,然后点击脚本编辑器窗口的调试菜单下“步长设置”,将脚本算法的运行步长设为100ms;
2.4点击脚本编辑器窗口的调试菜单下“启动”;
用虚拟示波器观察图4-2输出端的响应曲线;
2.5点击脚本编辑器的调试菜单下“停止”,利用扩充响应曲线法(参考本实验七附录4)整定PID控制器的P、I、D及系统采样时间Ts等参数,然后再运行。
在整定过程中注意观察参数的变化对系统动态性能的影响;
2.6参考步骤2.4、2.4和2.5,用同样的方法分别运行增量式PID和积分分离PID脚本程序,并整定PID控制器的P、I、D及系统采样时间Ts等参数,然后观察参数的变化对系统动态性能的影响。
另外在积分分离PID程序运行过程中,注意不同的分离阈值tem对系统动态性能的影响;
2.7实验结束后,关闭脚本编辑器窗口,退出实验软件。
五、实验报告要求
1.绘出实验中二阶被控对象在各种不同的PID控制下的响应曲线。
2.编写积分分离PID控制算法的脚本程序。
3.分析常规PID控制算法与积分分离PID控制算法在实验中的控制效果。
数据分析:
(1):
位置型PID响应曲线:
超调量:
5.567峰值时间:
0.29ms达到稳态的时间:
4.462ms稳态值:
2.0
(2):
增量型PID响应曲线:
7.293峰值时间:
0.235ms达到稳态的时间:
5.563ms稳态值:
积分分离型PID响应曲线:
6.514峰值时间:
0.277ms达到稳态的时间:
6.435ms稳态值:
六、思考题
1.该实验中被控对象是什么?
有什么特点?
答:
被控对象是一个积分放大电路的输出;
其特点是刚上电的瞬间由于电容的充电作用,其输出电压值会有一个瞬时升高的过程,然后随着电容的充电,输出电压会逐渐稳定。
2.试画出该实验中数字PID控制系统的方框图。
PID控制系统的方框图
3.试叙述带积分分离的PID控制算法的特点和应用的场合。
带积分分离的PID算法的特点是:
偏差e(k)较大时,取消积分作用;
当偏差e(k)较小时才将积分作用投入;
其应用场合:
当有较大的扰动或大幅度改变给定值采用积分分离措施。
4.位置式PID算式与增量式算式有何区别?
各有什么优缺点?
位置式算式提供了执行机构的位置u(k),增量式算式则反映了前后位置之差Δu(k);
位置式算法的优点是简单明了,但较容易产生较大的累加误差;
增量式算式的优点是误差较小,易于控制,但其算法相对复杂。
5.数字PID调节器的参数Kp、Ti、Td和采样周期T对系统响应有何影响?
参数的整定使用什么方法?
Kp能控制误差,但其加大会造成系统不稳定;
Ti累积输出控制量以消除误差,但作用太强大会造成系统的超调量加大,甚至出到系统振荡;
Td可以减小超调量,提高稳定性,加快系统动态响应速度,减小调整时间,改善动态性能。
参数的整定用简易工程法中的扩充阶跃响应曲线法。
七、附录
1.被控对象的模拟与计算机闭环控制系统的构成
图1数-模混合控制系统的方框图
图中信号的离散化通过数据采集卡的采样开关来实现。
被控对象的传递函数为:
它的模拟电路图如下图所示
图2被控二阶对象的模拟电路图
2.常规PID控制算法
1)常规PID控制位置式算法为:
对应的Z传递函数为:
式中Kp---比例系数
Ki=
积分系数,T采样周期
Kd=
微分系数
其增量形式为:
3.积分分离PID控制算法:
系统中引入的积分分离算法时,积分分离PID算法要设置分离阈E0:
当│e(kT)│≤│E0│时,采用PID控制,以保持系统的控制精度。
当│e(kT)│>
│E0│时,采用PD控制,可使δp减小。
积分分离PID控制算法为:
式中Ke称为逻辑系数:
当│e(k)│≤│E0│时,Ke=1
当│e(k)│>
│E0│时,Ke=0
对应的控制方框图为
图4-3上位机控制的方框图
图中信号的离散化是由数据采集卡的采样开关来实现。
4.数字PID控制器的参数整定
在模拟控制系统中,参数整定的方法较多,常用的实验整定法有:
临界比例度法、阶跃响应曲线法、试凑法等。
数字控制器参数的整定也可采用类似的方法,如扩充的临界比例度法、扩充的阶跃响应曲线法、试凑法等。
下面简要介绍扩充阶跃响应曲线法。
扩充阶跃响应曲线法只适合于含多个惯性环节的自平衡系统。
用扩充阶跃响应曲线法整定PID参数的步骤如下:
①数字控制器不接入控制系统,让系统处于开环工作状态下,将被调量调节到给定值附近,并使之稳定下来。
②记录被调量在阶跃输入下的整个变化过程,如下图所示。
③在曲线最大斜率处作切线,求得滞后时间τ和被控对象时间常数Tx,以及它们的比值Tx/τ,然后查下表确定控制器的KP、Ki、Kd及采样周期T。
控制度
控制律
T
KP
Ti
Td
1.05
PI
0.1τ
0.84Tx/τ
0.34τ
—
PID
0.05τ
1.15Tx/τ
2.0τ
0.45τ
1.2
0.2τ
0.78Tx/τ
3.6τ
0.16τ
1.0Tx/τ
1.9τ
0.55τ
1.5
0.5τ
0.68Tx/τ
3.9τ
0.85Tx/τ
1.62τ
0.82τ
扩充阶跃响应曲线法通过测取响应曲线的τ、Tx参数获得一个初步的PID控制参数,然后在此基础上通过部分参数的调节(试凑)使系统获得满意的控制性能。
5.位置式PID数字控制器程序的编写与调试示例:
5.1参考程序
dimpv,sv,ei,K,Ti,Td,q0,q1,q2,mx,pvx,op‘变量定义
subInitialize(arg)‘初始化函数
WriteData0,1'
给通道一写0
mx=0'
给mx赋初值
pvx=0'
给pvx赋初值
endsub'
结束初始化子函数
subTakeOneStep(arg)‘算法运行函数
pv=ReadData
(1)'
pv为当前测量值
sv=2‘sv为给定值
K=0.8‘比例系数P
Ti=5‘积分时间常数I
Td=0‘微分时间常数D
Ts=0.1‘采样周期
ei=sv-pv'
ei为当前偏差值
q0=K*ei‘比例项
ifTi=0then
mx=0
q1=0
else
mx=K*Ts*ei/Ti‘当前积分项
endif
q2=K*Td*(pvx-pv)/Ts‘'
微分项
q1=q1+mx'
当前积分项
ifq1>
4.9then‘积分限幅,以防积分饱和
q1=4.9
endif
ifq1<
-4.9then
q1=-4.9
endif
pvx=pv'
将当前输出值赋给pvx,为下一时刻做准备
op=q0+q1+q2'
op为控制器当前输出值
ifop<
=-4.9then'
输出值限幅,op下限为-4.9
op=-4.9
ifop>
=4.9then'
op上限为4.9
op=4.9
WriteDataop,1'
通道1写入op的值
endsub'
结束算法运行子函数
subFinalize(arg)‘退出函数
WriteData0,1'
结束退出子函数
5.2位置式PID(k=0.8,ti=5,td=0);
运行步长100ms,超调量为27.5%。
(如图3)
图3
6、积分分离PID控制算法的编程参考示例:
6.1程序
dimpv,sv,ei,K,Ti,Td,q0,q1,q2,mx,pvx,op,ke,tem'
变量定义
subInitialize(arg)'
初始化函数
mx=0'
pvx=0'
给pvx赋初值
subTakeOneStep(arg)'
算法运行函数
pv=ReadData
(1)'
pv为当前测量值
sv=2'
sv为给定值
K=0.8'
K为比例系数
Ti=5'
Ti为积分时间常数
Td=0'
Td为微分时间常数
Ts=0.1'
Ts为采集周期
ei=sv-pv'
tem=abs(ei)
iftem>
=0.8then'
丨ei丨≥0.8时,ke=0;
其中0.8为分离阈值
ke=0
else
ke=1'
丨ei丨<
0.8时,ke=1
endif
q0=K*ei'
比例项
mx=ke*K*Ts*ei/Ti'
q2=K*Td*(pvx-pv)/Ts'
ifmx>
4.9then'
当前积分限幅,以防积分饱和
mx=4.9
ifmx<
-4.9then
mx=-4.9
q1=q1+mx'
op=q0+q1+q2'
当前输出值'
=-4.9then'
输出值限幅,op下限为-4.9
op=-4.9
=4.9then
op=4.9'
通道1写入op的值
subFinalize(arg)'
退出函数
给通道一写0
6.2积分分离PID(k=0.8,ti=5,td=0),超调量为15.6%
7、增量式PID控制算法的编程参考示例:
7.1参考程序
dimpv,sv,ei,ex,ey,K,Ti,Td,q0,q1,q2,op'
WriteData0,1'
pv=ReadData
(1)'
Td=0'
Td为积分时间常数
ei=sv-pv'
q0=k*(ei-ex)'
q1=K*Ts*ei/Ti'
q2=k*td*(ei-2*ex+ey)/Ts'
ey=ex'
赋值,为下一时刻做准备
ex=ei
ifq1>
q1=4.9
ifq1<
-4.9then
op=op+q0+q1+q2'
ifop<
=-4.9then'
ifop>
op上限为4.9
op=4.9
WriteDataop,1'
endsub'
subFinalize(arg)'
7.2增量式PID(k=0.8,ti=5,td=0),超调量为27.3%。