JPH0536634B2 - - Google Patents
Info
- Publication number
- JPH0536634B2 JPH0536634B2 JP57219559A JP21955982A JPH0536634B2 JP H0536634 B2 JPH0536634 B2 JP H0536634B2 JP 57219559 A JP57219559 A JP 57219559A JP 21955982 A JP21955982 A JP 21955982A JP H0536634 B2 JPH0536634 B2 JP H0536634B2
- Authority
- JP
- Japan
- Prior art keywords
- learning
- knocking
- value
- predetermined
- engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 25
- 238000002485 combustion reaction Methods 0.000 claims description 6
- 239000000446 fuel Substances 0.000 description 18
- 238000002347 injection Methods 0.000 description 8
- 239000007924 injection Substances 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000000498 cooling water Substances 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000000979 retarding effect Effects 0.000 description 2
- 241000607479 Yersinia pestis Species 0.000 description 1
- 239000003054 catalyst Substances 0.000 description 1
- 230000003197 catalytic effect Effects 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02P—IGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
- F02P5/00—Advancing or retarding ignition; Control therefor
- F02P5/04—Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions
- F02P5/145—Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions using electrical means
- F02P5/15—Digital data processing
- F02P5/152—Digital data processing dependent on pinking
- F02P5/1523—Digital data processing dependent on pinking with particular laws of return to advance, e.g. step by step, differing from the laws of retard
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Electrical Control Of Ignition Timing (AREA)
Description
本発明は内燃機関のノツキング制御方法に係
り、特にノツキングの有無によつて比較的速い速
度で遅進角を行うための補正遅角量とノツキング
の有無によつて比較的遅い速度で遅進角を行いか
つ学習制御によつて変更される学習遅角量とによ
つて、基本点火進角を補正してノツキングを制御
する方法に関する。 従来の学習制御によるノツキング制御方法は、
エンジン回転数N、吸入空気量Qとエンジン回転
数Nとの比Q/Nまたは吸気管負圧で定まる負荷
によつて予め定まる基本点火進角θBASEをマイク
ロコンピユータのリードオンメモリ(ROM)に
マツプの形で記憶させておき、次の(1)式に基いて
実際にイグナイタを制御する点火進角θigを演算
し、この点火進角を用いてノツキング制御を行う
ものである。 θig=θBASE−(θKG+θK) ……(1) ただし、θKGはノツキングのレベルを所定レベ
ルにするためにエンジン回転数と負荷とによつて
定まりかつ学習制御によつて変更される学習遅角
量、θKはノツキングが発生したとき点火時期を遅
らせかつノツキングが発生しなくなつたとき点火
時期を進める補正遅角量である。 ここで、補正遅角量θKは次のようにして求めら
れる。まず、マイクロホン等で構成されたノツキ
ングセンサを用いてエンジンの振動を検出し、エ
ンジンの振動の平均値(バツクグラウンド)bの
所定倍K・b(ただしKは比例定数)とエンジン
振動のピーク値aとを求め、このピーク値aと
K・bの値とを比較する。ピーク値aがK・bの
値を越えたときには、ノツキング発生と判断して
次の(2)式に示すようにノツキング発生1回あたり
所定クランク角(例えば0.4℃A)点火時期が遅
れるよう補正遅角量θKを変更する。 θK←θK+0.4°CA ……(2) またピーク値aがK・bの値以下のときには、
ノツキングが発生しなかつたと判断して、第1の
タイマを用いて所定時間(例えば48msec)経過
したか否かを判断し、所定時間経過したときには
次の(3)式に示すように所定クランク角(例えば
0.08°CA)点火時期が進むように補正遅角量θKを
変更する。 θK←θK−0.08°CA ……(3) また、エンジン条件に応じた学習遅角量θKGは
次のようにして算出される。まず、第1図に示す
ようにエンジン回転数Nと負荷Q/Nとに対応さ
せて学習遅角量を記憶させる番地0〜23をマイク
ロコンピユータのランダムアクセスメモリ
(RAM)に用意して学習マツプを作成しておく。
エンジン回転数Nと吸入空気量Qとを取込み、学
習マツプ上において現在のエンジン条件を示す点
(N、Q/N)を囲む4点のRAMの番地を求め
る。今、第2図に示すように現在のエンジン条件
を示す囲む点をRAMの番地がn(n=0、1、
…16)、n+1、n+6、n+7であり、番地n
に学習遅角量θKGo、番地n+1に学習遅角量
θKG(o+1)、番地n+6に学習遅角量θKG(o+3)、番地
n+7に学習遅角量θKG(o+7)が各々記憶されてい
るものとする。そして、番地間のエンジン回転数
の差をX、番地間の負荷の差をY、番地nと現在
のエンジン条件を示す点との間のエンジン回転数
の差をx、番地nと現在のエンジン条件を示す点
との間の負荷の差をyとすれば、以下の(4)〜(6)式
に示す2次元補間法により現在のエンジン条件を
示す点の学習遅角量θKGが求められる。 A=x(θKGo−θKG(o+1))/X+θKGo……(4) B=x(θKG(o+6)−θKG(o+7))/X +θKG(o+6) ……(5) θKG=y(A−B)/Y+A ……(6) そして上記学習マツプの学習制御は、次のよう
にして行なわれる。まず、現在のエンジン条件に
応じて学習制御の時間を決定する第2のタイマ
と、エンジン状態と無関係に学習制御の時間を決
定する第3のタイマとを用意する。第2のタイマ
により所定時間(例えば48msec)経過したこと
が検出されたときには、補正遅角量θKが変更され
て所定クランク角(例えば4°CA)を越えたか否
かを判断し、補正遅角量θKが所定クランク角を越
えたときに、上記で説明した現在のエンジン条件
を示す点を囲む学習マツプ上の4点の学習遅角量
に所定クランク角(例えば0.004°CA)加算する。
この結果点火時期が遅れるように学習遅角量が学
習制御される。一方、第3のタイマにより所定時
間(例えば16sec)経過したことが検出されたと
きには、ノツキングの有無に無関係に学習マツプ
上の全ての番地の学習遅角量から所定クランク角
(例えば0.01°CA)減算して、点火時期が進むよ
うに学習遅角量を学習制御する。 而して、上記のようにして変更された補正遅角
量θKと、学習制御される学習マツプから2次元補
間法により求めた学習遅角量θKGとを用い、前記
(1)式に基いて基本点火進角θBASEを補正して、ノ
ツキングを制御するものである。 ところで、第3図に示すように、基本点火進角
θBASEすなわちMBT(Minimum Spank Advance
For Best Torque)は、エンジン回転数に応じ
て曲線C1のように変化する。また、空気が湿つ
ている場合等のノツキングが発生しにくいときの
微小ノツキング発生点火時期は曲線C2のように
なり、空気が乾燥している場合等のノツキングが
発生し易いときの微小ノツキング発生点火時期は
曲線C3のようになる。従つて、エンジン回転数
や環境条件によつて微小ノツキング発生点火時期
が異つている。 上記のような学習制御によるノツキング制御方
法では、所定時間経過したときにノツキングの有
無と無関係に学習遅角量の全てを独立して学習制
御により進角側に変更していたため、遅角側の学
習制御の機会が少ないエンジン条件において学習
遅角量が進角側となりすぎ、ノツキングが発生す
るという問題点があつた。また、上記のように学
習遅角量が進角側に学習制御される傾向があるた
め、点火時期を進角側に制御する学習制御の速度
を速く設定することができず、上記第3図に示す
場合のようにエンジン条件等が変化してノツキン
グが発生しにくくなつたときに学習遅角量により
点火時期が遅角しすぎることがあり、ノツキング
が発生しない領域においてペストトルクを得られ
ないという問題があつた。 本発明は上記問題点を解消すべく成されたもの
で、ノツキングが発生し易い条件でもノツキング
が発生しにくい条件でも常に同じようにノツキン
グ制御を行えるノツキング制御方法を提供するこ
とを目的とする。 上記目的を達成するために本発明の構成は、エ
ンジン回転数と負荷とによつて定まる基本点火進
角から、ノツキングの有無に応じて加減算される
補正遅角量と、ノツキングのレベルを所定レベル
にするためにエンジン回転数と負荷とによつて定
まりかつ前記補正遅角量の大きさが所定範囲を外
れたときに書換えが行われる学習遅角量との和を
減算して、ノツキングを制御する内燃機関のノツ
キング制御方法において、エンジン回転数が低回
転側の所定回転数未満の領域で前記学習遅角量の
学習制御を停止すると共に、エンジン回転数が前
記所定回転数以上の領域で前記補正遅角量が所定
範囲の値になるように前記学習遅角量を学習制御
するようにしたものである。 ここで、上記問題点を解消するために補正遅角
量θKが所定範囲(例えば2°CA≦θK≦4°CA)の値
をとるように学習遅角量を学習制御して、ノツキ
ングが発生しにくい条件でもノツキングが発生し
易い条件でも常に同じようにノツキング制御する
ことが考えられる。しかし、エンジン回転数が低
い領域では、S/Nが悪いためノツキングの判定
レベルとノイズのレベルとを区別できない場合が
発生し、ノツキングの誤検出により補正遅角量が
変更されてS/Nの悪い低エンジン回転領域まで
学習制御されることになるため、S/Nの悪い低
エンジン回転領域に近い領域の学習遅角量が学習
制御によつて異常な値を示すことがある、という
問題が発生する。 上記本発明の構成によれば低エンジン回転領域
で学習制御しないようにして若干高回転側の学習
値を用いるようにしているため、電気的および機
機的ノイズによつて低回転領域の学習値が異常に
なることがなく、良好な学習制御が確保され、ノ
ツキングの発生や遅角し過ぎによる出力の低下お
よび熱費の悪化を防止できる、という特有の効果
が得られる。 次に、本発明が適用されるエンジンの一例を第
4図に示す。このエンジンは図に示すように、エ
アクリーナー(図示せず)の下流側に設けられた
吸入空気量センサとしてのエアフローメータ2を
備えている。エアフローメータ2は、ダンピング
チヤンバ内に回動可能に設けられたコンペンセー
シヨンプレート2Aと、コンペンセーシヨンプレ
ート2Aの開度を検出するポテンシヨメータ2B
とから構成されている。従つて、吸入空気量Qは
ポテンシヨメータ2Bから出力される電圧として
検出される。また、エアフローメータ2の近傍に
は、吸入空気の温度を検出する吸入空気温センサ
4が設けられている。 エアフローメータ2の下流側には、スロツトル
弁6が配置され、スロツトル弁6の下流側には、
サージタンク8が設けられている。このサージタ
ンク8には、インテークマニホールド10が連結
されており、このインテークマニホールド10内
に突出して燃料噴射弁12が配置されている。イ
ンテークマニホールド10は、エンジン本体14
の燃料室14Aに接続され、エンジンの燃焼室1
4Aはエキゾーストマニホールド16を介して三
元触媒を充填した触媒コンバータ(図示せず)に
接続されている。そして、エンジン本体14に
は、マイクロホン等で構成された、エンジンの振
動を検出するノツキングセンサ18が設けられて
いる。なお、20は点火プラグ、22は混合気を
理論空燃比近傍に制御するためのO2センサ、2
4はエンジン冷却水温を検出する冷温水温センサ
である。 エンジン本体14の点火プラグ20は、デイス
トリビユータ26に接続され、デイストリビユー
タ26はイグナイタ28に接続されている。この
デイストリビユータ26には、ピツクアツプとデ
イストリビユータシヤフトに固定されたシグナル
ロータとで構成された、気筒判別センサ30およ
びエンジン回転角センサ32が設けられている。
この気筒判別センサ30は、例えばクランク角
720度毎に気筒判別信号をマイクロコンピユータ
等で構成された電子制御回路34へ出力し、この
エンジン回転角センサ32は、例えばクランク角
30度毎にクランク角基準位置信号を電子制御回路
34へ出力する。 電子制御回路34は、第5図に示すように、ラ
ンダム・アクセス・メモリ(RAM)36と、リ
ード・オンリー・メモリ(ROM)38と、中央
処置装置(CPU)40と、クロツク(CLOCK)
41と、第1の入出力ポート42と、第2の入出
力ポート44と、第1の出力ポート46と、第2
の出力ポート48とを含んで構成され、RAM3
6、ROM38、CPU40、CLOCK41、第1
の入出力ポート42、第2の入出力ポート44、
第1の出力ポート46および第2の出力ポート4
8は、バス50により接続されている。第1の入
出力ポート42には、バツフア(図示せず)マル
チプレクサ54、アナログ−デイジタル(A/
D)変換器56を介して、エアフローメータ2、
冷却水温センサ24および吸気温センサ4等が接
続されている。このマルチプレクサ54および
A/D変換器56は、第1の入出力ポート42か
ら出力される信号により制御される。第2の入出
力ポート44には、バツフア(図示せず)および
コンパレータ62を介してO2センサ22が接続
され、波形整形回路64を介して気筒判別センサ
30およびエンジン回転角センサ32が接続され
ている。また、第2の入出力ポート44には、バ
ンドバスフイルタ60、ピークホールド回路6
1、チヤンネル切換回路66およびA/D変換器
68を介してノツキングセンサ18が接続されて
いる。このバンドパスフイルタは積分回路63を
介してチヤンネル切換回路66に接続されてい
る。このチヤンネル切換回路66には、ピークホ
ールド回路61の出力と積分回路63の出力との
いずれか一方をA/D変換器68に入力するため
の第2の入出力ポート44から出力される制御信
号が入力されており、ピークホールド回路61に
は第2の入出力ポート44からリセツト信号が入
力されている。また、第1の出力ポート46は駆
動回路70を介してイグナイタ28に接続され、
第2の出力ポート48は駆動回路72を介して燃
料噴射装置12に接続されている。 電子制御回路34のROM38には、エンジン
回転数と吸入空気量とで表わされる基本点火進角
θBASEのマツプおよび基本燃料噴射量等が予め記
憶されており、エアフローメータ2からの信号お
よびエンジン回転角センサ32からの信号により
基本点火進角および基本燃料噴射量が読出される
と共に、冷却水温センサ24および吸気温センサ
4からの信号を含む各種の信号により、上記基本
点火進角および基本燃料噴射量に補正点火進角お
よび補正燃料噴射量が加えられ、イグナイタ28
および燃料噴射弁12が制御される。O2センサ
22から出力される空燃比信号は、混合気の空燃
比を理論空燃比近傍に制御する空燃比制御に使用
される。また、電子制御回路34のRAM36に
は、第1図に示す学習マツプが予め記憶されてい
る。 次に、上記のようなエンジンに本発明を適用し
た場合の実施例について詳細に説明する。なお、
本発明の実施例を説明するにあたつて、燃料噴射
制御、空燃比制御、点火時期制御のメインルーチ
ン等については従来と同様であるので説明を省略
し、本発明に関連するノツキング制御のルーチン
のみについて説明する。 第6図は、マイクロコンピユータを用いて本発
明を実施する場合の30°CA毎の割込みルーチンを
示す。まず、ステツプ81においてエンジン回転角
センサ32からの信号に基いて回転時間からエン
ジン回転数Nを求め、ステツプ82において気筒判
別センサ30から気筒判別信号が入力されてから
何番目の割込みかを数えて現在のクランク角を示
すフラグを立てる。次に、ステツプ83において、
ステツプ82で立てたフラグが上死点(TDC)の
フラグであるか否かを判別する。現在上死点でな
い場合にはステツプ88へ進み、現在上死点である
場合にはステツプ84においてノツクゲートが閉じ
ているか否かを判断する。ノツクゲートが開いて
いるときはステツプ85においてノツクゲートを閉
じ、ノツクゲートが閉じているときはステツプ86
においてチヤンネル切換回路66を切換えて、ノ
ツキングセンサ18から出力されるエンジン振動
信号をバンドパスフイルタ60、積分回路63お
よびチヤンネル切換回路66を介してA/D変換
器68に入力し、エンジン振動の平均値すなわち
バツクグラウンドレベルのA/D変換を開始す
る。続いて、ステツプ87においてノツクゲートの
閉時刻t1、すなわち次にノツクゲートを閉じる時
刻を算出して時刻一致割込みAをセツトする。 次に、ステツプ88においてステツプ82で立つた
フラグを基にクランク角が90°CA BTDC(上死点
前)になつたか否かを判断する。クランク角が
90°CA BTDCでないときはステツプ91へ進み、
90°CA BTDCのときはステツプ89において補正
進角量θKの更新をすると共に点火時期の計算処理
を行う(この詳細については以下で説明する)。
ステツプ90では、ステツプ89で計算した点火時期
と現在の時刻とによりイグナイタ28をオンさせ
る時刻を求めて時刻一致割込みBをセツトすると
共に、イグナイタオンのフラグを立てる。そし
て、ステツプ91においてクランク角が60°CA
BTDCになつたか否かを判断し、60°CA BTDC
でない場合にはメインルーチンへリターンし、
60°CA BTDCである場合にはステツプ92におい
てイグナイタのオフ時刻を計算して時刻一致割込
みBをセツトし、ステツプ90で立てたイグナイタ
オンのフラグをおろす。 次に第7図に示す時期一致割込みAについて説
明する。この割込みルーチンは、エンジン振動の
ピーク値を求めるものであり、第6図のステツプ
87でセツトした時刻になると割込みが行なわれ、
ステツプ93においてピークホールド回路61に保
持されたピーク値をチヤンネル切換回路66を介
してA/D変換器68に入力してピークホールド
値のA/D変換を開始してメインルーチンへリタ
ーンする。 第8図は、時刻一致割込みBのルーチンを示す
ものであり、第6図のステツプ90およびステツプ
92にセツトした時刻になると割込みが行なわれ
る。ステツプ94では、イグナイタオンのフラグが
立つているか、すなわちこのフラグが1か否かを
判断し、フラグが立つているときはステツプ96に
おいてイグナイタをオンし、フラグがおりている
ときにはステツプ95においてイグナイタをオフ
し、メインルーチンへリターンする。 第9図は、A/D変換完了割込みルーチンを示
すものであり、バツクグラウンドレベルのA/D
変換およびピークホールド値のA/D変換が完了
したときにこの割込みが行なわれる。まず、ステ
ツプ97において現在ノツクゲートが開いているか
否かを判断する。ノツクゲートが閉じているとき
には、ステツプ98において第6図のステツプ86で
変換したA/D変換値をRAM36のメモリに記
憶してバツクグラウンドレベルbとし、ステツプ
99においてノツクゲートを開いてメインルーチン
へリターンする。一方、ノツクゲートが開いてい
るときには、第7図のステツプ93で変換したA/
D変換値をRAM36のメモリに記憶してピーク
値aとし、ステツプ101においてノツクゲートを
閉じてメインルーチンへリターンする。 第10図は、ノツキングが発生していないとき
の時間と学習制御する時間とをカウントするため
の所定時間(例えば4msec)毎に行なわれる割
込みルーチンを示すものである。まず、ステツプ
102においてノツキングが発生しないときの時間
を求めるカウンタTIME1のカウント値を1増加
させ、ステツプ103において学習制御する時間を
求めるカウンタTIME2のカウント値を1増加さ
せる。次のステツプ104において、カウンタ
TIME1のカウント値が12(48msec)以下になつ
ているか否かを判断する。カウント値が12を越え
ているときにはステツプ105においてカウンタ
TIME1のカウント値を12とし、カウント値が12
以下のときにはステツプ106においてカウンタ
TIME2のカウント値が12以下になつているか否
かを判断する。ここで、カウント値が12を越えて
いるときにはステツプ107においてカウンタ
TIME2のカウント値を12としてメインルーチン
へリターンしカウント値が12以下のときにはメイ
ンルーチンへリターンする。 次に第6図のステツプ89の詳細なルーチンを第
11図に基いて説明する。第6図のステツプ88で
クランク角が90°CA BTDCになつたと判断され
ると、ステツプ122において負荷Q/Nが0.6
〔/rev.〕以上か否か、すなわちノツキング制
御領域か否かを判断する。ノツキング制御領域で
ないときにはステツプ123で基本点火進角θBASEを
点火進角θigとし、ノツキング制御領域であると
きはステツプ108において、第9図のステツプ100
で記憶されたピーク値aと、第9図のステツプ98
で記憶されたバツクグラウンドレベルbに定数K
を乗算した値K・bとを比較する。ピーク値aが
値K・bを越えているときにはノツキングが発生
したと判断して、ステツプ110において補正遅角
量θKを所定角(例えば0.4°CA)増加させ、ステツ
プ112においてノツシングが発生しない時間をカ
ウントするカウンタTIME1のカウント値をクリ
アする。一方、ピーク値aが値K・b以下のとき
にはノツキングが発しないと判断して、ステツプ
109においてカウンタTIME1のカウント値が所
定値(12)以上になつているか否かを判断し、カウン
ト値が所定値以上になつているときにはノツキン
グの発生しない状態が所定時間経続していること
からステツプ111において補正遅角量θKを所定角
(例えば0.08°CA)減少させた後、ステツプ112で
カウンタTIME1をクリアする。また、ステツプ
109においてカウント値が所定値未満であるとき
には、ステツプ113へ進む。ステツプ113では、上
記のようにして求められた補正遅角量θKと学習マ
ツプから2次元補間法により求められる学習遅角
量θKGとによつて前述した(1)式に示すように基本
点火進角θBASEを補正し、実際にイグナイタを制
御する点火進角θigを算出する。 次に学習マツプから現在のエンジン条件に対応
する学習遅角量θKGを求めかつ学習制御するルー
チンを説明する。第12図にこのルーチンをメイ
ンルーチンの途中から示す。 まず、ステツプ124において負荷Q/Nが0.6
〔/rev.〕以上か否か、すなわちノツキング制
御領域か否かを判断する。ノツキング制御領域で
ないとはそのままメインルーチンへ続き、ノツキ
ング制御領域であるときはステツプ114において
エンジン回転数Nと負荷Q/Nとで定まる現在の
エンジン条件を示す点を囲む4点のRAMの番地
を学習マツプ上に求める。次にステツプ115にお
いて、求めた4点のRAMの番地に記憶されてい
るデータ、すなわち4点のRAMの番地に記憶さ
れている学習遅角量を基に2次元補間法(2次元
補間法のルーチンは後で説明する)により、現在
のエンジン条件を示す点の学習遅角量θKGを算出
し、算出した値をRAMの所定場所に記憶する。
次のステツプ124では、エンジン回転数Nが低回
転側の所定回転数(例えば1500〔r.p.m〕以上か否
かを判断する。エンジン回転数が所定回転数未満
であるときは学習制御せずにメインルーチンへ戻
り、エンジン回転数が所定回転数以上であるとき
は次のステツプ116に進む。 ステツプ116では、第10図のステツプ103でカ
ウントした学習制御する時間を求めるためのカウ
ンタTIME2のカウント値が所定値(例えば12)
以上か否かを判断する。カウント値が所定値未満
である場合にはメインルーチンへリターンし、カ
ウント値が所定値以上の場合にはステツプ117で
カウンタTIME2のカウント値をクリアした後、
第11図のステツプ110および111で更新された補
正遅角量θKが第1の所定クランク角(例えば
2°CA)以上であるか否かをステツプ118で判断す
る。 ステツプ118で補正遅角量θKが第1の所定クラ
ンク角未満であると判断された場合には、ステツ
プ121において現在のエンジン条件を示す点を囲
む学習マツプ上の4点に記憶されている学習遅角
量の各々から、所定クランク角(例えば
0.04°CA)減算する学習制御を行ない、メインル
ーチンへリターンする。この結果、補正遅角量θK
が第1の所定クランク角未満であるときには学習
マツプの学習遅角量が小さくなるように学習制御
され、学習遅角量によつて点火時期が進むように
制御される。一方、ステツプ118で補正遅角量θK
が第1の所定クランク角以上であると判断された
場合には、ステツプ119において補正遅角量θKが
第1の所定クランク角より大きい値の第2の所定
クランク角(例えば4°CA)未満であるか否かを
判断する。ステツプ119において補正遅角量θKが
第1の所定クランク角未満であると判断された場
合、すなわち補正遅角量θKが以下の条件を満足す
る場合には、 第1の所定クランク角(2°CA)≦θK <第2の所定クランク角(4°CA) ……(7) 学習制御せずにメインルーチンへリターンす
る。この結果、補正遅角量θKが所定範囲の値をと
るときは学習制御されず、学習遅角量によつては
点火時期が変更されない。なお、補正遅角量が所
定範囲の値をとるときにおいても、必要に応じて
学習制御するようにしてもよい。ステツプ119に
おいて補正遅角量θKが第2の所定クランク角以上
と判断された場合には、ステツプ120において現
在のエンジン条件を示す点を囲む学習マツプ上の
4点に記憶されている学習遅角量の各々に、所定
クランク角(例えば0.04°CA)加算する学習制御
を行ない、メインルーチンへリターンする。この
結果、補正遅角量θKが第2の所定クランク角以上
であるときには学習マツプの学習遅角量が大きく
なるように学習制御され、学習遅角量によつて点
火時期が遅れるように制御される。 以上のような学習制御することによつて、補正
遅角量が所定範囲の値になるように学習マツプの
学習遅角量が変更され、エンジン回転数が1500
〔r.p.m〕未満では学習制御されない(第1図の一
点鎖線より左側の領域)。 以下に第12図の学習ルーチンのステツプ115
における2次元補間法の詳細なルーチンを第13
図を用いて説明する。この2次元補間ルーチンに
おいて、学習マツプとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点の
RAMの番地を第2図に示すようにn、n+1、
n+6、n+7とする。まず、ステツプ130にお
いて、現在の負荷Q/Nが学習マツプ上の負荷の
上限値すなわち1.2〔/rev.〕以下であるか否か
を判断する。負荷が1.2〔/rev.〕を越えている
場合にはステツプ131でレジスタnに1.2を記憶
し、負荷が1.2〔/rev.〕以下である場合にはス
テツプ134で現在の負荷Q/Nの値をレジスタn
に記憶する。ステツプ135では、現在のエンジン
回転数Nが学習マツプ上のエンジン回転数の上限
値すなわち6000〔r.p.m〕以下であるか否かを判断
する。エンジン回転数が6000〔r.p.m〕を越えてい
る場合にはステツプ136でレジスタmに6000を記
憶し、エンジン回転数が6000〔r.p.m〕以下である
場合にはステツプ137で現在のエンジン回転数N
が値をレジスタmに記憶する。ステツプ138では、
レジスタnの値が学習マツプ上の負荷の下限値す
なわち0.6〔/rev.〕以上であるか否かを判断
し、レジスタnの値が0.6未満であるときにはス
テツプ139においてレジスタnの値を0.6とし、レ
ジスタnの値が0.6以上あるときにはステツプ140
に進む。そしてステツプ140では、レジスタmの
値が学習マツプ上のエンジン回転数の下限値すな
わち1000〔r.p.m〕以上であるか否かを判断し、レ
ジスタmの値が1000未満であるときにはステツプ
141においてレジスタmの値を1000とし、レジス
タmの値が1000以上であるときには次のステツプ
142に進む。以上の結果、現在のエンジン回転数
Nおよび負荷Q/Nが学習マツプ上の値であると
きにはその値がレジスタmおよびnに各々記憶さ
れ、現在のエンジン回転数Nおよび負荷Q/Nが
学習マツプの上下限値を越えているときには上下
限値がレジスタmおよびnに各々記憶される。 ステツプ142からステツプ149は、学習マツプ上
の4点を選択するためのルーチンである。まず、
ステツプ142においてレジスタnの値から0番地
の負荷の値0.6〔/rev.〕を減算した値をレジス
タnに記憶させる。次に、ステツプ143において
レジスタの値の負荷の目盛り間隔である0.2〔/
rev.〕で除算し、その商の整数部をレジスタnに
記憶させると共に商の余りをレジスタyに記憶さ
せる。このレジスタyの値は、第2図のn番地か
ら現在のエンジン条件を示す点までの負荷の値y
に等しい。また、レジスタnに記憶された商の整
数部は、現在のエンジン条件を示す点に最も近く
かつ現在のエンジン条件を示す点以下の番地の列
(番地の横方向の並び、例えば0〜5番地の並び
を第1列とする)の列番を示している。そして、
ステツプ144においてレジスタyの値を更に0.2
〔/rev.〕で除算しておく。従つて、最終的に
レジスタyには前述した(6)式のy/Yに対応した
値が記憶されている。 ステツプ145において、前述と同様にレジスタ
mの値から0番地のエンジン回転数の値1000〔r.
p.m〕を減算した値をレジスタmに記憶させる。
次に、ステツプ146においてレジスタmの値をエ
ンジン回転数の目盛り間隔である〔r.p.m〕で除
算し、その商の整数部をレジスタmに記憶させる
と共に商の余りをレジスタxに記憶させる。この
レジスタxの値は、第2図のn番地から現在のエ
ンジン条件を示す点までのエンジン回転数の値x
に等しい。また、レジスタmに記憶された商の整
数部は、現在のエンジン条件を示す点に最も近く
かつ現在のエンジン条件を示す点以下の番地の行
(番地の縦方向の並び、例えば0、6、12、18番
地の並びを第1行とする)の行番を示している。
そして、ステツプ147においてレジスタxの値を
更に1000〔r.p.m〕で除算しておく。従つて、最終
的にレジスタxには前述した(4)、(5)式のx/Xに
対応した値が記憶されている。 次にステツプ148において、レジスタnの値を
6倍してレジスタnに記憶させ、次のステツプ
149において、レジスタnの値とレジスタmの値
を加算してレジスタnに記憶させる。この結果、
現在のエンジン条件を囲む4点の左下角の番地、
すなわち第2図のn番地の番地番号が求められ、
レジスタnに記憶される。 ステツプ150においては、学習マツプ上のn番
地に記憶されている学習遅角量θKGoを読出してレ
ジスタAに記憶させ、n+1番地に記憶されてい
る学習遅角量θKG(o+1)を読出してレジスタBに記
憶させ、n+6番地に記憶されている学習遅角量
θKG(o+6)を読出してレジスタCに記憶させ、そし
てn+7番地に記憶されている学習遅角量
θKG(o+7)を読出してレジスタDに記憶させる。続
いて、ステツプ151においてレジスタAの値から
レジスタBの値を減算してレジスタxの値を乗算
し、更にその値にレジスタAの値を加算してレジ
スタEに記憶させる。また、ステツプ152におい
てレジスタCの値からレジスタDの値を減算して
レジスタxの値を乗算し、更にその値にレジスタ
Cの値を加算してレジスタFに記憶させる。そし
て最後にステツプ153において、レジスタEの値
からレジスタFの値を減算してレジスタyの値を
乗算し、更にその値にレジスタEの値を加算し
て、現在のエンジン条件を示す点の学習遅角量
θKGとする。 次に本発明の他の実施例における学習制御ルー
チンを第14図を用いて説明する。なお、第14
図において第12図と同一部分には同一の符号を
付して説明を省略する。また、第12図の学習制
御ルーチンと第14図の学習制御ルーチンとの相
違点は、第14図では第12図のステツプ124に
代えてステツプ125、126、127を用いていること
である。 ステツプ115において現在のエンジン条件の学
習遅角角が算出された後、ステツプ125で負荷
Q/Nが0.9〔/rev.〕以上か否かが判断され
る。負荷が0.9〔/rev.〕以上であるときはステ
ツプ127でエンジン回転数Nが1200〔r.p.m〕以上
か否かを判断し、負荷が0.9〔/rev.〕未満のと
きはステツプ126でエンジン回転数が1500〔r.p.m〕
未満であるか否かを判断する。ステツプ127でエ
ンジン回転数が1200〔r.p.m〕以上であるときはス
テツプ116へ進み、エンジン回転数が1200〔r.p.m〕
未満であるときはメインルーチンへ進む。また、
ステツプ126でエンジン回転数が1500未満である
ときはメインルーチンへ進み、エンジン回転数が
1500〔r.p.m〕以上であるときはステツプ127へ進
む。この結果、Q/N<0.9〔/rev.〕かつN<
1500〔r.p.m〕の領域およびQ/N≧0.9〔/rev.〕
かつN<1200〔r.p.m〕の領域において学習制御が
行なわれず、その他の領域において学習制御が行
なわれる。 この実施例によれば、ノツキングが発生し易い
高負荷側で学習制御領域を広くしているため、よ
り良好な学習制御が行なえる。 上記の第12図および第14図の学習ルーチン
における学習遅角量θKGを学習制御によつて更新
するときの補正遅角量θKの条件と学習遅角量θKG
の増減との関係をまとめて次表に示す。
り、特にノツキングの有無によつて比較的速い速
度で遅進角を行うための補正遅角量とノツキング
の有無によつて比較的遅い速度で遅進角を行いか
つ学習制御によつて変更される学習遅角量とによ
つて、基本点火進角を補正してノツキングを制御
する方法に関する。 従来の学習制御によるノツキング制御方法は、
エンジン回転数N、吸入空気量Qとエンジン回転
数Nとの比Q/Nまたは吸気管負圧で定まる負荷
によつて予め定まる基本点火進角θBASEをマイク
ロコンピユータのリードオンメモリ(ROM)に
マツプの形で記憶させておき、次の(1)式に基いて
実際にイグナイタを制御する点火進角θigを演算
し、この点火進角を用いてノツキング制御を行う
ものである。 θig=θBASE−(θKG+θK) ……(1) ただし、θKGはノツキングのレベルを所定レベ
ルにするためにエンジン回転数と負荷とによつて
定まりかつ学習制御によつて変更される学習遅角
量、θKはノツキングが発生したとき点火時期を遅
らせかつノツキングが発生しなくなつたとき点火
時期を進める補正遅角量である。 ここで、補正遅角量θKは次のようにして求めら
れる。まず、マイクロホン等で構成されたノツキ
ングセンサを用いてエンジンの振動を検出し、エ
ンジンの振動の平均値(バツクグラウンド)bの
所定倍K・b(ただしKは比例定数)とエンジン
振動のピーク値aとを求め、このピーク値aと
K・bの値とを比較する。ピーク値aがK・bの
値を越えたときには、ノツキング発生と判断して
次の(2)式に示すようにノツキング発生1回あたり
所定クランク角(例えば0.4℃A)点火時期が遅
れるよう補正遅角量θKを変更する。 θK←θK+0.4°CA ……(2) またピーク値aがK・bの値以下のときには、
ノツキングが発生しなかつたと判断して、第1の
タイマを用いて所定時間(例えば48msec)経過
したか否かを判断し、所定時間経過したときには
次の(3)式に示すように所定クランク角(例えば
0.08°CA)点火時期が進むように補正遅角量θKを
変更する。 θK←θK−0.08°CA ……(3) また、エンジン条件に応じた学習遅角量θKGは
次のようにして算出される。まず、第1図に示す
ようにエンジン回転数Nと負荷Q/Nとに対応さ
せて学習遅角量を記憶させる番地0〜23をマイク
ロコンピユータのランダムアクセスメモリ
(RAM)に用意して学習マツプを作成しておく。
エンジン回転数Nと吸入空気量Qとを取込み、学
習マツプ上において現在のエンジン条件を示す点
(N、Q/N)を囲む4点のRAMの番地を求め
る。今、第2図に示すように現在のエンジン条件
を示す囲む点をRAMの番地がn(n=0、1、
…16)、n+1、n+6、n+7であり、番地n
に学習遅角量θKGo、番地n+1に学習遅角量
θKG(o+1)、番地n+6に学習遅角量θKG(o+3)、番地
n+7に学習遅角量θKG(o+7)が各々記憶されてい
るものとする。そして、番地間のエンジン回転数
の差をX、番地間の負荷の差をY、番地nと現在
のエンジン条件を示す点との間のエンジン回転数
の差をx、番地nと現在のエンジン条件を示す点
との間の負荷の差をyとすれば、以下の(4)〜(6)式
に示す2次元補間法により現在のエンジン条件を
示す点の学習遅角量θKGが求められる。 A=x(θKGo−θKG(o+1))/X+θKGo……(4) B=x(θKG(o+6)−θKG(o+7))/X +θKG(o+6) ……(5) θKG=y(A−B)/Y+A ……(6) そして上記学習マツプの学習制御は、次のよう
にして行なわれる。まず、現在のエンジン条件に
応じて学習制御の時間を決定する第2のタイマ
と、エンジン状態と無関係に学習制御の時間を決
定する第3のタイマとを用意する。第2のタイマ
により所定時間(例えば48msec)経過したこと
が検出されたときには、補正遅角量θKが変更され
て所定クランク角(例えば4°CA)を越えたか否
かを判断し、補正遅角量θKが所定クランク角を越
えたときに、上記で説明した現在のエンジン条件
を示す点を囲む学習マツプ上の4点の学習遅角量
に所定クランク角(例えば0.004°CA)加算する。
この結果点火時期が遅れるように学習遅角量が学
習制御される。一方、第3のタイマにより所定時
間(例えば16sec)経過したことが検出されたと
きには、ノツキングの有無に無関係に学習マツプ
上の全ての番地の学習遅角量から所定クランク角
(例えば0.01°CA)減算して、点火時期が進むよ
うに学習遅角量を学習制御する。 而して、上記のようにして変更された補正遅角
量θKと、学習制御される学習マツプから2次元補
間法により求めた学習遅角量θKGとを用い、前記
(1)式に基いて基本点火進角θBASEを補正して、ノ
ツキングを制御するものである。 ところで、第3図に示すように、基本点火進角
θBASEすなわちMBT(Minimum Spank Advance
For Best Torque)は、エンジン回転数に応じ
て曲線C1のように変化する。また、空気が湿つ
ている場合等のノツキングが発生しにくいときの
微小ノツキング発生点火時期は曲線C2のように
なり、空気が乾燥している場合等のノツキングが
発生し易いときの微小ノツキング発生点火時期は
曲線C3のようになる。従つて、エンジン回転数
や環境条件によつて微小ノツキング発生点火時期
が異つている。 上記のような学習制御によるノツキング制御方
法では、所定時間経過したときにノツキングの有
無と無関係に学習遅角量の全てを独立して学習制
御により進角側に変更していたため、遅角側の学
習制御の機会が少ないエンジン条件において学習
遅角量が進角側となりすぎ、ノツキングが発生す
るという問題点があつた。また、上記のように学
習遅角量が進角側に学習制御される傾向があるた
め、点火時期を進角側に制御する学習制御の速度
を速く設定することができず、上記第3図に示す
場合のようにエンジン条件等が変化してノツキン
グが発生しにくくなつたときに学習遅角量により
点火時期が遅角しすぎることがあり、ノツキング
が発生しない領域においてペストトルクを得られ
ないという問題があつた。 本発明は上記問題点を解消すべく成されたもの
で、ノツキングが発生し易い条件でもノツキング
が発生しにくい条件でも常に同じようにノツキン
グ制御を行えるノツキング制御方法を提供するこ
とを目的とする。 上記目的を達成するために本発明の構成は、エ
ンジン回転数と負荷とによつて定まる基本点火進
角から、ノツキングの有無に応じて加減算される
補正遅角量と、ノツキングのレベルを所定レベル
にするためにエンジン回転数と負荷とによつて定
まりかつ前記補正遅角量の大きさが所定範囲を外
れたときに書換えが行われる学習遅角量との和を
減算して、ノツキングを制御する内燃機関のノツ
キング制御方法において、エンジン回転数が低回
転側の所定回転数未満の領域で前記学習遅角量の
学習制御を停止すると共に、エンジン回転数が前
記所定回転数以上の領域で前記補正遅角量が所定
範囲の値になるように前記学習遅角量を学習制御
するようにしたものである。 ここで、上記問題点を解消するために補正遅角
量θKが所定範囲(例えば2°CA≦θK≦4°CA)の値
をとるように学習遅角量を学習制御して、ノツキ
ングが発生しにくい条件でもノツキングが発生し
易い条件でも常に同じようにノツキング制御する
ことが考えられる。しかし、エンジン回転数が低
い領域では、S/Nが悪いためノツキングの判定
レベルとノイズのレベルとを区別できない場合が
発生し、ノツキングの誤検出により補正遅角量が
変更されてS/Nの悪い低エンジン回転領域まで
学習制御されることになるため、S/Nの悪い低
エンジン回転領域に近い領域の学習遅角量が学習
制御によつて異常な値を示すことがある、という
問題が発生する。 上記本発明の構成によれば低エンジン回転領域
で学習制御しないようにして若干高回転側の学習
値を用いるようにしているため、電気的および機
機的ノイズによつて低回転領域の学習値が異常に
なることがなく、良好な学習制御が確保され、ノ
ツキングの発生や遅角し過ぎによる出力の低下お
よび熱費の悪化を防止できる、という特有の効果
が得られる。 次に、本発明が適用されるエンジンの一例を第
4図に示す。このエンジンは図に示すように、エ
アクリーナー(図示せず)の下流側に設けられた
吸入空気量センサとしてのエアフローメータ2を
備えている。エアフローメータ2は、ダンピング
チヤンバ内に回動可能に設けられたコンペンセー
シヨンプレート2Aと、コンペンセーシヨンプレ
ート2Aの開度を検出するポテンシヨメータ2B
とから構成されている。従つて、吸入空気量Qは
ポテンシヨメータ2Bから出力される電圧として
検出される。また、エアフローメータ2の近傍に
は、吸入空気の温度を検出する吸入空気温センサ
4が設けられている。 エアフローメータ2の下流側には、スロツトル
弁6が配置され、スロツトル弁6の下流側には、
サージタンク8が設けられている。このサージタ
ンク8には、インテークマニホールド10が連結
されており、このインテークマニホールド10内
に突出して燃料噴射弁12が配置されている。イ
ンテークマニホールド10は、エンジン本体14
の燃料室14Aに接続され、エンジンの燃焼室1
4Aはエキゾーストマニホールド16を介して三
元触媒を充填した触媒コンバータ(図示せず)に
接続されている。そして、エンジン本体14に
は、マイクロホン等で構成された、エンジンの振
動を検出するノツキングセンサ18が設けられて
いる。なお、20は点火プラグ、22は混合気を
理論空燃比近傍に制御するためのO2センサ、2
4はエンジン冷却水温を検出する冷温水温センサ
である。 エンジン本体14の点火プラグ20は、デイス
トリビユータ26に接続され、デイストリビユー
タ26はイグナイタ28に接続されている。この
デイストリビユータ26には、ピツクアツプとデ
イストリビユータシヤフトに固定されたシグナル
ロータとで構成された、気筒判別センサ30およ
びエンジン回転角センサ32が設けられている。
この気筒判別センサ30は、例えばクランク角
720度毎に気筒判別信号をマイクロコンピユータ
等で構成された電子制御回路34へ出力し、この
エンジン回転角センサ32は、例えばクランク角
30度毎にクランク角基準位置信号を電子制御回路
34へ出力する。 電子制御回路34は、第5図に示すように、ラ
ンダム・アクセス・メモリ(RAM)36と、リ
ード・オンリー・メモリ(ROM)38と、中央
処置装置(CPU)40と、クロツク(CLOCK)
41と、第1の入出力ポート42と、第2の入出
力ポート44と、第1の出力ポート46と、第2
の出力ポート48とを含んで構成され、RAM3
6、ROM38、CPU40、CLOCK41、第1
の入出力ポート42、第2の入出力ポート44、
第1の出力ポート46および第2の出力ポート4
8は、バス50により接続されている。第1の入
出力ポート42には、バツフア(図示せず)マル
チプレクサ54、アナログ−デイジタル(A/
D)変換器56を介して、エアフローメータ2、
冷却水温センサ24および吸気温センサ4等が接
続されている。このマルチプレクサ54および
A/D変換器56は、第1の入出力ポート42か
ら出力される信号により制御される。第2の入出
力ポート44には、バツフア(図示せず)および
コンパレータ62を介してO2センサ22が接続
され、波形整形回路64を介して気筒判別センサ
30およびエンジン回転角センサ32が接続され
ている。また、第2の入出力ポート44には、バ
ンドバスフイルタ60、ピークホールド回路6
1、チヤンネル切換回路66およびA/D変換器
68を介してノツキングセンサ18が接続されて
いる。このバンドパスフイルタは積分回路63を
介してチヤンネル切換回路66に接続されてい
る。このチヤンネル切換回路66には、ピークホ
ールド回路61の出力と積分回路63の出力との
いずれか一方をA/D変換器68に入力するため
の第2の入出力ポート44から出力される制御信
号が入力されており、ピークホールド回路61に
は第2の入出力ポート44からリセツト信号が入
力されている。また、第1の出力ポート46は駆
動回路70を介してイグナイタ28に接続され、
第2の出力ポート48は駆動回路72を介して燃
料噴射装置12に接続されている。 電子制御回路34のROM38には、エンジン
回転数と吸入空気量とで表わされる基本点火進角
θBASEのマツプおよび基本燃料噴射量等が予め記
憶されており、エアフローメータ2からの信号お
よびエンジン回転角センサ32からの信号により
基本点火進角および基本燃料噴射量が読出される
と共に、冷却水温センサ24および吸気温センサ
4からの信号を含む各種の信号により、上記基本
点火進角および基本燃料噴射量に補正点火進角お
よび補正燃料噴射量が加えられ、イグナイタ28
および燃料噴射弁12が制御される。O2センサ
22から出力される空燃比信号は、混合気の空燃
比を理論空燃比近傍に制御する空燃比制御に使用
される。また、電子制御回路34のRAM36に
は、第1図に示す学習マツプが予め記憶されてい
る。 次に、上記のようなエンジンに本発明を適用し
た場合の実施例について詳細に説明する。なお、
本発明の実施例を説明するにあたつて、燃料噴射
制御、空燃比制御、点火時期制御のメインルーチ
ン等については従来と同様であるので説明を省略
し、本発明に関連するノツキング制御のルーチン
のみについて説明する。 第6図は、マイクロコンピユータを用いて本発
明を実施する場合の30°CA毎の割込みルーチンを
示す。まず、ステツプ81においてエンジン回転角
センサ32からの信号に基いて回転時間からエン
ジン回転数Nを求め、ステツプ82において気筒判
別センサ30から気筒判別信号が入力されてから
何番目の割込みかを数えて現在のクランク角を示
すフラグを立てる。次に、ステツプ83において、
ステツプ82で立てたフラグが上死点(TDC)の
フラグであるか否かを判別する。現在上死点でな
い場合にはステツプ88へ進み、現在上死点である
場合にはステツプ84においてノツクゲートが閉じ
ているか否かを判断する。ノツクゲートが開いて
いるときはステツプ85においてノツクゲートを閉
じ、ノツクゲートが閉じているときはステツプ86
においてチヤンネル切換回路66を切換えて、ノ
ツキングセンサ18から出力されるエンジン振動
信号をバンドパスフイルタ60、積分回路63お
よびチヤンネル切換回路66を介してA/D変換
器68に入力し、エンジン振動の平均値すなわち
バツクグラウンドレベルのA/D変換を開始す
る。続いて、ステツプ87においてノツクゲートの
閉時刻t1、すなわち次にノツクゲートを閉じる時
刻を算出して時刻一致割込みAをセツトする。 次に、ステツプ88においてステツプ82で立つた
フラグを基にクランク角が90°CA BTDC(上死点
前)になつたか否かを判断する。クランク角が
90°CA BTDCでないときはステツプ91へ進み、
90°CA BTDCのときはステツプ89において補正
進角量θKの更新をすると共に点火時期の計算処理
を行う(この詳細については以下で説明する)。
ステツプ90では、ステツプ89で計算した点火時期
と現在の時刻とによりイグナイタ28をオンさせ
る時刻を求めて時刻一致割込みBをセツトすると
共に、イグナイタオンのフラグを立てる。そし
て、ステツプ91においてクランク角が60°CA
BTDCになつたか否かを判断し、60°CA BTDC
でない場合にはメインルーチンへリターンし、
60°CA BTDCである場合にはステツプ92におい
てイグナイタのオフ時刻を計算して時刻一致割込
みBをセツトし、ステツプ90で立てたイグナイタ
オンのフラグをおろす。 次に第7図に示す時期一致割込みAについて説
明する。この割込みルーチンは、エンジン振動の
ピーク値を求めるものであり、第6図のステツプ
87でセツトした時刻になると割込みが行なわれ、
ステツプ93においてピークホールド回路61に保
持されたピーク値をチヤンネル切換回路66を介
してA/D変換器68に入力してピークホールド
値のA/D変換を開始してメインルーチンへリタ
ーンする。 第8図は、時刻一致割込みBのルーチンを示す
ものであり、第6図のステツプ90およびステツプ
92にセツトした時刻になると割込みが行なわれ
る。ステツプ94では、イグナイタオンのフラグが
立つているか、すなわちこのフラグが1か否かを
判断し、フラグが立つているときはステツプ96に
おいてイグナイタをオンし、フラグがおりている
ときにはステツプ95においてイグナイタをオフ
し、メインルーチンへリターンする。 第9図は、A/D変換完了割込みルーチンを示
すものであり、バツクグラウンドレベルのA/D
変換およびピークホールド値のA/D変換が完了
したときにこの割込みが行なわれる。まず、ステ
ツプ97において現在ノツクゲートが開いているか
否かを判断する。ノツクゲートが閉じているとき
には、ステツプ98において第6図のステツプ86で
変換したA/D変換値をRAM36のメモリに記
憶してバツクグラウンドレベルbとし、ステツプ
99においてノツクゲートを開いてメインルーチン
へリターンする。一方、ノツクゲートが開いてい
るときには、第7図のステツプ93で変換したA/
D変換値をRAM36のメモリに記憶してピーク
値aとし、ステツプ101においてノツクゲートを
閉じてメインルーチンへリターンする。 第10図は、ノツキングが発生していないとき
の時間と学習制御する時間とをカウントするため
の所定時間(例えば4msec)毎に行なわれる割
込みルーチンを示すものである。まず、ステツプ
102においてノツキングが発生しないときの時間
を求めるカウンタTIME1のカウント値を1増加
させ、ステツプ103において学習制御する時間を
求めるカウンタTIME2のカウント値を1増加さ
せる。次のステツプ104において、カウンタ
TIME1のカウント値が12(48msec)以下になつ
ているか否かを判断する。カウント値が12を越え
ているときにはステツプ105においてカウンタ
TIME1のカウント値を12とし、カウント値が12
以下のときにはステツプ106においてカウンタ
TIME2のカウント値が12以下になつているか否
かを判断する。ここで、カウント値が12を越えて
いるときにはステツプ107においてカウンタ
TIME2のカウント値を12としてメインルーチン
へリターンしカウント値が12以下のときにはメイ
ンルーチンへリターンする。 次に第6図のステツプ89の詳細なルーチンを第
11図に基いて説明する。第6図のステツプ88で
クランク角が90°CA BTDCになつたと判断され
ると、ステツプ122において負荷Q/Nが0.6
〔/rev.〕以上か否か、すなわちノツキング制
御領域か否かを判断する。ノツキング制御領域で
ないときにはステツプ123で基本点火進角θBASEを
点火進角θigとし、ノツキング制御領域であると
きはステツプ108において、第9図のステツプ100
で記憶されたピーク値aと、第9図のステツプ98
で記憶されたバツクグラウンドレベルbに定数K
を乗算した値K・bとを比較する。ピーク値aが
値K・bを越えているときにはノツキングが発生
したと判断して、ステツプ110において補正遅角
量θKを所定角(例えば0.4°CA)増加させ、ステツ
プ112においてノツシングが発生しない時間をカ
ウントするカウンタTIME1のカウント値をクリ
アする。一方、ピーク値aが値K・b以下のとき
にはノツキングが発しないと判断して、ステツプ
109においてカウンタTIME1のカウント値が所
定値(12)以上になつているか否かを判断し、カウン
ト値が所定値以上になつているときにはノツキン
グの発生しない状態が所定時間経続していること
からステツプ111において補正遅角量θKを所定角
(例えば0.08°CA)減少させた後、ステツプ112で
カウンタTIME1をクリアする。また、ステツプ
109においてカウント値が所定値未満であるとき
には、ステツプ113へ進む。ステツプ113では、上
記のようにして求められた補正遅角量θKと学習マ
ツプから2次元補間法により求められる学習遅角
量θKGとによつて前述した(1)式に示すように基本
点火進角θBASEを補正し、実際にイグナイタを制
御する点火進角θigを算出する。 次に学習マツプから現在のエンジン条件に対応
する学習遅角量θKGを求めかつ学習制御するルー
チンを説明する。第12図にこのルーチンをメイ
ンルーチンの途中から示す。 まず、ステツプ124において負荷Q/Nが0.6
〔/rev.〕以上か否か、すなわちノツキング制
御領域か否かを判断する。ノツキング制御領域で
ないとはそのままメインルーチンへ続き、ノツキ
ング制御領域であるときはステツプ114において
エンジン回転数Nと負荷Q/Nとで定まる現在の
エンジン条件を示す点を囲む4点のRAMの番地
を学習マツプ上に求める。次にステツプ115にお
いて、求めた4点のRAMの番地に記憶されてい
るデータ、すなわち4点のRAMの番地に記憶さ
れている学習遅角量を基に2次元補間法(2次元
補間法のルーチンは後で説明する)により、現在
のエンジン条件を示す点の学習遅角量θKGを算出
し、算出した値をRAMの所定場所に記憶する。
次のステツプ124では、エンジン回転数Nが低回
転側の所定回転数(例えば1500〔r.p.m〕以上か否
かを判断する。エンジン回転数が所定回転数未満
であるときは学習制御せずにメインルーチンへ戻
り、エンジン回転数が所定回転数以上であるとき
は次のステツプ116に進む。 ステツプ116では、第10図のステツプ103でカ
ウントした学習制御する時間を求めるためのカウ
ンタTIME2のカウント値が所定値(例えば12)
以上か否かを判断する。カウント値が所定値未満
である場合にはメインルーチンへリターンし、カ
ウント値が所定値以上の場合にはステツプ117で
カウンタTIME2のカウント値をクリアした後、
第11図のステツプ110および111で更新された補
正遅角量θKが第1の所定クランク角(例えば
2°CA)以上であるか否かをステツプ118で判断す
る。 ステツプ118で補正遅角量θKが第1の所定クラ
ンク角未満であると判断された場合には、ステツ
プ121において現在のエンジン条件を示す点を囲
む学習マツプ上の4点に記憶されている学習遅角
量の各々から、所定クランク角(例えば
0.04°CA)減算する学習制御を行ない、メインル
ーチンへリターンする。この結果、補正遅角量θK
が第1の所定クランク角未満であるときには学習
マツプの学習遅角量が小さくなるように学習制御
され、学習遅角量によつて点火時期が進むように
制御される。一方、ステツプ118で補正遅角量θK
が第1の所定クランク角以上であると判断された
場合には、ステツプ119において補正遅角量θKが
第1の所定クランク角より大きい値の第2の所定
クランク角(例えば4°CA)未満であるか否かを
判断する。ステツプ119において補正遅角量θKが
第1の所定クランク角未満であると判断された場
合、すなわち補正遅角量θKが以下の条件を満足す
る場合には、 第1の所定クランク角(2°CA)≦θK <第2の所定クランク角(4°CA) ……(7) 学習制御せずにメインルーチンへリターンす
る。この結果、補正遅角量θKが所定範囲の値をと
るときは学習制御されず、学習遅角量によつては
点火時期が変更されない。なお、補正遅角量が所
定範囲の値をとるときにおいても、必要に応じて
学習制御するようにしてもよい。ステツプ119に
おいて補正遅角量θKが第2の所定クランク角以上
と判断された場合には、ステツプ120において現
在のエンジン条件を示す点を囲む学習マツプ上の
4点に記憶されている学習遅角量の各々に、所定
クランク角(例えば0.04°CA)加算する学習制御
を行ない、メインルーチンへリターンする。この
結果、補正遅角量θKが第2の所定クランク角以上
であるときには学習マツプの学習遅角量が大きく
なるように学習制御され、学習遅角量によつて点
火時期が遅れるように制御される。 以上のような学習制御することによつて、補正
遅角量が所定範囲の値になるように学習マツプの
学習遅角量が変更され、エンジン回転数が1500
〔r.p.m〕未満では学習制御されない(第1図の一
点鎖線より左側の領域)。 以下に第12図の学習ルーチンのステツプ115
における2次元補間法の詳細なルーチンを第13
図を用いて説明する。この2次元補間ルーチンに
おいて、学習マツプとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点の
RAMの番地を第2図に示すようにn、n+1、
n+6、n+7とする。まず、ステツプ130にお
いて、現在の負荷Q/Nが学習マツプ上の負荷の
上限値すなわち1.2〔/rev.〕以下であるか否か
を判断する。負荷が1.2〔/rev.〕を越えている
場合にはステツプ131でレジスタnに1.2を記憶
し、負荷が1.2〔/rev.〕以下である場合にはス
テツプ134で現在の負荷Q/Nの値をレジスタn
に記憶する。ステツプ135では、現在のエンジン
回転数Nが学習マツプ上のエンジン回転数の上限
値すなわち6000〔r.p.m〕以下であるか否かを判断
する。エンジン回転数が6000〔r.p.m〕を越えてい
る場合にはステツプ136でレジスタmに6000を記
憶し、エンジン回転数が6000〔r.p.m〕以下である
場合にはステツプ137で現在のエンジン回転数N
が値をレジスタmに記憶する。ステツプ138では、
レジスタnの値が学習マツプ上の負荷の下限値す
なわち0.6〔/rev.〕以上であるか否かを判断
し、レジスタnの値が0.6未満であるときにはス
テツプ139においてレジスタnの値を0.6とし、レ
ジスタnの値が0.6以上あるときにはステツプ140
に進む。そしてステツプ140では、レジスタmの
値が学習マツプ上のエンジン回転数の下限値すな
わち1000〔r.p.m〕以上であるか否かを判断し、レ
ジスタmの値が1000未満であるときにはステツプ
141においてレジスタmの値を1000とし、レジス
タmの値が1000以上であるときには次のステツプ
142に進む。以上の結果、現在のエンジン回転数
Nおよび負荷Q/Nが学習マツプ上の値であると
きにはその値がレジスタmおよびnに各々記憶さ
れ、現在のエンジン回転数Nおよび負荷Q/Nが
学習マツプの上下限値を越えているときには上下
限値がレジスタmおよびnに各々記憶される。 ステツプ142からステツプ149は、学習マツプ上
の4点を選択するためのルーチンである。まず、
ステツプ142においてレジスタnの値から0番地
の負荷の値0.6〔/rev.〕を減算した値をレジス
タnに記憶させる。次に、ステツプ143において
レジスタの値の負荷の目盛り間隔である0.2〔/
rev.〕で除算し、その商の整数部をレジスタnに
記憶させると共に商の余りをレジスタyに記憶さ
せる。このレジスタyの値は、第2図のn番地か
ら現在のエンジン条件を示す点までの負荷の値y
に等しい。また、レジスタnに記憶された商の整
数部は、現在のエンジン条件を示す点に最も近く
かつ現在のエンジン条件を示す点以下の番地の列
(番地の横方向の並び、例えば0〜5番地の並び
を第1列とする)の列番を示している。そして、
ステツプ144においてレジスタyの値を更に0.2
〔/rev.〕で除算しておく。従つて、最終的に
レジスタyには前述した(6)式のy/Yに対応した
値が記憶されている。 ステツプ145において、前述と同様にレジスタ
mの値から0番地のエンジン回転数の値1000〔r.
p.m〕を減算した値をレジスタmに記憶させる。
次に、ステツプ146においてレジスタmの値をエ
ンジン回転数の目盛り間隔である〔r.p.m〕で除
算し、その商の整数部をレジスタmに記憶させる
と共に商の余りをレジスタxに記憶させる。この
レジスタxの値は、第2図のn番地から現在のエ
ンジン条件を示す点までのエンジン回転数の値x
に等しい。また、レジスタmに記憶された商の整
数部は、現在のエンジン条件を示す点に最も近く
かつ現在のエンジン条件を示す点以下の番地の行
(番地の縦方向の並び、例えば0、6、12、18番
地の並びを第1行とする)の行番を示している。
そして、ステツプ147においてレジスタxの値を
更に1000〔r.p.m〕で除算しておく。従つて、最終
的にレジスタxには前述した(4)、(5)式のx/Xに
対応した値が記憶されている。 次にステツプ148において、レジスタnの値を
6倍してレジスタnに記憶させ、次のステツプ
149において、レジスタnの値とレジスタmの値
を加算してレジスタnに記憶させる。この結果、
現在のエンジン条件を囲む4点の左下角の番地、
すなわち第2図のn番地の番地番号が求められ、
レジスタnに記憶される。 ステツプ150においては、学習マツプ上のn番
地に記憶されている学習遅角量θKGoを読出してレ
ジスタAに記憶させ、n+1番地に記憶されてい
る学習遅角量θKG(o+1)を読出してレジスタBに記
憶させ、n+6番地に記憶されている学習遅角量
θKG(o+6)を読出してレジスタCに記憶させ、そし
てn+7番地に記憶されている学習遅角量
θKG(o+7)を読出してレジスタDに記憶させる。続
いて、ステツプ151においてレジスタAの値から
レジスタBの値を減算してレジスタxの値を乗算
し、更にその値にレジスタAの値を加算してレジ
スタEに記憶させる。また、ステツプ152におい
てレジスタCの値からレジスタDの値を減算して
レジスタxの値を乗算し、更にその値にレジスタ
Cの値を加算してレジスタFに記憶させる。そし
て最後にステツプ153において、レジスタEの値
からレジスタFの値を減算してレジスタyの値を
乗算し、更にその値にレジスタEの値を加算し
て、現在のエンジン条件を示す点の学習遅角量
θKGとする。 次に本発明の他の実施例における学習制御ルー
チンを第14図を用いて説明する。なお、第14
図において第12図と同一部分には同一の符号を
付して説明を省略する。また、第12図の学習制
御ルーチンと第14図の学習制御ルーチンとの相
違点は、第14図では第12図のステツプ124に
代えてステツプ125、126、127を用いていること
である。 ステツプ115において現在のエンジン条件の学
習遅角角が算出された後、ステツプ125で負荷
Q/Nが0.9〔/rev.〕以上か否かが判断され
る。負荷が0.9〔/rev.〕以上であるときはステ
ツプ127でエンジン回転数Nが1200〔r.p.m〕以上
か否かを判断し、負荷が0.9〔/rev.〕未満のと
きはステツプ126でエンジン回転数が1500〔r.p.m〕
未満であるか否かを判断する。ステツプ127でエ
ンジン回転数が1200〔r.p.m〕以上であるときはス
テツプ116へ進み、エンジン回転数が1200〔r.p.m〕
未満であるときはメインルーチンへ進む。また、
ステツプ126でエンジン回転数が1500未満である
ときはメインルーチンへ進み、エンジン回転数が
1500〔r.p.m〕以上であるときはステツプ127へ進
む。この結果、Q/N<0.9〔/rev.〕かつN<
1500〔r.p.m〕の領域およびQ/N≧0.9〔/rev.〕
かつN<1200〔r.p.m〕の領域において学習制御が
行なわれず、その他の領域において学習制御が行
なわれる。 この実施例によれば、ノツキングが発生し易い
高負荷側で学習制御領域を広くしているため、よ
り良好な学習制御が行なえる。 上記の第12図および第14図の学習ルーチン
における学習遅角量θKGを学習制御によつて更新
するときの補正遅角量θKの条件と学習遅角量θKG
の増減との関係をまとめて次表に示す。
【表】
また、第15図に時間経過に対する補正遅角量
θK、学習遅角量θKG、点火時期θigの変動を示す。
図から理解されるように、補正遅角量θKが所定範
囲の値のときには学習遅角量θKGは一定であり、
補正遅角量θKが所定範囲を越えたときには学習遅
角量θKGが増加し、補正遅角量θKが所定範囲未満
のときを減少している。 更に、第16図にエンジン回転数に対応する点
火時期の変動を示す。第16図において曲線C1
〜C3は第3図のものと同一であり、ノツキング
が発生し易い場合でもノツキングが発生しにくい
場合でも補正遅角量θKが常に一定になつているこ
とが理解される。
θK、学習遅角量θKG、点火時期θigの変動を示す。
図から理解されるように、補正遅角量θKが所定範
囲の値のときには学習遅角量θKGは一定であり、
補正遅角量θKが所定範囲を越えたときには学習遅
角量θKGが増加し、補正遅角量θKが所定範囲未満
のときを減少している。 更に、第16図にエンジン回転数に対応する点
火時期の変動を示す。第16図において曲線C1
〜C3は第3図のものと同一であり、ノツキング
が発生し易い場合でもノツキングが発生しにくい
場合でも補正遅角量θKが常に一定になつているこ
とが理解される。
第1図は学習マツプを示す説明図、第2図は現
在のエンジン条件を示す点とこの点を囲む4点を
示す説明図、第3図はエンジン回転数と点火時期
との関係を示す線図、第4図は本発明が適用され
るエンジンを示す概略図、第5図は第4図の電子
制御回路を示すブロツク図、第6図は30°CA毎の
割込みルーチンの流れ図、第7図は時刻一致割込
みAの流れ図、第8図は時刻一致割込みBの流れ
図、第9図はA/D完了割込みルーチンの流れ
図、第10図は4msec毎の割込みルーチンを示
す流れ図、第11図は補正遅角量を更新するルー
チンの流れ図、第12図は学習制御ルーチンの流
れ図、第13図は2次元補間ルーチンの流れ図、
第14図は他の実施例の学習ルーチンを示す流れ
図、第15図は時間経過に対する補正遅角量・学
習遅角量・点火時期の変動を示す線図、第16図
は第3図と同様のエンジン回転数と点火時期との
関係・補正遅角量および学習遅角量の関係を示す
線図である。 2……エアフローメータ、12……燃料噴射
弁、18……ノツキングセンサ、32……エンジ
ン回転角センサ、34……電子制御回路。
在のエンジン条件を示す点とこの点を囲む4点を
示す説明図、第3図はエンジン回転数と点火時期
との関係を示す線図、第4図は本発明が適用され
るエンジンを示す概略図、第5図は第4図の電子
制御回路を示すブロツク図、第6図は30°CA毎の
割込みルーチンの流れ図、第7図は時刻一致割込
みAの流れ図、第8図は時刻一致割込みBの流れ
図、第9図はA/D完了割込みルーチンの流れ
図、第10図は4msec毎の割込みルーチンを示
す流れ図、第11図は補正遅角量を更新するルー
チンの流れ図、第12図は学習制御ルーチンの流
れ図、第13図は2次元補間ルーチンの流れ図、
第14図は他の実施例の学習ルーチンを示す流れ
図、第15図は時間経過に対する補正遅角量・学
習遅角量・点火時期の変動を示す線図、第16図
は第3図と同様のエンジン回転数と点火時期との
関係・補正遅角量および学習遅角量の関係を示す
線図である。 2……エアフローメータ、12……燃料噴射
弁、18……ノツキングセンサ、32……エンジ
ン回転角センサ、34……電子制御回路。
Claims (1)
- 【特許請求の範囲】 1 エンジン回転数と負荷とによつて定まる基本
点火進角から、ノツキングの有無に応じて加減算
される補正遅角量と、ノツキングのレベルを所定
レベルにするためにエンジン回転数と負荷とによ
つて定まりかつ前記補正遅角量の大きさが所定範
囲を外れたときに書換えが行われる学習遅角量と
の和を減算して、ノツキグを制御する内燃機関の
ノツキング制御方法において、エンジンの回転数
が低回転側の所定回転数未満の領域で前記学習遅
角量の学習制御を停止すると共に、エンジン回転
数が前記所定回転数以上の領域で前記補正遅角量
が所定範囲になるように前記学習遅角量を学習制
御することを特徴とする内燃機関のノツキング制
御方法。 2 前記所定回転数を負荷に応じて変化させ、所
定負荷以下のときの所定回転数を所定負荷を越え
た場合の所定回転数より大きくした特許請求の範
囲第1項記載の内燃機関のノツキング制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57219559A JPS59110862A (ja) | 1982-12-15 | 1982-12-15 | 内燃機関のノツキング制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57219559A JPS59110862A (ja) | 1982-12-15 | 1982-12-15 | 内燃機関のノツキング制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59110862A JPS59110862A (ja) | 1984-06-26 |
| JPH0536634B2 true JPH0536634B2 (ja) | 1993-05-31 |
Family
ID=16737400
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57219559A Granted JPS59110862A (ja) | 1982-12-15 | 1982-12-15 | 内燃機関のノツキング制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS59110862A (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2832299B2 (ja) * | 1989-05-18 | 1998-12-09 | 富士重工業株式会社 | 点火時期学習制御方法 |
-
1982
- 1982-12-15 JP JP57219559A patent/JPS59110862A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59110862A (ja) | 1984-06-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS58143169A (ja) | 点火時期制御方法 | |
| JPH0711265B2 (ja) | 内燃機関のノツキング制御方法 | |
| JPH0811950B2 (ja) | 点火時期制御装置 | |
| JPH0536634B2 (ja) | ||
| JPS58176470A (ja) | アイドリング時のエンジン回転数制御方法 | |
| JPS63106365A (ja) | 内燃機関の点火時期制御方法 | |
| JPH0646023B2 (ja) | 内燃機関のノツキング制御方法 | |
| JPH0646026B2 (ja) | 内燃機関のノツキング制御方法 | |
| JPH0646022B2 (ja) | 内燃機関のノツキング制御方法 | |
| JP2625933B2 (ja) | 内燃機関の点火時期制御装置 | |
| JPH0432953B2 (ja) | ||
| JPH0315035B2 (ja) | ||
| JPH0411742B2 (ja) | ||
| JPH0636301Y2 (ja) | 内燃機関の点火時期制御装置 | |
| JPS59136575A (ja) | 多気筒エンジンのノツキング制御方法 | |
| JP2625763B2 (ja) | 内燃機関の点火時期制御装置 | |
| JPH076482B2 (ja) | 内燃機関のノツキング制御方法 | |
| JPS59138774A (ja) | 内燃機関のノツキング制御方法 | |
| JPS59119068A (ja) | 内燃機関のノツキング制御方法 | |
| JPH0826839B2 (ja) | 内燃機関の点火時期制御方法 | |
| JPH0419384B2 (ja) | ||
| JPS59136573A (ja) | 内燃機関のノツキング制御方法 | |
| JPH0893613A (ja) | 内燃機関の点火時期制御装置 | |
| JPS6027782A (ja) | 内燃機関のノツキング制御方法 | |
| JPS59116528A (ja) | 多気筒エンジンのノツキング判定方法 |