JPH0646026B2 - 内燃機関のノツキング制御方法 - Google Patents
内燃機関のノツキング制御方法Info
- Publication number
- JPH0646026B2 JPH0646026B2 JP58012052A JP1205283A JPH0646026B2 JP H0646026 B2 JPH0646026 B2 JP H0646026B2 JP 58012052 A JP58012052 A JP 58012052A JP 1205283 A JP1205283 A JP 1205283A JP H0646026 B2 JPH0646026 B2 JP H0646026B2
- Authority
- JP
- Japan
- Prior art keywords
- learning
- value
- knocking
- amount
- register
- 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
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
-
- 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を演算し、この点火進角を用いてノツキング制御を
行うものである。なお、アイドリング時等の軽負荷にお
いてはノツキングが発生しないため、ノツキング制御を
行なわないようにしている。
回転数N、吸入空気量Qとエンジン回転数Nとの比Q/
Nまたは吸気管負圧で定まる負荷によつて予め定まる基
本点火進角θBASEをマイクロコンピユータのリードオン
リメモリ(ROM)にマツプの形で記憶させておき、次
の(1)式に基いて実際にイグナイタを制御する点火進角
θigを演算し、この点火進角を用いてノツキング制御を
行うものである。なお、アイドリング時等の軽負荷にお
いてはノツキングが発生しないため、ノツキング制御を
行なわないようにしている。
θig=θBASE−(θKG+θK) ……(1) ただし、θKGはノツキングのレベルを所定レベルにする
ためにエンジン回転数と負荷とによつて定まりかつ学習
制御によつて変更される学習遅角量、θKはノツキング
が発生したとき点火時期を遅らせかつノツキングが発生
しなくなつたとき点火時期を進める補正遅角量である。
ためにエンジン回転数と負荷とによつて定まりかつ学習
制御によつて変更される学習遅角量、θKはノツキング
が発生したとき点火時期を遅らせかつノツキングが発生
しなくなつたとき点火時期を進める補正遅角量である。
ここで、補正遅角量θKは、例えば次のようにして求め
られる。まず、マイクロホン等で構成されたノツキング
センサを用いてエンジンの振動を検出し、エンジン振動
の平均値(バツクグラウンド)bの所定倍Kb(ただし
Kは比例定数)とエンジン振動のピーク値aとを求め、
このピーク値aとKbの値とを比較する。ピーク値aが
Kbの値を越えたときには、ノツキング発生と判断して
次の(2)式に示すようにノツキング発生1回あたり所定
クランク角(例えば0.4℃A)点火時期が遅れるよう
補正遅角量θKを変更する。
られる。まず、マイクロホン等で構成されたノツキング
センサを用いてエンジンの振動を検出し、エンジン振動
の平均値(バツクグラウンド)bの所定倍Kb(ただし
Kは比例定数)とエンジン振動のピーク値aとを求め、
このピーク値aとKbの値とを比較する。ピーク値aが
Kbの値を越えたときには、ノツキング発生と判断して
次の(2)式に示すようにノツキング発生1回あたり所定
クランク角(例えば0.4℃A)点火時期が遅れるよう
補正遅角量θKを変更する。
θK←θK+0.4℃A………(2) またピーク値aがKbの値以下のときには、ノツキング
が発生しなかつたと判断して、第1のタイマを用いて所
定時間(例えば48msec)経過したか否かを判断し、
所定時間経過したときには次の(3)式に示すように所定
クランク角(例えば0.08℃A)点火時期が進むよう
に補正遅角量θKを変更する。
が発生しなかつたと判断して、第1のタイマを用いて所
定時間(例えば48msec)経過したか否かを判断し、
所定時間経過したときには次の(3)式に示すように所定
クランク角(例えば0.08℃A)点火時期が進むよう
に補正遅角量θKを変更する。
θK←θK−0.08℃A……(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に学習遅角量
θKGn、番地n+1に学習遅角量θKG(n+1),番地
n+6に学習遅角量θKG(n+6),番地n+7に学習
遅角量θKG(n+7)が各々記憶されているものとす
る。そして、番地間のエンジン回転数の差をX,番地間
の負荷の差をY、番地nと現在のエンジン条件を示す点
との間のエンジン回転数の差をx、番地nと現在のエン
ジン条件を示す点との間の負荷の差をyとすれば、以下
の(4)〜(6)式に示す2次元補間法により現在のエンジン
条件を示す点の学習遅角量θ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に学習遅角量
θKGn、番地n+1に学習遅角量θKG(n+1),番地
n+6に学習遅角量θKG(n+6),番地n+7に学習
遅角量θKG(n+7)が各々記憶されているものとす
る。そして、番地間のエンジン回転数の差をX,番地間
の負荷の差をY、番地nと現在のエンジン条件を示す点
との間のエンジン回転数の差をx、番地nと現在のエン
ジン条件を示す点との間の負荷の差をyとすれば、以下
の(4)〜(6)式に示す2次元補間法により現在のエンジン
条件を示す点の学習遅角量θKGが求められる。
そして上記学習マツプの学習制御は、次のようにして行
なわれる。まず、現在のエンジン条件に応じて学習制御
の時間を決定する第2のタイマとエンジン条件に無関係
に学習制御の時間を決定する第3のタイマとを用意す
る。第2のタイマにより所定時間(例えば48msec)
経過したことが検出されたときには、補正遅角量θKが
変更されて所定クランク角(例えば4℃A)を越えたか
否かを判断し、補正遅角量θKが所定クランク角を越え
たときに、上記で説明した現在のエンジン条件を示す点
を囲む学習マツプ上の4点の学習遅角量に所定クランク
角(例えば0.04℃A)加算する。この結果点火時期
が遅れるように学習遅角量が学習制御される。一方、第
3のタイマにより所定時間(例えば16sec)経過し
たことが検出されたときには、ノツキングの有無に無関
係に学習マツプ上の全ての番地の学習遅角量から所定ク
ランク(例えば0.01℃A)減算して、点火時期が進
むように学習遅角量を学習制御する。
なわれる。まず、現在のエンジン条件に応じて学習制御
の時間を決定する第2のタイマとエンジン条件に無関係
に学習制御の時間を決定する第3のタイマとを用意す
る。第2のタイマにより所定時間(例えば48msec)
経過したことが検出されたときには、補正遅角量θKが
変更されて所定クランク角(例えば4℃A)を越えたか
否かを判断し、補正遅角量θKが所定クランク角を越え
たときに、上記で説明した現在のエンジン条件を示す点
を囲む学習マツプ上の4点の学習遅角量に所定クランク
角(例えば0.04℃A)加算する。この結果点火時期
が遅れるように学習遅角量が学習制御される。一方、第
3のタイマにより所定時間(例えば16sec)経過し
たことが検出されたときには、ノツキングの有無に無関
係に学習マツプ上の全ての番地の学習遅角量から所定ク
ランク(例えば0.01℃A)減算して、点火時期が進
むように学習遅角量を学習制御する。
而して、上記のようにして変更された補正遅角量θ
Kと、学習制御される学習マツプから2次元補間法によ
り求めた学習遅角量θKGとを用い、前記(1)式に基いて
基本点火進角θBASEを補正して、ノツキングを制御する
のである。
Kと、学習制御される学習マツプから2次元補間法によ
り求めた学習遅角量θKGとを用い、前記(1)式に基いて
基本点火進角θBASEを補正して、ノツキングを制御する
のである。
ところで、第3図に示すように、基本点火進角θBASEす
なわちMBT(Minimum Spark-Advance For Best Torgu
e)は、エンジン回転数に応じて曲線C1のように変化
する。また、空気が湿つている場合等のノツキングが発
生しにくいときの微小ノツキング発生点火時期は曲線C
2のようになり、空気が乾燥している場合等のノツキン
グが発生し易いときの微小ノツキング発生点火時期は曲
線C3のようになる。従つて、エンジン回転数や環境条
件によつて微小ノツキング発生点火時期が異つている。
なわちMBT(Minimum Spark-Advance For Best Torgu
e)は、エンジン回転数に応じて曲線C1のように変化
する。また、空気が湿つている場合等のノツキングが発
生しにくいときの微小ノツキング発生点火時期は曲線C
2のようになり、空気が乾燥している場合等のノツキン
グが発生し易いときの微小ノツキング発生点火時期は曲
線C3のようになる。従つて、エンジン回転数や環境条
件によつて微小ノツキング発生点火時期が異つている。
従つて、上記のような学習制御によるノツキング制御方
法では、所定時間経過したときにノツキングの有無と無
関係に学習遅角量の全てを独立して学習制御により進角
側に変更していたため、遅角側の学習制御の機会が少な
いエンジン条件において学習遅角量が進角側となりす
ぎ、ノツキングが発生するという問題点があつた。ま
た、上記のように学習遅角量が進角側に学習制御される
傾向があるため、点火時期を進角側に制御する学習制御
の速度を速く設定することができず、上記第3図に示す
場合のようにエンジン条件等が変化してノツキングが発
生しにくくなつたときに学習遅角量により点火時期が遅
角しすぎることがあり、ノツキングが発生しない領域に
おいてペストトルクを得られないという問題があつた。
法では、所定時間経過したときにノツキングの有無と無
関係に学習遅角量の全てを独立して学習制御により進角
側に変更していたため、遅角側の学習制御の機会が少な
いエンジン条件において学習遅角量が進角側となりす
ぎ、ノツキングが発生するという問題点があつた。ま
た、上記のように学習遅角量が進角側に学習制御される
傾向があるため、点火時期を進角側に制御する学習制御
の速度を速く設定することができず、上記第3図に示す
場合のようにエンジン条件等が変化してノツキングが発
生しにくくなつたときに学習遅角量により点火時期が遅
角しすぎることがあり、ノツキングが発生しない領域に
おいてペストトルクを得られないという問題があつた。
ここで、上記問題点を解消するために補正遅角量が所定
範囲の値になるように学習遅角量の全てを学習制御する
ことが考えられるが、軽負荷域の補正遅角量が所定値以
下となる領域においては学習遅角量が減少するように学
習制御され、エンジン条件が高負荷域に存在した場合に
学習された高負荷側の学習遅角量も減少するように学習
制御されるため、補正遅角量が所定値以下となる領域よ
り少し負荷が上昇したときノツキングが発生するという
問題が生じる。
範囲の値になるように学習遅角量の全てを学習制御する
ことが考えられるが、軽負荷域の補正遅角量が所定値以
下となる領域においては学習遅角量が減少するように学
習制御され、エンジン条件が高負荷域に存在した場合に
学習された高負荷側の学習遅角量も減少するように学習
制御されるため、補正遅角量が所定値以下となる領域よ
り少し負荷が上昇したときノツキングが発生するという
問題が生じる。
本発明は上記問題点を解消すべく成されたもので、軽負
荷域でエンジンが運転されても学習遅角量が狂わされ
ず、軽負荷域より若干負荷が上昇してもノツキングが発
生しないようにしたノツキング制御方法を提供すること
を目的とする。
荷域でエンジンが運転されても学習遅角量が狂わされ
ず、軽負荷域より若干負荷が上昇してもノツキングが発
生しないようにしたノツキング制御方法を提供すること
を目的とする。
上記目的を達成するために本発明の構成は、ノッキング
制御領域とノッキング非制御領域とを区別して、前記ノ
ッキング制御領域において、エンジン回転数と負荷とに
よつて定まる基本点火進角から、ノッキングが発生した
とき点火時期を遅らせかつノッキングが発生しないとき
点火時期を進めるように設定される補正遅角量と、ノッ
キングのレベルを所定レベルにするために設けられ前記
補正遅角量の大きさが第1の所定値以上もしくは第2の
所定値以下のときに学習制御により書き換えられる学習
遅角量との和を減算して、点火時期を算出する内燃機関
のノツキング制御方法において、前記ノツキング制御領
域内で前記非ノツキング制御領域に隣接する軽負荷側の
所定負荷以下における前記学習遅角量の学習制御を停止
するようにしたものである。
制御領域とノッキング非制御領域とを区別して、前記ノ
ッキング制御領域において、エンジン回転数と負荷とに
よつて定まる基本点火進角から、ノッキングが発生した
とき点火時期を遅らせかつノッキングが発生しないとき
点火時期を進めるように設定される補正遅角量と、ノッ
キングのレベルを所定レベルにするために設けられ前記
補正遅角量の大きさが第1の所定値以上もしくは第2の
所定値以下のときに学習制御により書き換えられる学習
遅角量との和を減算して、点火時期を算出する内燃機関
のノツキング制御方法において、前記ノツキング制御領
域内で前記非ノツキング制御領域に隣接する軽負荷側の
所定負荷以下における前記学習遅角量の学習制御を停止
するようにしたものである。
上記本発明の構成によれば、軽負荷側の特定領域内で学
習制御を停止しているため、エンジン条件が特定領域内
に存在するときでも高負荷側の学習遅角量が破壊されず
に最適なノツキング制御が持続でき、軽負荷から負荷が
上昇したときのノツキングの発生を軽減できる、という
特有の効果が得られる。
習制御を停止しているため、エンジン条件が特定領域内
に存在するときでも高負荷側の学習遅角量が破壊されず
に最適なノツキング制御が持続でき、軽負荷から負荷が
上昇したときのノツキングの発生を軽減できる、という
特有の効果が得られる。
次に、本発明が適用されるエンジンの一例を第4図に示
す。このエンジンは図に示すように、エアクリーナ(図
示せず)の下流側に設けられた吸入空気量センサとして
のエアフローメータ2を備えている。エアフローメータ
2は、ダイピングチヤンバ内に回動可能に設けられたコ
ンペンセーシヨンプレート2Aと、コンペンセーシヨン
プレート2Aの開度を検出するポテンシヨメータ2Bと
から構成されている。従つて、吸入空気量Qはポテンシ
ヨメータ2Bから出力される電圧として検出される。ま
た、エアフローメータ2の近傍には、吸入空気の温度を
検出する吸入空気温センサ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セン
サ、24はエンジン冷却水温を検出する冷温水温センサ
である。
置され、スロツトル弁6の下流側には、サージタンク8
が設けられている。このサージタンク8には、インテー
クマニホールド10が連結されており、このインテーク
マニホールド10内に突出して燃料噴射弁12が配置さ
れている。インテークマニホールド10は、エンジン本
体14の燃焼室14Aに接続され、エンジンの燃焼室1
4Aはエキゾーストマニホールド16を介して三元触媒
を充填した触媒コンバータ(図示せず)に接続されてい
る。そしてエンジン本体14には、マイクロホン等で構
成された、エンジンの振動を検出するノツキングセンサ
18が設けられている。なお、20は点火プラグ、22
は混合気を理論空燃比近傍に制御するためのO2セン
サ、24はエンジン冷却水温を検出する冷温水温センサ
である。
エンジン本体14の点火プラグ20は、デイストリビユ
ータ26に接続され、デイストリビユータ26はイグナ
イタ28に接続されている。このデイストリビユータ2
6には、ピツクアツプとデイストリビユータシヤフトに
固定されたシグナルロータとで構成された、気筒判別セ
ンサ30およびエンジン回転角センサ32が設けられて
いる。この気筒判別センサ30は、例えばクランク角7
20度毎に気筒判別信号をマイクロコンピユータ等で構
成された電子制御回路34へ出力し、このエンジン回転
角センサ32は、例えばクランク角30度毎にクランク
角基準位置信号を電子制御回路34へ出力する。
ータ26に接続され、デイストリビユータ26はイグナ
イタ28に接続されている。このデイストリビユータ2
6には、ピツクアツプとデイストリビユータシヤフトに
固定されたシグナルロータとで構成された、気筒判別セ
ンサ30およびエンジン回転角センサ32が設けられて
いる。この気筒判別センサ30は、例えばクランク角7
20度毎に気筒判別信号をマイクロコンピユータ等で構
成された電子制御回路34へ出力し、このエンジン回転
角センサ32は、例えばクランク角30度毎にクランク
角基準位置信号を電子制御回路34へ出力する。
電子制御回路34は、第2図に示すように、ランダム・
アクセス・メモリ(RAM)36と、リード・オンリー
・メモリ(ROM)38と、中央処理装置(CPU)4
0と、クロツク(CLOCK)41と、第1の入出力ポ
ート42と、第2の入出力ポート44と、第1の出力ポ
ート46と、第2の出力ポート48とを含んで構成さ
れ、RAM36,ROM38,CPU40,CLOCK
41、第1の入出力ポート42、第2の入出力ポート4
4、第1の出力ポート46および第2の出力ポート48
は、バス50により接続されている。第1の入出力ポー
ト42には、バツフア(図示せず)、マルチプレクサ5
4,アナログ−デイジタル(A/D)変換器56を介し
て、エアフローメータ2,冷却水温センサ24および吸
気温センサ4等が接続されている。このマルチプレクサ
54およびA/D変換器56は、第1の入出力ポート4
2から出力される信号により制御される。第2の入出力
ポート44には、バツフア(図示せず)およびコンパレ
ータ62を介してO2センサ22が接続され、波形整形
回路64を介して気筒判別センサ30およびエンジン回
転角センサ32が接続されている。また、第2の入出力
ポート44には、バンドパスフイルタ60、ピークホー
ルド回路61,チヤンネル切換回路66およびA/D変
換器68を介してノツキングセンサ18が接続されてい
る。このバンドパスフイルタは積分回路63を介してチ
ヤンネル切換回路66には、ピークホールド回路61の
出力と積分回路63の出力とのいずれか一方をA/D変
換器68に入力するための第2の入出力ポート44から
出力される制御信号が入力されており、ピークホールド
回路61には第2の入出力ポート44からリセツト信号
が入力されている。
アクセス・メモリ(RAM)36と、リード・オンリー
・メモリ(ROM)38と、中央処理装置(CPU)4
0と、クロツク(CLOCK)41と、第1の入出力ポ
ート42と、第2の入出力ポート44と、第1の出力ポ
ート46と、第2の出力ポート48とを含んで構成さ
れ、RAM36,ROM38,CPU40,CLOCK
41、第1の入出力ポート42、第2の入出力ポート4
4、第1の出力ポート46および第2の出力ポート48
は、バス50により接続されている。第1の入出力ポー
ト42には、バツフア(図示せず)、マルチプレクサ5
4,アナログ−デイジタル(A/D)変換器56を介し
て、エアフローメータ2,冷却水温センサ24および吸
気温センサ4等が接続されている。このマルチプレクサ
54およびA/D変換器56は、第1の入出力ポート4
2から出力される信号により制御される。第2の入出力
ポート44には、バツフア(図示せず)およびコンパレ
ータ62を介してO2センサ22が接続され、波形整形
回路64を介して気筒判別センサ30およびエンジン回
転角センサ32が接続されている。また、第2の入出力
ポート44には、バンドパスフイルタ60、ピークホー
ルド回路61,チヤンネル切換回路66およびA/D変
換器68を介してノツキングセンサ18が接続されてい
る。このバンドパスフイルタは積分回路63を介してチ
ヤンネル切換回路66には、ピークホールド回路61の
出力と積分回路63の出力とのいずれか一方をA/D変
換器68に入力するための第2の入出力ポート44から
出力される制御信号が入力されており、ピークホールド
回路61には第2の入出力ポート44からリセツト信号
が入力されている。
また、第1の出力ポート46は駆動回路70を介してイ
グナイタ28に接続され、第2の出力ポート48は駆動
回路72を介して燃料噴射弁装置12に接続されてい
る。
グナイタ28に接続され、第2の出力ポート48は駆動
回路72を介して燃料噴射弁装置12に接続されてい
る。
電子制御回路34のROM38には、エンジン回転数と
吸入空気量とで表わされる基本点火進角θBASEのマツプ
および基本燃料噴射量等が予め記憶されており、エアフ
ローメータ2からの信号およびエンジン回転角センサ3
2からの信号により基本点火進角および基本燃料噴射量
が読出されると共に、冷却水温センサ24および吸気温
センサ4からの信号を含む各種の信号により、上記基本
点火進角および基本燃料噴射量に補正点火進角および補
正燃料噴射量が加えられ、イグナイタ28および燃料噴
射弁12が制御される。O2センサ22から出力される
空燃比信号は、混合気の空燃比を理論空燃比近傍に制御
する空燃比制御に使用される。また、電子制御回路34
のRAM36には、第1図に示す学習マツプが予め記憶
されている。
吸入空気量とで表わされる基本点火進角θBASEのマツプ
および基本燃料噴射量等が予め記憶されており、エアフ
ローメータ2からの信号およびエンジン回転角センサ3
2からの信号により基本点火進角および基本燃料噴射量
が読出されると共に、冷却水温センサ24および吸気温
センサ4からの信号を含む各種の信号により、上記基本
点火進角および基本燃料噴射量に補正点火進角および補
正燃料噴射量が加えられ、イグナイタ28および燃料噴
射弁12が制御される。O2センサ22から出力される
空燃比信号は、混合気の空燃比を理論空燃比近傍に制御
する空燃比制御に使用される。また、電子制御回路34
のRAM36には、第1図に示す学習マツプが予め記憶
されている。
次に、上記のようなエンジンに本発明を適用した場合の
実施例について詳細に説明する。なお、本発明の実施例
を説明するにあたつて、燃料噴射制御,空燃比制御,点
火時期制御のメインルーチン等については従来と同様で
あるので説明を省略し、本発明に関連するノツキング制
御のルーチンのみについて説明する。
実施例について詳細に説明する。なお、本発明の実施例
を説明するにあたつて、燃料噴射制御,空燃比制御,点
火時期制御のメインルーチン等については従来と同様で
あるので説明を省略し、本発明に関連するノツキング制
御のルーチンのみについて説明する。
第6図は、マイクロコンピユータを用いて本発明を実施
する場合の30℃A毎の割込みルーチンを示す。まず、
ステツプ81においてエンジン回転角センサ32からの
信号に基いて回転時間からエンジン回転数Nを求め、ス
テツプ82において気筒判別センサ30から気筒判別信
号が入力されてから何番目の割込みかを数えて現在のク
ランク角を示すフラグを立てる。次に、ステツプ83に
おいて、ステツプ82で立てたフラグが上死点(TD
C)のフラグであるか否かを判断する。現在上死点でな
い場合にはステツプ88へ進み、現在上死点である場合
にはステツプ84においてノツクゲートが閉じているか
否かを判断する。ノツクゲートが開いているときはステ
ツプ85においてノツクゲートを閉じ、ノツクゲートが
閉じているときはステツプ86においてチヤンネル切換
回路66を切換えて、ノツキングセンサ18から出力さ
れるエンジン振動信号をバンドパスフイルタ60、積分
回路63およびチヤンネル切換回路66を介してA/D
変換器68に入力し、エンジン振動の平均値すなわちバ
ツクグラウンドレベルのA/D変換を開始する。続い
て、ステツプ87においてノツクゲートの閉時刻t1、
すなわち次にノツクゲートを閉じる時刻を算出して時刻
一致割込みAをセツトする。
する場合の30℃A毎の割込みルーチンを示す。まず、
ステツプ81においてエンジン回転角センサ32からの
信号に基いて回転時間からエンジン回転数Nを求め、ス
テツプ82において気筒判別センサ30から気筒判別信
号が入力されてから何番目の割込みかを数えて現在のク
ランク角を示すフラグを立てる。次に、ステツプ83に
おいて、ステツプ82で立てたフラグが上死点(TD
C)のフラグであるか否かを判断する。現在上死点でな
い場合にはステツプ88へ進み、現在上死点である場合
にはステツプ84においてノツクゲートが閉じているか
否かを判断する。ノツクゲートが開いているときはステ
ツプ85においてノツクゲートを閉じ、ノツクゲートが
閉じているときはステツプ86においてチヤンネル切換
回路66を切換えて、ノツキングセンサ18から出力さ
れるエンジン振動信号をバンドパスフイルタ60、積分
回路63およびチヤンネル切換回路66を介してA/D
変換器68に入力し、エンジン振動の平均値すなわちバ
ツクグラウンドレベルのA/D変換を開始する。続い
て、ステツプ87においてノツクゲートの閉時刻t1、
すなわち次にノツクゲートを閉じる時刻を算出して時刻
一致割込みAをセツトする。
次に、ステツプ88においてステツプ82で立てたフラ
グを基にクランク角が90℃A BTDC(上死点前)
になつたか否かを判断する。クランク角が90℃A B
TDCでないときはステツプ91へ進み、90℃A B
TDCのときはステツプ89において補正進角量θKの
更新をすると共に点火時期の計算処理を行う(この詳細
については以下で説明する)。ステツプ90では、ステ
ツプ89で計算した点火時期と現在の時刻とによりイグ
ナイタ28をオンさせる時刻を求めて時刻一致割込みB
をセツトすると共に、イグナイタオンのフラグを立て
る。そして、ステツプ91においてクランク角が60℃
A BTDCになつたか否かを判断し、60℃A BT
DCでない場合にはメインルーチンへリターンし、60
℃A BTDCである場合にはステツプ92においてイ
グナイタのオフ時刻を計算して時刻一致割込みBをセツ
トし、ステツプ90で立てたイグナイタオンのフラグを
おろす。
グを基にクランク角が90℃A BTDC(上死点前)
になつたか否かを判断する。クランク角が90℃A B
TDCでないときはステツプ91へ進み、90℃A B
TDCのときはステツプ89において補正進角量θKの
更新をすると共に点火時期の計算処理を行う(この詳細
については以下で説明する)。ステツプ90では、ステ
ツプ89で計算した点火時期と現在の時刻とによりイグ
ナイタ28をオンさせる時刻を求めて時刻一致割込みB
をセツトすると共に、イグナイタオンのフラグを立て
る。そして、ステツプ91においてクランク角が60℃
A BTDCになつたか否かを判断し、60℃A BT
DCでない場合にはメインルーチンへリターンし、60
℃A BTDCである場合にはステツプ92においてイ
グナイタのオフ時刻を計算して時刻一致割込みBをセツ
トし、ステツプ90で立てたイグナイタオンのフラグを
おろす。
次に第7図に示す時刻一致割込みAについて説明する。
この割込みルーチンは、エンジン振動のピーク値わ求め
るものであり、第6図のステツプ87でセツトした時刻
になると割込みが行なわれ、ステツプ93においてピー
クホールド回路61に保持されたピーク値をチヤンネル
切換回路66を介してA/D変換器68に入力してピー
クホールド値のA/D変換を開始してメインルーチンへ
リターンする。
この割込みルーチンは、エンジン振動のピーク値わ求め
るものであり、第6図のステツプ87でセツトした時刻
になると割込みが行なわれ、ステツプ93においてピー
クホールド回路61に保持されたピーク値をチヤンネル
切換回路66を介してA/D変換器68に入力してピー
クホールド値のA/D変換を開始してメインルーチンへ
リターンする。
第8図は、時刻一致割込みBのルーチンを示すものであ
り、第6図のステツプ90およびステツプ92にセツト
した時刻になると割込みが行なわれる。ステツプ94で
は、イグナイタオンのフラグが立つているか、すなわち
このフラグが1か否かを判断し、フラグが立つていると
きはステツプ96においてイグナイタをオンし、フラグ
がおりているときにはステツプ95においてイグナイタ
をオンし、メインルーチンへリターンする。
り、第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変換値をR
AM36のメモリに記憶してピーク値aとし、ステツプ
101においてノツクゲートを閉じてメインルーチンへ
リターンする。
あり、バツクグラウンドレベルのA/D変換およびピー
クホールド値のA/D変換が完了したときにこの割込み
が行なわれる。まず、ステツプ97において現在ノツク
ゲートが開いているか否かを判断する。ノルクゲートが
閉じているときには、ステツプ98において第6図のス
テツプ86で変換したA/D変換値をRAM36のメモ
リに記憶してバツクグラウントレベルbとし、ステツプ
99においてノツクゲートを開いてメインルーチンへリ
ターンする。一方、ノツクゲートが開いているときに
は、第7図のステツプ93で変換したA/D変換値をR
AM36のメモリに記憶してピーク値aとし、ステツプ
101においてノツクゲートを閉じてメインルーチンへ
リターンする。
第10図は、ノツキングが発生していないときの時間と
学習制御する時間とをカウントるための所定時間(例え
ば4m sec)毎に行なわれる割込みルーチンを示すもの
である。まず、ステツプ102においてノツキングが発
生しないときの時間を求めるカウンタTIME1のカウ
ント値を1増加させ、ステツプ103において学習制御
する時間を求めるカウンタTIME2のカウント値を1
増加させる。次のステツプ104において、カウンタT
IME1のカウント値が12(48m sec)以下になつ
ているか否かを判断する。カウント値が12を越えてい
るときにはステツプ105においてカウンタTIME1
のカウント値を12とし、カウント値が12以下のとき
にはステツプ106においてカウンタTIME2のカウ
ント値が12以下になつているか否かを判断する。ここ
で、カウント値が12を越えているときにはステツプ1
07においてカウンタTIME2のカウント値が12以
下のときにはメインルーチンへリターンする。
学習制御する時間とをカウントるための所定時間(例え
ば4m sec)毎に行なわれる割込みルーチンを示すもの
である。まず、ステツプ102においてノツキングが発
生しないときの時間を求めるカウンタTIME1のカウ
ント値を1増加させ、ステツプ103において学習制御
する時間を求めるカウンタTIME2のカウント値を1
増加させる。次のステツプ104において、カウンタT
IME1のカウント値が12(48m sec)以下になつ
ているか否かを判断する。カウント値が12を越えてい
るときにはステツプ105においてカウンタTIME1
のカウント値を12とし、カウント値が12以下のとき
にはステツプ106においてカウンタTIME2のカウ
ント値が12以下になつているか否かを判断する。ここ
で、カウント値が12を越えているときにはステツプ1
07においてカウンタTIME2のカウント値が12以
下のときにはメインルーチンへリターンする。
次に第6図のステツプ89の詳細なルーチンを第11図
に基いて説明する。第6図のステツプ88でクランク角
が90℃A BTDCになつたと判断されると、ステツ
プ122において負荷Q/Nが0.6〔/rev〕以
上か否か、すなわちノツキング制御領域か否かを判断す
る。ノツキング制御領域でないときはステツプ123で
基本点火進角θBASEを点火進角θigとし、ノツキング
制御領域のときはステツプ。108において、第9図の
ステツプ100で記憶されたピーク値aと、第9図のス
テツプ98で記憶されたバツクグラウンドレベルbに定
数Kを乗算した値Kbとを比較する。ピーク値aが値K
bを越えているときにはノツキングが発生したと判断し
て、ステツプ110において補正遅角量θKを所定角
(例えば0.4℃CA)増加させ、ステツプ112にお
いてノツキングが発生しない時間をカウントするカウン
タTIME1のカウント値をクリアする。一方、ピーク
値aが値Kb以下のときにはノツキングが発しないと判
断して、ステツプ109においてカウンタTIME1の
カウント値が所定値(12)以上になつているか否かを
判断し、カウント値が所定値以上になつているときには
ノツキングの発生しない状態が所定時間継続しているこ
とからステツプ111において補正遅角量θKを所定角
(例えば0.08℃A)減少させた後、ステツプ112
でカウンタTIME1をクリアする。また、ステツプ1
09においてカウント値が所定値未満であるときには、
ステツプ113へ進む。ステツプ113では、上記のよ
うにして求められた補正進遅量θKと学習マツプから2
次元補間法により求められる学習遅角量θKGとによつて
前述した(1)式に示すように基本点火進角θBASEを補正
し、実際にイグナイタを制御する点火進角θigを算出
する。
に基いて説明する。第6図のステツプ88でクランク角
が90℃A BTDCになつたと判断されると、ステツ
プ122において負荷Q/Nが0.6〔/rev〕以
上か否か、すなわちノツキング制御領域か否かを判断す
る。ノツキング制御領域でないときはステツプ123で
基本点火進角θBASEを点火進角θigとし、ノツキング
制御領域のときはステツプ。108において、第9図の
ステツプ100で記憶されたピーク値aと、第9図のス
テツプ98で記憶されたバツクグラウンドレベルbに定
数Kを乗算した値Kbとを比較する。ピーク値aが値K
bを越えているときにはノツキングが発生したと判断し
て、ステツプ110において補正遅角量θKを所定角
(例えば0.4℃CA)増加させ、ステツプ112にお
いてノツキングが発生しない時間をカウントするカウン
タTIME1のカウント値をクリアする。一方、ピーク
値aが値Kb以下のときにはノツキングが発しないと判
断して、ステツプ109においてカウンタTIME1の
カウント値が所定値(12)以上になつているか否かを
判断し、カウント値が所定値以上になつているときには
ノツキングの発生しない状態が所定時間継続しているこ
とからステツプ111において補正遅角量θKを所定角
(例えば0.08℃A)減少させた後、ステツプ112
でカウンタTIME1をクリアする。また、ステツプ1
09においてカウント値が所定値未満であるときには、
ステツプ113へ進む。ステツプ113では、上記のよ
うにして求められた補正進遅量θKと学習マツプから2
次元補間法により求められる学習遅角量θKGとによつて
前述した(1)式に示すように基本点火進角θBASEを補正
し、実際にイグナイタを制御する点火進角θigを算出
する。
次に学習マツプから現在のエンジン条件に対応する学習
進角量θKGを求めかつ学習制御するルーチンを説明す
る。第12図にこのルーチンをメインルーチンの途中か
ら示す。なお、第1図に示す学習マツプの6,7,8,
14,15,16,17番地については学習制御は行な
わない。
進角量θKGを求めかつ学習制御するルーチンを説明す
る。第12図にこのルーチンをメインルーチンの途中か
ら示す。なお、第1図に示す学習マツプの6,7,8,
14,15,16,17番地については学習制御は行な
わない。
まず、ステツプ124において負荷Q/Nが0.6〔
/rev〕以上か否か、すなわちノツキング制御領域か
否かを判断する。ノツキング制御領域のときはそのまま
メインルーチンへ続き、ノツキング制御領域であるとき
には、ステツプ114においてエンジン回転数Nと負荷
Q/Nとで定まる現在のエンジン条件を示す点を囲む4
点のRAMの番地を学習マツプ上に求める。次にステツ
プ115において、求めた4点のRAMの番地に記憶さ
れているデータ、すなわち4点のRAMの番地に記憶さ
れている学習遅角量を基に2次元補間法(2次元補間法
のルーチンは後で説明する)により、現在のエンジン条
件を示す点の学習進角量θKGを算出し、算出した値をR
AMの所定場所に記憶する。
/rev〕以上か否か、すなわちノツキング制御領域か
否かを判断する。ノツキング制御領域のときはそのまま
メインルーチンへ続き、ノツキング制御領域であるとき
には、ステツプ114においてエンジン回転数Nと負荷
Q/Nとで定まる現在のエンジン条件を示す点を囲む4
点のRAMの番地を学習マツプ上に求める。次にステツ
プ115において、求めた4点のRAMの番地に記憶さ
れているデータ、すなわち4点のRAMの番地に記憶さ
れている学習遅角量を基に2次元補間法(2次元補間法
のルーチンは後で説明する)により、現在のエンジン条
件を示す点の学習進角量θKGを算出し、算出した値をR
AMの所定場所に記憶する。
次のステツプ125では、エンジン回転数Hが3000
〔rpm〕以下であるかを判断し、エンジン回転数が3
000〔rpm〕以下である場合にはステツプ126で
負荷Q/Nが0.8〔/rev〕以上であるかを判断
し、またエンジン回転数が3000〔rpm〕を越える
場合にはステツプ127で負荷Q/Nが1.0〔/r
ev〕未満か否かを判断する。ステツプ126で負荷が
0.8〔/rev〕以上のときは次のステツプ116
へ進み、負荷が0.8〔/rev〕未満であるときは
次のルーチンへ進む。また、ステツプ127で負荷が
1.0〔/rev〕以上のときは次のステツプ116
へ進み、負荷が1.0未満であるときは次のルーチンへ
進む。この結果、第1図に示す学習マツプの6,7,
8,14,15,16,17番地を結ぶ線未満の特定領
域内にエンジン条件を示す点が存在する場合には、学習
制御がされず、この特定領域を除いた領域内にエンジン
条件を示す点が存在する場合のみステツプ116からス
テツプ121で示す学習制御が行なわれることになる。
〔rpm〕以下であるかを判断し、エンジン回転数が3
000〔rpm〕以下である場合にはステツプ126で
負荷Q/Nが0.8〔/rev〕以上であるかを判断
し、またエンジン回転数が3000〔rpm〕を越える
場合にはステツプ127で負荷Q/Nが1.0〔/r
ev〕未満か否かを判断する。ステツプ126で負荷が
0.8〔/rev〕以上のときは次のステツプ116
へ進み、負荷が0.8〔/rev〕未満であるときは
次のルーチンへ進む。また、ステツプ127で負荷が
1.0〔/rev〕以上のときは次のステツプ116
へ進み、負荷が1.0未満であるときは次のルーチンへ
進む。この結果、第1図に示す学習マツプの6,7,
8,14,15,16,17番地を結ぶ線未満の特定領
域内にエンジン条件を示す点が存在する場合には、学習
制御がされず、この特定領域を除いた領域内にエンジン
条件を示す点が存在する場合のみステツプ116からス
テツプ121で示す学習制御が行なわれることになる。
ステツプ116では、第10図のステツプ103でカウ
ントした学習制御する時間を求めるためのカウンタTI
ME2のカウント値が所定値(例えば12)以上か否か
を判断する。カウント値が所定値未満である場合にはメ
インルーチンへリターンし、カウント値が所定値以上の
場合にはステツプ117でカウンタTIME2のカウン
ト値をクリアした後、第11図のステツプ110および
111で更新された補正遅角量θKが第1の所定クラン
ク角(例えば2℃A)以上であるか否かをステツプ11
8で判断する。
ントした学習制御する時間を求めるためのカウンタTI
ME2のカウント値が所定値(例えば12)以上か否か
を判断する。カウント値が所定値未満である場合にはメ
インルーチンへリターンし、カウント値が所定値以上の
場合にはステツプ117でカウンタTIME2のカウン
ト値をクリアした後、第11図のステツプ110および
111で更新された補正遅角量θKが第1の所定クラン
ク角(例えば2℃A)以上であるか否かをステツプ11
8で判断する。
ステツプ118で補正遅角量θKが第1の所定クランク
角未満であると判断された場合には、ステツプ121に
おいて現在のエンジン条件を示す点を囲む学習マツプ上
の4点に記憶されている学習遅角量の各々から、所定ク
ランク角(例えば0.04CA)減算する学習制御を行
ない、メインルーチンへリターンする。この結果、補正
進角量θKが第1の所定クランク角未満であるときには
学習マツプの学習遅角量が小さくなるように学習制御さ
れ、学習遅角量によつて点火時期が進むように制御され
る。一方、ステツプ118で補正遅角量θKが第1の所
定クランク角以上であると判断された場合には、ステツ
プ119において補正遅角量θKが第1の所定クランク
角より大きい値の第2の所定クランク角(例えば4℃
A)未満であるか否かを判断する。ステツプ119にお
いて補正遅角量θKが第1の所定クランク角未満である
と判断された場合、すなわち補正遅角量θKが以下の条
件を満足する場合には、 第1の所定クランク角(2℃A)≦θK<第2の所定クランク角(4℃A)……
…(7) 学習制御せずにメインルーチンへリターンする。この結
果、補正遅角量θKが所定範囲の値をとるときは学習制
御されず、学習遅角量によつては点火時期が変更されな
い。なお、補正遅角量が所定範囲の値をとることにおい
ても、必要に応じて学習制御するようにしてもよい。ス
テツプ119において補正遅角量θKが第2の所定クラ
ンク角以上と判断された場合には、ステツプ120にお
いて現在のエンジン条件を示す点を囲む学習マツプ上の
4点に記憶されている学習遅角量の各々に、所定クラン
ク各(例えば0.04℃A)加算する学習制御を行な
い、メインルーチンへリーターンする。この結果、補正
遅角量θKが第2の所定クランク角以上であるときには
学習マツプの学習遅角量が大きくなるように学習制御さ
れ、学習遅角量によつて点火時期が遅れるように制御さ
れる。
角未満であると判断された場合には、ステツプ121に
おいて現在のエンジン条件を示す点を囲む学習マツプ上
の4点に記憶されている学習遅角量の各々から、所定ク
ランク角(例えば0.04CA)減算する学習制御を行
ない、メインルーチンへリターンする。この結果、補正
進角量θKが第1の所定クランク角未満であるときには
学習マツプの学習遅角量が小さくなるように学習制御さ
れ、学習遅角量によつて点火時期が進むように制御され
る。一方、ステツプ118で補正遅角量θKが第1の所
定クランク角以上であると判断された場合には、ステツ
プ119において補正遅角量θKが第1の所定クランク
角より大きい値の第2の所定クランク角(例えば4℃
A)未満であるか否かを判断する。ステツプ119にお
いて補正遅角量θKが第1の所定クランク角未満である
と判断された場合、すなわち補正遅角量θKが以下の条
件を満足する場合には、 第1の所定クランク角(2℃A)≦θK<第2の所定クランク角(4℃A)……
…(7) 学習制御せずにメインルーチンへリターンする。この結
果、補正遅角量θKが所定範囲の値をとるときは学習制
御されず、学習遅角量によつては点火時期が変更されな
い。なお、補正遅角量が所定範囲の値をとることにおい
ても、必要に応じて学習制御するようにしてもよい。ス
テツプ119において補正遅角量θKが第2の所定クラ
ンク角以上と判断された場合には、ステツプ120にお
いて現在のエンジン条件を示す点を囲む学習マツプ上の
4点に記憶されている学習遅角量の各々に、所定クラン
ク各(例えば0.04℃A)加算する学習制御を行な
い、メインルーチンへリーターンする。この結果、補正
遅角量θKが第2の所定クランク角以上であるときには
学習マツプの学習遅角量が大きくなるように学習制御さ
れ、学習遅角量によつて点火時期が遅れるように制御さ
れる。
以上のような学習制御することによつて、補正遅角量が
所定範囲の値になるように学習マツプの学習遅角量が変
更される。
所定範囲の値になるように学習マツプの学習遅角量が変
更される。
以下に第12図の学習ルーチンを詳細に説明する。
第13図は、第12図ステツプ115の2次元補間法の
詳細なルーチンを示すものである。この2次元補間ルー
チンにおいて、学習マップとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点のRAMの番
地を第2図に示すようにn,n+1,m+6,n+7と
する。まず、ステツプ130において、現在の負荷Q/
Nが学習マツプ上の負荷の上限値すなわち1.2〔/
rev〕以下であるか否かを判断する。負荷が1.2
〔/rev〕を越えている場合にはステツプ131で
レジスタnに1.2を記憶し、負荷が1.2〔/re
v〕以下である場合にはステツプ134で現在の負荷Q
/Nの値をレジスタnに記憶する。ステツプ135で
は、現在のエンジン回転数Nが学習マツプ上のエンジン
回転数の上限値すなわち6000〔rpm〕以下である
か否かを判断する。エンジン回転数が6000〔rp
m〕を越えている場合にはステツプ136でレジスタm
に6000を記憶し、エンジン回転数が6000〔rp
m〕以下である場合にはステツプ137で現在のエンジ
ン回転数Nの値をレジスタmに記憶する。ステツプ13
8では、レジスタnの値が学習マツプ上の負荷の下限値
すなわち0.6〔/rev〕以上であるか否かを判断
し、レジスタnの値が0.6未満であるときにはステツ
プ139においてレジスタnの値を0.6とし、レジス
タnの値が0.6以上であるときにはステツプ140に
進む。そしてステツプ140では、レジスタmの値が学
習マツプ上のエンジン回転数の下限値すなわち1000
〔rpm〕以上であるか否かを判断し、レジスタmの値
が1000未満であるときにはステツプ141において
レジスタmの値を1000とし、レジスタmの値が10
00以上であるときには次のステツプ142に進む。以
上の結果、現在のエンジン回転数Nおよび負荷Q/Nが
学習マツプ上の値であるときにはその値がレジスタmお
よびnに各々記憶され、現在のエンジン回転数Nおよび
負荷Q/Nが学習マツプの上下限値を越えているときに
は上下限値がレジスタmおよびnに各々記憶される。
詳細なルーチンを示すものである。この2次元補間ルー
チンにおいて、学習マップとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点のRAMの番
地を第2図に示すようにn,n+1,m+6,n+7と
する。まず、ステツプ130において、現在の負荷Q/
Nが学習マツプ上の負荷の上限値すなわち1.2〔/
rev〕以下であるか否かを判断する。負荷が1.2
〔/rev〕を越えている場合にはステツプ131で
レジスタnに1.2を記憶し、負荷が1.2〔/re
v〕以下である場合にはステツプ134で現在の負荷Q
/Nの値をレジスタnに記憶する。ステツプ135で
は、現在のエンジン回転数Nが学習マツプ上のエンジン
回転数の上限値すなわち6000〔rpm〕以下である
か否かを判断する。エンジン回転数が6000〔rp
m〕を越えている場合にはステツプ136でレジスタm
に6000を記憶し、エンジン回転数が6000〔rp
m〕以下である場合にはステツプ137で現在のエンジ
ン回転数Nの値をレジスタmに記憶する。ステツプ13
8では、レジスタnの値が学習マツプ上の負荷の下限値
すなわち0.6〔/rev〕以上であるか否かを判断
し、レジスタnの値が0.6未満であるときにはステツ
プ139においてレジスタnの値を0.6とし、レジス
タnの値が0.6以上であるときにはステツプ140に
進む。そしてステツプ140では、レジスタmの値が学
習マツプ上のエンジン回転数の下限値すなわち1000
〔rpm〕以上であるか否かを判断し、レジスタmの値
が1000未満であるときにはステツプ141において
レジスタmの値を1000とし、レジスタmの値が10
00以上であるときには次のステツプ142に進む。以
上の結果、現在のエンジン回転数Nおよび負荷Q/Nが
学習マツプ上の値であるときにはその値がレジスタmお
よびnに各々記憶され、現在のエンジン回転数Nおよび
負荷Q/Nが学習マツプの上下限値を越えているときに
は上下限値がレジスタmおよびnに各々記憶される。
ステツプ142からステツプ149は、学習マツプ上の
4点を選択するためのルーチンである。まず、ステツプ
142においてレジスタnの値から0番目の負荷の値
0.6〔/rev〕を減算した値をレジスタnに記憶
させる。次に、ステツプ143においてレジスタnの値
を負荷の目盛り間隔である0.2〔/rev〕で除算
し、その商の整数部をレジスタnに記憶させると共に商
の余りをレジスタyに記憶させる。このレジスタyの値
は、第2図のn番地から現在のエンジン条件を示す点ま
での負荷の値yに等しい。また、レジスタnに記憶され
た商の整数部は、現在のエンジン条件を示す点に最も近
くかつ現在のエンジン条件を示す点以下の番地の列(番
地の横方向の並び、例えば0〜5番地の並びを第1列と
する)の列番を示している。そして、ステツプ144に
おいてレジスタyの値を更に0.2〔/rev〕で除
算しておく。従つて、最終的にレジスタyには前述した
(6)式のy/Yに対応した値が記憶されている。
4点を選択するためのルーチンである。まず、ステツプ
142においてレジスタnの値から0番目の負荷の値
0.6〔/rev〕を減算した値をレジスタnに記憶
させる。次に、ステツプ143においてレジスタnの値
を負荷の目盛り間隔である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番地のエンジン回転数の値10000〔rpm〕
を減算した値をレジスタmに記憶させる。次に、ステツ
プ146においてレジスタmの値をエンジン回転数の目
盛り間隔である1000〔rpm〕で除算し、その商の
整数部をレジスタmに記憶させると共に商の余りをレジ
スタxに記憶させる。このレジスタxの値は、第2図の
n番地から現在のエンジン条件を示す点までのエンジン
回転数の値xに等しい。また、レジスタmに記憶された
商の整数部は、現在のエンジン条件を示す点に最も近く
かつ現在のエンジン条件を示す点以下の番地の行(番地
の縦方向の並び、例えば0,6,12,18番地の並び
を第1行とする)の行番を示している。そして、ステツ
プ147においてレジスタxの値を更に1000〔rp
m〕で除算しておく。従つて、最終的にレジスタxには
前述した(4)、(5)式のx/Xに対応した値が記憶されて
いる。
から0番地のエンジン回転数の値10000〔rpm〕
を減算した値をレジスタmに記憶させる。次に、ステツ
プ146においてレジスタmの値をエンジン回転数の目
盛り間隔である1000〔rpm〕で除算し、その商の
整数部をレジスタmに記憶させると共に商の余りをレジ
スタxに記憶させる。このレジスタxの値は、第2図の
n番地から現在のエンジン条件を示す点までのエンジン
回転数の値xに等しい。また、レジスタmに記憶された
商の整数部は、現在のエンジン条件を示す点に最も近く
かつ現在のエンジン条件を示す点以下の番地の行(番地
の縦方向の並び、例えば0,6,12,18番地の並び
を第1行とする)の行番を示している。そして、ステツ
プ147においてレジスタxの値を更に1000〔rp
m〕で除算しておく。従つて、最終的にレジスタxには
前述した(4)、(5)式のx/Xに対応した値が記憶されて
いる。
次にステツプ148において、レジスタnの値を6倍し
てレジスタnに記憶させ、次のステツプ149におい
て、レジスタnの値とレジスタmの値を加算してレジス
タnに記憶させる。この結果、現在のエンジン条件を囲
む4点の左下角の番地、すなわち第2図のn番地の番地
番号が求められ、レジスタnに記憶される。
てレジスタnに記憶させ、次のステツプ149におい
て、レジスタnの値とレジスタmの値を加算してレジス
タnに記憶させる。この結果、現在のエンジン条件を囲
む4点の左下角の番地、すなわち第2図のn番地の番地
番号が求められ、レジスタnに記憶される。
ステツプ150においては、学習マツプ上のn番地に記
憶されている学習遅角量θKGnを読出してレジスタAに
記憶させ、n+1番地に記憶されている学習遅角量θKG
(n+1)を読出してレジスタBに記憶させ、n+6番
地に記憶されている学習遅角量θKG(n+6)を読出し
てレジスタCに記憶させ、そしてn+7番地に記憶され
ている学習遅角量θKG(n+7)を読出してレジスタD
に記憶させる。続いて、ステツプ(5)においてレジスタ
Aの値からレジスタBの値を減算してレジスタxの値を
乗算し、更にその値にレジスタAの値を加算してレジス
タEに記憶させる。また、ステツプ152においてレジ
スタCの値からレジスタDの値を減算してレジスタxの
値を乗算し、更にその値にレジスタCの値を加算してレ
ジスタFに記憶させる。そして最後にステツプ153に
おいて、レジスタEの値からレジスタFの値を減算して
レジスタyの値を乗算し、更にその値にレジスタEの値
を加算して、現在のエンジン条件を示す点の学習遅角量
θKGとする。
憶されている学習遅角量θKGnを読出してレジスタAに
記憶させ、n+1番地に記憶されている学習遅角量θKG
(n+1)を読出してレジスタBに記憶させ、n+6番
地に記憶されている学習遅角量θKG(n+6)を読出し
てレジスタCに記憶させ、そしてn+7番地に記憶され
ている学習遅角量θKG(n+7)を読出してレジスタD
に記憶させる。続いて、ステツプ(5)においてレジスタ
Aの値からレジスタBの値を減算してレジスタxの値を
乗算し、更にその値にレジスタAの値を加算してレジス
タEに記憶させる。また、ステツプ152においてレジ
スタCの値からレジスタDの値を減算してレジスタxの
値を乗算し、更にその値にレジスタCの値を加算してレ
ジスタFに記憶させる。そして最後にステツプ153に
おいて、レジスタEの値からレジスタFの値を減算して
レジスタyの値を乗算し、更にその値にレジスタEの値
を加算して、現在のエンジン条件を示す点の学習遅角量
θKGとする。
上記の第12図の学習ルーチンにおける学習遅角量θKG
を学習制御によつて更新するときの補正遅角量θKの条
件と学習遅角量θKGの増減との関係をまとめて次表に示
す。
を学習制御によつて更新するときの補正遅角量θKの条
件と学習遅角量θKGの増減との関係をまとめて次表に示
す。
また、第14図に時間経過に対する補正遅角量θK、学
習遅角量θKG、点火時期θigの変動を示す。図から理解
されるように、補正遅角量θKが所定範囲の値のときに
は学習遅角量θKGは一定であり、補正遅角量θKが所定
範囲を越えたときには学習遅角量θKGが増加し、補正遅
角量θKが所定範囲未満のとき減少している。
習遅角量θKG、点火時期θigの変動を示す。図から理解
されるように、補正遅角量θKが所定範囲の値のときに
は学習遅角量θKGは一定であり、補正遅角量θKが所定
範囲を越えたときには学習遅角量θKGが増加し、補正遅
角量θKが所定範囲未満のとき減少している。
更に、第15図にエンジン回転数に対応する点火時期の
変動を示す。第15図において曲線C1〜C3は第3図
のものと同一であり、ノツキングが発生し易い場合でも
ノツキングが発生しにくい場合でも補正遅角量θKが常
に一定になつていることが理解される。
変動を示す。第15図において曲線C1〜C3は第3図
のものと同一であり、ノツキングが発生し易い場合でも
ノツキングが発生しにくい場合でも補正遅角量θKが常
に一定になつていることが理解される。
以上の学習制御ルーチンが行なわれた後、第16図に示
す軽負荷側の特定番地の学習遅角量を一定にするルーチ
ンが実行される。このルーチンは、第12図の学習制御
ルーチンに続くものであり、このルーチン終了後はメイ
ンルーチンへ続くものである。ステツプ190におい
て、第1図に示す学習マツプ上の軽負荷側における所定
負荷以下の特定のRAMの番地(本実施例では第1図の
斜線で示す範囲に存在する番地0,1,2,3,4,
5,9,10,11としている)に記憶されている学習
遅角量を所定クランク量(例えば0℃A)に書換える。
す軽負荷側の特定番地の学習遅角量を一定にするルーチ
ンが実行される。このルーチンは、第12図の学習制御
ルーチンに続くものであり、このルーチン終了後はメイ
ンルーチンへ続くものである。ステツプ190におい
て、第1図に示す学習マツプ上の軽負荷側における所定
負荷以下の特定のRAMの番地(本実施例では第1図の
斜線で示す範囲に存在する番地0,1,2,3,4,
5,9,10,11としている)に記憶されている学習
遅角量を所定クランク量(例えば0℃A)に書換える。
上記のように軽負荷側の特定の学習遅角量を一定値にす
ることにより、負荷Q/Nに対する基本点火進角からの
要求遅角量(θK+θKG)は第17図に示す特性とな
る。第17図はエンジン回転数が2000〔rpm〕,
4000〔rpm〕の特性を示すものであるが、軽負荷
側においてはノツキングが発生する点火時期が基本点火
進角より進み側にありかつ学習遅角量を0℃Aの一定値
にしているため、要求遅角量が0℃Aになつており、遅
角量の立上がりスムーズになつていることが理解され
る。
ることにより、負荷Q/Nに対する基本点火進角からの
要求遅角量(θK+θKG)は第17図に示す特性とな
る。第17図はエンジン回転数が2000〔rpm〕,
4000〔rpm〕の特性を示すものであるが、軽負荷
側においてはノツキングが発生する点火時期が基本点火
進角より進み側にありかつ学習遅角量を0℃Aの一定値
にしているため、要求遅角量が0℃Aになつており、遅
角量の立上がりスムーズになつていることが理解され
る。
また、第18図に負荷と遅角量との関係を示す。図に示
すように、負荷0.8〔/rev〕以下の軽負荷域に
おいて学習遅角量が略一定になつていることが理解され
る。
すように、負荷0.8〔/rev〕以下の軽負荷域に
おいて学習遅角量が略一定になつていることが理解され
る。
第1図は学習マツプを示す説明図、第2図は現在のエン
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図はエンジン回転数と点火時期との関係を示す線図、
第4図は本発明が適用されるエンジンを示す概略図、第
5図は第4図の電子制御回路を示すブロツク図、第6図
は30℃A毎の割込みルーチンの流れ図、第7図は時刻
一致割込みAの流れ図、第8図は時刻一致割込みBの流
れ図、第9図はA/D完了割込みルーチンの流れ図、第
10図は4msec毎の割込みルーチンを示す流れ図、第
11図は補正遅角量を更新するルーチンの流れ図、第1
2図は学習制御ルーチンの流れ図、第13図は2次元補
間ルーチンの流れ図、第14図は時間経過に対する補正
遅角量、学習遅角量、点火時期の変動を示す線図、第1
5図は第3図と同様のエンジン回転数と点火時期との関
係補正遅角量および学習遅角量の関係を示す線図、第1
6図は特定の学習遅角量を一定値にするためのルーチン
を示す流れ図、第17図は負荷に対する要求進角の特性
を示す線図、第18図は負荷に対する点火時期の特性を
示す線図である。 2……エアフローメータ, 12……燃料噴射弁,18……ノツキングセンサ, 32……エンジン回転角センサ, 34……電子制御回路。
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図はエンジン回転数と点火時期との関係を示す線図、
第4図は本発明が適用されるエンジンを示す概略図、第
5図は第4図の電子制御回路を示すブロツク図、第6図
は30℃A毎の割込みルーチンの流れ図、第7図は時刻
一致割込みAの流れ図、第8図は時刻一致割込みBの流
れ図、第9図はA/D完了割込みルーチンの流れ図、第
10図は4msec毎の割込みルーチンを示す流れ図、第
11図は補正遅角量を更新するルーチンの流れ図、第1
2図は学習制御ルーチンの流れ図、第13図は2次元補
間ルーチンの流れ図、第14図は時間経過に対する補正
遅角量、学習遅角量、点火時期の変動を示す線図、第1
5図は第3図と同様のエンジン回転数と点火時期との関
係補正遅角量および学習遅角量の関係を示す線図、第1
6図は特定の学習遅角量を一定値にするためのルーチン
を示す流れ図、第17図は負荷に対する要求進角の特性
を示す線図、第18図は負荷に対する点火時期の特性を
示す線図である。 2……エアフローメータ, 12……燃料噴射弁,18……ノツキングセンサ, 32……エンジン回転角センサ, 34……電子制御回路。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 末松 敏男 愛知県豊田市トヨタ町1番地 トヨタ自動 車株式会社内 (56)参考文献 特開 昭57−105530(JP,A)
Claims (1)
- 【請求項1】ノッキング制御領域とノッキング非制御領
域とを区別して、前記ノッキング制御領域において、エ
ンジン回転数と負荷とによって定まる基本点火進角か
ら、ノッキングが発生したとき点火時期を遅らせかつノ
ッキングが発生しないとき点火時期を進めるように設定
される補正遅角量と、ノッキングのレベルを所定レベル
にするために設けられ前記補正遅角量の大きさが第1の
所定値以上もしくは第2の所定値以下のときに学習制御
により書き換えられる学習遅角量との和を減算して、点
火時期を算出する内燃機関のノッキング制御方法におい
て、前記ノッキング制御領域内で前記非ノッキング制御
領域に隣接する軽負荷側の所定負荷以下における前記学
習遅角量の学習制御を停止することを特徴とする内燃機
関のノッキング制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58012052A JPH0646026B2 (ja) | 1983-01-27 | 1983-01-27 | 内燃機関のノツキング制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58012052A JPH0646026B2 (ja) | 1983-01-27 | 1983-01-27 | 内燃機関のノツキング制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59138773A JPS59138773A (ja) | 1984-08-09 |
JPH0646026B2 true JPH0646026B2 (ja) | 1994-06-15 |
Family
ID=11794826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58012052A Expired - Lifetime JPH0646026B2 (ja) | 1983-01-27 | 1983-01-27 | 内燃機関のノツキング制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0646026B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4819171A (en) * | 1985-08-05 | 1989-04-04 | Nissan Motor Co., Limited | Engine spark timing control system |
JP4452660B2 (ja) | 2005-06-28 | 2010-04-21 | トヨタ自動車株式会社 | ノッキング状態判定装置 |
-
1983
- 1983-01-27 JP JP58012052A patent/JPH0646026B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS59138773A (ja) | 1984-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0711265B2 (ja) | 内燃機関のノツキング制御方法 | |
JPH0646026B2 (ja) | 内燃機関のノツキング制御方法 | |
JPS58176470A (ja) | アイドリング時のエンジン回転数制御方法 | |
JPS59145364A (ja) | 内燃機関の点火時期制御方法 | |
JPH0646023B2 (ja) | 内燃機関のノツキング制御方法 | |
JPH0646022B2 (ja) | 内燃機関のノツキング制御方法 | |
JPH0646025B2 (ja) | 内燃機関のノツキング制御方法 | |
JPS63106365A (ja) | 内燃機関の点火時期制御方法 | |
JPH076482B2 (ja) | 内燃機関のノツキング制御方法 | |
JPH0536634B2 (ja) | ||
JPH0637868B2 (ja) | エンジンのノツキング抑制装置 | |
JP2597125B2 (ja) | 内燃機関の点火時期制御装置 | |
JPS59138774A (ja) | 内燃機関のノツキング制御方法 | |
JPH0240082A (ja) | 内燃機関の点火時期制御装置 | |
JPS5912164A (ja) | 内燃機関の点火時期制御方法 | |
JPS59136575A (ja) | 多気筒エンジンのノツキング制御方法 | |
JP2625763B2 (ja) | 内燃機関の点火時期制御装置 | |
JPS6380075A (ja) | 内燃機関の点火時期制御装置 | |
JPH0784861B2 (ja) | 内燃機関の点火時期制御方法 | |
JPH0526952B2 (ja) | ||
JPH0646024B2 (ja) | 内燃機関のノツキング制御方法 | |
JPS59136574A (ja) | 内燃機関のノツキング制御方法 | |
JPS59116528A (ja) | 多気筒エンジンのノツキング判定方法 | |
JPS59136573A (ja) | 内燃機関のノツキング制御方法 | |
JPH0784860B2 (ja) | 内燃機関のノツキング制御装置 |