JP2505304B2 - Idle control device for multi-cylinder engine - Google Patents

Idle control device for multi-cylinder engine

Info

Publication number
JP2505304B2
JP2505304B2 JP2178252A JP17825290A JP2505304B2 JP 2505304 B2 JP2505304 B2 JP 2505304B2 JP 2178252 A JP2178252 A JP 2178252A JP 17825290 A JP17825290 A JP 17825290A JP 2505304 B2 JP2505304 B2 JP 2505304B2
Authority
JP
Japan
Prior art keywords
cylinder
amount
ignition timing
engine
injection
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 - Fee Related
Application number
JP2178252A
Other languages
Japanese (ja)
Other versions
JPH0466750A (en
Inventor
龍一郎 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Subaru Corp
Original Assignee
Fuji Heavy Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Heavy Industries Ltd filed Critical Fuji Heavy Industries Ltd
Priority to JP2178252A priority Critical patent/JP2505304B2/en
Publication of JPH0466750A publication Critical patent/JPH0466750A/en
Application granted granted Critical
Publication of JP2505304B2 publication Critical patent/JP2505304B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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 idle control device for a multi-cylinder engine that reduces engine rotation fluctuation during idling in a multi-cylinder engine.

[従来の技術] 近年、エンジンのアイドル回転数は、燃費向上、静粛
性などの要請から低めに抑える傾向にあるが、アイドル
回転数を低くすると、回転が不安定になり易く、快適
性、発進性能が著しく損なわれる。
[Prior Art] In recent years, the engine idle speed tends to be kept low due to demands such as improved fuel efficiency and quietness. However, when the idle speed is lowered, the rotation tends to become unstable, which results in comfort and start. Performance is significantly impaired.

一般に、この回転変動は気筒ごとの燃焼状態のばらつ
きが原因と考えられており、この燃料状態のばらつき
は、 吸気管形状の複雑化、気筒間の吸気干渉などによる吸
気分配率の不均一化、 冷却順路によって生じる各気筒間の若干の燃焼温度の
相違、 各気筒の燃焼室容積、ピストン形状などの製造上のば
らつき、 インジェクタの製造誤差などによる燃料噴射量の違い
から生じる各気筒の空燃比の僅かなばらつき、 などの影響で発生すると思われる。
Generally, this fluctuation in rotation is considered to be caused by the variation in the combustion state among cylinders.This variation in the fuel state causes the intake pipe shape to become complicated, the intake distribution between the cylinders to become non-uniform, and the like. A slight difference in combustion temperature between cylinders caused by the cooling path, variations in the combustion chamber volume of each cylinder, manufacturing variations such as piston shape, and differences in fuel injection amount due to injector manufacturing errors, etc. It is thought to be caused by slight variations.

したがって、この各気筒の燃焼状態をほぼ均一に制御
することで、アイドル回転速度を滑らかにすることがで
きる。
Therefore, the idle rotation speed can be made smooth by controlling the combustion state of each cylinder substantially uniformly.

各気筒の燃焼状態を均一に制御する手段としては、燃
料噴射制御、点火時期制御が考えられるが、燃料噴射制
御においては理論空燃比の範囲で制御しなければなら
ず、制御範囲が大幅に制限される。
Fuel injection control and ignition timing control can be considered as means for uniformly controlling the combustion state of each cylinder, but the fuel injection control must be controlled within the theoretical air-fuel ratio range, and the control range is greatly limited. To be done.

一方、点火時期制御においては、僅かな進角、あるい
は遅角補正でエンジンの燃焼状態が著しく変動してしま
うため制御性に難点がある。
On the other hand, in the ignition timing control, there is a problem in controllability because the combustion state of the engine fluctuates remarkably with a slight advance or retard correction.

そのため、例えば、特開平2−64252号公報に開示さ
れているように燃料噴射制御と点火時期制御の双方を同
時に制御するものがある。
Therefore, for example, as disclosed in Japanese Patent Application Laid-Open No. 2-64252, there is one that controls both fuel injection control and ignition timing control at the same time.

同公報には、エンジンがアイドル状態にあるとき、気
筒毎に所定期間の角速度の変化量を演算し、この角速度
の変化量に基づいて気筒相互間における角速度の変化量
の差が所定値となるように各気筒の補正量を演算し、該
補正量により気筒毎の基本点火時期および基本噴射量を
補正し、気筒別に燃焼状態を制御してアイドル時の排気
清浄性の悪化やアイドル回転数の変動を抑制する技術が
開示されている。
In the publication, when the engine is in an idle state, the amount of change in angular velocity for a predetermined period is calculated for each cylinder, and the difference in the amount of change in angular velocity between the cylinders becomes a predetermined value based on the amount of change in angular velocity. As described above, the correction amount of each cylinder is calculated, the basic ignition timing and the basic injection amount of each cylinder are corrected by the correction amount, and the combustion state is controlled for each cylinder to reduce the exhaust cleanliness at the time of idling and the idling speed. Techniques for suppressing fluctuation are disclosed.

具体的には、例えば4気筒エンジンの場合、アイドル
時において、#1,#2気筒の所定期間の角速度の平均値 との差の絶対値|ΔNE1|が所定値よりも大きいとき、両
気筒の燃焼状態が平衡していないと判断して各平均値 との大小関係を調べ、#1気筒の平均値 の方が#2気筒の平均値 よりも小さく、#1気筒の方が#2気筒より燃焼状態が
悪いと判断されるときには、点火時期補正分を所定量増
加させることにより#1気筒を所定量進角させて#1気
筒の発生トルク増加させると共に、同量だけ#2気筒を
遅角させて#2気筒の発生トルクを低下させ、また、 のときには、その逆とし、#1,#2気筒の発生トルクを
均一化させ、#3,#4気筒についても同様に点火時期を
補正して#3,#4気筒の発生トルクを均一化させ、さら
に、#1,#2気筒群の角速度の平均値と#3,#4気筒の
気筒群の角速度の平均値の平衡をとるように点火時期を
補正するようにしている。
Specifically, for example, in the case of a 4-cylinder engine, the average value of the angular velocities of the # 1 and # 2 cylinders during a predetermined period at idle. When the absolute value of the difference | ΔNE1 | is larger than the specified value, it is determined that the combustion states of both cylinders are not in equilibrium, and each average value And the magnitude relationship with Is the average value of # 2 cylinder When the combustion state of the # 1 cylinder is worse than that of the # 2 cylinder, the ignition timing correction amount is increased by a predetermined amount to advance the # 1 cylinder by a predetermined amount to generate the # 1 cylinder. While increasing the torque, the # 2 cylinder is retarded by the same amount to reduce the torque generated in the # 2 cylinder. In the case of, the reverse is done to make the torques of the # 1 and # 2 cylinders uniform, and the ignition timings of the # 3 and # 4 cylinders are similarly corrected to make the torques of the # 3 and # 4 cylinders uniform. Further, the ignition timing is corrected so that the average value of the angular velocities of the # 1 and # 2 cylinder groups and the average value of the angular velocities of the cylinder groups # 3 and # 4 are balanced.

さらに、その後、同様に、#1,#2気筒の平衡状態を
判断し、#1気筒の平均値 の方が#2気筒の平均値 よりも小さく、#1気筒の方が#2気筒より燃焼状態が
悪いと判断されるときには、燃料噴射量補正分を所定量
増加させることにより、#1気筒を所定量燃料増量して
#1気筒の発生トルクを増加させると共に、同量だけ#
2気筒を燃料減量して#2気筒の発生トルクを低下さ
せ、また、 のときには、その逆とし、#1,#2気筒の発生トルクを
均一化させ、#3,#4気筒についても同様に燃料噴射量
を補正して#3,#4気筒の発生トルクを均一化させるよ
うにしている。さらに、#1,#2の気筒群の角速度の平
均値と#3,#4気筒の気筒群の角速度の平均値の平衡を
とるように燃料噴射量を補正することで、各気筒におけ
る角速度の平均値 をそれぞれ等しくなるように補正し、各気筒の燃料状態
を均一化させてアイドル回転数の変動を抑制し、且つ、
点火時期の各気筒の補正量の総和および燃料噴射量の各
気筒の補正量の総和を常にゼロとすることで、全気筒か
らみたトータル空燃比を目標空燃比に一致させると共に
点火時期を目標点火時期に一致させて、全気筒の燃焼状
態を常に目標となる運転点から外れないように制御する
ことを可能とし、排気清浄性の悪化を抑制するようにし
ている。
Furthermore, after that, similarly, the equilibrium state of the # 1 and # 2 cylinders is determined, and the average value of the # 1 cylinder is determined. Is the average value of # 2 cylinder If the combustion state of the # 1 cylinder is worse than that of the # 2 cylinder, the fuel consumption of the # 1 cylinder is increased by a predetermined amount by increasing the fuel injection amount correction amount by a predetermined amount. The same amount as the torque generated by #
Reduce the fuel consumption of the two cylinders to reduce the torque generated by the # 2 cylinder. In the case of, the reverse is done to make the torques of the # 1 and # 2 cylinders uniform, and the fuel injection amounts of the # 3 and # 4 cylinders are similarly corrected to make the torques of the # 3 and # 4 cylinders uniform. I am trying to let you. Further, by correcting the fuel injection amount so that the average value of the angular velocities of the cylinder groups # 1 and # 2 and the average value of the angular velocities of the cylinder groups # 3 and # 4 are balanced, Average value Are corrected to be equal to each other, the fuel state of each cylinder is made uniform, and the fluctuation of the idle speed is suppressed, and
By keeping the sum of the correction amount of each cylinder of the ignition timing and the sum of the correction amount of each cylinder of the fuel injection amount to be zero at all times, the total air-fuel ratio viewed from all the cylinders is made to match the target air-fuel ratio, and the ignition timing is set to the target ignition. It is possible to control the combustion states of all the cylinders so as not to deviate from the target operating point in time with the timing, and suppress deterioration of exhaust gas cleanliness.

[発明が解決しようとする課題] しかし、上記先行例では、複数の気筒群に分けて各気
筒群における各気筒間の発生トルクを一致させるよう、
各気筒間のアンバランス状態を補正する点火時期補正分
を設定し、さらに、その後、気筒群間の発生トルクを一
致させるべく各気筒群間のアンバランス状態を補正する
燃料噴射量補正分を設定しており、各気筒における点火
時期の設定に際しては2つの補正項を用い、また、各気
筒における燃料噴射量の設定に対しても各気筒毎に2つ
の補正項を用いるため、制御系が複雑化し、且つ、制御
装置における演算負担が増加する不都合がある。
[Problems to be Solved by the Invention] However, in the above-mentioned prior art example, in order to make the generated torques among the respective cylinders in the respective cylinder groups equal to each other,
Set the ignition timing correction amount to correct the unbalanced state between the cylinders, and then set the fuel injection amount correction amount to correct the unbalanced state between the cylinder groups to match the torque generated between the cylinder groups. Therefore, two correction terms are used when setting the ignition timing in each cylinder, and two correction terms are also used for each cylinder when setting the fuel injection amount in each cylinder. Therefore, the control system is complicated. In addition, there is a disadvantage that the calculation load on the control device increases.

さらに、一般に、点火時期補正による燃焼状態の変化
(発生トルクの変化)は、燃料噴射量補正による場合よ
りも大きく、僅かな点火時期補正で体積効率が大きく変
動し、一方、燃料噴射量を僅かに補正しても点火時期補
正ほど大きな補正効果が得られない。上記先行技術では
各気筒毎に点火時期を優先して補正し、その後、燃料噴
射量を補正するようにしているため、制御精度を向上す
るには、点火時期補正量の更新を極微細値ずつ行い、且
つ、点火時期制御精度を上げなければならず、非常に高
い分解能の制御装置を必要とし、コストアップを招く不
都合もある。
Further, generally, the change in the combustion state (change in generated torque) due to the ignition timing correction is larger than that due to the fuel injection amount correction, and the volume efficiency fluctuates greatly with a slight ignition timing correction, while the fuel injection amount is slightly changed. Even if the correction is made to 1, the correction effect as great as the ignition timing correction cannot be obtained. In the above prior art, the ignition timing is preferentially corrected for each cylinder, and then the fuel injection amount is corrected. Therefore, in order to improve the control accuracy, the ignition timing correction amount is updated by a fine value. In addition, the ignition timing control accuracy must be improved, a control device with a very high resolution is required, and there is a disadvantage that the cost is increased.

本発明は、上記事情に鑑み、制御系の複雑化および制
御装置における演算負担の増加を抑制し、且つ、高い分
解能の制御装置を用いなくても、各気筒の燃焼状態を均
一化させてアイドル回転数変動を抑制することができる
と共に排気浄化性の悪化を抑制することが可能な多気筒
エンジンのアイドル制御装置を提供することを目的とす
る。
In view of the above circumstances, the present invention suppresses complication of a control system and an increase in calculation load in a control device, and makes the combustion state of each cylinder uniform without using a control device with high resolution. An object of the present invention is to provide an idle control device for a multi-cylinder engine that can suppress fluctuations in engine speed and suppress deterioration of exhaust gas purification performance.

[課題を解決するための手段] 上記目的を達成するため本発明による多気筒エンジン
のアイドル制御装置は、第1図に示すように、エンジン
の運転状態を検出する運転状態検出手段M1と、燃焼行程
にある気筒の判別が可能な信号および所定のクランク角
に対応する信号を出力するクランク角検出手段M2と、エ
ンジンのアイドル状態をエンジン運転状態から判別する
アイドル判別手段M3と、エンジンがアイドル状態のと
き、所定クランク角毎のエンジン回転変動差を検出し、
このエンジン回転変動差と上限値、下限値とを比較して
上記燃焼行程気筒の燃焼状態を判別する燃焼状態判別手
段M4と、エンジンがアイドル状態で、当該気筒の回転変
動差が上記上限値を越えているとき、あるいは、当該気
筒の噴射補正量が許容上限値を越えているときには、当
該気筒の噴射補正量を設定量減量すると共に該減量分に
対応して他の気筒の噴射補正量を等分配増量し、また、
アイドル状態で、当該気筒の回転変動差が上記下限値よ
り低いとき、あるいは、当該気筒の噴射補正量が許容下
限値より低いときには、当該気筒の噴射補正量を設定量
増量すると共に該増量分に対応して他の各気筒の噴射補
正量を等分配減量して設定する噴射補正量設定手段M5
と、エンジンがアイドル状態で、当該気筒の噴射補正量
が許容上限値を越えたときには、当該気筒の点火時期補
正量を設定量進角し、当該気筒の噴射補正量が許容下限
値より低いときには、当該気筒の点火時期補正量を設定
量遅角して設定する点火時期補正量設定手段M6と、エン
ジン運転状態に基づいて基本噴射量を演算し、アイドル
状態に移行すると基本噴射量を対応気筒の上記噴射補正
量で補正して気筒毎の燃料噴射量を演算する噴射量演算
手段M7と、上記噴射量演算手段の出力に基づいて対応気
筒へ燃料を供給する燃料供給手段M8と、エンジン運転状
態に基づいて基本点火時期を演算し、アイドル状態に移
行すると基本点火時期を対応気筒の上記点火時期補正量
で補正して気筒毎の点火時期を演算する点火時期演算手
段M9と、上記点火時期演算手段の出力に基づいて対応気
筒の混合気に点火する点火手段M10と、を備えることを
特徴とする。
[Means for Solving the Problems] To achieve the above object, an idle control device for a multi-cylinder engine according to the present invention, as shown in FIG. 1, is an operating state detecting means M1 for detecting the operating state of the engine, and a combustion state. Crank angle detection means M2 that outputs a signal that can identify the cylinder in the stroke and a signal that corresponds to a predetermined crank angle, idle determination means M3 that determines the idle state of the engine from the engine operating state, and the engine idle state When, the difference in engine rotation fluctuation for each predetermined crank angle is detected,
Combustion state determination means M4 for determining the combustion state of the combustion stroke cylinder by comparing the engine rotation variation difference with the upper limit value and the lower limit value, and the engine in the idle state, the rotation variation difference of the cylinder has the upper limit value. When it exceeds, or when the injection correction amount of the cylinder exceeds the allowable upper limit value, the injection correction amount of the cylinder is reduced by a set amount, and the injection correction amounts of other cylinders are adjusted corresponding to the reduction amount. Equal distribution increase,
In the idle state, when the rotation fluctuation difference of the cylinder is lower than the lower limit value, or when the injection correction amount of the cylinder is lower than the allowable lower limit value, the injection correction amount of the cylinder is increased by the set amount and the increase amount is increased. Correspondingly, the injection correction amount setting means M5 for setting the injection correction amount for each of the other cylinders by reducing the distribution equally.
When the engine is in the idle state and the injection correction amount of the cylinder exceeds the allowable upper limit value, the ignition timing correction amount of the cylinder is advanced by the set amount, and when the injection correction amount of the cylinder is lower than the allowable lower limit value. , An ignition timing correction amount setting means M6 for setting the ignition timing correction amount of the cylinder with a set amount retarded, and a basic injection amount is calculated based on the engine operating state, and when the engine shifts to an idle state, the basic injection amount corresponds to the corresponding cylinder. Injection amount calculation means M7 for calculating the fuel injection amount for each cylinder by correcting with the injection correction amount, fuel supply means M8 for supplying fuel to the corresponding cylinder based on the output of the injection amount calculation means, and engine operation Ignition timing calculation means M9 for calculating the basic ignition timing based on the state, and when shifting to the idle state, the basic ignition timing is corrected by the ignition timing correction amount of the corresponding cylinder to calculate the ignition timing for each cylinder; And ignition means M10 based on the output of the calculation means for igniting the mixture of the corresponding cylinder, characterized in that it comprises a.

[作用] 本発明では、アイドル状態のとき、所定クランク角毎
のエンジン回転変動差と上限値、下限値とを比較して燃
焼行程気筒の燃焼状態を判断し、当該気筒の回転変動差
が上限値を越えているときには、当該気筒の発生トルク
が他の気筒に対し高すぎると判断し、当該気筒の噴射補
正量を設定量減量すると共に、該減量分に対応して他の
各気筒の噴射補正量を等分配減量する。
[Operation] According to the present invention, in the idle state, the combustion state of the combustion stroke cylinder is determined by comparing the engine rotation variation difference for each predetermined crank angle with the upper limit value and the lower limit value. When it exceeds the value, it is determined that the torque generated in the cylinder is too high for other cylinders, the injection correction amount of the cylinder is reduced by the set amount, and the injection of other cylinders is performed corresponding to the reduction amount. Reduce the correction amount by even distribution.

また、当該気筒の回転変動差が下限値より低いときに
は、当該気筒の発生トルクが他の気筒に対し低すぎると
判断し、当該気筒の噴射補正量を設定量増量すると共
に、該増量分に対応して他の各気筒の噴射補正量を等分
配減量し、基本燃料噴射量を対応気筒の上記噴射補正量
で補正して気筒毎の燃料噴射量を演算して対応気筒に対
し該燃料噴射量の燃料を供給する。
Further, when the rotation fluctuation difference of the cylinder is lower than the lower limit value, it is determined that the torque generated in the cylinder is too low compared to the other cylinders, and the injection correction amount of the cylinder is increased by a set amount and the increased amount is dealt with. Then, the injection correction amount of each of the other cylinders is reduced equally, and the basic fuel injection amount is corrected by the injection correction amount of the corresponding cylinder to calculate the fuel injection amount for each cylinder to calculate the fuel injection amount for the corresponding cylinder. Supply fuel.

また、当該気筒の発生トルクが低く、当該気筒の発生
トルクを上昇させるべく噴射補正量の増量を重ね、該噴
射補正量が許容上限値を越えたときには、燃料噴射によ
る補正上限限界に達したと判断し、当該気筒の噴射補正
量を設定量減量補正すると共に、当該気筒の点火時期補
正量を設定量進角し、且つ当該気筒の噴射補正量減量分
に対応して他の各気筒の噴射補正量を等分配増量する。
Further, when the generated torque of the cylinder is low, the injection correction amount is increased to increase the generated torque of the cylinder, and when the injection correction amount exceeds the allowable upper limit value, the correction upper limit of fuel injection is reached. Judgment, the injection correction amount of the cylinder is corrected by the set amount reduction, the ignition timing correction amount of the cylinder is advanced by the set amount, and the injection of the other cylinders is injected corresponding to the injection correction amount reduction amount of the cylinder. Increase the correction amount evenly.

一方、当該気筒の発生トルクが高く、当該気筒の発生
トルクを低下させるべく噴射補正量の減量を重ね、該噴
射補正量が許容下限値より低下したときには、燃料噴射
による補正下限限界に達したと判断し、当該気筒の噴射
補正量を設定量増量補正すると共に、当該気筒の点火時
期補正量を設定量遅角し、且つ当該気筒の噴射補正量増
量分に対応して他の各気筒の噴射補正量を等分配減量
し、これらの噴射補正量、点火時期補正量により、基本
噴射量、基本点火時期を補正して各気筒毎に燃料噴射
量、点火時期をそれぞれ設定する。
On the other hand, when the torque generated in the cylinder is high, the injection correction amount is repeatedly reduced to reduce the torque generated in the cylinder, and when the injection correction amount falls below the allowable lower limit value, the correction lower limit limit due to fuel injection is reached. Judgment, the injection correction amount of the cylinder is corrected by the set amount increase, the ignition timing correction amount of the cylinder is retarded by the set amount, and the injection of the other cylinders is injected corresponding to the injection correction amount increase of the cylinder. The correction amount is equally distributed and reduced, and the basic injection amount and the basic ignition timing are corrected by the injection correction amount and the ignition timing correction amount to set the fuel injection amount and the ignition timing for each cylinder.

[発明の実施例] 以下、図面に基づいて本発明の実施例を説明する。Embodiments of the Invention Embodiments of the present invention will be described below with reference to the drawings.

第2図〜第10図は本発明の第一実施例を示し、第2図
はエンジン制御系の全体概略図、第3図なクランクロー
タとクランク角センサの正面図、第4図はカムロータと
カム角センサの正面図、第5図は基本点火時期マップの
概念図、第6図は気筒内圧力変動、クランクパルス、カ
ムパルス、および、エンジン回転数の関係を示すタイム
チャート、第7図は気筒別平均差回転速度算出手順を示
すフローチャート、第8図は気筒別燃料噴射制御手順を
示すフローチャート、第9図は気筒別点火時期制御手順
を示すフローチャート、第10図は気筒別平均差回転速
度、気筒別無効噴射補正パルス幅、及び気筒別点火時期
学習補正値の関係を示すタイムチャートである。
2 to 10 show a first embodiment of the present invention, FIG. 2 is an overall schematic view of an engine control system, FIG. 3 is a front view of a crank rotor and a crank angle sensor, and FIG. 4 is a cam rotor. FIG. 5 is a 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 showing the relationship between cylinder pressure fluctuation, crank pulse, cam pulse, and engine speed, and FIG. 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, and FIG. 10 is a cylinder-by-cylinder average difference rotation speed. 6 is a time chart showing a relationship between a cylinder-specific invalid injection correction pulse width and a cylinder-specific ignition timing learning correction value.

(構 成) 第2図の符号1は多気筒エンジンで、図においては4
気筒水平対向エンジンを示す。このエンジン1のシリン
ダヘッド2に形成した吸気ポート2aにインテークマニホ
ルド3が連通され、このインテークマニホルド3の上流
にエアチャンバ4を介してスロットルチャンバ5が連通
され、このスロットルチャンバ5の上流側に吸気管6を
介してエアークリーナ7が取付けられている。
(Structure) Reference numeral 1 in FIG. 2 is a multi-cylinder engine, and in FIG.
A cylinder horizontally opposed engine is shown. An intake manifold 3 is communicated 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 through an air chamber 4, and an intake air is 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 (a hot wire type air flow meter in the figure) 8 is provided immediately downstream of the air cleaner 7 in the intake pipe 6, and a throttle valve 5a provided in the throttle chamber 5 is provided with a throttle valve 5a. An opening sensor 9a and an idle switch 9b that detects the fully closed throttle valve are connected in series.

また、上記インテークマニホルド3の各気筒の各気筒
ポート2aの直上流側に、インジェクタ(燃料供給手段)
10が配設されている。さらに、上記シリンダヘッド2の
各気筒ごとに、先端の発火部を燃焼室に露呈する点火プ
ラグ11が取り付けられている。なお、点火プラグ11には
点火コイル11aが一体に取付けられている。
Further, an injector (fuel supply means) is provided immediately upstream of each cylinder port 2a of each cylinder of the intake manifold 3.
10 are arranged. Further, an ignition plug 11 is attached to each cylinder of the cylinder head 2 to expose the ignition part at the tip to the combustion chamber. An ignition coil 11a is integrally attached to the ignition plug 11.

また、上記インジェクタ10が燃料通路12を介して燃料
タンク13に連通され、上記燃料通路12に燃料ポンプ14が
介装されている。
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が対設されている。
A crank rotor 15 is attached to the crank shaft 1b of the engine body 1, and a crank angle formed by an electromagnetic pickup or the like for detecting a protrusion (or slit) corresponding to a predetermined crank angle on the outer periphery of the crank rotor 15. A sensor 16 is provided oppositely, and a cam rotor 17 is provided continuously to the camshaft 1c which makes a half rotation with respect to the crankshaft 1b. A cam angle sensor 18 is provided at the outer circumference of the cam rotor 17 oppositely.

第3図に示すように、上記クランクロータ15の外周に
突起(あるいは、スリット)15a,15b,15cが形成されて
いる。この各突起15a,15b,15cが各気筒の圧縮上死点前
(BTDC)θ1,θ2,θ3の位置に形成されており、突起15
a,15b間の通過時間から周期1.2(ここにおいて、=
1/ω ω:角速度)を算出し、また、突起15b,15c間の
通過時間から周期2.3を算出する。さらに、上記突起1
5bが点火時期ADVを設定する際の基準クランク角を示
す。
As shown in FIG. 3, protrusions (or slits) 15a, 15b, 15c are formed on the outer periphery of the crank rotor 15. These protrusions 15a, 15b, 15c are formed at positions before compression top dead center (BTDC) θ1, θ2, θ3 of each cylinder.
Cycle 1.2 from the transit time between a and 15b (where: =
1 / ω ω: angular velocity) is calculated, and the period 2.3 is calculated from the transit time between the protrusions 15b and 15c. In addition, the above protrusion 1
5b shows the 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 protrusions 15b and 15c is
TDC θ2 and θ3 are ignition timing (time) ADV during idle operation
It is set before and after. In general, the ignition timing during idle operation is around 20 ° C BTDC, and even if ignition is performed at this crank angle, the combustion pressure does not rise sharply up to about 10 ° A.

また、第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 to be slightly retarded from the ignition reference crank angle BTDCθ2 of the next combustion cylinder. Since the combustion pressure immediately after opening the exhaust valve is drastically 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 protrusion 15c is set to BTDC10.
If it is set to the advanced side from ℃ 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. It 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の位置に形成されてい
る。
Further, as shown in FIG. 4, the cylinder discriminating projections (or slits) 17a, 17b, 17c are provided on the outer periphery of the cam rotor 17.
Are formed. The protrusion 17a is formed at the position of θ4 after the compression top dead center of the # 3 and # 4 cylinders (ATDC), and the protrusion 17b is composed of three protrusions, and the first protrusion is the compression top dead of the # 1 cylinder. It is formed at the position of the point (ATDC) θ5, and the protrusion 17c is composed of two protrusions, and the first protrusion is # 2.
It is formed at a position of θ6 after 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 illustrated embodiment, θ1 = 97 ° C. A, θ2 = 65 ° C. A,
θ3 = 10 ° C, θ4 = 20 ° C, θ5 = 5 ° C, θ6 = 20
℃ A, θ (2-3) = 55 ℃ A, this arrangement,
As shown in FIG. 6, for example, when the cam angle sensor 18 is θ
When the cam pulse of 5 (protrusion 17b) is detected, it can be determined that the crank pulse detected by the crank angle sensor 16 thereafter is a signal indicating the crank angle of the # 3 cylinder.

また、上記θ5のカムパルスの後にθ4(突起17a)
のカムパルスを検出した場合、その後のクランク角セン
サ16で検出するクランクパルスが#2気筒のクランク角
を示すものであることが判別できる。同様にθ6(突起
17c)のカムパルスを検出した後のクランクパルスが#
4気筒のクランク角を示すものであり、また、上記θ6
のカムパルスの後にθ4(突起17a)のカムパルスを検
出した場合、その後に検出するクランクパルスが#1気
筒のクランク角を示すものであることが判別できる。
In addition, after the cam pulse of θ5, θ4 (protrusion 17a)
When the cam pulse of No. 2 is detected, it can be determined that the crank pulse detected by the crank angle sensor 16 thereafter indicates the crank angle of the # 2 cylinder. Similarly, θ6 (projection
The crank pulse after detecting the cam pulse of 17c) is #
It shows the crank angle of four cylinders, and the above θ6
When the cam pulse of θ4 (protrusion 17a) is detected after the cam pulse of, the crank pulse detected thereafter can be determined to indicate the crank angle of the # 1 cylinder.

