JPS59136574A - Knocking control of internal-combustion engine - Google Patents

Knocking control of internal-combustion engine

Info

Publication number
JPS59136574A
JPS59136574A JP58010816A JP1081683A JPS59136574A JP S59136574 A JPS59136574 A JP S59136574A JP 58010816 A JP58010816 A JP 58010816A JP 1081683 A JP1081683 A JP 1081683A JP S59136574 A JPS59136574 A JP S59136574A
Authority
JP
Japan
Prior art keywords
knocking
learning
value
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.)
Pending
Application number
JP58010816A
Other languages
Japanese (ja)
Inventor
Toshio Suematsu
末松 敏男
Yuji Takeda
武田 勇二
Yoshiyasu Ito
嘉康 伊藤
Katsushi Anzai
安西 克史
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 JP58010816A priority Critical patent/JPS59136574A/en
Publication of JPS59136574A publication Critical patent/JPS59136574A/en
Pending 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

Landscapes

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

Abstract

PURPOSE:To obtain the optimum ignition timing quickly when an engine condition is transferred into a control area by a method wherein a correcting delay angle upon the time of transfer, in which the engine condition transfers into the non- control area of knocking, is memorized and maintained. CONSTITUTION:An electronic control circuit 34 dicides by the ratio of an air volume Q, sensed by an airflow meter 2, and a revolving signal N, detected by a sensor 32, at a predetermined crank angle whether an engine condition is in the knocking control area or not. If the engine codition is in the control area and the generation of knocking is detected by the signal of a knock sensor 18, knocking is controlled by subtracting the sum of the corecting amount of delay angle and the amount of learning delay angle from a basic spark advance. When the engine condition is transferring into the non-control area, the amount of correcting delay angle upon the transfer is memorized and maintained, while the knocking control is effected by utilizing the memorized and maintained amount of correcting delay angle at the initial stage in which the engine condition is transferred into the control area again. Thus, the optimum ignition timing may be obtained and the knocking will never be generated.

Description

【発明の詳細な説明】 本発明は内燃機関のノッキング制御方法に係シ、特にノ
ッキングの有無によって比較的速い速度で遅進角を行う
ための補正遅角量とノッキングの有無によって比較的遅
い速度で遅進角を行いかつ学習制御によって変更される
学習遅角量とによって、基本点火進角を補正してノッキ
ングを制御する方法に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a knocking control method for an internal combustion engine, and more particularly to a correction retardation amount for retarding at a relatively fast speed depending on the presence or absence of knocking, and a correction retardation amount for performing a retardation at a relatively fast 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 by retarding the ignition angle and using a learning retard amount changed by learning control.

従来の学習制御によるノッキング制御方法は、エンジン
回転数N、吸入突気量Qとエンジン回転数Nとの比Q/
Nまたは吸気管負圧で定まる負荷によって予め定まる基
本点火進角θBASEをマイクロコンピュータのリード
オンリメモリ(ROM)にマツプの形で記憶させておき
、次の(1)式に基いて実際にイグナイタを制御する点
火進角θ12 を演算し、との点火進角を用いてノッキ
ング制御を行うものである。また、アイドリンク時等の
軽負荷領域においてはノッキングが発生しないためノッ
キング制御を行なわず、補正遅角量を零とじて基本点火
進角を用いて点火している。
The conventional knocking control method using learning control is based on the engine rotational speed N, the ratio Q/ of the intake thrust amount Q and the engine rotational speed N.
The basic ignition advance angle θBASE, which is predetermined by the load determined by N or intake pipe negative pressure, is stored in the read-only memory (ROM) of the microcomputer in the form of a map, and the igniter is actually activated based on the following equation (1). The ignition advance angle θ12 to be controlled is calculated, and knocking control is performed using the ignition advance angle θ12. Further, in a light load region such as during idle linking, knocking does not occur, so knocking control is not performed, and the corrected retard amount is set to zero and ignition is performed using the basic ignition advance angle.

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

ここで、補正遅角量θには次のようにして求められる。Here, the corrected retard amount θ is determined as follows.

まず、マイ、クロホン等で構成されたノッキングセンサ
な用いてエンジンの振動を検出し。
First, the engine vibration is detected using a knocking sensor consisting of a microphone, a microphone, etc.

エンジン振動の平均値(バックグラウンド)bの所定倍
に、b(ただしkは比例定数)とエンジン振動のピーク
値aとを求め、このピーク値aとに、bの値とを比較す
る。ピーク値aかに−bの値を越えたときには、ノッキ
ング発生と判断して次の(2)式に示すようにノッキン
グ発生1回あたり所定クランク角(例えば04℃A−)
点火時期が遅れるよう補正遅角量θKを変更する。
A predetermined times the average value (background) b of engine vibration, b (where k is a proportionality constant), and a peak value a of engine vibration are determined, and this peak value a is compared with the value of b. When the peak value a exceeds the value of -b, it is determined that knocking has occurred, and the crank angle is set at a predetermined crank angle (for example, 04℃A-) per knocking occurrence, as shown in the following equation (2).
The corrected retard amount θK is changed so that the ignition timing is delayed.

θに←θに+04℃A・・・・・・ (2)ツキングが
発生しなかったと判断して、第1のタイマを用いて所定
時間(例えば48m5ec)経過したか否かを判断し、
゛所定時間経過したときには次の(3)式に示すように
所定クランク角(例えば008℃A)点火時期が進むよ
うに補正遅角量θKを変更する。
θ ← θ +04°C A... (2) Determine that no ticking has occurred, and use the first timer to determine whether a predetermined time (for example, 48m5ec) has elapsed;
``When a predetermined time has elapsed, the corrected retard amount θK is changed so that the ignition timing advances by a predetermined crank angle (for example, 008° C.A.) as shown in the following equation (3).

θに←θに−0,08℃A・・・・・・ (3)捷だ、
エンジン条件に応じた学習遅角量19y、 cは次のよ
うにし、て算出される。捷ず、第1図に示すようにエン
ジン回転数Nと負荷Q/Nとに対応させて学習遅角量を
記憶させる番地0〜23をマ・イクロコンピュータのう
/グムアクセスメモリ(RAM)に用意して学習マツプ
を作成しておく。
θ to ← θ to -0.08℃A... (3) It's a sword.
The learning retardation amounts 19y and 19c depending on the engine conditions are calculated as follows. As shown in Fig. 1, the addresses 0 to 23 for storing the learning retardation amount in correspondence with the engine speed N and the load Q/N are stored in the microcomputer's access memory (RAM). Prepare and create a learning map.

エンジン回転数Nと吸入空気量Qとを取込み、学習マツ
プ上において現在のエンジン条件を示す点(N、Q/N
)を囲む4点のRAMの番地を求める。
The engine speed N and intake air amount Q are taken in, and a point (N, Q/N
) to find the RAM addresses of the four points surrounding it.

今、第2図に示すように現在のエンジン、t4を示す点
を囲むR,AMの番地が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次元補間法により現在のエンジン濠1.rを示す
点の学習遅角量θKG  が求められる。
Now, as shown in Fig. 2, the addresses of R and AM surrounding the point indicating t4 of the current engine are n (n=0.1.,...
...16), n+1, n+6, n+7,
Learning retard amount θKGn at address n, learning retard amount θKG (n+1) at address n+1, learning retard amount θKG at address n+6
(n+6), learning retard amount θKG (n+7) at address n+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 points indicating the conditions is y, then the current engine moat 1. The learning retardation amount θKG of the point indicating r is determined.

