胡邦南,李明飛
(湖南工業職業技術學院電氣工程學院,湖南 長沙 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.