基于自动代码生成技术的智能涡轮流量计传感器

    要:分布式控制已经成为发动机控制的一个重要方向, 其中智能传感器的研究具有重要的意义。文中提出了一种基于光纤和DSP硬件, 适用于分布式控制的航空发动机智能涡轮流量传感器。设计了相关的硬件电路, 提出了一种修正的FFT测频算法, 并采用自动代码生成技术完成嵌入式软件开发, 实现了高精度的燃油流量测定和CAN通讯等多种功能。与电磁涡轮流量传感器对比实验, 证明了该智能传感器在保证测量精度的前提下, 拓展了测量范围, 提高了量程比, 满足发动机的性能需求。

0 引言

作为航空发动机控制主要的发展方向, 分布式控制系统[1]将低级处理功能从FADEC中的电子控制器EEC (electronic engine control) 下放到现场的传感器和作动器中, 使之成为智能传感器和智能作动器, 同时通过数据总线实现与EEC的实时通讯。

航空发动机通过燃烧燃油[2]产生热量来做功, 为飞机提供动力。因此, 燃油流量的测定, 对发动机的实时状态监测与控制非常重要。目前, 普遍采用电磁式涡轮流量传感器进行燃油流量测量[3]。然而, 这种电磁式传感器不仅易受强电磁的干扰, 无法在恶劣工况下使用, 而且当涡轮转子转速较低时, 叶片会产生磁阻, 导致电磁式流量传感器的量程比不会太大。而光纤传感器[4]通过光纤来实现信号的测量和传送, 具有优良的抗干扰能力, 特别适用于强电磁干扰和高压的环境, 且当涡轮转速较低时, 光纤涡轮流量计不受磁阻的影响, 因此相对于电磁式传感器, 光纤传感器具有更大的量程比。

单片机的运算速度慢、功能单一, 其不能满足分布式控制智能传感器的要求。DSP将高速运算能力、实时处理能力和控制器外设等功能集于一身, 使很多复杂的控制算法和功能得以实现。然而, 目前的DSP软件开发, 都是以编写复杂的汇编或C语言代码为整个软件开发周期的核心, 需要投入大量的人力、物力、财力。TI公司和Mathworks公司合作搭建的嵌入式开发环境Embedded Target for TI's C2000/C5000/C6000DSP Platform和接口工具MATLAB Link for CCS Development Tools为自动代码[5]的生成提供了方便, 使快速代码生成逐渐成为DSP代码开发研究的重点。

本文选用光纤作为传感器材料, TMS320F28335DSP作为智能涡轮流量传感器的微处理器, 利用自动代码生成技术实现嵌入式软件的开发, 设计了一种航空发动机智能涡轮流量传感器。该传感器抗干扰能力强、精度高、范围广, 适合于分布式控制系统。

1 光纤涡轮流量传感器测量原理

光纤流量传感器是把电磁流量传感器的电磁式感应部件替换成光纤感应探头, 使用光纤探头代替电磁线圈完成信号拾取, 一般可将光纤束分为2支, 分别作为发射光纤和接收光纤。光源通过发射光纤照射到叶片端面上, 且照射到涡轮叶片上的位置随涡轮叶片的转动而发生周期性的改变, 这样通过反射进入接收光纤的光强信号就会产生周期性的变化。将接收到的光信号传输至光电转换电路, 然后经过放大和滤波, 就能得到周期性的电信号。假定测出电信号的频率为fn, 涡轮叶片数为n, 则涡轮转动频率f=fn/n。***后根据流量和频率对应关系, 求出涡轮燃油流量。

根据上述测量原理, 其核心在于测量电信号的频率。测量频率方法主要有测频法和测周法。然而这2种方法在整个频率测量范围内, 尤其是低频条件下, 容易受到环境条件的影响, 无法获得较高的精度。

