《计算机控制技术》自主学习报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《计算机控制技术》
自主学习报告
学生姓名: ******
学号: *********
院系:机械与电气工程学院
专业:机械电子工程121
教师: ******
完成日期: 2014-12-11
目录
目录 (1)
1、直流电机调速系统 (2)
1.1直流电机 (2)
1.2PWM调速 (2)
1.3数字PID控制 (2)
1.3.1数字PID控制器 (2)
1.3.2采样周期T的选择 (4)
1.4 C语句实现数字PID算法 (5)
1.5仿真练习 (7)
2、大林算法 (7)
2.1一阶被控对象的大林算法 (8)
2.2二阶被控对象的大林算法 (8)
2.3大林算法Simulink仿真 (9)
2.4振铃现象及其抑制 (10)
2.4.1振铃现象仿真 (10)
2.4.2振铃现象的抑制 (12)
3、心得体会 (13)
4、参考文献 (13)
1、直流电机调速系统
1.1直流电机
直流电机具有调速范围宽,控制简单,扭矩大等优点,在对调速要求高的许多场合得到广泛应用。

20世纪80年代之前,电机控制都是由模拟电路来实现,控制信号都是模拟量,使得控制系统结构复杂,控制精度不高,随着集成电路技术的发展,电机控制系统中逐渐应用了一些数字电路,实现了数模混合控制,简化了系统结构。

由于微机控制系统性能的优越性,市场的需求量很大,控制系统对微机的性能要求不是很高,同时由于计算机CPU及外围功能卡的不断升级和价格的不断下降,使得用微机进行控制的成本大为降低,因此,用微机构成计算机控制系统,具有较高的可行性。

采用计算机控制后,整个电机调速系统实现全数字化,其结构简单,可靠性高,操作维护方便,电动机稳态运转时转速精度可达到较高水平,静动态各项指标均能较好地满足工业生产中高性能电气传动的要求,由于计算机性能优越,具有较佳的性价比,所以计算机控制直流电机系统在工业过程及设备控制中得到日益广泛的应用。

1.2PWM调速
将直流电源电压断续加在负载上,通过改变开关的动作频率或改变直流电流通和断的时间比例,来改变加于负载上电压、电流平均值的电路,简称为斩波电路。

PWM(脉宽调制)控制技术是对脉冲的宽度进行调制,来等效地获取所需要的波形。

它所采用的原理是冲量等效原理。

PWM是通过控制固定压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。

PWM 可以应用在许多方面,如电机调速、温度控制、压力控制等。

1.3数字PID控制
1.3.1数字PID控制器
PID调节即比例、积分、微分控制,这种调节器是将设定值与输出值进行比
较,通过比较得到的偏差值来进行比例、积分和微分的控制它不仅用途广泛、使用灵活,而且使用中只需设定三个参数(K p ,T i 和T d )。

在这三个参数中,我们可以选取其中的一个或两个参数来控制,但是比例控制单元是不可或缺的。

其次,PID 参数较易整定。

也就是,PID 参数K p ,T i 和T d 可以根据过程的动态特性及时整定。

如果过程的动态特性变化,例如可能由负载的变化引起系统动态特性变化,PID 参数就可以重新整定,PID 调节的控制规律为:
u (t )=K p [e (t )+1T i ∫e (t )dt t 0+T d de(t)dt
] 式中,u (t )为控制器输出的控制量;e (t )为偏差信号,它等于给定量与输出量之差;K p 为比例系数;T i 为积分时间常数;T d 为微分时间常数。

比例控制能迅速反映误差,从而减小误差,但比例误差不能消除稳态误差,加大K p 还会引起系统的不稳定。

积分控制的作用是只要系统存在误差,积分控制作用就不断累积,并且输出控制量以消除误差,因而只要有足够的时间,积分作用将能完全消除误差,但是积分作用太强会使系统的超调量加大,甚至出现振荡。

微分控制可以减小超调量,克服振荡,使系统的稳定性提高,还能加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。

由于计算机控制系统是一种采样控制系统,它只能根据采样时刻的偏差值计算控制量,因此,必须将PID 调节器离散化,用差分方程来代替连续系统的微分方程。

数字PID 控制器控制算法有位置式和增量式。

