毕业设计(论文)非线性控制系统的仿真软件开发

上传人:沈*** 文档编号:82056873 上传时间:2022-04-28 格式:DOC 页数:48 大小:1.40MB
收藏 版权申诉 举报 下载
毕业设计(论文)非线性控制系统的仿真软件开发_第1页
第1页 / 共48页
毕业设计(论文)非线性控制系统的仿真软件开发_第2页
第2页 / 共48页
毕业设计(论文)非线性控制系统的仿真软件开发_第3页
第3页 / 共48页
资源描述:

《毕业设计(论文)非线性控制系统的仿真软件开发》由会员分享,可在线阅读,更多相关《毕业设计(论文)非线性控制系统的仿真软件开发(48页珍藏版)》请在装配图网上搜索。

1、本科毕业(设计)论文摘 要本文介绍了系统仿真方法的特点及发展,作重分析了非线性系统的特征,介绍了典型的非线性控制系统和常用研究非线性系统的方法,然后利用Matlab语言设计了一种研究非线性控制系统的数字仿真程序,内容包括了设计原理、相关程序和仿真实现的详细过程,并且通过这种程序完成了非线性系统的仿真,同时与描述函数法作比较,说明了描述函数法是一种近似分析方法,而程序设计体现了直观、方便、快捷的优点,为分析非线性控制系统提供了方便。关键字:非线性控制系统 ; 仿真; Matlab; 程序设计ABSTRACTThis paper presents the characteristics and d

2、evelopment of the system simulation method. It focuses on analyzing the characteristics of nonlinear systems particularly and introducing typical nonlinear control system and particular nonlinear control system method. Then using the Matlab language to design of a simulation program of nonlinear con

3、trol system , including the design principle, the relevant procedures and Simulation of the detailed process, and using this program to complete the simulation of nonlinear systems, and comparing the result with the result of Description Function method, explains the Description Function method is a

4、n approximate analytical method, and procedures for the design embodies intuition, convenience and efficiency, it gives the convenience to analyze the Nonlinear Control System.KEY WORDSE: Nonlinear Control System ; Simulation; Matlab; Programing目 录摘 要IABSTRACTII第一章 概述1引 言11.1 系统及系统仿真21.1.1 系统的定义21.1

5、.2 系统的分类21.1.3 仿真的定义21.1.4 系统仿真的分类31.1.5 仿真研究的步骤41.2 数字仿真5第2章 非线性控制系统62.1 非线性控制系统的概述62.1.1 非线性控制系统的定义62.1.2 非线性现象的普遍性62.1.3 非线性系统的特征72.2研究非线性系统的方法与意义82.3.1 研究非线性系统的意义82.3.2 研究非线性系统的方法8第3章 全结构仿真软件设计123.1 Matlab语言123.1.1 Matlab语言与数字仿真123.1.2 Matlab的程序和函数123.2 全结构仿真软件设计143.2.1 全结构仿真概述143.2.2 全结构仿真功能库表1

6、53.2.3 全结构仿真非线性控制系统功能库183.2.4用全结构仿真方法处理非线性系统举例29第章 结束语354.1全文总结354.2研究工作展望35致 谢37参考文献38附 录3943- -第一章 概述引 言 回顾20世纪科学技术的发展,对人类的经济建设和生活最具影响力的莫过于计算机的发明。到20世纪60年代,计算机逐渐引入工程设计领域,其中也包括自动控制系统的设计。开始,计算机主要用于控制系统的单个题目的数值计算,采用的是批处理作业方式,即将所要解决的问题和原始数据编成程序一起送入计算机,由计算机对它进行运算,最后输出计算结果。而在整个计算过程无人机对话的功能,这种方法就是控制系统的数字

7、仿真。随着计算机技术的发展,数字仿真得到非常广泛的应用,已成为科学研究的一种重要的手段。控制系统的数字仿真课程是控制理论、计算数学和计算机等知识的交叉学科,它是分析和设计各种复杂系统的强有力的工具。1伴随着数字仿真技术发展的是层出不穷的数字仿真语言,在众多语言中,Matlab作为当前国际控制界最流行的面向工程与科学计算的高级语言,它可轻易地实现C或FORTHAN语言几乎全部的功能,并设计出功能强大、界面优美、稳定可靠的高质量程序,编程效率和计算效率极高,是实现数字仿真的最好选择。3在自动控制系统中,严格来说,几乎所有的实际控制系统都是非线性控制系统。当控制系统的非线性特性不可忽视时,若再用线性

8、控制理论与方法来近似进行分析设计,往往会得出不恰当的或者完全相反的结论。这时,为了进一步提高控制品质,设计一种方法(软件)来对非线性控制系统进行仿真研究就成为了必要。5本文就是一种以Matlab语言为基础,对自动控制系统中常用的非线性系统进行程序描述,在Matlab界面上进行数字仿真的方法。全文分为四章,各章节内容简要如下:第一章主要介绍系统及系统仿真。第二章介绍非线性控制系统的特征以及典型的非线性系统。第三章详细介绍全结构仿真的原理、方法以及非线性仿真的功能函数库,举例用全结构仿真方法对非线性控制系统进行仿真研究,并且用描述函数法的计算结果和仿真结果进行了比较。第四章为结束语。1.1 系统及