FFT测频算法是将时域离散信号变为频域离散信号, 然后根据各频率的分布情况和幅值大小来计算频率。这种算法可靠性高、鲁棒性强, 能够有效防止信号的干扰, 并且可以通过插值法对傅里叶系数进行修正来提高分辨率[6], 因此本文采用修正的FFT算法进行频率测定。

本文以DN20型号的涡轮流量传感器为研究对象, 设定光纤传感器的可测涡轮频率范围为5~300 Hz, 使其量程比可达60∶1, 涡轮叶片数目为4, 即测定的电信号频率范围为20~1 200 Hz。

2 智能涡轮流量传感器系统硬件组成

本文提出的智能涡轮流量传感器系统结构框架如图1所示, 可具体分为光纤传感器和光纤后处理硬件电路2部分, 下面分别进行介绍。

图1 智能涡轮流量传感器系统框图

图1 智能涡轮流量传感器系统框图

 

2.1 光纤传感器

本文采用的同轴式光纤传感器是由光源、发射光纤、接收光纤以及探测器组成。同轴式光纤传感器的光纤探头的截面图如图2所示。中间1根光纤为发射光纤, 周围一圈6根光纤为接收光纤。本文接收光纤采用多模光纤[7], 可以提高测量的信噪比, 从而实现传感器高精度测量。

图2 光纤探头光纤束排列方式

图2 光纤探头光纤束排列方式

 

先将光纤探头安装固定在待测涡轮叶片顶部的机匣处, 并使得光纤的端面正对涡轮叶片;激光光源发出激光输入到光纤探头中的发射光纤中, 发射光纤中的激光照射到叶端表面后反射到光纤单元中的接收光纤中。

根据光强调制原理, 结合图2的光纤探头结构, 设定任意一对发射光纤和入射光纤的距离为d, 则接收光纤接收到的光强I (z) 与光纤探头距离涡轮叶片反射面的位移z满足式 (1) 所示的函数关系[8]。

计算公式

式中:ρ为镜面的反射率;K0为光波在入射光纤中的损耗;K1为接收光纤的光功率损耗系数 (本征损耗) ;S为光纤有效接收面积, μm2;I为由光源耦合到入射光纤中的光强;σ为表征光纤折射率分布的相关参数;ζ为与光源有关的调制参数。

可见, 在探头参数确定的情况下, 光强I (z) 只与位移z有关。涡轮转动时, 每个叶片扫过光纤瞬间, 光纤探头到光纤端面的距离z***大, 对应I (z) 有极大值, 因此I (z) 为一个周期信号。

2.2 基于DSP的光纤后处理硬件电路

2.2.1 前置处理电路

这部分电路包括光电转化模块和放大滤波模块, 完成输入DSP系统前的信号处理。光电转化模块的功能是将反射光纤接收到的光信号转换为电压信号;放大滤波模块的功能是将光电转换后输出的微弱电压信号进行适度放大, 使其在0~3 V的范围内, 并使一定频率范围内的信号通过, 抑制其他频率信号, 提高系统的信噪比, 经过前置处理电路的信号***终输入到DSP系统的ADCINA0端。

2.2.2 TMS320F28335 DSP结构及特点

TMS320F28335 DSP具有150 MHz的高速处理能力, 具备32位浮点处理单元, 有以下特点:低功耗设计, 1.8 V内核电压, 3.3 V引脚电压;12位16通道ADC, 转换时间为80 ns;256 K×16位Flash存储器, 34K×16位RAM, 1 K×16位ROM;2个e CAN2.0B模块;3个SCI模块。F28335得益于浮点运算单元, 其性能相比于F2812平均提高了50%, FFT等复杂算法运算周期缩短了一半。

2.2.3 上位机显示

为了与计算机连接实现远程测控, 可以使用RS232接口与上位进行连接, 实现异步串行通信, 实现将DSP端的数据实时传输给PC端[9]。

2.2.4 DSP与CAN总线的接口电路

