APP下载

CAT挖掘机发动机故障远程诊断系统设计

2021-02-16孙先松

长江大学学报(自科版) 2021年6期
关键词:串口燃油远程

孙先松

长江大学电子信息学院,湖北 荆州 434023

我国城市化的建设发展很快,挖掘机在建设中起到了非常重要的作用。目前,很多挖掘机都到了经常出故障的阶段,如果不及时修理,对使用方的经济损失会很大。机械和液压系统的故障很直观,一般机修人员都能检测维修,而对于发动机故障,专业的有经验的维修人员有时都很难检测与维修。美国卡特彼勒公司(Caterpillar,简称CAT)生产的系列挖掘机因为质量和性能优良,在我国拥有大量的客户,其发动机的维修资料很少,特别是其电控模块资料都没有公开,维修需借助专用工具。笔者通过对CAT 320D型发动机的ECM模块进行测试分析,设计了一种远程发动机诊断系统[1]。该系统只需用户接上挖掘机的相应接口,就能在本地诊断发动机,或者远程传输给有经验的维修人员,以更准确地诊断发动机的状态、性能和故障[2]。

1 系统总体架构

CAT 320D型挖掘机发动机远程诊断系统总体架构如图1所示[3]。主要包括数据源端(发动机电控模块ECM)、数据采集发送部分和远程终端[4]3个部分。

图1 CAT发动机远程诊断系统设计总体架构图Fig.1 Overall architecture diagram of CAT engine remote diagnosis system design

1)数据源端 ECM主要控制发动机运转,对电控系统的故障进行自诊断,检测各传感器的好坏和工作状态,对发动机监视和保护,并保存所有相关的数据,可通过专用适配器和ET软件读出数据和进行编程配置。诊断系统是直接从ECM中读出数据和进行配置,不需要专用的适配器。

2)数据采集发送部分 使用一个主控CPU,通过CDL接口电路与ECM进行通信,并外接GPS模块、4G模块和电源、本地接口,通过4G模块传输到远程终端。

3)远程终端 远程终端是连接到Internet网络的一台服务器,通过公网接收4G模块传送的数据,服务器上设计有相应软件,主要完成接收数据、显示和发送控制命令等工作。服务器可申请固定IP、租用云服务器或者使用第三方域名解析软件来实现。

2 电控系统原理

ECM是核心部件,具有连续监测并控制发动机正常工作运转的功能,主要有燃油喷射控制、点火控制、怠速控制、各种传感信号检测、工作状态指示、自诊断与报警、数据通信总线接口等。CAT 320D型发动机使用的ECM功能框图如图2所示。主要接有压力、温度、位置和转速4种传感器,能完成发动机工作全部的电子控制,记录发动机故障和电气系统故障诊断、发动机监视和保护的信息,用户还可以可编程设置配置参数[5]。ECM数据读写要通过CAN总线或CDL总线,有数据模式和校正模式2种操作模式。数据模式有8种级别信息:PS压力[6]、发动机转速、发动机冷却液温度、液压油温度、A/D转换结果、实时故障代码、数据输入和控制输出显示。校正模式信息包括发动机型号、ECM型号、软件版本信息、数据输出测试、PRV阀控制测试、转速设置、PS压力校正、校核发动机转速开关、自动控制制动器校正、PRV阀校正等。所有数据都可以通过CAT自定义的CDL总线进行读写[7]。

图2 ECM功能框图Fig.2 ECM functional block diagram

通过对ECM数据的读写,可以完成发动机的状态监测与故障诊断、发动机的工作模式配置,设计中还必须了解具体外围部件的连接。320D型ECM有A、B 2个接口,引脚定义图如图3所示,主要信号说明如表1所示。

图3 ECM的A、B接口引脚定义图Fig.3 A and B Interface pin definition diagram of ECM

表1 ECM的A、B接口信号说明

3 硬件实现

硬件实现部分主要是数据采集发送部分,以FPGA芯片EP4CE10E22为控制核心,连接一个GPS模块和一个4G通信模块,实现从ECM的CDL接口输入输出数据,并通过4G模块发送到远程终端。

3.1 FPGA核心单元电路设计

FPGA芯片为Altera Cyclone IV的E系列,共有10320逻辑单元,片内有414kbit RAM,有645个逻辑块、2个PLL、10个全局时钟网络、8个IO BANK,用户可用91个IO口,内核工作电压1.15~1.25V,144引脚EQFP封装。CDL接口数据首先经过隔离、调理后进入FPGA的52、53脚,ECM各种操作模式下数据长度不一致,为了保证编解码和通信的实时性,FPGA外围接有一片SDRAM存储器用于数据缓存,主控电路如图4所示。另外FPGA还需要有下载电路及配置电路,如图5所示。

图4 FPGA主控电路原理图Fig.4 Schematic diagram of FPGA main control circuit

