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

Knotting control method for internal combustion engine

Info

Publication number
JPH0646022B2
JPH0646022B2 JP57218186A JP21818682A JPH0646022B2 JP H0646022 B2 JPH0646022 B2 JP H0646022B2 JP 57218186 A JP57218186 A JP 57218186A JP 21818682 A JP21818682 A JP 21818682A JP H0646022 B2 JPH0646022 B2 JP H0646022B2
Authority
JP
Japan
Prior art keywords
value
learning
amount
retard amount
knocking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP57218186A
Other languages
Japanese (ja)
Other versions
JPS59108871A (en
Inventor
勇二 武田
克史 安西
嘉康 伊藤
敏男 末松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP57218186A priority Critical patent/JPH0646022B2/en
Publication of JPS59108871A publication Critical patent/JPS59108871A/en
Publication of JPH0646022B2 publication Critical patent/JPH0646022B2/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/1502Digital data processing using one central computing unit
    • 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)
  • Theoretical 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)

Description

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

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

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

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

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

θ←θ−0.08゜CA…………(3) また、エンジン条件に応じた学習遅角量θKGは次のよう
にして算出される。まず、第1図に示すようにエンジン
回転数Nと負荷Q/N とに対応させて学習遅角量を記憶さ
せる番地0〜23をマイクロコンピュータのランダムア
クセスメモリ(RAM) に用意して学習マツプを作成してお
く。エンジン回転数Nと吸入空気量Qとを取込み、学習
マツプ上において現在のエンジン条件を示す点(N、Q
/N)を囲む4点のRAMの番地を求める。今、第2図
に示すように現在のエンジン条件を示す点を囲むRAM
の番地がn(n=0、1……16)、n+1、n+6、
n+7であり、番地nに学習遅角量θKGN 、番地n+1
に学習遅角量θKG(n+1) 、番地n+6に学習遅角量θ
KG(n+6) 、番地n+7に学習遅角量θKG(n+7) が各々記
憶されているものとする。そして、番地間のエンジン回
転数の差をX、番地間の負荷の差をY、番地nと現在の
エンジン条件を示す点との間のエンジン回転数の差を
x、番地nと現在のエンジン条件を示す点との間の負荷
の差をyとすれば、以下の(4)〜(6)式に示す2次元補間
法により現在のエンジン状態を示す点の学習遅角量θKG
が求められる。
θ K ← θ K −0.08 ° CA (3) Further, the learning retard angle amount θ KG according to the engine condition is calculated as follows. First, as shown in FIG. 1, the learning map is prepared by providing the addresses 0 to 23 for storing the learning retardation amount corresponding to the engine speed N and the load Q / N in the random access memory (RAM) of the microcomputer. Is created. A point (N, Q) indicating the current engine condition on the learning map by taking in the engine speed N and the intake air amount Q.
/ N) to find the addresses of the four RAMs surrounding it. Now, as shown in FIG. 2, a RAM surrounding a point indicating the current engine condition.
Address is n (n = 0, 1 ... 16), n + 1, n + 6,
n + 7, the learning retard angle θ KGN at the address n, and the address n + 1
To the learning delay angle θ KG (n + 1) , and at address n + 6 the learning delay angle θ KG (n + 1)
It is assumed that the learning retard amount θ KG (n + 7) is stored in the address KG (n + 6) and the address n + 7. Then, the difference in engine speed between the addresses is X, the difference in load between the addresses is Y, the difference in engine speed between the address n and the point indicating the current engine condition is x, and the difference between the address n and the current engine is x. Assuming that the load difference between the point indicating the condition is y, the learning delay amount θ KG at the point indicating the current engine state by the two-dimensional interpolation method shown in the following equations (4) to (6).
Is required.

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

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

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

上記問題に対処するため、エンジの運転状態を区分し、
その区分ごとに学習を行うようにする学習制御方法が、
特開昭56−23566号公報に提案されている。
In order to deal with the above problem, the engine operation status is divided,
The learning control method that performs learning for each section is
It is proposed in JP-A-56-23566.

しかし、同公報の方法によれば、ノツキングが発生して
いるときは点火時期の遅角量を増大させ、ノツキングが
所定期間発生しないときに遅角量を減少させ、この遅角
量をそのまま運転状態ごとに記憶させる学習であること
から、過渡状態やノイズ等によるノツキングに対して補
正された遅角量をも学習してしまう。そのため、次に同
じ運転状態区分になったときに、遅角し過ぎになること
があり、やはりベストトルクを得られない場合があると
いう問題がある。
However, according to the method of the same publication, the retard amount of the ignition timing is increased when the knocking occurs, the retard amount is decreased when the knocking does not occur for a predetermined period, and the retard amount is directly operated. Since the learning is stored for each state, the retard amount corrected for knocking due to a transient state or noise is also learned. Therefore, there is a problem that the next time the same operation state is classified, the engine may be retarded too much and the best torque may not be obtained.

上記問題点を解消するために、補正遅角量が所定範囲の
値になるように学習値角量を学習制御して、ノッキング
が発生し易い条件でもノツキングが発生しにくい条件で
も常に同じようにノツキング制御を行うことが考えられ
る。しかし、その方法でも、補正遅角量と学習遅角量と
の和が大きくなつて点火時期が点火時期の最遅角条件よ
り遅れることがあり、出力および燃費が悪化するという
問題が残される。
In order to solve the above problems, the learning value angle amount is learned and controlled so that the correction delay amount becomes a value in a predetermined range, and the same is always true under conditions where knocking easily occurs or when knocking does not easily occur. It is conceivable to perform knocking control. However, even with this method, the sum of the corrected retard amount and the learned retard amount becomes large, and the ignition timing may be delayed from the maximum retard condition of the ignition timing, leaving a problem that the output and fuel consumption deteriorate.

本発明は、上記問題点を解消すべく成されたもので、ノ
ツキング発生条件に拘らず常に同じようにノツキング制
御を行うと共に、余分な遅角が行われないようにしたノ
ツキング制御方法を提供することを目的とする。
The present invention has been made to solve the above problems, and provides a knocking control method that always performs the same knocking control regardless of the knocking occurrence condition and prevents an extra retardation. The purpose is to