9、系统仿真 1.1.1 系统的定义 系统是由具有特定功能的、相互间具有一定规律联系的物体所组成的总体。系统具有两个特性:整体性和相关性。整体性是指它是一个整体,它的各部分是不可分割的。例如,一个工厂系统,它由管理部门、生产车间、原材料仓库以及销售采购部门所组成,如缺少其中一个部门,也就无法构成一个工厂系统了。对于自动控制系统,其基本组成(如控制对象、测量元件、调节器)部分同样不可缺少其中任何一个部分。相关性是指系统内部各物体之间相互以一定规律联系,它们的特定关系形成了具有特定性能的系统。例如,电动机调速系统,它由电动机、测量元件、调节器、电动驱动电路等组成。它们相互间形成一个特定关系,因而形成了

10、调速系统能够调速的特定性能。2,61.1.2 系统的分类(1)系统的分类方法有很多,根据系统处理的信号形式的不同,系统可分为三大类:连续时间系统(简称连续系统)、离散时间系统(简称离散系统)和混合系统)。(2)从系统本身的特性来划分,系统可分为:线性与非线性、时变与非时变、因果与非因果、稳定与非稳定、记忆与无记忆等系统。2,61.1.3 仿真的定义 仿真又称作蒙特卡罗方法,它是一种通过用随机数做实验来求解随机问题的技术。这种方法最早可以追溯到1773年法国自然学家G.L.L.Buffon为了估计圆周率的值所进行的物理实验。雷诺(T.H.Naylor)定义:“仿真是在数字计算机上进行试验的数字化

11、技术,它包括数字与逻辑模型的某些模式,这些模型描述某一事件或经济系统(或者它们的某些部分)在若干周期内的特征。”仿真技术是一门综合性的技术学科,它为进行系统的研究、分析、决策、设计以及对专业人员的培训提供了一种先进的手段,增加了人们对客观世界内在规律的认识能力,有力地推动了那些过去以定性分析为主的学科向定量分析的方向发展。在系统研究及人员培训中采用仿真技术,可大大地减少费用,缩短周期。仿真技术广泛地应用于工程及非工程的广大领域,并取得了巨大的社会经济效益。系统仿真是建立控制理论信息处理技术和计算技术等理论基础之上的,以计算机和其它专用物理效应设备为工具,利用系统模型对真实或假想的系统进行试验,

12、并借助于专家经验知识、统计数据和信息资料对试验结果进行分析研究,进而作出决策的一门综合性的和试验性的学科。1,2,3,41.1.4 系统仿真的分类(1)根据计算机的分类 a.模拟计算机仿真 即将系统的模型编排在模拟计算机上,并使之运行。 b.数字计算机仿真 即将系统模型用一组程序来描述,并使之在计算机上运行。 c.数模混合仿真 即将系统模型分为两部分,一部分放在模拟计算机上,另一部分放在数字机上,两台计算机之间用D/A、A/D转换交换信息。目前仿真方法以数字计算机仿真为主。(2)根据仿真时钟与实际时钟的比例关系分类利用数字计算机仿真时的动态数学模型的时间标尺可以与实际物理系统的时间标尺不同。前

13、者受仿真时钟控制,而后者受实际时钟控制。a.实际时钟仿真 即仿真时钟与实际时钟是完全一致的。b.欠实际时钟仿真 即仿真时钟比实际时钟慢。c.超实际时钟仿真 即仿真时钟比实际时钟快。(3) 根据系统模型的分类a.连续系统仿真;b.离散事件系统仿真。1,21.1.5 仿真研究的步骤(1)建立系统的数学模型对于一些系统可以通过基本定律,如牛顿定律、克希霍夫定律来建立数学模型,而对很多系统,由于系统的复杂性,难于写出用数学表达式表示的数学模型,则必须利用实验方法获得实验数据,通过系统辩识技术建立数学模型。数学模型是系统仿真的研究依据,所以数学模型的准确性是十分重要的。(2)建立仿真模型一般的数学模型都

14、不能直接编程并用计算机求解,通常必须把数学模型转换成适宜编程并能在计算机上运行的模型仿真模型。也就是需要通过一定的算法对原系统的数学模型进行离散化处理,就连续系统而言,就是建立相应的差分方程再由计算机进行求解。(3)编制仿真程序 对于非实时仿真,可用一般高级语言依据相应的算法编程。而对于实时仿真往往采用汇编语言与高级语言共用的方式进行编程。(4)程序调试、验证模型、实验结果分析并确定实验方案a.调试程序 调试程序的首要任务是检查并纠正程序的错误,使其在计算机上运行通过,并保证程序处于正确的工作状态。b.验证模型 通过运行程序,用仿真实验数据与实际系统运行观测的数据结果相比较的方法,检验、确认模

