基于ARM-WinCE的某型航空发动机温控盒检测仪设计
2013-12-07王大鹏范惠林陈丹强鲍学良
王大鹏 ,范惠林 ,陈丹强 ,鲍学良 ,李 强
(1.空军航空大学 作战指挥系,吉林 长春 130022;2.93802部队,陕西 咸阳 712201)
某型航空发动机温控盒通过热电偶测量涡轮后温度,从而保证排气温度不超过规定值。温控盒是否正常工作直接关系到发动机工作安全,需定期检测。航空兵部队曾经就发生过因温控盒故障而导致的飞行事故,因此温控盒的检测非常重要。
温控盒将喷管中K型热电偶输出的热电动势值与设定的限制电压比较来判断发动机是否超温。超温时,将温差信号调制、放大、解调、功率放大,输出供油控制信号及座舱内告警信号。超过700℃时,输出一定频率和占空比的方波信号限制燃油供油量;超过730℃时,输出连续直流信号停止供油。温控盒检测仪的主要任务是模拟热电偶工作,测量温控盒输出的温控信号是否正确。
目前已有两种检测仪,实际使用情况如下:
(1)基于单片机。优点:成本小。缺点:操作复杂,显示信息有限,人机交互性能相对不足(热电偶模拟信号需手动转把手调节),精度较低,检测内容的切换需要通过手动开关完成,可存储数据量小,利用数码管显示信息,无法显示汉字,查看历史数据不方便。
(2)基于PC104工业计算机。优点:运行桌面Windows系统,显示信息多,人机交互性较理想,开发周期相对较短。缺点:成本太高,体积较大,功耗较大。PC104主板及A/D功能板卡价格都在万元以上,VGA显示器体积大,功耗10 W以上。
这两种检测仪都不能很好地满足实际需求。因此提出了一种基于ARM-WinCE的改进设计方案,该检测仪结合了已有两种方案优点,可鼠标操作,显示信息多,人机交互性好,开发周期短,体积小,功耗小,且支持触屏。与原检测仪设计复杂电路测量热电偶冷端温度和手动控制输出模拟热电势信号相比[1],本文利用DS1820测量冷端温度,D/A模拟输出热电势信号,缩短了开发周期与检测时间,提高了测量精度与实时性,同时降低了成本。
1 检测仪需求分析
1.1 常遇故障
常遇故障概括起来就是在一定排气温度下,温控盒输出错误的温控信号,主要有两种情况:
(1)未到限制温度却切油、停车、告警,影响飞机飞行性能或造成空中停车;
(2)超过限制温度未切油、停车、告警,烧坏发动机。
1.2 参数需求分析
根据维护规程规定,温控盒需检测参数及最大允许误差如表1。
表1 温控盒检测参数
2 检测仪总体设计
首先进行自检。系统根据输入的幅值、频率和占空比控制D/A输出对应的方波信号,该信号不经温控盒直接进入检测仪进行测量,检测仪通过对比测试结果与原始输入来判断系统是否正常。
正常检测时,输入待检温度,系统读取冷端温度,根据热电偶工作原理,控制D/A输出热电势到温控盒,温控盒输出温控信号,温控信号经调理后分为两路:一路进入I/O端口触发中断,另一路进入A/D采样。设置中断触发为双边沿,则方波信号边沿到来时触发中断,系统转入中断处理进行计时或采样,完成温控信号物理量测量,同时实时显示并保存测量结果。检测仪主要由5个模块组成,如图1所示。
(1)电源模块:主要由电源和分压电路等组成,提供检测所需电压。
(2)信号调理模块:由信号调理电路与稳压传感器、模拟开关等组成,实现A/D、D/A输入/输出信号调理及其他信号通断控制。
(3)信号转换模块:包括激励信号源和信号测量电路,是完成测量功能、保证测量精度的关键。
(4)控制模块:主要由ARM处理器(S3C2440)及外围芯片组成,检测流程控制,实现实时数据处理,。
(5)显示模块:由支持触屏的显示器组成,提供检测界面并实时显示检测结果。
3 硬件设计
硬件设计难点主要是激励信号源,需模拟热电偶输出 0~80 mV,且最大允许误差为0.04 mV。
3.1 热电偶工作原理
热电偶热电动势大小取决于两端接点温度及导体材料,两电极材料固定时,热电动势便是两接点温度t和t0的函数差,即:
如果冷端温度t0保持不变,则热电动势便成为热端温度t的单一函数,即:
故当t0已知时,热电动势只与热端(测量端)有关,因此需要实时测量t0。
3.2 激励信号源
激励信号源主要由DS1820、D/A及调理电路组成。DS1820测温范围为-55℃~+125℃,精度为0.5℃,兼容TTL电平,可直接与处理器进行串行数据交互,简化了冷端温度测量的问题。D/A选用18位分辨率的AD760,经分压后串行输出0~80 mV电压。系统软件读取DS1820测得的冷端温度和用户输入的待检温度,根据3.1所示的热电偶工作原理直接控制D/A向温控盒输出一定大小的激励热电势,无需检测人员手动调节。
3.3 温控信号测量电路
A/D转换器选用A/D7190。A/D7190是一款适合高精度测量应用的低噪声完整模拟前端,可直接输入小信号,具有24位转换,分辨率可达微伏级,能较好地满足激励信号检测的精度要求。
4 检测仪软件设计
软件是检测仪设计的核心,负责根据待测温度计算激励信号幅值,并实时测量、显示温控信号参数。软件开发主要包括操作系统定制、驱动程序开发、应用程序开发三部分。驱动程序负责具体数据采集;应用程序负责数据处理,控制检测仪工作逻辑,提供人机交互界面,在VS2008中基于MFC开发。
ThreadTemp和ThreadData分别表示冷端温度测量线程与数据处理线程,IST为中断处理线程。正常检测时,软件总体流程图如图2所示。
4.1 操作系统定制
检测仪选用WinCE6.0操作系统,主要为应用程序提供运行环境和文件管理,并为检测人员提供人机交互平台,简化操作。WinCE对 Win32API子集的支持使桌面Windows程序开发经验可直接应用到检测仪应用程序开发中,缩短了开发时间。
检测仪操作系统是在Platform Builder软件中根据测试需求及硬件特点进行系统组件及相关信息配置、调试及编译定制的ARM_V4I模式操作系统。为支持应用程序,操作系统定制时选择MFC支持模块,不选择检测所不需要的网络、串口等模块以最大限度减少系统大小,提高系统运行速度。
4.2 驱动程序开发
WinCE下驱动程序采用流式接口驱动,以用户态下DLL形式存在。外设被抽象成一个文件,应用程序通过使用操作系统提供的文件API调用对应的流式接口函数来访问外设,这不同于桌面Windows中直接以函数名调用DLL中函数。流式接口函数包括xxx_Open(),xxx_Close(),xxx_Init(),xxx_Deinit(),xxx_Read(),xxx_Write(),xxx_IoControl()等12个函数,其中,xxx为自定义设备名[2]。
检测仪驱动开发实质是在固定的流式接口函数中实现对硬件部分的具体操作。
4.3 冷端温度实时测量
应用程序通过ThreadTemp实现测温并显示结果,完成对冷端温度的实时测量[3]。DS1820与S3C2440单线连接,关键是保证正确的时序:初始化→ROM操作→存储器操作→数据处理[4]。
4.4 自检输出信号及温控信号测量的实现
利用TX1100A电位计校准激励信号源后,控制激励信号输出大小对系统进行自检。自检时,ARM处理器根据检测人指定的占空比、频率、幅值,控制D/A输出相同参数的模拟量,模拟量进入A/D转换实现自检,自检时程序的运行如图3所示。正常检时,温控盒输出温控信号。检测结束后,系统自动以设备编号为标记将结果分文件夹保存,设备编号统一存储在文本文档中,读写由系统软件完成。
自检信号及温控信号的实时测量通过在温控盒驱动程序WKH_Open()中创建的IST实现。中断到来时,IST完成计时或A/D转换。如图2所示,IST先创建中断关联事件,然后利用WaitforSingleObject()一直等待;方波信号输入检测仪触发中断后,IST转入计时或采样中断处理完成测量。
测量频率、占空比、幅值的原理如图4所示。计时之前,先调用QueryPerformanceFrequency()函数获取机器内部定时器时钟频率a[0],在连续的3次边沿到来时调用QueryPerformanceCounter()函数获得当前计数值到a[1]、a[2]、a[3],两次计数之差除以时钟频率即可得出精确到微秒的间隔时间,开启A/D转换可得到方波幅值。以duty表示占空比,f表示频率,则:
测试结果的实时显示主要通过ThreadData实现。如图2所示,在检测停止前,ThreadData循环完成获取IST所测量到数据、处理数据、显示数据、保存数据的任务。
4.5 数据保存与故障分析
检测过程中,系统将检测结果同时写入文本文档中完成对检测结果的保存,检测人员以后可在不运行测试软件的情况下直接查看历史数据。故障出现时,系统查询故障数据库,提示检测人员可能的故障结果。
5 检测结果及分析
以幅值(mV)、频率(Hz)、占空比为一组数据,系统自检结果如表2所示。其中误差取3次测量中所出现的最大误差。
表2 自检结果
由表2可得,测得数据误差均在表1所示范围内。分析数据可得以下3点:
(1)幅值误差稳定在 0.010 mV~0.020 mV之间,比较理想。
(2)频率为 5 Hz、6 Hz或 8 Hz时,频率误差均小于 0.02 mV,占空比误差不超过0.1%。
(3)频率达到 20 Hz时,误差开始大于 0.1 Hz;频率达到80 Hz时,会出现结果未显示或占空比为0.0%。
调试发现,输入信号为80 Hz、占空比出现 0.0%时,a[2]=0。其原因为ARM不支持同级嵌套[5],系统响应第1次中断时,将中断屏蔽器相应位置1,80 Hz中断间隔相对较短,第1次中断未处理完时,第2次中断到来,中断请求未被服务,a[2]=0,由式(4),高电平时间为0,故占空比出现0.0%。而第3次中断可被服务,a[3]值正确,频率正确。
结果未显示的原因是数据线程中消息响应函数的算法繁琐,消耗时间过长,数据未正常显示。简化算法后,结果可正常显示。
由表 1,温控盒输出温控信号频率为 5~8 Hz,在此范围内,采用图4方法检测出误差在规定范围之内。增大输入频率再进行测试,以测量10次内有无出现结果不正常显示来进行统计,结果如表3所示。表3中,当频率较高(大于 80 Hz)时,图 4中连续计时或采样的测量方法将难以实现测量功能,需间隔采样,结合中断计数计算方波物理量,以提高测量精度,但测量实时性减弱。
表3 提高方波频率测量结果统计
本文设计的检测仪已通过部队实际应用,作为内场离位检测设备,具有精度高、检测时间短等优点,有效地保障了航空兵部队的作战和训练任务。设计思想和工程实现方法对于低频方波信号的物理量实时检测具有借鉴意义。加上蓄电池电源后,可以拓展为各种体积小、重量轻、功耗低的内外场便携式检测设备,具有一定的推广前景。
[1]蔡传凯,谢斌,蒋宁,等.某型飞机发动机温度控制盒检测系统设计[J].装备制造技术,2009(1):55-57.
[2]姚连喜,樊强,周井泉.WindowsCE.NET中断延迟测试与分析[J].电子技术应用,2009,35(3):40-45.
[3]刘洪.基于 DS1820的温度测量系统设计[J].华南师范大学学报(自然科学版),2002(1):85-89.
[4]Xu Liyong,Dong Yanrong,Gu Liwei,et al.Design and implementation of the embedded wince software platform drive[C].2nd International Conference on Advanced Computer Theory and Engineering,2009,2(8):1933-1940.
[5]Samsung Electronics Co,Ltd.S3C2440 32-bit microcontroller user′s manual revision 1[K],Seoul:Samsung Press,2004.