X(θKG+θKc(n+1)) A=                    +θK
 G n・・・ (4)X(θKG(n+6)−θKG
(n+7))B=□+θKG(n+fi)・・・( そして上記学習マツプの学習制御は、次のようにして行
なわれる。まず、現在のエンジン条件に応じて学習制御
の時間を決定する集・2のタイマと、エンジン凍)1に
無関係に学習制御の時間を決定する第3のタイマとを用
意する。第2のタイマにより所定時間(例えばj8 m
5ec )経過したことが検出されたときには、補正遅
角量θKが変更されて所定クランク角(例えば4℃A)
を越えたか否かを判断し、補正遅角量θKが所定クラン
ク角を越えたときに、上記で説明した現在のエンジン条
件を示す点を囲む学習マツプ上の4点の学習遅角量に所
定クランク角(例えば0.04℃A)加算する。この結
果点火時期が遅れるように学習遅角量が学習制御される
。一方、第3のタイマにより所゛定時間(例えば155
ec)経過したことが検出されたときには、ノッキング
の有無に無関係に学習マツプ上の全ての番地の学習遅角
量から所定クラ5) ンク角(例えばOO1℃A)減算して、点火時期が進む
ように学習遅角量を学習制御する。
X(θKG+θKc(n+1)) A= +θK
G n... (4)X(θKG(n+6)−θKG
(n+7))B=□+θKG(n+fi)...(And the learning control of the above learning map is performed as follows.First, the learning control time is determined according to the current engine conditions. 2 and a third timer that determines the learning control time regardless of whether the engine freezes or not. A second timer is used for a predetermined period of time (for example, j8 m
5ec), when it is detected that the corrected retardation amount θK is changed to a predetermined crank angle (for example, 4℃A)
When the corrected retardation amount θK exceeds a predetermined crank angle, a predetermined learning retardation amount is applied to the four points on the learning map surrounding the point indicating the current engine condition explained above. Add the crank angle (for example, 0.04°C A). As a result, the learning retard amount is learning-controlled so that the ignition timing is delayed. On the other hand, a third timer is used for a predetermined period of time (for example, 155
ec) When it is detected that the ignition timing has elapsed, the ignition timing is advanced by subtracting a predetermined crank angle (for example, OO1℃A) from the learning retardation amount of all addresses on the learning map, regardless of the presence or absence of knocking. The learning retardation amount is controlled as follows.

而して、上記のように、して変更された補正遅角量θに
と、学習制御される学習マツプから2次元補間法により
求めた学習遅角量θKG  とを用い、前記(1)式に
基いて基本点火進角θBASEを補正して、ノッキング
を制御するのである。
Using the corrected retardation amount θ 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, the above equation (1) is calculated. Based on this, the basic ignition advance angle θBASE is corrected to control knocking.

しかし、従来のノッキング制御方法で゛は、前述のよう
にアイドリンク時等のように所定負荷以下の軽負荷にお
いて、ノッキング非制御領域を設け、このノンキング非
制御領域では補正遅角量を零にしてノッキング制御を行
なわないようにしているため、ノッキング非制御領域か
らノッキング制御領域にエンジン条件が変化すると、補
正遅角量が小さいことから学習遅角量が小さくなるよう
に学習制御される上にノッキングが発生′してエンジン
に悪影響を与えると共に、前回軽負荷側で学習した学習
遅角量が変化されてし捷う、という問題があった。
However, in the conventional knocking control method, as mentioned above, a knocking non-control area is provided at light loads below a predetermined load, such as during idling, and the correction retard amount is set to zero in this non-king non-controlling area. Therefore, when the engine conditions change from a knocking non-control area to a knocking control area, learning control is performed so that the learning retardation amount is small because the corrected retardation amount is small. There was a problem in that knocking occurred, which adversely affected the engine, and the learning retardation amount learned last time on the light load side was changed.

本発明は上記問題点を解消すべく成されたもので、ノン
キング非制御領域からノッキング制御領域へエンジン条
件か変化した場合、速やかに最適点火時期になシノツキ
ングが発生しない内燃機関のノッキング制御方法を提供
することを目的とする。
The present invention has been made to solve the above problems, and provides a knocking control method for an internal combustion engine in which when engine conditions change from a non-knocking control region to a knocking control region, the optimum ignition timing is immediately adjusted to prevent knocking from occurring. The purpose is to provide.

上記目的を達成するために本発明の構成は、従来の内燃
機関のノッキング制御方法において、工非制御領域に移
行するとき移行時の補正遅角量を記憶保持するようにし
たものである。この結果、エンジン条件がノッキング非
制御領域からノッキング制御領域へ移行した初期の段階
で、前回記憶保持された補正遅角量を用いてノッキング
制御が行なわれる。
In order to achieve the above object, the present invention is configured such that, in a conventional knocking control method for an internal combustion engine, a correction retardation amount at the time of transition to a non-engine control region is memorized and held. As a result, knocking control is performed using the previously stored corrected retardation amount at the initial stage when the engine condition shifts from the knocking non-control region to the knocking control region.

上記本発明の構成によれば、ノツキン・グ非制御領域か
らノッキング制御領域にエンジン条件が移行したときノ
ッキング制御領域からノッキング非制御領域への移行時
の補正遅角量、すなわち学習制御された学習遅角量に一
致した補正遅角量からノンキング制御が開始されるため
、ノッキングが発生することなく、また誤まった学習制
御が行なわれることがない、という特有の効果が得られ
る。
According to the configuration of the present invention, when the engine condition transitions from the knocking non-control area to the knocking control area, the correction retard amount at the time of transition from the knocking control area to the knocking non-control area, that is, the learning controlled learning. Since the non-king control is started from the corrected retardation amount that matches the retardation amount, a unique effect is obtained in that knocking does not occur and erroneous learning control is not performed.

まだ、第3図に示すように、基本点火進角θBASEす
なわちM B T (Minimum 5park A
dvancefor Be5t Torque)は、エ
ンジン回転数に応じて曲線C7,のように変化し、空気
が湿っている場合等のノッキングが発生しにくいときの
微小ノッキング発生点火時期は曲線c2のようKなり、
空気が乾燥している場合等のノッキングが発生し易いと
きの微小ノッキング発生点火時期は曲線c3のようkな
り、エンジン回転数や環境条件によって薇小ノッキング
発生点火時期が異ってぃ5る。従って、本発明の上記構
成においては、ノンキングが発生し易い運転条件でもノ
ッキングが発生しにくい運転条件でも同じようにノッキ
ング制御するため、ノンキング制御領域内の学習制御に
おいて、補正遅角量が所定範囲(例えば2℃A≦θに≦
4℃A)の値になるように学習遅角量を変更するのが好
ましい。
Still, as shown in FIG. 3, the basic ignition advance angle θBASE, that is, M
dvancefor Be5t Torque) changes as shown in curve C7 according to the engine speed, and when knocking is difficult to occur, such as when the air is humid, the ignition timing at which slight knocking occurs changes as shown in curve C2,
The ignition timing at which slight knocking occurs when knocking is likely to occur, such as when the air is dry, is as shown by curve c3, and the ignition timing at which slight knocking occurs varies depending on the engine speed and environmental conditions. Therefore, in the above configuration of the present invention, in order to control knocking in the same way under operating conditions where non-king is likely to occur and operating conditions where knocking is unlikely to occur, the correction retard amount is set within a predetermined range in learning control within the non-king control region. (For example, 2℃A≦θ≦
It is preferable to change the learning retardation amount to a value of 4° C.A).

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

エアフローメータ2の下流側には、スロットル弁℃が配
置され、スロットル弁6の下流側には、サージタンク8
が設けられている。このサージタンク8には、インテー
クマニホールド1oが連結されており、このインテーク
マニホールドlo内に突出して燃料噴射弁12が配置さ
れている。イア 7− クマ二ホールドIOは、エンジ
ン本体14の燃焼室14Aに接続され、エンジンの燃焼
室14Aはエキゾーストマニホールド16を介して三元
触媒を充填した触媒コンバータ(図示せず)に接続され
ている。そして、エンジン本体14には、マイクロホン
等で構成された、エンジンの振動を検出するノッキング
センプ18が設けられている。なお、2oは点火プラグ
、22は混合気を理論空燃比近傍に制御するだめのo2
センサ、24けエンジン冷却水温を検出する冷温水温セ
ンナである。
A throttle valve ℃ is arranged downstream of the air flow meter 2, and a surge tank 8 is arranged downstream of the throttle valve 6.
is provided. An intake manifold 1o is connected to the surge tank 8, and a fuel injection valve 12 is disposed to protrude into the intake manifold 1o. Ear 7- The manifold IO is connected to the combustion chamber 14A of the engine body 14, and the combustion chamber 14A of the engine is connected to a catalytic converter (not shown) filled with a three-way catalyst via the exhaust manifold 16. . The engine body 14 is provided with a knocking sensor 18 that is configured with a microphone or the like and detects vibrations of the engine. In addition, 2o is a spark plug, and 22 is an o2 used to control the air-fuel mixture to near the stoichiometric air-fuel ratio.
The sensor is a cold/hot water temperature sensor that detects the engine coolant temperature.

エンジン本体14の点火プラグ2(1:、ディストリビ
ュータ26に接続され、ディストリビュータ26はイグ
ナイタ28に接続されている。このディストリビュータ
26には、ピンクアップとディストリビュータシャフト
に固定されたシグナルロータとで構成された、気筒判別
センサ30およびエンジン回転角センサ32が設けられ
ている。
The spark plug 2 (1:) of the engine body 14 is connected to a distributor 26, and the distributor 26 is connected to an igniter 28. , a cylinder discrimination sensor 30, and an engine rotation angle sensor 32 are provided.

この気筒判別センサ30は、例えばクランク角720度
毎に気筒判別信号をマイクロコンピュータ等で構成され
た電子制御回路34へ出力し、このエンジン回転角セン
サ32は、例えばクランク角30度毎にクランク角基準
位置信号を電子制御回路34へ出力する。
This cylinder discrimination sensor 30 outputs a cylinder discrimination signal to an electronic control circuit 34 constituted by a microcomputer or the like, for example, every 720 degrees of crank angle, and this engine rotation angle sensor 32 outputs a cylinder discrimination signal, for example, every 30 degrees of crank angle. A reference position signal is output to the electronic control circuit 34.

電子制御回路34は、第g回に示すように、ランダム・
アクセス・メモリ(RAM)36と、リード・オンリー
・メモリ(R,OM)38と、中央処理装置(CPU)
40と、クロック(CLOCK)41と、第1の入出力
ボート42と、第2の人出の出力ポート48とを含んで
構成され、R,AM36、ROM38、CPTJ40.
CLOCK41.第1の入出力ボート42、第2の入出
力ボート44、第1の出力ポート46および第2の出力
ポート48は、バス50により接続されている。第1の
入出力ボート42には、バッファ(図示せず)、マルチ
プレクサ54、アナログ−ディジタル(A / 1.)
 ’)変換器56を介して、エアフローメータ2、冷却