さらに、上記カム角センサ18でカムパルスを検出した
後に、上記クランク角センサ16で検出するクランクパル
スが該当気筒の基準クランク角(θ1)を示すものであ
ることが判別できる。
Further, after detecting the cam pulse 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のみでクランク角
検出手段を構成するようにしてもよい。
The crank angle sensor 16 and the cam angle sensor 18 constitute a crank angle detecting means, and the cam angle sensor 18 alone may constitute the crank angle detecting means by changing the 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 fixedly installed in the engine body 1,
Further, the cooling water temperature sensor 20 is exposed to the cooling water passage (not shown) without the riser formed on the enter manifold 3.

また、上記シリンダヘッド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 code
23 is a catalytic converter, 24 is a vehicle speed sensor, and 25 is an igniter.

(制御装置の回路構成) 一方、符号31はマイクロコンピュータなどからなる制
御装置で、この制御装置31のCPU(中央処理演算装置)3
2、ROM33、RAM34、バックアップRAM35(不揮発性RAM)
および、I/Oインターフェイス36がバスライン37を介し
て互いに接続されて、定電圧回路38から所定の安定化電
圧が供給される。
(Circuit configuration of control device) On the other hand, reference numeral 31 is a control device including a microcomputer, etc., and a CPU (central processing unit) 3 of this control device 31
2, ROM33, RAM34, backup RAM35 (non-volatile RAM)
Further, the I / O interface 36 is connected to each other via the bus line 37, and a predetermined stabilizing 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 the battery via the control relay 39.
41, and when the key switch 40 is turned on and the relay contact of the control relay 39 is closed, power for control is supplied to each part and is directly connected to the battery 41, and the key switch 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 above I / O interface 36,
Each sensor 8,9a, 16,18,19,20,22,24, and the idle switch 9b are connected, the positive terminal of the battery 41 is connected, the terminal voltage is monitored, and the I I / O interface 36 output port, spark plug 1
1 is connected via an igniter 25, and the injector 10 is connected via a drive circuit 42.

