航空活塞发动机接口模拟器快速开发新技术研究

2014-09-28 01:13周彰毅张天宏
电子器件 2014年1期
关键词:代码生成模拟器活塞

周彰毅,于 兵,张天宏

(南京航空航天大学能源与动力学院,江苏南京210016)

航空活塞发动机接口模拟器快速开发新技术研究

周彰毅,于 兵*,张天宏

(南京航空航天大学能源与动力学院,江苏南京210016)

针对目前航空发动机接口模拟器设计中的不足,提出了一种基于DSP+MATLAB/SIMULINK的航空活塞发动机接口模拟器联合开发新方法,基于DSP设计接口模拟器硬件平台,利用SUMULINK建立发动机模型,使用RTW从发动机模型中生成可移植的嵌入式模型C代码,通过代码集成在DSP中加入发动机模型,高效快速地解决了如何在接口模拟器中融入发动机模型的难题。所设计接口模拟器能更真实准确地模拟航空活塞发动机工作状态,试验验证了接口模拟器的可靠性和该方法的可行性。

接口模拟器;发动机建模;快速开发;自动代码生成

在航空发动机数控系统的设计过程中,半物理仿真是一种重要的试验手段和技术工具。通过半物理仿真试验可以及早发现系统设计中的缺陷,确定最佳的设计方案,大大降低试验风险、减少开车次数、减小试验成本[1]。在半物理仿真试验中,控制器是真实的物理装置,控制系统中的传感器和执行机构通常都是由模拟元件来代替。接口模拟器可以用来产生代表发动机状态的转速、温度等信号,是半物理仿真中的重要组成部分。传统的发动机接口模拟器[2]没有在模拟器中加入发动机模型,只是简单的产生一些信号代替发动机状态或传感器信号,传统的接口模拟器工作框图见图1,如何在接口模拟器中快速加入发动机模型,从而使接口模拟器更真实、准确地模拟发动机的工作状态,是接口模拟器设计中亟待解决的问题。

图1 传统的接口模拟器工作框图

RTW是MathWorks公司提供给SIMULINK用户的一个强大工具,利用它可以直接将SIMULINK模块图模型自动生成支持不同平台(VC、DSP、Vx-Works等)的可移植的C代码。充分利用RTW的自动代码生成机制,跨平台实现航空活塞发动机接口模拟器的快速开发,无疑是解决上述问题的一种创新方法。

本文设计的是某型号航空活塞发动机接口模拟器,首先开发基于DSP的模拟器硬件平台,然后在SIMULINK中完成发动机建模仿真并使用RTW自动生成可移植的嵌入式模型C代码,最后实现在DSP中的模型C代码集成并完成接口模拟器的设计,新设计的接口模拟器工作框图见图2。

图2 新开发的接口模拟器工作框图

1 接口模拟器硬件平台设计

1.1 硬件平台设计需求

本文所设计的接口模拟器硬件平台以TMS320F28335为核心处理器,将发动机模型运行时产生的转速信号、上止点信号、判缸信号、节气门位置信号、进气温度信号等信号转变为电子控制器所需的真实发动机信号。同时接口模拟器测量电子控制器输出的喷油、喷气和点火的各项参数,将其作为控制信号发送给发动机模型,从而控制发动机模型的运行。

在总体方案方面,所设计的接口模拟器硬件平台可分为5个模块:DSP处理器模块、电源模块、ECU信号采集模块、发动机信号模拟模块和通信模块。

1.2 DSP处理器模块

本文设计采用TI公司推出的32 bit浮点DSP芯片[3]TMS320F28335作为数字信号处理器,负责对采集的信号进行转换和控制发动机模型的运行;它采用8级指令流水线,主频高达150 MHz,最高速度每秒钟可执行1.5亿条指令,保证了信号采集和模拟的快速性和实时性。有4路CAP捕捉通道,由于发动机是四缸双点火发动机,接口模拟器只检测一个气缸的控制信号,所以满足了1路喷油信号、1路喷气信号和2路点火信号的PWM信号的占空比测量。多达18路的PWM输出,其中6路为TI特有的高精度PWM输出(HRPWM),满足了对转速、上止点、判缸信号的模拟。SPI总线与数/模转换芯片共同完成对节气门位置信号、温度信号等的模拟。SCI总线与电平转换芯片共同完成与监控软件的通信。