位置式PID 控制算法:
[]⎭⎬⎫⎩⎨⎧--++=∑=)1()()()()(0k e k e T T j e T T k e K k u d k
j i p 式中,T 为采样周期,e (k )为系统第k 次采样时刻的偏差值e (kT ),e (k −1)为系统第k-1次采样时刻的偏差值。

位置式PID 控制算法根据采样时刻的偏差值计算控制量;输出控制量对应执行机构在采样时刻的位置。

增量式PID 控制算法:
[][]⎭
⎬⎫⎩⎨⎧-+--++--=--=∆)2()1(2)()()1()()
1()()(k e k e k e T T k e T T k e k e K k u k u k u d i p 增量式算法得出的是控制量的增量,误动作影响小。

但是在实际控制中,由于积分项的存在,引起PID 运算的“饱和”现象。

饱和积分作用使系统的超调量增大,从而使系统的调整时间加长。

为了防止积分饱和,一般用“积分分离法”或“遇限削弱积分法”。

1)积分分离法:
当偏差大于某个规定的门限值时,取消积分作用,从而使积分项累计不至于过大。

只有当e(k)较小时,才引入积分作用,以消除静差。

算法为:
u (k )=K p e (k )+K L K I ∑e(j)k
j=0
+K D [e (k )−e(k −1)]
式中,K L 为逻辑系数,
K L ={1 当|e (k )|≤ε时,采用PID 控制
0 当|e (k )|≤ε时,采用P D 控制
ε为e(k)的门限值,其值的选取对克服积分饱和有重要影响,一般应通过实验整定。

2)遇限削弱积分法:
基本思想:当控制量进入饱和区后,只执行削弱积分项的累加,而不进行增大积分项的累加。

利用PID 算法实现对直流电机的调速可以这样表示,如图1-1:
图1-1 PID 算法实现对直流电机的调速
1.3.2采样周期T 的选择
采样周期T 在计算机控制系统中是一个重要参量,必须根据具体情况来选择。

香农(Shannon)采样定律:为不失真地复现信号的变化,采样频率至少应大于或等于连续信号最高频率分量的二倍。

根据采样定律可以确定采样周期的上限值。

实际采样周期的选择还要受到多方面因素的影响,不同的系统采样周期应根据具体情况来选择。

采样周期的选择,通常按照过程特性与干扰大小适当来选取采样周期:即对于响应快、(如流量、压力)波动大、易受干扰的过程,应选取较短的采样周期;反之,当过程响应慢(如温度、成份)、滞后大时,可选取较长的采样周期。

采样周期的选取应与PID参数的整定进行综合考虑,采样周期应远小于过程的扰动信号的周期,在执行器的响应速度比较慢时,过小的采样周期将失去意义,因此可适当选大一点;在计算机运算速度允许的条件下,采样周期短,则控制品质好;当过程的纯滞后时间较长时,一般选取采样周期为纯滞后时间的1/4~1/8。

(1)必须满足香农采样定理的要求。

从信号的保真度来看,采样周期必须满足Shan-non采样定理,即采样角频率ωs≥2ωmax,ωmax是被采样信号的最
高角频率,因为ωs=2π
T ,所以可以确定采样周期的上限值T≤π
ωmax。

(2)从控制系统的随动和抗干扰性来看,T小些好。

干扰频率越高,则采样频率最好也越高,以便实现快速跟随和快速抑制干扰。

(3)根据被控对象的特性,快速系统的T应取小些,反之T可取大些。

(4)根据执行机构的类型,当执行机构工作惯性大时,T应取大些,否则执行机构来不及反应控制器输出值的变化。

(5)从计算机的工作量及每个调节回路的计算成本来看,T应取大些。

T大,对每一个控制回路的计算工作量相对较小,可以增加控制回路数。

(6)从计算机能精确执行控制算法来看,T应取大写些。

因为计算机字长有限,T过小,偏差值e(k)可能很小,甚至为0,调节作用减弱,各微分、积分作用不明显。

1.4 C语句实现数字PID算法
//************************ PID *************************************
float now = 0,bef = 0,bbef = 0; //本次采样值,上次采样值,上上次采样值
float err_now,err_bef,err_bbef; //当前偏差,上次偏差,上上次偏差float error_add = 0; //所有偏差之和
float set = 25; //设定值
float kp = 25;
float ki = 25;
float kd = 0;
//增量式PID
int PID()
{
int change;
err_now = set - now;
err_bef = set - bef;
err_bbef = set - bbef;
change = kp*(err_now - err_bef) + ki*err_now + kd*(err_now - 2*err_bef + err_bbef);
return(change);
}
//位置式PID
int PID2()
{
int num = 0;
static num_bef = 0;
err_now = set - now;
err_bef = set - bef;
error_add = error_add + err_now; //误差累加。

一旦误差为0则error_add的值不变,PID输出值不变
num = kp*err_now + ki*error_add + kd*(err_now - err_bef);
num_bef = num;
return((uint)num);
} 1.5仿真练习
电机转速逐渐向设定值靠近,越靠近设定值,电机速度上升的越慢,最后电机的速度在设定值上下波动。