上記目的を達成するために第1の発明の構成は、エンジ
ン回転数と負荷とによって定まる基本点火進角から、ノ
ッキングが発生したとき点火時期を遅らせかつノッキン
グが発生しなくなったとき点火時期を進めるように変更
される補正遅角量と、ノッキングのレベルを所定レベル
にするためにエンジンの運転状態に応じてかつ前記補正
遅角量の大きさが第1の所定値以上もしくは第2の所定
値以下のとき学習制御により書き換えられる学習値角量
との和を減算して点火時期を制御し、かつ前記学習遅角
量と前記補正遅角量との和が、前記基本点火進角と点火
時期の最小点火進角との差以下の値になるように、前記
学習遅角量を学習制御するようにしたのである。
To achieve the above object, the structure of the first aspect of the present invention delays the ignition timing when knocking occurs and advances the ignition timing when knocking does not occur, from the basic ignition advance determined by the engine speed and the load. According to the operating state of the engine in order to bring the knocking level to a predetermined level, and the magnitude of the correction delay amount is equal to or greater than a first predetermined value or a second predetermined value. The ignition timing is controlled by subtracting the sum of the learning value angle amount rewritten by the learning control at the following time, and the sum of the learning retard amount and the correction retard amount is the basic ignition advance and the ignition timing. The learning retard amount is controlled so that the learning retard amount becomes a value equal to or smaller than the difference from the minimum ignition advance angle.

上記第1の発明の構成によれば、基本点火進角から補正
遅角量と学習遅角量との和を減算して算出された点火進
角が、エンジンによつて予め定められている遅角側の下
限値(最小点火進角)より遅角側にならないように制御
されるため、無駄な遅角を行うことが少なくなり、出力
および燃費が向上する、という特有の効果が得られる。
According to the configuration of the first aspect of the present invention, the ignition advance angle calculated by subtracting the sum of the corrected retard amount and the learned retard amount from the basic ignition advance is set to a predetermined ignition timing depending on the engine. Since the control is performed so as not to be on the retard side from the lower limit value (minimum ignition advance) on the side of the angle, it is possible to obtain a unique effect that the useless retard is lessened and the output and fuel consumption are improved.

また、第2の発明の構成は、上記第1の発明の構成のう
ち、学習遅角量と補正遅角量との和の制限の方法に代え
て、学習遅角量と補正遅角量との和が、ノツキング制御
時の基本点火進角からの最大遅角量以下の値になるよう
に学習遅角量を学習制御するようにしたものである。
The configuration of the second aspect of the invention is different from the configuration of the first aspect of the invention in that the learning retard amount and the correction retard amount are replaced by the method of limiting the sum of the learning retard amount and the correction retard amount. The learning retard amount is learned and controlled so that the sum of the values becomes less than or equal to the maximum retard amount from the basic ignition advance during the knocking control.

上記第2の発明の構成によれば、補正遅角量と学習遅角
量との和が最大遅角量以下になるように学習遅角量が最
適値に学習制御されるため、再びこのエンジン条件にな
つたとき速やかに最適遅角量が得られる、という特有の
効果が得られる。
According to the configuration of the second aspect of the invention, the learning retard amount is learning-controlled to the optimum value so that the sum of the corrected retard amount and the learning retard amount is equal to or less than the maximum retard amount. The peculiar effect is that the optimum retardation amount is promptly obtained when the conditions are met.

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

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

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

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

電子制御回路34のROM38には、エンジン回転数と
吸入空気量とで表わされる基本点火進角θBASEのマツプ
および基本燃料噴射量が予め記憶されており、エアフロ
ーメータ2からの信号およびエンジン回転角センサ32
からの信号により基本点火進角および基本燃料噴射量が
読出されると共に、冷却水温センサ24および吸気温セ
ンサ4からの信号を含む各種の信号により、上記基本点
火進角および基本燃料噴射量に補正点火進角および補正
燃料噴射量が加えられ、イグナイタ28および燃料噴射
弁12が制御される。Oセンサ22から出力される空
燃比信号は、混合気の空燃比を理論空燃比近傍に制御す
る空燃比制御に使用される。また、電子制御回路34の
RAM36には、第1図に示す学習マツプが予め記憶さ
れている。
The ROM 38 of the electronic control circuit 34 stores in advance a map of the basic ignition advance angle θ BASE represented by the engine speed and the intake air amount and the basic fuel injection amount, and a signal from the air flow meter 2 and the engine rotation angle. Sensor 32
The basic ignition advance angle and the basic fuel injection amount are read by a signal from the engine, and the basic ignition advance angle and the basic fuel injection amount are corrected by various signals including the signals from the cooling water temperature sensor 24 and the intake air temperature sensor 4. The ignition advance and the corrected fuel injection amount are added, and the igniter 28 and the fuel injection valve 12 are controlled. The air-fuel ratio signal output from the O 2 sensor 22 is used for air-fuel ratio control that controls the air-fuel ratio of the air-fuel mixture to near the stoichiometric air-fuel ratio. Further, the 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 above engine will be described in detail. In the description of the embodiments of the present invention, the fuel injection control, the air-fuel ratio control, the main routine of the ignition timing control, etc. are the same as the conventional ones, and therefore the description thereof will be omitted, and the knocking control related to the present invention will be omitted. Only the routine will be described.

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

次に、ステツプ88においてステツプ82で立てたフラ
グを基にクランク角が90゜CA BTDC (上死点前)にな
つたか否かを判断する。クランク角が90゜CA BTDC で
ないときはステツプ91へ進み、90゜CA BTDC のときは
ステツプ89において補正進角量θの更新をすると共
に点火時期の計算処理を行う(この詳細については以下
で説明する)。ステツプ90では、ステツプ89で計算
した点火時期と現在の時刻とによりイグナイタ28をオ
ンさせる時刻を求めて時刻一致割込みBをセツトすると
共に、イグナイタオンのフラグを立てる。そして、ステ
ツプ91においてクランク角が60゜CA BTDC になつた
か否かを判断し、60゜CA BTDC でない場合にはメイン
ルーチンへリターンし、60゜CA BTDC である場合には
ステツプ92においてイグナイタのオフ時刻を計算して
時刻一致割込みBをセツトし、ステツプ90で立てたイ
グナイタオンのフラグをおろす。
Next, in step 88, it is determined whether or not the crank angle has reached 90 ° CA BTDC (before top dead center) based on the flag set in step 82. When the crank angle is not 90 ° CA BTDC, the routine proceeds to step 91, and when it is 90 ° CA BTDC, at step 89, the correction advance amount θ K is updated and the ignition timing calculation processing is performed. explain). At step 90, the time coincidence interrupt B is set to find the time when the igniter 28 is turned on based on the ignition timing calculated at step 89 and the current time, and the igniter on flag is set. Then, in step 91, it is judged whether or not the crank angle has reached 60 ° CA BTDC. If it is not 60 ° CA BTDC, the process returns to the main routine, and if it is 60 ° CA BTDC, the igniter is turned off in step 92. The time is calculated, the time coincidence interrupt B is set, and the igniter-on flag set in step 90 is cleared.

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

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

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