水温センサ24および吸気温センサ4等が接続されてい
る。このマルチプレクサ54およびA/D変換器56は
、第1の入出力ボート42がら出力される信号により制
御される。第2の入出力ボート44には、バッファ(図
示せず)およびコンパレータ62を介して02センサ2
2が接続され、波形整形回路64を介して気筒判別セン
サ3oおよびエンジン回転角センサ32が接続され、ま
た、第2の入出力ボート44には、バンドパスフィルタ
60、ピークホールド回路61、チャンネル切換回路6
6おゞよび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に接続されている。
The electronic control circuit 34, as shown in the g-th
Access memory (RAM) 36, read-only memory (R, OM) 38, and central processing unit (CPU)
40, a clock (CLOCK) 41, a first input/output port 42, and a second output port 48, and includes R, AM36, ROM38, CPTJ40.
CLOCK41. The first input/output port 42, the second input/output port 44, the first output port 46, and the second output port 48 are connected by a bus 50. The first input/output port 42 includes a buffer (not shown), a multiplexer 54, and an analog-to-digital (A/1.)
') The air flow meter 2, the cooling water temperature sensor 24, the intake air temperature sensor 4, etc. are connected via the converter 56. The multiplexer 54 and A/D converter 56 are controlled by signals output from the first input/output port 42. The second input/output port 44 is connected to the 02 sensor 2 via a buffer (not shown) and a comparator 62.
2 is connected to the cylinder discrimination sensor 3o and the engine rotation angle sensor 32 via the waveform shaping circuit 64.The second input/output port 44 also has a bandpass filter 60, a peak hold circuit 61, and a channel switching circuit. circuit 6
A knocking sensor 18 is connected via an A/D converter 68 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, 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 a drive circuit 70, and the second output port 48 is connected to the fuel injection device 12 via a drive circuit 72.

電子制御回路34のROM38には、エンジン回転数と
吸入望気景とで表わされる基本点火進角θBASHのマ
ツプおよび基本燃料噴射量等が予め記憶されており、エ
アフローメータ2からの信号およびエンジン回転角セン
サ32からの信号により基本点火進角および基本燃料噴
射量が読出されると共に、冷却水温センサ24および吸
気温センサ4からの信号を含む各種の信号により、上記
基本点火進角および基本燃料噴射量に補正点火進角およ
び補正燃料噴射量が加えられ、イグナイタ28および燃
料噴射弁12が制御される。O,センサ22から出力さ
れる空燃比信号は、混合気の空燃比を理論空燃比近傍に
制御する空燃比制御に使用される。また、電子制御回路
34のRAM36には、第1図に示す学習マツプが予め
記憶されている。
The ROM 38 of the electronic control circuit 34 stores in advance a map of the basic ignition advance angle θBASH expressed by the engine speed and the intake view, 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. A corrected ignition advance angle and a 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 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 present invention in detail, the main routines of fuel injection control, air-fuel ratio control, ignition timing control, etc. are the same as conventional ones, so the explanation will be omitted, and only the knocking control routine related to the present invention will be explained. explain.

第6図は、マイクロコンピュータを用いて本発明を実施
する場合の30℃A毎の割込みルーチンを示す。まず、
ステップ811Cおいてエンジン回転角センサ32から
の信号に基いて回転時間からエンジン回転数Nを求め、
ステップ82において気筒判別センサ30から気筒判別
信号が入力されてから何番目の割込みかを数えて現在の
クランク角を示すフラグを立てる。次に、ステップ83
において、ステップ82で立てたフラグが上死点(TD
C)のフラグであるか否かを判断する。現在上死点でな
い場合にはステップ88へ進み、現在上死点である場合
にはステップ84においてノックゲートが閉じているか
否かを判断する。ノックゲートが開いているときはステ
ップ85においてノックゲートを閉じ、ノックゲートが
閉じているときはステップ86に公いてチャンネル切換
回路66を切換えて、ノッキングセンサ18かう出力さ
れるエンジン振動信号をバンドバスフィ/L/ タロ0
、積分回路63およびチャンネル切換回路66を介して
A/D変換器68に入力し、エンジン振動の平均値すな
わちバックグラウンドレベルのA/D変換を開始する。
FIG. 6 shows an interrupt routine every 30°C when the present invention is implemented using a microcomputer. first,
In step 811C, the engine rotation speed N is determined from the rotation time based on the signal from the engine rotation angle sensor 32,
In step 82, the number of interruptions after the cylinder discrimination signal is input from the cylinder discrimination sensor 30 is counted, and a flag indicating the current crank angle is set. Next, step 83
, the flag set in step 82 is at top dead center (TD
It is determined whether the flag is C). If the current position is not the top dead center, the process proceeds to step 88, and if the current position is the top dead center, it is determined in step 84 whether or not the knock gate is closed. When the knock gate is open, the knock gate is closed in step 85, and when the knock gate is closed, the channel switching circuit 66 is switched in step 86, and the engine vibration signal output from the knock sensor 18 is transferred to the band bus. Fi/L/ Taro 0
, is input to the A/D converter 68 via the integrating circuit 63 and the channel switching circuit 66, and starts A/D conversion of the average value of engine vibration, that is, the background level.

