JPH0536634B2 - - Google Patents

Info

Publication number
JPH0536634B2
JPH0536634B2 JP57219559A JP21955982A JPH0536634B2 JP H0536634 B2 JPH0536634 B2 JP H0536634B2 JP 57219559 A JP57219559 A JP 57219559A JP 21955982 A JP21955982 A JP 21955982A JP H0536634 B2 JPH0536634 B2 JP H0536634B2
Authority
JP
Japan
Prior art keywords
learning
knocking
value
predetermined
engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP57219559A
Other languages
Japanese (ja)
Other versions
JPS59110862A (en
Inventor
Juji Takeda
Katsushi Anzai
Toshio Suematsu
Yoshasu Ito
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 JP57219559A priority Critical patent/JPS59110862A/en
Publication of JPS59110862A publication Critical patent/JPS59110862A/en
Publication of JPH0536634B2 publication Critical patent/JPH0536634B2/ja
Granted 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
    • F02P5/00Advancing or retarding ignition; Control therefor
    • F02P5/04Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions
    • F02P5/145Advancing 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/15Digital data processing
    • F02P5/152Digital data processing dependent on pinking
    • F02P5/1523Digital data processing dependent on pinking with particular laws of return to advance, e.g. step by step, differing from the laws of retard
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Description

【発明の詳細な説明】[Detailed description of the invention]

本発明は内燃機関のノツキング制御方法に係
り、特にノツキングの有無によつて比較的速い速
度で遅進角を行うための補正遅角量とノツキング
の有無によつて比較的遅い速度で遅進角を行いか
つ学習制御によつて変更される学習遅角量とによ
つて、基本点火進角を補正してノツキングを制御
する方法に関する。 従来の学習制御によるノツキング制御方法は、
エンジン回転数N、吸入空気量Qとエンジン回転
数Nとの比Q/Nまたは吸気管負圧で定まる負荷
によつて予め定まる基本点火進角θBASEをマイク
ロコンピユータのリードオンメモリ(ROM)に
マツプの形で記憶させておき、次の(1)式に基いて
実際にイグナイタを制御する点火進角θigを演算
し、この点火進角を用いてノツキング制御を行う
ものである。 θig=θBASE−(θKG+θK) ……(1) ただし、θKGはノツキングのレベルを所定レベ
ルにするためにエンジン回転数と負荷とによつて
定まりかつ学習制御によつて変更される学習遅角
量、θKはノツキングが発生したとき点火時期を遅
らせかつノツキングが発生しなくなつたとき点火
時期を進める補正遅角量である。 ここで、補正遅角量θKは次のようにして求めら
れる。まず、マイクロホン等で構成されたノツキ
ングセンサを用いてエンジンの振動を検出し、エ
ンジンの振動の平均値(バツクグラウンド)bの
所定倍K・b(ただしKは比例定数)とエンジン
振動のピーク値aとを求め、このピーク値aと
K・bの値とを比較する。ピーク値aがK・bの
値を越えたときには、ノツキング発生と判断して
次の(2)式に示すようにノツキング発生1回あたり
所定クランク角(例えば0.4℃A)点火時期が遅
れるよう補正遅角量θKを変更する。 θK←θK+0.4°CA ……(2) またピーク値aがK・bの値以下のときには、
ノツキングが発生しなかつたと判断して、第1の
タイマを用いて所定時間(例えば48msec)経過
したか否かを判断し、所定時間経過したときには
次の(3)式に示すように所定クランク角(例えば
0.08°CA)点火時期が進むように補正遅角量θK
変更する。 θK←θK−0.08°CA ……(3) また、エンジン条件に応じた学習遅角量θKG
次のようにして算出される。まず、第1図に示す
ようにエンジン回転数Nと負荷Q/Nとに対応さ
せて学習遅角量を記憶させる番地0〜23をマイク
ロコンピユータのランダムアクセスメモリ
(RAM)に用意して学習マツプを作成しておく。
エンジン回転数Nと吸入空気量Qとを取込み、学
習マツプ上において現在のエンジン条件を示す点
(N、Q/N)を囲む4点のRAMの番地を求め
る。今、第2図に示すように現在のエンジン条件
を示す囲む点をRAMの番地がn(n=0、1、
…16)、n+1、n+6、n+7であり、番地n
に学習遅角量θKGo、番地n+1に学習遅角量
θKG(o+1)、番地n+6に学習遅角量θKG(o+3)、番地
n+7に学習遅角量θKG(o+7)が各々記憶されてい
るものとする。そして、番地間のエンジン回転数
の差をX、番地間の負荷の差をY、番地nと現在
のエンジン条件を示す点との間のエンジン回転数
の差をx、番地nと現在のエンジン条件を示す点
との間の負荷の差をyとすれば、以下の(4)〜(6)式
に示す2次元補間法により現在のエンジン条件を
示す点の学習遅角量θKGが求められる。 A=x(θKGo−θKG(o+1))/X+θKGo……(4) B=x(θKG(o+6)−θKG(o+7))/X +θKG(o+6) ……(5) θKG=y(A−B)/Y+A ……(6) そして上記学習マツプの学習制御は、次のよう
にして行なわれる。まず、現在のエンジン条件に
応じて学習制御の時間を決定する第2のタイマ
と、エンジン状態と無関係に学習制御の時間を決
定する第3のタイマとを用意する。第2のタイマ
により所定時間(例えば48msec)経過したこと
が検出されたときには、補正遅角量θKが変更され
て所定クランク角(例えば4°CA)を越えたか否
かを判断し、補正遅角量θKが所定クランク角を越
えたときに、上記で説明した現在のエンジン条件
を示す点を囲む学習マツプ上の4点の学習遅角量
に所定クランク角(例えば0.004°CA)加算する。
この結果点火時期が遅れるように学習遅角量が学
習制御される。一方、第3のタイマにより所定時
間(例えば16sec)経過したことが検出されたと
きには、ノツキングの有無に無関係に学習マツプ
上の全ての番地の学習遅角量から所定クランク角
(例えば0.01°CA)減算して、点火時期が進むよ
うに学習遅角量を学習制御する。 而して、上記のようにして変更された補正遅角
量θKと、学習制御される学習マツプから2次元補
間法により求めた学習遅角量θKGとを用い、前記
(1)式に基いて基本点火進角θBASEを補正して、ノ
ツキングを制御するものである。 ところで、第3図に示すように、基本点火進角
θBASEすなわちMBT(Minimum Spank Advance
For Best Torque)は、エンジン回転数に応じ
て曲線C1のように変化する。また、空気が湿つ
ている場合等のノツキングが発生しにくいときの
微小ノツキング発生点火時期は曲線C2のように
なり、空気が乾燥している場合等のノツキングが
発生し易いときの微小ノツキング発生点火時期は
曲線C3のようになる。従つて、エンジン回転数
や環境条件によつて微小ノツキング発生点火時期
が異つている。 上記のような学習制御によるノツキング制御方
法では、所定時間経過したときにノツキングの有
無と無関係に学習遅角量の全てを独立して学習制
御により進角側に変更していたため、遅角側の学
習制御の機会が少ないエンジン条件において学習
遅角量が進角側となりすぎ、ノツキングが発生す
るという問題点があつた。また、上記のように学
習遅角量が進角側に学習制御される傾向があるた
め、点火時期を進角側に制御する学習制御の速度
を速く設定することができず、上記第3図に示す
場合のようにエンジン条件等が変化してノツキン
グが発生しにくくなつたときに学習遅角量により
点火時期が遅角しすぎることがあり、ノツキング
が発生しない領域においてペストトルクを得られ
ないという問題があつた。 本発明は上記問題点を解消すべく成されたもの
で、ノツキングが発生し易い条件でもノツキング
が発生しにくい条件でも常に同じようにノツキン
グ制御を行えるノツキング制御方法を提供するこ
とを目的とする。 上記目的を達成するために本発明の構成は、エ
ンジン回転数と負荷とによつて定まる基本点火進
角から、ノツキングの有無に応じて加減算される
補正遅角量と、ノツキングのレベルを所定レベル
にするためにエンジン回転数と負荷とによつて定
まりかつ前記補正遅角量の大きさが所定範囲を外
れたときに書換えが行われる学習遅角量との和を
減算して、ノツキングを制御する内燃機関のノツ
キング制御方法において、エンジン回転数が低回
転側の所定回転数未満の領域で前記学習遅角量の
学習制御を停止すると共に、エンジン回転数が前
記所定回転数以上の領域で前記補正遅角量が所定
範囲の値になるように前記学習遅角量を学習制御
するようにしたものである。 ここで、上記問題点を解消するために補正遅角
量θKが所定範囲(例えば2°CA≦θK≦4°CA)の値
をとるように学習遅角量を学習制御して、ノツキ
ングが発生しにくい条件でもノツキングが発生し
易い条件でも常に同じようにノツキング制御する
ことが考えられる。しかし、エンジン回転数が低
い領域では、S/Nが悪いためノツキングの判定
レベルとノイズのレベルとを区別できない場合が
発生し、ノツキングの誤検出により補正遅角量が
変更されてS/Nの悪い低エンジン回転領域まで
学習制御されることになるため、S/Nの悪い低
エンジン回転領域に近い領域の学習遅角量が学習
制御によつて異常な値を示すことがある、という
問題が発生する。 上記本発明の構成によれば低エンジン回転領域
で学習制御しないようにして若干高回転側の学習
値を用いるようにしているため、電気的および機
機的ノイズによつて低回転領域の学習値が異常に
なることがなく、良好な学習制御が確保され、ノ
ツキングの発生や遅角し過ぎによる出力の低下お
よび熱費の悪化を防止できる、という特有の効果
が得られる。 次に、本発明が適用されるエンジンの一例を第
4図に示す。このエンジンは図に示すように、エ
アクリーナー(図示せず)の下流側に設けられた
吸入空気量センサとしてのエアフローメータ2を
備えている。エアフローメータ2は、ダンピング
チヤンバ内に回動可能に設けられたコンペンセー
シヨンプレート2Aと、コンペンセーシヨンプレ
ート2Aの開度を検出するポテンシヨメータ2B
とから構成されている。従つて、吸入空気量Qは
ポテンシヨメータ2Bから出力される電圧として
検出される。また、エアフローメータ2の近傍に
は、吸入空気の温度を検出する吸入空気温センサ
4が設けられている。 エアフローメータ2の下流側には、スロツトル
弁6が配置され、スロツトル弁6の下流側には、
サージタンク8が設けられている。このサージタ
ンク8には、インテークマニホールド10が連結
されており、このインテークマニホールド10内
に突出して燃料噴射弁12が配置されている。イ
ンテークマニホールド10は、エンジン本体14
の燃料室14Aに接続され、エンジンの燃焼室1
4Aはエキゾーストマニホールド16を介して三
元触媒を充填した触媒コンバータ(図示せず)に
接続されている。そして、エンジン本体14に
は、マイクロホン等で構成された、エンジンの振
動を検出するノツキングセンサ18が設けられて
いる。なお、20は点火プラグ、22は混合気を
理論空燃比近傍に制御するためのO2センサ、2
4はエンジン冷却水温を検出する冷温水温センサ
である。 エンジン本体14の点火プラグ20は、デイス
トリビユータ26に接続され、デイストリビユー
タ26はイグナイタ28に接続されている。この
デイストリビユータ26には、ピツクアツプとデ
イストリビユータシヤフトに固定されたシグナル
ロータとで構成された、気筒判別センサ30およ
びエンジン回転角センサ32が設けられている。
この気筒判別センサ30は、例えばクランク角
720度毎に気筒判別信号をマイクロコンピユータ
等で構成された電子制御回路34へ出力し、この
エンジン回転角センサ32は、例えばクランク角
30度毎にクランク角基準位置信号を電子制御回路
34へ出力する。 電子制御回路34は、第5図に示すように、ラ
ンダム・アクセス・メモリ(RAM)36と、リ
ード・オンリー・メモリ(ROM)38と、中央
処置装置(CPU)40と、クロツク(CLOCK)
41と、第1の入出力ポート42と、第2の入出
力ポート44と、第1の出力ポート46と、第2
の出力ポート48とを含んで構成され、RAM3
6、ROM38、CPU40、CLOCK41、第1
の入出力ポート42、第2の入出力ポート44、
第1の出力ポート46および第2の出力ポート4
8は、バス50により接続されている。第1の入
出力ポート42には、バツフア(図示せず)マル
チプレクサ54、アナログ−デイジタル(A/
D)変換器56を介して、エアフローメータ2、
冷却水温センサ24および吸気温センサ4等が接
続されている。このマルチプレクサ54および
A/D変換器56は、第1の入出力ポート42か
ら出力される信号により制御される。第2の入出
力ポート44には、バツフア(図示せず)および
コンパレータ62を介してO2センサ22が接続
され、波形整形回路64を介して気筒判別センサ
30およびエンジン回転角センサ32が接続され
ている。また、第2の入出力ポート44には、バ
ンドバスフイルタ60、ピークホールド回路6
1、チヤンネル切換回路66およびA/D変換器
68を介してノツキングセンサ18が接続されて
いる。このバンドパスフイルタは積分回路63を
介してチヤンネル切換回路66に接続されてい
る。このチヤンネル切換回路66には、ピークホ
ールド回路61の出力と積分回路63の出力との
いずれか一方をA/D変換器68に入力するため
の第2の入出力ポート44から出力される制御信
号が入力されており、ピークホールド回路61に
は第2の入出力ポート44からリセツト信号が入
力されている。また、第1の出力ポート46は駆
動回路70を介してイグナイタ28に接続され、
第2の出力ポート48は駆動回路72を介して燃
料噴射装置12に接続されている。 電子制御回路34のROM38には、エンジン
回転数と吸入空気量とで表わされる基本点火進角
θBASEのマツプおよび基本燃料噴射量等が予め記
憶されており、エアフローメータ2からの信号お
よびエンジン回転角センサ32からの信号により
基本点火進角および基本燃料噴射量が読出される
と共に、冷却水温センサ24および吸気温センサ
4からの信号を含む各種の信号により、上記基本
点火進角および基本燃料噴射量に補正点火進角お
よび補正燃料噴射量が加えられ、イグナイタ28
および燃料噴射弁12が制御される。O2センサ
22から出力される空燃比信号は、混合気の空燃
比を理論空燃比近傍に制御する空燃比制御に使用
される。また、電子制御回路34のRAM36に
は、第1図に示す学習マツプが予め記憶されてい
る。 次に、上記のようなエンジンに本発明を適用し
た場合の実施例について詳細に説明する。なお、
本発明の実施例を説明するにあたつて、燃料噴射
制御、空燃比制御、点火時期制御のメインルーチ
ン等については従来と同様であるので説明を省略
し、本発明に関連するノツキング制御のルーチン
のみについて説明する。 第6図は、マイクロコンピユータを用いて本発
明を実施する場合の30°CA毎の割込みルーチンを
示す。まず、ステツプ81においてエンジン回転角
センサ32からの信号に基いて回転時間からエン
ジン回転数Nを求め、ステツプ82において気筒判
別センサ30から気筒判別信号が入力されてから
何番目の割込みかを数えて現在のクランク角を示
すフラグを立てる。次に、ステツプ83において、
ステツプ82で立てたフラグが上死点(TDC)の
フラグであるか否かを判別する。現在上死点でな
い場合にはステツプ88へ進み、現在上死点である
場合にはステツプ84においてノツクゲートが閉じ
ているか否かを判断する。ノツクゲートが開いて
いるときはステツプ85においてノツクゲートを閉
じ、ノツクゲートが閉じているときはステツプ86
においてチヤンネル切換回路66を切換えて、ノ
ツキングセンサ18から出力されるエンジン振動
信号をバンドパスフイルタ60、積分回路63お
よびチヤンネル切換回路66を介してA/D変換
器68に入力し、エンジン振動の平均値すなわち
バツクグラウンドレベルのA/D変換を開始す
る。続いて、ステツプ87においてノツクゲートの
閉時刻t1、すなわち次にノツクゲートを閉じる時
刻を算出して時刻一致割込みAをセツトする。 次に、ステツプ88においてステツプ82で立つた
フラグを基にクランク角が90°CA BTDC(上死点
前)になつたか否かを判断する。クランク角が
90°CA BTDCでないときはステツプ91へ進み、
90°CA BTDCのときはステツプ89において補正
進角量θKの更新をすると共に点火時期の計算処理
を行う(この詳細については以下で説明する)。
ステツプ90では、ステツプ89で計算した点火時期
と現在の時刻とによりイグナイタ28をオンさせ
る時刻を求めて時刻一致割込みBをセツトすると
共に、イグナイタオンのフラグを立てる。そし
て、ステツプ91においてクランク角が60°CA
BTDCになつたか否かを判断し、60°CA BTDC
でない場合にはメインルーチンへリターンし、
60°CA BTDCである場合にはステツプ92におい
てイグナイタのオフ時刻を計算して時刻一致割込
みBをセツトし、ステツプ90で立てたイグナイタ
オンのフラグをおろす。 次に第7図に示す時期一致割込みAについて説
明する。この割込みルーチンは、エンジン振動の
ピーク値を求めるものであり、第6図のステツプ
87でセツトした時刻になると割込みが行なわれ、
ステツプ93においてピークホールド回路61に保
持されたピーク値をチヤンネル切換回路66を介
してA/D変換器68に入力してピークホールド
値のA/D変換を開始してメインルーチンへリタ
ーンする。 第8図は、時刻一致割込みBのルーチンを示す
ものであり、第6図のステツプ90およびステツプ
92にセツトした時刻になると割込みが行なわれ
る。ステツプ94では、イグナイタオンのフラグが
立つているか、すなわちこのフラグが1か否かを
判断し、フラグが立つているときはステツプ96に
おいてイグナイタをオンし、フラグがおりている
ときにはステツプ95においてイグナイタをオフ
し、メインルーチンへリターンする。 第9図は、A/D変換完了割込みルーチンを示
すものであり、バツクグラウンドレベルのA/D
変換およびピークホールド値のA/D変換が完了
したときにこの割込みが行なわれる。まず、ステ
ツプ97において現在ノツクゲートが開いているか
否かを判断する。ノツクゲートが閉じているとき
には、ステツプ98において第6図のステツプ86で
変換したA/D変換値をRAM36のメモリに記
憶してバツクグラウンドレベルbとし、ステツプ
99においてノツクゲートを開いてメインルーチン
へリターンする。一方、ノツクゲートが開いてい
るときには、第7図のステツプ93で変換したA/
D変換値をRAM36のメモリに記憶してピーク
値aとし、ステツプ101においてノツクゲートを
閉じてメインルーチンへリターンする。 第10図は、ノツキングが発生していないとき
の時間と学習制御する時間とをカウントするため
の所定時間(例えば4msec)毎に行なわれる割
込みルーチンを示すものである。まず、ステツプ
102においてノツキングが発生しないときの時間
を求めるカウンタTIME1のカウント値を1増加
させ、ステツプ103において学習制御する時間を
求めるカウンタTIME2のカウント値を1増加さ
せる。次のステツプ104において、カウンタ
TIME1のカウント値が12(48msec)以下になつ
ているか否かを判断する。カウント値が12を越え
ているときにはステツプ105においてカウンタ
TIME1のカウント値を12とし、カウント値が12
以下のときにはステツプ106においてカウンタ
TIME2のカウント値が12以下になつているか否
かを判断する。ここで、カウント値が12を越えて
いるときにはステツプ107においてカウンタ
TIME2のカウント値を12としてメインルーチン
へリターンしカウント値が12以下のときにはメイ
ンルーチンへリターンする。 次に第6図のステツプ89の詳細なルーチンを第
11図に基いて説明する。第6図のステツプ88で
クランク角が90°CA BTDCになつたと判断され
ると、ステツプ122において負荷Q/Nが0.6
〔/rev.〕以上か否か、すなわちノツキング制
御領域か否かを判断する。ノツキング制御領域で
ないときにはステツプ123で基本点火進角θBASE
点火進角θigとし、ノツキング制御領域であると
きはステツプ108において、第9図のステツプ100
で記憶されたピーク値aと、第9図のステツプ98
で記憶されたバツクグラウンドレベルbに定数K
を乗算した値K・bとを比較する。ピーク値aが
値K・bを越えているときにはノツキングが発生
したと判断して、ステツプ110において補正遅角
量θKを所定角(例えば0.4°CA)増加させ、ステツ
プ112においてノツシングが発生しない時間をカ
ウントするカウンタTIME1のカウント値をクリ
アする。一方、ピーク値aが値K・b以下のとき
にはノツキングが発しないと判断して、ステツプ
109においてカウンタTIME1のカウント値が所
定値(12)以上になつているか否かを判断し、カウン
ト値が所定値以上になつているときにはノツキン
グの発生しない状態が所定時間経続していること
からステツプ111において補正遅角量θKを所定角
(例えば0.08°CA)減少させた後、ステツプ112で
カウンタTIME1をクリアする。また、ステツプ
109においてカウント値が所定値未満であるとき
には、ステツプ113へ進む。ステツプ113では、上
記のようにして求められた補正遅角量θKと学習マ
ツプから2次元補間法により求められる学習遅角
量θKGとによつて前述した(1)式に示すように基本
点火進角θBASEを補正し、実際にイグナイタを制
御する点火進角θigを算出する。 次に学習マツプから現在のエンジン条件に対応
する学習遅角量θKGを求めかつ学習制御するルー
チンを説明する。第12図にこのルーチンをメイ
ンルーチンの途中から示す。 まず、ステツプ124において負荷Q/Nが0.6
〔/rev.〕以上か否か、すなわちノツキング制
御領域か否かを判断する。ノツキング制御領域で
ないとはそのままメインルーチンへ続き、ノツキ
ング制御領域であるときはステツプ114において
エンジン回転数Nと負荷Q/Nとで定まる現在の
エンジン条件を示す点を囲む4点のRAMの番地
を学習マツプ上に求める。次にステツプ115にお
いて、求めた4点のRAMの番地に記憶されてい
るデータ、すなわち4点のRAMの番地に記憶さ
れている学習遅角量を基に2次元補間法(2次元
補間法のルーチンは後で説明する)により、現在
のエンジン条件を示す点の学習遅角量θKGを算出
し、算出した値をRAMの所定場所に記憶する。
次のステツプ124では、エンジン回転数Nが低回
転側の所定回転数(例えば1500〔r.p.m〕以上か否
かを判断する。エンジン回転数が所定回転数未満
であるときは学習制御せずにメインルーチンへ戻
り、エンジン回転数が所定回転数以上であるとき
は次のステツプ116に進む。 ステツプ116では、第10図のステツプ103でカ
ウントした学習制御する時間を求めるためのカウ
ンタTIME2のカウント値が所定値(例えば12)
以上か否かを判断する。カウント値が所定値未満
である場合にはメインルーチンへリターンし、カ
ウント値が所定値以上の場合にはステツプ117で
カウンタTIME2のカウント値をクリアした後、
第11図のステツプ110および111で更新された補
正遅角量θKが第1の所定クランク角(例えば
2°CA)以上であるか否かをステツプ118で判断す
る。 ステツプ118で補正遅角量θKが第1の所定クラ
ンク角未満であると判断された場合には、ステツ
プ121において現在のエンジン条件を示す点を囲
む学習マツプ上の4点に記憶されている学習遅角
量の各々から、所定クランク角(例えば
0.04°CA)減算する学習制御を行ない、メインル
ーチンへリターンする。この結果、補正遅角量θK
が第1の所定クランク角未満であるときには学習
マツプの学習遅角量が小さくなるように学習制御
され、学習遅角量によつて点火時期が進むように
制御される。一方、ステツプ118で補正遅角量θK
が第1の所定クランク角以上であると判断された
場合には、ステツプ119において補正遅角量θK
第1の所定クランク角より大きい値の第2の所定
クランク角(例えば4°CA)未満であるか否かを
判断する。ステツプ119において補正遅角量θK
第1の所定クランク角未満であると判断された場
合、すなわち補正遅角量θKが以下の条件を満足す
る場合には、 第1の所定クランク角(2°CA)≦θK <第2の所定クランク角(4°CA) ……(7) 学習制御せずにメインルーチンへリターンす
る。この結果、補正遅角量θKが所定範囲の値をと
るときは学習制御されず、学習遅角量によつては
点火時期が変更されない。なお、補正遅角量が所
定範囲の値をとるときにおいても、必要に応じて
学習制御するようにしてもよい。ステツプ119に
おいて補正遅角量θKが第2の所定クランク角以上
と判断された場合には、ステツプ120において現
在のエンジン条件を示す点を囲む学習マツプ上の
4点に記憶されている学習遅角量の各々に、所定
クランク角(例えば0.04°CA)加算する学習制御
を行ない、メインルーチンへリターンする。この
結果、補正遅角量θKが第2の所定クランク角以上
であるときには学習マツプの学習遅角量が大きく
なるように学習制御され、学習遅角量によつて点
火時期が遅れるように制御される。 以上のような学習制御することによつて、補正
遅角量が所定範囲の値になるように学習マツプの
学習遅角量が変更され、エンジン回転数が1500
〔r.p.m〕未満では学習制御されない(第1図の一
点鎖線より左側の領域)。 以下に第12図の学習ルーチンのステツプ115
における2次元補間法の詳細なルーチンを第13
図を用いて説明する。この2次元補間ルーチンに
おいて、学習マツプとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点の
RAMの番地を第2図に示すようにn、n+1、
n+6、n+7とする。まず、ステツプ130にお
いて、現在の負荷Q/Nが学習マツプ上の負荷の
上限値すなわち1.2〔/rev.〕以下であるか否か
を判断する。負荷が1.2〔/rev.〕を越えている
場合にはステツプ131でレジスタnに1.2を記憶
し、負荷が1.2〔/rev.〕以下である場合にはス
テツプ134で現在の負荷Q/Nの値をレジスタn
に記憶する。ステツプ135では、現在のエンジン
回転数Nが学習マツプ上のエンジン回転数の上限
値すなわち6000〔r.p.m〕以下であるか否かを判断
する。エンジン回転数が6000〔r.p.m〕を越えてい
る場合にはステツプ136でレジスタmに6000を記
憶し、エンジン回転数が6000〔r.p.m〕以下である
場合にはステツプ137で現在のエンジン回転数N
が値をレジスタmに記憶する。ステツプ138では、
レジスタnの値が学習マツプ上の負荷の下限値す
なわち0.6〔/rev.〕以上であるか否かを判断
し、レジスタnの値が0.6未満であるときにはス
テツプ139においてレジスタnの値を0.6とし、レ
ジスタnの値が0.6以上あるときにはステツプ140
に進む。そしてステツプ140では、レジスタmの
値が学習マツプ上のエンジン回転数の下限値すな
わち1000〔r.p.m〕以上であるか否かを判断し、レ
ジスタmの値が1000未満であるときにはステツプ
141においてレジスタmの値を1000とし、レジス
タmの値が1000以上であるときには次のステツプ
142に進む。以上の結果、現在のエンジン回転数
Nおよび負荷Q/Nが学習マツプ上の値であると
きにはその値がレジスタmおよびnに各々記憶さ
れ、現在のエンジン回転数Nおよび負荷Q/Nが
学習マツプの上下限値を越えているときには上下
限値がレジスタmおよびnに各々記憶される。 ステツプ142からステツプ149は、学習マツプ上
の4点を選択するためのルーチンである。まず、
ステツプ142においてレジスタnの値から0番地
の負荷の値0.6〔/rev.〕を減算した値をレジス
タnに記憶させる。次に、ステツプ143において
レジスタの値の負荷の目盛り間隔である0.2〔/
rev.〕で除算し、その商の整数部をレジスタnに
記憶させると共に商の余りをレジスタyに記憶さ
せる。このレジスタyの値は、第2図のn番地か
ら現在のエンジン条件を示す点までの負荷の値y
に等しい。また、レジスタnに記憶された商の整
数部は、現在のエンジン条件を示す点に最も近く
かつ現在のエンジン条件を示す点以下の番地の列
(番地の横方向の並び、例えば0〜5番地の並び
を第1列とする)の列番を示している。そして、
ステツプ144においてレジスタyの値を更に0.2
〔/rev.〕で除算しておく。従つて、最終的に
レジスタyには前述した(6)式のy/Yに対応した
値が記憶されている。 ステツプ145において、前述と同様にレジスタ
mの値から0番地のエンジン回転数の値1000〔r.
p.m〕を減算した値をレジスタmに記憶させる。
次に、ステツプ146においてレジスタmの値をエ
ンジン回転数の目盛り間隔である〔r.p.m〕で除
算し、その商の整数部をレジスタmに記憶させる
と共に商の余りをレジスタxに記憶させる。この
レジスタxの値は、第2図のn番地から現在のエ
ンジン条件を示す点までのエンジン回転数の値x
に等しい。また、レジスタmに記憶された商の整
数部は、現在のエンジン条件を示す点に最も近く
かつ現在のエンジン条件を示す点以下の番地の行
(番地の縦方向の並び、例えば0、6、12、18番
地の並びを第1行とする)の行番を示している。
そして、ステツプ147においてレジスタxの値を
更に1000〔r.p.m〕で除算しておく。従つて、最終
的にレジスタxには前述した(4)、(5)式のx/Xに
対応した値が記憶されている。 次にステツプ148において、レジスタnの値を
6倍してレジスタnに記憶させ、次のステツプ
149において、レジスタnの値とレジスタmの値
を加算してレジスタnに記憶させる。この結果、
現在のエンジン条件を囲む4点の左下角の番地、
すなわち第2図のn番地の番地番号が求められ、
レジスタnに記憶される。 ステツプ150においては、学習マツプ上のn番
地に記憶されている学習遅角量θKGoを読出してレ
ジスタAに記憶させ、n+1番地に記憶されてい
る学習遅角量θKG(o+1)を読出してレジスタBに記
憶させ、n+6番地に記憶されている学習遅角量
θKG(o+6)を読出してレジスタCに記憶させ、そし
てn+7番地に記憶されている学習遅角量
θKG(o+7)を読出してレジスタDに記憶させる。続
いて、ステツプ151においてレジスタAの値から
レジスタBの値を減算してレジスタxの値を乗算
し、更にその値にレジスタAの値を加算してレジ
スタEに記憶させる。また、ステツプ152におい
てレジスタCの値からレジスタDの値を減算して
レジスタxの値を乗算し、更にその値にレジスタ
Cの値を加算してレジスタFに記憶させる。そし
て最後にステツプ153において、レジスタEの値
からレジスタFの値を減算してレジスタyの値を
乗算し、更にその値にレジスタEの値を加算し
て、現在のエンジン条件を示す点の学習遅角量
θKGとする。 次に本発明の他の実施例における学習制御ルー
チンを第14図を用いて説明する。なお、第14
図において第12図と同一部分には同一の符号を
付して説明を省略する。また、第12図の学習制
御ルーチンと第14図の学習制御ルーチンとの相
違点は、第14図では第12図のステツプ124に
代えてステツプ125、126、127を用いていること
である。 ステツプ115において現在のエンジン条件の学
習遅角角が算出された後、ステツプ125で負荷
Q/Nが0.9〔/rev.〕以上か否かが判断され
る。負荷が0.9〔/rev.〕以上であるときはステ
ツプ127でエンジン回転数Nが1200〔r.p.m〕以上
か否かを判断し、負荷が0.9〔/rev.〕未満のと
きはステツプ126でエンジン回転数が1500〔r.p.m〕
未満であるか否かを判断する。ステツプ127でエ
ンジン回転数が1200〔r.p.m〕以上であるときはス
テツプ116へ進み、エンジン回転数が1200〔r.p.m〕
未満であるときはメインルーチンへ進む。また、
ステツプ126でエンジン回転数が1500未満である
ときはメインルーチンへ進み、エンジン回転数が
1500〔r.p.m〕以上であるときはステツプ127へ進
む。この結果、Q/N<0.9〔/rev.〕かつN<
1500〔r.p.m〕の領域およびQ/N≧0.9〔/rev.〕
かつN<1200〔r.p.m〕の領域において学習制御が
行なわれず、その他の領域において学習制御が行
なわれる。 この実施例によれば、ノツキングが発生し易い
高負荷側で学習制御領域を広くしているため、よ
り良好な学習制御が行なえる。 上記の第12図および第14図の学習ルーチン
における学習遅角量θKGを学習制御によつて更新
するときの補正遅角量θKの条件と学習遅角量θKG
の増減との関係をまとめて次表に示す。
The present invention relates to a knocking control method for an internal combustion engine, and more particularly to a corrected retard amount for retarding the engine at a relatively fast speed depending on the presence or absence of knocking, and a retardation amount for retarding the engine at a relatively slow speed depending on the presence or absence of knocking. The present invention relates to a method for controlling knocking by correcting the basic ignition advance angle using a learning retardation amount that is changed by learning control. The conventional knocking control method using learning control is
The basic ignition advance angle θ BASE , which is predetermined by the load determined by the engine speed N, the ratio Q/N of the intake air amount Q and the engine speed N, or the intake pipe negative pressure, is stored in the read-on memory (ROM) of the microcomputer. It is stored in the form of a map, calculates the ignition advance angle θ ig for actually controlling the igniter based on the following equation (1), and performs knocking control using this ignition advance angle. θ ig = θ BASE − (θ KG + θ K ) ...(1) However, θ KG is determined by the engine speed and load and is changed by learning control in order to keep the knocking level at a predetermined level. The learned retard amount θ K is a corrected retard amount that retards the ignition timing when knocking occurs and advances the ignition timing when knocking no longer occurs. Here, the corrected retard amount θ K is obtained as follows. First, engine vibration is detected using a knocking sensor composed of a microphone, etc., and a predetermined times K・b (where K is a proportionality constant) of the average value (background) of engine vibration b is calculated as the peak of engine vibration. The peak value a is then compared with the value of K·b. When the peak value a exceeds the value of K・b, it is determined that knocking has occurred, and the ignition timing is corrected so that the ignition timing is delayed by a predetermined crank angle (for example, 0.4℃A) for each knocking occurrence, as shown in the following equation (2). Change the retard amount θ K. θ K ←θ K +0.4°CA ...(2) Also, when the peak value a is less than the value of K・b,
After determining that no knocking has occurred, the first timer is used to determine whether a predetermined time (for example, 48 msec) has elapsed, and when the predetermined time has elapsed, the crank angle is adjusted to a predetermined crank angle as shown in the following equation (3). (for example
0.08°CA) Change the correction retard amount θ K so that the ignition timing advances. θ K ← θ K −0.08°CA (3) Further, the learning retardation amount θ KG according to the engine conditions is calculated as follows. First, as shown in Fig. 1, addresses 0 to 23 for storing learning retard amounts in correspondence with engine speed N and load Q/N are prepared in the random access memory (RAM) of a microcomputer, and a learning map is created. Create it.
The engine speed N and intake air amount Q are taken in, and the RAM addresses of four points surrounding the point (N, Q/N) indicating the current engine condition on the learning map are found. Now, as shown in Figure 2, the enclosing points indicating the current engine conditions are located at RAM address n (n=0, 1,
...16), n+1, n+6, n+7, and address n
Learning retardation amount θ KGo at address n+1, learning retardation amount θ KG(o+1) at address n+6, learning retardation amount θ KG(o+3) at address n+7, learning retardation amount θ KG(o+) at address n+7. 7) are respectively memorized. Then, the difference in engine speed between addresses is X, the difference in load between addresses is Y, the difference in engine speed between address n and the point indicating the current engine condition is x, and the difference between address n and the current engine If the difference in load between the point indicating the condition and the point indicating the condition is y, then the learning retard amount θ KG of the point indicating the current engine condition is determined by the two-dimensional interpolation method shown in equations (4) to (6) below. It will be done. A=x(θ KGo −θ KG(o+1) )/X+θ KGo …(4) B=x(θ KG(o+6) −θ KG(o+7) )/X +θ KG(o+ 6) ...(5) θ KG =y(A-B)/Y+A...(6) And the learning control of the learning map is performed as follows. First, a second timer that determines the learning control time depending on the current engine condition and a third timer that determines the learning control time regardless of the engine condition are prepared. When the second timer detects that a predetermined time (for example, 48 msec) has elapsed, it is determined whether the correction retard amount θ K has been changed to exceed a predetermined crank angle (for example, 4° CA), and the correction delay When the angle θ K exceeds a predetermined crank angle, a predetermined crank angle (for example, 0.004° CA) is added to the learning retard amounts at the four points on the learning map surrounding the point indicating the current engine condition explained above. .
As a result, the learning retard amount is learning-controlled so that the ignition timing is delayed. On the other hand, when the third timer detects that a predetermined period of time (for example, 16 seconds) has elapsed, a predetermined crank angle (for example, 0.01° CA) is calculated from the learning retard amount of all addresses on the learning map, regardless of the presence or absence of knocking. By subtracting the value, the learning retard amount is controlled to advance the ignition timing. Using the corrected retardation amount θ K changed as described above and the learning retardation amount θ KG obtained by the two-dimensional interpolation method from the learning map subjected to learning control,
Knocking is controlled by correcting the basic ignition advance angle θ BASE based on equation (1). By the way, as shown in Fig. 3, the basic ignition advance angle θ BASE , or MBT (Minimum Spank Advance
For Best Torque) changes as shown by curve C 1 depending on the engine speed. In addition, the ignition timing at which minute knocking occurs when knocking is difficult to occur, such as when the air is humid, is as shown by curve C 2 , and the ignition timing at which minute knocking occurs when knocking is likely to occur, such as when the air is dry. The ignition timing will be as shown in curve C3 . Therefore, the ignition timing at which minute knocking occurs varies depending on the engine speed and environmental conditions. In the knocking control method using learning control as described above, when a predetermined period of time has elapsed, the entire learning retard amount is independently changed to the advance side by learning control, regardless of the presence or absence of knocking. Under engine conditions where there are few opportunities for learning control, the learning retard amount becomes too advanced, resulting in knocking. In addition, as mentioned above, since the learning retardation amount tends to be learned and controlled to the advance side, the learning control speed for controlling the ignition timing to the advance side cannot be set quickly, and as shown in Figure 3 above. When the engine conditions change and knocking becomes less likely to occur, as in the case shown in , the ignition timing may be retarded too much due to the learned retardation amount, making it impossible to obtain pest torque in the range where knocking does not occur. There was a problem. The present invention has been made to solve the above problems, and an object of the present invention is to provide a knocking control method that can always perform knocking control in the same way under conditions where knocking is likely to occur and under conditions where knocking is unlikely to occur. In order to achieve the above object, the configuration of the present invention provides a correction retard amount that is added or subtracted from the basic ignition advance angle determined by the engine speed and load depending on the presence or absence of knocking, and a level of knocking to a predetermined level. Knocking is controlled by subtracting the sum of the learned retardation amount, which is determined by the engine speed and load and is rewritten when the magnitude of the corrected retardation amount is out of a predetermined range. In the knocking control method for an internal combustion engine, the learning control of the learning retard amount is stopped in an area where the engine rotational speed is less than a predetermined rotational speed on the low rotational side, and the learning control of the learning retard amount is stopped in an area where the engine rotational speed is higher than the predetermined rotational speed. The learned retard amount is controlled in a learning manner so that the corrected retard amount falls within a predetermined range. Here, in order to solve the above problem, the learned retard amount is controlled so that the corrected retard amount θ K takes a value within a predetermined range (for example, 2° CA ≦ θ K ≦ 4° CA). It is conceivable to always perform knocking control in the same way under conditions where knocking is unlikely to occur and under conditions where knocking is likely to occur. However, in a region where the engine speed is low, the S/N ratio is poor, so it may not be possible to distinguish between the knocking judgment level and the noise level, and the corrective retardation amount is changed due to incorrect knocking detection, resulting in a poor S/N ratio. Since learning control is applied to the bad low engine speed region, there is a problem that the learning retard amount in the region close to the bad low engine speed region with S/N may show an abnormal value due to the learning control. Occur. According to the configuration of the present invention, since the learning control is not performed in the low engine speed range and the learning value in the slightly higher engine speed side is used, the learned value in the low engine speed range may be affected by electrical and mechanical noise. This has the unique effect of preventing the engine from becoming abnormal, ensuring good learning control, and preventing a decrease in output and a deterioration in heating costs due to occurrence of knocking or excessive retardation. Next, FIG. 4 shows an example of an engine to which the present invention is applied. As shown in the figure, this engine is equipped with an air flow meter 2 as an intake air amount sensor provided downstream of an air cleaner (not shown). The air flow meter 2 includes a compensation plate 2A rotatably provided in the damping chamber and a potentiometer 2B that detects the opening degree of the compensation plate 2A.
It is composed of. Therefore, the intake air amount Q is detected as the voltage output from the potentiometer 2B. Further, an intake air temperature sensor 4 is provided near the air flow meter 2 to detect the temperature of intake air. A throttle valve 6 is arranged downstream of the air flow meter 2, and downstream of the throttle valve 6,
A surge tank 8 is provided. An intake manifold 10 is connected to the surge tank 8, and a fuel injection valve 12 is disposed protruding into the intake manifold 10. The intake manifold 10 is an engine main body 14
The combustion chamber 1 of the engine is connected to the fuel chamber 14A of the engine.
4A is connected via an exhaust manifold 16 to a catalytic converter (not shown) filled with a three-way catalyst. The engine body 14 is provided with a knocking sensor 18 configured with a microphone or the like to detect vibrations of the engine. In addition, 20 is a spark plug, 22 is an O 2 sensor for controlling the air-fuel mixture near the stoichiometric air-fuel ratio, 2
4 is a cold/hot water temperature sensor that detects the engine cooling water temperature. The spark plug 20 of the engine body 14 is connected to a distributor 26, and the distributor 26 is connected to an igniter 28. The distributor 26 is provided with a cylinder discrimination sensor 30 and an engine rotation angle sensor 32, which are comprised of a pickup and a signal rotor fixed to the distributor shaft.
This cylinder discrimination sensor 30 is configured to detect, for example, a crank angle.
A cylinder discrimination signal is output every 720 degrees to an electronic control circuit 34 composed of a microcomputer, etc., and this engine rotation angle sensor 32 detects, for example, a crank angle.
A crank angle reference position signal is output to the electronic control circuit 34 every 30 degrees. As shown in FIG. 5, the electronic control circuit 34 includes a random access memory (RAM) 36, a read only memory (ROM) 38, a central processing unit (CPU) 40, and a clock (CLOCK).
41, a first input/output port 42, a second input/output port 44, a first output port 46, a second
RAM3
6, ROM38, CPU40, CLOCK41, 1st
an input/output port 42, a second input/output port 44,
First output port 46 and second output port 4
8 are connected by a bus 50. The first input/output port 42 includes a buffer (not shown) multiplexer 54, an analog-digital (A/
D) air flow meter 2 via transducer 56;
A cooling water temperature sensor 24, an intake air temperature sensor 4, etc. are connected. The multiplexer 54 and A/D converter 56 are controlled by a signal output from the first input/output port 42. The O 2 sensor 22 is connected to the second input/output port 44 via a buffer (not shown) and a comparator 62, and the cylinder discrimination sensor 30 and engine rotation angle sensor 32 are connected via a waveform shaping circuit 64. ing. The second input/output port 44 also includes a bandpass filter 60 and a peak hold circuit 6.
1. The knocking sensor 18 is connected via a channel switching circuit 66 and an A/D converter 68. This bandpass filter is connected to a channel switching circuit 66 via an integrating circuit 63. This channel switching circuit 66 receives a control signal output from the second input/output port 44 for inputting either the output of the peak hold circuit 61 or the output of the integrating circuit 63 to the A/D converter 68. is input to the peak hold circuit 61, and a reset signal is input to the peak hold circuit 61 from the second input/output port 44. Further, the first output port 46 is connected to the igniter 28 via the drive circuit 70,
Second output port 48 is connected to fuel injector 12 via drive circuit 72 . The ROM 38 of the electronic control circuit 34 stores in advance a map of the basic ignition advance angle θ BASE expressed by the engine speed and intake air amount, the basic fuel injection amount, etc. The basic ignition advance angle and the basic fuel injection amount are read by the signal from the angle sensor 32, and the basic ignition advance angle and the basic fuel injection amount are read by various signals including the signals from the cooling water temperature sensor 24 and the intake air temperature sensor 4. The corrected ignition advance angle and corrected fuel injection amount are added to the amount, and the igniter 28
and the fuel injection valve 12 are controlled. The air-fuel ratio signal output from the O 2 sensor 22 is used for air-fuel ratio control to control the air-fuel ratio of the air-fuel mixture to near the stoichiometric air-fuel ratio. Further, a learning map shown in FIG. 1 is stored in advance in the RAM 36 of the electronic control circuit 34. Next, an embodiment in which the present invention is applied to the engine as described above will be described in detail. In addition,
In explaining the embodiments of the present invention, the main routines of fuel injection control, air-fuel ratio control, ignition timing control, etc. are the same as conventional ones, so explanations will be omitted, and the routine of knocking control related to the present invention will be omitted. will be explained only. FIG. 6 shows an interrupt routine every 30° CA when the present invention is implemented using a microcomputer. First, in step 81, the engine rotation speed N is calculated from the rotation time based on the signal from the engine rotation angle sensor 32, and in step 82, the number of interruptions after the cylinder discrimination signal is input from the cylinder discrimination sensor 30 is counted. Sets a flag indicating the current crank angle. Next, in step 83,
It is determined whether the flag set in step 82 is a top dead center (TDC) flag. If it is not currently the top dead center, the process advances to step 88, and if it is currently the top dead center, it is determined in step 84 whether or not the knock gate is closed. If the lock gate is open, the lock gate is closed in step 85, and if the lock gate is closed, the lock gate is closed in step 86.
At this point, the channel switching circuit 66 is switched, and the engine vibration signal output from the knocking sensor 18 is input to the A/D converter 68 via the bandpass filter 60, the integrating circuit 63, and the channel switching circuit 66, and the engine vibration signal is input to the A/D converter 68. A/D conversion of the average value or background level is started. Subsequently, in step 87, the closing time t 1 of the knock gate, that is, the time when the next knock gate will be closed, is calculated and a time coincidence interrupt A is set. Next, in step 88, based on the flag set in step 82, it is determined whether the crank angle has reached 90° CA BTDC (before top dead center). The crank angle
If it is not 90°CA BTDC, proceed to step 91.
In the case of 90° CA BTDC, in step 89, the corrected advance angle amount θ K is updated and the ignition timing is calculated (details of this will be explained below).
In step 90, the time to turn on the igniter 28 is determined based on the ignition timing calculated in step 89 and the current time, and a time coincidence interrupt B is set, and an igniter-on flag is set. Then, in step 91, the crank angle is 60° CA.
Determine whether it has become BTDC or not, 60°CA BTDC
If not, return to the main routine,
If it is 60° CA BTDC, the igniter off time is calculated in step 92, a time coincidence interrupt B is set, and the igniter on flag set in step 90 is removed. Next, the timing coincidence interrupt A shown in FIG. 7 will be explained. This interrupt routine is to find the peak value of engine vibration, and is performed using the steps shown in Figure 6.
When the time set in 87 is reached, an interrupt is generated.
In step 93, the peak value held in the peak hold circuit 61 is input to the A/D converter 68 via the channel switching circuit 66, A/D conversion of the peak hold value is started, and the process returns to the main routine. FIG. 8 shows the routine of time coincidence interrupt B, which includes step 90 and step 90 of FIG.
At the time set to 92, an interrupt will occur. In step 94, it is determined whether the igniter on flag is on, that is, whether this flag is 1. If the flag is on, the igniter is turned on in step 96, and if the flag is off, the igniter is turned on in step 95. Turn off and return to the main routine. FIG. 9 shows the A/D conversion completion interrupt routine.
This interrupt occurs when the conversion and A/D conversion of the peak hold value is complete. First, in step 97, it is determined whether the knock gate is currently open. When the check gate is closed, in step 98, the A/D conversion value converted in step 86 of FIG.
At 99, open the knock gate and return to the main routine. On the other hand, when the knock gate is open, the A/
The D-converted value is stored in the memory of the RAM 36 as the peak value a, the check gate is closed in step 101, and the process returns to the main routine. FIG. 10 shows an interrupt routine performed every predetermined time (for example, 4 msec) for counting the time when no knocking occurs and the time for learning control. First, step
In step 102, the count value of counter TIME1, which determines the time when no knocking occurs, is incremented by one, and in step 103, the count value of counter TIME2, which determines the time for learning control, is incremented by one. In the next step 104, the counter
It is determined whether the count value of TIME1 is 12 (48 msec) or less. If the count value exceeds 12, the counter is
The count value of TIME1 is 12, and the count value is 12
The counter is set in step 106 in the following cases.
Determine whether the count value of TIME2 is 12 or less. Here, if the count value exceeds 12, the counter is
The count value of TIME2 is set to 12 and the process returns to the main routine. When the count value is 12 or less, the process returns to the main routine. Next, the detailed routine of step 89 in FIG. 6 will be explained based on FIG. 11. When it is determined in step 88 of FIG. 6 that the crank angle has reached 90° CA BTDC, the load Q/N is reduced to 0.6 in step 122.
It is determined whether or not it is greater than [/rev.], that is, whether it is in the knocking control region. If it is not in the knocking control region, the basic ignition advance angle θ BASE is set to ignition advance angle θ ig in step 123, and if it is in the knocking control region, in step 108, step 100 in FIG.
The peak value a stored in step 98 of FIG.
A constant K is added to the background level b stored in
The value obtained by multiplying by K·b is compared. When the peak value a exceeds the value K·b, it is determined that knocking has occurred, and in step 110, the correction retard amount θ K is increased by a predetermined angle (for example, 0.4° CA), and in step 112, no knocking occurs. Clear the count value of the counter TIME1 that counts time. On the other hand, when the peak value a is less than the value K・b, it is determined that knocking will not occur, and the step
In step 109, it is determined whether the count value of the counter TIME1 is greater than or equal to a predetermined value (12), and if the count value is greater than or equal to the predetermined value, it is determined that the state in which knocking does not occur has continued for a predetermined period of time. After decreasing the corrected retard amount θ K by a predetermined angle (for example, 0.08° CA) in step 111, the counter TIME1 is cleared in step 112. Also, step
If the count value is less than the predetermined value in step 109, the process advances to step 113. In step 113, the correction retardation amount θ K obtained as described above and the learned retardation amount θ KG obtained from the learning map by the two-dimensional interpolation method are used to calculate the basic equation as shown in equation (1) above. The ignition advance angle θ BASE is corrected to calculate the ignition advance angle θ ig that actually controls the igniter. Next, a routine for determining the learning retard amount θ KG corresponding to the current engine conditions from the learning map and performing learning control will be explained. FIG. 12 shows this routine from the middle of the main routine. First, in step 124, the load Q/N is 0.6
It is determined whether or not it is greater than [/rev.], that is, whether it is in the knocking control region. If it is not the knocking control area, the main routine continues as is, and if it is the knocking control area, in step 114, the RAM addresses of the four points surrounding the point indicating the current engine condition determined by the engine speed N and the load Q/N are stored. Find it on the learning map. Next, in step 115, a two-dimensional interpolation method (two-dimensional interpolation method (The routine will be explained later) calculates the learning retardation amount θ KG at the point indicating the current engine condition, and stores the calculated value in a predetermined location in the RAM.
In the next step 124, it is determined whether the engine speed N is equal to or higher than a predetermined low speed (for example, 1500 [rpm]).If the engine speed is less than the predetermined speed, no learning control is performed and the main Returning to the routine, if the engine speed is equal to or higher than the predetermined speed, the process proceeds to the next step 116. In step 116, the count value of the counter TIME2 for determining the learning control time counted in step 103 of FIG. Predetermined value (e.g. 12)
Determine whether or not the above is true. If the count value is less than the predetermined value, the process returns to the main routine, and if the count value is greater than or equal to the predetermined value, the count value of counter TIME2 is cleared in step 117, and then
The corrected retardation amount θ K updated in steps 110 and 111 in FIG.
In step 118, it is determined whether or not the temperature is greater than or equal to 2° CA. If it is determined in step 118 that the corrected retardation amount θ K is less than the first predetermined crank angle, then in step 121 the retardation amount θ K is stored in four points on the learning map surrounding the point indicating the current engine condition. A predetermined crank angle (for example,
0.04°CA) Performs subtraction learning control and returns to the main routine. As a result, the corrected retardation amount θ K
is less than the first predetermined crank angle, learning control is performed so that the learning retardation amount of the learning map becomes smaller, and the ignition timing is controlled to advance by the learning retardation amount. On the other hand, in step 118, the corrected retardation amount θ K
is determined to be greater than or equal to the first predetermined crank angle, in step 119 the corrected retard amount θ K is set to a second predetermined crank angle (for example, 4° CA) that is larger than the first predetermined crank angle. Determine whether the value is less than or equal to the value. If it is determined in step 119 that the corrected retard amount θ K is less than the first predetermined crank angle, that is, if the corrected retard amount θ K satisfies the following conditions, the first predetermined crank angle ( 2°CA)≦ θK <second predetermined crank angle (4°CA)...(7) Return to the main routine without learning control. As a result, when the corrected retard amount θ K takes a value within a predetermined range, learning control is not performed, and the ignition timing is not changed depending on the learned retard amount. Note that even when the corrected retard amount takes a value within a predetermined range, learning control may be performed as necessary. If it is determined in step 119 that the corrected retardation amount θ K is greater than or equal to the second predetermined crank angle, then in step 120 the learning retardation amount stored in the four points on the learning map surrounding the point indicating the current engine condition is Learning control is performed to add a predetermined crank angle (for example, 0.04° CA) to each angle amount, and the process returns to the main routine. As a result, when the corrected retardation amount θ K is equal to or greater than the second predetermined crank angle, learning control is performed so that the learning retardation amount of the learning map becomes larger, and the ignition timing is controlled to be delayed by the learning retardation amount. be done. By performing the learning control as described above, the learning retardation amount of the learning map is changed so that the corrected retardation amount falls within a predetermined range, and the engine speed is increased to 1500.
Learning control is not performed below [rpm] (region to the left of the dashed-dotted line in FIG. 1). Below are the steps 115 of the learning routine in Figure 12.
The detailed routine of the two-dimensional interpolation method in
This will be explained using figures. In this two-dimensional interpolation routine, the map shown in Figure 1 is used as a learning map, and four points representing the current engine conditions are used.
As shown in Figure 2, the RAM addresses are n, n+1,
Let n+6 and n+7. First, in step 130, it is determined whether the current load Q/N is less than the upper limit of the load on the learning map, that is, 1.2 [/rev.]. If the load exceeds 1.2 [/rev.], 1.2 is stored in register n in step 131, and if the load is less than 1.2 [/rev.], the current load Q/N is stored in step 134. value in register n
to be memorized. In step 135, it is determined whether the current engine speed N is less than or equal to the upper limit of the engine speed on the learning map, that is, 6000 [rpm]. If the engine speed exceeds 6000 [rpm], 6000 is stored in register m in step 136, and if the engine speed is below 6000 [rpm], the current engine speed N is stored in step 137.
stores the value in register m. In step 138,
It is determined whether the value of register n is greater than or equal to the lower limit of the load on the learning map, that is, 0.6 [/rev.], and if the value of register n is less than 0.6, the value of register n is set to 0.6 in step 139. , if the value of register n is 0.6 or more, step 140
Proceed to. Then, in step 140, it is determined whether the value of register m is greater than or equal to the lower limit value of the engine rotation speed on the learning map, that is, 1000 [rpm], and if the value of register m is less than 1000, step 140 is performed.
141, the value of register m is set to 1000, and if the value of register m is 1000 or more, the next step is
Proceed to 142. As a result of the above, when the current engine speed N and load Q/N are values on the learning map, those values are stored in registers m and n, respectively, and the current engine speed N and load Q/N are on the learning map. When the upper and lower limit values are exceeded, the upper and lower limit values are stored in registers m and n, respectively. Steps 142 to 149 are a routine for selecting four points on the learning map. first,
In step 142, the value obtained by subtracting the load value 0.6 [/rev.] at address 0 from the value of register n is stored in register n. Next, in step 143, the load scale interval of the register value is 0.2[/
rev.], the integer part of the quotient is stored in register n, and the remainder of the quotient is stored in register y. The value of this register y is the load value y from address n in Figure 2 to the point indicating the current engine condition.
be equivalent to. In addition, the integer part of the quotient stored in register n is the column of addresses closest to the point indicating the current engine condition and below the point indicating the current engine condition (horizontal array of addresses, for example, addresses 0 to 5). The first column is the first column). and,
In step 144, the value of register y is further increased by 0.2.
Divide by [/rev.]. Therefore, the value corresponding to y/Y in the above-mentioned equation (6) is finally stored in register y. In step 145, the engine speed value at address 0, 1000 [r.
pm] is subtracted and stored in register m.
Next, in step 146, the value in the register m is divided by the engine speed scale interval [rpm], and the integer part of the quotient is stored in the register m, and the remainder of the quotient is stored in the register x. The value of this register x is the value x of the engine speed from address n in Figure 2 to the point indicating the current engine condition.
be equivalent to. In addition, the integer part of the quotient stored in register m is the row of addresses closest to the point indicating the current engine condition and below the point indicating the current engine condition (vertical arrangement of addresses, for example 0, 6, The first row is the sequence of addresses 12 and 18).
Then, in step 147, the value of register x is further divided by 1000 [rpm]. Therefore, the value corresponding to x/X in the above-mentioned equations (4) and (5) is finally stored in the register x. Next, in step 148, the value of register n is multiplied by 6, stored in register n, and the next step is started.
At 149, the value of register n and the value of register m are added and stored in register n. As a result,
The address of the lower left corner of the four points surrounding the current engine condition,
In other words, the address number of address n in FIG. 2 is obtained,
Stored in register n. In step 150, the learning retardation amount θ KGo stored at address n on the learning map is read out and stored in register A, and the learning retardation amount θ KG(o+1) stored at address n+1 is read out. The learned retard amount θ KG(o+6) stored at address n+6 is read out and stored in register B, and the learned retard amount θ KG (o+6) stored at address n+7 is read and stored in register C. o+7) and stores it in register D. Subsequently, in step 151, the value of register B is subtracted from the value of register A, the value of register x is multiplied, and the value of register A is added to this value, and the result is stored in register E. Further, in step 152, the value of register D is subtracted from the value of register C, the value of register x is multiplied, and the value of register C is added to this value, and the value is stored in register F. Finally, in step 153, the value of register F is subtracted from the value of register E, multiplied by the value of register y, and the value of register E is added to that value to learn a point indicating the current engine condition. Let the amount of retardation be θ KG . Next, a learning control routine in another embodiment of the present invention will be explained using FIG. 14. In addition, the 14th
In the figure, the same parts as in FIG. 12 are given the same reference numerals, and the explanation will be omitted. The difference between the learning control routine of FIG. 12 and the learning control routine of FIG. 14 is that steps 125, 126, and 127 are used in place of step 124 of FIG. 12 in FIG. After the learning retard angle for the current engine condition is calculated in step 115, it is determined in step 125 whether the load Q/N is 0.9 [/rev.] or more. If the load is 0.9 [/rev.] or more, it is determined in step 127 whether the engine rotation speed N is 1200 [rpm] or more, and if the load is less than 0.9 [/rev.], the engine rotation is determined in step 126. The number is 1500 [rpm]
Determine whether the value is less than or equal to the value. If the engine speed is 1200 [rpm] or more in step 127, the process advances to step 116, and the engine speed is 1200 [rpm].
If it is less than 1, proceed to the main routine. Also,
If the engine speed is less than 1500 in step 126, proceed to the main routine and check the engine speed.
If it is 1500 [rpm] or more, proceed to step 127. As a result, Q/N<0.9 [/rev.] and N<
1500 [rpm] area and Q/N≧0.9 [/rev.]
In addition, learning control is not performed in the region where N<1200 [rpm], and learning control is performed in other regions. According to this embodiment, since the learning control region is widened on the high load side where knocking is likely to occur, better learning control can be performed. Conditions for corrected retardation amount θ K and learning retardation amount θ KG when updating learning retardation amount θ KG by learning control in the learning routines shown in FIGS. 12 and 14 above.
The following table summarizes the relationship with the increase/decrease in

