基于K60和BP神经网络的发动机ECU分析与信号仿真

2014-04-29 04:05喻岫杏霍亮生吴垚
电子世界 2014年19期
关键词:人工神经网络

喻岫杏 霍亮生 吴垚

【摘要】通过Freescale K60系列微控制器、DAC数模变换器,以及数控电位器等组成的硬件系统,对发动机常用传感器,如曲轴位置传感器、节气门位置传感器、进气温度传感器等信号进行模拟,仿真汽车发动机的运行环境,测试ECU工作状况,并采集ECU输出的喷油和点火信号得到的数据导入MATLAB神经网络工具箱中,并用这些数据对网络进行训练,得到真车发动机ECU的模拟仿真网络,这样只需软件平台给定输入信号,就可通过训练后的网络得到输出信号,方便了发动机ECU研发和测试工作。

【关键词】发动机ECU;人工神经网络;K60微控制器

发动机ECU是发动机电子控制单元的简称。ECU的功用是根据其内部存储的程序和数据对空气流量计等各种传感器输入的信息进行运算、处理、判断,然后输出指令,向火花塞输出适时的点火控制信号以及向喷油器提供一定宽度的电脉冲信号以控制喷油量。ECU由微处理器、输入、输出及控制电路等组成。

通常对于发动机 ECU的检测都是发生在实际路面的不同路况下实时地采集发动机 ECU的输出控制信号对输出的控制信号进行分析来完成对发动机ECU的检测,但是这种手段受制于检测硬件必须要有真车来进行实际驾驶并且要在不同路况下完成驾驶路线采集 ECU输出的喷油脉宽和点火时刻等控制信号。本文将要阐述的模拟信号产生系统对于突破真车实际驾驶才能完成的发动机ECU的检测提供了一种新的研究手段并且为国内目前正在广泛进行的ECU检测平台的研发提供了一种更为简单快捷并且行之有效的思路。

1.工作原理

发动机ECU模拟信号产生系统的工作原理是根据需要模拟不同工况下的曲轴位置信号、凸轮轴位置信号、前氧传感器信号、后氧传感器信号、节气门位置信号、冷却液温度信号、进气温度信号、爆燃信号、空调信号、不平路面信号、进气歧管绝对压力信号、燃油液面信号、车速信号等,并将这些信号输入真车发动机ECU,采集到这些模拟车辆运行状态的传感器信号,经过其内部控制程序的综合分析判断从而输出根据工况控制车辆运行的喷油量及点火信号,模拟信号产生系统采集ECU输出给执行器的信号并可以在示波器等设备上显示出来,从而可以得知ECU在此刻对于车辆的控制情况。在所开发的平台上设计实验方案,得到给定多因变量、多参数信号时汽油发动机ECU(喷油脉宽、点火时刻)多输出状态,用人工神经网络(ANN)等方法得到其内在规律,指导ECU开发者分析ROM数据。

传感器信号的模拟实现方法有四种:(1)K60片上自带的12位DA用于电压信号;(2)由于片上只有一个DA还需外搭DA;(3)PWM用于脉冲信号;(4)数控电位器用于电阻信号

2.ECU输入输出信号

2.1 曲轴位置信号传感器

电磁式曲轴位置信号为频率不同的模拟正弦信号,曲轴每转一圈,有58个正弦波周期以及两个消隐周期作位置识别起点。此信号用DAC将MCU所发出的数字信号转为模拟信号,通过运算放大器进行阻抗匹配与滤波,缓冲后输出到ECU控制单元相应引脚。选用高速DAC模数变换器,将所需的信号直接由数字方式生成。这种方式也被称作直接数字式频率合成,简称DDS(Direct Digital Synthesizer),它与传统的频率合成器相比,拥有低成本、低功耗、高分辨率和快速转换时间等优点,被广泛的应用在通讯与电子仪器领域,是实现设备全数字化的一个关键技术。

波形数据存储器到微控制器的Flash中,时钟有节拍的将数据送入数模变换器( DAC),数模变换器将数字采样样本转换成所需的模拟输出波形。系统所模拟的曲轴位置信号如图1所示,所模拟出的信号基本与实车曲轴位置信号相符,相较于实车信号而言,系统模拟的信号在正弦波幅值变幻时更加平顺,这也是由于修正系数较小的原因。

