电机调速离散数字PID控制系统
一、问题描述
要求设计计算机可实现的PID控制器,利用simulink平台进行实验研究,确定最佳的离散控制周期并给出实验结果分析和与连续PID控制器的比较。离散控制器输出给连续的受控过程时加零阶保持器。
有余力的同学可尝试设计最小拍无波纹控制器。
二、理论方法分析
PID控制器的设计已经多次涉及,原理不再细说。离散控制系统设计的最主要目的是设计控制器G(z)的结构和参数。其次也要考虑量化误差的影响以及采c
样周期的选择的问题,设计控制器G(z)有多种方法。比较成熟的方法就是连续c
控制器的离散化法、z域根轨迹设计法、w域频率特性设计法和数字控制器直接设计法等。这里采用的是数字控制器直接设计法,在G(z)已知,并且F(z)可按某
1F(z)D(z),,种方法确定的情况下,控制器可按来确定。 G(z)1,F(z)
本题中量化误差的计算省略,着重的点在于采样周期的选择。采样周期的选择的基本原则是获得最高的系统性能价格比,就是使系统性能指标尽可能地高而使系统的成本价格尽可能地低。一般来说,采样周期越长,则系统的成本价格越低,但性能指标也随之降低。最佳的采样周期应当是在充分满足所设计各项性能指标的前提下的最长周期
离散控制系统的建模及其分析与连续系统不同,但在许多方面又有类似的一面。计算机控制系统应该算作离散控制系统,但在组成上可细分为连续部分和离
散部分。对于连续部分,一般采用传递函数或者微分方程来描述;对于离散部分,则要用脉冲传递函数或者差分方程来描述。
为了便于系统分析,通常采用两种统一处理方法:
1)在连续部分和离散部分之间加入保持器,当采样频域足够高的时候,可以将离散部分近似的当做连续部分来处理。
2)将连续部分的传递函数G(s)换成脉冲传递函数G(z),然后整个系统全部用脉冲传递函数来分析。
matlab提供了c2dm函数用于将连续系统的传递函数模型转换成脉冲传递函数模型。其调用格式为:
[numz,denz]=c2dm(num,den,T,’zoh’),除了zoh函数,还有foh、imp、tustin、matched函数,各有差异。
三、实验设计与实现
1)设计PID控制器
1在matlab的simulink平台建立PID控制器的模型,并进行整定,最终可4以得到如下图所示的模型。
图6-1
该模型图仿真后得到的波形图如下图所示:
图6-2
2)设计离散控制器
t,0.016s由图6-2可以得知,上升时间为,已知离散采样周期的范围为:,
tt,,0.004s,T,0.008s,可得。取采样周期为T=0.005s。用零阶保持,,Tsss42
器替换PID控制器,设置其周期为0.005s,得到如下模型图:
图6-3
得到的离散控制系统的输出波形如下所示:
图6-4
3)设计最小拍无波纹控制器
228.57G(s),先求出被控过程的传递函数为,320.0000213s,0.0014s,0.07667s,1用理论方法分析里的c2dm函数将G(s)函数转化为G(z)函数,即在matlab窗口内输入以下内容:
num=[228.57];
den=[0.00000213 0.0014 0.07667 1]; [numz,denz]=c2dm(num,den,0.005,'zoh'); printsys(numz,denz,'z')
回车之后得到以下结果:
根据上述结果在simulink平台建立新的模型
图6-5
得到的波形图如下所示:
图6-6
21.1236z,2.3312z,0.22795G(z),D(z)用数字控制器设计准则设计,,32z,1.7783z,0.83185z,0.037389
F(z)z1D(z),R(z),,m,1,据最少拍设计准则,由,, ,1(1,F(z))G(z)z,11,zr(t),1(t)E(z),R(z),0.01178F(z)R(z),, e(,),lim(z,1)E(z),0z,1
,1z,1可以得到即,可以得到D(z)为: ()1,0.01178F(z),1,zFz,0.01178
F(z)111D(z),,,,(1,F(z)H(z))G(z)G(z)0.01178z,1
32z,1.7783z,0.83185z,0.037389, 320.01178(1.1236z,1.2076z,2.10325z,0.22795)据此设计新的simulink模型图如下:
图6-7 得到的波形图为:
图6-8
四、实验结果与讨论
将PID控制器与离散控制器用一个bus连接起来,在同一张图中观察两种控制方法的波形,得到的simulink模型为:
图6-9
运行后双击显示器得到如下图所示的波形:
图6-10
黄色是PID的波形,紫色是零阶保持器的波形。对比两个波形,可以看到零阶保持器的波形震荡比PID的小,调整时间也比PID的短。
在PID与零阶保持器的设计过程中可以发现PID控制器的设计比较繁琐,计算量也大,这样需要多费比较多的时间,好处就是稳态误差小一些。
两种方法各有优劣,关键要看需求,如果要求较小的稳态误差最好要用PID控制器,如果要求比较松,还是零阶保持器比较方便迅速。
事后感:
这次实验思路还是比较清晰的,在做实验的过程中也没怎么遇到问题。就是在设计最小拍无波纹控制器时,最后设计好simulink结构图后得到的波形图那里有些疑问。我当时取的波形结束时间与前一个模型的一致,为100s,得到的图形是下面那样的:
图6-11
此时并没有阶跃响应,只是在后半部分有离散的波形图,不断缩短仿真图才得到在很小的时间时的跳跃,这是一个波形在逐渐变大的离散波形图。PID控制器和零阶保持器的波形都是由震荡慢慢稳定的图形,为何最小拍无波纹控制器是逐渐扩散的,
参考书籍:
《自动控制原理—理论篇》
《自动控制原理实验与实践》
《自动控制原理学习辅导》