吴伟斌 李礼夫 洪添胜 罗彩茹 王 康
(华南农业大学工程学院1) 广州 510642) (华南理工大学机械与汽车工程学院2) 广州 510641)
国外电子控制单元(electronic control unit,ECU)硬件技术上,微控制器和微处理器、传感器、执行器已非常成熟,还有专用集成电路[1-2];国内发动机ECU研究主要集中在高校和少数几个公司[3-7].本文以四缸汽油机电控燃油喷射系统为研究对象,结合对燃油喷射系统组成与控制策略的全面分析,基于 Motorola 16位单片机MC9S12DP256,采用嵌入式C语言,完成了汽油机和CNG发动机电子控制单元ECU硬件设计,软件设计与调试,并进行了初步的实验研究.
电控单元硬件电路的设计包括微机系统、信号采集和信号调理电路、执行机构和驱动电路等,结构组成如图1所示.
MC9S12DP256芯片是Motorola公司一款16位微处理器,主频25MHz,片内集成256kB的闪存存储器(Flash),4KB的EEPROM,12K的RAM,I/O的控制和扩展能力、抗干扰能力和适应能力比较强,同时集成了许多针对汽车电子功能的标准模块,如2路串行通信接口(SCI),3路串行设备接口(SPI),8通道增强型捕捉定时器(ECT),2个8通道10字节的模数转换器(ADC),8路脉宽调制器(PWM),5路总线通信(CAN)以及可转作10路普通I/O输人输出口等.发动机电控系统的核心电路设计包括单片机最小系统包括电源电路,时钟电路,复位电路,电源滤波电路,锁相环滤波电路.
本文在电控单元原理机的开发中使用的发动机原配备电磁感应式曲轴位置传感器,其输出电压的频率和幅值随转速的变化而变化.曲轴位置传感器的信号处理非常重要,而且精度要求高.电控单元根据该信息确定喷油时刻和点火时刻,以及发动机的转速,如果失真将引起发动机工作混乱,此信号处理的技术难点有3个:(1)转速脉冲信号的频率变化比较大:0~6 000Hz;(2)转速信号的幅值变化比较大:300mV~150V;(3)对应曲轴末端的靶轮圆周上均匀分布的(60-2)齿,控制单元需精确确定两个缺齿的位置.
图1 汽油发动机电控单元硬件结构框图
根据曲轴位置信号的特性,针对上述技术难点,本文选用 ON Semiconductor公司的NCV7001信号处理芯片,搭配适当的外围器件对信号进行滤波、限幅、比较整形等处理,将其转化为3.3V电平的方波信号.
相位(凸轮轴位置)传感器及信号处理电路与曲轴位置传感器类似.
设计了基于CAN和串口的通信电路,排气氧传感器输入信号处理电路和爆震传感器输入信号处理电路.
1)ECU外扩存储单元设计 存储单元型号是FM24C256,双向两线通信,软件设计主要包括初始化、读和写3大部分.
2)怠速步进电机驱动电路 采用了 Motorola的SAA1042,该芯片内部集成了3个输入级模块,1个逻辑控制部分和2个输出级模块.
设计的电控单元原理机选用了飞思卡尔半导体的微控制器作为主控芯片,其编译、调试工作在Freescale CodeWarrior集成开发环境下进行.
电控软件划分成3个基本部分:初始化、前景程序和背景程序.
前景程序中包括转速信号采集、喷油点火及串行通信数据接收等中断服务程序.曲轴位置及转速信息对发动机电控系统具有极其重要的意义,当前景发生中断冲突时,主芯片CPU应最先响应转速信号引起的中断,获取最新的曲轴位置及转速信息;而串行通信数据接收没有特殊的实时性要求,其优先级可以排在点火、喷油控制输出中断的后面.
背景程序采用定时循环的设计模式,包括各模拟量的周期性A/D采集和变量换算,以及所有对实时性要求不严格的周期性计算过程,比如喷油脉宽和点火提前角的计算等.
1)系统主程序设计模块 主程序是控制软件的中心环节,包括控制系统通电后的初始化程序、发动机工况测定、判别和处理程序等.程序的初始化包括RAM区的初始化,各个特殊功能寄存器的初始化,I/O口的初始化以及堆栈指针的设定等等.主程序担负判断发动机各种运行工况的任务,根据发动机转速和节气门开度、节气门开度变化率确定发动机的运行工况,并由此转入相应的处理程序当中.主程序为一循环体,发动机运行时,只要没有中断请求,其一直在该循环体中运行.
2)数据采集与处理模块 本系统在A/D转换的数据处理之前,首先对信号采用了滑动平均滤波处理:把连续取得的N个采样值看成一个队列,采用先进先出(FIFO)的原则,将队列数据前移一次,新的采样值放入队尾,并丢掉原队首次数据.然后把队列中的N个数据进行算术平均,可获得新的滤波结果.滑动平均滤波的优点:对周期性干扰有良好的抑制作用,且每计算一次测量值,只需要采样一次,数据处理速度快,非常适用于实时控制.
3)转速计算模块 ECU通过检测曲轴位置传感器得到齿轮信号.信号盘和曲轴是同步转动的,得到信号盘的齿轮信号和曲轴的转速,从而可以计算出发动机的转速[8-9].对于齿轮信号的捕捉,是通过MC9S12系列单片机中的ECT模块完成的.
4)查表插值模块 本文对一维和二维数组采用的都是线性插值算法,该算法简单快捷,且精度够用.其中,对二维数组本文采用4点线性插值算法,其数学原理如下:在一个三维坐标网点模型中,已知4个相邻点的坐标:(x1,y1,z11),(x1,y2,z12),(x2,y1,z21),(x2,y2,z22),一个未知点:(x,y,z).其中,x坐标值介于x1和x2之间,y坐标值介于y1和y2之间,z1,z2为2个中间量.与x和y对应的z值是需要进行插值才能得到的值.
试验设备主要包括:(1)RIGOL公司DS1042C数字式示波器;(2)基于PXI的真实ECU在环仿真系统;(3)飞思卡尔16位单片机BDM调试器;(4)自主开发的ECU电路板;(5)PC机1台,其他导线若干;(6)缺齿曲轴信号模拟器(自主开发);(7)点火提前器.
还自主研发出点火提前器,用于调节发动机独立点火系统点火提前角.在输入频率300~3 000Hz,相位调节在60~150°下,绝对误差为4°,相对误差为最大为5%.
1)用飞思卡尔16位单片机BDM调试器下载目标程序到ECU电路板.
2)基于PXI的真实ECU在环仿真系统产生正弦信号和方波信号,用以模拟曲轴位置信号和凸轮轴位置信号.
3)用示波器观察ECU输出的喷油和点火脉冲波形.
4)使用串口线将ECU与PC机相连,打开ECU标定软件,读取ECU相关数据,包括进气压力、曲轴转速等.
5)设定不同转速,测试不同工况下的输出波形,验证ECU的基本功能,喷油和点火控制功能.
以工况曲轴转速=1 000r/min,节气门位置50%,进气压力80kPa为例.
1)喷油时间和点火时间控制实验数据 模拟曲轴位置传感器信号经过曲轴传感器信号处理电路得到方波信号,能被单片机识别.凸轮轴信号周期是曲轴信号周期的120倍.用示波器观察喷油和点火脉冲信号,如图2为1缸喷油信号,图3为1、4缸点火控制信号.图2和图3中的上部是喷油和点火信号,下部为曲轴传感器信号.示波器显示表明,当转速为1 000r/min时,喷油脉宽为2.6ms,点火线圈通电时间为2ms.
图2 1缸喷油脉冲信号
图3 1、4缸点火控制信号
2)点火提前角实验数据 1、4缸点火正时信号和曲轴信号如图4所示.图4中下面的曲线是曲轴信号,可以看到有个缺齿基准信号.压缩冲程的上止点离基准信号120°,又因为1个齿宽代表6°,所以压缩上止点离基准信号20个齿.点火时刻是在点火线圈通电后的断开时刻,即点火信号的下降沿,如图中标示.点火提前角为点火时刻至压缩上止点中曲轴转过的角度,在示波器中可以观察出此时的点火提前角为23.34°CA.
图4 1、4缸点火正时信号和曲轴信号
3)与上位机通信实验 打开ECU标定软件,读取ECU相关数据,包括进气压力、进气温度、节气门开度、冷却液温度、爆震信号电压、曲轴转速.ECU标定软件界面(图略),按读取数据按钮即可读取一次ECU数据,也可以保存数据,格式为TXT文本格式.
1)喷油脉宽数据分析 实际写入ECU的喷油MAP图如表1所列,第一列的值为节气门开度α,第一行的值为曲轴转速n,其他值为喷油脉宽时间T,喷油时间由节气门开度和曲轴转速决定,通过线性插值的方法可以查找任意一个转速和节气门开度所对应的喷油脉宽时间.
根据表1的数据和线性插值算法,查找出不同节气门开度和转速对应的喷油时间如表2中的理论喷油时间所列,实验数据和误差分析见表2所列.
表1 喷油MAP数据
表2 喷油时间误差分析
2)点火提前角数据分析 同理,查找出不同进气压力和转速对应的点火提前角,实验数据和误差分析见表3所列.
由表2和表3的误差分析数据可见,设计的ECU是能够在不同工况下比较准确地控制喷油时间和点火提前角的,误差均在5%的范围内.
根据以上实验数据分析可知,设计的ECU能实现对发动机喷油和点火控制,实现了ECU的基本功能,能与上位机互相通信,能采集发动机各传感器的数据,也可以保存数据,下载EXCEL格式的MAP图,实现ECU在线标定.
表3 点火提前角误差分析
1)电控单元原理机的硬件设计基本满足发动机电控系统的控制要求.传感器信号处理采用10位ADC,一次转换周期可达到7μs,最小分辨率为4.88mV;执行器驱动电路集成度高;微控制器工作频率为24MHz.
2)电控单元原理机的软件设计基本满足控制要求.采用嵌入式C语言编写,可读性强;模块化的软件设计方法使得程序条理清晰、独立性强.
3)试验结果表明,基于曲轴信号和凸轮轴信号的控制逻辑能很好地满足发动机工作的时序要求,实现分组同步点火、喷油等模块的控制.喷油时间控制较为准确,精度达到0.01ms,误差小于5%;点火提前角最小分辨率为0.01°CA,误差小于5%.
4)自主研发出点火提前器,用于调节发动机独立点火系统点火提前角,在输入频率300~3 000Hz,相位调节在60~150°下,绝对误差为4°,相对误差为最大为5%.
[1]Robert Bosch Gmbh.Knocking signal evaluation CC195[M].Stuttgart:Robert Bosch Gmbh,2006.
[2]Robert Bosch Gmbh.Sensor interface-CY30 [M].Stuttgart:Robert Bosch Gmbh,2006.
[3]肖 兵,胡 静,罗 飞.6102LPG单燃料发动机智能电子控制单元的研制[J].内燃机工程,2007,28(3):20-24.
[4]苏海峰,边晓娜,冯国胜.基于DSP的发动机电子控制单元开发[J].河北师范大学学报:自然科学版,2007,31(4):475-478.
[5]李 珩,欧阳光耀.基于FPGA的高压共轨柴油机ECU的硬件设[J].武汉理工大学学报:交通科学与工程版,2008,32(5):917-920.
[6]吴 锋,贾岱润,姚栋伟.电控汽油机点火提前角多目标优化方法研究[J].内燃机工程,2008,29(1):24-28.
[7]王财寿.汽油机电控单元原理机的研究[D].上海:上海交通大学机械与动力工程学院,2008.
[8]任玉琢.CNG和汽油两用燃料发动机电控单元硬件研究[D].成都:电子科技大学机械电子工程学院,2007.
[9]万一进.CNG/汽油两用燃料发动机点火正时控制研究[D].长春:吉林大学交通学院,2007.