图5 配置和下载电路原理图Fig.5 Schematic diagram of configure and download circuit

3.2 GPS模块单元电路设计

GPS模块使用的是ATGM336H,它是一款高性能BDS/GNSS全星座定位导航模块,支持中国的北斗、美国的GPS、俄罗斯的GLONASS、欧盟的GALILEO、日本的QZSS 以及卫星增强系统SBAS。模块通过串口连接到FPGA的串口1上(TXD1和RXD1引脚),模块引脚和电路原理图如图6所示[8,9]。

图6 GPS模块电路原理图Fig.6 Schematic diagram of GPS module circuit

3.3 4G模块单元电路设计

4G模块使用的是USR-LTE-7S4 V2,支持TD-LTE(移动4G)制式标准,支持移动和联通的 2G/3G/4G方式、电信4G方式,数据传输最高下行速率150Mbps,上行速率50Mbps。在GSM方式下下行速率 384kbps,上行速率128kbps。支持IPv4、IPv6、IPv4/IPv6双堆栈。模块通过串口和USB接口2种方式与FPGA相连,串口通信速率最高可达115200kbps,USB接口为USB2.0标准,电路原理图如图7所示[10,11]。

图7 4G模块电路原理图Fig.7 Schematic diagram of 4G module circuit

4 软件实现

软件主要包括两部分,一部分是数据采集硬件上的FPGA程序设计,另一部分是远程终端PC机上的程序设计[12]。

4.1 FPGA程序设计

主要涉及CDL信号的编码与解码、GPS配置与数据读取、4G模块的配置与数据收发,核心内容是串口的收发设计。GPS模块使用标准的NMEA0183协议,波特率范围4800~115200bps,默认9600bps。在FPGA编程时,开机和复位GPS要注意GPS模块冷启动时间≤35s,热启动和重捕获时间≤1s。另外定位更新率默认1Hz。因此读取速度可以几秒钟采样一次。

4G模块使用网络透传模式,数据通过模块串口直接发送到网络服务器,不做任何处理和修改,模块也可以接受来自服务器的数据,并直接将接受信息转发至串口设备。FPGA编程时不需要关注串口数据与网络数据包之间的数据转换过程,只需通过简单的参数设置,即可实现串口设备与网络服务器之间的数据透明传输。模块支持2路相互独立的Socket连接,每路Socket仅支持作为TCP Client和UDP Client。每路Socket也都支持短连接方式,当设置为短连接时,只有在发送数据时才会和服务器建立连接,数据发送完成后,如果一定时间内没有数据传输,则会超时断开。两路Socket必须同为长连接,或者同为短连接,不可混合使用。FPGA编程串口发送指令操作说明如表2所示。

表2 4G模块操作指令说明

FPGA程序采用Verilog HL语言设计,分3个层次,其中第3层串行数据收发控制设计有FIFO缓冲单元,每个控制模块中还需要有波特率控制、数据位格式设计等内容,具体如图8所示。

图8 FPGA程序设计结构示意图Fig.8 Structure diagram of FPGA programming

4.2 PC终端程序设计

在PC终端上,在Windows 10下采用Visual Studio2017进行程序设计,一部分是基于Socket的TCP服务器端程序设计,主要负责数据接收,发动机不同工作模式下数据量不一样,最高不超过15kbps,对于网络编程使用单线程就能很好地工作;另一部分是界面和数据解析、功能实现,程序设计主界面如图9所示。

图9 PC终端主界面示意图Fig.9 Diagram of main interface of PC terminal

主界面主要显示一些系统信息和发动机工作状态信息,如发动机转速、温度和压力等;显示和清除诊断故障代码;显示记录事件代码;设置更改ECM的参数;进行诊断和标定;显示发动机运行报警事件;汇总报告和打印诊断结果[13]。报告中主要包括如下信息[14]:

1)系统信息内容:设备识别号、发动机序列号、ECM零件号、ECM序列号、软件组零件号、软件组发布日期、软件组描述MHI。

2)额定功率、额定峰值扭矩、最高发动机转速范围、Idle Speed。

3)测试规范:满负荷油量设置、全扭矩设定值、保安系统固定化安装状态。

4)工作状况:总工作时数、总燃油(消耗量)、总的怠速转动时间、总的怠速燃油消耗、怠速时间百分比、平均燃油消耗量。

5)报警信息分为3级[15]:一级报警系统有未授权的钥匙、电池电压异常、液压回油滤清器堵塞、ATT滤清器堵塞、空气滤清器堵塞、燃油滤清器堵塞、油水分离器已满、燃油油位低、润滑油油位低、自动润滑故障;二级报警系统有进气温度高、冷却液温度高、启动发动机停机、发动机超速警告、液压油温度高、液压油温度高(工装)、燃油压力高、ECM故障、发动机控制模块故障、监视器故障、需要进行维修、工装控制故障;三级报警系统有提升超载警告、发动机机油压力低。