続いて、ステップ87においてノックゲートの閉時側t
11すなわち次にノックゲートを閉じる時刻を算出して
時刻−散開込次に、ステップ88においてステップ82
で立てたフラグを基にクランク角が90℃A  BTD
C(上死点前)になったか否かを判断する。クランク角
が90℃A  BTDCでないときはステップ91へ進
み、90℃A  BTDCのときはステップ89におい
て補正進角量θにの更新をすると共に点火時期の計算処
理を行う(この詳細については以下で説明する。)ステ
ップ90では、ステップ89で計算した点火時期と現在
の時刻とによりイグナイタ28をオンさせる時刻を求め
て時刻一致割込みBをセットすると共に、イグナイタオ
ンのフラグを立てる。そして、ステップ91において、
クランク角が60℃A  BTDCになったか否かを判
断し、60℃A  BTDCでない場合にハメインルー
チンへリターンL、60℃A  BTDCである場合に
はステップ92においてイグナイタのオフ時刻を計算し
て時刻一致割込みBをセットし、ステップ9oで立てた
イグナイタオンのフラグをおろす。
Subsequently, in step 87, the knock gate is turned to the closing side t.
11, that is, calculate the next time to close the knock gate, and calculate the time - opening and closing time, and then in step 88 step 82
The crank angle is 90℃A based on the flag set by BTD
It is determined whether or not it has reached C (before top dead center). If the crank angle is not 90°C A BTDC, the process advances to step 91, and if it is 90°C A BTDC, the correction advance amount θ is updated to θ and the ignition timing is calculated (details of this are given 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,
It is determined whether the crank angle has reached 60°C A BTDC or not, and if it is not 60°C A BTDC, return to the HOME routine L. If it is 60°C A BTDC, the igniter off time is calculated in step 92. Set time coincidence interrupt B and lower the igniter-on flag set in step 9o.

次に第7図に示す時刻一致割込みA[’ついて説明する
。この割込みルーチンは、エンジン振動のピーク値を求
めるものであり、第6図のステップ87でセットした時
刻になると割込みが行なわれ、ステップ93においでピ
ークホールド回路61に保持されたピーク値をチャンネ
ル切換回路66を介してA、 / T)変換器68に入
力してピークホールド値のA/Di換を開始してメイン
ルーチンへリターンする。
Next, the time coincidence interrupt A[' shown in FIG. 7 will be explained. This interrupt routine is to find the peak value of engine vibration, and when the time set in step 87 in FIG. A/T) is input to the converter 68 via the circuit 66 to start A/Di 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 the routine of time coincidence interrupt B, and the interrupt is performed when the time set in step 90 and step 92 of FIG. 6 comes. In step 94, it is determined whether the igniter on flag is set, that is, whether this flag is 1 or not. If the flag is set, the igniter is turned on in step 96, and if the flag is off, the igniter is Turn off and return to the main routine.

第9図は、A/D変換完了割込みルーチンを示スモので
あり、バックグラウンドレペ# +7) ’A / D
変換およびピークホールド値のA/D変換が完了したと
きにこの割込みが行なわれる。まず、ステップ97にお
いて現在ノックゲートが開いているか否かを判断する。
Figure 9 shows the A/D conversion completion interrupt routine, and 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.

ノックゲートが閉じているときには、ステップ98にお
いて第6図のステップ86で変換したA/D変換値をR
AM36のメモリに記憶してバックグラウンドレベルb
とし、ステップ99においてノックゲートを開いてメイ
ンルーチンへリターンする。一方、ノックゲートが開い
ているときには、第7図のステップ93で変換したA、
/ D変換値をRAM36のメモリに記憶してピーク値
aとし、ステップ101においてノックゲートを閉じて
メインルーチンへリターンする。
When the knock gate is closed, in step 98, the A/D conversion value converted in step 86 of FIG.
Store in AM36 memory and set background level b
Then, in step 99, the knock gate is opened and the process returns to the main routine. On the other hand, when the knock gate is open, A converted in step 93 of FIG.
/ The D conversion value is stored in the memory of the RAM 36 as the peak value a, the knock gate is closed in step 101, and the process returns to the main routine.

第10図は、ノッキングが発生していないときの時間と
学習制御する時間とをカウントするための所定時間(例
えば4m5ec)毎に行なわれる割込みルーチンを示す
ものである。捷ず、ステップ102においてノッキング
が発生しないときの時間を求めるカウンタTIMEIの
カウント値を1増加させ、ステップ103において学習
制御する時間を求めるカウンタ’I’ I M E 2
のカウント値を1増加させる。次のステップ104にお
いて、カウンタT I M E 1のカウント値が12
 (48msec)以下になっているか否かを判断する
。カウント値が12を越えているときにはステップ10
5においてカウンタTIMEIのカウント値を12とし
、カウント値が12以下のときにはステップ106にお
いてカウンタTIME2のカウント値が12以下になっ
ているか否かを判断する。ここで、カウント値が12を
越えているときにはステップ107においてカウンタT
IME2のカウント値を12としてメインルーチンへリ
ターンし、カウント値が12以下のときにはメインルー
チンへリターンする。
FIG. 10 shows an interrupt routine that is performed every predetermined time (for example, 4 m5 ec) for counting the time when no knocking occurs and the time for learning control. Instead, in step 102, the count value of the counter TIMEI, which calculates the time when knocking does not occur, is increased by 1, and in step 103, the counter 'I' I M E 2 calculates the time for learning control.
Increase the count value by 1. In the next step 104, the count value of the counter T I M E 1 becomes 12.
(48 msec) or less. If the count value exceeds 12, step 10
In step 5, the count value of the counter TIMEI 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, if the count value exceeds 12, the counter T
The count value of IME2 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.

次に第6図のステップ89の詳細なルーチンを第11薗
に基いて説明する。第6図のステップ88でクランク角
が90℃A BTDCになったと判断されると、ステッ
プ122において負荷Q、 / Nが0.6 CL/ 
rev、 ’:1以上か否か、すなわちノンキング制御
領域かノッキング非制御領域かを判断する。負荷が0.
6 (L/ rev、 〕未満のとき、すなわちノッキ
ング非制御領域のときはステップ123において基本点
火進角θBASKを点火進角θif  として次のルー
チンへ進む。ノッキング非制御領域のときは従来と異な
り、補正遅角量を零にしない。一方、負荷が0.6 (
t/rev、 :)以上のとき、すなわちノッキング制
御領域のときはステップ108において、第9図のステ
ップ100で記憶されたピーク値aと、第9図のステッ
プ98で記憶されたバックグラウンドレベルbに定数k
を乗算した値に−bとを比較する。ピーク値aか値に−
bを越えているときにはノッキングが発生したと判断し
て、ステップ110においてRAMに記憶されだ補正遅
角量θKを所定角(例えば0.4℃A)増加させ、ステ
ップ112においてノッキングが発生しない時間をカウ
ントするカウンタTIMEIのカウント値をクリアする
。一方、ピーク値aが値に−b以下のときにはメツキン
グが発しないと判断して、ステップ109においてカウ
ンタTIMEIのカウント値が所定値(12)以上にな
っているか否かを判断し、カウント値が所定値以上にな
っているときにはノッキングの発生しない状態が所定時
間経続していることからステップ111においてRAM
に記憶された補正遅角量θKを所定角(例えば0.08
℃A)減少させた後、ステップ112でカウンタT I
 M E 1をクリアする。また、ステップ109にお
いてカウント値が所定値未満であるときには、ステップ
113へ進む。ステップ113では、上記のようにして
求められた補正遅角量θにと学習マツプから2次元補間
法により求められる学習遅角量θKG  とによって前
述した(1)式に示すように基本点火進角θRASEを
補正し、実際にイグナイタを制御する点火進角θI2 
を算出する。
Next, the detailed routine of step 89 in FIG. 6 will be explained based on the eleventh column. When it is determined in step 88 of FIG. 6 that the crank angle has reached 90°A BTDC, the load Q, /N is determined to be 0.6 CL/ in step 122.
rev, ': Determine whether or not it is 1 or more, that is, whether it is a non-knocking control region or a knocking non-control region. Load is 0.
6 (L/rev, ), that is, in the knocking non-control region, the basic ignition advance angle θBASK is set as the ignition advance angle θif in step 123 and the process proceeds to the next routine.In the knocking non-control region, unlike the conventional method, Do not reduce the correction retard amount to zero.On the other hand, if the load is 0.6 (
t/rev, :) or more, that is, in the knocking control region, in step 108, the peak value a stored in step 100 of FIG. constant k
Compare the multiplied value with -b. Peak value a or value -
If it exceeds b, it is determined that knocking has occurred, and in step 110, the correction retard amount θK stored in the RAM is increased by a predetermined angle (for example, 0.4°C A), and in step 112, the time during which knocking does not occur is increased. Clear the count value of the counter TIMEI. On the other hand, when the peak value a is less than or equal to the value -b, it is determined that no metering occurs, and in step 109 it is determined whether the count value of the counter TIMEI is greater than or equal to a predetermined value (12), and the count value is If the value is greater than or equal to the predetermined value, it means that a state in which no knocking occurs has continued for a predetermined period of time.
The correction retard amount θK stored in
℃A), then in step 112 the counter T I
Clear M E 1. Further, if the count value is less than the predetermined value in step 109, the process proceeds to step 113. In step 113, the basic ignition advance angle is determined by using the corrected retard amount θ obtained as described above and the learning retard amount θKG obtained from the learning map by the two-dimensional interpolation method, as shown in the above-mentioned equation (1). Ignition advance angle θI2 that corrects θRASE and actually controls the igniter
Calculate.

上述したようにノンキング制御領域内で算出された補正
遅角量θにはクリアされることな(RAMに記憶されて
いる4ため、エンジン条件がノッキング制御領域からノ
ッキング非制御領域に移行しても、ノンキング制御領域
内で算出された最終的な補正遅角量が記憶保持され、再
びノッキング制御領域にエンジン条件が移行したとき記
憶された補正遅角量を用いてノッキングが制御される。
As mentioned above, the corrected retardation amount θ calculated in the non-knocking control area is not cleared (4 is stored in the RAM, so even if the engine condition moves from the knocking control area to the knocking non-control area) The final corrected retardation amount calculated within the non-king control area is stored and held, and when the engine condition shifts to the knocking control area again, knocking is controlled using the stored corrected retardation amount.

次に学習マツプから現在のエンジン条件に対応する学習
遅角量θKG  を求めかつ学習制御するルーチンを説
明する。第12図にこのルーチンをメ、インルーチンの
途中から示す。
Next, a routine for determining the learning retardation amount θKG corresponding to the current engine condition from the learning map and performing learning control will be explained. FIG. 12 shows this routine from the middle of the main routine.

まず、ステップ124において負荷Q/Nが0.6 〔
L/rev、 〕 以上か否か、すなわちノッキング制
御領域か否かを判断する。ノッキング制御領域でないと
きは、そのままメインルーチンへ続き、ノッキング制御
領域であるときは、ステップ114においてエンジン回
転数Nと負荷Q/Nとで定まる現在のエンジン条件を示
す点を囲む4点のRAMの番地を学習マツプ上に求める
。次にステップ115において、求めた4点のR,A 
Mの番地に記憶されているデータ、すなわち4点のRA
Mの番地に記憶されている学習遅角量を基に2次元補間
法(2次元補間法のルーチンは後で説明する)により、
現在のエンジン条件を示す点の学習遅角量θKG  を
算出し、算出した値をRAMの所5 定場所に記憶する。ステップ116では、第10図のス
テップ103でカウントした学習制御する時間を求める
だめのカウンタT工へ4B2のカウント値が所定値(例
えば12)以上か否かを判断する。カウント値が所定値
未満である場合にはメインルーチンへリターンし、カウ
ント値が所定値以上の場合にはステップ117でカウン
タ’I’ I M E2のカウント値をクリアした後、
第11図のステップ110および111で更新された補
正遅角量θKが第1の所定クランク角(例えば2℃A)
以上であるか否かをステップ118で判断する。
First, in step 124, the load Q/N is 0.6 [
L/rev. If it is not in the knocking control region, the main routine continues as it is, and if it is in the knocking control region, in step 114, the four points in the RAM surrounding the point indicating the current engine condition determined by the engine speed N and the load Q/N are stored. Find the street address on the learning map. Next, in step 115, the obtained four points R, A
The data stored at address M, that is, 4 points of RA
Using the two-dimensional interpolation method (the routine of the two-dimensional interpolation method will be explained later) based on the learning retardation amount stored at the address M,
The learning retardation amount θKG at the point indicating the current engine condition is calculated, and the calculated value is stored in a predetermined location in the RAM. At step 116, it is determined whether or not the count value of 4B2 is greater than or equal to a predetermined value (for example, 12), which is sent to the counter T for calculating the learning control time counted at step 103 in FIG. 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 'I' I M E2 is cleared in step 117, and then
The corrected retardation amount θK updated in steps 110 and 111 in FIG. 11 is the first predetermined crank angle (for example, 2°C
It is determined in step 118 whether or not this is the case.

ステップ118で補正遅角量6Kが第1の所定クランク
角未満であると判断された場合には、ステップ121に
おいて現在のエンジン条件を示す点を囲む学習マツプ上
の4点に記憶されている学習遅角量の各々から、所定ク
ランク角(例えば0.04℃A)減算する学習制御を行
ない、メインルーチンヘリターフする。この結果、補正
遅角量θKが第1の所定クランク角未満であるときには
学習マツプの学習遅角量が小さくなるように学習制御さ
れ1、学習遅角量によって点火時期が進むように制御さ
れる。一方、ステップ118で補正遅角量θKが第1の
所定クランク角以上であると判断された場合には、ステ
ップ119において補正遅角量θKが第1の所定クラン
ク角よシ大きい値の第2の所定クランク角(例えば4℃
A)未満であるか否かを判断する。ステップ119にお
いて補正遅角量θKが第1の所定クランク角未満である
と判断された場合、すなわち補正遅角量θKが以下の条
件を満足する場合には、 第1の所定クランク角(2℃A)≦θK〈第2の所定ク
ランク角(4℃A)・・・・・・ (7)学習制御せず
にメインルーチンへリターンする。
If it is determined in step 118 that the corrected retardation amount 6K is less than the first predetermined crank angle, then in step 121 the learning information stored in the four points on the learning map surrounding the point indicating the current engine condition is determined. Learning control is performed to subtract a predetermined crank angle (for example, 0.04° C.A.) from each retard amount, and the main routine heliturf is performed. As a result, when 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 smaller1, and the ignition timing is controlled to advance according to the learning retardation amount. . 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, then in step 119 the corrected retard amount θK is set to a second value larger than the first predetermined crank angle. at a predetermined crank angle (e.g. 4°C)
A) Determine whether it is less than or not. 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°C A)≦θK<second predetermined crank angle (4°C A) (7) Return to the main routine without learning control.

この結果、補正遅角量θKが所定範囲の値をとるときは
学習制御されず、学習遅角量によっては点火時期が変更
されない。なお、補正遅角量が所定範囲の値をとるとき
においても、必要に応じて学習制御するようにしてもよ
い。ステップ119において補正遅角量θKが第2の所
定クランク角以上と判断された場合には、ステップ12
0において現在のエンジン条件を示す点を囲む学習マツ
プ上の4点に記憶されている学習遅角量の各々に、所定
クランク角(例えば、0.04℃A)加算する学習制御
を行ない、メインルーチンヘリター7−fる。この結果
、補正遅角量θKが第2の所定クランク角以上であると
きには学習マツプの学習遅角量が大きくなるように学習
制御され、学習遅角量によって点火時期が遅れるように
制御される。
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 retard amount θK is greater than or equal to the second predetermined crank angle, step 12
At 0, learning control is performed to add a predetermined crank angle (for example, 0.04°C) to each of the learning retard amounts stored at four points on the learning map surrounding the point indicating the current engine condition. Routine heritor 7-f. As a result, when the corrected retard amount θK is equal to or greater than the second predetermined crank angle, learning control is performed so that the learning retard amount of the learning map becomes larger, and the ignition timing is controlled to be delayed by the learned retard amount.

以上のような学習制御することによって、補正遅角量が
所定範囲の値に々るように学習マツプの学習遅角量が変
更される。
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 of values.

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

第13図は、第12図ステップ115の2次元補間法の
詳細なルーチンを示すものである。この2次元補間ルー
チンにおいて、学習マツプとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点のR,AMの
番地を第2図に示すように0% n+1、n +6、n
+7とする。まず、ステップ丁30において、現在の負
荷Q/Nが学習マツプ上の負荷の上限値すなわち1.2
[t/rev、〕  以下であるか否かを判断する。負
荷が1.2[ニア/rev、:]を越えている場合には
ステップ131でレジスタnに1.2を記憶し、負荷が
1.2 (1/ rev、]以下である場合にはステッ
プ134で現在の負荷Q/Nの値をレジスタnに記憶す
る。ステップ135では、現在のエンジン回転数Nが学
習マツプ上のエンジン回転数の上限値すなわち6000
〔r、p、m〕 以下であるか否かを判断する。エンジ
ン回転数が6000 (r、 p、m:]  を越エテ
いる場合にはステップ136でレジスタm[6000を
記憶し、エンジン回転数が6000 Cr、p、rr+
)以下である場合にはステップ137で現在のエンジン
回転数Nの値をレジスタmに記憶する。ステップ138
では、レジスタnの値が学習マツプ上の負荷の下限値す
なわち0.6 [:t/rev、 :]以上であるか否
かを判断し、し′ジスタロの値が0.6未満であるとき
には゛ステップ139においてレジスタnの値を06と
し、レジスタnの値が06以上であるときにはステップ
140に進む。そしてステップ140では、レジスタm
の値が学習マツプ上のエンジン回転数の下限値すなわち
1000(r、p、m3  以上であるか否かを判断し
、レジスタmの値が1000未満であるときにはステッ
プ141においてレジスタmの値を1000とし、レジ
スタmの値が1000以上であるときには次のステップ
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. 12. In this two-dimensional interpolation routine, the map shown in Fig. 1 is used as a learning map, and the addresses of four points R and AM indicating the current engine conditions are set as 0% n+1, n +6, as shown in Fig. 2. n
+7. First, in step 30, the current load Q/N is the upper limit of the load on the learning map, that is, 1.2.
[t/rev,] Determine whether it is less than or equal to [t/rev,]. If the load exceeds 1.2 [near/rev,:], 1.2 is stored in register n in step 131, and if the load is less than 1.2 (1/rev,), step 131 is executed. At step 134, the current load Q/N value is stored in register n. At step 135, the current engine speed N is set to the upper limit of the engine speed on the learning map, that is, 6000.
[r, p, m] Determine whether it is the following. If the engine speed exceeds 6000 (r, p, m:), register m[6000 is stored in step 136, and the engine speed is 6000 Cr, p, rr+
), in step 137, the value of the current engine rotation speed N is stored in register m. Step 138
Now, 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 [:t/rev, :], and if the value of distal is less than 0.6, then In step 139, the value of register n is set to 06, and if the value of register n is 06 or more, the process proceeds to step 140. Then, in step 140, register m
It is determined whether the value of the register m is greater than or equal to the lower limit value of the engine rotation speed on the learning map, that is, 1000 (r, p, m3), and if the value of the register m is less than 1000, the value of the register m is set to 1000 in step 141. When the value of register m is 1000 or more, the process proceeds to the next step 142.As a result of the above, when the current engine speed N and load Q, /N are values on the learning map, the values are stored in registers m and When the current engine speed N and load Q/N exceed the upper and lower limits of the learning map, the upper and lower limits are stored in registers m and n, respectively.

ステップ142からステップ149は、学習マツプ上の
4点を選択するためのルーチンである。
Steps 142 to 149 are a routine for selecting four points on the learning map.

まず、ステップ142においてレジスタnの値から0番
地の負荷の値0.6 (j/rev、 〕を減算した値
をレジスタnに記憶させる。次に、ステップ143にお
いてレジスタnの値を負荷の目盛り間隔である0、21
:t/rev、 )で除算し、その商の整数部をレジス
タnに記憶させると共に商の余りをレジスタyに記憶さ
せる。このレジスタyの値は、第2図のn番地から現在
のエンジン条件を示す点までの負荷の値yに等しい。ま
た、レジスタnに記憶された商の整数部は、現在のエン
ジン条件を示す点に最も近くかつ現在のエンジン条件を
示す点以下の番地の列(番地の横方向の並び、例えば0
〜5番地の並びを第1列とする)の列番を示している。
First, in step 142, the value obtained by subtracting the load value 0.6 (j/rev, ) at address 0 from the value of register n is stored in register n. Next, in step 143, the value of register n is stored in the load scale interval 0, 21
:t/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 equal to the load value y from address n in FIG. 2 to the point representing the current engine condition. 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 arrangement of addresses, for example 0
5 is the first column).

そして、ステップ144においてレジスタyの値を更に
0.2 (L/rev、 〕で除算しておく。
Then, in step 144, the value of register y is further divided by 0.2 (L/rev, ).

従って、最終的にレジスタyには前述した(6)式のy
/Yに対応した値が記憶されている。
Therefore, finally, register y contains y of equation (6) mentioned above.
A value corresponding to /Y is stored.

ステップ145において、前述と同様にレジスタmの値
から0番地のエンジン回転数の値1000〔r−p−m
〕 を減算した値をレジスタmに記憶させる。次に、ス
テップ146においてレジスタmの値をエンジン回転数
の目盛り間隔である1000[r。
In step 145, similarly to the above, the value of the engine rotation speed at address 0 is changed from the value of register m to 1000 [r-p-m
] The value obtained by subtracting is stored in register m. Next, in step 146, the value of the register m is set to 1000 [r], which is the scale interval of the engine rotation speed.

p0m〕で除算し、その商の整数部をレジスタmに記憶
させると共に商の余シをレジスタXに記憶させる。この
レジスタXの値は、第2図のn番地から現在のエンジン
条件を示す点までのエンジン回転数の値Xに等しい。ま
た、レジスタmに記憶された商の整数部は、現在のエン
ジン条件を示す点に最も近くかつ現在のエンジン条件を
示す点以下の番地の行(番地の縦方向の並び、例えばO
16,12,188番地並びを第1行とする)の付番を
示している。そして、ステップ147においてレジスタ
Xの値を更に1000 (r、 p、m)  で除算し
ておく。従って最終的にレジスタXには前述した(4L
 (5)式のx / Xに対応した値が記憶されている
p0m], the integer part of the quotient is stored in register m, and the remainder of the quotient is stored in register X. The value of this register X is equal to the engine speed value X from address n in FIG. 2 to the point indicating the current engine condition. In addition, the integer part of the quotient stored in register m is stored in 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, e.g.
16, 12, and 188 are listed in the first row). Then, in step 147, the value of register X is further divided by 1000 (r, p, m). Therefore, in the end, register
A value corresponding to x/X in equation (5) is stored.

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

ステップ150においては、学習マツプ上のn番地に記
憶されている学習遅角量θKGnを読出してレジスタA
に記憶させ、n+1番地に記憶されている学習遅角量θ
KG(n+1)を読出してレジスタBに記憶させ、n+
6番地に記憶されている学習遅角量θKG (n+6)
を読出してレジスタCに記憶させ、そしてn + 7番
地に記憶されている学習遅角量θKG(n+7)を読出
してレジスタDに記憶させる。続いて、ステップ151
においてレジスタAの値からレジスタBの値を減算して
レジスタXの値を乗算し、更にその値にレジスタAの値
を加算してレジスタEに記憶させる。また、ステップ1
52においてレジスタCの値からレジスタDの値を減算
してレジスタXの値を乗算し、更にその値にレジスタC
の値を加算してレジスタFに記憶させる。そして最後に
ステップ153において、レジスタEの値からレジスタ
Fの値を減算してレジスタyの値を乗算し、更にその値
にレジスタEの値を加算して、現在のエンジン条件を示
す点の学習遅角量θKG  とする。
In step 150, the learning retard amount θKGn stored at address n on the learning map is read out from the register A.
The learning delay angle θ stored at address n+1
KG(n+1) is read and stored in register B, and n+
Learning delay angle θKG stored in address 6 (n+6)
is read out and stored in register C, and the learning retard amount θKG(n+7) stored at address n+7 is read out and stored in register D. Next, step 151
Then, 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. Also, step 1
52, the value of register D is subtracted from the value of register C, multiplied by the value of register
The values of are added and 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 retard amount be θKG.

次に第12図のステツジ118〜ステップ121の詳細
なルーチンを第14図に示す。なり1第14図における
し、ジスタnは第13図の2次元補間ルーチンのレジス
タnを用いる。まず、ステップ118において、前記と
同様に補正遅角量θKが2℃八以上であるか否かを判断
する。補正遅角量θKが2℃八未満であるときにはステ
ップ160において学習値αを一004℃Aとしてステ
ップ162へ進む。補正遅角量θKが2℃八以上の場合
には、ステップ119において補正遅角量θKが4℃八
以上であるか否かを判断する。補正遅角量θKが4℃八
未満である場合はメインルーチンへリターンし、補正遅
角量θKが4℃八以上の場合にはステップ161におい
て学習値αを0.04℃Aとしてステップ162へ進む
。ステップ162では負荷Q、 / Nが学習マツプの
下限値0.6(7/rev、)  以上であるか否かを
判断する。負荷が06以上である場合にはステップ16
6においてエンジン回転数Nが学習マツプの下限値10
00(r、p1m+)以上であるか否かを判断し、負荷
が0.6未満である場合にはステップ163においてエ
ンジン回転数Nが1000 〔r、 p、m)  以下
テあるか否かを判断する。
Next, a detailed routine of steps 118 to 121 in FIG. 12 is shown in FIG. 14. The register n in FIG. 14 uses the register n of the two-dimensional interpolation routine in FIG. First, in step 118, similarly to the above, it is determined whether the corrected retard amount θK is equal to or greater than 2°C. When the corrected retardation amount θK is less than 2°C, the learned value α is set to 1004°C in step 160, and the process proceeds to step 162. When the corrected retard amount θK is 2° C.8 or more, it is determined in step 119 whether the corrected retard amount θK is 4° C.8 or more. If the corrected retardation amount θK is less than 4°C, the process returns to the main routine, and if the corrected retardation amount θK is 4°C or more, the learned value α is set to 0.04°C in step 161, and the process proceeds to step 162. move on. In step 162, it is determined whether the load Q, /N is greater than or equal to the lower limit value of 0.6 (7/rev,) of the learning map. If the load is 06 or more, step 16
6, the engine speed N is the lower limit of the learning map 10
00 (r, p1m+) or more, and if the load is less than 0.6, in step 163 it is determined whether the engine rotation speed N is 1000 [r, p, m+] or less. to decide.

ステップ166においてエンジン回転数Nが1000 
[:r、 p、m) 未満と判断された場合には、ステ
ップ167においてn番地における前回学習された学習
遅角量θKGn  に学習値αが加算される学習制御が
行なわれ、ステップ168においてn+1番地における
前回学習された学習遅角量θKG (n+1)に学習値
αが加算される学習制御が行なわれ、メインルーチンへ
リターンされる。ことで上記すように現在のエンジン回
転数Nおよび負荷Q、 / N vs Q、 / N≧
0.6 (t/rev、 :)がっN〈1000 (r
、 p、m)の領域に存在する場合には、RAMの番地
を示すレジスタnの値は第1行の0.6.12.18を
取シ得るので、現在のエンジン条件を示す点が上記の領
域に存在する場合に、ステップ167で0.6.12.
18番地の学習遅角量が学習制御され、ステップ168
で1.7%13.19番地の学習遅角量が学習制御され
る。
In step 166, the engine speed N is 1000.
[: r, p, m) If it is determined that the value is less than [: r, p, m), learning control is performed in which the learned value α is added to the previously learned learned retard amount θKGn at address n in step 167, and in step 168 Learning control is performed in which the learned value α is added to the previously learned learned retard amount θKG (n+1) at the address, and the process returns to the main routine. As mentioned above, the current engine speed N and load Q, / N vs Q, / N≧
0.6 (t/rev, :)gN〈1000 (r
, p, m), the value of register n indicating the RAM address will be 0.6.12.18 in the first row, so the point indicating the current engine condition will be exists in the area of 0.6.12. in step 167.
The learning delay amount at address 18 is controlled by learning, and step 168
The learning retardation amount at address 13.19 is controlled by learning by 1.7%.

ステップ166においてエンジン回転数Nが1000 
(r、 p、m:) 以上と判断された場合には、ステ
ップ169においてn番地における前回学習された学習
遅角量θKG  に学習値αが加算される学習制御が行
なわれる。現在のエンジン条件を示す点がQ/N≧0.
6 (t/rev、 )かつN≧1000Cr−p、m
)の領域に存在する場合には、RAMの番地を示すレジ
スタnの値はO〜23を取り得るので、ステップ169
においては全ての番地が学習制御の対象になる。次のス
テップ170ではレジスタnの値かを3でないか否かを
判断する。レジスタnの値が23でない場合には、ステ
ップ171、ステップ173、ステップ174においで
各々レジスタnの値が17でないか否か、11てないか
否か、5でないか否かを判断する。このレジスタnの値
5.11.17.23は、第6行の番地を表わしている
。レジスタnの値が23であるときは、そのままメイン
ルーチンへリターンする。このときの23番地の学習遅
角量はステップ169で学習制御されることになる。レ
ジスタnの値が17.11.5であるときは、ステップ
172においてレジスタnの値を1減少させてステップ
178においてn+7番地の学習遅角量θKG (n+
7)に学習値αを加算する学習制御を行なって、メイン
ルーチンへリターンする。従って、レジスタnの値が1
7,11.5であるときは。
In step 166, the engine speed N is 1000.
(r, p, m:) When it is determined that the above is the case, learning control is performed in step 169 in which the learning value α is added to the previously learned learning retard amount θKG at address n. The point indicating the current engine condition is Q/N≧0.
6 (t/rev, ) and N≧1000Cr-p, m
), the value of register n indicating the RAM address can take a value from 0 to 23, so step 169
In this case, all addresses are subject to learning control. In the next step 170, it is determined whether the value of register n is not 3 or not. If the value of register n is not 23, it is determined in step 171, step 173, and step 174 whether the value of register n is not 17, 11, and 5, respectively. The value 5.11.17.23 of this register n represents the address of the sixth row. When the value of register n is 23, the process directly returns to the main routine. The learning retardation amount at address 23 at this time is subjected to learning control in step 169. When the value of register n is 17.11.5, the value of register n is decreased by 1 in step 172, and the learning retard amount θKG (n+
Learning control is performed to add the learning value α to 7), and the process returns to the main routine. Therefore, the value of register n is 1
7, when it is 11.5.

ステップ169で17,11,5番地の学習遅角量が各
々学習制御さ“れ、ステップ178において1列上の2
3,17.11番地の学習遅角量が各々学習制御される
ことになる。
In step 169, the learning retard amounts at addresses 17, 11, and 5 are each subjected to learning control, and in step 178, the learning retard amounts at addresses 17, 11, and
The learning retard amounts of addresses 3, 17, and 11 are each subjected to learning control.

レジスタnの値が23.17.11.5のいずれでもな
いときは、ステップ175においてn+1番地の学習遅
角量θKG(n+4)に学習値αが加算される学習制御
が行なわれる。すられち、2次元補間ルーチンのステッ
プ149で求めたRAMの番地が第6行上に々いときに
は、ステップ169およびステップ175において、2
次元補間ルーチンで求めたRAMの番地とこの番地の右
隣シの番地とが学習制御される。ステップ176では、
レジスタnの値が17未満であるか否かを判断し、レジ
スタnの値が17以上である場合にはメインルーチンへ
リターンする。すなわち、R’AMの番地が第4列の1
8〜22であるときは、ステップ169およびステップ
175においてレジスタnに記憶された番地とその右隣
りの番地とが学習制御される。一方、レジスタnの値が
17未満であるとき、すなわち現在のエンジン条件を示
す点を囲む4つの番地が存在するときは、ステップ17
7でn + 6番地の学習遅角量θKc(n+6’)に
学習値αを加算する学習制御が行なわれ、ステップ17
8でn+7番地の学習遅角量θKG (n+7)に学習
値αを加算する学習制御が行なわれる。この結果、現在
のエン、ジン条件を示す点を囲む4つの番地が存在する
ときには、ステップ169、ステップ175、ステップ
177およびステップ178において上記4つの番地の
学習遅角量が学習制御される。
When the value of register n is neither 23.17.11.5, learning control is performed in step 175 in which the learning value α is added to the learning retard amount θKG(n+4) at address n+1. However, if the RAM address obtained in step 149 of the two-dimensional interpolation routine is on the sixth row, the second
Learning control is performed on the RAM address obtained by the dimensional interpolation routine and the address to the right of this address. In step 176,
It is determined whether the value of register n is less than 17, and if the value of register n is 17 or more, the process returns to the main routine. In other words, the address of R'AM is 1 in the fourth column.
When the number is 8 to 22, learning control is performed on the address stored in register n and the address to the right of it in steps 169 and 175. On the other hand, if the value of register n is less than 17, that is, if there are four addresses surrounding the point indicating the current engine condition, then step 17
In step 7, learning control is performed to add the learning value α to the learning retard amount θKc(n+6') at address n+6, and in step 17
At step 8, learning control is performed to add the learning value α to the learning retard amount θKG (n+7) at address n+7. As a result, when there are four addresses surrounding the point indicating the current engine condition, the learning retard amounts of the four addresses are controlled in steps 169, 175, 177 and 178.

ステップ162で負荷が0.6 [t/rev、 :]
未満と判断された場合に゛はステップ163でエンジン
回転数が1000 〔r、 p、m)以下か否か判断さ
れ。
At step 162, the load is 0.6 [t/rev, :]
If it is determined that the engine rotation speed is less than 1000 [r, p, m), it is determined in step 163 whether the engine rotation speed is less than 1000 [r, p, m).

エンジン回転数が1000 (r、 p、m〕以下の場
合にはステップ165でレジスタnの値から7減算し、
ステップ178で学習制御を行う。現在のエンジン条件
を示す点がQ、/N<0.6 Ct/rev、)かつN
≦1000 〔r、 p−m”J  (r)領域に存在
するときには、レジスタnの値はOとなるため、この場
合のステップ178では0番地の学習遅角量が学習制御
されることになる。一方、エンジン回転数Nが1000
 (r、 p、m’)を越えているときにはステップ1
64においてレジスタnの値が5であるか否かを判断し
、5でないときはステップ179においてレジスタnの
値から5.6減算し、ステップ177およびステップ1
78においてn −4−6番地およびn −4−7番地
の学習遅角量を学習制御する。
If the engine speed is less than 1000 (r, p, m), subtract 7 from the value of register n in step 165,
Learning control is performed in step 178. The point indicating the current engine condition is Q, /N<0.6 Ct/rev,) and N
≦1000 [r, p-m''J (r) When the value exists in the region, the value of register n becomes O, so in step 178 in this case, the learning delay amount at address 0 is controlled by learning. .On the other hand, when the engine speed N is 1000
If it exceeds (r, p, m'), step 1
In step 64, it is determined whether the value of register n is 5 or not, and if it is not 5, 5.6 is subtracted from the value of register n in step 179, and step 177 and step 1 are performed.
At 78, learning control is performed on the learning retardation amounts at addresses n-4-6 and n-4-7.

才た、レジスタnの値が5のときにはステップ180で
レジスタnO値から7減算し、ステップ178において
学習制御を行う。現在のエンジン条件を示す点がQ、/
 N< 0.6 (L/rev、 )かつN> 100
0 〔r、 pom)  (7)領域に存在t 7) 
トキには、レジスタnの値は第1列の番地の値を取り得
るため、レジスタnの値が5のときはステップ178で
5番地の学習遅角量が学習制御され、レジスタnの値が
0,1,2.3.4のときけステップ177およびステ
ップ178においてレジスタnの値の番地とその右隣り
の番地の学習遅角量が学習制御される。
When the value of register n is 5, 7 is subtracted from the value of register nO in step 180, and learning control is performed in step 178. The point indicating the current engine condition is Q, /
N< 0.6 (L/rev, ) and N> 100
0 [r, pom) (7) Exist in area t 7)
In Toki, the value of register n can take the value of the address in the first column, so when the value of register n is 5, the learning delay amount at address 5 is controlled by learning in step 178, and the value of register n is In step 177 and step 178 of 0, 1, 2.3.4, the learning delay amount of the address of the value of register n and the address to the right of it is controlled by learning.

