JPH0646026B2 - Knotting control method for internal combustion engine - Google Patents

Knotting control method for internal combustion engine

Info

Publication number
JPH0646026B2
JPH0646026B2 JP58012052A JP1205283A JPH0646026B2 JP H0646026 B2 JPH0646026 B2 JP H0646026B2 JP 58012052 A JP58012052 A JP 58012052A JP 1205283 A JP1205283 A JP 1205283A JP H0646026 B2 JPH0646026 B2 JP H0646026B2
Authority
JP
Japan
Prior art keywords
learning
value
knocking
amount
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP58012052A
Other languages
Japanese (ja)
Other versions
JPS59138773A (en
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 JP58012052A priority Critical patent/JPH0646026B2/en
Publication of JPS59138773A publication Critical patent/JPS59138773A/en
Publication of JPH0646026B2 publication Critical patent/JPH0646026B2/en
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
    • 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
    • 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

【発明の詳細な説明】 本発明は内燃機関のノツキング制御方法に係り、特にノ
ツキングの有無によつて比較的速い速度で遅進角を行う
ための補正遅角量とノツキングの有無によつて比較的遅
い速度で遅進角を行いかつ学習制御によつて変更される
学習遅角量とによつて、基本点火進角を補正してノツキ
ングを制御する方法に関する。
The present invention relates to a knocking control method for an internal combustion engine, and particularly to a comparison between a corrected retard amount for performing a retard angle at a relatively high speed depending on the presence or absence of knocking and the presence or absence of knocking. The present invention relates to a method of correcting the basic ignition advance angle and controlling the knocking by performing the retard advance at a relatively slow speed and using the learning retard amount changed by the learning control.

従来の学習制御によるノツキング制御方法は、エンジン
回転数N、吸入空気量Qとエンジン回転数Nとの比Q/
Nまたは吸気管負圧で定まる負荷によつて予め定まる基
本点火進角θBASEをマイクロコンピユータのリードオン
リメモリ(ROM)にマツプの形で記憶させておき、次
の(1)式に基いて実際にイグナイタを制御する点火進角
θigを演算し、この点火進角を用いてノツキング制御を
行うものである。なお、アイドリング時等の軽負荷にお
いてはノツキングが発生しないため、ノツキング制御を
行なわないようにしている。
A conventional knocking control method based on learning control uses a ratio Q / of engine speed N, intake air amount Q and engine speed N /
The basic ignition advance angle θ BASE, which is determined in advance by the load determined by N or the intake pipe negative pressure, is stored in the form of a map in the read-only memory (ROM) of the microcomputer, and is actually calculated based on the following equation (1). The ignition advance angle θ ig for controlling the igniter is calculated, and the knocking control is performed using this ignition advance angle. Note that the knocking control is not performed because the knocking does not occur under a light load such as during idling.

θig=θBASE−(θKG+θ) ……(1) ただし、θKGはノツキングのレベルを所定レベルにする
ためにエンジン回転数と負荷とによつて定まりかつ学習
制御によつて変更される学習遅角量、θはノツキング
が発生したとき点火時期を遅らせかつノツキングが発生
しなくなつたとき点火時期を進める補正遅角量である。
θ ig = θ BASE − (θ KG + θ K ) ... (1) However, θ KG is determined by the engine speed and the load in order to set the knocking level to a predetermined level and is changed by learning control. The learning retard amount, θ K, is a corrected retard amount that retards the ignition timing when knocking occurs and advances the ignition timing when knocking does not occur.

ここで、補正遅角量θは、例えば次のようにして求め
られる。まず、マイクロホン等で構成されたノツキング
センサを用いてエンジンの振動を検出し、エンジン振動
の平均値(バツクグラウンド)bの所定倍Kb(ただし
Kは比例定数)とエンジン振動のピーク値aとを求め、
このピーク値aとKbの値とを比較する。ピーク値aが
Kbの値を越えたときには、ノツキング発生と判断して
次の(2)式に示すようにノツキング発生1回あたり所定
クランク角(例えば0.4℃A)点火時期が遅れるよう
補正遅角量θを変更する。
Here, the correction retardation amount θ K is obtained as follows, for example. First, the engine vibration is detected by using a knocking sensor composed of a microphone or the like, and a predetermined multiple Kb (where K is a proportional constant) of an average value (back ground) b of the engine vibration and a peak value a of the engine vibration are detected. Seeking
The peak value a and the value of Kb are compared. When the peak value a exceeds the value of Kb, it is determined that knocking has occurred, and as shown in the following equation (2), correction is performed so that the ignition timing is delayed by a predetermined crank angle (for example, 0.4 ° C A) per occurrence of knocking. Change the retard angle θ K.

θ←θ+0.4℃A………(2) またピーク値aがKbの値以下のときには、ノツキング
が発生しなかつたと判断して、第1のタイマを用いて所
定時間(例えば48msec)経過したか否かを判断し、
所定時間経過したときには次の(3)式に示すように所定
クランク角(例えば0.08℃A)点火時期が進むよう
に補正遅角量θを変更する。
θ K ← θ K + 0.4 ° C A ... (2) When the peak value a is less than or equal to the value of Kb, it is determined that no knocking has occurred, and the first timer is used for a predetermined time (for example, 48 msec). ) Judging whether or not it has passed,
When the predetermined time has elapsed, the correction retard angle amount θ K is changed so that a predetermined crank angle (for example, 0.08 ° C. A) ignition timing advances as shown in the following expression (3).

θ←θ−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が求められる。
θ K ← θ K −0.08 ° C. A (3) Further, the learning retard amount θ KG according to the engine condition is calculated as follows. First, as shown in FIG. 1, the random access memory (RAM) of the microcomputer is provided with addresses 0 to 23 for storing the learning retard amount corresponding to the engine speed N and the load Q / N, and the learning map is prepared. Is created. By taking in the engine speed N and the intake air amount Q, four RAM addresses surrounding the point (N, Q / N) indicating the current engine condition on the learning map are obtained.
Now, as shown in FIG. 2, the RAM address surrounding the point indicating the current engine condition is n (n = 0.1 ... 16), n +.
1, n + 6, n + 7, the learning retard amount θ KGn at the address n, the learning retard amount θ KG (n + 1) at the address n + 1, the learning retard amount θ KG (n + 6) at the address n + 6, and the learning retard angle at the address n + 7. It is assumed that each quantity θ KG (n + 7) is stored. The difference in engine speed between the addresses is X, the difference in load between the addresses is Y, the difference in engine speed between the address n and the point indicating the current engine condition is x, and the difference between the address n and the current engine is x. If the load difference between the point indicating the condition is y, the learning delay amount θ KG at the point indicating the current engine condition is obtained by the two-dimensional interpolation method shown in the following equations (4) to (6). To be

そして上記学習マツプの学習制御は、次のようにして行
なわれる。まず、現在のエンジン条件に応じて学習制御
の時間を決定する第2のタイマとエンジン条件に無関係
に学習制御の時間を決定する第3のタイマとを用意す
る。第2のタイマにより所定時間(例えば48msec)
経過したことが検出されたときには、補正遅角量θ
変更されて所定クランク角(例えば4℃A)を越えたか
否かを判断し、補正遅角量θが所定クランク角を越え
たときに、上記で説明した現在のエンジン条件を示す点
を囲む学習マツプ上の4点の学習遅角量に所定クランク
角(例えば0.04℃A)加算する。この結果点火時期
が遅れるように学習遅角量が学習制御される。一方、第
3のタイマにより所定時間(例えば16sec)経過し
たことが検出されたときには、ノツキングの有無に無関
係に学習マツプ上の全ての番地の学習遅角量から所定ク
ランク(例えば0.01℃A)減算して、点火時期が進
むように学習遅角量を学習制御する。
The learning control of the learning map is performed as follows. First, a second timer that determines the learning control time according to the current engine condition and a third timer that determines the learning control time regardless of the engine condition are prepared. Predetermined time (for example, 48 msec) by the second timer
When it is detected that the time has elapsed, it is determined whether or not the corrected retard angle θ K has been changed to exceed the predetermined crank angle (for example, 4 ° C. A), and the corrected retard amount θ K has exceeded the predetermined crank angle. At this time, a predetermined crank angle (for example, 0.04 ° C. A) is added to the learning retard amounts of four points on the learning map surrounding the point indicating the current engine condition described above. As a result, the learning retard amount is learned and controlled so that the ignition timing is delayed. On the other hand, when it is detected by the third timer that a predetermined time (for example, 16 sec) has elapsed, regardless of presence or absence of knocking, a predetermined crank (for example, 0.01 ° C.A) is applied from the learning retard amount of all addresses on the learning map. ) The learning retard angle is learned and controlled by subtracting the ignition timing so that the ignition timing advances.