第10図は、ノツキングが発生していないときの時間と
学習制御する時間とをカウントするための所定時間(例
えば4msec)毎に行われる割込みルーチン示すものであ
る。まず、ステツプ102 においてノツキングが発生しな
いときの時間を求めるカウンタTIME 1のカンウント値
を1増加させ、ステツプ103において学習制御する時
間を求めるカウンタTIME 2のカンウント値を1増加さ
せる。次のステツプ104において、カウンタTIME 1
のカウント値が12(48msec)以下になつているか否
かを判断する。カウント値が12を越えてみるときには
ステツプ105においてカウンタTIME 1のカウント値
を12とし、カウント値が12以下のときにはステツプ
106においてカウンタTIME 2のカウント値が12以
下になつているか否かを判断する。ここで、カウント値
が12を越えているときにはステツプ107においてカ
ウンタTIME 2のカウント値を12としてメインルーチ
ンヘリターンし、カンウント値が12以下のときにはメ
インルーチンへリターンする。
FIG. 10 shows an interrupt routine that is performed every predetermined time (for example, 4 msec) for counting the time when the knocking does not occur and the learning control time. First, in step 102, the count value of the counter TIME 1 for obtaining the time when no knocking occurs is incremented by 1, and in step 103 the count value of the counter TIME 2 for obtaining the time for learning control is incremented by 1. At the next step 104, the counter TIME 1
It is determined whether or not the count value of is less than 12 (48 msec). When the count value exceeds 12, the count value of the counter TIME 1 is set to 12 in step 105, and when the count value is 12 or less, it is determined in step 106 whether the count value of the counter TIME 2 is 12 or less. . Here, when the count value exceeds 12, the count value of the counter TIME 2 is set to 12 in step 107 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゜CA BTDC になつたと判断されると、ステツプ1
08において、第9図のステツプ100で記憶されたピ
ーク値aと、第9図のステツプ98で記憶されたバツク
グラウンドレベルbに定数Kを乗算した値K・b とを比較
する。ピーク値aが値K・b を越えているときにはノツキ
ングが発生したと判断して、ステツプ110において補
正遅角量θを所定角(例えば0.4゜CA)増加させ、
ステツプ112においてノツキングが発生しない時間を
カウントするカウンタTIME 1のカウント値をクリアす
る。一方、ピーク値aが値K・b 以下のときにはノツキン
グが発生しないと判断して、ステツプ109においてカ
ウンタTIME 1のカウント値が所定値(12)以上にな
つているか否かを判断し、カウント値が所定値以上にな
つているときにはノツキングの発生しない状態が所定時
間経続していることからステツプ111において補正遅
角量θを所定角(例えば0.08゜CA)減少させた
後、ステツプ112でカウンタTIME 1をクリアする。
また、ステツプ109においてカウント値が所定値未満
であるときには、ステツプ113へ進む。ステツプ11
3では、上記のようにして求められた補正遅角量θ
学習マツプから2次元補間法により求められる学習遅角
量θKGとによつて前述した(1)式に示すように基本点火
進角θBASEを補正し、実際にイグナイタを制御する点火
進角θigを算出する。
Next, the detailed routine of step 89 in FIG. 6 will be described with reference to FIG. When it is determined in step 88 of FIG. 6 that the crank angle has reached 90 ° CA BTDC, step 1
At 08, the peak value a stored at step 100 in FIG. 9 is compared with the background value b stored at step 98 in FIG. When the peak value a exceeds the value K · b, it is determined that knocking has occurred, and the correction retard angle amount θ K is increased in step 110 by a predetermined angle (for example, 0.4 ° CA),
At step 112, the count value of the counter TIME 1 which counts the time when no knocking occurs is cleared. On the other hand, when the peak value a is equal to or less than the value K · b, it is determined that knocking does not occur, and it is determined in step 109 whether or not the count value of the counter TIME 1 is equal to or more than the predetermined value (12). Is greater than a predetermined value, the state in which no knocking has occurred continues for a predetermined time. Therefore, in step 111, the correction retard angle amount θ K is decreased by a predetermined angle (for example, 0.08 ° CA), and then the step At 112, the counter TIME 1 is cleared.
If the count value is less than the predetermined value in step 109, the process proceeds to step 113. Step 11
In No. 3, the basic ignition amount is calculated by the corrected retard amount θ K obtained as described above and the learned retard amount θ KG obtained by the two-dimensional interpolation method from the learned map as shown in the above equation (1). The ignition advance angle θ ig that actually controls the igniter is calculated by correcting the advance angle θ BASE .

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

まず、ステツプ114においてエンジン回転数Nと負荷
Q/N とで定まる現在のエンジン条件を示す点を囲む4点
のRAMの番地を学習マツプ上に求める。次にステツプ
115において、求めた4点のRAMの番地に記憶され
ているデータ、すなわち4点のRAMの番地に記憶され
ている学習遅角量を基に2次元補間法(2次元補間法の
ルーチンは後で説明する)により、現在のエンジン条件
を示す点の学習遅角量θKGを算出し、算出した値をRA
Mの所定場所に記憶する。ステツプ116では、第10
図のステツプ103でカウントした学習制御する時間を
求めるためのカウンタTIME 2のカウント値が所定値
(例えば12)以上か否かを判断する。カウント値が所
定値未満である場合にはメインルーチンへリターンし、
カウント値が所定値以上の場合にはステツプ117でカ
ウンタTIME2のカウント値をクリアした後、第11
図のステツプ110および111で更新された補正遅角
量θが第1の所定クランク角(例えば2゜CA)以上
であるか否かをステツプ118で判断する。
First, at step 114, the engine speed N and the load
Find the RAM addresses of four points surrounding the point indicating the current engine condition determined by Q / N on the learning map. Next, in step 115, the two-dimensional interpolation method (two-dimensional interpolation method) is performed on the basis of the data stored in the obtained four-point RAM addresses, that is, the learning delay amount stored in the four-point RAM addresses. The routine will be described later), and the learning retard amount θ KG at the point indicating the current engine condition is calculated, and the calculated value is RA.
Store in a predetermined location of M. At step 116, the tenth
It is determined whether or not the count value of the counter TIME 2 for obtaining the learning control time counted in step 103 in the figure is a predetermined value (for example, 12) or more. If the count value is less than the predetermined value, return to the main routine,
If the count value is equal to or larger than the predetermined value, the count value of the counter TIME2 is cleared in step 117, and then the 11th
In step 118, it is determined whether or not the corrected retard amount θ K updated in steps 110 and 111 is equal to or larger than the first predetermined crank angle (for example, 2 ° CA).

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

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

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

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