1.3 电源模块

高质量的电源是接口模拟器稳定工作的前提和保证。DSP处理器模块、ECU信号采集模块、发动机信号模拟模块和通信模块需要不同电平的低压电源,而接口模拟器的输入电源为车用铅酸电瓶(12 V),所以电源模块需要将12 V转化为不同幅值的电源。电源模块结构关系如图3所示。

图3 供电模块结构框图

供电模块以车用铅酸电瓶为能源输入。在回路中串联整流二极管1N5404,1N5404反向峰值电压为400 V,可有效预防电路正负极接反。采用LM2576HV-ADJ开关电源芯片作为降压芯片,LM2576HV-ADJ是可调电压输出型号,输入电压为7 V~60 V,输出电压范围在线性和负载条件为1.23 V~57 V,本设计通过调节取样电阻的阻值使输出电压为5 V,为74HC245供电。采用AS1117-3.3芯片将输入5 V电压转换为3.3 V为TLP521和MAX3232供电,AS1117-3.3芯片使用比较简单,只需要接入电源、滤波电容就能输出稳定的3.3 V,但此芯片转换效率不高,电流过大时芯片发热。采用TPS767D301芯片为DSP核心处理器供电[4],该芯片是一款输入输出的低压降稳压器,提供两路电压输出,将5 V输入电压转化为3.3 V和1.9 V分别为处理器TMS320F28335的外部管脚和内核供电。

1.4 ECU信号采集模块

电子控制器输出的对喷油阀和点火线圈的驱动信号,必须经过接口模拟器采集测量转换成发动机模型所能处理的数字信号。驱动信号的电平为12 V,先经过光电耦合器降低到3.3 V,然后将信号输入给TMS320F28335的CAP捕捉管脚。光电耦合器采用TLP521,驱动信号先经过限流电阻(R1)把电流降至10 mA后输入TLP521,在输出端,在集电极C管脚和3.3 V电源之间接上拉电阻,信号从集电极引出。

图4 信号采集模块电路图

1.5 发动机信号模拟模块

发动机信号模拟模块功能是根据发动机模型发出的状态信息模拟真实发动机输出的转速、节气门位置、进气温度等信号。TMS320F28335根据发动机模型输出信号的数值大小,对PWM配置进行初始化。使输出的信号频率等于发动机模型的输出数值。输出信号幅值经过74HC245芯片转换到5 V。74HC245具有宽电压工作范围(3 V~5 V),双向三态输出,因此我们可以将PWM模块发出的3.3 V信号模拟成实际发动机输出的5 V信号。

节气门位置、进气温度等信号的模拟是通过具有外置SPI接口的D/A芯片MAX532,TMS320F28335将发动机模型输出的节气门位置、进气温度等数据通过SPI总线传给MAX532.使用REF102为MAX532芯片提供10 V稳压电源。MAX532芯片的输出电压由输出寄存器的数值决定,输出电压范围为-10 V~0。经过调理电路,将信号调整为0~5 V。调理电路采用LM358集成运算放大器,将信号反向和降低幅值。

图5 电压调理电路图

1.6 通信模块

通信模块为接口模拟器和监控软件交换参数及健康状态检测的接口。测试人员通过监控软件将节气门位置数值和负载扭矩通过通信模块发送给接口模拟器的DSP处理器;DSP处理器将发动机模型计算出的发动机转速、进气温度、排气温度等状态信息发送的监控软件,供测试人员参考。

2 航空活塞发动机模型的建立

发动机建模是发动机控制系统设计中的关键环节,在众多活塞发动机模型中,平均值模型(MAEM)是应用最广泛的模型之一。平均值模型忽略了一个工作循环内不同曲轴转角时各缸的差别,对各缸的工作状态差异进行平均处理,重点着眼于整机的动态特性。本节研究基于MATLAB/SIMULINK的活塞发动机平均值模型,在MATLAB/SIMULINK中建模并进行全数字仿真。选用Elbert Hendricks[5]提出的平均值模型,并进行一些修改,该模型从能量转换和工质流动的角度对发动机的工作过程进行分析和模拟,主要包括进气管子模型、燃油系统子模型和转子动力子模型三个部分。

2.1 进气管子模型