CAN总线[10]是现场总线中的一种, 采用总线拓扑结构和同层通信方式, 有5种错误监测和纠错措施, 具有很高的可靠性;***高位传输率达1 Mbit/s, 接口简单, 成本低廉, CAN的这些优点使其成为分布式控制系统数据总线的理想选择。TMS320F28335 DSP内嵌CAN控制器———e CAN模块, 本文采用82C250作为CAN收发器将DSP芯片与物理总线的接口相连, 实现了DSP与CAN总线的接口电路。

3 智能涡轮流量传感器系统软件实现

3.1 基于MATLAB-DSP的自动代码生成技术

随着近年来DSP被广泛地应用于各个领域, DSP的软件开发方法也在不断地发展, 目前主要的3种开发方法如表1所示。为了降低DSP程序开发难度并标准化生成的DSP程序, 同时有效利用MATLAB软件开发周期短以及汇编代码执行效率高的优势, Texas Instruments和Mathworks公司共同推出了一个嵌入式软件的开发环境ETTIC2000/5000/6000和其对应地接口工具CCSLink。

表1 DSP程序设计方法性能比较    下载原表

表1 DSP程序设计方法性能比较

CCSLink是MATLAB中的一个工具箱, 它提供了MATLAB、CCS和DSP目标板之间的接口, 利用这个工具箱可以使用Real-Time-Workshop将Simulink模型生成标准的C程序代码, 然后调用CCS开发工具编译链接这些C代码, 生成指定目标板的可执行代码, ***终把生成的代码加载到目标板中进行算法性能和实时性评估。目前的MATLAB集成了ADC、PWM、SCI、CAN等多种功能模块, 为用户的开发和应用提供了很大的便利[11]。

3.2 流量测定Simulink模型的搭建

智能化软件系统的流程图如图3所示。该系统主要包括数据采集模块、FIR数字滤波模块、FFT测频模块、频率流量转化模块、上位机显示模块和CAN通信模块, 由于本文采用自动代码生成技术完成嵌入式软件的开发, 因此上述模块都是在MATLAB/Simulink的环境下搭建的, 其中FFT测频模块是整个软件系统的核心部分。

图3 智能化软件系统的流程图

图3 智能化软件系统的流程图

 

3.2.1 数据采集模块

F28335内部的ADC模块具有12位分辨率, 共有16个采样通道, 本论文使用ADCINA0通道, 采用相对***稳定的e PWMx A触发中断来启动ADC, ADC工作方式选择级联模式。

根据香农采样定理, 采样频率应大于信号频率的2倍, 由上文可知, 待测量的光信号的频率为20~1 200 Hz, 因此采样频率应不小于2 400 Hz。本文采用基于FFT的测频方法, 随着采样频率升高, 测频结果的分辨率会降低, 因此设置采样频率为2 500 Hz。在Texas Instructions C2000/C28x3x模块库里找到ADC模块和e PWM模块, 并根据上述参数进行设置。

本论文中采样点数N设定为1 024, 即对于后续的FIR数字滤波模块和FFT测频模块都是以1 024个采样点为一组输入进行信号处理。使用Stateflow/chart控制采样点数, 将采样数据存储在Data Store Memory模块, 当采到1 024个点后置零, 并通过Software Interrupt Trigger模块进入中断, 执行后续动作, 依次循环。

3.2.2 FIR数字滤波模块

本文选用FIR算法实现低通滤波。在FIR滤波器中可以得到的线性相位, FIR滤波器采用非递归结构, 不存在稳定性问题, 频率特性误差也较小。通过软硬件滤波方法相结合, 使该传感器鲁棒性更强、流量测定更准确。

首先确定滤波器的阶数。综合考虑计算精度和实时性, ***终选择的滤波器的阶数为32阶。当前时刻以及***近32个时刻的输入在数据采集程序中已经得到, 所对应的冲击响应的值可以根据滤波器的截止频率采用汉明窗窗函数法计算得到。本系统中所要测量的光信号的频率范围为20~1 200 Hz, 因此将频率截止频率设为1 250 Hz。***后根据上述参数, 配置Filter Designs模块库的Digital Filter Design模块。