15、型是代表了实际系统,反映了实际系统运行过程的特性。c.根据实验结果的分析,确定实验方案 选择合理的参数实验范围,安排用较少的实验次数来达到预期的效果。如果结果不符合原来的设计要求,就应寻找原因并通过修改程序或修改仿真模型,反复多次运行程序直到达到设计要求。9仿真步骤如图1-1所示。 图1-1 通过仿真实验设计和分析系统的过程1.2 数字仿真数学仿真是应用性能相似、环境相似的原理,按照真实系统的数学关系,构造系统的数学模型,并在数学模型上进行试验。数学仿真的特点是制作模型比较经济,修改参数方便,周期短,但形式抽象、直观性差。 早期的仿真绝大多数采用物理仿真,因为系统比较简单,容易构成仿真系统。相

16、比之下,数学仿真的模型是微分方程或差分方程时的求解相对要烦琐困难。随着科学的发展,技术的进步,自动控制系统日益复杂,采用物理仿真制作物理模型的结构的难度、复杂度、精度都提高了,因而也增加了成本。与此同时,数学的数值分析逐步推广和发展、自动控制理论中现代控制理论分支的崛起以及计算机种类的发展,使用计算机进行数学模型试验的能力增强,使计算机在数学仿真中的应用日益普遍。数学仿真就是在计算机上对系统的数学模型进行实验,数学仿真离不开计算机,因此也称为计算机仿真。 计算机仿真为数学模型的建立与实验提供了较大的灵活与方便,因此凡是可以用数学模型进行实验的几乎都是可以用计算机来研究被仿真系统的各种特性,选择

17、最佳参数和设计合理的系统方案,这就是计算机辅助设计(Computer Aided Design 简称CAD)的重要内容之一。CAD一般包括确定设计参数、结构参数,绘图和仿真。仿真是CAD的重要组成。现在计算机仿真已经越来越多地取代物理仿真。本篇主要就是介绍一套利用数学仿真方法设计出的解决非线性控制系统的软件。 采用数学模型在数字计算机上进行仿真试验,则称为数字仿真。数字仿真具有方便、快捷、成本低、不易受外界干扰等特点,但同时它容易受到计算机的字长及运算速度的影响。随着计算机技术的飞速发展,运算速度及字长问题都会在不同程度上得到改善。因此,数字仿真技术仍然有着极强的生命力。2,3,4第2章 非线

18、性控制系统2.1 非线性控制系统的概述 2.1.1 非线性控制系统的定义 状态变量和输出变量相对于输入变量的运动特性不能用线性关系描述的控制系统。非线性控制系统的形成基于两类原因,一是被控系统中包括有不能忽略的非线性因素,二是为提高控制性能或简化控制系统结构而人为地采用非线性元件。非线性系统的分析远比线性系统复杂,缺乏能统一处理的有效数学工具。在许多工程应用中,由于难以求解出系统的精确输出过程,通常只限于考虑:a.系统是否稳定;b.系统是否产生自激振荡(见非线性振动)及其振幅和频率的测算方法;c.如何限制自激振荡的幅值以至消除它。现代广泛应用于工程上的分析方法有基于频率域分析的描述函数法和李雅

19、普诺夫稳定性理论等。这些方法分别在一定假设条件下,能提供关于系统稳定性或过渡过程的信息。在某些工程问题中,非线性特性还常被用来改善控制系统的品质。例如将死区特性环节和微分环节同时加到某个二阶系统的反馈回路中去,就可以使系统的控制既快速又平稳。非线性控制系统在许多领域都具有广泛的应用。除了一般工程系统外,在机器人、生态系统和经济系统的控制中也具有重要意义。典型非线性系统如图2-1所示。5,11 图2-1非线性控制系统典型结构图 2.1.2 非线性现象的普遍性组成实际控制系统的环节总是在一定程度上带有非线性。例如,作为放大元件的晶体管放大器,由于它们的组成元件(如晶体管、铁心等)都有一个线性工作范

20、围,超出这个范围)放大器就会出现饱和现象,执行元件例如电动机,总是存在摩擦力矩和负载力矩,因此只有当输入电压达到一定数值时,电动机才会转动,即存在不灵敏区,同时,当输入电压超过一定数值时,由于磁性材料的非线性,电动机的输出转矩会出现饱和;各种传动机构由于机械加工和装配上的缺陷,在传动过程中总存在间隙,等等。52.1.3 非线性系统的特征非线性系统中会出现一些在线性系统中不可能发生的奇特现象,归纳起来有如下几点:(1)线性系统的稳定性和输出特性只决定于系统本身的结构和参数。而非线性系统的稳定性和输出动态过程,不仅与系统的结构和参数有关,而且还与系统的初始条件和输入信号大小有关。例如,在幅值大的初

