实 验 报 告
课程名称: 计算机控制技术基础
第 三 次 实验
实验名称: 最少拍控制算法研究 院 (系): 自动化 专 业: 自动化 姓 名: 学 号: 实 验 室: 实验组别: 同组人员: 实验时间:2012 年 4 月 24 日
评定成绩: 审阅教师:
1
实验四 最少拍控制算法研究
一、实验目的
1.学习并熟悉最少拍控制器的设计和算法; 2.研究最少拍控制系统输出采样点间纹波的形成; 3.熟悉最少拍无纹波控制系统控制器的设计和实现方法。
二、实验设备
1.THBDC-1型 控制理论·计算机控制技术实验平台 2.PCI-1711数据采集卡一块
3.PC机1台(安装软件“VC++”及“THJK_Server”)
三、实验原理
1)最小拍系统
在采样控制系统中,通常把一个采样周期称作一拍。在典型输入信号作用下,经过最少拍,使输出量采样时刻的数值能完全跟踪参考输入量的数值,跟踪误差为零的系统称为最少拍系统。
计算机控制系统的方框图为:
图4-1 最少拍计算机控制原理方框图
根据上述方框图可知,有限拍系统的闭环脉冲传递函数为:
H(z)C(z)D(z)G(z) (4-1) R(z)1D(z)G(z)1H(z)E(z)1 (4-2) R(z)1D(z)G(z)由(4-1) 、(4-2)解得: D(z)
首先要使系统的过渡过程在有限拍内结束,显然,这样对系统的闭环脉冲传递函数
1H(z) (4-3) G(z)1H(z)H(z)提出了较为苛刻的要求,即其极点应位于z平面的坐标原点处。亦即希望系统的脉冲
传递函数为
H(z)a0a1z1akzkF(z) (4-4) zk式中:F(z)为H(z)的分子多项式,k为某一整数。式(4-4)表明H(z)的极点都在z平面的原点,系统的脉冲响应在经过了有限数k拍以后就变为零,过渡过程结束。式(4-4)表明了离散系统中,为了使过渡过程较快地结束应符合的条件。 K是个有限值,它至少应该是什么数值呢?可以分析一下闭环传递函数H(z)。将式(4-4)
2
代入D(z)表示式,得
D(z)1H(z)1F(z)k (4-5) G(z)1H(z)G(z)[zF(z)]如果m和n分别为对象和保持器的组合脉冲传递函数G(z)的分子和分母的阶次,(4-5)l为式中F(z)的阶次,要使D(z)能实现,就应使分母的阶次大于分子的阶次
knml (4-6)
由式(4-6)可见,当l0时,H(z)的分子F(z)F0常数,暂态响应的持续节拍数最少。式中n和m是由对象、保持器决定的,是不可变部分。这时应有
knm (4-7)
这是过渡过程所能达到的最低极限节拍数,它规定了“最少拍”的极限数。
2)无稳态误差的最小拍系统 由王勤主编教材P89~P90的理论推导,可以知道,为保证系统稳态误差为零且拍数最少,应取
1H(z)(1z1)kF1(z)
(4-8)
其中F1(z)为不包含G(z)的零点和极点的多项式。为式(4-8)表示了无稳态误差的最少拍系统,其1H(z)满足的条件。另外,为了使系统的暂态过程在有限时间内结束,H(z)必须是z的有限多项式。这两者都要满足,因而应使F1(z)为z的有限多项式。最简单的情况是F1(z)1,这时 (1)对阶跃输入
111H(z)1z1
H(z)z1
1H(z)1z111因而D(z) G(z)1H(z)G(z)1z1G(z)z1(2)对斜坡函数输入
1H(z)(1z1)2
或 H(z)2z1z2
12z1z212z1从而有 D(z) G(z)(1z1)2G(z)(z1)2(3)对加速度函数输入
1H(z)(1z1)3
3
或 H(z)3z13z2z3
13z13z2z313z23z1从而有 D(z) 133G(z)G(z)(z1)(1z)
3)无纹波,无稳态误差的最少拍系统 用前述方法设计的最少拍控制系统,对于符合原设计的输入信号能很快地跟踪。然而,如果进一步用改进的z变换法来研究所设计的系统,就会发现问题。这种改进的z变换不仅能求出采样时刻的系统输出,而且可以研究采样间隔中,输出的变化情况。用这种z变换将发现用前述方法设计的系统,在采样时刻之间存在着波动。 有纹波的系统,在采样时刻之间存在误差,而且功率损耗、振动等也很大,它将加快执行机构等可动部件的磨损。为此,必须改进设计方法,使设计出的系统满足无纹波的条件。 (1)最少拍系统产生纹波的原因 经分析可知,最少拍系统虽然经过有限拍后能使采样时刻的稳态误差为零,从而使数字控制器的离散输入量E(z)为零。但控制器的输出并没有达到稳态值,仍然是上下波动的。亦即控制器的输出U(z)不能在有限拍内变为零。如果整个系统以U(z)为输出量,设这时的闭环传递函数为HD(z)。同样,如果这一闭环传递函数也能表示成极点都在z平面原点的形式,则过渡过程也能在有限拍内结束。 (2)无纹波最少拍系统的设计 根据王勤主编教材P93的理论推导可知,无纹波最少拍系统的闭环传递函数应分别为
F(z)F0(z)P(z) (4-9) kkzzF(z)Q(z) (4-10) HD(z)0kzH(z)式中:G(z)P(z),F0(z)为z的多项式。 Q(z)上述传递函数能保证系统的输出Y(z)和控制器输出U(z)的暂态过程均能在有限拍内结束。
式(4-9)说明,无纹波最少拍系统的闭环传递函数H(z)不仅应为z的多项式,而且应包含G(z)的全部零点。 由式(4-5)可得
1D(z)F(z)Q(z)1H(z)k0 G(z)1H(z)zF0(z)P(z)在最简单的情况下,F0(z)为常数。为了保证D(z)是可实现的,至少要使k大于或等于Q(z)的阶次,即
kn (4-11)
将式(4-7)与式(4-11)相比,发现由于要求无纹波,系统的最少拍增加了m拍,响应的暂态过程也延长m拍。
4
4)斜坡输入下最少拍系统设计举例
(1)斜坡输入下无稳态误差最少拍系统设计 设被控对象为二阶系统,其传递函数为G(s)K
s(T1s1)对于二阶被控对象加零阶保持器后对象的传递函数为:
1eTSK G(s)ss(T1s1)选择采样周期T,将上述传递函数离散后得
G(z)K(TT1T1eTT1)z(T1T1eTT11TT1TeTT1)z2
(1z1)(1e因为输入是单位斜坡信号,所以选择:
1H(z)(1z) H(z)2z
112z1)z2
U(z)1H(z)D(z)E(z)G(z)1H(z)
(2z)(1eK(1z1)[(TT1T1eTT11TT1z)TT11TT1)(T1T1eTeTT1)z1](2z)(1ez1)KA(1z1)(1Bz1)1TT112(12e)zez2 KA1(B1)z1Bz2TT1TT11其中 ATT1eT1,BT1T1eTT1TeTT1A
由此可得斜坡输入下最少拍算法的数字控制器算法为
212eT/T1eT/T1u(k)=(1-B)u(k-1)+Bu(k-2)+e(k)e(k1)e(k2)
KAKAKA
(2)斜坡输入下无纹波、无稳态误差最少拍系统设计
G(z)K(TT1T1eTT1)z(T1T1eTT11TT1TeTT1)z2KAz1(1Bz1)(1z1)(1eTT1
(1z1)(1ez1)z1)①保证系统在斜坡输入下的稳态误差为零,则系统的闭环传递函数应符合
1H(z)(1z1)2F1(z)
5
②稳定性原则
1H(z)应包含G(z)的不稳定极点,其形式为
1H(z)(1z1)2F1(z),其中F1(z)为不包含G(z)的零点和极点的多项式。
上式和保证稳态误差为零的要求相同。
H(z)应包含G(z)的不稳定零点,其形式为
H(z)(1Bz1)F2(z),其中F2(z)为不包含G(z)的零点和极点的多项式。
③无纹波有限拍暂态过程
F2(z)中必须包含G(z)的分子上的另一因子z1。F1(z)为了实现无纹波,要寻找H(z)、
和F2(z)的形式,使它们的项数最少(即最小实现)而又满足上述条件。显然应为
F1(z)b0z11 F2(z)(c0c1z1)z1
H(z)(1Bz1)F2(z)(1Bz1)z1(c0c1z1)
联立求解得
c03B2,(2B1),B(B1) cb02122B2B1B2B1B2B1TT1所以有
(1ez1)(c0c1z1)U(z)1H(z) D(z) 11E(z)G(z)1H(z)KA(1z)(1b0z) 1c0(c1c0eKA)z1c1ez2
1(b01)z1b0z2TT1TT1由此可得斜坡输入下最少拍无纹波的算法:
u(k)(1b0)u(k1)b0u(k2)c0e(k)c1c0eKAKA
TT1e(k1)c1ee(k2) KATT1注意:单位阶跃输入下的最少拍系统的设计方法未给出,请同学自行推导。
6
四、实验步骤
1、仔细阅读“PCI-1711数据采集卡驱动函数说明.doc”和“THJK-Server软件使用说明.doc”文档,掌握PCI-1711数据采集卡的数据输入输出方法和THJK-Server软件(及相关函数)的使用方法。
2、模拟对象的模拟电路图如图4-2下所示:
图4-2 模拟对象电路
其中:R1=100K,R2=100K,R3=100K,C1=10uF,C2=10uF
按上图连接一个积分环节和一个惯性环节组成的二阶被控对象的模拟电路; 3、系统接线图如图4-3所示:
图4-3 系统接线图
按照上图接线。
4、设计在斜坡输入下的最少拍控制器的控制算法(有纹波、无纹波)。 5、设计在单位阶跃输入下的最少拍控制器的控制算法(有纹波、无纹波)。
6、打开最少拍实验文件夹下.dsw工程文件,源程序中缺少最少拍数字控制器算法程序,请同学用设计好的控制器算法编写程序。
7、源程序编译通过后,先启动“THJK_Server”图形显示软件,再执行程序代码,在显示界面出现的曲线并稳定后(初始化后),把+5V电源打到“开”状态,观测并记录系统的响应曲线。在实验结束后,在键盘上先按下“e”,再按下“Enter(回车键)”键,程序退出。
注意:在观察曲线时,使用示波器的放大,缩小,十字跟踪功能观察并分析。
7
五、实验报告要求
1、编程实现在斜坡输入下的最少拍控制器的控制算法(有纹波、无纹波)。
if(temp<4.9) //若开始信号未送出,即AD2的输入电压没达到5V,则不给阶跃信号输入,初始给定值为0V { ADinput(0); sv=0; } else { ADinput(0); sv=sv+Ts; //若开始信号送出,则给定0V到8V的斜坡信号 } if(temp>4.9&&temp1<0.5) //送出给定信号(斜坡或者单位阶跃)的瞬间将n置为100 { n=100; } if(n==100) //系统采样时间为100*Ts=1s {
// /*********控制器的编程 //斜坡输入下无纹波最小拍控制 ei = sv - fVoltage; A = 100*Ts + Ti*(exp(-100*Ts/Ti)) - Ti; B = (Ti - Ti*(exp(-100*Ts/Ti)) - 100*Ts*(exp(-100*Ts/Ti)))/A; c0 = (3*B + 2)/(B*B + 2*B + 1); c1 = -(2*B + 1)/(B*B + 2*B + 1); b0 = B*(B + 1)/(B*B + 2*B + 1);
op = (1 - B)*opx + B*opxx + (2*ei)/(k*A) - ((1 + 2*exp(-100*Ts/Ti))/(k*A))*eix + exp(-100*(Ts/Ti))*eixx/(k*A);
//op = (1 - b0)*opx + b0*opxx + (c0*ei)/(k*A) + (c1 - c0*exp(-100*Ts/Ti))*eix/(k*A) - c1*exp(-100*Ts/Ti)*eixx/(k*A);
//斜坡输入下有纹波最小拍控制 /ep=exp(-100*Ts/Ti); A=100*Ts+Ti*ep-Ti; B=(Ti-Ti*ep-100*Ts*ep)/A; op=(-B)*opx+ei/(k*A)-ep*eixx/(k*A); eixx = eix; eix = ei;
8
opxx = opx; opx = op;
2、编程实现在单位阶跃输入下的最少拍控制器的控制算法(有纹波、无纹波)。
if(temp<4.9) //若开始信号未送出,即AD2的输入电压没达到5V,则不给阶跃信号输入,初始给定值为0V { ADinput(0); sv=0; } else { ADinput(0); if (sv>=8) sv=8; sv=5; //若开始信号送出,则给定0V到1V的单位阶跃信号 } if(temp>4.9&&temp1<0.5) //送出给定信号(斜坡或者单位阶跃)的瞬间将n置为100 { n=100; } if(n==100) //系统采样时间为100*Ts=1s {
// /*********控制器的编程
ei = sv - fVoltage;
//单位阶跃输入下有纹波最小拍控制 /*ep=exp(-100*Ts/Ti); A=100*Ts+Ti*ep-Ti; B=(Ti-Ti*ep-100*Ts*ep)/A; op=(-B)*opx+ei/(k*A)-ep*eixx/(k*A);*/ //单位阶跃输入下无纹波最小拍控制 ep=exp(-100*Ts/Ti); A=100*Ts+Ti*ep-Ti; B=(Ti-Ti*ep-100*Ts*ep)/A; c0=1/(B+1); b0=B/(B+1); op=(-b0)*opx+(c0/(k*A))*(ei-ep*eix);
9
eixx = eix; eix = ei; opxx = opx; opx = op;
3、绘制在斜坡输入下的最少拍控制的响应曲线(有纹波与无纹波)并比较分析。 斜坡有纹波
斜坡无纹波
在有纹波控制的最小拍系统中,跟随斜波信号,大致能跟上信号的变化,但是仍与斜波信号存在比较大的误差,有明显波动。在无纹波控制的最小拍系统中,输入信号能很快跟踪斜波
10
信号,并且跟踪信号与斜波信号没有误差,只有两拍的波动。
4、绘制在单位阶跃输入下的最少拍控制的响应曲线(有纹波与无纹波)并比较分析。 阶跃有纹波
阶跃无纹波
在有纹波控制的最小拍系统中,跟随阶跃信号,大致能跟上信号的变化,但是仍与信号存在比较大的误差,有明显波动。在无纹波控制的最小拍系统中,输入信号能很快跟踪阶跃信号,并且跟踪信号与阶跃信号没有误差。
11
12
因篇幅问题不能全部显示,请点此查看更多更全内容