3.2.3 FFT测频模块

FFT算法得到的频率分辨率为

计算公式

式中:fs为采样频率;N为采样点数。

上文已经提到, 取计算公式, N=1 024, 因此频率分辨率为

计算公式

本文设计了一种通过插值的方法对傅里叶系数进行修正来提高分辨率的DSP算法。基本的思路是首先通过FFT对信号频谱进行全局峰值搜索, 然后采用重心法得到峰值的偏差初值, 再迭代计算修正峰值前后两个位置的DFT系数来实现对真实频率的估计, 保证了误差在0.05范围内。该算法的主要步骤如下:

(1) 对信号X (k) 做FFT运算, 取模后得到信号频谱|X (k) |, 再对频谱峰值进行搜索, 得到峰值的位置L。

(2) 由式 (2) 计算偏差初值error (0) , 初始值n=1。

计算公式

式中M为主瓣内的峰值位置前后的谱线数。

(3) 由式 (3) ~式 (5) 计算得到第n次的偏差修正值Δerror (n) , 加上第n-1次偏差值error (n-1) 得到第n次的偏差值error (n) , 且n=n+1;

 
计算公式

(4) 重复步骤 (3) , 直到error (n) ≤0.05, 由式 (6) 求出真实的频率:

计算公式

式中fx为采样频率。

(5) 因为涡轮叶片数为4, 故涡轮转动频率计算公式

由于MATLAB中的FFT模块并不是开源的, 不能直接修改, 为了实现上述测频算法, 本文利用Embedded MATLAB Function模块对修正的FFT算法进行封装, 得到一个能够直接使用的Simulink模块。

3.2.4 频率流量转化模块

为了求出涡轮频率f与涡轮流量Q之间的关系, 本文根据DN20型号的涡轮流量传感器构建了对应的Simulink仿真模型, 并进行了软件仿真, 得出了如表2所示的频率和流量的分段线性化关系[12]。

表2 智能传感器频率流量分段线性化关系    下载原表

表2 智能传感器频率流量分段线性化关系

同样利用上述的Embedded MATLAB Function模块, 根据分段线性关系, 完成频率-流量的转化, 实现燃油流量的测定。

3.2.5 上位机显示模块及CAN通讯模块

为了实现转速的实时显示, 同时方便传感器地面试验时远距离测控, 本文选用异步串行通讯方式, 实现了DSP与上位机之间的数据交互。本文选择的波特率为11 520 bit/s, 完全能够满足实时显示的要求。在Simulink库中找到SCI Transmit模块, 并按照上述参数对该模块进行设置。在电脑端选用通信端口COM1, 将其波特率设置为相同的11 520 bit/s。为了能够实时显示, 本文利用Labwindows/CVI软件搭建了显示流量的人机界面, 方便转速在PC端的实时显示。

CAN2.0B中存在2种不同的帧格式, 本文采用具有11位标识符的标准帧[13], 波特率250 kbit/s。ID标识符由ID25-ID18构成, ID标识符的分配采用“目的标识+信号标识+命令标识”, 结构层次清晰。目前节点需要传输的信号只有涡轮燃油流量1个参数, 因此设置Data1的ID为00, 并预留出2位 (ID22-23:00) 便于分布式系统结构的扩展。在Simulink库中找到e CAN Transmit模块, 并按照上述参数对该模块进行设置。

3.3 嵌入式软件自动代码生成

将上述各个模块结合起来, 构成如图4所示的完整的智能涡轮流量传感器系统Simulink模型。对该模型的Configuration Parameters参数进行设定, 并将基于DSP的处理硬件电路与PC机相连接后, 完成自动代码生成过程, 将上述模型转化C程序, 下载到DSP硬件电路板中, 实现了嵌入式软件的开发。

