基于MATLAB GUI的机械工程控制基础课程虚拟仿真实验平台设计
2021-12-23张春慧宗哲英洪宝棣
张春慧 宗哲英 洪宝棣
(内蒙古农业大学机电工程学院 内蒙古呼和浩特 010010)
“机械工程控制基础”是内蒙古农业大学机械制造及其自动化专业、农业机械化及其自动化专业的重要专业基础课,是衔接基础课与专业课的桥梁,课程对学生工程能力的培养具有重要作用。然而课程在开展过程中存在学时少、重理论、轻实践、授课方式单一等问题,导致学习过程枯燥,学生学习兴趣不高,教学效果受到影响。如何在有限的学时内提高课程的实践性,将理论与实践有机融合,对课程效果有着重要意义。
在“机械工程控制基础”课程的教学探索中,MATLAB 因其良好的人机交互性和强大的计算能力被引入传统的教学课堂中[1-5]。MATLAB GUI是一种图形用户界面,其图形化的界面极大地简化了设计过程中界面的布局操作,方便使用者执行交互式的任务[6]。本文基于MATLAB GUI设计开发了“机械工程控制基础”虚拟仿真实验平台,将理论环节与实践环节有机融合,对实验教学起到了辅助作用。
一、总体设计
本文所设计“机械工程控制基础”虚拟仿真实验平台基于MATLAB R2019a版GUI开 发,GUI(Graphical User Interface)即用户图形界面,由窗口、菜单、按钮、文字说明等构成用户界面,用户可通过鼠标或键盘激活图形对象从而产生某种动作或变化,如绘图、计算等。
采用“从上到下”的设计理念,上层进行主界面设计,根据课程的主体内容设计4个“实验入口”按钮和1个“退出”按钮;下层进行4个实验界面设计,实现实验操作;上下层之间通过接口实现链接,总体设计图如图1所示。
图1 总体设计图
二、界面设计
(一)登录界面设计
“机械工程控制基础”仿真平台选择内蒙古农业大学校门作为封面,点击“进入”按钮进入登陆界面:登录界面包括新用户注册、密码设置、老用户登录等功能。
(二)主界面设计
1.主界面结构框图
“机械工程控制基础”课程的主体内容为线性系统时域分析、线性系统频域分析、线性系统根轨迹分析和控制系统分析4部分,虚拟仿真实验平台主界面也相应设计为4部分。
2.主界面设计及运行
(1)在MATLAB命令窗口输入“guide”指令创建GUI界面,选择空白模板;
(2)点击保存生成一个.m文件和一个.fig文件;
(3)在m文件中,使用4个按钮和4个文本框,分别对应4部分主体内容;
(4)运行该文件。
(三)实验界面设计
1.线性系统时域仿真
点击“线性系统时域仿真”按钮进入时域分析界面,该界面包含“阶跃响应”,“脉冲响应”和“动态性能指标计算”三个模块,如图2所示。
图2 时域分析界面
“阶跃响应”和“脉冲响应”模块可直观展示不同系统对于不用输入信号的输出结果;“动态性能指标计算”模块可计算二阶系统单位阶跃响应各项动态性能指标,包括:上升时间tr、峰值时间tp、调整时间ts和超调量σ%等,通过各动态指标的计算定量分析机械系统运行过程中的动态性能,如稳定性和快速性。
2.线性系统频域仿真
图2中点击“线性系统频域仿真”按钮进入频域分析界面,如图3所示:
图3 频域分析界面
该部分可进行频域系统Bode图、Nyquist曲线及Nichols曲线的绘制,点击按钮进入相应界面,输入系统传递函数即可得到相应曲线。
这里简要介绍Nyquist曲线绘制界面的设计步骤:
(1)创建GUI界面,拖入所需控件,如按钮、坐标轴、静态文本框、可编辑文本框等;
(2)点击保存生成.m文件,命名为Nyquist_1,点击各个控件进行回调函数的编写。以OK键为例:
a=str2num(get(handles.fenzi,'string'));b= str2num(get(handles.fenmu,'string'));T=1;[c,d]=c2dm(a,b,T,'Zoh');nyquist(c,d);(3)运行程序,在可编辑文本框内输入分子分母,点击“OK”按钮,生成奈氏曲线,如图4所示。
图4 Nyquist图
3.线性系统根轨迹分析
点击“线性系统根轨迹分析”按钮进入根轨迹分析GUI界面。根轨迹曲线绘制界面设计与Nyquist曲线绘制界面设计类似,不作赘述,其“OK”的回调函数为:
a=str2num(get(handles.fenzi,'string'));b= str2num(get(handles.fenmu,'string'));
T=1;[c,d]=c2dm(a,b,T,'Zoh');rlocus(c,d);输入分子分母,点击“OK”按钮生成根轨迹曲线。
三、平台测试
(一)时域模块测试
选择时域部分“动态性能指标计算”模块进行测试。阶跃响应模型测试:输入传递函数分子、分母系数,点击“确定并计算”得到性能指标计算结果及其单位阶跃响应曲线。
该模块可针对阶跃响应模型进行动态性能指标的计算,结果显示某Ⅰ型系统在接受单位阶跃信号后,超调量σ%为36.728%,峰值时间tP为50秒,调整时间tS为817秒,同时计算出稳态误差为1.4,并以曲线的形式直观地展示该系统的动态过程。[6]
测试结果显示该模块可行有效,可作为时域系统性能指标计算主体实验的辅助手段。
(二)控制系统分析模块测试
为满足系统性能要求,本实验采用“超前-滞后”校正,从图5可看出系统校正前后单位阶跃响应曲线变化明显,校正后超调减小,稳定性增强,但响应时间增大,快速性变差,与计算结果一致。
四、结束语
本文基于MATLAB GUI设计开发了“机械工程控制基础”虚拟仿真实验平台,对平台的组成部分登录界面、主界面和实验界面分别进行了设计开发,并对平台功能进行了测试,测试结果显示平台可正常运行且结论正确、有效可行,可针对“机械工程控制基础”课程教学中的计算与结论进行课堂验证,解决了教学实践中存在的理论与实验脱节、存在时间差的问题,对改善学生学习效果、提高课程教学质量均有重要意义。