而して、上記のようにして変更された補正遅角量θ
と、学習制御される学習マツプから2次元補間法によ
り求めた学習遅角量θKGとを用い、前記(1)式に基いて
基本点火進角θBASEを補正して、ノツキングを制御する
のである。
Thus, the corrected retard angle θ changed as described above
K and the learning retard angle amount θ KG obtained by the two-dimensional interpolation method from the learning map to be learning-controlled, the basic ignition advance angle θ BASE is corrected based on the equation (1) to control the knocking. Of.

ところで、第3図に示すように、基本点火進角θBASE
なわちMBT(Minimum Spark-Advance For Best Torgu
e)は、エンジン回転数に応じて曲線Cのように変化
する。また、空気が湿つている場合等のノツキングが発
生しにくいときの微小ノツキング発生点火時期は曲線C
のようになり、空気が乾燥している場合等のノツキン
グが発生し易いときの微小ノツキング発生点火時期は曲
線Cのようになる。従つて、エンジン回転数や環境条
件によつて微小ノツキング発生点火時期が異つている。
By the way, as shown in FIG. 3, the basic ignition advance θ BASE, that is, MBT (Minimum Spark-Advance For Best Torgu
e) changes like a curve C 1 according to the engine speed. In addition, the minute knocking occurrence ignition timing when the knocking is difficult to occur, such as when the air is moist, is the curve C.
2 , the minute knocking occurrence ignition timing when the knocking is likely to occur, such as when the air is dry, becomes like the curve C 3 . Therefore, the minute knocking occurrence ignition timing differs depending on the engine speed and the environmental conditions.

従つて、上記のような学習制御によるノツキング制御方
法では、所定時間経過したときにノツキングの有無と無
関係に学習遅角量の全てを独立して学習制御により進角
側に変更していたため、遅角側の学習制御の機会が少な
いエンジン条件において学習遅角量が進角側となりす
ぎ、ノツキングが発生するという問題点があつた。ま
た、上記のように学習遅角量が進角側に学習制御される
傾向があるため、点火時期を進角側に制御する学習制御
の速度を速く設定することができず、上記第3図に示す
場合のようにエンジン条件等が変化してノツキングが発
生しにくくなつたときに学習遅角量により点火時期が遅
角しすぎることがあり、ノツキングが発生しない領域に
おいてペストトルクを得られないという問題があつた。
Therefore, in the notking control method by the learning control as described above, all the learning retard amounts are independently changed to the advance side by the learning control regardless of the presence or absence of the knocking when the predetermined time has elapsed. Under engine conditions where there are few opportunities for learning control on the angle side, there is a problem that the learning retard amount becomes too advanced and knocking occurs. Further, as described above, the learning retard amount tends to be learned and controlled toward the advance side, so that the learning control speed for controlling the ignition timing toward the advance side cannot be set fast, and the above-mentioned FIG. When the engine conditions and other factors change to make it difficult for knocking to occur, the ignition timing may be retarded too much due to the learning retardation amount, and the plague torque cannot be obtained in the region where knocking does not occur. There was a problem.

ここで、上記問題点を解消するために補正遅角量が所定
範囲の値になるように学習遅角量の全てを学習制御する
ことが考えられるが、軽負荷域の補正遅角量が所定値以
下となる領域においては学習遅角量が減少するように学
習制御され、エンジン条件が高負荷域に存在した場合に
学習された高負荷側の学習遅角量も減少するように学習
制御されるため、補正遅角量が所定値以下となる領域よ
り少し負荷が上昇したときノツキングが発生するという
問題が生じる。
Here, in order to solve the above-mentioned problem, it is conceivable that all the learning retardation amounts are learned and controlled so that the correction retardation amount becomes a value within a predetermined range. When the engine condition is in the high load range, the learning control is performed so that the learning delay amount decreases in the region where the value is less than the value. For this reason, there arises a problem that knocking occurs when the load slightly increases from a region where the corrected retard amount is equal to or less than the predetermined value.

本発明は上記問題点を解消すべく成されたもので、軽負
荷域でエンジンが運転されても学習遅角量が狂わされ
ず、軽負荷域より若干負荷が上昇してもノツキングが発
生しないようにしたノツキング制御方法を提供すること
を目的とする。
The present invention has been made to solve the above problems, and the learning retard angle is not disturbed even when the engine is operated in the light load range, and no knocking occurs even if the load is slightly increased from the light load range. It is an object of the present invention to provide a knotting control method of the above.

上記目的を達成するために本発明の構成は、ノッキング
制御領域とノッキング非制御領域とを区別して、前記ノ
ッキング制御領域において、エンジン回転数と負荷とに
よつて定まる基本点火進角から、ノッキングが発生した
とき点火時期を遅らせかつノッキングが発生しないとき
点火時期を進めるように設定される補正遅角量と、ノッ
キングのレベルを所定レベルにするために設けられ前記
補正遅角量の大きさが第1の所定値以上もしくは第2の
所定値以下のときに学習制御により書き換えられる学習
遅角量との和を減算して、点火時期を算出する内燃機関
のノツキング制御方法において、前記ノツキング制御領
域内で前記非ノツキング制御領域に隣接する軽負荷側の
所定負荷以下における前記学習遅角量の学習制御を停止
するようにしたものである。
In order to achieve the above object, the structure of the present invention distinguishes between a knocking control region and a knocking non-control region, and in the knocking control region, from the basic ignition advance angle determined by the engine speed and the load, knocking is When the ignition timing is generated, the ignition timing is retarded, and when the knocking is not generated, the ignition timing is advanced, and the amount of the corrected ignition retard amount provided to set the knocking level to a predetermined level is the first. When the ignition timing is calculated by subtracting the sum with the learning retard amount rewritten by the learning control when it is equal to or more than the predetermined value of 1 or less than the second predetermined value, Therefore, the learning control of the learning retard amount under a predetermined load or less on the light load side adjacent to the non-knocking control region may be stopped. It is.

上記本発明の構成によれば、軽負荷側の特定領域内で学
習制御を停止しているため、エンジン条件が特定領域内
に存在するときでも高負荷側の学習遅角量が破壊されず
に最適なノツキング制御が持続でき、軽負荷から負荷が
上昇したときのノツキングの発生を軽減できる、という
特有の効果が得られる。
According to the above configuration of the present invention, since the learning control is stopped in the specific region on the light load side, the learning retard amount on the high load side is not destroyed even when the engine condition exists in the specific region. The unique effect that the optimal knocking control can be maintained and the occurrence of knocking when the load rises from a light load can be reduced is obtained.

次に、本発明が適用されるエンジンの一例を第4図に示
す。このエンジンは図に示すように、エアクリーナ(図
示せず)の下流側に設けられた吸入空気量センサとして
のエアフローメータ2を備えている。エアフローメータ
2は、ダイピングチヤンバ内に回動可能に設けられたコ
ンペンセーシヨンプレート2Aと、コンペンセーシヨン
プレート2Aの開度を検出するポテンシヨメータ2Bと
から構成されている。従つて、吸入空気量Qはポテンシ
ヨメータ2Bから出力される電圧として検出される。ま
た、エアフローメータ2の近傍には、吸入空気の温度を
検出する吸入空気温センサ4が設けられている。
Next, an example of an engine to which the present invention is applied is shown in FIG. As shown in the drawing, this engine includes an air flow meter 2 as an intake air amount sensor provided on the downstream side of an air cleaner (not shown). The air flow meter 2 is composed of a compensation plate 2A that is rotatably provided in the dipping chamber, and a potentiometer 2B that detects the opening of the compensation plate 2A. Therefore, the intake air amount Q is detected as the voltage output from the potentiometer 2B. An intake air temperature sensor 4 for detecting the temperature of intake air is provided near the air flow meter 2.

