




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要 自动控制原理是学习自动控制技术的一门重要的专业基础课程,是控制理论 的基础。而实验课是自动控制原理整个教学过程中不可缺少的重要组成部分。由 于时间和专业知识的限制,直接利用 matlab 语言编程进行控制系统分析是不方 便的,需要在 matlab 基础上为用户开发出适用于适用的接口界面。论文介绍了 在 matlab 软件环境下开发出的自动控制原理实验教学软件。它利用 matlab 语言 的图形用户界面设计功能(gui)及其提供的控制系统工具箱对自动控制系统进行 稳定性分析、根轨迹分析、频域分析,并说明了本软件的特点、功能和效果。结 果证明该软件系统可以取代传统模拟实验,它不仅能提高实验
2、教学效率,改善实 验效果,而且方便易行,具有推广应用价值。同时利用该软件可以系统的让学生 掌握控制系统设计思想的演化过程以及自动控制学科专业知识,从而提高学生分 析和解决设计问题的能力。 关键词:自动控制原理,matlab,虚拟实验系统,gui(图形用户界面) abstract automatic control theory is an important professional course in learning automatic control. and its a foundation of control theory. experiment is an indispensab
3、le part in learning automatic control theory. for a beginner of automatic control system, it is difficult to use the matlab programming language to analysis the control system, due to the limited time and poor professional knowledge. so we need to develop an interface which is easy to use based on m
4、atlab. this paper is about developing an experimental teaching software of automatic control theory in matlab. we make model for automatic control system and analysis the stability, root locus and frequency domain by using the interface design function and automatic control toolbox. additionally, we
5、 provide the note about the features, functions and effects of the software. our results demonstrate that this software can replace traditional experiment. it could not only increase the teaching efficiency and improve the experiment teach effect, but also the software is very convenient. and also t
6、his software could make the students to master the evolvement process of design method of automatic control system and professional knowledge of automatic control. obviously, it will improve the students ability of analysis and solving problems. keywords : automatic control theory ,matlab ,virtual e
7、xperimental system ,gui 目 录 摘 要 .i abstract .ii 1 绪 论 .1 2 虚拟实验系统的总体设计 .2 2.1 背景知识介绍 .2 2.1.1 matlab 的优势和特点以及在控制系统中的运用 .2 2.2 虚拟实验系统总体设计原理 .5 2.3 虚拟实验系统总体设计框图 .5 3 系统的主界面设计 .7 3.1 主界面模块框图 .7 3.2 主界面的具体设计及设计成果 .7 4 线性系统的分析和校正 .10 4.1 线性系统的时域分析 .10 4.2 线性系统的根轨迹分析 .12 4.3 线性系统的频域分析 .13 4.3.1 频域分析演示窗口的实
8、现.13 4.3.2 频域实验窗口分析 .17 4.4 线性系统的串联校正 .18 5 非线性部分仿真演示窗口 .26 6 总结和展望 .27 6.1 本文工作总结 .27 6.2 课题展望 .27 参考文献 .29 致 谢 .30 附录:所用函数表 .31 1 绪 论 在目前有限的课堂教学和实验学时内,运用一定的仿真软件和计算机技术, 使学生掌握专业的基本理论和控制系统的设计思想和方法,培养学生科研能力, 是专业教学中值得研究和探讨的课题。本课题就是利用 matlab 的界面设计功能 及其提供的控制系统工具箱可以开出一个用户界面良好的自动控制原理虚拟 实验系统,以每个实验项目为本系统的各个子
9、系统。每个子系统的具体任务包括: 界面设计、包括实验目的、实验设备和实验内容、实验报告、实验要求、仿真模 型、图形演示和关闭按钮等。然后利用该套实验系统来对自动控制原理课程 中的内容进行计算、仿真与研究。 这样用仿真实验手段取代传统模拟实验明显提高实验效率、改善实验效果, 同时让学习者能够了解了实验过程中参数如何选择,了解实验参数改变的依据, 直观地看出参数变化对系统的影响,大大提高了实验效率,取得了良好的实验效 果,既调动了学生的积极性和创造性,又培养了学生分析、设计和调试自动控制 系统的能力,对创造更开放和有创意的实验环境是很有帮助,同时学习者不需要 太多 matlab 知识就能方便的操作
10、和应用。 2 虚拟实验系统的总体设计 2.1 背景知识介绍 以往人们在分析和设计控制系统是都笔算来解决问题,后来逐渐利用计算机 采用 basic、fortran 和 c 语言完成控制系统的计算机辅助设计(cacsd) 。自从 matlab 与 1984 年诞生以来,这一切都发生了改变。 我们知道自动控制原理与系统是自动化、机电一体化等专业教学中重要的专 业课,特别是在信息时代,自动化技术是一个最为活跃的推动力,特别是控制理 论目前已经发展到一个新阶段:智能控制理论和大系统理论,使得控制理论贯穿 与整个社会的各个领域,从自然科学领域到社会科学领域,都可见到控制的踪迹。 但是,由于自动控制原理又是
11、一门理论性极强的课程,对学生的数学功 底(特别是积分变换理论和矩阵理论)要求很,课程中的很多结论非常抽象。比 如:稳定性分析、时域频域分析、根轨迹图、波特(bode)图、乃氏 (nyquist)图、尼氏(nichols)图等。而且实验课是自动控制原理整个教 学过程中不可缺少的重要组成部分,对于初学自动控制理论课的学生来说由于 时间和专业知识的限制,直接利用 matlab 语言编程进行控制系统分析是极不方 便的。 现在,借助 matalb 强大的科学运算功能、灵活的仿真功能(simulink) 、便 捷的编程功能和高质量的绘图功能,以及丰富详尽的控制工具箱(toolbox) ,可 以用图形显示和
12、动画显示的方式使教师和学生具体地掌握控制理论中的抽象结论, 并可以随意改变系统参数,观察系统的性能指标的变化,从而对控制理论有一个 更深刻的理解,并激发学习者的开拓意识和创新精神。 目前高校中现成的基于 matlab 的控制理论课程的教学辅助系统几乎是风毛 麟角,即使有,也是功能十分简单的仿真分析系统,没有实现真正意义上的辅助 教学。我们拟开发这样一个辅助教学系统,具有良好的人机交互界面,方便的系 统仿真功能,灵活的系统参数设置功能,强大的图形显示输出功能,同时控制算 法可以自行编制。 2.1.1 matlab 的优势和特点以及在控制系统中的运用 matlab 语言是当今国际上科学界(尤其是自
13、动控制领域)最具影响力、也是 最具有活力的软件。它起源于矩阵运算,并已经发展成一种高的度集成的计算机 语言。其开发的环境、功能极强的矩阵运算、图形绘制、数据处理、各种工具箱、 以及象“草稿纸”一样的工作空间等许多优点,使其提供了强大的科学运算、灵 活的程序、高质量的图形可视化与界面设计、便捷的与其它程序和语言接口功能。 作为一个专业的科学计算软件,matlab 的功能首先在应用,即应用现有函数 和工具(箱)解决具体问题。matlab 的配套工具箱尤其值得一提,这些工具箱将 一流专家学者的理论和经验与 matlab 高技术计算环境的内在效力及灵活性有机 地集成为一体。用户不仅可快速获得特定问题的
14、准确答案,而且能随时对各类计 算或测试数据进行可视化处理。 此外,matlab 还有一个功能强大的、可视化的、交互环境的工具 simulink,用于模拟非线性动态系统。simulink 提供了一个用于创建动态系统对 角模块的图形用户界面,使用框图式动态系统仿真工具 simulink 可以方便地建 立控制系统原型和控制对象模型,通过仿真不断地优化和改善用户的设计。无论 是离散的、连续的、条件执行的、多采样的或混杂的系统,simulink 都是描述动 态系统模型的最佳工具。 (1)友好的工作平台和编程环境 matlab 由一系列工具组成。这些工具方便用户使用 matlab 的函数和文件,其 中许工
15、具采用的是图形用户界面。包括 matlab 桌面和命令窗口、历史命令窗口、 编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随 着 matlab 的商业化以及软件本身的不断升级,matlab 的用户界面也越来越精致, 更加接近 windows 的标准界面,人机交互性更强,操作更简单。而且新版本的 matlab 提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编 程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能 够及时地报告出现的错误及进行出错原因分析。 (2)简单易用的程序语言 matlab 是一个高级的距阵/阵列语言,它包含控制语句、函
16、数、数据结构、 输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令 同步,也可以先编写好一个较大的复杂的应用程序(m 文件)后再一起运行。新版 本的 matlab 语言是基于最为流行的 c语言基础上的,因此语法特征与 c语 言极为相似,而且更加简单,更加符合科技人员对数字表达式的书写格式。使之 更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强, 这也是 matlab 之所以能够深入到科学研究及工程计算各个领域的重要原因。 (3)强大的科学计算机数据处理能力 matlab 是一个包含大量计算算法的集合。其拥有 600 多个工程中要用到的数 学运算函数,可
17、以方便的实现用户所需的各种计算功能。函数中所使用的算法都 是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常 情况下,可以用它来代替底层编程语言,如 c 和 c 。在计算要求相同的情况下, 使用 matlab 的编程工作量会大大减少。matlab 的这些函数集包括从最简单最基 本的函数到诸如距阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的 问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求 解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运 算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动 态仿真等。 (
18、4)出色的图形处理功能 matlab 自产生之日起就具有方便的数据可视化功能,以将向量和距阵用图形 表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可 视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的 matlab 对整个图形处理功能作了很大的改进和完善,使他不仅在一般数据可视化 软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善, 而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维 数据的表现等),matlab 同样表现了出色的处理能力。同时对一些特殊的可视化 要求,例如图形对话等,matlab 也有相应的功能函数
19、,保证了用户不同层次的要 求。另外新版本的 matlab 还着重在图形用户界面(gui)的制作上作了很大的改 善,对这方面有特殊要求的用户也可以得到满足。 (5)应用广泛的模块集合工具箱 matlab 对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说, 他们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估 不同的方法而不需要自己编写代码。目前,matlab 已经把工具箱延伸到了科学研 究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、 优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统 辨识、控制系统设计、lmi 控制、鲁棒控
20、制、模型预测、模糊逻辑、金融分析、 地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定 点仿真、dsp 与通讯、电力系统仿真等,都在工具箱(toolbox)家族中有了自己 的一席之地。 (6)实用的程序接口和发布平台 新版本的 matlab 可以利用 matlab 编译器和 c/c 数学库和图形库,将自己的 matlab 程序自动转换为独立于 mzatlab 运行的 c 和 c 代码。允许用户编写可以 和 matlab 进行交互的 c 或语言程序。另外,matlab 网页服务程序还容许在 web 应用中使用自己的 matlab 数学和图形程序。 matlab 的一个重要特色
21、就是他有一套程序扩展系统和一组称之为工具箱的特 殊应用子程序。工具箱是 matlab 函数的子程序库,每一个工具箱都是为某一类 学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、 小波分析和系统仿真等方面的应用。 (7)应用软件开发(包括用户界面) 在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持 了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能, 包括对性对起连接注释等;在输入输出方面,可以直接向 excel 和 hdf5。 2.2 虚拟实验系统总体设计原理 本虚拟实验系统是在 matlab7.0 版本的语言平台上开发的,在设计中
22、我们采 用自上而下的需求分析,首先确定整个系统的总体框架,然后将每个实验项目作 为本框架的各个子系统,确定统一的接口。在代码的实现上,我们采用自下而上 的编程思想,分别完成每个子系统,完成后对整个系统进行实验分析、调试和测 试。 本软件的功能是根据科研、教学、相关实验和课程设计等的需要,辅助学习 者完成控制系统分析与设计过程中所涉及到的各种计算和绘图等,提供一个方便 的系统分析和综合的软件操作平台本软件具有如下的功能: 1)系统输入形式多样化:输入模型是零、极点形式,通过输入不同分式的 分子和分母来改变的图形响应。 2)绘图功能:能准确地绘制出系统的 bode 图、nyquist 图、根轨迹图
23、及其 它输入下的响应曲线。 3)分析功能:根据各种分析需要求出系统的超调量、调节时间等各种时域 性能指标或幅值裕度、相位裕度等频域性能指标。 4)校正器设计:对需要校正的系统进行串联校正器的计算机辅助设计,并 绘制出校正前、后系统的 bode 图、单位阶跃响应曲线图等图形,显示校正前、 后系统的时域、频域性能指标,便于设计者进行比较、分析。 5)美观、操作简便:本文所研制的基于 matlab 的控制系统分析与设计软 件包具有 widows 程序风格,人观简洁,操作简单,易于应用。 2.3 虚拟实验系统总体设计框图 按照上述设计思想和满足自动控制原理的课程教学内容、科研、相关 实验和课程设计等设
24、计出本虚拟实验系统的总体框架(见图 2.1) 。 matlab windows 确定进入实验系统 虚拟实验系统主界面 图 2.1 虚拟实验系统的总体框架 介绍了系统的总体构架后,下面我们来具体对系统的主界面设计进行详细介 绍。 3 系统的主界面设计 3.1 主界面模块框图 我们设计的主界面是让用户可以很快的了解该软件的功能并可以很简单的通 过图形用户界面来对该程序进行操作。主界面模块框图如图 3.1 所示,我们得主 界面上有六个窗口组成: 实验操作窗口: 通过该连接可以将用户导入实验操作的子窗口,该窗口的 设计目的是为了让用户有个可以实现自己模型的平台,这个平台是为了那些不满 足于现有的实验项
25、目的用户,结合模型元件库就可以设计出适合不同用户的平台。 1)2)3)4)5)是仿真实验项目, 这是该程序的主体,其包括了所完成的 各个实验项目的链接,通过相应的链接我们可以进入不同的实验子窗口,在各个 实验的窗口中我们就可以完成各个实验项目。 6)退出:这是为了在用户结束使用的时候退出 matlab 或退出实验窗口所设 立的。 在其各自的窗口中我们可以通过图形用户界面很方便的了解自动化控制中几 个比较典型的模型,对于学习自动化理论的用户来说是相当方便的。 图 31 主界面模块框图 虚拟实验系统主界 面 时域分析 频域分析 根轨迹分析 实验 非线性仿真 真 退出串联校正 频 率 特 性 演 示
26、 窗 口 频 域 实 验 窗 口 分 析 线 性 系 统 特 性 分 析 根 轨 迹 特 性 分 析 根 轨 迹 实 验 窗 口 元 件 设 计 控 制 器 非 线 性 二 阶 响 应 频 描 述 函 数 法 典 型 环 节 阶 跃 响 应 退 出 实 验 二 阶 系 统 的 响 应 退 出 m a t l a b 3.2 主界面的具体设计及设计成果 根据主界面的模块框图,我们就可以在图形用户界面(gui)里设计出我们 的主界面,具体设计步骤如下: 菜单的建立,在 matlab 中可以通过命令行方式和 gui 设计工具中的菜单编 辑器 menu editor 两种方式来建立菜单。在本次设计中采
27、用了 gui 设计工具中的 菜单编辑器 menu editor。首先新建一个 gui(图形用户界面) ,根据主界面的模 型框架,在菜单编辑器建立菜单,然后运行,得到相应的 m 文件。在得到的 m 文 件中,定义变量,进行各个模块的调用。现举一个“主界面菜单栏对应 m 文件生 成”的实例。 %主界面菜单栏对应的 m 文件生成 fzyswin=uimenu(gmain,label,线性系统的时域分析,call,clear all); uimenu(fzyswin,label,典型环节阶跃响应,call,shiyan10); uimenu(fzyswin,label,二阶系统的响应,call,ers
28、tep1); uimenu(fzyswin,label,线性系统稳定性分析,call,shiyan30); fzyswin=uimenu(gmain,label,线性系统的频域分析,call,clear all); uimenu(fzyswin,label,系统频率特性分析,call,shiyan40); uimenu(fzyswin,label,频域实验窗口分析,call,lab5); fzyswin=uimenu(gmain,label,线性系统的根轨迹分析,call,clear all); %uimenu(fzyswin,label,非线性元件设计实际 pid 控制器 ,call,fei
29、xianx); uimenu(fzyswin,label,根轨迹特性分析,call,shiyan38); uimenu(fzyswin,label,根轨迹实验窗口分析,call,lab42); fxxwin=uimenu(gmain,label,控制系统的串联校正实验 ,call,shiyan50); fxxwin=uimenu(gmain,label,非线性部分仿真演示窗口,call,clear all); uimenu(fxxwin,label,非线性元件设计实际 pid 控制器 ,call,feixianx); hclose=uimenu(gmain,label,退出); uimenu(
30、hclose,label,退出实验,call,close(gcf); uimenu(hclose,label,退出 matlab,call,quit); 最后生成新的 m 文件:lab.m 文件,在运行该文件,得到图的主界面,如图3.12 所示虚拟实验系统的主界面。 图 3.2 虚拟实验系统的主界面 经过这几个月的努力,逐渐建立了一个用户界面良好的自动控制原理虚拟实 验系统。在这个系统中实验全部用软件来实现,只需利用现有的计算机就可完成 “自动控制原理 课程的实验,它太大减少购置仪器的经费,不愧为一种“价廉 物美”的替代实验手段。该系统是中文界面,具有人机界面友好、结果可视化的 优点。可实现资
31、源共享和多任务并行的要求。 对用户而言,操作简单易学且无须编程,参数输人与修改是活具有多次或 重复仿真运行的控制能力,可以显示校正前后系统的特性曲线,能很直观漂亮地 绘制出控制系统的阶跃响应曲线、伯德图、乃氏图和根轨迹图。这些很强的交互 能力使其在自动控制原理的实验中可以发挥理想的效果。 4 线性系统的分析和校正 4.1 线性系统的时域分析 根据设计目的,我们首先设计出如下所示的框架,如图 4.1 所示。 线性系统的时域分析 实 验 目 的 实 验 报 告 实 验 要 求 图 形 演 示 实 验 内 容 实 验 设 备 典型环节阶跃响应阻尼比对二阶系统响应的影响线性系统稳定性 一阶系统的单位阶
32、跃响应 一阶系统的单位脉冲响应 实 验 目 的 实 验 报 告 图 形 演 示 实 验 内 容 实 验 设 备 实 验 要 求 阻尼和角频率下的根轨迹 系统开环零极点的位置 系统的常规根轨迹 图 4.1 线性系统的时域分析的结构框图 对于典型环节阶跃响应和线性系统稳定的界面,实验方法同控制系统的串联 校正实验和频域分析演示窗口的实现的一样,下面将详细陈述,这里就不多赘述 了。现在我们着重介绍下阻尼比对二阶系统响应的影响。 根据框架,首先新建一个 gui(图形用户界面) ,将在该界面打开系统阶跃响 应曲线,并且将模块涉及到的工具箱中的对象控件也拖至主界面,选择的控件在 按照统一的格式在界面上布置
33、好,然后运行,得到相应的 m 文件,然后打开该 m 文件,添加相应的代码,使阻尼比可以再滑动滚条下改变,或许在文本框里输入 相应的参数,从而改变阻尼比来改变阶跃响应曲线,即得到不同阻尼比对阶跃响 应的影响,如图 4.2 和 4.3 所示,不同阻尼比时的阶跃响应,从而可以进行比较。 图 4.2 二阶系统的阶跃响应 图 4.3 阻尼比改变时的阶跃响应 4.2 线性系统的根轨迹分析 对于线性系统的根轨迹分析的界面,分为根轨迹特性演示的分析和根轨迹实 验分析,根轨迹演示的分析其实验方法同上面介绍的控制系统的串联校正实验和 频域分析演示窗口的实现的一样,这里就不多赘述了。如果单击线性系统的根轨 迹分析下
34、的子模块系统试验分析窗口,然后弹出如图 4.4 所示窗口。 图 4.4 根轨迹实验窗口 单击界面中的初始化按钮,然后再单击根轨迹图的按钮,系统会弹出另一个 界面如图 4.5 所示。 图 4.5 系统根轨迹图 4.3 线性系统的频域分析 4.3.1 频域分析演示窗口的实现 根据设计目的,我们设计出如下所示的框架,如图 4.6 所示。 频域分析演示窗口 实 验 目 的 实 验 报 告 实 验 要 求 实 验 内 容 图 形 演 示 实 验 设 备 仿 真 模 型 关 闭 按 钮 二 阶 系 统 的 b o d e 图 系 统 的 相 角 裕 度 和 增 益 裕 度 系 统 的 奈 斯 特 图 系
35、统 加 零 极 点 前 的 闭 环 频 率 系 统 加 零 极 点 前 的 闭 环 频 率 图 4.6 频域分析图形演示 根据模型框架,首先新建一个 gui(图形用户界面) ,将模块涉及到的工具箱 中的 pushbutton 控件和 static text 控件拖至主界面,选择的控件在按照统一 的格式在界面上布置好,然后右击显示 property lnspector(属性检测),更改它 们的属性,系统会自动生成相应的 m 文件,具体实现方法如控制系统的串联校正, 这里不在重复叙述了。最后生成新的 m 文件,在运行该文件,得到如图 4.7 所示 系统的频域分析界面。 图 4.7 系统的频域分析
36、然后我们可以分别单击进入按钮,可以看到与其对应的图形,首先我们先单 击二阶系统的 bode 图的进入按钮,系统会弹出二阶系统的 bode 图图形的界面, 如图 4.8 所示。 图 4.8 二阶系统的 bode 图 其 m 文件实现方法如上 bode 校正实验结果类同,这里不多陈述了。在这里 我们可以观察二阶系统 bode 图的幅频特性曲线和与其对应的相频特性曲线。然 后我们单击系统的相角裕度和增益裕度的进入按钮,系统会弹出一个界面如图 4.9 所示 bode diagram(伯德图的图表)。 图 4.9 bode diagram(伯德图的图表) 然后可以按下关闭按钮将图形关闭,随着我们单击系统
37、加零极点前的闭环频 率和系统加零极点后的闭环频率的进入按钮,我们将两图形进行比较,如图 4.10 和图 4.11 所示的零极点前后的闭环频 bode diagram(伯德图的图表)。 图 4.10 系统加零极点前的闭环频率特性 图 4.11 系统加零极点后的闭环频率特性 其生成 m 文件的方法如上 bode 校正实验结果类同,这里不多陈述了。通过 频域分析演示窗口这个框块可以知道该控制系统还包括实验报告,实验内容,实 验设备、实验要求、仿真模型、图形演示和关闭按钮;然后我们可以进行具体查 频域分析图形窗口 输入相应的参数 初始化nyquis 图bode 图marginnichols 图 图 t
38、u 闭环幅频 特性 看它们的内容,这部分内容比较简单在这里不多阐述了,本次实验结束。 4.3.2 频域实验窗口分析 根据设计目的,我们设计出如下所示的框架,如图 4.12 所示。 图 4.12 频域分析图形窗口 根据模型框架,首先新建一个 gui(图形用户界面) ,将模块涉及到的工具 箱中的对象控件拖至主界面,选择的控件在按照统一的格式在界面上布置好,然 后运行,得到相应的 m 文件。定义变量,在各个 pushbutton 按钮下添加完成相应 功能的代码。在添加完毕后,运行调试直到成功。最后得出该界面见图 4.13。 图 4.13 频域分析窗口 另外,通过 simlink 仿真,由于传递函数的
39、分子分母都不是具体形式,所以 要对分子分母系数进行合理的设值,从此得出与输入参数相对应的传递函数。然 后单击下面的按钮,从而分别得出画相应的图形。我们举例说明一下。双击初始 化按钮后,在双击 nyquist 图按钮,系统会弹出界面,如图 4.14 所示开环 nyquist。 图 4.14 开环 nyquist 图 然后我们可以观察该图形的走向,随后我们继续单击 bode 按钮,系统会弹 出一个界面,如图 4.15 所示开环伯德图。 图 4.15 开环伯德图 4.4 线性系统的串联校正 现在展示一下本虚拟实验系统的功能,在自动控制原理实验中的应用。 首先我们根据设计目的,我们设计出如下所示的界面
40、模块框图,如图 4.16。 控制系统的串联校正 实 验 目 的 实 验 报 告 实 验 要 求 图 形 演 示 实 验 内 容 实 验 设 备 仿 真 模 型 关 闭 按 钮 未 校 正 系 统 的 伯 德 图 校 正 前 后 系 统 的 阶 跃 响 应 校 正 系 统 的 伯 德 图 串 联 超 前 校 正 串 联 滞 后 校 正 串 联 超 前 滞 后 校 正 图 4.16 串联校正模块框图 根据模型框架,首先新建一个 gui(图形用户界面) ,将模块涉及到的工具 箱中的 pushbutton 控件和 static text 控件拖至主界面,选择的控件在按照统一的 格式在界面上布置好,然后
41、右击显示 property lnspector(属性检测),更改它们的属 性,系统会自动生成相应的 m 文件: function varargout = shiyan50(varargin) gui_singleton = 1; gui_state = struct(gui_name, mfilename, . gui_singleton, gui_singleton, . gui_openingfcn, shiyan50_openingfcn, . gui_outputfcn, shiyan50_outputfcn, . gui_layoutfcn, , . gui_callback, );
42、 if nargin end if nargout varargout1:nargout = gui_mainfcn(gui_state, varargin:); else gui_mainfcn(gui_state, varargin:); end function varargout = shiyan50_outputfcn(hobject, eventdata, handles) varargout1 = handles.output; function pushbutton1_callback(hobject, eventdata, handles) function pushbutt
43、on2_callback(hobject, eventdata, handles) function pushbutton3_callback(hobject, eventdata, handles) function pushbutton4_callback(hobject, eventdata, handles) function pushbutton5_callback(hobject, eventdata, handles) function pushbutton6_callback(hobject, eventdata, handles) function pushbutton7_c
44、allback(hobject, eventdata, handles) function pushbutton8_callback(hobject, eventdata, handles) 最后生成新的 m 文件:sinyan50.m 文件,在运行该文件,得到如图4.17 所示控 制系统串联校正界面。 图 4.17 控制系统串联校正 有上面的模块可以知道控制系统的串联校正实验包括实验目的、实验设备、 实验内容、实验报告、实验要求、仿真模型、图形演示和关闭按钮。首先我们再 新建一个 gui(图形用户界面) ,将模块涉及到的工具箱中 static text 控件拖至主 界面,然后右击显示 pro
45、perty lnspector(属性检测),更改它的属性,系统会自动生 成相应的 m 文件: function varargout = shiyan51(varargin) gui_singleton = 1; gui_state = struct(gui_name, mfilename, . gui_singleton, gui_singleton, . gui_openingfcn, shiyan51_openingfcn, . gui_outputfcn, shiyan51_outputfcn, . gui_layoutfcn, , . gui_callback, ); if nargi
46、n end if nargout varargout1:nargout = gui_mainfcn(gui_state, varargin:); else gui_mainfcn(gui_state, varargin:); end function shiyan51_openingfcn(hobject, eventdata, handles, varargin) handles.output = hobject; guidata(hobject, handles);. function varargout = shiyan51_outputfcn(hobject, eventdata, h
47、andles) varargout1 = handles.output; 最后生成新的 m 文件:sinyan51.m 文件,在运行该文件,得到如图4.18 所示实 验目的的界面。 图 4.18 实验目的 实验后可单击“关闭按钮” ,该界面将关闭。接下来同类的 m 文件生成方法 如 sinyan50.m 文件的方法类同,在这里不在重复叙述了,单击 m 文件的运行, 系统会弹出一个界面,如图图 4.19 所示线性系统校正。 图 4.19 线性系统校正 然后我们可以单击未校正系统的伯德图的进入按钮,系统会弹出与其对应的 bode 图图形,如图 4.20 所示校正前系统的伯德图。 图 4.20 校正
48、前系统的伯德图 其对应的 m 文件如下: %未校正前的伯德图% num1=35; den1=0.00001 0.0031 0.215 1 0; mag1,phs1,w=bode(num1,den1) margin(num1,den1) %绘制伯德图,得出相角裕度和增益裕度 printsys(num,den); %显示系统传递函数 grid 然后我们可以单击校正后系统的伯德图的进入按钮,系统会弹出与其对应的 bode 图图形,如图 4.21 所示校正后系统的伯德图。 。 图 4.21 校正后系统的伯德图 其对应的 m 文件如下: %校正后的系统伯德图% num3=7 105 350; den3=
49、0.00001 0.0031 0.215 1 0 0; mag3,phase3,w=bode(num3,den3); margin(num3,den3) %绘制伯德图,得出相角裕度和增益裕度 printsys(num3,den3); %显示系统的传递函数 grid 然后我们还可以单击退出按钮,系统会自动关闭该页面,我们可以通过控制 系统的串联校正这个框块,可以知道该控制系统还包括实验报告,实验内容,实 验设备、实验要求、仿真模型、图形演示和关闭按钮;然后我们可以进行具体查 看它们的内容,这部分内容比较简单在这里不多阐述了,本次实验结束。 5 非线性部分仿真演示窗口 根据设计目的,我们首先设计出
50、如下所示的框架,如图 5.1 所示。 图 5.1 非线性部分仿真演示窗口 单击非线性部分仿真演示窗口下的描述函数法,弹出非线性系统结构图,如 图 5.1 所示。 图 5.2 非线性系统结构图 由于时间的局限非线性元件设计实际 pid 控制器和非线性二阶系统的仿真还 没有实现,还需要后续进行完善。 非线性部分仿真演示窗口 非线性二阶系统描述函数法非线性元件设计实际 pid 控制 器 6 总结和展望 6.1 本文工作总结 本次毕业设计用 matlab 设计了自动控制原理虚拟实验系统,主要设计友好 的人机界面供学生做实验使用。学生只要在相应实验的界面上指定位置输入数值 (如传递函数的分子、分母) ,
51、再点击相应按钮便可得到结果,让学生将主要精 力放在对控制理论概念的理解上。 通过这次毕业设计机会我强化了自己的自动控制理论,学会了用 matlab 进 行控制理论和控制工程研究的基本思路和方法。matlab 语言的数值计算和绘图功 能非常强大,而且精度可以满足要求,这就直接省去了我们的绘图时间。我还了 解了 matlab 和其 gui 界面的控制系统工具箱,它是 matlab 中的一个重要的领域 型工具箱,主要用于线性定常系统的分析、设计与仿真。从分析系统的角度来讲, 我掌握了简单控制系统方法,然后对于具体系统得到系统的总传递函数,基于所 得到的传递函数进行系统性能分析,此次毕业设计这一块我们
52、重在介绍系统的主 界面 gui(图形用户界面)设计与部分模块实现。 当然在这次毕业设计中我们也有许多不足之处:由于在毕业设计初期全局考 虑不够周全,由于时间的仓促有些内容的仿真还没有实现,还需要后续进行完善, 还有各分部内容考虑的不够细致,陈述不够详细和语句不够专业;关于 matlab 与 c 语言等其他高级语言的接口问题有些地方没有涉及好,总之本实验系统也还 有较多的需要完善的地方。 6.2 课题展望 我们所设计的虚拟实验系统软件只是一个单机的仿真软件,对于用户而言, 必须每台客户机都装有一套软件,软件投入资金大,同时,对客户机的要求又高, 以运行很庞大的仿真软件。我需要一个基于网络平台的远
53、程实验、仿真系统。该 系统可以使实验的方式有一个本质的改进,通过网络,可以使多个人同时共享一 台设备,使以前一人一台的实验方式变为了多人一台实验设备的远程实验方式, 实现真正的实验设备的共享方式。这将使更多的学生可以进行必要的实验,弥补 了实验设备、仿真软件的缺乏,改善了学校的实验状况,提高实验的开出率。同 时可以降低对运行的硬件平台的要求,降低软件的投入,减少软件运行维护的费 用,降低客户机的配置要求。大大减少实验室的投入,降低办学成本。同时,还 可以便于学生自学,培养学生的自学能力和创新能力。 要真正实现基于网络的远程实验、仿真、数据分析等,非常困难。必须对那 些仿真软件平台进行研究分析和大量的二次开发工作,包括远程实验、仿真平台 的理论研究、平台的搭建、数据的传输、数据的安全、数据的共享、实验在线监 视系统、学生实验情况的专家知识库、利用知识库提供在线操作指导等等。这正 是该项目的难点,也是我们继续要开发研究的。 参考文献 1胡寿松.自动控制原理m.北京:科学出版社,2003:28-35. 2张志涌.精通 matlab 6.5 版m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政管理经济法复习时间安排指南试题及答案
- 房地产土石方运输协议
- 园林景观设计在市政中的应用试题及答案
- 城市广场设计与功能分析试题及答案
- 2024年太阳能热发电系统投资申请报告代可行性研究报告
- 提升复习效率市政试题及答案技巧
- 板栗钓鱼测试题及答案
- 会议室材料采购协议
- 深度复习中级经济师试题及答案
- 工程经济考试相关知识的重点试题及答案
- 2025年-重庆市建筑安全员B证考试题库附答案
- 结肠癌科普知识
- 2025-2031年中国核电用钛合金管道行业发展前景预测及投资方向研究报告
- 政府项目投资合作框架协议书范本
- 具身智能项目建设规划方案(参考模板)
- 科学小实验手摇发电机
- 三类人员安全教育
- 2024电能存储系统用锂蓄电池和电池组安全要求
- DB14-T 3225-2025 煤矸石生态回填环境保护技术规范
- 劳务外包服务投标方案(技术标)
- DB33T 1209-2020 无机轻集料保温板外墙保温系统应用技术规程
评论
0/150
提交评论