21、始条件下系统的运动是收敛的(稳定的),而在幅值小的初始条件下,系统的运动却是发散的(不稳定的),或者情况相反。(2)非线性系统的平衡运动状态,除平衡点外还可能有周期解。周期解有稳定和不稳定两类,前者观察不到,后者是实际可观察到的。因此在某些非线性系统中,即使没有外部输入作用也会产生有一定振幅和频率的振荡,称为自激振荡,相应的相轨迹为极限环。改变系统的参数可以改变自激振荡的振幅和频率。这个特性可应用于实际工程问题,以达到某种技术目的。例如,根据所测温度来影响自激振荡的条件,使之振荡或消振,可以构成双位式温度调节器。(3)线性系统的输入为正弦函数时,其输出的稳态过程也是同频率的正弦函数,两者仅在相

22、位和幅值上不同。但非线性系统的输入为正弦函数时,其输出则是包含有高次谐波的非正弦周期函数。即输出会产生倍频、分频、频率侵占等现象。(4)复杂的非线性系统在一定条件下还会产生突变、分岔、混沌等现象。典型的非线性特性将在后面章节做详细介绍。2.2研究非线性系统的方法与意义 2.3.1 研究非线性系统的意义(1)实际的控制系统,存在着大量的非线性因素。这些非线性因素的存在,使得我们用线性系统理论进行分析时所得出的结论,与实际系统的控制效果不一致。线性系统理论无法解释非线性因素所产生的影响。(2)非线性特性的存在,并不总是对系统产生不良影响,有时候为提高控制性能或简化控制系统结构而人为地采用非线性元件

23、。2.3.2 研究非线性系统的方法(1)描述函数法是受线性系统频率法启发,而发展出的一种分析非线性系统的方法。它是一种谐波线性化的分析方法,是频率法在非线性系统分析中的推广。图2-2典型化非线性系统目前分析非线性控制系统的常用方法之一描述函数法是一种基于频率域的分析方法。这种方法主要用于研究非线性系统的稳定性和自振荡问题。如图2-7,函数N(x)称为该非线性元件的描述函数,G(jw)为系统的线性环节。此描述函数N(x)是正弦输入信号幅值x的函数,这时线性系统中的频率法就可用来研究非线性系统的基本特性,而-1/N(x)成为描述函数的负倒特性。针对一任意非线性系统,设输入x=Xsint,输出波形为

24、y(t),则可以将y(t)表示为富氏级数形式 (2-1) (2-2)对于奇函数 非线性特性的线性化表示方法:以输出y(t)的基波分量近似地代替整个输出。亦即略去输出的高次谐波,将输出表示为 (2-3) 式中: 非线性元件在正弦输入下,其输出也是一个同频率的正弦量,只是振幅和相位发生了变化。这与线性元件在正弦信号作用下的输出具有形式上的相似性,故称上述近似处理为谐波线性化。一般高次谐波的振幅小于基波的振幅,因而为进行近似处理提供了可靠的物理基础。 描述函数法的定义是:输入为正弦函数时,输出的基波分量与输入正弦量的复数比。其数学表达式为 (2-4) 式中: (2)相平面法是用图解的方法分析一阶,二

25、阶非线性系统的方法。通过绘制控制系统相轨迹,达到分析非线性系统特性的方法。 相平面法是状态空间法在二维空间特殊情况下的应用。它是一种通过图解法求解二阶非线性系统的准确方法。相平面如图2-3,设二阶系统有微分方程 (2-5)来描述,其中为和的线性函数或非线性函数。上式所示系统的时间解可用与的关系图来表示,也可以为参变量,用和的关系图来表示。在通过和表示系统运动状态的情况下,如果用和作为平面上的直角坐标轴,则系统在每一时刻上的运动状态都对应上述平面中的一个点。当时间变化时,该点在-平面上便描绘出一条表征系统状态变化过程的根轨迹,-平面称为相平面。在相平面上,由一簇相轨迹构成的图象,称为相平面图。在

26、一些情况下,相平面图对称于轴、轴或同时对称于轴和轴。 奇点设描述二阶系统自由运动的线性微分方程为 (2-6)分别取和为相平面的横坐标与纵坐标,并将上列方程改写成 (2-7)上式代表描述二阶系统自由运动的相轨迹各点处的斜率。从式中看出在=0 及=0 ,即坐标原点(0,0)处的斜率 。这说明,相轨迹的斜率不能由该点的坐标值单值的确定,相平面上的这类点成为奇点。由于在奇点处的速度和加速度都为零,故奇点与系统的平衡状态相对应。 奇点的类型无阻尼运动形式()对应的奇点是中心点;欠阻尼运动形式 ()对应的奇点是稳定焦点;过阻尼运动形式()对应的奇点是稳定节点;负阻尼运动形式()对应的奇点是不稳定焦点;负阻