エアフローメータ2の下流側には、スロツトル弁6が配
置され、スロツトル弁6の下流側には、サージタンク8
が設けられている。このサージタンク8には、インテー
クマニホールド10が連結されており、このインテーク
マニホールド10内に突出して燃料噴射弁12が配置さ
れている。インテークマニホールド10は、エンジン本
体14の燃焼室14Aに接続され、エンジンの燃焼室1
4Aはエキゾーストマニホールド16を介して三元触媒
を充填した触媒コンバータ(図示せず)に接続されてい
る。そしてエンジン本体14には、マイクロホン等で構
成された、エンジンの振動を検出するノツキングセンサ
18が設けられている。なお、20は点火プラグ、22
は混合気を理論空燃比近傍に制御するためのOセン
サ、24はエンジン冷却水温を検出する冷温水温センサ
である。
A throttle valve 6 is arranged downstream of the air flow meter 2, and a surge tank 8 is provided downstream of the throttle valve 6.
Is provided. An intake manifold 10 is connected to the surge tank 8, and a fuel injection valve 12 is arranged so as to project into the intake manifold 10. The intake manifold 10 is connected to the combustion chamber 14A of the engine body 14 and is connected to the combustion chamber 1 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 main body 14 is provided with a knocking sensor 18 configured by a microphone or the like for detecting engine vibration. 20 is a spark plug, 22
Is an O 2 sensor for controlling the air-fuel mixture near the stoichiometric air-fuel ratio, and 24 is a cold / hot water temperature sensor for detecting the engine cooling water temperature.

エンジン本体14の点火プラグ20は、デイストリビユ
ータ26に接続され、デイストリビユータ26はイグナ
イタ28に接続されている。このデイストリビユータ2
6には、ピツクアツプとデイストリビユータシヤフトに
固定されたシグナルロータとで構成された、気筒判別セ
ンサ30およびエンジン回転角センサ32が設けられて
いる。この気筒判別センサ30は、例えばクランク角7
20度毎に気筒判別信号をマイクロコンピユータ等で構
成された電子制御回路34へ出力し、このエンジン回転
角センサ32は、例えばクランク角30度毎にクランク
角基準位置信号を電子制御回路34へ出力する。
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. This Distributor 2
6 is provided with a cylinder discrimination sensor 30 and an engine rotation angle sensor 32 which are composed of a pick-up and a signal rotor fixed to the distributor. The cylinder discrimination sensor 30 has, for example, a crank angle of 7
A cylinder discrimination signal is output every 20 degrees to an electronic control circuit 34 composed of a microcomputer, and the engine rotation angle sensor 32 outputs a crank angle reference position signal to the electronic control circuit 34, for example, every 30 degrees of the crank angle. To do.

電子制御回路34は、第2図に示すように、ランダム・
アクセス・メモリ(RAM)36と、リード・オンリー
・メモリ(ROM)38と、中央処理装置(CPU)4
0と、クロツク(CLOCK)41と、第1の入出力ポ
ート42と、第2の入出力ポート44と、第1の出力ポ
ート46と、第2の出力ポート48とを含んで構成さ
れ、RAM36,ROM38,CPU40,CLOCK
41、第1の入出力ポート42、第2の入出力ポート4
4、第1の出力ポート46および第2の出力ポート48
は、バス50により接続されている。第1の入出力ポー
ト42には、バツフア(図示せず)、マルチプレクサ5
4,アナログ−デイジタル(A/D)変換器56を介し
て、エアフローメータ2,冷却水温センサ24および吸
気温センサ4等が接続されている。このマルチプレクサ
54およびA/D変換器56は、第1の入出力ポート4
2から出力される信号により制御される。第2の入出力
ポート44には、バツフア(図示せず)およびコンパレ
ータ62を介してOセンサ22が接続され、波形整形
回路64を介して気筒判別センサ30およびエンジン回
転角センサ32が接続されている。また、第2の入出力
ポート44には、バンドパスフイルタ60、ピークホー
ルド回路61,チヤンネル切換回路66およびA/D変
換器68を介してノツキングセンサ18が接続されてい
る。このバンドパスフイルタは積分回路63を介してチ
ヤンネル切換回路66には、ピークホールド回路61の
出力と積分回路63の出力とのいずれか一方をA/D変
換器68に入力するための第2の入出力ポート44から
出力される制御信号が入力されており、ピークホールド
回路61には第2の入出力ポート44からリセツト信号
が入力されている。
The electronic control circuit 34, as shown in FIG.
Access memory (RAM) 36, read only memory (ROM) 38, and central processing unit (CPU) 4
0, a clock (CLOCK) 41, a first input / output port 42, a second input / output port 44, a first output port 46, and a second output port 48, and the RAM 36. , ROM38, CPU40, CLOCK
41, first input / output port 42, second input / output port 4
4, first output port 46 and second output port 48
Are connected by a bus 50. The first input / output port 42 has a buffer (not shown), a multiplexer 5
4, an air flow meter 2, a cooling water temperature sensor 24, an intake air temperature sensor 4 and the like are connected via an analog-digital (A / D) converter 56. The multiplexer 54 and the A / D converter 56 are connected to the first input / output port 4
It is controlled by the signal output from 2. 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 the engine rotation angle sensor 32 are connected via a waveform shaping circuit 64. ing. The second input / output port 44 is also connected to the knocking sensor 18 via a band pass filter 60, a peak hold circuit 61, 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 and a second output for inputting either one of the output of the peak hold circuit 61 and the output of the integrating circuit 63 to an A / D converter 68. The control signal output from the input / output port 44 is input, and the reset signal is input to the peak hold circuit 61 from the second input / output port 44.

また、第1の出力ポート46は駆動回路70を介してイ
グナイタ28に接続され、第2の出力ポート48は駆動
回路72を介して燃料噴射弁装置12に接続されてい
る。
Further, the first output port 46 is connected to the igniter 28 via a drive circuit 70, and the second output port 48 is connected to the fuel injection valve device 12 via a drive circuit 72.

電子制御回路34のROM38には、エンジン回転数と
吸入空気量とで表わされる基本点火進角θBASEのマツプ
および基本燃料噴射量等が予め記憶されており、エアフ
ローメータ2からの信号およびエンジン回転角センサ3
2からの信号により基本点火進角および基本燃料噴射量
が読出されると共に、冷却水温センサ24および吸気温
センサ4からの信号を含む各種の信号により、上記基本
点火進角および基本燃料噴射量に補正点火進角および補
正燃料噴射量が加えられ、イグナイタ28および燃料噴
射弁12が制御される。Oセンサ22から出力される
空燃比信号は、混合気の空燃比を理論空燃比近傍に制御
する空燃比制御に使用される。また、電子制御回路34
のRAM36には、第1図に示す学習マツプが予め記憶
されている。
In the ROM 38 of the electronic control circuit 34, the map of the basic ignition advance angle θ BASE represented by the engine speed and the intake air amount, the basic fuel injection amount, and the like are stored in advance. The signal from the air flow meter 2 and the engine speed are stored. Corner sensor 3
The basic ignition advance angle and the basic fuel injection amount are read by the signal from 2 and various signals including the signals from the cooling water temperature sensor 24 and the intake air temperature sensor 4 are used to determine the basic ignition advance angle and the basic fuel injection amount. The corrected ignition advance and the corrected fuel injection amount are added, 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 that controls the air-fuel ratio of the air-fuel mixture to near the stoichiometric air-fuel ratio. In addition, the electronic control circuit 34
The learning map shown in FIG. 1 is stored in advance in the RAM 36.

次に、上記のようなエンジンに本発明を適用した場合の
実施例について詳細に説明する。なお、本発明の実施例
を説明するにあたつて、燃料噴射制御,空燃比制御,点
火時期制御のメインルーチン等については従来と同様で
あるので説明を省略し、本発明に関連するノツキング制
御のルーチンのみについて説明する。
Next, an embodiment in which the present invention is applied to the above engine will be described in detail. In the description of the embodiment of the present invention, the main routine of fuel injection control, air-fuel ratio control, ignition timing control, etc. is the same as the conventional one, and therefore the description thereof is omitted and the knocking control related to the present invention is omitted. Only the routine will be described.

