胡建村,金江善,王 锋,邓康耀,周思敏,秦慈伟
(1. 上海交通大学 机械与动力工程学院,上海 200240;2. 上海船用柴油机研究所,上海 201108;3. 船舶与海洋工程动力系统国家工程实验室,上海 201108)
随着船用柴油机智能化技术的发展和应用,同时为了提高船用柴油机的性能和可靠性,对柴油机的控制和监测特别是缸内燃烧过程的控制和监测提出了越来越高的要求。通过缸压信号可以获取丰富的有价值缸内燃烧状态信息,用于柴油机的复杂和重要的功能控制中[1],比如最高爆发压力(Pmax)、平均有效压力(IMEP)、燃烧放热率、燃烧始点、燃烧中心位置(CA50)等燃烧特征参数,是用于柴油机燃烧闭环控制和缸内工作状态监测的最佳手段之一。而这些参数的计算均需要基于发动机工作转角对缸压信号进行实时采集。
在发动机试验台上,燃烧分析仪是一种标准工具,用于计算和可视化内燃机的相关物理参数,并监测和保护被测试发动机。传统的燃烧分析仪通过加装在曲轴上的编码器来触发缸压信号采集,对于试验机来说一般会预留编码器的安装位置,而发动机定型后通常不再留有编码器的安装位置和接口。因此基于原机的曲轴信号和控制器硬件平台进行燃烧闭环控制功能的开发,是该技术能够得到推广应用的最经济和现实的技术途径。通过缸压信号获取柴油机缸内燃烧状态后,再通过调节进气和喷油特性来进行优化控制,通常普通的进气系统由于调节响应延迟较大用于燃烧实时闭环控制较难实现,而燃油系统由于有快速响应特性通常作为燃烧闭环控制必选手段。因此本文基于船用柴油机喷射控制单元硬件平台开展燃烧控制用的缸压信号实时采集技术研究。
基于缸压和曲轴转角信号,能得到许多燃烧过程参数,这些参数是用于燃烧闭环控制的重要反馈输入。其中最大爆压Pmax被用于监控柴油机的机械负荷,可被用作检测参数;CA50 作为燃烧过程的中点位置,反映了整个燃烧过程的相位,而且根据对 CA50各种研究,CA50 对排气温度有影响,因此CA50 也常作为燃烧闭环控制的反馈变量[2];平均指示压力 IMEP直接指示柴油机燃烧的动力性和经济性指标,可由缸压计算得出,可靠性较高[3],因此 IMEP 也是一个非常理想的反馈变量。
IMEP 定义为单位气缸工作容积所作的循环指示功,如式(1)所示,可以通过对气缸压缩和做功冲程对应的的P-V曲线积分计算得到,Vk为气缸工作容积。根据热力学第一定律,IMEP计算公式:
放热中点(CA50)是指总放热量(Total Heat Release,THR)50%对应的曲轴转角的位置,一般用该位置表征燃烧相位。燃烧放热率计算公式为:
燃烧状态指标计算需要用到的另一系列重要变量为各曲轴转角对应的缸内容积。当发动机结构参数确定时,某曲轴转角θ对应的缸内容积V(θ)可由式(3)计算得到。式中:Vc为气缸余隙容积;D为气缸直径;r为 1/2 活塞行程;l为连杆长度[4]。
由于发动机是基于角度进行工作的,且由上述IMEP和燃烧放热率的离散化计算公式可知,基于角度对缸压信号进行采集,可以方便地得到各计算步长发动机的缸内当前容积以及相关燃烧特征参数;若采用时间触发进行缸压信号采集,其采集的时刻较难与发动机的工作角度进行同步,且计算步长需要根据实时计算的发动机转速由时间转换为角度,会由于转速计算精度和波动影响计算结果的准确性。通常模拟量AD数据采集的触发方式有2种:一种是基于AD芯片的时钟进行周期触发采样;另一种是通过外部事件进行触发采样。
上文论证了燃烧特征参数的采集需要基于发动机的曲轴转角来触发,而基于转角以多大的步长进行缸压信号采集也是一个需要重点考虑的因素。理论上,采样步长越小燃烧特征参数计算结果的准确性越高,但采样步长过小会对控制器存储和实时处理能力带来极大的挑战。根据文献[5]的研究论证,在上止点位置识别误差不超过0.5° CA的情况下,只要缸压信号的采样步长小于30° CA时,IMEP计算结果的误差即能小于5%。由此可知,IMEP计算结果准确性对采样步长的要求不高。而CA50等燃烧分数对应的曲轴转角位置参数往往用来对喷油或点火正时进行反馈控制,而对正时控制来说,精度越高控制效果就越精细,对CA50等跟曲轴位置相关参数的计算结果准确性也提出了较高的要求,而这将直接由缸压信号的采样步长来决定。
根据文献[6 - 7]的分析,要满足控制柴油机的需要,缸压信号的采集步长不能大于1° CA。根据文献[4, 8 - 9]的研究结果,采样步长选为0.2° CA可以满足燃烧闭环控制。考虑到本文使用的单片机CPU处理能力和数据RAM空间大小限制,且柴油机喷油正时的控制分辨率为0.125° CA,因此本文的缸压信号采样步长定为0.2° CA。以0.2° CA的步长采集压缩和做功行程360° CA范围内的缸压信号,将产生1 800个采集数据,每个数据占用2 b大小,每缸需要占用3.6 kb大小的数据RAM空间,若对20缸的船用柴油机每缸均采集缸压信号,则需使用72 kb的数据RAM空间。
如前所述,通常柴油机的燃烧闭环控制是基于缸压信号计算燃烧特征状态参数,进而对进气和燃油系统进行反馈控制。相比于传统控制方式,燃烧闭环控制的难点在于燃烧特征状态参数的计算实时性上,因为燃烧特征状态参数往往需要以缸压信号采样步长对整个工作循环进行迭代计算(0.2°的采样步长对应最小迭代次数为1 800次),该计算过程用时较长,在常用的32位单片机上执行通常需若干毫秒;而闭环控制算法通常使用PID或前馈加PID,其执行时间一般在微秒级。因此,需重点分析缸压信号采集和燃烧特征参数计算的实时性。
目前柴油机的燃烧闭环控制主要是逐循环(Cycleby-Cycle)的控制方式,即本循环的控制输出是根据上一个循环的燃烧特征参数计算得到的,因此为了满足逐循环的燃烧闭环控制要求,缸压信号的采集处理以及基于缸压信号的燃烧特征参数计算,必须在本循环做功冲程结束到下一个循环压缩冲程开始前的这段时间内完成,对应曲轴转角范围为360°(见图2)。以典型的中高速船用柴油机为例,其正常工作时的转速范围通常为600~2 250 r/min,按最高计算转速2 500 r/min进行分析,在360°曲轴转角范围内对应的时间为60×1 000/2 500=24 ms。因此对应一个发动机气缸,基于缸压信号的燃烧特征参数计算必须在24 ms的时间内完成。
图2 缸压信号采集处理所处时间段Fig. 2 Time slice of cylinder pressure processing
为了减少开发投入并缩短开发周期,同时考虑平台的通用性,基于柴油机电子管理系统使用的嵌入式处理器平台-英飞凌TC1796芯片进行缸压信号采集处理技术的开发。该芯片是英飞凌Tricore系列32位单片机,有2 Mb的Flash空间和192 kb的片上RAM,CPU最高工作频率可达150 MHz。该芯片架构还包含了可独立于CPU工作的外设处理器模块(PCP)和16个通道的直接内存存取模块(DMA),具有强大的处理多任务的能力。外设中包括32路12 bit精度的普通模数转换器模块(ADC)和、4路10 bit精度的快速模数转换器模块(FADC)以及资源丰富且功能强大的通用定时器阵列(GPTA)模块。
本文使用TC1796芯片的ADC模块对缸压信号进行采集,再通过DMA模块直接将采集到的缸压信号传输到单片机内部R A M的对应位置,该过程由DMA模块独立完成,不占用CPU的资源和时间。CPU在燃烧特征参数计算时可直接从RAM中读取缸压信息进行计算。具体实现原理如图3所示。
图3 缸压信号采集实现方式Fig. 3 Realization of cylinder pressure acquisition
为了实现缸压信号基于曲轴转角的采集,本文使用目前柴油机上已有的喷油正时控制用的曲轴和凸轮轴信号作为缸压信号的采集基准,这种方式不需要再对发动机进行重新改造以加装转速信号编码器,使得基于缸压的燃烧闭环控制或缸内状态监测功能的实现更加经济和便利。
但是用于喷油控制的同步信号中的曲轴信号齿通常为58齿(60个均匀齿去掉2个齿)的形式,因此其2个齿之间对应的曲轴角度为6°,根据前文分析,若直接以6°的角度间隔来触发AD模块进行缸压信号采集,其精度不能满足缸内燃烧闭环控制的要求。本文使用TC1796芯片上的通用定时器阵列(GPTA)模块的数字相位锁相环(PLL)功能,其功能示意如图4所示。图中将输入信号的一个齿较为精确地分成了4个齿。使用PLL功能模块对曲轴信号进行插齿细分,在2个齿6°的角度内插入60个微齿(缺齿处插入180个微齿),转换为每0.1°产生一个脉冲信号。再使用一个定时器单元捕获该微齿信号脉冲沿并触发对应IO脚的电平翻转,进而作为AD采集的外部触发信号源。
图4 TC1796单片机PLL功能示意图Fig. 4 PLL function of TC1796
为了计算IMEP,CA50等参数,需完整采集压缩和做功行程内的缸压信号曲线,因此在压缩上止点前180° CA位置设置一个触发中断,在中断中使能DMA模块将AD模块以0.2° CA步长采集到的缸压信号依次移入单片机数据RAM中的对应位置上,共采集1 800个缸压信号数据点。在压缩上止点后180° CA位置设置一个触发事件,调用燃烧特征参数计算函数,依据采集到的1 800个缸压信号点执行IMEP,CA50等相关燃烧特征参数的计算。
在使用英飞凌TC1796单片机进行功能实现时,可选择GPTA模块中的GTC定时器单元来配置缸压信号采集和燃烧特征参数计算对应的触发中断,GTC定时器单元的时钟选为曲轴信号插齿后输出的脉冲信号(PLL output);定时器里的比较值需要根据发动机的曲轴信号零点位置与发动机各缸上止点的相位关系进行计算和配置。缸压信号的采集和处理时序具体分配方案如图5所示。
图5 缸压信号采集及处理时序Fig. 5 Cylinder pressure acquisition sequence
本文的缸压信号采集由(60-2)齿(见图6)的曲轴信号通过插齿得到的微齿来触发的,因此曲轴角度插齿的精度将直接影响后续基于曲轴角度和缸压信号计算得到的燃烧特征参数结果的准确性。为了验证插齿是否准确,使用TC1796的GPTA0模块LTC定时器单元的沿捕获功能,将微齿脉冲作为其捕获的时钟信号,并控制对应的PIN脚的电平翻转输出,与未处理的曲轴和凸轮信号一起接入逻辑分析仪中对插齿准确性进行分析。图6为接入的未处理的曲轴和凸轮轴信号齿,图7为抓取的插齿效果,在每2个正常的曲轴信号上升沿之间插入了60个微齿脉冲、缺齿处插入180个微齿脉冲(图7中的PLL信号),放大后可以看出微齿信号分布较均匀,说明插齿后曲轴角度的细分精度较高,为后续燃烧特征参数计算结果的准确性提供了保证。
图6 曲轴和凸轮轴信号齿Fig. 6 Crankshaft and camshaft signal
图7 曲轴信号插齿后的微齿效果(图中上半部分PLL信号由于信号齿太密而显示为白色)Fig. 7 Microteeth of Crankshaft and camshaft signal
为了验证缸压信号采集结果的准确性,在126缸径的单缸机试验台上进行验证。单缸机上装有缸压传感器,其出来信号分为两路,一路接入燃烧分析仪,一路接入本文的开发的系统中同时进行采集。燃烧分析仪的触发信号来自编码器(其分辨率为0.1 °CA一个触发齿),本文缸压信号采集处理系统的触发信号使用试验台喷油控制用的曲轴信号(60-2齿)。
将两者同时采集到的缸压信号进行相位对齐后,发现2条曲线基本重合,进一步说明本方案的缸压信号采集的准确性较高。
图8 单缸机试验台示意图Fig. 8 Diagram of Single cylinder engine test bench
图9 单缸机试验结果Fig. 9 Test results of single cylinder engine
如前文所述,借助单片机的DMA的功能,缸压信号的采集完全由单片机的硬件来实现,因此缸压信号采集过程的实时性能够得到充分保证。实时性的瓶颈在于燃烧特征参数的计算上,特别是燃烧放热率的计算需要将整个压缩和做功过程的缸压和气缸体积的乘积进行积分累加,若要计算结果越精确,则缸压信号数据需要采集的越密集,对应计算工作量就越大;且气缸体积的计算涉及到若干三角函数公式,其计算过程也较复杂。为了保证燃烧特征参数(IMEP和CA50)计算的实时性,将相关计算公式进行降维解耦和简化处理。为了计算代码的执行时间,使用德国absint公司的软件执行时间静态分析工具对燃烧特征参数计算任务的最差情况执行时间(WCET)进行静态分析,计算结果如图10所示,最恶劣情况下需用时10.069 ms。另外,通过在代码中插桩的方法并使用单片机的定时器单元计算代码实际执行时的所需时间,得到执行时间为9.136 ms,满足柴油机在全工况范围内的实时性要求。
图1 燃烧闭环控制方案示意图Fig. 1 Combustion closed loop control scheme
图10 燃烧特征参数执行时间absint分析结果Fig. 10 Analysis results of combustion characteristic parameters execution time
1)本文基于英飞凌TC1796单片机,面向柴油机缸内燃烧过程控制和监测,研究开发了一种实时高精度的缸压信号采集技术。该缸压信号采集方案直接使用柴油机喷油控制的曲轴信号,不需要加装编码器等其他改动,以便于在现有柴油机控制系统基础上进行升级换代。
2)为了满足缸内燃烧闭环控制对缸压信号采集的要求,本文从缸压信号采集触发的方式、采集步长和计算实时性等方面进行分析研究,并基于现有柴油机喷油控制平台对缸压信号实时采集处理功能进行了软件开发实现。
3)通过试验验证,该方案对缸压信号的采集结果精度和准确性较高,能够满足缸内燃烧特征参数的计算,且燃烧特征参数算法执行时间能够满足中高速船用柴油机在其全工况范围内的实时性要求。