上記ROM33には制御プログラム、固定データなどが記
憶されている。固定データとしては、後述する基本点火
時期マップMPθBASEがある。
The ROM 33 stores a control program, fixed data and the like. As fixed data, there is a basic ignition timing map MPθBASE described later.

また、上記RAM34にはデータ処理した後の上記各セン
サ類の出力信号、CPU32で演算処理したデータなどが格
納されている。また、バックアップRAM35は、キースイ
ッチ40に関係なく常時電源が印加されキースイッチ40を
OFFにしてエンジンの運転を停止しても記憶内容が消失
せず、後述する気筒別の無効噴射補正パルス幅データ、
および、点火時期補正学習値データなどが格納される。
Further, the RAM 34 stores output signals of the respective sensors after data processing, data processed by the CPU 32, and the like. In addition, the backup RAM 35 is always turned on regardless of the key switch 40.
Even if it is turned off and the operation of the engine is stopped, the stored contents do not disappear, and the invalid injection correction pulse width data for each cylinder, which will be described later,
Also, ignition timing correction learning value data and the like are stored.

さらに、上記CPU32では上記ROM33に記憶されている制
御プログラムに従い、上記RAM34およびバックアップRAM
35に記憶されている各種データに基づき、インジェクタ
10に対する燃料噴射パルス幅、あるいは、点火時期など
を演算する。
Further, in the CPU 32, according to the control program stored in the ROM 33, the RAM 34 and the backup RAM are
Based on various data stored in 35, injector
Calculates the fuel injection pulse width for 10 or ignition timing.

なお、上記制御装置31のアイドル制御機能には、エン
ジンのアイドル状態をエンジン運転状態から判別するア
イドル判別手段と、エンジンがアイドル状態のとき、所
定クランク角ごとのエンジン回転変動差を検出し、この
エンジン回転変動差と上限値、下限値とを比較して上記
燃焼行程気筒の燃焼状態を判別する燃焼状態判別手段
と、エンジンがアイドル状態で、当該気筒の回転変動差
が上記上限値を越えているとき、あるいは、当該気筒の
噴射補正量が許容上限値を越えているときには、当該気
筒の噴射補正量を設定量減量すると共に該減量分に対応
して他の各気筒の噴射補正量を等分配増量し、また、ア
イドル状態で、当該気筒の回転変動差が上記下限値より
低いとき、あるいは、当該気筒の噴射補正量が許容下限
値より低いときには、当該気筒の噴射補正量を設定量増
量すると共に該増量分に対応して他の各気筒の噴射補正
量を等分配減量して設定する噴射補正量設定手段と、エ
ンジンがアイドル状態で、当該気筒の噴射補正量が許容
上限値を越えたときには、当該気筒の点火時期補正量を
設定量進角し、当該気筒の噴射補正量が許容下限値より
低いときには、当該気筒の点火時期補正量を設定量遅角
して設定する点火時期補正量設定手段と、エンジン運転
状態に基づいて基本噴射量を演算し、アイドル状態に移
行すると基本噴射量を対応気筒の上記噴射補正量で補正
して気筒毎の燃料噴射量を演算する噴射量演算手段と、
エンジン運転状態に基づいて基本点火時期を演算し、ア
イドル状態に移行すると基本点火時期を対応気筒の上記
点火時期補正量で補正して気筒毎の点火時期を演算する
点火時期演算手段とが含まれている。
The idle control function of the control device 31 includes an idle determination means for determining the idle state of the engine from the operating state of the engine, and an engine rotation fluctuation difference for each predetermined crank angle when the engine is in the idle state. Combustion state discrimination means for discriminating the combustion state of the combustion stroke cylinder by comparing the engine rotation fluctuation difference with the upper limit value and the lower limit value, and when the engine is in the idle state and the rotation fluctuation difference of the cylinder exceeds the upper limit value. Or the injection correction amount of the cylinder exceeds the allowable upper limit value, the injection correction amount of the cylinder is reduced by a set amount, and the injection correction amounts of other cylinders are set in correspondence with the reduction amount. When the distribution amount is increased, and in the idle state, the difference in rotation fluctuation of the cylinder is lower than the lower limit value, or when the injection correction amount of the cylinder is lower than the allowable lower limit value, An injection correction amount setting means for increasing the injection correction amount of the cylinder by a set amount and setting the injection correction amount of each of the other cylinders by equally dividing and reducing the injection correction amount, and setting the injection correction amount for the cylinder in the idle state. When the injection correction amount of the cylinder exceeds the allowable upper limit value, the ignition timing correction amount of the cylinder is advanced by a set amount, and when the injection correction amount of the cylinder is lower than the allowable lower limit value, the ignition timing correction amount of the cylinder is set. Ignition timing correction amount setting means for delaying and setting the amount, and calculating the basic injection amount based on the engine operating state, and when shifting to the idle state, the basic injection amount is corrected by the above-mentioned injection correction amount of the corresponding cylinder and Injection amount calculation means for calculating the fuel injection amount of
Ignition timing calculating means for calculating the basic ignition timing based on the engine operating state and correcting the basic ignition timing with the above-mentioned ignition timing correction amount of the corresponding cylinder to calculate the ignition timing for each cylinder when shifting to the idle state is included. ing.

なお、上記各センサ8,9a,16,18,19,20,22,24およびア
イドルスイッチ9b等が、運転状態検出手段を構成してお
り、上記点火プラグ11、点火コイル11a、イグナイタ25
等が点火手段を構成している。
The sensors 8, 9a, 16, 18, 18, 19, 20, 22, 24, the idle switch 9b and the like constitute an operating state detecting means, and the ignition plug 11, the ignition coil 11a, the igniter 25.
Etc. constitute the ignition means.

(作 用) 次に、上記制御装置31によるアイドル制御手順を第7
図〜第9図に示すフローチャートに従って説明する。
(Operation) Next, the idle control procedure by the control device 31 will be described in the seventh step.
This will be described with reference to the flowcharts shown in FIGS.

このアイドル制御は、平均差回転速度算出手順(第7
図)、燃料噴射制御手順(第8図)、点火時期制御手順
(第9図)からなる。なお、これらのフローチャートは
所定周期ごとに気筒別に実行される。
This idle control is performed by the average difference rotational speed calculation procedure (7th
Fig.), A fuel injection control procedure (Fig. 8), and an ignition timing control procedure (Fig. 9). It should be noted that these flowcharts are executed for each cylinder for each predetermined cycle.

:平均差回転速度算出手順: まずステップ(以下「S」と細称)S101で、車速S
と、アイドルスイッチ出力を読込み、S102で、上記S101
で読込んだ車速Sとアイドルスイッチ出力から現運転状
態がアイドルかどうかを判別する。
: Average difference rotational speed calculation procedure: First, in step (hereinafter referred to as "S") S101, vehicle speed S
Read the idle switch output.
It is determined from the vehicle speed S and the idle switch output read in step 3 whether the current operating state is idle.

車速S=0、アイドルスイッチON(スロットル全閉)
の場合、アイドルと判定してS103へ進み、また車速S≠
0、あるいは、アイドルスイッチOFF(スロットル全閉
解除)の場合、走行中と判断してルーチンを外れる。
Vehicle speed S = 0, idle switch ON (throttle fully closed)
In the case of, the vehicle is determined to be idle, the process proceeds to S103, and the vehicle speed S ≠
If 0, or if the idle switch is OFF (throttle fully closed), it is judged that the vehicle is running and the routine is exited.

S103へ進むと、カム角センサ18から出力されるカムパ
ルスから燃焼行程気筒#i(i=1,3,2,4)を判別す
る。次いで、S104で、クランク角センサ16から出力され
るBTDCθ2,θ3を検出するクランクパルスを上記カムパ
ルスの割込みにより判別する。
In 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, the crank pulse for detecting BTDCθ2, θ3 output from the crank angle sensor 16 is determined by the interruption of the cam pulse.

そして、S105で、上記S104で判別したBTDCθ2,θ3を
検出するクランクパルス間の経過時間t2.3と、上記θ2,
θ3の挾み角(θ2−θ3)とから周期2.3を算出す
る(2.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 2.3 is calculated from the angle (θ2−θ3) between θ3 (2.3 = dt2.3 / d (θ2−θ3)).

次いで、S106で、上記S105で算出した周期2.3から
エンジン回転数NNEWを算出する(NNEW←60/2.3)。
Next, in S106, the engine speed NNEW is calculated from the cycle 2.3 calculated in S105 (NNEW ← 60 / 2.3).

その後、S107で、上記S106で算出したエンジン回転数
NNEWと、前回のルーチンで算出した気筒#i−1のエ
ンジン回転数NOLDとの差から燃焼行程気筒#iの燃焼
による仕事をしていない区間(第6図参照)の差回転速
度ΔN#iを算出し(ΔN#i←NNEW−NOLD)、S108
で、RAM34の所定アドレスに記憶されている前回のエン
ジン回転数NOLDを上記S106で算出した今回のエンジン
回転数NNEWで更新する(NOLD←NNEW)。
Then, in S107, a section in which no combustion work is performed by the combustion stroke cylinder #i 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. (See FIG. 6) The differential rotation speed ΔN # i is calculated (ΔN # i ← NNEW-NOLD), and S108
Then, the previous engine speed NOLD stored in the predetermined address of 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 above.
#I and the previous average differential rotational speed ΔNA # i (-1) of the cylinder #i stored at a predetermined address of the RAM 34, the average differential rotational speed ΔNA #, which is an example of the engine rotational fluctuation difference of this time. i is calculated from the weighted average of the weighting coefficient (weight of the weighted average) r (ΔNA # i ← ((2 r −1) × ΔNA # i (−
1) + ΔN # i) / 2 r ), store at the corresponding address in RAM 34.

その後、S110でRAM34の所定アドレスに格納されてい
る当該気筒#iの前回の平均差回転速度ΔNA#i(−
1)を上記S109で求めた今回の平均差回転速度ΔNA#i
で更新し(ΔNA#i(−1)←ΔNA#i)、ルーチンを
外れる。
After that, in S110, the previous average differential rotation speed ΔNA # i (-of the cylinder #i stored in the predetermined address of the RAM 34 is stored.
1) is the average differential rotational speed ΔNA # i obtained in S109 above
Update (ΔNA # i (-1) ← ΔNA # i), and the routine exits.

なお、初回のルーチンではNOLDの設定がなされてい
ないのでS107をジャンプし、また、各気筒ごとの初回ル
ーチンではΔNA#i(−1)←0としてルーチンを抜け
る。
Since NOLD has not been set in the first routine, the routine jumps to S107, and in the first routine for each cylinder, ΔNA # i (-1) ← 0 is exited.

第6図に示すように、4サイクル4気筒エンジンの場
合、周期2.3に基づいて求めるエンジン回転数NNEW
は、180℃Aごとに実行されるため、気筒間で計測する
周期2.3は共通している。
As shown in FIG. 6, in the case of a 4-cycle 4-cylinder engine, the engine speed NNEW calculated based on the cycle 2.3.
Is executed every 180 ° C., the cycle 2.3 for measuring between cylinders is common.

したがって、例えば、気筒#1に着目した場合、前回
算出したエンジン回転数NOLDを今回算出したエンジン
回転数NNEWから減算すれば、気筒#1の差回転速度Δ
N#1が求められ、一方、気筒#3をみれば、上記気筒
#1のエンジン回転数NNEWをNOLDとすることで、その
後の気筒#3のエンジン回転数NNEWから差回転速度Δ
N#3を求めることができる。
Therefore, for example, when paying attention to the cylinder # 1, if the previously calculated engine speed NOLD is subtracted from the engine speed NNEW calculated this time, the differential rotation speed Δ of the cylinder # 1.
N # 1 is obtained, and on the other hand, when looking at cylinder # 3, by setting the engine speed NNEW of cylinder # 1 to NOLD, the differential rotation speed Δ from the engine speed NNEW of cylinder # 3 thereafter.
N # 3 can be obtained.

互いに共通する気筒のエンジン回転数をそれぞれ、N
4.1,N1.3,N3.2,N2.4とした場合、各気筒の差回転速度は
以下の通りである。
The engine speed of the cylinders that are common to each other is N
When 4.1, N1.3, N3.2 and N2.4 are used, 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 By the way, the above differential rotation speed Experiments have shown that ΔN # i has a strong correlation with the indicated mean effective pressure Pi, that is, the combustion state of the cylinder. Therefore, as described above, by determining the differential rotation speed ΔN # i, the quality of the combustion state (indicated average effective pressure) of each cylinder #i can be estimated.

以下に、上記差回転速度ΔN#iと上記図示平均有効
圧力との関係を示す。
The relationship between the differential rotation speed ΔN # i and the indicated mean effective pressure is shown below.

まず、エンジンが回転している状態を式で表すと、 I:慣性モーメント N:エンジン回転速度 Ti:指示トルク Tf:フリクショントルク となり、この(1)式を簡略化して、 とおき、さらに圧力に置換えて表すと、 Pi:図示平均有効圧力 Pf:摩擦損失有効圧力 となる。First, when expressing the state where the engine is rotating, I: Moment of inertia N: Engine speed Ti: Instruction torque Tf: Friction torque If we replace it with pressure, Pi: Mean effective pressure indicated 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 are set to θ2.3 as described above,
That is, if set before and after the combustion stroke, 4 cycles 4
In the case of a cylinder engine, as a result of obtaining dN / dt in the above formula (3) based on the above-mentioned differential rotation speed ΔN # i and the temporal change ΔT (180 ° C A) between them, a very strong correlation is found. can get.

この場合、ΔT(180℃A)の変動は無視できる量で
あり、また、摩擦損失有効圧力Pfも一定と考えれば、上
記(3)式から、 ΔN=K×Pi−PF …(4) K,PF:定数 が成立する。
In this case, if the fluctuation of ΔT (180 ° C A) is negligible and the effective friction loss pressure Pf is also considered to be constant, then from the above formula (3), ΔN = K × Pi−PF (4) K , PF: The constant holds.

したがって、各気筒の差回転速度ΔNを、それぞれ求
めることで、図示平均有効圧力Pi、すなわち、燃焼状態
を気筒ごとに推定することができる。
Therefore, the indicated mean 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 is individually brought close to “0”, 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 the constant C is set and the proportional constant is K, Therefore, by obtaining K and C in advance, the indicated mean effective pressure Pi can be obtained.

この(5)式によれば、差回転速度ΔNを時間微分す
ることで、図示平均有効圧力Piを差回転速度ΔNからさ
らに精度よく推定することができる。
According to this equation (5), the indicated mean effective pressure Pi can be more accurately estimated from the differential rotation speed ΔN by differentiating the differential rotation speed ΔN with respect to time.

また、平均差回転速度ΔNA#iを加重平均により求め
ることで、当該気筒の計測誤差、および、一時的な回転
速度変動にばらつきを修正することができる。
Further, by obtaining the average differential rotation speed ΔNA # i by the weighted average, it is possible to correct variations in the measurement error of the cylinder and temporary rotation speed fluctuations.

:燃料噴射制御手順: 次に燃料噴射制御手順を第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の特定アドレスにストアさ
れている基準値(バックアップRAMにストアされている
定数の値がこわれていない場合には、定数の値と基準値
とが同一の値)と比較して判別し、定数の値がこわれて
いる場合には、バッテリ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 is 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 the 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 the battery 41 has been removed, a constant determined in a specific address of the normal backup RAM 35 is stored, and whether the value of this constant is broken is stored in a specific address of the ROM 33. If the constant value is broken, it is determined by comparing it with the reference value (if the constant value stored in the backup RAM is not broken, the constant value and the reference value are the same). Shows that the invalid injection correction pulse width Ts # i for each cylinder is Ts / n (Ts: for example, the combined value ΣTs, n of the invalid injection pulse widths of the cylinders when the battery voltage is 14V) assuming that the battery 41 is removed. : Number of cylinders, n = 4 for 4-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 value of the constant stored in the specific address of the backup RAM 35 is reset to the reference value. When the constant value of the backup RAM 35 is not broken at the next start, the invalid injection correction pulse width Ts # i and the ignition timing learning value LADV # i are not initialized.

通常は以下の処理を制御プログラムに従ってくり返し
実行する。
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 operating condition parameters are read from the output signals of the sensors 8, 9a, 16, 18, 19, 20, 22, 24, and the idle switch 9b, and in S202, fuel injection is performed based on the crank pulse and cam pulse. The corresponding cylinder #i is determined.

継いで、S203で、アイドルスイッチ9b、車速センサ24
の出力信号から現運転状態がアイドルかどうかを判別す
る。
Next, in S203, idle switch 9b, vehicle speed sensor 24
From the output signal of, it is determined whether the current operating state is idle.

車速S=0でアイドルスイッチON(スロットル全閉)
の場合、アイドル判定してS204へ進み、車速S≠0、あ
るいは、アイドルスイッチOFFの場合、アイドル解除状
態と判断してS205へ進む。
Idle switch ON at vehicle speed S = 0 (throttle fully closed)
If the vehicle speed is S ≠ 0 or if the idle switch is OFF, it is determined that the vehicle is in the idle release state and the routine proceeds to S205.

S205へ進むと、当該燃料噴射対応気筒#iの燃料噴射
パルス幅(燃料噴射量)Tiを下式により従来通り求め
て、S221へジャンプする。
When proceeding to S205, the fuel injection pulse width (fuel injection amount) Ti of the fuel injection corresponding cylinder #i is obtained by the following formula as usual, and the routine jumps to S221.

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 coefficient Ts: Set based on battery terminal voltage VB The voltage correction pulse width for correcting the invalid injection pulse width Q: intake air amount N: engine speed K: correction constant due to stoichiometric air-fuel ratio, injector injection characteristics, number of cylinders, etc. Meanwhile, in S203 above, it is determined to be idle. When proceeding to S204, the invalid injection correction pulse width Ts # i as the injection correction amount of the corresponding cylinder #i stored in the predetermined address of the backup RAM 35 is read out, and at S206, this invalid injection correction pulse width Ts # i and The set invalid injection correction pulse width allowable upper limit value TsLIMH is compared, and if TsLIMH> Ts # i, it is determined that there is a margin for correction on the upper limit side of the invalid injection correction pulse width Ts # i, and the process proceeds to S207. , TsLIMH <Ts #i, invalid 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 injection correction pulse width allowable lower limit value TsLIML, and TsLIML <
When 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, the process proceeds to S209, and TsLIML ≧
In the case of Ts # i, it is determined that the invalid injection correction pulse width Ts # i has reached the lower limit value, and the process proceeds to S210.

なお、上記無効噴射補正パルス幅許容限界値TsLIMH,T
sLIMLは、基本燃料噴射量Tpを暖機増量、エアコン増量
などの各種増量補正で補正した場合に、上記値を加算し
ても当該気筒#iの空燃比がオーバリッチ化したり、あ
るいは、オーバリーン化しない限界値として予め実験な
どから求めて設定されたものである。
The above-mentioned invalid injection correction pulse width allowable limit value TsLIMH, T
If the basic fuel injection amount Tp is corrected by various increase corrections such as warm-up increase and air conditioner increase correction, sLIML makes the air-fuel ratio of the cylinder #i over-rich or over-lean even if the above values are added. The limit value to be set is a value that is set in advance through experiments or the like.

また、上記S207で、TsLIML<Ts#iと判断されてS209
へ進むと、前記平均差回転速度算出プログラムで算出し
た当該気筒#iの平均差回転速度ΔNA#iを読出し、S2
11で、この平均差回転速度ΔNA#iと予め設定した平均
差回転速度許容上限値ΔNuとを比較し、ΔNA#i≦ΔNu
の場合、上記平均差回転速度ΔNA#iが平均差回転速度
許容上限値より低いと判断して、S212へ進み、上記平均
差回転速度ΔNA#iと予め設定した平均差回転速度許容
下限値ΔNLとを比較し、ΔNA#i≧ΔNLの場合、当該
気筒#iの平均差回転速度ΔNA#iが許容値内に収まっ
ている、すなわち、理想的な燃焼状態(ΔNu≧ΔNA#i
≧ΔNL)と判断し、S220へ進む。
In addition, in S207, it is determined that TsLIML <Ts # i and S209
In step S2, the average differential rotation speed ΔNA # i of the cylinder #i calculated by the average differential rotation speed calculation program is read, and S2
In step 11, this average differential rotation speed ΔNA # i is compared with the preset average differential rotation speed allowable upper limit value ΔNu, and ΔNA # i ≦ ΔNu
In this case, 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 rotational speed allowable lower limit value ΔNL are set. When ΔNA # i ≧ ΔNL, the average rotational speed difference ΔNA # i of the cylinder #i is within the allowable value, that is, the ideal combustion state (ΔNu ≧ ΔNA # i
≧ ΔNL) and proceeds to S220.