27、尼运动形式()对应的奇点是不稳定节点;描述的二阶系统的奇点(0,0)称为鞍点,代表不稳定的平衡状态。 图2-3典型的相平面(3)计算机求解法是利用计算机运算能力和高速度对非线性微分方程的一种数值解法。本文介绍的就是一种计算机求解法。5第3章 全结构仿真软件设计3.1 Matlab语言 由于本设计采用Matlab语言,所以对Matlab语言作简要介绍。3.1.1 Matlab语言与数字仿真 Matlab是一套功能十分强大的工程计算及数值分析软件。目前,它已经成为世界上应用量广泛的工程计算软件之一。在美国等发达国家的理工类大学里,Matlab是大学生必须掌握的一种基本工具,而在国外的研究设计单位和

28、工业部门,它更是研究和解决工程计算问题的一种标准设计,并被誉为工程技术人员必备软件。因为其简单易用,人机界面良好,又有着演算纸式的科学计算语言的美称。Matlab除了其主程序外,还含有Simulink动态系统仿真软件和Matlab工具箱(Toolbox),这使其成为工程教学中目前最流行的计算机数字仿真和仿真教学软件之一。Matlab不但功能强大而且易学易用,只要掌握一些使用Window操作系统的经验,就可以在较短的时间内掌握其主要内容和基本操作,并运用到工作和学习中去。因此,将Matlab语言作为实现计算机数字仿真的计算机语言工具,有许多优越性,也是目前流行的方法。43.1.2 Matlab的

29、程序和函数(1) MATLAB程序在MATLAB中,我们可以把它的一些命令按工作要求组合在一起,这些命令按一定的顺序执行,这就构成了所谓的程序。MATLAB的程序都是以扩展名为.m的形式存放在磁盘中的,其中由保留关键字”function”为开头所形成的MATLAB程序,它完成某一特定的功能。这种程序称为”函数(function)”,简称为M函数。 (2) MATLAB函数引入M函数的优点是提高程序的可读性及移植性,它类似于其他高级计算机语言中的子程序或函数。M函数的基本格式:格式: function OutVar = fname(InputVar) %text注释语句 commands1; c

30、ommands2; 函数体语句 说明: M函数的输入变量个数被记忆在MATLAB的保留参数nargin中;M函数的输出变量个数被记忆在MATLAB的保留参数nargout中。 在函数体语句中,必须要对各个返回变量至少赋值一次。 返回变量个数多于一个时,必须用方括号“”把它们括起来。 M函数是以fname为文件名存放在磁盘中的。 当程序执行到M函数的结尾时,将返回到前一个函数的调用处,继续执行前一个函数。也可使用return语句来强行从被调用的M函数中返回。 (3)局部变量和全局变量在M程序和M函数中,我们都会使用一些变量,但M程序中的变量和M函数中的变量却有着很大的区别:M程序中的所有变量在其

31、后运行的M程序中是起作用的,而M函数中的变量却只在自己的函数内部起作用,外部函数将无法访问这些变量。在函数返回后,这些变量将自动从MATLAB的工作空间是被清除掉。要想取得函数内的变量值,我们有两种方法。一种就是将该变量以输出参数的形式传出;另一种方式就是通过关键字”global”将该变量定义为全局变量,那么在其后的函数只要用同样的语句申明该变量为全局变量后,就可直接引用该变量并对其进行修改等操作。3,43.2 全结构仿真软件设计 3.2.1 全结构仿真概述从控制原理上,我们知道系统的描述方法有很多种,比如传递函数、状态方程、信号流图等。方块图法也是其中的一种,如图3-1。 图3-1系统的方块

32、图若上图所示的功能块它们可以是如加法、减法、惯性、实际微分、传递函数等一些线性环节或非线性环节组成。如果我们能够用一系列函数(或称为功能块)来实现这些方块的功能,我们就很容易把这个系统在计算机里进行描述,也即用一些功能块来描述系统,功能块的计算顺序就是函数参数的更新顺序,也是系统信号的传递顺序。描述系统的方块图非常之多,各有不同,每个方块我们都用一个功能块或函数去编程实现,再把一个系统送入计算机,这样的工作量是非常大的,因为每编写一个功能块并把它调试正确是需要大量时间的。如果我们把系统看成是一些如加法、减法、惯性、实际微分、继电等基本环节构成,把这些基本环节的功能块组成一个功能库就可避免上述的

33、麻烦,并且把一个系统数学模型送入计算机也变得简单多了。我们把这种数字仿真方法叫全结构仿真。要实现这一目的,关键是要建一个有基本环节的函数构成的功能库。我们知道,任何一个运算都可以看成是函数运算特性,为了运算的需要,我们采用如图3-2的函数结构 图3-2 全结构仿真的函数结构公式表示为:y=f(x1、x2、x3),这样,对于一个系统,我们就可以看成是有若干个单元构成,将f编制成各种各样的运算特性,就可以组成功能库。使用时,将这个库中的功能调出,放在此单元中进行运算即可。设计时将每种功能函数定义一个功能代号,以代号直接就可以找到相就的处理程序块。这种结构中,x1x3是三个输入信号,它可以是某个环节