【表】 また、第15図に時間経過に対する補正遅角量
θK、学習遅角量θKG、点火時期θigの変動を示す。
図から理解されるように、補正遅角量θKが所定範
囲の値のときには学習遅角量θKGは一定であり、
補正遅角量θKが所定範囲を越えたときには学習遅
角量θKGが増加し、補正遅角量θKが所定範囲未満
のときを減少している。 更に、第16図にエンジン回転数に対応する点
火時期の変動を示す。第16図において曲線C1
〜C3は第3図のものと同一であり、ノツキング
が発生し易い場合でもノツキングが発生しにくい
場合でも補正遅角量θKが常に一定になつているこ
とが理解される。
[Table] Furthermore, FIG. 15 shows changes in the corrected retard amount θ K , learned retard amount θ KG , and ignition timing θ ig over time.
As can be understood from the figure, when the corrected retard amount θ K is within a predetermined range, the learned retard amount θ KG is constant;
When the corrected retard amount θ K exceeds a predetermined range, the learned retard amount θ KG increases, and when the corrected retard amount θ K is less than a predetermined range, it decreases. Furthermore, FIG. 16 shows variations in ignition timing corresponding to engine speed. In Figure 16, the curve C 1
.about.C3 are the same as those in FIG. 3, and it is understood that the corrected retard amount θ K is always constant regardless of whether knocking is likely to occur or when knocking is unlikely to occur.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は学習マツプを示す説明図、第2図は現
在のエンジン条件を示す点とこの点を囲む4点を
示す説明図、第3図はエンジン回転数と点火時期
との関係を示す線図、第4図は本発明が適用され
るエンジンを示す概略図、第5図は第4図の電子
制御回路を示すブロツク図、第6図は30°CA毎の
割込みルーチンの流れ図、第7図は時刻一致割込
みAの流れ図、第8図は時刻一致割込みBの流れ
図、第9図はA/D完了割込みルーチンの流れ
図、第10図は4msec毎の割込みルーチンを示
す流れ図、第11図は補正遅角量を更新するルー
チンの流れ図、第12図は学習制御ルーチンの流
れ図、第13図は2次元補間ルーチンの流れ図、
第14図は他の実施例の学習ルーチンを示す流れ
図、第15図は時間経過に対する補正遅角量・学
習遅角量・点火時期の変動を示す線図、第16図
は第3図と同様のエンジン回転数と点火時期との
関係・補正遅角量および学習遅角量の関係を示す
線図である。 2……エアフローメータ、12……燃料噴射
弁、18……ノツキングセンサ、32……エンジ
ン回転角センサ、34……電子制御回路。
Figure 1 is an explanatory diagram showing the learning map, Figure 2 is an explanatory diagram showing a point indicating the current engine condition and the four points surrounding this point, and Figure 3 is a line indicating the relationship between engine speed and ignition timing. 4 is a schematic diagram showing an engine to which the present invention is applied, FIG. 5 is a block diagram showing the electronic control circuit of FIG. 4, FIG. 6 is a flowchart of an interrupt routine every 30° CA, and FIG. Figure 8 is a flowchart of time coincidence interrupt A, Figure 8 is a flowchart of time coincidence interrupt B, Figure 9 is a flowchart of the A/D completion interrupt routine, Figure 10 is a flowchart showing the interrupt routine every 4 msec, and Figure 11 is a flowchart of the A/D completion interrupt routine. FIG. 12 is a flowchart of a routine for updating the correction retardation amount; FIG. 12 is a flowchart of a learning control routine; FIG. 13 is a flowchart of a two-dimensional interpolation routine;
Fig. 14 is a flowchart showing a learning routine of another embodiment, Fig. 15 is a line chart showing changes in corrected retardation amount, learning retardation amount, and ignition timing over time, and Fig. 16 is the same as Fig. 3. FIG. 3 is a diagram showing the relationship between the engine rotation speed and the ignition timing, the corrected retard amount, and the learned retard amount. 2... Air flow meter, 12... Fuel injection valve, 18... Notking sensor, 32... Engine rotation angle sensor, 34... Electronic control circuit.