一方、上記S211で、ΔNA#i≧ΔNuの場合、当該気筒
#iの燃焼状態が良すぎ他の各気筒に対し当該気筒#i
の発生トルクが高すぎると判断してS215へ進み、また、
上記S212で、ΔNA#i<ΔNLの場合、当該気筒#iの
燃焼状態が悪すぎ他の各気筒に対し当該気筒#iの発生
トルクが低すぎると判断してS218へ進む。
On the other hand, if ΔNA # i ≧ ΔNu in S211, the combustion state of the cylinder #i is too good, and the cylinder #i is compared with the other cylinders.
It judges that the generated torque is too high, and proceeds to S215.
If ΔNA # i <ΔNL in S212, it is determined that the combustion state of the cylinder #i is too bad and the generated torque of the cylinder #i is too low for each of the other cylinders, and the process proceeds to S218.

また、上記S206で、当該気筒#iの無効噴射補正パル
ス幅Ts#iが上限値TsLIMHに達していると判断されて
(TsLIMH≦Ts#i)、S208へ進むと、バックアップRAM3
5の所定アドレスに格納されている当該気筒#iの点火
時期補正量としての点火時期補正学習値LADV#iを、設
定クランク角度C(例えば、C=1℃A)で進角させた
値で更新する(LADV#i←LADV#i−C)。
Further, in S206, it is determined that the invalid injection correction pulse width Ts # i of the cylinder #i has reached the upper limit value TsLIMH (TsLIMH ≦ Ts # i), and when the process proceeds to S208, the backup RAM3
A value obtained by advancing the ignition timing correction learning value LADV # i as the ignition timing correction amount of the cylinder #i stored at the predetermined address of 5 at the set crank angle C (for example, C = 1 ° C. A). Update (LADV # i ← LADV # i-C).

次いで、S213で、上記S208で設定した点火時期補正学
習値LADV#iと予め設定した進角限界補正値LmtADVとを
比較し、LADV#i>LmtADV#iの場合、上記点火時期補
正学習値LADV#iがまだ進角限界補正値LmtADVに達して
いないと判断してS215へ進む。
Next, in S213, the ignition timing correction learning value LADV # i set in S208 is compared with a preset advance limit correction value LmtADV. If LADV # i> LmtADV # i, the ignition timing correction learning value LADV It is determined that #i has not reached the advance limit correction value LmtADV yet, and the process proceeds to S215.

一方、LADV#i≦LmtADV#iの場合、この点火時期補
正学習値LADV#iが進角限界に達していると判断し、S2
14で上記バックアップRAM35の所定アドレスに格納され
ている点火時期補正学習値LADV#iを上記進角限界補正
値LmtADVで更新し(LADV#i←LmtADV)、S215へ進む。
On the other hand, when LADV # i ≦ LmtADV # i, it is determined that this ignition timing correction learning value LADV # i has reached the advance limit, and S2
At 14, the ignition timing correction learning value LADV # i stored at the predetermined address of the backup RAM 35 is updated with the advance limit correction value LmtADV (LADV # i ← LmtADV), and the routine proceeds to S215.

また、S207で、当該気筒#iの無効噴射補正パルス幅
Ts#iが下限値TsLIML以下と判断されて(TsLIML≧Ts#
i)、S210へ進むと、バックアップRAM35の所定アドレ
スに格納されている当該気筒#iの点火時期補正学習値
LADV#iを、設定クランク角度C(例えばC=1℃A)
で遅角させた値で更新する(LADV#i←LADV#i+
C)。
Further, in S207, the invalid injection correction pulse width of the cylinder #i concerned
It is determined that Ts # i is less than or equal to the lower limit value TsLIML (TsLIML ≧ Ts #
i), when proceeding to S210, the ignition timing correction learning value of the cylinder #i stored in the predetermined address of the backup RAM 35.
Set LADV # i to the set crank angle C (for example, C = 1 ° C A)
Update with the value delayed by (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. If LADV # i <LmtRTD, the ignition timing correction learning value is compared.
It is determined that LADV # i has not reached the retard limit correction value LmtRTD yet, and the process proceeds to S218.

一方、LADV#i≧LmtRTDの場合、この点火時期補正学
習値LADV#iが遅角限界に達していると判断し、S217
で、上記バックアップRAM35の所定アドレスに格納され
ている点火時期補正学習値LADV#iを上記遅角限界補正
値LmtRTDで更新し(LADV#i←LmtRTD)、S218へ進む。
On the other hand, when 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 in the predetermined address of the backup RAM 35 is updated with the retard limit correction value LmtRTD (LADV # i ← LmtRTD), and the process proceeds to S218.

なお、上記進角限界補正値LmtADV、上記遅角限界補正
値LmtRTDは、点火時期θIGを設定した際に失火を起因し
ない範囲で予め実験などから求めたものである。
The advance limit correction value LmtADV and the retard limit correction value LmtRTD are previously obtained from experiments and the like within a range that does not cause misfire when the ignition timing θIG is set.

そして、上記S211、S213、あるいは、S214からS215へ
進むと、上記バックアップRAM35に格納されている当該
気筒#iの無効噴射補正パルス幅Ts#iを予め設定した
パルス幅ΔTsで減算した値で更新するとともに(Ts#i
←Ts#i−ΔTs)、他の各気筒#(i+1,…,i+n−
1)(n:気筒数)の無効噴射補正パルス幅TS#(i+1,
…,i+n−1)を上記パルス幅ΔTsの等分配値ΔTs/
(n−1)分だけ加算した値で更新し(TS#(i+1,
…,i+n−1)←TS#(i+1,…,i+n−1)+ΔTs/
(n−1))、S219へ進む。
Then, when proceeding from S211, 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 preset pulse width ΔTs. (Ts # i
← Ts # i-ΔTs), other cylinders # (i + 1, ..., i + n-
1) (n: number of cylinders) invalid injection correction pulse width TS # (i + 1,
, I + n-1) is the equal distribution value ΔTs / of the above pulse width ΔTs
Update with the value added by (n-1) (TS # (i + 1,
…, I + n-1) ← TS # (i + 1, ..., i + n-1) + ΔTs /
(N-1)), the process proceeds to S219.

一方、上記S212、S216、あるいは、S217からS218へ進
むと、上記バックアップRAM35に格納されている当該気
筒#iの無効噴射補正パルス幅Ts#iを予め設定したパ
ルス幅ΔTsで加算した値で更新するとともに(Ts#i←
Ts#i+ΔTs)、他の各気筒#(i+1,…,i+n−1)
の無効噴射補正パルス幅TS#(i+1,…,i+n−1)を
上記パルス幅ΔTsの等分配値ΔTs/(n−1)分だけ減
算した値で更新し(TS#(i+1,…,i+n−1)←TS#
(i+1,…,i+n−1)−ΔTs/(n−1))、S219へ
進む。
On the other hand, when the process proceeds from S212, S216, or S217 to S218, 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 adding the preset pulse width ΔTs. Do with (Ts # i ←
Ts # i + ΔTs), other cylinders # (i + 1, ..., i + n-1)
Of the invalid injection correction pulse width TS # (i + 1, ..., i + n-1) is updated by a value obtained by subtracting the pulse width ΔTs by the equal distribution value ΔTs / (n-1) (TS # (i + 1, ..., i + n -1) ← TS #
(I + 1, ..., i + n-1)-[Delta] Ts / (n-1)), and proceeds to S219.

上記パルス幅ΔTsは上記設定クランク角度Cで点火時
期を補正したときの出力変動量、および、燃料噴射補正
による応答特性などを考慮して設定する。
The pulse width ΔTs is set in consideration of the output fluctuation amount when the ignition timing is corrected at the set crank angle C and the response characteristic due to the fuel injection correction.

また、点火時期制御は燃料噴射制御に比し補正効果が
大きく、僅かな点火時期補正で体積効率が大きく変動す
る。一方、燃料噴射パルス幅を僅かに補正しても上記点
火時期補正ほど大きな補正効果は得られない。したがっ
て、点火時期を進角補正したときに燃料減量補正し、ま
た、点火時期を遅角補正したときに燃料増量補正するこ
とで、気筒#i間の燃焼のばらつきをより細密に制御す
ることができるようになるばかりでなく、例えば、燃料
増量、あるいは、減量補正した結果、無効噴射補正パル
ス幅Ts#iが許容限界値TsLIMH,TsLIMLに達した場合で
も、点火時期補正学習値LADV#iを設定クランク角度C
で進角補正、あるいは、遅角補正し、体積効率が上昇、
あるいは、減少した分上記無効噴射補正パルス幅Ts#i
を減量、あるいは、増量することで、この無効噴射補正
パルス幅Ts#iを許容限界値内(TsLIMH>Ts#i>TsLI
ML)に収めることができ、燃料補正を再開することがで
きるようになり、アイドル回転数の制御がよりワイドレ
ンジになる。
Further, the ignition timing control has a larger correction effect than the fuel injection control, and a slight correction of the ignition timing causes a large variation in volume efficiency. On the other hand, even if the fuel injection pulse width is slightly corrected, the same correction effect as the ignition timing correction cannot be obtained. Therefore, by correcting the fuel amount when the ignition timing is advanced, and by correcting the fuel amount when retarding the ignition timing, the combustion variation between the cylinders #i can be controlled more finely. In addition to being able to do so, for example, even if the invalid injection correction pulse width Ts # i reaches the allowable limit values TsLIMH, TsLIML as a result of the fuel increase or decrease correction, the ignition timing correction learning value LADV # i is set. Set crank angle C
With advanced angle correction or retard angle correction, volume efficiency increases,
Alternatively, the above-mentioned invalid injection correction pulse width Ts # i
By decreasing or increasing the value of the invalid injection correction pulse width Ts # i within the allowable limit value (TsLIMH> Ts # i> TsLI
ML), fuel correction can be restarted, and idle speed control becomes a wider range.

さらに、S215、あるいは、S218で、当該気筒#iの無
効噴射補正パルス幅Ts#iを設定値ΔTsで減量、あるい
は、増量補正した分、他の各気筒#(i+1,…,i+n−
1)の無効噴射補正パルス幅TS#(i+1,…,i+n−
1)をΔTs/(n−1)で等分配補正しているので、ト
ータル空燃比が変動することはなく空燃比制御性がよ
い。
Further, in S215 or S218, the invalid injection correction pulse width Ts # i of the cylinder #i is reduced or increased by the set value ΔTs, and the other cylinders # (i + 1, ..., i + n-
1) Invalid injection correction pulse width TS # (i + 1, ..., i + n-
Since 1) is equally distributed and corrected by ΔTs / (n-1), the total air-fuel ratio does not fluctuate and the air-fuel ratio controllability is good.