34、的输出信号,也可以是常数。信号的类别可以是数字,也可以是0和1的开关状态量;单元的输出y可以是数字,也可以是0和1的状态,具体形式由所调用的功能块决定。单元号码是在仿真系统中,按预算的顺序编号。程序就可以根据这个单元编号顺序调用相关的功能函数。每一个步长内,将构成系统的所有单元都处理一次,这样循环下去,从而可以得到输出的数字解或响应曲线。根据这样的一种思路,程序的结构如图3-3所示。从图中可以看到,程序的主体是用户选择功能块。 图3-3全结构仿真基本思想框图3.2.2 全结构仿真功能库表 下面列出整个非线性仿真软件的功能库表。由于非线性控制系统中也含有线性元件部分,因此不可避免的要编写部分线性

35、元件的程序以供仿真时使用,但线性部分不是我所研究的范围,鉴于篇幅和题目所限,此部分的详细实现过程由其他同学代劳。为方便查阅,现将它一并列入表中,见表3-1。 表3-1全结构仿真功能库表 功能代号功能名称 功能01阶跃闸门函数02减法03加法04积分05惯性06实际微分07超前滞后08PI09PD10PID11闸门斜坡信号12闸门正弦信号13饱和非线性14死区非线性15小信号切除非线性16死区滞环继电非线性17回环非线性(间隙非线性)18死区继电非线性19回环继电特性20理想继电特性21变增益非线性特性3.2.3 全结构仿真非线性控制系统功能库将上述每个功能块的程序用Matlab语言编写,然后以

36、扩展名为.m的形式存储在Matlab程序的Work文件夹里,如01号功能块以“f01f.m”的函数名存储,以后的功能块以此类推,如此可方便编写主程序调用。在上述表格中,01-12号功能块不是非线性特性模块:其中,01、11、12号功能块作为系统的输入信号;02-07号功能块是部分线性元件的功能块;08-10号功能块为PID控制器的功能块。01-12号功能块的程序见附录。下面作重阐述本人对13-21号非线性系统模块的实现过程,内容包括非线性系统的数学模型、程序框图以及仿真程序。按照系统的一般性,可以将系统中所使用的特性分解成如表所示的一些基本功能,这些功能编制成功能函数,即可建立一个功能函数库。

37、由于某些功能函数需要使用一些保存的中间变量,所以在程序中需设置一个中间变量数组作为全局变量,以存放运算中要保存的中间变量,变量存放的下一个位置由一个全局变量指针SP所确定。我们定义全局变量数组为ymv。213号功能块 饱和非线性图3-4饱和非线性特性见图3-4,图中e(t)为非线性元件的输入信号,x(t)为非线性元件的输出信号,其数学表达式为 (3-1)式中a 线性区宽度;k线性区特性的斜率;符号函数为 (3-2)饱和非线性的特征为:a.当输入在线性工作区内,输入输出呈线性变化;b.而当输入超出线性区时,输出则不再变化(或变化很小)。根据其数学表达式写出其程序框图如下: 图3-5饱和非线性程序