Claims (1)

【特許請求の範囲】 1 エンジン回転数と負荷とによつて定まる基本
点火進角から、ノツキングの有無に応じて加減算
される補正遅角量と、ノツキングのレベルを所定
レベルにするためにエンジン回転数と負荷とによ
つて定まりかつ前記補正遅角量の大きさが所定範
囲を外れたときに書換えが行われる学習遅角量と
の和を減算して、ノツキグを制御する内燃機関の
ノツキング制御方法において、エンジンの回転数
が低回転側の所定回転数未満の領域で前記学習遅
角量の学習制御を停止すると共に、エンジン回転
数が前記所定回転数以上の領域で前記補正遅角量
が所定範囲になるように前記学習遅角量を学習制
御することを特徴とする内燃機関のノツキング制
御方法。 2 前記所定回転数を負荷に応じて変化させ、所
定負荷以下のときの所定回転数を所定負荷を越え
た場合の所定回転数より大きくした特許請求の範
囲第1項記載の内燃機関のノツキング制御方法。
[Scope of Claims] 1. A correction retard amount that is added or subtracted from the basic ignition advance angle determined by the engine speed and load depending on the presence or absence of knocking, and the engine speed to bring the level of knocking to a predetermined level. Knocking control for an internal combustion engine that controls knocking by subtracting the sum of a learning retardation amount that is determined by the number of motors and the load and that is rewritten when the magnitude of the corrected retardation amount is out of a predetermined range. In the method, the learning control of the learned retardation amount is stopped in an area where the engine rotational speed is less than a predetermined rotational speed on the low rotational side, and the corrected retardation amount is stopped in an area where the engine rotational speed is equal to or higher than the predetermined rotational speed. A knocking control method for an internal combustion engine, characterized in that the learning retardation amount is learning-controlled so as to fall within a predetermined range. 2. Knocking control for an internal combustion engine according to claim 1, wherein the predetermined rotation speed is changed according to the load, and the predetermined rotation speed when the load is below the predetermined load is greater than the predetermined rotation speed when the predetermined load is exceeded. Method.
JP57219559A 1982-12-15 1982-12-15 Control of knocking in internal-combustion engine Granted JPS59110862A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57219559A JPS59110862A (en) 1982-12-15 1982-12-15 Control of knocking in internal-combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57219559A JPS59110862A (en) 1982-12-15 1982-12-15 Control of knocking in internal-combustion engine