第6図は、マイクロコンピユータを用いて本発明を実施
する場合の30℃A毎の割込みルーチンを示す。まず、
ステツプ81においてエンジン回転角センサ32からの
信号に基いて回転時間からエンジン回転数Nを求め、ス
テツプ82において気筒判別センサ30から気筒判別信
号が入力されてから何番目の割込みかを数えて現在のク
ランク角を示すフラグを立てる。次に、ステツプ83に
おいて、ステツプ82で立てたフラグが上死点(TD
C)のフラグであるか否かを判断する。現在上死点でな
い場合にはステツプ88へ進み、現在上死点である場合
にはステツプ84においてノツクゲートが閉じているか
否かを判断する。ノツクゲートが開いているときはステ
ツプ85においてノツクゲートを閉じ、ノツクゲートが
閉じているときはステツプ86においてチヤンネル切換
回路66を切換えて、ノツキングセンサ18から出力さ
れるエンジン振動信号をバンドパスフイルタ60、積分
回路63およびチヤンネル切換回路66を介してA/D
変換器68に入力し、エンジン振動の平均値すなわちバ
ツクグラウンドレベルのA/D変換を開始する。続い
て、ステツプ87においてノツクゲートの閉時刻t
すなわち次にノツクゲートを閉じる時刻を算出して時刻
一致割込みAをセツトする。
FIG. 6 shows an interrupt routine for every 30 ° C. A when the present invention is carried out by using a microcomputer. First,
At step 81, the engine speed N is obtained from the rotation time based on the signal from the engine rotation angle sensor 32. At step 82, the number of interrupts after the cylinder discrimination signal is input from the cylinder discrimination sensor 30 is counted and the current interrupt is counted. Set a flag that indicates the crank angle. Next, at step 83, the flag set at step 82 is set to the top dead center (TD
It is determined whether the flag is C). When it is not the top dead center at present, the routine proceeds to step 88, and when it is now the top dead center, it is judged at step 84 whether or not the knock gate is closed. When the knock gate is open, the knock gate is closed at step 85, and when the knock gate is closed, the channel switching circuit 66 is switched at step 86, and the engine vibration signal output from the knocking sensor 18 is integrated by the band pass filter 60 and integrated. A / D via circuit 63 and channel switching circuit 66
It is input to the converter 68, and the average value of the engine vibration, that is, the A / D conversion of the background level is started. Then, at step 87, the closing time t 1 of the knock gate,
That is, next, the time at which the knock gate is closed is calculated, and the time coincidence interrupt A is set.

次に、ステツプ88においてステツプ82で立てたフラ
グを基にクランク角が90℃A BTDC(上死点前)
になつたか否かを判断する。クランク角が90℃A B
TDCでないときはステツプ91へ進み、90℃A B
TDCのときはステツプ89において補正進角量θ
更新をすると共に点火時期の計算処理を行う(この詳細
については以下で説明する)。ステツプ90では、ステ
ツプ89で計算した点火時期と現在の時刻とによりイグ
ナイタ28をオンさせる時刻を求めて時刻一致割込みB
をセツトすると共に、イグナイタオンのフラグを立て
る。そして、ステツプ91においてクランク角が60℃
A BTDCになつたか否かを判断し、60℃A BT
DCでない場合にはメインルーチンへリターンし、60
℃A BTDCである場合にはステツプ92においてイ
グナイタのオフ時刻を計算して時刻一致割込みBをセツ
トし、ステツプ90で立てたイグナイタオンのフラグを
おろす。
Next, in step 88, the crank angle is 90 ° C. A BTDC (before top dead center) based on the flag set in step 82.
Judging whether or not Crank angle is 90 ° C AB
If not TDC, proceed to step 91, 90 ° C AB
In the case of TDC, in step 89, the corrected advance amount θ K is updated and the ignition timing calculation process is performed (the details will be described below). At step 90, the time at which the igniter 28 is turned on is obtained from the ignition timing calculated at step 89 and the current time, and the time coincidence interrupt B is obtained.
And set the igniter on flag. Then, in step 91, the crank angle is 60 ° C.
A BTDC is judged whether or not, 60 ℃ A BT
If it is not DC, it returns to the main routine and 60
If it is .degree. C. A BTDC, the igniter OFF time is calculated in step 92, the time coincidence interrupt B is set, and the igniter ON flag set in step 90 is cleared.

次に第7図に示す時刻一致割込みAについて説明する。
この割込みルーチンは、エンジン振動のピーク値わ求め
るものであり、第6図のステツプ87でセツトした時刻
になると割込みが行なわれ、ステツプ93においてピー
クホールド回路61に保持されたピーク値をチヤンネル
切換回路66を介してA/D変換器68に入力してピー
クホールド値のA/D変換を開始してメインルーチンへ
リターンする。
Next, the time coincidence interrupt A shown in FIG. 7 will be described.
This interrupt routine is for obtaining the peak value of the engine vibration, and is interrupted at the time set in step 87 of FIG. 6, and the peak value held in the peak hold circuit 61 in step 93 is changed to the channel switching circuit. The peak hold value is input to the A / D converter 68 via 66 to start the A / D conversion of the peak hold value, and the process returns to the main routine.

第8図は、時刻一致割込みBのルーチンを示すものであ
り、第6図のステツプ90およびステツプ92にセツト
した時刻になると割込みが行なわれる。ステツプ94で
は、イグナイタオンのフラグが立つているか、すなわち
このフラグが1か否かを判断し、フラグが立つていると
きはステツプ96においてイグナイタをオンし、フラグ
がおりているときにはステツプ95においてイグナイタ
をオンし、メインルーチンへリターンする。
FIG. 8 shows a routine of the time coincidence interrupt B. When the time set in step 90 and step 92 in FIG. In step 94, it is judged whether the igniter on flag is set, that is, whether this flag is 1 or not. When the flag is set, the igniter is turned on in step 96, and when the flag is set, the igniter is set in step 95. Turn on and return to the main routine.

第9図は、A/D変換完了割込みルーチンを示すもので
あり、バツクグラウンドレベルのA/D変換およびピー
クホールド値のA/D変換が完了したときにこの割込み
が行なわれる。まず、ステツプ97において現在ノツク
ゲートが開いているか否かを判断する。ノルクゲートが
閉じているときには、ステツプ98において第6図のス
テツプ86で変換したA/D変換値をRAM36のメモ
リに記憶してバツクグラウントレベルbとし、ステツプ
99においてノツクゲートを開いてメインルーチンへリ
ターンする。一方、ノツクゲートが開いているときに
は、第7図のステツプ93で変換したA/D変換値をR
AM36のメモリに記憶してピーク値aとし、ステツプ
101においてノツクゲートを閉じてメインルーチンへ
リターンする。
FIG. 9 shows an A / D conversion completion interrupt routine, which is executed when the background level A / D conversion and the peak hold value A / D conversion are completed. First, in step 97, it is determined whether or not the knock gate is currently open. When the nork gate is closed, the A / D converted value converted in step 86 of FIG. 6 is stored in the memory of the RAM 36 in step 98 to set it as the back ground level b, and in step 99 the notch gate is opened to return to the main routine. To do. On the other hand, when the knock gate is open, the A / D conversion value converted in step 93 of FIG.
The peak value a is stored in the memory of the AM 36, the knock gate is closed in step 101, and the process returns to the main routine.

第10図は、ノツキングが発生していないときの時間と
学習制御する時間とをカウントるための所定時間(例え
ば4m sec)毎に行なわれる割込みルーチンを示すもの
である。まず、ステツプ102においてノツキングが発
生しないときの時間を求めるカウンタTIME1のカウ
ント値を1増加させ、ステツプ103において学習制御
する時間を求めるカウンタTIME2のカウント値を1
増加させる。次のステツプ104において、カウンタT
IME1のカウント値が12(48m sec)以下になつ
ているか否かを判断する。カウント値が12を越えてい
るときにはステツプ105においてカウンタTIME1
のカウント値を12とし、カウント値が12以下のとき
にはステツプ106においてカウンタTIME2のカウ
ント値が12以下になつているか否かを判断する。ここ
で、カウント値が12を越えているときにはステツプ1
07においてカウンタTIME2のカウント値が12以
下のときにはメインルーチンへリターンする。
FIG. 10 shows an interrupt routine that is performed every predetermined time (for example, 4 msec) for counting the time when no knocking occurs and the time for learning control. First, in step 102, the count value of the counter TIME1 for obtaining the time when the knocking does not occur is incremented by 1, and in step 103, the count value of the counter TIME2 for obtaining the time for learning control is set to 1
increase. At the next step 104, the counter T
It is determined whether the count value of IME1 is 12 (48 msec) or less. When the count value exceeds 12, in step 105, the counter TIME1
Is set to 12, and when the count value is 12 or less, it is determined in step 106 whether the count value of the counter TIME2 is 12 or less. Here, when the count value exceeds 12, step 1
In 07, when the count value of the counter TIME2 is 12 or less, the process returns to the main routine.