2、大林算法
生产过程中,大多数工业对象具有较大的纯滞后时间。

其传递函数分别为:
)
1)(1()(210s T s T Ke s G s
++=-τ τ=NT ;N =1,2… 或s
T Ke s G s
101)(+=-τ τ=NT ;N =1,2… 式中,T 1,T 2为被控对象的时间常数;τ为被控对象的纯滞后时间常数,为
简单起见,令τ=NT ,即整数倍;T 为采样周期。

大林算法的设计目标为:设计数字控制器使系统的闭环传递函数为具有纯滞后性的一阶惯性环节,并使其滞后等于被控对象的滞后,即
s
T e s H m s
+=-1)(τ,τ=NT ;N =1,2… 式中,T m 为要求的等效惯性时间常数,τ为被控对象的纯滞后时间常数。

数字控制器的脉冲传递函数为
)1(1)1()1(1)
1()(1)(1)()(1)(+-----+-----=-=
N T T T T T T N z e z e e z z G z H z H z G z D m m m
2.1一阶被控对象的大林算法
若被控对象为带纯滞后的一阶惯性环节,其脉冲传递函数为
⎥⎦⎤⎢⎣
⎡+-=--s T Ke s e Z z G s Ts 111)(τ 数字控制器的算式为 []
)1(11)1(11()1)(1()(11+--------------=N T T T T T T T T T T z e z e e K z e e z D m m m ) 2.2二阶被控对象的大林算法
若被控对象为带纯滞后的二阶惯性环节,其脉冲传递函数为
⎥⎦
⎤⎢⎣⎡++-=--)1)(1(1)(21s T s T Ke s e Z z G s
Ts τ 数字控制器的算式为 []
)1(112111)1(1()1)(1)(1()(21+-------------+---=N T T T T T T T T z e z e z C C K z e z e e z D m m m )
2.3大林算法Simulink 仿真
已知被控系统的传递函数为G 0(s )=11+4s e −2s ,试求大林算法数字控制器,使系统的闭环传递函数为∅(s )=11+2s e −2s 。

解:N=τ/T=2/1=2,被控对象是一阶惯性环节,则广义对象脉冲传递函数,闭环系统脉冲传递函数和数字调节器脉冲传递函数分别如下:
G (Z )=Z [1−e −Ts s ∙e −2s 1+4s ]=(1−e −1/4)Z −2−11−e −1/4Z −1
=0.221Z −3
1−0.779Z −1 ∅(Z )=Z [1−e −Ts s ∙e −τs
1+T τs ]=Z −2∙(1−e −12τ)Z −11−e −12Z −1
=0.393Z −31−0.607Z −1 D (Z )=
(1−e −12)(1−e −14Z −1)(1−e −14)[1−e −12Z −1−(1−e −12)Z −2−1]= 1.778(1−0.779Z −1)1−0.607Z −1−0.393Z −3 Simulink 仿真结构如图2-1所示:
图2-1 Simulink 仿真结构图
Dalin 控制算法Simulink 仿真结果如图2-2:
(a)误差曲线(b)控制量曲线(c)输出曲线
图2-2 Dalin控制算法Simulink仿真结果图被控系统和等效系统系统输出比较如图2-3:
图2-3被控系统和等效系统系统输出比较图
2.4振铃现象及其抑制
2.4.1振铃现象仿真
按大林算法设计的系统,数字控制器输出u(kT)可能发生周期为2T的上下摆动,称为振铃现象。

振铃现象会造成执行机构的磨损,在有交互作用的多参数控制系统中,振铃现象还有可能影响到系统的稳定性。

下面学习一个例子:含有纯滞后为1.46s,时间常数为3.34s的连续一阶滞
e−1.46s,经过T=1s的采样保持后,其广义对象的脉冲传递后对象G(s)=1
3.34s+1
函数为
G(z)=0.1493z−2(1+0.733z−1)
1−0.7413z−1
选取φ(z),时间常数为Tτ=2s,纯滞后时间为τ=1s。

则N=1,于是
∅(z)=z−N∙(1−e−
T
Tτ)z−1
1−e−
T
Tτz−1
=z−1∙
(1−e−
1
2)z−1
1−e−
1
2z−1
=
0.3935z−2
1−0.6065z−1
故大林控制器
D(z)=
1
G(z)
∅(z)
1−∅(z)
=
2.6356(1−0.7413z−1)
(1+0.733z−1)(1−z−1)(1+0.3935z−1)
系统输出
Y(z)=R(z)∅(z)=
0.3935z−2
(1−0.6065z−1)(1−z−1)
=0.3935z−2+0.6322z−3+0.7769z−4+0.8674z−5+⋯控制量
U(z)=Y(z)
G(z)
=
2.6356(1−0.7413z−1)
(1+0.733z−1)(1−z−1)(1−0.6065z−1)
=2.6365+0.3484z−1+1.8096z−2+0.6078z−3+1.4093z−4 +⋯
Simulink仿真结构如图2-4所示:
图2-4 Simulink振铃现象仿真结构图Simulink仿真结果如2-5所示:
(a )误差曲线 (b )控制量曲线 (c )输出曲线
图2-5 振铃现象仿真图
从图中可以看出,系统输出的采样值可按期望指数形式变化,但控制量有大幅度的振荡,而且是衰减的振荡。

2.4.2振铃现象的抑制
产生振铃现象的原因是,数字控制器D(z)中包含有左半平面的极点,即在单位圆有接近z=-1的极点,它离z=-1越近,振铃现象越严重。

而单位圆内右半平面的零点,也会加剧振铃现象。

单位圆内右半平面的极点,将使振铃现象减弱。

消除振铃现象的办法:设法找出 D(z)中引起振铃现象的极点(z = -1附近的极点),然后令其中的z=1。

根据终值定理,这样处理不影响数字控制器的稳态输出。

衡量振铃现象的强烈程度的量是振铃幅度RA (Ringing Amplitude)。

它的定义是:控制器在单位阶跃输入作用下,第零次输出幅度与第一次输出幅度之差值。

RA=u(0)—u(1)。

下面学习一个例子:已知某控制系统被控对象的传递函数为G 0(s )=e −s 1+s 。

试用大林算法设计数字控制器D(z)使系统的闭环传递函数为∅(s )=e −s 1+0.1s 。

设系统采样周期T=0.5s ,讨论系统是否会发生振铃现象?如果存在,应该如何消除?
解:T=0.5,T 1=1,T τ=0.1,τ=1,N=τ/T=2。

当被控系统与零阶保持器串联时,广义对象的脉冲传递函数为:
G (Z )=Z [1−e −Ts s ∙e −s 1+s ]=Z [1−e −0.5s s ∙e −s 1+s ]=0.3935Z −3
1−0.6065Z −1
要求闭环系统的脉冲传递函数为:
∅(Z )=Z [1−e −Ts s ∙e −s 1+0.1s ]=Z [1−e −0.5s s ∙e −s 0.1+s ]=0.9933Z −3
1−0.0067Z −1
于是控制器的脉冲传递函数为:
D (z )=1G(z)∅(z )∅ε(z )= 2.524(1−0.6065Z −1)(1−z −1)(1+0.9933z −1+0.9933z −2)
引起振铃现象的因子为1+0.9933z −1+0.9933z −2,令其中z=1,可得无振铃现象的数字控制器的脉冲传递函数为:
D (z )= 2.524(1−0.6065Z −1)(1−z −1)(1+0.9933+0.9933)=08451(1−0.6065Z −1)1−z −1
3、心得体会
老实说,写完了这份自主学习报告,自己也还是稀里糊涂的。

在学习过程中,参考了大量的教材、网络资源。

由于《自动控制原理》这门课学的不够好,不,应该说是“学得一塌糊涂”,对控制这部分的理论知识理解起来比较困难。

“书到用时方恨少”呐!学生愚钝,在写这份报告时,摘录了不少课本、课件以及其他参考资料,以加深印象和理解。

但是效果还是不怎么好,有些东西比较抽象,难以理解,深知在今后学习过程中还应该慢慢琢磨、理解与实践!
4、参考文献
【1】教材《计算机控制技术》
【2】教材《机电传动控制》
【3】教材《自动控制原理》
【4】上课用的课件
【5】电子发烧友论坛“PID 算法控制电机转速”/
【6】百度文库“计算机控制技术09.大林算法.ppt ”。

相关文档
最新文档