控制系统CAD与数字仿真实验指导书(新版)解析.pdf
控制系统 CAD 及数字仿真实验指导书 第 4 页 控制系统 CAD 及数字仿真实验指导书 自动化系 控制系统 CAD 及数字仿真实验指导书 第 4 页 目 录 第一章 前言.2 第二章 控制系统 CAD 及数字仿真实验 1 数据处理方法的MATLAB实现.4 2 控制系统建模的MATLAB实现.5 3 PID 校正设计的 MATLAB 实现.6 4 微分方程的 Simulink 仿真.7 5S 函数的编写和 Simulink 仿真.9 6图像处理系统的算法和界面设计.10 控制系统 CAD 及数字仿真实验指导书 第 4 页 第一章 前 言 本实验课程是与学科基础选修课程控制系统CAD 及数字仿真相配合的实践课程。作为联系自动控制理论、自动控制系统设计、课程设计、毕业设计等教学环节的仿真技术类课程,其不仅可以使学生加强课程的学习效果,而且还可为学生在毕业设计中提供一个强有力的工具,有效加强教学中的实践性教学环节,提高学生的独立工作能力和创造性思维能力。开设本课程的目的,主要是培养学生运用 MATLAB 语言进行编程和仿真的能力,为今后从事科研工作和与专业有关的工程技术工作打好基础。一、上机实验要求 1、要求学生熟悉 MATLAB 中的控制系统工具箱与 SIMULINK 软件包。2、能根据有关控制算法,编写有关的 MATLAB 程序。3、能对实验结果进行分析和讨论,得到相关的实验结论。二、上机实验的基本程序:1、明确实验任务。2、提出实验方案。3、编制有关的 MATLAB 程序或利用 SIMULINK 工具建立系统的仿真模型。4、进行实验操作,作好观测和记录,保存有关的实验数据。5、整理实验数据,得出结论,撰写实验报告。在进行上机实验时,上述程序应让学生独立完成,教师给予必要的指导,以培养学生的动手能力。要做好各个上机实验,就应做到:实验前做准备,实验中有条理,实验后勤分析。控制系统 CAD 及数字仿真实验指导书 第 4 页 实验一 数据处理方法的 MATLAB 实现 一、实验目的 学会在 MATLAB 环境下对已知的数据进行处理。二、实验方法 1.求取数据的最大值或最小值。2.求取向量的均值、标准方差和中间值。3在 MATLAB 环境下,对已知的数据分别进行曲线拟合和插值。三、实验设备 1586 以上微机,16M 以上内存,400M 硬盘空间,2X CD-ROM 2MATLAB7.0 及以上含 CONTROL SYSTEM TOOLBOX。四、实验内容 1在 MATLAB 环境下,利用 MATLAB 控制系统工具箱中的函数直接求取数据的最大值或最小值,以及向量的均值、标准方差和中间值。2在 MATLAB 环境下,选择合适的曲线拟合和插值方法,编写程序,对已知的数据分别进行曲线拟合和插值。x 0.01 1.01 2.01 3.01 4.01 y 2.5437 7.8884 9.6242 11.6701 11.9727 x 5.01 6.01 7.01 8.01 9.01 y 13.2189 14.2679 14.6134 15.4045 15.0805 五、实验步骤 1.在 MATLAB 环境下,将已知的数据存到数据文件 mydat.dat 中。2.然后用 load 命令从数据文件 mydat.dat 中把数据调到 MATLAB 的工作空间中来。3.在 MATLAB 环境下,利用 MATLAB 控制系统工具箱中的函数直接求取数据的最大值或最小值,以及向量的均值、标准方差和中间值。4.在 MATLAB 环境下,编写程序,对已知的数据进行曲线拟合和插值。六、问题与讨论 1、曲线拟合和插值有什么区别?常用的曲线拟合和插值方法有哪几种,如何用 MATLAB 函数实现?2、对数据进行处理有什么实际意义?3、谈谈实验体会。控制系统 CAD 及数字仿真实验指导书 第 4 页 实验二 控制系统建模的 MATLAB 实现 一、实验目的 学会在 MATLAB 环境下对控制系统进行建模。二、实验方法 1.线性控制系统的建模和模型间的相互转换。采用 tf()、ss()等函数建立子系统模型,可以采用 ss2tf()、tf2ss()等函数来实现模型间的相互转换。采用 feedback()、series()等函数进行子系统间的连接。2.利用 BP 神经网络对非线性系统进行建模。研究 MATLAB 环境下,BP 神经网络建立、训练和仿真的方法;利用 BP 神经网络实现对非线性系统的建模。三、实验设备 1586 以上微机,16M 以上内存,400M 硬盘空间,2X CD-ROM 2MATLAB7.0 及以上含 CONTROL SYSTEM TOOLBOX。四、实验内容 1定摆长起重机运动控制系统动态结构图如下图所示,其中,小车的质量16mkg,吊重质量212mkg,绳长3lm,摩擦阻尼系数为20.02kg ms,重力加速度取29.81gm s。在 MATLAB 环境下对定摆长起重机运动控制系统进行建模。2基于 BP 网络的肼与过氧化氢反应过程的建模 利用 BP 神经网络技术模拟肼与过氧化氢的反应过程,以寻找最佳反应条件,用于处理肼类废水。实验数据如下表所示:控制系统 CAD 及数字仿真实验指导书 第 4 页 五、实验步骤 1.在 MATLAB 环境下,首先用 tf()函数建立起重机运动控制系统中子系统的模型,然后用 feedback()函数建立起重机运动控制系统的模型。2.在 MATLAB 环境下,编写程序进行 BP 神经网络的创建。3.在 MATLAB 环境下,编写程序利用肼与过氧化氢反应过程的数据对 BP 神经网络进行训练。4.在 MATLAB 环境下,编写程序对 BP 神经网络进行测试。六、问题与讨论 1、控制系统建模的基本方法有哪些?采用机理模型法的前提是什么?2、实验中,所建立 BP 网络的主要参数有哪些,参数设置为多少?3、谈谈实验体会。实验三 PID 校正设计的 MATLAB 实现 一、实验目的 学会在 MATLAB 环境下编写程序来研究 PID 控制系统中参量pK、iT、DT变化时对于系统校正作用的影响;学会编写程序分别用 Ziegler-Nichols 整定公式和稳定边界法整定公式计算系统 P、PI 和 PID 调节器参数。二、实验方法 1.研究比例控制作用:编写程序研究在不同的pK值下,闭环系统的单位阶跃响应曲线。2.研究积分控制作用:令2pK,编写程序研究在不同的iT值下,闭环系控制系统 CAD 及数字仿真实验指导书 第 4 页 统的单位阶跃响应曲线。3.研究微分控制作用:令2piKT,编写程序分别研究在不同的DT值下,闭环系统的单位阶跃响应曲线。4.编写程序调用 wendingPID.m 函数,实现用稳定边界法整定公式计算系统 P、PI 和 PID 调节器参数。三、实验设备 1586 以上微机,16M 以上内存,400M 硬盘空间,2X CD-ROM 2MATLAB7.0 及以上含 CONTROL SYSTEM TOOLBOX。四、实验内容 1 已 知 一 过 程 控 制 系 统 如 下 图 所 示,其 中11()(21)(31)pGsss,21()(101)(41)(1)pGssss,2()5cGs,试分析系统调节器1()cGs分别采用比例、积分、微分控制对系统的影响。2.对上述系统,用稳定边界法函数计算系统调节器1()cGs用作 P、PI、PID 校正时的参数,并给出系统的阶跃响应曲线。五、实验步骤 1.在 MATLAB 环境下,编写函数 wendingPID.m。2.编写有关程序,分析实验结果。六、问题与讨论 1、分析比例、积分、微分控制对系统的影响?2、什么是稳定边界法?如何用稳定边界法进行 PID 校正设计?3、谈谈实验体会。控制系统 CAD 及数字仿真实验指导书 第 4 页 实验四 微分方程的 Simulink 仿真 一、实验目的 了解 MATLAB的 SIMULINK图形仿真环境下仿真模型的搭建方法;掌握SIMULINK 下模型参数和仿真参数的设置方法;学习SIMULINK 封装技术子系统。二、实验方法 1.在 MATLAB的 SIMULINK 图形仿真环境下建立起描述该微分方程的模型。2.对有关模块的参数进行设置后,启动仿真,给出仿真结果。三、实验设备 1586以上微机,16M以上内存,400M硬盘空间,2X CD-ROM 2MATLAB7.0 及以上含CONTROL SYSTEM TOOLBOX。四、实验内容 1考虑Van der Pol 方程,其中,初始值为1(0)2x,2(0)4x,3mu。用 Simulink 搭建系统的仿真模型,如下所示。2考虑简单的线性微分方程:控制系统 CAD 及数字仿真实验指导书 第 4 页 (4)(3)(2)5237sin()yyyyyt 且方程的初始值为 (0)10y,(0)5y,(0)3y,(3)6y 用 Simulink搭建系统的仿真模型。五、实验步骤 1.在 MATLAB环境下,建立Van der Pol方程的仿真模型。2.设置仿真模型的有关参数后,进行仿真,给出仿真结果。3.在 MATLAB环境下,建立简单的线性微分方程的仿真模型。4.设置仿真模型的有关参数后,进行仿真,给出仿真结果。六、问题与讨论 1、在将微分方程转换为Simulink模型时,必须使用什么模块?2、在 Simulink模块下,如果想改变系统的输出方式,同时绘制两条曲线,可以使用什么模块将两路信号混合成一路?3、谈谈实验体会。控制系统 CAD 及数字仿真实验指导书 第 4 页 实验五 S 函数的编写和 Simulink 仿真 一、实验目的 掌握用 MATLAB 语言编写 S 函数的方法。学习 S-Function 块在 Simulink 模型中的使用方法。二、实验方法 基于 M 文件 S-Function 的模板sfuntmpl.m 来编写 S 函数,实现 Simulink模块库的扩展。三、实验设备 1586 以上微机,16M 以上内存,400M 硬盘空间,2X CD-ROM 2MATLAB7.0 及以上含 CONTROL SYSTEM TOOLBOX。四、实验内容 1采用 S 函数实现模块 y=nx,即模块的功能是把一个输入信号 n 倍以后再输出。(1)编写 S 函数 timesn.m。%S 函数 timesn.m,其输出是输入的 n 倍%*function sys,x0,str,ts=timesn(t,x,u,flag,n)switch flag,case 0%初始化 sys,x0,str,ts=mdlInitializeSizes;case 3%计算输出量 sys=mdlOutputs(t,x,u,n);case 1,2,4,9%未使用的 flag 值 sys=;otherwise%出错处理 error(Unhandle flag=,num2str(flag);end%*%mdlInitializeSizes:当 flag 为 0 时进行整个系统的初始化%*2 function sys,x0,str,ts=mdlInitializeSizes(T)%调用函数 simsizes 以创建结构体 sizes sizes=simsizes;%用初始化信息填充结构体 sizes sizes.NumContStates=0;sizes.NumDiscStates=0;sizes.NumOutputs=1;sizes.NumInputs=1;控制系统 CAD 及数字仿真实验指导书 第 4 页 sizes.DirFeedthrough=1;sizes.NumSampleTimes=1;%根据上面的设置设定系统初始化参数 sys=simsizes(sizes);%给其他返回参数赋值。x0=;str=;ts=-1,0;%初始化子程序结束%*%mdlOutputs:当 flag 值为 3 时,计算输出量%*function sys=mdlOutputs(t,x,u,n)sys=n*u;%输出量计算子程序结束。(2)在 Simulink 环境下搭建以下仿真模型,进行模块的测试。2.采用 S 函数来构造非线性分段函数。(1)编写 S 函数 function sys,x0,str,ts=sfunction(t,x,u,flag)switch flag,case 0,sys,x0,str,ts=mdlInitializeSizes;case 3,sys=mdlOutputs(t,x,u);case 1,2,4,9 sys=;otherwise error(Unhandled flag=,num2str(flag);end functionsys,x0,str,ts=mdlInitializeSizes sizes=simsizes;sizes.NumContStates=0;sizes.NumDiscStates=0;控制系统 CAD 及数字仿真实验指导书 第 4 页 sizes.NumOutputs=1;sizes.NumInputs=1;sizes.DirFeedthrough=1;sizes.NumSampleTimes=1;sys=simsizes(sizes);x0=;str=;ts=0 0;function sys=mdlOutputs(t,x,u)(2)在 Simulink 环境下搭建以下仿真模型,进行模块的测试。五、实验步骤 1.在 MATLAB 环境下,编写 S 函数实现 Simulink 模块。2.在 Simulink 环境下搭建仿真模型,进行仿真。六、问题与讨论 1、谈谈 S 函数的作用和编写方法?2、如何在 Simulink 环境中运行 S-Function 模块?3、谈谈实验体会。实验六 图像处理系统的算法和界面设计 一、实验目的 掌握图像处理的基本算法,包括图像的读写、显示;图像的类型转换、图像的几何操作;图像的添加噪声;图像的平滑与滤波等。了解 MATLAB 环境下界面设计的基本方法。二、实验方法 在可视化界面开发环境 Guide 中进行图像处理系统的界面设计,并添加图像处理的有关程序。三、实验设备 控制系统 CAD 及数字仿真实验指导书 第 4 页 1586 以上微机,16M 以上内存,400M 硬盘空间,2X CD-ROM 2MATLAB7.0 及以上含 CONTROL SYSTEM TOOLBOX。四、实验内容 1编写有关程序用插值法进行图像放大或缩小。2编写有关程序用插值法进行图像旋转。3编写有关程序实现图像平滑处理。4.编写有关程序实现图像的中值滤波。5.在可视化界面开发环境 Guide 进行图像处理系统的界面设计。如下所示:控制系统 CAD 及数字仿真实验指导书 第 4 页 五、实验步骤 1.编写图像处理的有关程序。2.进行界面设计。六、问题与讨论 1、用什么函数可以进行图像的读取和保存?2、可视化界面开发环境 Guide 中有什么控件?3、谈谈实验体会。