1、基于matlab在连续性系统中的仿真研究摘要:从数学建模到仿真系统的搭建,再到加进控制环节进行实时控制,最后得出结果的过程中,参考了大量的资料,通过对比整合,设计出了适合自己的一套实验方法:倒立摆数学模型推导部分:首先用牛顿欧拉方法建立数学模型,接着用动态系统空间状态方程法导出状态方程系数矩阵,然后用MATLAB对数学模型进行从状态空间到传递函数的变换(包括传递函数的拉氏变换与Z变换),得到系统的传递函数模型。接着根据数学建模得出的传递函数进行系统模型的搭建,在Simulink软件上进行系统仿真,采用最为广泛的PID控制算法,先用连续系统的设计方法设计出模拟控制器,然后在满足一定条件下,对其进
2、行离散化处理,(采用加零阶保持器的Z变换法)形成数字控制器。接着进行PID参数整定,利用试凑法,根据PID控制器各组成环节对系统性能的影响,从一组初始PID参数开始反复试凑,直至获得,满意的控制效果。此实验中,系统的控制非常稳定,性能较好。关键词:Matlab;仿真;PID;连续系统目录1绪论11.1连续性系统简介11.2连续性系统基本处理方法11.2.1数值积分法11.2.2替换法21.2.3离散相似法31.3MATLAB在连续性系统的应用52 MATLAB基础62.1MATLAB语言介绍62.2MATLAB工具箱62.3MATLAB对连续性系统的仿真性能分析73直线一级倒立摆系统设计73.
3、1倒立摆系统概述73.2倒立摆系统工作原理83.3倒立摆系统数学模型建立93.3.1确定系统输入输出量及中间变量:103.3.2受力分析,列写运动方程:103.3.3系统非线性方程的线性化:113.3.4零初始条件下的拉氏变换:113.3.5代入参数求解传递函数:114基于MATLAB的一级倒立摆系统仿真结果及分析124.1校正前系统性能仿真分析124.1.1稳定性分析:124.1.2阶跃响应分析:124.1.3频率特性分析:134.2PID控制设计校正装置144.2.1计算开环增益K:144.2.2计算校正后的增益交界频率c:164.2.3计算参数确定传递函数:164.3 控制实验仿真分析1
4、65总结和展望21参考文献2231绪论1.1连续性系统简介连续系统是系统状态随时间作平滑连续变化的动态系统。包括由于数据采集是在离散时间点上进行而导致的非连续变化。连续系统可用一组微分方程来描述。当微分方程的系数为常数时称为定常系统,当系数随时间而变化时则称为时变系统。这类系统的数学模型包括连续模型(微分方程等)、离散时间模型(差分方程等)及连续-离散混合模型。非线性系统是用非线性常微分方程(组)描述的系统。描述的微分方程不仅含有状态变量及其各阶导数的线性组合,也含有非线性项。其非线性特性主要表现在:(1)线性系统同时满足均匀性与叠加性。线性方程必定有解,并且其解为零输人响应和零状态响应之和。
5、非线性系统则不具有这些特征,即对非线性系统,通常叠加性原理不成立,非线性方程通常没有解析表达形式的解。(2)给定一个线性系统,对于不同的初始状态,它只有一种类型的运动。但对于非线性定常自由系统则不然,初始状态不同,它对应的运动类型可以不一样。非线性系统有三种类型的运动,即稳定运动、不稳定运动和周期运动。1.2连续性系统基本处理方法1.2.1数值积分法把被仿真系统表示成一阶微分方程组或状态方程的形式。一阶向量微分方程及初值为(1-1)其中,Y为n维状态向量,F(t,Y)为n维向量函数。设方程(1-1)在处的形式上的连续解为(1-2)设 ,令(1-3)则有:也就是说,(1-4)如果准确解为近似值,
6、是准确积分值的近似值,则式(1-4)就是式(1-2)的近似公式。换句话说,连续系统的数值解就转化为相邻两个时间点上的数值积分问题。因此,所谓数值解法,就是寻求初值问题(1-1)的真解在一系列离散点上的近似解,相邻两个时间离散点的间隔,称为计算步距或步长,通常取为定值。1.2.2替换法基于数值积分的连续系统仿真方法具有成熟、计算精度比较高的优点,但算法公式比较复杂、计算量比较大,通常只有在对速度要求不高的纯数字仿真时使用。当进行实时仿真或在计算机控制系统中实现数字控制器的算法时,要求计算速度快,以便能在一个采样周期内完成全部计算任务,这就需要一些快速计算方法。用数值积分方法在数字机上对一个连续系
7、统进行仿真时,实际上已经进行了离散化处理,只不过在离散化过程中每一步都用到连续系统的模型,离散一步计算一步。那么,能否先对连续的模型进行离散化处理,得到一个“等效”的离散化模型,以后的每一步计算都直接在这个离散化模型基础上进行,而原来的连续数学模型不再参与计算呢?回答是肯定的。这些结构上比较简单的离散化模型,便于在计算机上求解,不仅用于连续系统数字仿真,而且也可用于数字控制器在计算机上实现。替换法的基本思想是:对于给定的函数G(s),设法找到s域到z域的的某种映射关系,它将S域的变量s映射到z平面上,由此得到与连续系统传递函数G(s)相对应的离散传函G(z)。进而再根据G(z)由z反变换求的系
8、统的时域离散模型差分方程,据此便可以进行快速求解。根据z变换理论,s域到z域的最基本的映射关系是或 如果按这一映射关系直接代入G(s),得到的G(z)是相当复杂的,不便于算法实现,所以往往借助于Z变换的基本映射关系或作一些简化和近似处理。1.2.3离散相似法“离散相似法”将一个连续系统进行离散化处理,然后求得与它等价的离散模型(差分方程)的方法。获取离散相似模型的两个途径:(1)对传递函数作离散化处理得离散传递函数称为“频域离散相似模型”;(2)基于状态方程离散化称为“时域离散相似模型3”;对连续系统进行数字仿真可以先在系统加入虚拟的采样器和保持器,如图1-1所示,图1-1 连续系统离散化结构
9、图附注:图1-1所示系统的采样开关和保持器实际上是不存在的,而是为了将(1-5)式离散化而虚构的。然后利用Z变换的方法求出系统的脉冲传递函数,再从脉冲传递函数求出对应于系统G(s)的差分方程。 根据图1-1,有脉冲传递函数 : (1-5)其中Gh(s)是保持器的传递函数。若选择不同的保持器,则可得不同的G(z),见表1-1。表1-1不同保持器的G(z)保持器的传递函数Gh(s)脉冲传递函数G(z)零阶: 一阶: 三角形: 假设连续系统的状态方程为:(1-6)若人为地在系统的输入端及输出端加上采样开关,同时为了使输入信号复原为原来的信号,在输入端还要加一个保持器,如图1-2所示。 图1-2采样控
10、制系统结构图若对方程(1-6)式两边进行拉普拉斯变换,得: 即: 以左乘上式的两边可得 :(1-7)考虑到状态转移矩阵:(1-8)故对(1-7)式反变换可得:(1-9)此为(1-5)式的连续解,由此可推导出系统的离散解。 根据上式,n及n+1两个相连的采样瞬间,有: (1-10)(1-11)(1-12)将(1-10)式减去(1-10)式后乘以,得: 将(1-11)式右边积分进行变量代换,即令: (1-13)则得:(1-14)但由图1-2可知:若系统采用零阶保持器时,则两个采样点之间输入量可看做常数,即u(nT+t)=u(nT),这样(1-14)式可写为: 式中 :1.3MATLAB在连续性系统
11、的应用在瑞典Lunds大学反射物理学研究所在一项为期三个月的极地探险计划中,广泛使用MATLAB及其工具箱,在北冰洋研究放射性物质对环境生态学 的影响。研究人员主要用MATLAB进行数据分析,用神经网络工具箱辨识北冰 洋流木的年轮图案,并据此识别这些漂流数年的数木成长自何方。 Forsmark核 电站使用MATLAB优化反应堆的功率输出。工程师们从堆芯读取大量数据,算出燃料棒和控制棒的最佳位置以便产生最大的输出功率。这是一个极为庞大且十分复杂的数值分析问题,包括分析1700个以上的节点。为了简化计算过程,Forsmark用MATLAB开发出他们自己的图形用户界面,这个图形用户界面容许没有任何使
12、用经验的使用者执行计算和评价分析结果。Forsmark还使用MATLAB建模和分析各种设想的失效及扰动情况。在反应堆中当发生扰动时,数据必须被详细分析以便确定扰动的原因。借助于MATLAB和它的系统辨识及控制工具箱,Forsmark的工程师们将分析时间从原来的一星期减少到现在的15分钟。Calspan先进技术中心试验高度可修改的实验型飞行器,它可以成倍提高其它飞行器的性能。其仿真程序运行在一组并行操作的浮点DSP上,所用硬件来自dSPACE。飞行器和飞行控制系统首先在地面用Simulink模块建模、仿真,然后用实时Workshop生成C源代码并被下载到飞行器的DSP上。当实验飞机飞行时,试飞员
13、可以在飞机在预先编好的程序DSP模块控制时评价飞行器和飞行控制系统,飞行中各种控制参数可以直接被调整并被下载给硬件作试验,这种形式的实时试验节省了大量时间和经费,一个1s行控制系统在其原型被建立之前就可以完成几乎全部试验。2 MATLAB基础2.1MATLAB语言介绍MATLAB语言在开发之处只是作为Eispack与Linpack这两种数值线性代数软件包的接口,刚开始使用Fortran,之后使用C语言进行编程。1975年左右,M公司将其推出面向市场,并且将其功能逐渐丰富,开发了文字图像的处理、数值的运算以及符号的解译等功能,将其编程语言升级为面向对象语言,并以此为用户界面的设计语言,从而将其打
14、造成了一个能够在多个领域、多个学科都很好地发挥功能的软件。其版本也逐渐的更新换代,它把矩阵计算、科学数据可视化、数值分析和非线性动态系统的建模和仿真等诸多强大功能集于一体,为工程设计、科学研究和需要进行有效数值计算的很多领域提供了一种简单、效率高的编程工具。其几大功能可概括如下:2.2MATLAB工具箱到目前为止,MATLAB中有不少于三十七个工具箱,并且这些工具箱主要有两类:一类是功能型,一类是领域型。领域型专业性很强,包括信号处理工具箱、模糊逻辑工具箱、高阶谱分析、自动控制工具箱、图象处理、通讯、偏微分方程等等很多细化的工具箱,可应用的领域涵盖了化学、数学、工程还有经济等等很多的领域范围。
15、功能型的工具箱主要是增强其图形文字处理能力、模型建立和仿真功能、数值符号运算解议和软硬件的实时交互等功能。在这些工具箱中MATLAB提供了开放式体系结构使用户能够进入工具箱源码以便修改、定制、扩展算法和工具箱功能以适应用户特殊需要。3直线一级倒立系统设计3.1倒立摆系统概述倒立摆系统是一种具有结构简洁,低成本,物理参数和结构方便调整等诸多优点的用来研究控制理论的经典实验仪器,是一个不稳定系统,他有多变量、高阶次、不稳定、非线性以及藕合性强等特点。在控制过程中,倒立摆系统可以很好地反映出很多控制中存在的关键问题,例如鲁棒性、可镇定性、随动性和可追踪等,其是验证各种控制理论的理想模型。目前人们已经通过现代控制理论、经典控制理论和很多智能控制理论实现了多种倒立摆系统的控制稳定。3.2倒立摆系统工作原理便携式直线一级倒立摆试验系统总体结构如图3-1所示:图3-1便携式一级倒立摆试验系统总体结构图主体结构包括摆杆、小车、便携支架、导轨、直流伺服电机等。主体、驱动器、电源和数据采集卡都置于实验箱内,实验箱通过一条USB数据线与上位机进行数据交换,