ステツプ142からステツプ149は、学習マツプ上の
4点を選択するためのルーチンである。まず、ステツプ
142においてレジスタnの値から0番地の負荷の値
0.6〔/rev.〕を減算した値をレジスタnに記憶さ
せる。次に、ステツプ143においてレジスタnの値を
負荷の目盛り間隔である0.2〔/rev.〕で除算し、
その商の整数部をレジスタnに記憶させると共に商の余
りをレジスタyに記憶させる。このレジスタの値は、第
2図のn番地から現在のエンジン条件を示す点までの負
荷の値yに等しい。また、レジスタnに記憶された商の
整数部は、現在のエンジン条件を示す点に最も近くかつ
現在のエンジン条件を示す点以下の番地の列(番地の横
方向の並び、例えば0〜5番地の並びを第1列とする)
の列番を示している。そして、ステツプ144において
レジスタyの値を更に0.2〔/rev.〕で除算してお
く。従つて、最終的にレジスタyには前述した(6)式のy
/Y に対応した値が記憶されている。
Steps 142 to 149 are a routine for selecting four points on the learning map. First, in step 142, a value obtained by subtracting the load value of 0.6 [/ rev.] From address 0 from the value of register n is stored in register n. Next, in step 143, the value of the register n is divided by 0.2 [/ rev.], Which is the scale interval of the load,
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 is equal to the load value y from the address n in FIG. 2 to the point indicating the current engine condition. In addition, the integer part of the quotient stored in the register n is a column of addresses that are closest to the point indicating the current engine condition and are equal to or less than the point indicating the current engine condition (horizontal arrangement of addresses, for example, addresses 0 to 5). Is the first column)
Indicates the column number of. Then, in step 144, the value of the register y is further divided by 0.2 [/ rev.]. Therefore, finally, in the register y, y in the equation (6) described above is written.
The value corresponding to / Y is stored.

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

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

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

次に、第12図のステツプ118〜ステツプ121の詳
細なルーチンを第14図に示す。なお、第14図におけ
るレジスタnは第13図の2次元補間ルーチンのレジス
タnを用いる。まず、ステツプ118において、前記と
同様に補正遅角量θが2゜CA以上であるか否かを判
断する。補正遅角量θが2゜CA未満であるときには
ステツプ160 において学習値αを−0.04゜CAとし
てステツプ162へ進む。補正遅角量θが2゜CA以
上の場合には、ステツプ119において補正遅角量θ
が4゜CA以上であるか否かを判断する。補正遅角量θ
が4゜CA未満である場合はメインルーチンへリター
ンし、補正遅角量θが4゜CA以上の場合にはステツ
プ161において学習値αを0.04゜CAとしてステ
ツプ162へ進む。ステツプ162では負荷Q/N が学習
マツプの下限値0.6〔/rev.〕以上であるか否かを
判断する。負荷が0.6以上である場合にはステツプ1
66においてエンジン回転数Nが学習マツプの下限値10
00 〔r・p・m〕以上であるか否かを判断し、負荷が
0.6未満である場合にはステツプ163においてエン
ジン回転数Nが1000 〔r・p・m〕以下であるか否か
を判断する。
Next, FIG. 14 shows a detailed routine of steps 118 to 121 in FIG. The register n in FIG. 14 uses the register n of the two-dimensional interpolation routine in FIG. First, in step 118, it is determined whether or not the corrected retard angle θ K is 2 ° CA or more, as described above. When the corrected retard amount θ K is less than 2 ° CA, the learning value α is set to -0.04 ° CA in step 160 and the process proceeds to step 162. If the corrected retard amount θ K is 2 ° CA or more, the corrected retard amount θ K is determined in step 119.
Judgment is over 4 ° CA. Corrected retard angle θ
When K is less than 4 ° CA, the process returns to the main routine, and when the correction retard angle θ K is 4 ° CA or more, the learning value α is set to 0.04 ° CA in step 161, and the process proceeds to step 162. In step 162, it is judged whether the load Q / N is equal to or more than the lower limit value 0.6 [/ rev.] Of the learning map. Step 1 if the load is 0.6 or more
At 66, the engine speed N is the lower limit value 10 of the learning map.
If the load is less than 0.6, it is determined in step 163 whether the engine speed N is 1000 [r · p · m] or less. To judge.

ステツプ166においてエンジン回転数Nが1000 〔r
・p・m〕未満と判断された場合には、ステツプ167
においてn番地における前回学習された学習遅角量θ
KGn に学習値αが加算される学習制御が行われ、ステツ
プ168においてn+1 番地における前回学習された学習
遅角量θKG(n+1) に学習値αが加算される学習制御が行
われ、メインルーチンへリターンされる。ここで上記の
ように現在のエンジン回転数Nおよび負荷Q/N がQ/N ≧
0.6〔/rev.〕かつN<1000 〔r・p・m〕の領
域に存在する場合には、RAMの番地を示すレジスタn
の値は第1行の0、6、12、18を取り得るので、現
在のエンジ条件を示す点が上記の領域に存在する場合
に、ステツプ167で0、6、12、18番地の学習遅
角量が学習制御され、ステツプ168で1、7、13、
19番地の学習遅角量が学習制御される。
At step 166, the engine speed N is 1000 [r
.P.m], the step 167
At the nth address, the previously learned learning delay amount θ
Learning control is performed by adding the learning value α to KGn , and in step 168, learning control is performed by adding the learning value α to the previously learned learning retard amount θ KG (n + 1) at address n + 1. And return to the main routine. Here, as described above, the current engine speed N and load Q / N are Q / N ≧
If it exists in the area of 0.6 [/ rev.] And N <1000 [r.p.m], register n indicating the address of RAM
Since the value of can take 0, 6, 12, 18 in the first row, if the point indicating the current engine condition exists in the above area, the learning delay of addresses 0, 6, 12, 18 is performed in step 167. The angle amount is learned and controlled, and at steps 168, 1, 7, 13,
The learning retard amount of the address 19 is controlled to be learned.