图4 智能涡轮流量传感器系统Simulink模型

图4 智能涡轮流量传感器系统Simulink模型   下载原图

 

4 实验验证

本文对所设计的航空发动机智能涡轮流量传感器系统进行实验验证, 首先将所设计的测量系统软件下载到集成电路中进行软件硬件的联调实验验证测量精度与测量范围;然后以水为介质, 同时做电磁式涡轮流量计与光纤涡轮流量计对比实验, 验证了整个光纤涡轮流量计的测量精度及测量范围达到了预期的效果。

4.1 软硬件联调实验

对光纤涡轮传感器进行了单独实验验证。利用一个电机可调转速的涡轮转子, 涡轮上方装有2.1节所述的光纤传感器。电机的转动频率可得到, 光纤涡轮流量计测量的转动频率实时地显示在PC主机上, 试验结果如表3所示, f0为实际频率, f1为测量频率, e1为误差, e2为相对误差。

表3 测量频率与误差实验数据表    下载原表

表3 测量频率与误差实验数据表

可见, 该光纤涡轮流量传感器在测量范围内, ***大的相对误差为0.03%, 完全满足发动机测量精度的要求。

4.2 流量计对比实验

在同一个实验环境下, 在DN20的涡轮的基础上, 同时使用光纤流量传感器和电磁流量传感器测流量, 如图5所示, 对二者的测量结果进行对比分析。

图5 流量对比实验图

图5 流量对比实验图   下载原图

 

涡轮流量传感器的流量上限的限制主要取决于涡轮轴承的寿命, 而本文所开发的光纤涡轮流量传感器, 其涡轮部分仍是原来的电磁涡轮流量传感器的涡轮部分, 因此其上限与原涡轮流量传感器保持一致, 本文不进行相关实验, 只在频率小于35 Hz的条件下进行对比实验验证, 得到如图6所示的实验结果。

图6 流量对比实验结果图

图6 流量对比实验结果图   下载原图

 

根据实验结果可以看出, 在电磁涡轮流量计的有效测量范围内, 光纤涡轮流量计测量数据相应地与电磁涡轮流量计的测量数据重合一致, 这证明光纤测量结果是完全正确;并且光纤涡轮流量计的流量测量范围向下延伸了, 在保证测量精度的同时将测量范围扩展至测点 (f=4.73 Hz, Q=0.057 3 L/s) , 保持原涡轮流量计的测量上限点 (f=309.33 Hz, Q=3.549 68 L/s) 不变, 光纤涡轮流量计的量程比可以提高至63∶1。

5 结论

本文设计了一种以光纤传感器与DSP为硬件核心的航空发动机分布式智能涡轮流量传感器, 并采用自动代码生成技术完成嵌入式软件的开发, 对软硬件进行了联合仿真实验, 并与电磁涡轮流量计进行了对比。主要成果如下:

(1) 提出了一种基于光纤传感器和DSP硬件的智能涡轮流量传感器, 并针对分布式控制结构, 设计了对应的智能算法和CAN口通讯, 该传感器抗干扰能力强、测量精度高, 可实现SCI串行通讯、CAN通讯等多种通信功能;

(2) 采用基于MATLAB-DSP的自动代码生成技术, 利用简单的Simulink模型实现了复杂的嵌入式软件的开发, 缩短了开发周期, 生成的软件系统经过验证完全满足实际要求, 效果良好;

(3) 验证了所设计的智能涡轮流量传感器的测量精度, 与电磁涡轮流量传感器相比, 明显延伸了测量下限, 显著提高了量程比。

本研究为智能传感器的工程应用提供了有效的途径, 为航空发动机光纤涡轮流量传感器的有效性检验提供了实验验证支持, 促进了航空发动机分布式控制领域的研究工作。

相关新闻

返回顶部
0517-8699 6066 欢迎来电咨询
Hello. Add your message here.