そして、上記S215、あるいは、S218からS219へ進む
と、RAM34の所定アドレスに格納されている各気筒#
(i,i+1,…i+n−1)の平均差回転速度ΔNA#(i,i
+1,…i+n−1)を全てクリアして(ΔNA#(i,i+
1,…i+n−1)←0)、S220へ進む。この平均差回転
速度ΔNA#iは加重平均により求められているため、上
記無効噴射補正パルス幅Ts#i、あるいは、点火時期補
正学習値LADV#iで当該気筒#iの燃料噴射あるいは点
火時期を適正に補正しても平均差回転速度ΔNA#iが直
ちに許容範囲(ΔNu≦ΔNA#i≦NL)に収まるとは限
らず、全気筒#(i,i+1…i+n−1)の平均差回転
速度ΔNA#(i,i+1…i+n−1)をクリアしないと
次回以降の演算サイクルにおいて誤判定を生じるおそれ
がある。
When the process proceeds from S215 or S218 to S219, each cylinder # stored in the predetermined address of RAM 34
Average difference rotational speed ΔNA # (i, i + 1, ... i + n-1)
Clear all +1, ... i + n-1) and (ΔNA # (i, i +
1, ... i + n-1) ← 0), proceed to S220. Since this average rotational speed difference ΔNA # i is obtained by a weighted average, the fuel injection or ignition timing of the cylinder #i is determined by the invalid injection correction pulse width Ts # i or the ignition timing correction learning value LADV # i. Even if properly corrected, the average differential rotation speed ΔNA # i does not always immediately fall within the allowable range (ΔNu ≦ ΔNA # i ≦ NL), but the average differential rotation speed of all cylinders # (i, i + 1 ... i + n−1). If ΔNA # (i, i + 1 ... i + n-1) is not cleared, an erroneous determination may occur in the next and subsequent operation cycles.

そして、上記S212、あるいは、S219からS220へ進む
と、S201で読込んだエンジン運転状態パラメータに基づ
いて設定した基本燃料噴射パルス幅Tp、空燃比フィード
バック補正係数α、各種増量分補正係数COEF、および、
上記S204で読出した、あるいは、S215、または、S218で
設定した無効噴射補正パルス幅Ts#iに基づき燃料噴射
パルス幅Tiを次式から設定する。
Then, the above S212, or, if proceeding from S219 to S220, the basic fuel injection pulse width Tp set based on the engine operating state parameters read in S201, the air-fuel ratio feedback correction coefficient α, various increment correction coefficients COEF, and ,
The fuel injection pulse width Ti is set from the following equation based on the invalid injection correction pulse width Ts # i read in S204 or set in S215 or S218.

Ti=Tp×α×COEF+Ts#i その後、S221で、上記S220で設定した燃料噴射パルス
幅Tiに対応する駆動信号を該当気筒#iのインジェクタ
10へ所定タイミングで出力し、ルーチンを外れる。
Ti = Tp × α × COEF + Ts # i After that, in S221, the drive signal corresponding to the fuel injection pulse width Ti set in S220 is applied to the injector of the corresponding cylinder #i.
Outputs to 10 at a predetermined timing, and exits the routine.

:点火時期制御手順: 点火時期制御手順を第9図に基づき説明する。Ignition Timing Control Procedure: The ignition timing control procedure will be described with reference to FIG.

まず、S301で、クランクパルスとカムパルスとを読込
み、S302で、上記S301で読込んだクランクパルスとカム
パルスとに基づき気筒判別を行う。
First, in S301, a crank pulse and a cam pulse are read, and in S302, cylinder discrimination is performed based on the crank pulse and the cam pulse read in S301.

次いで、S303で、クランク角センサ16から出力される
BTDCθ1,θ2を検出するクランクパルスを上記カムパル
スの割込みから判別する。
Then, in S303, the 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)とから周期1.2を算出す
る(1.2=dt1.2/d(θ1−θ2))。
Then, in S304, the elapsed time t1.2 between crank pulses for detecting the BTDC θ1 and θ2 determined in S303 and the θ1 and
The period 1.2 is calculated from the angle of inclination (θ1−θ2) of θ2 (1.2 = dt1.2 / d (θ1−θ2)).

次いで、S305で、上記S304で算出した周期1.2に基
づきエンジン回転数N1.2を算出する(N1.2←(60/1,
2)。
Next, in S305, the engine speed N1.2 is calculated based on the cycle 1.2 calculated in S304 (N1.2 ← (60/1,
2).

その後、S306で、吸入空気量センサ8の出力信号に基
づき吸入空気量Qを算出し、S307で、上記S306で算出し
た吸入空気量Qと、上記S305で算出したエンジン回転数
N1.2に基づき、エンジン負荷(基本燃料噴射パルス幅)
Tpを算出する(Tp←K×Q/N1.2 K:定数)。
Then, 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.
Engine load (basic fuel injection pulse width) based on N1.2
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 is calculated.
Then, 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を設定する。
Further, in S309, the knock control value θNK is set according to the output signal of the 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 if the idle switch is OFF (throttle fully closed), the idle release state is determined, Go to S312, again
When 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, if it is determined to be idle and the process proceeds to S313, the ignition timing correction learning value LADV # i of the corresponding cylinder #i set by the above-described program of fuel injection control is read out, and in S314, the above-mentioned S308
The basic ignition timing θBASE set in step S309 is corrected by the knock control value θNK set in step S309 and the ignition timing correction learning value LADV # i read in step S313 to set the ignition timing θIG.
Is calculated (θIG ← θBASE + θNK + LADV # i).

そして、S315で、上記S312、あるいは、S314で算出し
た点火時期θIGと、上記S304で算出した周期1.2とか
ら点火時刻ADVを設定する(ADV←θIG×1.2)。
Then, in S315, the ignition time ADV is set from the ignition timing θIG calculated in S312 or S314 and the cycle 1.2 calculated in S304 (ADV ← θIG × 1.2).

次いで、S316で、上記S315で設定した点火時刻ADVを
タイマセットし、S317で、θ2パルスをトリガとして計
時を開始し、S318で、点火時刻に達したら対応気筒#i
のイグナイタ25へ点火信号を出力し、ルーチンを外れ
る。
Next, in S316, the ignition time ADV set in S315 is set by a timer, and in S317, the θ2 pulse is used as a trigger to start time measurement, and in S318, when the ignition time is reached, the corresponding cylinder #i
An ignition signal is output to the igniter 25 of and the routine is exited.

次に、上記プログラムに沿う無効噴射補正パルス幅Ts
#iおよび点火時期補正学習値LADV#iの設定状態を気
筒#iの平均差回転速度ΔNA#iを例に第10図のタイム
チャートに従って説明する。
Next, the invalid injection correction pulse width Ts according to the above program
The setting state of #i and the ignition timing correction learning value LADV # i will be described with reference to the time chart of FIG. 10 by taking the average differential rotation speed ΔNA # i of the cylinder #i as an example.

例えば、#1気筒の燃焼状態が悪く、平均差回転速度
ΔNA#1が平均差回転速度許容下限値ΔNLより低くなる
と、当該気筒#1の無効噴射補正パルス幅Ts#1に設定
パルス幅ΔTsを加算して(Ts#1←Ts#1+ΔTs)、当
該気筒#1に対する燃料噴射パルス幅Tiを増量する。一
方、他の各気筒#(2…i)の無効噴射補正パルスTs#
(2…i)をΔTs(n−1)(n:気筒数)で減算し(Ts
#(2…i)←Ts#(2…i)−ΔTs/(n−1))、
トータル空燃比が変動しないようにする。そして、各気
筒#iの平均差回転速度ΔNA#iをリセットする(経過
時間t1)。
For example, when the combustion state of the # 1 cylinder is poor and the average differential rotation speed ΔNA # 1 becomes lower than the average differential rotational speed allowable lower limit value ΔNL, the set pulse width ΔTs is set to the invalid injection correction pulse width Ts # 1 of the cylinder # 1. By adding (Ts # 1 ← Ts # 1 + ΔTs), the fuel injection pulse width Ti for the cylinder # 1 is increased. On the other hand, the invalid injection correction pulse Ts # for each of the other cylinders # (2 ... i)
(2 ... i) is subtracted by ΔTs (n-1) (n: number of cylinders) (Ts
# (2 ... i) ← Ts # (2 ... i) -ΔTs / (n-1)),
Prevent the total air-fuel ratio from fluctuating. Then, the average rotational speed difference ΔNA # i of each cylinder #i is reset (elapsed time t1).

次いで、上記気筒#1の無効噴射補正パルス幅Ts#1
が無効噴射補正パルス幅許容上限値TsLIMHに達した場
合、この無効噴射補正パルス幅Ts#1を上記設定パルス
幅ΔTsで減算し(Ts#1←Ts#1−ΔTs)、当該気筒#
1に対する燃料噴射パルス幅Tiを減量するとともに、他
の各気筒#(2…i)の無効噴射補正パルス幅Ts#(2
…i)にΔTs/(n−1)を加算し(Ts#(2…i)←T
s#(2…i)+ΔTs/(n−1))、さらに、当該気筒
#1の点火時期補正学習値LADV#1を設定クランク角C
で進角補正する(LADV#1←LADV#1−C)。そして、
各気筒#iの平均差回転速度ΔNA#iをリセットする
(経過時間t2)。
Next, the invalid injection correction pulse width Ts # 1 of the cylinder # 1
When the effective injection correction pulse width allowable upper limit value TsLIMH is reached, the invalid injection correction pulse width Ts # 1 is subtracted by the set pulse width ΔTs (Ts # 1 ← Ts # 1-ΔTs), and the cylinder #
The fuel injection pulse width Ti for 1 is decreased, and the invalid injection correction pulse width Ts # (2
Add ΔTs / (n-1) to (i) (Ts # (2 ... i) ← T
s # (2 ... i) + ΔTs / (n-1)), and the ignition timing correction learning value LADV # 1 of the cylinder # 1 is set to the crank angle C.
Use to correct the lead angle (LADV # 1 ← LADV # 1-C). And
The average rotational speed difference ΔNA # i of each cylinder #i is reset (elapsed time t2).

その結果、燃料噴射パルス幅Tiの減量分と、点火時期
ADVを進角させたことにより生じる体積効率の上昇との
相乗作用により当該気筒#1の平均差回転速度ΔNA#1
を設定許容範囲に収めることができる。
As a result, the amount of decrease in the fuel injection pulse width Ti and the ignition timing
The average differential rotation speed ΔNA # 1 of the cylinder # 1 is increased due to the synergistic effect with the increase in volumetric efficiency caused by advancing the ADV.
Can be set within the allowable range.

また、例えば、上記気筒#1の燃焼状態が良すぎて、
平均差回転速度ΔNA#1が平均差回転速度許容上限値ΔN
uを越えると、当該気筒#1の無効噴射補正パルス幅Ts
#1から設定パルス幅ΔTsを減算し(Ts#1←Ts#1−
ΔTs)、当該気筒#1に対する燃料噴射パルス幅Tiを減
量する。そして、他の各気筒#(2…i)の無効噴射補
正パルス幅Ts#(2…i)にΔTs/(n−1)を加算し
(Ts#(2…i)←Ts#(2…i)+ΔTs/(n−
1))、トータル空燃比を一定にする。また、各気筒#
iの平均差回転速度ΔNA#iをリセットする(経過時間
t3)。
Also, for example, the combustion state of the cylinder # 1 is too good,
Average differential rotation speed ΔNA # 1 is the average differential rotation speed allowable upper limit value ΔN
When u is exceeded, the invalid injection correction pulse width Ts of the cylinder # 1 concerned
Subtract the set pulse width ΔTs from # 1 (Ts # 1 ← Ts # 1-
ΔTs), and the fuel injection pulse width Ti for the cylinder # 1 is reduced. Then, ΔTs / (n-1) is added to the invalid injection correction pulse width Ts # (2 ... i) of each of the other cylinders # (2 ... i) (Ts # (2 ... i) ← Ts # (2 ... i). i) + ΔTs / (n-
1)), keep the total air-fuel ratio constant. Also, for each cylinder #
Reset the average differential rotation speed ΔNA # i of i (elapsed time
t3).

その後、上記気筒#1の無効噴射補正パルス幅Ts#1
が無効噴射補正パルス幅許容下限値TsLIMLに達した場
合、この無効噴射補正パルス幅Ts#1に設定パルス幅Δ
Tsを加算し(Ts#1←Ts#1+ΔTs)、当該気筒#1に
対する燃料噴射パルス幅Tiを増量するとともに、他の気
筒#(2…i)の無効噴射補正パルス幅Ts#(2…i)
からΔTs/(n−1)を減算し(Ts#(2…i)←Ts#
(2…i)−ΔTs/(n−1))、さらに、当該気筒#
1の点火時期補正学習値LADV#1を設定クランク角Cで
遅角補正する(LADV#1←LADV#1+C)。次いで、各
気筒#iの平均差回転速度ΔNA#iをリセットする(経
過時間t4)。
Then, the invalid injection correction pulse width Ts # 1 of the cylinder # 1
Has reached the ineffective injection correction pulse width allowable lower limit value TsLIML, the set pulse width Δ is set in this ineffective injection correction pulse width Ts # 1.
Ts is added (Ts # 1 ← Ts # 1 + ΔTs) to increase the fuel injection pulse width Ti for the cylinder # 1 and the invalid injection correction pulse width Ts # (2 ... i) of the other cylinder # (2 ... i). )
ΔTs / (n-1) is subtracted from (Ts # (2 ... i) ← Ts #
(2 ... i) -ΔTs / (n-1)), and the cylinder #
The ignition timing correction learning value LADV # 1 of 1 is retarded at the set crank angle C (LADV # 1 ← LADV # 1 + C). Next, the average rotational speed difference ΔNA # i of each cylinder #i is reset (elapsed time t4).

その結果、上述と同様の効果が得られる。 As a result, the same effect as described above can be obtained.

(第二実施例) 第11図は本発明の第二実施例による気筒別燃料噴射制
御手順を示すフローチャートである。なお、第一実施例
の第8図と同様のステップは同一符号を付して説明を省
略する。
(Second Embodiment) FIG. 11 is a flowchart showing a cylinder-by-cylinder fuel injection control procedure according to the second embodiment of the present invention. The same steps as those in FIG. 8 of the first embodiment are designated by the same reference numerals and the description thereof will be omitted.

この実施例では、最初に燃料噴射パルス幅Tiを求め、
アイドル時に、この燃料噴射パルス幅Tiを噴射補正量と
しての補正パルス幅Tc#iで補正してアイドル制御を行
うものである。なお、補正パルス幅Tc#iは各気筒ごと
に対応してバックアップRAM35の所定アドレスにストア
され、データがこわれた場合などのイニシャルセット値
は0である。また、平均差回転速度ΔNA#iの算出手順
は第一実施例(第7図)と同様であるため説明を省略す
る。
In this embodiment, first, the fuel injection pulse width Ti is obtained,
At the time of idling, the fuel injection pulse width Ti is corrected by the correction pulse width Tc # i as the injection correction amount to perform the idle control. The correction pulse width Tc # i is stored in a predetermined address of the backup RAM 35 corresponding to each cylinder, and the initial set value is 0 when data is corrupted. The procedure for calculating the average rotational speed difference ΔNA # i is the same as that in the first embodiment (FIG. 7), and the description thereof is omitted.

まず、S201、S202からS401へ進むと、上記S201で検出
したエンジン運転状態パラメータに基づき、燃料噴射パ
ルス幅Tiを求める(Ti=Tp×α×COEF+Ts)。
First, when proceeding from S201 and S202 to S401, the fuel injection pulse width Ti is obtained based on the engine operating state parameter detected in S201 (Ti = Tp × α × COEF + Ts).

次いで、S203で現運転状態がアイドルかどうかを判断
し、アイドル解除状態の場合、S221へジャンプする。一
方アイドル状態と判断した場合、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 S221. 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 in the predetermined address of the backup RAM 35 #
The correction pulse width Tc # i of i is read out, and the correction pulse width Tc # i and the preset correction pulse width allowable upper limit value TcLI in S403 are read.
MH is compared, and if TcLIMH> Tc # i, the correction pulse width Tc
When it is determined that the correction of the upper limit value of #i has a margin, the process proceeds to S404. When TcLIMH ≦ Tc # i, the correction pulse width Tc # i is determined to reach the upper limit value, and the process proceeds to S208.

S403で、TcLIMH>Tc#iと判断されてS404へ進むと、
上記補正パルス幅Tc#iと予め設定した補正パルス幅許
容下限値TcLIMHとを比較し、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 TcLIMH, and when TcLIML <Tc # i, that is, TcLIML <Tc # i <TcLIMH, the correction pulse width Tc of the cylinder #i is compared. It is determined that #i is within the allowable limit, and the process proceeds to S209. If TcLIML ≧ Tc # i, the correction pulse width Tc # i is determined to have reached the lower limit value, and the process proceeds to S210.

なお、上記補正パルス幅許容限界値TcLIMH、TcLIMLは
この値を燃料噴射パルス幅Tiに加算しても当該気筒#i
の空燃比がオーバリッチ化したり、あるいは、オーバリ
ーン化しない限界値として予め実験などから求めて設定
されたものである。
The correction pulse width allowable limit values TcLIMH and TcLIML have the same values for the cylinder #i even if these values are added to the fuel injection pulse width Ti.
The air-fuel ratio is set to a limit value which is not over-riched or over leaned, which is obtained in advance by experiments or the like.

また、上記S404でTcLIML<Tc#iと判断されてS209へ
進むと当該気筒#iの平均差回転速度ΔNA#iを読出
し、S211でこの平均差回転速度ΔNA#iと予め設定した
平均差回転速度許容上限値ΔNuとを比較し、ΔNA#i≦
ΔNuの場合、S212へ進み、平均差回転速度許容下限値Δ
NLとを比較し、ΔNA#i≧ΔNL、すなわち、ΔNu≧Δ
NA#i≧ΔNLの場合、S407へ進む。
When it is determined that TcLIML <Tc # i in S404 and the process proceeds to S209, the average differential rotation speed ΔNA # i of the cylinder #i is read out, and in S211, the average differential rotation speed ΔNA # i and the preset average differential rotation speed are set. Compared with the allowable speed upper limit value ΔNu, ΔNA # i ≦
If ΔNu, the process proceeds to S212, and the average difference rotational speed allowable lower limit value Δ
Compared with NL, ΔNA # i ≧ ΔNL, that is, ΔNu ≧ Δ
If NA # i ≧ ΔNL, the process proceeds to S407.

一方、上記S211でΔNA#i>ΔNuと判断された場合、
S405へ進み、また、S212でΔNA#i<ΔNLと判断され
た場合、S406へ進む。
On the other hand, if it is determined in step S211 that ΔNA # i> ΔNu,
If it is determined at S212 that ΔNA # i <ΔNL at S212, the process proceeds to S406.

また、上記S403からS208、S213、S214を経て、あるい
は、上記S211、または、S213からS405へ進むと、バック
アップRAM35の所定アドレスに格納されている当該気筒
#iの補正パルス幅Tc#iを予め設定したパルス幅ΔTc
で減算した値で更新するとともに(Tc#i←Tc#i−Δ
Tc)、他の各気筒#(i+1,…,i+n−1)の補正パル
ス幅TC#(i+1,…,i+n−1)を上記パルス幅ΔTcの
等分配値ΔTc/(n−1)分だけ加算した値で更新し
(TC#(i+1,…,i+n−1)←TC#(i+1,…,i+n
−1)+ΔTc/(n−1))、S219へ進む。
Further, when the process proceeds from S403 to S208, S213, S214, or proceeds from S211 or S213 to S405, the correction pulse width Tc # i of the cylinder #i stored at the predetermined address of the backup RAM 35 is set in advance. Set pulse width ΔTc
Update with the value subtracted in (Tc # i ← Tc # i-Δ
Tc), and the correction pulse width TC # (i + 1, ..., i + n-1) of each of the other cylinders # (i + 1, ..., i + n-1) by the equal distribution value ΔTc / (n-1) of the pulse width ΔTc. Update with the added value (TC # (i + 1, ..., i + n-1) ← TC # (i + 1, ..., i + n)
-1) + ΔTc / (n-1)), and proceeds to S219.

一方、上記S404からS210、S216、S217を経て、あるい
は、上記S212、または、S216からS406へ進むと、バック
アップRAM35の所定アドレスに格納されている当該気筒
#iの補正パルス幅Tc#iを予め設定したパルス幅ΔTc
で加算した値で更新するとともに(Tc#i←Tc#i+Δ
Tc)、他の各気筒#(i+1,…,i+n−1)の補正パル
ス幅TC#(i+1,…,i+n−1)を上記パルス幅ΔTcの
等分配値ΔTc/(n−1)分だけ減算した値で更新し
(TC#(i+1,…,i+n−1)←TC#(i+1,…,i+n
−1)−ΔTc/(n−1))、S219へ進む。
On the other hand, if the process proceeds from S404 to S210, S216, S217, or proceeds from S212 or S216 to S406, the correction pulse width Tc # i of the cylinder #i stored at the predetermined address of the backup RAM 35 is set in advance. Set pulse width ΔTc
It is updated with the value added in (Tc # i ← Tc # i + Δ
Tc), and the correction pulse width TC # (i + 1, ..., i + n-1) of each of the other cylinders # (i + 1, ..., i + n-1) by the equal distribution value ΔTc / (n-1) of the pulse width ΔTc. Update with the subtracted value (TC # (i + 1, ..., i + n-1) ← TC # (i + 1, ..., i + n
-1) -ΔTc / (n-1)), the process proceeds to S219.

