基于MATLAB的自动控制原理实验教学软件的研制

时间:2022-04-17 06:22:32

基于MATLAB的自动控制原理实验教学软件的研制

摘要:分析了传统自动控制原理实验的局限,提出利用MATLAB资源和M语言开发实验教学软件的必要性,研制了一套基于MATLAB的自动控制原理实验教学软件并举例。教学实践表明,开发的教学软件效果良好。

关键词:MATLAB;自动控制原理;教学软件

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)08-11ppp-0c

1 研究意义

传统的自动控制原理实验在某些教学仪器厂生产的控制实验装置上完成,其内部用运算放大器、电阻、电容等模拟器件构成了比例、积分、一阶惯性等典型环节。实验时,把系统分解成各典型环节的串联形式,然后在模拟装置上把表示相应典型环节的模块连接起来,通过示波器观察系统的响应和各项动态指标。这样的实验方式,虽然在培养学生动手能力、加深对课堂学习内容的印象等方面有一定的作用,但存在两个局限:

(1)实验设备高度集成,扩展性能差由于实验装置的各典型环节已经集成,可改参数有限,使得实验以验证性为主,而且操作复杂。比如观察一个二阶系统在不同阻尼系数下的阶跃响应和动态指标,首先要把系统分解成典型环节的串联形式,然后加上阶跃输入信号后在示波器上观察响应和各项指标,操作起来十分不便。

(2)绘图、计算复杂自动控制原理是自动控制专业的一门比较抽象的理论课程。由于控制系统分析往往涉及到各种分析方法的绘图和复杂的计算,学生需要花很多的时间和精力在绘图和计算上,影响到对控制系统分析原理的掌握。因而该课程授课难度大,学生的学习压力也很大。

因此,这种实验方式不仅未能发挥实验在教学环节中的作用,而且成了制约“自动控制理论”教学的瓶颈。

随着计算机应用软件的飞速发展,计算机辅助教学软件的开发已成为计算机应用软件领域和教学改革的课题。用计算机完成复杂的计算和绘图,授课时引导学生把精力放在概念的理解和方法的掌握上,将是该课程教学发展方向。MATLAB是1980年美国学者CleveMoler等人推出的用于工程计算和数值分析交互式语言。MATLAB软件环境给用户提供了一个人机交互的M语言。用户用MATLAB进行控制系统分析,一般是用M语言在MATLAB运行环境下一步一步地输入命令,用MATLAB提供的子程序和绘图功能完成系统分析计算。这种灵活的操作方式要求用户必须掌握M语言编程方法和各个控制系统分析子程序的调用接口,比较适合于有控制系统分析经验和熟悉M语言的用户。对于初学自动控制理论的学生,这种操作方式是不适合的。这可能使学生把精力和时间耗费在学习和掌握M语言上,而不是用在对控制系统分析原理的掌握上。因此,利用MATLAB资源和M语言开发适用于自动控制原理实验教学的应用软件是必要的。

2 国内外研究综述

目前,MATLAB已经成为国际上最流行的科学与工程计算的软件工具,国内外很重视利用MATLAB研究和开发自动控制类课程的实验教学软件。国际控制界的许多专家已经开发了大量基于MATLAB的控制软件,我国很多高校和研究部门也正在研制此软件,但是国内尚未见有关产品的报道。

3 自控实验教学软件的研制

基于上述MATLAB强大的功能,我们研制了一套“基于MATLAB的自动控制原理实验教学软件”。该软件的研制,给自动控制理论的教学工作带来了极大的便利,能够使学生直观、生动地了解自控理论的内容,并对自控系统的设计起到良好的辅助作用,还可节省实验设备的投资与维护费用。整个系统的功能分为阶跃响应、脉冲相应、Nyquist图、Bode图和根轨迹图等等。

软件接口界面按照如下方式设计:

(1)菜单界面:根据自动控制原理课程的内容特点,在主菜单页上排列该软件的主要功能和控制系统方框图,方框图的传递函数可以按用户需要自行更改。系统主界面如图1所示。

图1 系统主界面

(2)数据输入:数据输入采用统一格式的数据输入对话框,如图2所示。

图2 数据输入对话框

(3)结果输出:计算结果输出采用直观的图形显示方式。

例如某开环系统的传递函数为lhj03.tif绘制系统的Bode图。

先在数据输入对话框中输入开环传递函数的分子分母矩阵,然后点击主界面中的按钮“Nyquist图”,则可以在主界面的坐标位置输出结果。部分程序如下:

function NYQUIST_Callback(hObject, eventdata, handles) %“Nyquisy图”按钮回调

global num1 den1%定义传递函数的分子多项式系数矩阵为全局变量

m=tf(num1,den1);%求传递函数

t=[0:0.1:6];%定义向量t

subplot('position',[0.12 0.52 0.5 0.45]);%在指定位置建立图形

nyquist(m);%绘制系统的Nyquisy图

xlabel('实轴');%Nyquisy图的横坐标标注

ylabel('虚轴');%Nyquisy图的纵坐标标注

title('Nyquist图');%Nyquisy图名称

运行结果如图3所示。

图3 运行结果

4 结束语

根据自动控制原理实验课程的特点,为用户设计一个美观、简洁、明了的操作界面,使教师和学生不需要MATLAB知识就能掌握和应用,操作尽量简单。充分调动学生的学习积极性,提高学生动手分析、设计系统的能力,有效地克服目前自动控制原理实验的局限,从而使自控实验焕发新的生机。

参考文献:

[1] 刘宏友,李莉. MATLAB 6基础与应用[M]. 重庆大学出版社,2002.

[2] 温希东. 自动控制原理及应用[M]. 西安电子科技大学出版社,2004.

[3] 俞眉芳. 自动控制原理及系统[M]. 高等教育出版社,2005.

[4] 黄永安. Matlab7.0/Simulink6.0 建模仿真开发与高级工程应用[M]. 清华大学出版社,2005.

上一篇:Linux下视频流多播速率控制方法的设计与实现 下一篇:物理知识在Flash世界中的应用