上記の第14図の学習ルーチンにおける学習遅角量θK
G  を学習制御によって更新するときの補正遅角骨θ
に、 7)条件と学習遅角量θKGの増減との関係をま
とめて次表に示す。
Learning retardation amount θK in the learning routine shown in FIG. 14 above
Corrected retarded bone θ when updating G by learning control
7) The relationship between the conditions and the increase/decrease in the learning retardation amount θKG is summarized in the following table.

表 また、第15図に時間経過に対する補正遅角量θに学習
遅角量θKG、点火時期θ12 の変動を示す。図から
理解されるように、補正遅角量θKが所定範囲の値のと
きには学習遅角量θKG は一定であり、補正遅角量θ
Kが所定範囲を越えたときには学習遅角量θKG  が
増加し、補正遅角量θKが所定範囲未満のとき減少して
いる。
Further, FIG. 15 shows the changes in the corrected retard amount θ, learned retard amount θKG, and ignition timing θ12 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, and the corrected retard amount θ
When K exceeds a predetermined range, the learned retard amount θKG increases, and when the corrected retard amount θK falls below the predetermined range, it decreases.

更に、第16図にエンジン回転数に対応する点火時期の
変動を示す。第16図において曲線01〜C3は第3図
のものと同一であシ、ノッキングが発生し易い場合でも
ノッキングが発生しにくい場合でも補正遅角量θKが常
に一定に々っていることが理解される。
Furthermore, FIG. 16 shows variations in ignition timing corresponding to engine speed. In Fig. 16, curves 01 to C3 are the same as those in Fig. 3, and it is understood that the corrected retardation amount θK always remains constant, whether knocking is likely to occur or knocking is unlikely to occur. be done.

