文章

MATLAB在飞机环境控制系统仿真中的应用

2019-05-16宋俊 袁修干

402阅
本文介绍了在MATLAB环境下,对飞机环境控制系统的建模方法,开发了飞机环控系统综合仿真的MATLAB工具箱。

    仿真是利用系统模型对真实系统或者假想系统进行研究的一种综合技术,通过对飞机环境控制系统的仿真,可以在早期对整体系统的动态性能作出评估,尽早发现并消除可能存在的问题,缩短设计周期,使环境控制系统的设计更加完善。

    仿真软件自计算机发明不久就已经出现,最初的软件功能很简单,界面不友好,模型也很粗糙,其应用很有限。直到80年代之后,出现了集成多种功能,模型能够灵活地分解与拼合,并且能够对仿真资源进行全面管理的一体化技术之后,才使得计算机仿真完全发展起来。1980年,美国的CleveMoler博士推出的交互式仿真语言MATLAB问世之后,受到人们的普遍关注,现在已经成为国际公认的最优秀科技应用软件。图形交互式的模型输入仿真环境SIMULINK的出现,更是为MAT2LAB的进一步应用推广起到了积极的作用。

    本文将MATLAB应用于军用飞机的环境控制系统动态仿真。下面介绍MATLAB在该领域的建模、仿真及控制器设计方面的应用。

1 制冷部件的建模

    飞机环控系统主要由制冷部件和控制部件两大类组成。制冷部件主要有热交换器、管道、涡轮、压气机等。控制部件则包括各种传感器、作动器、阀门等。要对飞机环控系统进行完整的综合仿真,需要建立这两类部件的模型。

    环控系统制冷部件的数学建模,即建立微分方程,可以参考文献。数学模型建立之后,要在MATLAB下进行仿真,需要完成SIMULINK模块。制冷部件的数学模型一般是非线形的方程组,较为复杂,因此,仿真时需要用到MATLAB中的S函数。在环控系统仿真中,S函数的编写具有以下特点。

    因为制冷部件是连续时变系统,它的S函数编写只用到flag=0、flag=1、flag=3三种情况。具体含义如下。

    1)flag=0

    数据初始化,包括对整个非线形系统的定义。在系统模型初始化定义中,需要定义系统的维数以及状态变量的初始值。

    维数的定义,是由语句sys=[]来完成的。sys是631的列向量。其中sys(2)、sys(5)、sys(6)是用于离散系统初始化的,在对环控系统这样的连续时变系统仿真时,全部定义为0,其它各个元素的含义如下:

    sys(1),状态变量的数目,也就是描述部件的数学模型中微分方程的数目;

    sys(3),系统输出变量的数目;

    sys(4),系统输入变量的数目。

    状态变量初始值的定义,是由语句sys0=[]来完成的。

    2)flag=1

    这一标志下描述系统的数学模型。即以状态方程表示的系统数学模型。如果有多个微分方程,则分别以sys(1),…,sys(i)来表示。

    3)flag=3

    系统的输出。系统输出是由用户定义的,但是,一般与状态方程中的参数相联系,如果输出与状态变量相关,则在此处的状态变量写成x(i)的形式,i表示此变量在状态变量列向量中的位置。

    编写完S函数以后,用MATLAB提供的S函数模块来调用,然后对其进行封装,就可以作为基本模块单元来使用。

2 控制部件建模

    控制部件包括各种传感器、阀门、压力调节器、以及控制器、作动器等。对于控制部件,因为一般都设计工作在线性区,所以对它们的建模大多数采用线性化模型,不使用S函数的方式来建模,而是直接采用SIMULINK模块和MATLAB函数来建立模型。以阀门控制器为例,其模型建立如图1所示。阀门控制器的输入为电信号,即通电时间,控制器根据时间占空比,确定阀门开度,输出给作动器。根据这一原理,对阀门控制器使用饱和环节、开关状态、延时等模块,组成控制器的模型。

阀门控制器模型

图1 阀门控制器模型

    完成模块的构造以后,可以对其进行封装,点击封装后的模块就可以输入控制器的各个参数。其余的控制部件,也可以采用类似的方法,建立相应的模型。

责任编辑:程玥
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
读者评论 (0)
请您登录/注册后再评论