JPS59108872A - Method of controlling knocking of intenal-combustion engine - Google Patents

Method of controlling knocking of intenal-combustion engine

Info

Publication number
JPS59108872A
JPS59108872A JP57218804A JP21880482A JPS59108872A JP S59108872 A JPS59108872 A JP S59108872A JP 57218804 A JP57218804 A JP 57218804A JP 21880482 A JP21880482 A JP 21880482A JP S59108872 A JPS59108872 A JP S59108872A
Authority
JP
Japan
Prior art keywords
learning
value
knocking
register
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.)
Pending
Application number
JP57218804A
Other languages
Japanese (ja)
Inventor
Yuji Takeda
武田 勇二
Toshio Suematsu
末松 敏男
Katsushi Anzai
安西 克史
Yoshiyasu Ito
嘉康 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP57218804A priority Critical patent/JPS59108872A/en
Publication of JPS59108872A publication Critical patent/JPS59108872A/en
Pending legal-status Critical Current

Links

Classifications

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

Landscapes

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

Abstract

PURPOSE:To prevent unnecessary ignition lag by stopping a learning control while ignition timing is being controlled in accordance with engine operating conditions other than knocking. CONSTITUTION:In step 194, four points surrounding a point that indicates the present engine condition, are plotted on a learning map. In steps 195, 196, judgement is made whether or not the compensating quantity on cooling water temperature is stored in a RAM. When the compensating quantity is stored, a learning control is stopped since it is the time when an ignition timing control is carried out in accordance with the cooling water temperature. Thereby, the quantity of learning control is stabilized, preventing variation in ignition timing and unnecessary ignition lag.

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 correction retard 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.

従来の学習制御によるノッキング制御方法は、エンジン
回転数N、、e、入空気址Qとエンジン回転数Nとの比
Q/Nまたは吸気管負圧で定まる負荷によって予め定ま
る基本点火進角θBASK ’iマイクロコンビュ、−
夕のリードオンリメモリ(ROM)にマツプの形で記憶
きせておき、次の(1)式に基いて実際にイグナイタを
制御する点火進角θ1gを演算し、この点火進角を用い
てノッキング制御1を行なうものである。
In the conventional knocking control method using learning control, the basic ignition advance angle θBASK' is determined in advance by the engine speed N, e, the ratio Q/N of the intake air mass Q and the engine speed N, or the load determined by the intake pipe negative pressure. i Microcombu, -
Store it in the read-only memory (ROM) in the form of a map, calculate the ignition advance angle θ1g that actually controls the igniter based on the following equation (1), and use this ignition advance angle to control knocking. 1.

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

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

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

θに←θに+0.4°GA    ・・・・・・・・・
・川・・ +21またピーク値aかに、bの値以下のと
きには、ノッキングが発生しなかったと判断して、第1
のタイマを用いて所定時間(例えば43 m5ec )
経過したか否かを判断し、所定時間経過したときには次
の(3)式に示すように所定クランク角(91えば0.
08゜CA)点火時期が進むように補正遅角量θKを変
更する。
To θ←+0.4°GA to θ ・・・・・・・・・
・River... +21 Also, when the peak value a is below the value b, it is determined that knocking has not occurred, and the first
for a predetermined time (e.g. 43 m5ec) using a timer.
It is determined whether or not the elapsed time has elapsed, and when the predetermined time has elapsed, the predetermined crank angle (91, for example, 0.
08°CA) Change the corrected retard amount θK so that the ignition timing advances.

θに←θに一α08°CA  ・・曲・・・・・・・・
・131また、エンジン条件に応じた学習遅角量θKG
は次のようにして算出される。まず、第1図に示すよう
にエンジン回転数Nと負荷Q / Nとに対応させて学
習遅角量を記憶させる番地θ〜23をマイクロコンピュ
ータのランダムアクセスメモリ(RAM)に用意して学
習マツプを作成しておく。エンジン回転数Nと吸入空気
量Qとを取込み、学習マツプ上において現在のエンジン
条件を示す点(N、Q/N)7il−囲む4点のRAM
の番地を求める。
θ to ← θ to α08°CA...song...
・131 Also, learning retardation amount θKG according to engine conditions
is calculated as follows. First, as shown in Fig. 1, addresses θ to 23 for storing learning retard amounts in correspondence with engine speed N and load Q/N are prepared in the random access memory (RAM) of the microcomputer, and a learning map is created. Create. A point (N, Q/N) that takes in the engine speed N and intake air amount Q and indicates the current engine condition on the learning map - 4 points of RAM surrounding it
Find the address.

今、第2図に示すように現在のエンジン条4千’e示す
点荀囲むRAMの番地がn (n = o、z 、 ・
−−−−−16)、n+1.n+6、n4−7で6す、
番地n[学習遅角量θKGn 、番地n+1に学習遅角
量θKG ln+ 1 )、番地n+6に学習遅角量θ
KGln+61、番地n+7に学習遅角量θKaln+
71が各々記憶されているものとする。そして、番地間
のエンジン回転数の差音X1番地間の負荷の差fY、番
地nと現在のエンジン条件ケ示す点との間のエンジン回
転数の差をX1番番地上現在のエンジン条件を示す点と
の間の負荷の差をyとすれば、以下の(4)〜(6)式
に示す2次元補間法により現在のエンジン条件を示す点
の学習遅角量θKGが求められる。
Now, as shown in Figure 2, the RAM address surrounding the current engine line 4,000'e is n (n = o, z, ・
------16), n+1. n+6, n4-7 is 6,
address n [learning retard amount θKGn, address n+1 is learning retard amount θKG ln+ 1), address n+6 is learning retard amount θ
KGln+61, learning delay amount θKaln+ at address n+7
71 are respectively stored. Then, the difference in engine speed between addresses X1 indicates the difference in load between addresses fY, and the difference in engine speed between address n and the point indicated by the current engine condition indicates the current engine condition at address X1. 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.

そして上記学習マツプの学習制御は、次のようにして行
なわれる。まず、現在のエンジン条件に応じて学習制御
の時間を決定する第2のタイマと、エンジン状態に無関
係に学習制御の時間を決定する第3のタイマと全用意す
る。第2のタイマにょシ所定時間(例えば46 m5e
c )経過したことが検出されたときには、補正遅角量
θKが変更されて所定クランク角(例えば4°GA)i
越えたか否かを判断し、補正遅角量θKが所定クランク
角を越えたときに、上記で説明し次現在のエンジン条件
を示す点を囲む学習マツプ上の4点の学習遅角量に所定
クランク角(例えば0.04°ch)加算する。
The learning control of the learning map is performed as follows. First, a second timer that determines the learning control time depending on the current engine condition and a third timer that determines the learning control time regardless of the engine condition are all prepared. The second timer is set to a predetermined time (for example, 46 m5e).
c) When it is detected that the crank angle has elapsed, the corrected retard amount θK is changed to a predetermined crank angle (for example, 4°GA) i
When the corrected crank angle exceeds the predetermined crank angle, the learning retard amount θK is determined based on the learning retard amount at four points on the learning map surrounding the point indicating the current engine condition described above. Add the crank angle (for example, 0.04°ch).

この結果点火時期が遅れるように学習遅角量が学習制御
される。一方、第3のタイマにより所定時間(例えは1
6sec)経過したことが検出されたときには、ノッキ
ングの有無に無関係に学習マツプ上の全ての番地の学習
遅角量から所定クランク角(例えば0.01°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
When it is detected that 6 seconds) have 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 advanced. The learning delay amount is controlled by learning.

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

また、従来は上記学習制御と併せて、冷却水温が高いと
シリンダ内壁温か高くなりノッキングが発生し易くなる
ため点火進角を所定クランク角逐角はせたシ、冷却水温
が低いときに出力内上等を目的として点火時期を所定ク
ランク角進角させることが行なわれている。
Conventionally, in addition to the learning control described above, when the cooling water temperature is high, the cylinder inner wall temperature increases and knocking is likely to occur, so the ignition advance is increased by a predetermined crank angle. For this purpose, the ignition timing is advanced by a predetermined crank angle.