ステツプ166においてエンジ回転数Nが1000 〔r・
p・m〕以上と判断された場合には、ステツプ169に
おいてn番地における前回学習された学習遅角量θKG
学習値αが加算される学習制御が行われる。現在のエン
ジン条件を示す点がQ/N ≧0.6〔/rev.〕かつN≧
1000 〔r・p・m〕の領域に存在する場合には、RA
Mの番地を示すレジスタnの値は0〜23を取り得るの
で、ステツプ169においては全ての番地が学習制御の
対象になる。次のステツプ170ではレジスタnの値が
23でないか否かを判断する。レジスタnの値が23で
ない場合には、ステツプ171、ステツプ173、ステ
ツプ174において各々レジスタnの値が17でないか
否か、11でないか否か、5でないか否かを判断する。
このレジスタnの値5、11、17、23は、第6行の
番地を表わしている。レジスタnの値が23であるとき
は、そのままメインルーチへリターンする。このときの
23番地の学習遅角量はステツプ169で学習制御され
ることになる。レジスタnの値が17、11、5である
ときは、ステツプ172においてレジスタnの値を1減
少させてステツプ178においてn+7番地の学習遅角
量θKG(n+7) に学習値αを加算する学習制御を行つて、
メインルーチンへリターンする。従つて、レジスタnの
値が17、11、5であるときは、ステツプ169 で1
7、11、5番地の学習遅角量が各々学習制御され、ス
テツプ178において1列上の23、17、11番地の
学習遅角量が各々学習制御されることになる。
At step 166, the engine speed N is 1000 [r.
If it is determined that the value is greater than or equal to p · m], learning control is performed in step 169 in which the learning value α is added to the previously learned learning retard amount θ KG at address n. The point that shows the current engine condition is Q / N ≧ 0.6 [/ rev.] And N ≧
If it exists in the area of 1000 [r ・ p ・ m], RA
Since the value of the register n indicating the address of M can be 0 to 23, all addresses are subject to learning control in step 169. At the next step 170, it is judged whether or not the value of the register n is 23. If the value of the register n is not 23, it is determined in step 171, step 173, and step 174 whether the value of the register n is not 17, 11 or 5, respectively.
The values 5, 11, 17, and 23 of this register n represent the addresses in the sixth row. When the value of the register n is 23, the process directly returns to the main routine. At this time, the learning retard amount of the address 23 is learning-controlled in step 169. When the value of the register n is 17, 11 or 5, the value of the register n is decremented by 1 in step 172, and the learning value α is added to the learning delay amount θ KG (n + 7) at address n + 7 in step 178. The learning control to
Return to the main routine. Therefore, when the value of the register n is 17, 11 or 5, 1 is set in step 169.
The learning delay amounts at addresses 7, 11, and 5 are learning-controlled, and at step 178, the learning delay amounts at addresses 23, 17, and 11 one row above are learning-controlled.

レジスタnの値が23、17、11、5のいずれでもな
いときは、ステツプ175においてn+1 番地の学習遅角
量θKG(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+6) に学習値αを加算する学習制
御が行われ、ステツプ178でn+7番地の学習遅角量
θKG(n+7) に学習遅αを加算する学習制御が行われる。
この結果、現在のエンジン条件を示す点を囲む4つの番
地が存在すときには、ステツプ169、ステツプ17
5、ステツプ177およびステツプ178において上記
4つの番地の学習遅角量が学習制御される。
If the value of the register n is not 23, 17, 11, or 5, learning control is performed in step 175 in which the learning value α is added to the learning delay amount θ KG (n + 1) at the address n + 1. Be seen. That is, when the RAM address obtained in step 149 of the two-dimensional interpolation routine is not on the sixth line, the RAM address obtained in the two-dimensional interpolation routine and the address on the right of this address are obtained in steps 169 and 175. Is learning controlled. In step 176, register n
Is less than 17, and if the value of the register n is 17 or more, the process returns to the main routine. That is, when the RAM addresses are 18 to 22 in the fourth column, the addresses stored in the register n in steps 169 and 175 and the addresses to the right of the addresses are learned and controlled. On the other hand, when the value of the register n is less than 17, that is, the point indicating the current engine condition is surrounded by 4
If one address exists, learning control is performed in step 177 to add the learning value α to the learning delay amount θ KG (n + 6) at address n + 6, and in step 178 the learning delay amount θ KG at address n + 7 θ KG (n + 6). Learning control is performed to add the learning delay α to (n + 7) .
As a result, when there are four addresses surrounding the point indicating the current engine condition, step 169, step 17
5, the learning delay amounts of the above-mentioned four addresses are learning-controlled in steps 177 and 178.

ステップ162で負荷が0.6〔/rev.〕未満と判断
された場合にはステツプ163でエンジン回転数が1000
〔r・p・m〕以下か否か判断され、エンジン回転数
が1000 〔r・p・m〕以下の場合にはステツプ165
でレジスタnの値から7減算し、ステツプ178で学習
制御を行う。現在のエンジン条件を示す点Q/N <0.6
〔/rev.〕かつN≦1000 〔r・p・m〕の領域に存
在するときには、レジスタnの値は0となるため、この
場合のステツプ178では0番地の学習遅角量が学習制
御されることになる。一方、エンジン回転数Nが1000
〔r・p・m〕を越えているときには、ステツプ164
においてレジスタnの値が5であるか否かを判断し、5
でないときはステツプ179においてレジスタnの値か
ら6減算し、ステツプ177およびステツプ178にお
いてn+6番地およびn+7番地の学習遅角量を学習制
御する。また、レジスタnの値が5のときにはステツプ
180でレジスタnの値から7減算し、ステツプ178
において学習制御を行う。現在のエンジン条件を示す点
がQ/N <0.6〔/rev.〕かつN>1000 〔r・p・
m〕の領域に存在するときには、レジスタnの値は第1
列の番地の値を取り得るため、レジスタnの値が5のと
きはステツプ178で5番地の学習遅角量が学習制御さ
れ、レジスタnの値が0、1、2、3、4のときはステ
ツプ177およびステツプ178においてレジスタnの
値の番地とその右隣りの番地の学習遅角量が学習制御さ
れる。
When it is determined in step 162 that the load is less than 0.6 [/ rev.], The engine speed is 1000 in step 163.
It is determined whether or not [r · p · m] or less, and if the engine speed is 1000 [r · p · m] or less, step 165
Then, 7 is subtracted from the value of the register n, and learning control is performed in step 178. Point indicating current engine condition Q / N <0.6
[/ Rev.] And N ≦ 1000 [r · p · m], the value of the register n becomes 0. Therefore, in this case, the learning delay amount at address 0 is learned and controlled. Will be. On the other hand, the engine speed N is 1000
When [r · p · m] is exceeded, step 164
, It is judged whether or not the value of the register n is 5, and
If not, 6 is subtracted from the value of the register n in step 179, and the learning retard amount of the addresses n + 6 and n + 7 is learned and controlled in steps 177 and 178. When the value of register n is 5, step 180 subtracts 7 from the value of register n, and then step 178
Learning control is performed in. Q / N <0.6 [/ rev.] And N> 1000 [rp
m], the value of register n is the first
Since the value of the address of the column can be taken, when the value of the register n is 5, the learning delay amount of the address 5 is learned and controlled in step 178, and when the value of the register n is 0, 1, 2, 3, or 4. In step 177 and step 178, the learning retardation amount of the address of the value of the register n and the address on the right side thereof are learned and controlled.

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

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

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