图1 示波器采集到的真车曲轴位置信号

由示波器采集到的真实曲轴位置信号如图1所示,可以见到每58个正弦波周期之后的两个消隐周期。

2.2 凸轮轴信号的产生

凸轮轴位置传感器也叫做同步信号传感器,它安装在凸轮轴之上,与曲轴位置信号共同判定发动机汽缸工作位置与工作行程。发动机一个汽缸完成一个周期即四个冲程曲轴需要转动两周,活塞两次到达上止点,一次为压缩行程,一次为排气行程。曲轴位置信号用于确定汽缸活塞到达上止点的时刻,凸轮轴位置传感器用于判别汽缸在压缩行程还是排气行程。

霍尔效应式凸轮轴位置传感器产生的电信号为方波脉冲,如图2所示,曲轴转动一周,方波由高电平边做低电平或由低电平变做高电平。

图2 示波器采集到的真车凸轮轴位置信号

2.3 其他传感器信号的模拟

数控电位器用于产生冷却液温度信号、空气流量信号、进气温度信号、节气门位置信号、氧传感器信号、爆燃信号以及蓄电池电压。传统的机械式电位器很难实现自动化控制,并且产生的电位难于迅速变换。本系统由于要模拟发动机的多输入,大量的数据需要精准的控制,并且要求在很短的时间内完成切换,这对于传统的电位器很难达到。数控电位器很好的解决了这些难题。

表1 传感器模拟方式

传感器类型 功能 传感器工作原理 模拟方式

氧传感器 检测发动机废弃排放中的氧含量 二氧化钛 扩展DA

爆燃 检测发动机是否发生爆燃 压电式 扩展DA

空气流量 计算喷油量,调节空燃比 热线、热模、电桥 扩展DA

进气压力 反应发动机负荷 压电式 扩展DA

冷却液温度 ECU根据信号控制喷油脉宽和点火提前角 热敏电阻 数控电位器

进气温度 修正喷油脉宽及控制喷油量 热敏电阻 数控电位器

节气门位置 表征发动机负荷 操作意图 电位计 数控电位器

曲轴位置传感器 提供发动机转速和曲轴转角信号 电磁感应 片上DA

凸轮轴位置传感器 判别气缸再压缩行程还是排气行程 霍尔效应 PWM

车速传感器 测车行驶速度 霍尔效应 PWM

3.硬件设计

本设计微控制器由飞思卡尔公司基于ARM Cortex-M4内核的K60(MK60N512VMD100)芯片担任,该32位单片机拥有多达100个的I/O引脚以及SCI/SPI/IIC等总线控制器,主频50MHz,完全能够满足设计需要。系统硬件设计方块图如图3所示,主要由电源管理、飞思卡尔MC9S12微控制器、数模变换器、数控电位器、运算放大器、输出缓冲器以及接口电路组成。

图3 硬件设计方块图

4.软件设计

本设计的编写和调试平台采用metroworks公司研发的codewarrior10.1,该款软件功能强大支持汇编、C、C++等多种语言编程,能实现在线编辑、调试、连接、下载等功能。

把编写好的用于产生各个传感器信号的程序下载到单片中,K60接收并分离这些信号到相应的变量。本系统中的信号主要由模拟信号和频率信号组成! 这些相应的变量通过数控电位器和PWM波来产生,并传送到发动机ECU中。ECU经过分析处理之后通过相应端口发出控制指令,这些指令可以通过上位机的串口通讯工具显示,也可以通过示波器等显示设备观察来判断汽车发动机是否正常工作。

5.基于BP神经网络的ECU仿真

BP(Back Propagation)神经网络在1986年由Rumelhart和McCelland等科学家提出,是一种按误差逆传播的算法训练的多层前馈型网络,它是目前应用最广泛的神经网络模型之一。

BP神经网络可以学习和存储大量的输入和输出模式的映射关系,无需事前揭示和描述这种映射关系的数学方程式。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐藏层(hide layer)和输出层(output layer)。

通过MATLAB命令行及神经网络交互式工具箱都可以构建网络,在实际网络训练中,选用发动机转速、进气压力、进气流量、节气门开度作为系统输入信号,输出信号为喷油脉宽和点火提前角。在四输入二输出的网络中,由于数值的相互权衡,仿真误差较大。于是,采用四输入,分别输出喷油脉宽和点火提前角。