また、第17図に、負荷に対する点火時期の特性を示す
。図において、実線は基本点火進角を示し、曲線C4は
微小ノッキング発生点火時期、曲線C3は学習遅角量に
よシ遅角された点火時期を各々示す。上記実施例におい
ては、エンジン条件がノッキング制御領域からノッキン
グ非制御領域へ移行するとき補正遅角量を記憶保持して
いるため、負荷が軽負荷Aからノンキング制御領域内の
負荷Bに変化しても、点火時期は曲線C4に沿って制御
されるからノッキングが発生しない。ところが従来のよ
うに補正遅角量をO′cAとすると、上記のように負荷
が変化した場合、初期の状態において点火時期が曲線C
4より進角側の曲線C3に沿って制御されることになる
ため、ノッキングが発生することになる。
Further, FIG. 17 shows the characteristics of ignition timing with respect to load. In the figure, the solid line indicates the basic ignition advance angle, the curve C4 indicates the ignition timing at which slight knocking occurs, and the curve C3 indicates the ignition timing retarded by the learning retard amount. In the above embodiment, since the correction retardation amount is stored and held when the engine condition shifts from the knocking control region to the knocking non-control region, the load changes from light load A to load B in the non-knocking control region. Also, since the ignition timing is controlled along curve C4, no knocking occurs. However, if the corrected retardation amount is O'cA as in the past, when the load changes as described above, the ignition timing will change to curve C in the initial state.
Since the control is performed along the curve C3, which is more advanced than the curve C3, knocking will occur.

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