6)记录的诊断事件代码[16]: ECM随时自动检测相关的一些开关、传感器、电磁阀等,将异常事件记录在存储器中,并对异常进行报警。读出记录事件代码数据,便可以诊断分析故障。常见的有油门位置传感器异常(诊断事件代码91-8)、燃油滤清器压差传感器异常(95-3)、发动机油压传感器异常(100-3)、燃油压力传感器异常(经过燃油滤清器之后)(460-3)、进气歧管压力传感器异常(1785-3)、燃油导轨压力传感器异常(1797-3)、进气加热器异常(3257-3)。

CAT320D型能够诊断的故障错误有发动机机油压力过低、发动机冷却液温度过高、液压油温度过高、进气滤芯堵塞、蓄电池电压异常、连到蓄电池电压的调速器致动器反馈传感器开路或短路、连到机体接地的调速器致动器反馈传感器短路、调速器致动器反馈信号不稳定、调速器致动器反馈信号有偏差、调速器致动器不动、校准数据错误、监控器RAM异常、对控制器的供电过多(43V)、PRV电流过大、PRV开路、监控器电源(数字输出)过电流、数字输出中过电流(开沟电磁阀)、数字输出中过电流(微调控制电磁阀)、数字输出中过电流(行驶速度变化电磁阀)、数字输出中过电流(行车警报器)、备用电磁线圈1(数字输出)过电流、数字输出中过电流(转盘制动器电磁阀)、备用电磁线圈2(数字输出)过电流、发动机速度异常、连到机体接地的发动机冷却液温度传感器短路、连到机体接地的液压油温度传感器短路?连到机体接地的泵输送压力PWM传感器短路、连到机体接地的备用PWM传感器1短路。连到机体接地的备用PWM传感器2短路、通电中泵输送压力PWM传感器开路、连到机体接地燃油传感器开路、连到蓄电池电压的燃油传感器开路或短路;供电过低(低于23V)、供电过高(高于32V)、发动机速度旋钮不在10个指定的位置之一、交流发电机和速度传感器数据不符1(交流发电机异常)、交流发电机和速度传感器数据不符2(速度传感器异常)、发动机失速等。

在实时显示工作状态信息中,从ECM读入的数据在转换成温度和压力时,计算公式有所区别,具体程序如下:

if ((pd[2] == 0xF2) && (pd[3] == 0x20))//进行温度解析

{

tempf = (pd[7] * 256.0+pd[6]);

temstr.Format("%.2f",tempf);

c_waterTemp.SetWindowTextA(temstr);//显示发动机冷却液温度

tempf = (pd[15] * 256.0+pd[14])/10.0;

temstr.Format("%.2f",tempf);

c_airTemp.SetWindowTextA(temstr);//显示空气进气温度

tempf = (pd[19] * 256.0+pd[18])/10.0;

temstr.Format("%.2f",tempf);

c_oilTemp.SetWindowTextA(temstr);//显示燃油温度

}

if ((pd[2] == 0xD0) && (pd[3] == 0x04) && (pd[4] == 0xB5))//共轨压力解析

{

tempf = (pd[6] * 256.0+pd[5])*4.0;

temstr.Format("%.2f",tempf);

c_railPressure.SetWindowTextA(temstr);

}

if ((pd[2] == 0x40) && (pd[3] == 0x00) && (pd[4] == 0x00))//空气和机油压力解析

{

tempf = (pd[19] * 256.0+pd[18])/2.0;

temstr.Format("%.2f",tempf);

c_airPressure.SetWindowTextA(temstr);//显示涡轮增压出口压力(绝对)

tempf = (pd[16] * 256.0+pd[15])/2.0;

temstr.Format("%.2f",tempf);

c_oilPressure.SetWindowTextA(temstr);//显示发动机机油压力(绝对)

}

发动机配置参数修改一般需要权限,为保证发动机正常工作,工厂都设定有缺省值,如要修改发动机功率限制、高怠速、发动机保护系统、功率标定号、发动机转速上限等原厂锁定的参数,需要工厂密码才能操作。

5 结语

通过对CAT320D型发动机电控模块的测试应用,完全实现了发动机远程的监控和诊断功能,通过系统人机界面获取信息,可以让有经验的维修人员远程协助故障处理。该系统也可分析导致故障的位置和原因,提高检修的效率。只需要将CDL的数据编译码系统简单修改,便可以扩展到CAT多种型号的发动机的远程诊断中,也可以外围增加一些传感器检测挖掘机的工作情况,使得远程监控功能更完善。

猜你喜欢

串口燃油远程
燃油价格一年走势图
远程求助
远程工作狂综合征
燃油泄漏闯了祸
1种新型燃油分配方案设计
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
Empa 创新气门总成可节省燃油约20%
远程诈骗
MCS—51单片机中的多串口通讯技术的应用