次に第6図のステツプ89の詳細なルーチンを第11図
に基いて説明する。第6図のステツプ88でクランク角
が90℃A BTDCになつたと判断されると、ステツ
プ122において負荷Q/Nが0.6〔/rev〕以
上か否か、すなわちノツキング制御領域か否かを判断す
る。ノツキング制御領域でないときはステツプ123で
基本点火進角θBASEを点火進角θigとし、ノツキング
制御領域のときはステツプ。108において、第9図の
ステツプ100で記憶されたピーク値aと、第9図のス
テツプ98で記憶されたバツクグラウンドレベルbに定
数Kを乗算した値Kbとを比較する。ピーク値aが値K
bを越えているときにはノツキングが発生したと判断し
て、ステツプ110において補正遅角量θを所定角
(例えば0.4℃CA)増加させ、ステツプ112にお
いてノツキングが発生しない時間をカウントするカウン
タTIME1のカウント値をクリアする。一方、ピーク
値aが値Kb以下のときにはノツキングが発しないと判
断して、ステツプ109においてカウンタTIME1の
カウント値が所定値(12)以上になつているか否かを
判断し、カウント値が所定値以上になつているときには
ノツキングの発生しない状態が所定時間継続しているこ
とからステツプ111において補正遅角量θを所定角
(例えば0.08℃A)減少させた後、ステツプ112
でカウンタTIME1をクリアする。また、ステツプ1
09においてカウント値が所定値未満であるときには、
ステツプ113へ進む。ステツプ113では、上記のよ
うにして求められた補正進遅量θと学習マツプから2
次元補間法により求められる学習遅角量θKGとによつて
前述した(1)式に示すように基本点火進角θBASEを補正
し、実際にイグナイタを制御する点火進角θigを算出
する。
Next, the detailed routine of step 89 in FIG. 6 will be described with reference to FIG. When it is determined in step 88 of FIG. 6 that the crank angle has reached 90 ° C. BTDC, it is determined in step 122 whether the load Q / N is 0.6 [/ rev] or more, that is, whether it is in the knocking control region. to decide. When it is not in the knocking control region, the basic ignition advance angle θ BASE is set to the ignition advance angle θig in step 123, and when it is in the knocking control region, step is performed. At 108, the peak value a stored at step 100 in FIG. 9 is compared with the background value b stored at step 98 in FIG. 9 multiplied by a constant K, Kb. The peak value a is the value K
When b is exceeded, it is determined that knocking has occurred, the correction retard angle amount θ K is increased by a predetermined angle (for example, 0.4 ° CA) in step 110, and a counter for counting the time when no knocking occurs in step 112. Clear the count value of TIME1. On the other hand, when the peak value a is less than or equal to the value Kb, it is determined that the knocking does not occur, and it is determined in step 109 whether or not the count value of the counter TIME1 is equal to or more than the predetermined value (12), and the count value is the predetermined value. When the above is the case, the state in which no knocking occurs continues for a predetermined time. Therefore, in step 111, the correction retard angle amount θ K is decreased by a predetermined angle (for example, 0.08 ° A), and then step 112 is performed.
The counter TIME1 is cleared with. Also, step 1
In 09, when the count value is less than the predetermined value,
Proceed to step 113. In step 113, 2 is obtained from the corrected advance / retard amount θ K obtained as described above and the learning map.
The basic ignition advance angle θ BASE is corrected by the learning retard amount θ KG obtained by the three-dimensional interpolation method as shown in the equation (1) described above, and the ignition advance angle θig for actually controlling the igniter is calculated.

次に学習マツプから現在のエンジン条件に対応する学習
進角量θKGを求めかつ学習制御するルーチンを説明す
る。第12図にこのルーチンをメインルーチンの途中か
ら示す。なお、第1図に示す学習マツプの6,7,8,
14,15,16,17番地については学習制御は行な
わない。
Next, a routine for obtaining the learning advance amount θ KG corresponding to the current engine condition from the learning map and performing learning control will be described. FIG. 12 shows this routine from the middle of the main routine. In addition, the learning map shown in FIG. 1, 6, 7, 8,
Learning control is not performed for addresses 14, 15, 16, and 17.

まず、ステツプ124において負荷Q/Nが0.6〔
/rev〕以上か否か、すなわちノツキング制御領域か
否かを判断する。ノツキング制御領域のときはそのまま
メインルーチンへ続き、ノツキング制御領域であるとき
には、ステツプ114においてエンジン回転数Nと負荷
Q/Nとで定まる現在のエンジン条件を示す点を囲む4
点のRAMの番地を学習マツプ上に求める。次にステツ
プ115において、求めた4点のRAMの番地に記憶さ
れているデータ、すなわち4点のRAMの番地に記憶さ
れている学習遅角量を基に2次元補間法(2次元補間法
のルーチンは後で説明する)により、現在のエンジン条
件を示す点の学習進角量θKGを算出し、算出した値をR
AMの所定場所に記憶する。
First, in step 124, the load Q / N is 0.6 [
/ Rev] or more, that is, whether it is in the knocking control region or not. If it is in the knocking control region, the main routine is continued as it is, and if it is in the knocking control region, in step 114, a point indicating the current engine condition determined by the engine speed N and the load Q / N is surrounded 4
Find the RAM address of the point on the learning map. Next, in step 115, the two-dimensional interpolation method (two-dimensional interpolation method) is performed on the basis of the data stored in the obtained four-point RAM addresses, that is, the learning delay amount stored in the four-point RAM addresses. The routine will be described later), and the learning advance amount θ KG of the point indicating the current engine condition is calculated, and the calculated value is R
Store in a predetermined location in AM.

次のステツプ125では、エンジン回転数Hが3000
〔rpm〕以下であるかを判断し、エンジン回転数が3
000〔rpm〕以下である場合にはステツプ126で
負荷Q/Nが0.8〔/rev〕以上であるかを判断
し、またエンジン回転数が3000〔rpm〕を越える
場合にはステツプ127で負荷Q/Nが1.0〔/r
ev〕未満か否かを判断する。ステツプ126で負荷が
0.8〔/rev〕以上のときは次のステツプ116
へ進み、負荷が0.8〔/rev〕未満であるときは
次のルーチンへ進む。また、ステツプ127で負荷が
1.0〔/rev〕以上のときは次のステツプ116
へ進み、負荷が1.0未満であるときは次のルーチンへ
進む。この結果、第1図に示す学習マツプの6,7,
8,14,15,16,17番地を結ぶ線未満の特定領
域内にエンジン条件を示す点が存在する場合には、学習
制御がされず、この特定領域を除いた領域内にエンジン
条件を示す点が存在する場合のみステツプ116からス
テツプ121で示す学習制御が行なわれることになる。
At the next step 125, the engine speed H is 3000.
It is judged whether it is less than [rpm] and the engine speed is 3
If it is less than 000 [rpm], it is judged in step 126 whether the load Q / N is more than 0.8 [/ rev]. If the engine speed exceeds 3000 [rpm], in step 127. Load Q / N is 1.0 [/ r
[ev]] or less. When the load is 0.8 [/ rev] or more in step 126, the next step 116
If the load is less than 0.8 [/ rev], proceed to the next routine. If the load is 1.0 [/ rev] or more in step 127, the next step 116
If the load is less than 1.0, proceed to the next routine. As a result, the learning map shown in FIG.
When there is a point indicating the engine condition in a specific area below the line connecting the addresses 8, 14, 15, 16, 17, the learning control is not performed and the engine condition is shown in the area excluding this specific area. Only when there is a point, the learning control shown in step 116 to step 121 is performed.

