陈惠英 ,王培良 ,李祖欣
(湖州师范学院 信息与工程学院,浙江 湖州 313000)
计算机控制技术课程是湖州师范学院工科专业——电子信息工程专业自动化方向的专业模块课。它融合了控制技术、计算机技术和通信技术等多种技术,是一门理论性和实践性都很强的综合性课程。它主要包含两部分内容:一是计算机控制的理论基础;二是实现技术,主要包括通道接口技术与系统实现技术。该课程是一门综合性很强的专业课,与电路、电子技术、自动控制原理及微机与接口技术等诸多专业课程都有关联,在专业课程体系中占举足轻重的地位[1]。
然而,计算机控制技术课程所涉及的理论知识,其特点是概念抽象,并且需要进行大量复杂的计算和公式推导,从而使学生在学习该课程时易产生畏惧情绪。因此,单纯的板书讲解很难取得好的教学效果[2]。针对这种情况,考虑到MATLAB/Simulink仿真软件具有强大的数值、符号运算及图形处理等功能,适用于工程应用领域的分析、设计和复杂计算,且不要求使用者具备很强的数学功底和编程能力,现已成为大学教学中常用的计算机辅助教学软件[3]。为此,近年来,笔者在教学过程中,尝试将Matlab/Simulink仿真软件引入到该课程的一些重点难点问题的讲授和分析中。利用Matlab强大的计算功能可以帮助学生解决复杂的计算难点;利用简单的画图功能或者Simulink仿真模型可以使学生看到控制效果,以及不同参数对控制效果的影响。这对学生加深概念理解,提高学生学习积极性起到了很好的促进作用,取
得了良好的教学效果。
例如[1]:设离散数字控制系统如图1所述,采样周期,,试设计单位阶跃输入的最少拍数字控制器。
图1 离散数字控制系统
求解:
(1)先求解广义对象脉冲传递函数
式(1)是关于Z变换计算,当G0(s)较为复杂的情况下,G(z)计算量大且复杂,很多学生在这一步的求解时就有一定的困难,得不到准确的结果。现利用Matlab语言进行编程:
经整理后,易得:
(2)最少拍有纹波数字控制器设计
数字控制器D(z)为:
此时,系统输出C(z)=Φ(z)R(z)=z-1/(1-z-1)=0+z-1+z-2+…,控制器输出
上述的C(z)、U(z)的展开表达式,计算相对复杂,也可以采用 Matlab编程实现,以U(z)为例:syms z k;
运行后求得结果:u=0.2720,-0.2954,0.2121,-0.1523,0.1093,-0.0785,0.0564,-0.0405,0.0291,-0.0209即为展开式前面10项的系数值。
(3)最少拍无纹波数字控制器设计
G(z)中含单位圆内的零点z=-0.718,应作为闭环脉冲传递函数Φ(z)的零点,另外,z-1应包含在中Φ(z),此时可选择Φ(z)为:
对应于单位阶跃输入时,k=1,因此,Φe(z)的选择为:
其中F(z)=1+b1z-1+…bnz-n,上式说明Φe(z)中包含了一个z=1的零点,故z=1的极点不需要再作处理。由于Φ(z)=-1-Φe(z),所以,此时n=1,
解得待定系数为
所以
数字控制器D(z)为:
(4)系统的阶跃响应特性
以上对系统1分别设计了有波纹和无波纹的最少拍数字控制器,但控制器的理论值计算出来后,学生只能看到表达式,不易于理解和记忆,为此,利用Simulink对该系统进行建模仿真,仿真模型如图2所示。其中,对于有波纹的情况,模型中的Disctete controller模块用式(3)表示,而对于无波纹的情况,用式(4)表示。针对上述两种情况,运行后控制器的输出,系统的阶跃响应仿真曲线分别如图3和4所示。从图中很明显可以看出,在有波纹最少拍控制系统中,控制器的输出量是不断变化的,系统的输出响应经过一拍后达到设定值,但只有在采样点时输出才与输入一致,采样点之间系统的输出是不断波动的。而在无波纹最少拍控制系统中,控制器的输出量经过两拍后即为零,系统的输出经过两拍后达到设定值且恒定。仿真结果与理论分析的结果相一致。
图2 Simulink仿真模型
图3 有波纹情况
图4 无波纹情况
很显然,在最小拍控制器的设计中,利用matlab语言编程,很容易地解决了计算复杂的难题;通过Similink建模仿真,运行结果以图形的形式表示,形象、直观,可以使学生更好的理解和掌握最少拍控制系统的设计内容及其特点。
Matlab提供了高效简洁的编程语言和Simulink仿真环境,简单易学、图形直观。在计算机控制理论教学中,具有很好的应用价值。除了上述所举的应用实例外,还可以应用在Z脉冲传递函数求取、系统稳定性判断、数字PID控制器参数整定、模糊控制器设计等诸多方面。总之,该辅助教学软件的引入,不仅可以激发学生学习该课程的兴趣,而且能很好地加深学生对所学知识的理解,从而提高教学效果。
[1]刘国荣.计算机控制技术与应用第二版[M].北京:机械工业出版社,2008.
[2]胡建平.MatLab/Simulink在《计算机控制技术》教学中的应用[J].上海工程技术大学教育研究,2009(1):42-44.
[3]刘卫国.Matlab程序设计与应用第二版[M].北京:高等教育出版社,2006.