胡邦南,李明飞
(湖南工业职业技术学院电气工程学院,湖南 长沙 410208)
电容放电点火(capacitor discharge ignition,CDI)系统是应用于内燃发动机的一种电子点火系统。该点火系统通过在发动机气缸中产生高压火花来点燃空气燃料混合物,并使用高压电容放电输出电流来激励火花塞。文献[1]~文献[6]采用以单片机控制的数字点火器,提高了发动机的最大功率,而且较为节能、环保。但由于点火角度的计算是基于单片机普通定时器的,需要占用单片机大量资源且误差比较大。本文采用PIC16F1619单片机的角度定时器模块,将激励角度值直接写入角度定时器(angular timer,AT)的比较寄存器,并且利用PIC16F1619单片机的其他专用外设,大大提高了性能。
为了在火花塞中产生高压火花,需使用直流-直流转换器的输出(DC-CDI)或磁电机的输出(AC-CDI),对具有高充电容量的高压电容进行充电。电容通常被充电到200~400 V。该电容连接到点火线圈或升压脉冲变压器,将产生极高的电压,一般为40 kV或更高。
基本数字控制电容放电点火系统示意图如图1所示。
图1 系统示意图
脉冲发生器线圈负责向点火控制系统提供定时信号。磁体安装在飞轮上,飞轮安装在磁电机轴上。当飞轮旋转时,在磁体靠近脉冲发生器线圈时,会产生定时脉冲。由于每个磁极会有一个脉冲,因此其都会有两个输出,即由一个正脉冲接着一个负脉冲形成的一对交替脉冲。对于单点火拾波器信号(profile ignition pickup,PIP)系统,只有一对脉冲;而对于多脉冲系统,会有多对脉冲。这取决于飞轮上的磁体数量。每次旋转时,交替脉冲都处于一个相对于发动机中活塞位置的固定角度处,脉冲周期会触发发动机。
在数字CDI 系统中,单片机有两个主要功能:一是通过读取传感器(如脉冲发生器线圈、热敏电阻和节气门位置)的输入,确定提前激励角度,然后产生激励脉冲;二是设置直流-直流转换器的脉宽调制(pulse width modulation,PWM)占空比。从发动机中获得最佳性能所需的提前角度主要取决于转速。因此,系统必须知道当前转速、温度和节气门位置。被称为“映射”的查找表存储在单片机的程序存储器中,它可以根据转速提供相应的提前角度。一般会根据不同的节气门位置和温度范围存储多个映射。在控制器计算转速后,系统可以从映射中查找相应的提前角度。
PIC单片机的AT模块可将周期信号分割为较小时间间隔,并将基于时间的信号转换为基于角度/相位的信号。当需要在周期信号的特定角度/相位发生事件时,AT模块非常有用。角度定时器原理如图2所示。
图2 角度定时器原理图
图2中,唯一需要设置的寄存器是ATxRES,其他值均由硬件计算。ATxRES 寄存器表示用户希望在每个周期间产生的中断数,即角度分辨率。计数器1在每个模块时钟加1,并与ATxRES寄存器作比较。当计数器1与ATxRES中的数字匹配时,计数器2递增1;在该周期结束时,将计数器2中的数字复制到ATxPER寄存器,为下一个周期作准备。当下一个周期开始时,计数器3在每个模块时钟增加1,并与ATxPER作比较。当这两个值匹配时,中断标志置1。同时,该框图计算出的ATxPER,可为下下个周期作准备。
所选择的分辨率将影响角度定时器模块的误差。由于模块的基本工作原理是硬件除法,因此通常会有余数。该余数表现为每个周期最后一个角度/相位中的额外模块时钟数。ATxRES值越大,误差就越大,则除数(ATxRES+1)和余数也将越大。因此,选择较小的 ATxRES 值,可降低模块的误差。然而,对于相同的被除数(每个周期的模块时钟数),较小的除数将产生较大的结果。结果保存在 ATxPER 中。如果分辨率太小或输入信号频率太低,则ATxPER 可能会溢出。
角度定时器具有三个捕捉/比较模块。在捕捉模式下,在捕捉输入信号的上升沿或下降沿,会将相位计数器(ATxPHS)的值捕捉到捕捉/比较寄存器(ATxCCy)中。捕捉事件还会产生一个脉冲,可以触发其他外设,如模数转换器(analog-to-digital converter,ADC)或可配置逻辑单元(configurable logic cell,CLC)输入,也可以产生中断。在比较模式下,AT 模块会将当前相位计数器(ATxPHS)的值与捕捉/比较寄存器(ATxCCy)的值进行比较,或向比较寄存器中输入一个小于或等于角度分辨率的角度值。当这两个值匹配时,会产生一个比较事件,用于触发其他外设(如ADC 或CLC 输入)或产生中断。
使用PIC16F1619的角度定时器实现CDI的原理如图3所示。该方法采用PIC单片机的CLC、AT、信号测量定时器(signal measurement timer,SMT)和数学加速器外设(也称为PID模块)。
图3 CDI实现原理图
使用一个24位SMT来进行转速计算。SMT配置为窗口测量模式,其窗口输入为AT 周期脉冲。每当AT给出周期脉冲时,SMT都会将定时器值捕捉到SMTxCPR 寄存器中,复位其定时器计数值并重新开始计数。将定时器值捕捉到SMTxCPR 寄存器时,会产生捕捉周期中断。
(1)
式中:clk为SMT时钟输入;pre为SMT 时钟分频比;cpr为在窗口输入事件处的SMTxTMR捕捉值;fsig为AT和SMT的输入信号频率。
发动机的转速通过fsig计算。fsig乘以标量值60,即可将频率转换为转速。
发动机的转速和火花激励角度之间有一个对应关系。这种对应关系是非线性的,并且随节气门位置和发动机温度的不同而不同。将这些映射拆分为较小的线性曲线(分段线性曲线),并以表格的形式表示;再根据发动机当前温度和节气门位置,选择其中一个激励映射关系。
在利用插值法计算当前激励角度时,使用PIC单片机内的PID 模块,可以更快地完成计算。PID 模块以16 位整数的形式执行这些运算,并由用户配置,采用有符号或无符号格式。该运算的结果长度为32 位,存储在PIDxOUT 寄存器中。运算的结果配置为累加,PIDxACC 寄存器用于累加先前的结果。激励映射情况如表1所示。
表1 激励映射
从零转速到极低转速,由于AT计数器1的长度有限(其长度为15 位),可能会发生溢出。这是因为转速较低时,AT 周期计数器中的值会很高。虽然降低AT 输入时钟频率和增大AT 时钟预分频比会导致角度分割精度下降,但为了将较低的转速考虑在内,这是必需的。
计算得到的激励角度被输入AT比较寄存器。当AT相位计数器与比较寄存器中的值匹配时,会产生比较中断并驱动绝缘栅双极型晶体管(insulated gate bipolar transistor,IGBT)。互补波形发生器用于生成单个或互补的正弦波调制的PWM信号,从而将直流逆变为交流。这种逆变需要将来自电池的12 V 直流转换为220 V交流,然后再次通过整流来产生300 V直流。该300 V直流用于对CDI电容充电。使用互补PWM 来进行全波逆变,单PWM进行半波逆变。对于小型发动机,只需半个周期就足以在转速极低的情况下对电容充电。
程序执行步骤如下。
①初始化:上电或复位,对所有外设进行初始化如ADC、PID、互补波形发生器(complementary waveform generator,CWG)、CLC1、SMT1和AT等。
②输入采集:处于“窗口测量模式”的SMT使用AT周期脉冲作为窗口输入,SMT在每个AT周期输入处将SMT1TMR 寄存器的值捕捉到SMT1CPR寄存器中,并产生相应的中断。
③ADC:发动机温度和节气门位置的传感器的模拟输出通过内部的10 位ADC 进行数字转化。
④转速计算:根据SMT1CPR 寄存器值计算发动机的转速。
⑤映射选择:根据温度和节气门位置,选择特定的映射,通过这个选定的映射,从查找表中读取对应于当前转速的激励角度。如果当前转速介于查找表中存储值之间,则使用插值法计算该转速的激励角度。
⑥激励角度更新:将激励角度值存储在AT 比较寄存器(AT1CCy)中。
⑦AT比较中断:在AT比较ISR 中,向连接到SCR/IGBT 栅极的端口引脚输入脉冲,以通过开启开关来激励火花。
⑧在每个AT周期循环中,重复步骤②~步骤⑦。
使用传统的数字控制电容点火方法时,必须将激励角度转换为相应的定时器计数,角度分辨率会随转速变化而变化。将从映射中得到的激励角度值直接写入AT比较寄存器。当角度值匹配时会产生中断,以激励SCR。当采用传统方法时,激励角度的插值计算以及将它转换为定时器计数的计算需要较长的时间;而使用数学加速器,可加快激励角度插值计算的速度。采用传统方法时,定时器可能会在转速较低时发生溢出;而SMT是一个24位定时器,可以在很低的转速下计数而不发生溢出,从而极大地改善了CDI的整体性能。
参考文献:
[1] 胡春明,刘娜.电喷摩托车的点火与控制[J].小型内燃机与摩托车,2006,35(3):59-61.
[2] 任立环,刘迎澍.摩托车用数字式CDI点火器[J].汽车技术,2000(11):15-17.
[3] 严庆福,司良群,罗挺,等.小型汽油发动机电子点火控制系统的应用设计[J].电子产品世界,2002(13):46-48.
[4] 谭文春,沈利芳,于秀敏,等.二冲程汽油机电控点火系统的试验研究[J].小型内燃机与摩托车,2003,32(4):38-41.
[5] 罗滇生,姚建刚,何洪英,等.二冲程汽油机数字式CDI点火系统的开发与研究[J].湖南大学学报(自然科学版),2003,30(1):71-74.
[6] 周海勇.采用单片微处理器的一种新型数字式摩托车CDI点火性能测试[J].内燃机工程,2003,24(6):63-66.