上記パルス幅ΔTcは設定クランク角度Cで点火時期を
補正したときの出力変動量、および、燃料噴射補正によ
る応答特性などを考慮して設定する。
The pulse width ΔTc is set in consideration of the output fluctuation amount when the ignition timing is corrected with the set crank angle C, the response characteristic due to the fuel injection correction, and the like.

次いで、上記S405、S406からS219へ進み、RAM34の所
定アドレスに格納されている各気筒#(i,i+1,…i+
n−1)の平均差回転速度ΔNA#(i,i+1,…i+n−
1)を全てクリアして(ΔNA#(i,i+1,…i+n−
1)←0)、S407へ進む。
Next, the process proceeds from S405 and S406 to S219, where each cylinder # (i, i + 1, ... i +) stored in the RAM 34 at a predetermined address is stored.
n−1) average differential rotation speed ΔNA # (i, i + 1, ... i + n−
1) is cleared and (ΔNA # (i, i + 1, ... i + n-
1) ← 0), and proceed to S407.

そして、上記S219、あるいは、S212からS407へ進む
と、上記S401で設定した燃料噴射パルス幅Tiを、上記S4
02で読出し、あるいは、S405またはS406で設定した補正
パルス幅Tc#iで補正する(Ti←Ti+Tc#i)。そし
て、S203、あるいは、S407からS221へ進むと、S401、あ
るいは、S407にて設定した燃料噴射パルス幅Tiに対応す
る駆動信号を当該気筒#iのインジェクタ10へ所定タイ
ミングで出力し、ルーチンを外れる。
Then, when the process proceeds from S219 or S212 to S407, the fuel injection pulse width Ti set in S401 is changed to S4.
It is read at 02 or is corrected by the correction pulse width Tc # i set at S405 or S406 (Ti ← Ti + Tc # i). When the process proceeds from S203 or S407 to S221, a drive signal corresponding to the fuel injection pulse width Ti set in S401 or S407 is output to the injector 10 of the cylinder #i at a predetermined timing, and the routine is exited. .

なお、この実施例における点火時期制御手順は前述し
た第一実施例(第9図)と同一であるため説明を省略す
る。
Since the ignition timing control procedure in this embodiment is the same as that in the first embodiment (FIG. 9) described above, description thereof will be omitted.

(第三実施例) 第12図〜第14図は本発明の第三実施例を示し、第12図
は気筒別平均差角加速度算出手順を示すフローチャー
ト、第13図は気筒別燃料噴射制御手順を示すフローチャ
ート、第14図はクランクパルス、カムパルス、エンジン
回転数および角加速度の関係を示すタイムチャートであ
る。
(Third Embodiment) FIGS. 12 to 14 show a third embodiment of the present invention, FIG. 12 is a flowchart showing a procedure for calculating an average difference angular acceleration for each cylinder, and FIG. 13 is a fuel injection control procedure for each cylinder. FIG. 14 is a time chart showing the relationship among crank pulse, cam pulse, engine speed and angular acceleration.

この実施例では、各気筒#iの回転変動差を第一実施
例、第二実施例に示した平均差回転速度ΔNA#iに代え
て平均差角加速度Δ(dN/dt)A#iから求めるように
したものである。
In this embodiment, the rotational fluctuation difference of each cylinder #i is replaced with 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's something I asked for.

:平均差角加速度算出手順: S101〜S105は第一実施例(第7図)と共通するため、
S106以下(第7図の破線で囲まれた部分が相違する)の
フローチャートについてのみ説明する。
: Average difference angular acceleration calculation procedure: Since S101 to S105 are common to the first embodiment (FIG. 7),
Only the flowchart from S106 onward (the portion surrounded by the broken line in FIG. 7 is different) will be described.

S106で、S105で設定した周期2,3に基づきエンジン
回転数NNEWを算出すると、S501へ進み、エンジン回転
数NNEWを時間微分して角加速度(dN/dt)NEWを算出す
る。
When the engine speed NNEW is calculated in S106 based on the cycles 2 and 3 set in S105, the process proceeds to S501, and the engine speed NNEW is time-differentiated to calculate the angular acceleration (dN / dt) NEW.

その後、S502で、上記S501で算出したエンジン角加速
度(dN/dt)NEWと、前回算出した当該気筒#i(4気筒
の場合i=1,3,2,4)のエンジン角加速度(dN/dt)OLD
との差から当該燃焼行程気筒#iの燃焼による仕事をし
ていない区間(第14図の区間θ2−θ3)の差角加速度
Δ(dN/dt)#iを算出し(Δ(dN/dt)#i←(dN/d
t)NEW−(dN/dt)OLD)、S503で、RAM34の所定アドレ
スに記憶されている前回のエンジン角加速度(dN/dt)O
LDを上記S501で算出した今回のエンジン角加速度(dN/d
t)NEWで更新する((dN/dt)OLD←(dN/dt)NEW)。
Then, in S502, the engine angular acceleration (dN / dt) NEW calculated in S501 and the engine angular acceleration (dN / dN / in the case of four cylinders i = 1,3,2,4) calculated last time are calculated. dt) OLD
And the difference angular acceleration Δ (dN / dt) #i of the section (section θ2-θ3 in FIG. 14) where the work is not performed due to combustion of the combustion stroke cylinder #i (((N (dN / dt ) # I ← (dN / d
t) NEW- (dN / dt) OLD), in S503, the previous engine angular acceleration (dN / dt) O stored at the specified address in RAM 34.
The engine angular acceleration (dN / d
t) Update with NEW ((dN / dt) OLD ← (dN / dt) NEW).

そして、S504で、上記S502で算出した差角加速度Δ
(dN/dt)#iと、前回算出した当該気筒#iの平均差
角加速度Δ(dN/dt)A#i(−1)に基づき、今回の
当該気筒の平均差角加速度Δ(dN/dt)A#iを、下式
に示す加重係数rの加重平均から求める。
Then, in S504, the difference angular acceleration Δ calculated in S502 above.
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 / dN of the cylinder. dt) A # i is calculated from the weighted average of the weighting factors r shown in the following equation.

Δ(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 However, the average difference angle at the first time The acceleration Δ (dN / dt) A # i is set to “0”.

その後、S505で、上記S504で算出した当該気筒#i平
均差角加速度Δ(dN/dt)A#iで、RAM34の所定アドレ
スに格納されている当該気筒#iの平均差角加速度Δ
(dN/dt)A#i(−1)を更新する(Δ(dN/dt)A#
i(−1)←Δ(dN/dt)A#i)。
Then, in step S505, the average differential angular acceleration Δ of the cylinder #i calculated in step S504 is calculated using the average differential angular acceleration Δ (dN / dt) A # i of the cylinder #i stored in the RAM 34 at the predetermined address.
(DN / dt) A # Update i (-1) (Δ (dN / dt) A #
i (−1) ← Δ (dN / dt) A # i).

:燃料噴射制御手順: 上述の如く、この実施例では平均差角加速度Δ(dN/d
t)A#iに基づいて各気筒#iの回転変動を判断して
いるため、第一実施例(第8図)、第二実施例(第11
図)の破線で囲まれた部分のフローチャートのみが相異
する。
: 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 (11th embodiment)
Only the flow chart of the part surrounded by the broken line in FIG.

すなわち、S207(あるいは、S404)からS601へ進む
と、当該気筒#iの平均差角加速度Δ(dN/dt)A#i
を読出し、S602で、この平均差角加速度Δ(dN/dt)A
#iと予め設定した平均差角加速度許容上限値Δ(dN/d
t)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の
場合、S220(あるいは、S407)へ進む。
That is, when the process proceeds from S207 (or S404) to S601, the average differential angular acceleration Δ (dN / dt) A # i of the cylinder #i concerned.
Is read out and this average difference angular acceleration Δ (dN / dt) A is read in S602.
#I and the preset average difference angular acceleration allowable upper limit value Δ (dN / d
t) u, and Δ (dN / dt) A # i <Δ (dN / dt) u
In the case of, the process proceeds to S603 and the average difference angular acceleration Δ (dN / dt) A
#I is compared with the average lower limit angular acceleration Δ (dN / dt) L, and Δ (dN / dt) A # i ≧ Δ (dN / dt) L, that is,
If Δ (dN / dt) u ≧ Δ (dN / dt) A # i ≧ Δ (dN / dt) L, the process proceeds to S220 (or S407).

一方、S602でΔ(dN/dt)A#i>Δ(dN/dt)uと判
断された場合、S215(あるいは、S405)へ進み、また、
S603でΔ(dN/dt)A#i<Δ(dN/dt)Lと判断された
場合、S218(あるいは、S406)へ進む。
On the other hand, when it is determined in S602 that Δ (dN / dt) A # i> Δ (dN / dt) u, the process proceeds to S215 (or S405), and
When it is determined in S603 that Δ (dN / dt) A # i <Δ (dN / dt) L, the process proceeds to S218 (or S406).

そして、上記S215(あるいはS405)、S218(あるいは
S406)からS604へ進むと、RAM34の所定アドレスに格納
されている各気筒#(i,i+1,…i+n−1)の平均差
角加速度Δ(dN/dt)A#(i,i+1,…i+n−1)を全
てクリアして(Δ(dN/dt)A#(i,i+1,…i+n−
1)←0)、S220(あるいはS407)へ進む。
Then, the above S215 (or S405), S218 (or
From S406) to S604, the average differential angular acceleration Δ (dN / dt) A # (i, i + 1, ... i + n) of each cylinder # (i, i + 1, ... i + n-1) stored in the predetermined address of the RAM 34. -1) are all cleared and (Δ (dN / dt) A # (i, i + 1, ... i + n-
1) ← 0), and proceed to S220 (or S407).