しかし、かかる従来のノッキング制御方法では、エンジ
ン冷却水温に応じた点火時期制御を行なっているときに
学習遅角量の学習制御が行なわれているため、このよう
なエンジン運転条件で学習制御を行なった後エンジン冷
却水温に応じた点火時期制御を行なわないエンジン運転
条件になったとき、ノッキングが発生したり、またノッ
キング制御時の遅角量を大きくしていた場合には出力の
低下および燃費の悪化が生じる、という問題があった。
However, in such conventional knock control methods, learning control of the learning retard amount is performed when ignition timing control is performed according to engine cooling water temperature, so learning control is not performed under such engine operating conditions. If the engine operating conditions are such that the ignition timing is not controlled according to the engine coolant temperature after the engine cooling water temperature has been reached, knocking may occur, or if the amount of retardation during knocking control is increased, the output may decrease and fuel efficiency may decrease. There was a problem that deterioration occurred.

本発明は上記問題点を解消すべく成されたもので、ノッ
キング以外のエンジン運転条件に応じた点火時期制御を
行なう運転条件からノッキングの制御を行なう運転条件
等に変化した場合においても、ノッキングが発生しない
ように学習制御するノッキング制御方法を提供すること
全目的とする。
The present invention has been made to solve the above-mentioned problems, and even when the operating conditions change from the operating conditions in which ignition timing is controlled in accordance with engine operating conditions other than knocking to the operating conditions in which knocking is controlled, knocking does not occur. The overall purpose is to provide a knocking control method that performs learning control to prevent knocking from occurring.

上記目的を達成するために本発明の構成は、ノッキング
以外のエンジン運転条件に応じてエンジン回転数と負荷
とによって定まる基本点火進角からの遅角量全制御する
と共に、前記基本点火進角からノッキングのレベル金所
定レベルにするためにエンジン回転数と負荷とによって
定まりかつ学習制御によって変更される学習遅角量とノ
ッキングが発生したとき点火時期を遅らせかつノッキン
グが発生しなくなったとき点火時期を進める補正遅角量
との和を減算して、ノッキングを制御する内燃機関のノ
ッキング制御方法において、前記ノッキング以外のエン
ジン運転条件に応じた点火時期制御が行なわれていると
き前記学習遅角量の学習制御音停止するようにしたもの
である。
In order to achieve the above object, the configuration of the present invention is to fully control the amount of retardation from the basic ignition advance angle determined by the engine speed and load according to engine operating conditions other than knocking, and to 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, delays the ignition timing when knocking occurs, and changes the ignition timing when knocking no longer occurs. In a knocking control method for an internal combustion engine, in which knocking is controlled by subtracting the sum of the learning retardation amount and the learning retardation amount, when ignition timing control is performed according to engine operating conditions other than the knocking, the learned retardation amount is This is designed to stop the learning control sound.

上記本発明の構成によれば、誤った学習制御が防止され
るため、出力の低下および燃費の悪化が防止されると共
に、上記のようにエンジン運転条件が変化してもノッキ
ングが発生しない、という特有の効果が得られる。
According to the configuration of the present invention, erroneous learning control is prevented, so a decrease in output and deterioration of fuel efficiency is prevented, and knocking does not occur even if the engine operating conditions change as described above. A unique effect can be obtained.

ところで、第3図に示すように、基本点火進角θBAS
KすなわちM B T (Minimum 5park
 AdvanceFor Be5t Torgue )
は、エンジン回転数に応じて曲113Csのように変化
する。また、空気が湿っている場合等のノッキングが発
生しにくいときの微小ノッキング発生点火時期は曲線C
2のようになり、空気が乾燥している場合等のノッキン
グが発生し易いときの微小ノッキング発生点火時期は曲
線C3のようになる。従って、エンジン回転数や環境条
件によって微小ノッキング発生点火時期が異っている。
By the way, as shown in Fig. 3, the basic ignition advance angle θBAS
K or M B T (Minimum 5park
AdvanceFor Be5t Torgue)
changes like song 113Cs according to the engine speed. In addition, when knocking is difficult to occur, such as when the air is humid, the ignition timing at which slight knocking occurs is curve C.
2, and when knocking is likely to occur, such as when the air is dry, the ignition timing at which minute knocking occurs is as shown by curve C3. Therefore, the ignition timing at which minute knocking occurs varies depending on the engine speed and environmental conditions.

従って、上記のような従来の学習制御によるノッキング
制御方法では、所定時間経過したときにノッキングの有
無と無関係に学習遅角量の全てを独立して学習制御によ
り進角側に変更していたため、遅角側の学習制御の機会
が少ないエンジン条件において学習遅角量が進角側とな
りすぎ、ノッキングが発生する虞れが生じる。また、上
記のように学習遅角量が進角側に学習制御される傾向が
あるため、点火時期を進角側に制御する学習制御の速度
を速く設定することができず、上記第3図に示す場合の
ようにエンジン条件等が変化してノッキングが発生しに
くくなったときに学習遅角量によシ点火時期が遅角しす
ぎることがあり、ノッキングが発生しない領域において
ベストトルクを得られないという虞れが生じる。
Therefore, in the conventional knocking control method using learning control as described above, when a predetermined period of time has elapsed, all of the learning retard angle amounts are independently changed to the advance side by learning control, regardless of the presence or absence of knocking. Under engine conditions where there are few opportunities for learning control on the retard side, the learning retard amount becomes too advanced, and there is a risk that knocking will occur. In addition, as mentioned above, since the learning retardation amount tends to be learned and controlled to the advance side, the learning control speed for controlling the ignition timing to the advance side cannot be set quickly, and as shown in Figure 3 above. When the engine conditions change and knocking becomes less likely to occur, as in the case shown in Figure 2, the ignition timing may be retarded too much depending on the learned retardation amount, and the best torque may not be obtained in the range where knocking does not occur. There is a risk that it will not be possible.

従って、上記本発明の構成における学習制御は、補正遅
角量が所定範囲の値になるように行なうことが好ましい
。また、ノッキング以外のエンジン運転条件としては、
エアコングレツサが作動しているときに点火時期を進角
させる場合等がある。
Therefore, it is preferable that the learning control in the configuration of the present invention is performed so that the corrected retard amount falls within a predetermined range. In addition, engine operating conditions other than knocking include:
There are cases where the ignition timing is advanced while the air conditioner is operating.