Publications (2)

Publication Number Publication Date
JPS59110862A JPS59110862A (en) 1984-06-26
JPH0536634B2 true JPH0536634B2 (en) 1993-05-31

Family

ID=16737400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57219559A Granted JPS59110862A (en) 1982-12-15 1982-12-15 Control of knocking in internal-combustion engine

Country Status (1)

Country Link
JP (1) JPS59110862A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2832299B2 (en) * 1989-05-18 1998-12-09 富士重工業株式会社 Ignition timing learning control method

Also Published As

Publication number Publication date
JPS59110862A (en) 1984-06-26

Similar Documents

Publication Publication Date Title
JPS58143169A (en) Method for controlling ignition timing
JPH0711265B2 (en) Knotting control method for internal combustion engine
JPH0811950B2 (en) Ignition timing control device
JPH0536634B2 (en)
JPS58176470A (en) Control of revolution number of engine upon idling
JPS63106365A (en) Method of controlling ignition timing of internal combustion engine
JPH0646023B2 (en) Knotting control method for internal combustion engine
JPH0646026B2 (en) Knotting control method for internal combustion engine
JPH0646022B2 (en) Knotting control method for internal combustion engine
JP2625933B2 (en) Ignition timing control device for internal combustion engine
JPH0432953B2 (en)
JPH0315035B2 (en)
JPH0411742B2 (en)
JPH0636301Y2 (en) Ignition timing control device for internal combustion engine
JPS59136575A (en) Control of knocking in multi-cylinder engine
JP2625763B2 (en) Ignition timing control device for internal combustion engine
JPH076482B2 (en) Knotting control method for internal combustion engine
JPS59119068A (en) Knocking controlling method for internal-combustion engine
JPS59138774A (en) Control method for knocking of internal-combustion engine
JPH0826839B2 (en) Ignition timing control method for internal combustion engine
JPS59136573A (en) Knocking control of internal-combustion engine
JPS59116528A (en) Method for judging knocking of multiple cylinder engine
JPS63106364A (en) Method of controlling ignition timing of internal combustion engine
JPH0646024B2 (en) Knotting control method for internal combustion engine
JPS59108872A (en) Method of controlling knocking of intenal-combustion engine