JP2821251B2 - Engine idle control device - Google Patents
Engine idle control deviceInfo
- Publication number
- JP2821251B2 JP2821251B2 JP20062790A JP20062790A JP2821251B2 JP 2821251 B2 JP2821251 B2 JP 2821251B2 JP 20062790 A JP20062790 A JP 20062790A JP 20062790 A JP20062790 A JP 20062790A JP 2821251 B2 JP2821251 B2 JP 2821251B2
- Authority
- JP
- Japan
- Prior art keywords
- cylinder
- engine
- ignition timing
- injection
- correction 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.)
- Expired - Lifetime
Links
- 238000012937 correction Methods 0.000 claims description 199
- 238000002347 injection Methods 0.000 claims description 162
- 239000007924 injection Substances 0.000 claims description 162
- 239000000446 fuel Substances 0.000 claims description 78
- 238000002485 combustion reaction Methods 0.000 claims description 59
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 239000000203 mixture Substances 0.000 claims description 2
- 230000000979 retarding effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 81
- 230000008569 process Effects 0.000 description 46
- 230000001133 acceleration Effects 0.000 description 33
- 230000000694 effects Effects 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000000498 cooling water Substances 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003197 catalytic effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 239000002828 fuel tank Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Electrical Control Of Ignition Timing (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明はアイドル時のエンジン回転変動を少なくする
エンジンのアイドル制御装置に関する。Description: TECHNICAL FIELD The present invention relates to an engine idling control device for reducing fluctuations in engine rotation during idling.
[従来の技術] 近年、エンジンのアイドル回転数は、燃費向上、静粛
性などの要請から低めに抑える傾向にあるが、アイドル
回転数を低くすると、回転が不安定になり易く、快適
性、発進性能が著しく損なわれる。[Related Art] In recent years, the idle speed of an engine has tended to be kept low due to demands for improved fuel efficiency and quietness. However, when the idle speed is reduced, the rotation tends to become unstable, and comfort and start-up are reduced. Performance is significantly impaired.
一般に、この回転変動は気筒ごとの燃焼状態のばらつ
きが原因と考えられており、この燃焼状態のばらつき
は、 吸気管形状の複雑化、気筒管の吸気干渉などによる吸
気分配率の不均一化、 冷却順路によって生じる各気筒間の若干の燃焼温度の
相違、 各気筒の燃焼室容積、ピストン形状などの製造上のば
らつき、 インジェクタの製造誤差などによる燃料噴射量の違い
から生じる各気筒の空燃比の僅かなばらつき、 などの影響で発生すると思われる。Generally, it is considered that the rotation fluctuation is caused by a variation in the combustion state of each cylinder, and the variation in the combustion state is caused by a complicated intake pipe shape, a non-uniform intake distribution ratio due to intake interference of the cylinder pipe, and the like. A slight difference in combustion temperature between the cylinders caused by the cooling route, a variation in the combustion chamber volume of each cylinder, manufacturing variations in piston shape, etc., and a difference in the air-fuel ratio of each cylinder resulting from a difference in fuel injection amount due to a manufacturing error of the injector, etc. It is thought to occur due to slight variations, etc.
したがって、この各気筒の燃焼状態をほぼ均一に制御
することで、アイドル回転速度を滑らかにすることがで
きる。Therefore, by controlling the combustion state of each cylinder substantially uniformly, the idle rotation speed can be made smooth.
各気筒の燃焼状態を均一に制御する手段としては、燃
料噴射制御、点火時期制御が考えられるが、燃料噴射制
御においては理論空燃比の範囲で制御しなければなら
ず、制御範囲が大幅に制限される。Means for uniformly controlling the combustion state of each cylinder include fuel injection control and ignition timing control.However, in fuel injection control, control must be performed within the stoichiometric air-fuel ratio range, and the control range is greatly limited. Is done.
一方、点火時期制御においては、僅かな進角、あるい
は遅角補正でエンジンの燃焼状態が著しく変動してしま
うため制御性に難点がある。On the other hand, in the ignition timing control, there is a difficulty in controllability because the combustion state of the engine fluctuates remarkably by a slight advance or retard correction.
そのため、例えば、特開平2−64252号公報に開示さ
れているように燃料噴射制御と点火時期制御の双方を同
時に制御するものがある。Therefore, for example, as disclosed in Japanese Patent Application Laid-Open No. 2-64252, there is an apparatus that controls both fuel injection control and ignition timing control simultaneously.
すなわち、エンジンの回転変動を所定クランク角ごと
に検出し、この回転変動に基づき変動差の大きい気筒の
燃料噴射量、および、点火時期を補正するとともに、他
の気筒の燃料噴射量および点火時期を全気筒の燃料噴射
量および点火時期の補正量の総和が常にゼロになるよう
に制御するものである。That is, the engine rotation fluctuation is detected at every predetermined crank angle, and based on the rotation fluctuation, the fuel injection amount and the ignition timing of the cylinder having a large fluctuation difference are corrected, and the fuel injection amount and the ignition timing of the other cylinders are corrected. The control is performed such that the sum of the fuel injection amount and the correction amount of the ignition timing of all cylinders is always zero.
[発明が解決しようとする課題] ところで、ひとつのエンジンにおいて燃料噴射量と点
火時期を同時に制御する場合、いずれか一方を設定した
後、この設定値を基準として地方を設定しないと有効な
空燃比制御性、点火時期制御性を得ることができず、例
えば、回転変動差がマイナス側の気筒(燃焼状態の悪い
気筒)に対し、増量補正と進角補正を同時に行った場
合、当該気筒と他の気筒との空燃比およびトルク変動差
が大きくなりフィーリングの悪化を招くことになる。[Problems to be Solved by the Invention] By the way, when simultaneously controlling the fuel injection amount and the ignition timing in one engine, after setting either one, an effective air-fuel ratio is required unless a region is set based on this set value. If the controllability and the ignition timing controllability cannot be obtained, for example, when the increase correction and the advance correction are simultaneously performed on a cylinder having a negative rotation fluctuation difference (cylinder in a bad combustion state), the cylinder and other The difference between the air-fuel ratio and the torque fluctuation between the cylinder and the cylinder becomes large, and the feeling is deteriorated.
[発明の目的] 本発明は、上記事情に鑑みてなされたもので、アイド
ル時のフィーリングを悪化させることなく、各気筒の燃
焼状態を均一に制御することのできるエンジンのアイド
ル制御装置を提供することを目的としている。[Object of the Invention] The present invention has been made in view of the above circumstances, and provides an engine idle control device that can uniformly control the combustion state of each cylinder without deteriorating the feeling during idling. It is intended to be.
[課題を解決するための手段] 上記目的を達成するため本発明によるエンジンのアイ
ドル制御装置は、第1図に示すように、エンジンの運転
状態を検出する運転状態検出手段M1と、燃焼行程にある
気筒の判別が可能な信号および所定クランク角に対応す
る信号を出力するクランク角検出手段M2と、エンジンの
アイドル状態をエンジン運転状態から判別するアイドル
判別手段M3と、エンジンがアイドル状態のとき、所定ク
ランク角ごとのエンジン回転変動差を検出し、このエン
ジン回転変動差と回転変動許容限界とを比較して燃焼行
程にある気筒の燃焼状態を検出する燃焼状態検出手段M4
と、エンジンがアイドル状態のとき、当該気筒の回転変
動差が回転許容限界を外れている場合には、各気筒の噴
射補正量を各気筒の回転変動差の絶対値の総和とその気
筒の回転変動差との比率に応じてそれぞれ補正し、ま
た、当該気筒の噴射補正量が許容上限値を越えた場合に
は当該気筒の噴射補正量を設定量減量すると共に他の気
筒の噴射補正量を減量分だけ分配増量し、さらに、当該
気筒の噴射補正量が許容下限値より低い場合には当該気
筒の噴射補正量を設定量増量すると共に他の気筒の噴射
補正量を増量分だけ分配減量して設定する噴射補正量設
定手段M5と、エンジンの運転状態に基づいて基本噴射量
を演算し、アイドル状態に移行すると気筒毎に基本噴射
量を噴射補正量で補正する噴射量演算手段M6と、噴射量
演算手段の出力に基づいて対応気筒へ燃料を供給する燃
料供給手段M7と、エンジンがアイドル状態のとき、当該
気筒の噴射補正量が許容上限値を越えた場合には当該気
筒の点火時期補正量を所定角度進角し、当該気筒の噴射
補正量が許容下限値より低い場合には当該気筒の点火時
期補正量を所定角度遅角して設定する点火時期補正量設
定手段M8と、エンジンの運転状態に基づいて基本点火時
期を演算し、アイドル状態に移行すると気筒毎に基本点
火時期を点火時期補正量で補正する点火時期演算手段M9
と、点火時期演算手段の出力に基づいて対応気筒の混合
気に点火する点火手段M10とを備えている。[Means for Solving the Problems] To achieve the above object, an engine idle control device according to the present invention comprises, as shown in FIG. 1, an operating state detecting means M1 for detecting an operating state of an engine, Crank angle detection means M2 for outputting a signal capable of determining a certain cylinder and a signal corresponding to a predetermined crank angle, idle determination means M3 for determining an idle state of the engine from an engine operation state, and when the engine is in an idle state, A combustion state detecting means M4 for detecting an engine rotation fluctuation difference for each predetermined crank angle, and comparing the engine rotation fluctuation difference with an allowable rotation fluctuation limit to detect a combustion state of a cylinder in a combustion stroke.
When the rotation fluctuation difference of the cylinder is out of the permissible rotation limit when the engine is idling, the injection correction amount of each cylinder is calculated by summing the absolute value of the rotation fluctuation difference of each cylinder and the rotation of the cylinder. If the injection correction amount of the cylinder exceeds the allowable upper limit, the injection correction amount of the cylinder is reduced by a set amount and the injection correction amount of the other cylinder is reduced. If the injection correction amount of the cylinder is lower than the allowable lower limit, the injection correction amount of the cylinder is increased by a set amount, and the injection correction amount of the other cylinder is distributed and reduced by the increase amount. An injection correction amount setting means M5 for calculating the basic injection amount based on the operating state of the engine, and an injection amount calculation means M6 for correcting the basic injection amount with the injection correction amount for each cylinder when the engine shifts to the idle state; Based on the output of the injection amount calculation means The fuel supply means M7 for supplying fuel to the corresponding cylinder, and when the injection correction amount of the cylinder exceeds an allowable upper limit when the engine is in an idle state, the ignition timing correction amount of the cylinder is advanced by a predetermined angle. If the injection correction amount of the cylinder is lower than the permissible lower limit value, the ignition timing correction amount setting means M8 sets the ignition timing correction amount of the cylinder delayed by a predetermined angle, and the basic ignition based on the operating state of the engine. The ignition timing calculating means M9 calculates the timing, and shifts to the idle state to correct the basic ignition timing for each cylinder with the ignition timing correction amount.
And ignition means M10 for igniting the air-fuel mixture of the corresponding cylinder based on the output of the ignition timing calculation means.
[作用] 本発明では、アイドル状態のとき、所定クランク角ご
とのエンジン回転変動差と回転変動許容限界とを比較し
て燃焼行程にある気筒の燃焼状態を検出する。そして、
当該気筒の回転変動差が回転変動許容限界を外れている
場合には、各気筒の噴射補正量を各気筒の回転変動差の
絶対値の総和とその気筒の回転変動差との比率に応じて
それぞれ補正する。また、当該気筒の噴射補正量が許容
上限値を越えた場合には、当該気筒の点火時期補正量を
所定角度進角させると共に、当該気筒の噴射補正量を設
定量減量し、他の気筒の噴射補正量を減量分だけ分配増
量する。さらに、当該気筒の噴射補正量が許容下限値よ
り低い場合には、当該気筒の点火時期補正量を所定角度
遅角させると共に当該気筒の噴射補正量を設定量増量
し、他の気筒の噴射補正量を増量分だけ分配減量する。[Operation] In the present invention, during the idle state, the combustion state of the cylinder in the combustion stroke is detected by comparing the engine rotation fluctuation difference for each predetermined crank angle with the rotation fluctuation allowable limit. And
If the rotation fluctuation difference of the cylinder is out of the rotation fluctuation allowable limit, the injection correction amount of each cylinder is determined according to the ratio between the sum of the absolute values of the rotation fluctuation difference of each cylinder and the rotation fluctuation difference of the cylinder. Correct each. Further, if the injection correction amount of the cylinder exceeds the allowable upper limit, the ignition timing correction amount of the cylinder is advanced by a predetermined angle, and the injection correction amount of the cylinder is reduced by a set amount, and the injection correction amount of the other cylinder is reduced. The injection correction amount is distributed and increased by the reduced amount. Further, when the injection correction amount of the cylinder is lower than the permissible lower limit value, the ignition timing correction amount of the cylinder is retarded by a predetermined angle, and the injection correction amount of the cylinder is increased by a set amount, and the injection correction amount of the other cylinder is increased. Distribute and reduce the amount by the increment.
そして、アイドル状態のときには、各気筒ごとにこれ
らの噴射補正量、点火時期補正によって基本噴射量、基
本点火時期が補正される。In the idle state, the basic injection amount and the basic ignition timing are corrected by the injection correction amount and the ignition timing correction for each cylinder.
したがって、各気筒においてオーバリーン、あるい
は、オーバリッチを生ずることなく、制御がワイドレン
ジ化して制御性が大幅に向上し、かつ、各気筒の回転変
動差に応じて噴射補正量の補正がなされるので各気筒ご
との回転変動差が解消され、良好なフィーリングを得ら
れる。Therefore, the control is widened and the controllability is greatly improved without causing overlean or overrich in each cylinder, and the injection correction amount is corrected in accordance with the rotation fluctuation difference of each cylinder. The rotation fluctuation difference for each cylinder is eliminated, and a good feeling can be obtained.
[発明の実施例] 以下、図面に基づいて本発明の実施例を説明する。Hereinafter, embodiments of the present invention will be described with reference to the drawings.
第2図〜第11図は本発明の第一実施例を示し、第2図
はエンジン制御系の全体概略図、第3図はクランクロー
タとクランク角センサの正面図、第4図はカムロータと
カム角センサの正面図、第5図は基本点火時期マップの
概念図、第6図は気筒内圧力変動、クランパルス、カム
パルス、および、エンジン回転数のタイムチャート、第
7図は気筒別平均差回転速度算出手順を示すフローチャ
ート、第8図は気筒別燃料噴射制御手順を示すフローチ
ャート、第9図は気筒別点火時期制御手順を示すフロー
チャート、第10図は気筒別平均差回転速度、気筒別無効
噴射パルス幅を示すタイムチャート、第11図は気筒別点
火時期補正学習値を示すタイムチャートである。2 to 11 show a first embodiment of the present invention, FIG. 2 is an overall schematic diagram of an engine control system, FIG. 3 is a front view of a crank rotor and a crank angle sensor, and FIG. Front view of the cam angle sensor, FIG. 5 is a conceptual diagram of a basic ignition timing map, FIG. 6 is a time chart of cylinder pressure fluctuation, clan pulse, cam pulse, and engine speed, and FIG. 7 is an average difference for each cylinder. FIG. 8 is a flowchart showing a cylinder-by-cylinder fuel injection control procedure, FIG. 9 is a flowchart showing a cylinder-by-cylinder ignition timing control procedure, FIG. 10 is a cylinder-by-cylinder average differential rotation speed, invalid by cylinder FIG. 11 is a time chart showing an injection pulse width, and FIG. 11 is a time chart showing a cylinder-by-cylinder ignition timing correction learning value.
(構 成) 第2図の符号1はエンジンで、図において4気筒水平
対向エンジンを示す。このエンジン1のシリンダヘッド
2に形成した吸気ポート2aにインテークマニホルド3が
連通され、このインテークマニホルド3の上流にエアチ
ャンバ4を介してスロットルチャンバ5が連通され、こ
のスロットルチャンバ5の上流側に吸気管6を介してエ
アークリーナ7が取付けられている。(Structure) Reference numeral 1 in FIG. 2 denotes an engine, which indicates a four-cylinder horizontally opposed engine in the figure. An intake manifold 3 communicates with an intake port 2a formed in a cylinder head 2 of the engine 1. A throttle chamber 5 is communicated upstream of the intake manifold 3 via an air chamber 4, and intake air is provided upstream of the throttle chamber 5. An air cleaner 7 is attached via a pipe 6.
また、上記吸気管6の上記エアクリーナ7の直下流に
吸入空気量センサ(図においては、ホットワイヤ式エア
フローメータ)8が介装され、さらに、上記スロットル
チャンバ5に設けられたスロットルバルブ5aにスロット
ル開度センサ9aとスロットルバルブ全閉を検出するアイ
ドルスイッチ9bとが連設されている。An intake air amount sensor (hot wire air flow meter in the figure) 8 is interposed immediately downstream of the air cleaner 7 in the intake pipe 6, and a throttle valve 5 a provided in the throttle chamber 5 is provided with a throttle valve. An opening sensor 9a and an idle switch 9b for detecting the full closing of the throttle valve are connected to each other.
また、上記インテークマニホルド3の各気筒の各吸気
ポート2aの直上流側に、インジェクタ(燃料供給手段)
10が配設されている。さらに、上記シリンダヘッド2の
各気筒ごとに、先端の発火部を燃焼室に露呈する点火プ
ラグ11が取り付けられている。なお、点火プラグ11には
点火コイル11aが一体に取付けられている。An injector (fuel supply means) is provided immediately upstream of each intake port 2a of each cylinder of the intake manifold 3.
Ten are arranged. Further, an ignition plug 11 for exposing the ignition portion at the tip to the combustion chamber is attached to each cylinder of the cylinder head 2. The ignition coil 11a is integrally attached to the ignition plug 11.
また、上記インジェクタ10が燃料通路12を介して燃料
タンク13に連通され、上記燃料通路12に燃料ポンプ14が
介装されている。Further, the injector 10 is communicated with a fuel tank 13 via a fuel passage 12, and a fuel pump 14 is provided in the fuel passage 12.
また、上記エンジン1のクランクシャフト1bにクラン
クロータ15が軸着され、このクランクロータ15の外周
に、所定クランク角に対応する突起(あるいはスリッ
ト)を検出するための電磁ピックアップなどからなるク
ランク角センサ16が対設され、さらに、上記クランクシ
ャフト1bに対して1/2回転するカムシャフト1cにカムロ
ータ17が連設され、このカムロータ17の外周にカム角セ
ンサ18が対設されている。Further, a crank rotor 15 is mounted on a crank shaft 1b of the engine 1 and a crank angle sensor including an electromagnetic pickup for detecting a protrusion (or a slit) corresponding to a predetermined crank angle is provided on the outer periphery of the crank rotor 15. A cam rotor 17 is connected to a camshaft 1c that rotates 1/2 of the crankshaft 1b, and a cam angle sensor 18 is provided on the outer periphery of the cam rotor 17.
第3図に示すように、上記クランクロータ15の外周に
突起15a,15b,15cが形成されている。この各突起15a,15
b,15cが各気筒の圧縮上死点前(BTDC)θ1,θ2,θ3の
位置に形成されており、突起15a,15b間の通過時間から
周期f1.2(ここにおいて、f=1/ω ω:角速度)を算
出し、また、突起15b,15c間の通過時間から周期f2.3を
算出する。さらに、上記突起15bが点火時期ADVを設定す
る際の基準クランク角を示す。As shown in FIG. 3, protrusions 15a, 15b, and 15c are formed on the outer periphery of the crank rotor 15. These projections 15a, 15
b and 15c are formed at positions before the compression top dead center (BTDC) θ1, θ2 and θ3 of each cylinder, and the period f1.2 (here, f = 1 / ω) is determined from the passage time between the protrusions 15a and 15b. ω: angular velocity), and the period f2.3 is calculated from the passing time between the protrusions 15b and 15c. Further, the projection 15b indicates a reference crank angle when setting the ignition timing ADV.
第6図に示すように、上記突起15b,15cのクランク角B
TDCθ2,θ3が、アイドル運転時の点火時期(時刻)ADV
の前後に設定されている。一般に、アイドル運転時の点
火時期はBTDC20℃A付近であり、このクランク角で着火
しても、その後約10℃Aまでは、まだ燃焼圧が急激に上
昇することはない。As shown in FIG. 6, the crank angle B of the projections 15b, 15c
TDC θ2, θ3 is the ignition timing (time) ADV during idling operation
Is set before and after. Generally, the ignition timing at the time of the idling operation is around 20 ° C. BTDC, and even if the ignition is performed at this crank angle, the combustion pressure does not increase rapidly until about 10 ° C. thereafter.
また、第6図に示すように、実施例においては、各気
筒の排気弁の開弁時期を、次の燃焼気筒の点火基準クラ
ンク各BTDCθ2よりやや遅角側に設定されているが、一
般に、排気弁開弁直後の燃焼圧は急激に低下しているた
め、クランク角BTDCθ3では、燃焼圧の影響はほとんど
ない。Further, as shown in FIG. 6, in the embodiment, the valve opening timing of the exhaust valve of each cylinder is set slightly retarded with respect to each BTDC θ2 of the ignition reference crank of the next combustion cylinder. Since the combustion pressure immediately after the opening of the exhaust valve is rapidly reduced, the combustion pressure has almost no effect at the crank angle BTDCθ3.
したがって、上記突起15cのクランク角θ3をBTDC10
℃Aより進角側に設定すれば、上記突起15b,15cのクラ
ンク角BTDCθ2,θ3の間の区間が、各気筒間の燃焼によ
る影響をほとんど受けない、すなわち、燃焼行程気筒と
次の燃焼行程気筒との間の燃焼による仕事をしていない
区間になる。Therefore, the crank angle θ3 of the projection 15c is
If it is set on the more advanced side than ℃ A, the section between the crank angles BTDC θ2, θ3 of the projections 15b, 15c is hardly affected by the combustion between the cylinders, that is, the combustion stroke cylinder and the next combustion stroke This is a section where there is no work due to combustion with the cylinder.
また、第4図に示すように、上記カムロータ17の外周
に、気筒判別用突起(あるいはスリット)17a,17b,17c
が形成されている。突起17aが#3,#4気筒の圧縮上死
点後(ATDC)θ4の位置に形成され、また、突起17bが
3ヶの突起で構成され、その最初の突起が#1気筒の圧
縮上死点後(ATDC)θ5の位置に形成され、さらに、突
起17cが2ヶの突起で構成され、その最初の突起が#2
気筒の圧縮上死点後(ATDC)θ6の位置に形成されてい
る。As shown in FIG. 4, on the outer periphery of the cam rotor 17, projections (or slits) 17a, 17b, 17c for cylinder discrimination are provided.
Are formed. The projection 17a is formed at the position of θ4 after the top dead center (ATDC) of the # 3 and # 4 cylinders, and the projection 17b is composed of three projections, and the first projection is the top dead center of the # 1 cylinder. A point (ATDC) is formed at the position of θ5, and the projection 17c is composed of two projections.
It is formed at a position θ6 after the compression top dead center (ATDC) of the cylinder.
なお、図の実施例ではθ1=97℃A、θ2=65℃A、
θ3=10℃A、θ4=20℃A、θ5=5℃A、θ6=20
℃A、θ(2−3)=55℃Aであり、この配列により、
第6図に示すように、例えば、上記カム角センサ18がθ
5(突起17b)のカムパルスを検出した場合、その後に
クランク角センサ16で検出するクランクパルスが#3気
筒のクランク角を示す信号であることが判別できる。In the embodiment shown in the figure, θ1 = 97 ° C., θ2 = 65 ° C.,
θ3 = 10 ° C, θ4 = 20 ° A, θ5 = 5 ° A, θ6 = 20
° C, θ (2-3) = 55 ° C.
As shown in FIG. 6, for example, the cam angle sensor 18 detects θ
When the cam pulse of No. 5 (projection 17b) is detected, it can be determined that the crank pulse subsequently detected by the crank angle sensor 16 is a signal indicating the crank angle of the # 3 cylinder.
また、上記θ5のカムパルスの後にθ4(突起17a)
のカムパルスを検出した場合、その後のクランク角セン
サ16で検出するクランクパルスが#2気筒のクランク角
を示すものであることが判別できる。同様にθ6(突起
17c)のカムパルスを検出した後のクランクパルスが#
4気筒のクランク角を示すものであり、また、上記θ6
のカムパルスの後にθ4(突起17a)のカムパルスを検
出した場合、その後に検出するクランクパルスが#1気
筒のクランク角を示すものであることが判別できる。After the cam pulse of θ5, θ4 (projection 17a)
Is detected, it can be determined that the subsequent crank pulse detected by the crank angle sensor 16 indicates the crank angle of the # 2 cylinder. Similarly, θ6 (projection
17c) The crank pulse after detecting the cam pulse is #
It indicates the crank angle of the four cylinders.
When the cam pulse of θ4 (projection 17a) is detected after the cam pulse of, it can be determined that the crank pulse detected thereafter indicates the crank angle of the # 1 cylinder.
さらに、上記カム角センサ18でカムパルスを検出した
後に、上記クランク角センサ16で検出するクランクパル
スが該当気筒の基準クランク角(θ1)を示すものであ
ることが判別できる。Further, after the cam pulse is detected by the cam angle sensor 18, it can be determined that the crank pulse detected by the crank angle sensor 16 indicates the reference crank angle (θ1) of the corresponding cylinder.
なお、上記クランク角センサ16、カム角センサ18はク
ランク角検出手段を構成しており、カムパルスパターン
を変えることにより、カム角センサ18のみでクランク角
検出手段を構成するようにしてもよい。Note that the crank angle sensor 16 and the cam angle sensor 18 constitute crank angle detecting means, and the crank angle detecting means may be constituted only by the cam angle sensor 18 by changing a cam pulse pattern.
一方、上記エンジン本体1に、このエンジン本体1の
振動からノックを検出するノックセンサ19が固設され、
また、上記インテークマニホルド3に形成したライザを
冷却水通路(図示せず)に冷却水温センサ20が臨まされ
ている。On the other hand, a knock sensor 19 for detecting knock from the vibration of the engine body 1 is fixed to the engine body 1,
A cooling water temperature sensor 20 faces a riser formed in the intake manifold 3 to a cooling water passage (not shown).
また、上記シリンダヘッド2の排気ポート2bに連通す
る排気管21にO2センサ22が臨まされている。なお、符号
23は触媒コンバータで、24は車速センサ、25はイグナイ
タである。An O2 sensor 22 faces an exhaust pipe 21 communicating with the exhaust port 2b of the cylinder head 2. The sign
23 is a catalytic converter, 24 is a vehicle speed sensor, and 25 is an igniter.
(制御装置の回路構成) 一方、符号31はマイクロコンピュータなどからなる制
御装置で、この制御装置31のCPU(中央演算処理装置)3
2、ROM33、RAM34、バックアップRAM(不揮発性RAM)3
5、および、I/Oインターフェイス36がバスライン37を介
して互いに接続されて、定電圧回路38から所定の安定化
電圧が供給される。(Circuit Configuration of Control Device) On the other hand, reference numeral 31 denotes a control device including a microcomputer or the like, and a CPU (central processing unit) 3
2, ROM33, RAM34, backup RAM (non-volatile RAM) 3
5, and the I / O interface 36 are connected to each other via the bus line 37, and a predetermined stabilized voltage is supplied from the constant voltage circuit 38.
上記定電圧回路38は、制御リレー39を介してバッテリ
41に接続され、キースイッチ40がONされて上記制御リレ
ー39のリレー接点が閉となったとき各部に制御用電源を
供給すると共に、上記バッテリ41に直接接続され、上記
バックアップRAM35に、キースイッチ40がOFFされたとき
でもバックアップ電源を供給する。The constant voltage circuit 38 is connected to a battery via a control relay 39.
When the key switch 40 is turned on and the relay contact of the control relay 39 is closed, the power supply for control is supplied to each part, and the key switch 40 is directly connected to the battery 41 and is connected to the backup RAM 35. Supply backup power even when 40 is turned off.
また、上記I/Oインターフェイス36の入力ポートに、
各センサ8,9a,16,18,19,20,22,24、および、アイドルス
イッチ9bが接続されると共に、上記バッテリ41のプラス
端子が接続され、その端子電圧がモニタされ、また、上
記I/Oインターフェイス36の出力ポートに、点火プラグ1
1がイグナイタ25を介して接続されているとともに、駆
動回路42を介してインジェクタ10が接続されている。In addition, to the input port of the I / O interface 36,
Each sensor 8, 9a, 16, 18, 19, 20, 22, 24, and the idle switch 9b are connected, the plus terminal of the battery 41 is connected, the terminal voltage is monitored, and the I I / O interface 36 output port with spark plug 1
1 is connected via an igniter 25, and the injector 10 is connected via a drive circuit.
上記ROM33には制御プログラム、固定データなどが記
憶されている。固定データとしては、後述する基本点火
時期マップMPθBASE、および、イニシャルセット値など
がある。The ROM 33 stores a control program, fixed data, and the like. The fixed data includes a basic ignition timing map MPθBASE described later, an initial set value, and the like.
また、上記RAM34には上記各センサ類の出力信号を処
理した後のデータ、CPU32で演算処理したデータなどが
格納されている。さらに、バックアップRAM35は、キー
スイッチ40に関係なく常時電源が印加され、キースイッ
チ40をOFFにしてエンジンの運転を停止しても記憶内容
が消失せず、後述する気筒別の無効噴射パルス幅デー
タ、点火時期補正学習値データなどが格納される。The RAM 34 stores data obtained by processing output signals of the sensors, data processed by the CPU 32, and the like. Further, the backup RAM 35 is always supplied with power irrespective of the key switch 40. Even if the key switch 40 is turned off and the operation of the engine is stopped, the stored contents are not lost. And ignition timing correction learning value data.
さらに、上記CPU32では上記ROM33に記憶されている制
御プログラムに従い、上記RAM34、バックアップRAM35に
格納した各種データに基づき、インジェクタ10に対する
燃料噴射パルス幅Ti、あるいは、点火時期ADVなどを気
筒別に演算する。Further, the CPU 32 calculates a fuel injection pulse width Ti for the injector 10 or an ignition timing ADV for each cylinder based on various data stored in the RAM 34 and the backup RAM 35 according to a control program stored in the ROM 33.
なお、上記制御装置31のアイドル制御機能には、エン
ジンのアイドル状態をエンジン運転状態から判別するア
イドル判別手段と、エンジンがアイドル状態のとき、所
定クランク角ごとのエンジン回転変動差を検出し、この
エンジン回転変動差と回転変動許容限界とを比較して燃
焼行程にある気筒の燃焼状態を検出する燃焼状態検出手
段と、エンジンがアイドル状態のとき、当該気筒の回転
変動差が回転許容限界を外れている場合には、各気筒の
噴射補正量を各気筒の回転変動差の絶対値の総和とその
気筒の回転変動差との比率に応じてそれぞれ補正し、ま
た、当該気筒の噴射補正量が許容上限値を越えた場合に
は当該気筒の噴射補正量を設定量減量すると共に他の気
筒の噴射補正量を減量分だけ分配増量し、さらに、当該
気筒の噴射補正量が許容下限値より低い場合には当該気
筒の噴射補正量を設定量増量すると共に他の気筒の噴射
補正量を増量分だけ分配減量して設定する噴射補正量設
定手段と、エンジンの運転状態に基づいて基本噴射量を
演算し、アイドル状態に移行すると気筒毎に基本噴射量
を噴射補正量で補正する噴射量演算手段と、エンジンが
アイドル状態のとき、当該気筒の噴射補正量が許容上限
値を越えた場合には当該気筒の点火時期補正量を所定角
度進角し、当該気筒の噴射補正量が許容下限値より低い
場合には当該気筒の点火時期補正量を所定角度遅角して
設定する点火時期補正量設定手段と、エンジンの運転状
態に基づいて基本点火時期を演算し、アイドル状態に移
行すると気筒毎に基本点火時期を点火時期補正量で補正
する点火時期演算手段とが含まれている。The idling control function of the control device 31 includes an idling determining means for judging an idling state of the engine from an operating state of the engine and, when the engine is in an idling state, detecting an engine rotation fluctuation difference for each predetermined crank angle. Combustion state detection means for comparing the engine rotation fluctuation difference with the rotation fluctuation allowable limit to detect the combustion state of the cylinder in the combustion stroke; and when the engine is idle, the rotation fluctuation difference of the cylinder deviates from the rotation allowable limit. In this case, the injection correction amount of each cylinder is corrected in accordance with the ratio between the sum of the absolute values of the rotation fluctuation differences of the cylinders and the rotation fluctuation difference of the cylinder, respectively. If the allowable upper limit is exceeded, the injection correction amount of the relevant cylinder is reduced by the set amount, and the injection correction amount of the other cylinder is distributed and increased by the reduced amount. If it is lower than the lower limit value, the injection correction amount of the relevant cylinder is increased by a set amount, and the injection correction amount of the other cylinder is set by distributing and decreasing the injection correction amount by the increased amount. An injection amount calculating means for correcting the basic injection amount with an injection correction amount for each cylinder when the engine shifts to an idle state; and when the engine is in an idle state, the injection correction amount of the cylinder becomes an allowable upper limit value. If it exceeds, the ignition timing correction amount of the cylinder is advanced by a predetermined angle, and if the injection correction amount of the cylinder is lower than the allowable lower limit, the ignition timing correction amount of the cylinder is set to be delayed by a predetermined angle. Ignition timing correction amount setting means; and ignition timing calculation means for calculating a basic ignition timing based on an operating state of the engine and correcting the basic ignition timing for each cylinder with the ignition timing correction amount when the engine shifts to an idle state. Is .
なお、本実施例では、上記各センサ8,9a,16,18,19,2
0,22,24、および、アイドイッチ9b等が、エンジン運転
状態検出手段を構成しており、上記点火プラグ11、点火
コイル11a、イグナイタ25等が点火手段を構成してい
る。In this embodiment, each of the above sensors 8, 9a, 16, 18, 19, 2
0, 22, 24, the idle switch 9b and the like constitute engine operating state detecting means, and the ignition plug 11, the ignition coil 11a, the igniter 25 and the like constitute ignition means.
(作 用) 次に、、上記制御装置31によるアイドル制御手段を第
7図〜第9図に示すフローチャートに従って説明する。(Operation) Next, idle control means by the control device 31 will be described with reference to flowcharts shown in FIGS.
このアイドル制御は、平均差回転速度算出手順(第7
図)、燃料噴射制御手段(第8図)、点火時期制御手順
(第9図)で構成されている。なお、このフローチャー
トは周期時間ごとに気筒別に実行される。This idle control is based on the average difference rotation speed calculation procedure (the seventh difference rotation speed).
FIG. 8), a fuel injection control means (FIG. 8), and an ignition timing control procedure (FIG. 9). This flowchart is executed for each cylinder at each cycle time.
:平均差回転速度算出手順: まず、ステップ(以下「S」と略称)S101で、車速S
と、アイドルスイッチ出力を読込み、S102で、上記S101
で読込んだ車速Sとアイドルスイッチ出力から現運転状
態がアイドルかどうかを判別する。: Average differential rotation speed calculation procedure: First, in step (hereinafter abbreviated as “S”) S101, vehicle speed S
And the output of the idle switch is read.
It is determined whether or not the current operation state is idle based on the vehicle speed S and idle switch output read in step (1).
車速S=0、アイドルスイッチON(スロットル全閉)
の場合、アイドルと判定しs103へ進み、また、車速S≠
0、あるいは、アイドルスイッチOFF(スロットル全閉
解除)の場合、走行中と判断してルーチンを外れる。Vehicle speed S = 0, idle switch ON (throttle fully closed)
In the case of, it is determined that the vehicle is idling, the process proceeds to s103, and the vehicle speed S ≠
If it is 0 or the idle switch is OFF (throttle fully closed release), it is determined that the vehicle is running and the routine is ended.
S103へ進むと、カム角センサ18から出力されるカムパ
ルスから燃焼行程気筒#i(i=1,3,2,4)を判別す
る。次いで、S104で、クランク角センサ16から出力され
るBTDCθ2,θ3を検出するクランクパルスを上記カムパ
ルスの割込みにより判別する。In step S103, the combustion stroke cylinder #i (i = 1, 3, 2, 4) is determined from the cam pulse output from the cam angle sensor 18. Next, in S104, a crank pulse for detecting BTDC θ2, θ3 output from the crank angle sensor 16 is determined by interruption of the cam pulse.
そして、S105で、上記S104で判別したBTDCθ2,θ3を
検出するクランクパルス間の経過時間t2.3と、上記θ2,
θ3の挾み角(θ2−θ3)とから周期f2.3を算出する
(f2.3=dt2.3/d(θ2−θ3))。Then, in S105, the elapsed time t2.3 between the crank pulses for detecting the BTDC θ2, θ3 determined in S104 and the θ2,
The period f2.3 is calculated from the included angle of θ3 (θ2−θ3) (f2.3 = dt2.3 / d (θ2−θ3)).
次いで、S106で、上記S105で算出した周期f2.3からエ
ンジン回転数NNEWを算出する(NNEW←60/f2.3)。Next, in S106, the engine speed NNEW is calculated from the cycle f2.3 calculated in S105 (NNEW ← 60 / f2.3).
その後、S107で、上記S106で算出したエンジン回転数
NNEWと、前回のルーチンで算出した気筒#i−1のエ
ンジン回転数NOLDとの差から燃焼行程気筒#iの燃焼
による仕事をしていない区間(第6図参照)の差回転速
度ΔN#iを算出し(ΔN#i←NNEW−NOLD)、S108
で、RAM34の所定アドレスに記憶されている前回のエン
ジン回転数NOLDを上記S106で算出した今回のエンジン
回転数NNEWで更新する(NOLD←NNEW)。Thereafter, in S107, the section in which the work in the combustion stroke cylinder #i is not performed due to the combustion is performed based on the difference between the engine speed NNEW calculated in S106 and the engine speed NOLD of the cylinder # i-1 calculated in the previous routine. The difference rotational speed ΔN # i (see FIG. 6) is calculated (ΔN # i ← NNEW−NOLD), and S108
Then, the previous engine speed NOLD stored at a predetermined address in the RAM 34 is updated with the current engine speed NNEW calculated in S106 (NOLD ← NNEW).
そして、S109で、上記S107で算出した差回転速度ΔN
#iと、RAM34の所定アドレスに格納されている当該気
筒#iの前回の平均差回転速度ΔNA#i(−1)に基
づき、今回のエンジン回動変動差の一例である平均差回
転速度ΔNA#iを加重係数(加重平均の重み)rの加
重平均から求め(ΔNA#i←((2r−1)×ΔNA#i
(−1)+ΔN#i)/2r)、RAM34の該当アドレスにス
トアする。Then, in S109, the differential rotation speed ΔN calculated in S107
Based on #i and the previous average differential rotation speed ΔNA # i (−1) of the cylinder #i stored at a predetermined address in the RAM 34, the average differential rotation speed ΔNA which is an example of the current engine rotation fluctuation difference. weighting coefficients #i determined from the weighted average of (weighted weighted average) r (ΔNA # i ← ( (2 r -1) × ΔNA # i
(-1) + ΔN # i) / 2 r ) and store the data at the corresponding address in the RAM 34.
その後、S110でRAM34の所定アドレスに格納されてい
る当該気筒#iの前回の平均差回転速度ΔNA#i(−
1)を上記S109で求めた今回の平均差回転速度ΔNA#
iで更新し(ΔNA#i(−1)←ΔNA#i)、ルーチ
ンを外れる。Thereafter, in S110, the previous average differential rotation speed ΔNA # i (−) of the cylinder #i stored at the predetermined address of the RAM 34 in the previous time.
1) is the current average differential rotation speed ΔNA # obtained in S109.
i is updated (ΔNA # i (−1) ← ΔNA # i), and the routine is exited.
なお、初回のルーチンではNOLDの設定がなされてい
ないので、S107をジャンプし、また、各気筒ごとの初回
ルーチンではΔNA#i(−1)←0としてルーチンを
抜ける。Since NOLD is not set in the first routine, S107 is jumped, and in the first routine for each cylinder, the routine is exited with ΔNA # i (−1) ← 0.
第6図に示すように、4サイクル4気筒エンジンの場
合、周期f2.3に基づいて求めるエンジン回転数NNEW
は、180℃Aごとに実行されるため、気筒間で計測する
周期f2.3は共通している。As shown in FIG. 6, in the case of a four-cycle four-cylinder engine, the engine speed NNEW obtained based on the cycle f2.3
Is performed every 180 ° C., and therefore, the cycle f2.3 measured between the cylinders is common.
したがって、例えば、気筒#1に着目した場合、前回
算出したエンジン回転数NOLDを今回算出したエンジン
回転数NNEWから減算すれば、気筒#1の差回転速度Δ
N#1が求められ、一方、気筒#3をみれば、上記気筒
#1のエンジン回転数NNEWをNOLDとすることで、その
後の気筒#3のエンジン回転数NNEWから差回転速度Δ
N#3を求めることができる。Therefore, for example, when focusing on the cylinder # 1, if the previously calculated engine speed NOLD is subtracted from the currently calculated engine speed NNEW, the differential rotation speed Δ of the cylinder # 1 can be obtained.
N # 1 is obtained. On the other hand, when looking at the cylinder # 3, the engine speed NNEW of the cylinder # 1 is set to NOLD, and the difference rotational speed Δ from the engine speed NNEW of the cylinder # 3 thereafter.
N # 3 can be obtained.
互いに共通する気筒のエンジン回転数をそれぞれN4.
1,N,1.3,N3.2,N2.4とした場合、各気筒の差回転速度は
以下の通りである。Set the engine speed of the common cylinder to N4.
When 1, N, 1.3, N3.2, and N2.4 are set, the differential rotation speed of each cylinder is as follows.
ΔN#1=N1.3−N4.1 ΔN#3=N3.2−N1.3 ΔN#2=N2.4−N3.2 ΔN#4=N4.1−N2.4 ところで、上記差回転速度ΔN#iは、図示平均有効
力Pi、すなわち、気筒の燃焼状態と強い相関関係にある
ことが実験から明らかにされている。したがって、上述
の如く、差回転速度ΔN#iを求めることで、各気筒#
iの燃焼状態(図示平均有効圧力)の良否を推定するこ
とができる。ΔN # 1 = N1.3−N4.1 ΔN # 3 = N3.2−N1.3 ΔN # 2 = N2.4−N3.2 ΔN # 4 = N4.1−N2.4 Experiments have shown that ΔN # i has a strong correlation with the indicated mean effective force Pi, that is, the combustion state of the cylinder. Therefore, as described above, by calculating the differential rotation speed ΔN # i, each cylinder #
It is possible to estimate the quality of the combustion state i (illustrated average effective pressure).
以下に、上記差回転速度ΔN#iと上記図示平均有効
圧力との関係を示す。The relationship between the differential rotation speed ΔN # i and the indicated mean effective pressure will be described below.
まず、エンジンが回転している状態を式で表すと、 I:慣性モーメント N:エンジン回転速度 Ti:指示トルク Tf:フリクショントルク となりこの(1)式を簡略化して、 とおき、さらに圧力に置換えて表すと、 Pi:図示平均有効圧力 Pf:摩擦損失有効圧力 となる。First, when the state where the engine is rotating is expressed by an equation, I: Moment of inertia N: Engine speed Ti: Command torque Tf: Friction torque And then replace it with pressure, Pi: Indicated average effective pressure Pf: Friction loss effective pressure
実験によれば、回転速度を検出するクランク角と、速
度を算出するためのクランク角幅を上述の如きθ2.3、
すなわち、燃焼行程の前後に設定すれば、4サイクル4
気筒エンジンの場合、上記差回転速度ΔN#iと、その
間の時間的変化ΔT(180℃A回転相当)とをもとに、
上記(3)式のdN/dtを求めた結果、非常に強い相関が
得られる。According to the experiment, the crank angle for detecting the rotation speed and the crank angle width for calculating the speed were set to θ2.3 as described above,
That is, if it is set before and after the combustion stroke, 4 cycles 4
In the case of a cylinder engine, based on the difference rotational speed ΔN # i and a temporal change ΔT (equivalent to 180 ° C. A rotation) during the period,
As a result of obtaining dN / dt in the above equation (3), a very strong correlation is obtained.
この場合、ΔT(180℃A)の変動は無視できる量で
あり、また、摩擦損失有効圧力Pfも一定と考えれば、上
記(3)式から、 ΔN=K×Pi−PF …(4) K,PF:定数 が成立する。In this case, the fluctuation of ΔT (180 ° C. A) is negligible, and if the friction loss effective pressure Pf is considered to be constant, from the above equation (3), ΔN = K × Pi−PF (4) K , PF: The constant holds.
したがって、各気筒の差回転速度ΔNを、それぞれ求
めることで、図示平均有効圧力Pi、すなわち、燃焼状態
を気筒ごとに推定することができる。Accordingly, the indicated average effective pressure Pi, that is, the combustion state can be estimated for each cylinder by obtaining the differential rotation speed ΔN of each cylinder.
そして、この各気筒#iの差回転速度ΔN#iを個々
に“0"に近づければ、気筒ごとの燃焼状態を均一にする
ことができる。If the differential rotation speed ΔN # i of each cylinder #i approaches “0” individually, the combustion state of each cylinder can be made uniform.
一方、上記(3)式において、摩擦平均有効圧力Pfを
一定とみなして定数Cとし、比例定数をKとすると、 となり、したがって、K,Cを予め求めることで、図示平
均有効圧力Piを求めることができる。On the other hand, in the above formula (3), assuming that the friction average effective pressure Pf is constant and is set to a constant C, and a proportional constant is set to K, Therefore, by determining K and C in advance, the indicated mean effective pressure Pi can be determined.
この(5)式によれば、差回転速度ΔNを時間微分す
ることで、図示平均有効圧力Piを差回転速度ΔNからさ
らに精度よく推定することができる。According to the equation (5), the indicated mean effective pressure Pi can be more accurately estimated from the difference rotation speed ΔN by differentiating the difference rotation speed ΔN with time.
また、平均差回転速度ΔNA#iを加重平均により求
めることで、当該気筒の計測誤差、および、一時的な回
転速度変動によるばらつきを修正することができる。Further, by calculating the average difference rotation speed ΔNA # i by a weighted average, it is possible to correct the measurement error of the cylinder and the variation due to the temporary rotation speed fluctuation.
:燃料噴射制御手順: 次に燃料噴射制御手順を第8図に基づき説明する。: Fuel injection control procedure: Next, the fuel injection control procedure will be described with reference to FIG.
なお、車両の修理等によりバッテリ41がはずされて、
バックアップRAM35に格納されている各気筒ごとの無効
噴射補正パルス幅Ts#iおよび点火時期補正学習値LADV
#iのデータがこわれて無意味な値になることがある。
よって、イニシャライズ時に、バッテリ41がはずされた
かを検出するために、通常バックアップRAM35の特定ア
ドレスに決められた定数をストアしておき、この定数の
値がこわれているかをROM33の特性アドレスにストアさ
れている基準値(バックアップRAM35にストアされてい
る定数の値がこわれていない場合には、定数の値と基準
値とが同一の値)と比較して判別し、定数の値がこわれ
ている場合には、バッテリ41がはずれたものとして各気
筒ごとの無効噴射補正パルス幅Ts#iをTs/n(Ts;例え
ば、バッテリ電圧14V時の各気筒の無効噴射パルス幅の
合計値ΣTs、n;気筒数、4気筒エンジンの場合n=4、
Ts/nの値はROM33に予めストアされている。)に、各気
筒ごとの点火時期補正学習値LADV#iを0にイニシャラ
イズし、上記バックアップRAM35の特定アドレスにスト
アされている定数の値を基準値にて再設定する。次回の
起動時にバックアップRAM35の定数の値がこわれていな
い場合には、無効噴射補正パルス幅Ts#i、点火時期学
習値LADV#iのイニシャライズは行わない。In addition, the battery 41 was removed due to vehicle repair, etc.,
Invalid injection correction pulse width Ts # i and ignition timing correction learning value LADV for each cylinder stored in backup RAM 35
The data of #i may be broken and become a meaningless value.
Therefore, at the time of initialization, in order to detect whether or not the battery 41 has been removed, a predetermined constant is usually stored in a specific address of the backup RAM 35, and whether or not the value of this constant is broken is stored in a characteristic address of the ROM 33. If the constant value stored in the backup RAM 35 is not different, the constant value is equal to the reference value, and the constant value is different. Assuming that the battery 41 has been disconnected, the invalid injection correction pulse width Ts # i for each cylinder is set to Ts / n (Ts; for example, the total value of the invalid injection pulse widths for each cylinder when the battery voltage is 14 V ΣTs, n; Number of cylinders, n = 4 for a four-cylinder engine,
The value of Ts / n is stored in the ROM 33 in advance. ), The ignition timing correction learning value LADV # i for each cylinder is initialized to 0, and the constant value stored at the specific address in the backup RAM 35 is reset with the reference value. If the values of the constants in the backup RAM 35 have not changed at the next startup, the initialization of the invalid injection correction pulse width Ts # i and the ignition timing learning value LADV # i is not performed.
通常は以下の処理を制御プログラムに従ってくり返し
実行する。Normally, the following processing is repeatedly executed according to the control program.
まず、S201で、各センサ8,9a,16,18,19,20,22,24、お
よび、アイドルスイッチ9bの出力信号からエンジン運転
状態パラメータを読込み、S202で、クランクパルスとカ
ムパルスに基づき燃料噴射対応気筒#iを判別する。First, in S201, the engine operation state parameters are read from the output signals of the sensors 8, 9a, 16, 18, 19, 20, 22, and 24 and the idle switch 9b, and in S202, the fuel injection is performed based on the crank pulse and the cam pulse. The corresponding cylinder #i is determined.
次いで、S203で、アイドルスイッチ9b、車速センサ24
の出力信号から現運転状態がアイドルかどうかを判別す
る。Next, in S203, the idle switch 9b, the vehicle speed sensor 24
It is determined from the output signal of whether the current operation state is idle.
車速S=0でアイドルスイッチON(スロットル全閉)
の場合、アイドルと判定してS204へ進み、車速S≠0、
あるいは、アイドルスイッチOFFの場合、アイドル解除
状態と判断してS205へ進む。Idle switch ON (throttle fully closed) at vehicle speed S = 0
In the case of, it is determined that the vehicle is idling, the process proceeds to S204, and the vehicle speed S ≠ 0,
Alternatively, when the idle switch is OFF, it is determined that the idle is released, and the process proceeds to S205.
S205へ進むと、当該燃料噴射対応気筒#iの燃料噴射
パルス幅Tiを下式により従来通り求めて、S224へジャン
プする。In S205, the fuel injection pulse width Ti of the cylinder #i corresponding to the fuel injection is obtained by the following equation as in the conventional case, and the flow jumps to S224.
Ti=Tp×α×COEF+Ts Tp=K・Q/N Tp:基本燃料噴射パルス幅(基本噴射量) α:空燃比フィードバック補正係数 COEF:各種増量分補正係数 Ts:バッテリ端子電圧VBに基づいて設定した無効噴射
パルス幅を補正する電圧補正パルス幅 Q:吸入空気量 N:エンジン回転数 K:理論空燃比、インジェクタ噴射特性、気筒数などに
よる定数の逆数 一方、上記S203で、アイドルと判定されてS204へ進む
と、バックアップRAM35の所定アドレスに格納されてい
る対応気筒#iの噴射補正量としての無効噴射補正パル
ス幅Ts#iを読出し、S206で、この無効噴射補正パルス
幅Ts#iと予め設定した無効噴射補正パルス幅許容上限
値TsLIMHとを比較し、TsLIMH>Ts#iの場合、無効噴射
補正パルス幅Ts#iの上限側の補正に余裕があると判断
してS207へ進み、また、TsLIMH≦Ts#iの場合、無効噴
射補正パルス幅Ts#iが上限値に達していると判断して
S208へ進む。Ti = Tp × α × COEF + Ts Tp = K · Q / N Tp: Basic fuel injection pulse width (basic injection amount) α: Air-fuel ratio feedback correction coefficient COEF: Various increase correction coefficients Ts: Set based on battery terminal voltage VB Voltage correction pulse width for correcting the invalid injection pulse width that has been applied Q: Intake air amount N: Engine speed K: Reciprocal of a constant based on stoichiometric air-fuel ratio, injector injection characteristics, number of cylinders, etc. In S204, the invalid injection correction pulse width Ts # i as the injection correction amount of the corresponding cylinder #i stored at the predetermined address of the backup RAM 35 is read, and in S206, the invalid injection correction pulse width Ts # i is set in advance. It compares with the set invalid injection correction pulse width allowable upper limit value TsLIMH. If TsLIMH> Ts # i, it is determined that there is room for correction on the upper limit side of the invalid injection correction pulse width Ts # i, and the process proceeds to S207. Invalid when TsLIMH ≦ Ts # i And elevation correction pulse width Ts # i is determined to have reached the upper limit value
Proceed to S208.
S206で、TsLIMH>Ts#iと判断されてS207へ進むと、
上記無効噴射補正パルス幅Ts#iと予め設定した無効噴
射補正パルス幅許容下限値TsLIMLとを比較し、TsLIML<
Ts#i、すなわち、TsLIML<Ts#i<TsLIMHの場合、当
該気筒#iの無効噴射補正パルス幅Ts#iが許容限界内
に収まっていると判断してS209へ進み、また、TsLIML≧
Ts#iの場合、上記無効噴射補正パルス幅Ts#iが下限
値に達していると判断してS210へ進む。In S206, when it is determined that TsLIMH> Ts # i and the process proceeds to S207,
The invalid injection correction pulse width Ts # i is compared with a preset invalid lower limit value TsLIML of the invalid injection correction pulse, and TsLIML <
If Ts # i, that is, TsLIML <Ts # i <TsLIMH, it is determined that the invalid injection correction pulse width Ts # i of the cylinder #i is within the allowable limit, and the process proceeds to S209, where TsLIML ≧
In the case of Ts # i, it is determined that the invalid injection correction pulse width Ts # i has reached the lower limit, and the process proceeds to S210.
なお、上記無効噴射補正パルス幅許容限界値TsLIMH,T
sLIMLは、基本燃料噴射量Tpを暖機増量、エアコン増量
などの各種増量補正で補正した場合に、上記無効噴射補
正パルス幅Ts#iを加算しても当該気筒#iの空燃比が
オーバリッチ化したり、あるいは、オーバリーン化しな
い限界値として予め実験などから求めて設定されたもの
である。Note that the invalid injection correction pulse width allowable limit value TsLIMH, T
When the basic fuel injection amount Tp is corrected by various increase corrections such as an increase in warm-up and an increase in the air conditioner, the air-fuel ratio of the cylinder #i is over-rich even if the invalid injection correction pulse width Ts # i is added. It is set in advance by experiments or the like as a limit value that does not become over-lean or over-lean.
また、上記S207で、TsLIML<Ts#iと判断されてS209
へ進むと、前記平均差回転速度算出プログラムで算出し
た当該気筒#iの平均差回転速度ΔNA#iを読出し、S
211で、この平均差回転速度ΔNA#iと予め設定した平
均差回転速度許容上限値ΔNuとを比較し、ΔNA#i≦
ΔNuの場合、上記平均差回転速度ΔNA#iが平均差回
転速度許容上限値より低いと判断して、S212へ進み、上
記平均差回転速度ΔNA#iと予め設定した平均差回転
速度許容下限値ΔNLとを比較し、ΔNA#i≧ΔNLの
場合、当該気筒#iの平均差回転速度ΔNA#iが許容
値内に収まっている、すなわち、理想的な燃焼状態(Δ
Nu≧ΔNA#i≧ΔNL)と判断し、S223へ進む。In S207, it is determined that TsLIML <Ts # i, and S209
Then, the program reads the average differential rotation speed ΔNA # i of the cylinder #i calculated by the average differential rotation speed calculation program, and proceeds to S
At 211, the average difference rotation speed ΔNA # i is compared with a preset average difference rotation speed allowable upper limit ΔNu, and ΔNA # i ≦
In the case of ΔNu, it is determined that the average differential rotation speed ΔNA # i is lower than the average differential rotation speed allowable upper limit value, and the process proceeds to S212, where the average differential rotation speed ΔNA # i and the preset average differential rotation speed allowable lower limit value are set. If ΔNA # i ≧ ΔNL, the average differential rotation speed ΔNA # i of the cylinder #i is within the allowable value, that is, the ideal combustion state (Δ
Nu ≧ ΔNA # i ≧ ΔNL), and the process proceeds to S223.
一方、上記S206で、当該気筒#iの無効噴射補正パル
ス幅Ts#iが上限値TsLIMHに達していると判断されて
(TsLIMH≦Ts#i)、S208へ進むと、バックアップRAM3
5の所定アドレスに格納されている当該気筒#iの点火
時期補正量としての点火時期補正学習値LADV#iを、設
定クランク角度C(例えば、C=1℃A)で進角させた
値で更新する(LADV#i←LADV#i−C)。On the other hand, in S206, it is determined that the invalid injection correction pulse width Ts # i of the cylinder #i has reached the upper limit TsLIMH (TsLIMH ≦ Ts # i).
The ignition timing correction learning value LADV # i as the ignition timing correction amount for the cylinder #i stored at the predetermined address of No. 5 is advanced by a set crank angle C (for example, C = 1 ° C. A). Update (LADV # i ← LADV # i-C).
次いで、S213で、上記S208で設定した点火時期補正学
習値LADV#iと予め設定した進角限界補正値LmtADVとを
比較し、LADV#i>LmtADVの場合、上記点火時期補正学
習値LADV#iがまだ進角限界補正値LmtADVに達していな
いと判断してS215へ進む。Next, at S213, the ignition timing correction learning value LADV # i set at S208 is compared with a preset advance limit correction value LmtADV. If LADV # i> LmtADV, the ignition timing correction learning value LADV # i is obtained. It is determined that has not yet reached the advance limit correction value LmtADV, and the routine proceeds to S215.
一方、LADV#i≦LmtADVの場合、この点火時期補正学
習値LADV#iが進角限界に達していると判断し、S214で
上記バックアップRAM35の所定アドレスに格納されてい
る点火時期補正学習値LADV#iを上記進角限界補正値Lm
tADVで更新し(LADV#i←LmtADV)、S215へ進む。On the other hand, if LADV # i ≦ LmtADV, it is determined that the ignition timing correction learning value LADV # i has reached the advance limit, and the ignition timing correction learning value LADV stored at the predetermined address of the backup RAM 35 in S214. #I is the lead angle limit correction value Lm
Update with tADV (LADV # i ← LmtADV), and proceed to S215.
また、S207で、当該気筒#iの無効噴射補正パルス幅
Ts#iが下限値TsLIML以下と判断されて(TsLIML≧Ts#
i)、S210へ進むと、バックアップRAM35の所定アドレ
スに格納されている当該気筒#iの点火時期補正学習値
LADV#iを、設定クランク角度C(例えばC=1℃A)
で遅角させた値で更新する(LADV#i←LADV#i+
C)。In S207, the invalid injection correction pulse width of the cylinder #i is determined.
Ts # i is determined to be equal to or less than the lower limit value TsLIML (TsLIML ≧ Ts #
i), proceeding to S210, the ignition timing correction learning value of the cylinder #i stored at a predetermined address in the backup RAM 35
Change LADV # i to the set crank angle C (for example, C = 1 ° C. A)
(LADV # i ← LADV # i +
C).
次いで、S216で、上記S210で設定した点火時期補正学
習値LADV#iと予め設定した遅角限界補正値LmtRTDとを
比較し、LADV#i<LmtRTDの場合、点火時期補正学習値
LADV#iがまだ遅角限界補正値LmtRTDに達していないと
判断してS218へ進む。Next, in S216, the ignition timing correction learning value LADV # i set in S210 is compared with the preset retard limit correction value LmtRTD, and if LADV # i <LmtRTD, the ignition timing correction learning value
It is determined that LADV # i has not yet reached the retard limit correction value LmtRTD, and the process proceeds to S218.
一方、LADV#i≧LmtRTDの場合、この点火時期補正学
習値LADV#iが遅角限界に達していると判断し、S217
で、上記バックアップRAM35の所定アドレスに格納され
ている点火時期補正学習値LADV#iを上記遅角限界補正
値LmtRTDで更新し(LADV#i←LmtRTD)、S218へ進む。On the other hand, if LADV # i ≧ LmtRTD, it is determined that the ignition timing correction learning value LADV # i has reached the retard limit, and S217
Then, the ignition timing correction learning value LADV # i stored at the predetermined address of the backup RAM 35 is updated with the retard limit correction value LmtRTD (LADV # i ← LmtRTD), and the routine proceeds to S218.
なお、上記進角限界補正値LmtADV、上記遅角限界補正
値LmtRTDは、点火時期θIGを設定した際に失火を起因し
ない範囲で予め実験などから求めたものである。Note that the advance angle limit correction value LmtADV and the retard angle limit correction value LmtRTD have been obtained in advance through experiments or the like within a range that does not cause misfire when the ignition timing θIG is set.
そして、上記S213、あるいは、S214からS215へ進む
と、上記バックアップRAM35に格納されている当該気筒
#iの無効噴射補正パルス幅Ts#iを予め設定したパル
ス幅ΔTsで減算した値で更新するとともに(Ts#i←Ts
#i−ΔTs)、他の気筒#(i+1,i+2,i+3)の無効
噴射補正パルス幅Ts#(i+1,i+2,i+3)を上記パル
ス幅ΔTsの等分配値ΔTs/(n−1)(n:気筒数、実施
例においてはn=4)分だけ加算した値で更新し(Ts#
(i+1,i+2,i+3)←Ts#(i+1,i+2,i+3)+Δ
Ts/(n−1))、S222へ進む。Then, when the process proceeds from S213 or S214 to S215, the invalid injection correction pulse width Ts # i of the cylinder #i stored in the backup RAM 35 is updated with a value obtained by subtracting the pulse width ΔTs set in advance. (Ts # i ← Ts
# I−ΔTs) and the invalid injection correction pulse width Ts # (i + 1, i + 2, i + 3) of the other cylinders # (i + 1, i + 2, i + 3) are equally distributed values ΔTs / (n−1) (n) of the pulse width ΔTs. : Updated with the value obtained by adding the number of cylinders, n = 4 in the embodiment (Ts #)
(I + 1, i + 2, i + 3) ← Ts # (i + 1, i + 2, i + 3) + Δ
Ts / (n-1)), and the process proceeds to S222.
一方、上記S216、あるいは、S217からS218へ進むと、
上記バックアップRAM35に格納されている当該気筒#i
の無効噴射補正パルス幅Ts#iを予め設定したパルス幅
Δtsで加算した値で更新するとともに(Ts#i←Ts#i
+ΔTs)、他の気筒#(i+1,i+2,i+3)の無効噴射
補正パルス幅Ts#(i+1,i+2,i+3)を上記パルス幅
ΔTsの等分配値ΔTs/(n−1)分だけ減算した値で更
新し(Ts#(i+1,i+2,i+3)←Ts#(i+1,i+2,i
+3)−ΔTs/(n−1))、S222へ進む。On the other hand, when proceeding from S216 or S217 to S218,
The cylinder #i stored in the backup RAM 35
(Ts # i ← Ts # i) with the value obtained by adding the invalid injection correction pulse width Ts # i by the preset pulse width Δts.
+ ΔTs), the value obtained by subtracting the invalid injection correction pulse width Ts # (i + 1, i + 2, i + 3) of the other cylinder # (i + 1, i + 2, i + 3) by the equal distribution value ΔTs / (n−1) of the pulse width ΔTs. (Ts # (i + 1, i + 2, i + 3) ← Ts # (i + 1, i + 2, i
+3) -ΔTs / (n−1)), and the process proceeds to S222.
上記パルス幅ΔTsは上記設定クランク角度Cで点火時
期を補正したときの出力変動量、および、燃料噴射補正
による応答特性などを考慮して設定する。The pulse width ΔTs is set in consideration of an output fluctuation amount when the ignition timing is corrected at the set crank angle C, a response characteristic due to fuel injection correction, and the like.
また、点火時期制御は燃料噴射制御に比し補正効果が
大きく、僅かな点火時期補正で体積効率が大きく変動す
る。一方、燃料噴射パルス幅を僅かに補正しても上記点
火時期補正ほど大きな補正効果は得られない。したがっ
て、点火時期を進角補正したときに燃料減量補正し、ま
た、点火時期を値角補正したときに燃料増量補正するこ
とで、気筒#i間の燃焼のばらつきをより細密に制御す
ることができるようになるばかりでなく、例えば、燃料
増量、あるいは、減量補正した結果、無効噴射補正パル
ス幅Ts#iが許容限界値TsLIMH,TsLIMLに達した場合で
も、点火時期補正学習値LATDV#iを設定クランク角度
Cで遅角補正、あるいは、遅角補正し、体積効率が上
昇、あるいは、減少した分上記無効噴射補正パルス幅Ts
#iを減量、あるいは、増量することで、この無効噴射
補正パルス幅Ts#iを許容限界値内(TsLIMH>Ts#i>
TsLIML)に収めることができ、燃料補正を再開すること
ができるようになり、アイドル回転数の制御性がよりワ
イドレンジ化される。Further, the ignition timing control has a larger correction effect than the fuel injection control, and a slight correction of the ignition timing greatly changes the volumetric efficiency. On the other hand, even if the fuel injection pulse width is slightly corrected, a correction effect as large as the above-described ignition timing correction cannot be obtained. Therefore, by correcting the fuel loss when the ignition timing is advanced and correcting the fuel increase when the ignition timing is corrected, the variation in combustion between the cylinders #i can be more finely controlled. Not only can the ignition timing correction learning value LATDV # i be set even if the invalid injection correction pulse width Ts # i reaches the permissible limit value TsLIMH, TsLIML as a result of the fuel increase or decrease correction, for example. The invalid injection correction pulse width Ts corresponding to the increase or decrease in the volumetric efficiency after the retard correction or the retard correction at the set crank angle C
By reducing or increasing #i, the invalid injection correction pulse width Ts # i falls within the allowable limit value (TsLIMH> Ts # i>
TsLIML), the fuel correction can be restarted, and the controllability of the idle speed becomes wider.
さらに、S215、あるいは、S218で、当該気筒#iの無
効噴射補正パルス幅Ts#iを設定値ΔTsで減量、あるい
は、増量補正した分、他の気筒#(i+1,i+2,i+3)
の無効噴射補正パルス幅Ts#(i+1,i+2,i+3)をΔ
Ts/(n−1)で等分配補正しているので、トータル空
燃比が変動することはなく空燃比制御性がよい。Further, in S215 or S218, the other cylinder # (i + 1, i + 2, i + 3) is reduced or increased by the set value ΔTs of the invalid injection correction pulse width Ts # i of the cylinder #i.
The invalid injection correction pulse width Ts # (i + 1, i + 2, i + 3) of Δ
Since the equal distribution correction is performed at Ts / (n-1), the total air-fuel ratio does not change and the air-fuel ratio controllability is good.
一方、上記S211で当該気筒#iの燃焼状態が良ずぎる
(ΔNA#i>ΔNu)と判断し、あるいは、S212で当該
気筒#iの燃焼状態が悪すぎると判断してS219へ進む
と、RAM34の所定アドレスに格納されている他の気筒#
(i+1,i+2,i+3)の各平均差回転速度ΔNA#(i
+1,i+2,i+3)を読出し、S220で、上記S209で読出し
た当該気筒#iの平均差過回転速度ΔNA#i、およ
び、上記S219で読出した他の気筒#(i+1,i+2,i+
3)の平均差回転速度ΔNA#(i+1,i+2,i+3)の
絶対値の総和Σ|ΔNA|を求める(Σ|ΔNA|←|Δ
NA#i|+|ΔNA#(i+1)|+|ΔNA#(i+
2)|+|ΔNA#(i+3)|)。On the other hand, if it is determined in S211 that the combustion state of the cylinder #i is too good (ΔNA # i> ΔNu), or if it is determined in S212 that the combustion state of the cylinder #i is too bad, the process proceeds to S219. Other cylinder # stored at a predetermined address in RAM 34
(I + 1, i + 2, i + 3) average difference rotational speed ΔNA # (i
+1, i + 2, i + 3), and in S220, the average differential overspeed ΔNA # i of the cylinder #i read in S209, and the other cylinder # (i + 1, i + 2, i +) read in S219.
3) The sum 絶 対 | ΔNA | of the absolute values of the average differential rotation speed ΔNA # (i + 1, i + 2, i + 3) is obtained (Σ | ΔNA | ← | Δ
NA # i | + | ΔNA # (i + 1) | + | ΔNA # (i +
2) | + | ΔNA # (i + 3) |).
そして、S221で、バックアップRAM35の所定アドレス
に格納されている各気筒#(i,i+1,i+2,i+3)の無
効噴射補正パルス幅Ts#(i,i+1,i+2,i+3)を、予
め設定したパルス幅ΔTsを上記平均差回転速度ΔNA#
(i,i+1,i+2,i+3)の絶対値の総和Σ|ΔNA|と各
気筒#(i,i+1,i+2,i+3)の平均差回転速度ΔNA#
(i,i+1,i+2,i+3)との比率ΔNA#(i,i+1,i+2,i
+3)/Σ|ΔNA|に応じて分配した値で更新し(Ts#
(i,i+1,i+2,i+3)←Ts#(i,i+1,i+2,i+3)−
ΔTs×ΔNA#(i,i+1,i+2,i+3)/Σ|ΔNA
|)、S222へ進む。Then, in S221, the invalid injection correction pulse width Ts # (i, i + 1, i + 2, i + 3) of each cylinder # (i, i + 1, i + 2, i + 3) stored at a predetermined address of the backup RAM 35 is set to a predetermined pulse. The width ΔTs is set to the average difference rotation speed ΔNA #
Sum of absolute values of (i, i + 1, i + 2, i + 3) 3 | ΔNA | and average difference rotational speed ΔNA # of each cylinder # (i, i + 1, i + 2, i + 3)
(I, i + 1, i + 2, i + 3) ratio ΔNA # (i, i + 1, i + 2, i
+3) / Σ | ΔNA | is updated with the value distributed according to (Ts #
(I, i + 1, i + 2, i + 3) ← Ts # (i, i + 1, i + 2, i + 3) −
ΔTs × ΔNA # (i, i + 1, i + 2, i + 3) / Σ | ΔNA
|), Proceed to S222.
例えば、気筒#iの平均差回転速度ΔNA#iのベク
トルがマイナス側にある場合、上記分配値ΔTs×ΔNA
#i/Σ|ΔNA|のベクトルはマイナスになり、したが
って、当該気筒#iの無効噴射補正パルス幅Ts#iから
上記分配値ΔTs×ΔNA#i/Σ|ΔNA|を減算すること
は、結果的に上記無効噴射補正パルス幅Ts#iを増量補
正することになる。For example, when the vector of the average differential rotation speed ΔNA # i of the cylinder #i is on the minus side, the distribution value ΔTs × ΔNA
The vector of # i / Σ | ΔNA | becomes negative. Therefore, subtracting the distribution value ΔTs × ΔNA # i / Σ | ΔNA | from the invalid injection correction pulse width Ts # i of the cylinder #i results in In other words, the invalid injection correction pulse width Ts # i is increased and corrected.
また、上記気筒#iの平均差回転速度ΔNA#iのベ
クトルがプラス側にある場合、上記分配値ΔTs×ΔNA
#i/Σ|ΔNA|が上記無効噴射補正パルス幅Ts#iか
らそのまま減算されるため、この無効噴射補正パルス幅
Ts#iは減量補正される。When the vector of the average differential rotation speed ΔNA # i of the cylinder #i is on the plus side, the distribution value ΔTs × ΔNA
Since # i / Σ | ΔNA | is directly subtracted from the invalid injection correction pulse width Ts # i, the invalid injection correction pulse width
Ts # i is reduced.
したがって、ある気筒#iの燃焼状態が良過ぎるか、
あるいは、悪すぎる場合、全気筒の無効噴射補正パルス
幅を各気筒の平均差回転速度に応じた比率で補正するこ
とになる。Therefore, whether the combustion state of a certain cylinder #i is too good,
Alternatively, if it is too bad, the invalid injection correction pulse width of all cylinders is corrected at a ratio corresponding to the average difference rotational speed of each cylinder.
そして、上記S221からS222へ進むと、RAM34の所定ア
ドレスに格納されている各気筒#(i,i+1,i+2,i+
3)の平均差回転速度ΔNA#(i,i+1,i+2,i+3)を
全てクリアしてΔNA#(i,i+1,i+2,i+3←0)、S2
23へ進む。この平均差回転速ΔNA#iは加重平均によ
り求められているため、上記無効噴射補正パルス幅Ts#
i、あるいは、点火時期補正学習値LADV#iで当該気筒
#iの燃料噴射あるいは点火時期を適正に補正しても平
均差回転速度ΔNA#iが直ちに許容範囲(ΔNu≧ΔNA
#i≧ΔNL)に収まるとは限らず、全気筒#(i,i+1,
i+2,i+3)の平均差回転速度ΔNA#(i,i+1,i+2,i
+3)をクリアしないと次回以降の演算サイクルにおい
て誤判定を生じるおそれがある。When the process proceeds from S221 to S222, each cylinder # (i, i + 1, i + 2, i +
3) Clear all of the average differential rotation speeds ΔNA # (i, i + 1, i + 2, i + 3) to obtain ΔNA # (i, i + 1, i + 2, i + 3 ← 0), S2
Proceed to 23. Since the average difference rotation speed ΔNA # i is obtained by a weighted average, the invalid injection correction pulse width Ts #
i, or even if the fuel injection or ignition timing of the cylinder #i is properly corrected with the ignition timing correction learning value LADV # i, the average differential rotation speed ΔNA # i is immediately allowed (ΔNu ≧ ΔNA).
# I ≧ ΔNL), and all cylinders # (i, i + 1,
Average difference rotational speed ΔNA # (i, i + 1, i + 2, i) of (i + 2, i + 3)
If +3) is not cleared, erroneous determination may occur in the next and subsequent operation cycles.
そして、上記S212、あるいは、S222からS223へ進む
と、S201で読込んだエンジン運転状態パラメータに基づ
いて設定した基本燃料噴射パルス幅(基本噴射量)Tp、
空燃比フィードバック補正係数α、各種増量分補正係数
COEF、および、上記S204で読出した、あるいは、S215,S
218,S221で設定した無効噴射補正パルス幅Ts#iに基づ
き当該気筒#iの燃料噴射パルス幅Tiを次式から設定す
る。Then, when proceeding from S212 or S222 to S223, the basic fuel injection pulse width (basic injection amount) Tp set based on the engine operating state parameter read in S201,
Air-fuel ratio feedback correction coefficient α, various increase correction coefficients
COEF and read out in S204 or S215, S
Based on the invalid injection correction pulse width Ts # i set in S218 and S221, the fuel injection pulse width Ti of the cylinder #i is set by the following equation.
Ti←Tp×α×COEF+Ts#i その後、S224で、上記S223で設定した燃料噴射パルス
幅Tiに対応する駆動信号を該当気筒#iのインジェクタ
10へ所定タイミングで出力し、ルーチンを外れる。Ti ← Tp × α × COEF + Ts # i Then, in S224, the drive signal corresponding to the fuel injection pulse width Ti set in S223 is used to inject the injector of the corresponding cylinder #i.
Output to 10 at a predetermined timing, and exit the routine.
このように、各気筒#iの無効噴射補正パルス幅Ts#
iが所定許容範囲にある(TsLIMH>Ts#i>TsLIML)状
態での平均差回転速度ΔNA#iが許容限度値を越えて
いる場合(ΔNA#i>ΔNu、あるいは、ΔNA#i<Δ
NL)、全気筒#i〜#(i+3)の無効噴射補正パル
ス幅Ts#i〜Ts#(i+3)を各気筒の平均差回転速度
ΔNA#i〜ΔNA#(i+3)の比率に応じて分配した
パルス幅ΔTs×ΔNA#i/Σ|ΔNA|ΔTs×ΔA#(i
+3)/Σ|ΔNA|で補正する、いわゆる、微分制御
的補正を採用しているので、トータル空燃比を変えるこ
となく各気筒の平均差回転速度の収束性がよくなり、ア
イドル安定性が向上する。Thus, the invalid injection correction pulse width Ts # of each cylinder #i
When the average differential rotation speed ΔNA # i exceeds the allowable limit value in a state where i is within a predetermined allowable range (TsLIMH> Ts # i> TsLIML) (ΔNA # i> ΔNu or ΔNA # i <Δ)
NL), the invalid injection correction pulse widths Ts # i to Ts # (i + 3) of all the cylinders #i to # (i + 3) are distributed according to the ratio of the average differential rotation speeds ΔNA # i to ΔNA # (i + 3) of each cylinder. Pulse width ΔTs × ΔNA # i / Σ | ΔNA | ΔTs × ΔA # (i
+3) / Σ | ΔNA |, so-called differential control type correction is adopted, so that the convergence of the average differential rotational speed of each cylinder is improved without changing the total air-fuel ratio, and the idle stability is improved. I do.
:点火時期制御手順: 点火時期制御手順を第9図に基づき説明する。: Ignition timing control procedure: The ignition timing control procedure will be described with reference to FIG.
まず、S301で、クランクパルスとカムパルスとを読込
み、S302で、上記S301で読込んだクランクパルスとカム
パルスとに基づき気筒判別を行う。First, in step S301, a crank pulse and a cam pulse are read, and in step S302, cylinder determination is performed based on the crank pulse and the cam pulse read in step S301.
次いで、S303で、クランク角センサ16から出力される
BTDCθ1,θ2を検出するクランクパルスを上記カムパル
スの割込みから判別する。Next, in S303, the output is output from the crank angle sensor 16.
The crank pulse for detecting BTDC θ1 and θ2 is determined from the interruption of the cam pulse.
そして、S304で、上記S303で判別したBTDCθ1,θ2を
検出するクランクパルス間の経過時間t1.2と、上記θ1,
θ2の挾み角(θ1−θ2)とから周期f1.2を算出する
(f1.2←dt1.2/d(θ1−θ2))。Then, in S304, the elapsed time t1.2 between the crank pulses for detecting the BTDC θ1, θ2 determined in S303 and the θ1,
The period f1.2 is calculated from the included angle of θ2 (θ1−θ2) (f1.2 ← dt1.2 / d (θ1−θ2)).
次いで、S305で、上記S304で算出した周期f1.2に基づ
きエンジン回転数N1.2を算出する(N1.2←60/f1,2)。Next, in S305, the engine speed N1.2 is calculated based on the cycle f1.2 calculated in S304 (N1.2 ← 60 / f1,2).
その後、S306で、吸入空気量センサ8の出力信号に基
づき吸入空気量Qを算出し、S307で、上記S306で算出し
た吸入空気量Qと、上記S305で算出したエンジン回転数
N1.2に基づき、エンジン負荷(基本燃料噴射パルス幅)
Tpを算出する(Tp←K×Q/N1.2 K:定数)。Thereafter, in S306, the intake air amount Q is calculated based on the output signal of the intake air amount sensor 8, and in S307, the intake air amount Q calculated in S306 and the engine speed calculated in S305 are calculated.
Based on N1.2, engine load (basic fuel injection pulse width)
Calculate Tp (Tp ← K × Q / N1.2 K: constant).
そして、S308で、上記S307で算出したエンジン負荷Tp
と、上記S305で算出したエンジン回転数N1.2をパラメー
タとして基本点火時期マップMPθBASE(第5図参照)に
基づき、基本点火時期θBASEを設定する。Then, in S308, the engine load Tp calculated in S307
The basic ignition timing θBASE is set based on the basic ignition timing map MPθBASE (see FIG. 5) using the engine speed N1.2 calculated in S305 as a parameter.
また、S309では、ノックセンサ19の出力信号に応じて
ノックコントロール値θNKを設定する。In S309, knock control value θNK is set according to the output signal of knock sensor 19.
そして、S310で、車速センサ24の出力値とアイドルス
イッチ9bの出力を読込み、S311で、車速S≠0、あるい
は、アイドルスイッチOFF(スロットル全閉解除)の場
合、アイドル解除状態と判別して、S312へ進み、また、
車速S=0、かつ、アイドルスイッチON(スロットル全
閉)の場合、アイドル状態と判別して、S313へ進む。Then, in S310, the output value of the vehicle speed sensor 24 and the output of the idle switch 9b are read, and in S311, if the vehicle speed S ≠ 0 or the idle switch is OFF (throttle fully closed release), it is determined that the vehicle is in the idle release state. Proceed to S312,
If the vehicle speed S = 0 and the idle switch is ON (throttle is fully closed), it is determined that the vehicle is in the idle state, and the process proceeds to S313.
S312では、上記S308で設定した基本点火時期θBASEを
上記S309で設定したノックコントロール値θNKで補正し
て、点火時期θIGを算出する(θIG←θBASE+θNK)。In S312, the basic ignition timing θBASE set in S308 is corrected by the knock control value θNK set in S309 to calculate the ignition timing θIG (θIG ← θBASE + θNK).
一方、アイドルと判定されてS313へ進むと、前述した
燃料噴射制御のプログラムで設定した対応気筒#iの点
火時期補正学習値LADV#iを読出し、S314で、上記S308
で設定した基本点火時期θBASEを、上記S309で設定した
ノックコントロール値θNK、および、上記S313で読出し
た点火時期補正学習値LADV#iで補正して点火時期θIG
を算出する(θIG←θBASE+θNK+LADV#i)。On the other hand, when it is determined that the engine is idling and the process proceeds to S313, the ignition timing correction learning value LADV # i of the corresponding cylinder #i set in the above-described fuel injection control program is read out.
Is corrected by the knock control value θNK set in S309 and the ignition timing correction learning value LADV # i read out in S313 to obtain the ignition timing θIG
Is calculated (θIG ← θBASE + θNK + LADV # i).
そして、S315で、上記S312、あるいは、S314で算出し
た点火時期θIGと、上記S304で算出した周期f1.2とから
点火時刻ADVを設定する(ADV←θIG×f1.2)。Then, in S315, an ignition time ADV is set from the ignition timing θIG calculated in S312 or S314 and the cycle f1.2 calculated in S304 (ADV ← θIG × f1.2).
次いで、S316で、上記S315で設定した点火時刻ADVを
タイマセットし、S317で、θ2パルスをトリガとして計
時を開始し、S318で、点火時刻に達したら対応気筒#i
のイグナイタ25へ点火信号を出力し、ルーチンを外れ
る。Next, in S316, the ignition time ADV set in S315 is set as a timer, and in S317, time measurement is started with the θ2 pulse as a trigger. In S318, when the ignition time is reached, the corresponding cylinder #i
The ignition signal is output to the igniter 25, and the routine is ended.
次に、上記プログラムに沿う無効噴射補正パルス幅Ts
#iおよび点火時期補正学習値LADV#iの設定状態を第
10図、第11図のタイムチャートに従って説明する。Next, the invalid injection correction pulse width Ts according to the above program
#I and the setting state of the ignition timing correction learning value LADV # i
This will be described with reference to the time charts of FIGS.
例えば、気筒#1の燃焼状態が悪く、平均差回転速度
ΔNA#iが平均差回転速度許容下限値ΔNLより低くな
ると、このときの全気筒#(1,3,2,4)の平均差回転速
度ΔNA#(1,3,2,4)の絶対値の総和Σ|ΔNA|と各
平均差回転速度ΔNA#(1,3,2,4)との比率に応じて予
め設定したパルス幅ΔTsを各気筒#(1,3,2,4)に分配
し、(ΔTs×ΔNA#(1,3,2,4)/Σ|ΔNA|)、こ
の分配した補正値で各気筒#(1,3,2,4)の無効噴射補
正パルス幅Ts#(1,3,2,4)を補正する(Ts#(1,3,2,
4)←Ts#(1,3,2,4)−ΔTs×ΔNA#(1,3,2,4)/Σ
|ΔNA|)。For example, when the combustion state of the cylinder # 1 is poor and the average differential rotation speed ΔNA # i becomes lower than the allowable lower limit value ΔNL of the average differential rotation speed, the average differential rotation of all the cylinders # (1,3,2,4) at this time. The pulse width ΔTs preset according to the ratio between the sum of the absolute values of the speeds ΔNA # (1,3,2,4) Σ | ΔNA | and each average difference rotational speed ΔNA # (1,3,2,4) Is distributed to each cylinder # (1,3,2,4), (ΔTs × ΔNA # (1,3,2,4) / Σ | ΔNA |), and each of the cylinders # (1, Correct the invalid injection correction pulse width Ts # (1,3,2,4) of (3,2,4) (Ts # (1,3,2,
4) ← Ts # (1,3,2,4) −ΔTs × ΔNA # (1,3,2,4) / Σ
| ΔNA |).
すると、図に示すように燃焼状態の悪い気筒#1の無
効噴射補正パルスTs#iが増量補正され、また、燃焼状
態の比較的良い気筒#3,#2の無効噴射補正パルス幅Ts
#3,Ts#2が各平均差回転速度ΔNA#3,ΔNA#2に応
じた分配値で減量補正される。さらに、燃焼が安定して
いる気筒#4では平均差回転速度ΔNA#4がゼロであ
るため無効噴射補正パルス幅Ts#4は実質的に補正され
ない。Then, as shown in the figure, the invalid injection correction pulse Ts # i of the cylinder # 1 having a bad combustion state is increased and corrected, and the invalid injection correction pulse width Ts of the cylinders # 3 and # 2 having a relatively good combustion state is corrected.
# 3 and Ts # 2 are reduced by the distribution values corresponding to the average difference rotational speeds ΔNA # 3 and ΔNA # 2. Further, in the cylinder # 4 in which combustion is stable, the invalid injection correction pulse width Ts # 4 is not substantially corrected because the average difference rotational speed ΔNA # 4 is zero.
その結果、各気筒#(1,3,2,4)の平均差回転速度Δ
NA#(1,3,2,4)の収束性がよくなる。As a result, the average differential rotation speed Δ of each cylinder # (1,3,2,4)
The convergence of NA # (1,3,2,4) is improved.
そして、各気筒#(1,3,2,4)の平均差回転速度ΔNA
#(1,3,2,4)をリセットする(経過時間t1,t2,t3,t
4)。Then, the average differential rotation speed ΔNA of each cylinder # (1,3,2,4)
#Reset (1,3,2,4) (elapsed time t1, t2, t3, t
Four).
その後、当該気筒#1の無効噴射補正パルス幅Ts#1
が無効噴射補正パルス幅許容上限値TsLIMHに達した場
合、この無効噴射補正パルス幅Ts#1から設定パルス幅
ΔTsを減算し(Ts#1←Ts#1−ΔTs)、当該気筒#1
の燃料噴射パルス幅Tiを増量するとともに、他の気筒#
(3,2,4)の無効噴射補正パルス幅Ts#(3,2,4)にΔTs
/3を加算し(Ts#(3,2,4)Ts#(3,2,4)+ΔTs/3)、
さらに、当該気筒#1の点火時期補正学習値LADV#1を
設定クランク角Cで進角補正する(LADV#1←LADV#1
−C)。次いで、各気筒#(1,3,2,4)の平均差回転速
度ΔNA#(1,3,2,4)をリセットする(経過時間t5)。After that, the invalid injection correction pulse width Ts # 1 of the cylinder # 1
Reaches the allowable upper limit TsLIMH of the invalid injection correction pulse width, the set pulse width ΔTs is subtracted from the invalid injection correction pulse width Ts # 1 (Ts # 1 ← Ts # 1-ΔTs), and the relevant cylinder # 1
The fuel injection pulse width Ti of the other cylinders #
ΔTs for invalid injection correction pulse width Ts # (3,2,4) of (3,2,4)
/ 3 (Ts # (3,2,4) Ts # (3,2,4) + ΔTs / 3)
Further, the ignition timing correction learning value LADV # 1 of the cylinder # 1 is advanced by the set crank angle C (LADV # 1 ← LADV # 1).
-C). Next, the average difference rotational speed ΔNA # (1,3,2,4) of each cylinder # (1,3,2,4) is reset (elapsed time t5).
その結果、上述と同様の効果が得られる。 As a result, the same effect as described above can be obtained.
また、経過時間t6,t7に示すように、気筒#3の燃焼
状態が良すぎるため平均差回転速度ΔNA#3が平均差
回転許容上限値ΔNuより高くなると、再び全気筒#(1,
3,2,4)の平均差回転速度ΔNA#(1,3,2,4)の絶対値
の総和Σ|ΔNA|と各気筒#(1,3,2,4)の平均差回転
速度ΔNA#(1,3,2,4)との比率に応じて分配した補正
値で各気筒#(1,3,2,4)を補正する(Ts#(1,3,2,4)
←Ts#(1,3,2,4)−ΔTs×ΔNA#(1,3,2,4)/Σ|
ΔNA|)。Further, as shown in the elapsed times t6 and t7, when the average differential rotation speed ΔNA # 3 becomes higher than the average differential rotation allowable upper limit ΔNu because the combustion state of the cylinder # 3 is too good, all the cylinders # (1,
3,2,4) and the sum of absolute values 絶 対 | ΔNA | of the average differential rotational speeds ΔNA # (1,3,2,4) and the average differential rotational speeds ΔNA of the cylinders # (1,3,2,4). Correcting each cylinder # (1,3,2,4) with a correction value distributed according to the ratio to # (1,3,2,4) (Ts # (1,3,2,4)
← Ts # (1,3,2,4) −ΔTs × ΔNA # (1,3,2,4) / Σ |
ΔNA |).
すると、燃焼状態のよい気筒#3の無効噴射補正パル
ス幅Ts#3が減量補正され、また、平均差回転速度のベ
クトルがマイナス側にある他の気筒#(2,4,1)の無効
噴射補正パルス幅Ts#i(2,4,1)がそれぞれの平均差
回転速度ΔNA#(2,4,1)に応じた補正値で増量補正さ
れる。そして、各気筒#(1,3,2,4)の平均差回転速度
ΔNA#(1,3,2,4)をリセットする。Then, the invalid injection correction pulse width Ts # 3 of the cylinder # 3 in the good combustion state is reduced and the invalid injection correction pulse width Ts # 3 of the other cylinder # (2,4,1) whose average differential rotation speed vector is on the minus side is corrected. The correction pulse width Ts # i (2,4,1) is increased by a correction value corresponding to the average difference rotational speed ΔNA # (2,4,1). Then, the average difference rotational speed ΔNA # (1,3,2,4) of each cylinder # (1,3,2,4) is reset.
その後、当該気筒#3の無効噴射補正パルス幅Ts#3
が無効噴射補正パルス幅許容下限値TsLIMLに達した場
合、この無効噴射補正パルス幅Ts#3に設定パルス幅Δ
Tsを加算し(Ts#3←Ts#3+ΔTs)、当該気筒#3の
燃料噴射パルス幅Tiを増量するとともに、他の気筒#
(2,4,1)の無効噴射補正パルス幅Ts#(2,4,1)からΔ
Ts/3を減算し(Ts#(2,4,1)←Ts#(2,4,1)−ΔTs/
3)、さらに、当該気筒#3の点火時期補正学習値LADV
#3を設定クランク角Cで遅角補正する(LADV#3←LA
DV#3+C)。次いで、各気筒#(1,3,2,4)の平均差
回転速度ΔNA#(1,3,2,4)をリセットする(経過時間
t8)。Thereafter, the invalid injection correction pulse width Ts # 3 of the cylinder # 3
Reaches the invalid lower limit TsLIML of the invalid injection correction pulse width, the pulse width Δ is set to the invalid injection correction pulse width Ts # 3.
Ts is added (Ts # 3 ← Ts # 3 + ΔTs), the fuel injection pulse width Ti of the cylinder # 3 is increased, and the other cylinders #
From the invalid injection correction pulse width Ts # (2,4,1) of (2,4,1)
Subtract Ts / 3 (Ts # (2,4,1) ← Ts # (2,4,1) −ΔTs /
3) Further, the ignition timing correction learning value LADV of the cylinder # 3 concerned
# 3 is retarded at the set crank angle C (LADV # 3 ← LA
DV # 3 + C). Next, the average difference rotational speed ΔNA # (1,3,2,4) of each cylinder # (1,3,2,4) is reset (elapsed time).
t8).
(第二実施例) 第12図は本発明の第二実施例による気筒別燃料噴射制
御手順を示すフローチャートである。なお、第一実施例
の第8図と同様のステップは同一符号を付して説明を省
略する。(Second Embodiment) FIG. 12 is a flowchart showing a cylinder-by-cylinder fuel injection control procedure according to a second embodiment of the present invention. Steps similar to those in FIG. 8 of the first embodiment are denoted by the same reference numerals, and description thereof is omitted.
この実施例では、最初に燃料噴射パルス幅Tiを求め、
アイドル時に、この燃料噴射パルス幅Tiを噴射補正量と
しての補正パルス幅Tc#iで補正してアイドル制御を行
うものである。なお、補正パルス幅Tc#iは各気筒ごと
に対応してバックアップRAM35の所定アドレスにストア
され、データがこわれた場合などのイニシャルセット値
は0である。また、平均差回転速度ΔNA#iの算出手
順は第一実施例(第7図)と同様であるため説明を省略
する。In this embodiment, first, the fuel injection pulse width Ti is obtained,
During idling, the fuel injection pulse width Ti is corrected by a correction pulse width Tc # i as an injection correction amount to perform idle control. Note that the correction pulse width Tc # i is stored at a predetermined address of the backup RAM 35 corresponding to each cylinder, and the initial set value is 0 when data is broken. The procedure for calculating the average differential rotation speed ΔNA # i is the same as that in the first embodiment (FIG. 7), and thus the description is omitted.
まず、S201、S202からS401へ進むと、上記S201で検出
したエンジン運転状態パラメータに基づき、燃料噴射パ
ラメータ幅Tiを求める(Ti←Tp×α×COEF+Ts)。First, when the process proceeds from S201 and S202 to S401, the fuel injection parameter width Ti is obtained based on the engine operation state parameter detected in S201 (Ti ← Tp × α × COEF + Ts).
次いで、S203で現運転状態がアイドルかどうかを判断
し、アイドル解除状態の場合、S224へジャンプする。一
方アイドル状態と判断した場合、S402へ進み、バックア
ップRAM35の所定アドレスに格納されている対応気筒#
iの補正パルス幅Tc#iを読出し、S403でこの補正パル
ス幅Tc#iと予め設定した補正パルス幅許容上限値TcLI
MHとを比較し、TcLIMH>Tc#iの場合、補正パルス幅Tc
#iの上限側の補正に余裕があると判断してS404へ進
み、また、TcLIMH≦Tc#iの場合、補正パルス幅Tc#i
が上限値に達していると判断してS208へ進む。Next, in S203, it is determined whether or not the current operation state is idle, and if it is in the idle release state, the process jumps to S224. On the other hand, if it is determined that the cylinder is in the idle state, the process proceeds to S402, and the corresponding cylinder # stored at a predetermined address in the backup RAM 35
i, the correction pulse width Tc # i is read, and in step S403, the correction pulse width Tc # i and the preset correction pulse width allowable upper limit value TcLI are set.
MH, and when TcLIMH> Tc # i, the correction pulse width Tc
It is determined that there is room for correction on the upper limit side of #i, and the process proceeds to S404. If TcLIMH ≦ Tc # i, the correction pulse width Tc # i
Is determined to have reached the upper limit, and the flow proceeds to S208.
S403で、TcLIMH>Tc#iと判断されてS404へ進むと、
上記補正パルス幅Tc#iと予め設定した補正パルス幅許
容下限値TcLIMLとを比較し、TcLIML<Tc#i、すなわ
ち、TcLIML<Tc#i<TcLIMHの場合、当該気筒#iの補
正パルス幅Tc#iが許容限界内に収まっていると判断し
てS209へ進み、また、TcLIML≧Tc#iの場合、補正パル
ス幅Tc#iが下限値に達していると判断してS210へ進
む。In S403, when it is determined that TcLIMH> Tc # i and the process proceeds to S404,
The correction pulse width Tc # i is compared with a preset correction pulse width allowable lower limit value TcLIML. If TcLIML <Tc # i, that is, TcLIML <Tc # i <TcLIMH, the correction pulse width Tc of the cylinder #i is used. It is determined that #i is within the allowable limit, and the process proceeds to S209. If TcLIML ≧ Tc # i, it is determined that the correction pulse width Tc # i has reached the lower limit, and the process proceeds to S210.
なお、上記補正パルス幅許容限界値TcLIMH、TcLIMLは
この値を燃料噴射パルス幅Tiに加算しても当該気筒#i
の空燃比がオーバリッチ化したり、あるいは、オーバリ
ーン化しない限界値として予め実験などから求めて設定
されたものである。It should be noted that the corrected pulse width allowable limit values TcLIMH and TcLIML can be obtained by adding this value to the fuel injection pulse width Ti even if the cylinder #i
The air-fuel ratio is set as a limit value obtained from experiments or the like in advance as a limit value at which the air-fuel ratio does not become overrich or overlean.
また、上記S404でTcLIML<Tc#iと判断されてS209へ
進むと当該気筒#iの平均差回転速度ΔNA#iを読出
し、S211でこの平均差回転速度ΔNA#iと予め設定し
た平均差回転速度許容上限値ΔNuとを比較し、ΔNA#
i≦ΔNuの場合、S212へ進み、平均差回転速度許容下限
値ΔNLとを比較し、ΔNA#i≧ΔNL、すなわち、ΔN
u≧ΔNA#i≧ΔNLの場合、S408へ進む。If it is determined in step S404 that TcLIML <Tc # i and the process proceeds to step S209, the average differential rotation speed ΔNA # i of the cylinder #i is read out, and in step S211 the average differential rotation speed ΔNA # i and the preset average differential rotation By comparing with the allowable speed upper limit value ΔNu, ΔNA #
If i ≦ ΔNu, the process proceeds to S212, and compares with the average difference rotational speed allowable lower limit value ΔNL, and ΔNA # i ≧ ΔNL, that is, ΔN
If u ≧ ΔNA # i ≧ ΔNL, the process proceeds to S408.
また、上記S403からS208、S213、S214を経て、S405へ
進むと、バックアップRAM35の所定アドレスに格納され
ている当該気筒#iの補正パルス幅Tc#iを予め設定し
たパルス幅ΔTcで減算した値で更新するとともに(Tc#
i←Tc#i−ΔTc)、他の気筒#(i+1,i+2,i+3)
の補正パルス幅Tc#(i+1,i+2,i+3)を上記パルス
幅ΔTcの等分配値ΔTc/(n−1)(nは総気筒数、実
施例ではn=4)分だけ加算した値で更新し(Tc#(i
+1,i+2,i+3)←Tc#(i+1,i+2,i+3)+ΔTc/
(n−1))、S222へ進む。Further, when the process proceeds from S403 to S405 via S208, S213, and S214, a value obtained by subtracting the correction pulse width Tc # i of the cylinder #i stored at a predetermined address of the backup RAM 35 by the preset pulse width ΔTc. Update with (Tc #
i ← Tc # i−ΔTc), other cylinders # (i + 1, i + 2, i + 3)
Is updated by the value obtained by adding the corrected pulse width Tc # (i + 1, i + 2, i + 3) by the equal distribution value ΔTc / (n−1) (n is the total number of cylinders, n = 4 in the embodiment) of the pulse width ΔTc. (Tc # (i
+1, i + 2, i + 3) ← Tc # (i + 1, i + 2, i + 3) + ΔTc /
(N-1)), and proceed to S222.
一方、上記S404からS210、S216、S217を経て、S406へ
進むと、バックアップRAM35の所定アドレスに格納され
ている当該気筒#iの補正パルス幅Tc#1を予め設定し
たパルス幅ΔTcで加算した値で更新するとともに(Tc#
i←Tc#i+ΔTc)、他の気筒#(i+1,i+2,i+3)
の補正パルス幅Tc#(i+1,i+2,i+3)を上記パルス
幅ΔTcの等分配値ΔTc/(n−1)分だけ減算した値で
更新し(Tc#(i+1,i+2,i+3)←Tc#(i+1,i+
2,i+3)−ΔTc/(n−1))、S222へ進む。On the other hand, when the process proceeds from S404 through S210, S216, S217 to S406, the value obtained by adding the correction pulse width Tc # 1 of the cylinder #i stored at the predetermined address of the backup RAM 35 by the preset pulse width ΔTc Update with (Tc #
i ← Tc # i + ΔTc), other cylinders # (i + 1, i + 2, i + 3)
Is updated with a value obtained by subtracting the corrected pulse width Tc # (i + 1, i + 2, i + 3) by the equal distribution value ΔTc / (n−1) of the pulse width ΔTc (Tc # (i + 1, i + 2, i + 3) ← Tc # (I + 1, i +
(2, i + 3) −ΔTc / (n−1)), and the process proceeds to S222.
上記パルス幅ΔTcは設定クランク角度Cで点火時期を
補正したときの出力変動量、および、燃料噴射補正によ
る応答特性などを考慮して設定する。The pulse width ΔTc is set in consideration of an output fluctuation amount when the ignition timing is corrected at the set crank angle C, a response characteristic due to fuel injection correction, and the like.
また、上記S211でΔNA#i>ΔNuと判断され、ある
いは、S212でΔNA#i<ΔNLと判断されて219、S220
を経てS407へ進むと、バックアップRAM35の所定アドレ
スに格納されている当該気筒#(i,i+1,i+2,i+3)
の補正パルス幅Tc#(i,i+1,i+2,i+3)を、予め設
定したパルス幅ΔTcを上記S220で設定した平均差回転速
度ΔNA#(i,i+1,i+2,i+3)の絶対値の総和Σ|Δ
NA|と各気筒#(i,i+1,i+2,i+3)の平均差回転速
度ΔNA#(i,i+1,i+2,i+3)との比率ΔNA#(i,i
+1,i+2,i+3)/Σ|ΔNA|に応じて分配した値で
更新し(Tc#(i,i+1,i+2,i+3)←Tc#(i,i+1,i
+2,i+3)−ΔTc×ΔNA#(i,i+1,i+2,i+3)/
Σ|ΔNA|)、S222へ進む。Further, in step S211 it is determined that ΔNA # i> ΔNu, or in step S212 it is determined that ΔNA # i <ΔNL, and 219, S220
And the process proceeds to S407, the cylinder # (i, i + 1, i + 2, i + 3) stored at a predetermined address in the backup RAM 35
The correction pulse width Tc # (i, i + 1, i + 2, i + 3) is calculated by the sum of absolute values of the preset pulse width ΔTc and the average difference rotational speed ΔNA # (i, i + 1, i + 2, i + 3) set in S220. | Δ
NA | and the ratio ΔNA # (i, i) of the average differential rotation speed ΔNA # (i, i + 1, i + 2, i + 3) of each cylinder # (i, i + 1, i + 2, i + 3).
+1, i + 2, i + 3) / Σ | ΔNA |, and updates with a value distributed according to (Tc # (i, i + 1, i + 2, i + 3) ← Tc # (i, i + 1, i
+ 2, i + 3) −ΔTc × ΔNA # (i, i + 1, i + 2, i + 3) /
Σ | ΔNA |), and proceeds to S222.
例えば、気筒気筒#iの平均差回転速度ΔNA#iの
ベクトルがマイナス側にある場合、上記分配値ΔTc×Δ
NA#i/Σ|ΔNA|のベクトルはマイナスになり、した
がって、当該気筒#iの補正パルス幅Tc#iから上記分
配値ΔTc×ΔNA#i/Σ|ΔNA|を減算することは、結
果的に上記補正パルス幅Tc#iを増量補正することにな
る。For example, when the vector of the average differential rotation speed ΔNA # i of the cylinder #i is on the minus side, the distribution value ΔTc × Δ
The vector of NA # i / Σ | ΔNA | is negative, and therefore, subtracting the distribution value ΔTc × ΔNA # i / Σ | ΔNA | from the correction pulse width Tc # i of the cylinder #i results. Then, the correction pulse width Tc # i is increased and corrected.
また、上記気筒#iの平均差回転速度ΔNA#iのベ
クトルがプラス側にある場合、上記分配値ΔTc×ΔNA
#i/Σ|ΔNA|が正気補正パルス幅Tc#iからそのま
ま減算されるため、この補正パルス幅Tc#iは減量補正
される。When the vector of the average differential rotation speed ΔNA # i of the cylinder #i is on the plus side, the distribution value ΔTc × ΔNA
Since # i / Σ | ΔNA | is directly subtracted from the sanity correction pulse width Tc # i, the correction pulse width Tc # i is reduced.
その結果、前述した第一実施例と同様の作用効果が得
られる。As a result, the same functions and effects as those of the first embodiment can be obtained.
その後、上記S405、S406、あるいは、S407からS222へ
進むと、RAM34の所定アドレスに格納されている各気筒
#(i,i+1,i+2,i+3)の平均差回転速度ΔNA#(i,
i+1,i+2,i+3)を全てクリアして(ΔNA#(i,i+
1,i+2,i+3)←0)、S408へ進む。Thereafter, when the process proceeds from S405, S406, or S407 to S222, the average differential rotation speed ΔNA # (i, i, i) of each cylinder # (i, i + 1, i + 2, i + 3) stored at a predetermined address in the RAM 34.
Clear all i + 1, i + 2, i + 3) (ΔNA # (i, i +
1, i + 2, i + 3) ← 0), and the process proceeds to S408.
そして、上記S222、あるいは、S212からS408へ進む
と、上記S401で設定した燃料噴射パルス幅Tiを上記S402
で読出し、あるいは、S405、S406,S407で設定した補正
パルス幅Tc#iで補正し(Ti←Ti+Tc#i)、S224に
て、上記燃料噴射パルス幅Tiに対応する駆動信号を当該
気筒#iのインジェクタ10へ所定タイミングで出力し、
ルーチンを外れる。Then, when proceeding from S222 or S212 to S408, the fuel injection pulse width Ti set in S401 is changed to S402.
Or the correction is performed using the correction pulse width Tc # i set in S405, S406, and S407 (Ti ← Ti + Tc # i), and in S224, the drive signal corresponding to the fuel injection pulse width Ti is output to the cylinder #i. Output to the injector 10 at a predetermined timing,
Out of the routine.
なお、この実施例における点火時期制御手順は前述し
た第一実施例(第9図)と同一であるため説明を省略す
る。The procedure for controlling the ignition timing in this embodiment is the same as that in the first embodiment (FIG. 9) described above, and a description thereof will be omitted.
(第三実施例) 第13図〜第15図は本発明の第三実施例を示し、第13図
は気筒別平均差角加速度算出手順を示すフローチャー
ト、第14図は気筒別燃料噴射制御手順を示すフローチャ
ート、第15図はクランクパルス、カムパルス、エンジン
回転数および角加速度のタイムチャートである。(Third Embodiment) FIGS. 13 to 15 show a third embodiment of the present invention, FIG. 13 is a flowchart showing a cylinder-by-cylinder average differential angular acceleration calculation procedure, and FIG. 14 is a cylinder-by-cylinder fuel injection control procedure. FIG. 15 is a time chart of the crank pulse, the cam pulse, the engine speed and the angular acceleration.
この実施例では、各気筒#iの回転変動差を第一実施
例、第二実施例に示した平均差回転速度ΔNA#iに代
えて平均差角加速度Δ(dN/dt)A#iから求めるよう
にしたものである。In this embodiment, the rotational fluctuation difference of each cylinder #i is obtained from the average differential angular acceleration Δ (dN / dt) A # i instead of the average differential rotational speed ΔNA # i shown in the first and second embodiments. It is what we asked for.
:平均差角加速度算出手順: S101〜S105は第一実施例(第7図)と共通するため、
S106以下(第7図の破線で囲まれた部分)のフローチャ
ートについてのみ第13図に基づいて説明する。: Average difference angular acceleration calculation procedure: Since S101 to S105 are common to the first embodiment (FIG. 7),
Only the flowcharts after S106 (portions surrounded by broken lines in FIG. 7) will be described based on FIG.
S106で、S105で設定した周期f2,3に基づきエンジン回
転数NNEWを算出すると、S501へ進み、エンジン回転数
NNEWを時間微分して角加速度(dN/dt)NEWを算出す
る。In S106, when the engine speed NNEW is calculated based on the cycle f2,3 set in S105, the process proceeds to S501, in which the engine speed NNEW is time-differentiated to calculate an angular acceleration (dN / dt) NEW.
その後、S502で、上記S501で算出したエンジン角加速
度(dN/dt)NEWと、前回のルーチンで算出したエンジン
角加速度(dN/dt)OLDとの差から当該燃焼行程気筒#i
の燃焼による仕事をしていない区間(第15図の区間θ2
−θ3)の差角加速度Δ(dN/dt)#iを算出し(Δ(d
N/dt)#i←(dN/dt)NEW−(dN/dt)OLD)、S503で、
RAM34の所定アドレスに記憶されている前回のエンジン
角加速度(dN/dt)OLDを上記S501で算出した今回のエン
ジン角加速度(dN/ds)NEWで更新する((dN/dt)OLD←
(dN/dt)NEW)。Thereafter, in S502, the combustion stroke cylinder #i is determined from the difference between the engine angular acceleration (dN / dt) NEW calculated in S501 and the engine angular acceleration (dN / dt) OLD calculated in the previous routine.
The section that does not work due to the combustion of the section (section θ2 in FIG. 15)
−θ3) to calculate a differential angular acceleration Δ (dN / dt) #i (Δ (d
N / dt) # i ← (dN / dt) NEW− (dN / dt) OLD), at S503,
The previous engine angular acceleration (dN / dt) OLD stored at a predetermined address in the RAM 34 is updated with the current engine angular acceleration (dN / ds) NEW calculated in S501 ((dN / dt) OLD ←
(DN / dt) NEW).
そして、S504で、上記S502で算出した差角加速度Δ
(dN/dt)#iと、前回算出した当該気筒#iの平均差
角加速度Δ(dN/dt)A#i(−1)に基づき、今回の
平均差角加速度Δ(dN/dt)Aiを、下式に示す加重係数
rの加重平均から求め、RAM34の該当アドレスに格納す
る。Then, in S504, the difference angular acceleration Δ calculated in S502 is obtained.
Based on (dN / dt) #i and the previously calculated average differential angular acceleration Δ (dN / dt) A # i (−1) of the cylinder #i, the current average differential angular acceleration Δ (dN / dt) Ai Is obtained from the weighted average of the weighting coefficient r shown in the following equation, and stored in the corresponding address of the RAM 34.
Δ(dN/dt)A#i←((2r−1)×Δ(dN/dt)A#i (−1)+Δ(dN/dt)#i)/2r 但し、初回の平均差角加速度Δ(dN/dt)A#iは
“0"とする。Δ (dN / dt) A # i ← ((2 r -1) × Δ (dN / dt) A # i (-1) + Δ (dN / dt) #i) / 2 r where mean difference angle initial The acceleration Δ (dN / dt) A # i is “0”.
その後、S505で、上記S504で算出した当該気筒#iの
平均差角加速度Δ(dN/dt)A#iで、RAM34の所定アド
レスに格納されている当該気筒#iの平均差角加速度Δ
(dN−dt)A#i(−1)を更新する(Δ(dN/dt)A
#i(−1)←Δ(dN/dt)A#i)。Thereafter, in S505, the average differential angular acceleration Δ (dN / dt) A # i of the cylinder #i calculated in S504 is the average differential angular acceleration Δ of the cylinder #i stored at a predetermined address in the RAM 34.
(DN−dt) A # i (−1) is updated (Δ (dN / dt) A
#I (-1) ← Δ (dN / dt) A # i).
:燃料噴射制御手順: 上述の如く、この実施例では平均差角加速度Δ(dN/d
t)A#iに基づいて各気筒#iの回転変動を判断して
いるため、第一実施例(第8図)、第二実施例(第12
図)の破線で囲まれた部分のフローチャートのみが相異
する。: Fuel injection control procedure: As described above, in this embodiment, the average difference angular acceleration Δ (dN / d
t) Since the rotation fluctuation of each cylinder #i is determined based on A # i, the first embodiment (FIG. 8) and the second embodiment (12th embodiment)
Only the flowchart of the part surrounded by the broken line in FIG.
すなわち、S207(あるいは、S404)からS601へ進む
と、当該気筒#iの平均角加速度Δ(dN/dt)A#iを
読出し、S602で、この平均角加速度Δ(dN/dt)A#i
と予め設定した平均角加速度許容上限値Δ(dN/dt)u
とを比較し、Δ(dN/dt)A#i≦Δ(dN/dt)uの場
合、S603へ進み上記平均差角加速度Δ(dN/dt)A#i
と平均角加速度許容下限値Δ(dN/dt)Lとを比較し、
Δ(dN/dt)A#i≧Δ(dN/dt)L、すなわち、Δ(dN
/dt)u≧Δ(dN/dt)A#i≧Δ(dN/dt)Lの場合、S
223(あるいは、S408)へ進む。That is, when the process proceeds from S207 (or S404) to S601, the average angular acceleration Δ (dN / dt) A # i of the cylinder #i is read, and in S602, the average angular acceleration Δ (dN / dt) A # i.
And the predetermined upper limit of the average angular acceleration allowable Δ (dN / dt) u
When Δ (dN / dt) A # i ≦ Δ (dN / dt) u, the process proceeds to S603, and the average differential angular acceleration Δ (dN / dt) A # i
And the average lower limit of angular acceleration Δ (dN / dt) L,
Δ (dN / dt) A # i ≧ Δ (dN / dt) L, that is, Δ (dN
/ dt) u ≧ Δ (dN / dt) A # i ≧ Δ (dN / dt) L
Proceed to 223 (or S408).
一方、S602でΔ(dN/dt)A#i>Δ(dN/dt)uと判
断され、あるいは、S603でΔ(dN/dt)A#i<Δ(dN/
dt)Lと判断された場合、S605へ進み、RAM34の所定ア
ドレスに格納されている他の気筒#(i+1,i+2,i+
3)の各平均差角加速度Δ(dN/dt)A#(i+1,i+2,
i+3)を読出し、S606で、上記S601で読出した当該気
筒#iの平均差角速度Δ(dN/dt)A#i、および、上
記S605で読出した他の気筒#(i+1,i+2,i+3)の平
均差角加速度Δ(dN/dt)A#(i+1,i+2,i+3)の
絶対値の総和Σ|Δ(dN/dt)A|を求める(Σ|Δ(dN/
dt)A|←|Δ(dN/dt)A#i|+|Δ(dN/dt)A#(i
+1)|+|Δ(dN/dt)A#(i+2)|+|Δ(dN/
dt)A#(i+3)|)。On the other hand, in S602, it is determined that Δ (dN / dt) A # i> Δ (dN / dt) u, or in S603, Δ (dN / dt) A # i <Δ (dN /
If it is determined that dt) L, the process proceeds to S605, and the other cylinders # (i + 1, i + 2, i +
3) Average difference angular acceleration Δ (dN / dt) A # (i + 1, i + 2,
i + 3), and in S606, the average differential angular velocity Δ (dN / dt) A # i of the cylinder #i read in S601 and the other cylinders # (i + 1, i + 2, i + 3) read in S605. The sum 絶 対 | Δ (dN / dt) A | of the absolute values of the average difference angular acceleration Δ (dN / dt) A # (i + 1, i + 2, i + 3) is obtained (Σ | Δ (dN /
dt) A | ← | Δ (dN / dt) A # i | + | Δ (dN / dt) A # (i
+1) | + | Δ (dN / dt) A # (i + 2) | + | Δ (dN /
dt) A # (i + 3) |).
そして、S607で、バックアップRAM35の所定アドレス
に格納されている各気筒#(i,i+1,i+2,i+3)の無
効噴射補正パルス幅Ts#(i,i+1,i+2,i+3)の絶対
値の総和Σ|Δ(dN/dt)A|と各気筒(i,i+1,i+2,i+
3)の平均差角加速度Δ(dN/dt)A#(i,i+1,i+2,i
+3)との比率Δ(dN/dt)A#(i,i+1,i+2,i+3)
/Σ|Δ(dN/dt)A|に応じて分配した値で更新し(Ts
#(i,i+1,i+2,i+3)←Ts#(i,i+1,i+2,i+3)
−ΔTs×Δ(dN/dt)A#(i,i+1,i+2,i+3)/Σ|
Δ(dN/dt)A|)、0S64へ進む。Then, in S607, the sum 絶 対 of the absolute values of the invalid injection correction pulse widths Ts # (i, i + 1, i + 2, i + 3) of the cylinders # (i, i + 1, i + 2, i + 3) stored at the predetermined addresses in the backup RAM 35. | Δ (dN / dt) A | and each cylinder (i, i + 1, i + 2, i +
3) Average difference angular acceleration Δ (dN / dt) A # (i, i + 1, i + 2, i
+3) and Δ (dN / dt) A # (i, i + 1, i + 2, i + 3)
/ Σ | Δ (dN / dt) A | is updated with the value distributed according to (Ts
# (I, i + 1, i + 2, i + 3) ← Ts # (i, i + 1, i + 2, i + 3)
−ΔTs × Δ (dN / dt) A # (i, i + 1, i + 2, i + 3) / Σ |
Δ (dN / dt) A |), and proceed to 0S64.
あるいは、第二実施例に対応する補正パルス幅Tcの場
合には、バックアップRAM35の所定アドレスに格納され
ている当該気筒#(i,i+1,i+2,i+3)の補正パルス
幅Tc#(i,i+1,i+2,i+3)を、予め設定したパルス
幅ΔTcを平均差角加速度の絶対値の総和Σ|Δ(dN/d
t)A|と各気筒の平均差角加速度Δ(dN/dt)A#(i,i
+1,i+2,i+3)との比率に応じて分配した値で更新し
(Tc#(i,i+1,i+2,i+3)←Tc#(i,i+1,i+2,i+
3)−ΔTc×Δ(dN/dt)A#(i,i+1,i+2,i+3)/
Σ|Δ(dN/dt)A|)、S604へ進む。Alternatively, in the case of the correction pulse width Tc corresponding to the second embodiment, the correction pulse width Tc # (i, i + 1) of the cylinder # (i, i + 1, i + 2, i + 3) stored at a predetermined address of the backup RAM 35. , i + 2, i + 3), the preset pulse width ΔTc is the sum of the absolute values of the average difference angular acceleration Σ | Δ (dN / d
t) A | and the average differential angular acceleration Δ (dN / dt) A # (i, i
+1 and i + 2, i + 3) and update with the value distributed according to the ratio of (Tc # (i, i + 1, i + 2, i + 3) ← Tc # (i, i + 1, i + 2, i +
3) -ΔTc × Δ (dN / dt) A # (i, i + 1, i + 2, i + 3) /
Σ | Δ (dN / dt) A |), and proceeds to S604.
そして、上記S215(あるいはS405)、S218(あるいは
S406)、あるいはS607からS604へ進むと、RAM34の所定
アドレスに格納されている各気筒#(i,i+1,i+2,i+
3)の平均差角加速度Δ(dN/dt)A#(i,i+1,i+2,i
+3)を全てクリアして((ΔdN/dt)A#(i,i+1,i
+2,i+3)←0)、S223(あるいはS408)へ進む。Then, the above S215 (or S405), S218 (or
When the process proceeds from S607 to S604 or S604, each cylinder # (i, i + 1, i + 2, i +) stored at a predetermined address in the RAM 34
3) Average difference angular acceleration Δ (dN / dt) A # (i, i + 1, i + 2, i
+ (3) is cleared and ((ΔdN / dt) A # (i, i + 1, i
+2, i + 3) ← 0), and the process proceeds to S223 (or S408).
なお、第15図にエンジン回転数とエンジン角加速度と
の相関を示すが、前述のように、エンジン回転数を時間
微分した角加速度を用いることにより、時間要素が加味
されるため、本実施例ではさらに精度の向上が図られ
る。FIG. 15 shows the correlation between the engine speed and the engine angular acceleration. As described above, the time element is added by using the angular acceleration obtained by differentiating the engine speed over time. Then, the accuracy is further improved.
また、点火時期制御については第一実施例と同様であ
るため説明を省略する。Further, the ignition timing control is the same as that of the first embodiment, and the description is omitted.
(第四実施例) 第16図、第17図は本発明の第四実施例を示し、第16図
は気筒別平均差周期算出手順を示すフローチャート、第
17図は気筒別燃料噴射制御手順を示すフローチャートで
ある。(Fourth Embodiment) FIGS. 16 and 17 show a fourth embodiment of the present invention, and FIG. 16 is a flowchart showing a cylinder average difference cycle calculation procedure.
FIG. 17 is a flowchart showing the fuel injection control procedure for each cylinder.
この実施例では、各気筒#iの回転変動差を、第一実
施例、第二実施例に示した平均差回転速度ΔNA#i、
あるいは、第三実施例に示した平均差角加速度Δ(dN/d
t)A#iに代えて、平均差周期ΔfA#iから求めるよ
うにしたものである。In this embodiment, the rotational fluctuation difference of each cylinder #i is calculated by using the average difference rotational speed ΔNA # i shown in the first and second embodiments,
Alternatively, the average difference angular acceleration Δ (dN / d
t) Instead of A # i, it is determined from the average difference period ΔfA # i.
:平均差周期算出手順: S101〜S105は第一実施例(第7図)と共通するため説
明を省略し、第7図の破線で囲まれた部分に相当する箇
所のフローチャートについてのみ説明する。: Average difference cycle calculation procedure: Since S101 to S105 are common to the first embodiment (FIG. 7), description thereof will be omitted, and only a flowchart corresponding to a portion surrounded by a broken line in FIG. 7 will be described.
S105(第7図参照)で、周期f2,3が算出されると、S7
01へ進み、S105で算出した今回の周期f2,3と、RAM34の
所定アドレスに格納されている前回のルーチンにて算出
した周期f2,3OLDを読込み、両周期f2,3、f2,3OLDとの差
から当該燃焼行程気筒#i(4気筒であれば、i=1,3,
2,4)の燃焼による仕事をしていない区間の差周期Δf
#iを算出する(Δf#i←f2,3−f2,3OLD)。When the cycle f2,3 is calculated in S105 (see FIG. 7), S7
The process proceeds to step 01, where the current cycle f2,3 calculated in S105 and the cycle f2,3OLD calculated in the previous routine stored at a predetermined address in the RAM 34 are read, and the two cycles f2,3, f2,3OLD are compared. From the difference, the combustion stroke cylinder #i (i = 1,3,
2,4) Difference period Δf of the section not working by combustion
#I is calculated (Δf # i ← f2,3-f2,3OLD).
次いで、S702で、RAM34の所定アドレスに格納されて
いる前回の周期f2,3OLDを上記ステップS105で算出した
今回の周期f2,3で更新する(f2,3OLD←f2,3)。Next, in S702, the previous cycle f2,3OLD stored at a predetermined address in the RAM 34 is updated with the current cycle f2,3 calculated in step S105 (f2,3OLD ← f2,3).
そして、S703で、上記S701で算出した差周期Δf#i
と、当該気筒#iの前回の平均差周期ΔfA#i(−1)
に基づき、今回の平均差周期ΔfA#iを、次式に示す加
重係数rの加重平均から算出する。Then, in S703, the difference cycle Δf # i calculated in S701
And the previous average difference cycle ΔfA # i (−1) of the cylinder #i.
, The current average difference period ΔfA # i is calculated from the weighted average of the weighting coefficient r shown in the following equation.
ΔfA#i←((2r−1)×ΔfA#i(−1)+Δf#i)/2
r なお、初回の平均差周期ΔfA#iは“0"とする。ΔfA # i ← ((2 r −1) × ΔfA # i (−1) + Δf # i) / 2
r Note that the initial average difference period ΔfA # i is “0”.
その後、S704で、上記S703で算出した当該気筒#iの
平均差周期ΔfA#iで、RAM34の所定アドレスに格納さ
れている当該気筒#iの前回の平均差周期ΔfA#i(−
1)を更新する(ΔfA#i(−1)←ΔfA#i)。Thereafter, in S704, the previous average difference cycle ΔfA # i (−−) of the cylinder #i stored at a predetermined address in the RAM 34 with the average difference cycle ΔfA # i of the cylinder #i calculated in S703.
1) is updated (ΔfA # i (−1) ← ΔfA # i).
:燃料噴射制御手順: この実施例では平均差周期ΔfA#iに基づいて各気筒
#iの回転変動を判断するものであるため、第一実施例
(第8図)、第二実施例(第12図)の破線で囲まれた部
分のフローチャートのみが相異する。: Fuel injection control procedure: In this embodiment, since the rotation fluctuation of each cylinder #i is determined based on the average difference period ΔfA # i, the first embodiment (FIG. 8) and the second embodiment (FIG. Only the flowchart of the part surrounded by the broken line in FIG. 12) is different.
すなわち、S207(あるいはS404)からS801へ進むと、
当該気筒#iの平均差周期ΔfA#iを読出し、S802で、
この平均差周期ΔfA#iと予め設定した平均差周期許容
最短値Δfsとを比較し、ΔfA#i≦Δfsの場合、S803へ
進み上記平均差周期ΔfA#iと平均差周期許容最長値Δ
fLとを比較し、ΔfA#i≦ΔfL、すなわち、Δfs≦ΔfA
#i≦ΔfLの場合、許容値内に収まっているためS223
(あるいはS408)へ進む。That is, when proceeding from S207 (or S404) to S801,
The average difference cycle ΔfA # i of the cylinder #i is read, and in S802,
The average difference period ΔfA # i is compared with a preset average difference period allowable shortest value Δfs, and if ΔfA # i ≦ Δfs, the process proceeds to S803 and the average difference period ΔfA # i and the average difference period allowable maximum value Δ
fL, ΔfA # i ≦ ΔfL, that is, Δfs ≦ ΔfA
In the case of # i ≦ ΔfL, the value is within the allowable value, and therefore S223
(Or S408).
一方、上記S802でΔfA#i<Δfs、すなわち、当該気
筒#iの平均差周期ΔfA#iが短すぎると判断され、ま
た、S803でΔfA#i>ΔfL、すなわち、当該気筒#iの
平均差周期ΔfA#iが長すぎると判断されると、S805へ
進み、RAM34の所定アドレスに格納されている他の気筒
#(i+1,i+2,i+3)の各平均差周期ΔfA#(i+1,
i+2,i+3)を読出し、S806で、上記S801で読出した当
該気筒#iの平均差周期ΔfA#i、および、上記S805で
読出した他の気筒#(i+1,i+2,i+3)の平均差周期
ΔfA#(i+1,i+2,i+3)の絶対値の総和Σ|ΔfA|
を求める(Σ|ΔfA|←|ΔfA#i|+|ΔfA#(i+
1)|+|ΔfA#(i+2)|+|ΔfA#(i+3)
|)。On the other hand, in S802, it is determined that ΔfA # i <Δfs, that is, the average difference cycle ΔfA # i of the cylinder #i is too short, and in S803, ΔfA # i> ΔfL, that is, the average difference of the cylinder #i If it is determined that the cycle ΔfA # i is too long, the process proceeds to S805, and each average difference cycle ΔfA # (i + 1, i) of the other cylinders # (i + 1, i + 2, i + 3) stored at a predetermined address in the RAM 34.
i + 2, i + 3), and in S806, the average difference cycle ΔfA # i of the cylinder #i read in S801, and the average difference cycle ΔfA of the other cylinders # (i + 1, i + 2, i + 3) read in S805. # (I + 1, i + 2, i + 3) sum of absolute values Σ | ΔfA |
(Σ | ΔfA | ← | ΔfA # i | + | ΔfA # (i +
1) | + | ΔfA # (i + 2) | + | ΔfA # (i + 3)
|).
そして、S807で、バックアップRAM35の所定アドレス
に格納されている各気筒#(i,i+1,i+2,i+3)の無
効噴射補正パルス幅Ts#(i,i+1,i+2,i+3)を、予
め設定したパルス幅ΔTsを上記平均差周期の絶対値の総
和Σ|ΔfA|と各気筒#(i,i+1,i+2,i+3)の平均差
周期ΔfA#i(i,i+1,i+2,i+3)との比率ΔfA#
(i,i+1,i+2,i+3)/Σ|ΔfA|に応じて分配した値
で更新し(Ts#(i,i+1,i+2,i+3)←Ts#(i,i+1,
i+2,i+3)+ΔTs×ΔfA#(i,i+1,i+2,i+3)/
Σ|ΔfA|)、S804へ進む。In step S807, the invalid injection correction pulse width Ts # (i, i + 1, i + 2, i + 3) of each cylinder # (i, i + 1, i + 2, i + 3) stored at a predetermined address in the backup RAM 35 is set to a predetermined pulse. The width ΔTs is a ratio ΔfA # between the sum of the absolute values of the average difference periods Σ | ΔfA | and the average difference period ΔfA # i (i, i + 1, i + 2, i + 3) of each cylinder # (i, i + 1, i + 2, i + 3).
Update with the value distributed according to (i, i + 1, i + 2, i + 3) / Σ | ΔfA | (Ts # (i, i + 1, i + 2, i + 3) ← Ts # (i, i + 1,
i + 2, i + 3) + ΔTs × ΔfA # (i, i + 1, i + 2, i + 3) /
Σ | ΔfA |), and proceeds to S804.
あるいは、第二実施例に対応する補正パルス幅Tcの場
合には、バックアップRAM35の所定アドレスに格納され
ている当該気筒#(i,i+1,i+2,i+3)の補正パルス
幅Tc#(i,i+1,i+2,i+3)を、予め設定したパルス
幅ΔTcを平均差周期の絶対値の総和Σ|ΔfA|と各気筒
の平均差周期ΔfA#(i,i+1,i+2,i+3)との比率に
応じて分配した値で更新し(Tc#(i,i+1,i+2,i+
3)←Tc#(i,i+1,i+2,i+3)+ΔTc×ΔfA#(i,i
+1,i+2,i+3)/Σ|ΔfA|)、S804へ進む。Alternatively, in the case of the correction pulse width Tc corresponding to the second embodiment, the correction pulse width Tc # (i, i + 1) of the cylinder # (i, i + 1, i + 2, i + 3) stored at a predetermined address of the backup RAM 35. , i + 2, i + 3) according to the ratio of the preset pulse width ΔTc to the sum of the absolute values of the average difference periods Σ | ΔfA | and the average difference period ΔfA # (i, i + 1, i + 2, i + 3) of each cylinder. Update with the distributed value (Tc # (i, i + 1, i + 2, i +
3) ← Tc # (i, i + 1, i + 2, i + 3) + ΔTc × ΔfA # (i, i
+1, i + 2, i + 3) / Σ | ΔfA |), and proceeds to S804.
そして、上記S215(あるいは、S405)、S218(あるい
は、S406)、または、S807からS804へ進むと、RAM34の
所定アドレスに格納されている各気筒#(i,i+1,i+2,
i+3)の平均差周期ΔfA#(i,i+1,i+2,i+3)を全
てクリアして(ΔfA#(i,i+1,i+2,i+3)←0)、S
223(あるいはS408)へ進む。When proceeding from S215 (or S405), S218 (or S406), or S807 to S804, each cylinder # (i, i + 1, i + 2,
After clearing all the average difference periods ΔfA # (i, i + 1, i + 2, i + 3) of (i + 3) (ΔfA # (i, i + 1, i + 2, i + 3) ← 0), S
Proceed to 223 (or S408).
この実施例では、エンジン回転変動を検出するに際
し、周期f2,3を一旦除算処理したエンジン回転数NNEW
を用いず、周期f2,3をそのまま用いているので除算処理
によるCPUの演算負担が軽減され、演算時間が短縮され
る。In this embodiment, when detecting fluctuations in the engine speed, the engine speed NNEW obtained by temporarily dividing the period f2,3 is used.
Is not used, and the periods f2 and f3 are used as they are, so that the calculation load on the CPU due to the division processing is reduced, and the calculation time is shortened.
(第五実施例) 第18図以下は本発明の第五実施例を示し、第18図は気
筒別平均差角速度算出手順を示すフローチャート、第19
図は気筒別燃料噴射制御手順を示すフローチャート、第
20図は気筒別点火時期制御手順を示すフローチャートで
ある。(Fifth Embodiment) FIG. 18 et seq. Show a fifth embodiment of the present invention. FIG. 18 is a flowchart showing a cylinder-by-cylinder average differential angular velocity calculation procedure.
The figure is a flowchart showing the fuel injection control procedure for each cylinder.
FIG. 20 is a flowchart showing a procedure for controlling ignition timing for each cylinder.
この実施例では各気筒#iの回転変動差を平均差角速
度ΔωA#iから求めるようにしたものである。In this embodiment, the rotational fluctuation difference of each cylinder #i is obtained from the average difference angular velocity ΔωA # i.
:平均差角速度算出手順: S101〜S104は第一実施例(第7図)と共通であるため
説明を省略する。: Average difference angular velocity calculation procedure: Since S101 to S104 are common to the first embodiment (FIG. 7), description thereof will be omitted.
S104でクランクパルス判別後、S901で、上記S104で判
別したBTDCθ2、θ3を検出するクランクパルス間の経
過時間t2,3と、上記θ2、θ3の挾み角(θ2−θ3)
とから角速度ω2,3NEWを算出する(ω2,3NEW←d(θ2
−θ3)/dt2,3)。After determining the crank pulse in S104, in S901, the elapsed time t2,3 between the crank pulses for detecting the BTDC θ2, θ3 determined in S104, and the included angle (θ2-θ3) between θ2, θ3.
And the angular velocity ω2,3NEW is calculated (ω2,3NEW ← d (θ2
−θ3) / dt2,3).
その後、S902で、上記S901で算出した今回のルーチン
のエンジン角速度ω2,3NEWと、前回のルーチンで算出し
たエンジン角速度ω2,3OLDとの差から当該燃焼行程気筒
#iの燃焼による仕事をしていない区間の差角速度Δω
#iを算出し(Δω#i←ω2,3NEW−ω2,3OLD)、S903
で、RAM34の所定アドレスに格納されている前回のエン
ジン角速度ω2,3OLDを上記S901で算出した今回のエンジ
ン角速度ω2,3NEWで更新する(ω2,3OLD←ω2,3NEW)。Thereafter, in S902, no work is performed by the combustion of the combustion stroke cylinder #i from the difference between the engine angular speed ω2,3NEW of the current routine calculated in S901 and the engine angular speed ω2,3OLD calculated in the previous routine. Difference angular velocity of the section Δω
#I is calculated (Δω # i ← ω2,3NEW−ω2,3OLD), and S903
Then, the previous engine angular velocity ω2,3OLD stored at the predetermined address in the RAM 34 is updated with the current engine angular velocity ω2,3NEW calculated in S901 (ω2,3OLD ← ω2,3NEW).
そして、S904で、上記S902で算出した差角速度Δω#
iと、RAM34の所定アドレスに格納されている当該気筒
#iの前回の平均差角速度ΔωA#i(−1)に基づ
き、今回の平均差角速度ΔωA#iを下式に示す加重係
数rの加重平均から求め、RAM34の該当アドレスにスト
アする。Then, in S904, the difference angular velocity Δω # calculated in S902 above
Based on i and the previous average differential angular velocity ΔωA # i (−1) of the cylinder #i stored at a predetermined address in the RAM 34, the current average differential angular velocity ΔωA # i is weighted by a weighting coefficient r shown in the following equation. It is obtained from the average and stored in the corresponding address of the RAM.
ΔωA#i←((2r−1)×ΔωA#i(−1)+Δω#
i)/2r なお、初回の平均差角速度ΔωA#iは“0"とする。ΔωA # i ← ((2 r −1) × ΔωA # i (−1) + Δω #
i) / 2 r It is to be noted that the average difference between the angular velocity ΔωA # i for the first time is set to "0".
その後、S905で、上記S904で算出した当該気筒#iの
平均差角速度ΔωA#iでRAM34の所定アドレスに格納
されているデータを更新する(ΔωA#i(−1)←Δ
ωA#i)。Thereafter, in S905, the data stored at the predetermined address of the RAM 34 is updated with the average differential angular velocity ΔωA # i of the cylinder #i calculated in S904 (ΔωA # i (−1) ← Δ).
ωA # i).
:燃料噴射制御手順: この実施例では、平均差角速度ΔωA#iに基づいて
各気筒#iの回転変動を判断するものであるため、第一
実施例(第8図)、第二実施例(第12図)の破線で囲ま
れた部分のフローチャートのみが相異する。In this embodiment, since the rotation fluctuation of each cylinder #i is determined based on the average difference angular velocity ΔωA # i, the first embodiment (FIG. 8) and the second embodiment (FIG. 8) Only the flowchart of the part surrounded by the broken line in FIG. 12) is different.
すなわち、S207(あるいはS404)からS1001へ進む
と、当該気筒#iの平均角速度ΔωA#iを読出し、S1
002で、この平均角速度ΔωA#iと予め設定した平均
角速度上限値Δωuとを比較し、ΔωA#i≦Δωuの
場合、S1003へ進み上記平均差角速度ΔωA#iと平均
角速度下限値ΔωLとを比較し、ΔωA#i≧ΔωL、
すなわち、Δωu≧ΔωA#i≧ΔωLの場合、許容値
内に収まっているためS223(あるいはS408)へ進む。That is, when the process proceeds from S207 (or S404) to S1001, the average angular velocity ΔωA # i of the cylinder #i is read, and S1 is read.
In 002, the average angular velocity ΔωA # i is compared with a predetermined average angular velocity upper limit Δωu. If ΔωA # i ≦ Δωu, the process proceeds to S1003, where the average difference angular velocity ΔωA # i is compared with the average angular velocity lower limit ΔωL. And ΔωA # i ≧ ΔωL,
That is, in the case of Δωu ≧ ΔωA # i ≧ ΔωL, the process proceeds to S223 (or S408) because it is within the allowable value.
一方、S1002でΔωA#i<Δωuと判断され、ま
た、S1003でΔωA#i<ΔωLと判断された場合、S10
05へ進み、RAM34の所定アドレスに格納されている他の
気筒#(i+1,i+2,i+3)の各平均差角速度ΔωA#
(i+1,i+2,i+3)を読出し、S1006で、上記S1001で
読出した当該気筒#iの平均差角速度ΔωA#i、およ
び、上記S1005で読出した他の気筒#(i+1,i+2,i+
3)の平均差角速度ΔωA#(i+1,i+2,i+3)の絶
対値の総和Σ|ΔωA|を求める(Σ|ΔωA|←|ΔωA
#i|+|ΔωA#(i+1)|+|ΔωA#(i+2)
|+|ΔωA#(i+3)|)。On the other hand, if it is determined in S1002 that ΔωA # i <Δωu, and if it is determined in S1003 that ΔωA # i <ΔωL, S10
Proceeding to 05, the average differential angular velocity ΔωA # of each of the other cylinders # (i + 1, i + 2, i + 3) stored at the predetermined address in the RAM 34
(I + 1, i + 2, i + 3) are read, and in S1006, the average differential angular velocity ΔωA # i of the cylinder #i read in S1001 and the other cylinder # (i + 1, i + 2, i +) read in S1005.
3) Find the sum 絶 対 | ΔωA | of the absolute values of the average difference angular velocity ΔωA # (i + 1, i + 2, i + 3) (Σ | ΔωA | ← | ΔωA)
#I | + | ΔωA # (i + 1) | + | ΔωA # (i + 2)
| + | ΔωA # (i + 3) |).
そして、S1007で、バックアップRAM35の所定アドレス
に格納されている各気筒#(i,i+1,i+2,i+3)の無
効噴射補正パルス幅Ts#(i,i+1,i+2,i+3)を、予
め設定したパルス幅ΔTsを上記平均差角速度の絶対値の
総和Σ|ΔωA|と各気筒#(i,i+1,i+2,i+3)の平
均差角速度ΔωA#(i,i+1,i+2,i+3)との比率Δ
ωA#(i,i+1,i+2,i+3)/Σ|ΔωA|に応じて分
配した値で更新し(Ts#(i,i+1,i+2,i+3)←Ts#
(i,i+1,i+2,i+3)−ΔTs×ΔωA#(i,i+1,i+
2,i+3)/Σ|ΔωA|)、S1004へ進む。Then, in S1007, the invalid injection correction pulse width Ts # (i, i + 1, i + 2, i + 3) of each cylinder # (i, i + 1, i + 2, i + 3) stored at a predetermined address in the backup RAM 35 is set to a predetermined pulse. The width ΔTs is the ratio Δ between the sum of the absolute values of the average difference angular velocity Σ | ΔωA | and the average difference angular velocity ΔωA # (i, i + 1, i + 2, i + 3) of each cylinder # (i, i + 1, i + 2, i + 3).
ωA # (i, i + 1, i + 2, i + 3) / Σ | ΔωA |, updated with the value distributed according to (Ts # (i, i + 1, i + 2, i + 3) ← Ts #
(I, i + 1, i + 2, i + 3) −ΔTs × ΔωA # (i, i + 1, i +
2, i + 3) / Σ | ΔωA |), and proceeds to S1004.
あるいは、第二実施例に対応する補正パルス幅Tcの場
合には、バックアップRAM35の所定アドレスに格納され
ている当該気筒#(i,i+1,i+2,i+3)の補正パルス
幅Tc#(i,i+1,i+2,i+3)を、予め設定したパルス
幅ΔTcを平均差角速度の絶対値の総和Σ|ΔωA|と各気
筒の平均差角速度ΔωA#(i,i+1,i+2,i+3)との
比率に応じて分配した値で更新し(Tc#(i,i+1,i+2,
i+3)←Tc#(i,i+1,i+2,i+3)+ΔTc×ΔωA#
(i,i+1,i+2,i+3)/Σ|ΔωA|)、S1004へ進む。Alternatively, in the case of the correction pulse width Tc corresponding to the second embodiment, the correction pulse width Tc # (i, i + 1) of the cylinder # (i, i + 1, i + 2, i + 3) stored at a predetermined address of the backup RAM 35. , i + 2, i + 3) according to the ratio of the preset pulse width ΔTc to the sum of the absolute values of the average differential angular velocity Σ | ΔωA | and the average differential angular velocity ΔωA # (i, i + 1, i + 2, i + 3) of each cylinder. Update with the distributed value (Tc # (i, i + 1, i + 2,
i + 3) ← Tc # (i, i + 1, i + 2, i + 3) + ΔTc × ΔωA #
(I, i + 1, i + 2, i + 3) / Σ | ΔωA |), and proceeds to S1004.
そして、S215(あるいはS405)、S218(あるいはS40
6)、または、S1007からS1004へ進むと、RAM34の所定ア
ドレスに格納されている各気筒#(i,i+1,i+2,i+
3)の平均差角速度ΔωA#(i,i+1,i+2,i+3)を
全てクリアして(ΔωA#(i,i+1,i+2,i+3)←
0)、S223(あるいはS408)へ進む。Then, S215 (or S405), S218 (or S40)
6) Alternatively, when the process proceeds from S1007 to S1004, each cylinder # (i, i + 1, i + 2, i +
Clear all the average difference angular velocity ΔωA # (i, i + 1, i + 2, i + 3) of (3) (ΔωA # (i, i + 1, i + 2, i + 3) ←)
0), and proceed to S223 (or S408).
:点火時期制御手順: 第一実施例(第9図)においては、周期f1,2に基づい
て点火時期を設定しているが、この実施例では角速度ω
1,2に基づいて点火時期を設定している点で相異する。: Ignition timing control procedure: In the first embodiment (FIG. 9), the ignition timing is set based on the periods f1, 2; however, in this embodiment, the angular velocity ω is set.
The difference is that the ignition timing is set based on 1 and 2.
S303でクランクパルス判別後、S1101で、上記S303で
判別したBTDCθ1、θ2を検出するクランクパルス間の
経過時間t1,2と、上記θ1、θ2の挾み角(θ1−θ
2)とから角速度ω1,2を算出する(ω1,2←d(θ1−
θ2)/dt1,2)。After determining the crank pulse in S303, in S1101, the elapsed time t1,2 between the crank pulses for detecting the BTDC θ1, θ2 determined in S303 and the angle between the θ1, θ2 (θ1-θ
2) to calculate the angular velocity ω1,2 (ω1,2 ← d (θ1-
θ2) / dt1,2).
次いで、S1102で、上記S1101で算出した角速度ω1,2
に基づきエンジン回転数N1,2を算出する。(N1,2←60×
ω1,2)。Next, in S1102, the angular velocity ω1,2 calculated in S1101 above
The engine speeds N1, 2 are calculated based on the above. (N1,2 ← 60 ×
ω1,2).
また、S1103では、S312、あるいは、S314で算出した
点火時期θIGと、上記S1101で算出した角速度ω1,2とか
ら点火時刻ADVを設定する(ADV←θIG/ω1,2)。In S1103, the ignition time ADV is set from the ignition timing θIG calculated in S312 or S314 and the angular velocity ω1,2 calculated in S1101 (ADV ← θIG / ω1,2).
本実施例によれば、エンジン回転数NNEWの代用とし
て角速度ω2,3を用いて燃焼状態推定を行うので、第一
実施例に比し、燃焼状態推定の演算時時間が短縮され
る。According to this embodiment, since the combustion state estimation is performed using the angular velocities ω2,3 instead of the engine speed NNEW, the calculation time for the combustion state estimation is reduced as compared with the first embodiment.
[発明の効果] 以上説明したように本発明によれば、アイドル時の回
転変動を燃料噴射量と点火時期とにより個別に制御する
のではなく、相対的に制御しているため、各気筒の燃焼
状態をより緻密に制御することができるばかりか、各気
筒ごとにオーバリーンあるいはオーバリッチを生じるこ
となく、制御がワイドレンジ化して制御性が大幅に向上
し、良好なフィーリングを得ることができるなど優れた
効果が奏される。[Effects of the Invention] As described above, according to the present invention, the rotation fluctuation at the time of idling is relatively controlled instead of individually controlled by the fuel injection amount and the ignition timing. Not only can the combustion state be controlled more precisely, but the control can be performed over a wide range without significantly over-lean or over-rich for each cylinder, thereby greatly improving controllability and obtaining a good feeling. Excellent effects are achieved.
さらに、ひつとの気筒の回転変動差が回転変動許容値
から外れている場合、各気筒の回転変動差の絶対値の総
和と各気筒の回転変動差との比率に応じて各気筒の補正
噴射量を補正する、いわゆる、微分制御的補正を採用し
ているのでトータル空燃比を代えることなく各気筒の回
転変動差の収束性がよくなりアイドル安定性が向上す
る。Further, when the rotation fluctuation difference between the cylinder and the cylinder is out of the rotation fluctuation allowable value, the correction injection of each cylinder is made according to the ratio of the sum of the absolute values of the rotation fluctuation difference of each cylinder and the rotation fluctuation difference of each cylinder. Since the so-called differential control correction for correcting the amount is employed, the convergence of the rotational fluctuation difference of each cylinder is improved without changing the total air-fuel ratio, and the idle stability is improved.
第1図は本発明の基本概念を示すクレーム対応ブロック
図、第2図〜第11図は本発明の第一実施例を示し、第2
図はエンジン制御系の全体概略図、第3図はクランクロ
ータとクランク角センサの正面図、第4図はカムロータ
とカム角センサの正面図、第5図は基本点火時期マップ
の概念図、第6図は気筒内圧力変動、クランクパルス、
カムパルス、および、エンジン回転数のタイムチャー
ト、第7図は気筒別平均差回転速度算出手順を示すフロ
ーチャート、第8図は気筒別燃料噴射制御手順を示すフ
ローチャート、第9図は気筒別点火時期制御手順を示す
フローチャート、第10図は気筒別平均差回転速度、気筒
別無効噴射パルス幅を示すタイムチャート、第11図は気
筒別点火時期補正学習値を示すタイムチャート、第12図
は本発明の第二実施例による気筒別燃料噴射制御手順を
示すフローチャート、第13図〜第15図は本発明の第三実
施例を示し、第13図は気筒別平均差角加速度算出手順を
示すフローチャート、第14図は気筒別燃料噴射制御手順
を示すフローチャート、第15図はクランクパルス、カム
パルス、エンジン回転数および角加速度のタイムチャー
ト、第16図、第17図は本発明の第四実施例を示し、第16
図は気筒別平均差周期算出手順を示すフローチャート、
第17図は気筒別燃料噴射制御手順を示すフローチャー
ト、第18図以下は本発明の第五実施例を示し、第18図は
気筒別平均差角速度算出手順を示すフローチャート、第
19図は気筒別燃料噴射制御手順を示すフローチャート、
第20図は気筒別点火時期制御手順を示すフローチャート
である。 M1……エンジン運転状態検出手段、M2……クランク角検
出手段、M3……アイドル判別手段、M4……燃焼状態検出
手段、M5……噴射補正量設定手段、M6……噴射量演算手
段、M7……燃料供給手段、M8……点火時期補正量設定手
段、M9……点火時期演算手段、M10……点火手段。FIG. 1 is a block diagram corresponding to claims showing the basic concept of the present invention, and FIGS. 2 to 11 show a first embodiment of the present invention.
3 is a front view of a crank rotor and a crank angle sensor, FIG. 4 is a front view of a cam rotor and a cam angle sensor, FIG. 5 is a conceptual view of a basic ignition timing map, FIG. Figure 6 shows the cylinder pressure fluctuation, crank pulse,
FIG. 7 is a flowchart showing a cylinder-by-cylinder average differential rotational speed calculation procedure, FIG. 8 is a flowchart showing a cylinder-by-cylinder fuel injection control procedure, and FIG. 9 is a cylinder-by-cylinder ignition timing control. Flow chart showing the procedure, FIG. 10 is a time chart showing the average differential rotational speed for each cylinder, the invalid injection pulse width for each cylinder, FIG. 11 is a time chart showing the learned ignition timing correction value for each cylinder, and FIG. 13 to 15 show a third embodiment of the present invention, FIG. 13 is a flowchart showing a cylinder-by-cylinder average differential angular acceleration calculation procedure, and FIG. Fig. 14 is a flowchart showing the fuel injection control procedure for each cylinder, Fig. 15 is a time chart of crank pulse, cam pulse, engine speed and angular acceleration, and Figs. Shows a fourth embodiment of the sixteenth
The figure is a flowchart showing the average difference cycle calculation procedure for each cylinder,
FIG. 17 is a flowchart showing a cylinder-by-cylinder fuel injection control procedure, FIG. 18 et seq. Show a fifth embodiment of the present invention, FIG. 18 is a flowchart showing a cylinder-by-cylinder average differential angular velocity calculation procedure,
FIG. 19 is a flowchart showing the fuel injection control procedure for each cylinder,
FIG. 20 is a flowchart showing a procedure for controlling ignition timing for each cylinder. M1 ... engine operating state detecting means, M2 ... crank angle detecting means, M3 ... idling determining means, M4 ... combustion state detecting means, M5 ... injection correction amount setting means, M6 ... injection amount calculating means, M7 ... fuel supply means, M8 ... ignition timing correction amount setting means, M9 ... ignition timing calculation means, M10 ... ignition means.
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI F02P 5/15 F02P 5/15 K ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 6 Identification code FI F02P 5/15 F02P 5/15 K
Claims (1)
出手段と、 燃焼行程にある気筒の判別が可能な信号および所定クラ
ンク角に対応する信号を出力するクランク角検出手段
と、 エンジンのアイドル状態をエンジン運転状態から判別す
るアイドル判別手段と、 エンジンがアイドル状態のとき、所定クランク角ごとの
エンジン回転変動差を検出し、このエンジン回転変動差
とあらかじめ設定した回転変動許容限界とを比較して燃
焼行程にある気筒の燃焼状態を検出する燃焼状態検出手
段と、 エンジンがアイドル状態のとき、当該気筒の回転変動差
が回転変動許容限界を外れている場合には、各気筒の噴
射補正量を各気筒の回転変動差の絶対値の総和とその気
筒の回転変動差との比率に応じてそれぞれ補正し、 また、当該気筒の噴射補正量が許容上限値を越えた場合
には当該気筒の噴射補正量を設定量減量すると共に他の
気筒の噴射補正量を減量分だけ分配増量し、さらに、当
該気筒の噴射補正量が許容下限値より低い場合には当該
気筒の噴射補正量を設定量増量すると共に他の気筒の噴
射補正量を増量分だけ分配減量して設定する噴射補正量
設定手段と、 エンジンの運転状態に基づいて基本噴射量を演算し、ア
イドル状態に移行すると気筒毎に基本噴射量を噴射補正
量で補正する噴射量演算手段と、 噴射量演算手段の出力に基づいて対応気筒へ燃料を供給
する燃料供給手段と、 エンジンがアイドル状態のとき、当該気筒の噴射補正量
が許容上限値を越えた場合には当該気筒の点火時期補正
量を所定角度進角し、当該気筒の噴射補正量が許容下限
値より低い場合には当該気筒の点火時期補正量を所定角
度遅角して設定する点火時期補正量設定手段と、 エンジンの運転状態に基づいて基本点火時期を演算し、
アイドル状態に移行すると気筒毎に基本点火時期を点火
時期補正量で補正する点火時期演算手段と、 点火時期演算手段の出力に基づいて対応気筒の混合気に
点火する点火手段とを備えたことを特徴とするエンジン
のアイドル制御装置。1. An operating state detecting means for detecting an operating state of an engine; a crank angle detecting means for outputting a signal capable of determining a cylinder in a combustion stroke and a signal corresponding to a predetermined crank angle; And an idle determination means for determining from the engine operating state, an engine rotation fluctuation difference for each predetermined crank angle when the engine is in an idle state, and comparing the engine rotation fluctuation difference with a preset rotation fluctuation allowable limit. A combustion state detecting means for detecting a combustion state of a cylinder in a combustion stroke; and, when the rotation fluctuation difference of the cylinder is out of a rotation fluctuation allowable limit when the engine is in an idle state, an injection correction amount of each cylinder is determined. Correction is made according to the ratio between the sum of the absolute values of the rotational fluctuation differences of the cylinders and the rotational fluctuation difference of the cylinder, respectively. If the allowable upper limit is exceeded, the injection correction amount of the relevant cylinder is reduced by the set amount, and the injection correction amount of the other cylinder is distributed and increased by the reduced amount, and the injection correction amount of the relevant cylinder is lower than the allowable lower limit value. In this case, the injection correction amount of the relevant cylinder is increased by a set amount, and the injection correction amount of the other cylinder is set by distributing and decreasing the injection correction amount by the increased amount, and the basic injection amount is set based on the operating state of the engine. The fuel injection means calculates the basic injection amount for each cylinder with the injection correction amount when the engine shifts to the idle state, and the fuel supply means supplies fuel to the corresponding cylinder based on the output of the injection amount calculation means. In the idling state, if the injection correction amount of the cylinder exceeds the allowable upper limit, the ignition timing correction amount of the cylinder is advanced by a predetermined angle, and if the injection correction amount of the cylinder is lower than the allowable lower limit, Point of the cylinder An ignition timing correction amount setting means for setting the ignition timing correction amount by retarding the ignition timing by a predetermined angle; and calculating a basic ignition timing based on an operation state of the engine;
An ignition timing calculating means for correcting the basic ignition timing by an ignition timing correction amount for each cylinder when the engine shifts to an idle state; and an ignition means for igniting an air-fuel mixture of a corresponding cylinder based on an output of the ignition timing calculating means. Characteristic engine idle control device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20062790A JP2821251B2 (en) | 1990-07-27 | 1990-07-27 | Engine idle control device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20062790A JP2821251B2 (en) | 1990-07-27 | 1990-07-27 | Engine idle control device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0486354A JPH0486354A (en) | 1992-03-18 |
| JP2821251B2 true JP2821251B2 (en) | 1998-11-05 |
Family
ID=16427526
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20062790A Expired - Lifetime JP2821251B2 (en) | 1990-07-27 | 1990-07-27 | Engine idle control device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2821251B2 (en) |
-
1990
- 1990-07-27 JP JP20062790A patent/JP2821251B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0486354A (en) | 1992-03-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2784069B2 (en) | Engine misfire determination device | |
| US4982712A (en) | Ignition timing control system for an engine | |
| JP2505304B2 (en) | Idle control device for multi-cylinder engine | |
| AU637718B2 (en) | Ignition timing controlling system for engine | |
| JP2835981B2 (en) | Ignition timing control device for internal combustion engine | |
| JP2821251B2 (en) | Engine idle control device | |
| JPH03134249A (en) | Combustion condition detecting device and ignition timing control device for engine | |
| US5222394A (en) | System for detecting combustion condition of an internal combustion engine | |
| JP2000205025A (en) | Engine control device | |
| JP2828117B2 (en) | Engine idle control device | |
| JP2505311B2 (en) | Engine idle control method | |
| JPH0347471A (en) | Ignition control device for internal combustion engine | |
| JPH09324676A (en) | Fuel injection control device of engine | |
| JP3031469B2 (en) | Ignition timing control device for internal combustion engine | |
| JPH0751914B2 (en) | Cylinder combustion state identification method for each engine | |
| JP2832264B2 (en) | Engine ignition timing control device | |
| JPH09324693A (en) | Device for detecting nature of fuel | |
| KR930003081B1 (en) | Ignition timing control method of internal combustion engine | |
| JP2543763B2 (en) | Fuel supply control device for internal combustion engine | |
| JP3064531B2 (en) | Engine air-fuel ratio control method | |
| JP3733619B2 (en) | Control device for internal combustion engine | |
| JPH04370349A (en) | Knocking detecting method for engine | |
| JPH03237266A (en) | Knocking control device for internal combustion engine | |
| JP2682649B2 (en) | Engine ignition timing control device and ignition timing control method | |
| JP2967588B2 (en) | Engine ignition timing control device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 10 Free format text: PAYMENT UNTIL: 20080828 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080828 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 11 Free format text: PAYMENT UNTIL: 20090828 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 11 Free format text: PAYMENT UNTIL: 20090828 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100828 Year of fee payment: 12 |
|
| EXPY | Cancellation because of completion of term |