对喷油脉宽采用命令行的方式构建和训练网络。构建网络的命令:

net=newff(P1,T1,[10,1][‘transigpurelin]);

此命令可构建名为net的BP神经网络。其中,P1为归一转秩后的输入矩阵,T1为归一转秩后的输出矩阵,一个隐藏层,神经元个数为10,transig为转移函数,purelin为训练规则。

接下来对构建的net网络进行训练:

net=train(net,P1,T1);

train为训练网络命令,其中的三个变量分别为所训练的网络,网络输入与网络输出。

在对网络训练完成后,用另100组数据构成的输入矩阵P2用网络模拟:

R=sim(net,P2);

此时输入矩阵P2经网络模拟后得到的输出矩阵为R。将P1矩阵与R矩阵在同一图中绘制:

Plot(P1,b);

Hold on;

Plot(R,r);

图4 BP网络模拟输出与真实输出对比

得到的图形见图4。图4中,横坐标为矩阵的点数,即选用的100个样本,纵坐标为归一后的喷油脉宽。其中红色为发动机ECU实际输出的喷油脉宽数值,蓝色为训练后的网络输出,可见其误差很小,达到了训练和仿真效果。

图5 BP网络模拟输出与真实输出对比

应用MATLAB画图命令,将发动机ECU输出的点火提前角与训练后网络仿真的结果进行比对,如图5所示。

图5中,横坐标为矩阵的点数,即选用的100个样本,纵坐标为归一后的点火提前角。其中红色为发动机ECU实际输出的点火提前角数值,蓝色为训练后的网络输出,可见,曲线整体拟合较好,已可以满足要求。但局部存在误差较大,这与点火提前角变化较快以及网络训练样本即训练精度有关。对网络的多次训练有助于减小这种误差。

6.结束语

本文深入的对发动机ECU各重要传感器输入信号进行分析,确定信号仿真方案。硬件平台用K60为控制器控制输入输出端口、数模变换器AD5624、数控电位器X95840;用运算放大器构成前级放大和后级缓冲电路以及与发动机ECU间的接口电路。软件编程实现IIC总线、SPI总线在芯片间的通讯以及SCI串行总线与上位机之间的数据通讯。其结果是,可产生所需的曲轴位置信号、凸轮轴位置信号、冷却液温度及进气温度信号、节气门位置信号、空气流量信号等,并可以实时采集发动机ECU输出的喷油信号和点火信号,传至上位机,保存为逗号分隔的CSV文本文件供后期分析使用。

参考文献

[1]王战永.基于DDS30~800MHz频率合成电路的设计与研究[D].广州:华南理工大,2010.

[2]陈家瑞.汽车构造[M].北京:机械工业出版社,2005:18-34.

[3]Klarhoefer, C., Oswald, G.,Theuerkauf,H.,and Woermann, R., "Real-Time Engine and Transmission Simulator," SAE Technical Paper 93A018,1993.

[4]焦李成.神经网络系统理论[D].西安:西安电子科技大学出版社,1990:28-34.

[5曹青松,周继惠.MATLAB在神经网络设计中的应用[J].华东交通大学学报,2004(4).

作者简介:

喻岫杏(1986—),男,河南信阳人,北京工商大学硕士研究生,主要研究方向:嵌入式控制。

霍亮生(1959—),男,山西晋中人,北京工商大学教授,硕士生导师,主要研究方向:嵌入式控制系统。

吴垚(1990—),男,湖南益阳人,北京工商大学硕士研究生,主要研究方向:嵌入式智能控制物联网技术及应用。

猜你喜欢
人工神经网络
利用人工神经网络快速计算木星系磁坐标
基于BP人工神经网络的iWrite英语写作教学与评阅系统的语用研究
人工神经网络实现简单字母的识别
滑动电接触摩擦力的BP与RBF人工神经网络建模
基于人工神经网络的分布式视频编码边信息生成方法
人工神经网络和安时法电池SOC估计
基于改进人工神经网络的航天器电信号分类方法
模糊人工神经网络在工程建设项目后评价中的运用
基于声发射和人工神经网络的混凝土损伤程度识别
探讨人工神经网络在作物水分生产函数建模中的应用