なお、第14図にエンジン回転数とエンジン角加速度と
の相関を示すが、前述のように、エンジン回転数を時間
微分した角加速度を用いることにより、時間要素が加味
されるため、本実施例ではさらに精度の向上が図れる。
Note that FIG. 14 shows the correlation between the engine speed and the engine angular acceleration. As described above, by using the angular acceleration obtained by differentiating the engine speed with respect to time, the time factor is taken into consideration. Then, the accuracy can be further improved.

また、点火時期制御については第一実施例と同様であ
るため説明を省略する。
Further, the ignition timing control is the same as that of the first embodiment, and the description thereof will be omitted.

(第四実施例) 第15図、第16図は本発明の第四実施例を示し、第15図
は気筒別平均差周期算出手順を示すフローチャート、第
16図は気筒別燃料噴射制御手順を示すフローチャートで
ある。
(Fourth Embodiment) FIGS. 15 and 16 show a fourth embodiment of the present invention, and FIG. 15 is a flow chart showing an average difference cycle calculation procedure for each cylinder.
FIG. 16 is a flowchart showing a fuel injection control procedure for each cylinder.

この実施例では、各気筒#iの回転変動差を、第一実
施例、第二実施例に示した平均差回転速度ΔNA#i、あ
るいは、第三実施例に示した平均差角加速度Δ(dN/d
t)A#iに代えて、平均差周期ΔA#iから求める
ようにしたものである。
In this embodiment, the difference in rotational fluctuation between the cylinders #i is calculated as the average rotational speed difference ΔNA # i shown in the first and second embodiments, or the average difference angular acceleration Δ (shown in the third embodiment. dN / d
t) Instead of A # i, the average difference period ΔA # i is used.

:平均差周期算出手順: 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 of a portion corresponding to a portion surrounded by a broken line in FIG. 7 will be described.

S105(第7図参照)で、周期2,3が算出されると、S
701へ進み、S105で算出した今回の周期2,3と、RAM34
の所定アドレスに格納されている前回のルーチンにて算
出した周期2,3OLDを読込み、両周期2,3、2,3OLD
との差から当該燃焼行程気筒#i(4気筒であればi=
1,3,2,4)の燃焼による仕事をしていない区間の差周期
Δf#iを算出する(Δf#i←2,3−2,3OLD)。
When the cycles 2 and 3 are calculated in S105 (see FIG. 7), S
Proceed to step 701, and the current cycle 2, 3 calculated in S105 and RAM34
The cycle 2,3OLD calculated in the previous routine stored in the specified address of
From the combustion stroke cylinder #i (if four cylinders, i =
1,3,2,4) to calculate the difference period Δf # i in the section where there is no work due to combustion (Δf # i ← 2,3−2,3OLD).

次いで、S702で、RAM34の所定アドレスに格納されて
いる前回の周期2,3OLDを上記ステップS105で算出した
今回の周期2,3で更新する(2,3OLD←2,3)。
Next, in step S702, the previous cycle 2,3OLD stored in the predetermined address of the RAM 34 is updated with the current cycle 2,3 calculated in step S105 (2,3OLD ← 2,3).

そして、S703で、上記S701で算出した差周期Δf#i
と、前回算出した当該気筒#iの平均差周期ΔfA#i
(−1)に基づき、今回の平均差周期ΔA#iを、下
式に示す加重係数rの加重平均から算出する。
Then, in S703, the difference cycle Δf # i calculated in S701 is calculated.
And the average difference cycle ΔfA # i of the cylinder #i calculated last time
Based on (-1), the current average difference period ΔA # i is calculated from the weighted average of the weighting factors r shown in the following equation.

ΔA#i←((2r−1)×ΔA#i(−1) +Δ#i/2r なお、初回の平均差周期ΔA#iは“0"とする。ΔA # i ← ((2 r −1) × ΔA # i (−1) + Δ # i / 2 r Note that the initial average difference period ΔA # i is “0”.

その後、S704で、上記S703で算出した当該気筒#iの
平均差周期ΔA#iで、RAM34の所定アドレスに格納
されている当該気筒#iの平均差周期ΔA#i(−
1)を更新する(ΔA#i(−1)←Δ(A#
i)。
Thereafter, in S704, the average difference cycle ΔA # i of the cylinder #i stored in the predetermined address of the RAM 34 is calculated using the average difference cycle ΔA # i of the cylinder #i calculated in S703.
1) is updated (ΔA # i (-1) ← Δ (A #
i).

:燃料噴射制御手順: この実施例では平均差周期ΔA#iに基づいて各気
筒#iの回転変動を判断するものであるため、第一実施
例(第8図)、第二実施例(第11図)の破線で囲まれた
部分のフローチャートのみが相異される。
: Fuel injection control procedure: In this embodiment, the rotational fluctuation of each cylinder #i is determined based on the average difference cycle ΔA # i. Therefore, the first embodiment (FIG. 8) and the second embodiment (FIG. Only the flowchart enclosed by the broken line in Fig. 11) is different.

すなわち、S207(あるいはS404)からS801へ進むと、
当該気筒#iの平均差周期ΔA#iを読出し、S802
で、この平均差周期ΔA#iと予め設定した平均差周
期許容最短値Δsとを比較し、ΔA#i≧Δsの
場合、S803へ進み、上記平均差周期ΔA#iと平均差
周期許容最長値ΔLとを比較し、ΔA#i≦Δ
L、すなわち、Δs≦ΔA#i≦ΔLの場合、許
容値内に収まっているためS220(あるいは、S407)へ進
む。
In other words, if you proceed from S207 (or S404) to S801,
The average difference cycle ΔA # i of the cylinder #i is read out and S802
Then, the average difference period ΔA # i is compared with a preset average difference period allowable shortest value Δs, and if ΔA # i ≧ Δs, the process proceeds to S803, and the average difference period ΔA # i and the average difference period allowable maximum are The value ΔL is compared, and ΔA # i ≦ Δ
When L, that is, Δs ≦ ΔA # i ≦ ΔL, the value is within the allowable value, and thus the process proceeds to S220 (or S407).

一方、上記S802でΔA#i<Δsと判断された場
合、当該気筒#iの平均差周期ΔA#iが短すぎるた
めS215(あるいはS405)へ進み、また、S803でΔA#
i>ΔLと判断された場合、当該気筒#iの平均差周
期ΔA#iが長すぎるためS218(あるいはS406)へ進
む。
On the other hand, when it is determined in step S802 that ΔA # i <Δs, the average difference cycle ΔA # i of the cylinder #i is too short, and thus the process proceeds to step S215 (or S405), and in step S803, ΔA # i.
If it is determined that i> ΔL, the average difference cycle ΔA # i of the cylinder #i is too long, and the process proceeds to S218 (or S406).

