JPS59119068A - Knocking controlling method for internal-combustion engine - Google Patents

Knocking controlling method for internal-combustion engine

Info

Publication number
JPS59119068A
JPS59119068A JP23032382A JP23032382A JPS59119068A JP S59119068 A JPS59119068 A JP S59119068A JP 23032382 A JP23032382 A JP 23032382A JP 23032382 A JP23032382 A JP 23032382A JP S59119068 A JPS59119068 A JP S59119068A
Authority
JP
Japan
Prior art keywords
learning
value
amount
knocking
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP23032382A
Other languages
Japanese (ja)
Other versions
JPH0646025B2 (en
Inventor
Yuji Takeda
武田 勇二
Yoshiyasu Ito
嘉康 伊藤
Toshio Suematsu
末松 敏男
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 JP57230323A priority Critical patent/JPH0646025B2/en
Publication of JPS59119068A publication Critical patent/JPS59119068A/en
Publication of JPH0646025B2 publication Critical patent/JPH0646025B2/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
    • F02P7/00Arrangements of distributors, circuit-makers or -breakers, e.g. of distributor and circuit-breaker combinations or pick-up devices
    • F02P7/06Arrangements of distributors, circuit-makers or -breakers, e.g. of distributor and circuit-breaker combinations or pick-up devices of circuit-makers or -breakers, or pick-up devices adapted to sense particular points of the timing cycle
    • F02P7/067Electromagnetic pick-up devices, e.g. providing induced current in a coil

Landscapes

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

Abstract

PURPOSE:To reduce the effect of noise, by setting a change for a learned delay to be not larger than a predetermined value. CONSTITUTION:In step 118, it is judged whether or not a corrected delay thetak is not smaller than 2 deg.CA. When the corrected delay is smaller than 2 deg.CA, a learned value alpha is made to be -0.04 deg.CA in step 160, and then step 162 is entered. When thetak is not smaller than 2 deg.CA in step 118, it is judged in step 119 whether or not thetak is not smaller than 4 deg.CA. When thetak is not smaller than 4 deg.CA, the learned value alpha is made to be 0.04 deg.CA in step 161. Accordingly, the corrected delay is set in a predetermined range, for example, 2 deg.CA<thetak<4 deg.CA, so that the effect of noise is reduced.

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 performing retarding at a relatively fast speed depending on the presence or absence of knocking, and a method for controlling knocking at a relatively slow speed depending on the presence or absence of knocking. The present invention relates to a method for controlling knocking by correcting a basic ignition advance angle by retarding the ignition angle and using a learning retard amount changed by learning control.

従来の学習制御によるノッキング制御方法は、エンジン
回転数N1吸入空気量Qとエンジン回転数Nとの比Q、
 / Nまたは吸気管負圧で定まる負荷によって予め定
まる基本点火進角θBA8Kをマイクロコンビエータの
リードオンリメモリ(ROM)にマツダの形で記憶させ
ておき、次の(1)式に基いて実際にイグナイタを制御
する点火進角θ1gを演算し、この点火進角を用いてノ
ッキング制御を行うものである。
The conventional knocking control method using learning control is based on the engine speed N1, the ratio Q of the intake air amount Q and the engine speed N,
/N or the load determined by the intake pipe negative pressure, the basic ignition advance angle θBA8K is stored in the read-only memory (ROM) of the micro comviator in Mazda form, and is actually calculated based on the following formula (1). The ignition advance angle θ1g for controlling the igniter is calculated, and knocking control is performed using this ignition advance angle.

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

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

まず、マイクロホン等で構成されたノッキングセンサを
用いてエンジンの振動を検出し、エンジン振動の平均値
(バックグラウンド)bの所定倍x−b(ただしKは比
例定数)とエンジン振動のピーク値aとを求め、このピ
ーク値aとに−t)の値とを比較する。ピーク値aかに
−1)の値を越えたときには、ノッキング発生と判断し
て次の(2)式に示すようにノッキング発生1回あたり
所定クランク角(例えば0.4℃A)点火時期が遅れる
よう補正遅角量θKを変更する。
First, engine vibration is detected using a knocking sensor composed of a microphone, etc., and a predetermined times x - b (where K is a proportionality constant) of the average value (background) of engine vibration b is calculated from the peak value a of engine vibration. This peak value a is compared with the value of -t). When the peak value exceeds the value of a(-1), it is determined that knocking has occurred, and the ignition timing is adjusted to a predetermined crank angle (for example, 0.4℃A) per knocking occurrence, as shown in the following equation (2). The correction retard amount θK is changed so as to cause a delay.

θに←θK + 0.4℃A    ・・・・・・・・
・・・・(2)またピーク値a f)’h K” bの
値以下のときには、ノッキングが発生しなかったと判断
して、第1のタイマを用いて所定時間(131えば4 
B m5ec )経過したか否かを判断し、所定時間経
過したときには次の(3)式に示すように所定クランク
角(例えば0.08℃A )点火時期が進むように補正
遅角量θKを変更する。
To θ←θK + 0.4℃A ・・・・・・・・・
(2) Also, when the peak value a f)'h K'' b is lower than the value, it is determined that knocking has not occurred, and the first timer is used for a predetermined period of time (131, for example, 4
B m5ec), and when the predetermined time has elapsed, the correction retard amount θK is set so that the ignition timing advances by a predetermined crank angle (for example, 0.08°C A) as shown in the following equation (3). change.

θに←θK −0,08℃A   ・・・・・・・・・
・・・(3)また、エンジン条件に応じた学習遅角量θ
KGは次のようにして算出される。まず、第1図に示す
ようにエンジン回転数Nと負荷Q、 / Nとに対応さ
せて学習遅角量を記憶させる番地θ〜23をマイクロコ
ンピュータのランダムアクセスメモリ(RAM)に用意
して学習マツプを作成しておく。エンジン回転数Nと吸
入空気量Qとを取込み、学習マツプ上において現在のエ
ンジン条件を示す点(N%Q’/N)を囲む4点のRA
Mの番地を求める。今、第2図に示すように現在のエン
ジン条件を示す点を囲むRAMの番地がn(n=Q、l
・・・・・・16)、n+1、n+6、n+7であり、
番地nに学習遅角量θKGn 、番地n+1に学習遅角
量θKG in+1)、番地n+6に学習遅角量θKG
ln+61、番地n+7に学習遅角量θxa(n+73
が各々記憶されているものとする。そして、番地間のエ
ンジン回転数の差をx1番地間の負荷の差をY1番番地
と現在のエンジン条件を示す点との間のエンジン回転数
の差をx1番番地と現在のエンジン条件を示す点との間
の負荷の差をyとすれば、以下の(4)〜(6)式に示
す2次元補間法により現在のエンジン条件を示す点の学
習遅角量θKGが求められる。
To θ←θK -0.08℃A ・・・・・・・・・
...(3) Also, the learning retardation amount θ according to the engine conditions
KG is calculated as follows. First, as shown in Fig. 1, addresses θ to 23 at which learning retardation amounts are stored in correspondence with engine speed N and load Q, /N are prepared in the random access memory (RAM) of the microcomputer and the learning is performed. Create a map. The engine speed N and intake air amount Q are taken in, and the 4 points RA surrounding the point (N%Q'/N) indicating the current engine condition on the learning map
Find the address of M. Now, as shown in Figure 2, the RAM address surrounding the point indicating the current engine condition is n (n=Q, l
...16), n+1, n+6, n+7,
Learning retardation amount θKGn at address n, learning retardation amount θKG in+1) at address n+1, learning retardation amount θKG at address n+6
ln+61, the learning delay amount θxa(n+73
It is assumed that each of them is memorized. Then, the difference in engine speed between addresses x1 is the difference in load between addresses, and the difference in engine speed between address Y1 and the point indicating the current engine condition is the difference in engine speed between address x1 and the point indicating the current engine condition. If the difference in load between the two points is y, then the learning retardation amount θKG of the point indicating the current engine condition can be determined by the two-dimensional interpolation method shown in equations (4) to (6) below.

・・・・・・(5) そして上記学習マツダの学習制御は、次のようにして行
なわれる。まず、現在のエンジン条件に応じて学習制御
の時間を決定する第2のタイマと、エンジン条件に無関
係に学習制御の時間を決定する第3のタイマとを用意す
る。第2のタイマにより所定時間(例えば48m(6)
)経過したことが検出されたときには、補正遅角量θK
が変更されて所定クランク角(例えば4℃A)を越えた
か否かを判断し、補正遅角量θKが所定クランク角を越
えたときに、上記で説明した現在のエンジン条件を示す
点を囲む学習マツプ上の4点の学習遅角量尤所定クラン
ク角(例えば0.04℃A)加算する。
(5) The learning control of the learning Mazda described above is performed as follows. First, a second timer that determines the learning control time depending on the current engine conditions and a third timer that determines the learning control time regardless of the engine conditions are prepared. A second timer sets a predetermined time (for example, 48 m (6)
), when it is detected that the correction retard amount θK
is changed and exceeds a predetermined crank angle (for example, 4°C A), and when the corrected retardation amount θK exceeds the predetermined crank angle, the point indicating the current engine condition explained above is surrounded. The learning retardation amount of the four points on the learning map is added to a predetermined crank angle (for example, 0.04° C.A.).

この結果点火時期が遅れるように学習遅角量が学習制御
される。一方、第3のタイマにより所定時間(例えば1
6就)経過したことが検出されたときKは、ノッキング
の有無に無関係に学習マツプ上の全ての番地の学習遅角
量から所定クランク角(例えば0.O1″CA)減算し
て、点火時期が進むように学習遅角量を学習制御する。
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, 1
6) When it is detected that the ignition timing has elapsed, K subtracts a predetermined crank angle (for example, 0.01" CA) from the learning retard amount of all addresses on the learning map, regardless of the presence or absence of knocking, and sets the ignition timing. The learning delay amount is controlled in a learning manner so that the learning progresses.

而し【、上記のようにして変更された補正遅角量θにと
、学習制御される学習マツダから2次元補間法により求
めた学習遅角量θKGとを用い、前記+11式に基いて
基本点火進角θBA8Eを補正して、ノッキングを制御
するのである。
[,Using the corrected retard amount θ changed as described above and the learning retard amount θKG obtained by two-dimensional interpolation from the learning Mazda subjected to learning control, the basic calculation is performed based on the formula +11 above. Knocking is controlled by correcting the ignition advance angle θBA8E.

しかし、かかる従来の方法では学習マツプから現在のエ
ンジン条件に対応する学習遅角量を2次元補間法により
算出しているため、学習制御による学習マツプの値を書
換える際に電源の瞬断等によるノイズが入力されると、
学習マツプの値が正確に書換えられない場合が発生し、
例えば第3図に示すようにn+1番地の学習遅角量が異
常に小さくなることがある。このような場合に、書換え
が正確に行なえなかった学習マツプから現在のエンジン
条件に対応する学習遅角量を算出すると、算出された学
習遅角針が異常に小さくなり、点火時期が進み過ぎてノ
ッキングが多発するという問題があった。
However, in such conventional methods, the learning retard amount corresponding to the current engine condition is calculated from the learning map by two-dimensional interpolation, so when rewriting the learning map value by learning control, momentary power outages, etc. When noise due to is input,
There may be cases where the learning map values are not rewritten accurately.
For example, as shown in FIG. 3, the learning delay amount at address n+1 may become abnormally small. In such a case, if you calculate the learning retard amount corresponding to the current engine conditions from the learning map that could not be rewritten accurately, the calculated learning retard needle will become abnormally small, indicating that the ignition timing has advanced too much. There was a problem with frequent knocking.

本発明は上記問題点を解消すべく成されたもので、学習
マツプが正確に書換えられなかった場合でもノッキング
が多発することのないノッキング制御方法を提供するこ
とを目的とする。
The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide a knocking control method that prevents frequent knocking even if the learning map is not rewritten accurately.

上記目的を達成するために本発明の構成は、基本点火進
角から補正遅角量と学習マツプを基に算出された学習遅
角量との和を減算してノッキング制御するノッキング制
御方法において、前記学習遅角量の値として前回算出さ
れた学習遅角量に対する変化量が所定値以下となる値を
用いて、変化量が所定値を越えない学習遅角量によって
ノッキングを制御するようにしたものである。
In order to achieve the above object, the present invention provides a knocking control method that performs knocking control by subtracting the sum of a corrected retard amount and a learned retard amount calculated based on a learning map from a basic ignition advance angle. A value at which the amount of change from the previously calculated learning retardation amount is less than or equal to a predetermined value is used as the value of the learning retardation amount, and knocking is controlled by the learning retardation amount whose amount of change does not exceed the predetermined value. It is something.

上記本発明の構成によれば、学習制御された学習遅角量
が正確に記憶されない場合でも、学習遅角量を除々に減
少させた値によりノッキング制御されるため、点火時期
が急激に進角されることな(ノッキングの発生が低減さ
れるという特有の効果が得られる。
According to the configuration of the present invention, even if the learned retard amount that has been subjected to learning control is not stored accurately, the knocking control is performed using a value that gradually decreases the learned retard amount, so that the ignition timing is rapidly advanced. A unique effect is obtained in that the occurrence of knocking is reduced.

ここで、学習遅角量の算出は、所定クランク角毎または
所定時間毎に行なうことが好ましい。また、第4図に示
すように基本点火進角θBABKすなわちM B T 
(Minimum 8park Advance Fo
r Be5tT Orq Ltりは、エンジン回転数に
応じて曲線CIのように変化し、空気が湿っている場合
等のノッキングが発生しにくいときの微小ノッキング発
生点火時期は曲線C1のようになり、また空気が乾燥し
ている場合等のノッキングが発生し易いときの微小ノッ
キング発生点火時期は曲線c3のようになり、エンジン
回転数や環境条件によって微小ノッキング発生点火時期
が異っている。従って、本発明の上記構成においては、
エンジン回転数や環境条件が変化しても常に同一のノッ
キング制御を行なうため、補正遅角量が所定範囲の値に
なるように学習遅角量を学習制御することが好ましい。
Here, it is preferable to calculate the learning retardation amount at every predetermined crank angle or every predetermined time. Moreover, as shown in FIG. 4, the basic ignition advance angle θBABK, that is, M B T
(Minimum 8park Advance Fo
r Be5tT Orq Lt changes as shown by curve CI depending on the engine speed, and the ignition timing at which slight knocking occurs when knocking is difficult to occur, such as when the air is humid, changes as shown in curve C1, and 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 always perform the same knocking control even if the engine speed and environmental conditions change, it is preferable to perform learning control on the learning retardation amount so that the corrected retardation amount falls within a predetermined range.

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

エアフローメータ2の下流側には、スロットル弁6が配
置され、スロットル弁6の下流側には、サージタンク8
が設けられている。このサージタンク8には、インテー
クマニホールド10が連結されており、このインテーク
マ二ホール)”10内に突出して燃料噴射弁12が配置
されている。インテークマニホールドIOは、エンジン
本体14の燃焼室14AGC接続され、エンジンの燃焼
室14Aはエキゾーストマニホールド16を介して三元
触媒を充填した触媒コンバータ(図示せず)に接続され
ている。そして、エンジン本体14には、マイクロホン
等で構成された、エンジンの振動を検出するノッキング
センサ!8が設けられている。
A throttle valve 6 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 10 is connected to the surge tank 8, and a fuel injection valve 12 is disposed protruding into the intake manifold 10.The intake manifold IO is connected to the combustion chamber 14AGC of the engine body 14. The combustion chamber 14A of the engine is connected to a catalytic converter (not shown) filled with a three-way catalyst via an exhaust manifold 16. A knocking sensor!8 is provided to detect the vibration of the engine.

なお、20は点火グラブ、22は混合気を理論空燃比近
傍に制御するための0□センサ、24はエンジン冷却水
温を検出する冷却水温センナである。
Note that 20 is an ignition glove, 22 is a 0□ sensor for controlling the air-fuel mixture to near the stoichiometric air-fuel ratio, and 24 is a cooling water temperature sensor for detecting the engine cooling water temperature.

エンジン本体14の点火プラグ2oは、ディストリビュ
ータ26に接続され、ディストリビュータ26はイグナ
イタ28に接続されている。このディストリビュータ2
6には、ピックアップとディストリビュータシャフトに
固定されたシグナルロータとで構成された、気筒判別セ
ンサ30およびエンジン回転角センサ32が設けられて
いる。
The spark plug 2o 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 pickup and a signal rotor fixed to a distributor shaft.

この気筒判別センサ3oは、例えばクランク角720度
毎に気筒判別信号をマイクロコンピュータ等で構成され
た電子制御回路34へ出方し、このエンジン回転角セン
サ32は、例えばクランク角30度毎にクランク角基準
位置信号を電子制御回路33へ出方する。
This cylinder discrimination sensor 3o outputs a cylinder discrimination signal to an electronic control circuit 34 made up of 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. An angular reference position signal is output to the electronic control circuit 33.

電子制御回路34は、第6図に示すように、ランダム・
アクセス・メモリ(RAM)36と、リード・オンリー
・メモリ(ROM ) 38と、中央処理装置(CPU
)40と、クロック(cLocK)41と、wJlの人
出カボート42と、第2の入出力ボート44と、第1の
出力ボート46と、第2の出力ボート48とを含んで構
成され、RAM36、ROM38、CPU40、CLO
CK41、第1の入出カポ−) 42 、a 20入出
力ボート44、第1の出力ボート46および第2の出力
ボート48は、バス50により接続されている。mlの
入出力ボート42には、バッファ(図示せず)、マルチ
プレクサ54、アナログ−デジタル(A/D)変換器5
6を介して、エアフローメータ2、冷却水温センサ24
および吸気温センサ4等が接続されている。このマルチ
プレクサ54およびA / D変換器56は、第1の入
出力ボート42から出力される信号により制御される。
The electronic control circuit 34, as shown in FIG.
Access memory (RAM) 36, read-only memory (ROM) 38, and central processing unit (CPU)
) 40, a clock (cLocK) 41, a wJl output port 42, a second input/output port 44, a first output port 46, and a second output port 48. , ROM38, CPU40, CLO
CK41, first input/output capo) 42, a20 input/output boat 44, first output boat 46, and second output boat 48 are connected by a bus 50. The ml input/output port 42 includes a buffer (not shown), a multiplexer 54, and an analog-to-digital (A/D) converter 5.
6, air flow meter 2, cooling water temperature sensor 24
and an intake air temperature sensor 4, etc. are connected. This multiplexer 54 and A/D converter 56 are controlled by a signal output from the first input/output port 42.

第2の入出力ボート44 ニハ1.<ソファ(図示せず
)およびコンパレータ62を介して0.セ/す22が接
続され、波形整形回路64を介して気筒判別センサ3o
およびエンジン回転角センサ32が接続されている。
Second input/output boat 44 Niha1. <0.0 through the sofa (not shown) and the comparator 62. cylinder discrimination sensor 3o is connected to cylinder discrimination sensor 3o via waveform shaping circuit 64.
and an engine rotation angle sensor 32 are connected.

また、第2の入出力ボート44には、バンドパスフィル
タ60、ピークホールド回路61、チャンネル切換回路
66およびA / D変換器68を介してノッキングセ
ンサ18が接続されている。このバンドパスフィルタは
積分回路63を介してチャンネル切換回路61)PC接
続されている。このチャンネル切換回路66罠は、ピー
クホールド回路61の出力と積分回路63の出方とのい
ずれか一方をA/Dv換器68に入力するための第2の
人出カボート44から出力される制御信号が入力されて
おり、ピークホールド回路61には第2の入出力ボート
44からリセット信号が入力されている。
Further, the knocking sensor 18 is connected to the second input/output port 44 via a bandpass 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 61) via an integrating circuit 63. This channel switching circuit 66 trap is a control output from the second output converter 44 for inputting either the output of the peak hold circuit 61 or the output of the integrating circuit 63 to the A/Dv converter 68. A signal is input to the peak hold circuit 61, and a reset signal is input from the second input/output port 44 to the peak hold circuit 61.

また、第1の出方ボート46は駆動回路7oを介してイ
グナイメ28に接続され、第2の出力ボート48は駆動
回路72を介して燃料噴射$4112に接続されている
Further, the first output boat 46 is connected to the ignite 28 via the drive circuit 7o, and the second output boat 48 is connected to the fuel injection port 4112 via the drive circuit 72.

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

次に、上記のようなエンジンに本発明を適用した場合の
実施例について詳細に説明する。なお、本発明の詳細な
説明するにあたって、燃料噴射制御、空燃比制御、点火
時期制御のメイン゛ルーチン等については従来と同様で
あるので説明を省略し、本発明に関連するノッキング制
御のルーチンのみについて説明する9、 第7図は、マ、イクロ:・ンピュータを用いて本発明を
実施する場合の30℃A毎の割込みルーチンを示す。ま
ず、ステップ81においてエンジン回転角センサ32か
らの信号に基いて回転時間からエンジン回転数Nを求め
、ステップ82において気筒判別センサ30から気筒判
別信号が入力されてから何番目の割込みかを数えて現在
のクランク角を示すフラグを立てる。次に、ステップ8
3において、ステップ82で立てたフラグが上死点(T
DC)のフラグであるか否かを判断する。現在上死点で
ない場合にはステップ88へ進み、現在上死点である場
合にはステップ84においてノックゲートが閉じている
か否かを判断する。ノックゲートが開いているときはス
テップ85においてノックゲートを閉じ、ノックゲート
が閉じているときはステップ86においてチャンネル切
換回路66を切換えて、ノッキングセンサ18から出力
されるエンジン振動信号をバンドパスフィルタ60、積
分回路63およびチャンネル切換回路66を介してA/
D変換器68に入力し、エンジン振動の平均値すなわち
バックグラウンドレベルのA / D変換を開始する。
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. Figure 7 shows an interrupt routine every 30°C when the present invention is implemented using a computer. First, in step 81, the engine rotation speed N is calculated from the rotation time based on the signal from the engine rotation angle sensor 32, and in step 82, the number of interruptions after the cylinder discrimination signal is input from the cylinder discrimination sensor 30 is counted. Sets a flag indicating the current crank angle. Next, step 8
3, the flag set in step 82 is at top dead center (T
DC) flag. 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 passed through the band pass filter 60. , through the integrating circuit 63 and channel switching circuit 66.
input to the D converter 68 and begin A/D conversion of the average value of engine vibration, ie, the background level.

続いて、ステップ87においてノックゲートの閉時側t
1、すなわち次にノックゲートを閉じる時刻を算出して
時刻一致割込みAをセットする。
Subsequently, in step 87, the knock gate is turned to the closing side t.
1, that is, calculate the next time to close the knock gate and set the time coincidence interrupt A.

次に、ステップ88においてステップ82で立てたフラ
グを基にクランク角が90℃ABTDC(上死点前)に
なったか否かを判断する。クランク角が90℃ABTD
Cでないときはステップ91へ進み、90℃ABTDC
のときはステップ89において補正遅角量θにの更新を
すると共に点火時期の計算処理を行なう(この詳細につ
いては以下で説明する)。ステップ90では、ステップ
89で計算した点火時期と現在の時刻とによりイグナイ
タ28をオンさせる時刻を求めて時刻一致割込みBをセ
ットすると共に、イグナイタオンのフラグを立てる。そ
して、ステップ91にお〜1てクランク角が60℃AB
TDCになったか否かを判断し、60’CABTDCで
ない場合にはメインルーチンへリターンし、60℃AB
TDCである場合にはステップ92においてイグナイタ
のオフ時刻を計算して時刻一致割込みBをセットし、ス
テップ90で立てたイグナイタオンのフラグをおろす。
Next, in step 88, it is determined based on the flag set in step 82 whether the crank angle has reached 90 degrees ABTDC (before top dead center). Crank angle is 90 degrees ABTD
If it is not C, proceed to step 91 and set the temperature to 90℃ABTDC.
In this case, in step 89, the corrected retard amount θ is updated and the ignition timing is calculated (details of this will be explained below). In step 90, the time to turn on the igniter 28 is determined based on the ignition timing calculated in step 89 and the current time, and a time coincidence interrupt B is set, and an igniter-on flag is set. Then, in step 91~1, the crank angle is 60℃ AB.
Determine whether TDC has been reached, and if it is not 60'CABTDC, return to the main routine and return to 60'CABTDC.
If it is TDC, the igniter off time is calculated in step 92, a time coincidence interrupt B is set, and the igniter on flag set in step 90 is removed.

次に第8図に示す時刻一致割込みAについて説明する。Next, the time coincidence interrupt A shown in FIG. 8 will be explained.

この割込みルーチンは、エンジン振動のピーク値を求め
るものであり、第7図のステップ87でセットした時刻
になると割込みが行なわれ、ステップ93においてピー
・クホールド回路61に保持されたピーク値をチャンネ
ル切換回路66を介してA / D変換器68に入力し
てピークホールド値のA/D変換を開始してメインルー
チンへリターンする。
This interrupt routine is for finding the peak value of engine vibration, and when the time set in step 87 in FIG. The peak hold value is input to the A/D converter 68 via the circuit 66 to start A/D conversion of the peak hold value, and the process returns to the main routine.

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

第1θ図は、A/D変換完了割込みルーチンを示スもの
であり、バックグラウンドレベルのA/D変換およびピ
ークホールド値のA / D変換が完了したときにこの
割込みが行なわれる。まず、ステップ97において現在
ノックゲートが開いているか否かを判断する。ノックゲ
ートが閉じているときには、ステップ98において第7
図のステップ86で変換したA/D変換値をRAM 3
6のメモリに記憶してバックグラウンドレベルbとし、
ステップ99においてノックゲートを開いてメインルー
チンへリターンする。一方、ノックゲートが開いている
とぎには、第7図のステップ93で変換したA / D
変換値をRAM36のメモリに記憶してピーク値aとし
、ステップ゛101においてノックゲートを閉じてメイ
ンルーチンへリターンスる。
FIG. 1θ shows an A/D conversion completion interrupt routine, and this interrupt is performed when the A/D conversion of the background level and the A/D conversion of the peak hold value are completed. First, in step 97, it is determined whether the knock gate is currently open. When the knock gate is closed, the seventh
The A/D conversion value converted in step 86 in the figure is stored in RAM 3.
6 memory and set it as background level b,
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, the A/D converted in step 93 of FIG.
The converted value is stored in the memory of the RAM 36 as the peak value a, and in step 101 the knock gate is closed and the process returns to the main routine.

第11図は、ノッキングが発生していないときの時間と
学習制御する時間とをカウントするための所定時間(例
えば4 m5ec )毎に行なわれる割込みルーチンを
示すものである。まず、ステップ102においてノッキ
ングが発生しないときの時間を求めるカウンタT工MB
1のカウント値を1増加させ、ステップtOaにおいて
学習制御する時間を求めるカウンタT工MB20カウン
ト値を1増加させる。次のステップ104において、カ
ウンタTIMEIのカウント値が12(48msec)
以下になっているか否かを判断する。カウント値が12
を越えているときにはステップ105においてカウンタ
T工MB1のカウント値を12とし、カウント値が12
以下のときにはステップ106におい【カウンタTIM
E20カウント値が12以下になっているか否かを判断
する。ここで、カウント値が12を越えているときには
ステップ107においてカウンタTlMB2のカウント
値を12としてメインルーチンへリターンし、カウント
値が12以下のときにはメインルーテンへリターンする
FIG. 11 shows an interrupt routine that is performed every predetermined time (for example, 4 m5ec) for counting the time when no knocking occurs and the time for learning control. First, in step 102, a counter MB is used to calculate the time when knocking does not occur.
1 is incremented by 1, and in step tOa, the count value of counter MB20, which calculates the learning control time, is incremented by 1. In the next step 104, the count value of the counter TIMEI is 12 (48 msec).
Determine whether the following is true. Count value is 12
If the count value exceeds 12, the count value of the counter MB1 is set to 12 in step 105.
In the following cases, go to step 106 [Counter TIM
It is determined whether the E20 count value is 12 or less. Here, if the count value exceeds 12, the count value of the counter TlMB2 is set to 12 in step 107 and the process returns to the main routine, and if the count value is 12 or less, the process returns to the main routine.

次に第7図のステップ89の詳細なルーチンを第12図
に基いて説明する。第7図のステップ88でクランク角
が90℃ABTDCになったと判断されると、ステップ
122において負荷Q / Nが0.6(1/rev 
)以上か否か、すなわちノッキング制御領域か否かを判
断する。負荷が0・6〔)/rev〕未満のとき、すな
わちノッキング非制御領域のときは、ステップ123に
おいて基本点火進角θBA8gを点火進角θ1gとし、
ノッキング制御領域のときはステップ108において、
第1O図のステップ100で記憶されたピーク値aと、
第1θ図のステップ98で記憶されたバックグラウンド
レベルbに定数Kを乗算した値に−bとを比較する。ピ
ーク値aが値に、bを越えているときにはノッキングが
発生したと判断して、ステップ110において補正遅角
量θKを所定角(例えば0.4℃A)増加させ、ステッ
プ112においてノッキングが発生しない時間をカウン
トするカウンタTIMEIのカウント値をクリアする。
Next, the detailed routine of step 89 in FIG. 7 will be explained based on FIG. 12. When it is determined in step 88 of FIG. 7 that the crank angle has reached 90 degrees ABTDC, the load Q/N is changed to 0.6 (1/rev
), that is, whether or not it is in the knocking control region. When the load is less than 0.6 [)/rev], that is, in the knocking non-control region, in step 123, the basic ignition advance angle θBA8g is set to the ignition advance angle θ1g,
When in the knocking control region, in step 108,
the peak value a stored in step 100 of FIG.
A value obtained by multiplying the background level b stored in step 98 of FIG. 1θ by a constant K is compared with −b. When the peak value a exceeds the value b, it is determined that knocking has occurred, and in step 110, the corrected retardation amount θK is increased by a predetermined angle (for example, 0.4° C.A.), and in step 112, knocking has occurred. Clear the count value of the counter TIMEI, which counts the time when no operation occurs.

一方、ピーク値aが値x−b以下のときにはノッキング
が発生しないと判断して、ステップ109においてカラ
/りT工Mllのカウント値が所定値(12)以上にな
っているか否かを判断し、カウント値が所定値以上にな
り、ているときにはノッキングの発生しない状態が所定
時間経続していることからステップ111において補正
遅角量θKを所定角(例えば0.08℃A)減少させた
後、ステップ112でカウンタTIMF11をクリアす
る。また、ステップ109においてカウント値が所定値
未満であるときには、ステップ113へ進む。ステップ
113では、上記のようにして求められた補正遅角量θ
にと学習マツプから2次元補間法により求められる学習
遅角量θKGとによって前述した(1)式に示すように
基本点火進角θBA8Kを補正し、実際にイグナイタを
制御する点火進角01gを算出する。
On the other hand, when the peak value a is less than or equal to the value x-b, it is determined that knocking does not occur, and in step 109 it is determined whether the count value of the color/return T-engine Mll is greater than or equal to a predetermined value (12). , when the count value is greater than or equal to a predetermined value, it means that a state in which no knocking occurs has continued for a predetermined period of time, so in step 111, the correction retard amount θK is decreased by a predetermined angle (for example, 0.08° C.A.). After that, in step 112, the counter TIMF11 is cleared. Further, if the count value is less than the predetermined value in step 109, the process proceeds to step 113. In step 113, the corrected retard amount θ obtained as described above is
The basic ignition advance angle θBA8K is corrected as shown in equation (1) above using the learning retardation amount θKG obtained by two-dimensional interpolation from the learning map, and the ignition advance angle 01g that actually controls the igniter is calculated. do.

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

まず、ステップ124において負荷Q / Nが0.6
 (1/rev )以上か否か、すなわちノッキング制
御領域か否かを判断する。ノッキング制御領域でないと
きはそのままメインルーテンへ進み、ノッキング制御領
域であるとぎはステラl114においてエンジン回転数
Nと負荷Q/Nとで定まる現在のエンジン条件を示す点
を囲む4点のRAMの番地を学習マツダ上に求める。次
にステップttSにおいて、求めた4点のRAMの番地
に記憶されているデータ、すなわち4点のRAMの番地
に記憶されている学習遅角量を基に2次元補間法(2次
元補間法のルーチンは後で説明する)により、現在のエ
ンジン条件を示す点の学習遅角量θKGを算出し、算出
した値をRAMの所定場所に記憶する。ステップ116
では、第11図のステップ103でカウントした学習制
御する時間を求めるためのカウンタ’I’IME20カ
ウント値カー所定値(例えば12)以上か否かを判断す
る。カウント値が所定値未満である場合にはメインルー
チンへリターンし、カウント値が所定値以上の場合には
ステップ117でカウンタT工MFlt2のカウント値
をクリアした後、第12図のステップ110および11
1で更新された補正遅角量θKが第1の所定クランク角
(例えば2℃A)以上である力)否かをステップ118
で判断する。
First, in step 124, the load Q/N is 0.6
(1/rev) or more, that is, whether or not it is in the knocking control region. If it is not in the knocking control area, proceed directly to the main routine, and if it is in the knocking control area, enter the RAM addresses of the four points surrounding the point indicating the current engine condition determined by engine speed N and load Q/N in Stella l114. Ask on learning Mazda. Next, in step ttS, a two-dimensional interpolation method (two-dimensional interpolation method (The routine will be explained later) calculates the learning retardation amount θKG at the point indicating the current engine condition, and stores the calculated value in a predetermined location in the RAM. Step 116
Then, it is determined whether the counter 'I'IME20 count value counted in step 103 of FIG. 11 for determining the learning control time is equal to or greater than a predetermined value (for example, 12). If the count value is less than a 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 MFlt2 is cleared in step 117, and then steps 110 and 11 in FIG.
Step 118
Judge by.

ステップ118で補正遅角量θKが第1の所定クランク
角未満であると判断された場合には、ステップ121に
おいて現在のエンジン条件を示す、 点を囲む学習マツ
プ上の4点に記憶されて(・る学習遅角量の各々から、
所定クランク角(例えば0・04℃A)減算する学習制
御を行ない、メインルーチンへリターンする。この結果
、補正遅角量θKが第1の所定クランク角未満であると
きには学習マツプの学習遅角量が小さくなるように学習
制御され、学習遅角量によって点火時期が進むように制
御される。一方、ステップ118で補正遅角量θKが第
1の所定クランク角以上であると判断された場合には、
ステップ119において補正遅角量θKが第1の所定ク
ランク角より大きい値の第2の所定クランク角(例えば
4℃A)未満であるか否かを判断する。ステップ1t9
において補正遅角量θKが11の所定クランク角未満で
あると判断された場合、すなわち補正遅角量θKが以下
の条件を満足する場合には、 学習制御せずにメインルーチンへリターンスル。
If it is determined in step 118 that the corrected retardation amount θK is less than the first predetermined crank angle, then in step 121 the corrected retardation amount θK is stored at four points on the learning map surrounding the points indicating the current engine condition.・From each learning delay amount,
Learning control is performed to subtract a predetermined crank angle (for example, 0.04°C A), and the process returns to the main routine. As a result, when the corrected retard amount θK is less than the first predetermined crank angle, learning control is performed so that the learning retard amount of the learning map becomes smaller, and the ignition timing is controlled to advance by the learned retard amount. On the other hand, if it is determined in step 118 that the corrected retardation amount θK is equal to or greater than the first predetermined crank angle,
In step 119, it is determined whether the corrected retardation amount θK is less than a second predetermined crank angle (for example, 4° C.A.) that is larger than the first predetermined crank angle. Step 1t9
If it is determined that the corrected retard amount θK is less than the 11 predetermined crank angle, that is, if the corrected retard amount θK satisfies the following conditions, return to the main routine without learning control.

この結果、補正遅角量θKが所定範囲の値をとるときは
学習制御されぜ、学習遅角量によっては点火時期が変更
されない。なお、補正遅角量が所定範囲の値をとるとき
においても、必要に応じて学習制御するようにしてもよ
い。ステップ119において補正遅角量θKが第2の所
定クランク角以上と判断された場合には、ステップ12
0において現在のエンジン条件を示す点を囲む学習マツ
y上の4点に記憶されている学習遅角量の各々に、所定
クランク角(例えば0.04℃A)加算する学習制御を
行ない、メインルーチンへリターンする。
As a result, when the corrected retard amount θK takes a value within a predetermined range, learning control is 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 Return to routine.

この結果、補正遅角量θKが第2の所定クランク角以上
であるときには学習マツダの学習遅角量が太き(なるよ
うに学習制御され、学習遅角量によって点火時期が遅れ
るように制御される。
As a result, when the corrected retardation amount θK is equal to or greater than the second predetermined crank angle, learning control is performed such that the learning retardation amount of the learning Mazda becomes thicker, and the ignition timing is controlled to be delayed by the learned retardation amount. Ru.

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

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

第14図は、第13図ステップ11502次元補間法の
詳細なルーテ/を示すものである。この2次元補間ルー
チンにおい【、学習マツダとして第1図に示したマツダ
を使用し、現在のエンジン条件を示す4点のRAMの番
地を第2図に示すようにn、n+1、n+6、n+7と
する。まず、ステップ130において、現在の負荷Q 
/ Nが学習マツダ上の負荷の上限値すなわち1−2 
[ij/rev]以下であるか否かを判断する。負荷が
1.2(7/rev )を越えている場合にはステップ
131でレジスタnに1.2を記憶し、負荷が1.2 
(ll / rev)以下である場合にはステップ13
4で現在の負荷Q / Nの値をレジスタnに記憶する
。ステップ135では、現在のエンジン回転数Nが学習
マツダ上のエンジン回転数の上限値すなわち6000(
rpm)以下であるか否かを判断する。エンジン回転数
が6ooo(rpm:]を越えている場合にはステップ
136でレジスタmに6000を記憶し、エンジン回転
数が60.00(rl)m)以下である場合にはステッ
プ137で現在のエンジン回転数Nの値をレジスタmに
記憶する。ステップ138では、レジスタnの値が学習
マツプ上の負荷の下限値すなわち0.6 (1/rev
 )以上であるか否かを判断し、レジスタnの値が0.
6未満であるときにはステップ139においてレジスタ
nの値を0.6とし、レジスタnの値が0.6以上であ
るときにはステップ140に進む。そしてステップ14
0では、レジスタmの値が学習マツプ上のエンジン回転
数の下限値すなわちtooo(rpm〕以上であるか否
かを判断し、レジスタmの値が1000未満であるとき
にはステップ141においてレジスタmの値を1000
とし、レジスタmの値がl000以上であるトキには次
のステップ142に進む。以上の結果、現在のエンジン
回転数Nおよび負荷Q / Nが学習マツプ上の値であ
るときにはその値がレジスタmおよびnに各々記憶され
、現在のエンジン回転数Nおよび負荷Q、 / Nが学
習マツダの上下限値を越えているときには上下限値がレ
ジスタmおよびnに各々記憶される。
FIG. 14 shows a detailed route of the two-dimensional interpolation method in step 1150 of FIG. 13. In this two-dimensional interpolation routine, the Mazda shown in Figure 1 is used as the learning Mazda, and the four RAM addresses representing the current engine conditions are set to n, n+1, n+6, and n+7 as shown in Figure 2. do. First, in step 130, the current load Q
/ N is the upper limit of the load on the learning Mazda i.e. 1-2
It is determined whether it is less than or equal to [ij/rev]. If the load exceeds 1.2 (7/rev), 1.2 is stored in register n in step 131, and the load exceeds 1.2.
If it is less than (ll/rev), step 13
4, store the current load Q/N value in register n. In step 135, the current engine speed N is determined to be the upper limit of the engine speed on the learning Mazda, that is, 6000 (
rpm) or less. If the engine speed exceeds 6ooo (rpm:), 6000 is stored in register m in step 136, and if the engine speed is below 60.00 (rl) m), the current value is stored in step 137. Store the value of engine rotation speed N in register m. In step 138, the value of register n is set to the lower limit of the load on the learning map, that is, 0.6 (1/rev
) or more, and if the value of register n is 0.
If the value is less than 6, the value of register n is set to 0.6 in step 139, and if the value of register n is 0.6 or more, the process proceeds to step 140. And step 14
0, it is determined whether the value of register m is equal to or greater than the lower limit value of engine rotation speed on the learning map, that is, too (rpm), and if the value of register m is less than 1000, the value of register m is changed in step 141. 1000
If the value of the 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, those values are stored in registers m and n, respectively, and the current engine speed N and load Q,/N are learned. When the upper and lower limits of Mazda are exceeded, the upper and lower limits are stored in registers m and n, respectively.

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

まず、ステップ142においてレジスタnの値から0番
地の負荷の値0.6 (7/rev)を減算した値をレ
ジスタnに記憶させる。次に、ステップ143において
レジスタnの値を負荷の目盛り間隔である0、2 (7
3/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 (7/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 set to the load scale interval of 0, 2 (7
3/rev) and store the integer part of the quotient in register n.
and store the remainder of the quotient 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. Also,
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 sequence of addresses, e.g. 0 to 5).
The first column is the address sequence).

そして、ステップ144においてレジスタyの値を更に
0−2 (//rev )で除算しておく。従って、最
終的にレジスタyには前述した(6)式のy / Yに
対応した値が記憶されている。
Then, in step 144, the value of register y is further divided by 0-2 (//rev). Therefore, the value corresponding to y/Y in the above-mentioned equation (6) is finally stored in register y.

ステップ145において、前述と同様にレジスタmの値
から0番地のエンジン回転数の値101000(rpを
減算した値をレジスタmに記憶させる。
In step 145, the value obtained by subtracting the engine rotational speed value 101000 (rp) at address 0 from the value of register m is stored in register m, as described above.

次に、ステップ146におい【レジスタmの値をエンジ
ン回転数の目盛り間隔であるlooo(rpm)で除算
し、その商の整数部をレジスタmに記憶させると共に商
の余りをレジスタXに記憶させる。
Next, in step 146, the value in register m is divided by looo (rpm), which is the scale interval of the engine rotational speed, and the integer part of the quotient is stored in register m, and the remainder of the quotient is stored in register X.

このレジスタXの値は、第2図のn番地から現在のエン
ジン条件を示す点までのエンジン回転数の値Xに等しい
。また、レジスタmに記憶された商の整数部は、現在の
エンジン条件を示す点に最も近(かつ現在のエンジン条
件を示す点以下の番地の行(番地の縦方向の並び、例え
ば0,6.12.18番地の並びを第1行とする)の室
番な示している。そして、ステップ147においてレジ
スタXの値を更に1000[rpm]で除算しておく。
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 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. 0, 6 .12.18 is the first line).Then, in step 147, the value of register X is further divided by 1000 [rpm].

従って、最終的にレジスタXには前述した(4)、(5
)式のx / Xに対応した値が記憶されている。
Therefore, in the end, register
) The value corresponding to x/X in the equation 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−1)を読出してレジスタB罠記憶させ、
n+6番地に記憶されている学習遅角量θxc(n+6
)を読出してレジスタCに記憶させ、そしてn+7番地
に記憶されている学習遅角量θxG(n+7)を読出し
てレジスタDに記憶させる。絖いて、ステップtStに
おいてレジスタAの値からレジスタBの値を減算してレ
ジスタXの値を乗算し、更にその値にレジスタAの値を
加算してレジスタEに記憶させる。また、ステップ15
2においてレジスタCの値からレジスタDの値を減算シ
テレシスタXの値を乗算し、更にその値にレジスタCの
値を加算してレジスタF14記憶させる。
In step 150, the learning retard amount θKGn stored at address n on the learning Mazda is read out from the register A.
The learning retardation amount θ stored at address n+1
Read KG (n-1-1) and store it in register B trap,
Learning retardation amount θxc(n+6
) is read out and stored in register C, and the learning retard amount θxG(n+7) stored at address n+7 is read out and stored in register D. In step tSt, 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 the value, and the result is stored in register E. Also, step 15
2, the value of register D is subtracted from the value of register C, the value of register X is multiplied, and the value of register C is added to this value, and the result is stored in register F14.

そして最後にステップ153において、レジスタ凡の値
からレジスタFの値を減算してレジスタyの値を乗算し
、更にその値にレジスタEの値を加算して、現在のエン
ジン条件を示す点の学習遅角量θKGとする。
Finally, in step 153, the value of register F is subtracted from the value of register y, 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.

次に、第13図のステツノ118〜ステツグ121の詳
細なルーテンを第15図に示す。なお、第15図におけ
るレジスタnは第14図の2次元補間ルーテンのレジス
タnを用いる。まス、ステップttSにおいて、前記と
同様に補正遅角量θKが2℃A以上であるか否かを判断
する。補正遅角量θK カ2℃A未満であるときにはス
テップ160において学習値αを一〇、o4℃Aとして
ステップ162へ進む。補正遅角量θKが2℃八以上の
場合には、ステップ119において補正遅角量θKが4
℃八以上であるか否かを判断する。補正遅角量θKが4
℃八未満である場合はメインルーチンへリターンし、補
正遅角t0Kが4℃八以上の場合にはステップ161に
おいて学習値αを0・o4’CAとしてステップ162
へ進む。ステップ162では負荷Q/Nが学習マツプの
下限値0.6 [71/rev]以上であるか否かを判
断する。負荷が0.6以上である場合にはステップ16
6においてエンジン回転数Nが学習マツダの下限値xo
′oo(rpm)以上であるか否かを判断し、負荷が0
.6未満である場合にはステップ163において一エン
ジン回転数Nが1000[rpm]以下であるか否かを
判断する。
Next, FIG. 15 shows a detailed routine of the steps 118 to 121 shown in FIG. 13. Note that the register n in FIG. 15 is the register n of the two-dimensional interpolation routine in FIG. 14. First, in step ttS, it is determined whether the corrected retard amount θK is 2° C.A or more in the same manner as described above. If the corrected retardation amount θK is less than 2°C A, the learned value α is set to 10, o4°C A in step 160, and the process proceeds to step 162. If the corrected retard amount θK is 2°C or more, in step 119 the corrected retard amount θK is set to 4.
Determine whether the temperature is ℃8 or higher. The correction retard amount θK is 4
If the corrected retard angle t0K is less than 4°C, the process returns to the main routine, and if the corrected retard angle t0K is 4°C or more, the learned value α is set to 0.o4'CA in step 161, and step 162
Proceed to. In step 162, it is determined whether the load Q/N is greater than or equal to the lower limit value of the learning map, 0.6 [71/rev]. If the load is 0.6 or more, step 16
At 6, the engine speed N is the learning Mazda lower limit xo
'oo (rpm) or more is determined, and the load is 0.
.. If it is less than 6, it is determined in step 163 whether the engine speed N is 1000 [rpm] or less.

ステラ1166においてエンジン回転数Nがxooo(
rpm:1未満と判断された場合には、ステップ167
においてn番地における前回学習された学習遅角量θK
GHに学習値αが加算される学習制御が行なわれ、ステ
ップ168においてn+を番地における前回学習された
学習遅角量θKG(n+1)に学習値αが加算される学
習制御が行なわれ、メインルーチンへリターンされる。
In Stella 1166, the engine speed N is xooo(
If it is determined that rpm: is less than 1, step 167
The previously learned learning delay angle θK at address n in
A learning control is performed in which a learning value α is added to GH, and in step 168 a learning control is performed in which a learning value α is added to the previously learned learning retard amount θKG (n+1) at address n+. will be returned to.

ここで、上記のように現在のエンジン回転数Nおよび負
荷Q、 / NがQ / N22.6 (71/ re
v )かつN<1ooo(rpm)の領域に存在する場
合には、RAMの番地を示すレジスタnの値は第1行の
0.6.12.18を取り得るので、現在のエンジン条
件を示す点が上記の領域に存在する場合に、ステップ1
67で0.6.12.18番地の学習遅角量が学習制御
され、ステップ168で1.7.13.19番地の学習
遅角量が学習制御される。
Here, as mentioned above, the current engine speed N and load Q,/N are Q/N22.6 (71/re
v ) and N<1ooo (rpm), the value of register n indicating the RAM address can take 0.6.12.18 in the first row, indicating the current engine condition. Step 1 if the point is in the above region
At step 67, the learning retardation amount at address 0.6.12.18 is learning controlled, and at step 168, the learning retardation amount at address 1.7.13.19 is learning controlled.

ステップ166においてエンジン回転数N IJ″−r
ooo(rpm)以上と判断された場合には、ステップ
169においてn番地における前回学習された学習遅角
量θKGに学習値αが力n算される学習制御が行なわれ
る。現在のエンジン条件を示す点がQ/N≧0.6 [
: l/rav :lかつN≧tooo(rpm)の領
域に存在する場合には、RAMの番地を示すレジスタn
の値は0〜23を取り得るので、ステップ169におい
ては全ての番地が学習制御の対象になる。次のステップ
170ではレジスタnの値が23でなりか否かを判断す
る。レジスタnの値が23でない場合には、ステップ1
71.ステップ173、ステップ174において各々レ
ジスタnの値が17でないか否か、Ilでないか否か、
5でないか否かを判断する。このレジスタnの値5.1
1.17.23は、第6行の番地を表わしている。レジ
スタnの値が23であるときは、そのままメインルーチ
ンへリターンする。このときの23番地の学習遅角量は
ステップ169で学習制御されることになる。レジスタ
nの値が17.1115であるときは、ステップ172
においてレジスタnの値を1減少させてステップ178
においてn+7番地の学習遅角量θKG(n+7)に学
習値αを加算する学習制御を行なって、メインルーチン
へリターンする。従って、レジスタnの値カ17.11
,5であるときは、ステップ169で17.11.5番
地の学習遅角量が各々学習制御され、ステップ178に
おいて1列上の23.17.11番地の学習遅角量が各
々学習制御されることになる。
In step 166, the engine speed N IJ''-r
If it is determined that it is equal to or more than ooo (rpm), then in step 169, learning control is performed in which the learned value α is multiplied by the previously learned learning retard amount θKG at address n. The point indicating the current engine condition is Q/N≧0.6 [
: l/rav : If it exists in the area where l and N≧too(rpm), register n indicating the address of RAM.
Since the value of can be 0 to 23, all addresses are subject to learning control in step 169. In the next step 170, it is determined whether the value of register n is 23 or not. If the value of register n is not 23, step 1
71. In steps 173 and 174, whether the value of register n is not 17 or not, and whether it is not Il, respectively;
Determine whether it is not 5 or not. The value of this register n is 5.1
1.17.23 represents the address of the 6th line. 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.1115, step 172
In step 178, the value of register n is decreased by 1.
In this step, learning control is performed to add the learning value α to the learning retard amount θKG (n+7) at address n+7, and the process returns to the main routine. Therefore, the value of register n is 17.11
, 5, the learning retard amounts for addresses 17.11.5 and 23.17.11 in step 178 are respectively learning controlled. That will happen.

レジスタnの値が23.17、Ill 5のいずれでも
ないときは、ステップ175においてn+を番地の学習
遅角量θKG(n+1)に学習値αが加算される学習制
御が行なわれる。すなわち、2次元補間ルーチンのステ
ップ149で求めたRAMの番地が第6行上にないとき
には、ステップ169およびステップl’75において
、2次元補間ルーチンで求めたRAMの番地とこの番地
の右隣りの番地とが学習制御される。ステップ176で
は、レジスタnの値が17未満であるか否かを判断し、
レジスタnの値が17以上である場合にはメインルーチ
ンへリターンする。すなわち、RAMの番地が第4列の
18〜22であるときは、ステップ169およびステッ
プ175においてレジスタnに記憶された番地とその右
隣りの番地とが学習制御される。一方、レジスタnの値
が17未満であるとき、すなわち現在のエンジン条件を
示す点を囲む4つの番地が存在するときは、ステップ1
77でn+6番地の学習遅角量θxc(n−+−s)に
学習値αを加算する学習制御が行なわれ、ステップ17
8でn+7番地の学習遅角量θKG(n+7)に学習値
αを加算する学習制御が行なわれる。この結果、現在の
エンジン条件を示す点を囲む4つの番地が存在するとき
には、ステップ169、ステップ175、ステップ17
7およびステラ1178において上記4つの番地の学習
遅角量が学習制御される。
When the value of the register n is neither 23.17 nor Ill5, learning control is performed in step 175 in which the learning value α is added to the learning delay amount θKG(n+1) of the address n+. That is, if the RAM address obtained in step 149 of the two-dimensional interpolation routine is not on the sixth row, in step 169 and step l'75, the RAM address obtained in the two-dimensional interpolation routine and the address to the right of this address are The address is controlled by learning. In step 176, it is determined whether the value of register n is less than 17;
If the value of register n is 17 or more, the process returns to the main routine. That is, when the RAM address is 18 to 22 in the fourth column, 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, step 1
In step 77, learning control is performed to add the learning value α to the learning delay amount θxc(n−+−s) at address n+6, and 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, if there are four addresses surrounding the point indicating the current engine condition, step 169, step 175, step 17
7 and Stella 1178, the learning retard amounts of the four addresses mentioned above are controlled by learning.

ステップ162で負荷が0.6 (71/rev )未
満と判断された場合にはステップ163でエンジン回転
数がlooo(rpm)以下か否か判断され、エンジン
回転数がsooo(rpm)以下の場合にはステラグ1
65でレジスタnの値から7減算し、ステップ178で
学習制御を行なう。現在のエンジン条件を示す点がQ 
/ N (g、6 (l/rev )かつN≦1100
0(rp〕の領域に存在するときには、レジスタnの値
は0となるため、この場合のステップ178では0番地
の学習遅角量が学習制御されることになる。一方、エン
ジン回転数Nが+000(rpm)を越えているときに
は、ステップ!64においてレジスタnの値が5である
か否かを判断し、5でないときはステップ179に8い
てレジスタnの値から6減算し、ステップ177および
ステップ178においてn+6番地およびn+7番地の
学習遅角量を学習制御する。また、レジスタnの値が5
のときにはステップ180でレジスタnの値から7減算
し、ステップ178において学習制御を行なう。現在の
エンジン条件を示す点がQ / N (g、 e (l
 /rev )かつN>11000(rp:)ノ領域に
存在するときには、レジスタnの値は第1列の番地の値
を取り得るため、レジスタnの値が5のときはステップ
17Bで5番地の学習遅角量が学習制御され、レジスタ
nの値が0,1,2.3.4のときはステップ゛177
およびステップ178においてレジスタnの値の番地と
その右隣りの番地の学習遅角量が学習制御される。
If the load is determined to be less than 0.6 (71/rev) in step 162, it is determined in step 163 whether the engine speed is below looo (rpm), and if the engine speed is below sooo (rpm) Stellag 1 for
At step 65, 7 is subtracted from the value of register n, and at step 178, learning control is performed. The point indicating the current engine condition is Q
/ N (g, 6 (l/rev) and N≦1100
0 (rp), the value of register n is 0, so in step 178 in this case, the learning retard amount at address 0 is controlled by learning.On the other hand, when the engine speed N is If it exceeds +000 (rpm), it is determined in step 64 whether the value of register n is 5 or not. If it is not 5, 8 is subtracted from the value of register n in step 179, and 6 is subtracted from the value of register n, and step 177 and In step 178, the learning delay amount at addresses n+6 and n+7 is controlled by learning.Also, the value of register n is 5.
If so, 7 is subtracted from the value of register n in step 180, and learning control is performed in step 178. The point indicating the current engine condition is Q / N (g, e (l
/rev) and N>11000(rp:), the value of register n can take the value of the address in the first column. Therefore, when the value of register n is 5, the value of address 5 is set in step 17B. When the learning delay amount is under learning control and the value of register n is 0, 1, 2, 3, 4, step 177
In step 178, 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.

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

表 また、第16図に時間経過に対する補正遅角量θに1学
習遅角量θKG、点火時期θigの変動を示す。図から
理解されるように、補正遅角量θKが所定範囲の値のと
きには学習遅角量θKGは一定であり、補正遅角量θK
が所定範囲を越えたときには学習遅角量θKGが増加し
、補正遅角量θKが所定範囲未満のとき減少している。
In addition, FIG. 16 shows the changes in the corrected retard amount θ, the learned retard amount θKG, and the ignition timing θig over time. As can be understood from the figure, when the corrected retard amount θK is within a predetermined range, the learned retard amount θKG is constant, and the corrected retard amount θK
When θK exceeds a predetermined range, the learned retard amount θKG increases, and when the corrected retard amount θK falls below a predetermined range, it decreases.

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

次に第18図を用いて、算出された学習遅角量が所定値
変化しているか否かを判断するルーチンをメインルーチ
ンの途中から説明する。まず、ステップ182において
前述のステップ124と同様にノッキング制御領域か否
かを判断する。ノッキング制御領域でない場合はメイン
ルーチンへ進み、ノッキング制御領域のときはステップ
183で前回学習遅角量を算出したときから所定クラン
ク角(例えば120℃A)経過したか否かを判断する。
Next, with reference to FIG. 18, a routine for determining whether or not the calculated learning retardation amount has changed by a predetermined value will be described starting from the middle of the main routine. First, in step 182, it is determined whether or not the vehicle is in the knocking control region, similar to step 124 described above. If it is not in the knocking control region, the process proceeds to the main routine, and if it is in the knocking control region, it is determined in step 183 whether a predetermined crank angle (for example, 120° C.A.) has elapsed since the last learning retardation amount was calculated.

所定クランク角経過していないときはステップ189へ
進み、所定クランク角経過したときはステラフ真84お
よびステップ185において、前述と同様に現在のエン
ジン条件を囲む4点を学習マツダ上に求め、求めた4点
のRAMのデータから2次元補間法により新しい学習遅
角量θKGiを算出して、RAMに記憶する。次のステ
ップ”186では、前回算出した学習遅角量θKG、す
なわち第13図のステップ”115で求めた学習遅角量
θKGから所定値(例えば0.3°CA)減算し、その
値を学習遅角量θKGとして記憶する。続(゛てステッ
プ”187において、新しく算出された学習遅角量θK
Giが所定値減算された学習遅角量θKG以上であるか
否かを判断する。θKG)θKGiの条件を満たすとき
はステップ189へ進み、θKG≦θKGiの条件を満
たすときはステップ188において新しい学習遅角量θ
KGiを学習遅角量θKGとして記憶1/、ステップ1
89へ進む。この結果、前回学習遅角量を算出したとき
から今回学習遅角量を算出するまでの間に、学習遅角量
が所定値を越えて変化した場合には前回算出された学習
遅角量から所定値減算された値が記憶され、学習遅角量
の変化量が所定値未満であるときには新しく算出された
学習遅角量が記憶される。そして、これらの学習遅角量
によってノッキングが制御される。第19図は、上記の
ように変更された学習遅角量の変化状態を示す線図であ
る。図の破線は学習マツプの書換えが正確に行なわれな
かった場合の算出学習遅角量を示し、急激に算出学習遅
角量が減少しているためノッキングが多発することにな
る。一方実線で示す本実施例の場合には、学習マツダの
書換えが正確洗室なわれなかった場合に算出学習遅角量
から所定値づつ減算された値がRAMに記憶されるため
、算出学習遅角量が徐々に小さくなりノッキングの多発
が防止される。
If the predetermined crank angle has not elapsed, the process proceeds to step 189, and if the predetermined crank angle has elapsed, then in step 185, four points surrounding the current engine condition are found on the learning Mazda in the same way as described above. A new learning retardation amount θKGi is calculated using the two-dimensional interpolation method from the data of the four points in the RAM, and is stored in the RAM. In the next step "186," a predetermined value (for example, 0.3° CA) is subtracted from the previously calculated learning retard amount θKG, that is, the learning retard amount θKG found in step "115" in FIG. 13, and that value is learned. It is stored as the retard amount θKG. Continuing (in step 187, the newly calculated learning retardation amount θK
It is determined whether Gi is greater than or equal to the learned retard amount θKG from which a predetermined value has been subtracted. θKG) When the condition of θKGi is satisfied, the process proceeds to step 189, and when the condition of θKG≦θKGi is satisfied, the new learning retard amount θ is set in step 188.
Store KGi as learning retardation amount θKG 1/, Step 1
Proceed to 89. As a result, if the learning retard amount changes by more than a predetermined value between when the learning retard amount was calculated last time and when the learning retard amount is calculated this time, the learning retard amount that was calculated last time changes. A value subtracted by a predetermined value is stored, and when the amount of change in the learning retardation amount is less than the predetermined value, a newly calculated learning retardation amount is stored. Then, knocking is controlled by these learning delay angle amounts. FIG. 19 is a diagram showing how the learning retardation amount is changed as described above. The broken line in the figure shows the calculated learning retardation amount when the learning map is not rewritten accurately, and since the calculated learning retardation amount is rapidly decreasing, knocking will occur frequently. On the other hand, in the case of this embodiment shown by the solid line, if the learning Mazda is not rewritten correctly, the calculated learning delay angle amount is subtracted by a predetermined value and is stored in the RAM. The amount of angle gradually decreases to prevent frequent knocking.

次のステップ189〜194は、第13図のステップ1
16〜121と同様に学習マツダに記憶された学習値の
学習制御を行なうものである。
The next steps 189 to 194 are step 1 in FIG.
Similarly to 16 to 121, learning control of learning values stored in the learning Mazda is performed.

以上説明したように本発明の実施例によれば、エンジン
回転数や環境条件が変化しても補正遅角量が所定範囲、
例えば2℃A≦θに≦4℃Aになるように学習遅角量が
進角側または遅角側に学習制御されるため、比較的長い
時間(16sec)かけて進角側に学習制御する必要が
なく、進角側の学習制御の速度な遅角側の学習制御の速
度と同様に速くすることができて点火時期が遅れすぎに
ならず、また、一度学習した値は次に学習されるまで保
持されるためノッキングの発生力を少な(なり、従来の
第3のカウンタのプログラムを省略できるので10グラ
ムが簡単になる、という効果が得られる。
As explained above, according to the embodiments of the present invention, even if the engine speed or environmental conditions change, the corrected retardation amount remains within a predetermined range.
For example, since the learning retard amount is controlled to advance or retard so that 2℃A≦θ and ≦4℃A, it takes a relatively long time (16 seconds) to perform learning control to advance the angle. The learning control speed on the advance side can be made as fast as the learning control speed on the retard side, so the ignition timing will not be too late, and the once learned value will be learned next time. Since it is held until it reaches 100 g, the knocking force is reduced (and the conventional third counter program can be omitted, making it easier to use 10 g).

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

第1図は学習マツプを示す説明図、第2図は現在のエン
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図は学習マツダ”に異常値が書込まれた場合を示す説
明図、第4図はエンジン回転数と点火時期との関係を示
す線図、第5図は本発明が適用されるエンジンを示す概
略図、第6図は第5図の電子制御回路を示すブロック図
、第7図は30℃A毎の割込みルーチンの流れ図、第8
図は時刻一致割込みAの流れ図、第9図は時刻一致割込
みBの流れ図、gto図はA / D完了側込みルーチ
ンの流れ図、第11図は4 m5ec毎の割込みルーチ
ンを示す流れ図、第12図は補正遅角量を更新するルー
チンの流れ図、第13図は学習制御ルーチンの流れ図、
第14図は2次元補間ルーチンの流れ図、第15図は前
記学習ルーチンの詳細を示す流れ図、i16図は時間経
過に対する補正遅角量・学習遅角量・点火時期の変動を
示す線図、第17図は第3図と同様のエンジン回転数と
点火時期との関係・補正遅角量および学習遅角量の関″
 係を示す線図、第18図は算出学習値が所定値変化し
たか否かを判断するルーチンを示す流れ図、第19図は
遅角量の変化を示す押縁図である。 2・・・エアフローメータ、12・・・燃料噴射弁、1
8・・・ノッキングセンサ、 32・・・エンジン回転角センナ、 34・・・電子制御回路。 代理人  鵜  沼  辰  之 (ほか2名) 第1図 第2図 第3図 N関− 第7図 第8図    第9図 第10図 第12図 第13図 第16図 @17図 第 19 図 F34聞
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 an explanatory diagram showing the learning map. 4 is a diagram showing the relationship between engine speed and ignition timing, FIG. 5 is a schematic diagram showing an engine to which the present invention is applied, and FIG. 6 is an electronic control circuit shown in FIG. 5. Figure 7 is a flowchart of the interrupt routine every 30°C, Figure 8 is a block diagram showing the interrupt routine.
Figure 9 is a flowchart of time coincidence interrupt A, Figure 9 is a flowchart of time coincidence interrupt B, GTO diagram is a flowchart of the A/D completion side input routine, Figure 11 is a flowchart showing the interrupt routine every 4 m5ec, and Figure 12 is a flowchart showing the interrupt routine every 4 m5ec. 13 is a flowchart of a routine for updating the correction retardation amount, and FIG. 13 is a flowchart of a learning control routine.
Fig. 14 is a flowchart of the two-dimensional interpolation routine, Fig. 15 is a flowchart showing details of the learning routine, Fig. Figure 17 shows the relationship between the engine speed and ignition timing, the relationship between the corrected retardation amount and the learning retardation amount, similar to that shown in Figure 3.
FIG. 18 is a flowchart showing a routine for determining whether the calculated learned value has changed by a predetermined value, and FIG. 19 is an edge diagram showing changes in the retard amount. 2... Air flow meter, 12... Fuel injection valve, 1
8...Knocking sensor, 32...Engine rotation angle sensor, 34...Electronic control circuit. Agent Tatsuyuki Unuma (and 2 others) Figure 1 Figure 2 Figure 3 N-Seki Figure 7 Figure 8 Figure 9 Figure 10 Figure 12 Figure 13 Figure 16 @ Figure 17 Figure 19 F34 listening

Claims (4)

【特許請求の範囲】[Claims] (1)  エンジン回転数と負荷とに対応して予め複数
個記憶されかつ所定時間毎に学習制御によって変更され
るノンキレグレベルを所定レベルにするための学習遅角
量を基に、現在のエンジン回転数と現在の負荷とに対応
する学習遅角量を算出すると共に、前回算出された学習
遅角量に対する変化量が所定値以下の値を求め、エンジ
ン回転数と負荷とに対応して予め定められた基本点火進
角から前記水められた値とノッキングが発生したとき点
火時期を遅らせかつノッキングが発生しなくなったとき
点火時期を進める補正遅角量との和を減算して、ノッキ
ングを制御する内燃機関のノッキング制御方法。
(1) Based on the learning retardation amount to bring the non-kissing level to a predetermined level, which is stored in advance in multiple numbers corresponding to the engine speed and load and is changed by learning control at predetermined time intervals, the current engine The learning retard amount corresponding to the engine speed and the current load is calculated, and the amount of change from the previously calculated learning retard amount is less than or equal to a predetermined value. Knocking is eliminated by subtracting the sum of the above-mentioned water-filled value and a corrected retard amount that retards the ignition timing when knocking occurs and advances the ignition timing when knocking no longer occurs from the determined basic ignition advance angle. A knocking control method for an internal combustion engine.
(2)  前記学習遅角量の算出を所定クランク角毎に
行う特許請求の範囲第1項記載の内燃機関のノッキング
制御方法。
(2) A knocking control method for an internal combustion engine according to claim 1, wherein the learning retardation amount is calculated at every predetermined crank angle.
(3)  前記学習遅角量の算出を所定時間毎に行う特
許請求の範囲第1項記載の内燃機関のノッキング制御方
法。
(3) A knocking control method for an internal combustion engine according to claim 1, wherein the learning retardation amount is calculated at predetermined time intervals.
(4)  前記補正遅角量が所定範囲の値になるように
前記学習遅角量を特徴とする特許請求の範囲第1項乃至
第3項のいずれか1項記載の内燃機関のノッキング制御
方法。
(4) A knocking control method for an internal combustion engine according to any one of claims 1 to 3, characterized in that the learning retardation amount is set so that the corrected retardation amount falls within a predetermined range of values. .
JP57230323A 1982-12-24 1982-12-24 Knotting control method for internal combustion engine Expired - Lifetime JPH0646025B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57230323A JPH0646025B2 (en) 1982-12-24 1982-12-24 Knotting control method for internal combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57230323A JPH0646025B2 (en) 1982-12-24 1982-12-24 Knotting control method for internal combustion engine

Publications (2)

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

Family

ID=16906026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57230323A Expired - Lifetime JPH0646025B2 (en) 1982-12-24 1982-12-24 Knotting control method for internal combustion engine

Country Status (1)

Country Link
JP (1) JPH0646025B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5412793A (en) * 1977-06-29 1979-01-30 Mitsubishi Electric Corp Concentration measuring method of solutions
JPS55107070A (en) * 1979-02-08 1980-08-16 Nissan Motor Co Ltd Ignition timing controller
JPS5623566A (en) * 1979-08-01 1981-03-05 Nippon Denso Co Ltd Method of controlling ignition time

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5412793A (en) * 1977-06-29 1979-01-30 Mitsubishi Electric Corp Concentration measuring method of solutions
JPS55107070A (en) * 1979-02-08 1980-08-16 Nissan Motor Co Ltd Ignition timing controller
JPS5623566A (en) * 1979-08-01 1981-03-05 Nippon Denso Co Ltd Method of controlling ignition time

Also Published As

Publication number Publication date
JPH0646025B2 (en) 1994-06-15

Similar Documents

Publication Publication Date Title
JPH0388945A (en) Knocking sensing method for engine
JPS59103964A (en) Knocking control method for internal-combustion engine
JPS5939972A (en) Control of knocking of internal-combustion engine
JPS59119068A (en) Knocking controlling method for internal-combustion engine
JPS58176470A (en) Control of revolution number of engine upon idling
JPS59138773A (en) Control method for knocking of internal-combustion engine
JPS59113267A (en) Control of knocking in internal-combustion engine
JPS63106365A (en) Method of controlling ignition timing of internal combustion engine
JPS59110862A (en) Control of knocking in internal-combustion engine
JPH0315035B2 (en)
JP2625933B2 (en) Ignition timing control device for internal combustion engine
JPS59138774A (en) Control method for knocking of internal-combustion engine
JPS59108872A (en) Method of controlling knocking of intenal-combustion engine
JPS59108871A (en) Method of controlling knocking of internal-combustion engine
JPS59136575A (en) Control of knocking in multi-cylinder engine
JPS59113264A (en) Controlling methd of knocking in internal-combustion engine
JPS59136573A (en) Knocking control of internal-combustion engine
JPH0411742B2 (en)
JPS59136574A (en) Knocking control of internal-combustion engine
JPS59113268A (en) Control of knocking in internal-combustion engine
JPS6027782A (en) Method of controlling knocking of internal-combustion engine
JPS59116528A (en) Method for judging knocking of multiple cylinder engine
JPS63263242A (en) Fuel increase controller of internal combustion engine
JPS58110862A (en) Ignition timing controlling method for multi-cylinder internal-combustion engine
JPS59168271A (en) Ignition timing control of engine