JPH0646025B2 - 内燃機関のノツキング制御方法 - Google Patents

内燃機関のノツキング制御方法

Info

Publication number
JPH0646025B2
JPH0646025B2 JP57230323A JP23032382A JPH0646025B2 JP H0646025 B2 JPH0646025 B2 JP H0646025B2 JP 57230323 A JP57230323 A JP 57230323A JP 23032382 A JP23032382 A JP 23032382A JP H0646025 B2 JPH0646025 B2 JP H0646025B2
Authority
JP
Japan
Prior art keywords
learning
value
retard amount
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
Application number
JP57230323A
Other languages
English (en)
Other versions
JPS59119068A (ja
Inventor
勇二 武田
嘉康 伊藤
敏男 末松
克史 安西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP57230323A priority Critical patent/JPH0646025B2/ja
Publication of JPS59119068A publication Critical patent/JPS59119068A/ja
Publication of JPH0646025B2 publication Critical patent/JPH0646025B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02PIGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
    • F02P7/00Arrangements of distributors, circuit-makers or -breakers, e.g. of distributor and circuit-breaker combinations or pick-up devices
    • F02P7/06Arrangements of distributors, circuit-makers or -breakers, e.g. of distributor and circuit-breaker combinations or pick-up devices of circuit-makers or -breakers, or pick-up devices adapted to sense particular points of the timing cycle
    • F02P7/067Electromagnetic pick-up devices, e.g. providing induced current in a coil

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrical Control Of Ignition Timing (AREA)

Description

【発明の詳細な説明】 本発明は内燃機関のノツキング制御方法に係り、特にノ
ツキングの有無によつて比較的速い速度で遅進角を行う
ための補正遅角量とノツキングの有無によつて比較的遅
い速度で遅進角を行いかつ学習制御によつて変更される
学習遅角量とによつて、基本点火進角を補正してノツキ
ングを制御する方法に関する。
従来の学習制御によるノツキング制御方法は、エンジン
回転数N、吸入空気量Qとエンジン回転数Nとの比Q/
Nまたは吸気管負圧で定まる負荷によつて予め定まる基
本点火進角θBASEをマイクロコンピユータのリードオン
リメモリ(ROM)にマツプの形で記憶させておき、次
の(1)式に基いて実際にイグナイタを制御する点火進角
θigを演算し、この点火進角を用いてノツキング制御を
行うものである。
θig=θBASE−(θKG+θ) ………(1) ただし、θKGはノツキングのレベルを所定レベルにする
ためにエンジン回転数と負荷とによつて定まりかつ学習
制御によつて変更される学習遅角量、θはノツキング
が発生したとき点火時期を遅らせかつノツキングが発生
しなくなつたとき点火時期を進める補正遅角量である。
ここで、補正遅角量θは次のようにして求められる。
まず、マイクロホン等で構成されたノツキングセンサを
用いてエンジンの振動を検出し、エンジン振動の平均値
(バツクグラウンド)bの所定倍K・b(ただしKは比
例定数)とエンジン振動のピーク値aとを求め、このピ
ーク値aとK・bの値とを比較する。ピーク値aがK・
bの値を越えたときには、ノツキング発生と判断して次
の(2)式に示すようにノツキング発生1回あたり所定ク
ランク角(例えば0.4℃A)点火時期が遅れるよう補
正遅角量θを変更する。
θ←θ+0.4℃A ……(2) またピーク値aがK・bの値以下のときには、ノツキン
グが発生しなかつたと判断して、第1のタイマを用いて
所定時間(例えば48msec)経過したか否かを判断し、
所定時間経過したときには次の(3)式に示すように所定
クランク角(例えば0.08℃A)点火時期が進むよう
に補正遅角量θ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が求められる。
そして上記学習マツプの学習制御は、次のようにして行
なわれる。まず、現在のエンジン条件に応じて学習制御
の時間を決定する第2のタイマと、エンジン条件に無関
係に学習制御の時間を決定する第3のタイマとを用意す
る。第2のタイマにより所定時間(例えば48msec)
経過したことが検出されたときには、補正遅角量θ
変更されて所定クランク角(例えば4℃A)を越えたか
否かを判断し、補正遅角量θが所定クランク角を越え
たときに、上記で説明した現在のエンジン条件を示す点
を囲む学習マツプ上の4点の学習遅角量に所定クランク
角(例えば0.04℃A)加算する。この結果点火時期
が遅れるように学習遅角量が学習制御される。一方、第
3のタイマにより所定時間(例えば16sec)経過した
ことが検出されたときには、ノツキングの有無に無関係
に学習マツプ上の全ての番地の学習遅角量から所定クラ
ンク角(例えば0.01℃A)減算して、点火時期が進
むように学習遅角量を学習制御する。
而して、上記のようにして変更された補正遅角量θ
と、学習制御される学習マツプから2次元補間法によ
り求めた学習遅角量θKGとを用い、前記(1)式に基いて
基本点火進角θBASEを補正して、ノツキングを制御する
のである。
しかし、かかる従来の方法では学習マツプから現在のエ
ンジン条件に対応する学習遅角量を2次元補間法により
算出しているため、学習制御による学習マツプの値を書
換える際に電源の瞬断等によるノイズが入力されると、
学習マツプの値が正確に書換えられない場合が発生し、
例えば第3図に示すようにn+1番地の学習遅角量が異
常に小さくなることがある。このような場合に、書換え
が正確に行なえなかつた学習マツプから現在のエンジン
条件に対応する学習遅角量を算出すると、算出された学
習遅角量が異常に小さくなり、点火時期が進み過ぎてノ
ツキングが多発するという問題があつた。
本発明は上記問題点を解消すべく成されたもので、学習
マツプが正確に書換えられなかつた場合でもノツキング
が多発することのないノツキング制御方法を提供するこ
とを目的とする。
上記目的を達成するために本発明の構成は、エンジンの
運転状態により基本点火進角を設定し、 ノッキングが発生したとき点火時期を遅らせ、ノッキン
グが発生しないとき点火時期を進めるための遅角量をエ
ンジンの運転状態に応じて学習してこれを学習遅角量と
して記憶し、 学習遅角量を基にエンジンの運転状態に応じた制御用学
習遅角量を生成し、 前記基本点火進角より前記制御用学習遅角量を減算して
得られた点火時期に従って点火する内燃機関のノッキン
グ制御方法において、 現在のエンジンの運転状態に応じた学習遅角量と前回学
習した学習遅角量より所定値を減算した学習遅角量のう
ち大きい値の学習遅角量を制御用学習遅角量として点火
時期を算出するようにしたものである。
上記本発明の構成によれば、学習制御された学習遅角量
が正確に記憶されない場合でも、学習遅角量を徐々に減
少させた値によりノツキング制御されるため、点火時期
が急激に進角されることなくノツキングの発生が低減さ
れるという特有の効果が得られる。
ここで、学習遅角量の算出は、所定クランク角毎または
所定時間毎に行なうことが好ましい。また、第4図に示
すように基本点火進角θBASEすなわちMBT(Minimum
Spark Advance For Best Torque)は、エンジン回転数
に応じて曲線Cのように変化し、また空気が湿つてい
る場合等のノツキングが発生しにくいときの微小ノツキ
ング発生点火時期は曲線Cのようになり、また空気が
乾燥している場合等のノツキングが発生し易いときの微
小ノツキング発生点火時期は曲線Cのようになる。ノ
ツキング回転数や環境条件によつて微小ノツキング発生
点火時期が異つている。従つて、本発明の上記構成にお
いては、エンジン回転数や環境条件が変化しても常に同
一のノツキング制御を行なうため、補正遅角量が所定範
囲の値になるよう学習遅角量を学習制御することが好ま
しい。
次に、本発明が適用されるエンジンの一例を第5図に示
す。このエンジンは図に示すように、エアクリーナー
(図示せず)の下流側に設けられた吸入空気量センサと
してのエアフローメータ2を備えている。エアフローメ
ータ2は、ダイピングチヤンバ内に回動可能に設けられ
たコンペンセーシヨンプレート2Aと、コンペンセーシ
ヨンプレート2Aの開度を検出するポテンシヨメータ2
Bとから構成されている。従つて、吸入空気量Qはポテ
ンシヨメータ2Bから出力される電圧として検出され
る。また、エアフローメータ2の近傍には、吸入空気の
温度を検出する吸入空気温センサ4が設けられている。
エアフローメータ2の下流側には、スロツトル弁6が配
置され、スロツトル弁6の下流側には、サージタンク8
が設けられている。このサージタンク8には、インテー
クマニホールド10が連結されており、このインテーク
マニホールド10内に突出して燃料噴射弁12が配置さ
れている。インテークマニホールド10は、エンジン本
体14の燃焼室14Aに接続され、エンジンの燃焼室1
4Aはエキゾーストマニホールド16を介して三元触媒
を充填した触媒コンバータ(図示せず)に接続されてい
る。そして、エンジン本体14Aには、マイクロホン等
で構成された、エンジンの振動を検出するノツキングセ
ンサ18が設けられている。なお、20は点火プラグ、
22は混合気を理論空燃比近傍に制御するためのO
ンサ、24はエンジン冷却水温を検出する冷却水温セン
サである。
エンジン本体14の点火プラグ20は、デイストリビユ
ータ26に接続され、デイストリビユータ26はイグナ
イタ28に接続されている。このデイストリビユータ2
6には、ピツクアツプとデイストリビユータシヤフトに
固定されたシグナルロータとで構成された、気筒判別セ
ンサ30およびエンジン回転角センサ32が設けられて
いる。この気筒判別センサ30は、例えばクランク角7
20度毎に気筒判別信号をマイクロコンピユータ等で構
成された電子制御回路34へ出力し、このエンジン回転
角センサ32は、例えばクランク角30度毎にクランク
角基準位置信号を電子制御回路33へ出力する。
電子制御回路34は、第6図に示すように、ランダム・
アクセス・メモリ(RAM)36、リード・オンリー・
メモリ(ROM)38と、中央処理装置(CPU)40
と、クロツク(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には、バツフア(図示せず)およびコンパレータ6
2を介してOセンサ22が接続され、波形整形回路6
4を介して気筒判別センサ30およびエンジン回転角セ
ンサ32が接続されている。また、第2の入出力ポート
44には、バンドパスフイルタ60、ピークホールド回
路61、チヤンネル切換回路66およびA/D変換器6
8を介してノツキングセンサ18が接続されている。こ
のバンドパスフイルタは積分回路63を介してチヤンネ
ル切換回路66に接続されている。このチヤンネル切換
回路66には、ピークホールド回路61の出力と積分回
路63の出力とのいずれか一方をA/D変換器68に入
力するための第2の入出力ポート44から出力される制
御信号が入力されており、ピークホールド回路61には
第2の入出力ポート44からリセツト信号が入力されて
いる。また、第1の出力ポート46は駆動回路70を介
してイグナイタ28に接続され、第2の出力ポート48
は駆動回路72を介して燃料噴射弁12に接続されてい
る。
電子制御回路34のROM38には、エンジン回転数と
吸入空気量とで表わされる基本点火進角θBASEのマツプ
および基本燃料噴射量等が予め記憶されており、エアフ
ローメータ2の信号およびエンジン回転角センサ32か
らの信号により基本点火進角および基本燃料噴射量が読
出されると共に、冷却水温センサ24および吸気温セン
サ4からの信号を含む各種の信号により、上記基本点火
進角および基本燃料噴射量に補正点火進角および補正燃
料噴射量が加えられ、イグナイタ28および燃料噴射弁
12が制御される。Oセンサ22から出力される空燃
比信号は、混合気の空燃比を理論空燃比近傍に制御する
空燃比制御に使用される。また、電子制御回路34のR
AM36には、第1図に示す学習マツプが予め記憶され
ている。
次に、上記のようなエンジンに本発明を適用した場合の
実施例について詳細に説明する。なお、本発明の実施例
を説明するにあたつて、燃料噴射制御、空燃比制御、点
火時期制御のメインルーチン等については従来と同様で
あるので説明を省略し、本発明に関連するノツキング制
御のルーチンのみについて説明する。
第7図は、マイクロコンピユータを用いて本発明を実施
する場合の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においてノツクゲートの閉時刻t、すな
わち次にノツクゲートを閉じる時刻を算出して時刻一致
割込みAをセツトする。
次に、ステツプ88においてステツプ82で立てたフラ
グを基にクランク角が90℃ABTDC(上死点前)に
なつたか否かを判断する。クランク角が90℃ABTD
Cでないときはステツプ91へ進み、90℃ABTDC
のときはステツプ89において補正遅角量θの更新を
すると共に点火時期の計算処理を行なう(この詳細につ
いては以下で説明する)。ステツプ90では、ステツプ
89で計算した点火時期と現在の時刻とによりイグナイ
タ28をオンさせる時刻を求めて時刻一致割込みBをセ
ツトすると共に、イグナイタオンのフラグを立てる。そ
して、ステツプ91においてクランク角が60℃ABT
DCになつたか否かを判断し、60℃ABTDCでない
場合にはメインルーチンへリターンし、60℃ABTD
Cである場合にはステツプ92においてイグナイタのオ
フ時刻を計算して時刻一致割込みBをセツトし、ステツ
プ90で立てたイグナイタオンのフラグをおろす。
次に第8図に示す時刻一致割込みAについて説明する。
この割込みルーチンは、エンジン振動のピーク値を求め
るものであり、第7図のステツプ87でセツトした時刻
になると割込みが行なわれ、ステツプ93においてピー
クホールド回路61に保持されたピーク値をチヤンネル
切換回路66を介してA/D変換器68に入力してピー
クホールド値のA/D変換を開始してメインルーチンへ
リターンする。
第9図は、時刻一致割込みBのルーチンを示すものであ
り、第7図のステツプ90およびステツプ92にセツト
した時刻になると割込みが行なわれる。ステツプ94で
は、イグナイタオンのフラグが立つているか、すなわち
このフラグが1か否かを判断し、フラグが立つていると
きはステツプ96においてイグナイタをオンし、フラグ
がおりているときにはステツプ95においてイグナイタ
をオンし、メインルーチンへリターンする。
第10図は、A/D変換完了割込みルーチンを示すもの
であり、バツクグラウンドレベルのA/D変換およびピ
ークホールド値のA/D変換が完了したときにこの割込
みが行なわれる。まず、ステツプ97において現在ノツ
クゲートが開いているか否かを判断する。ノツクゲート
が閉じているときには、ステツプ98において第7図の
ステツプ86で変換したA/D変換値をRAM36のメ
モリに記憶してバツクグラウンドレベルbとし、ステツ
プ99においてノツクゲートを開いてメインルーチンへ
リターンする。一方、ノツクゲートが開いているときに
は、第7図のステツプ93で変換したA/D変換値をR
AM36のメモリに記憶してピーク値aとし、ステツプ
101においてノツクゲートを閉じてメインルーチンへ
リターンする。
第11図は、ノツキングが発生していないときの時間と
学習制御する時間とをカウントするための所定時間(例
えば4msec)毎に行なわれる割込みルーチンを示すも
のである。まず、ステツプ102においてノツキングが
発生しないときの時間を求めるカウンタTIME1のカ
ウント値を1増加させ、ステツプ103において学習制
御する時間を求めるカウンタTIME2のカウント値を
1増加させる。次のステツプ104において、カウンタ
TIME1のカウント値が12(48msec)以下にな
つているか否かを判断する。カウント値が12を越えて
いるときにはステツプ105においてカウンタTIME
1のカウント値を12とし、カウント値が12以下のと
きにはステツプ106においてカウンタTIME2のカ
ウント値が12以下になつているか否かを判断する。こ
こで、カウント値が12を越えているときにはステツプ
107においてカウンタTIME2のカウント値を12
としてメインルーチンへリターンし、カウント値が12
以下のときにはメインルーチンへリターンする。
次に第7図のステツプ89の詳細なルーチンを第12図
に基いて説明する。第7図のステツプ88でクランク角
が90℃ABTDCになつたと判断されると、ステツプ
122において負荷Q/Nが0.6〔/rev〕以上か
否か、すなわちノツキング制御領域か否かを判断する。
負荷が0.6〔/rev〕未満のとき、すなわちノツキ
ング非制御領域のときは、ステツプ123において基本
点火進角θBASEを点火進角θigとし、ノツキング制御領
域のときはステツプ108において、第10図のステツ
プ100で記憶されたピーク値aと、第10図のステツ
プ98で記憶されたバツクグラウンドレベルbに定数K
を乗算した値K・bとを比較する。ピーク値aが値K・
bを越えていときにはノツキングが発生したと判断し
て、ステツプ110において補正遅角量θを所定角
(例えば0.4℃A)増加させ、ステツプ112におい
てノツキングが発生しない時間をカウントするカウンタ
TIME1のカウント値をクリアする。一方、ピーク値
aが値K・b以下のときにはノツキングが発しないと判
断して、ステツプ109においてカウンタTIME1の
カウント値が所定値(12)以上になつているか否かを
判断し、カウント値が所定値以上になつているときには
ノツキングの発生しない状態が所定時間継続しているこ
とからステツプ111において補正遅角量θを所定角
(例えば0.08℃A)減少させた後、ステツプ112
でカウンタTIME1をクリアする。また、ステツプ1
09においてカウント値が所定値未満であるときには、
ステツプ113へ進む。ステツプ113では、上記のよ
うにして求められた補正遅角量θと学習マツプから2
次元補間法により求められる学習遅角量θKGとによつて
前述した(1)式に示すように基本点火進角θBASEを補正
し、実際にイグナイタを制御する点火進角θigを算出す
る。
次に学習マツプから現在のエンジン条件に対応する学習
遅角量θKGを求めかつ学習制御するルーチンを説明す
る。第13図にこのルーチンをメインルーチンの途中か
ら示す。
まず、ステツプ124において負荷Q/Nが0.6〔
/rev〕以上か否か、すなわちノツキング制御領域か否
かを判断する。ノツキング制御領域でないときはそのま
まメインルーチンへ進み、ノツキング制御領域であると
きにはステツプ114においてエンジン回転数Nと負荷
Q/Nとで定まる現在のエンジン条件を示す点を囲む4
点のRAMの番地を学習マツプ上に求める。次にステツ
プ115において、求めた4点のRAMの番地に記憶さ
れているデータ、すなわち4点のRAMの番地に記憶さ
れている学習遅角量を基に2次元補間法(2次元補間法
のルーチンは後で説明する)により、現在のエンジン条
件を示す点の学習遅角量θKGを算出し、算出した値をR
AMの所定場所に記憶する。ステツプ116では、第1
1図のステツプ103でカウントした学習制御する時間
を求めるためのカウンタTIME2のカウント値が所定
値(例えば12)以上か否かを判断する。カウント値が
所定値未満である場合にはメインルーチンへリターン
し、カウント値が所定値以上の場合にはステツプ117
でカウンタTIME2のカウント値をクリアした後、第
12図のステツプ110および111で更新された補正
遅角量θが第1の所定クランク角(例えば2℃A)以
上であるか否かをステツプ118で判断する。
ステツプ118で補正遅角量θが第1の所定クランク
角未満であると判断された場合には、ステツプ121に
おいて現在のエンジン条件を示す点を囲む学習マツプ上
の4点に記憶されている学習遅角量の各々から、所定ク
ランク角(例えば0.04℃A)減算する学習制御を行
ない、メインルーチンへリターンする。この結果、補正
遅角量θが第1の所定クランク角未満であるときには
学習マツプの学習遅角量が小さくなるように学習制御さ
れ、学習遅角量によつて点火時期が進むように制御され
る。一方、ステツプ118で補正遅角量θが第1の所
定クランク角以上であると判断された場合には、ステツ
プ119において補正遅角量θが第1の所定クランク
角より大きい値の第2の所定クランク角(例えば4℃
A)未満であるか否かを判断する。ステツプ119にお
いて補正遅角量θが第1の所定クランク角未満である
と判断された場合、すなわち補正遅角量θが以下の条
件を満足する場合には、 第1の所定クランク角(2℃A)≦θ<第2の所定クランク角(4℃A) …
…(7) 学習制御せずにメインルーチンへリターンする。この結
果、補正遅角量θが所定範囲の値をとるときは学習制
御されず、学習遅角量によつては点火時期が変更されな
い。なお、補正遅角量が所定範囲の値をとるこきにおい
ても、必要に応じて学習制御するようにしてもよい。ス
テツプ119において補正遅角量θが第2の所定クラ
ンク角以上と判断された場合には、ステツプ120にお
いて現在のエンジン条件を示す点を囲む学習マツプ上の
4点に記憶されている学習遅角量の各々に、所定クラン
ク角(例えば0.04℃A)加算する学習制御を行な
い、メインルーチンへリーターンする。この結果、補正
遅角量θが第2の所定クランク角以上であるときには
学習マツプの学習遅角量が大きくなるように学習制御さ
れ、学習遅角量によつて点火時期が遅れるように制御さ
れる。
以上のような学習制御することによつて、補正遅角量が
所定範囲の値になるように学習マツプの学習遅角量が変
更される。
以下に第13図の学習ルーチンを詳細に説明する。
第14図は、第13図ステツプ115の2次元補間法の
詳細なルーチンを示すものである。この2次元補間ルー
チンにおいて、学習マップとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点のRAMの番
地を第2図に示すようにn、n+1、n+6、n+7と
する。まず、ステツプ130において、現在の負荷Q/
Nが学習マツプ上の負荷の上限値すなわち1.2〔/
rev〕以下であるか否かを判断する。負荷が1.2〔
/rev〕を越えている場合にはステツプ131でレジス
タnに1.2を記憶し、負荷が1.2〔/rev〕以下
である場合にはステツプ134で現在の負荷Q/Nの値
をレジスタnに記憶する。ステツプ135では、現在の
エンジン回転数Nが学習マツプ上のエンジン回転数の上
限値すなわち6000〔rpm〕以下であるか否かを判
断する。エンジン回転数が6000〔rpm〕を越えて
いる場合にはステツプ136でレジスタmに6000を
記憶し、エンジン回転数が6000〔rpm〕以下であ
る場合にはステツプ137で現在のエンジン回転数Nの
値をレジスタmに記憶する。ステツプ138では、レジ
スタ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の値が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に記憶させる。このレジスタyの値は、
第2図のn番地から現在のエンジン条件を示す点までの
負荷の値yに等しい。また、レジスタnに記憶された商
の整数部は、現在のエンジン条件を示す点に最も近くか
つ現在のエンジン条件を示す点以下の番地の列(番地の
横方向の並び、例えば0〜5番地の並びを第1列とす
る)の列番を示している。そして、ステツプ144にお
いてレジスタyの値を更に0.2〔/rev〕で除算し
ておく。従つて、最終的にレジスタyには前述した(6)
式のy/Yに対応した値が記憶されている。
ステツプ145において、前述と同様にレジスタmの値
から0番地のエンジン回転数の値1000〔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に記憶される。
ステツプ150においては、学習マツプ上のn番地に記
憶されている学習遅角量θKGnを読出してレジスタAに
記憶させ、n+1番地に記憶されている学習遅角量θ
KG(n+1)を読出してレジスタBに記憶させ、n+6番地
に記憶されている学習遅角量θKG(n+6)を読出してレジ
スタCに記憶させ、そしてn+7番地に記憶されている
学習遅角量θKG(n+7)を読出してレジスタDに記憶させ
る。続いて、ステツプ151においてレジスタAの値か
らレジスタBの値を減算してレジスタxの値を乗算し、
更にその値にレジスタAの値を加算してレジスタEに記
憶させる。また、ステツプ152においてレジスタCの
値からレジスタDの値を減算してレジスタxの値を乗算
し、更にその値にレジスタCの値を加算してレジスタF
に記憶させる。そして最後にステツプ153において、
レジスタEの値からレジスタFの値を減算してレジスタ
yの値を乗算し、更にその値にレジスタEの値を加算し
て、現在のエンジン条件を示す点の学習遅角量θKGとす
る。
次に、第13図のステツプ118〜ステツプ121の詳
細なルーチンを第15図に示す。なお、第15図におけ
るレジスタnは第14図の2次元補間ルーチンのレジス
タnを用いる。まず、ステツプ118において、前記と
同様に補正遅角量θが2℃A以上であるか否かを判断
する。補正遅角量θが2℃A未満であるときにはステ
ツプ160において学習値αを−0.04℃Aとしてス
テツプ162へ進む。補正遅角量θが2℃A以上の場
合には、ステツプ119において補正遅角量θが4℃
A以上であるか否かを判断する。補正遅角量θが4℃
A未満である場合はメインルーチンへリターンし、補正
遅角量θが4℃A以上の場合にはステツプ161にお
いて学習値αを0.04℃Aとしてステツプ162へ進
む。ステツプ162では負荷Q/Nが学習マツプの下限
値0.6〔/rev〕以上であるか否かを判断する。負
荷が0.6以上である場合にはステツプ166において
エンジン回転数Nが学習マツプの下限値1000〔rp
m〕以上であるか否かを判断し、負荷が0.6未満であ
る場合にはステツプ163においてエンジン回転数Nが
1000〔rpm〕以下であるか否かを判断する。
ステツプ166においてエンジン回転数Nが1000
〔rpm〕未満と判断された場合には、ステツプ167
においてn番地における前回学習された学習遅角量θ
KGnに学習値αが加算される学習制御が行なわれ、ステ
ツプ168においてn+1番地における前回学習された
学習遅角量θKG(n+1)に学習値αが加算される学習制御
が行なわれ、メインルーチンへリターンされる。ここで
上記のように現在のエンジン回転数Nおよび負荷Q/N
がQ/N≧0.6〔/rev〕かつN<1000〔rp
m〕の領域に存在する場合には、RAMの番地を示すレ
ジスタnの値は第1行の0、6、12、18を取り得る
ので、現在のエンジン条件を示す点が上記の領域に存在
する場合に、ステツプ167で0、6、12、18番地
の学習遅角量が学習制御され、ステツプ168で1、
7、13、19番地の学習遅角量が学習制御される。
ステツプ166においてエンジン回転数Nが1000
〔rpm〕以上と判断された場合には、ステツプ169
においてn番地における前回学習された学習遅角量θKG
に学習値αが加算される学習制御が行なわれる。現在の
エンジン条件を示す点がQ/N≧0.6〔/rev〕か
つN≧1000〔rpm〕の領域に存在する場合には、
RAMの番地を示すレジスタnの値は0〜23を取り得
るので、ステツプ169においては全ての番地が学習制
御の対象になる。次のステツプ170ではレジスタnの
値が23でないか否かを判断する。レジスタnの値が2
3でない場合には、ステツプ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であるときは、ステツプ1
69で17、11、5番地の学習遅角量が各々学習制御
され、ステツプ178において1列上の23、17、1
1番地の学習遅角量が各々学習制御されることになる。
レジスタnの値が23、17、11、5のいずれでもな
いときは、ステツプ175においてn+1番地の学習遅
角量θKG(n+1)に学習値αが加算される学習制御が行な
われる。すなわち、2次元補間ルーチンのステツプ14
9で求めた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、ステ
ツプ175、ステツプ177およびステツプ178にお
いて上記4つの番地の学習遅角量が学習制御される。
ステツプ162で負荷が0.6〔/rev〕未満と判断
された場合にはステツプ163でエンジン回転数が10
00〔rpm〕以下か否か判断され、エンジン回転数が
1000〔rpm〕以下の場合にはステツプ165でレ
ジスタnの値から7減算し、ステツプ178で学習制御
を行なう。現在のエンジン条件を示す点がQ/N<0.
6〔/rev〕かつN≦1000〔rpm〕の領域に存
在するときには、レジスタnの値は0となるため、この
場合のステツプ178では0番地の学習遅角量が学習制
御されることになる。一方、エンジン回転数Nが100
0〔rpm〕を越えているときには、ステツプ164に
おいてレジスタnの値が5であるか否かを判断し、5で
ないときはステツプ179においてレジスタnの値から
6減算し、ステツプ177およびステツプ178におい
てn+6番地および6+7番地の学習遅角量を学習制御
する。また、レジスタnの値が5のときにはステツプ1
80でレジスタnの値から7減算し、ステツプ178に
おいて学習制御を行なう。現在のエンジン条件を示す点
がQ/N<0.6〔/rev〕かつN>1000〔rp
m〕の領域に存在するときには、レジスタnの値は第1
列の番地の値を取り得るため、レジスタnの値が5のと
きはステツプ178で5番地の学習遅角量が学習制御さ
れ、レジスタnの値が0、1、2、3、4のときはステ
ツプ177およびステツプ178においてレジスタnの
値の番地とその右隣りの番地の学習遅角量が学習制御さ
れる。
上記の第15図の学習ルーチンにおける学習遅角量θKG
を学習制御によつて更新するときの補正遅角量θの条
件と学習遅角量θKGの増減との関係をまとめて次表に示
す。
また、第16図に時間経過に対する補正遅角量θ、学
習遅角量θKG、点火時期θigの変動を示す。図から理解
されるように、補正遅角量θが所定範囲の値のときに
は学習遅角量θKGは一定であり、補正遅角量θが所定
範囲を越えたときには学習遅角量θKGが増加し、補正遅
角量θが所定範囲未満のとき減少している。
更に、第17図にエンジン回転数に対応する点火時期の
変動を示す。第16図において曲線C〜Cは第3図
のものと同一であり、ノツキングが発生し易い場合でも
ノツキングが発生しにくい場合でも補正遅角量θが常
に一定になつていることが理解される。
次に第18図を用いて、算出された学習遅角量が所定値
変化しているか否かを判断するルーチンをメインルーチ
ンの途中から説明する。まず、ステツプ182において
前述のステツプ124と同様にノツキング制御領域か否
かを判断する。ノツキング制御領域でない場合はメイン
ルーチンへ進み、ノツキング制御領域のときはステツプ
183で前回学習遅角量を算出したときから所定クラン
ク角(例えば120℃A)経過したか否かを判断する。
所定クランク角経過していないときはステツプ189へ
進み、所定クランク角経過したときはステツプ184お
よびステツプ185において、前述と同様に現在のエン
ジン条件を囲む4点を学習マツプ上に求め、求めた4点
のRAMのデータから2次元補間法により新しい学習遅
角量θKGiを算出して、RAMに記憶する。次のステツ
プ186では、前回算出した学習遅角量θKG、すなわち
第13図のステツプ115で求めた学習遅角量θKGから
所定値(例えば0.3℃A)減算し、その値を学習遅角
量θKGとして記憶する。続いてステツプ187におい
て、新しく算出された学習遅角量θKGiが所定値減算さ
れた学習遅角量θKG以上であるか否かを判断する。θKG
>θKGiの条件を満たすときはステツプ189へ進み、
θKG≦θKGiの条件を満たすときはステツプ189へ進
み、θKG≦θKGiの条件を満たすときはステツプ188
において新しい学習遅角量θKGiを学習遅角量θKGとし
て記憶し、ステツプ189へ進む。この結果、前回学習
遅角量を算出したときから今回学習遅角量を算出するま
での間に、学習遅角量が所定値を越えて変化した場合に
は前回算出された学習遅角量から所定値減算された値が
記憶され、学習遅角量の変化量が所定値未満であるとき
には新しく算出された学習遅角量が記憶される。そし
て、これらの学習遅角量によつてノツキングが制御され
る。第19図は、上記のように変更された学習遅角量の
変化状態を示で線図である。図の破線は学習マツプの書
換えが正確に行なわれなかつた場合の算出学習遅角量を
示し、急激に算出学習遅角量が減少しているためノツキ
ングが多発することになる。一方実線で示す本実施例の
場合には、学習マツプの書換えが正確に行なわれなかつ
た場合に算出学習遅角量から所定値づつ減算された値が
RAMに記憶されるため、算出学習遅角量が徐々に小さ
くなりノツキングの多発が防止される。
次のステツプ189〜194は、第13図のステツプ1
16〜121と同様に学習マツプに記憶された学習値の
学習制御を行なうものである。
以上説明したように本発明の実施例によれば、エンジン
回転数や環境条件が変化しても補正遅角量が所定範囲、
例えば2℃A≦θ≦4℃Aになるように学習遅角量が
進角側または遅角側に学習制御されるため、比較的長い
時間(16sec)かけて進角側に学習制御する必要がな
く、進角側の学習制御の速度を遅角側の学習制御の速度
と同様に速くすることができて点火時期が遅れすぎにな
らず、また、一度学習した値は次に学習されるまで保持
されるためノツキングの発生が少なくなり、従来の第3
のカウンタのプログラムを省略できるのでプログラムが
簡単になる、という効果が得られる。
【図面の簡単な説明】
第1図は学習マツプを示す説明図、第2図は現在のエン
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図は学習マツプに異常値が書込まれた場合を示す説明
図、第4図はエンジン回転数と点火時期との関係を示す
線図、第5図は本発明が適用されるエンジンを示す概略
図、第6図は第5図の電子制御回路を示すブロツク図、
第7図は30℃A毎の割込みルーチンの流れ図、第8図
は時刻一致割込みAの流れ図、第9図は時刻一致割込み
Bの流れ図、第10図はA/D完了割込みルーチンの流
れ図、第11図は4msec毎の割込みルーチンを示す流
れ図、第12図は補正遅角量を更新するルーチンの流れ
図、第13図は学習制御ルーチンの流れ図、第14図は
2次元補間ルーチンの流れ図、第15図は前記学習ルー
チンの詳細を示す流れ図、第16図は時間経過に対する
補正遅角量・学習遅角量・点火時期の変動を示す線図、
第17図は第3図と同様のエンジン回転数と点火時期と
の関係・補正遅角量および学習遅角量の関係を示す線
図、第18図は算出学習値が所定値変化したか否かを判
断するルーチンを示す流れ図、第19図は遅角量の変化
を示す線図である。 2……エアフローメータ、12……燃料噴射弁、 18……ノツキングセンサ、 32……エンジン回転角センサ、 34……電子制御回路。
フロントページの続き (72)発明者 安西 克史 愛知県豊田市トヨタ町1番地 トヨタ自動 車株式会社内 (56)参考文献 特開 昭55−107070(JP,A) 特開 昭57−105530(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】エンジンの運転状態により基本点火進角を
    設定し、 ノッキングが発生したとき点火時期を遅らせ、ノッキン
    グが発生しないとき点火時期を進めるための遅角量をエ
    ンジンの運転状態に応じて学習してこれを学習遅角量と
    して記憶し、 学習遅角量を基にエンジンの運転状態に応じた制御用学
    習遅角量を生成し、 前記基本点火進角より前記制御用学習遅角量を減算して
    得られた点火時期に従って点火する内燃機関のノッキン
    グ制御方法において、 現在のエンジンの運転状態に応じた学習遅角量と前回学
    習した学習遅角量より所定値を減算した学習遅角量のう
    ち大きい値の学習遅角量を制御用学習遅角量として点火
    時期を算出することを特徴とする内燃機関のノッキング
    制御方法。
JP57230323A 1982-12-24 1982-12-24 内燃機関のノツキング制御方法 Expired - Lifetime JPH0646025B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57230323A JPH0646025B2 (ja) 1982-12-24 1982-12-24 内燃機関のノツキング制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57230323A JPH0646025B2 (ja) 1982-12-24 1982-12-24 内燃機関のノツキング制御方法

Publications (2)

Publication Number Publication Date
JPS59119068A JPS59119068A (ja) 1984-07-10
JPH0646025B2 true JPH0646025B2 (ja) 1994-06-15

Family

ID=16906026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57230323A Expired - Lifetime JPH0646025B2 (ja) 1982-12-24 1982-12-24 内燃機関のノツキング制御方法

Country Status (1)

Country Link
JP (1) JPH0646025B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5412793A (en) * 1977-06-29 1979-01-30 Mitsubishi Electric Corp Concentration measuring method of solutions
JPS5843584B2 (ja) * 1979-02-08 1983-09-28 日産自動車株式会社 点火時期制御装置
JPS5623566A (en) * 1979-08-01 1981-03-05 Nippon Denso Co Ltd Method of controlling ignition time

Also Published As

Publication number Publication date
JPS59119068A (ja) 1984-07-10

Similar Documents

Publication Publication Date Title
JPH0711265B2 (ja) 内燃機関のノツキング制御方法
JPH0646025B2 (ja) 内燃機関のノツキング制御方法
JPH0646026B2 (ja) 内燃機関のノツキング制御方法
JPS58176470A (ja) アイドリング時のエンジン回転数制御方法
JPH0646023B2 (ja) 内燃機関のノツキング制御方法
JPH0646022B2 (ja) 内燃機関のノツキング制御方法
JPS63106365A (ja) 内燃機関の点火時期制御方法
JPS59110862A (ja) 内燃機関のノツキング制御方法
JPH076482B2 (ja) 内燃機関のノツキング制御方法
JPS59138774A (ja) 内燃機関のノツキング制御方法
JPS5912164A (ja) 内燃機関の点火時期制御方法
JPH0637868B2 (ja) エンジンのノツキング抑制装置
JPS59136575A (ja) 多気筒エンジンのノツキング制御方法
JPH0646024B2 (ja) 内燃機関のノツキング制御方法
JPH0240082A (ja) 内燃機関の点火時期制御装置
JP2625763B2 (ja) 内燃機関の点火時期制御装置
JPS6027782A (ja) 内燃機関のノツキング制御方法
JPH0784861B2 (ja) 内燃機関の点火時期制御方法
JPS59136573A (ja) 内燃機関のノツキング制御方法
JPH0526952B2 (ja)
JPS59108872A (ja) 内燃機関のノツキング制御方法
JPH0893613A (ja) 内燃機関の点火時期制御装置
JPS63176637A (ja) 内燃機関の燃料噴射量制御方法
JPS59136574A (ja) 内燃機関のノツキング制御方法
JPS59116528A (ja) 多気筒エンジンのノツキング判定方法