第17図に第1の発明における補正遅角量と学習遅角量
との和を所定範囲にするための所定クランク角(例えば
90゜CA)毎に行われる割込みルーチンを示す。図の
ステツプ182〜ステツプ187は、第11図のステツ
プ108〜ステツプ112と同様にノツキングの発生状
況に応じて補正遅角量の変更を行うルーチンである。ス
テツプ187においては、基本点火進角θBASEから点火
時期の最小遅角量θmin を減算し、更に2次元補間法に
より算出された学習遅角量θKGを減算した値をRAとし
てRAMに記憶させる。次のステツプ188では、RA
が0以上の値であるか否かを判断し、0以上ならばステ
ツプ189でRAと補正遅角量θとを比較し、0未満
であればステツプ190においてRAの値を0に書換え
てステツプ191に進む。ステツプ189において補正
遅角量θがRAの値より大きいと判断されたときはス
テツプ191へ進み、補正遅角量θがRAの値以下と
判断されたときはステツプ192へ進む。そして、ステ
ツプ191では補正遅角量θの値をRAの値に書換
え、ステツプ192では上記(1)式に従つて点火進角θ
igを算出する。次のステツプ193では、点火進角θig
と最小点火進角θmin とを比較し、最小点火進角θmin
が点火進角θigより大きいときはステツプ194で最小
点火進角θmin の値を点火進角θigとしてメインルーチ
ンへリターンし、点火進角θigの値が最小点火進角θ
min 以上のときはそのままのメインルーチンへリターン
する。
FIG. 17 shows an interrupt routine executed at each predetermined crank angle (for example, 90 ° CA) for setting the sum of the corrected retard amount and the learned retard amount in the first invention within a predetermined range. Similar to steps 108 to 112 in FIG. 11, steps 182 to 187 in the figure are routines for changing the correction delay amount in accordance with the occurrence of knocking. In step 187, the value obtained by subtracting the minimum ignition retard amount θ min of the ignition timing from the basic ignition advance θ BASE and further subtracting the learning retard amount θ KG calculated by the two-dimensional interpolation method is stored in the RAM as RA. Let In the next step 188, RA
Is greater than or equal to 0, and if it is greater than or equal to 0, RA is compared with the correction retard angle θ K in step 189, and if less than 0, the value of RA is rewritten to 0 in step 190. Proceed to step 191. When it is determined in step 189 that the corrected retard amount θ K is larger than the RA value, the process proceeds to step 191, and when it is determined that the corrected retard amount θ K is equal to or less than the RA value, the process proceeds to step 192. Then, in step 191, the value of the corrected retard angle θ K is rewritten to the value of RA, and in step 192, the ignition advance angle θ is calculated according to the above equation (1).
Calculate ig . In the next step 193, the ignition advance angle θ ig
And the minimum ignition advance angle θ min, and the minimum ignition advance angle θ min
Is larger than the ignition advance angle θ ig, at step 194, the value of the minimum ignition advance angle θ min is set to the ignition advance angle θ ig and the process returns to the main routine, and the value of the ignition advance angle θ ig is changed to the minimum ignition advance angle θ ig.
If it is more than min , it returns to the main routine.

以上のルーチンを第18図(A)および第18図(B)を用い
て更に説明する。第18図(A)はRAの値が正の場合を
示し、第18図(B)はRAの値が負の場合を示すもので
ある。第18図(A)の(1)の状態から(2)の状態への変化
は、ステツプ189とステツプ191において行われ
る。(2)の状態では、補正遅角量が2゜CA以下となつ
ているため、学習制御により学習遅角量θKGが小さくな
り(3)の状態になる。第18図(B)の(1)の状態から(2)の
状態への変化は、ステツプ188、ステツプ190およ
びステツプ191において行われる。すなわち、RAの
値が負であるためステツプ190およびステツプ191 に
おいて補正値角量θの値が0にされて(2)の状態にな
り、その後の学習制御により学習遅角量θKGが徐々に減
少されて(3)の状態、(4)の状態へと進む。なお、第18
図(A)の(1)の状態、第18図(B)の(1)、(2)の状態のよ
うに、点火進角が最小点火進角より小さい場合には、ス
テツプ193およびステツプ194に示すように、最小
点火進角が用いられる。
The above routine will be further described with reference to FIGS. 18 (A) and 18 (B). FIG. 18 (A) shows the case where the value of RA is positive, and FIG. 18 (B) shows the case where the value of RA is negative. The change from the state (1) in FIG. 18 (A) to the state (2) is performed in steps 189 and 191. In the state of (2), since the corrected retard amount is 2 ° CA or less, the learning retard amount θ KG becomes small by the learning control, and the state of (3) is obtained. The change from the state (1) to the state (2) in FIG. 18B is performed at steps 188, 190 and 191. That is, since the value of RA is negative, the value of the correction value angle amount θ K is set to 0 in step 190 and step 191 to enter the state of (2), and the learning delay amount θ KG is gradually increased by the learning control thereafter. Is reduced to the state of (3) and proceeds to the state of (4). The eighteenth
When the ignition advance angle is smaller than the minimum ignition advance angle as in the state (1) of FIG. (A) and the states (1) and (2) of FIG. 18B, step 193 and step 194 are performed. The minimum spark advance is used as shown in FIG.

