基于Octave的《自动控制原理》课程实验的设计与实践
2021-06-28李雯肖凯曾迎生
李雯 肖凯 曾迎生
摘要:科学规划和合理设计课程实验是新建本科院校有效开设《自动控制原理》课程非常重要的一项措施。选择与MATLAB语法兼容的自由软件Octave作为实验平台,设计了自动控制系统数学模型、时域分析、根轨迹分析和频域分析共4个合计12个学时的实验。教学安排上,先课堂讲授相关的理论知识和分析方法,随后通过实验来分析、验证、巩固相关知识点。实验内容中,既有示例性实验,也包括设计性和探索性实验。通过课程实验,激发了学生学习课程的热情和信心,取得了较好的效果。
关键词:自动控制原理;实验教学; Octave软件;仿真实验;新建本科院校
中图分类号: TP 13 文献标识码:A
文章编号:1009-3044(2021)10-0136-03
Abstract: Scientific planning and rational design of course experiment is a very important measure for the newly-established undergraduate colleges to offer the course of automatic control principle effectively. Octave, a free software which is grammatically compatible with Matlab is chosen as the experimental platform, the mathematical model, time domain analysis, root locus analysis and frequency domain analysis of the automatic control system are designed. In the teaching arrangement, the relevant theoretical knowledge and analytical methods are taught in class firstly, and then the relevant knowledge points are analyzed, verified and consolidated through experiments. In the experiment content, not only the example experiment, but also the design experiment and the exploration experiment are included. Through the course experiment, students' enthusiasm and confidence in learning the course have been stimulated and good results have been achieved.
Key words: automatic control principle; experimental teaching; Octave software; simulation experiment; newly-established undergraduate colleges
1 引言
近年來,新建本科院校普遍开设了电子信息、电气自动化等热门专业。《自动控制原理》课程是电子信息专业、电气自动化专业的一门重要的专业基础课程,其具有理论性较强、概念抽象、阐述通用的分析方法、与实际应用有一定的距离、学习难度较大等特点,这些特点对在新建本科院校中开设《自动控制原理》课程,提出了一定的挑战?
根据新建本科院校学生普遍数理基础较薄弱,抽象思维能力较缺乏的现状,除了合理调整教学内容,适当补充课程学习涉及的数理基础知识,大幅度增加控制系统分析方法的实际运用等教学内容外,科学规划和合理设计实验内容,开展与课程讲授内容同步的课程实验,促进学生在实验中不断消化、理解和反复思考课程内容,激发学生学习课程的热情和信心,是非常重要的一项措施。
2 实验平台的选择
经典的自动控制原理实验平台是由自动控制原理实验箱构成的硬件平台,有各高校自主研发的,也有一些教辅设备厂家开发的产品,但硬件平台存在初期投入大,实验台套有限,实验维护工作量大,实验扩展难度较大等问题[1]。针对上述问题,近年来,利用计算机进行仿真实验在很多高校得到了普遍应用[2],也有一些高校在原有的硬件平台基础上,增加一部分仿真实验内容,充分发挥各自的优点,取得了较好的教学效果[3]。
根据所在学校民办新建本科院校的实际情况,考虑采用计算机仿真进行课程实验,能够以较小的投入尽快开设出课程实验。
目前,各高校主要利用Matlab进行自动控制原理课程的仿真实验,商用软件Matlab是一种高效的科学及工程计算语言,在控制系统计算机辅助分析与设计方面获得了广泛的应用[4]。
与主流实验平台不同,本文选择自由软件Octave作为实验平台。Octave是一种开放源代码的科学计算软件,旨在提供与Matlab语法兼容的科学计算与数值分析工具[5]。Octave与Matlab语法兼容,基本功能相似,完全可以胜任《自动控制原理》课程实验中有关控制系统建模、仿真与分析的内容,但具有完全免费、开放源代码、占用空间小等显著优点,因此最终选择Octave软件作为《自动控制原理》课程的实验平台。
3 课程实验设计
根据《自动控制原理》课程大纲、课程教材和授课进度的要求,设计了控制系统数学模型、时域分析、根轨迹分析、频域分析等四个课程实验[6-7]。
3.1自动控制系统数学模型实验
包括传递函数建立与运算、结构图的等效变换和微分方程的求解等三部分实验内容,安排了4个学时完成该实验。
(1)传递函数建立与运算
传递函数建立与运算实验包括拉氏变换与反变换、多项式运算与建立传递函数等内容。
利用拉氏变换函数laplace(ft,t,s)和拉氏反变换函数ilaplace(Fs,s,t)完成对给定原函数和像函数的变换。实验中,结合课堂讲授的例题,给出参考示例,要求同学独立编辑、运行示例文件,记录和观测实验结果,与课堂讲授内容进行对比,巩固对拉氏变换与反变换的理解。
利用多项式求根函数roots(p)、由根构建多项式函数poly(r)、多项式相乘函数conv(p,q)、求多项式值函数polyval(n,s)对给定多项式进行相应运算,记录和观测实验结果,强化传递函数是一个有理真分式的概念。
利用函数tf(num,den)建立传递函数的一般描述形式,利用函数zpk(z,p,k)建立传递函数的零极点描述形式,记录和观测实验结果,对比分析传递函数这两种描述形式的不同特点,为后续课程学习和实验奠定基础。
(2)结构图的等效變换
首先利用串联等效函数series(sys1,sys2 )、并联等效函数parallel (sys1,sys2 )、反馈等效函数feedback (sys1,sys2,sign )对给定结构图进行等效变换,记录和观测实验结果,熟悉和掌握结构图的三种基本等效变换。
在此基础上,对课堂上已经学习的一个结构图等效变换的例题,要求学生自己编写一个m文件,利用以上三种基本等效变换函数,求出该系统的传递函数。
基本等效变换的内容属于验证性实验,综合变换的内容属于设计性实验,正确理解了课堂例题的系统结构图等效变换基本思路,是正确编写m文件的前提。
(3)微分方程求解
由于Octave中求解微分方程的函数dsolve的调用方法和Matlab略有不同。实验中,提供了Matlab的调用方法作为参考,要求同学们借助Octave中的help信息,在Octave中完成函数dsolve的正确调用和给定微分方程的求解,记录具体的Octave调用命令和运行结果,体会Octave和Matlab在语法方面的细微差别,这部分实验属于探索性实验。
3.2自动控制系统时域分析实验
包括了稳定性分析、稳态误差分析、一阶系统动态响应分析、二阶系统动态响应分析、动态性能指标计算等五部分实验内容,4个学时。
(1)稳定性分析
利用Octave的求根函数roots(p),求得传递函数的极点值,而后根据极点在复平面的分布情况来判断控制系统的稳定性。实验中以课堂讲授的劳斯稳定判据的例题为例,确定系统的极点,判断系统的稳定性,掌握稳定性分析的基本方法。
(2)稳态误差分析
首先给出利用函数step(sys,t)求给定的0型、Ⅰ型和Ⅱ型系统的单位阶跃响应及稳态误差的例程。要求同学们在Octave集成工作环境中编辑、调试、运行该例程,观察并分析三个系统的单位阶跃响应曲线,记录稳态误差的大小,分析单位阶跃输入下的稳态响应特性,与课堂学习的内容进行对照,判断结果的合理性。
随后,以上述例程为基础,利用函数lsim(sys,u,t)编制m文件,分别求给定的0型、Ⅰ型和Ⅱ型系统在单位斜坡输入下的输出响应和稳态误差,获得期望的输出。根据实验结果,观察并分析三个系统的输出响应曲线,记录稳态误差的大小,分析单位斜坡输入下的稳态响应特性,判断结果的合理性。
(3)一阶系统动态响应分析
首先给出利用函数step(sys,t)求典型一阶系统的单位阶跃响应的例程。在在该例程中时间常数T=1,运行该例程,观察Figure窗口的曲线特性,记录工作空间中向量y在T 、2T、3T、4T等关键时刻的值,并根据一阶系统单位阶跃响应曲线初始斜率与时间常数的关系,确定系统的时间常数。随后,修改时间常数T=0.5和T=2,确定上述内容。
(4)二阶系统动态响应分析
首先给出利用函数step(sys,t)求典型二阶系统的单位阶跃响应的例程。在该例程中,自然频率wn =1,阻尼系数ξ取为0、0.3、0.5、0.7、1.0等5个值。运行该例程,观察Figure窗口显示的各系统单位阶跃响应曲线,分析不同ξ值的阶跃响应曲线特点,并结合输出数据,估计不同ξ值的超调量。最后,将wn的值取为2,运行m文件,观察Figure窗口显示的各系统单位阶跃响应曲线,分析wn的改变,是否影响不同ξ值的超调量。
(5)动态性能指标计算
首先给出一个计算二阶系统动态性能指标的例程。 在该例程中,先利用step函数计算给定的二阶系统的单位阶跃响应,然后根据动态性能指标的相关定义,计算超调量σ%、峰值时间tp、上升时间tr和调整时间ts,取误差带为±2%。运行该例程,观察Figure窗口显示的单位阶跃响应曲线,与程序运行所得各指标值进行估计与比较,判断程序所得结果的正确性。最后,修改m文件,对给定的三阶系统、四阶系统分别计算相应的动态性能指标。
3.3自动控制系统根轨迹实验
包括了根轨迹绘制和根轨迹分析两部分实验内容,2个学时。
(1)根轨迹绘制
首先给出利用函数rlocus(sys)绘制给定系统根轨迹的例程。运行该例程,观察Figure窗口显示的根轨迹图的特点,确定根轨迹的分支数、起点、终点、渐近线情况、实轴上的根轨迹等信息,并与课堂讲授例题中手绘的根轨迹图进行比较。随后,对给定的新系统编写、运行新的M文件,分析和确定上述内容。
(2)根轨迹分析
首先给出利用函数rlocus(sys)计算给定系统的根轨迹数据的例程。运行该例程,计算根轨迹相关数据;然后根据所得数据确定下述内容:分离点对应的闭环极点值和根轨迹放大倍数k值、复数极点实部最接近-0.5的闭环极点值、最接近虚轴交点的闭环极点值;接着利用根轨迹幅值条件来计算根轨迹与虚轴交点对应的k值;最后,根据上述结果,利用控制系统闭环极点与系统动态响应的关系,确定系统稳定的k值范围和系统动态响应为衰减振荡的k值范围。在上述例程基础上,对给定的新系统编写、运行新的M文件,完成类似的实验任务。以上根轨迹绘制与分析的各关键点,与课堂讲授典型例题的内容一致,有利于学生进一步消化、理解相应内容。
3.4自动控制系统频域分析实验
包括了伯德图绘制和稳定裕量计算与稳定性分析两部分内容,2个学时。
(1)伯德图绘制
首先给出利用函数bode (sys)为给定系统绘制伯德图并计算相关数据的例程。运行该例程,觀察Figure窗口显示的伯德图的特点,并根据所得数据确定频率最接近1和10的幅值和相位值。在上述例程基础上,对给定的新系统编写、运行新的m文件,完成相应的实验任务。最后,与例程中给定系统的伯德图进行对比,分析两个系统幅频特性曲线和相频特性曲线的异同。
(2)稳定裕量计算与稳定性分析
首先给出利用函数margin (sys)为给定系统绘制带有稳定裕量标记的伯德图并计算稳定裕量的例程。运行该例程,绘制出带有裕量标记的伯德图,计算得幅值裕量、相角裕量和相应的穿越频率,随后观察Figure窗口显示的裕量标记,并根据所得数据判断系统的稳定性。在上述例程基础上,对给定的新系统编写、运行新的m文件,完成相应的实验任务。以上伯德图绘制、稳定裕量计算与稳定性分析的各关键点,与课堂讲授典型例题的内容一致,有利于学生进一步消化、理解相应内容。
上述四个实验合计12个学时,在教学安排上,先课堂讲授相关的理论知识和分析方法,随后通过相应的实验来分析、验证、巩固相关知识点。实验用例方面,尽可能选取课堂已经讨论过的典型例题进行实验,便于学生在自己动手实验的过程中,进一步消化、理解和反复思考课程的核心内容,实现认识的螺旋式上升。实验内容中,既有示例性验证实验,也包括了设计性实验和探索性实验,有利于激发学生学习课程的热情和信心。
4 课程实验实践体会
2018年、2019年秋季学期为本校电子信息、电气自动化两个专业共八个班四百多学生开设了《自动控制原理》课程及基于Octave的《自动控制原理》课程实验。与MATLAB相比,Octave实验平台构建方便,软件安装快速、便捷,占用空间小。Octave的集成工作环境提供了课程实验所需的编辑、运行、查看输出数据、输出曲线的一体化环境,界面友好、操作方便。学生也可以在自己的计算机上构建实验环境,随时随地进行实验。与课堂讲授相比,学生普遍对实验课比较感兴趣,通过动手实验,大多数学生加深了对课堂内容的理解,激发了后续学习的热情和信心,取得了较好的效果。实验内容中涉及设计和探索的部分均有一定数量的学生积极思考、认真分析,最终完成了实验任务。学生心目中的《自动控制原理》课程不再那么高冷,相当学生表示学有所获。
在实验教学中发现一些问题,比较突出的是相当学生分析实验结果和实验数据的能力较弱。大部分学生可以根据实验要求将示例性实验按照步骤完成,但所得结果和数据反映了什么问题,可以得出什么结论,相当学生不知道。针对该问题,建议在以后的教学中,实验完成后可以在课堂上进行适当的实验总结,集中解答学生在实验中普遍困惑的问题,将前面课堂讲授的知识点、学生具体实验的内容再次进行关联,通过这样多次、逐步深入的教学,引导学生进行自主思考和知识的多次迭代。
参考文献:
[1] 孙大卫,丁兴俊,毕经存,等.一种典型自动控制原理实验教学设备研究[J].实验技术与管理,2011,28(7):79-81.
[2] 刘云龙,王瑞兰,刘丽君,等.基于Matlab仿真的自动控制原理实验教学改革[J].实验室研究与探索,2015,34(6):102-106.
[3] 王娟,李俊红.自动控制原理课程实验教学改革[J].中国现代教育装备,2019(1):45-46.
[4] 薛定宇.控制系统计算机辅助设计:MATLAB语言与应用[M].2版.北京:清华大学出版社,2006.
[5] http://www.gnu.org/software/octave/
[6] 胡寿松.自动控制原理[M].6版.北京:科学出版社,2013.
[7] 黄坚.自动控制原理及其应用[M].3版.北京:高等教育出版社,2016.
【通联编辑:王力】