JPH0646023B2 - 内燃機関のノツキング制御方法 - Google Patents
内燃機関のノツキング制御方法Info
- Publication number
- JPH0646023B2 JPH0646023B2 JP57223204A JP22320482A JPH0646023B2 JP H0646023 B2 JPH0646023 B2 JP H0646023B2 JP 57223204 A JP57223204 A JP 57223204A JP 22320482 A JP22320482 A JP 22320482A JP H0646023 B2 JPH0646023 B2 JP H0646023B2
- Authority
- JP
- Japan
- Prior art keywords
- learning
- value
- knocking
- register
- amount
- 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
- 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を演算し、この点火進角を用いてノツキング制御を行
うものである。また、アイドリング時等の軽負荷領域に
おいてはノツキングが発生しないため学習制御およびノ
ツキング制御を行わないようにしている。
回転数N、吸入空気量Qとエンジン回転数Nとの比Q/N
または吸気管負圧で定まる負荷によつて予め定まる基本
点火進角θBASEをマイクロコンピュータのリードオンリ
メモリ(ROM)にマツプの形で記憶させておき、次の
(1)式に基いて実際にイグナイタを制御する点火進角θ
igを演算し、この点火進角を用いてノツキング制御を行
うものである。また、アイドリング時等の軽負荷領域に
おいてはノツキングが発生しないため学習制御およびノ
ツキング制御を行わないようにしている。
θig=θBASE−(θKG+θK)…………(1) ただし、θKGはノツキングのレベルを所定レベルにする
ためにエンジン回転数と負荷とによつて定まりかつ学習
制御によつて変更される学習遅角量、θKはノツキング
が発生したとき点火時期を遅らせかつノツキングが発生
しなくなつたとき点火時期を進める補正遅角量である。
ためにエンジン回転数と負荷とによつて定まりかつ学習
制御によつて変更される学習遅角量、θKはノツキング
が発生したとき点火時期を遅らせかつノツキングが発生
しなくなつたとき点火時期を進める補正遅角量である。
ここで、補正遅角量θKは次のようにして求められる。
まず、マイクロホン等で構成されたノツキングセンサを
用いてエンジンの振動を検出し、エンジン振動の平均値
(バツクグラウンド)bの所定倍K・b (ただしKは比例
定数)とエンジン振動のピーク値aとを求め、このピー
ク値aとK・b の値とを比較する。ピーク値aがK・b の値
を越えたときには、ノツキング発生と判断して次の(2)
式に示すようにノツキング発生1回あたり所定クランク
角(例えば0.4゜CA)点火時期が遅れるように補正
遅角量θKを変更する。
まず、マイクロホン等で構成されたノツキングセンサを
用いてエンジンの振動を検出し、エンジン振動の平均値
(バツクグラウンド)bの所定倍K・b (ただしKは比例
定数)とエンジン振動のピーク値aとを求め、このピー
ク値aとK・b の値とを比較する。ピーク値aがK・b の値
を越えたときには、ノツキング発生と判断して次の(2)
式に示すようにノツキング発生1回あたり所定クランク
角(例えば0.4゜CA)点火時期が遅れるように補正
遅角量θKを変更する。
θK←θK+0.4゜CA……………(2) またピーク値aがK・b の値以下のときには、ノツキング
が発生しなかつたと判断して、第1のタイマを用いて所
定時間(例えば48msec)経過したか否かを判断し、所
定時間経過したときには次の(3)式に示すように所定ク
ランク角(例えば0.08゜CA)点火時期が進むよう
に補正遅角量θKを変更する。
が発生しなかつたと判断して、第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に学習遅角量θ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゜CA)を越えたか
否かを判断し、補正遅角量θKが所定クランク角を越え
たとき、上記で説明した現在のエンジン条件を示す点を
囲むマツプ上の4点の学習遅角量に所定クランク角(例
えば0.04゜CA)加算する。この結果点火時期が遅
れるように学習遅角量が学習制御される。一方、第3の
タイマにより所定時間(例えば16sec)経過したこと
が検出されたときには、ノツキングの有無に無関係に学
習マツプ上の全ての番地の学習遅角量から所定クランク
角(例えば0.01゜CA)減算して、点火時期が進む
ように学習遅角量を学習制御する。
われる。まず、現在のエンジン条件に応じて学習制御の
時間を決定する第2のタイマと、エンジン条件に無関係
に学習制御の時間を決定する第3のタイマとを用意す
る。第2のタイマにより所定時間(例えば48msec)経
過したことが検出されたときには、補正遅角量θKが変
更されて所定クランク角(例えば4゜CA)を越えたか
否かを判断し、補正遅角量θKが所定クランク角を越え
たとき、上記で説明した現在のエンジン条件を示す点を
囲むマツプ上の4点の学習遅角量に所定クランク角(例
えば0.04゜CA)加算する。この結果点火時期が遅
れるように学習遅角量が学習制御される。一方、第3の
タイマにより所定時間(例えば16sec)経過したこと
が検出されたときには、ノツキングの有無に無関係に学
習マツプ上の全ての番地の学習遅角量から所定クランク
角(例えば0.01゜CA)減算して、点火時期が進む
ように学習遅角量を学習制御する。
而して、上記のようにして変更された補正遅角量θ
Kと、学習制御される学習マツプから2次元補間法によ
り求めた学習遅角量θKGとを用い、前記(1)式に基いて
基本点火進角θBASEを補正して、ノツキングを制御する
のである。
Kと、学習制御される学習マツプから2次元補間法によ
り求めた学習遅角量θKGとを用い、前記(1)式に基いて
基本点火進角θBASEを補正して、ノツキングを制御する
のである。
しかし、かかる従来のノツキング制御方法では、ノツキ
ング制御領域外の軽負荷域(ノツキングが発生しない領
域)において学習制御を行わずにノツキング制御領域内
において学習制御を行つているため、ノツキング制御領
域外からノツキング制御領域内にエンジン運転条件が変
化した場合遅角量なしの状態から遅角量ありの状態に急
変し、トルク変動が発生する、という問題があつた。ま
た、軽負荷域に近いノツキング制御領域にエンジン運転
条件が存在する場合にノツキングが多発して補正遅角量
が例えば4゜CA以上になると、軽負荷域側の学習遅角
量が大きくなるように学習制御されて学習遅角量が保持
されるため、エンジン運転条件がノツキング制御領域外
から軽負荷側のノツキング制御領域に入つたとき、上記
で大きくなるように学習された学習遅角量により点火時
期が遅れ過ぎに制御され、出力の低下および燃費の悪化
の原因になる、という問題があつた。
ング制御領域外の軽負荷域(ノツキングが発生しない領
域)において学習制御を行わずにノツキング制御領域内
において学習制御を行つているため、ノツキング制御領
域外からノツキング制御領域内にエンジン運転条件が変
化した場合遅角量なしの状態から遅角量ありの状態に急
変し、トルク変動が発生する、という問題があつた。ま
た、軽負荷域に近いノツキング制御領域にエンジン運転
条件が存在する場合にノツキングが多発して補正遅角量
が例えば4゜CA以上になると、軽負荷域側の学習遅角
量が大きくなるように学習制御されて学習遅角量が保持
されるため、エンジン運転条件がノツキング制御領域外
から軽負荷側のノツキング制御領域に入つたとき、上記
で大きくなるように学習された学習遅角量により点火時
期が遅れ過ぎに制御され、出力の低下および燃費の悪化
の原因になる、という問題があつた。
本発明は上記問題点を解消すべく成されたもので、ノツ
キング非制御領域からノツキング制御領域に負荷が変化
したときに、点火時期の遅れによるトルク変動や出力の
低下を生じないようにした内燃機関のノツキング制御方
法を提供することを目的とする。
キング非制御領域からノツキング制御領域に負荷が変化
したときに、点火時期の遅れによるトルク変動や出力の
低下を生じないようにした内燃機関のノツキング制御方
法を提供することを目的とする。
上記目的を達成するために本発明の構成は、ノツキング
制御領域とノツキング非制御領域とを区別し、前記ノツ
キング制御領域において、エンジン回転数と負荷とによ
って定まる基本点火進角から、ノッキングが発生したと
き点火時期を遅らせ且つノッキングが発生しないとき点
火時期を進めるよう設定される補正遅角量とノッキング
のレベルを所定レベルにするため前記補正遅角量の大き
さが学習制御により第1の所定値もしくは第1の所定値
の絶対値より小なる絶対値を有する第2の所定値のとき
その値が書き換えられる学習遅角量との和を減算して、
ノッキングを制御する内燃機関のノッキング制御方法に
おいて、前記ノッキング制御領域内で前記非ノッキング
制御領域に隣接する軽負荷側の所定負荷以下における特
定の学習遅角量を一定の値にするようにしたものであ
る。この一定の値は零であることが好ましい。
制御領域とノツキング非制御領域とを区別し、前記ノツ
キング制御領域において、エンジン回転数と負荷とによ
って定まる基本点火進角から、ノッキングが発生したと
き点火時期を遅らせ且つノッキングが発生しないとき点
火時期を進めるよう設定される補正遅角量とノッキング
のレベルを所定レベルにするため前記補正遅角量の大き
さが学習制御により第1の所定値もしくは第1の所定値
の絶対値より小なる絶対値を有する第2の所定値のとき
その値が書き換えられる学習遅角量との和を減算して、
ノッキングを制御する内燃機関のノッキング制御方法に
おいて、前記ノッキング制御領域内で前記非ノッキング
制御領域に隣接する軽負荷側の所定負荷以下における特
定の学習遅角量を一定の値にするようにしたものであ
る。この一定の値は零であることが好ましい。
上記本発明の構成によれば、軽負荷の学習遅角量を一定
にしているため、軽負荷から高負荷への点火時期の変化
がスムーズになり、点火時期が余分に遅角されなくなつ
て出力が向上する、という特有の効果が得られる。
にしているため、軽負荷から高負荷への点火時期の変化
がスムーズになり、点火時期が余分に遅角されなくなつ
て出力が向上する、という特有の効果が得られる。
また、第3図に示すように、基本点火進角θBASEすなわ
ちMBT(Minimum Spark Advance for Beet Torgue )
はエンジン回転数に応じて曲線C1のように変化し、空
気が湿つている場合等のノツキングが発生しにくいとき
の微小ノツキング発生点火時期は曲線C2のようにな
り、空気が乾燥している場合等のノツキングが発生し易
いときの微小ノツキング発生点火時期は曲線C3のよう
になる。従つて、エンジン回転数や環境条件によつて微
小ノツキング発生点火時期が異なつている。従つて、本
発明の上記構成においては、ノツキングが発生し易い運
転条件でもノツキングが発生しにくい運転条件でも同じ
ようにノツキング制御するため、補正遅角量が所定範囲
の値になるように特定の学習遅角量を除いた学習遅角量
を学習制御することが好ましい。
ちMBT(Minimum Spark Advance for Beet Torgue )
はエンジン回転数に応じて曲線C1のように変化し、空
気が湿つている場合等のノツキングが発生しにくいとき
の微小ノツキング発生点火時期は曲線C2のようにな
り、空気が乾燥している場合等のノツキングが発生し易
いときの微小ノツキング発生点火時期は曲線C3のよう
になる。従つて、エンジン回転数や環境条件によつて微
小ノツキング発生点火時期が異なつている。従つて、本
発明の上記構成においては、ノツキングが発生し易い運
転条件でもノツキングが発生しにくい運転条件でも同じ
ようにノツキング制御するため、補正遅角量が所定範囲
の値になるように特定の学習遅角量を除いた学習遅角量
を学習制御することが好ましい。
次に、本発明が適用されるエンジンの一例を第4図に示
す。このエンジンは図に示すように、エアクリーナー
(図示せず)の下流側に設けられた吸入空気量センサと
してのエアフローメータ2を備えている。エアフローメ
ータ2は、ダンピングチヤンバ内に回動可能に設けられ
たコンペンセーシヨンプレート2Aと、コンペンセーシ
ヨンプレート2Aの開度を検出するポテンシヨメータ2
Bとから構成されている。従つて、吸入空気量Qはポテ
ンシヨメータ2Bから出力される電圧として検出され
る。また、エアフローメータ2の近傍には、吸入空気の
温度を検出する吸入空気温センサ4が設けられている。
す。このエンジンは図に示すように、エアクリーナー
(図示せず)の下流側に設けられた吸入空気量センサと
してのエアフローメータ2を備えている。エアフローメ
ータ2は、ダンピングチヤンバ内に回動可能に設けられ
たコンペンセーシヨンプレート2Aと、コンペンセーシ
ヨンプレート2Aの開度を検出するポテンシヨメータ2
Bとから構成されている。従つて、吸入空気量Qはポテ
ンシヨメータ2Bから出力される電圧として検出され
る。また、エアフローメータ2の近傍には、吸入空気の
温度を検出する吸入空気温センサ4が設けられている。
エアフローメータ2の下流側には、スロツトル弁6が配
置され、スロツトル弁6の下流側には、サージタンク8
が設けられている。このサージタンク8には、インテー
クマニホールド10が連結されており、このインテーク
マニホールド10内に突出して燃料噴射弁12が配置さ
れている。インテークマニホールド10は、エンジン本
体14の燃焼室14Aに接続され、エンジンの燃焼室1
4Aはエキゾーストマニホールド16を介して三元触媒
を充填した触媒コンバータ(図示せず)に接続されてい
る。そして、エンジ本体14には、マイクロホン等で構
成された、エンジの振動を検出するノツキングセンサ1
8が設けられている。なお、20は点火プラグ、22は
混合気を理論空燃比近傍に制御するためのO2センサ、
24はエンジ冷却水温を検出する冷温水温センサであ
る。
置され、スロツトル弁6の下流側には、サージタンク8
が設けられている。このサージタンク8には、インテー
クマニホールド10が連結されており、このインテーク
マニホールド10内に突出して燃料噴射弁12が配置さ
れている。インテークマニホールド10は、エンジン本
体14の燃焼室14Aに接続され、エンジンの燃焼室1
4Aはエキゾーストマニホールド16を介して三元触媒
を充填した触媒コンバータ(図示せず)に接続されてい
る。そして、エンジ本体14には、マイクロホン等で構
成された、エンジの振動を検出するノツキングセンサ1
8が設けられている。なお、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は、第5図に示すように、ランダム・
アクセス・メモリ(RAM)36と、リード・オンリー
・メモリ(ROM)38と、中央処理装置(CPU)4
0と、クロツク(CLOCK )41と、第1の入出力ポート
42と、第2の入出力ポート44と、第1の出力ポート
46と、第2の出力ポート48とを含んで構成され、R
AM36、ROM38、CPU40、CLOCK41、
第1の出力ポート42、第2の入出力ポート44、第1
の出力ポート46および第2の出力ポート48は、バス
50により接続されている。第1の入出力ポート42に
は、バツフア(図示せず)マルチプレクサ54、アナロ
グ−デジタル(A/D)変換器56を介して、エアフロ
ーメータ2、冷却水温センサ24および吸気温センサ4
等が接続されている。このマルチプレクサ54およびA/
D 変換器56は、第1の入出力ポート42から出力され
る信号により制御される。第2の入出力ポート44に
は、バツフア(図示せず)およびコンパレータ62を介
してO2センサ22が接続され、波形整形回路64を介
して気筒判別センサ30およびエンジン回転角センサ3
2が接続されている。また、第2の入出力ポート44に
は、バンドパスフイルタ60、ピークホールド回路6
1、チヤンネル切換回路66およびA/D 変換器68を介
してノツキングセンサ18が接続されている。このバン
ドパスフイルタは積分回路63を介してチヤンネル切換
回路66に接続されている。このチヤンネル切換回路6
6には、ピークホールド回路61の出力と積分回路63
の出力とのいずれか一方をA/D 変換器68に入力するた
めの第2の入出力ポート44から出力される制御信号が
入力されており、ピークホールド回路61には第2の入
出力ポート44からリセツト信号が入力されている。ま
た、第1の出力ポート46は駆動回路70を介してイグ
ナイタ28に接続され、第2の出力ポート48は駆動回
路72を介して燃料噴射弁12に接続されている。
アクセス・メモリ(RAM)36と、リード・オンリー
・メモリ(ROM)38と、中央処理装置(CPU)4
0と、クロツク(CLOCK )41と、第1の入出力ポート
42と、第2の入出力ポート44と、第1の出力ポート
46と、第2の出力ポート48とを含んで構成され、R
AM36、ROM38、CPU40、CLOCK41、
第1の出力ポート42、第2の入出力ポート44、第1
の出力ポート46および第2の出力ポート48は、バス
50により接続されている。第1の入出力ポート42に
は、バツフア(図示せず)マルチプレクサ54、アナロ
グ−デジタル(A/D)変換器56を介して、エアフロ
ーメータ2、冷却水温センサ24および吸気温センサ4
等が接続されている。このマルチプレクサ54およびA/
D 変換器56は、第1の入出力ポート42から出力され
る信号により制御される。第2の入出力ポート44に
は、バツフア(図示せず)およびコンパレータ62を介
してO2センサ22が接続され、波形整形回路64を介
して気筒判別センサ30およびエンジン回転角センサ3
2が接続されている。また、第2の入出力ポート44に
は、バンドパスフイルタ60、ピークホールド回路6
1、チヤンネル切換回路66およびA/D 変換器68を介
してノツキングセンサ18が接続されている。このバン
ドパスフイルタは積分回路63を介してチヤンネル切換
回路66に接続されている。このチヤンネル切換回路6
6には、ピークホールド回路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図に示す学習マツプが予め記憶さ
れている。
吸入空気量とで表わされる基本点火進角θ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から
出力されるエンジン振動信号をバンドパスフイルタ6
0、積分回路63およびチヤンネル切換回路66を介し
てA/D 変換器68に入力し、エンジン振動の平均値すな
わちバツクグラウンドレベルのA/D 変換を開始する。続
いて、ステツプ87においてノツクゲートの閉時刻
t1、すなわち次にノツクゲートを閉じる時刻を算出し
て時刻一致割込みAをセツトする。
する場合の30゜CA毎の割込みルーチンを示す。ま
ず、ステツプ81においてエンジン回転角センサ32か
らの信号に基いて回転時間からエンジン回転数Nを求
め、ステツプ82において気筒判別センサ30から気筒
判別信号が入力されてから何番目の割込みかを数えて現
在のクランク角を示すフラグを立てる。次に、ステツプ
83において、ステツプ82で立てたフラグが上死点
(TDC)のフラグであるか否かを判断する。現在上死
点でない場合にはステツプ88へ進み、現在上死点であ
る場合にはステツプ84においてノツクゲートが閉じて
いるか否かを判断する。ノツクゲートが開いているとき
はステツプ85においてノツクゲートを閉じ、ノツクゲ
ートが閉じているときはステツプ86においてチヤンネ
ル切換回路66を切換えて、ノツキングセンサ18から
出力されるエンジン振動信号をバンドパスフイルタ6
0、積分回路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で立てたイグ
ナイタオンのフラグをおろす。
グを基にクランク角が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 変換を開始してメインルーチンへリター
ンする。
この割込みルーチンは、エンジン振動のピーク値を求め
るものであり、第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図のステツプ8
6で変換したA/D 変換値をRAM36のメモリに記憶し
てバツクグラウンドレベルbとし、ステツプ99におい
てノツクゲートを開いてメインルーチンへリターンす
る。一方、ノツクゲートが開いているときには、第7図
のステツプ93で変換したA/D 変換値をRAM36のメ
モリに記憶してピーク値aとし、ステツプ101におい
てノツクゲートを閉じてメインルーチンへリターンす
る。
り、バツクグラウンドレベルのA/D 変換およびピークホ
ールド値のA/D 変換が完了したときにこの割込みが行わ
れる。まず、ステツプ97において現在ノツクゲートが
開いているか否かを判断する。ノツクゲートが閉じてい
るときには、ステツプ98において第6図のステツプ8
6で変換したA/D 変換値をRAM36のメモリに記憶し
てバツクグラウンドレベルbとし、ステツプ99におい
てノツクゲートを開いてメインルーチンへリターンす
る。一方、ノツクゲートが開いているときには、第7図
のステツプ93で変換したA/D 変換値をRAM36のメ
モリに記憶してピーク値aとし、ステツプ101におい
てノツクゲートを閉じてメインルーチンへリターンす
る。
第10図は、ノツキングが発生していないときの時間と
学習制御する時間とをカウントするための所定時間(例
えば4msec)毎に行われる割込みルーチンを示すもので
ある。まず、ステツプ102 においてノツキングが発生し
ないときの時間を求めるカウンタTIME 1のカンウント
値を1増加させ、ステツプ103において学習制御する
時間を求めるカウンタTIME 2のカウント値を1増加さ
せる。次のステツプ104において、カウンタTIME 1
のカウント値が12(48msec)以下になつているか否
かを判断する。カウント値が12を越えてみるときには
ステツプ105においてカウンタTIME 1のカウント値
を12とし、カウント値が12以下のときにはステツプ
106においてカウンタTIME 2のカウント値が12以
下になつているか否かを判断する。ここで、カウント値
が12を越えているときにはステツプ107においてカ
ウンタTIME 2のカウント値を12としてメインルーチ
ンヘリターンし、カンウント値が12以下のときにはメ
インルーチンへリターンする。
学習制御する時間とをカウントするための所定時間(例
えば4msec)毎に行われる割込みルーチンを示すもので
ある。まず、ステツプ102 においてノツキングが発生し
ないときの時間を求めるカウンタTIME 1のカンウント
値を1増加させ、ステツプ103において学習制御する
時間を求めるカウンタTIME 2のカウント値を1増加さ
せる。次のステツプ104において、カウンタTIME 1
のカウント値が12(48msec)以下になつているか否
かを判断する。カウント値が12を越えてみるときには
ステツプ105においてカウンタTIME 1のカウント値
を12とし、カウント値が12以下のときにはステツプ
106においてカウンタTIME 2のカウント値が12以
下になつているか否かを判断する。ここで、カウント値
が12を越えているときにはステツプ107においてカ
ウンタTIME 2のカウント値を12としてメインルーチ
ンヘリターンし、カンウント値が12以下のときにはメ
インルーチンへリターンする。
次に第6図のステツプ89の詳細なルーチンを第11図
に基いて説明する。第6図のステツプ88でクランク角
が90゜CA BTDC になつたと判断されると、ステツプ1
22において負荷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においてノツキ
ングが発生しない時間をカウントするカウンタTIME 1
のカウント値をクリアする。一方、ピーク値aが値K・b
以下のときにはノツキングが発生しないと判断して、ス
テツプ109においてカウンタTIME 1のカウント値が
所定値(12)以上になつているか否かを判断し、カウ
ント値が所定値以上になつているときにはノツキングの
発生しない状態が所定時間経続していることからステツ
プ111において補正遅角量θKを所定角(例えば0.
08゜CA)減少させた後、ステツプ112でカウンタTI
ME 1をクリアする。また、ステツプ109においてカ
ウント値が所定値未満であるときには、ステツプ113
へ進む。ステツプ113では、上記のようにして求めら
れた補正遅角量θKと学習マツプから2次元補間法によ
り求められる学習遅角量θKGとによつて前述した(1)式
に示すように基本点火進角θBASEを補正し、実際にイグ
ナイタを制御する点火進角θigを算出する。
に基いて説明する。第6図のステツプ88でクランク角
が90゜CA BTDC になつたと判断されると、ステツプ1
22において負荷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においてノツキ
ングが発生しない時間をカウントするカウンタTIME 1
のカウント値をクリアする。一方、ピーク値aが値K・b
以下のときにはノツキングが発生しないと判断して、ス
テツプ109においてカウンタTIME 1のカウント値が
所定値(12)以上になつているか否かを判断し、カウ
ント値が所定値以上になつているときにはノツキングの
発生しない状態が所定時間経続していることからステツ
プ111において補正遅角量θKを所定角(例えば0.
08゜CA)減少させた後、ステツプ112でカウンタTI
ME 1をクリアする。また、ステツプ109においてカ
ウント値が所定値未満であるときには、ステツプ113
へ進む。ステツプ113では、上記のようにして求めら
れた補正遅角量θKと学習マツプから2次元補間法によ
り求められる学習遅角量θKGとによつて前述した(1)式
に示すように基本点火進角θBASEを補正し、実際にイグ
ナイタを制御する点火進角θigを算出する。
次に学習マツプから現在のエンジン条件に対応する学習
遅角量θKGを求めかつ学習制御するルーチンを説明す
る。第12図にこのルーチンをメインルーチンの途中か
ら示す。
遅角量θKGを求めかつ学習制御するルーチンを説明す
る。第12図にこのルーチンをメインルーチンの途中か
ら示す。
まず、ステツプ124において負荷Q/N が0.6〔/
rev.〕以上か否か、すなわちノツキング制御領域か否か
を判断する。ノツキング制御領域でないときは、そのま
まメインルーチンへ続き、ノツキング制御領域であると
きは、ステツプ114においてエンジン回転数Nと負荷
Q/N とで定まる現在のエンジン条件を示す点を囲む4点
のRAMの番地を学習マツプ上に求める。次にステツプ
115において、求めた4点のRAMの番地に記憶され
ているデータ、すなわち4点のRAMの番地に記憶され
ている学習遅角量を基に2次元補間法(2次元補間法の
ルーチンは後で説明する)により、現在のエンジン条件
を示す点の学習遅角量θKGを算出し、算出した値をRA
Mの所定場所に記憶する。ステツプ116では、第10
図のステツプ103でカウントした学習制御する時間を
求めるためのカウンタTIME 2のカウント値が所定値
(例えば12)以上か否かを判断する。カウント値が所
定値未満である場合にはメインルーチンへリターンし、
カウント値が所定値以上の場合にはステツプ117でカ
ウンタTIME2のカウント値をクリアした後、第11
図のステツプ110および111で更新された補正遅角
量θKが第1の所定クランク角(例えば2゜CA)以上
であるか否かをステツプ118で判断する。
rev.〕以上か否か、すなわちノツキング制御領域か否か
を判断する。ノツキング制御領域でないときは、そのま
まメインルーチンへ続き、ノツキング制御領域であると
きは、ステツプ114においてエンジン回転数Nと負荷
Q/N とで定まる現在のエンジン条件を示す点を囲む4点
のRAMの番地を学習マツプ上に求める。次にステツプ
115において、求めた4点のRAMの番地に記憶され
ているデータ、すなわち4点のRAMの番地に記憶され
ている学習遅角量を基に2次元補間法(2次元補間法の
ルーチンは後で説明する)により、現在のエンジン条件
を示す点の学習遅角量θKGを算出し、算出した値をRA
Mの所定場所に記憶する。ステツプ116では、第10
図のステツプ103でカウントした学習制御する時間を
求めるためのカウンタTIME 2のカウント値が所定値
(例えば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゜C
A)未満であるか否かを判断する。ステツプ119にお
いて補正遅角量θKが第1の所定クランク角未満である
と判断された場合、すなわち補正遅角量θKが以下の条
件を満足する場合には、 第1の所定クランク角(2゜CA) ≦θK<第2の所定クランク角(4゜CA) ………(7) 学習制御せずにメインルーチへリターンする。この結
果、補正遅角量θKが所定範囲の値をとるときは学習制
御されず、学習遅角量によつては点火時期が変更されな
い。なお、補正遅角量が所定範囲の値をとるときにおい
ても、必要に応じて学習制御するようにしてもよい。ス
テツプ119において補正遅角量θKが第2の所定クラ
ンク角以上と判断された場合には、ステツプ120にお
いて現在のエンジン条件を示す点を囲む学習マツプ上の
4点に記憶されている学習遅角量の各々に、所定クラン
ク角(例えば0.04゜CA)加算する学習制御を行
い、メインルーチンへリターンする。この結果、補正遅
角量θKが第2の所定クランク角以上であるときには学
習マツプの学習遅角量が大きくなるように学習制御さ
れ、学習遅角量によつて点火時期が遅れるように制御さ
れる。
角未満であると判断された場合には、ステツプ121に
おいて現在のエンジン条件を示す点を囲む学習マツプ上
の4点に記憶されている学習遅角量の各々から、所定ク
ランク角(例えば0.04゜CA)減算する学習制御を
行い、メインルーチンへリターンする。この結果、補正
遅角量θKが第1の所定クランク角未満であるときには
学習マツプの学習遅角量が小さくなるように学習制御さ
れ、学習遅角量によつて点火時期が進むように制御され
る。一方、ステツプ118で補正遅角量θKが第1の所
定クランク角以上であると判断された場合には、ステツ
プ119において補正遅角量θKが第1の所定クランク
角より大きい値の第2の所定クランク角(例えば4゜C
A)未満であるか否かを判断する。ステツプ119にお
いて補正遅角量θKが第1の所定クランク角未満である
と判断された場合、すなわち補正遅角量θKが以下の条
件を満足する場合には、 第1の所定クランク角(2゜CA) ≦θK<第2の所定クランク角(4゜CA) ………(7) 学習制御せずにメインルーチへリターンする。この結
果、補正遅角量θKが所定範囲の値をとるときは学習制
御されず、学習遅角量によつては点火時期が変更されな
い。なお、補正遅角量が所定範囲の値をとるときにおい
ても、必要に応じて学習制御するようにしてもよい。ス
テツプ119において補正遅角量θKが第2の所定クラ
ンク角以上と判断された場合には、ステツプ120にお
いて現在のエンジン条件を示す点を囲む学習マツプ上の
4点に記憶されている学習遅角量の各々に、所定クラン
ク角(例えば0.04゜CA)加算する学習制御を行
い、メインルーチンへリターンする。この結果、補正遅
角量θKが第2の所定クランク角以上であるときには学
習マツプの学習遅角量が大きくなるように学習制御さ
れ、学習遅角量によつて点火時期が遅れるように制御さ
れる。
以上のような学習制御することによつて、補正遅角量が
所定範囲の値になるように学習マツプの学習遅角量が変
更される。
所定範囲の値になるように学習マツプの学習遅角量が変
更される。
以下に第12図の学習ルーチンを詳細に説明する。
第13図は、第12図ステツプ115の2次元補間法の
詳細なルーチンを示すものである。この2次元補間ルー
チンにおいて、学習マツプとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点のRAMの番
地を第2図に示すようにn、n+1、n+6、n+7と
する。まず、ステツプ130において、現在の負荷Q/N
が学習マツプ上の負荷の上限値すなわち1.2〔/re
v.〕以下であるか否かを判断する。負荷が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に各々記憶される。
詳細なルーチンを示すものである。この2次元補間ルー
チンにおいて、学習マツプとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点のRAMの番
地を第2図に示すようにn、n+1、n+6、n+7と
する。まず、ステツプ130において、現在の負荷Q/N
が学習マツプ上の負荷の上限値すなわち1.2〔/re
v.〕以下であるか否かを判断する。負荷が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においてレジスタnの値を
負荷の目盛り間隔である0.2〔/rev.〕で除算し、
その商の整数部をレジスタnに記憶させると共に商の余
りをレジスタ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に記憶させる。このレジスタの値は、第
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の値をエンジン回転数の目
盛り間隔である1000〔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 に対応した値が記憶されてい
る。
から0番地のエンジン回転数の値1000 〔r・p・m〕
を減算した値をレジスタmに記憶させる。次に、ステツ
プ146においてレジスタmの値をエンジン回転数の目
盛り間隔である1000〔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に記憶される。
してレジスタ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に記憶させ
る。続いて、ステツプ15においてレジスタ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に記憶させ
る。続いて、ステツプ15においてレジスタAの値から
レジスタBの値を減算してレジスタxの値を乗算し、更
にその値のレジスタAの値を加算してレジスタEに記憶
させる。また、ステツプ152においてレジスタCの値
からレジスタDの値を減算してレジスタxの値を乗算
し、更にその値にレジスタCの値を加算してレジスタF
に記憶させる。そして最後にステツプ153において、
レジスタEの値からレジスタFの値を減算してレジスタ
yの値を乗算し、更にその値にレジスタEの値を加算し
て、現在のエンジン条件を示す点の学習遅角量θKGとす
る。
次に、第12図のステツプ118〜ステツプ121の詳
細なルーチンを第14図に示す。なお、第14図におけ
るレジスタnは第13図の2次元補間ルーチンのレジス
タnを用いる。まず、ステツプ118において、前記と
同様に補正遅角量θKが2゜CA以上であるか否かを判
断する。補正遅角量θKが2゜CA未満であるときには
ステツプ160 において学習値αを−0.04゜CAとし
てステツプ162へ進む。補正遅角量θKが2゜CA以
上の場合には、ステツプ119において補正遅角量θK
が4゜CA以上であるか否かを判断する。補正遅角量θ
Kが4゜CA未満である場合はメインルーチンへリター
ンし、補正遅角量θKが4゜CA以上の場合にはステツ
プ161において学習値αを0.04゜CAとしてステ
ツプ162へ進む。ステツプ162では負荷Q/N が学習
マツプの下限値0.6〔/rev.〕以上であるか否かを
判断する。負荷が0.6以上である場合にはステツプ1
66においてエンジン回転数Nが学習マツプの下限値10
00 〔r・p・m〕以上であるか否かを判断し、負荷が
0.6未満である場合にはステツプ163においてエン
ジン回転数Nが1000 〔r・p・m〕以下であるか否か
を判断する。
細なルーチンを第14図に示す。なお、第14図におけ
るレジスタnは第13図の2次元補間ルーチンのレジス
タnを用いる。まず、ステツプ118において、前記と
同様に補正遅角量θKが2゜CA以上であるか否かを判
断する。補正遅角量θKが2゜CA未満であるときには
ステツプ160 において学習値αを−0.04゜CAとし
てステツプ162へ進む。補正遅角量θKが2゜CA以
上の場合には、ステツプ119において補正遅角量θK
が4゜CA以上であるか否かを判断する。補正遅角量θ
Kが4゜CA未満である場合はメインルーチンへリター
ンし、補正遅角量θKが4゜CA以上の場合にはステツ
プ161において学習値αを0.04゜CAとしてステ
ツプ162へ進む。ステツプ162では負荷Q/N が学習
マツプの下限値0.6〔/rev.〕以上であるか否かを
判断する。負荷が0.6以上である場合にはステツプ1
66においてエンジン回転数Nが学習マツプの下限値10
00 〔r・p・m〕以上であるか否かを判断し、負荷が
0.6未満である場合にはステツプ163においてエン
ジン回転数Nが1000 〔r・p・m〕以下であるか否か
を判断する。
ステツプ166においてエンジン回転数Nが1000 〔r
・p・m〕未満と判断された場合には、ステツプ167
においてn番地における前回学習された学習遅角量θ
KGn に学習値αが加算される学習制御が行われ、ステツ
プ168においてn+1 番地における前回学習された学習
値角量θKG(n+1) に学習値αが加算される学習制御が行
われ、メインルーチンへリターンされる。ここで上記の
ように現在のエンジン回転数Nおよび負荷Q/N がQ/N ≧
0.6〔/rev.〕かつN<1000 〔r・p・m〕の領
域に存在する場合には、RAMの番地を示すレジスタn
の値は第1行の0、6、12、18を取り得るので、現
在のエンジ条件を示す点が上記の領域に存在する場合
に、ステツプ167で0、6、12、18番地の学習遅
角量が学習制御され、ステツプ168で1、7、13、
19番地の学習遅角量が学習制御される。
・p・m〕未満と判断された場合には、ステツプ167
においてn番地における前回学習された学習遅角量θ
KGn に学習値αが加算される学習制御が行われ、ステツ
プ168においてn+1 番地における前回学習された学習
値角量θKG(n+1) に学習値αが加算される学習制御が行
われ、メインルーチンへリターンされる。ここで上記の
ように現在のエンジン回転数Nおよび負荷Q/N がQ/N ≧
0.6〔/rev.〕かつN<1000 〔r・p・m〕の領
域に存在する場合には、RAMの番地を示すレジスタn
の値は第1行の0、6、12、18を取り得るので、現
在のエンジ条件を示す点が上記の領域に存在する場合
に、ステツプ167で0、6、12、18番地の学習遅
角量が学習制御され、ステツプ168で1、7、13、
19番地の学習遅角量が学習制御される。
ステツプ166においてエンジ回転数Nが1000 〔r・
p・m〕以上と判断された場合には、ステツプ169に
おいてn番地における前回学習された学習遅角量θKGに
学習値αが加算される学習制御が行われる。現在のエン
ジン条件を示す点がQ/N ≧0.6〔/rev.〕かつN≧
1000 〔r・p・m〕の領域に存在する場合には、RA
Mの番地を示すレジスタnの値は0〜23を取り得るの
で、ステツプ169においては全ての番地が学習制御の
対象になる。次のステツプ170ではレジスタnの値が
23でないか否かを判断する。レジスタnの値が23で
ない場合には、ステツプ171、ステツプ173、ステ
ツプ174において各々レジスタnの値が17でないか
否か、11でないか否か、5でないか否かを判断する。
このレジスタnの値5、11、17、23は、第6行の
番地を表わしている。レジスタnの値が23であるとき
は、そのままメインルーチへリターンする。このときの
23番地の学習遅角量はステツプ169で学習制御され
ることになる。レジスタnの値が17、11、5である
ときは、ステツプ172においてレジスタnの値を1減
少させてステツプ178においてn+7番地の学習遅角
量θKG(n+7) に学習値αを加算する学習制御を行つて、
メインルーチンへリターンする。従つて、レジスタnの
値が17、11、5であるときは、ステツプ169 で1
7、11、5番地の学習遅角量が各々制御され、ステツ
プ178において1列上の23、17、11番地の学習
遅角量が各々学習制御されることになる。
p・m〕以上と判断された場合には、ステツプ169に
おいてn番地における前回学習された学習遅角量θKGに
学習値αが加算される学習制御が行われる。現在のエン
ジン条件を示す点がQ/N ≧0.6〔/rev.〕かつN≧
1000 〔r・p・m〕の領域に存在する場合には、RA
Mの番地を示すレジスタnの値は0〜23を取り得るの
で、ステツプ169においては全ての番地が学習制御の
対象になる。次のステツプ170ではレジスタnの値が
23でないか否かを判断する。レジスタnの値が23で
ない場合には、ステツプ171、ステツプ173、ステ
ツプ174において各々レジスタnの値が17でないか
否か、11でないか否か、5でないか否かを判断する。
このレジスタnの値5、11、17、23は、第6行の
番地を表わしている。レジスタnの値が23であるとき
は、そのままメインルーチへリターンする。このときの
23番地の学習遅角量はステツプ169で学習制御され
ることになる。レジスタnの値が17、11、5である
ときは、ステツプ172においてレジスタnの値を1減
少させてステツプ178においてn+7番地の学習遅角
量θKG(n+7) に学習値αを加算する学習制御を行つて、
メインルーチンへリターンする。従つて、レジスタnの
値が17、11、5であるときは、ステツプ169 で1
7、11、5番地の学習遅角量が各々制御され、ステツ
プ178において1列上の23、17、11番地の学習
遅角量が各々学習制御されることになる。
レジスタnの値が23、17、11、5のいずれでもな
いときは、ステツプ175においてn+1 番地の学習遅角
量θKG(n+1) に学習値αが加算される学習制御が行われ
る。すなわち、2次元補間ルーチンのステツプ149で
求めたRAMの番地が第6行上にないときには、ステツ
ツ169およびステツプ175において、2次元補間ル
ーチンで求めたRAMの番地とこの番地の右隣りの番地
とが学習制御される。ステツプ176では、レジスタn
の値が17未満であるか否かを判断し、レジスタnの値
が17以上である場合にはメインルーチンへリターす
る。すなわち、RAMの番地が第4列の18〜22であ
るときは、ステツプ169およびステツプ175におい
てレジスタnに記憶された番地とその右隣りの番地とが
学習制御される。一方、レジスタnの値が17未満であ
るとき、すなわち現在のエンジン条件を示す点を囲む4
つの番地が存在するときは、ステツプ177でn+6番
地の学習遅角量θKG(n+6) に学習値αを加算する学習制
御が行われ、ステツプ178でn+7番地の学習遅角量
θKG(n+7) に学習値αを加算する学習制御が行われる。
この結果、現在のエンジン条件を示す点を囲む4つの番
地が存在すときには、ステツプ169、ステツプ17
5、ステツプ177おびステツプ178において上記4
つの番地の学習遅角量が学習制御される。
いときは、ステツプ175においてn+1 番地の学習遅角
量θKG(n+1) に学習値αが加算される学習制御が行われ
る。すなわち、2次元補間ルーチンのステツプ149で
求めたRAMの番地が第6行上にないときには、ステツ
ツ169およびステツプ175において、2次元補間ル
ーチンで求めたRAMの番地とこの番地の右隣りの番地
とが学習制御される。ステツプ176では、レジスタn
の値が17未満であるか否かを判断し、レジスタnの値
が17以上である場合にはメインルーチンへリターす
る。すなわち、RAMの番地が第4列の18〜22であ
るときは、ステツプ169およびステツプ175におい
てレジスタnに記憶された番地とその右隣りの番地とが
学習制御される。一方、レジスタnの値が17未満であ
るとき、すなわち現在のエンジン条件を示す点を囲む4
つの番地が存在するときは、ステツプ177でn+6番
地の学習遅角量θKG(n+6) に学習値αを加算する学習制
御が行われ、ステツプ178でn+7番地の学習遅角量
θKG(n+7) に学習値αを加算する学習制御が行われる。
この結果、現在のエンジン条件を示す点を囲む4つの番
地が存在すときには、ステツプ169、ステツプ17
5、ステツプ177おびステツプ178において上記4
つの番地の学習遅角量が学習制御される。
ステップ162で負荷が0.6〔/rev.〕未満と判断
された場合にはステツプ163でエンジン回転数が1000
〔r・p・m〕以下か否か判断され、エンジン回転数
が1000 〔r・p・m〕以下の場合にはステツプ165
でレジスタnの値から7減算し、ステツプ178で学習
制御を行う。現在のエンジン条件を示す点がQ/N <0.
6〔/rev.〕かつN≦1000 〔r・p・m〕の領域に
存在するときには、レジスタnの値は0となるため、こ
の場合のステツプ178では0番地の学習遅角量が学習
制御されることになる。一方、エンジン回転数Nが1000
〔r・p・m〕を越えているときには、ステツプ16
4においてレジスタnの値が5であるか否かを判断し、
5でないときはステツプ179においてレジスタnの値
から6減算し、ステツプ177およびステツプ178に
おいてn+6番地およびn+7番地の学習遅角量を学習
制御する。また、レジスタnの値が5のときにはステツ
プ180でレジスタnの値から7減算し、ステツプ17
8において学習制御を行う。現在のエンジン条件を示す
点がQ/N <0.6〔/rev.〕かつN>1000 〔r・p
・m〕の領域に存在するときには、レジスタnの値は第
1列の番地の値を取り得るため、レジスタnの値が5の
ときはステツプ178で5番地の学習遅角量が学習制御
され、レジスタnの値が0、1、2、3、4のときはス
テツプ177およびステツプ178においてレジスタn
の値の番地とその右隣りの番地の学習遅角量が学習制御
される。
された場合にはステツプ163でエンジン回転数が1000
〔r・p・m〕以下か否か判断され、エンジン回転数
が1000 〔r・p・m〕以下の場合にはステツプ165
でレジスタnの値から7減算し、ステツプ178で学習
制御を行う。現在のエンジン条件を示す点がQ/N <0.
6〔/rev.〕かつN≦1000 〔r・p・m〕の領域に
存在するときには、レジスタnの値は0となるため、こ
の場合のステツプ178では0番地の学習遅角量が学習
制御されることになる。一方、エンジン回転数Nが1000
〔r・p・m〕を越えているときには、ステツプ16
4においてレジスタnの値が5であるか否かを判断し、
5でないときはステツプ179においてレジスタnの値
から6減算し、ステツプ177およびステツプ178に
おいてn+6番地およびn+7番地の学習遅角量を学習
制御する。また、レジスタnの値が5のときにはステツ
プ180でレジスタnの値から7減算し、ステツプ17
8において学習制御を行う。現在のエンジン条件を示す
点がQ/N <0.6〔/rev.〕かつN>1000 〔r・p
・m〕の領域に存在するときには、レジスタnの値は第
1列の番地の値を取り得るため、レジスタnの値が5の
ときはステツプ178で5番地の学習遅角量が学習制御
され、レジスタnの値が0、1、2、3、4のときはス
テツプ177およびステツプ178においてレジスタn
の値の番地とその右隣りの番地の学習遅角量が学習制御
される。
上記の第14図の学習ルーチンにおける学習遅角量θKG
を学習制御によつて更新するときの補正遅角量θKの条
件と学習遅角量θKGの増減との関係をまとめて次表に示
す。
を学習制御によつて更新するときの補正遅角量θKの条
件と学習遅角量θKGの増減との関係をまとめて次表に示
す。
また、第15図に時間経過に対する補正遅角量θK、学
習遅角量θKG、点火時期θigの変動を示す。図から理解
されるように、補正遅角量θKが所定範囲の値のときに
は学習遅角量θKGは一定であり、補正遅角量θKが所定
範囲を越えたときには学習遅角量θKGが増加し、補正遅
角量θKが所定範囲未満のとき減少している。
習遅角量θKG、点火時期θigの変動を示す。図から理解
されるように、補正遅角量θKが所定範囲の値のときに
は学習遅角量θKGは一定であり、補正遅角量θKが所定
範囲を越えたときには学習遅角量θKGが増加し、補正遅
角量θKが所定範囲未満のとき減少している。
更に、第16図にエンジン回転数に対応する点火時期の
変動を示す。第16図において曲線C1〜C3は第3図
のものと同一であり、ノツキングが発生し易い場合でも
ノツキングが発生しくい場合でも補正遅角量θKが常に
一定になつていることが理解される。
変動を示す。第16図において曲線C1〜C3は第3図
のものと同一であり、ノツキングが発生し易い場合でも
ノツキングが発生しくい場合でも補正遅角量θKが常に
一定になつていることが理解される。
以上の学習制御ルーチンが行われた後、第17図に示す
軽負荷側と特定番地の学習遅角量を一定にするルーチン
が実行される。このルーチンは、第12図の学習制御ル
ーチンに続くものであり、このルーチン終了後はメイン
ルーチンへ続くものである。ステツプ190において、
第1図に示す学習マツプ上の軽負荷側における所定負荷
以下の特定のRAMの番地(本実施例では第1図の斜線
で示す範囲に存在する番地0、1、2、3、4、5、
9、10、11としている)に記憶されている学習遅角
量を所定クランク量(例えば0゜CA)に書換える。
軽負荷側と特定番地の学習遅角量を一定にするルーチン
が実行される。このルーチンは、第12図の学習制御ル
ーチンに続くものであり、このルーチン終了後はメイン
ルーチンへ続くものである。ステツプ190において、
第1図に示す学習マツプ上の軽負荷側における所定負荷
以下の特定のRAMの番地(本実施例では第1図の斜線
で示す範囲に存在する番地0、1、2、3、4、5、
9、10、11としている)に記憶されている学習遅角
量を所定クランク量(例えば0゜CA)に書換える。
上記のように軽負荷側の特定の学習遅角量を一定値にす
ることにより、負荷Q/N に対する基本点火進角からの要
求遅角量(θK+θKG)は第18図に示す特性となる。
第18図はエンジン回転数が2000 〔r・p・m〕、40
00〔r・p・m〕の特性を示すものであるが、軽負荷側
においてはノッキングが発生する点火時期が基本点火進
角より進み側にありかつ学習遅角量を0゜CAの一定値
にしているため、要求遅角量が0゜CAになつており、
遅角量の立上りがスムーズになつていることが理解され
る。
ることにより、負荷Q/N に対する基本点火進角からの要
求遅角量(θK+θKG)は第18図に示す特性となる。
第18図はエンジン回転数が2000 〔r・p・m〕、40
00〔r・p・m〕の特性を示すものであるが、軽負荷側
においてはノッキングが発生する点火時期が基本点火進
角より進み側にありかつ学習遅角量を0゜CAの一定値
にしているため、要求遅角量が0゜CAになつており、
遅角量の立上りがスムーズになつていることが理解され
る。
なお、第19図にエンジン回転数2000 〔r・p・m〕
における負荷Q/N に対するノツキング発生点火時期の特
性曲線を実線で示す。破線は基本点火進角の特性であ
る。
における負荷Q/N に対するノツキング発生点火時期の特
性曲線を実線で示す。破線は基本点火進角の特性であ
る。
第1図は学習マツプを示す説明図、第2図は現在のエン
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図はエンジン回転数と点火時期との関係を示す線図、
第4図は本発明が適用されるエンジンを示す概略図、第
5図は第4図の電子制御回路を示すブロツク図、第6図
は30゜CA毎の割込みルーチンの流れ図、第7図は時
刻一致割込みAの流れ図、第8図は時刻一致割込みBの
流れ図、第9図はA/D 完了割込みルーチンの流れ図、第
10図は4msec毎の割込みルーチンを示す流れ図、第1
1図は補正遅角量を更新するルーチンの流れ図、第12
図は学習制御ルーチンの流れ図、第13図は2次元補間
ルーチンの流れ図、第14図は前記学習ルーチンの詳細
を示す流れ図、第15図は時間経過に対する補正遅角量
・学習遅角量・点火時期の変動を示す線図、第16図は
第3図と同様のエンジン回転数と点火時期との関係・補
正遅角量および学習遅角量の関係を示す線図、第17図
は特定の学習遅角量を一定値にするためのルーチンを示
す流れ図、第18図は負荷に対する要求遅角量の特性を
示す線図、第19図は負荷に対する点火時期の特性を示
す線図である。 2……エアフローメータ、 12……燃料噴射弁、 18……ノツキングセンサ、 32……エンジン回転角センサ、 34……電子制御回路。
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図はエンジン回転数と点火時期との関係を示す線図、
第4図は本発明が適用されるエンジンを示す概略図、第
5図は第4図の電子制御回路を示すブロツク図、第6図
は30゜CA毎の割込みルーチンの流れ図、第7図は時
刻一致割込みAの流れ図、第8図は時刻一致割込みBの
流れ図、第9図はA/D 完了割込みルーチンの流れ図、第
10図は4msec毎の割込みルーチンを示す流れ図、第1
1図は補正遅角量を更新するルーチンの流れ図、第12
図は学習制御ルーチンの流れ図、第13図は2次元補間
ルーチンの流れ図、第14図は前記学習ルーチンの詳細
を示す流れ図、第15図は時間経過に対する補正遅角量
・学習遅角量・点火時期の変動を示す線図、第16図は
第3図と同様のエンジン回転数と点火時期との関係・補
正遅角量および学習遅角量の関係を示す線図、第17図
は特定の学習遅角量を一定値にするためのルーチンを示
す流れ図、第18図は負荷に対する要求遅角量の特性を
示す線図、第19図は負荷に対する点火時期の特性を示
す線図である。 2……エアフローメータ、 12……燃料噴射弁、 18……ノツキングセンサ、 32……エンジン回転角センサ、 34……電子制御回路。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 安西 克史 愛知県豊田市トヨタ町1番地 トヨタ自動 車株式会社内 (56)参考文献 特開 昭57−105530(JP,A)
Claims (3)
- 【請求項1】ノッキング制御領域とノッキング非制御領
域とを区別し、前記ノッキング制御領域において、エン
ジン回転数と負荷とによって定まる基本点火進角から、
ノッキングが発生したとき点火時期を遅らせ且つノッキ
ングが発生しないとき点火時期を進めるよう設定される
補正遅角量とノッキングのレベルを所定レベルにするた
め前記補正遅角量の大きさが学習制御により第1の所定
値もしくは第1の所定値の絶対値より小なる絶対値を有
する第2の所定値のときその値が書き換えられる学習遅
角量との和を減算して、ノッキングを制御する内燃機関
のノッキング制御方法において、前記ノッキング制御領
域内で前記非ノッキング制御領域に隣接する軽負荷側の
所定負荷以下における特定の学習遅角量を一定の値にす
ることを特徴とする内燃機関のノッキング制御方法。 - 【請求項2】前記一定の値が零である特許請求の範囲第
1項記載の内燃機関のノッキング制御方法。 - 【請求項3】前記補正遅角量が所定範囲の値になるよう
に前記特定の学習遅角量を除く学習遅角量を学習制御す
る特許請求の範囲第1項および第2項のいずれか1項記
載の内燃機関のノッキング制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57223204A JPH0646023B2 (ja) | 1982-12-20 | 1982-12-20 | 内燃機関のノツキング制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57223204A JPH0646023B2 (ja) | 1982-12-20 | 1982-12-20 | 内燃機関のノツキング制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59113267A JPS59113267A (ja) | 1984-06-29 |
JPH0646023B2 true JPH0646023B2 (ja) | 1994-06-15 |
Family
ID=16794418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57223204A Expired - Lifetime JPH0646023B2 (ja) | 1982-12-20 | 1982-12-20 | 内燃機関のノツキング制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0646023B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4640249A (en) * | 1984-06-30 | 1987-02-03 | Nissan Motor Company, Limited | System for controlling an ignition timing in an internal combustion engine and method therefor |
-
1982
- 1982-12-20 JP JP57223204A patent/JPH0646023B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS59113267A (ja) | 1984-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0711265B2 (ja) | 内燃機関のノツキング制御方法 | |
JPH0811950B2 (ja) | 点火時期制御装置 | |
JPH0646023B2 (ja) | 内燃機関のノツキング制御方法 | |
JPS59145364A (ja) | 内燃機関の点火時期制御方法 | |
JPH0646026B2 (ja) | 内燃機関のノツキング制御方法 | |
JPH0646022B2 (ja) | 内燃機関のノツキング制御方法 | |
JP2625933B2 (ja) | 内燃機関の点火時期制御装置 | |
JPS63106365A (ja) | 内燃機関の点火時期制御方法 | |
JPH0536634B2 (ja) | ||
JPH076482B2 (ja) | 内燃機関のノツキング制御方法 | |
JPH0646025B2 (ja) | 内燃機関のノツキング制御方法 | |
JP2597125B2 (ja) | 内燃機関の点火時期制御装置 | |
JPH0315035B2 (ja) | ||
JPH0637868B2 (ja) | エンジンのノツキング抑制装置 | |
JPS59138774A (ja) | 内燃機関のノツキング制御方法 | |
JPS59136575A (ja) | 多気筒エンジンのノツキング制御方法 | |
JPS59116528A (ja) | 多気筒エンジンのノツキング判定方法 | |
JPH0784861B2 (ja) | 内燃機関の点火時期制御方法 | |
JPS593175A (ja) | 多気筒内燃機関のノツキング制御装置 | |
JPH0419384B2 (ja) | ||
JPS6380075A (ja) | 内燃機関の点火時期制御装置 | |
JPH0646024B2 (ja) | 内燃機関のノツキング制御方法 | |
JPS59136573A (ja) | 内燃機関のノツキング制御方法 | |
JPH0526952B2 (ja) | ||
JPS6323382B2 (ja) |