@1図は学習マツプを示す説明図、第2図は現在のエン
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図はエンジン回転数と点火時期との関係を示す線図、
第4図は本発明が適用されるエンジンを示す概略図、@
5図は第4図の電子制御回路を示すブロック図、第6図
は30℃A毎の割込みルーチンの流れ図、第7図は時刻
一致割込みへの流れ図、第8図は時刻一致割込みBの流
れ図、第9図けAl1)完了割込みルーチンの流れ図、
第10図は4 m5ec毎の割込みルーチンを示す流れ
図、第11図は補正遅角量を更新するルーチンの流れ図
、第12図は学習制御ルーチンの流れ図、第13図は2
次元補間ルーチンの流れ図、第14図は前記学習ルーチ
ンの詳細を示す流れ図、第15図は時間経過に対する補
′正遅角肴・学習遅角量・点火時期の変動を示す線図、
第16図は第3図と同様のエンジン回転数と点火時期と
の関係・補正遅角量および学習遅角量の関係を示す線図
、第17図は本発明の実施例の点火時期を説明するため
の負荷と点火時期との関係を示す線図である。 2・・・エアフローメータ、 12・・・燃料噴射弁、 18・・・ノッキングセンサ、 32’・・エンジンl【1転角センサ、34・・・電子
制御回路。 代理人鵜沼辰之 (L(v゛2ろ) 第1図 第2図 ) 第3(2) エソジシ回転欽 @6図 第7図    @8図 第9図 第11図 第12図 第15図 ’M &”+ M a −/、、。 第16図 エンシシロ中式欽
@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. figure,
FIG. 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 the interrupt routine every 30°C, Fig. 7 is a flow chart of the time match interrupt, and Fig. 8 is a flow chart of the time match interrupt B. , Figure 9 Al1) Flowchart of Completion Interrupt Routine,
Fig. 10 is a flowchart showing the interrupt routine every 4 m5ec, Fig. 11 is a flowchart of the routine for updating the correction retardation amount, Fig. 12 is a flowchart of the learning control routine, and Fig. 13 is a flowchart of the routine for updating the correction retardation amount.
A flowchart of the dimensional interpolation routine, FIG. 14 is a flowchart showing details of the learning routine, and FIG. 15 is a diagram showing changes in the correction retardation amount, learning retardation amount, and ignition timing over time.
FIG. 16 is a diagram showing the relationship between the engine speed and ignition timing, the corrected retard amount, and the learned retard amount, similar to FIG. 3, and FIG. 17 explains the ignition timing of the embodiment of the present invention. FIG. 2 is a diagram showing the relationship between load and ignition timing for the purpose of the present invention. 2...Air flow meter, 12...Fuel injection valve, 18...Knocking sensor, 32'...Engine l [1 Turn angle sensor, 34...Electronic control circuit. Agent Tatsuyuki Unuma (L (v゛2ro) Fig. 1 Fig. 2) Fig. 3 (2) Esojishi Kaikan @ Fig. 6 Fig. 7 @ Fig. 8 Fig. 9 Fig. 11 Fig. 12 Fig. 15 'M &”+ M a −/,,. Fig. 16 Enshishiro medium type Kin