ステツプ116では、第10図のステツプ103でカウ
ントした学習制御する時間を求めるためのカウンタTI
ME2のカウント値が所定値(例えば12)以上か否か
を判断する。カウント値が所定値未満である場合にはメ
インルーチンへリターンし、カウント値が所定値以上の
場合にはステツプ117でカウンタTIME2のカウン
ト値をクリアした後、第11図のステツプ110および
111で更新された補正遅角量θが第1の所定クラン
ク角(例えば2℃A)以上であるか否かをステツプ11
8で判断する。
At step 116, a counter TI for obtaining the learning control time counted at step 103 in FIG.
It is determined whether the count value of ME2 is equal to or greater than a predetermined value (for example, 12). 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 the counter TIME2 is cleared in step 117 and then updated in steps 110 and 111 in FIG. Step 11 is performed to determine whether the corrected retard angle amount θ K is equal to or larger than the first predetermined crank angle (for example, 2 ° A).
Judge with 8.

ステツプ118で補正遅角量θが第1の所定クランク
角未満であると判断された場合には、ステツプ121に
おいて現在のエンジン条件を示す点を囲む学習マツプ上
の4点に記憶されている学習遅角量の各々から、所定ク
ランク角(例えば0.04CA)減算する学習制御を行
ない、メインルーチンへリターンする。この結果、補正
進角量θが第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の所定クランク角以上であるときには
学習マツプの学習遅角量が大きくなるように学習制御さ
れ、学習遅角量によつて点火時期が遅れるように制御さ
れる。
If it is determined in step 118 that the corrected retard amount θ K is less than the first predetermined crank angle, in step 121 it is stored at four points on the learning map surrounding the point indicating the current engine condition. Learning control for subtracting a predetermined crank angle (for example, 0.04 CA) from each of the learning retard amounts is performed, and the process returns to the main routine. As a result, when the corrected advance amount θ K is less than the first predetermined crank angle, the learning control is performed so that the learning delay amount of the learning map becomes small, and the ignition timing is advanced according to the learning retard amount. To be done. On the other hand, if it is determined in step 118 that the corrected retard amount θ K is greater than or equal to the first predetermined crank angle, in step 119, the corrected retard amount θ K is set to a value larger than the first predetermined crank angle. 2 predetermined crank angle (eg 4 ° C
It is determined whether or not less than A). When it is determined in step 119 that the corrected retard amount θ K is less than the first predetermined crank angle, that is, when the corrected retard amount θ K satisfies the following condition, the first predetermined crank angle ( 2 ° C) ≤ θ K <second predetermined crank angle (4 ° A) ...
(7) Return to the main routine without learning control. As a result, the learning control is not performed when the corrected retard amount θ K takes a value in the predetermined range, and the ignition timing is not changed depending on the learned retard amount. It should be noted that learning control may be performed as necessary even when the correction delay amount takes a value within a predetermined range. If it is determined in step 119 that the corrected retard amount θ K is greater than or equal to the second predetermined crank angle, in step 120, the learning delays stored at the four points on the learning map surrounding the point indicating the current engine condition are stored. Learning control for adding a predetermined crank (for example, 0.04 ° C. A) to each angular amount is performed, and a return is made to the main routine. As a result, the learning control is performed so that the learning delay amount of the learning map becomes large when the corrected retard amount θ K is equal to or greater than the second predetermined crank angle, and the ignition timing is delayed by the learning retard amount. To be done.

以上のような学習制御することによつて、補正遅角量が
所定範囲の値になるように学習マツプの学習遅角量が変
更される。
By performing the learning control as described above, the learning delay amount of the learning map is changed so that the correction delay amount becomes a value within a predetermined range.

以下に第12図の学習ルーチンを詳細に説明する。The learning routine shown in FIG. 12 will be described in detail below.

第13図は、第12図ステツプ115の2次元補間法の
詳細なルーチンを示すものである。この2次元補間ルー
チンにおいて、学習マップとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点のRAMの番
地を第2図に示すようにn,n+1,m+6,n+7と
する。まず、ステツプ130において、現在の負荷Q/
Nが学習マツプ上の負荷の上限値すなわち1.2〔/
rev〕以下であるか否かを判断する。負荷が1.2
〔/rev〕を越えている場合にはステツプ131で
レジスタnに1.2を記憶し、負荷が1.2〔/re
v〕以下である場合にはステツプ134で現在の負荷Q
/Nの値をレジスタnに記憶する。ステツプ135で
は、現在のエンジン回転数Nが学習マツプ上のエンジン
回転数の上限値すなわち6000〔rpm〕以下である
か否かを判断する。エンジン回転数が6000〔rp
m〕を越えている場合にはステツプ136でレジスタm
に6000を記憶し、エンジン回転数が6000〔rp
m〕以下である場合にはステツプ137で現在のエンジ
ン回転数Nの値をレジスタmに記憶する。ステツプ13
8では、レジスタnの値が学習マツプ上の負荷の下限値
すなわち0.6〔/rev〕以上であるか否かを判断
し、レジスタnの値が0.6未満であるときにはステツ
プ139においてレジスタnの値を0.6とし、レジス
タnの値が0.6以上であるときにはステツプ140に
進む。そしてステツプ140では、レジスタmの値が学
習マツプ上のエンジン回転数の下限値すなわち1000
〔rpm〕以上であるか否かを判断し、レジスタmの値
が1000未満であるときにはステツプ141において
レジスタmの値を1000とし、レジスタmの値が10
00以上であるときには次のステツプ142に進む。以
上の結果、現在のエンジン回転数Nおよび負荷Q/Nが
学習マツプ上の値であるときにはその値がレジスタmお
よびnに各々記憶され、現在のエンジン回転数Nおよび
負荷Q/Nが学習マツプの上下限値を越えているときに
は上下限値がレジスタmおよびnに各々記憶される。
FIG. 13 shows a detailed routine of the two-dimensional interpolation method in step 115 of FIG. In this two-dimensional interpolation routine, the map shown in FIG. 1 is used as a learning map, and the four RAM addresses indicating the current engine conditions are set to n, n + 1, m + 6, n + 7 as shown in FIG. . First, in step 130, the present load Q /
N is the upper limit of the load on the learning map, that is, 1.2 [/
rev] or less. The load is 1.2
If [/ rev] is exceeded, 1.2 is stored in the register n in step 131 and the load is 1.2 [/ rev].
v] or less, the current load Q at step 134
Store the value of / N in register n. In step 135, it is determined whether or not the current engine speed N is less than or equal to the upper limit value of the engine speed on the learning map, that is, 6000 [rpm]. The engine speed is 6000 [rp
[m] is exceeded, the register m is reached in step 136.
6000 is stored, and the engine speed is 6000 [rp
m] or less, the current value of the engine speed N is stored in the register m in step 137. Step 13
In step 8, it is judged whether or not the value of the register n is equal to or more than the lower limit value of the load on the learning map, that is, 0.6 [/ rev] or more. If the value of n is 0.6 and the value of register n is 0.6 or more, the process proceeds to step 140. Then, in step 140, the value of the register m is the lower limit value of the engine speed on the learning map, that is, 1000.
If the value of the register m is less than 1000, the value of the register m is set to 1000 and the value of the register m is set to 10 in step 141.
When it is 00 or more, the routine proceeds to the next step 142. As a result, when the current engine speed N and the load Q / N are values on the learning map, the values are stored in the registers m and n, respectively, and the current engine speed N and the load Q / N are learned by the learning map. When the upper and lower limits are exceeded, the upper and lower limits are stored in registers m and n, respectively.

ステツプ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に対応した値が記憶されている。
Steps 142 to 149 are a routine for selecting four points on the learning map. First, in step 142, a value obtained by subtracting the value of the 0th load 0.6 [/ rev] from the value of the register n is stored in the register n. Next, in step 143, the value of the register n is divided by the load scale interval of 0.2 [/ rev], the integer part of the quotient is stored in the register n, and the remainder of the quotient is stored in the register y. The value of this register y is equal to the value y of the load from address n in FIG. 2 to the point indicating the current engine condition. In addition, the integer part of the quotient stored in the register n is a column of addresses that are closest to the point indicating the current engine condition and are equal to or less than the point indicating the current engine condition (horizontal arrangement of addresses, for example, 0-5 addresses). Is the first column). Then, in step 144, the value of the register y is further divided by 0.2 [/ rev]. Therefore, finally, in the register y,
A value corresponding to y / Y in the expression (6) is stored.

