基于MC9S12微控制器的发动机高能直接点火控制
随着电子技术的发展及对发动机性能要求的提高,微机控制的电子点火系统逐渐取代了传统的发动机点火系统,实现了更为精确的点火时刻和点火能量的控制。在发动机点火系统中,采用的每个发动机汽缸各带一个点火线圈,对各缸点火线圈进行独立控制的点火系统,称为无分电器各缸独立点火系统,也叫高能直接点火系统。采用高能直接点火可有效地增加点火线圈初级回路的储能,减少点火能量的传导损失,从而提高点火能量,满足车用发动机稀薄燃烧、增压和使用代用燃料(如天然气、酒精)等新技术的发展要求。对于多缸发动机,这种高能直接点火系统由于控制事件多,要求的控制电路和控制软件复杂,因而对微控制器的性能和控制软件均有较高的要求[1>。
MC9S12系列是MOTOROLA公司开发的一种高性能16位微控制器(MCU),具有丰富的输入输出接口功能、较强的数值运算和逻辑运算能力,特别还具有较强的定时控制功能,使其适用于复杂时序控制技术的应用中[2>。本文针对六缸车用发动机高能直接点火控制系统的开发,进行了以MC9S12DP256微控制器为核心的电子控制单元的软硬件系统设计。
1 高能直接点火系统及控制要求
图1所示为六缸发动机的高能直接点火系统电路原理图。系统由输入信号传感器、电子控制单元(ECU)及点火执行器三部分组成。其中,点火执行器包括每缸独立的共六组点火线圈和火花塞。点火线圈作为储能元件,由匝数比很高的次级绕组和初级绕组构成,其作用相当于变压器。当初级绕组电路(初级电路)导通时,初级绕组电感线圈中的电流按照指数规律增加,从蓄电池获得的能量以磁场能的形式储存在初级线圈中;当初级电路断电时,次级绕组感应出高压电,使火花塞电极间产生电火花,将汽缸内的混合气点燃。在图1所示的系统中,由微控制器发出的控制信号经过点火器中的功率三极管的驱动放大,实现了对初级电路的通断电控制。与传统点火系统只使用一个点火线圈相比,这种直接点火控制方式可利用更长的时间积蓄点火能量,并可将点火线圈与火花塞安装在一起,减少高压电流的传递损失,从而获得较高的点火能量。
点火控制包括点火顺序控制、点火定时控制和点火能量控制。点火系统应按发动机的工作顺序进行点火,即点火顺序应与发动机的工作顺序一致,否则不能适时点着混合气,发动机就不能正常工作。点火定时控制的目的是使发动机功率输出大、油耗低、爆震小和排放低,点火系统必须在最有利的时刻点火,并需在上述目标之间进行折衷。点火时刻用点火提前角来表示,从火花塞开始跳火到活塞运行至压缩行程上止点的时间内曲轴转过的角度被称为点火提前角。发动机在不同工况下的最佳点火提前角是不同的。在微机控制的点火系统中,根据发动机转速、负荷等传感器的信号确定发动机运行工况,计算出最佳的点火时刻,并由微控制器输出控制信号,使功率三极管截止、初级电路断电,从而实现控制。
点火能量直接影响发动机的着火情况。对于使用增压、稀燃及替代燃料等新技术的发动机,只有点火能量足够高,才能可靠燃烧,达到提高经济性和改善排放的目的。高能直接点火的关键是保证在任何工况下都能够提供足够的点火能量。电感储能式点火系统控制点火能量的实质是控制点火线圈在断电时刻的初级电流,这是靠控制初级电路的通电时间来实现的。点火时刻初级电流所能达到的值,即初级断开电流,与初级电路导通的时间长短有关,必须保证初级电路的通电时间来使初级电流达到点火能量的要求。但如果通电时间过长,点火线圈又会发热并使电能消耗增大。因此,控制一个最佳的初级电路通电时间需兼顾上述两方面的要求。
综上所述,对于六缸发动机的高能直接点火系统,为保证发动机的性能要求,需按点火顺序、点火时刻和点火能量的要求实现六个独立点火线圈初级电路的适时通、断电,即微控制器要完成多通道的复杂时序控制。
2 ECU的硬件结构设计
如图2所示,适用于六缸发动机的高能直接点火电子控制单元以MC9S12DP256微控制器为核心,并由电源、输入信号整形处理、驱动放大电路和通讯电路等功能模块构成。
MC9S12DP256微控制器采用了高性能的16位处理器HCS12,可提供丰富的指令系统,具有较强的数值运算和逻辑运算能力;其内256K字节的FLASH存储器具有在线编程能力,4K字节的EEPROM和12K字节的RAM可存储各种控制参数。MC9S12DP256的低功耗晶振、复位控制、看门狗及实时中断等配置和功能更有助于系统的可靠运行[2>。
MC9S12DP256丰富的接口资源为ECU输入输出功能的实现提供了方便。负荷信号(节气门位置和进气压力)、水温信号、蓄电池电压信号等系统模拟输入信号由放大滤波电路处理后,利用MCU的A/D转换模块进行采集。通过MCU增强型串行通讯模块SCI可实现与PC机之间的通讯功能, 进行点火系统运行状态监控和控制参数的匹配标定。由一个16 位主定时器和8个可编程输入捕捉/输出比较定时通道构成的增强型捕捉定时器提供了较强的定时控制功能,可充分满足高能直接点火的复杂时序控制要求。在本系统中, 两个定时通道设置为输入捕捉功能,对经过整形处理后的曲轴位置信号和发动机转速信号进行采集处理;另六个定时通道设置为输出比较功能,用于六个汽缸的点火线圈初级电路的通断电控制。
3 ECU的控制软件设计
3.1 点火时序的控制方法
点火时序的控制以发动机曲轴位置信号为依据。曲轴位置信号通过安装于凸轮轴上的霍尔传感器测量。如图3所示,凸轮轴每转一周,产生七个脉冲信号,其中六个为各缸的点火基准信号,根据发动机的点火顺序,按1、5、3、6、2、4的缸号顺序均匀排列,各基准脉冲信号的上升沿设置在对应各缸压缩行程上止点前40°,相邻基准信号间相差120°的曲轴转角。另一个附加的脉冲信号在一缸基准脉冲信号后,其上升沿对应于1号缸的上止点,用于控制系统判定1号缸的位置,使点火系统与发动机的工作同步,称为判缸同步信号。
MCU利用定时器输入捕捉与输出比较功能的配合,采用延时计数法进行点火线圈初级电路通断电时序控制。如图3所示,每缸基准信号的上升沿通过MCU输入捕捉定时器通道触发中断,并以此中断信号作为一个控制周期的开始和点火时序控制的基准。将每相邻两基准信号间的时间作为一个控制周期(对应曲轴120°转角), 控制周期时间等于主计数器的时钟周期与两基准间计数值差的乘积,前者是由MCU预设的常数,记作TC;后者可通过输入捕捉通道测得,记作NG。若此时的点火提前角为θ,那么当基准信号出现时,只要再过(40°-θ)就该进行本缸点火,这一角度被称为点火延迟角,对应的时间被称为点火延时,对应的计数器计数值Nd。可根据NG。值计算如下:
将主计数器的值加上延时计数值Nd后送到本缸点火线圈控制的输出比较通道寄存器中,启动该通道的输出比较功能,并预先规定该通道引脚为低电平。当计数时间到时,该引脚就自动翻转为低电平,点火线圈初级电路断电,从而实现了本缸点火。MCU的输出比较功能可得到非常精确的时间间隔,并且对用户程序没有额外的负担。
同理,在每个控制周期内,为了给即将工作的汽缸进行点火能量的蓄积,还进行了点火线圈初级电路通电的延时计数法控制。如图3中所示,初级电路的通电时间要求为ton,则从本缸基准信号出现到下一缸初级电路通电延时所对应的计数值Nt的计算如下:
当发动机转速较低,下一缸通电延迟时间大于控制周期时间(即 )时, 则需在下一控制周期开始时首先进行该缸通电延时控制,通电延时计数值为Nt1=Nt-NG,并设置该通道输出比较中断,以此中断为基准进行点火延时控制。其点火延时计数值为:
3.2 点火控制程序设计
点火控制程序由主程序和中断服务子程序等多个模块组成。主程序的主要功能是根据发动机运行工况,通过逻辑运算确定最优的点火提前角及初级电路导通时间;中断服务子程序负责系统输入信号的采集与处理,而其中输入捕捉和输出比较中断程序是实现点火时序控制的关键。
图4为点火控制主程序流程图。ECU上电后,主程序首先执行MCU的初始化操作,设置定时器计数周期、各输入输出功能和各中断。初始化完成后,主程序进入循环运行状态,等待各中断服务程序发生,检测各输入参数,进行故障查询和处理。如系统状态正常,则根据发动机运行工况确定最优的点火提前角及初级电路导通时间。由于各缸点火时刻是通过程序控制进行调节的,因此利用CPU内部的存储器存储点火控制数据表(点火脉谱)。这样,点火提前角就能按发动机负荷及转速信号通过查数据表得到, 并可按不同工况进行修正。如此便可使发动机在任何工况下均能提供最佳点火时刻。
输入捕捉和输出比较的中断服务程序流程图分别如图5和图6所示。利用定时器输入捕捉与输出比较功能的配合,采用延时计数法实现点火线圈初级电路通断电时序控制。在进入曲轴位置信号上升沿触发的输入捕捉中断后,首先完成判缸信号拾取、工作缸号确定及控制周期计数值计算等工作。然后进行点火线圈的通断电延时控制。当发动机转速较高时,设置本缸的断电延时和相应的输出比较通道,以及下一缸的通电延时和相应的输出比较通道;当发动机转速较低时,设置本缸的通电延时和相应的输出比较通道,并开输出比较中断。当进入输出比较中断时,再以此中断为基准,设置本缸的断电延时和相应的输出比较通道。
以MC9S12DP256微控制器为核心的发动机高能直接点火系统一方面可实现点火时刻按发动机工况进行 最优调节,另一方面利用MCU的增强型捕捉定时器,可实现六缸发动机点火的独立通道控制。而且,将输入捕捉与输出比较功能相配合,满足了六个点火线圈初级电路通断电的复杂时序控制要求。试验结果表明,在其工作范围内的各种转速工况下,都能获得可靠的点火,无失火现象发生。
文章版权归西部工控xbgk所有,未经许可不得转载。