そして、上記S215(あるいはS405)、S218(あるいは
S406)からS804へ進むと、RAM34の所定アドレスに格納
されている各気筒#(i,i+i,…i+n−1)の平均差
周期ΔA#i(i,i+i,…i+n−1)を全てクリア
して(ΔfA#(i,i+1,…i+n−1)←0)、S220
(あるいはS407)へ進む。
Then, the above S215 (or S405), S218 (or
When proceeding from S406) to S804, the average difference cycle ΔA # i (i, i + i, ... i + n-1) of each cylinder # (i, i + i, ... i + n-1) stored in the predetermined address of RAM 34 is cleared. (ΔfA # (i, i + 1, ... i + n-1) ← 0), S220
(Or go to S407).

この実施例では、エンジン回転変動を検出するに際
し、周期2,3を一旦除算処理したエンジン回転数NNEW
を用いず、周期2,3をそのまま用いているので除算処
理による演算負担が軽減され、演算時間が短縮される。
In this embodiment, when detecting the engine speed fluctuation, the engine speed NNEW is obtained by dividing the cycles 2 and 3 once.
Since the cycles 2 and 3 are used as they are without using, the calculation load due to the division processing is reduced and the calculation time is shortened.

(第五実施例) 第17図以下は本発明の第五実施例を示し、第17図は気
筒別平均差角速度算出手順を示すフローチャート、第18
図は気筒別燃料噴射制御手順を示すフローチャート、第
19図は気筒別点火時期算出手順を示すフローチャートで
ある。
(Fifth Embodiment) FIG. 17 and subsequent drawings show a fifth embodiment of the present invention, and FIG. 17 is a flowchart showing a procedure for calculating the average differential angular velocity for each cylinder,
FIG. 1 is a flowchart showing a fuel injection control procedure for each cylinder,
FIG. 19 is a flowchart showing a procedure for calculating 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,3を算出する(ω2,3←d(θ2−θ
3)/dt2,3)。
After the crank pulse is discriminated in S104, the elapsed time t2,3 between the crank pulses for detecting BTDC θ2, θ3 discriminated in S104 and the angle of inclination between θ2 and θ3 (θ2-θ3) in S901.
And the angular velocity ω2,3 is calculated from (ω2,3 ← 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,3NE
W)。
After that, in S902, the engine angular velocity ω2,3NEW of the current routine calculated in S901 above and the engine angular velocity ω2,3OLD calculated in the previous routine are not used to perform combustion by the combustion stroke cylinder #i. Differential angular velocity Δω
#I is calculated (Δω # i ← ω2,3NEW−ω2,3OLD) and S903
Then, the previous engine angular speed ω2,3OLD stored in the predetermined address of the RAM 34 is updated with the current engine angular speed ω2,3NEW calculated in S901. (Ω2,3OLD ← ω2,3NE
W).

そして、S904で、上記S902で算出した差角速度Δω#
iと、前回算出した当該気筒#iの平均差角速度ΔωA
#i(−1)に基づき、今回の平均差角速度ΔωA#i
を下式に示す加重係数rの加重平均から求める。
Then, in S904, the difference angular velocity Δω # calculated in S902 above.
i and the average differential angular velocity ΔωA of the cylinder #i calculated last time
Based on #i (-1), the current average difference angular velocity ΔωA # i
Is calculated from the weighted average of the weighting factors r shown in the following equation.

ΔωA#i←((2r−1)×ΔωA#i(−1) +Δω#i)/2r なお、初回の平均差角速度ΔωA#iは“0"とする。ΔωA # i ← ((2 r −1) × ΔωA # i (−1) + Δω # i) / 2 r Note that the initial average differential angular velocity ΔωA # i is “0”.

その後、S905で、上記S904で算出した当該気筒#iの
平均差角速度ΔωA#iでRAM34の所定アドレスに格納
されているデータを更新する(ΔωA#i(−1)←Δ
ωA#i)。
Thereafter, in S905, the data stored in 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図)、第二実施例(第11図)の破線で囲ま
れた部分のフローチャートのみが相異する。
: Fuel injection control procedure: In this embodiment, since the rotational 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 ( Only the flowchart enclosed by the broken line in FIG. 11) 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の場合、許容値
内に収まっているためS220(あるいはS407)へ進む。
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
In 002, this average angular velocity ΔωA # i is compared with a preset average angular velocity upper limit value Δωu. If ΔωA # i ≦ Δωu, the process proceeds to S1003, and the average difference angular velocity ΔωA # i is compared with the average angular velocity lower limit value ΔωL. , ΔωA # i ≧ ΔωL,
That is, when Δωu ≧ ΔωA # i ≧ ΔωL, the value is within the allowable value, and thus the process proceeds to S220 (or S407).

一方、S1002でΔωA#i>Δωuと判断された場
合、S215(あるいはS405)へ進み、また、S1003でΔω
A#i<ΔωLと判断された場合S218(あるいはS406)
へ進む。
On the other hand, if it is determined in S1002 that ΔωA # i> Δωu, the process proceeds to S215 (or S405), and in S1003, ΔωA # i> Δωu
When it is determined that A # i <ΔωL S218 (or S406)
Proceed to.

そして、S215(あるいはS405)、S218(あるいはS40
6)からS1004へ進むと、RAM34の所定アドレスに格納さ
れている各気筒#(i,i+i,…i+n−1)の平均差角
速度ΔωA#(i,i+i,…i+n−1)を全てクリアし
て(ΔωA#(i,i+i,…i+n−1)←0)、S220
(あるいはS407)へ進む。
Then, S215 (or S405), S218 (or S40
When the process proceeds from 6) to S1004, all the average differential angular velocities ΔωA # (i, i + i, ... i + n-1) of each cylinder # (i, i + i, ... i + n-1) stored in the predetermined address of RAM34 are cleared. (ΔωA # (i, i + i, ... i + n-1) ← 0), S220
(Or go to S407).

:点火時期制御手順: 第一実施例(第9図)においては、周期1,2に基づ
いて点火時期を設定しているが、この実施例では角速度
ω1,2に基づいて点火時期を設定している点で相異す
る。
: Ignition Timing Control Procedure: In the first embodiment (FIG. 9), the ignition timing is set based on the cycles 1 and 2, but in this embodiment, the ignition timing is set based on the angular velocities ω 1 and 2. It is different in that it is.

S303でクランクパルス判別後、S1101で、上記S303で
判別したBTDCθ1、θ2を検出するクランクパルス間の
経過時間t1,2と、上記θ1、θ2の挾み角(θ1−θ
2)とから角速度ω1,2を算出する(ω1,2←d(θ1−
θ2)/dt1,2)。
After the crank pulse is discriminated in S303, the elapsed time t1,2 between crank pulses for detecting BTDC θ1, θ2 discriminated in S303 and the angle of inclination (θ1-θ) between θ1 and θ2 are discriminated in S1101.
2) and the angular velocity ω1,2 is calculated from (ω1,2 ← d (θ1-
θ2) / dt1,2).

次いで、S1102で、上記S1101で算出した角速度ω1,2
に基づきエンジン回転数N1,2を算出する(N1,2←60×ω
1,2)。
Next, in S1102, the angular velocities ω1,2 calculated in S1101 above
Calculate the engine speed N1,2 based on (N1,2 ← 60 × ω
1,2).

また、S1103では、S312、あるいは、S314で算出した
点火時期θIGと、上記S1101で算出した角速度ω1,2とか
ら点火時刻ADVを設定する(ADV←θIG/ω1,2)。
In S1103, the ignition timing ADV is set from the ignition timing θIG calculated in S312 or S314 and the angular velocities ω1,2 calculated in S1101 (ADV ← θIG / ω1,2).

本実施例によれば、エンジン回転数NNEWの代用とし
て角速度ω2,3を用いて燃焼状態推定を行うので、第一
実施例に比し、燃焼状態推定の演算時間が短縮される。
According to the present embodiment, the combustion state estimation is performed using the angular velocities ω2,3 as a substitute for the engine speed NNEW, so the calculation time for the combustion state estimation is shortened compared to the first embodiment.

[発明の効果] 以上説明したように本発明によれば、アイドル状態の
とき、所定クランク角毎のエンジン回転変動差と上限
値、下限値とを比較して燃焼行程気筒の燃焼状態を判断
し、当該気筒の回転変動差が上限値を越えているときに
は、当該気筒の発生トルクが他の気筒に対し高すぎると
判断し、当該気筒の噴射補正量を設定量減量すると共
に、該減量分に対応して他の各気筒の噴射補正量を等分
配減量し、また、当該気筒の回転変動差が下限値より低
いときには、当該気筒の発生トルクが他の気筒に対し低
すぎると判断し、当該気筒の噴射補正量を設定量増量す
ると共に、該増量分に対応して他の各気筒の噴射補正量
を等分配減量し、基本燃料噴射量を対応気筒の上記噴射
補正量で補正して気筒毎の燃料噴射量を演算して対応気
筒に対し該燃料噴射量の燃料を供給するので、全気筒か
らみたトータル空燃比が目標空燃比から外れることを防
止して排気浄化性の悪化を抑制しつつ各気筒の燃焼状態
を均一化させて、アイドル回転数変動を抑制することが
できる。
[Effects of the Invention] As described above, according to the present invention, in the idling state, the combustion state of the combustion stroke cylinder is determined by comparing the engine rotation fluctuation difference for each predetermined crank angle with the upper limit value and the lower limit value. When the rotational fluctuation difference of the cylinder exceeds the upper limit value, it is determined that the torque generated in the cylinder is too high compared to the other cylinders, and the injection correction amount of the cylinder is reduced by the set amount and the reduction amount is reduced. Correspondingly, the injection correction amount of each of the other cylinders is equally distributed and reduced, and when the rotational fluctuation difference of the cylinder is lower than the lower limit value, it is determined that the torque generated in the cylinder is too low for the other cylinders. In addition to increasing the injection correction amount of the cylinder by the set amount, the injection correction amount of each of the other cylinders is equally distributed and decreased corresponding to the increase amount, and the basic fuel injection amount is corrected by the injection correction amount of the corresponding cylinder to correct the cylinder. Calculate the amount of fuel injection for each cylinder Since the fuel of the fuel injection amount is supplied, the total air-fuel ratio viewed from all cylinders is prevented from deviating from the target air-fuel ratio, and the combustion state of each cylinder is made uniform while suppressing the deterioration of exhaust gas purification performance. Rotational speed fluctuation can be suppressed.

また、当該気筒の発生トルクが低く、当該気筒の発生
トルクを上昇させるべく噴射補正量の増量を重ね、該噴
射補正量が許容上限値を越えたときには、燃料噴射によ
る補正上限限界に達したと判断し、当該気筒の噴射補正
量を設定量減量補正すると共に、当該気筒の点火時期補
正量を設定量進角し、且つ当該気筒の噴射補正量減量分
に対応して他の各気筒の噴射補正量を等分配増量し、一
方、当該気筒の発生トルクが高く、当該気筒の発生トル
クを低下させるべく噴射補正量の減量を重ね、該噴射補
正量が許容下限値より低下したときには、燃料噴射によ
る補正下限限界に達したと判断し、当該気筒の噴射補正
量を設定量増量補正すると共に、当該気筒の点火時期補
正量を設定量遅角し、且つ当該気筒の噴射補正量増量分
に対応して他の各気筒の噴射補正量を等分配減量し、こ
れらの噴射補正量、点火時期補正量により、基本噴射
量、基本点火時期を補正して各気筒毎に燃料噴射量、点
火時期をそれぞれ設定するので、個々の各気筒について
も空燃比のオーバリッチ、オーバリーンを防止すること
ができる上に、アイドル回転数変動を抑制するための補
正項は、点火時期、燃料噴射量設定に際して各1項で済
むため、制御系の複雑化および演算負担の増加を抑制す
ることができる。
Further, when the generated torque of the cylinder is low, the injection correction amount is increased to increase the generated torque of the cylinder, and when the injection correction amount exceeds the allowable upper limit value, the correction upper limit of fuel injection is reached. Judgment, the injection correction amount of the cylinder is corrected by the set amount reduction, the ignition timing correction amount of the cylinder is advanced by the set amount, and the injection of the other cylinders is injected corresponding to the injection correction amount reduction amount of the cylinder. Even if the correction amount is increased evenly, the torque generated in the cylinder is high, and the injection correction amount is repeatedly reduced to reduce the torque generated in the cylinder. It is determined that the correction lower limit limit has been reached, and the injection correction amount of the cylinder is corrected by increasing the set amount, the ignition timing correction amount of the cylinder is retarded by the setting amount, and the injection correction amount of the cylinder is increased. And then each other The fuel injection amount and the ignition timing are set for each cylinder by correcting the basic injection amount and the basic ignition timing based on the injection correction amount and the ignition timing correction amount. For each cylinder, the air-fuel ratio overrich and over lean can be prevented, and the correction term for suppressing the idle speed fluctuation can be controlled only by one term for setting the ignition timing and the fuel injection amount. It is possible to prevent the system from becoming complicated and the calculation load from increasing.

さらに、補正効果が小さい燃料噴射量の補正を優先
し、噴射補正量が許容上下限値に達して燃料噴射補正で
は補正が不十分かつ当該気筒における空燃比が目標空燃
比から大きく外れると判断されるときにのみ、燃焼状態
に対する補正効果の大きい点火時期の補正を行うと共
に、燃料噴射補正量を元に戻して再度燃料噴射量補正を
開始させるため、アイドル回転数変動を抑制するための
点火時期補正量の更新は、噴射補正量の更新に対して少
なく、かつ大きな補正効果を狙って行うので、その更新
のための設定量は極微細値とする必要がなく、点火時期
制御精度を必要以上に上げることなく、且つ分解能の高
い制御装置を用いることなく実現することができる。
Further, the correction of the fuel injection amount with a small correction effect is prioritized, and it is determined that the injection correction amount reaches the allowable upper and lower limit values, the correction is insufficient with the fuel injection correction, and the air-fuel ratio in the cylinder is largely deviated from the target air-fuel ratio. The ignition timing is corrected to suppress the fluctuation of the idle speed because the ignition timing is corrected only when the combustion state is corrected and the fuel injection correction amount is returned to the original value to restart the fuel injection amount correction. Since the update of the correction amount is performed with the aim of achieving a large correction effect with a small amount compared to the update of the injection correction amount, it is not necessary to set the set amount for the update to an extremely fine value, and ignition timing control accuracy is required more than necessary. Can be realized without using a control device having high resolution.

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

第1図は本発明の基本概念を示すクレーム対応図、第2
図〜第10図は本発明の第一実施例を示し、第2図はエン
ジン制御系の全体概略図、第3図はクランクロータとク
ランク角センサの正面図、第4図はカムロータとカム角
センサの正面図、第5図は基本点火時期マップの概念
図、第6図は気筒内圧力変動、クランクパルス、カムパ
ルス、および、エンジン回転数の関係を示すタイムチャ
ート、第7図は気筒別平均差回転速度算出手順を示すフ
ローチャート、第8図は気筒別燃料噴射制御手順を示す
フローチャート、第9図は気筒別点火時期制御手順を示
すフローチャート、第10図は気筒別平均差回転速度、気
筒別無効噴射補正パルス幅、及び気筒別点火時期補正学
習値の関係を示すタイムチャート、第11図は本発明の第
二実施例による気筒別燃料噴射制御手順を示すフローチ
ャート、第12図〜第14図は本発明の第三実施例を示し、
第12図は気筒別平均差角加速度算出手順を示すフローチ
ャート、第13図は気筒別燃料噴射制御手順を示すフロー
チャート、第14図はクランクパルス、カムパルス、エン
ジン回転数および角加速度の関係を示すタイムチャー
ト、第15図、第16図は本発明の第四実施例を示し、第15
図は気筒別平均差周期算出手順を示すフローチャート、
第16図は気筒別燃料噴射制御手順を示すフローチャー
ト、第17図以下は本発明の第五実施例を示し、第17図は
気筒別平均差角速度算出手順を示すフローチャート、第
18図は気筒別燃料噴射制御手順を示すフローチャート、
第19図は気筒別点火時期制御手順を示すフローチャート
である。 M1……エンジン運転状態検出手段、M2……クランク角検
出手段、M3……アイドル判別手段、M4……燃料状態判別
手段、M5……噴射補正量設定手段、M6……点火時期補正
量設定手段、M7……噴射量演算手段、M8……燃料供給手
段、M9……点火時期演算手段、M10……点火手段。
FIG. 1 is a claim correspondence diagram showing the basic concept of the present invention, and FIG.
1 to 10 show a first embodiment of the present invention, FIG. 2 is an overall schematic view of an engine control system, FIG. 3 is a front view of a crank rotor and a crank angle sensor, and FIG. 4 is a cam rotor and a cam angle. A front view of the sensor, FIG. 5 is a conceptual diagram of a basic ignition timing map, FIG. 6 is a time chart showing the relationship between cylinder pressure fluctuation, crank pulse, cam pulse, and engine speed, and FIG. 7 is an average by cylinder. FIG. 8 is a flow chart showing a differential rotation speed calculation procedure, FIG. 8 is a flow chart showing a cylinder-by-cylinder fuel injection control procedure, FIG. 9 is a flow chart showing a cylinder-by-cylinder ignition timing control procedure, and FIG. 10 is a cylinder-by-cylinder average differential rotation speed, by cylinder. A time chart showing the relationship between the invalid injection correction pulse width and the individual cylinder ignition timing correction learning value, FIG. 11 is a flowchart showing the individual cylinder fuel injection control procedure according to the second embodiment of the present invention, and FIGS. 12 to 14 Shows a third embodiment of the present invention,
FIG. 12 is a flowchart showing the procedure for calculating the average differential angular acceleration for each cylinder, FIG. 13 is a flowchart showing the procedure for controlling the fuel injection for each cylinder, and FIG. 14 is a time showing the relationship between crank pulse, cam pulse, engine speed and angular acceleration. Charts, FIG. 15 and FIG. 16 show a fourth embodiment of the present invention.
The figure is a flowchart showing the procedure for calculating the average difference period for each cylinder.
FIG. 16 is a flow chart showing the fuel injection control procedure for each cylinder, FIG. 17 and the following show the fifth embodiment of the present invention, and FIG. 17 is a flow chart showing the average difference angular velocity calculation procedure for each cylinder.
FIG. 18 is a flowchart showing the fuel injection control procedure for each cylinder.
FIG. 19 is a flowchart showing the ignition timing control procedure for each cylinder. M1 ... Engine operating state detecting means, M2 ... crank angle detecting means, M3 ... idle determining means, M4 ... fuel state determining means, M5 ... injection correction amount setting means, M6 ... ignition timing correction amount setting means , M7 ... injection amount calculation means, M8 ... fuel supply means, M9 ... ignition timing calculation means, M10 ... ignition means.

Claims (1)

(57)【特許請求の範囲】(57) [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 discriminating a cylinder in a combustion stroke and a signal corresponding to a predetermined crank angle, and an engine idle. Idle determination means for determining the state from the engine operating state, and when the engine is in the idle state, detects an engine rotation fluctuation difference for each predetermined crank angle, compares the engine rotation fluctuation difference with the upper limit value and the lower limit value, and Combustion state determination means for determining the combustion state of the combustion stroke cylinder, and when the engine is idle and the rotational fluctuation difference of the cylinder exceeds the upper limit value, or the injection correction amount of the cylinder exceeds the allowable upper limit value. When it exceeds, the injection correction amount of the cylinder is reduced by a set amount, the injection correction amounts of the other cylinders are equally distributed and increased according to the reduction amount, and In the dollar state, when the rotational fluctuation difference of the cylinder is lower than the lower limit value, or when the injection correction amount of the cylinder is lower than the allowable lower limit value, the injection correction amount of the cylinder is increased by the set amount and is increased by the amount. Correspondingly, the injection correction amount setting means for setting the injection correction amount for each of the other cylinders by equally reducing the amount, and when the injection correction amount for the cylinder exceeds the allowable upper limit value while the engine is in the idle state, An ignition timing correction amount setting means for advancing the ignition timing correction amount by a set amount and retarding the ignition timing correction amount for the cylinder by a set amount when the injection correction amount for the cylinder is lower than an allowable lower limit value; An injection amount calculation means for calculating the basic injection amount based on the operating state and correcting the basic injection amount by the injection correction amount of the corresponding cylinder to calculate the fuel injection amount for each cylinder when shifting to the idle state, and the above injection amount. Operator The fuel supply means for supplying fuel to the corresponding cylinder based on the output of the engine and the basic ignition timing is calculated based on the engine operating state, and when the engine shifts to the idle state, the basic ignition timing is corrected by the ignition timing correction amount of the corresponding cylinder. Idle control of a multi-cylinder engine, comprising: an ignition timing calculation means for calculating an ignition timing for each cylinder; and an ignition means for igniting an air-fuel mixture of corresponding cylinders based on an output of the ignition timing calculation means. apparatus.
JP2178252A 1990-07-04 1990-07-04 Idle control device for multi-cylinder engine Expired - Fee Related JP2505304B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2178252A JP2505304B2 (en) 1990-07-04 1990-07-04 Idle control device for multi-cylinder engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2178252A JP2505304B2 (en) 1990-07-04 1990-07-04 Idle control device for multi-cylinder engine

Publications (2)

Publication Number Publication Date
JPH0466750A JPH0466750A (en) 1992-03-03
JP2505304B2 true JP2505304B2 (en) 1996-06-05

Family

ID=16045248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2178252A Expired - Fee Related JP2505304B2 (en) 1990-07-04 1990-07-04 Idle control device for multi-cylinder engine

Country Status (1)

Country Link
JP (1) JP2505304B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031820B2 (en) 2003-09-30 2006-04-18 Toyota Jidosha Kabushiki Kaisha Internal combustion engine controller
US7040284B2 (en) 2004-03-29 2006-05-09 Toyota Jidosha Kabushiki Kaisha Internal combustion engine controller

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4488509B2 (en) * 2004-10-07 2010-06-23 ヤンマー株式会社 Gas engine
JP4775166B2 (en) * 2006-08-10 2011-09-21 トヨタ自動車株式会社 Control device for internal combustion engine
JP5212318B2 (en) * 2009-09-04 2013-06-19 トヨタ自動車株式会社 Vehicle engine control device
CN114233500B (en) * 2021-12-22 2024-02-20 潍柴动力股份有限公司 Control method for working uniformity of each cylinder of large-cylinder-diameter diesel engine and diesel engine
CN114412682B (en) * 2022-01-04 2023-12-15 武汉菱电汽车电控系统股份有限公司 Separate cylinder ignition control method and system for enhancing idle speed stability

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2510250B2 (en) * 1988-08-30 1996-06-26 日産自動車株式会社 Combustion control device for internal combustion engine

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031820B2 (en) 2003-09-30 2006-04-18 Toyota Jidosha Kabushiki Kaisha Internal combustion engine controller
US7040284B2 (en) 2004-03-29 2006-05-09 Toyota Jidosha Kabushiki Kaisha Internal combustion engine controller
CN100395443C (en) * 2004-03-29 2008-06-18 丰田自动车株式会社 Internal combustion engine controller

Also Published As

Publication number Publication date
JPH0466750A (en) 1992-03-03

Similar Documents

Publication Publication Date Title
US4448162A (en) Optimum control for internal combustion engines
JP2505304B2 (en) Idle control device for multi-cylinder engine
JP2003286890A (en) Controller for engine
JPH0233472A (en) Ignition timing control device for engine
JPH0783150A (en) Ignition timing control device for internal combustion engine
JPH0751926B2 (en) Ignition timing control device for internal combustion engine
JPH06330788A (en) Fuel injection control device for multicylinder internal combustion engine
US5222470A (en) Ignition timing controlling system for engine
JP2835981B2 (en) Ignition timing control device for internal combustion engine
JP2000205025A (en) Control apparatus for engine
JP2828117B2 (en) Engine idle control device
JP2821251B2 (en) Engine idle control device
JP2505311B2 (en) Engine idle control method
JP3427626B2 (en) Ignition timing control device for internal combustion engine
JPS60159372A (en) Ignition-timing control for internal-combustion engine
JPH0347471A (en) Ignition control device for internal combustion engine
JPH05157033A (en) Ignition timing control device for internal combustion engine
JPH02125967A (en) Ignition time controller for internal combustion engine
JPH0751914B2 (en) Cylinder combustion state identification method for each engine
JPH0411742B2 (en)
JPH09324676A (en) Fuel injection control device of engine
JP2903848B2 (en) Idle speed control device for internal combustion engine
JP2528168B2 (en) Ignition timing control device for internal combustion engine
JP2563100B2 (en) Engine controller
JP3733619B2 (en) Control device for internal combustion engine

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees