JPS59113267A - Control of knocking in internal-combustion engine - Google Patents

Control of knocking in internal-combustion engine

Info

Publication number
JPS59113267A
JPS59113267A JP57223204A JP22320482A JPS59113267A JP S59113267 A JPS59113267 A JP S59113267A JP 57223204 A JP57223204 A JP 57223204A JP 22320482 A JP22320482 A JP 22320482A JP S59113267 A JPS59113267 A JP S59113267A
Authority
JP
Japan
Prior art keywords
learning
value
knocking
register
retard amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP57223204A
Other languages
Japanese (ja)
Other versions
JPH0646023B2 (en
Inventor
Yuji Takeda
武田 勇二
Toshio Suematsu
末松 敏男
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 JP57223204A priority Critical patent/JPH0646023B2/en
Publication of JPS59113267A publication Critical patent/JPS59113267A/en
Publication of JPH0646023B2 publication Critical patent/JPH0646023B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02PIGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
    • F02P5/00Advancing or retarding ignition; Control therefor
    • F02P5/04Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions
    • F02P5/145Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions using electrical means
    • F02P5/15Digital data processing
    • F02P5/152Digital data processing dependent on pinking
    • F02P5/1523Digital data processing dependent on pinking with particular laws of return to advance, e.g. step by step, differing from the laws of retard
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

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 prevent the fluctuation of torque as well as the reduction of output by keeping the learned delaying amount of a spark angle in accordance with the knocking in constant under a light load. CONSTITUTION:In a step 122, the load Q/N is decided whether it is higher than 0.6(l/rev) or not or whether it is in a knocking control area or not. If the load Q/N is lower than 0.6(l/rev), an ignition timing is set to thetaBASE (step 123). According to this method, the fluctuation of torque or the reduction of output may be prevented.

Description

【発明の詳細な説明】 本発明は内燃機関のノッキング制御方法に係り、特にノ
ッキングの有無によって比較的速い速度で遅進角を行う
ための補正遅角量とノッキングの有無によって比較的遅
い速度で遅進角を行いかつ学習制御によって変更される
学習遅角量とによって、基本点火進角を補正してノッキ
ングを制御する方法に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a knocking control method for an internal combustion engine, and particularly relates to a corrective 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または吸気管負圧で定まる負荷によって予め定ま
る基本点火進角θBA811をマイクロコンピュータの
リードオンリメモリ(ROM)Kマツプの形で記憶させ
ておき、次の(1)式に基いて実際にイグナイタを制御
する点火進角θ1gを演算し、この点火進角を用いてノ
ッキング制御を行うものである。また、アイドリンク時
等の軽負荷領域においてはノッキングが発生しないため
学習制御およびノッキング制御を行わないようにしてい
る。
The conventional knocking control method using learning control is based on the ratio Q of the engine rotation speed N1 and the intake air amount Q and the engine rotation speed N.
/ The basic ignition advance angle θBA811, which is predetermined by the load determined by N or intake pipe negative pressure, is stored in the read-only memory (ROM) K map of the microcomputer, and the igniter is actually activated based on the following formula (1). The ignition advance angle θ1g is calculated, and the knocking control is performed using this ignition advance angle. Furthermore, learning control and knocking control are not performed in a light load region such as when idling because knocking does not occur.

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

ことで、補正遅角量θには次のようにして求められる。Therefore, the corrected retard amount θ can be obtained as follows.

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

θ工←θえ十〇、4°OA  ・・・・・・・・・・・
・・・・・・・・・・・・・(2)またピーク値aかに
、bの値以下のときには、ノッキングが発生しなかった
と判断して、第1のタイマを用いて所定時間(例えば4
8 m6θC)経過したか否かを判断し、所定時間経過
したときには次の(3)式に示すように所定クランク角
(例えば0.086CA)点火時期が進むように補正遅
角量θKを変更する。
θ work ← θ 10, 4° OA ・・・・・・・・・・・・
・・・・・・・・・・・・・・・(2) Also, when the peak value a is less than the value b, it is determined that knocking has not occurred, and the first timer is used to calculate the For example 4
8 m6θC) has elapsed, and when a predetermined time has elapsed, the corrected retardation amount θK is changed so that the ignition timing advances by a predetermined crank angle (for example, 0.086CA) as shown in the following equation (3). .

θに←θxO,08°CA・・・・・・・・・・・・・
・・・・・・・・(3)また、エンジン条件に応じた学
習遅角量θK()は次のようにして算出される。まず、
第1図に示すようにエンジン回転数Nと負荷Q / N
とに対応させて学習遅角量を記憶させる番地0〜23を
マイクロコンピュータのランダムアクセスメモリ(RA
M)に用意して学習マツプを作成しておく。エンジン回
転数Nと吸入空気量Qとを取込み、学習マツプ上におい
て現在のエンジン条件を示す点(’%Q/”)を囲む4
点のRAMの番地を求める。今、第2図に示すように現
在のエンジン灸イ午を示す点を囲むRAMの番地がn(
n+=Q、l、・・・・・・・・・16)、n+1、n
+6、n+7であシ、番地nに学習遅角量θxGn、番
地n+1に学習遅角量θto(n++1、番地n+6に
学習遅角量θKG(n+l111、番地n+7に学習遅
角量θK(1(n+t )が各々記憶されているものと
する。そして、番地間のエンジン回転数の差をx1番地
間の負荷の差をY1番番地と現在のエンジン条件を示す
点との間のエンジン回転数の差をx1番番地と現在のエ
ンジン条件を示す点との間の負荷の差をyとすれば、以
下の(4)〜(6)式に示す2次元補間法によ如現在の
エンジン灸汗を示す点の学習遅角量θK(iが求められ
る。
To θ←θxO, 08°CA・・・・・・・・・・・・
(3) Further, the learning retardation amount θK() according to the engine conditions is calculated as follows. first,
As shown in Figure 1, engine speed N and load Q/N
Addresses 0 to 23 where learning delay angle amounts are stored in correspondence with the microcomputer's random access memory (RA
M) and create a learning map. Take the engine speed N and intake air amount Q, and surround the point ('%Q/'') indicating the current engine condition on the learning map.
Find the RAM address of the point. Now, as shown in Figure 2, the RAM address surrounding the point indicating the current engine moxibustion point is n(
n+=Q, l,...16), n+1, n
+6, n+7, address n has the learning retard amount θxGn, address n+1 has the learning retard amount θto(n++1, address n+6 has the learning retard amount θKG(n+l111, address n+7 has the learning retard amount θK(1(n+t) ) are stored respectively. Then, the difference in engine speed between addresses is x1, the difference in load between addresses is the difference in engine speed between address Y1 and the point indicating the current engine condition. If the difference in load between address The learning retardation amount θK(i) of the point shown is determined.

7(A−B) θ =□十A・・・曲曲曲(6) ICG       y そして上記学習マツプの学習制御は、次のようにして行
われる。まず、現在のエンジン条件に応じて学習制御の
時間を決定する第2のタイマと、エンジン棄5¥に無関
係に学習制御の時間を決定する第3のタイマとを用意す
る。第2のタイマにより所定時間(例えば46 m5e
c )経過したことが検出されたときには、補正遅角量
θKが変更されて所定クランク角(例えば4°CA)を
越えたか否かを判断し、補正遅角量θKが所定クランク
角を越えたときに、上記で説明した現在のエンジン条件
を示す点を囲むマツプ上の4点の学習遅角量に所定クラ
ンク角(例えば0.04°CA)加算する。この結果点
火時期が遅れるように学習遅角量が学習制御される。一
方、第3のタイマにより所定時間(例えば16(6))
経過したことが検出されたときには、ノッキングの有無
に無関係に学習マツプ上の全ての番地の学習遅角量から
所定クランク角(例えば0.01’CA)減算して、点
火時期が進むように学習遅角量を学習制御する。
7(A-B) θ=□10A...Mercury (6) ICG y The learning control of the learning map is performed as follows. First, a second timer that determines the learning control time depending on the current engine condition and a third timer that determines the learning control time regardless of whether the engine is running or not are prepared. A second timer is used for a predetermined period of time (for example, 46 m5e
c) When it is detected that the corrected retard amount θK has been changed to exceed a predetermined crank angle (for example, 4° CA), it is determined whether the corrected retard amount θK has exceeded the predetermined crank angle. At times, a predetermined crank angle (for example, 0.04° CA) is added to the learning retardation amount at four points on the map surrounding the point indicating the current engine condition described above. 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, 16 (6)).
When it is detected that the ignition timing has elapsed, a predetermined crank angle (for example, 0.01'CA) is subtracted from the learning retard amount of all addresses on the learning map regardless of the presence or absence of knocking, so that the ignition timing is learned to advance. Learning and controlling the amount of retardation.

而して、上記のようにして変更された補正遅角量θにと
、学習制御される学習マツプから2次元補間法により求
めた学習遅角量θKGとを用い、前記+11式に基いて
基本点火進角θBA811を補正して、ノッキングを制
御するのである。
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 basic calculation is performed based on the above formula +11. Knocking is controlled by correcting the ignition advance angle θBA811.

しかし、かかる従来のノッキング制御方法では、ノッキ
ング制御領域外の軽負荷域(ノッキングが発生しない領
域)において学習制御を行わずにノッキング制御領域内
において学習制御を行っているため、ノッキング制御領
域外からノッキング制御領域内にエンジン運転条件が変
化した場合遅角量なしの状態から遅角量ありの状態に急
変し、トルク変動が発生する、という問題があった。ま
た、軽負荷域に近いノッキング制御領域にエンジン運転
条件が存在する場合にノッキングが多発して補正遅角量
が例えば4°CA以上になると、軽負荷域側の学習遅角
量が大きくなるように学習制御されて学習遅角量が保持
されるため、エンジン運転条件がノッキング制御領域外
から軽負荷側のノッキング制御領域に入ったとき、上記
で大きくなるように学習された学習遅角量によシ点火時
期が遅れ過ぎに制御され、出力の低下および燃費の悪化
の原因になる、という問題があった。
However, in such conventional knocking control methods, learning control is performed within the knocking control area without performing learning control in the light load area (area where knocking does not occur) outside the knocking control area. There is a problem in that when engine operating conditions change within the knocking control region, there is a sudden change from a state with no retard amount to a state with a retard amount, resulting in torque fluctuations. In addition, if engine operating conditions exist in the knocking control region close to the light load region, if knocking occurs frequently and the corrected retardation amount becomes, for example, 4° CA or more, the learning retardation amount on the light load region side will increase. Since the learning retardation amount is maintained by learning control, when the engine operating conditions enter the light load side knocking control region from outside the knocking control region, the learning retardation amount learned above will increase. There was a problem in that the ignition timing was controlled too late, causing a decrease in output and deterioration of fuel efficiency.

本発明は上記門雑点を解消すべく成されたもので、ノッ
キング非制御領域からノッキング制御領域に負荷が変化
したときに、点火時期の遅れによるトルク変動や出力の
低下を生じないようにした内燃機関のノッキング制御方
法を提供することを目的とする。
The present invention has been made to solve the above-mentioned problems, and is designed to prevent torque fluctuations and output decreases due to ignition timing delays when the load changes from a knocking non-control area to a knocking control area. An object of the present invention is to provide a knocking control method for an internal combustion engine.

上記目的を達成するために本発明の構成は、基本点火進
角から補正遅角量と学習遅角量との和を減算してノッキ
ング制御する方法において、軽負荷側の所定負荷以下に
おける特定の学習遅角量を一定の値にするようにしたも
のである。この一定の値は零であることが好ましい。
In order to achieve the above object, the present invention provides a method for controlling knocking by subtracting the sum of a corrected retard amount and a learned retard amount from a basic ignition advance angle. The learning retardation amount is set to a constant value. Preferably, this constant value is zero.

上記本発明の構成によれば、軽負荷の学習遅角量を一定
にしているため、軽負荷から高負荷への点火時期の変化
がスムーズになり、点火時期が余分に遅角されなくなっ
て出力が向上する、という特有の効果が得られる。
According to the above configuration of the present invention, since the amount of learning retardation at light load is kept constant, the change in ignition timing from light load to high load is smooth, and the ignition timing is not retarded excessively, resulting in output. This has the unique effect of improving

また、第3図に示すように、基本点火進角θBAIII
+すなわちM B T (Minimum 5park
 Advance forBθst TO?guθ)は
エンジン回転数に応じて曲線C。
In addition, as shown in FIG. 3, the basic ignition advance angle θBAIII
+ That is, M B T (Minimum 5park
Advance for Bθst TO? guθ) is a curve C depending on the engine speed.

のように変化し、空気が湿っている場合等のノッキング
が発生しにくいときの微小ノッキング発生点火時期は曲
線C7のようになり、空気が乾燥している場合等のノッ
キングが発生し易いときの微小ノッキング発生点火時期
は曲線C8のようになる。従って、エンジン回転数や環
境条件によって微小ノッキング発生点火時期が異なって
いる。従って、本発明の上記構成においては、ノッキン
グが発生し易い運転条件でもノッキングが発生しにくい
運転条件でも同じようにノッキング制御するため、補正
遅角量が所定範囲の値になるように%定の学習遅角量を
除いた学習遅角量を学習制御することが好ましい。
The ignition timing at which knocking occurs when knocking is difficult to occur, such as when the air is humid, is as shown by curve C7, and when knocking is likely to occur, such as when the air is dry, the ignition timing changes as shown in curve C7. The ignition timing at which slight knocking occurs is as shown by curve C8. Therefore, the ignition timing at which minute 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 knocking is likely to occur and operating conditions where knocking is unlikely to occur, the percentage constant is set so that the corrected retardation amount falls within a predetermined range. It is preferable to perform learning control on the learning retardation amount excluding the learning retardation amount.

次に、本発明が適用されるエンジンの一例を第4図に示
す。このエンジンは図に示すように、エアクリーナー(
図示せず)の下流側に設けられた吸入空気量センサとし
てのエアフローメータ2を備えている。エアフローメー
タ2は、ダンピングチャンバ内に回動可能に設けられた
コンペンモーションプレート2人と、コンペンセーショ
ンプレ−)2Aの開度を検出するポテンショメータ2B
とから構成されている。従って、吸入空気量Qはポテン
ショメータ2Bから出力される電圧とじて検出される。
Next, FIG. 4 shows an example of an engine to which the present invention is applied. This engine has an air cleaner (
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 motion plates rotatably provided in the damping chamber and a potentiometer 2B that detects the opening degree of the compensation plate 2A.
It is composed of. Therefore, the intake air amount Q is detected as the voltage output from the potentiometer 2B.

また、エアフローメータ2の近傍には、吸入空気の温度
を検出する吸入空気温センサ4が設けられている。
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が配置さ
れている。インテークマニホールド10は、エンジン本
体14の燃焼室14Aに接続され、エンジ/の燃焼室1
4Aはエキゾーストマニホールド16を介して三元触媒
を充填した触媒コンバータ(図示せず)に接続されてい
る。そして、エンジン本体14には、マイクロホン等で
構成された、エンジンの振動を検出するノッキングセン
サ18が設けられている。なお、20は点火プラグ、2
2は混合気を理論空燃比近傍に制御するための0.セン
サ、24はエンジン冷却水温を検出する冷温水温センサ
である。
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 10 is connected to the combustion chamber 14A of the engine body 14, and is connected to the combustion chamber 14A of the engine body 14.
4A is connected via an exhaust manifold 16 to a catalytic converter (not shown) filled with a three-way catalyst. The engine body 14 is provided with a knocking sensor 18 configured with a microphone or the like and configured to detect vibrations of the engine. In addition, 20 is a spark plug, 2
2 is 0.0 to control the air-fuel mixture to near the stoichiometric air-fuel ratio. A sensor 24 is a cold/hot water temperature sensor that detects the engine cooling water temperature.

エンジン本体14の点火プラグ2oは、ディストリビュ
ータ26に接続され、ディストリビュータ26はイグナ
イタ28に接続されている。このディストリビュータ2
6には、ピックアップとディストリビュータシャフトに
固定されたシグナルロータとで構成された、気筒判別セ
ンサ3oおよびエンジン回転角センサ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 3o 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度毎にクランク角基準
位置信号を電子制御回路34へ出力する。
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. The angular reference position signal is output to the electronic control circuit 34.

電子制御回路34は、第5図に示すように、ランダム・
アクセス・メモリ(RAM)36と、リード・オンリー
・メモリ(ROM)38と、中央処理装置(CPU)4
0と、りoy り(CLOCK)41と、第1の入出力
ボート42と、第2の入出力ボート44と、第1の出方
ボート46と、第2の出力ボート48とを含んで構成さ
れ、RAM36、ROM 38、CPU40. CLO
CK41、第1の出力ボート42、第2の入出力ボート
44、第1の出力ボート46および第2の出力ボート4
8は、バス50により接続されている。第1の入出力ボ
ート42には、バッファ(図示せず)マルチプレクサ5
4、アナログ−ディジタル(A/D)変換器56を介し
て、エアフローメータ2、冷却水温センサ24および吸
気温センサ4等が接続されている。このマルチプレクサ
54およびA / D変換器56は、第1の入出力ボー
ト42から出力される信号によシ制御される。第2の入
出力ポート44には、バッファ(図示せず)およびコン
パレータ62を介してO,センサ22が接続され、波形
整形回路641’iして気筒判別センサ3oおよびエン
ジン回転角センサ32が接続されている。また、第2の
入出力ボート44には、バンドパスフィルタ60、ピー
クホールド回路61、チャンネル切換回路66およびA
 / D変換器68を介してノッキングセンサ18が接
続されている。このバンドパスフィルタは積分回路63
を介してチャンネル切換回路66に接続されている。こ
のチャンネル切換回路66には、ピークホールド回路6
1の出力と積分回路63の出力とのいずれが一方をA/
D変換器68に入力するための第2の入出力ボート44
から出力される制御信号が入力されており、ピークホー
ルド回路61には第2の入出力ボート44からり七ット
信号が入力されている。また、第1の出力ボート46は
駆動回路7oを介してイグナイタ28iC接続され、第
2の出力ボート48は駆動回路72を介して燃料噴射弁
12に接続されている。
The electronic control circuit 34, as shown in FIG.
Access memory (RAM) 36, read only memory (ROM) 38, and central processing unit (CPU) 4
0, a clock (CLOCK) 41, a first input/output boat 42, a second input/output boat 44, a first output boat 46, and a second output boat 48. RAM 36, ROM 38, CPU 40. C.L.O.
CK41, first output boat 42, second input/output boat 44, first output boat 46, and second output boat 4
8 are connected by a bus 50. The first input/output port 42 includes a buffer (not shown) multiplexer 5
4. An air flow meter 2, a cooling water temperature sensor 24, an intake air temperature sensor 4, etc. are connected via an analog-digital (A/D) converter 56. The multiplexer 54 and A/D converter 56 are controlled by a signal output from the first input/output port 42. The second input/output port 44 is connected to the sensor 22 via a buffer (not shown) and a comparator 62, and the cylinder discrimination sensor 3o and engine rotation angle sensor 32 are connected to the waveform shaping circuit 641'i. has been done. The second input/output boat 44 also includes a band pass filter 60, a peak hold circuit 61, a channel switching circuit 66, and an A
The knocking sensor 18 is connected via a /D converter 68. This bandpass filter is an integrator circuit 63
The channel switching circuit 66 is connected to the channel switching circuit 66 via the channel switching circuit 66. This channel switching circuit 66 includes a peak hold circuit 6.
1 and the output of the integrating circuit 63.
Second input/output port 44 for input to D converter 68
A control signal output from the peak hold circuit 61 is inputted, and a seven-bit signal from the second input/output port 44 is inputted to the peak hold circuit 61. Further, the first output boat 46 is connected to the igniter 28iC via a drive circuit 7o, and the second output boat 48 is connected to the fuel injection valve 12 via a drive circuit 72.

電子制御回路34のROM38には、エンジン回転数と
吸入空気量とで表わされる基本点火進角θBA811の
マツプおよび基本燃料噴射量等が予め記憶されており、
エアフローメータ2がらの信号およびエンジン回転角セ
ンサ32がらの信号にょシ基本点火進角および基本燃料
噴射量が読出されると共に、冷却水温センサ24および
吸気温センサ4からの信号を含む各種の信号にょシ、上
記基本点火進角および基本燃料噴射量に補正点火進角訃
よび補正燃料噴射量が加えられ、イグナイタ28および
燃料噴射弁12が制御される。Ol センサ22から出
力される空燃比信号は、混合気の空燃比を理論空燃比近
傍に制御する空燃比制御に使用される。また、電子制御
回路34のRAM36には、第1図に示す学習マツプが
予め記憶されている。
The ROM 38 of the electronic control circuit 34 stores in advance a map of the basic ignition advance angle θBA811 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 out from the signals from the air flow meter 2 and from 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 read out. A corrected ignition advance and a corrected fuel injection amount are added to the basic ignition advance and basic fuel injection amount to control the igniter 28 and the fuel injection valve 12. The air-fuel ratio signal output from the Ol 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.

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

第6図は、マイクロコンピュータを用いて本発明を実施
する場合の306CA毎の割込みルーチンを示す。まず
、ステップ81においてエンジン回転角センサ32から
の信号に基いて回転時間からエンジン回転数Nを求め、
ステップ82において気筒判別センサ30から気筒判別
信号が入力されてから何番目の割込みかを数えて現在の
クランク角を示すフラグを立てる。次に1ステツプ83
において、ステップ82で立てたフラグが上死点(TD
C)のフラグであるか否かを判断する。現在上死点でな
い場合にはステップ88へ進み、現在上死点である場合
にはステップ84においてノックゲートが閉じているか
否かを判断する。ノックゲートが開いているときはステ
ップ85においてノックゲートを閉じ、ノックゲートが
閉じているときはステップ86においてチャンネル切換
回路66を切換えて、ノッキングセンサ18かう出力さ
れるエンジン振動信号をバンドパスフィルタ60、積分
回路63およびチャ/ネル切換回路66を介してA/D
変換器68に入力し、エンジン振動の平均値すなわちバ
ックグラウンドレベルのA / D変換を開始する。続
いて、ステップ87においてノックゲートの閉時側t1
%すなわち次にノックゲートを閉じる時刻を算出して時
刻一致割込みAをセットする。
FIG. 6 shows an interrupt routine for each 306CA when the present invention is implemented using a microcomputer. First, in step 81, 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 passed to the band pass filter 60. , A/D via the integration circuit 63 and channel/channel switching circuit 66
Converter 68 initiates an A/D conversion of the average or background level of engine vibration. Subsequently, in step 87, the closing side t1 of the knock gate is
%, that is, the next time to close the knock gate, and set the time coincidence interrupt A.

次に、ステップ88においてステップ82で立てたフラ
グを基にクランク角が90°GA  BTDC(上死点
前)になったか否かを判断する。クランク角が90°G
A  BTDCでないときはステップ91へ進み、90
°GA  BTDCのときはステップ89において補正
遅角量θにの更新をすると共に点火時期の計算処理を行
う(この詳細については以下で説明する)。ステップ9
0では、ステップ89で計算した点火時期と現在の時刻
とによりイグナイタ28をオンさせる時刻を求めて時刻
一致割込みBをセットすると共に、イグナイタオンのフ
ラグを立てる。そして、ステップ91においてクランク
角が60°GA BTDCになったか否かを判断し、6
0°GA  BTDCでない場合にはメインルーチンへ
リターンし、60°GA  BTDCである場合にはス
テップ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° GA BTDC (before top dead center). Crank angle is 90°G
A If it is not BTDC, proceed to step 91,
In the case of °GA BTDC, the corrected retard amount θ is updated in step 89, and the ignition timing is calculated (details of this will be explained below). Step 9
At step 0, 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°GA BTDC.
If it is not 0°GA BTDC, return to the main routine, and if it is 60°GA BTDC, calculate the igniter off time in step 92, set time coincidence interrupt B, and set the igniter on time set in step 90. lower the flag.

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

この割込みルーチンは、エンジン振動のピーク値を求め
るものであり、第6図のステップ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 inputted to the A/D converter 68 via A/D converter 66 to start A/D conversion of the peak hold value, and the process returns to the main routine.

第8図は、時刻一致割込みBのルーチンを示すものであ
り、第6図のステップ90およびステップ92にセット
した時刻になると割込みが行われる。ステップ94では
、イグナイタオンのフラグが立っているか、すなわちこ
のフラグが1か否かを判断し、フラグが立っているとき
はステップ96においてイグナイタをオンし、フラグが
おシているときにはステップ95においてイグナイタを
オフし、メインルーチンへリターンする。
FIG. 8 shows 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. Turn off the igniter and return to the main routine.

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

第1O図は、ノッキングが発生していないときの時間と
学習制御する時間とをカウントするための所定時間(例
えば41i1111θC)毎に行われる割込みルーチン
を示すものである。まず、ステップ102においてノッ
キングが発生しないときの時間を求めるカウンタTIM
EIIのカウント値を1増加させ、ステップ103にお
いて学習制御する時間を求めるカウンタT工MK2のカ
ウント値を1増加させる。
FIG. 1O shows an interrupt routine that is performed every predetermined time (for example, 41i1111θC) for counting the time when no knocking occurs and the time for learning control. First, in step 102, a counter TIM is used to calculate the time when knocking does not occur.
The count value of EII is increased by 1, and the count value of counter MK2 for determining the learning control time is increased by 1 in step 103.

次のステップ104において、カウンタT工M1!!1
のカウント値が12 (48m5ec )以下になって
いるか否かを判断する。カウント値が12を越えている
ときにはステップ105においてカウンタT工Mllの
カウント値を12とし、カウント値が12以下のときに
はステップ106においてカウンタTIMK2のカウン
ト値が12以下になっているか否かを判断する。ここで
、カウント値が12を越えているときにはステップ10
7においてカウンタTIME2のカウント値を12とし
てメインルーチンへリターンし、カウント値が12以下
のときにはメインルーチンへリターンする。
In the next step 104, the counter T-work M1! ! 1
It is determined whether the count value of is less than or equal to 12 (48m5ec). If the count value exceeds 12, the count value of the counter T Mll is set to 12 in step 105, and if the count value is 12 or less, it is determined in step 106 whether the count value of the counter TIMK2 is 12 or less. . Here, if the count value exceeds 12, step 10
At step 7, the count value of the counter TIME2 is set to 12 and the process returns to the main routine, and when the count value is 12 or less, the process returns to the main routine.

次に第6図のステップ89の詳細々ルーチンを第11図
に基いて説明する。第6図のステップ88でクランク角
が90°OA  BTDCKなったと判断されると、ス
テップ122において負荷Q/Nが0.6(e/rθv
、〕以上か否か、すなわちノッキング制御領域か否かを
判断する。ノッキング制御領域でないときはステップ1
23で基本点火進角θBA811を点火進角01gとし
、ノッキング制御領域であるときはステップ108にお
いて、第9図のステップ100で記憶されたピーク値a
と、第9図のステップ98で記憶されたバックグラウン
ドレベルbに定数Kを乗算した値に、bとを比較する。
Next, the detailed routine of step 89 in FIG. 6 will be explained based on FIG. 11. When it is determined in step 88 of FIG. 6 that the crank angle has become 90°OA BTDCK, in step 122 the load Q/N is 0.6 (e/rθv
, ] or more, that is, whether or not it is in the knocking control region. Step 1 if not in knocking control area
23, the basic ignition advance angle θBA811 is set to ignition advance angle 01g, and when it is in the knocking control region, in step 108, the peak value a stored in step 100 of FIG.
and b are compared with the value obtained by multiplying the background level b stored in step 98 of FIG. 9 by a constant K.

ピーク値aが値Kabを越えているときにはノッキング
が発生したと判断して、ステップ110において補正遅
角量θKを所定角(例えば0.4°OA)増加させ、ス
テップ112においてノッキングが発生しない時間をカ
ウントするカウンタTIMKIのカウント値をクリアす
る。一方、ピーク値aが値に、tl 以下のときにはノ
ッキングが発生したいと判断して、ステップ109にお
いてカウンタT工MK1のカウント値が所定値(12)
以上になっているか否かを判断し、カウント値が所定値
以上になっているときにはノッキングの発生しない状態
が所定時間経続していることからステップ111におい
て補正遅角量θKを所定角(例えば0.08°OA)減
少させた後、ステップ112でカウンタT工MKIをク
リアする。また、ステップ109においてカウント値が
所定値未満であるとき釦は、ステップ113へ進む。ス
テップ113では、上記のようにして求められた補正遅
角量θXと学習マツプから2次元補間法により求められ
る学習遅角量θKGとによって前述した(1)式に示す
ように基本点火進角011人8gを補正し、実際にイグ
ナイタを制御する点火進角θ1gを算出する。
When the peak value a exceeds the value Kab, it is determined that knocking has occurred, and in step 110 the corrected retard amount θK is increased by a predetermined angle (for example, 0.4° OA), and in step 112, the time during which knocking does not occur is determined. Clear the count value of counter TIMKI. On the other hand, when the peak value a is equal to or less than tl, it is determined that knocking is desired to occur, and in step 109, the count value of the counter MK1 is set to a predetermined value (12).
If the count value is greater than or equal to a predetermined value, it means that a state in which knocking does not occur has continued for a predetermined period of time, so in step 111, the correction retard amount θK is set to a predetermined angle (for example, 0.08°OA), the counter T-MKI is cleared in step 112. Further, if the count value is less than the predetermined value in step 109, the button advances to step 113. In step 113, the basic ignition advance angle 011 is determined by the corrected retard amount θX obtained as described above and the learned retard amount θKG obtained from the learning map by the two-dimensional interpolation method, as shown in the above-mentioned equation (1). The ignition advance angle θ1g that actually controls the igniter is calculated by correcting the human 8g.

次に学習マツプから現在のエンジン条件に対応する学習
遅角量θ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点のRAM
の番地に記憶されているデータ、すなわち4点のRAM
の番地に記憶されている学習遅角量を基に2次元補間法
(2次元補間法のルーチンは後で説明する)によシ、現
在のエンジン条件を示す点の学習遅角量θKGを算出し
、算出した値をRAMの所定場所に記憶する。ステップ
116では、第10図のステップ103でカウントした
学習制御する時間を求めるためのカウンタT工MK2の
カウント値が所定値(例えば12)以上か否かを判断す
る。カウント値が所定値未満である場合にはメインルー
チンへリターンし、カウント値が所定値以上の場合には
ステップ117でカウンタT工MK2のカウント値をク
リアした後、第11図のステップ110および111で
更新された補正遅角量θKが第1の所定クランク角(例
えば2°OA)以上であるか否かをステップ118で判
断する。
First, in step 124, the load Q/N is 0.6
It is determined whether or not it is greater than or equal to (l/rev,), that is, whether or not it is in the knocking control region. When it is not in the knocking control area, that! Continuing to the main routine, if it is in the knocking control region, in step 114 the RAM addresses of four points surrounding the point indicating the current engine condition determined by the engine speed N and the load Q/N are found on the learning map. . Next, in step 115, the obtained four points of RAM
The data stored at the address, that is, 4 points of RAM
Based on the learning retardation amount stored at the address, the learning retardation amount θKG at the point indicating the current engine condition is calculated using the two-dimensional interpolation method (the routine of the two-dimensional interpolation method will be explained later). Then, the calculated value is stored in a predetermined location in the RAM. In step 116, it is determined whether the count value of the counter MK2 for determining the learning control time counted in step 103 in FIG. 10 is greater than or equal to 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 MK2 is cleared in step 117, and then steps 110 and 111 in FIG. In step 118, it is determined whether or not the corrected retardation amount θK updated in is equal to or greater than a first predetermined crank angle (for example, 2° OA).

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

この結果、補正遅角量θKが所定範囲の値をとるときは
学習制御されず、学習遅角量によっては点火時期が変更
され々い。なお、補正遅角量が所定範囲の値をとるとき
においても、必要に応じて学習制御するようにしてもよ
い。ステップ119において補正遅角量θKが第2の所
定クランク角以上と判断された場合には、ステップ12
0において現在のエンジン条件を示す点を囲む学習マツ
プ上の4点に記憶されている学習遅角量の各々に、所定
クランク角(例えば0.04°CA)加算する学習制御
を行い、メインルーチンへリターンする。
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 may be 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° CA) to each of the learning retard amounts stored at four points on the learning map surrounding the point indicating the current engine condition, and the main routine Return to.

この結果、補正遅角量θKが第2の所定クランク角以上
であるときには学習マツプの学習遅角量が大きくなるよ
うに学習制御され、学習遅角量によって点火時期が遅れ
るように制御される。
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点のRAMの番
地を第2図に示すようにn、n−1−1、n−4−6、
n+7とする。まず、ステップ130において、現在の
負荷Q / Nが学習マツプ上の負荷の上限値すなわち
1.2[//rev、”1以下であるか否かを判断する
。負荷が1.2C1/rev、 ]を越えている場合に
はステップ131でレジスタnに1.2を記憶し、負荷
が1.2 [l / rev、”1以下である場合には
ステップ134で現在の負荷Q / N の値をレジス
タnに記憶する。ステップ135では、現在のエンジン
回転数Nが学習マツプ上のエンジン回転数の上限値すな
わち6000〔r−p−m〕以下であるか否かを判断す
る。エンジン回転数が6000(r−p・m〕を越えて
いる場合にはステップ136でレジスタmに6000を
記憶し、エンジン回転数が6000(r−p−m:l以
下である場合にはステップ137で現在のエンジン回転
数Nの値をレジスタmに記憶する。ステップ138では
、レジスタnの値が学習マツプ上の負荷の下限値すなわ
ち0.6 [: l / rev、]以上であるか否か
を判断し、レジスタnの値が0.6未満であるときには
ステップ139においてレジスタnの値を0.6とし、
レジスタnの値が0.6以上であるときにはステップ1
40に進む。そしてステップ140では、レジスタmの
値が学習マツプ上のエンジン回転数の下限値すなわち1
000(:r−pzm”1以上であるか否かを判断し、
レジスタmの値が1000未満であるときにはステップ
141においてレジスタmの値を1000とし、レジス
タmの値が1000以上であるときには次のステップ1
42に進む。以上の結果、現在のエンジン回転数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 Figure 1 is used as a learning map, and the four RAM addresses representing the current engine conditions are set as n, n-1-1, n, as shown in Figure 2. -4-6,
Let it be n+7. First, in step 130, it is determined whether the current load Q/N is less than or equal to the upper limit of the load on the learning map, that is, 1.2[//rev,"1. If the load is 1.2C1/rev, ], 1.2 is stored in register n in step 131, and if the load is less than 1.2 [l/rev, "1", the current value of load Q/N is stored in step 134. is stored in register n. In step 135, it is determined whether the current engine speed N is less than or equal to the upper limit of the engine speed on the learning map, that is, 6000 [rpm]. If the engine speed exceeds 6000 (r-p-m), 6000 is stored in register m in step 136, and if the engine speed is less than 6000 (r-p-m:l), step 136 stores 6000 in register m. At step 137, the value of the current engine speed N is stored in register m. At step 138, it is determined whether the value of register n is greater than or equal to the lower limit of the load on the learning map, that is, 0.6 [:l/rev,]. If the value of register n is less than 0.6, the value of register n is set to 0.6 in step 139,
If the value of register n is 0.6 or more, step 1
Proceed to 40. Then, in step 140, the value of register m is set to the lower limit of engine speed on the learning map, that is, 1.
000(:r-pzm” determine whether it is greater than or equal to 1,
When the value of register m is less than 1000, the value of register m is set to 1000 in step 141, and when the value of register m is 1000 or more, the next step 1 is performed.
Proceed to step 42. 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 stored on the learning map. When the upper and lower limit values are exceeded, the upper and lower limit values are stored in registers m and n, respectively.

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

まず、ステップ142においてレジスタnの値からθ番
地の負荷の値0.6(l/rθv、〕を減算した値をレ
ジスタnに記憶させる。次に、ステップ143において
レジスタnの値を負荷の目盛り間隔てある0、2 (l
 / rev、〕で除算し、その商の整数部をレジスタ
nVC記憶させると共に商の余りをレジスタyに記憶さ
せる。このレジスタYの値は、第2図のn番地から現在
のエンジン条件を示す点までの負荷の値yに等しい。ま
た、レジスタnに記憶された商の整数部は、現在のエン
ジン条件を示す点に最も近くかつ現在のエンジン条件を
示す点以下の番地の列(番地の横方向の並び、例えばO
〜5番地の並びを第1列とする)の列番を示している。
First, in step 142, the value obtained by subtracting the load value 0.6 (l/rθv, ) at address θ 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. 0, 2 (l
/rev, ], the integer part of the quotient is stored in register nVC, 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, e.g. O
5 is the first column).

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

ステップ145において、前述と同様にレジスタmの値
からθ番地のエンジン回転数の値too。
At step 145, the value of the engine rotation speed at address θ is calculated from the value of register m, as described above.

(r* p * m :)を減算した値をレジスタmに
記憶させる。次に、ステップ146においてレジスタm
の値をエンジン回転数の目盛り間隔である1000(j
 m p @ m :)で除算し、その商の整数部をレ
ジスタmに記憶させると共に商の余シをレジスタXに記
憶させる。このレジスタXの値は、第2図ノn番地から
現在のエンジン条件を示す点までのエンジン回転数の値
Xに等しい。また、レジスタmに記憶された商の整数部
は、現在のエンジン条件を示す点に最も近くかつ現在の
エンジン条件を示す点以下の番地の行(番地の縦方向の
並び、例えば0.6.12.18番地の並びを第1行と
する)の符番を示している。そして、ステップ147に
おいてレジスタXの値を更に1ooo(r・p・m〕で
除算しておく。従って、最終的にレジスタXには前述し
た(41、(51式のx/Xに対応した値が記憶されて
いる。
The value obtained by subtracting (r*p*m:) is stored in register m. Next, in step 146 register m
The value of 1000 (j
m p @ m :), 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 value X of the engine speed from address n in FIG. 2 to the point indicating the current engine condition. Further, the integer part of the quotient stored in register m is the row of addresses closest to the point indicating the current engine condition and below the point indicating the current engine condition (vertical arrangement of addresses, for example 0.6... 12.18 is the first row). Then, in step 147, the value of register X is further divided by 1ooo(r・p・m). Therefore, finally, register is memorized.

次にステップ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番地に記
憶されている学習遅角量θKOn  を読出してレジス
タAに記憶させ、n+1番地に記憶されている学習遅角
量θKo(n++)を読出してレジスタBに記憶させ、
n+6番地に記憶されている学習遅角量θKG(n+、
)を読出してレジスタCに記憶させ、そしてn+7番地
に記憶されている学習遅角量θtG(n+y)を読出し
てレジスタDに記憶させる。
In step 150, the learning retard amount θKOn stored at address n on the learning map is read out and stored in register A, and the learned retard amount θKo(n++) stored at address n+1 is read out and stored in register B. memorize it,
Learning retardation amount θKG (n+,
) is read out and stored in register C, and the learning retard amount θtG(n+y) stored at address n+7 is read out and stored in register D.

続いて、ステップ151においてレジスタAの値からレ
ジスタBの値を減算してレジスタXの値を乗算し、更に
その値にレジスタAの値を加算してレジスタEに記憶さ
せる。また、ステップ152においてレジスタCの値か
らレジスタDの値を減算してレジスタXの値を乗算し、
更にその値にレジスタCの値を加算してレジスタFに記
憶させる。
Subsequently, in step 151, the value of register B is subtracted from the value of register A, the value of register X is multiplied, and the value of register A is added to this value, and the result is stored in register E. Also, in step 152, the value of register D is subtracted from the value of register C, and the value of register X is multiplied,
Furthermore, the value of register C is added to this value and the result is stored in register F.

そして最後にステップ153において、レジスタ凡の値
からレジスタFの値を減算してレジスタyの値を乗算し
、更にその値にレジスタEの値を加算して、現在のエン
ジン条件を示す点の学習遅角量θxaとする。
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 amount of retardation be θxa.

次に、第12図のステップ118〜ステツプ121の詳
細なルーチンを第14図に示す。なお、第14図におけ
るレジスタnは第13図の2次元補間ルーチンのレジス
タnを用いる。まず、ステップ118にかいて、前記と
同様に補正遅角量θにが2°CA以上であるか否かを判
断する。補正遅角量θKが2°OA未満であるときには
ステップ160において学習値αを−0,04°CAと
してステップ162へ進む。補正遅角量θKが2°CA
以上の場合には、ステップ119において補正遅角量θ
Xが4°CA以上であるか否かを判断する。補正遅角量
θKが4°CA未満である場合はメインルーチンへリタ
ーンし、補正遅角量θXが4°CA以上の場合にはステ
ップ161において学習値αを0.04゜CAとしてス
テップ162へ進む。ステップ162では負荷Q/Nが
学習マツプの下限値0 、6 (lj / rev、)
以上であるか否かを判断する。負荷が0.6以上である
場合にはステップ166においてエンジン回転数Nが学
習マツプの下限値1000(rapem)以上であるか
否かを判断し、負荷が0.6未満である場合にはステッ
プ163においてエンジン回転数Nが1000(rap
@ml以下であるか否かを判断する。
Next, a detailed routine of steps 118 to 121 in FIG. 12 is shown in FIG. Note that the register n in FIG. 14 is the register n of the two-dimensional interpolation routine in FIG. 13. First, in step 118, it is determined whether the corrected retard amount θ is equal to or greater than 2° CA in the same manner as described above. If the corrected retard amount θK is less than 2°OA, the learned value α is set to −0.04°CA in step 160, and the process proceeds to step 162. Correction retard amount θK is 2°CA
In the above case, in step 119, the correction retard amount θ
Determine whether X is greater than or equal to 4° CA. If the corrected retard amount θK is less than 4° CA, return to the main routine, and if the corrected retard amount θX is 4° CA or more, set the learning value α to 0.04° CA in step 161 and proceed to step 162. move on. In step 162, the load Q/N is set to the lower limit value of the learning map 0, 6 (lj/rev,)
Determine whether or not the above is true. If the load is 0.6 or more, it is determined in step 166 whether the engine speed N is more than the lower limit value 1000 (rapem) of the learning map, and if the load is less than 0.6, step 166 is performed. At 163, the engine speed N is 1000 (rap
Determine whether it is less than or equal to @ml.

ステップ166においてエンジン回転数Nが1000〔
r−p−m〕未満と判断された場合には、ステップ16
7においてn番地における前回学習された学習遅角量θ
KGn  に学習値αが加算される学習制御が行われ、
ステップ168においてn+1番地における前回学習さ
れた学習遅角量θにG(n++)に学習値αが加算され
る学習制御が行われ、メインルーチンへリターンされる
。ここで上記のように現在のエンジン回転数Nおよび負
荷Q / NがQ / N22.61J’/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], step 16
7, the previously learned learning delay amount θ at address n
Learning control is performed in which learning value α is added to KGn,
In step 168, learning control is performed in which the learned value α is added to G(n++) to the previously learned learning retard amount θ at address n+1, and the process returns to the main routine. Here, as mentioned above, the current engine speed N and load Q/N are Q/N22.61J'/rev,]
If it exists in the area of N (1000 [r - p - m), the value of register n indicating the RAM address can take 0.6.12.18 in the first row, so the current engine If the point indicating the condition exists in the above area, the learning retard amount at address 0°6.12.18 is controlled in step 167, and the learning retard amount at address 1,7.13.19 is controlled in step 168. The amount is controlled by learning.

ステップ166においてエンジン回転数Nが1000(
r−p−m”]以上と判断された場合には、ステップ1
69においてn番地における前回学習された学習遅角量
θK11)に学習値αが加算される学習制御が行われる
。現在のエンジン条件を示す点がQ/N≧0.6 (1
/ rev、)かつN≧1000(r−p−m〕の領域
に存在する場合には、RAMの番地を示すレジスタnの
値はO〜23を取り得るので、ステップ169において
は全ての番地が学習制御の対象になる。次のステップ1
70ではレジスタnの値が23でないか否かを判断する
。レジスタnの値が23でない場合には、ステップ17
1、ステップ173、ステップ174において各々レジ
スタnの値が17でないか否か、11でないか否か、5
でないか否かを判断する。とのレジスタnの値5.11
.17.23は、第6行の番jthを表わしている。レ
ジスタnの値が23であるときは、そのままメインルー
チンへリターンする。このときの23番地の学習遅角量
はステップ169で学習制御されることになる。レジス
タnの値が17.11.5であるときは、ステップ17
2にオイテレシスタnの値を1減少させてステップ17
8においてn+7番地の学習遅角量θxe(n+t>に
学習値αを加算する学習制御を行って、メインルーチン
へリターンする。従って、レジスタnの値が17.11
.5であるときは、ステップ169で17.11.5番
地の学習遅角量が各々制御され、ステップ178におい
て1列上の23.17.11番地の学習遅角量が各々学
習制御されることに々る。
In step 166, the engine speed N is 1000 (
r-p-m”] or more, step 1
In step 69, learning control is performed in which the learning value α is added to the previously learned learning retard amount θK11) at address n. The point indicating the current engine condition is Q/N≧0.6 (1
/rev,) and N≧1000 (r-p-m), the value of register n indicating the RAM address can take a value from 0 to 23, so in step 169 all addresses are Becomes subject to learning control.Next step 1
At step 70, it is determined whether the value of register n is not 23 or not. If the value of register n is not 23, step 17
1. In steps 173 and 174, whether the value of register n is not 17 or 11, respectively, 5
Determine whether or not. The value of register n with 5.11
.. 17.23 represents the number jth on 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. If the value of register n is 17.11.5, step 17
Step 17: Decrease the value of the euteresistor n by 1 to 2.
At step 8, learning control is performed to add the learning value α to the learning retard amount θxe (n+t>) 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 are each controlled in step 169, and the learning retard amounts for addresses 23.17.11 one column above are each controlled in step 178. I'm smiling.

レジスタnの値が23.17.11.5のいずれでもな
いときは、ステップ175においてn+1番地の学習遅
角量θxa (n−+−+ 1に学習値αが加算される
学習制御が行われる。すなわち、2次元補間ルーチンの
ステップ149で求めたRAMの番地が第6行上にない
ときには、ステップ169およびステップ175におい
て、2次元補間ルーチンで求めたRAMの番地とこの番
地の右隣りの番地とが学習制御される。ステップ176
では、レジスタnの値が17未満であるか否かを判断し
、レジスタnの値が17以上である場合にはメインルー
チンへリターンする。すなわち、RAMの番地が第4列
の18〜22であるときは、ステップ169およびステ
ップ175においてレジスタnに記憶された番地とその
右隣りの番地とが学習制御される。一方、レジスタnの
値が17未満であるとき、すなわち現在のエンジン条件
を示す点を囲む4つの番地が存在するときは、ステップ
177でn+6番地の学習遅角量θKG(n+e lに
学習値αを加算する学習制御が行われ、ステップ178
でn+7番地の学習遅角量θKG (n+t )に学習
値αを加算する学習制御が行われる。この結果、現在の
エンジン条件を示す点を囲む4つの番地が存在するとき
には、ステップ169、ステップ175、ステップ17
7およびステップ178において上記4つの番地の学習
遅角量が学習制御される。
When the value of register n is not 23, 17, or 11.5, in step 175, learning control is performed in which the learning value α is added to the learning delay amount θxa (n−+−+ 1) at address n+1. That is, if the RAM address obtained in step 149 of the two-dimensional interpolation routine is not on the sixth row, in steps 169 and 175, the RAM address obtained in the two-dimensional interpolation routine and the address to the right of this address are is learning controlled.Step 176
Then, 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. 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, when the value of register n is less than 17, that is, when there are four addresses surrounding the point indicating the current engine condition, in step 177, the learning retard amount θKG (n+e l is set to learning value α) at address n+6. Learning control is performed to add , and step 178
Then, learning control is performed to add the learning value α to the learning retard amount θKG (n+t) 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 step 178, the learning retard amounts of the four addresses are learning controlled.

ステップ162で負荷が0. fi [: l/rev
、3未満と判断された場合にはステップ163でエンジ
ン回転数が1000(:r−psm)以下か否か判断さ
れ、エンジン回転数が101000(r−p−以下の場
合にはステップ165でレジスタnの値から7減算し、
ステップ178で学習制御を行う。現在のエンジン条件
を示す点がQ/N (0,6[1/rev、 )かつN
≦1000[r−p−m)の領域に存在するときには、
レジスタnの値は0となるため、この場合のステップ1
78では0番地の学習遅角量が学習制御されることにな
る。一方、エンジン回転数Nが1000[rapan:
]を越えているときには、ステップ164においてレジ
スタnの値が5でちるか否かを判断し、5でないときは
ステップ179においてレジスタnの値から6減算し、
ステップ177およびステップ178においてn+6番
地およびn+7番地の学習遅角量を学習制御する。
In step 162, the load is 0. fi [: l/rev
, if it is determined that the engine speed is less than 3, it is determined in step 163 whether the engine rotation speed is 1000 (r-psm) or less, and if the engine rotation speed is 101000 (r-p- or less), the register is Subtract 7 from the value of n,
Learning control is performed in step 178. The point indicating the current engine condition is Q/N (0,6 [1/rev, ) and N
When present in the region of ≦1000 [rpm),
Since the value of register n is 0, step 1 in this case
In step 78, the learning retardation amount at address 0 is subjected to learning control. On the other hand, the engine speed N is 1000 [rapan:
], it is determined in step 164 whether the value of register n is divided by 5, and if it is not 5, 6 is subtracted from the value of register n in step 179,
In steps 177 and 178, learning control is performed on the learning retard amounts at addresses n+6 and n+7.

また、レジスタnの値が5のときにはステップ180で
レジスタnの値から7減算シ、ステップ178において
学習制御を行う。現在のエンジン条件を示す点がQ/N
(0,6(l/ rev、)かつN〉1ooo(r−p
−m)の領域に存在するときには、レジスタ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 n 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〉1ooo(r-p
-m), the value of register n can take the value of the address in the first column, so if the value of register n is 5, the learning delay amount at address 5 is controlled by learning in step 178. , when the value of register n is 0.1.2.3.4, register n is set in step 177 and step 178.
The learning delay amount of the address with the value of and the address to the right of the address is controlled by learning.

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

表 また、第15図に時間経過に対する補正遅角量θK、学
習遅角量θKG、点火時期01gの変動を示す。
In addition, FIG. 15 shows changes in the corrected retard amount θK, learned retard amount θKG, and ignition timing 01g over time.

図から理解されるように、補正遅角量θKが所定範囲の
値のときには学習遅角量θKGは一定であり、補正遅角
量θKが所定範囲を越えたときには学習遅角量θにGが
増加し、補正遅角量θKが所定範囲未満のとき減少して
いる。
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 when the corrected retard amount θK exceeds the predetermined range, the learned retard amount θ increases. and decreases when the corrected retard amount θK is less than a predetermined range.

更に、第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 is always constant whether knocking is likely to occur or knocking is unlikely to occur. .

以上の学習制御ルーチンが行われた後、第17図に示す
軽負荷側の特定番地の学習遅角量を一定にするルーチン
が実行される。このルーチンは、第12図の学習制御ル
ーチンに続くものであり、このルーチン終了後はメイン
ルーチンへ続くものである。ステップ190において、
第1図に示す学習マツプ上の軽負荷側における所定負荷
以下の特定のRAMの番地(本実施例では第1図の斜線
で示す範囲に存在する番地0,1.2.3.4.5.9
.10.11としている)に記憶されている学習遅角量
を所定クランク角(例えば0°CA)に書換える。
After the above learning control routine is performed, a routine shown in FIG. 17 for keeping the learning retard amount at a specific address on the light load side constant is performed. This routine follows the learning control routine shown in FIG. 12, and after this routine ends, the main routine continues. In step 190,
A specific RAM address with a predetermined load or less on the light load side on the learning map shown in FIG. .9
.. 10.11) is rewritten to a predetermined crank angle (for example, 0° CA).

上記のように軽負荷側の特定の学習遅角量を一定値にす
ることによシ、負荷Q/NK対する基本点火進角からの
要求遅角量(θに+θKG)は第18図に示す特性とな
る。第18図はエンジン回転数が2000(r−p・m
〕、4000(r@p@m〕の特性を示すものであるが
、軽負荷側においてはノッキングが発生する点火時期が
基本点火進角より進み側にあシかつ学習遅角量を0°C
Aの一定値にしているため、要求遅角量がQOCAにな
っておシ、遅角量の立上すがスムーズになっていること
が理解される。
By setting the specific learning retardation amount on the light load side to a constant value as described above, the required retardation amount (+θKG for θ) from the basic ignition advance angle for the load Q/NK is shown in Figure 18. Becomes a characteristic. Figure 18 shows the engine speed at 2000 (r-p・m).
], 4000 (r@p@m), but on the light load side, the ignition timing at which knocking occurs is advanced from the basic ignition advance angle, and the learning retardation amount is set to 0°C.
It can be seen that since A is set to a constant value, the required retardation amount is QOCA, and the rise of the retardation amount is smooth.

なお、第19図にエンジン回転数2ooo(r・p *
 m 〕における負荷Q / Nに対するノッキング発
生点火時期の特性曲線を実線で示す。破線は基本点火進
角の特性である。
In addition, Fig. 19 shows the engine rotation speed 2ooo (r・p *
The characteristic curve of the ignition timing at which knocking occurs with respect to the load Q/N at [m] is shown by a solid line. The dashed line is the characteristic of the basic ignition advance angle.

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

第1図は学習マツプを示す説明図、第2図は現在のエン
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図はエンジン回転数と点火時期との関係を示す線図、
第4図は本発明が適用されるエンジンを示す概略図、第
5図は第4図の電子制御回路を示すブロック図、第6図
は30°CA毎の割込みルーチンの流れ図、第7図は時
刻一致割込みAの流れ図、第8図は時刻一致割込みBの
流れ図、第9図はA/D完了割込みルーチンの流れ図、
第10図は4 m5eC毎の割込みルーチンを示す流れ
図、第11図は補正遅角量を更新するルーチンの流れ図
、第12図は学習制御ルーチンの流れ図、第13図は2
次元補間ルーチンの流れ図、第14図は前記学習ルーチ
ンの詳細を示す流れ図、第15図は時間経過に対する補
正遅角量・学習遅角量・点火時期の変動を示す線図、第
16図は第3図と同様のエンジン回転数と点火時期との
関係・補正遅角量および学習遅角量の関係を示す線図、
第17図は特定の学習遅角量を一定値にするためのルー
チンを示す流れ図、第18図は負荷に対する要求遅角量
の特性を示す線図、第19図は負荷に対する点火時期の
特性を示す線図である。 2・・・エアフローメータ、 12・・・燃料噴射弁、 1’8・・・ノッキングセンサ、 32・・・エンジン回転角センサ、 34・・・電子制御回路。 代理人  鵜 沼 辰 之 (ほか2名) 第 11  図 第12図 439− 1.2     1.4 Cノ/reV’)
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 flowchart of an interrupt routine every 30° CA, and FIG. FIG. 8 is a flow chart of time match interrupt A, FIG. 9 is a flow chart of time match interrupt B, and FIG. 9 is a flow chart of A/D 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 retard 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, FIG. 15 is a diagram showing changes in correction retardation amount, learning retardation amount, and ignition timing over time, and FIG. 16 is a flowchart showing the details of the learning routine. A diagram showing the relationship between the engine speed and ignition timing, the relationship between the corrected retard amount and the learned retard amount, similar to Figure 3;
Fig. 17 is a flowchart showing a routine for setting a specific learned retard amount to a constant value, Fig. 18 is a diagram showing the characteristics of the required retard amount with respect to the load, and Fig. 19 shows the characteristics of the ignition timing with respect to the load. FIG. 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 11 Figure 12 439- 1.2 1.4 Cノ/reV')

Claims (3)

【特許請求の範囲】[Claims] (1)  エンジン回転数と負荷とによって定まる基本
点火進角から、ノッキングのレベルを所定レベルにする
ためにエンジン回転数と負荷とによって定t、bかつ学
習制御によって変更される学習遅角量とノッキングが発
生したとき点火時期を遅らせかつノッキングが発生しな
くなったとき点火時期を進める補正遅角量との和を減算
して、ノッキングを制御する内燃機関のノッキング制御
方法において、軽負荷側の所定負荷以下における特定の
学習遅角量を一定の値にすることを特徴とする内燃機関
のノッキング制御方法。
(1) From the basic ignition advance angle determined by the engine speed and load, the learned retard amount is set at a constant value t, b depending on the engine speed and load and is changed by learning control in order to bring the knocking level to a predetermined level. In a knocking control method for an internal combustion engine that controls knocking by subtracting the sum of a correction retard amount that retards the ignition timing when knocking occurs and advances the ignition timing when knocking no longer occurs, a predetermined value on the light load side is used. A knocking control method for an internal combustion engine, characterized in that a specific learning retardation amount is set to a constant value under a load.
(2)  前記一定の値が零である特許請求の範囲第1
項記載の内燃機関のノッキング制御方法。
(2) Claim 1 in which the certain value is zero
Knocking control method for an internal combustion engine as described in .
(3)  前記補正遅角量が所定範囲の値になるように
前記特定の学習遅角量を除く学習遅角量を特徴とする特
許請求の範囲第1項および第2項のいずれか1項記載の
内燃機関のノッキング制御方法。
(3) Any one of Claims 1 and 2, characterized in that the learned retard amount excludes the specific learned retard amount so that the corrected retard amount falls within a predetermined range of values. The described knocking control method for an internal combustion engine.
JP57223204A 1982-12-20 1982-12-20 Knotting control method for internal combustion engine Expired - Lifetime JPH0646023B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57223204A JPH0646023B2 (en) 1982-12-20 1982-12-20 Knotting control method for internal combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57223204A JPH0646023B2 (en) 1982-12-20 1982-12-20 Knotting control method for internal combustion engine

Publications (2)

Publication Number Publication Date
JPS59113267A true JPS59113267A (en) 1984-06-29
JPH0646023B2 JPH0646023B2 (en) 1994-06-15

Family

ID=16794418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57223204A Expired - Lifetime JPH0646023B2 (en) 1982-12-20 1982-12-20 Knotting control method for internal combustion engine

Country Status (1)

Country Link
JP (1) JPH0646023B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4640249A (en) * 1984-06-30 1987-02-03 Nissan Motor Company, Limited System for controlling an ignition timing in an internal combustion engine and method therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4640249A (en) * 1984-06-30 1987-02-03 Nissan Motor Company, Limited System for controlling an ignition timing in an internal combustion engine and method therefor

Also Published As

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

Similar Documents

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