进气管子模型主要功能是根据发动机的状态参数(即发动机转速和节气门开度)来计算进入发动机的进气量。进气管中的气体视为理想气体,将进气管作为一个容器来处理,进气过程是视作对容器的填充和排空过程。并假设进气管绝热,没有与管壁进行热量交换,管内的气体温度变换缓慢且进、出气管的气体的温度相同。管内状态方程可由式(1)表示。

其中ηvol是容积效率,Vd为发动机排量。ai可由三个变量的乘积表示,

MAX是一个取决于节气门体的常量,其最大数值为进气量最大流率。TC(α)是节气门的特征常数,TC(α)=1-cos(α+α'),PRT可表示为PRT=1-exp(9(Pm/Patm-1))。

2.2 燃油子模型

当阀门打开时,不是所有的喷射出燃油都以气态形式进入气缸。其中一部分形成燃油蒸汽随空气一起进入气缸燃烧,其余的附着在进气管壁面上形成油膜,油膜再逐渐蒸发形成燃油蒸汽进入气缸[6]。

2.3 曲轴转子模型

曲轴转子模型主要作用是根据前面的各子模型所输出的进入气缸的燃油量和空气量,以及发动机的其他参数(发动机转速和点火提前角等)来计算发动机的输出功率和转速。发动机转速由式(5)确定[7]。

其中J是发动机转子转动惯量,N是发动机转速,Torqueeng和Torqueload分别为发动机产生的扭矩和发动机的负载扭矩。发动机扭矩由气缸进气量、油气比、点火提前和发动机转速共同决定,公式如下:

根据三部分的数学公式,在SIMULINK中建立发动机模型,顶层模型如图6所示。运行此模型,全数字仿真结果如图9(a)所示。

图6 航空活塞发动机模型SIMULINK顶层模块图

3 航空活塞发动机模型的C代码生成、移植及集成

MATLAB/SIMULINK的子系统RTW提供的自动代码生成机制可以将SIMULINK模型自动生成优化的可移植的目标代码,生成的代码能脱离MATLAB环境独立运行且支持VC和DSP等软硬件开发平台[8],代码生成流程见图7。

图7 RTW自动代码生成流程图

首先将MTALAB的编译器设置为C语言编译器,针对第2部分建立的发动机模型,使用SIMULINK的模型检查与验证功能Model Advisor对建立的模型进行验证,本文选用航空航天与防务领域的DO-178B标准对模型进行检验,并根据检验报告进行相应修正直到模型完全满足该标准。单击Tool->Real-TimeWorkshop->Options进入RTW界面,如图8所示。求解器Solver配置为Fixed-step,并选择Runge-Kutta解法。System Target Files选项设置为Visual C/C++Project Makefile only for the Real-TimeWorkshop Embedded Code。Language项选择C语言,配置完毕后,单击Build选项,即可自动生成发动机的C语言模型。

图8 RTW环境配置模块

RTW最终生成一个Make文件,该文件定义了许多预编译选项,分别编译涉及到的所有源文件,最后生成一个不与用户交互、完成非实时全仿真任务的DOS可执行文件[9]。

在 DSP集成开发环境 Code Composer Studio (CCS)中创建一个新的工程,将SIMULINK中自动生成的代码所在目录下的所有源文件和头文件复制到CCS工程所在的目录下。为支持自动生成的模型C代码独立于MATLAB/SIMULINK环境运行,须将MATLAB安装目录下的环境头文件simulink.h和求解器头文件rtw_solver.h添加到CCS工程中。根据错误提示进行相应修改,直到把自动生成的模型代码完全集成到新开发的工程。为保证硬件在环仿真中发动机模型的实时性,使用DSP内核提供的高精度CPU定时器驱动发动机模型的运行,本文选用CpuTimer0,定时周期配置为15 ms,精度高于通常情况下航空发动机的控制步长20 ms。

完成接口模拟器的软硬设计后,使用接口模拟器与现有的电子控制器构建硬件在环仿真试验平台,并进行硬件在环仿真试验以验证接口模拟器的性能。硬件仿真试验中,接口模拟器中的模型运行结果如图9(b)所示.电子控制器采集接口模拟器的发动机参数并根据发动机状态能够输出相位精确,脉宽准确的喷油、喷气和点火信号。

图9

从图9的(a)和(b)的比较可以看出,发动机模型在接口模拟器中的运行结果与在MATLAB中的全数字仿真结果是一致的,移植后的模型在定时器的驱动下能可靠地运行。电子控制器采集接口模拟器提供的发动机模型状态参数并依此输出的喷油/气、点火相位及脉宽十分合理。综上可知,以RTW的自动代码生成机制为桥梁,综合使用 DSP和MATLAB共同快速开发航空发动机接口模拟器是确实可行的,且生成的模型代码是经系统自动优化过的代码,所以具有更高的运行效率和可靠性。

4 结论

本文提出的基于DSP和MATLAB共同开发航空活塞发动机接口模拟器的新方法,基于高性能DSP处理器设计接口模拟器的硬件平台,通过自动代码生成机制和代码集成技术在DSP中集成了从MATLAB发动机模型中经RTW自动生成的发动机模型C代码,解决了如何在接口模拟器中快速融入发动机模型的难题。RTW的自动代码生成功能在跨平台开发中起到了桥梁作用,该方法充分发挥了DSP作为硬件平台的可靠性和高效处理能力以及MATLAB卓越的建模和仿真功能。目前,基于模型设计(MBD)在国外已得到大量应用,RTW的自动代码生成技术是基于模型设计中的关键环节,深入研究自动代码生成技术在发动机控制领域具有十分重大的意义。其研究成果对于加速缸内直喷航空活塞发动机控制系统的研究起着推动意义,同时为其他硬件在环仿真试验的接口模拟器设计提供了很好的借鉴。

[1]左芸.飞/推综合控制半物理仿真平台及监控系统设计[D].南京,南京航空航天大学,2004.

[2]魏芳,张天宏,李秋华.涡轮发动机控制系统信号接口模拟器开发[J].南京航空航天大学第八届研究生学术会议,2006.10.

[3]王岩.基于DSP的运动控制器的硬件设计[J].电子器件,2004,2(27):298-302.

[4]何秀然,谢寿生,钱坤.航空发动机智能转速传感器的设计[J].传感技术学报,2005,3(18):496-499.

[5]Moskwa J J,Hedrick J K.Automotive Engine Modelling for Real Time Control Application[J].Proc,ACC,1987:341-346.

[6]陈超,王绍光,康晓敦.基于MATLAB/SIMULINK的汽油机电控系统仿真[J],内燃机工程,2003.5(24):24-28.

[7]The Math Works Inc.Using Simulink and Stateflow in Automative Application[M].2010.

[8]The Math Works Inc.Real-TimeWorkshop 7 Use’s guide[M].2010.

[9]樊晓丹,孙应飞,李衍达.一种基于RTW的实时控制系统快速开发方法[J].清华大学学报,2003.43(7):895-898.

The Research on the Rapid Development Techniques for Aero Piston Engine Interface Simulator

ZHOU Zhangyi,YU Bing*,ZHANG Tianhong
(College of Energy and Power Engineering of Nanjing University of Aeronautics and Astronautics,Jiangsu,Nanjing,China,210016)

To overcome the deficiencies of the currentaero engine interface simulator,a new joint developmentmethod is presented based on DSP and MATLAB/SIMULINK.The hardware platform is designed based on DSP.Modeling with MATLAB/SIMULINK,portable embedded enginemodel C code is generated through RTW,and themodel C code is integrated into DSP.The engine model to the interface simulator is introduced quickly and effectively,therefore,the interface simulator can simulate the states of aero enginemore accurately.Test showed that this new method is feasible and effective.

interface simulator;enginemodel;rapid development;automatic code generation mechanism

10.3969/j.issn.1005-9490.2014.01.018

TM 344.1 文献标识码:A 文章编号:1005-9490(2014)01-0072-05

2012-12-03修改日期:2013-02-28

EEACC:6120B

周彰毅(1985-),男,硕士研究生,主要研究方向为航空发动机控制系统设计,wjandzzy@126.com;

于 兵(1979-),男,讲师,硕士生导师,yb203@nuaa.edu.cn。

猜你喜欢
代码生成模拟器活塞
一种活塞挤压式室内通风设备的研发与应用
了不起的安检模拟器
盲盒模拟器
划船模拟器
Lustre语言可信代码生成器研究进展
一种基于模型和模板融合的自动代码生成方法
代码生成技术在软件开发中的应用
基于XML的代码自动生成工具
动态飞行模拟器及其发展概述
KS Kolbenschmidt公司的新型钢活塞