ステツプ145において、前述と同様にレジスタmの値
から0番地のエンジン回転数の値10000〔rpm〕
を減算した値をレジスタmに記憶させる。次に、ステツ
プ146においてレジスタmの値をエンジン回転数の目
盛り間隔である1000〔rpm〕で除算し、その商の
整数部をレジスタmに記憶させると共に商の余りをレジ
スタxに記憶させる。このレジスタxの値は、第2図の
n番地から現在のエンジン条件を示す点までのエンジン
回転数の値xに等しい。また、レジスタmに記憶された
商の整数部は、現在のエンジン条件を示す点に最も近く
かつ現在のエンジン条件を示す点以下の番地の行(番地
の縦方向の並び、例えば0,6,12,18番地の並び
を第1行とする)の行番を示している。そして、ステツ
プ147においてレジスタxの値を更に1000〔rp
m〕で除算しておく。従つて、最終的にレジスタxには
前述した(4)、(5)式のx/Xに対応した値が記憶されて
いる。
In step 145, the value of the engine speed at address 0 is 10000 [rpm] from the value of register m, as described above.
The value obtained by subtracting is stored in the register m. Next, in step 146, the value of the register m is divided by the scale interval 1000 [rpm] of the engine speed, 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 the register x is equal to the value x of the engine speed from the address n in FIG. 2 to the point indicating the current engine condition. In addition, the integer part of the quotient stored in the register m is the row of the addresses that are closest to the point indicating the current engine condition and are equal to or less than the point indicating the current engine condition (a vertical array of addresses, for example, 0, 6, The row number of addresses 12 and 18 is the first row). Then, in step 147, the value of the register x is further increased to 1000 [rp
m]. Therefore, finally, the register x stores the value corresponding to x / X in the equations (4) and (5).

次にステツプ148において、レジスタnの値を6倍し
てレジスタnに記憶させ、次のステツプ149におい
て、レジスタnの値とレジスタmの値を加算してレジス
タnに記憶させる。この結果、現在のエンジン条件を囲
む4点の左下角の番地、すなわち第2図のn番地の番地
番号が求められ、レジスタnに記憶される。
Next, in step 148, the value of the register n is multiplied by 6 and stored in the register n, and in the next step 149, the value of the register n and the value of the register m are added and stored in the register n. As a result, the four lower left corner addresses surrounding the current engine condition, that is, the address number of the nth address in FIG. 2 are obtained and stored in the register n.

ステツプ150においては、学習マツプ上のn番地に記
憶されている学習遅角量θKGnを読出してレジスタAに
記憶させ、n+1番地に記憶されている学習遅角量θKG
(n+1)を読出してレジスタBに記憶させ、n+6番
地に記憶されている学習遅角量θKG(n+6)を読出し
てレジスタCに記憶させ、そしてn+7番地に記憶され
ている学習遅角量θKG(n+7)を読出してレジスタD
に記憶させる。続いて、ステツプ(5)においてレジスタ
Aの値からレジスタBの値を減算してレジスタxの値を
乗算し、更にその値にレジスタAの値を加算してレジス
タEに記憶させる。また、ステツプ152においてレジ
スタCの値からレジスタDの値を減算してレジスタxの
値を乗算し、更にその値にレジスタCの値を加算してレ
ジスタFに記憶させる。そして最後にステツプ153に
おいて、レジスタEの値からレジスタFの値を減算して
レジスタyの値を乗算し、更にその値にレジスタEの値
を加算して、現在のエンジン条件を示す点の学習遅角量
θKGとする。
In step 150, the learning delay amount θ KGn stored at address n on the learning map is read out and stored in register A, and the learning delay amount θ KG stored at address n + 1.
(N + 1) is read out and stored in the register B, the learning retardation amount θ KG (n + 6) stored at address n + 6 is stored in the register C, and the learning retardation amount θ stored at address n + 7. Read KG (n + 7) and register D
To memorize. Then, in step (5), the value of register B is subtracted from the value of register A and the value of register x is multiplied, and the value of register A is added to the value and stored in register E. 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 the value and stored in register F. Finally, at step 153, the value of the register E is subtracted from the value of the register E, the value of the register y is multiplied, and the value of the register E is added to the value to learn the point indicating the current engine condition. The amount of retardation is θ KG .

上記の第12図の学習ルーチンにおける学習遅角量θKG
を学習制御によつて更新するときの補正遅角量θの条
件と学習遅角量θKGの増減との関係をまとめて次表に示
す。
The learning retard amount θ KG in the learning routine shown in FIG.
The following table summarizes the relationship between the condition of the corrected retard amount θ K and the increase / decrease of the learned retard amount θ KG when updating is performed by learning control.

また、第14図に時間経過に対する補正遅角量θ、学
習遅角量θKG、点火時期θigの変動を示す。図から理解
されるように、補正遅角量θが所定範囲の値のときに
は学習遅角量θKGは一定であり、補正遅角量θが所定
範囲を越えたときには学習遅角量θKGが増加し、補正遅
角量θが所定範囲未満のとき減少している。
Further, FIG. 14 shows changes in the corrected retard amount θ K , the learned retard amount θ KG , and the ignition timing θ ig over time. As can be seen, the retard amount theta KG learning when the correction retard amount theta K value of the predetermined range is constant, the retard amount learning when the delay correction amount theta K exceeds the predetermined range theta KG increases, and decreases when the corrected retard angle θ K is less than the predetermined range.

更に、第15図にエンジン回転数に対応する点火時期の
変動を示す。第15図において曲線C〜Cは第3図
のものと同一であり、ノツキングが発生し易い場合でも
ノツキングが発生しにくい場合でも補正遅角量θが常
に一定になつていることが理解される。
Further, FIG. 15 shows the variation of the ignition timing corresponding to the engine speed. Curves C 1 to C 3 in FIG. 15 are the same as those in FIG. 3, and the correction retard angle amount θ K is always constant regardless of whether knocking is likely to occur or not. To be understood.

以上の学習制御ルーチンが行なわれた後、第16図に示
す軽負荷側の特定番地の学習遅角量を一定にするルーチ
ンが実行される。このルーチンは、第12図の学習制御
ルーチンに続くものであり、このルーチン終了後はメイ
ンルーチンへ続くものである。ステツプ190におい
て、第1図に示す学習マツプ上の軽負荷側における所定
負荷以下の特定のRAMの番地(本実施例では第1図の
斜線で示す範囲に存在する番地0,1,2,3,4,
5,9,10,11としている)に記憶されている学習
遅角量を所定クランク量(例えば0℃A)に書換える。
After the above learning control routine is executed, a routine shown in FIG. 16 for executing a constant learning delay amount at a specific address on the light load side is executed. This routine is a continuation of the learning control routine shown in FIG. 12, and is a continuation of the main routine after the completion of this routine. In step 190, addresses of a specific RAM below a predetermined load on the light load side on the learning map shown in FIG. 1 (in this embodiment, addresses 0, 1, 2, 3 existing in the range shown by the hatched lines in FIG. 1) , 4,
5, 9, 10, and 11), the learning retard amount stored in the memory is rewritten to a predetermined crank amount (for example, 0 ° C. A).

上記のように軽負荷側の特定の学習遅角量を一定値にす
ることにより、負荷Q/Nに対する基本点火進角からの
要求遅角量(θ+θKG)は第17図に示す特性とな
る。第17図はエンジン回転数が2000〔rpm〕,
4000〔rpm〕の特性を示すものであるが、軽負荷
側においてはノツキングが発生する点火時期が基本点火
進角より進み側にありかつ学習遅角量を0℃Aの一定値
にしているため、要求遅角量が0℃Aになつており、遅
角量の立上がりスムーズになつていることが理解され
る。
By setting the specific learning retardation amount on the light load side to a constant value as described above, the required retardation amount (θ K + θ KG ) from the basic ignition advance for the load Q / N is the characteristic shown in FIG. Becomes FIG. 17 shows that the engine speed is 2000 [rpm],
Although it shows a characteristic of 4000 [rpm], on the light load side, the ignition timing at which knocking occurs is on the advance side of the basic ignition advance angle and the learning retard amount is a constant value of 0 ° C. It is understood that the required retardation amount is 0 ° C. A, and the retardation amount rises smoothly.