38、流程图根据程序框图编写程序如下:function y=f13f(x1,k,x3) %定义函数,其中k为斜率,x1为输入量,也就是上一个功能块的输出量,x3为线性区宽度%饱和非线性(限幅)%global t ts tmax ymv sp %定义全局变量,其中t为%仿真开始时间,ts为仿真步长,tmax为仿真结束时间,ymv为全局中间数组%变量,sp为中间数组单元指针,所有的功能块都一样,以后不再说明。if(abs(x1)abs(x3) y=k*abs(x3);else y=-k*abs(x3);end14号功能块 死区非线性图3-6死区非线性特性见图3-6,图中e(t)非线性元件的输入信号,x(

39、t)为非线性元件的输出信号,其数学表达式为 (3-3)式中a 死区宽度;k 线性输出的斜率;死区非线性的特征为:a.当输入信号较小时,该元件的输出为零;b.而当输入幅值超过死区时,输出与输入才成线性关系。其程序框图如下: 图3-7死区非线性程序框图根据框图编写程序如下:function y=f14f(x1,k,x3) %定义函数,其中x1为上%个功能块的输出量作为输入量,k为斜率,x3为死区宽度%死区非线性if(abs(x1)abs(x3)y=k*(x1-x3);else y=k*(x1+x3);end15号功能块 小信号切除小信号切除如下 图3-8,其功能是用于切除输出值中的小信号量。 图3

40、-8小信号切除其数学表达式如下: (3-4)其程序框图如下: 图3-9小信号切除程序框图根据程序框图编写程序如下:function y=f15f(x1,k,x3)%小信号切除%if(abs(x1)=0; x3=0; 且x2=x3global t ts tmax ymv yg i sp yd ;y=ymv(sp);if(y=1&x1-x3)y=0;endif(y=0) if(x1=x2) y=1; end if(x10表示y增大,=ymv(sp+1) %确定变量y是增大还是减 if(y1=y) y=y1; end 小,并且赋给相应的值。else if(y2y) y=y2; endend ymv(

41、sp)=y; ymv(sp+1)=x1; sp=sp+2; %将y返回给中间变量, %前面使用了两个中间单元,因此指针下移两位18号模块 死区继电特性继电器的吸上电压与释放电压之比称为返回系数。若返回系数为1,则无滞环,其特性成为死区的单值继电器特性,如图3-14所示。 图3-14死区继电特性其数学表达式如下: (3-7)其程序框图如下: 图3-15死区继电程序框图根据程序框图编写程序如下:function y=f18f(x1,x3)%死区继电特性if(abs(x1)abs(x3)y=1;else y=-1;end19号模块 回环继电器特性回环继电特性如图3-16,其特性为:反向释放电压与正向

42、吸合电压相同,以及正向释放电压与反向吸合电压相同。图3-16回环继电特性其数学表达式如下: (3-8)根据数学表达式写出程序框图如下:图3-17回环继电特性程序框图根据程序框图写出程序如下:function y=f19f(x1,x2)%回环继电器特性global t ts tmax ymv yg i sp yd spd ;y=ymv(sp);if(x10&x1x2|x1-x2)y=1;endif(x10&x1x2|x10&x10) y=1; endif(x10) y=-1; end21号模块 变增益非线性特性变增益非线性特性如图3-20,该特性表示,当输入信号幅值不同时,元件的放大系数也不同。

43、从而使系统在大误差时具有较大的放大系数,系统的响应迅速;而在小误差时,系统具有较小的放大系数,从而系统的响应缓而稳。图3-20变增益特性其数学表达式如下: (3-10) 其程序框图与死区特性相似,不再画出。其程序如下;function y=f20f(x1,x2,k1,k2)%变增益非线性特性if(-x2=x1x2&x1-x2) y=k2*x1; end3.2.4用全结构仿真方法处理非线性系统举例例1:如含有滞环非线性环节的控制系统框图如图3-21所示,其中滞环非线性环节的特性见图3-12所示。图3-21含有非线性环节的控制系统框图可以看出,这里除了线性环节外,还有一个滞环非线性环节,我们可以利

44、用全结构仿真方法对这个非线性系统进行仿真,由图3-21可以看出,系统的线性部分中包含了积分、一阶惯性等运算,则系统用功能块函数的图形表示为:图3-22功能块调用流程图该系统的Matlab仿真主程序编写如下: clear allglobal t ts tmax ymv sp %定义全局变量,其中ymv为全局中间数组变量,disp(含滞环非线性的系统仿真)% sp为中间数组单元指针i=2;ymv(100)=0;%给中间数组变量赋初值为0%x1=input(input x1=);%x2=input(input x2=);%t0=input(input t0=);kc=1;ki=0.01,td=1;

45、%加入PID控制参数t=0;ts=0.01;tmax=3;%规定仿真开始时间为0,仿真步长为0.01秒,仿真终tem=floor(tmax/ts+1); y(tem,5)=0; tt(tem)=0;%止时间为3秒while(ttmax)sp=1;y(i,1)=f01f(1,0,0);%凋用01号功能块,为系统输入为1的单位阶跃信号yy1=y(i,1)-y(i-1,5);%i-1是为使用上一次计算出的值yy2=f10f(yy1,kc,ki,td);%调用10号功能块PID控制器,进行PID参数整定y(i,2)=f04f(yy2,1)+0.8;%调用04号功能块积分运算y(i,3)=f05f(y(

46、i,2),10,.1);%调用05号功能块一阶惯性运算y(i,4)=f04f(y(i,3),1); y(i,5)=f17f(y(i,4),1,1);%调用17号功能块滞环非tt(i)=t; t=t+ts; i=i+1;%线性,设定间隙宽度为1endplot(tt,y(:,5)%输出仿真图形%axis(0,1,0,1.5)%规定坐标轴刻度和风格在Matlab中运行上述程序就可以得到这个非线性系统的仿真图形: 图3-23仿真图形1对于不同的间隙宽度x2值,可以通过同一个非线性系统进行仿真,并将结果在Matlab语言中绘制出来,在第一次绘制图形后,应该给出hold on命令,使得所有的阶跃响应曲线都

47、绘制在同一个坐标轴下,以便比较,如下图分别是间隙宽度x2等于0.5,1,2时的仿真图形。 图3-24仿真图形2从这个例子可以看出,复杂的非线性环节可以用全结构进行仿真,还可以充分利用全结构仿真功能改变非线性仿真的参数,将结果在图形中显示出来。例2:设含饱和特性的系统方框图如下图所示,其中饱和特性的参数为 =1、k=2.试求取开环增益K=15时自持振荡的振幅 与角频率。 图3-25含饱和非线性的系统方框图(1)从图3-25中可以看出,该系统中含饱和非线性系统,线性部分包括积分运算和一阶惯性环节,如果要得到自持振荡的波形,可以采用控制器参数整定的临界比例度法,给系统加入PID控制器,然后采用纯比例

48、控制以获得临界情况下的等幅振荡7,8,则系统的结构方框图如下图示:图3-26功能块调用流程图针对上述非线性系统,用全结构仿真方法编写Matlab主程序如下:clear allglobal t ts tmax sp ymvdisp(含饱和非线性系统)i=2;ymv(100)=0;kc=2;ki=0,td=0;%PID参数调节,用纯比例控制得到临界情况下的等幅振荡t=0;ts=0.001;tmax=10;%设定仿真开始时间为0,仿真步长为0.001秒,仿真结束时间为tem=floor(tmax/ts+1);y(tem,4)=0;tt(tem)=0;%10秒,并计算仿真的步长数while ttmax

49、sp=1;yy0=f01f(0.01,0,0);%给定一个很小的单位阶跃信号近似于系统的自振荡yy1=yy0-y(i-1,4);%反馈,相当于调用02号减法功能块yy2=f10f(yy1,kc,ki,td);%调用10号功能块PID控制器yy3=f13f(yy2,2,1);%调用13号饱和非线性功能块y(i,2)=f04f(yy3,15);%调用04号功能块积分运算y(i,3)=f05f(y(i,2),1,0.1);%调用05号功能块一阶惯性运算y(i,4)=f05f(y(i,3),1,0.2);tt(i)=t;t=ts+t;i=i+1;endplot(tt,y(:,4),grid%给出仿真图

50、形,并在图形中画出分格线说明:根据自持振荡的定义:自持振荡是非线性系统特有的一种性质,是指在不给非线性系统输入信号的情况下,系统自身产生一个有一定频率和幅值的稳定振荡,但是在这里情况下完全的0输入是不可能的,所以我们可以用一个很小的阶跃信号x1来趋进于0,得到的仿真图形如下: 图3-27仿真图形3在上图中可以看出,振幅大约为2.5。振荡周期为0.9秒,则角频率=6.98rad/s。(2)用描述函数法求解此非线性系统: 在线性区斜率k=2情况下,饱和特性的负倒描述函数曲线-1/N(A)为Nyquist图中负实轴上-1/2-区段。若K=15时的线性部分频率响应 与-1/N(A)的交点来确定。为此,

51、首先由 (3-11) 解出曲线 穿越Nyquist图负实轴处的角频率 。将 代入 (3-12)求得。因为,证实了曲线 在-1/2-区段内穿越Nyquist图负实轴。所以给定系统有自持振荡存在,其角频率等于曲线 与-1/N(A)相交处的角频率,即。其次由 求解自持振荡振幅 ,即由 (3-13)解出 =2.47。 在Nyquist图上绘制的给定系统线性部分频率响应 与饱和特性负倒描述函数曲线如图3-28所示。 图3-28含饱和特性的奈奎斯特图 比较全结构仿真结果和用描述函数法求解出的结果来看,结果是非常接近的,说明用此仿真方法来研究非线性控制系统是可行的,但在研究非线性控制系统的稳定性问题上,全结

52、构仿真方法只能通过不断调试系统的参数来获得结果,不能象描述函数法那样直接通过公式求解。但由于描述函数仅表示非线性元件在正弦信号作用下,其输出的基波分量与输入正弦信号的关系,将非线性元件输出中的基波分量代替实际的非正弦周期信号,而略去信号中的高次谐波,因而它不能全面表征系统的性能,只能近似用于分析一些与系统稳定性有关的问题,而全结构仿真是通过非线性系统的数学模型来建立的仿真模型,因此从理论上来说,全结构仿真获得的结果比用描述函数法计算的结果更准确。另外,全结构仿真方法可以得到非线性系统对单位阶跃输入信号的暂态响应,从而获得非线性系统的时域性能指标。5 第章 结束语4.1全文总结 由于在实际研究中

53、,严格来说,理想的线性系统是不存在的,总会有一些非线性因素。一般的系统是进行线性化处理后近似当作线性系统来研究的,从而可以用线性控制理论对系统进行分析和研究。但是,并不是所有的非线性系统都可以进行线性化处理,对于某些不能进行线性化处理的系统,称为本质非线性控制系统。这类系统可以采用常用的描述函数法来分析。但是由于各个非线性特性的描述函数各不相同,有一定计算量,而且人们只能通过计算来求解出系统的一些参数,并不能得出系统的仿真图形,不具有直观性,不能加深人们对非线性系统的认识和理解,给我们的学习和研究带来了些许不便。在控制系统的的计算机辅助与设计领域中,MATLAB软件的应用已经被广泛接受。鉴于MATLAB强大的功能,操作的灵活,使用的方便,且具有直观的绘图功能,用来研究非线性控制系统是一个不错的选择。本设计利用MATLAB简洁的语句来描述非线性控制系统的功能,采用函数调用的思想,并结合MATLAB直观的绘图效果来对非线性控制系统进行仿真研究,其主要优点有:方法灵活,程序语句简洁,便于人们理解与应用;方便扩充,用户可以根据自己的需要随时扩充功能函数块;使用方便,只需要编写主函数程序就可以调用函数功能块对非线性控制系统进行仿真。通过本次毕业设计,使我加深了对非线性控制系统以及仿真相关知识的理解,学

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!