第19図に第2の発明における補正遅角量と学習遅角量
との和を所定範囲にするための所定クランク角(例え
ば、90゜CA)毎に行われる割込みルーチンを示す。
第19図のルーチンは、前記第1の発明のルーチンと第
2の発明のルーチンとを組合せたものである。ステツプ
182〜ステツプ191のルーチンおよびステツプ19
3、ステツプ194のルーチンは、第17図のものと同
一であるので説明を省略する。ステツプ196におい
て、補正遅角量と学習遅角量との和の最大値すなわち遅
角量の最大値θkmaxから学習遅角量θを減算した値を
RAとしてRAMに記憶する。ステツプ197において
は、RAの値が補正遅角量θ未満か否かを判断する。
RAの値が補正遅角量θ未満であるときは、ステツプ
198においてRAの値を学習遅角量θとしてステツ
プ199へ進み、RAの値が補正遅角量θ以上である
ときは、そのままステツプ199へ進む。ステツプ19
9では、前述と同様に前記(1)式に基いて点火進角θig
を算出する。
FIG. 19 shows an interrupt routine executed at each predetermined crank angle (for example, 90 ° CA) for setting the sum of the corrected retard amount and the learned retard amount within the predetermined range in the second invention.
The routine of FIG. 19 is a combination of the routine of the first invention and the routine of the second invention. Routines of Steps 182 to 191 and Step 19
3. The routine of step 194 is the same as that of FIG. 17, and therefore its explanation is omitted. In step 196, the maximum value of the sum of the corrected retard amount and the learned retard amount, that is, the maximum retard amount θ kmax minus the learned retard amount θ K is stored in the RAM as RA. In step 197, it is determined whether or not the value of RA is less than the correction retard amount θ K.
When the value of RA is less than the correction retard amount θ K , the value of RA is set to the learning retard amount θ K in step 198 and the process proceeds to step 199. When the value of RA is equal to or more than the correction retard amount θ K , , And proceed to step 199 as it is. Step 19
9, the ignition advance angle θ ig is calculated based on the equation (1) as described above.
To calculate.

以上のルーチンによれば、学習遅角量と補正遅角量との
和が、基本点火進角と最小遅角量との差または最大遅角
量以下になるように学習制御される。なお、上記では第
1の発明と第2の発明とを組合せた例について説明した
が、第2の発明のルーチンのみ独立して実行するように
してもよい。
According to the above routine, the learning control is performed so that the sum of the learning retard amount and the correction retard amount is equal to or less than the difference between the basic ignition advance amount and the minimum retard amount or the maximum retard amount. Although an example in which the first invention and the second invention are combined has been described above, only the routine of the second invention may be executed independently.

第20図に、本発明による学習遅角量および点火進角の
変化、単に補正遅角量が所定範囲になるように学習制御
した場合(以下比較例という)の学習遅角量および点火
進角の変化を示す。図において曲線Cは本発明の学習
遅角量、Cは比較例の学習遅角量、Cは微少ノツク
発生点火時期、Cは本発明の点火進角、Cは比較例
の点火進角をそれぞれ示す。図から理解されるように本
発明によれば、比較例のように余分に遅角されることが
なくなる。
FIG. 20 shows changes in the learning retard angle and the ignition advance angle according to the present invention, and the learning retard angle amount and the ignition advance angle when the learning retardation amount is simply controlled so that the corrected retard angle amount falls within a predetermined range (hereinafter referred to as a comparative example). Shows the change of. In the figure, a curve C 5 is a learning retard amount of the present invention, C 6 is a learning retard amount of a comparative example, C 7 is a slight knock occurrence ignition timing, C 8 is an ignition advance angle of the present invention, and C 9 is a comparative example. Ignition advance angle is shown respectively. As will be understood from the figure, according to the present invention, it is possible to prevent an additional delay as in the comparative example.

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