また、第18図に負荷と遅角量との関係を示す。図に示
すように、負荷0.8〔/rev〕以下の軽負荷域に
おいて学習遅角量が略一定になつていることが理解され
る。
Further, FIG. 18 shows the relationship between the load and the retard angle amount. As shown in the figure, it is understood that the learning retard amount is substantially constant in the light load region where the load is 0.8 [/ rev] or less.

【図面の簡単な説明】[Brief description of drawings]

第1図は学習マツプを示す説明図、第2図は現在のエン
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図はエンジン回転数と点火時期との関係を示す線図、
第4図は本発明が適用されるエンジンを示す概略図、第
5図は第4図の電子制御回路を示すブロツク図、第6図
は30℃A毎の割込みルーチンの流れ図、第7図は時刻
一致割込みAの流れ図、第8図は時刻一致割込みBの流
れ図、第9図はA/D完了割込みルーチンの流れ図、第
10図は4msec毎の割込みルーチンを示す流れ図、第
11図は補正遅角量を更新するルーチンの流れ図、第1
2図は学習制御ルーチンの流れ図、第13図は2次元補
間ルーチンの流れ図、第14図は時間経過に対する補正
遅角量、学習遅角量、点火時期の変動を示す線図、第1
5図は第3図と同様のエンジン回転数と点火時期との関
係補正遅角量および学習遅角量の関係を示す線図、第1
6図は特定の学習遅角量を一定値にするためのルーチン
を示す流れ図、第17図は負荷に対する要求進角の特性
を示す線図、第18図は負荷に対する点火時期の特性を
示す線図である。 2……エアフローメータ, 12……燃料噴射弁,18……ノツキングセンサ, 32……エンジン回転角センサ, 34……電子制御回路。
FIG. 1 is an explanatory diagram showing a learning map, FIG. 2 is an explanatory diagram showing a point indicating a current engine condition and four points surrounding this point, and FIG. 3 is a line showing a relationship between an engine speed and an ignition timing. Figure,
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 flow chart of an interrupt routine every 30 ° C., and FIG. 8 is a flow chart of the time coincidence interrupt B, FIG. 9 is a flow chart of the A / D completion interruption routine, FIG. 10 is a flow chart showing an interruption routine of every 4 msec, and FIG. 11 is a correction delay. Flow chart of the routine for updating the angular amount, first
FIG. 2 is a flow chart of a learning control routine, FIG. 13 is a flow chart of a two-dimensional interpolation routine, and FIG. 14 is a diagram showing changes in the correction retard amount, the learning retard amount, and the ignition timing with respect to the passage of time.
FIG. 5 is a diagram similar to FIG. 3 showing the relationship between the engine speed and the ignition timing, the relationship between the correction retard amount and the learning retard amount;
FIG. 6 is a flow chart showing a routine for setting a specific learning retard amount to a constant value, FIG. 17 is a diagram showing a required advance angle characteristic with respect to a load, and FIG. 18 is a line showing an ignition timing characteristic with respect to a load. It is a figure. 2 ... Air flow meter, 12 ... Fuel injection valve, 18 ... Notting sensor, 32 ... Engine rotation angle sensor, 34 ... Electronic control circuit.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 末松 敏男 愛知県豊田市トヨタ町1番地 トヨタ自動 車株式会社内 (56)参考文献 特開 昭57−105530(JP,A) ─────────────────────────────────────────────────── ─── Continuation of front page (72) Inventor Toshio Suematsu 1 Toyota-cho, Toyota-shi, Aichi Toyota Motor Corporation (56) Reference JP-A-57-105530 (JP, A)

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】ノッキング制御領域とノッキング非制御領
域とを区別して、前記ノッキング制御領域において、エ
ンジン回転数と負荷とによって定まる基本点火進角か
ら、ノッキングが発生したとき点火時期を遅らせかつノ
ッキングが発生しないとき点火時期を進めるように設定
される補正遅角量と、ノッキングのレベルを所定レベル
にするために設けられ前記補正遅角量の大きさが第1の
所定値以上もしくは第2の所定値以下のときに学習制御
により書き換えられる学習遅角量との和を減算して、点
火時期を算出する内燃機関のノッキング制御方法におい
て、前記ノッキング制御領域内で前記非ノッキング制御
領域に隣接する軽負荷側の所定負荷以下における前記学
習遅角量の学習制御を停止することを特徴とする内燃機
関のノッキング制御方法。
1. A knocking control region and a knocking non-controlling region are distinguished from each other, and in the knocking control region, the ignition timing is delayed and knocking occurs when knocking occurs from a basic ignition advance angle determined by an engine speed and a load. When the ignition timing is not generated, the correction delay amount set to advance the ignition timing and the correction delay amount provided for setting the knocking level to a predetermined level are equal to or larger than a first predetermined value or a second predetermined value. In a knocking control method for an internal combustion engine that calculates an ignition timing by subtracting the sum of a learning retardation amount rewritten by learning control when the value is less than or equal to a value, in a lightning control adjacent to the non-knocking control region in the knocking control region. Knocking control of an internal combustion engine, characterized in that learning control of the learning retard amount is stopped under a predetermined load on the load side Law.
JP58012052A 1983-01-27 1983-01-27 Knotting control method for internal combustion engine Expired - Lifetime JPH0646026B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58012052A JPH0646026B2 (en) 1983-01-27 1983-01-27 Knotting control method for internal combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58012052A JPH0646026B2 (en) 1983-01-27 1983-01-27 Knotting control method for internal combustion engine

Publications (2)

Publication Number Publication Date
JPS59138773A JPS59138773A (en) 1984-08-09
JPH0646026B2 true JPH0646026B2 (en) 1994-06-15

Family

ID=11794826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58012052A Expired - Lifetime JPH0646026B2 (en) 1983-01-27 1983-01-27 Knotting control method for internal combustion engine

Country Status (1)

Country Link
JP (1) JPH0646026B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819171A (en) * 1985-08-05 1989-04-04 Nissan Motor Co., Limited Engine spark timing control system
JP4452660B2 (en) 2005-06-28 2010-04-21 トヨタ自動車株式会社 Knocking state determination device

Also Published As

Publication number Publication date
JPS59138773A (en) 1984-08-09

Similar Documents

Publication Publication Date Title
JPH0711265B2 (en) Knotting control method for internal combustion engine
JPH0646026B2 (en) Knotting control method for internal combustion engine
JPS58176470A (en) Control of revolution number of engine upon idling
JPS59145364A (en) Method of controlling ignition timing for internal- combustion engine
JPH0646023B2 (en) Knotting control method for internal combustion engine
JPH0646022B2 (en) Knotting control method for internal combustion engine
JPH0646025B2 (en) Knotting control method for internal combustion engine
JPS63106365A (en) Method of controlling ignition timing of internal combustion engine
JP2625933B2 (en) Ignition timing control device for internal combustion engine
JPH076482B2 (en) Knotting control method for internal combustion engine
JPH0536634B2 (en)
JPH0637868B2 (en) Engine knocking suppression device
JP2597125B2 (en) Ignition timing control device for internal combustion engine
JPS59138774A (en) Control method for knocking of internal-combustion engine
JPS59136575A (en) Control of knocking in multi-cylinder engine
JP2625763B2 (en) Ignition timing control device for internal combustion engine
JPS6380075A (en) Ignition timing control device for internal combustion engine
JPH0784861B2 (en) Ignition timing control method for internal combustion engine
JPH0526952B2 (en)
JPH0646024B2 (en) Knotting control method for internal combustion engine
JPS59136574A (en) Knocking control of internal-combustion engine
JPS59116528A (en) Method for judging knocking of multiple cylinder engine
JPS59136573A (en) Knocking control of internal-combustion engine
JPH0784860B2 (en) Knotting control device for internal combustion engine
JPS6027782A (en) Method of controlling knocking of internal-combustion engine