JPS59113264A - 内燃機関のノツキング制御方法 - Google Patents
内燃機関のノツキング制御方法Info
- Publication number
- JPS59113264A JPS59113264A JP57222743A JP22274382A JPS59113264A JP S59113264 A JPS59113264 A JP S59113264A JP 57222743 A JP57222743 A JP 57222743A JP 22274382 A JP22274382 A JP 22274382A JP S59113264 A JPS59113264 A JP S59113264A
- Authority
- JP
- Japan
- Prior art keywords
- learning
- value
- amount
- knocking
- 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.)
- Granted
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/155—Analogue data processing
- F02P5/1553—Analogue data processing by determination of elapsed angle with reference to a particular point on the motor axle, dependent on specific conditions
-
- 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は内燃機関のノッキング制御方法に係シ、特にノ
ッキングの有無によって比較的速い速度で遅進角を行う
ための補正遅角量とノッキングの有無によって比較的遅
い速度で遅進角を行いかつ学習制御によって変更される
学習遅角量とによって、基本点火進角を補正してノッキ
ングを制御する方法の学習制御の改良に関する。
ッキングの有無によって比較的速い速度で遅進角を行う
ための補正遅角量とノッキングの有無によって比較的遅
い速度で遅進角を行いかつ学習制御によって変更される
学習遅角量とによって、基本点火進角を補正してノッキ
ングを制御する方法の学習制御の改良に関する。
従来の学習制御によるノッキング制御方法は、エンジン
回転数N1吸入空気量Qとエンジン回転数Nとの比Q/
Nまたは吸気管負圧で定まる負荷によって予め定まる基
本点火進角θaAsxkマイクロコンピュータのリード
オンリメモリ (ROM)にマツプの形で記憶させてお
き、次の(1)式に基いて実際にイグナイタを制御する
点火進角θIを演算し、この点火進角を用いてノッヤン
グ制御を行うものである。
回転数N1吸入空気量Qとエンジン回転数Nとの比Q/
Nまたは吸気管負圧で定まる負荷によって予め定まる基
本点火進角θaAsxkマイクロコンピュータのリード
オンリメモリ (ROM)にマツプの形で記憶させてお
き、次の(1)式に基いて実際にイグナイタを制御する
点火進角θIを演算し、この点火進角を用いてノッヤン
グ制御を行うものである。
θiy=θBABK (θKG+θK)・・・・・
・曲・・(1)ただし、θKGはノッキングのレベルk
Wi 定レベルにするためにエンジン回転数と負荷と
によって定まりかつ学習制御によって変更される学習遅
角量、θにはノッキングが発生したとき点火時期を遅ら
せかつノッキングが発生しなくなったとき点火時期を進
める補正遅角量である。
・曲・・(1)ただし、θKGはノッキングのレベルk
Wi 定レベルにするためにエンジン回転数と負荷と
によって定まりかつ学習制御によって変更される学習遅
角量、θにはノッキングが発生したとき点火時期を遅ら
せかつノッキングが発生しなくなったとき点火時期を進
める補正遅角量である。
ここで、補正遅角量θには次のようにして求められる。
まず、マイクロホン等で構成されたノッキングセンサを
用いてエンジンの振動を検出し、エンジン振動の平均値
(バックグランド)bの所定倍に、A(ただしKは比例
定数)とエンジン振動のピーク値aとを求め、このピー
ク値αとK・bの値とを比較する。ピーク値αかにφb
の値を越えたときには、ノッキング発生と判断して次の
(2)式に示すようにノッキング発生1回あたシ所定ク
ランク角(例えば0.4°CA)点火時期が遅れるよう
補正遅角量θKを変更する。
用いてエンジンの振動を検出し、エンジン振動の平均値
(バックグランド)bの所定倍に、A(ただしKは比例
定数)とエンジン振動のピーク値aとを求め、このピー
ク値αとK・bの値とを比較する。ピーク値αかにφb
の値を越えたときには、ノッキング発生と判断して次の
(2)式に示すようにノッキング発生1回あたシ所定ク
ランク角(例えば0.4°CA)点火時期が遅れるよう
補正遅角量θKを変更する。
θに←θx+0.4°CA ・・・・・・・・・・・
・・・・・・・・・・ (2)またピーク値αかに−6
の値以下のときには、ノッキングが発生しなかったと判
断して、第1のタイマを用いて所定時間(例えば48−
)経過したか否かを判断し、所定時間経過したときには
次の(3)式に示すように所定クランク角(例えば0.
08゜CA)点火時期が進むように補正遅角量θKを変
更する。
・・・・・・・・・・ (2)またピーク値αかに−6
の値以下のときには、ノッキングが発生しなかったと判
断して、第1のタイマを用いて所定時間(例えば48−
)経過したか否かを判断し、所定時間経過したときには
次の(3)式に示すように所定クランク角(例えば0.
08゜CA)点火時期が進むように補正遅角量θKを変
更する。
θに←θK −0,08°CA ・・・・・・・・・
曲・・ (3)また、エンジン条件に応じた学習遅角量
θKGは次のようにして算出される。まず、第1図に示
すようにエンジン回転数Nと負荷Q/Nとに対応させて
学習遅角量を記憶させる番地O〜23をマイクロコンピ
ュータのランダムアクセスメモリ (RAM)に用意し
て学習マツプを作成しておく。エンジン回転数Nと吸入
空気量Qとを取込み、学習マツプ上において現在のエン
ジン条件を示す点(N、Q/N)を囲む4点のRAMの
番地を求める。
曲・・ (3)また、エンジン条件に応じた学習遅角量
θKGは次のようにして算出される。まず、第1図に示
すようにエンジン回転数Nと負荷Q/Nとに対応させて
学習遅角量を記憶させる番地O〜23をマイクロコンピ
ュータのランダムアクセスメモリ (RAM)に用意し
て学習マツプを作成しておく。エンジン回転数Nと吸入
空気量Qとを取込み、学習マツプ上において現在のエン
ジン条件を示す点(N、Q/N)を囲む4点のRAMの
番地を求める。
今、第2図に示すように現在のエンジン除けを示す点を
囲むRAMの番地がn(n =Q、l、・16 )、ル
+1、ル+6、ル+7であシ、番地ルに学習遅角量θK
GFL %番地ル+1に学習遅角量θKG(トH)、番
地ル+6に学習遅角量θKG (rL+6 ) 、番地
ル+7に学習遅角量θKG(rL+7)が各々記憶され
ているものとする。そして、番地間のエンジン回転数の
差をX1番地間の負荷の差をY1番地ルと現在のエンジ
ン条件を示す点との間のエンジン回転数の差をx1番地
ルと現在のエンジン条件を示す点との間の負荷の差をy
とすれば、以下の(4)〜(6)式に示す2次元補間法
によシ現在のエンジン&f’?−を示す点の学習遅角量
θKGが求められる。
囲むRAMの番地がn(n =Q、l、・16 )、ル
+1、ル+6、ル+7であシ、番地ルに学習遅角量θK
GFL %番地ル+1に学習遅角量θKG(トH)、番
地ル+6に学習遅角量θKG (rL+6 ) 、番地
ル+7に学習遅角量θKG(rL+7)が各々記憶され
ているものとする。そして、番地間のエンジン回転数の
差をX1番地間の負荷の差をY1番地ルと現在のエンジ
ン条件を示す点との間のエンジン回転数の差をx1番地
ルと現在のエンジン条件を示す点との間の負荷の差をy
とすれば、以下の(4)〜(6)式に示す2次元補間法
によシ現在のエンジン&f’?−を示す点の学習遅角量
θKGが求められる。
(5)
そして上記学習マツプの学習制御は、次のようにして行
なわれる。まず、現在のエンジン条件に応じて学習制御
の時間を決定する第2のタイマと、エンジンtQに無関
係に学習制御の時間を決定する第3のタイマとを用意す
る。第2のタイマにより所定時間(例えば48m5ec
)経過したことが検出されたときには、補正遅角量θK
が変更されて所定クランク角(例えば4°CA)を越え
たが否かを判断し、補正遅角量θKが所定クランク角を
越えたときに、上記で説明した現在のエンジン条件を示
す点を囲む学習マツプ上の4点に所定の学習値(例えば
0,04°CA)加算する学習制御を行う。
なわれる。まず、現在のエンジン条件に応じて学習制御
の時間を決定する第2のタイマと、エンジンtQに無関
係に学習制御の時間を決定する第3のタイマとを用意す
る。第2のタイマにより所定時間(例えば48m5ec
)経過したことが検出されたときには、補正遅角量θK
が変更されて所定クランク角(例えば4°CA)を越え
たが否かを判断し、補正遅角量θKが所定クランク角を
越えたときに、上記で説明した現在のエンジン条件を示
す点を囲む学習マツプ上の4点に所定の学習値(例えば
0,04°CA)加算する学習制御を行う。
一方、第3のタイマにより所定時間(例えば16式)経
過したことが検出されたときには、ノッキングの発生と
無関係に学習マツプ上の全ての番地の学習遅角量から所
定の学習値(例えば0.01CA)減算して、点火時期
が進むように学習制御する。
過したことが検出されたときには、ノッキングの発生と
無関係に学習マツプ上の全ての番地の学習遅角量から所
定の学習値(例えば0.01CA)減算して、点火時期
が進むように学習制御する。
しかし、上記の学習制御では、プログラムが短かくなる
という利点を有するが、エンジン条件に応じた適正な学
習制御を行うことができず、このためノッキング制御が
不正確になり大ノッキングが発生したり、エンジン出力
が低下するという問題が生じていた。
という利点を有するが、エンジン条件に応じた適正な学
習制御を行うことができず、このためノッキング制御が
不正確になり大ノッキングが発生したり、エンジン出力
が低下するという問題が生じていた。
上記問題点を解消して全てのエンジン条件で適正な学習
制御を行うために、現在のエンジン条件を示す点とこの
点を囲む4点との距離を算出し、この距離に応じて重み
を付けて以下の式に示すように学習値を分配して学習制
御することが行なわれている。
制御を行うために、現在のエンジン条件を示す点とこの
点を囲む4点との距離を算出し、この距離に応じて重み
を付けて以下の式に示すように学習値を分配して学習制
御することが行なわれている。
ただし、αは学習値、”rL z rfL+1、rTL
+6、rrL+7は各々現在のエンジン条件を示す点と
この点を囲む4つの番地との学習マツプ上の距離である
。
+6、rrL+7は各々現在のエンジン条件を示す点と
この点を囲む4つの番地との学習マツプ上の距離である
。
しかし、かかる学習制御では、距11111 rnX?
”7L+1等を求めるためにエンジン回転数の平方と負
荷の平方との和の平方根を求める必要があり、このため
マイクロコンピュータのプログラムが長く、コンピュー
タの制御に取入れにくいという問題がある。
”7L+1等を求めるためにエンジン回転数の平方と負
荷の平方との和の平方根を求める必要があり、このため
マイクロコンピュータのプログラムが長く、コンピュー
タの制御に取入れにくいという問題がある。
また、この問題のために計算時間が長くかがり、高エン
ジン回転時にノッキング制御の頻度を少くする等の必要
がある。このため高エンジン回転時にノッキングが多発
した)、点火時期の遅角しすぎにより出力が低下すると
いう問題が生じる。
ジン回転時にノッキング制御の頻度を少くする等の必要
がある。このため高エンジン回転時にノッキングが多発
した)、点火時期の遅角しすぎにより出力が低下すると
いう問題が生じる。
本発明は上記問題を解消すべく成されたもので、プログ
ラムを短くすると共に、現在のエンジン条件に近い番地
の学習値を大きくかつ現在のエンジン条件に遠い番地の
学習値を小さくして、全てのエンジン条件で適正な学習
制御が行なえるようにした内燃機関のノッキング制御方
法を提供することを目的とする。
ラムを短くすると共に、現在のエンジン条件に近い番地
の学習値を大きくかつ現在のエンジン条件に遠い番地の
学習値を小さくして、全てのエンジン条件で適正な学習
制御が行なえるようにした内燃機関のノッキング制御方
法を提供することを目的とする。
上記目的を達成するために本発明の構成は、エンジン回
転数と負荷とで表わされるエンジン運転条件に対応して
定められた番地に学習制御によって変更されかつノッキ
ングレベルを所定レベルにするための学習遅角量を記憶
すると共に現在のエンジン運転条件を囲む特定番地の学
習遅角量に所定値(学習値)を加減算して前記学習制御
を行い、前記特定番地の学習遅角量に基づいて前記現在
のエンジン運転条件に対応する学習遅角量を求め、前記
エンジン運転条件に応じて定められた基本点火進角から
前記水められた学習遅角量とノッキングに応じて点火時
期を遅進角させる補正遅角量との和を減算して、ノッキ
ングを制御する内燃機関のノッキング制御方法において
、前記特定番地間のエンジン回転数の差に対する現在の
エンジン回転数と前記特定番地のエンジン回転数との差
の割合で前記所定値を分配すると共に、前記特定番地間
の負荷の差に対する現在の負荷と前記特定番地の負荷と
の差の割合で前記分配された所定値を更に分h”t L
、現在のエンジン運転条件に近い特定番地の学習量が
大きくなりかつ現在のエンジン運転条件から遠い特定番
地の学習量が小さくなるようにしたものである。この結
果、プログラムが短かくなるためマイクロコンピュータ
の限られたプログラムに組入れることができ、演算時間
が短かくなるため高エンジン回転でも低エンジン回転で
も同じように学習制御を行うことができ、ノッキングの
制御が向上するという特有の効果が得られる。
転数と負荷とで表わされるエンジン運転条件に対応して
定められた番地に学習制御によって変更されかつノッキ
ングレベルを所定レベルにするための学習遅角量を記憶
すると共に現在のエンジン運転条件を囲む特定番地の学
習遅角量に所定値(学習値)を加減算して前記学習制御
を行い、前記特定番地の学習遅角量に基づいて前記現在
のエンジン運転条件に対応する学習遅角量を求め、前記
エンジン運転条件に応じて定められた基本点火進角から
前記水められた学習遅角量とノッキングに応じて点火時
期を遅進角させる補正遅角量との和を減算して、ノッキ
ングを制御する内燃機関のノッキング制御方法において
、前記特定番地間のエンジン回転数の差に対する現在の
エンジン回転数と前記特定番地のエンジン回転数との差
の割合で前記所定値を分配すると共に、前記特定番地間
の負荷の差に対する現在の負荷と前記特定番地の負荷と
の差の割合で前記分配された所定値を更に分h”t L
、現在のエンジン運転条件に近い特定番地の学習量が
大きくなりかつ現在のエンジン運転条件から遠い特定番
地の学習量が小さくなるようにしたものである。この結
果、プログラムが短かくなるためマイクロコンピュータ
の限られたプログラムに組入れることができ、演算時間
が短かくなるため高エンジン回転でも低エンジン回転で
も同じように学習制御を行うことができ、ノッキングの
制御が向上するという特有の効果が得られる。
また、上記本発明の構成におい−ては、ノッキング制御
領域であって記憶された学習遅角量に対応するエンジン
回転数の上下限値および負荷の上下限値を含む外側の領
域における所定値をノッキング制御領域内側の所定値よ
り小さくすることが好ましい。このようにすることにょ
シ学習マツプの境界および学習マツプ外のノッキング制
御領域における学習制御の精度が向上し、学習制御の機
会が増すためエンジン条件の変化によって学習マツプを
変化させ不必要が生じたとき速やかに対応できる。
領域であって記憶された学習遅角量に対応するエンジン
回転数の上下限値および負荷の上下限値を含む外側の領
域における所定値をノッキング制御領域内側の所定値よ
り小さくすることが好ましい。このようにすることにょ
シ学習マツプの境界および学習マツプ外のノッキング制
御領域における学習制御の精度が向上し、学習制御の機
会が増すためエンジン条件の変化によって学習マツプを
変化させ不必要が生じたとき速やかに対応できる。
ところで、基本点火進角θBABgすなわちMBT(M
inimum 5park Advance for
13est ’l’orque )は、第3図に示すよ
うに、エンジン回転数に応じて曲線C1のように変化し
、また空気が湿っている場合等のノッキングが発生しに
くいときの微小ノッキング発生点火時期は曲線C7のよ
うになり、空気が乾燥している場合等のノッキングが発
生し易いときの微小ノッキング発生点火時期は曲線C3
のようになる。従って、ノッキングが発生し易い条件で
もノッキングが発生しにくい条件でも常に同じように7
ツキング制御する丸めに、本発明の上記構成においては
補正点火進角が所定範囲(例えば2°CA≦θに≦4°
CA)になるように学習遅角量を学習制御することが好
ましい。
inimum 5park Advance for
13est ’l’orque )は、第3図に示すよ
うに、エンジン回転数に応じて曲線C1のように変化し
、また空気が湿っている場合等のノッキングが発生しに
くいときの微小ノッキング発生点火時期は曲線C7のよ
うになり、空気が乾燥している場合等のノッキングが発
生し易いときの微小ノッキング発生点火時期は曲線C3
のようになる。従って、ノッキングが発生し易い条件で
もノッキングが発生しにくい条件でも常に同じように7
ツキング制御する丸めに、本発明の上記構成においては
補正点火進角が所定範囲(例えば2°CA≦θに≦4°
CA)になるように学習遅角量を学習制御することが好
ましい。
次に、本発明が適用されるエンジンの一例を第4図に示
す。このエンジンは図に示すように、エアクリーナー(
図示せず)の下流側に設けられた吸入空気量センサとし
てのエア70−メータ2を備えている。エアフローメー
タ2は、ダンピングチャンバ内に回動可能に設けられた
コンペンセーションプレー)2Aと、コンペ/セーショ
ンプレ−) 2Aの開度を検出するポテンショメータ2
Bとから構成されている。従って、吸入空気量Qはポテ
ンショメータ2Bから出力される電圧として検出される
。また、エアーフローメータ2の近傍には、吸入空気の
温度を検出する吸入空気温センサ4が設けられている。
す。このエンジンは図に示すように、エアクリーナー(
図示せず)の下流側に設けられた吸入空気量センサとし
てのエア70−メータ2を備えている。エアフローメー
タ2は、ダンピングチャンバ内に回動可能に設けられた
コンペンセーションプレー)2Aと、コンペ/セーショ
ンプレ−) 2Aの開度を検出するポテンショメータ2
Bとから構成されている。従って、吸入空気量Qはポテ
ンショメータ2Bから出力される電圧として検出される
。また、エアーフローメータ2の近傍には、吸入空気の
温度を検出する吸入空気温センサ4が設けられている。
エアフローメータ2の下流側には、スロットル弁6が配
置され、スロットル弁6の下流側には、サージタンク8
が設けられている。このサージタンク8には、インテー
クマニホールド1oが連結されておシ、このインテーク
マニホール)’ 10 内に突出して燃料噴射弁12が
配置されている。インテークマニホールド10は、エン
ジン本体14の燃焼室14Aに接続され、エンジンの燃
焼室14Aはエキゾーストマニホールド16を介して三
元触媒を充填した触媒コンバータ(図示せず)に接続さ
れている。そして、エンジン本体14には、マイクロホ
ン等で構成された、エンジンの振動を検出するノッキン
グセンサ18が設けられている。
置され、スロットル弁6の下流側には、サージタンク8
が設けられている。このサージタンク8には、インテー
クマニホールド1oが連結されておシ、このインテーク
マニホール)’ 10 内に突出して燃料噴射弁12が
配置されている。インテークマニホールド10は、エン
ジン本体14の燃焼室14Aに接続され、エンジンの燃
焼室14Aはエキゾーストマニホールド16を介して三
元触媒を充填した触媒コンバータ(図示せず)に接続さ
れている。そして、エンジン本体14には、マイクロホ
ン等で構成された、エンジンの振動を検出するノッキン
グセンサ18が設けられている。
なお、20は点火プラグ、22は混合気を理論空燃比近
傍に制御するための02センサ、24はエンジン冷却水
温を検出する冷却水温センサである。
傍に制御するための02センサ、24はエンジン冷却水
温を検出する冷却水温センサである。
エンジン本体140点火グラグ20は、ディストリビュ
ータ26に接続され、ディストリビュータ26はイグナ
イタ28に接続されている。このディストリビュータ2
6には、ピックアップとディストリビュータシャフトに
固定されたシグナルロータとで構成された、気筒判別セ
ンサ30およびエンジン回転角センサ32が設けられて
いる。
ータ26に接続され、ディストリビュータ26はイグナ
イタ28に接続されている。このディストリビュータ2
6には、ピックアップとディストリビュータシャフトに
固定されたシグナルロータとで構成された、気筒判別セ
ンサ30およびエンジン回転角センサ32が設けられて
いる。
この気筒判別センサ30は、例えばクランク角720度
毎に気筒判別信号をマイクロコンピュータ等で構成され
た電子制御回路34へ出力し、このエンジン回転角セン
サ32は、例えばクランク角30度毎にクランク角基準
位置信号を電子制御回路34へ出力する。
毎に気筒判別信号をマイクロコンピュータ等で構成され
た電子制御回路34へ出力し、このエンジン回転角セン
サ32は、例えばクランク角30度毎にクランク角基準
位置信号を電子制御回路34へ出力する。
電子制御回路34は、第2図に示すように、ランダム・
アクセス・メモリ (RAM)36と、リード・オンリ
ー・メモリ (ROM)38と、中央処理装置(CPU
)40と、クロック(CLOCK)41と、第1の入出
力ボート42と、第2の人出カボート44と、第1の出
力ポート46と、第2の出力ポート48とを含んで構成
され、RAM36、ROM38、CPU40、CLOC
K41、第1の入出力ボート42、第2の入出力ボート
44、第1の出力ポート46および第2の出力ポート4
8は、バスsoK、J:D接続されている。第1の入出
力ボート42には、バッファ(図示せず)、マルチプレ
クサ54、アナログ−ディジタル(A/D)変換器56
を介して、エアフローメータ2、冷却水温センサ24お
よび吸気温センサ4勢が接続されている。このマルチプ
レクサ54およびA/D変換器56は、第1の入出力ボ
ート42から出力される信号によシ制御される。第2の
入出力ボート44には、バッファ(図示せず)およびコ
ンパレータ62を介してOtセンサ22が接続され、波
形整形回路64を介して気筒判別センサ30およびエン
ジン回転角センサ32が接続されている。
アクセス・メモリ (RAM)36と、リード・オンリ
ー・メモリ (ROM)38と、中央処理装置(CPU
)40と、クロック(CLOCK)41と、第1の入出
力ボート42と、第2の人出カボート44と、第1の出
力ポート46と、第2の出力ポート48とを含んで構成
され、RAM36、ROM38、CPU40、CLOC
K41、第1の入出力ボート42、第2の入出力ボート
44、第1の出力ポート46および第2の出力ポート4
8は、バスsoK、J:D接続されている。第1の入出
力ボート42には、バッファ(図示せず)、マルチプレ
クサ54、アナログ−ディジタル(A/D)変換器56
を介して、エアフローメータ2、冷却水温センサ24お
よび吸気温センサ4勢が接続されている。このマルチプ
レクサ54およびA/D変換器56は、第1の入出力ボ
ート42から出力される信号によシ制御される。第2の
入出力ボート44には、バッファ(図示せず)およびコ
ンパレータ62を介してOtセンサ22が接続され、波
形整形回路64を介して気筒判別センサ30およびエン
ジン回転角センサ32が接続されている。
また、第2の入出力ボート44には、バ/ドパスフイル
タロ0. ピークホールド回路61.チャンネル切換回
路66およびA/D変換器68t−介してノッキングセ
ンサ18が接続されている。このバンドパスフィルタは
積分回路63を介してチャンネル切換回路66に接続さ
れている。このチャンネル切換回路66には、ピークホ
ールド回路61の出力と積分回路63の出力とのいずれ
か一方をA/D変換器68に入力するための第2の入出
力ボート44から出力される制御信号が入力されており
、ピークホールド回路61には第2の入出力ボート44
からリセット信号が入力されている。
タロ0. ピークホールド回路61.チャンネル切換回
路66およびA/D変換器68t−介してノッキングセ
ンサ18が接続されている。このバンドパスフィルタは
積分回路63を介してチャンネル切換回路66に接続さ
れている。このチャンネル切換回路66には、ピークホ
ールド回路61の出力と積分回路63の出力とのいずれ
か一方をA/D変換器68に入力するための第2の入出
力ボート44から出力される制御信号が入力されており
、ピークホールド回路61には第2の入出力ボート44
からリセット信号が入力されている。
また、第1の出力ボート46は駆動回路7oを介してイ
グナイタ28に接続され、第2の出力ボート48は駆動
回路72を介して燃料噴射#t$12に接続されている
。
グナイタ28に接続され、第2の出力ボート48は駆動
回路72を介して燃料噴射#t$12に接続されている
。
電子制御回路34のROM38には、エンジン回転数と
吸入空気量とで表わされる基本点火進角θBASI!の
マツプおよび基本燃料噴射量等が予め記憶されておシ、
エアフローメータ2からの信号およびエンジン回転角セ
ンサ32からの信号にょシ基本点火進角および基本燃料
噴射量が読出されると共に、冷却水温センサ24および
吸気温センサ4からの信号を含む各種の信号により、上
記基本点火進角および基本燃料噴射量に補正点火進角お
よび補正燃料噴射量が加えられ、イグナイタ28および
燃料噴射弁12が制御される。02センサ22から出力
される空燃比信号は、混合気の空燃比を理論空燃比近傍
に制御する空燃比制御に使用される。また、電子制御回
路34のRAM36には、第1図に示す学習マツプが予
め記憶されている。
吸入空気量とで表わされる基本点火進角θBASI!の
マツプおよび基本燃料噴射量等が予め記憶されておシ、
エアフローメータ2からの信号およびエンジン回転角セ
ンサ32からの信号にょシ基本点火進角および基本燃料
噴射量が読出されると共に、冷却水温センサ24および
吸気温センサ4からの信号を含む各種の信号により、上
記基本点火進角および基本燃料噴射量に補正点火進角お
よび補正燃料噴射量が加えられ、イグナイタ28および
燃料噴射弁12が制御される。02センサ22から出力
される空燃比信号は、混合気の空燃比を理論空燃比近傍
に制御する空燃比制御に使用される。また、電子制御回
路34のRAM36には、第1図に示す学習マツプが予
め記憶されている。
次に、上記のようなエンジンに本発明を適用した場合の
実施例について詳細に説明する。なお、本発明の詳細な
説明するにあたって、燃料噴射制御、空燃比制御、点火
時期制御のメインルーチン等については従来と同様であ
るので説明を省略し、本発明に関連するノッキング制御
のルーチンのみについて説明する。
実施例について詳細に説明する。なお、本発明の詳細な
説明するにあたって、燃料噴射制御、空燃比制御、点火
時期制御のメインルーチン等については従来と同様であ
るので説明を省略し、本発明に関連するノッキング制御
のルーチンのみについて説明する。
第6図は、マイクロコンピュータを用いて本発明を実施
する場合の30°CA毎の割込みルーチンを示す。まず
、ステップ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°CA毎の割込みルーチンを示す。まず
、ステップ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°CA BTDC(上死点
前)になったか否かを判断する。クランク角が90°C
A BTDCでないときはステップ91へ進み、90
°CA BTDCのときはステップ89において補正
遅角量θにの更新をすると共に点火時期の計算処理を行
う(この詳細については以下で説明する)。ステップ9
0では、ステップ89で計算した点火時期と現在の時刻
とによシイブナイタ28をオンさせる時刻を求めて時刻
一致割込みBをセットすると共に、イグナイタオンのフ
ラグを立てる。そして、ステップ91においてクランク
角が60°CA BTDCになったか否かを判断し、
60°CA BTDCでない場合にはメインルーチン
へリターンシ、60°CA BTDCである場合には
ステップ92においてイグナイタのオフ時刻を計算して
時刻一致割込みBをセットし、ステップ90で立てたイ
グナイタオンのフラグをおろす。
グを基にクランク角が90°CA BTDC(上死点
前)になったか否かを判断する。クランク角が90°C
A BTDCでないときはステップ91へ進み、90
°CA BTDCのときはステップ89において補正
遅角量θにの更新をすると共に点火時期の計算処理を行
う(この詳細については以下で説明する)。ステップ9
0では、ステップ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変換完了割込みルーチンを示すもので
あp1バックグラウンドレベルのA/D変換およびピー
クホールド値のA/D変換が完了したときにこの割込み
が行なわれる。まず、ステップ97において現在ノック
ゲートが開いているか否かを判断する。ノックゲートが
閉じているときには、ステップ98において第6図のス
テップ86で変換したA/D変換値をRAM343のメ
モリに記憶してバックグラウンドレベルbとし、ステッ
プ99においてノックゲートを開いてメインルーチンへ
リターンする。一方、ノックゲートが開いている、とき
には、第7図のステップ93で変換したA/D変換値を
RAM36のメモリに記憶してピーク値αとし、ステッ
プ101においテノツクゲートを閉じてメインルーチン
へリターンする。
あp1バックグラウンドレベルのA/D変換およびピー
クホールド値のA/D変換が完了したときにこの割込み
が行なわれる。まず、ステップ97において現在ノック
ゲートが開いているか否かを判断する。ノックゲートが
閉じているときには、ステップ98において第6図のス
テップ86で変換したA/D変換値をRAM343のメ
モリに記憶してバックグラウンドレベルbとし、ステッ
プ99においてノックゲートを開いてメインルーチンへ
リターンする。一方、ノックゲートが開いている、とき
には、第7図のステップ93で変換したA/D変換値を
RAM36のメモリに記憶してピーク値αとし、ステッ
プ101においテノツクゲートを閉じてメインルーチン
へリターンする。
第10図は、ノッキングが発生していないときの時間と
学習制御する時間とをカウントするための所定時間(例
えば4 m5ec )毎に行なわれる割込みルーチンを
示すものである。まず、ステップ102においてノッキ
ングが発生しないときの時間を求めるカウンタTIME
Iのカウント値ヲ1増加させ、ステップ103において
学習制御する時間を求めるカウンタTIME2のカウン
ト値を1増加させる。次のステップ104において、カ
ウンタTIMEIのカウント値が12 (48m115
e)以下になっているか否かを判断する。カウント値が
12を越えているときにはステップ105においてカウ
ンタTIMEIのカウント値1に12とし、カウント値
が12以下のときにはステップ106においてカウンタ
TIME20カウント値が12以下になっているか否か
を判断する。ここで、カウント値が12を越えていると
きにはステップ107においてカウンタTIME2のカ
ウント値を12としてメインルーチンへリターンシ、カ
ウント値が12以下のときにはメインルーチンへリター
ンする。
学習制御する時間とをカウントするための所定時間(例
えば4 m5ec )毎に行なわれる割込みルーチンを
示すものである。まず、ステップ102においてノッキ
ングが発生しないときの時間を求めるカウンタTIME
Iのカウント値ヲ1増加させ、ステップ103において
学習制御する時間を求めるカウンタTIME2のカウン
ト値を1増加させる。次のステップ104において、カ
ウンタTIMEIのカウント値が12 (48m115
e)以下になっているか否かを判断する。カウント値が
12を越えているときにはステップ105においてカウ
ンタTIMEIのカウント値1に12とし、カウント値
が12以下のときにはステップ106においてカウンタ
TIME20カウント値が12以下になっているか否か
を判断する。ここで、カウント値が12を越えていると
きにはステップ107においてカウンタTIME2のカ
ウント値を12としてメインルーチンへリターンシ、カ
ウント値が12以下のときにはメインルーチンへリター
ンする。
次に第6図のステップ89の詳細なルーチンを第11図
に基いて説明する。第6図のステップ88ステツプ10
0で記憶されたピーク値αと、第9のステップ98で記
憶されたバックグラウンドレベルbに定数Kt−乗算し
た値に、Aとを比較する。
に基いて説明する。第6図のステップ88ステツプ10
0で記憶されたピーク値αと、第9のステップ98で記
憶されたバックグラウンドレベルbに定数Kt−乗算し
た値に、Aとを比較する。
ピーク値αが値に、Aを越えているときにはノッキング
が発生したと判断して、ステップ110において補正遅
角量θKを所定角(例えば0.4°CA)増加させ、ス
テップ112においてノッキングが発生しない時間を一
カウントするカウンタTIME1のカウント値をクリア
する。一方、ピーク値αが値K11b以下のときにはノ
ッキングが発しないと判断して、ステップ109におい
てカウンタTIMEIのカウント値が所定値(12)以
上になっているか否かを判断し、カウント値が所定値以
上になっているときにはノッキングの発生しない状態が
所定時間経続していることからステップ111において
補正遅角量θKを所定角(例えば0.08°CA)減少
させた後、ステップ112でカウンタTIME1をクリ
アする。また、ステップ109においてカウント値が所
定値未満であるときには、ステップ113へ進む。ステ
ップ113では、上記のようにして求められた補正遅角
量θにと学習マツプから2次元補間法によシ求められる
学習遅角量θKGとによって前述した(1)式に示すよ
うに基本点火進角θBAsE′fr:補正し、実際にイ
グナイタを制御する点火進角θ2りを算出する。
が発生したと判断して、ステップ110において補正遅
角量θKを所定角(例えば0.4°CA)増加させ、ス
テップ112においてノッキングが発生しない時間を一
カウントするカウンタTIME1のカウント値をクリア
する。一方、ピーク値αが値K11b以下のときにはノ
ッキングが発しないと判断して、ステップ109におい
てカウンタTIMEIのカウント値が所定値(12)以
上になっているか否かを判断し、カウント値が所定値以
上になっているときにはノッキングの発生しない状態が
所定時間経続していることからステップ111において
補正遅角量θKを所定角(例えば0.08°CA)減少
させた後、ステップ112でカウンタTIME1をクリ
アする。また、ステップ109においてカウント値が所
定値未満であるときには、ステップ113へ進む。ステ
ップ113では、上記のようにして求められた補正遅角
量θにと学習マツプから2次元補間法によシ求められる
学習遅角量θKGとによって前述した(1)式に示すよ
うに基本点火進角θBAsE′fr:補正し、実際にイ
グナイタを制御する点火進角θ2りを算出する。
次に学習マツプから現在のエンジン条件に対応する学習
遅角量θKGを求めかつ学習制御するルーチンを説明す
る。第12図にこのルーチンをメインルーチンの途中か
ら示す。
遅角量θKGを求めかつ学習制御するルーチンを説明す
る。第12図にこのルーチンをメインルーチンの途中か
ら示す。
まず、ステップ124においてノッキング制御領域(Q
/N≧0.6)かノッキング非制御領域(Q/N<0.
6)かを判断し、ノッキング非制御領域であるときには
メインルーチンへ進み、ノッキング制御領域であるとき
はステップ114においてエンジン回転数Nと負荷Q/
Nとで定まる現在のエンジン条件を示す点を囲む4点の
RAMの番地を学習マツプ上に求める。次にステップ1
15において、求めた4点のRAMの番地に記憶されて
いるデータ、すなわち4点のRAMの番地に記憶されて
いる学習遅角量を基に2次元補間法(2次元補間法のル
ーチンは後で説明する)によシ、現在のエンジン条件を
示す点の学習遅角量θKGを算出し、算出した値をRA
Mの所定場所に記憶する。ステップ116では、第10
図のステップ103でカウントした学習制御する時間を
求めるためのカウンタTIM11i1:2のカウント値
が所定値(例えば12)以上か否かを判断する。カウン
ト値が所定値未満でおる場合にはメインルーチンへリタ
ーンし、カウント値が所定値以上の場合にはステップ1
17でカウンタTIME2のカウント値をクリアした後
、ステップ118において第11図のステップ110お
よび111で更新された補正遅角量θにの値を判断して
、補正遅角量の値に基づいて学習制御を行う(学習制御
のルーチンについては後で説明する)。
/N≧0.6)かノッキング非制御領域(Q/N<0.
6)かを判断し、ノッキング非制御領域であるときには
メインルーチンへ進み、ノッキング制御領域であるとき
はステップ114においてエンジン回転数Nと負荷Q/
Nとで定まる現在のエンジン条件を示す点を囲む4点の
RAMの番地を学習マツプ上に求める。次にステップ1
15において、求めた4点のRAMの番地に記憶されて
いるデータ、すなわち4点のRAMの番地に記憶されて
いる学習遅角量を基に2次元補間法(2次元補間法のル
ーチンは後で説明する)によシ、現在のエンジン条件を
示す点の学習遅角量θKGを算出し、算出した値をRA
Mの所定場所に記憶する。ステップ116では、第10
図のステップ103でカウントした学習制御する時間を
求めるためのカウンタTIM11i1:2のカウント値
が所定値(例えば12)以上か否かを判断する。カウン
ト値が所定値未満でおる場合にはメインルーチンへリタ
ーンし、カウント値が所定値以上の場合にはステップ1
17でカウンタTIME2のカウント値をクリアした後
、ステップ118において第11図のステップ110お
よび111で更新された補正遅角量θにの値を判断して
、補正遅角量の値に基づいて学習制御を行う(学習制御
のルーチンについては後で説明する)。
第13図は、第12図ステップ115の2次元補間法の
詳細なルーチンを示すものである。この2次元補間ルー
チンにおいて、学習マツプとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点のRAMの番
地を第2図に示すようにル、f&+1.ル+6、ル+7
とする。まず−ステップ130において、現在の負荷Q
/Nが学習マツプ上の負荷の上限値すなわち1.2 〔
L /raw、 )以下であるか否かを判断する。負荷
が1.2(t/rgv、:lを越えている場合にはステ
ップ131でレジスタ霞に1.2を記憶し、負荷がl、
’l、 (l /rtv、3以下である場合にはステ
ップ134で現在の負荷Q/Nの値をレジスタ霞に記憶
する。ステップ135では、現在のエンジン回転数Nが
学習マツプ上のエンジン回転数の上限値すなわち600
0Cr、p、m〕 以下であるか否かを判断する。エ
ンジン回転数が6000(γ、p、m)を越えている場
合にはステップ136でレジスタmに6000を記憶し
、エンジン回転数が6000[r、F、71以下である
場合にはステップ137で現在のエンジン回転数Nの値
をレジスタmに記憶する。ステップ138では、レジス
タ霞の値が学習マツプ上の負荷の下限値すなわちo、6
(t/raw、)以上であるか否かを判断し、レジス
タ霞の値が0.6未満であるときにはステップ139に
おいてレジスタ霞の値i 0.6とし、レジスタ霞の値
が0.6以上であるときにはステップ140に進む。そ
してステップ140では、レジスタmの値が学習マツプ
上のエンジン回転数の下限値すなわち1000(r、7
)、m3以上であるか否かを判断し、レジスタ専の値が
1000未満であるときにはステップ141においてレ
ジスタmの値を1000とし、レジスタmの値が100
0以上であるときには次のステップ142に進む。以上
の結果、現在のエンジン回転数Nおよび負荷Q/Nが学
習マツプ上の値であるときにはその値がレジスタmおよ
びルに各々記憶され、現在のエンジン回転数Nおよび負
荷Q/Nが学習マツプの上下限値金越えているときには
上下限値がレジスタmおよびルに各々記憶される。
詳細なルーチンを示すものである。この2次元補間ルー
チンにおいて、学習マツプとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点のRAMの番
地を第2図に示すようにル、f&+1.ル+6、ル+7
とする。まず−ステップ130において、現在の負荷Q
/Nが学習マツプ上の負荷の上限値すなわち1.2 〔
L /raw、 )以下であるか否かを判断する。負荷
が1.2(t/rgv、:lを越えている場合にはステ
ップ131でレジスタ霞に1.2を記憶し、負荷がl、
’l、 (l /rtv、3以下である場合にはステ
ップ134で現在の負荷Q/Nの値をレジスタ霞に記憶
する。ステップ135では、現在のエンジン回転数Nが
学習マツプ上のエンジン回転数の上限値すなわち600
0Cr、p、m〕 以下であるか否かを判断する。エ
ンジン回転数が6000(γ、p、m)を越えている場
合にはステップ136でレジスタmに6000を記憶し
、エンジン回転数が6000[r、F、71以下である
場合にはステップ137で現在のエンジン回転数Nの値
をレジスタmに記憶する。ステップ138では、レジス
タ霞の値が学習マツプ上の負荷の下限値すなわちo、6
(t/raw、)以上であるか否かを判断し、レジス
タ霞の値が0.6未満であるときにはステップ139に
おいてレジスタ霞の値i 0.6とし、レジスタ霞の値
が0.6以上であるときにはステップ140に進む。そ
してステップ140では、レジスタmの値が学習マツプ
上のエンジン回転数の下限値すなわち1000(r、7
)、m3以上であるか否かを判断し、レジスタ専の値が
1000未満であるときにはステップ141においてレ
ジスタmの値を1000とし、レジスタmの値が100
0以上であるときには次のステップ142に進む。以上
の結果、現在のエンジン回転数Nおよび負荷Q/Nが学
習マツプ上の値であるときにはその値がレジスタmおよ
びルに各々記憶され、現在のエンジン回転数Nおよび負
荷Q/Nが学習マツプの上下限値金越えているときには
上下限値がレジスタmおよびルに各々記憶される。
ステップ142からステップ149は、学習マツプ上の
4点を選択するためのルーチンである。
4点を選択するためのルーチンである。
まず、ステップ142においてレジスタ霞の値からO番
地の負荷の値0.6 (z/rgv、:)を減算した値
をレジスタ霞に記憶させる。次に、ステップ143にお
いてレジスタ霞の値を負荷の目盛り間隔である0、2
(1/rgv、 )で除算し、その商の整数部をレジス
タルに記憶させると共に商の余シをレジスタyに記憶さ
せる。このレジスタyの値は、第2図のル番地から現在
のエンジン条件を示す点までの負荷の値yに等しい。ま
た、レジスタルに記憶された商の整数部は、現在のエン
ジン条件を示す点に最も近くかつ現在のエンジン条件を
示す点以下の番地の列(番地の横方向の並び、例えばθ
〜5番地の並びを第1列とする)の列番を示している。
地の負荷の値0.6 (z/rgv、:)を減算した値
をレジスタ霞に記憶させる。次に、ステップ143にお
いてレジスタ霞の値を負荷の目盛り間隔である0、2
(1/rgv、 )で除算し、その商の整数部をレジス
タルに記憶させると共に商の余シをレジスタyに記憶さ
せる。このレジスタyの値は、第2図のル番地から現在
のエンジン条件を示す点までの負荷の値yに等しい。ま
た、レジスタルに記憶された商の整数部は、現在のエン
ジン条件を示す点に最も近くかつ現在のエンジン条件を
示す点以下の番地の列(番地の横方向の並び、例えばθ
〜5番地の並びを第1列とする)の列番を示している。
そして、ステップ144においてレジスタyの値を更に
0.2 (t/ reV、〕で除算しておく。従って、
最終的にレジスタyには前述した(6)式のy/Yに対
応した値が記憶されている。
0.2 (t/ reV、〕で除算しておく。従って、
最終的にレジスタyには前述した(6)式のy/Yに対
応した値が記憶されている。
ステップ145において、前述と同様にレジスタmの値
からθ番地のエンジン回転数の値1000Cr、p、m
〕を減算した値をレジスタ等に記憶させる。次に、ステ
ップ146においてレジスタmの値をエンジン回転数の
目盛9間隔である1000(r、 p、 m ) で
除算し、その商の整数部をレジスタmに記憶させると共
に商の余シをレジスタXに記憶させる。このレジスタX
の値は、第2図のル番地から現在のエンジン条件を示す
点までのエンジン回転数の値Xに等しい。また、レジス
タmに記憶された商の整数部は、現在のエンジン条件を
示す点に最も近くかつ現在のエンジン条件を示す点以下
の番地の行(番地の縦方向の並び、例えば016.12
.18番地の並びを第1行とする)の符番を示している
。そして、ステップ147においてレジスタXの値を更
に1000 (r、p、m〕で除算しておく。従って、
最終的にレジスタXには前述した(4)、(5)式のx
/Xに対応した値が記憶されている。
からθ番地のエンジン回転数の値1000Cr、p、m
〕を減算した値をレジスタ等に記憶させる。次に、ステ
ップ146においてレジスタmの値をエンジン回転数の
目盛9間隔である1000(r、 p、 m ) で
除算し、その商の整数部をレジスタmに記憶させると共
に商の余シをレジスタXに記憶させる。このレジスタX
の値は、第2図のル番地から現在のエンジン条件を示す
点までのエンジン回転数の値Xに等しい。また、レジス
タmに記憶された商の整数部は、現在のエンジン条件を
示す点に最も近くかつ現在のエンジン条件を示す点以下
の番地の行(番地の縦方向の並び、例えば016.12
.18番地の並びを第1行とする)の符番を示している
。そして、ステップ147においてレジスタXの値を更
に1000 (r、p、m〕で除算しておく。従って、
最終的にレジスタXには前述した(4)、(5)式のx
/Xに対応した値が記憶されている。
次ニステップ148において、レジスタルの値を6倍し
てレジスタルに記憶させ、次のステップ149において
、レジスタルの値とレジスタ専の値を加算してレジスタ
ルに記憶させる。この結果、現在のエンジン条件を囲む
4点の左下角の番地、すなわち第2図のル番地の番地番
号が求められ、レジスタルに記憶される。
てレジスタルに記憶させ、次のステップ149において
、レジスタルの値とレジスタ専の値を加算してレジスタ
ルに記憶させる。この結果、現在のエンジン条件を囲む
4点の左下角の番地、すなわち第2図のル番地の番地番
号が求められ、レジスタルに記憶される。
ステップ150においては、学習マツプ上のル番地に記
憶されている学習遅角量θKGrL を読出してレジス
タAに記憶させ、ル千1番地に記憶されている学習遅角
量θxa(ル+1)を読出してレジスタBに記憶させ、
ル+6番地に記憶されている学習遅角量θKG(rL+
6 )を読出してレジスタCに記憶させ、そしてル+
7番地に記憶されている学習遅角量θxc(n+7)を
読出しズレジスタDに記憶させる。
憶されている学習遅角量θKGrL を読出してレジス
タAに記憶させ、ル千1番地に記憶されている学習遅角
量θxa(ル+1)を読出してレジスタBに記憶させ、
ル+6番地に記憶されている学習遅角量θKG(rL+
6 )を読出してレジスタCに記憶させ、そしてル+
7番地に記憶されている学習遅角量θxc(n+7)を
読出しズレジスタDに記憶させる。
続いて、ステップ151においてレジスタAの値からレ
ジスタBの値を減算してレジスタXの値を乗算し、更に
その値にレジスタAの値を加算してレジスタEに記憶さ
せる。また、ステップ152においてレジスタCの値か
らレジスタDの値を減算してレジスタXの値を乗算し、
更にその値にレジスタCの値を加算してレジスタFに記
憶させる。
ジスタBの値を減算してレジスタXの値を乗算し、更に
その値にレジスタAの値を加算してレジスタEに記憶さ
せる。また、ステップ152においてレジスタCの値か
らレジスタDの値を減算してレジスタXの値を乗算し、
更にその値にレジスタCの値を加算してレジスタFに記
憶させる。
そして最後にステップ153において、レジスタEの値
からレジスタFの値を減算してレジスタyの値を乗算し
、更にその値にレジスタEの値を加算して、現在のエン
ジン条件を示す点の学習遅角量θKGとする。
からレジスタFの値を減算してレジスタyの値を乗算し
、更にその値にレジスタEの値を加算して、現在のエン
ジン条件を示す点の学習遅角量θKGとする。
次に第12図のステップ118における学習制御を第1
4図および第15図に基いて詳細に説明する。ステップ
160において、補正遅角量θKが第1の所定クランク
角(例えば2°CA)以上であるか否かを判断する。ス
テップ160で補正遅角量θKが第1の所定クランク角
未満であると判断された場合には、ステップ161にお
いて学習値αを第1の所定値(0または正負の値、例え
ば−0,12°CA)としてステップ164へ進む。一
方、ステップ160で補正遅角量が第1の所定クランク
角以上であると判断された場合には、ステップ162に
おいて補正遅角量θKが第1の所定クランク角より大き
い値の第2の所定クランク角(例えば4°CA)以上か
否かを判断する。補正遅角量θKが46CA以上である
ときは次のルーチンを実行し、補正遅角量θKが4°C
A未満でおるときはステップ163において学習値αを
第2の所定値(例えば0.12°CA)としてステップ
164へ進む。
4図および第15図に基いて詳細に説明する。ステップ
160において、補正遅角量θKが第1の所定クランク
角(例えば2°CA)以上であるか否かを判断する。ス
テップ160で補正遅角量θKが第1の所定クランク角
未満であると判断された場合には、ステップ161にお
いて学習値αを第1の所定値(0または正負の値、例え
ば−0,12°CA)としてステップ164へ進む。一
方、ステップ160で補正遅角量が第1の所定クランク
角以上であると判断された場合には、ステップ162に
おいて補正遅角量θKが第1の所定クランク角より大き
い値の第2の所定クランク角(例えば4°CA)以上か
否かを判断する。補正遅角量θKが46CA以上である
ときは次のルーチンを実行し、補正遅角量θKが4°C
A未満でおるときはステップ163において学習値αを
第2の所定値(例えば0.12°CA)としてステップ
164へ進む。
ステップ164からステップ167は、学習制御のルー
チンを示すものであり、第13図のステップ144およ
びステップ147で一旦レジスタに記憶した値x1yを
用いて以下の(ロ)式からα→式に示すように学習値α
を分配して学習制御を行う。
チンを示すものであり、第13図のステップ144およ
びステップ147で一旦レジスタに記憶した値x1yを
用いて以下の(ロ)式からα→式に示すように学習値α
を分配して学習制御を行う。
θKGル← θKGL+ α(1−rXl−y)
・・・・・・・・・・・・・・・・・・・・・・・・(
11)θKG(rL−1−1)80KG(m+ 1 )
+αx(1−y) −・・・・・・・・・・・・・・
・・・(6)θxc(rL+6)←θKG(rL+6)
+α(1−x)y ・・・・・・・・・・・・・・・
・・・(2)θKG(rL+ 7 )←θKG(rL+
7)+αxy ・・・・・・・・・・・・・・・・・
・・・・・・・・・・α→上上記学習値管分配するため
の詳細なルーチンを第15図に基いて説明する。ステッ
プ170において学習値αにXを乗算してα〃を求め、
ステップ171において学習値αからステップ170で
求めたα〃を減算してその値をαとする。ステップ17
2において、ステップ171で求めたαにyを乗算して
レジスタα′に一旦記憶する。このレジスタα′の値は
学習値αを用いて表わすと、α(1−x)yとなシ、ル
+6番地の学習量となる。
・・・・・・・・・・・・・・・・・・・・・・・・(
11)θKG(rL−1−1)80KG(m+ 1 )
+αx(1−y) −・・・・・・・・・・・・・・
・・・(6)θxc(rL+6)←θKG(rL+6)
+α(1−x)y ・・・・・・・・・・・・・・・
・・・(2)θKG(rL+ 7 )←θKG(rL+
7)+αxy ・・・・・・・・・・・・・・・・・
・・・・・・・・・・α→上上記学習値管分配するため
の詳細なルーチンを第15図に基いて説明する。ステッ
プ170において学習値αにXを乗算してα〃を求め、
ステップ171において学習値αからステップ170で
求めたα〃を減算してその値をαとする。ステップ17
2において、ステップ171で求めたαにyを乗算して
レジスタα′に一旦記憶する。このレジスタα′の値は
学習値αを用いて表わすと、α(1−x)yとなシ、ル
+6番地の学習量となる。
次のステップ173において、ステップ171で求めた
αからレジスタα′の値を減算してレジスタαに記憶す
る。このレジスタαの値は、α(1−T、)(1−y)
となシ、ル番地の学習量となる。また、ステップ174
において、ステップ170で求めたα〃にyを乗算して
レジスタα“′に記憶する。
αからレジスタα′の値を減算してレジスタαに記憶す
る。このレジスタαの値は、α(1−T、)(1−y)
となシ、ル番地の学習量となる。また、ステップ174
において、ステップ170で求めたα〃にyを乗算して
レジスタα“′に記憶する。
このレジスタα″′の値はαxyとなり、ル千7番地の
学習量となる。そして、ステップ175において、ステ
ップ170で求めたα〃からレジスタα″′の値を減算
17てレジスタα〃に記憶する。このレジスタα〃の値
はαx(1−y)となり、ル+1番地の学習量になる。
学習量となる。そして、ステップ175において、ステ
ップ170で求めたα〃からレジスタα″′の値を減算
17てレジスタα〃に記憶する。このレジスタα〃の値
はαx(1−y)となり、ル+1番地の学習量になる。
以上の結果、現在のエンジン条件を示す点に近い番地の
学習量が大きくな夛、かつ、エンジン条件を示す点から
遠い番地の学習量が小さくなって学習制御されると共に
、次表に示すように補正遅角量の大きさに応じて補正遅
角量が所定範囲の値になるように学習制御される。
学習量が大きくな夛、かつ、エンジン条件を示す点から
遠い番地の学習量が小さくなって学習制御されると共に
、次表に示すように補正遅角量の大きさに応じて補正遅
角量が所定範囲の値になるように学習制御される。
また、第16図に時間経過に対する補正遅角量θに1学
習遅角量θKG、点火時期θiyの変動を示す。図から
理解されるように、補正遅角量θKが所定範囲の値のと
きには学習遅角量θKGは一定であり、補正遅角量θK
が所定範囲を越えたときには学習遅角量θKGが増加し
、補正遅角量θKか所定範囲未満のとき減少している。
習遅角量θKG、点火時期θiyの変動を示す。図から
理解されるように、補正遅角量θKが所定範囲の値のと
きには学習遅角量θKGは一定であり、補正遅角量θK
が所定範囲を越えたときには学習遅角量θKGが増加し
、補正遅角量θKか所定範囲未満のとき減少している。
表
更に、第17図にエンジン回転数に対応す′る点火時期
の変動を示す。第16図において曲線C8〜C3は第3
図のものと同一であり、ノッキングが発生し易い場合で
もノッキングが発生しにくい場合でも補正遅角量θKが
常に一定になっていることが理解される。
の変動を示す。第16図において曲線C8〜C3は第3
図のものと同一であり、ノッキングが発生し易い場合で
もノッキングが発生しにくい場合でも補正遅角量θKが
常に一定になっていることが理解される。
次に、本発明の学習制御の他の実施例を第18図を用い
て詳細に説明する。なお、第18図において第14図と
同一部分には同一符号を付して説明を省略する。本実施
例は、学習マツプ内側のノッキング制御領域と学習マツ
プの境界を含む外側のノッキング制御領域との間で学習
量を異らせて学習制御を行うものである。
て詳細に説明する。なお、第18図において第14図と
同一部分には同一符号を付して説明を省略する。本実施
例は、学習マツプ内側のノッキング制御領域と学習マツ
プの境界を含む外側のノッキング制御領域との間で学習
量を異らせて学習制御を行うものである。
ステップ180において、現在のエンジン回転数Nが学
習マツプの下限値であるt o OO(r、 p、 m
〕よシ大きいかを判断し、ステップ181において、現
在のエンジン回転数Nが学習マツプの上限値である6o
oo(y、p、m) より小さいかを判断する。また
、ステップ182において、現在の負荷Q/Nが学習マ
ツプの下限値であるQ、5 [A/ rgv、)より大
きいかを判断し、ステップ183において、現在の負荷
Q/Nが学習マツプの上限値である1、2(t/ rg
v、:]よシ小さいかを判断する。エンジン回転数が学
習マツプの下限値以下、または学習マツプの上限値以上
である場合は、ステップ184で学習値αを1/2の大
きさにし、ステップ164からステップ167でこの学
習値を分配して学習制御を行う。また、負荷が学習マツ
プの下限値、または学習マツプの上限値以上である場合
は、ステップ185で学習値α′t−1/2の大きさに
し、ステップ164からステップ167でこの学習値を
分配して学習制御を行う。更に、現在のエンジン回転数
および負荷が、上下限値の範囲に入っているときは、学
習値αをそのままの値として、ステップ164からステ
ップ167でこの学習値を分配して学習制御を行う。
習マツプの下限値であるt o OO(r、 p、 m
〕よシ大きいかを判断し、ステップ181において、現
在のエンジン回転数Nが学習マツプの上限値である6o
oo(y、p、m) より小さいかを判断する。また
、ステップ182において、現在の負荷Q/Nが学習マ
ツプの下限値であるQ、5 [A/ rgv、)より大
きいかを判断し、ステップ183において、現在の負荷
Q/Nが学習マツプの上限値である1、2(t/ rg
v、:]よシ小さいかを判断する。エンジン回転数が学
習マツプの下限値以下、または学習マツプの上限値以上
である場合は、ステップ184で学習値αを1/2の大
きさにし、ステップ164からステップ167でこの学
習値を分配して学習制御を行う。また、負荷が学習マツ
プの下限値、または学習マツプの上限値以上である場合
は、ステップ185で学習値α′t−1/2の大きさに
し、ステップ164からステップ167でこの学習値を
分配して学習制御を行う。更に、現在のエンジン回転数
および負荷が、上下限値の範囲に入っているときは、学
習値αをそのままの値として、ステップ164からステ
ップ167でこの学習値を分配して学習制御を行う。
この実施例によれば、領域に応じて学習値を変化してい
るため、学習マツプの内でも外でも同様に学習制御する
ことが可能になり、学習マツプ外の学習制御の精度が向
上し、また学習制御の機会が増加するため各種条件の変
化によって学習マツプが変る必要が生じたと゛きに速や
かに対応できる、という効果が得られる。
るため、学習マツプの内でも外でも同様に学習制御する
ことが可能になり、学習マツプ外の学習制御の精度が向
上し、また学習制御の機会が増加するため各種条件の変
化によって学習マツプが変る必要が生じたと゛きに速や
かに対応できる、という効果が得られる。
なお、上記においては補正遅角量を所定範囲になるよう
に学習制御する例について説明したが、本発明はこれに
限定されるものでなく、従来のように学習マツプの4点
を遅角するように学習制御しかつ学習マツプ全体を進角
するように学習制御する場合にも適用できるものである
。
に学習制御する例について説明したが、本発明はこれに
限定されるものでなく、従来のように学習マツプの4点
を遅角するように学習制御しかつ学習マツプ全体を進角
するように学習制御する場合にも適用できるものである
。
第1図は学習マツプを示す説明図、第2図は現在のエン
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図はエンジン回転数と点火時期どの関係を示す線図、
第4図は本発明が適用されるエンジンを示す概略図、第
5図は第4図の電子制御回路を示すブロック図、第6図
は30°CA毎の割込みルーチンの流れ図、第7図は時
刻一致割込みAの流れ図、第8図は時刻一致割込みBの
流れ図、第9図はA/D完了割込みルーチンの流れ図、
第10図は4 m5ec毎の割込みルーチンを示す流れ
図、第11図は補正遅角量を更新するルーチンの流れ図
、第12図は学習制御ルーチンの流れ図、第13図は2
次元補間ルーチンの流れ図、第14図は第12図の本発
明の実施例の学習制御ルーチンの流れ図、第15図は学
習値全分配するルーチンの流れ図、第16図は時間経過
に対する補正遅角量・学習遅角量・点火時期の変動を示
す線図、第17図はi31¥1と同様のエンジン回転数
と点火時期との関係・補正遅角量および学習遅角量の関
係を示す線図、第18図は第12図の本発明の他の実施
例の学習制御ルーチンの流れ図である。 2・・・エアフローメータ、12・・・燃P)噴射弁、
18・・・ノッキングセンサ、32・・・エンジン回転
角センサ、34・・・電子制御回路。 第1図 第2図 第11図 第12図 第14図 −408− 第15図
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図はエンジン回転数と点火時期どの関係を示す線図、
第4図は本発明が適用されるエンジンを示す概略図、第
5図は第4図の電子制御回路を示すブロック図、第6図
は30°CA毎の割込みルーチンの流れ図、第7図は時
刻一致割込みAの流れ図、第8図は時刻一致割込みBの
流れ図、第9図はA/D完了割込みルーチンの流れ図、
第10図は4 m5ec毎の割込みルーチンを示す流れ
図、第11図は補正遅角量を更新するルーチンの流れ図
、第12図は学習制御ルーチンの流れ図、第13図は2
次元補間ルーチンの流れ図、第14図は第12図の本発
明の実施例の学習制御ルーチンの流れ図、第15図は学
習値全分配するルーチンの流れ図、第16図は時間経過
に対する補正遅角量・学習遅角量・点火時期の変動を示
す線図、第17図はi31¥1と同様のエンジン回転数
と点火時期との関係・補正遅角量および学習遅角量の関
係を示す線図、第18図は第12図の本発明の他の実施
例の学習制御ルーチンの流れ図である。 2・・・エアフローメータ、12・・・燃P)噴射弁、
18・・・ノッキングセンサ、32・・・エンジン回転
角センサ、34・・・電子制御回路。 第1図 第2図 第11図 第12図 第14図 −408− 第15図
Claims (1)
- (1) エンジン回転数と負荷とで表わされるエンジ
ン運転条件に対応して定められた番地に学習制御によっ
て変更されかつノツキングレベルヲ所定レベルにするた
めの学習遅角量を記憶すると共に現在のエンジン運転条
件を囲む特定番地の学習遅角量に所定値を加減算して前
記学習制御を行い、前記特定番地の学習遅角量に基づい
て前記現在のエンジン運転条件に対応する学習遅角量を
求め、前記エンジン運転条件に応じて定められた基本点
火進角から前記求められた学習遅角量とノッキングに応
じて点火時期を遅進角させる補正遅角量との和を減算し
て、ノッキングを制御する内燃機関のノッキング制御方
法において、前記特定番地間のエンジン回転数の差に対
する現在のエンジン回転数と前記特定番地のエンジン回
転数との差の割合で前記所定値を分配すると共に、前記
特定番地間の負荷の差に対する現在の負荷と前記特定番
地の負荷との差の割合で前記分配された所定値を更に分
配し、現在のエンジン運転条件に近い特定番地の学習量
が大きくなりかつ現在のエンジン運転条件から遠い特定
番地の学習量が小さくなるようにすることを特徴とする
内燃機関のノッキング制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57222743A JPH076482B2 (ja) | 1982-12-17 | 1982-12-17 | 内燃機関のノツキング制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57222743A JPH076482B2 (ja) | 1982-12-17 | 1982-12-17 | 内燃機関のノツキング制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59113264A true JPS59113264A (ja) | 1984-06-29 |
| JPH076482B2 JPH076482B2 (ja) | 1995-01-30 |
Family
ID=16787205
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57222743A Expired - Lifetime JPH076482B2 (ja) | 1982-12-17 | 1982-12-17 | 内燃機関のノツキング制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH076482B2 (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5623566A (en) * | 1979-08-01 | 1981-03-05 | Nippon Denso Co Ltd | Method of controlling ignition time |
| JPS56106066A (en) * | 1980-01-29 | 1981-08-24 | Nippon Denso Co Ltd | Controlling method of ignition timing |
| JPS57105530A (en) * | 1980-12-23 | 1982-07-01 | Toyota Motor Corp | Air-fuel ratio controlling method for internal combustion engine |
-
1982
- 1982-12-17 JP JP57222743A patent/JPH076482B2/ja not_active Expired - Lifetime
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5623566A (en) * | 1979-08-01 | 1981-03-05 | Nippon Denso Co Ltd | Method of controlling ignition time |
| JPS56106066A (en) * | 1980-01-29 | 1981-08-24 | Nippon Denso Co Ltd | Controlling method of ignition timing |
| JPS57105530A (en) * | 1980-12-23 | 1982-07-01 | Toyota Motor Corp | Air-fuel ratio controlling method for internal combustion engine |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH076482B2 (ja) | 1995-01-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0388945A (ja) | エンジンのノッキング検出方法 | |
| JPS59103964A (ja) | 内燃機関のノツキング制御方法 | |
| JPS6296778A (ja) | 点火時期制御装置 | |
| JPS5939972A (ja) | 内燃機関のノツキング制御方法 | |
| JPS6243056B2 (ja) | ||
| JPS59110862A (ja) | 内燃機関のノツキング制御方法 | |
| JPS59138773A (ja) | 内燃機関のノツキング制御方法 | |
| JPS59113267A (ja) | 内燃機関のノツキング制御方法 | |
| JPS59138774A (ja) | 内燃機関のノツキング制御方法 | |
| JPS62189370A (ja) | 点火時期制御装置 | |
| JPS59108872A (ja) | 内燃機関のノツキング制御方法 | |
| JPS63106365A (ja) | 内燃機関の点火時期制御方法 | |
| JPS59119068A (ja) | 内燃機関のノツキング制御方法 | |
| JPS59136573A (ja) | 内燃機関のノツキング制御方法 | |
| JPH05141334A (ja) | 内燃機関のノツク制御装置 | |
| JPS59138753A (ja) | エンジンの燃料噴射制御方法 | |
| JPH0240082A (ja) | 内燃機関の点火時期制御装置 | |
| JPH0646022B2 (ja) | 内燃機関のノツキング制御方法 | |
| JP2537414B2 (ja) | 内燃機関の点火時期制御装置 | |
| JPS59136574A (ja) | 内燃機関のノツキング制御方法 | |
| JPH076482B2 (ja) | 内燃機関のノツキング制御方法 | |
| JPS6258058A (ja) | エンジンの点火時期制御装置 | |
| JPH0526952B2 (ja) | ||
| JPS6380075A (ja) | 内燃機関の点火時期制御装置 | |
| JPS6027782A (ja) | 内燃機関のノツキング制御方法 |