Claims (2)

【特許請求の範囲】[Claims] (1)所定負荷以上のノッキング制御領域内で、エンジ
ン回転数と負荷とによって定する基本点火進角から、ノ
ッキングのレベルを所定レベルニスるためにエンジン回
転数と負荷とによって定まりかつ学習制御によって変更
される学習遅角量とノッキングが発生したとき点火時期
を遅らせかつノッキングが発生しなくなったとき点火時
期を進める補正遅角量との和を減算して、ノッキング制
御する内燃機関のノッキング制御方法において、エンジ
ン条件が前記ノッキング制御領域からノッキング非制御
領域に移行するとき移行時の前記補正遅角量を記憶保持
するととを特徴とする内燃機関のノッキング制御方法。
(1) Within the knocking control range of a predetermined load or higher, the basic ignition advance angle is determined by the engine speed and load and changed by learning control to maintain the knocking level to a predetermined level from the basic ignition advance angle determined by the engine speed and load. A knocking control method for an internal combustion engine in which knocking is controlled by subtracting the sum of a learned retardation amount to be retarded and a corrected retardation amount that retards the ignition timing when knocking occurs and advances the ignition timing when knocking no longer occurs. . A knocking control method for an internal combustion engine, characterized in that when engine conditions shift from the knocking control region to the knocking non-control region, the corrected retardation amount at the time of transition is stored and retained.
(2)前記ノッキング制御領域内で前記補正遅角量が所
定範囲の値に久るように前記学習遅角量を特徴とする特
許請求の範囲第1項記載の内燃機関のノッキング制御方
法。
(2) The knocking control method for an internal combustion engine according to claim 1, wherein the learning retardation amount is set so that the corrected retardation amount remains within a predetermined range within the knocking control region.
JP58010816A 1983-01-26 1983-01-26 Knocking control of internal-combustion engine Pending JPS59136574A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58010816A JPS59136574A (en) 1983-01-26 1983-01-26 Knocking control of internal-combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58010816A JPS59136574A (en) 1983-01-26 1983-01-26 Knocking control of internal-combustion engine

Publications (1)

Publication Number Publication Date
JPS59136574A true JPS59136574A (en) 1984-08-06

Family

ID=11760871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58010816A Pending JPS59136574A (en) 1983-01-26 1983-01-26 Knocking control of internal-combustion engine

Country Status (1)

Country Link
JP (1) JPS59136574A (en)

Similar Documents

Publication Publication Date Title
JPH08151971A (en) Ignition timing control device for internal combustion engine
JP3191676B2 (en) Ignition timing control device for internal combustion engine
JPS6036749A (en) Fuel injection control device for engine
JPS59103964A (en) Knocking control method for internal-combustion engine
JPS6365173A (en) Ignition timing controller for engine
JPS59138738A (en) Control of air-fuel ratio of internal-combustion engine
JPS59136574A (en) Knocking control of internal-combustion engine
JPS58176470A (en) Control of revolution number of engine upon idling
JP2625933B2 (en) Ignition timing control device for internal combustion engine
JPS59138773A (en) Control method for knocking of internal-combustion engine
JPS63106365A (en) Method of controlling ignition timing of internal combustion engine
JPS59113267A (en) Control of knocking in internal-combustion engine
JPS60192826A (en) Control method of internal-combustion engine
JPS60159372A (en) Ignition-timing control for internal-combustion engine
JPS6161965A (en) Knocking suppressing device of engine
JPS59138774A (en) Control method for knocking of internal-combustion engine
JPS6027782A (en) Method of controlling knocking of internal-combustion engine
JPS6380075A (en) Ignition timing control device for internal combustion engine
JPS5853678A (en) Ignition timing control method of internal-combustion engine
JPS59119068A (en) Knocking controlling method for internal-combustion engine
JPS59108871A (en) Method of controlling knocking of internal-combustion engine
JPS59136573A (en) Knocking control of internal-combustion engine
JPS5843584B2 (en) Ignition timing control device
JPS59110862A (en) Control of knocking in internal-combustion engine
JPS59113264A (en) Controlling methd of knocking in internal-combustion engine