次に、本発明が適用されるエンジンの一例を第4図に示
す。このエンジンは図に示すように、エアクリーナー(
図示せず)の下流側に設けられた吸入空気燵センサとし
てのエアフローメータ2を備えている。エアフローメー
タ2は、ダンピングチャンバ内に回動可能に設けられた
コンペンモーショングレート2人と、コンペンセーショ
ンプレート2Aの開度を検出するポテンショメータ2B
とから構成されている。従って、吸入空気IQはポテン
ショメータ2Bから出力される電圧とl−て検出される
、。址た、エアーフローメータ2の近傍には、吸入空気
の温度を検出する吸入空気温センサ4が設けられている
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 as an intake air sensor is provided on the downstream side of the engine (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 plate 2A.
It is composed of. Therefore, the intake air IQ is detected as the voltage output from the potentiometer 2B. 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には、インテー
クマニホールドIOが連結されており、このインテーク
マニホールド10内に突出して燃料噴射弁12が配置さ
れている。インテークマニホールド10は、エンジン本
体14の燃焼室14Aに接続され、エンジンの燃焼室1
4Aはエキゾーストマニホールド16紮介1.て三元触
媒を充填した触媒コンバータ(図示せず)に接続されて
いる。そして、エンジン本体14には、マイクロホン等
で構成された、エンジンの振動全検出するノッキングセ
ンサ18が設けられている。なお、20は点火プラグ、
22は混合気を理論空燃比近傍に制御するための02セ
ンサ、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 IO is connected to the surge tank 8, and a fuel injection valve 12 is disposed to protrude 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 exhaust manifold 16 Kousuke 1. and is connected to a catalytic converter (not shown) filled with a three-way catalyst. The engine body 14 is provided with a knocking sensor 18, which is configured with a microphone or the like, and detects all vibrations of the engine. In addition, 20 is a spark plug,
22 is an 02 sensor for controlling the air-fuel mixture near the stoichiometric air-fuel ratio, and 24 is a cold/hot water temperature sensor for detecting the engine cooling water temperature.

エンジン本体14の点火プラグ20は、ディストリビュ
ータ26に接続され、ディストリビュータ26はイグナ
イタ28に接続されている。このディストリビュータ2
6には、ピックアップとデイストリビューメシャフトに
固定されたシグナルロータとで構成された、気筒判別セ
ンサ3oおよびエンジン回転角センサ32が設けられて
いる。
The spark plug 20 of the engine body 14 is connected to a distributor 26, and the distributor 26 is connected to an igniter 28. This distributor 2
6 is provided with a cylinder discrimination sensor 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へ出力し、このエンジン回転角セン
サazij:、fuえばクランク角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. The angular reference position signal is output to the electronic control circuit 34.

電子制御回路34は、第5図に示すように、ランダム・
アクセス・メモリ(RAM)36と、リード・オンリー
・メモリ(ROM)3Bと、中央処理装置(CP U 
) 40と、りl:I:、/り((:LOCK)41と
、M 1の入出力ボート42と、第2の入出力ボート4
4と、第1の出力ボート46と、第2の出力ボート48
とを含んで構成され、RAM36、ROM38、CPU
40. CLOCK41、it。
The electronic control circuit 34, as shown in FIG.
Access memory (RAM) 36, read only memory (ROM) 3B, and central processing unit (CPU)
) 40, ri l:I:, /ri ((:LOCK) 41, M 1 input/output boat 42, and second input/output boat 4
4, a first output boat 46, and a second output boat 48
RAM36, ROM38, CPU
40. CLOCK41, it.

人出力ボート42、第2の入出力ボート44、第1の出
力ボート46および第2の出力ボート48は、バス50
により接続されている。gtの入出力ボート42には、
バッファ(図示せず)、マルチプレクサ54、アナログ
−ディジタル(A/D)変換器56を介して、エアフロ
ーメータ2、冷却水温センサ24および吸気温センサ4
等が接続されている。このマルチプレクサ54およびA
 / D変換器56は、第1の入出力ボート42から出
力される信号により制御される。第2の入出力ボート4
4には、バッファ(図示せず)およびコンパ゛レータ6
2を介してO,センサ22が接続され、波形整形回路6
4を介して気筒判別センサ30およびエンジン回転角セ
ンサ32が接続されている。
The human output boat 42, the second input/output boat 44, the first output boat 46, and the second output boat 48 are connected to the bus 50.
connected by. The gt input/output boat 42 includes
Through a buffer (not shown), multiplexer 54, and analog-to-digital (A/D) converter 56, air flow meter 2, cooling water temperature sensor 24, and intake air temperature sensor 4 are connected.
etc. are connected. This multiplexer 54 and A
The /D converter 56 is controlled by a signal output from the first input/output port 42. Second input/output boat 4
4 includes a buffer (not shown) and a comparator 6
2, the sensor 22 is connected to the waveform shaping circuit 6.
4, a cylinder discrimination sensor 30 and an engine rotation angle sensor 32 are connected.

また、第2の入出力ボート44には、バンドパスフィル
タ60、ピークホールド回路61、チャンネル切換回路
66およびA / D変換器68を介してノッキングセ
ンサ18が接続されている。このバンドパスフィルタは
積分回路63を介してチャンネル切換回路66に接続さ
れている。このチャンネル切換回路66には、ピークホ
ールド回路61の出力と積分回路63の出力とのいずれ
か一方會A / D変換器68に入力するための第2の
入出力ボート44から出力される制御信号が入力されて
おり、ピークホールド回路61には第2の入出力ボート
44からセット信号が入力されている。また、第1の出
力ボート46は駆動回路70を介してイグナイタ28に
接続され、第2の出力ボート48は駆動回路72を介し
て燃料噴射装置12に接続されている。
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 66 via an integrating circuit 63. This channel switching circuit 66 receives a control signal output from the second input/output port 44 for inputting either the output of the peak hold circuit 61 or the output of the integrating circuit 63 to the A/D converter 68. is input to the peak hold circuit 61, and a set signal is input from the second input/output port 44 to the peak hold circuit 61. Further, the first output boat 46 is connected to the igniter 28 via a drive circuit 70, and the second output boat 48 is connected to the fuel injection device 12 via a drive circuit 72.

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

次に、上記のようなエンジンに本発明を適用した場合の
実施例について詳細に説明する。なお、本発明の詳細な
説明するにあたって、燃料噴射制御、空燃比制御、点火
時期制御のメインルーチン等については従来と同様であ
るので説明を省略し、本発明に関連するノッキング制御
のルーチンのみについて説明する。なお、学習制御は補
正遅角量が所定範囲になるように行なうものについて説
明し、ノッキング以外のエンジン運転条件として冷却水
温に応じて点火時期を遅進角する例について説明する。
Next, an embodiment in which the present invention is applied to the engine as described above will be described in detail. In addition, in explaining the present invention in detail, the main routines of fuel injection control, air-fuel ratio control, ignition timing control, etc. are the same as conventional ones, so the explanation will be omitted, and only the knocking control routine related to the present invention will be explained. explain. The learning control will be described with reference to the example in which the corrected retardation amount is within a predetermined range, and an example in which the ignition timing is retarded in accordance with the coolant temperature as an engine operating condition other than knocking will be described.

第6図は、マイクロコンピュータを用いて本発明を実施
する場合の39’CnA毎の割込みルーチンを示す。ま
ず、ステップ81においてエンジン回転角センサ32か
らの信号に基いて回転時間からエンジン回転数Nを求め
、ステップ82において気筒判別センサ30から気筒判
別信号が入力されてから何番目の割込みかを数えて現在
のクランク角を示すフラグを立てる。次に、ステップ8
3において、ステップ82で立てtこフラグが上死点(
TDC)のフラグであるか否かを判断する。現在上死点
でない場合にはステップ88へ進み、現在上死点である
場合にはステップ84においてノックゲートが閉じてい
るか否かを判断する。ノックゲートが開いているときは
ステップ85においてノックゲートを閉じ、ノックゲー
トが閉じているときはステップ86においてチャンネル
切換回路66を切換えて、ノッキングセンサ18から出
力されるエンジン振動信号をバンドパスフィルタ60、
積分回路63およびチャンネル切換回路66を介してA
 / D変換器68に入力し、エンジン振動の平均値す
なわちバックグラウンドレベルのA / D変換を開始
する。続いて、ステップ87においてノックゲートの閉
時側t1、すなわち次にノックゲートを閉じる時刻を算
出して時刻−散開込みAをセットする。
FIG. 6 shows an interrupt routine for every 39'CnA when the present invention is implemented using a microcomputer. First, in step 81, the engine rotation speed N is calculated from the rotation time based on the signal from the engine rotation angle sensor 32, and in step 82, the number of interruptions after the cylinder discrimination signal is input from the cylinder discrimination sensor 30 is counted. Sets a flag indicating the current crank angle. Next, step 8
3, in step 82 the standing t-coat flag is set to top dead center (
TDC) 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. ,
A via the integrating circuit 63 and channel switching circuit 66
/D converter 68 to begin A/D conversion of the average value of engine vibration, ie, the background level. Subsequently, in step 87, the closing side t1 of the knock gate, that is, the next time to close the knock gate is calculated, and time-opening depth A is set.

次に、ステップ88においてステップ82で立てたフラ
グを基にクランク角が90°CABTDC(上死点前)
になったか否かを判IIする。クランク角が90°CA
D T D Cでないときはステップ91へ進み、90
°CABTDCのとぎはステップ89において補正進角
門θにの更新をすると共に点火時期の計算処理を行なう
(この詳細については以下で説明する。)ステップ90
では、ステップ89で計算した点火時期と現在の時刻と
によりイグナイタ28をオンさせる時刻を求めて時刻−
散開込みBをセットすると共に、イブナイフオンのフラ
グを立てる。そして、ステップ91においてクランク角
が60°CABTDCになったか否かを判断し、60’
CABTDCでない場合にはメインルーテンへリターン
し、60°CABTDCである場合にはステップ92に
おいてイグナイタのオフ時刻を計算して時刻−散開込み
Bをセットし、ステップ90で立てたイブナイフオンの
フラグをおろす。
Next, in step 88, the crank angle is set to 90° CABTDC (before top dead center) based on the flag set in step 82.
Judgment II is made to see if it has become. Crank angle is 90°CA
If not D T D C, proceed to step 91;
°CABTDC is adjusted in step 89 by updating the corrected advance angle θ and calculating the ignition timing (details of this will be explained below) in step 90.
Now, use the ignition timing calculated in step 89 and the current time to find the time to turn on the igniter 28, and set the time -
At the same time as setting the opening and opening B, the flag for Eve Knife On is set. Then, in step 91, it is determined whether or not the crank angle has reached 60° CABTDC.
If it is not CABTDC, return to the main routine, and if it is 60° CABTDC, calculate the igniter off time in step 92, set time-opening B, and set the evening knife on flag set in step 90. Take it down.

次に第7図に示す時刻−散開込みAについて説明する。Next, the time-opening and opening A shown in FIG. 7 will be explained.

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

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

第9図は、A/D変換完了割込みルーチンを示すもので
あり、バックグラウンドレベルのA / D変換および
ピークホールド値のA / D変換が完了したときにこ
の割込みが行なわれる。まず゛、ステツブ97において
現在ノックゲートが開いているか否かを判断する。ノッ
クゲートが閉じているときには、ステップ98において
第6図のステップ86で変換したA / D変換値をR
AM36のメモリに記憶してバックグラウンドレベル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, it is determined in step 97 whether or not the knock gate is currently open. When the knock gate is closed, in step 98, the A/D conversion value converted in step 86 of FIG.
Store in AM36 memory and set background level b
Then, in step 99, the knock gate is opened and the process returns to the main routine. On the other hand, when the knock gate is open, the A converted in step 93 of FIG.
/ The D conversion value is stored in the memory of the RAM 36 as the peak value a, the knock gate is closed in step 101, and the process returns to the main routine.

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

次のステップ104において、カウンタTIMEIのカ
ウント値が12 (48m5ec )以下になっている
か否かを判断する。カウント値が12を越えているとき
にはステップ105においてカウンタTIMEtのカウ
ント値を12とし、カウント値が12以下のときにはス
テップ106においてカラ/りTIME2のカウント値
が12以下になっているか否かを判断する。ここで、カ
ウント値が12を越えているときにはステップ107に
おいてカウンタTIMT!2のカウント値を12として
メインルーチンへリターンし、カウント値が12以下の
In the next step 104, it is determined whether the count value of the counter TIMEI is less than or equal to 12 (48m5ec). If the count value exceeds 12, the count value of the counter TIMEt 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 color/time2 is 12 or less. . Here, if the count value exceeds 12, in step 107, the counter TIMT! The count value of 2 is set to 12 and the process returns to the main routine, and the count value is 12 or less.

ときにはメインルーチンへリターンする。Sometimes it returns to the main routine.

次に第6図のステップ89の詳細なルーテ/を第11図
に基いて説明する。第6図のステップ88でクランク角
が90°CABTDCになったと判断されると、ステッ
プ122において負荷が0.6〔l/rev〕以上か、
すなわちノッキング制御領域か否かを判断する。ノッキ
ング制御領域でないときはステップ123で基本点火進
角θBA81Cヲ点火進角01gとし、ノッキング制御
領域であるときはステップ108において、第9図のス
テップ100で記憶されたピーク値aと、第9図のステ
ップ98で記憶されたバックグラウンドレベルbに定数
kを乗算した値に−bとを比較する。ピーク値aが値k
l)を越えているとぎにはノッキングが発生したと判断
して、ステップ110において補正遅角量θKを所定角
(レリえば0.4°CA)増加させ1ステツグ112に
おいてノッキングが発生しない時間をカウントするカウ
ンタT工MFIIのカウント値をクリアする。一方、ピ
ーク値aが値ktl以丁のときにはノッキングが発生し
ないと判断して、ステップ109におい℃カウンタT工
MKtのカウント値が所定値(12)以上になっている
か否かを判断し、カウント値が所定値以上になっている
とぎにはノッキングの発生しない状態が所定時間経続し
ていることからステップ111において補正遅角量θK
を所定角(if!lえばo、o s’CA )減少させ
た後、ステップ112でカウンタTIME1をクリアす
る。また、ステップ109においてカウント値が所定値
未満であるとぎには、ステップ125へ進む。ステップ
125では、次の(7)式に従って進角量θを算出した
後、ステップttaへ進む。
Next, the detailed route of step 89 in FIG. 6 will be explained based on FIG. 11. When it is determined in step 88 of FIG. 6 that the crank angle has reached 90° CABTDC, step 122 determines whether the load is 0.6 [l/rev] or more.
In other words, it is determined whether or not the knocking control area is reached. If it is not in the knocking control region, the basic ignition advance angle θBA81C is set to 01g in step 123, and if it is in the knocking control region, in step 108, the peak value a stored in step 100 in FIG. The value obtained by multiplying the background level b stored in step 98 by a constant k is compared with -b. The peak value a is the value k
l), it is determined that knocking has occurred, and in step 110 the correction retard amount θK is increased by a predetermined angle (by 0.4° CA), and in one step 112, the time during which knocking does not occur is determined. Clear the count value of the counter MFII. On the other hand, when the peak value a is equal to or greater than the value ktl, it is determined that knocking does not occur, and in step 109, it is determined whether the count value of the °C counter MKt is equal to or greater than a predetermined value (12), and the When the value is greater than or equal to the 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 determined.
After decreasing by a predetermined angle (if!l, o, o s'CA), the counter TIME1 is cleared in step 112. Further, if the count value is less than the predetermined value in step 109, the process proceeds to step 125. In step 125, the advance angle amount θ is calculated according to the following equation (7), and then the process proceeds to step tta.

θ←θBAE!I−θHOT+θC0LD   ・・・
・・・・・・・・・(7まただし、θHOTは冷却水温
が高い場合の進角量の補正値であり、θC0LDは冷却
水温が低〜・場合の進角量の補正値である。これらの補
正値θHOT 。
θ←θBAE! I-θHOT+θC0LD...
(7) However, θHOT is a correction value for the advance angle amount when the cooling water temperature is high, and θC0LD is a correction value for the advance angle amount when the cooling water temperature is low to -. These correction values θHOT.

θC0LDの算出ルーチンについては後で説明する。The calculation routine for θC0LD will be explained later.

上記のステップ113では、上記のようにして求められ
た補正遅角量θにと学習マツプから2医大進角01gを
算出する。
In step 113 described above, the second medical school advance angle 01g is calculated from the corrected retardation amount θ obtained as described above and the learning map.

次に学習マツプから現在のエンジン条件に対応する学習
遅角量θ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で、負荷に基いてノッキング制御
領域か否かを判断し、ノッキング制御領域でないときは
メインルーチンへ進み、ノッキング制御領域であるとき
はステップ114においてエンジン回転数Nと負荷Q 
/ Nとで定まる現在のエンジン条件を示す点を囲む4
点のRAMの番地を学資マツプ上に求める。次にステッ
プ115において、求めた4点のRAMの番地に記憶さ
れているデータ、すなわち4点のRAMの番地に記憶さ
れている学習遅角量を基に2次元補間法(2次元補間法
のルーチンは後で説明する)により、現在のエンジン条
件を示す点の学習遅角量θKGを算出し、算出した値を
RAMの所定場所に記憶する。
First, in step 124, it is determined whether or not the knocking control region is reached based on the load. If it is not the knocking control region, the process proceeds to the main routine, and if it is in the knocking control region, the engine speed N and the load Q are determined in step 114.
4 surrounding the point indicating the current engine condition determined by /N.
Find the RAM address of the point on the school funds map. Next, in step 115, a two-dimensional interpolation method (two-dimensional interpolation method (The routine will be explained later) calculates the learning retardation amount θKG at the point indicating the current engine condition, and stores the calculated value in a predetermined location in the RAM.

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

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

この結果、補正遅角量θKが所定範囲の値をとるときは
学習制御されず、学習遅角量によっては点火時期が変更
さ゛れない。なお、補正遅角量が所定範囲の値をとると
きにおいても、必要に応じて学習制御するようにしても
よい。ステップ119において補正遅角量θKが第2の
所定クランク角以上と判断された場合には、ステップ1
20において現在のエンジン条件を示す点を囲む学習マ
ツプ上の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 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 1
At step 20, learning control is performed to add a predetermined crank angle (for example, 0.04° CA) to each of the learning retard amounts stored at the 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図ステップttSの2次元補間法の
詳細なルーチンを示すものである。この2次元補間ルー
チンにおいて、学習マツプとして第1図に示したマツプ
を使用し、現在のエンジン条件を示す4点のRAMの番
地を第2図に示すようにn、n+ l、n + 6、n
4−7とする。まず、ステップ130において、現在の
負荷Q/NIJ’学習マツプ上の負荷の上限値すなわち
1.2 (1/rθv、)以下であるか否かを判断する
。負荷が1.2(J/rev、)を越えている場合には
ステップtatでレジスタnに1.2を記憶し、負荷が
1.2 C−t/rθV・〕以下である場合にはステッ
プ134で現在の負荷Q/Nの値をレジスタnに記憶す
る。ステップ135でをま現在のエンジン回転数Nが学
習マツダ上のエンジン回転数の上限値すなわち6000
 (r、p、m、:3以下であるか否かを判断する。エ
ンジン回転数が6000〔rpm〕を越えている場合に
はステップ136でレジスタmに6000を記憶し、エ
ンジン回転数が6000(rpm)以下である場合には
ステップ137で現在のエンジン回転数Nの値をレジス
タmに記憶する。ステップ13Bでは、レジスタnの値
が学習マツプ上の負荷の下限値すなわち0.6 [t/
rθ■]以上であるか否かを判断し、レジスタnの値が
0.6未満であるときにはステップ139においてレジ
スタnの値を0.6とし、レジスタnの値が0・6以上
であるときにはステップ14.OK進む。
FIG. 13 shows a detailed routine of the two-dimensional interpolation method of step ttS in 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 determined as n, n + l, n + 6, and n + 6 as shown in Figure 2. n
The score shall be 4-7. First, in step 130, it is determined whether the current load is less than the upper limit of the load on the Q/NIJ' learning map, that is, 1.2 (1/rθv,). If the load exceeds 1.2 (J/rev, ), store 1.2 in register n in step tat, and if the load is less than 1.2 C-t/rθV. At 134, the current load Q/N value is stored in register n. In step 135, the current engine speed N is the upper limit of the engine speed on the learning Mazda, which is 6000.
(r, p, m,: Determine whether or not it is 3 or less. If the engine speed exceeds 6000 [rpm], 6000 is stored in register m in step 136, and the engine speed is set to 6000 [rpm]. (rpm) or less, the value of the current engine speed N is stored in register m in step 137. In step 13B, the value of register n is set to the lower limit of the load on the learning map, that is, 0.6 [t /
rθ■] or more, and if the value of register n is less than 0.6, the value of register n is set to 0.6 in step 139, and if the value of register n is 0.6 or more, the value of register n is set to 0.6. Step 14. OK proceed.

そしてステラ1140では、レジスタmの値が学習マッ
グ上のエンジン回転数の下限値すなわち1ooo(rp
m)以上であるか否かを判断し、レジスタ川の値カ10
00未満であるときにはステップ141においてレジス
タmの値をtoooとし、レジスタmの値が1000以
上であるときには次のステップ142に進む。以上の結
果、現在のエンジン回転数Nおよび負荷Q、 / Nが
学習マツプ上の値であるときにはその値がレジスタmお
よびnに各各記憶され、現在のエンジン回転数Nおよび
負荷Q/Nが学習マツプの上下限値を越えているときに
は上下限値がレジスタmおよびnに各々記憶される。
In Stella 1140, the value of register m is the lower limit of engine rotation speed on the learning mag, that is, 1ooo(rp
m) Determine whether or not the value is greater than or equal to the value of register river 10.
If the value is less than 00, the value of the register m is set to tooo in step 141, and 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 When the upper and lower limits of the learning map are exceeded, the upper and lower limits are stored in registers m and n, respectively.

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

まず、ステップ142においてレジスタnの値から0番
地の負荷の値o、61:t/rθv〕°を減算した値を
レジスタnに記憶させる。次に、ステップ143におい
てレジスタnの値を負荷の目盛り間隔である0、2〔ψ
θV〕で除算し、その商の整数部をレジスタnに記憶さ
せると共に商の余りをレジスタyに記憶させる。このレ
ジスタyの値は、第2図のn番地から現在のエンジン条
件を示す点までの負荷の値yに等しい。また、レジスタ
nに記憶された商の整数部は、現在のエンジン条件を示
す点に最も近くかつ現在のエンジン条件を示す点以下の
番地の列、(番地の横方向の並び、例えば0〜5番地の
並びを第1列とする)の列番を示している。
First, in step 142, the value obtained by subtracting the load value o, 61:t/rθv]° 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 0, 2 [ψ
θV], the integer part of the quotient is stored in register n, and the remainder of the quotient is stored in register y. The value of this register y is equal to the load value y from address n in FIG. 2 to the point representing the current engine condition. In addition, the integer part of the quotient stored in register n is the column of addresses closest to the point indicating the current engine condition and below the point indicating the current engine condition (horizontal sequence of addresses, e.g. 0 to 5). The first column is the address sequence).

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

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

(rp、m )を減算した値をレジスタmに記憶させる
The value obtained by subtracting (rp, m ) is stored in register m.

次に、ステップ146においてレジスタmの値をエンジ
ン回転数の目盛り間隔である1 000 (r、p、m
)で除算し、その商の整数部をレジスタmに記憶させる
と共に商の余りをレジスタXに記憶させる。
Next, in step 146, the value of register m is set to 1 000 (r, p, m
), 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、I2.18番地の並びを第1行とする)の付
番を示している。
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, for example, 0.6, The first row is the sequence of addresses I2.18).

そして、ステップ147においてレジスタXの値を更に
tooo(r−nm)で除算しておく。従って、最終的
にレジスタXには前述した(4)、(5)式のx/Xに
対応した値が記憶されている。
Then, in step 147, the value of register X is further divided by too(r-nm). Therefore, the value corresponding to x/X in the above-mentioned equations (4) and (5) is finally stored in register X.

次にステップ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番地に記憶されている学習遅角量θ
xatn−zlを続出してレジスタBに記憶させ、n+
6番地に記憶されている学習遅角量θKGln+fil
を読出してレジスタCに記憶させ、そしてn+7番地に
記憶されている学習遅角量ジスタBの値を減算してレジ
スタXの値を乗算し、更にその値にレジスタAの値を加
算してレジスタEに記憶させる。また、ステップ152
においてレジスタCの値からレジスタDの値を減算して
レジスタXの値を乗算し、更にその値にレジスタCの値
を加算してレジスタFに記憶させる。そして最後にステ
ップ153において、レジスタEの値からレジスタFの
値を減算してレジスタyの値を乗算し、更にその値にレ
ジスタEの値を加算して、現在のエンジン条件を示す点
の学習遅角量θKGとする。
In step 150, the learning retard amount θKGn stored at address n on the learning map is read out from the register A.
The learning delay angle θ stored at address n+1
xatn-zl is successively stored in register B, and n+
Learning retardation amount θKGln+fil stored at address 6
is read out and stored in register C, and the value of learning retard amount register B stored at address n+7 is subtracted, multiplied by the value of register Let E memorize it. Also, step 152
Then, 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 F. Finally, in step 153, the value of register F is subtracted from the value of register E, multiplied by the value of register y, and the value of register E is added to that value to learn a point indicating the current engine condition. Let the retard amount be θKG.

次に、第12図のステップttS〜ステップ121の詳
細なルーチンを第14図に示す。なお、第14図におけ
るレジスタnは紀13図の2次元補間ルーチンのレジス
タnを用いる。まず、ステップttSにおいて、前記と
同様に補正遅角量θKが2°CA以上であるか否かを判
断する。補正遅角量θKが2°CA未満であるときには
ステップ160において学習値αを−0,04°CAと
してステップ162へ進む。補正遅角量θKが2°CA
以上の場合には、ステップ119において補正遅角mθ
Kが4°CA以上であるか否かを判断する。補正遅角量
θKが4°ch未満である場合はメインルーチンヘリタ
ーンし、補正遅角量θKが4°CA以上の場合にはステ
ップ161において学習値αを0゜04’CAとしてス
テップ162へ進む。ステップ162では負荷Q/Nが
学習マツプのT″限値0.6 (j/rev、’:1以
上であるか否かを判断する。負荷が0.6以上である場
合にはステップ166においてエンジン回転数Nが学習
マツプの下限値1oooCr、pm)以上であるか否か
を判断し、負荷が0.6未満である場合にはステップ1
63においてエンジン回転数Nがt o o o [:
r、p、m )以下であるか否かを判断する。
Next, a detailed routine from step ttS to step 121 in FIG. 12 is shown in FIG. 14. Note that the register n in FIG. 14 is the register n of the two-dimensional interpolation routine in FIG. 13. First, in step ttS, it is determined whether the corrected retard amount θK is equal to or greater than 2° CA, as described above. When the corrected retard amount θK is less than 2° CA, 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 angle mθ
Determine whether K is greater than or equal to 4° CA. If the corrected retard amount θK is less than 4°ch, return to the main routine, and if the corrected retard amount θK is 4°CA or more, set the learned value α to 0°04'CA in step 161 and proceed to step 162. move on. In step 162, it is determined whether the load Q/N is greater than or equal to the learning map's T'' limit value 0.6 (j/rev,':1. If the load is greater than or equal to 0.6, in step 166 It is determined whether the engine speed N is equal to or higher than the lower limit of the learning map (1oooCr, pm), and if the load is less than 0.6, step 1
At 63, the engine speed N is t o o o [:
r, p, m) or less.

ステップ166においてエンジン回転数Nが10 o 
o (r、p、m )未満と判断された場合には、ステ
ップ167においてn番地における前回学習された学習
遅角量θKGHに学習値αが加算される学習制御が行な
われ、ステップ168においてn+を番地における前回
学習された学習遅角量θxa ln+ 11に学習値α
が加算される学習制御が行なわれ、メインルーチンへリ
ターンされる。ここで上記のように現在のエンジン回転
数Nおよび負荷Q / NがGl / N22.6 [
j/rev、]かつN<tooo(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 10 o
o (r, p, m), in step 167 learning control is performed in which the learning value α is added to the previously learned learning retard amount θKGH at address n, and in step 168 The learning delay angle θxa ln+ 11 is the learning value α that was learned last time at the address.
A learning control is performed in which the value is added, and the process returns to the main routine. Here, as mentioned above, the current engine speed N and load Q/N are Gl/N22.6 [
j/rev,] and N<too(r, p, m), register n indicating the address of RAM.
Since the value of can take the value 0.6.12.18 in the first row, if a point indicating the current engine condition exists in the above region, the 0.6.12.18 point is learned in step 167. The amount of retardation is controlled by learning, and in step 168 1.7.13.
The learning retardation amount of the 19 points is controlled by learning.

ステップ166においてエンジン回転数Nが1ooo(
rpm)以上と判断された場合には、ステップ169に
おいてn番地における前回学習された学習遅角量θKG
に学習値αが加算される学習制御が行なわれる。現在の
エンジン条件を示す点がQ / N22.6 (j/r
ev )かつN22000(rpm:1の領域に存在す
る場合には、RAMの番地を示すレジスタnの値はθ〜
23を取り得るので、ステップ169においては全ての
番地が学習制御の対象になる。次のステップ170では
レジスタnの値が23でないか否かを判断する。レジス
タnの値が23でない場合には、ステップ171、ステ
ップ173、ステップ174において各々レジスタnの
値が17でないか否か、11でな〜・か合力)、5でな
いか否かを判断する。このレジスタnの値5、tt、t
’;r、23は、第6行の番地を表わしている。レジス
タnの値が23であるときは、そのままメインルーチン
へリターンする。このときの23査地の学習遅角量はス
テップ+69で学習制御されることになる。レジスタn
の値が17、tt、Sであるときは、ステップ172に
お〜九てレジスタnの値を1減少させてステップ178
においてn+7番地の学習遅角量θK a (n + 
71に学習値αを加算する学習制御を行なって、メイン
ル−チンヘリターンする。従って、レジスタnの値が1
7.11,5であるときは、ステップ169で17.1
1.5番地の学習遅角量が各々学習制御され、ステップ
178において1列上の23.17.11査地の学習遅
角量が各々学習制御されることになる。
In step 166, the engine speed N is 1ooo (
rpm) or more, in step 169, the previously learned learning retard amount θKG at address n is determined.
Learning control is performed in which a learning value α is added to . The point indicating the current engine condition is Q/N22.6 (j/r
ev ) and N22000 (rpm: 1), the value of register n indicating the RAM address is θ~
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 not 23 or not. If the value of register n is not 23, it is determined in step 171, step 173, and step 174 whether the value of register n is not 17, 11 (or resultant), and 5, respectively. The value of this register n is 5, tt, t
';r, 23 represents the address of the 6th line. When the value of register n is 23, the process directly returns to the main routine. At this time, the learning retardation amount for the 23 locations is subjected to learning control in step +69. register n
When the value of is 17, tt, S, the value of register n is decreased by 1 in steps 172 to 9, and step 178 is performed.
The learning delay angle θK a (n +
Learning control is performed to add the learning value α to 71, and the process returns to the main routine. Therefore, the value of register n is 1
7.11.5, step 169 sets 17.1.
The learning retard amounts for address 1.5 are each subjected to learning control, and in step 178, the learning retard amounts for address 23.17.11 one column above are subjected to learning control.

レジスタnの値が23.17.1115のいずれでもな
いときは、ステップ175においてn+を番地の学習遅
角量θKGtn+1)に学習値αが加算される学習制御
が行なわれる。すなわち、2次元補間ルーテンのステッ
プ149で求めたRAMの番地が第6行上にないときに
は、ステップ169およびステップ璽75において、2
次元補間ルーチンで求めたRAMの番地とこの番地の右
隣りの番地とが学習制御される。ステップ116では、
レジスタnの値が17未満であるか否かを判断し、レジ
スタnの値が17以上である場合にはメインルーテンヘ
リターンする。すなわち、RAMの番地が纂4列の18
〜22であるときは、ステップ169およびステップ1
75においてレジスタnに記憶された番地とその右隣り
の番地とが学習制御される。−万、レジスタnの値が1
7未満であるとき、すなわち現在のエンジン条件を示す
点を囲む4つの番地が存在するときは、ステップ177
でn千6番地の学習遅角量θKG(n+6)に学習値α
を加算する学習制御が行なわれ、ステップ178でn+
7m地の学習遅角量θKG(n+ 7)に学習値αを力
n算する学習制御が行なわれる。この結果、現在のエン
ジン条件を示す点を囲む4つの番地が存在するときには
、ステップ169、ステップ175、ステップ177お
よびステップ178にお〜1て上記4つの番地の学習遅
角量が学習制御される。
When the value of register n is not 23.17.1115, learning control is performed in step 175 in which n+ is added to the learning retard amount θKGtn+1) of the address and the learning value α. That is, when the RAM address obtained in step 149 of the two-dimensional interpolation routine is not on the sixth row, the second
Learning control is performed on the RAM address obtained by the dimensional interpolation routine and the address to the right of this address. In step 116,
It is determined whether the value of register n is less than 17, and if the value of register n is 17 or more, the process returns to the main routine. In other words, the RAM address is 18 in four columns.
~22, step 169 and step 1
At 75, the address stored in register n and the address to the right of the address are subjected to learning control. -10,000, the value of register n is 1
If it is less than 7, that is, there are four addresses surrounding the point representing the current engine condition, step 177
Then set the learning value α to the learning delay amount θKG(n+6) at address n16.
Learning control is performed to add n+ in step 178.
Learning control is performed in which the learning value α is calculated by the learning retardation amount θKG (n+7) at 7 m ground. As a result, when there are four addresses surrounding the point indicating the current engine condition, the learning retard amounts of the four addresses are learning-controlled in steps 169, 175, 177, and 178. .

ステップ+62で負荷が0.6 Ci/rev 〕未満
と判断された場合にはステップ163でエンジン回転数
がzooo (rpm 3以下か否か判断され、エンジ
ン回転数がIooo (rpm )以下の場合にはステ
ップ165でレジメ7nの値から7減算し、ステップ1
78で学習制御を行なう。現在のエンジン条件を示す点
がQ/ N (0,6(1/rev :]力・つN≦1
000 (rpm )の領域に存在するときには、レジ
スタnの値はOとなるため、この場合Q)ステップ17
8では0番地の学習遅角量が学習制御されることになる
。一方、エンジン回転数Nが1000[rpm ]を越
えているときには、ステラツー164においてレジスタ
nの値が5であるか否かを判断し、5でないときはステ
ップ179にお℃・てレジスタnのイ直から6減算し、
ステツブ亀77およびステップ178においてn+Ft
番地およびn+7番地の学習遅角量を学習制御する。ま
た、レジスタnの値が5のときにはステップ180でレ
ジスタnの値から7減算し、ステラll78において学
習制御を行なう。現在のエンジン条件を示す点がQ /
 N (0,6(i/rev )かつN ) 100 
o[:r−pm]の領域に存在するときには、レジスタ
nの値は第1列の番地の値を取り得るため、レジスタn
の値が5のときはステップ17Bで5番地の学習遅角量
が学習制御され、レジスタnの値が0,1,2.3.4
のときはステップ1フ7およびステップ178において
レジスタnの値の番地とその右隣りの番地の学習遅角量
が学習制御される。
If it is determined in step +62 that the load is less than 0.6 Ci/rev, it is determined in step 163 whether the engine speed is 3 or less. In step 165, subtract 7 from the value of regimen 7n, and in step 1
Learning control is performed at 78. The point indicating the current engine condition is Q/N (0,6 (1/rev:] force・tsuN≦1
000 (rpm), the value of register n is O, so in this case Q) Step 17
At No. 8, the learning delay amount at address 0 is subjected to learning control. On the other hand, when the engine speed N exceeds 1000 [rpm], the Stellar Two 164 judges whether the value of the register n is 5 or not. Subtract 6 from direct,
n+Ft at step turtle 77 and step 178
The learning delay amount of the address and n+7 address is controlled by learning. Furthermore, 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 stellar 1178. The point indicating the current engine condition is Q/
N (0,6(i/rev) and N) 100
o[:r-pm], the value of register n can take the value of the address in the first column.
When the value of is 5, the learning delay amount at address 5 is controlled by learning in step 17B, and the value of register n is 0, 1, 2, 3, 4.
In this case, in Step 1F7 and 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.

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

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

表 更に、第16図にエンジン回転数に対応する点火時期の
変動を示す。第16図において曲線C0〜C8は第3図
のものと同一であり、ノッキングが発生し易い場合でも
ノッキングが発生しにくい場合でも補正遅角量θKが常
に一定になっていることが理解される。
Furthermore, FIG. 16 shows the variation in ignition timing corresponding to the engine speed. In FIG. 16, the curves C0 to C8 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. .

次に、第18図を用いてエンジン冷却水温による進角量
の補正値θHOT 、θcot、o”l算出するメイン
ルーチンを説明する。
Next, the main routine for calculating the advance angle correction values θHOT, θcot, and o''l based on the engine cooling water temperature will be explained using FIG.

せておく。このマツプを作成するにあたっては、冷却水
温が高いほどノッキングが発生し易いため高温側の補正
音を小とし、低温側の補正量を大としておく。ステップ
tst、t8a、185において、現在の水温Tがマツ
プ上の水温W1、W、、W、のどの範囲であるかを判断
する。そして、T≦W、の場合にはステップ182で補
正量θ、を補正値θCo LDとし、W、(T≦W、の
場合にはステップ+84で次の(8)式の補間計算によ
り補正値θC0LDを算出して、ステップ190へ進む
I'll leave it there. In creating this map, since knocking is more likely to occur as the cooling water temperature is higher, the correction sound on the high temperature side is made small and the correction amount on the low temperature side is made large. In steps tst, t8a, 185, it is determined in which range of water temperatures W1, W, . . . W on the map the current water temperature T falls. When T≦W, the correction amount θ is set as the correction value θCoLD in step 182, and when W, (T≦W, the correction value is calculated by interpolation using the following equation (8) in step +84. Calculate θC0LD and proceed to step 190.

し、ステップ190へ進む。また、WI≦Tの場合には
ステップ+89で補正値θC0LDを0としてステップ
190へ進む。ステップ190では現在の第19図は、
学習制御を行なうか否かを判断するルーチンをメインル
ーチンの途中から示すものである。ステップ194にお
いて現在のエンジン条件を示す点を囲む4点を学習マツ
プ上に求め、ステップ195.196において冷却水温
に関する補正量θC0LD 、  θHOTがOでない
か否か、すなわち第18図のルーチンで求めた補正量が
RAMに記憶されているか否かを判断する。補正量θC
0LD。
Then, the process proceeds to step 190. If WI≦T, the correction value θC0LD is set to 0 in step +89 and the process proceeds to step 190. In step 190, the current figure 19 is
The routine for determining whether or not to perform learning control is shown from the middle of the main routine. In step 194, four points surrounding the point indicating the current engine condition are found on the learning map, and in steps 195 and 196, it is determined whether or not the correction amounts θC0LD and θHOT regarding the cooling water temperature are not O, that is, they are found using the routine shown in FIG. It is determined whether the correction amount is stored in the RAM. Correction amount θC
0LD.

θHOTのいずれかが記憶されている場合には冷却水温
に応じた点火時期制御を行なう場合であるため、学習制
御することなく次のルーチンへ進み、補正量θC0LD
 、θHOTのいずれも記憶されていない場合にはステ
ップ197において前述したように現在のエンジン条件
を示す点を囲む4点の学習制御を行なって、次のルーチ
ンへ進む。
If either θHOT is stored, the ignition timing is controlled according to the cooling water temperature, so the process proceeds to the next routine without learning control and the correction amount θC0LD is performed.
, θHOT are not stored, in step 197, learning control is performed on the four points surrounding the point indicating the current engine condition as described above, and the process proceeds to the next routine.

以上説明したように本発明の上記実施例によれば、補正
遅角量が所定範囲のとき学習制御をしないようにしたた
め、学習遅角値が安定して点火時期の変動、すなわちト
ルクの変動が少なくなる、という効果が得られる。
As explained above, according to the above embodiment of the present invention, learning control is not performed when the corrected retard amount is within a predetermined range, so that the learned retard value is stabilized and fluctuations in ignition timing, that is, fluctuations in torque, are prevented. This has the effect of reducing the amount of

なお、上記の実施例においては、学習制御として補正遅
角量を所定範囲に制御する場合について説明したが、本
発明はこれに限定されるものではなく、従来の学習制御
やその他の学習制御を使用できるものである。
In addition, in the above embodiment, the case where the corrected retardation amount is controlled within a predetermined range as learning control has been described, but the present invention is not limited to this, and the present invention is not limited to this, and the present invention is not limited to this. It can be used.

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

第1図は学習マツダを示す説明図、第2図は現在のエン
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図はエンジン回転数と点火時期との関係を示す線図、
第4図は本発明が適用されるエンジンを示す概略図、第
5図は第4図の電子制御回路を示すブロック図、第6図
は30°CA毎の割込みルーチンの流れ図、第7図は時
刻一致割込みAの流れ図、第8図は時刻一致割込みBの
流れ図、第9図はA / D完了側込みルーチンの流れ
図、給10図は4m(8)毎の割込みルーチンを示す流
れ図、第11図は補正遅角量を更新するルーチンの流れ
図、第12図は学習制御ルーチンの流れ図、第13図は
2次元補間ルーチンの流れ図、第14図は前記学習ルー
チンの詳細を示す流れ図、第15図は時間経過に対する
補正遅角量・学習遅角量・点火時期の変動を示す線図、
第16図は縞3図と同様のエンジン回転数と点火時期と
の関係・補正遅角量および学習遅角量の関係を示す線図
、第17図は冷却水温圧よる補正量θC0LDのマツプ
を示す線図、第18図は冷却水温による補正量を算出す
るルーテンの流れ図、第19図は学習制御するか否かの
判断をするルーチンの流れ図である。 2・・・エアフローメータ、+2・・・燃料噴射弁、1
8・・・ノッキングセンサ、 32・・・エンジン回転角上ンサ、 34・・・電子制御回路。 代理人  鵜  沼  辰  之 ご1■Xニラ62 第1図 第2図 第3図 エツジ“シロ転(文 第6図 第7図    第8図 第9図 第11図 第12図 第15図 第16図 1シジシ回中l\ 第18図 第19図
Figure 1 is an explanatory diagram showing the learning Mazda, Figure 2 is an explanatory diagram showing a point indicating the current engine condition and 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. Figure 8 is a flowchart of time coincidence interrupt A, Figure 8 is a flowchart of time coincidence interrupt B, Figure 9 is a flowchart of A/D completion side input routine, and Figure 10 is a flowchart showing an interrupt routine every 4m (8). Figure 12 is a flowchart of a routine for updating the correction retardation amount, Figure 12 is a flowchart of a learning control routine, Figure 13 is a flowchart of a two-dimensional interpolation routine, Figure 14 is a flowchart showing details of the learning routine, and Figure 15. is a diagram showing changes in correction retardation amount, learned retardation amount, and ignition timing over time;
Fig. 16 is a diagram showing the relationship between the engine speed and ignition timing, the corrected retard amount, and the learned retard amount, similar to the stripe 3 chart, and Fig. 17 is a map of the correction amount θC0LD due to cooling water temperature and pressure. FIG. 18 is a flowchart of a routine for calculating the correction amount based on the cooling water temperature, and FIG. 19 is a flowchart of a routine for determining whether or not to perform learning control. 2... Air flow meter, +2... Fuel injection valve, 1
8...Knocking sensor, 32...Engine rotation angle upper sensor, 34...Electronic control circuit. Agent Tatsu Unouma Nogo 1 ■X Chive 62 Figure 1 Figure 2 Figure 3 Figure 1 Shijishi round \ Figure 18 Figure 19

Claims (1)

【特許請求の範囲】[Claims] (1)  ノッキング以外のエンジン運転条件に応じて
エンジン回転数と負荷とによって定まる基本点火進角か
らの遅角量を制御すると共に、前記基本点火進角からノ
ッキングのレベルを所定レペ/l/にするためにエンジ
ン回転数と負荷とによって定まシかつ学習制御によって
変更される学習遅角量とノッキング・が発生したとき点
火時期を遅らせかつノッキングが発生しなくなったとき
点火時期を進める補正遅角量との和を減算して、ノッキ
ングを制御する内燃機関のノッキング制御方法において
、前記ノッキング以外のエンジン運転条件に応じた点火
時期制御が行なわれているとき前記学習遅角量の学習制
御を停止することを特徴とする内燃機関のノッキング制
御方法。
(1) In addition to controlling the amount of retardation from the basic ignition advance angle determined by the engine speed and load according to engine operating conditions other than knocking, the level of knocking is controlled from the basic ignition advance angle to a predetermined level/l/l. The learning retard amount is determined by the engine speed and load and is changed by learning control in order to increase the engine speed, and the correction retard is used to retard the ignition timing when knocking occurs and to advance the ignition timing when knocking no longer occurs. In the knocking control method for an internal combustion engine, in which knocking is controlled by subtracting the sum of the learning retardation amount and the ignition timing control according to engine operating conditions other than the knocking, the learning control of the learning retardation amount is performed. A knocking control method for an internal combustion engine characterized by stopping the engine.
JP57218804A 1982-12-14 1982-12-14 Method of controlling knocking of intenal-combustion engine Pending JPS59108872A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57218804A JPS59108872A (en) 1982-12-14 1982-12-14 Method of controlling knocking of intenal-combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57218804A JPS59108872A (en) 1982-12-14 1982-12-14 Method of controlling knocking of intenal-combustion engine

Publications (1)

Publication Number Publication Date
JPS59108872A true JPS59108872A (en) 1984-06-23

Family

ID=16725610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57218804A Pending JPS59108872A (en) 1982-12-14 1982-12-14 Method of controlling knocking of intenal-combustion engine

Country Status (1)

Country Link
JP (1) JPS59108872A (en)

Similar Documents

Publication Publication Date Title
JPS59103964A (en) Knocking control method for internal-combustion engine
JPS60243369A (en) Knocking control method and device for internal-combustion engine
JPS6138139A (en) Fuel injection control device in internal-combustion engine
JPS5939972A (en) Control of knocking of internal-combustion engine
JPS59108872A (en) Method of controlling knocking of intenal-combustion engine
JPS58176470A (en) Control of revolution number of engine upon idling
JPS59138773A (en) Control method for knocking of internal-combustion engine
JP2934253B2 (en) Knocking control device for internal combustion engine
JPS59138774A (en) Control method for knocking of internal-combustion engine
JPS59113267A (en) Control of knocking in internal-combustion engine
JPH0315035B2 (en)
JPS59110862A (en) Control of knocking in internal-combustion engine
JPS5912164A (en) Ignition timing control for internal-combustion engine
JPS59119068A (en) Knocking controlling method for internal-combustion engine
JPS59113264A (en) Controlling methd of knocking in internal-combustion engine
JPS6161965A (en) Knocking suppressing device of engine
JPH04358736A (en) Fuel injection quantity controller
JPS6027782A (en) Method of controlling knocking of internal-combustion engine
JPH0240082A (en) Ignition timing controller for internal combustion engine
JPS59136573A (en) Knocking control of internal-combustion engine
JPS59168271A (en) Ignition timing control of engine
JPH0646022B2 (en) Knotting control method for internal combustion engine
JPH0784860B2 (en) Knotting control device for internal combustion engine
JPS59136574A (en) Knocking control of internal-combustion engine
JPS59107237A (en) Knocking discriminating method of multicylinder engine