第1図は学習マツプを示す説明図、第2図は現在のエン
ジン条件を示す点とこの点を囲む4点を示す説明図、第
3図はエンジン回転数と点火時期との関係を示す線図、
第4図は本発明が適用されるエンジンを示す概略図、第
5図は第4図の電子制御回路を示すブロツク図、第6図
は30゜CA毎の割込みルーチンの流れ図、第7図は時
刻一致割込みAの流れ図、第8図は時刻一致割込みBの
流れ図、第9図はA/D完了割込みルーチンの流れ図、第
10図は4msec毎の割込みルーチンを示す流れ図、第1
1図は補正遅角量を更新するルーチンの流れ図、第12
図は学習制御ルーチンの流れ図、第13図は2次元補間
ルーチンの流れ図、第14図は前記学習ルーチンの詳細
を示す流れ図、第15図は時間経過に対する補正遅角量
・学習遅角量・点火時期の変動を示す線図、第16図は
第3図と同様のエンジン回転数と点火時期との関係・補
正遅角量および学習遅角量の関係を示す線図、第17図
は第1の発明における遅角量を所定範囲にするためのル
ーチンを示す流れ図、第18図(A)および第18図(B)は
第17図のルーチンを説明するための説明図、第19図
は第2の発明における遅角量を所定範囲にするためのル
ーチンを示す流れ図、第20図は本発明の点火時期の変
化を示す線図である。 2……エアフローメータ、 12……燃料噴射弁、 18……ノツキングセンサ、 32……エンジン回転角センサ、 34……電子制御回路。
FIG. 1 is an explanatory diagram showing a learning map, FIG. 2 is an explanatory diagram showing a point indicating a current engine condition and four points surrounding this point, and FIG. 3 is a line showing a relationship between an engine speed and an ignition timing. Figure,
4 is a schematic diagram showing an engine to which the present invention is applied, FIG. 5 is a block diagram showing the electronic control circuit of FIG. 4, FIG. 6 is a flow chart of an interrupt routine every 30 ° CA, and FIG. 7 is FIG. 8 is a flow chart of the time coincidence interrupt A, FIG. 9 is a flow chart of the A / D completion interruption routine, and FIG. 10 is a flow chart showing an interruption routine every 4 msec.
FIG. 1 is a flow chart of a routine for updating the corrected retard amount,
FIG. 13 is a flow chart of the learning control routine, FIG. 13 is a flow chart of the two-dimensional interpolation routine, FIG. 14 is a flow chart showing the details of the learning routine, and FIG. 15 is a correction delay amount / learning delay amount / ignition with respect to the passage of time. FIG. 16 is a diagram showing the variation of the timing, FIG. 16 is a diagram showing the relationship between the engine speed and the ignition timing, which is the same as FIG. 3, and the relationship between the correction retard amount and the learning retard amount, and FIG. 18 is a flow chart showing a routine for setting the retard amount in a predetermined range, FIGS. 18 (A) and 18 (B) are explanatory views for explaining the routine of FIG. 17, and FIG. FIG. 20 is a flow chart showing a routine for setting the retard amount in the second invention within a predetermined range, and FIG. 20 is a diagram showing a change in ignition timing of the present invention. 2 ... Air flow meter, 12 ... Fuel injection valve, 18 ... Notking sensor, 32 ... Engine rotation angle sensor, 34 ... Electronic control circuit.

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

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】エンジン回転数と負荷とによって定まる基
本点火進角から、ノッキングが発生したとき点火時期を
遅らせかつノッキングが発生しなくなったとき点火時期
を進めるように変更される補正遅角量と、ノッキングの
レベルを所定レベルにするためにエンジンの運転状態に
応じてかつ前記補正遅角量の大きさが第1の所定値以上
もしくは第2の所定値以下のとき学習制御により書き換
えられる学習遅角量との和を減算して点火時期を制御
し、かつ前記学習遅角量と前記補正遅角量との和が、前
記基本点火進角と点火時期の最小点火進角との差以下の
値になるように、前記学習値角量を学習制御する内燃機
関のノッキング制御方法。
1. A correction retard amount that is changed from a basic ignition advance determined by engine speed and load so as to delay the ignition timing when knocking occurs and advance the ignition timing when knocking no longer occurs. , A learning delay that is rewritten by learning control according to the operating state of the engine in order to bring the knocking level to a predetermined level and when the magnitude of the correction delay amount is equal to or greater than a first predetermined value or less than a second predetermined value. The ignition timing is controlled by subtracting the sum with the angle amount, and the sum of the learned retard amount and the corrected retard amount is less than or equal to the difference between the basic ignition advance and the minimum ignition advance of the ignition timing. A method for controlling knocking of an internal combustion engine, wherein learning control is performed on the learned value angular amount so as to obtain a value.
【請求項2】エンジン回転数と負荷とによって定まる基
本点火進角から、ノッキングが発生したとき点火時期を
遅らせかつノッキングが発生しなくなったとき点火時期
を進めるように変更される補正遅角量と、ノッキングの
レベルを所定レベルにするためにエンジンの運転状態に
応じてかつ前記補正遅角量の大きさが第1の所定値以上
もしくは第2の所定値以下のとき学習制御により書き換
えられる学習遅角量との和を減算して点火時期を制御
し、かつ前記学習遅角量と前記補正遅角量との和が、前
記基本点火進角からの最大遅角量以下の値になるよう
に、前記学習遅角量を学習制御することを特徴とする内
燃機関のノッキング制御方法。
2. A corrected ignition retard amount, which is changed from a basic ignition advance determined by the engine speed and a load so as to delay the ignition timing when knocking occurs and advance the ignition timing when knocking no longer occurs. , A learning delay that is rewritten by learning control according to the operating state of the engine in order to bring the knocking level to a predetermined level and when the magnitude of the correction delay amount is equal to or greater than a first predetermined value or less than a second predetermined value. The ignition timing is controlled by subtracting the sum with the angle amount, and the sum of the learned retard amount and the corrected retard amount is set to a value equal to or less than the maximum retard amount from the basic ignition advance angle. A method for controlling knocking of an internal combustion engine, wherein learning control is performed on the learning retard amount.
JP57218186A 1982-12-13 1982-12-13 Knotting control method for internal combustion engine Expired - Lifetime JPH0646022B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57218186A JPH0646022B2 (en) 1982-12-13 1982-12-13 Knotting control method for internal combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57218186A JPH0646022B2 (en) 1982-12-13 1982-12-13 Knotting control method for internal combustion engine

Publications (2)

Publication Number Publication Date
JPS59108871A JPS59108871A (en) 1984-06-23
JPH0646022B2 true JPH0646022B2 (en) 1994-06-15

Family

ID=16715958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57218186A Expired - Lifetime JPH0646022B2 (en) 1982-12-13 1982-12-13 Knotting control method for internal combustion engine

Country Status (1)

Country Link
JP (1) JPH0646022B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61268873A (en) * 1985-05-22 1986-11-28 Mitsubishi Motors Corp Controller for engine

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54109529A (en) * 1978-02-15 1979-08-28 Nippon Denso Co Ltd Ignition timing controller for internal combustion engine
JPS5623566A (en) * 1979-08-01 1981-03-05 Nippon Denso Co Ltd Method of controlling ignition time

Also Published As

Publication number Publication date
JPS59108871A (en) 1984-06-23

Similar Documents

Publication Publication Date Title
JPS58143169A (en) Method for controlling ignition timing
JPH0711265B2 (en) Knotting control method for internal combustion engine
JPH0646022B2 (en) Knotting control method for internal combustion engine
JPH0811950B2 (en) Ignition timing control device
JPS59145364A (en) Method of controlling ignition timing for internal- combustion engine
JPH0646026B2 (en) Knotting control method for internal combustion engine
JPH0646023B2 (en) Knotting control method for internal combustion engine
JPS58176470A (en) Control of revolution number of engine upon idling
JPS63106365A (en) Method of controlling ignition timing of internal combustion engine
JPH0536634B2 (en)
JPH0646025B2 (en) Knotting control method for internal combustion engine
JPH076482B2 (en) Knotting control method for internal combustion engine
JP2625933B2 (en) Ignition timing control device for internal combustion engine
JP2597125B2 (en) Ignition timing control device for internal combustion engine
JPH0637868B2 (en) Engine knocking suppression device
JPH0315035B2 (en)
JPS59138774A (en) Control method for knocking of internal-combustion engine
JPH0419384B2 (en)
JPH0646024B2 (en) Knotting control method for internal combustion engine
JPS59136575A (en) Control of knocking in multi-cylinder engine
JPS6380075A (en) Ignition timing control device for internal combustion engine
JPS59116528A (en) Method for judging knocking of multiple cylinder engine
JPS63263242A (en) Fuel increase controller of internal combustion engine
JPH0526952B2 (en)
JPS6323382B2 (en)