袁云飞 郭 霆 王玉宝 唐 明
(江苏科技大学能源与动力学院1,江苏 镇江 212003;沪东重机有限公司2,上海 200129)
基于嵌入式系统的船用柴油机信号模拟器
袁云飞1郭 霆1王玉宝2唐 明1
(江苏科技大学能源与动力学院1,江苏 镇江 212003;沪东重机有限公司2,上海 200129)
为方便船用柴油机监控和故障诊断等系统进行半实物仿真,开发了一套信号模拟器。硬件方面,信号模拟器基于嵌入式系统开发,分立的组件间通过RS- 485总线通信。模拟器提供如液晶显示和旋钮输入等人机接口,并可灵活配置输出多种模拟信号。软件方面,底层软件采用中断模式,上位机软件提供界面来实施动态性能测试。试验测试结果表明,该船用信号模拟器能够较方便地模拟出常见的船用柴油机信号,且其精度高、实用性强,为船用柴油机相关系统的测试提供了良好的辅助工具。
信号模拟器 嵌入式系统 船用柴油机 半实物仿真 动态性能测试
船用柴油机在运转中通常需对曲轴转速、燃油温度、燃油压力、冷却水温度、主机振动等相关参数进行监控,并依据这些参数信号进行故障诊断和报警[1-3]。以往的柴油机故障诊断等系统在进行半实物仿真时,所需的传感器信号如频率、电流、脉冲、电阻等是采用一些分立的组件来产生。分立组件如信号发生器或简单电路提供信号源的功能也比较单一,且很难实施动态特性,所以调试起来非常不方便[3]。目前,虽然像dSPACE公司为代表开发的硬件在环仿真测试系统能够较好地满足动态测试性能,实时性好,但价格过于昂贵[4]。本文综合成本和实用性等方面的考虑,提出了一种基于嵌入式系统的船用柴油机信号模拟器。该系统集多种信号源于一体,能够模拟频率信号、电阻信号、电压信号和电流等信号。为方便调试,该模拟器提供完善的人机接口。此外,系统留有上位机接口,通过上位机软件可以对模拟器进行监控和标定,实现动态特性。该船用柴油机信号模拟器目前已经量产化,其给柴油机监测、报警和故障诊断等系统的调试工作带来极大的方便,且实用性强,缩短了开发周期,提高了工作效率。
综合信号模拟器的总体设计如图1所示。
图1 模拟器系统框图
模拟器可为常见的如柴油机故障诊断等系统提供相关的输入信号。为方便后期拓展,模拟器有自动设置和手动设置两种模式,切换方式可通过上位机软件设定。此系统中集成了常见的船用柴油机外围信号,提供2路频率信号、10路Pt100电阻信号、2路K型热电偶毫伏电压信号和2路4~20 mA电流信号。为方便调试,模拟器提供良好的人机交互接口。其中,前面板上共配备有8块液晶显示屏和8组旋钮输入。所有的输出信号的信息均展示在液晶屏上,输出参数的设定在手动模式下可通过旋钮方便调整。后面板为输出端子接口,其中模拟的Pt100电阻信号有两线制和三线制两种接线方式,频率信号和4~20 mA电流信号均附加电源,使模拟器适应不同场合的应用需求。此外,模拟器前面板上还留有RS- 485接口。
2.1 硬件整体设计
信号模拟器的整体设计如图2所示,主要由STMS103核心板、驱动板和RS- 485总线三大部分组成。
模拟器整体采用的是分立组件式结构,共包含8块CPU核心主板和8块信号驱动板。每块核心主板采用SPI总线,通过高速光耦以光电隔离的方式驱动单块驱动板,同时输出两路模拟的信号。本设计中,8块驱动板由5块Pt100电阻模拟信号、1块4~20 mA、1块K型热电偶和1块频率输出板组成。核心板之间采用RS- 485总线互连,应用中上位机作为通信主机,核心板均为从机。
图2 硬件整体框图
2.2 核心板设计
光电隔离电路如图3所示。
图3 光电隔离电路
核心板中CPU采用的是8位低成本、高性能的STM8S103,主频最高可达16 MHz,拥有8 kB容量Flash和1 kB容量RAM以及SPI、UART等外设接口。设计时,芯片内部启用EEPROM模块来存储参数化配置信息。看门狗芯片可监测单片机内部的程序,以防程序因外部电磁干扰等引起的程序跑飞。核心板上配有LCD液晶显示屏、输入旋钮和通信等接口。其中,LCD为1 602字符液晶,可显示16×2字符,同时显示两路信号的参数信息;输入旋钮为编码式旋钮,旋钮在手动模式下可灵活配置所属通道。当需要改变输出值时,顺时针旋转面板旋钮,会减小输出值;当旋转到最小值时,再顺时针旋转一次,则会变为最大值。同样逆时针旋转面板按钮,会增大输出值,当旋钮旋转到最大值时,再逆时针旋转一次,则会变为最小值;当按下旋钮时,会切换通道。核心板与驱动板间驱动接口均采用同样的8针JTAG接口,其中主要包含电源和SPI驱动部分,两者间是采用高速光耦来隔离,可保证良好的电气兼容性。
2.3 驱动板设计
驱动板的主要目的是输出模拟器定制的测试信号。Pt100电阻信号驱动板是通过纯阻性的网络实现,其中包括运算放大电路、D/A驱动电路、电压跟随器和标准电阻。pt100模拟电路框图如图4所示。
图4 Pt100模拟电路框图
模拟器需要输出的电阻信号是根据输入温度和Pt100温度电阻表得到的,通过阻抗网络可得到D/A输出的控制值K。本设计中采用16位分辨率的D/A芯片DAC8812来实现。图4所示的电路为纯阻性,输出电阻为:
R=Rs/(1-βK)
(1)
式中:Rs为参考电阻,设计中Rs=250Ω,精度为0.1%;β为放大器放大倍数,β=1.5;k为D/A控制量,k=D/65 535,D为D/A控制数字量,范围为0~65 535。通过调整D/A的控制量,即可调整电路的输出电阻,实现Pt100电阻信号的模拟。
4~20mA电流信号通过16位分辨率的电流环路芯片AD421来产生,其驱动电路如图5所示。AD421输出电流非线性误差控制在±0.01%,能较精确地输出电流信号。
图5 4~20 mA驱动电路
K型热电偶的输出为毫伏电压信号,设计中通过DAC8812加电压跟随器的方式产生,参考电压为5 V,则控制回路的输出电压为:
U=5D/65 535
(2)
频率信号直接使用高精度DDS芯片AD9851产生。AD9851内部DDS模块有32位频率控制字、180 MHz时钟、0.04 Hz精度,能精确输出频率信号。AD9851芯片产生的频率信号后经缓冲放大电路后输出,提高带负载的能力。
3.1 软件整体设计
系统软件分为下位机和上位机软件两个部分,如图6所示。
下位机主要负责硬件输入输出等方面的控制,而上位机完成相关测试数据的监测、标定等工作。上下位机之间采用RS- 485接口物理连接,软件上采用Modbus-RTU协议。
图6 软件整体框图
3.2 下位机设计
下位机软件设计主要包括旋钮输入信号检测、定时器、通信接口驱动、LCD液晶屏刷新、EEPROM的管理以及SPI驱动等部分。下位机的核心思想是通过中断的方式响应外部的输入和接收通信数据,这样的设计可使主程序减轻负担。具体实现的流程图如图7所示。
图7 下位机工作流程图
旋钮输入的中断服务程序如下所示。当旋钮输入改变时,中断程序会判断旋钮输入的方式,如向下旋转、向上旋转或旋钮按下,并根据相应的操作调整电流的输出值,同时在液晶上刷新显示。
#pragma vector = 7
//旋钮输入中断,4~20 mA服务函数
__interrupt void EXTI_PORTC_IRQHandler(void)
{ unsigned char temp;
temp = PC_IDR & 0x0E;
if(temp==0x08) {
//向下旋转
if(which_way==0) {
//第一路信号
……
}
else{
//第二路信号
}}
if(temp==0x0C) {
//向上旋转
if(which_way==0) {
//第一路信号
……
}
else{
//第二路信号
……
}}
if(temp==0x06) {
//旋钮按下,在两路之间转换
if(which_way==0)
//通道变量调整
which_way=1;
else which_way=0;
}
Data_updata();
//液晶刷新输出
//通道1的电流更新
AD421_SPI(OUT1_data_DA,0);
//通道2的电流更新
AD421_SPI(OUT2_data_DA,1);
}
3.3 上位机软件设计
上位机软件基于.Net4.0组件,采用Visual Studio 2010开发,在设计时被定义为表示层、业务层、接口层和数据层,这样的设计理念使系统具有拓展性和可维护性。
表示层提供应用程序的用户界面,包括图形、响应用户的操作以及获取业务层的功能支持。表示层和数据层的隔离保障了系统数据的安全性。本系统中表示层主要是展示模拟器的输入输出参数和功能配置,主要包括综合设置和输出的四组信号的设置。
业务层负责应用程序的业务功能逻辑,主要任务是响应来自表示层的功能请求,并根据业务逻辑从数据层中获取数据作相应处理,最后将操作结果传送给表示层。
接口层用于业务层与数据层的连接以及相关工具类的组合,本系统中接口层定义Modbus协议驱动和xml数据库读写类。
数据库采用轻量级的xml数据库,在本设计主要存储用户定义的测试用例数据以及如Pt100温度阻值表、K型热电偶温度电压表等数据。
PCB电路板被固定在机箱的内部,核心板与驱动板之间通过排线连接。整机的尺寸控制在50 cm×30 cm×30 cm之内,质量为8 kg,外壳防护等级到IP54。供电采用200 V交流电,整机功耗控制在20 W左右。由于模拟器采用了嵌入式系统的架构,达到了便携式的使用效果。
在16VPA6船舶柴油机系统中,冷却水、曲柄销油温等采用Pt100电阻传感器测量,范围一般为0~100 ℃;进出口燃油压力、滑油压力等采用标准4~20 mA变送;排气温度采用K型热电偶传感器测量,范围一般为0~600 ℃;空冷器低温水等的流量以及曲轴转速信号一般都在0~2 000 Hz范围内。按照应用的需求,信号模拟器的输出范围被设置在传感器的变送范围内。为评估模拟器的输出精度,我们利用PC主机和工业采集板卡采集模拟器的输出,并计算输出精度,如表1所示。通过表1可知,模拟器输出四种信号的精度均高于现场使用的传感器,且响应速度快,可以有效地模拟现场的传感器信号。
表1 模拟器性能测试表
针对柴油机监控、故障诊断调试所需的信号源问题,设计出基于嵌入式系统的船用柴油机模拟器,可比较真实地模拟出柴油机常见的外围信号类型。本系统为船用柴油机监控和故障诊断等系统进行半实物仿真提供了良好的辅助工具,操作方便,有较高的实用价值。
[1] 杨建国,王晓武.船舶柴油机监测与故障诊断技术现状及发展趋势[J].中国航海,1999(2):41-48.
[2] 仰德标,明廷锋.柴油机故障诊断研究综述[J].武汉造船,2000(2):26-29.
[3] 王凤利,李宏坤.基于EEMD的柴油机缸套磨损故障诊断[J].大连理工大学学报,2013(1).
[4] 杨传雷,刘春罡,罗巩固,等.柴油机相继增压系统信号模拟器的开发[J].应用科技,2010,37(8):45-48.
[5] 王宇明,张付军,刘波澜,等.便携式发动机工况信号模拟器的设计与开发[J].内燃机,2006,27(6):12.
Signal Simulator Based on Embedded System for Marine Diesel Engine
In order to carry out semi-physical simulation for marine diesel engine monitoring and fault diagnosis system, the signal simulator has been developed. For the hardware, the signal simulator is developed based on embedded system; the discrete components are communicating via RS- 485 bus. LCD display and knob inputs are provided as the man machine interface; and multiple kinds of analog signal outputs can be flexibly configured. For the software, the underlying software is using interrupt mode, the software in host computer provides interface to implement dynamic performance test. The result of experimental tests shows that the simulator proposed can easily emulate common marine diesel engine signals with high precision, and features strong practicability, it provides excellent auxiliary tool for testing relevant system of the marine diesel engines.
Signal simulator Embedded system Marine diesel engine Semi-physical simulation Dynamic performance test
袁云飞(1991-),女,现为江苏科技大学轮机工程专业在读硕士研究生;主要从事柴油机在线监测和故障诊断专家系统的研究。
TP274+.2
A
10.16086/j.cnki.issn1000-0380.201505020
修改稿收到日期:2014-11-07。