JP2000205025A - エンジンの制御装置 - Google Patents
エンジンの制御装置Info
- Publication number
- JP2000205025A JP2000205025A JP11008141A JP814199A JP2000205025A JP 2000205025 A JP2000205025 A JP 2000205025A JP 11008141 A JP11008141 A JP 11008141A JP 814199 A JP814199 A JP 814199A JP 2000205025 A JP2000205025 A JP 2000205025A
- Authority
- JP
- Japan
- Prior art keywords
- cylinder
- differential rotation
- amount
- fuel injection
- ignition timing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000000446 fuel Substances 0.000 claims abstract description 149
- 238000002347 injection Methods 0.000 claims abstract description 125
- 239000007924 injection Substances 0.000 claims abstract description 125
- 238000002485 combustion reaction Methods 0.000 claims abstract description 107
- 238000012937 correction Methods 0.000 claims abstract description 98
- 230000003247 decreasing effect Effects 0.000 claims description 12
- 230000000979 retarding effect Effects 0.000 claims description 10
- 238000012935 Averaging Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 4
- 230000000087 stabilizing effect Effects 0.000 abstract description 4
- 238000000034 method Methods 0.000 description 40
- 238000004364 calculation method Methods 0.000 description 38
- 230000006641 stabilisation Effects 0.000 description 10
- 238000011105 stabilization Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 239000000498 cooling water Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 101100074137 Arabidopsis thaliana IRX12 gene Proteins 0.000 description 2
- 101150022713 LAC4 gene Proteins 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000003197 catalytic effect Effects 0.000 description 2
- 239000002828 fuel tank Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 101100134722 Arabidopsis thaliana O3L5 gene Proteins 0.000 description 1
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 1
- 101100219325 Phaseolus vulgaris BA13 gene Proteins 0.000 description 1
- 101001062854 Rattus norvegicus Fatty acid-binding protein 5 Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000003502 gasoline Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
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)
Abstract
(57)【要約】
【課題】 アイドル運転時の各気筒の燃焼状態を安定さ
せると共に気筒間の出力トルクを均一化することで、不
快な低周波振動の発生を抑制してアイドル運転を安定化
し、有害な排気エミッションの減少及び燃費向上を図
る。 【解決手段】 アイドル運転中であると判定すると(S
51,S52)、各気筒の差回転平均値TCLAVE、
及び、差回転TCYLACと差回転平均値TCLAVE
との差の絶対値を積算した差回転変動量積算値TCLS
UMを算出し(S59,S66,…)、差回転平均値T
CLAVEに基づいて点火時期補正量を設定すると共
に、差回転変動量積算値TCLSUMに基づいて燃料噴
射補正量を設定する。そして、各気筒毎の燃料噴射量と
点火時期とを補正して各気筒の燃焼状態を均一化すると
共に気筒間の出力トルクのばらつきを均一化し、不快な
低周波振動の発生を抑制して有害な排気エミッションの
減少及び燃費向上を図る。
せると共に気筒間の出力トルクを均一化することで、不
快な低周波振動の発生を抑制してアイドル運転を安定化
し、有害な排気エミッションの減少及び燃費向上を図
る。 【解決手段】 アイドル運転中であると判定すると(S
51,S52)、各気筒の差回転平均値TCLAVE、
及び、差回転TCYLACと差回転平均値TCLAVE
との差の絶対値を積算した差回転変動量積算値TCLS
UMを算出し(S59,S66,…)、差回転平均値T
CLAVEに基づいて点火時期補正量を設定すると共
に、差回転変動量積算値TCLSUMに基づいて燃料噴
射補正量を設定する。そして、各気筒毎の燃料噴射量と
点火時期とを補正して各気筒の燃焼状態を均一化すると
共に気筒間の出力トルクのばらつきを均一化し、不快な
低周波振動の発生を抑制して有害な排気エミッションの
減少及び燃費向上を図る。
Description
【0001】
【発明の属する技術分野】本発明は、アイドル運転時の
各気筒の燃焼状態を安定させると共に気筒間の出力トル
クを均一化するエンジンの制御装置に関する。
各気筒の燃焼状態を安定させると共に気筒間の出力トル
クを均一化するエンジンの制御装置に関する。
【0002】
【従来の技術】一般に、エンジンのアイドル安定性を向
上するためには、気筒間の燃焼状態のばらつきを抑制す
ることが必要である。各気筒の燃焼状態は、燃焼行程中
の気筒の筒内圧(燃焼圧)と、燃焼行程から次の燃焼行
程の間のエンジン回転との間に強い相関があることか
ら、気筒間の所定クランク角毎のエンジン回転状態量の
変化に基づいて判断することが可能である。
上するためには、気筒間の燃焼状態のばらつきを抑制す
ることが必要である。各気筒の燃焼状態は、燃焼行程中
の気筒の筒内圧(燃焼圧)と、燃焼行程から次の燃焼行
程の間のエンジン回転との間に強い相関があることか
ら、気筒間の所定クランク角毎のエンジン回転状態量の
変化に基づいて判断することが可能である。
【0003】例えば、特許番号第2505304号公報
には、エンジンがアイドル状態のとき、所定クランク角
毎のエンジン回転変動差を検出し、所定の気筒のエンジ
ン回転変動差が上限値を越えているときには、当該気筒
の燃料噴射補正量を設定量減量すると共に、その減量分
に対応して他の気筒の燃料噴射補正量を等分配増量し、
一方、所定の気筒のエンジン回転変動差が下限値より低
いときには、当該気筒の燃料噴射補正量を設定量増量す
ると共に、その増量分に対応して他の気筒の燃料噴射補
正量を等分配減量することでアイドル安定化を図り、燃
料噴射量の補正を重ねて噴射補正量が許容上限値を越え
た場合或いは許容下限値より低くなった場合には、点火
時期を進角或いは遅角補正する技術が開示されている。
には、エンジンがアイドル状態のとき、所定クランク角
毎のエンジン回転変動差を検出し、所定の気筒のエンジ
ン回転変動差が上限値を越えているときには、当該気筒
の燃料噴射補正量を設定量減量すると共に、その減量分
に対応して他の気筒の燃料噴射補正量を等分配増量し、
一方、所定の気筒のエンジン回転変動差が下限値より低
いときには、当該気筒の燃料噴射補正量を設定量増量す
ると共に、その増量分に対応して他の気筒の燃料噴射補
正量を等分配減量することでアイドル安定化を図り、燃
料噴射量の補正を重ねて噴射補正量が許容上限値を越え
た場合或いは許容下限値より低くなった場合には、点火
時期を進角或いは遅角補正する技術が開示されている。
【0004】
【発明が解決しようとする課題】しかしながら、先の先
行技術では、気筒毎の燃料噴射量の補正を主とし、所定
気筒の噴射補正量が上限値あるいは下限値に達したとき
に初めて点火時期を従として補正する、いわば直列的な
補正であるため、結果的に燃料噴射量が気筒毎にばらつ
くことは避けられず、全体として有害な排気エミッショ
ンを減少する上では、必ずしも有利とは言えない。
行技術では、気筒毎の燃料噴射量の補正を主とし、所定
気筒の噴射補正量が上限値あるいは下限値に達したとき
に初めて点火時期を従として補正する、いわば直列的な
補正であるため、結果的に燃料噴射量が気筒毎にばらつ
くことは避けられず、全体として有害な排気エミッショ
ンを減少する上では、必ずしも有利とは言えない。
【0005】また、ある気筒の吸入空気量が多いことが
原因でエンジン回転変動差が大きくなった場合、当該気
筒の燃料噴射量を減少させるため、当該気筒は空燃比が
薄い状態で燃焼することになり、他の気筒に対して出力
トルクが相対的に低下する。このため、比較的長い周期
でのうねり状の回転変動が発生する可能性があり、乗員
に不快感を与える虞がある。
原因でエンジン回転変動差が大きくなった場合、当該気
筒の燃料噴射量を減少させるため、当該気筒は空燃比が
薄い状態で燃焼することになり、他の気筒に対して出力
トルクが相対的に低下する。このため、比較的長い周期
でのうねり状の回転変動が発生する可能性があり、乗員
に不快感を与える虞がある。
【0006】本発明は上記事情に鑑みてなされたもの
で、アイドル運転時の各気筒の燃焼状態を安定させると
共に気筒間の出力トルクを均一化することで、不快な低
周波振動の発生を抑制してアイドル運転を安定化し、有
害な排気エミッションの減少及び燃費向上を図ることの
できるエンジンの制御装置を提供することを目的として
いる。
で、アイドル運転時の各気筒の燃焼状態を安定させると
共に気筒間の出力トルクを均一化することで、不快な低
周波振動の発生を抑制してアイドル運転を安定化し、有
害な排気エミッションの減少及び燃費向上を図ることの
できるエンジンの制御装置を提供することを目的として
いる。
【0007】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明は、気筒間における所定クラン
ク角毎のエンジン回転状態量を検出するエンジン回転状
態量検出手段と、現在の燃焼行程気筒を判別する気筒判
別手段と、エンジンのアイドル状態を、エンジン運転状
態から判別するアイドル判別手段と、エンジンがアイド
ル状態のとき、今回の燃焼行程気筒に対応するエンジン
回転状態量から1燃焼行程前の気筒に対応するエンジン
回転状態量を減算し、今回の燃焼行程気筒に対する差回
転状態量として算出する差回転状態量算出手段と、所定
期間における各気筒毎の上記差回転状態量を平均処理
し、各気筒毎の差回転状態量平均値として算出する差回
転状態量平均値算出手段と、所定期間における各気筒毎
の上記差回転状態量と上記差回転状態量平均値との差の
絶対値を積算処理し、各気筒毎の差回転変動量積算値と
して算出する差回転変動量積算値算出手段と、アイドル
状態時に、上記差回転変動量積算値が最も小さい気筒に
対して燃料噴射量を減量補正すると共に、差回転変動量
積算値が最も大きい気筒に対して燃料噴射量を増量補正
する燃料噴射制御手段と、上記差回転状態量平均値が最
も低い気筒に対して点火時期を進角補正すると共に、差
回転状態量平均値が最も高い気筒に対して点火時期を遅
角補正する点火時期制御手段とを備えたことを特微とす
る。
め、請求項1記載の発明は、気筒間における所定クラン
ク角毎のエンジン回転状態量を検出するエンジン回転状
態量検出手段と、現在の燃焼行程気筒を判別する気筒判
別手段と、エンジンのアイドル状態を、エンジン運転状
態から判別するアイドル判別手段と、エンジンがアイド
ル状態のとき、今回の燃焼行程気筒に対応するエンジン
回転状態量から1燃焼行程前の気筒に対応するエンジン
回転状態量を減算し、今回の燃焼行程気筒に対する差回
転状態量として算出する差回転状態量算出手段と、所定
期間における各気筒毎の上記差回転状態量を平均処理
し、各気筒毎の差回転状態量平均値として算出する差回
転状態量平均値算出手段と、所定期間における各気筒毎
の上記差回転状態量と上記差回転状態量平均値との差の
絶対値を積算処理し、各気筒毎の差回転変動量積算値と
して算出する差回転変動量積算値算出手段と、アイドル
状態時に、上記差回転変動量積算値が最も小さい気筒に
対して燃料噴射量を減量補正すると共に、差回転変動量
積算値が最も大きい気筒に対して燃料噴射量を増量補正
する燃料噴射制御手段と、上記差回転状態量平均値が最
も低い気筒に対して点火時期を進角補正すると共に、差
回転状態量平均値が最も高い気筒に対して点火時期を遅
角補正する点火時期制御手段とを備えたことを特微とす
る。
【0008】請求項2記載の発明は、気筒間における所
定クランク角毎のエンジン回転状態量を検出するエンジ
ン回転状態量検出手段と、現在の燃焼行程気筒を判別す
る気筒判別手段と、エンジンのアイドル状態を、エンジ
ン運転状態から判別するアイドル判別手段と、エンジン
がアイドル状態のとき、1燃焼行程前の気筒に対応する
エンジン回転状態量から今回の燃焼行程気筒に対応する
エンジン回転状態量を減算し、今回の燃焼行程気筒に対
する差回転状態量として算出する差回転状態量算出手段
と、所定期間における気筒毎の上記差回転状態量を平均
処理し、各気筒毎の差回転状態量平均値として算出する
差回転状態量平均値算出手段と、所定期間における各気
筒毎の上記差回転状態量と上記差回転状態量平均値との
差の絶対値を積算処理し、各気筒毎の差回転変動量積算
値として算出する差回転変動量積算値算出手段と、アイ
ドル状態時に、上記差回転変動量積算値が最も小さい気
筒に対して燃料噴射量を減量補正すると共に、差回転変
動量積算値が最も大きい気筒に対して燃料噴射量を増量
補正する燃料噴射制御手段と、上記差回転状態量平均値
が最も高い気筒に対して点火時期を進角補正すると共
に、差回転状態量平均値が最も低い気筒に対して点火時
期を遅角補正する点火時期制御手段とを備えたことを特
徴とする。
定クランク角毎のエンジン回転状態量を検出するエンジ
ン回転状態量検出手段と、現在の燃焼行程気筒を判別す
る気筒判別手段と、エンジンのアイドル状態を、エンジ
ン運転状態から判別するアイドル判別手段と、エンジン
がアイドル状態のとき、1燃焼行程前の気筒に対応する
エンジン回転状態量から今回の燃焼行程気筒に対応する
エンジン回転状態量を減算し、今回の燃焼行程気筒に対
する差回転状態量として算出する差回転状態量算出手段
と、所定期間における気筒毎の上記差回転状態量を平均
処理し、各気筒毎の差回転状態量平均値として算出する
差回転状態量平均値算出手段と、所定期間における各気
筒毎の上記差回転状態量と上記差回転状態量平均値との
差の絶対値を積算処理し、各気筒毎の差回転変動量積算
値として算出する差回転変動量積算値算出手段と、アイ
ドル状態時に、上記差回転変動量積算値が最も小さい気
筒に対して燃料噴射量を減量補正すると共に、差回転変
動量積算値が最も大きい気筒に対して燃料噴射量を増量
補正する燃料噴射制御手段と、上記差回転状態量平均値
が最も高い気筒に対して点火時期を進角補正すると共
に、差回転状態量平均値が最も低い気筒に対して点火時
期を遅角補正する点火時期制御手段とを備えたことを特
徴とする。
【0009】請求項3記載の発明は、請求項1或いは請
求項2記載の発明において、上記燃料噴射制御手段は、
アイドル状態時に、上記差回転変動量積算値に応じて燃
料噴射量を増量或いは減量補正するための燃料噴射補正
量を気筒別に設定し、エンジン運転状態に基づいて演算
した燃料噴射量を上記気筒別燃料噴射補正量により補正
して気筒別に最終的な燃料噴射量を設定すると共に、上
記気筒別燃料噴射補正量を学習値として記憶保持して随
時更新し、上記点火時期制御手段は、アイドル状態時
に、上記差回転状態量平均値に応じて点火時期を進角或
いは遅角するための点火時期補正量を気筒別に設定し、
エンジン運転状態に基づいて演算した点火時期を上記気
筒別点火時期補正量により補正して気筒別に最終的な点
火時期を設定すると共に、上記気筒別点火時期補正量を
学習値として記憶保持して随時更新することを特徴とす
る。
求項2記載の発明において、上記燃料噴射制御手段は、
アイドル状態時に、上記差回転変動量積算値に応じて燃
料噴射量を増量或いは減量補正するための燃料噴射補正
量を気筒別に設定し、エンジン運転状態に基づいて演算
した燃料噴射量を上記気筒別燃料噴射補正量により補正
して気筒別に最終的な燃料噴射量を設定すると共に、上
記気筒別燃料噴射補正量を学習値として記憶保持して随
時更新し、上記点火時期制御手段は、アイドル状態時
に、上記差回転状態量平均値に応じて点火時期を進角或
いは遅角するための点火時期補正量を気筒別に設定し、
エンジン運転状態に基づいて演算した点火時期を上記気
筒別点火時期補正量により補正して気筒別に最終的な点
火時期を設定すると共に、上記気筒別点火時期補正量を
学習値として記憶保持して随時更新することを特徴とす
る。
【0010】すなわち、請求項1記載の発明では、気筒
間における所定クランク角毎のエンジン回転状態量を検
出し、アイドル状態のとき、今回の燃焼行程気筒に対応
するエンジン回転状態量から1燃焼行程前の気筒に対応
するエンジン回転状態量を減算して、今回の燃焼行程気
筒に対する差回転状態量として算出する。そして、所定
期間における気筒毎の差回転状態量を平均処理して各気
筒毎の差回転状態量平均値を算出すると共に、所定期間
における各気筒毎の差回転状態量と差回転状態量平均値
との差の絶対値を積算処理して各気筒毎の差回転変動量
積算値を算出する。そして、差回転変動量積算値が最も
小さい気筒の燃料噴射量を減量補正すると共に、差回転
変動量積算値が最も大きい気筒に対して燃料噴射量を増
量補正することで、各気筒の燃焼状態を均一化し、ま
た、差回転状態量平均値が最も低い気筒の点火時期を進
角させ、差回転状態量平均値が最も高い気筒の点火時期
を遅角させることで、気筒間の出力トルクのばらつきを
抑制する。
間における所定クランク角毎のエンジン回転状態量を検
出し、アイドル状態のとき、今回の燃焼行程気筒に対応
するエンジン回転状態量から1燃焼行程前の気筒に対応
するエンジン回転状態量を減算して、今回の燃焼行程気
筒に対する差回転状態量として算出する。そして、所定
期間における気筒毎の差回転状態量を平均処理して各気
筒毎の差回転状態量平均値を算出すると共に、所定期間
における各気筒毎の差回転状態量と差回転状態量平均値
との差の絶対値を積算処理して各気筒毎の差回転変動量
積算値を算出する。そして、差回転変動量積算値が最も
小さい気筒の燃料噴射量を減量補正すると共に、差回転
変動量積算値が最も大きい気筒に対して燃料噴射量を増
量補正することで、各気筒の燃焼状態を均一化し、ま
た、差回転状態量平均値が最も低い気筒の点火時期を進
角させ、差回転状態量平均値が最も高い気筒の点火時期
を遅角させることで、気筒間の出力トルクのばらつきを
抑制する。
【0011】また、請求項2記載の発明のように、今回
の燃焼行程気筒に対する差回転状態量として、アイドル
状態のとき、1燃焼行程前の気筒に対応するエンジン回
転状態量から今回の燃焼行程気筒に対応するエンジン回
転状態量を減算して算出しても良く、この場合は、点火
時期の進角、遅角補正が逆となり、差回転状態量平均値
が最も高い気筒に対して点火時期を進角させ、差回転状
態量平均値が最も低い気筒に対して点火時期を遅角させ
る。
の燃焼行程気筒に対する差回転状態量として、アイドル
状態のとき、1燃焼行程前の気筒に対応するエンジン回
転状態量から今回の燃焼行程気筒に対応するエンジン回
転状態量を減算して算出しても良く、この場合は、点火
時期の進角、遅角補正が逆となり、差回転状態量平均値
が最も高い気筒に対して点火時期を進角させ、差回転状
態量平均値が最も低い気筒に対して点火時期を遅角させ
る。
【0012】さらに、請求項3記載の発明では、アイド
ル状態時に、燃料噴射量及び点火時期を補正するに際
し、差回転変動量積算値に応じて燃料噴射量を増量或い
は減量補正するための燃料噴射補正量を気筒別に設定
し、エンジン運転状態に基づいて演算した燃料噴射量を
気筒別燃料噴射補正量により補正して気筒別に最終的な
燃料噴射量を設定する。また、アイドル状態時に、差回
転状態量平均値に応じて点火時期を進角或いは遅角する
ための点火時期補正量を気筒別に設定し、エンジン運転
状態に基づいて演算した点火時期を気筒別点火時期補正
量により補正して気筒別に最終的な点火時期を設定す
る。そして、これらの気筒別燃料噴射補正量および気筒
別点火時期補正量を学習値として記憶保持して随時更新
することで、制御性の向上を図る。
ル状態時に、燃料噴射量及び点火時期を補正するに際
し、差回転変動量積算値に応じて燃料噴射量を増量或い
は減量補正するための燃料噴射補正量を気筒別に設定
し、エンジン運転状態に基づいて演算した燃料噴射量を
気筒別燃料噴射補正量により補正して気筒別に最終的な
燃料噴射量を設定する。また、アイドル状態時に、差回
転状態量平均値に応じて点火時期を進角或いは遅角する
ための点火時期補正量を気筒別に設定し、エンジン運転
状態に基づいて演算した点火時期を気筒別点火時期補正
量により補正して気筒別に最終的な点火時期を設定す
る。そして、これらの気筒別燃料噴射補正量および気筒
別点火時期補正量を学習値として記憶保持して随時更新
することで、制御性の向上を図る。
【0013】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図1〜図14は本発明の実施の一
形態に係わり、図1〜図4はアイドル安定化制御ルーチ
ンのフローチャート、図5は気筒判別/エンジン回転速
度算出ルーチンのフローチャート、図6は気筒別燃料噴
射制御ルーチンのフローチャート、図7は気筒別点火時
期制御ルーチンのフローチャート、図8はクランクパル
ス、気筒判別パルス、燃焼行程気筒、点火タイミング、
及び燃料噴射タイミングの関係を示すタイムチャート、
図9は各気筒毎の差回転の算出状態を示すタイミングチ
ャート、図10は差回転の変動状態を示す説明図、図1
1はエンジンの全体概略図、図12はクランクロータと
クランク角センサの正面図、図13はカムロータと気筒
判別センサの正面図、図14は電子制御系の回路構成図
である。
施の形態を説明する。図1〜図14は本発明の実施の一
形態に係わり、図1〜図4はアイドル安定化制御ルーチ
ンのフローチャート、図5は気筒判別/エンジン回転速
度算出ルーチンのフローチャート、図6は気筒別燃料噴
射制御ルーチンのフローチャート、図7は気筒別点火時
期制御ルーチンのフローチャート、図8はクランクパル
ス、気筒判別パルス、燃焼行程気筒、点火タイミング、
及び燃料噴射タイミングの関係を示すタイムチャート、
図9は各気筒毎の差回転の算出状態を示すタイミングチ
ャート、図10は差回転の変動状態を示す説明図、図1
1はエンジンの全体概略図、図12はクランクロータと
クランク角センサの正面図、図13はカムロータと気筒
判別センサの正面図、図14は電子制御系の回路構成図
である。
【0014】先ず、図11に基づいてエンジンの全体構
成について説明する。同図において、符号1はエンジン
であり、本形態においては水平対向型4気筒ガソリンエ
ンジンである。このエンジン1のシリンダブロック1a
の左右両バンクには、シリンダヘッド2がそれぞれ設け
られ、各シリンダヘッド2に吸気ポート2aと排気ポー
ト2bが形成されている。
成について説明する。同図において、符号1はエンジン
であり、本形態においては水平対向型4気筒ガソリンエ
ンジンである。このエンジン1のシリンダブロック1a
の左右両バンクには、シリンダヘッド2がそれぞれ設け
られ、各シリンダヘッド2に吸気ポート2aと排気ポー
ト2bが形成されている。
【0015】エンジン1の吸気系は、各吸気ポート2a
にインテークマニホルド3が連通され、このインテーク
マニホルド3に各気筒の吸気通路が集合するエアチャン
バ4を介してスロットルチャンバ5が連通されている。
そして、このスロットルチャンバ5の上流側に吸気管6
を介してエアクリーナ7が取り付けられ、このエアクリ
ーナ7がエアインテークチャンバ8に連通されている。
にインテークマニホルド3が連通され、このインテーク
マニホルド3に各気筒の吸気通路が集合するエアチャン
バ4を介してスロットルチャンバ5が連通されている。
そして、このスロットルチャンバ5の上流側に吸気管6
を介してエアクリーナ7が取り付けられ、このエアクリ
ーナ7がエアインテークチャンバ8に連通されている。
【0016】また、スロットルチャンバ5には、アクセ
ルペダルに連動するスロットル弁5aが設けられてい
る。吸気管6には、スロットル弁5aをバイパスするバ
イパス通路9が接続され、このバイパス通路9に、アイ
ドル時にその弁開度によって該バイパス通路9を流れる
バイパス空気量を調整することでアイドル回転数を制御
するアイドル回転数制御弁(ISC弁)10が介装され
ている。
ルペダルに連動するスロットル弁5aが設けられてい
る。吸気管6には、スロットル弁5aをバイパスするバ
イパス通路9が接続され、このバイパス通路9に、アイ
ドル時にその弁開度によって該バイパス通路9を流れる
バイパス空気量を調整することでアイドル回転数を制御
するアイドル回転数制御弁(ISC弁)10が介装され
ている。
【0017】更に、インテークマニホルド3の各気筒の
吸気ポート2aの直上流側にインジェクタ11が配設さ
れている。インジェクタ11は燃料供給路12を介して
燃料タンク13に連通されており、この燃料タンク13
にはインタンク式の燃料ポンプ14が設けられている。
この燃料ポンプ14からの燃料が、燃料供給路12に介
装された燃料フィルタ15を経てインジェクタ11及び
プレッシャレギュレータ16に圧送され、このプレッシ
ャレギュレータ16から燃料タンク13にリターンされ
て、インジェクタ11への燃料圧力が所定の圧力に調圧
される。
吸気ポート2aの直上流側にインジェクタ11が配設さ
れている。インジェクタ11は燃料供給路12を介して
燃料タンク13に連通されており、この燃料タンク13
にはインタンク式の燃料ポンプ14が設けられている。
この燃料ポンプ14からの燃料が、燃料供給路12に介
装された燃料フィルタ15を経てインジェクタ11及び
プレッシャレギュレータ16に圧送され、このプレッシ
ャレギュレータ16から燃料タンク13にリターンされ
て、インジェクタ11への燃料圧力が所定の圧力に調圧
される。
【0018】一方、シリンダヘッド2の各気筒毎に、先
端の放電電極を燃焼室に露呈する点火プラグ17が取り
付けられ、この点火プラグ17に、イグナイタ19を内
蔵するイグニッションコイル18が接続されている。
端の放電電極を燃焼室に露呈する点火プラグ17が取り
付けられ、この点火プラグ17に、イグナイタ19を内
蔵するイグニッションコイル18が接続されている。
【0019】また、エンジン1の排気系としては、シリ
ンダヘッド2の各排気ポート2bに連通するエキゾース
トマニホルド20の集合部に排気管21が連通され、こ
の排気管21に触媒コンバータ22が介装されてマフラ
23に連通されている。
ンダヘッド2の各排気ポート2bに連通するエキゾース
トマニホルド20の集合部に排気管21が連通され、こ
の排気管21に触媒コンバータ22が介装されてマフラ
23に連通されている。
【0020】次に、エンジン運転状態を検出するための
センサ類について説明する。吸気管6のエアクリーナ7
の直下流に、ホットワイヤ或いはホットフィルム等を用
いた熱式の吸入空気量センサ24が介装され、更に、ス
ロットルチャンバ5に設けられたスロットル弁5aに、
スロットル弁5aの開度を検出するためのスロットル開
度センサ25が連設されている。
センサ類について説明する。吸気管6のエアクリーナ7
の直下流に、ホットワイヤ或いはホットフィルム等を用
いた熱式の吸入空気量センサ24が介装され、更に、ス
ロットルチャンバ5に設けられたスロットル弁5aに、
スロットル弁5aの開度を検出するためのスロットル開
度センサ25が連設されている。
【0021】また、エンジン1のシリンダブロック1a
にノックセンサ26が取り付けられていると共に、シリ
ンダブロック1aの左右バンクを連通する冷却水通路2
7に冷却水温センサ28が臨まされ、更に、触媒コンバ
ータ22の上流に空燃比センサの一例としてO2センサ
29が配設されている。
にノックセンサ26が取り付けられていると共に、シリ
ンダブロック1aの左右バンクを連通する冷却水通路2
7に冷却水温センサ28が臨まされ、更に、触媒コンバ
ータ22の上流に空燃比センサの一例としてO2センサ
29が配設されている。
【0022】また、エンジン1のクランクシャフト30
に軸着するクランクロータ31の外周に、クランク角セ
ンサ32が対設され、更に、クランクシャフト30に対
して1/2回転するカムシャフト33に連設するカムロ
ータ34に、現在の燃焼行程気筒、燃料噴射対象気筒や
点火対象気筒を判別するための気筒判別センサ35が対
設されている。
に軸着するクランクロータ31の外周に、クランク角セ
ンサ32が対設され、更に、クランクシャフト30に対
して1/2回転するカムシャフト33に連設するカムロ
ータ34に、現在の燃焼行程気筒、燃料噴射対象気筒や
点火対象気筒を判別するための気筒判別センサ35が対
設されている。
【0023】クランクロータ31は、図12に示すよう
に、その外周に突起31a,31b,31cが形成さ
れ、これらの各突起31a,31b,31cが、各気筒
(#1,#2気筒と#3,#4気筒)の圧縮上死点前
(BTDC)θ1,θ2,θ3の位置に形成されてい
る。本実施の形態においては、θ1=97°CA,θ2
=65°CA,θ3=10°CAである。
に、その外周に突起31a,31b,31cが形成さ
れ、これらの各突起31a,31b,31cが、各気筒
(#1,#2気筒と#3,#4気筒)の圧縮上死点前
(BTDC)θ1,θ2,θ3の位置に形成されてい
る。本実施の形態においては、θ1=97°CA,θ2
=65°CA,θ3=10°CAである。
【0024】また、図13に示すように、カムロータ3
4の外周には、気筒判別用の突起34a,34b,34
cが形成され、突起34aが#3,#4気筒の圧縮上死
点後(ATDC)θ4の位置に形成され、突起34bが
3個の突起で構成されて最初の突起が#1気筒のATD
Cθ5の位置に形成されている。更に、突起34cが2
個の突起で構成され、最初の突起が#2気筒のATDC
θ6の位置に形成されている。本実施の形態において
は、θ4=20°CA,θ5=5°CA,θ6=20°
CAである。
4の外周には、気筒判別用の突起34a,34b,34
cが形成され、突起34aが#3,#4気筒の圧縮上死
点後(ATDC)θ4の位置に形成され、突起34bが
3個の突起で構成されて最初の突起が#1気筒のATD
Cθ5の位置に形成されている。更に、突起34cが2
個の突起で構成され、最初の突起が#2気筒のATDC
θ6の位置に形成されている。本実施の形態において
は、θ4=20°CA,θ5=5°CA,θ6=20°
CAである。
【0025】そして、図8のタイムチャートに示すよう
に、エンジン運転に伴いクランクシャフト30及びカム
シャフト33の回転によりクランクロータ31及びカム
ロータ34が回転して、クランクロータ31の各突起が
クランク角センサ32によって検出され、クランク角セ
ンサ32からθ1,θ2,θ3(BTDC97°,65
°,10°)の各クランクパルスがエンジン1/2回転
(180°CA)毎に出力される。一方、θ3クランク
パルスとθ1クランクパルスとの間でカムロータ34の
各突起が気筒判別センサ35によって検出され、気筒判
別センサ35から所定数の気筒判別パルスが出力され
る。
に、エンジン運転に伴いクランクシャフト30及びカム
シャフト33の回転によりクランクロータ31及びカム
ロータ34が回転して、クランクロータ31の各突起が
クランク角センサ32によって検出され、クランク角セ
ンサ32からθ1,θ2,θ3(BTDC97°,65
°,10°)の各クランクパルスがエンジン1/2回転
(180°CA)毎に出力される。一方、θ3クランク
パルスとθ1クランクパルスとの間でカムロータ34の
各突起が気筒判別センサ35によって検出され、気筒判
別センサ35から所定数の気筒判別パルスが出力され
る。
【0026】そして、後述する電子制御装置40(図1
4参照)において、クランク角センサ32から出力され
るクランクパルスの入力間隔時間Tθに基づいてエンジ
ン回転速度(エンジン回転数)NEを算出し、また、各
気筒の燃焼行程順(例えば、#1気筒→#3気筒→#2
気筒→#4気筒)と、気筒判別センサ35からの気筒判
別パルスをカウンタによって計数した値とのパターンに
基づいて、現在の燃焼行程気筒、燃料噴射対象気筒、点
火対象気筒を判別する。
4参照)において、クランク角センサ32から出力され
るクランクパルスの入力間隔時間Tθに基づいてエンジ
ン回転速度(エンジン回転数)NEを算出し、また、各
気筒の燃焼行程順(例えば、#1気筒→#3気筒→#2
気筒→#4気筒)と、気筒判別センサ35からの気筒判
別パルスをカウンタによって計数した値とのパターンに
基づいて、現在の燃焼行程気筒、燃料噴射対象気筒、点
火対象気筒を判別する。
【0027】インジェクタ11、点火プラグ17,IS
C弁10等のアクチュエータ類に対する制御量の演算、
制御信号の出力、すなわち燃料噴射制御、点火時期制
御、アイドル回転数制御等のエンジン制御は、図14に
示す電子制御装置(ECU)40によって行われる。
C弁10等のアクチュエータ類に対する制御量の演算、
制御信号の出力、すなわち燃料噴射制御、点火時期制
御、アイドル回転数制御等のエンジン制御は、図14に
示す電子制御装置(ECU)40によって行われる。
【0028】ECU40は、CPU41、ROM42、
RAM43、バックアップRAM44、カウンタ・タイ
マ群45、及びI/Oインターフェイス46がバスライ
ンを介して互いに接続されるマイクロコンピュータを中
心として構成され、各部に安定化電源を供給する定電圧
回路47、I/Oインターフェイス46に接続される駆
動回路48及びA/D変換器49等の周辺回路が内蔵さ
れている。
RAM43、バックアップRAM44、カウンタ・タイ
マ群45、及びI/Oインターフェイス46がバスライ
ンを介して互いに接続されるマイクロコンピュータを中
心として構成され、各部に安定化電源を供給する定電圧
回路47、I/Oインターフェイス46に接続される駆
動回路48及びA/D変換器49等の周辺回路が内蔵さ
れている。
【0029】尚、カウンタ・タイマ群45は、フリーラ
ンカウンタ、気筒判別センサ信号(気筒判別パルス)の
入力計数用カウンタ等の各種カウンタ、燃料噴射用タイ
マ、点火用タイマ、定期割り込みを発生させるための定
期割り込み用タイマ、クランク角センサ信号(クランク
パルス)の入力間隔計時用タイマ、及びシステム異常監
視用のウオッチドッグタイマ等の各種タイマを便宜上総
称するものであり、その他、各種のソフトウエアカウン
タ・タイマが用いられる。
ンカウンタ、気筒判別センサ信号(気筒判別パルス)の
入力計数用カウンタ等の各種カウンタ、燃料噴射用タイ
マ、点火用タイマ、定期割り込みを発生させるための定
期割り込み用タイマ、クランク角センサ信号(クランク
パルス)の入力間隔計時用タイマ、及びシステム異常監
視用のウオッチドッグタイマ等の各種タイマを便宜上総
称するものであり、その他、各種のソフトウエアカウン
タ・タイマが用いられる。
【0030】定電圧回路47は、2回路のリレー接点を
有する電源リレー50の第1のリレー接点を介してバッ
テリ51に接続されると共に、直接、バッテリ51に接
続されており、イグニッションスイッチ52がONされ
て電源リレー50の接点が閉となるとECU40内の各
部へ電源を供給する一方、イグニッションスイッチ52
のON,OFFに拘らず、常時、バックアップRAM4
4にバックアップ用の電源を供給する。更に、バッテリ
51には、燃料ポンプリレー53のリレー接点を介して
燃料ポンプ14が接続されている。尚、電源リレー50
の第2のリレー接点には、バッテリ51から各アクチュ
エータに電源を供給するための電源線が接続されてい
る。
有する電源リレー50の第1のリレー接点を介してバッ
テリ51に接続されると共に、直接、バッテリ51に接
続されており、イグニッションスイッチ52がONされ
て電源リレー50の接点が閉となるとECU40内の各
部へ電源を供給する一方、イグニッションスイッチ52
のON,OFFに拘らず、常時、バックアップRAM4
4にバックアップ用の電源を供給する。更に、バッテリ
51には、燃料ポンプリレー53のリレー接点を介して
燃料ポンプ14が接続されている。尚、電源リレー50
の第2のリレー接点には、バッテリ51から各アクチュ
エータに電源を供給するための電源線が接続されてい
る。
【0031】I/Oインターフェイス46の入力ポート
には、イグニッションスイッチ52、ノックセンサ2
6、クランク角センサ32、気筒判別センサ35、及
び、車速を検出するための車速センサ36等が接続され
ており、更に、A/D変換器49を介して、吸入空気量
センサ24、スロットル開度センサ25、冷却水温セン
サ28、及びO2センサ29等が接続されると共に、バ
ッテリ電圧VBが入力されてモニタされる。
には、イグニッションスイッチ52、ノックセンサ2
6、クランク角センサ32、気筒判別センサ35、及
び、車速を検出するための車速センサ36等が接続され
ており、更に、A/D変換器49を介して、吸入空気量
センサ24、スロットル開度センサ25、冷却水温セン
サ28、及びO2センサ29等が接続されると共に、バ
ッテリ電圧VBが入力されてモニタされる。
【0032】一方、I/Oインターフェイス46の出力
ポートには、燃料ポンプリレー53のリレーコイル、I
SC弁10、及び、インジェクタ11等が駆動回路48
を介して接続されると共に、イグナイタ19が接続され
ている。
ポートには、燃料ポンプリレー53のリレーコイル、I
SC弁10、及び、インジェクタ11等が駆動回路48
を介して接続されると共に、イグナイタ19が接続され
ている。
【0033】CPU41では、ROM42に記憶されて
いる制御プログラムに従って、I/0インターフェイス
46を介して入力されるセンサ・スイッチ類からの検出
信号、及びバッテリ電圧等を処理し、RAM43に格納
される各種データ、及びバックアップRAM44に格納
されている各種学習値データ,ROM42に記憶されて
いる固定データ等に基づき、気筒別の燃料噴射量、気筒
別の点火時期、ISC弁10に対する駆動信号のデュー
ティ比等を演算し、気筒別燃料噴射制御、気筒別点火時
期制御、アイドル回転数制御等のエンジン制御を行う。
いる制御プログラムに従って、I/0インターフェイス
46を介して入力されるセンサ・スイッチ類からの検出
信号、及びバッテリ電圧等を処理し、RAM43に格納
される各種データ、及びバックアップRAM44に格納
されている各種学習値データ,ROM42に記憶されて
いる固定データ等に基づき、気筒別の燃料噴射量、気筒
別の点火時期、ISC弁10に対する駆動信号のデュー
ティ比等を演算し、気筒別燃料噴射制御、気筒別点火時
期制御、アイドル回転数制御等のエンジン制御を行う。
【0034】このようなエンジン制御系において、EC
U40では、クランク角センサ32、気筒判別センサ3
5からそれぞれ出力されるクランクパルス、気筒判別パ
ルスに基づいて現在の燃焼行程気筒を判別する。また、
気筒間における所定クランク角毎のエンジン回転状態量
として、各気筒間の燃焼による影響をほとんど受けない
区間(燃焼行程気筒と次の燃焼行程気筒との間の燃焼に
よる仕事をしていない区間)のエンジン回転速度を検出
する。本形態では、BTDCθ2,θ3間すなわちθ
2,θ3クランクパルス入力間のエンジン回転速度を検
出する。
U40では、クランク角センサ32、気筒判別センサ3
5からそれぞれ出力されるクランクパルス、気筒判別パ
ルスに基づいて現在の燃焼行程気筒を判別する。また、
気筒間における所定クランク角毎のエンジン回転状態量
として、各気筒間の燃焼による影響をほとんど受けない
区間(燃焼行程気筒と次の燃焼行程気筒との間の燃焼に
よる仕事をしていない区間)のエンジン回転速度を検出
する。本形態では、BTDCθ2,θ3間すなわちθ
2,θ3クランクパルス入力間のエンジン回転速度を検
出する。
【0035】そして、今回の燃焼行程気筒に対応するエ
ンジン回転速度から前回の同区間における1燃焼行程前
の気筒に対応するエンジン回転速度を減算して燃焼行程
気筒の回転速度の差すなわち燃焼行程気筒に対応する差
回転(差回転状態量)TCYLACを算出し、各気筒毎
の差回転TCYLACを処理して得られる2つのパラメ
ータを用いてアイドル運転時の気筒別点火時期及び気筒
別燃料噴射量を補正する。
ンジン回転速度から前回の同区間における1燃焼行程前
の気筒に対応するエンジン回転速度を減算して燃焼行程
気筒の回転速度の差すなわち燃焼行程気筒に対応する差
回転(差回転状態量)TCYLACを算出し、各気筒毎
の差回転TCYLACを処理して得られる2つのパラメ
ータを用いてアイドル運転時の気筒別点火時期及び気筒
別燃料噴射量を補正する。
【0036】すなわち、多気筒エンジンにおいては、あ
る気筒の燃焼が不安定であると、乗員に不快な振動を与
えるばかりでなく、有害な排気エミッションの増加や燃
費の悪化が生じる。従って、アイドル時の安定性を向上
するには、各気筒の燃焼安定性を向上することが必要で
あるが、一義的に燃焼安定性を向上するだけでは、気筒
間の出力トルクが均一でない可能性があり、気筒間の出
力トルクが不均一の場合は、うねり状の回転変動すなわ
ち低周波の振動となって不快感が残る虞がある。
る気筒の燃焼が不安定であると、乗員に不快な振動を与
えるばかりでなく、有害な排気エミッションの増加や燃
費の悪化が生じる。従って、アイドル時の安定性を向上
するには、各気筒の燃焼安定性を向上することが必要で
あるが、一義的に燃焼安定性を向上するだけでは、気筒
間の出力トルクが均一でない可能性があり、気筒間の出
力トルクが不均一の場合は、うねり状の回転変動すなわ
ち低周波の振動となって不快感が残る虞がある。
【0037】このため、各気筒毎の差回転TCYLAC
に基づいて気筒毎の燃焼安定性を表すパラメータと気筒
間の出力トルクのばらつきを表すパラメータとを算出
し、これらの2つのパラメータを用いて各気筒毎の燃料
噴射量と点火時期とを最適に制御し、各気筒の燃焼安定
性を向上すると共に、気筒間の出力トルクのばらつきを
抑制する。
に基づいて気筒毎の燃焼安定性を表すパラメータと気筒
間の出力トルクのばらつきを表すパラメータとを算出
し、これらの2つのパラメータを用いて各気筒毎の燃料
噴射量と点火時期とを最適に制御し、各気筒の燃焼安定
性を向上すると共に、気筒間の出力トルクのばらつきを
抑制する。
【0038】気筒毎の燃焼安定性を表すパラメータとし
ては、所定期間における各気筒毎の差回転TCYLAC
を平均処理した差回転平均値(差回転状態量平均値)T
CLAVEと各気筒毎の差回転TCYLACとの差の絶
対値を積算処理した差回転変動量積算値TCLSUMを
用いる。他の気筒に比較して差回転変動量積算値TCL
SUMが小さい気筒は、相対的に他の気筒よりも燃焼圧
の変動が少なく燃焼が安定しており、逆に、他の気筒に
比較して差回転変動量積算値TCLSUMが大きい気筒
は、相対的に他の気筒よりも燃焼圧の変動が大きく、燃
焼が不安定である。従って、差回転変動量積算値TCL
SUMが最小の気筒に対する燃料噴射量を減量補正する
一方、差回転変動量積算値TCLSUMが最大の気筒に
対する燃料噴射量を増量補正する処理を繰り返すこと
で、各気筒の燃焼状態を均一化して安定性を向上する。
ては、所定期間における各気筒毎の差回転TCYLAC
を平均処理した差回転平均値(差回転状態量平均値)T
CLAVEと各気筒毎の差回転TCYLACとの差の絶
対値を積算処理した差回転変動量積算値TCLSUMを
用いる。他の気筒に比較して差回転変動量積算値TCL
SUMが小さい気筒は、相対的に他の気筒よりも燃焼圧
の変動が少なく燃焼が安定しており、逆に、他の気筒に
比較して差回転変動量積算値TCLSUMが大きい気筒
は、相対的に他の気筒よりも燃焼圧の変動が大きく、燃
焼が不安定である。従って、差回転変動量積算値TCL
SUMが最小の気筒に対する燃料噴射量を減量補正する
一方、差回転変動量積算値TCLSUMが最大の気筒に
対する燃料噴射量を増量補正する処理を繰り返すこと
で、各気筒の燃焼状態を均一化して安定性を向上する。
【0039】また、気筒間のトルクのばらつきを表すパ
ラメータとしては、各気筒毎の差回転平均値TCLAV
Eを用いる。ここで、本実施の形態においては、当該気
筒#iの差回転平均値TCLAVEを算出する際の基と
なる差回転TCYLACiは、今回の燃焼行程気筒#i
に対応するエンジン回転速度TCYLiから1燃焼行程
前の気筒#i-1に対応するエンジン回転速度TCYLi
-1を減算して算出される。従って、他の気筒に比較して
差回転平均値TCLAVEが低い気筒は、相対的に他の
気筒よりも燃焼圧が低く、平均出力トルクが小さい気筒
であり、逆に、他の気筒に比較して差回転平均値TCL
AVEが高い気筒は、相対的に他の気筒よりも燃焼圧が
高く、平均出力トルクが高い気筒である。従って、差回
転平均値TCLAVEが最も低い気筒に対する点火時期
を出力トルクが大きくなる方向すなわち進角側に補正
し、また、差回転平均値TCLAVEが最も高い気筒に
対する点火時期を出力トルクが小さくなる方向すなわち
遅角側に補正する処理を繰り返すことで、気筒毎の出力
トルクを均一化する。
ラメータとしては、各気筒毎の差回転平均値TCLAV
Eを用いる。ここで、本実施の形態においては、当該気
筒#iの差回転平均値TCLAVEを算出する際の基と
なる差回転TCYLACiは、今回の燃焼行程気筒#i
に対応するエンジン回転速度TCYLiから1燃焼行程
前の気筒#i-1に対応するエンジン回転速度TCYLi
-1を減算して算出される。従って、他の気筒に比較して
差回転平均値TCLAVEが低い気筒は、相対的に他の
気筒よりも燃焼圧が低く、平均出力トルクが小さい気筒
であり、逆に、他の気筒に比較して差回転平均値TCL
AVEが高い気筒は、相対的に他の気筒よりも燃焼圧が
高く、平均出力トルクが高い気筒である。従って、差回
転平均値TCLAVEが最も低い気筒に対する点火時期
を出力トルクが大きくなる方向すなわち進角側に補正
し、また、差回転平均値TCLAVEが最も高い気筒に
対する点火時期を出力トルクが小さくなる方向すなわち
遅角側に補正する処理を繰り返すことで、気筒毎の出力
トルクを均一化する。
【0040】すなわち、ECU40は、本発明に係る回
転状態量検出手段、気筒判別手段、アイドル判別手段、
差回転状態量算出手段、差回転状態量平均値算出手段、
差回転変動量積算値算出手段、燃料噴射制御手段、点火
時期制御手段の機能を有し、具体的には、図1〜図7に
示す各ルーチンによって、各手段の機能を実現する。
転状態量検出手段、気筒判別手段、アイドル判別手段、
差回転状態量算出手段、差回転状態量平均値算出手段、
差回転変動量積算値算出手段、燃料噴射制御手段、点火
時期制御手段の機能を有し、具体的には、図1〜図7に
示す各ルーチンによって、各手段の機能を実現する。
【0041】以下、ECU40によって実行される本発
明のアイドル安定化制御に係わる処理について、図1〜
図7に示すフローチャートに従って説明する。
明のアイドル安定化制御に係わる処理について、図1〜
図7に示すフローチャートに従って説明する。
【0042】先ず、イグニッションスイッチ52がON
され、ECU40に電源が投入されると、システムがイ
ニシャライズされ、バックアップRAM44に格納され
ている各種学習値等のデータを除く、各フラグ、各カウ
ンタ類が初期化される。そして、エンジンが起動する
と、クランク角センサ32からのクランクパルス入力毎
に、図5に示す気筒判別/エンジン回転速度算出ルーチ
ンが実行される。
され、ECU40に電源が投入されると、システムがイ
ニシャライズされ、バックアップRAM44に格納され
ている各種学習値等のデータを除く、各フラグ、各カウ
ンタ類が初期化される。そして、エンジンが起動する
と、クランク角センサ32からのクランクパルス入力毎
に、図5に示す気筒判別/エンジン回転速度算出ルーチ
ンが実行される。
【0043】この気筒判別/エンジン回転速度算出ルー
チンでは、エンジン運転に伴いクランクロータ31が回
転してクランク角センサ32からのクランクパルスが入
力されると、先ず、ステップS1で、今回入力されたク
ランクパルスがθ1,θ2,θ3の何れのクランク角に
対応する信号かを気筒判別センサ35からの気筒判別パ
ルスの入力パターンに基づいて識別し、ステップS2
で、クランクパルスと気筒判別パルスとの入力パターン
から現在の燃焼行程気筒、点火対象気筒、及び燃料噴射
対象気筒等の気筒判別を行う。
チンでは、エンジン運転に伴いクランクロータ31が回
転してクランク角センサ32からのクランクパルスが入
力されると、先ず、ステップS1で、今回入力されたク
ランクパルスがθ1,θ2,θ3の何れのクランク角に
対応する信号かを気筒判別センサ35からの気筒判別パ
ルスの入力パターンに基づいて識別し、ステップS2
で、クランクパルスと気筒判別パルスとの入力パターン
から現在の燃焼行程気筒、点火対象気筒、及び燃料噴射
対象気筒等の気筒判別を行う。
【0044】すなわち、図8のタイムチャートに示すよ
うに、例えば、前回クランクパルスが入力してから今回
クランクパルスが入力されるまでの間に気筒判別パルス
入力が有れば、今回のクランクパルスはθ1クランクパ
ルスであると識別でき、更に次回入力されるクランクパ
ルスはθ2クランクパルスと識別できる。
うに、例えば、前回クランクパルスが入力してから今回
クランクパルスが入力されるまでの間に気筒判別パルス
入力が有れば、今回のクランクパルスはθ1クランクパ
ルスであると識別でき、更に次回入力されるクランクパ
ルスはθ2クランクパルスと識別できる。
【0045】また、前回と今回とのクランクパルス入力
間に気筒判別パルス入力が無く、前々回と前回のクラン
クパルス入力間に気筒判別パルス入力が有ったときに
は、今回のクランクパルスはθ2クランクパルスと識別
でき、次回入力されるクランクパルスはθ3クランクパ
ルスと識別できる。また、前回と今回との間、及び前々
回と前回とのクランクパルス入力間に、何れも気筒判別
パルス入力が無いときには、今回入力されたクランクパ
ルスはθ3クランクパルスと識別でき、次回入力される
クランクパルスはθ1クランクパルスと識別できる。
間に気筒判別パルス入力が無く、前々回と前回のクラン
クパルス入力間に気筒判別パルス入力が有ったときに
は、今回のクランクパルスはθ2クランクパルスと識別
でき、次回入力されるクランクパルスはθ3クランクパ
ルスと識別できる。また、前回と今回との間、及び前々
回と前回とのクランクパルス入力間に、何れも気筒判別
パルス入力が無いときには、今回入力されたクランクパ
ルスはθ3クランクパルスと識別でき、次回入力される
クランクパルスはθ1クランクパルスと識別できる。
【0046】ここで、本実施の形態における4サイクル
4気筒のエンジン1では、燃焼行程は#1→#3→#2
→#4の気筒順であり、図8のタイムチャートに示すよ
うに、気筒判別パルス出力時の今回(現在)の燃焼行程
気筒CYLに対し、点火対象気筒は圧縮上死点を迎える
(CYL+1)気筒、このときの燃料噴射対象気筒は、
その2つ後の(CYL+3)気筒となる。
4気筒のエンジン1では、燃焼行程は#1→#3→#2
→#4の気筒順であり、図8のタイムチャートに示すよ
うに、気筒判別パルス出力時の今回(現在)の燃焼行程
気筒CYLに対し、点火対象気筒は圧縮上死点を迎える
(CYL+1)気筒、このときの燃料噴射対象気筒は、
その2つ後の(CYL+3)気筒となる。
【0047】従って、前回と今回とのクランクパルス入
力間に気筒判別パルスが3個入力(突起34bに対応す
るθ5気筒判別パルス)したときには、次の圧縮上死点
は#3気筒であり、現在の燃焼行程気筒は#1気筒、点
火対象気筒は#3気筒、燃料噴射対象気筒は、その2つ
後の#4気筒となることが判別できる。また、前回と今
回のクランクパルス入力間に気筒判別パルスが2個入力
(突起34cに対応するθ6気筒判別パルス)したとき
には、次の圧縮上死点は#4気筒であり、現在の燃焼行
程気筒は#2気筒、点火対象気筒は#4気筒、燃料噴射
対象気筒は#3気筒と判別できる。
力間に気筒判別パルスが3個入力(突起34bに対応す
るθ5気筒判別パルス)したときには、次の圧縮上死点
は#3気筒であり、現在の燃焼行程気筒は#1気筒、点
火対象気筒は#3気筒、燃料噴射対象気筒は、その2つ
後の#4気筒となることが判別できる。また、前回と今
回のクランクパルス入力間に気筒判別パルスが2個入力
(突起34cに対応するθ6気筒判別パルス)したとき
には、次の圧縮上死点は#4気筒であり、現在の燃焼行
程気筒は#2気筒、点火対象気筒は#4気筒、燃料噴射
対象気筒は#3気筒と判別できる。
【0048】また、前回と今回とのクランクパルス入力
間に気筒判別パルスが1個入力(突起34aに対応する
θ4気筒判別パルス)し、前の圧縮上死点判別が#4気
筒であったときには、次の圧縮上死点は#1気筒であ
り、現在の燃焼行程気筒は#4気筒、点火対象気筒は#
1気筒、燃料噴射気筒は#2気筒と判別できる。同様
に、前回と今回とのクランクパルス入力間に気筒判別パ
ルスが1個入力し、前の圧縮上死点判別が#3気筒であ
ったときには次の圧縮上死点は#2気筒であり、現在の
燃焼行程気筒は#3気筒、点火対象気筒は#2気筒、燃
料噴射対象気筒は#1気筒と判別できる。
間に気筒判別パルスが1個入力(突起34aに対応する
θ4気筒判別パルス)し、前の圧縮上死点判別が#4気
筒であったときには、次の圧縮上死点は#1気筒であ
り、現在の燃焼行程気筒は#4気筒、点火対象気筒は#
1気筒、燃料噴射気筒は#2気筒と判別できる。同様
に、前回と今回とのクランクパルス入力間に気筒判別パ
ルスが1個入力し、前の圧縮上死点判別が#3気筒であ
ったときには次の圧縮上死点は#2気筒であり、現在の
燃焼行程気筒は#3気筒、点火対象気筒は#2気筒、燃
料噴射対象気筒は#1気筒と判別できる。
【0049】その後、ステップS2からステップS3へ
進み、クランクパルス入力間隔計時用タイマによって計
時された前回のクランクパルス入力から今回のクランク
パルス入力までの時間を読み出し、クランクパルス入力
間隔時間Tθ(θ1クランクパルスとθ2クランクパル
スの入力間隔時間Tθ12、θ2クランクパルスとθ3
クランクパルスの入力間隔時間Tθ23、或いはθ3ク
ランクパルスとθ1クランクパルスの入力間隔時間Tθ
31)を検出する。
進み、クランクパルス入力間隔計時用タイマによって計
時された前回のクランクパルス入力から今回のクランク
パルス入力までの時間を読み出し、クランクパルス入力
間隔時間Tθ(θ1クランクパルスとθ2クランクパル
スの入力間隔時間Tθ12、θ2クランクパルスとθ3
クランクパルスの入力間隔時間Tθ23、或いはθ3ク
ランクパルスとθ1クランクパルスの入力間隔時間Tθ
31)を検出する。
【0050】次いで、ステップS4へ進み、今回識別し
たクランクパルスに対応するクランクパルス間角度を読
み出し、このクランクパルス間角度とクランクパルス入
力間隔時間Tθとに基づいて現在のエンジン回転速度
(エンジン回転数)NEを算出し、RAM43の所定ア
ドレスにストアしてルーチンを抜ける。尚、クランクパ
ルス間角度は既知であり、予めROM42に固定データ
として記憶されているものであり、本実施の形態におい
ては、θ1クランクパルスとθ2クランクパルス間の角
度は32°CAであり、θ2クランクパルスとθ3クラ
ンクパルス間の角度は55°CA、θ3クランクパルス
とθ1クランクパルス間の角度は93°CAである。ま
た、エンジン始動時を考慮し、エンジン回転速度NE
は、例えば、150rpm相当以上で算出される。
たクランクパルスに対応するクランクパルス間角度を読
み出し、このクランクパルス間角度とクランクパルス入
力間隔時間Tθとに基づいて現在のエンジン回転速度
(エンジン回転数)NEを算出し、RAM43の所定ア
ドレスにストアしてルーチンを抜ける。尚、クランクパ
ルス間角度は既知であり、予めROM42に固定データ
として記憶されているものであり、本実施の形態におい
ては、θ1クランクパルスとθ2クランクパルス間の角
度は32°CAであり、θ2クランクパルスとθ3クラ
ンクパルス間の角度は55°CA、θ3クランクパルス
とθ1クランクパルス間の角度は93°CAである。ま
た、エンジン始動時を考慮し、エンジン回転速度NE
は、例えば、150rpm相当以上で算出される。
【0051】そして、今回の燃焼行程気筒の気筒判別結
果がθ3クランクパルス入力毎に実行される図1〜図4
のアイドル安定化制御ルーチンにおいて参照され、燃焼
行程気筒CYL、及びエンジン回転速度NEの各データ
が読み出されて該当燃焼行程気筒に対応する差回転TC
YLACが算出され、この差回転TCYLACに基づい
て気筒間の出力トルクのばらつきを表すパラメータとし
ての差回転平均値TCLAVE、気筒毎の燃焼変動を表
すパラメータとしての差回転変動量積算値TCLSUM
が算出される。
果がθ3クランクパルス入力毎に実行される図1〜図4
のアイドル安定化制御ルーチンにおいて参照され、燃焼
行程気筒CYL、及びエンジン回転速度NEの各データ
が読み出されて該当燃焼行程気筒に対応する差回転TC
YLACが算出され、この差回転TCYLACに基づい
て気筒間の出力トルクのばらつきを表すパラメータとし
ての差回転平均値TCLAVE、気筒毎の燃焼変動を表
すパラメータとしての差回転変動量積算値TCLSUM
が算出される。
【0052】アイドル安定化制御ルーチンでは、先ず、
ステップS51で、ISC弁10を駆動する駆動信号の
デューティ比をエンジン回転数と目標回転数との偏差に
基づいて可変し、ISC弁10の開度を制御してバイパ
ス通路9を通過する空気量を増減調整することによりエ
ンジン回転数が目標回転数に収束するよう制御する、い
わゆるISCクローズドループ制御中か否かを調べる。
ステップS51で、ISC弁10を駆動する駆動信号の
デューティ比をエンジン回転数と目標回転数との偏差に
基づいて可変し、ISC弁10の開度を制御してバイパ
ス通路9を通過する空気量を増減調整することによりエ
ンジン回転数が目標回転数に収束するよう制御する、い
わゆるISCクローズドループ制御中か否かを調べる。
【0053】そして、ISCクローズドループ制御中で
なく、現在の運転状態がアイドル運転状態でないと判別
したときには、ステップS51からステップS53へ分
岐し、演算サイクル毎にカウントアップされる計算カウ
ンタN1,N2,N3,N4を0に初期化してルーチン
を抜ける。また、ISCクローズドループ制御中のとき
には、ステップS51からステップS52へ進み、所定
時間毎或いは演算サイクル毎のエンジン回転数の変動幅
(回転偏差)の絶対値|ΔN|を設定値NSと比較し、
現在の運転状態がISCクローズドループ制御中であっ
ても、例えば減速時等の過渡状態でないか否かを確認す
る。
なく、現在の運転状態がアイドル運転状態でないと判別
したときには、ステップS51からステップS53へ分
岐し、演算サイクル毎にカウントアップされる計算カウ
ンタN1,N2,N3,N4を0に初期化してルーチン
を抜ける。また、ISCクローズドループ制御中のとき
には、ステップS51からステップS52へ進み、所定
時間毎或いは演算サイクル毎のエンジン回転数の変動幅
(回転偏差)の絶対値|ΔN|を設定値NSと比較し、
現在の運転状態がISCクローズドループ制御中であっ
ても、例えば減速時等の過渡状態でないか否かを確認す
る。
【0054】その結果、|ΔN|>NSであり、ISC
クローズドループ制御中であっても過渡状態にある場合
には、ステップS52から前述のステップS53を経て
ルーチンを抜け、|ΔN|≦NSであり、ISCクロー
ズドループ制御中で過渡状態でない通常の停車状態での
アイドル運転中である場合には、ステップS52からス
テップS54以降へ進み、燃焼行程気筒に対応する差回
転TCYLACを所定の演算サイクル数で算出した後、
差回転TCYLACを平均した差回転平均値TCLAV
E、差回転TCYLACと差回転平均値TCLAVEと
の差の絶対値を積算した差回転変動量積算値TCLSU
Mを算出し、差回転平均値TCLAVEに基づいて点火
時期補正量を設定するともに、差回転変動量積算値TC
LSUMに基づいて燃料噴射補正量を設定する処理を行
う。
クローズドループ制御中であっても過渡状態にある場合
には、ステップS52から前述のステップS53を経て
ルーチンを抜け、|ΔN|≦NSであり、ISCクロー
ズドループ制御中で過渡状態でない通常の停車状態での
アイドル運転中である場合には、ステップS52からス
テップS54以降へ進み、燃焼行程気筒に対応する差回
転TCYLACを所定の演算サイクル数で算出した後、
差回転TCYLACを平均した差回転平均値TCLAV
E、差回転TCYLACと差回転平均値TCLAVEと
の差の絶対値を積算した差回転変動量積算値TCLSU
Mを算出し、差回転平均値TCLAVEに基づいて点火
時期補正量を設定するともに、差回転変動量積算値TC
LSUMに基づいて燃料噴射補正量を設定する処理を行
う。
【0055】すなわち、ステップS54で、気筒判別/
エンジン回転速度算出ルーチンにおいて気筒判別された
今回の燃焼行程気筒データCYLを読み出し、現在の燃
焼行程気筒が#1気筒か否かを調べる。そして、CYL
=1すなわち現在の燃焼行程気筒が#1気筒である場合
には、ステップS55へ進んで、気筒判別/エンジン回
転数算出ルーチンによりθ2クランクパルスとθ3クラ
ンクパルス間の入力間隔時間Tθ23に基づいて算出さ
れたBTDCθ2,θ3間のエンジン回転速度NEを読
み出し、計算カウンタN1による今回の演算サイクルで
の燃焼行程気筒#1に対応するエンジン回転速度TCY
L1(N1)とする(TCYL1(N1)←NE)。
エンジン回転速度算出ルーチンにおいて気筒判別された
今回の燃焼行程気筒データCYLを読み出し、現在の燃
焼行程気筒が#1気筒か否かを調べる。そして、CYL
=1すなわち現在の燃焼行程気筒が#1気筒である場合
には、ステップS55へ進んで、気筒判別/エンジン回
転数算出ルーチンによりθ2クランクパルスとθ3クラ
ンクパルス間の入力間隔時間Tθ23に基づいて算出さ
れたBTDCθ2,θ3間のエンジン回転速度NEを読
み出し、計算カウンタN1による今回の演算サイクルで
の燃焼行程気筒#1に対応するエンジン回転速度TCY
L1(N1)とする(TCYL1(N1)←NE)。
【0056】次に、ステップS56へ進み、今回の演算
サイクルにおける燃焼行程気筒#1に対応するエンジン
回転速度TCYL1(N1)から1燃焼行程前の#4気
筒に対応するエンジン回転速度TCYL4(N1)を減
算し、気筒間における所定クランク角毎のエンジン回転
速度の変化、すなわち現在の燃焼行程気筒である#1気
筒に対応する差回転TCYLAC1(N1)を算出する
(TCYLAC1(N1)←TCYL1(N1)−TC
YL4(N1))。
サイクルにおける燃焼行程気筒#1に対応するエンジン
回転速度TCYL1(N1)から1燃焼行程前の#4気
筒に対応するエンジン回転速度TCYL4(N1)を減
算し、気筒間における所定クランク角毎のエンジン回転
速度の変化、すなわち現在の燃焼行程気筒である#1気
筒に対応する差回転TCYLAC1(N1)を算出する
(TCYLAC1(N1)←TCYL1(N1)−TC
YL4(N1))。
【0057】続くステップS57では、計算カウンタN
1をカウントアップし(N1←N1+1)、ステップS
58で計算カウンタN1が差回転TCYLAC1(N
1)の平均値を演算するに必要なデータ数を得られるサ
イクル数に達したか否かを調べる。本実施の形態では、
差回転TCYLAC1(N1)の10個のデータの平均
値を演算するため、ステップS58でN1<10のとき
には、ルーチンを抜けて、差回転TCYLAC1(N
1)のデータ取得を続行し、N1=10に達したとき、
ステップS59へ進む。
1をカウントアップし(N1←N1+1)、ステップS
58で計算カウンタN1が差回転TCYLAC1(N
1)の平均値を演算するに必要なデータ数を得られるサ
イクル数に達したか否かを調べる。本実施の形態では、
差回転TCYLAC1(N1)の10個のデータの平均
値を演算するため、ステップS58でN1<10のとき
には、ルーチンを抜けて、差回転TCYLAC1(N
1)のデータ取得を続行し、N1=10に達したとき、
ステップS59へ進む。
【0058】ステップS59では、差回転TCYLAC
1(N1)をN1=1〜10について総和した値を10
で除算して#1気筒の差回転平均値TCLAVE1を算
出し(TCLAVE1←Σ(TCYLAC1(N1))
/10;N1=1〜10)、また、差回転TCYLAC
1(N1)と差回転平均値TCLAVE1との差の絶対
値をN1=1〜10について積算して差回転変動量積算
値TCLSUM1を算出する(TCLSUM1←Σ(|
TCYLAC1(N1)−TCLAVE1|);N1=
1〜10)。
1(N1)をN1=1〜10について総和した値を10
で除算して#1気筒の差回転平均値TCLAVE1を算
出し(TCLAVE1←Σ(TCYLAC1(N1))
/10;N1=1〜10)、また、差回転TCYLAC
1(N1)と差回転平均値TCLAVE1との差の絶対
値をN1=1〜10について積算して差回転変動量積算
値TCLSUM1を算出する(TCLSUM1←Σ(|
TCYLAC1(N1)−TCLAVE1|);N1=
1〜10)。
【0059】次いでステップS60へ進み、#1気筒に
ついての10サイクルの演算が終了したことを示す#1
気筒10サイクル終了フラグFCALC1をセットする
と(FCALC1←1)、ステップS82へ進み、#1
〜#4の各気筒についての10サイクルの演算が終了し
たことを示す各フラグFCALC1,FCALC2,F
CALC3,FCALC4を参照する。そして、全ての
フラグが1にセットされており、#1〜#4気筒の全て
の気筒で10サイクルの演算が終了しているときには、
ステップS83以降の処理へ進み、フラグFCALC
1,FCALC2,FCALC3,FCALC4のう
ち、一つでも1にセットされていないフラグがある場
合、すなわち、10サイクルの演算が終了していない気
筒がある場合には、ルーチンを抜けて演算を続行する。
ついての10サイクルの演算が終了したことを示す#1
気筒10サイクル終了フラグFCALC1をセットする
と(FCALC1←1)、ステップS82へ進み、#1
〜#4の各気筒についての10サイクルの演算が終了し
たことを示す各フラグFCALC1,FCALC2,F
CALC3,FCALC4を参照する。そして、全ての
フラグが1にセットされており、#1〜#4気筒の全て
の気筒で10サイクルの演算が終了しているときには、
ステップS83以降の処理へ進み、フラグFCALC
1,FCALC2,FCALC3,FCALC4のう
ち、一つでも1にセットされていないフラグがある場
合、すなわち、10サイクルの演算が終了していない気
筒がある場合には、ルーチンを抜けて演算を続行する。
【0060】また、ステップS54において、CYL≠
1で現在の燃焼行程気筒が#1気筒でない場合には、ス
テップS61へ分岐してCYL=2すなわち現在の燃焼
行程気筒が#2気筒であるか否かを調べる。そして、C
YL=2であり、現在の燃焼行程気筒が#2気筒である
場合には、ステップS62へ進んで、BTDCθ2,θ
3間のエンジン回転速度NEを読み出し、このエンジン
回転速度NEを計算カウンタN2による今回の演算サイ
クルでの燃焼行程気筒#2に対応するエンジン回転速度
TCYL2(N2)とする(TCYL2(N2)←N
E)。
1で現在の燃焼行程気筒が#1気筒でない場合には、ス
テップS61へ分岐してCYL=2すなわち現在の燃焼
行程気筒が#2気筒であるか否かを調べる。そして、C
YL=2であり、現在の燃焼行程気筒が#2気筒である
場合には、ステップS62へ進んで、BTDCθ2,θ
3間のエンジン回転速度NEを読み出し、このエンジン
回転速度NEを計算カウンタN2による今回の演算サイ
クルでの燃焼行程気筒#2に対応するエンジン回転速度
TCYL2(N2)とする(TCYL2(N2)←N
E)。
【0061】次に、ステップS63へ進み、燃焼行程気
筒#2に対応するエンジン回転速度TCYL2(N2)
から、1燃焼行程前の#3気筒に対応するエンジン回転
速度TCYL3(N2)を減算し、現在の燃焼行程気筒
である#2気筒に対応する差回転TCYLAC2(N
2)を算出する(TCYLAC2(N2)←TCYL2
(N2)−TCYL3(N2))。
筒#2に対応するエンジン回転速度TCYL2(N2)
から、1燃焼行程前の#3気筒に対応するエンジン回転
速度TCYL3(N2)を減算し、現在の燃焼行程気筒
である#2気筒に対応する差回転TCYLAC2(N
2)を算出する(TCYLAC2(N2)←TCYL2
(N2)−TCYL3(N2))。
【0062】続くステップS64では、計算カウンタN
2をカウントアップし(N2←N2+1)、ステップS
65で計算カウンタN2が10に達したか否かを調べ
る。そして、N2<10のときには、ルーチンを抜けて
データ取得を続行し、N2=10のとき、ステップS6
6へ進んで、差回転TCYLAC2(N2)をN2=1
〜10について総和した値を10で除算して#2気筒の
差回転平均値TCLAVE2を算出し(TCLAVE2
←Σ(TCYLAC2(N2))/10;N2=1〜1
0)、また、差回転TCYLAC2(N2)と差回転平
均値TCLAVE2との差の絶対値をN2=1〜10に
ついて積算した差回転変動量積算値TCLSUM2を算
出する(TCLSUM2←Σ(|TCYLAC2(N
2)−TCLAVE2|))。
2をカウントアップし(N2←N2+1)、ステップS
65で計算カウンタN2が10に達したか否かを調べ
る。そして、N2<10のときには、ルーチンを抜けて
データ取得を続行し、N2=10のとき、ステップS6
6へ進んで、差回転TCYLAC2(N2)をN2=1
〜10について総和した値を10で除算して#2気筒の
差回転平均値TCLAVE2を算出し(TCLAVE2
←Σ(TCYLAC2(N2))/10;N2=1〜1
0)、また、差回転TCYLAC2(N2)と差回転平
均値TCLAVE2との差の絶対値をN2=1〜10に
ついて積算した差回転変動量積算値TCLSUM2を算
出する(TCLSUM2←Σ(|TCYLAC2(N
2)−TCLAVE2|))。
【0063】次に、ステップS67へ進み、#2気筒に
ついての10サイクルの演算が終了したことを示す#2
気筒10サイクル終了フラグFCALC2をセットする
と(FCALC2←1)、ステップS82で、各フラグ
FCALC1〜FCALC4を参照し、全てのフラグが
1にセットされている場合には、ステップS83以降の
処理へ進み、一つでも1にセットされていないフラグが
ある場合、ルーチンを抜けて演算を続行する。
ついての10サイクルの演算が終了したことを示す#2
気筒10サイクル終了フラグFCALC2をセットする
と(FCALC2←1)、ステップS82で、各フラグ
FCALC1〜FCALC4を参照し、全てのフラグが
1にセットされている場合には、ステップS83以降の
処理へ進み、一つでも1にセットされていないフラグが
ある場合、ルーチンを抜けて演算を続行する。
【0064】また、ステップS61においてCYL≠2
であり、現在の燃焼行程気筒が#2気筒でない場合に
は、ステップS61からステップS68へ分岐し、CY
L=3すなわち現在の燃焼気筒が#3気筒か否かを調べ
る。そして、CLY=3の場合、ステップS69〜S7
2を介して、同様に、#3気筒に対応するエンジン回転
速度TCYL3(N3)から1燃焼行程前の#1気筒に
対応するエンジン回転速度TCYL1(N3)を減算し
て、#3気筒に対応する差回転TCYLAC3(N3)
をN3=1〜10の10サイクル演算する。
であり、現在の燃焼行程気筒が#2気筒でない場合に
は、ステップS61からステップS68へ分岐し、CY
L=3すなわち現在の燃焼気筒が#3気筒か否かを調べ
る。そして、CLY=3の場合、ステップS69〜S7
2を介して、同様に、#3気筒に対応するエンジン回転
速度TCYL3(N3)から1燃焼行程前の#1気筒に
対応するエンジン回転速度TCYL1(N3)を減算し
て、#3気筒に対応する差回転TCYLAC3(N3)
をN3=1〜10の10サイクル演算する。
【0065】次いで、ステップS73へ進み、差回転T
CYLAC3(N3)をN3=1〜10について総和し
た値を10で除算して#3気筒の差回転平均値TCLA
VE3を算出し(TCLAVE3←Σ(TCYLAC3
(N3))/10;N3=1〜10)、また、差回転T
CYLAC3(N3)と差回転平均値TCLAVE3と
の差の絶対値をN3=1〜10について積算した差回転
変動量積算値TCLSUM3を算出すると(TCLSU
M3←Σ(|TCYLAC3(N3)−TCLAVE3
|))、ステップS74で、#3気筒についての10サ
イクルの演算が終了したことを示す#3気筒10サイク
ル終了フラグFCALC3をセットし(FCALC3←
1)、ステップS82へ進む。
CYLAC3(N3)をN3=1〜10について総和し
た値を10で除算して#3気筒の差回転平均値TCLA
VE3を算出し(TCLAVE3←Σ(TCYLAC3
(N3))/10;N3=1〜10)、また、差回転T
CYLAC3(N3)と差回転平均値TCLAVE3と
の差の絶対値をN3=1〜10について積算した差回転
変動量積算値TCLSUM3を算出すると(TCLSU
M3←Σ(|TCYLAC3(N3)−TCLAVE3
|))、ステップS74で、#3気筒についての10サ
イクルの演算が終了したことを示す#3気筒10サイク
ル終了フラグFCALC3をセットし(FCALC3←
1)、ステップS82へ進む。
【0066】更に、ステップS68においてCYL≠3
であり、現在の燃焼行程気筒が#3気筒でない場合に
は、ステップS68からステップS75へ分岐し、CY
L=4すなわち現在の燃焼気筒が#4気筒か否かを調べ
る。そして、CYL≠4の場合すなわち気筒判別がなさ
れていない場合には、前述のステップS53へジャンプ
して計算カウンタN1〜N4を初期化してルーチンを抜
け、CYL=4の場合、ステップS76〜S79を介し
て#4気筒に対応するエンジン回転速度TCYL4(N
4)から1燃焼行程前の#2気筒に対応するエンジン回
転速度TCYL2(N4)を減算して、#4気筒に対応
する差回転TCYLAC4(N4)をN4=1〜10の
10サイクル演算する。
であり、現在の燃焼行程気筒が#3気筒でない場合に
は、ステップS68からステップS75へ分岐し、CY
L=4すなわち現在の燃焼気筒が#4気筒か否かを調べ
る。そして、CYL≠4の場合すなわち気筒判別がなさ
れていない場合には、前述のステップS53へジャンプ
して計算カウンタN1〜N4を初期化してルーチンを抜
け、CYL=4の場合、ステップS76〜S79を介し
て#4気筒に対応するエンジン回転速度TCYL4(N
4)から1燃焼行程前の#2気筒に対応するエンジン回
転速度TCYL2(N4)を減算して、#4気筒に対応
する差回転TCYLAC4(N4)をN4=1〜10の
10サイクル演算する。
【0067】そして、ステップS80で、差回転TCY
LAC4(N4)をN4=1〜10について総和した値
を10で除算して#4気筒の差回転平均値TCLAVE
4を算出し(TCLAVE4←Σ(TCYLAC4(N
4))/10;N4=1〜10)、また、差回転TCY
LAC4(N4)と差回転平均値TCLAVE4との差
の絶対値をN4=1〜10について積算した差回転変動
量積算値TCLSUM4を算出する(TCLSUM4←
Σ(|TCYLAC4(N4)−TCLAVE4
|))。そして、ステップS81で#4気筒についての
10サイクルの演算が終了したことを示す#4気筒10
サイクル終了フラグFCALC4をセットし(FCAL
C4←1)、ステップS82へ進む。
LAC4(N4)をN4=1〜10について総和した値
を10で除算して#4気筒の差回転平均値TCLAVE
4を算出し(TCLAVE4←Σ(TCYLAC4(N
4))/10;N4=1〜10)、また、差回転TCY
LAC4(N4)と差回転平均値TCLAVE4との差
の絶対値をN4=1〜10について積算した差回転変動
量積算値TCLSUM4を算出する(TCLSUM4←
Σ(|TCYLAC4(N4)−TCLAVE4
|))。そして、ステップS81で#4気筒についての
10サイクルの演算が終了したことを示す#4気筒10
サイクル終了フラグFCALC4をセットし(FCAL
C4←1)、ステップS82へ進む。
【0068】以上により、図9に示すように各気筒に対
応する差回転TCYLAC1〜4が算出されて#1〜#
4気筒の全てについて差回転TCYLAC1〜4の10
サイクルの演算が終了し、平均値TCLAVE1〜4、
差回転変動量積算値TCLSUM1〜4が算出される
と、ステップS82で、全てのフラグFCALC1〜F
CALC4が1であるため、ステップS83以降へ進
む。
応する差回転TCYLAC1〜4が算出されて#1〜#
4気筒の全てについて差回転TCYLAC1〜4の10
サイクルの演算が終了し、平均値TCLAVE1〜4、
差回転変動量積算値TCLSUM1〜4が算出される
と、ステップS82で、全てのフラグFCALC1〜F
CALC4が1であるため、ステップS83以降へ進
む。
【0069】ステップS83以降の処理では、ステップ
S83〜S96で、各気筒毎の差回転平均値TCLAV
E1〜4について、最も低い気筒と最も高い気筒とを調
べ、差回転平均値TCLAVEの最も低い気筒と最も高
い気筒とに対し、それぞれ点火時期を進角、遅角させる
ための気筒別の点火時期補正量を設定値減少、又は増加
修正して、気筒別点火時期補正量を随時更新する。ま
た、ステップS97〜S105で、各気筒毎の差回転変
動量積算値TCLSUM1〜4について、最小の気筒と
最大の気筒とを調べ、最小の気筒と最大の気筒とに対
し、それぞれ燃料噴射量を減量補正、増量補正するため
の気筒別の燃料噴射補正量を設定値減少、又は増加修正
して、気筒別燃料噴射補正量を随時更新する。
S83〜S96で、各気筒毎の差回転平均値TCLAV
E1〜4について、最も低い気筒と最も高い気筒とを調
べ、差回転平均値TCLAVEの最も低い気筒と最も高
い気筒とに対し、それぞれ点火時期を進角、遅角させる
ための気筒別の点火時期補正量を設定値減少、又は増加
修正して、気筒別点火時期補正量を随時更新する。ま
た、ステップS97〜S105で、各気筒毎の差回転変
動量積算値TCLSUM1〜4について、最小の気筒と
最大の気筒とを調べ、最小の気筒と最大の気筒とに対
し、それぞれ燃料噴射量を減量補正、増量補正するため
の気筒別の燃料噴射補正量を設定値減少、又は増加修正
して、気筒別燃料噴射補正量を随時更新する。
【0070】すなわち、例えば図10に示すように、#
1気筒の差回転TCYLAC1の変動が大きい場合、こ
の変動は、最終的に差回転TCYLAC1と差回転平均
値TCLAVE1との差の絶対値を積算した差回転変動
量積算値TCLSUM1に現れる。このような場合、#
1気筒の空燃比が薄いために差回転の変動が発生するこ
とがシミュレーション或いは実験等によって確認されて
おり、従って、この場合には、#1気筒に供給する燃料
を増量して空燃比をリッチ方向に補正することで、燃焼
状態を改善して安定性を向上させる。
1気筒の差回転TCYLAC1の変動が大きい場合、こ
の変動は、最終的に差回転TCYLAC1と差回転平均
値TCLAVE1との差の絶対値を積算した差回転変動
量積算値TCLSUM1に現れる。このような場合、#
1気筒の空燃比が薄いために差回転の変動が発生するこ
とがシミュレーション或いは実験等によって確認されて
おり、従って、この場合には、#1気筒に供給する燃料
を増量して空燃比をリッチ方向に補正することで、燃焼
状態を改善して安定性を向上させる。
【0071】更に、図10に示すように、#1気筒の差
回転平均値TCLAVE1に比較して#2気筒の差回転
平均値TCLAVE2が低く、#1気筒の平均出力トル
クよりも#2気筒の平均出力トルクが小さい場合、低周
波の振動が車体に発生し、乗員に不快感を与える虞があ
る。従って、#1気筒への供給燃料を増量して燃焼安定
性を向上させる処置に加え、#2気筒の点火時期を進角
させて平均出力トルクを上げることで、気筒間の出力ト
ルクを均一化し、不快な低周波振動の発生を抑制する。
回転平均値TCLAVE1に比較して#2気筒の差回転
平均値TCLAVE2が低く、#1気筒の平均出力トル
クよりも#2気筒の平均出力トルクが小さい場合、低周
波の振動が車体に発生し、乗員に不快感を与える虞があ
る。従って、#1気筒への供給燃料を増量して燃焼安定
性を向上させる処置に加え、#2気筒の点火時期を進角
させて平均出力トルクを上げることで、気筒間の出力ト
ルクを均一化し、不快な低周波振動の発生を抑制する。
【0072】このため、先ず、ステップS83では、#
1気筒の差回転平均値TCLAVE1が#1〜#4気筒
の差回転平均値TCLAVE1〜4の中の最も低い値M
IN(TCLAVE1,2,3,4)であるか否かを調
べる。そして、#1気筒の差回転平均値TCLAVE1
が最も低い場合は、ステップS84で、バックアップR
AM44に学習値としてストアされている#1気筒の点
火時期補正量ADVKCL1を設定値Aだけ減少させて
更新し(ADVKCL1←ADVKCL1−A)、ステ
ップS90へ進む。
1気筒の差回転平均値TCLAVE1が#1〜#4気筒
の差回転平均値TCLAVE1〜4の中の最も低い値M
IN(TCLAVE1,2,3,4)であるか否かを調
べる。そして、#1気筒の差回転平均値TCLAVE1
が最も低い場合は、ステップS84で、バックアップR
AM44に学習値としてストアされている#1気筒の点
火時期補正量ADVKCL1を設定値Aだけ減少させて
更新し(ADVKCL1←ADVKCL1−A)、ステ
ップS90へ進む。
【0073】バックアップRAM44にストアされてい
る#1気筒の点火時期補正量ADVKCL1、及び以下
に述べる#2〜#4気筒の点火時期補正量ADVKCL
2〜4は、本実施の形態においては、後述する図7の気
筒別点火時期制御ルーチンにおいて、クランク角換算の
点火時期θIGに対する加算項として与えられ、それぞ
れ初期値は補正無しに対応する0である。尚、点火時期
補正量ADVKCL1〜4は、乗算項として与えても良
く、その場合には、初期値は補正無しに対応する1.0
である。
る#1気筒の点火時期補正量ADVKCL1、及び以下
に述べる#2〜#4気筒の点火時期補正量ADVKCL
2〜4は、本実施の形態においては、後述する図7の気
筒別点火時期制御ルーチンにおいて、クランク角換算の
点火時期θIGに対する加算項として与えられ、それぞ
れ初期値は補正無しに対応する0である。尚、点火時期
補正量ADVKCL1〜4は、乗算項として与えても良
く、その場合には、初期値は補正無しに対応する1.0
である。
【0074】また、ステップS83において、#1気筒
の差回転平均値TCLAVE1が最低値でない場合に
は、ステップS83からステップS85へ分岐し、#2
気筒の差回転平均値TCLAVE2が最も低い値MIN
(TCLAVE1,2,3,4)であるか否かを調べ
る。そして、#2気筒の差回転平均値TCLAVE2が
最も低い場合、ステップS86で、バックアップRAM
44に学習値としてストアされている#2気筒の点火時
期補正量ADVKCL2を設定値Aだけ減少させて更新
し(ADVKCL2←ADVKCL2−A)、ステップ
S90へ進む。
の差回転平均値TCLAVE1が最低値でない場合に
は、ステップS83からステップS85へ分岐し、#2
気筒の差回転平均値TCLAVE2が最も低い値MIN
(TCLAVE1,2,3,4)であるか否かを調べ
る。そして、#2気筒の差回転平均値TCLAVE2が
最も低い場合、ステップS86で、バックアップRAM
44に学習値としてストアされている#2気筒の点火時
期補正量ADVKCL2を設定値Aだけ減少させて更新
し(ADVKCL2←ADVKCL2−A)、ステップ
S90へ進む。
【0075】一方、ステップS85において、#2気筒
の差回転平均値TCLAVE2が最低値でない場合に
は、ステップS85からステップS87へ分岐し、#3
気筒の差回転平均値TCLAVE3が最も低い値MIN
(TCLAVE1,2,3,4)であるか否かを調べ
る。そして、#3気筒の差回転平均値TCLAVE3が
最も低い場合、ステップS88で、バックアップRAM
44に学習値としてストアされている#3気筒の点火時
期補正量ADVKCL3を設定値Aだけ減少させて更新
し(ADVKCL3←ADVKCL3−A)、ステップ
S90へ進む。
の差回転平均値TCLAVE2が最低値でない場合に
は、ステップS85からステップS87へ分岐し、#3
気筒の差回転平均値TCLAVE3が最も低い値MIN
(TCLAVE1,2,3,4)であるか否かを調べ
る。そして、#3気筒の差回転平均値TCLAVE3が
最も低い場合、ステップS88で、バックアップRAM
44に学習値としてストアされている#3気筒の点火時
期補正量ADVKCL3を設定値Aだけ減少させて更新
し(ADVKCL3←ADVKCL3−A)、ステップ
S90へ進む。
【0076】更に、ステップS87で#3気筒の差回転
平均値TCLAVE3が最低値でない場合、この場合に
は#4気筒の差回転平均値TCLAVE4が最も低い値
となるため、ステップS87からステップS89へ進ん
で、バックアップRAM44に学習値としてストアされ
ている#4気筒の点火時期補正量ADVKCL4を設定
値Aだけ減少させて更新し(ADVKCL4←ADVK
CL4−A)、ステップS90へ進む。
平均値TCLAVE3が最低値でない場合、この場合に
は#4気筒の差回転平均値TCLAVE4が最も低い値
となるため、ステップS87からステップS89へ進ん
で、バックアップRAM44に学習値としてストアされ
ている#4気筒の点火時期補正量ADVKCL4を設定
値Aだけ減少させて更新し(ADVKCL4←ADVK
CL4−A)、ステップS90へ進む。
【0077】ステップS90では、#1気筒の差回転平
均値TCLAVE1が#1〜#4気筒の差回転平均値T
CLAVE1〜4の中の最も高い値MAX(TCLAV
E1,2,3,4)であるか否かを調べ、#1気筒の差
回転平均値TCLAVE1が最も高い場合、ステップS
91でバックアップRAM44に学習値としてストアさ
れている#1気筒の点火時期補正量ADVKCL1を設
定値Aだけ増加させて更新し(ADVKCL1←ADV
KCL1+A)、ステップS97へ進む。
均値TCLAVE1が#1〜#4気筒の差回転平均値T
CLAVE1〜4の中の最も高い値MAX(TCLAV
E1,2,3,4)であるか否かを調べ、#1気筒の差
回転平均値TCLAVE1が最も高い場合、ステップS
91でバックアップRAM44に学習値としてストアさ
れている#1気筒の点火時期補正量ADVKCL1を設
定値Aだけ増加させて更新し(ADVKCL1←ADV
KCL1+A)、ステップS97へ進む。
【0078】また、ステップS90で#1気筒の差回転
平均値TCLAVE1が最高値でない場合には、ステッ
プS90からステップS92へ分岐し、#2気筒の差回
転平均値TCLAVE2が最も高い値MAX(TCLA
VE1,2,3,4)であるか否かを調べる。そして、
#2気筒の差回転平均値TCLAVE2が最も高い場
合、ステップS93でバックアップRAM44に学習値
としてストアされている#2気筒の点火時期補正量AD
VKCL2を設定値Aだけ増加させて更新し(ADVK
CL2←ADVKCL2+A)、ステップS97へ進
む。
平均値TCLAVE1が最高値でない場合には、ステッ
プS90からステップS92へ分岐し、#2気筒の差回
転平均値TCLAVE2が最も高い値MAX(TCLA
VE1,2,3,4)であるか否かを調べる。そして、
#2気筒の差回転平均値TCLAVE2が最も高い場
合、ステップS93でバックアップRAM44に学習値
としてストアされている#2気筒の点火時期補正量AD
VKCL2を設定値Aだけ増加させて更新し(ADVK
CL2←ADVKCL2+A)、ステップS97へ進
む。
【0079】一方、ステップS92で#2気筒の差回転
平均値TCLAVE2が最高値でない場合には、ステッ
プS92からステップS94へ分岐し、#3気筒の差回
転平均値TCLAVE3が最も高い値MAX(TCLA
VE1,2,3,4)であるか否かを調べる。そして、
#3気筒の差回転平均値TCLAVE3が最も高い場
合、ステップS95でバックアップRAM44に学習値
としてストアされている#3気筒の点火時期補正量AD
VKCL3を設定値Aだけ増加させて更新し(ADVK
CL3←ADVKCL3+A)、ステップS97へ進
む。
平均値TCLAVE2が最高値でない場合には、ステッ
プS92からステップS94へ分岐し、#3気筒の差回
転平均値TCLAVE3が最も高い値MAX(TCLA
VE1,2,3,4)であるか否かを調べる。そして、
#3気筒の差回転平均値TCLAVE3が最も高い場
合、ステップS95でバックアップRAM44に学習値
としてストアされている#3気筒の点火時期補正量AD
VKCL3を設定値Aだけ増加させて更新し(ADVK
CL3←ADVKCL3+A)、ステップS97へ進
む。
【0080】また、ステップS94において、#3気筒
の差回転平均値TCLAVE3が最高値でない場合に
は、#4気筒の差回転平均値TCLAVE4が最も高い
値であるため、ステップS94からステップS96へ進
み、バックアップRAM44に学習値としてストアされ
ている#4気筒の点火時期補正量ADVKCL4を設定
値Aだけ増加させて更新し(ADVKCL4←ADVK
CL4+A)、ステップS97へ進む。
の差回転平均値TCLAVE3が最高値でない場合に
は、#4気筒の差回転平均値TCLAVE4が最も高い
値であるため、ステップS94からステップS96へ進
み、バックアップRAM44に学習値としてストアされ
ている#4気筒の点火時期補正量ADVKCL4を設定
値Aだけ増加させて更新し(ADVKCL4←ADVK
CL4+A)、ステップS97へ進む。
【0081】ステップS97以降では、各気筒毎の差回
転変動量積算値TCLSUM1〜4に基づいて、バック
アップRAM44にストアされている気筒別燃料噴射補
正量INJKCL1〜4を設定・更新する。本実施の形
態においては、気筒別燃料噴射補正量INJKCL1〜
4は、後述する図6の気筒別燃料噴射制御ルーチンにお
いて、燃料噴射量を定める燃料噴射パルス幅Tiに対す
る加算項として与えられ、それぞれ初期値は補正無しに
対応する0である。尚、気筒別燃料噴射補正量INJK
CL1〜4は、乗算項として与えても良く(但し、後述
する燃料噴射パルス幅Tiを設定する際の有効パルス幅
(Tp×α×COEF)に対する乗算項として与えるこ
とが望ましい)、その場合には、初期値は補正無しに対
応する1.0である。
転変動量積算値TCLSUM1〜4に基づいて、バック
アップRAM44にストアされている気筒別燃料噴射補
正量INJKCL1〜4を設定・更新する。本実施の形
態においては、気筒別燃料噴射補正量INJKCL1〜
4は、後述する図6の気筒別燃料噴射制御ルーチンにお
いて、燃料噴射量を定める燃料噴射パルス幅Tiに対す
る加算項として与えられ、それぞれ初期値は補正無しに
対応する0である。尚、気筒別燃料噴射補正量INJK
CL1〜4は、乗算項として与えても良く(但し、後述
する燃料噴射パルス幅Tiを設定する際の有効パルス幅
(Tp×α×COEF)に対する乗算項として与えるこ
とが望ましい)、その場合には、初期値は補正無しに対
応する1.0である。
【0082】このため、先ず、ステップS97で、#1
気筒の差回転変動量積算値TCLSUM1が#1〜#4
気筒の差回転変動量積算値TCLSUM1〜4の中の最
小値MIN(TCLSUM1,2,3,4)であるか否
かを調べる。そして、#1気筒の差回転変動量積算値T
CLSUM1が最小である場合、ステップS98へ進ん
でバックアップRAM44に学習値としてストアされて
いる#1気筒の燃料噴射補正量INJKCL1を設定値
Bだけ減少させて更新し(INJKCL1←INJKC
L1−B)、ステップS104へ進む。
気筒の差回転変動量積算値TCLSUM1が#1〜#4
気筒の差回転変動量積算値TCLSUM1〜4の中の最
小値MIN(TCLSUM1,2,3,4)であるか否
かを調べる。そして、#1気筒の差回転変動量積算値T
CLSUM1が最小である場合、ステップS98へ進ん
でバックアップRAM44に学習値としてストアされて
いる#1気筒の燃料噴射補正量INJKCL1を設定値
Bだけ減少させて更新し(INJKCL1←INJKC
L1−B)、ステップS104へ進む。
【0083】また、ステップS97で#1気筒の差回転
変動量積算値TCLSUM1が最小でない場合には、ス
テップS97からステップS99へ分岐し、#2気筒の
差回転変動量積算値TCLSUM2が最小値MIN(T
CLSUM1,2,3,4)であるか否かを調べる。そ
して、#2気筒の差回転変動量積算値TCLSUM2が
最小である場合、ステップS100でバックアップRA
M44に学習値としてストアされている#2気筒の燃料
噴射補正量INJKCL2を設定値Bだけ減少させて更
新し(INJKCL2←INJKCL2−B)、ステッ
プS104へ進む。
変動量積算値TCLSUM1が最小でない場合には、ス
テップS97からステップS99へ分岐し、#2気筒の
差回転変動量積算値TCLSUM2が最小値MIN(T
CLSUM1,2,3,4)であるか否かを調べる。そ
して、#2気筒の差回転変動量積算値TCLSUM2が
最小である場合、ステップS100でバックアップRA
M44に学習値としてストアされている#2気筒の燃料
噴射補正量INJKCL2を設定値Bだけ減少させて更
新し(INJKCL2←INJKCL2−B)、ステッ
プS104へ進む。
【0084】一方、ステップS99で#2気筒の差回転
変動量積算値TCLSUM2が最小でない場合には、ス
テップS99からステップS101へ分岐し、#3気筒
の差回転変動量積算値TCLSUM3が最小値MIN
(TCLSUM1,2,3,4)であるか否かを調べ
る。そして、#3気筒の差回転変動量積算値TCLSU
M3が最小である場合、ステップS102でバックアッ
プRAM44に学習値としてストアされている#3気筒
の燃料噴射補正量INJKCL3を設定値Bだけ減少さ
せて更新し(INJKCL3←INJKCL3−B)、
ステップS104へ進む。
変動量積算値TCLSUM2が最小でない場合には、ス
テップS99からステップS101へ分岐し、#3気筒
の差回転変動量積算値TCLSUM3が最小値MIN
(TCLSUM1,2,3,4)であるか否かを調べ
る。そして、#3気筒の差回転変動量積算値TCLSU
M3が最小である場合、ステップS102でバックアッ
プRAM44に学習値としてストアされている#3気筒
の燃料噴射補正量INJKCL3を設定値Bだけ減少さ
せて更新し(INJKCL3←INJKCL3−B)、
ステップS104へ進む。
【0085】また、ステップS101において、#3気
筒の差回転変動量積算値TCLSUM3が最小でない場
合には、#4気筒の差回転変動量積算値TCLSUM4
が最小となるため、ステップS101からステップS1
03へ進み、バックアップRAM44に学習値としてス
トアされている#4気筒の燃料噴射補正量INJKCL
4を設定値Bだけ減少させて更新し(INJKCL4←
INJKCL4−B)、ステップS104へ進む。
筒の差回転変動量積算値TCLSUM3が最小でない場
合には、#4気筒の差回転変動量積算値TCLSUM4
が最小となるため、ステップS101からステップS1
03へ進み、バックアップRAM44に学習値としてス
トアされている#4気筒の燃料噴射補正量INJKCL
4を設定値Bだけ減少させて更新し(INJKCL4←
INJKCL4−B)、ステップS104へ進む。
【0086】ステップS104では、#1気筒の差回転
変動量積算値TCLSUM1が#1〜#4気筒の差回転
変動量積算値TCLSUM1〜4の中の最大値MAX
(TCLSUM1,2,3,4)であるか否かを調べ
る。そして、#1気筒の差回転変動量積算値TCLSU
M1が最大である場合、ステップS105へ進んでバッ
クアップRAM44に学習値としてストアされている#
1気筒の燃料噴射補正量INJKCL1を設定値Bだけ
増加させて更新し(INJKCL1←INJKCL1+
B)、ステップS111で、各計算カウンタN1〜N4
を0にクリアすると共に、各フラグFCALC1〜FC
ALC4を0にクリアし、ルーチンを抜ける。
変動量積算値TCLSUM1が#1〜#4気筒の差回転
変動量積算値TCLSUM1〜4の中の最大値MAX
(TCLSUM1,2,3,4)であるか否かを調べ
る。そして、#1気筒の差回転変動量積算値TCLSU
M1が最大である場合、ステップS105へ進んでバッ
クアップRAM44に学習値としてストアされている#
1気筒の燃料噴射補正量INJKCL1を設定値Bだけ
増加させて更新し(INJKCL1←INJKCL1+
B)、ステップS111で、各計算カウンタN1〜N4
を0にクリアすると共に、各フラグFCALC1〜FC
ALC4を0にクリアし、ルーチンを抜ける。
【0087】また、ステップS104で#1気筒の差回
転変動量積算値TCLSUM1が最大でない場合には、
ステップS104からステップS106へ分岐し、#2
気筒の差回転変動量積算値TCLSUM2が最大値MA
X(TCLSUM1,2,3,4)であるか否かを調べ
る。そして、#2気筒の差回転変動量積算値TCLSU
M2が最大である場合、ステップS107でバックアッ
プRAM44に学習値としてストアされている#2気筒
の燃料噴射補正量INJKCL2を設定値Bだけ増加さ
せて更新し(INJKCL2←INJKCL2+B)、
前述のステップS111を経てルーチンを抜ける。
転変動量積算値TCLSUM1が最大でない場合には、
ステップS104からステップS106へ分岐し、#2
気筒の差回転変動量積算値TCLSUM2が最大値MA
X(TCLSUM1,2,3,4)であるか否かを調べ
る。そして、#2気筒の差回転変動量積算値TCLSU
M2が最大である場合、ステップS107でバックアッ
プRAM44に学習値としてストアされている#2気筒
の燃料噴射補正量INJKCL2を設定値Bだけ増加さ
せて更新し(INJKCL2←INJKCL2+B)、
前述のステップS111を経てルーチンを抜ける。
【0088】一方、ステップS106で#2気筒の差回
転変動量積算値TCLSUM2が最大でない場合には、
ステップS106からステップS108へ分岐し、#3
気筒の差回転変動量積算値TCLSUM3が最大値MA
X(TCLSUM1,2,3,4)であるか否かを調べ
る。そして、#3気筒の差回転変動量積算値TCLSU
M3が最大である場合、ステップS109でバックアッ
プRAM44に学習値としてストアされている#3気筒
の燃料噴射補正量INJKCL3を設定値Bだけ増加さ
せて更新し(INJKCL3←INJKCL3+B)、
ステップS111を経てルーチンを抜ける。
転変動量積算値TCLSUM2が最大でない場合には、
ステップS106からステップS108へ分岐し、#3
気筒の差回転変動量積算値TCLSUM3が最大値MA
X(TCLSUM1,2,3,4)であるか否かを調べ
る。そして、#3気筒の差回転変動量積算値TCLSU
M3が最大である場合、ステップS109でバックアッ
プRAM44に学習値としてストアされている#3気筒
の燃料噴射補正量INJKCL3を設定値Bだけ増加さ
せて更新し(INJKCL3←INJKCL3+B)、
ステップS111を経てルーチンを抜ける。
【0089】また、ステップS108において、#3気
筒の差回転変動量積算値TCLSUM3が最大でない場
合には、#4気筒の差回転変動量積算値TCLSUM4
が最大となるため、ステップS108からステップS1
10へ進み、バックアップRAM44に学習値としてス
トアされている#4気筒の燃料噴射補正量INJKCL
4を設定値Bだけ増加させて更新し(INJKCL4←
INJKCL4+B)、ステップS111を経てルーチ
ンを抜ける。
筒の差回転変動量積算値TCLSUM3が最大でない場
合には、#4気筒の差回転変動量積算値TCLSUM4
が最大となるため、ステップS108からステップS1
10へ進み、バックアップRAM44に学習値としてス
トアされている#4気筒の燃料噴射補正量INJKCL
4を設定値Bだけ増加させて更新し(INJKCL4←
INJKCL4+B)、ステップS111を経てルーチ
ンを抜ける。
【0090】以上のアイドル安定化制御ルーチンによっ
て随時更新されてバックアップRAM44にストアされ
る気筒別燃料噴射補正量INJKCLi(i=1〜
4)、気筒別点火時期補正量ADVKCLi(i=1〜
4)は、それぞれ、図6の気筒別燃料噴射制御ルーチ
ン、図7の気筒別点火時期制御ルーチンによって読み出
され、アイドル運転時の燃料噴射量、点火時期が補正さ
れる。
て随時更新されてバックアップRAM44にストアされ
る気筒別燃料噴射補正量INJKCLi(i=1〜
4)、気筒別点火時期補正量ADVKCLi(i=1〜
4)は、それぞれ、図6の気筒別燃料噴射制御ルーチ
ン、図7の気筒別点火時期制御ルーチンによって読み出
され、アイドル運転時の燃料噴射量、点火時期が補正さ
れる。
【0091】図6の燃料噴射制御ルーチンでは、ステッ
プS201で、各センサの出力信号からエンジン運転状
態パラメータを読込み、ステップS202で、気筒判別
/エンジン回転速度算出ルーチンにおいて気筒判別され
た燃料噴射対象気筒#iに対し、燃料噴射量を定める燃
料噴射パルス幅Tiを設定する。燃料噴射パルス幅Ti
は、周知のように、吸入空気量Qとエンジン回転数NE
とから算出される基本燃料噴射パルス幅Tp(=K×Q
/NE;Kは定数)に、冷却水温補正や加減速補正等の
エンジン運転状態に基づく各種増量補正係数COEF、
O2センサ29の出力信号に基づく空燃比フィードバッ
ク補正係数αを乗算して空燃比補正し、更に、各種増量
補正係数COEF及び空燃比フィードバック補正係数α
による有効パルス幅(Tp×α×COEF)に、インジ
ェクタ11の無効噴射時間を補償する電圧補正パルス幅
Tsを加算して設定される(Ti←Tp×α×COEF
+Ts)。
プS201で、各センサの出力信号からエンジン運転状
態パラメータを読込み、ステップS202で、気筒判別
/エンジン回転速度算出ルーチンにおいて気筒判別され
た燃料噴射対象気筒#iに対し、燃料噴射量を定める燃
料噴射パルス幅Tiを設定する。燃料噴射パルス幅Ti
は、周知のように、吸入空気量Qとエンジン回転数NE
とから算出される基本燃料噴射パルス幅Tp(=K×Q
/NE;Kは定数)に、冷却水温補正や加減速補正等の
エンジン運転状態に基づく各種増量補正係数COEF、
O2センサ29の出力信号に基づく空燃比フィードバッ
ク補正係数αを乗算して空燃比補正し、更に、各種増量
補正係数COEF及び空燃比フィードバック補正係数α
による有効パルス幅(Tp×α×COEF)に、インジ
ェクタ11の無効噴射時間を補償する電圧補正パルス幅
Tsを加算して設定される(Ti←Tp×α×COEF
+Ts)。
【0092】次に、ステップS203へ進み、現在の運
転状態がアイドル状態か否かを判別する。このアイドル
判定は、前述のアイドル安定化制御ルーチンのステップ
S51,S52と同様の処理によって行い、現在の運転
状態がアイドル状態でない場合には、ステップS206
へジャンプして燃料噴射パルス幅Ti に相応する駆動信
号を燃料噴射対象気筒#iのインジェクタ11へ所定タ
イミングで出力し、ルーチンを抜ける。
転状態がアイドル状態か否かを判別する。このアイドル
判定は、前述のアイドル安定化制御ルーチンのステップ
S51,S52と同様の処理によって行い、現在の運転
状態がアイドル状態でない場合には、ステップS206
へジャンプして燃料噴射パルス幅Ti に相応する駆動信
号を燃料噴射対象気筒#iのインジェクタ11へ所定タ
イミングで出力し、ルーチンを抜ける。
【0093】また、現在の運転状態がアイドル状態に移
行すると、ステップS203からステップS204へ進
み、バックアップRAM44に学習値としてストアされ
ている燃料噴射対象気筒#iの燃料噴射補正量INJK
CLiを読み出し、ステップS205で、燃料噴射パル
ス幅Tiに燃料噴射補正量INJKCLiを加算して、
アイドル時において気筒別の最終的な燃料噴射量を定め
る燃料噴射パルス幅Tiとし(Ti←Ti+INJKC
Li)、ステップS206で、この燃料噴射パルス幅T
i に相応する駆動信号を燃料噴射対象気筒#iのインジ
ェクタ11へ所定タイミングで出力し、ルーチンを抜け
る。
行すると、ステップS203からステップS204へ進
み、バックアップRAM44に学習値としてストアされ
ている燃料噴射対象気筒#iの燃料噴射補正量INJK
CLiを読み出し、ステップS205で、燃料噴射パル
ス幅Tiに燃料噴射補正量INJKCLiを加算して、
アイドル時において気筒別の最終的な燃料噴射量を定め
る燃料噴射パルス幅Tiとし(Ti←Ti+INJKC
Li)、ステップS206で、この燃料噴射パルス幅T
i に相応する駆動信号を燃料噴射対象気筒#iのインジ
ェクタ11へ所定タイミングで出力し、ルーチンを抜け
る。
【0094】すなわち、差回転変動量積算値TCLSU
Mが最小の気筒に対して燃料噴射量を増量する一方、差
回転変動量積算値TCLSUMが最大の気筒に対して燃
料噴射量を減量することで、相対的に空燃比が薄い気筒
と空燃比が濃い気筒との空燃比のばらつきを減少し、各
気筒の燃焼状態を均一化する。
Mが最小の気筒に対して燃料噴射量を増量する一方、差
回転変動量積算値TCLSUMが最大の気筒に対して燃
料噴射量を減量することで、相対的に空燃比が薄い気筒
と空燃比が濃い気筒との空燃比のばらつきを減少し、各
気筒の燃焼状態を均一化する。
【0095】一方、図7の点火時期制御ルーチンでは、
先ず、ステップS301で、気筒判別/エンジン回転速
度算出ルーチンにおいて気筒判別された点火対象気筒#
i(=CYL+1)に対し、エンジン負荷(本実施の形
態では、吸入空気量とエンジン回転数とによって定まる
基本燃料噴射量を定める基本燃料噴射パルス幅)Tpと
エンジン回転数NEとに基づき、マップ参照等によりク
ランク角換算の基本点火時期θBASEを設定する。
先ず、ステップS301で、気筒判別/エンジン回転速
度算出ルーチンにおいて気筒判別された点火対象気筒#
i(=CYL+1)に対し、エンジン負荷(本実施の形
態では、吸入空気量とエンジン回転数とによって定まる
基本燃料噴射量を定める基本燃料噴射パルス幅)Tpと
エンジン回転数NEとに基づき、マップ参照等によりク
ランク角換算の基本点火時期θBASEを設定する。
【0096】次いで、ステップS302へ進み、ノック
センサ26の出力信号に基づきノックコントロール値θ
NKを設定すると、ステップS303で、現在の運転状
態がアイドル状態か否かを判定する。その結果、現在の
運転状態がアイドル状態でない場合には、ステップS3
03からステップS304へ進み、基本点火時期θBA
SEをノックコントロール値θNKで補正して点火時期
θIGを設定する(θIG←θBASE+θNK)。
センサ26の出力信号に基づきノックコントロール値θ
NKを設定すると、ステップS303で、現在の運転状
態がアイドル状態か否かを判定する。その結果、現在の
運転状態がアイドル状態でない場合には、ステップS3
03からステップS304へ進み、基本点火時期θBA
SEをノックコントロール値θNKで補正して点火時期
θIGを設定する(θIG←θBASE+θNK)。
【0097】一方、現在の運転状態がアイドル状態であ
る場合には、ステップS303からステップS305へ
進んでバックアップRAM44に学習値としてストアさ
れている点火対象気筒#iの点火時期補正量ADVKC
Liを読み出し、ステップS306で、基本点火時期θ
BASEにノックコントロール値θNK及び点火時期補
正量ADVKCLiを加算して点火時期θIGを設定す
る(θIG←θBASE+θNK+ADVKCLi)。
る場合には、ステップS303からステップS305へ
進んでバックアップRAM44に学習値としてストアさ
れている点火対象気筒#iの点火時期補正量ADVKC
Liを読み出し、ステップS306で、基本点火時期θ
BASEにノックコントロール値θNK及び点火時期補
正量ADVKCLiを加算して点火時期θIGを設定す
る(θIG←θBASE+θNK+ADVKCLi)。
【0098】そして、ステップS304或いはステップ
S306で点火時期θIGを設定した後、ステップS3
07へ進み、クランク角で示される点火時期θIGを時
間に換算して点火時刻ADVを設定する。本実施の形態
では、θ2クランクパルスをトリガとして点火タイマの
計時をスタートするため、BTDCθ1,θ2間のクラ
ンクパルス間角度とクランクパルス入力間隔時間Tθ1
2とに基づいて算出される周期(角速度)ω12により
点火時期θIGを除算し、点火時刻ADVを設定する
(ADV←θIG/ω12)。
S306で点火時期θIGを設定した後、ステップS3
07へ進み、クランク角で示される点火時期θIGを時
間に換算して点火時刻ADVを設定する。本実施の形態
では、θ2クランクパルスをトリガとして点火タイマの
計時をスタートするため、BTDCθ1,θ2間のクラ
ンクパルス間角度とクランクパルス入力間隔時間Tθ1
2とに基づいて算出される周期(角速度)ω12により
点火時期θIGを除算し、点火時刻ADVを設定する
(ADV←θIG/ω12)。
【0099】そして、ステップS308で点火時刻AD
Vを点火タイマにセットし、ステップS309で、θ2
クランクパルスをトリガとして計時を開始し、点火時刻
ADVに達したとき、ステップS310で点火対象気筒
#i のイグナイタ19へ点火信号を出力し、ルーチンを
抜ける。
Vを点火タイマにセットし、ステップS309で、θ2
クランクパルスをトリガとして計時を開始し、点火時刻
ADVに達したとき、ステップS310で点火対象気筒
#i のイグナイタ19へ点火信号を出力し、ルーチンを
抜ける。
【0100】以上の差回転平均値TCLAVEiに基づ
く各気筒の点火時期補正では、気筒間の出力トルクのば
らつきを抑制することができ、不快な低周波振動の発生
を防止して滑らかなアイドル回転を得ることができ、運
転フィーリングを向上することができる。
く各気筒の点火時期補正では、気筒間の出力トルクのば
らつきを抑制することができ、不快な低周波振動の発生
を防止して滑らかなアイドル回転を得ることができ、運
転フィーリングを向上することができる。
【0101】また、燃料噴射量の補正に対し、点火時期
の補正では、僅かな点火時期補正で体積効率が大きく変
化し、より補正効果が大きいため、差回転変動量積算値
TCLSUMiに基づく気筒別の燃料噴射量補正と、差
回転平均値TCLAVEiに基づく気筒別の点火時期補
正とを併用し並列的な補正を行うことで、最終的に各気
筒の燃料噴射補正量の差を少なくすることができ、各気
筒の燃焼状態を均一化してアイドル安定性を向上すると
共に、トータル的に有害な排気エミッションを減少する
ことができる。
の補正では、僅かな点火時期補正で体積効率が大きく変
化し、より補正効果が大きいため、差回転変動量積算値
TCLSUMiに基づく気筒別の燃料噴射量補正と、差
回転平均値TCLAVEiに基づく気筒別の点火時期補
正とを併用し並列的な補正を行うことで、最終的に各気
筒の燃料噴射補正量の差を少なくすることができ、各気
筒の燃焼状態を均一化してアイドル安定性を向上すると
共に、トータル的に有害な排気エミッションを減少する
ことができる。
【0102】尚、本実施の形態においては、差回転TC
YLACを、今回の燃焼行程気筒#iに対応するエンジ
ン回転速度TCYLiから1燃焼行程前の気筒#i-1に
対応するエンジン回転速度TCYLi-1を減算して算出
しているが、逆に、1燃焼行程前の気筒#i-1に対応す
るエンジン回転速度TCYLi-1から今回の燃焼行程気
筒#iに対応するエンジン回転速度TCYLiを減算し
て当該気筒#iの差回転TCYLACとしても良く、こ
の場合は、平均出力トルクと差回転平均値TCLAVE
との関係が逆となるため、点火時期の進角、遅角補正が
逆となり、差回転平均値TCLAVEが最も高い気筒に
対して点火時期を進角補正し、差回転平均値TCLAV
Eが最も低い気筒に対して点火時期を遅角補正する。
YLACを、今回の燃焼行程気筒#iに対応するエンジ
ン回転速度TCYLiから1燃焼行程前の気筒#i-1に
対応するエンジン回転速度TCYLi-1を減算して算出
しているが、逆に、1燃焼行程前の気筒#i-1に対応す
るエンジン回転速度TCYLi-1から今回の燃焼行程気
筒#iに対応するエンジン回転速度TCYLiを減算し
て当該気筒#iの差回転TCYLACとしても良く、こ
の場合は、平均出力トルクと差回転平均値TCLAVE
との関係が逆となるため、点火時期の進角、遅角補正が
逆となり、差回転平均値TCLAVEが最も高い気筒に
対して点火時期を進角補正し、差回転平均値TCLAV
Eが最も低い気筒に対して点火時期を遅角補正する。
【0103】また、本実施の形態では、エンジン回転状
態量としてエンジン回転速度(エンジン回転数)を用い
ているが、本発明はこれに限定されず、エンジン回転速
度に代えてエンジン回転周期、エンジン回転角速度、或
いはエンジン回転角加速度を用いるようにしてもよい。
態量としてエンジン回転速度(エンジン回転数)を用い
ているが、本発明はこれに限定されず、エンジン回転速
度に代えてエンジン回転周期、エンジン回転角速度、或
いはエンジン回転角加速度を用いるようにしてもよい。
【0104】
【発明の効果】以上説明したように、請求項1記載の発
明によれば、気筒間における所定クランク角毎のエンジ
ン回転状態量を検出し、アイドル状態のとき、今回の燃
焼行程気筒に対応するエンジン回転状態量から1燃焼行
程前の気筒に対応するエンジン回転状態量を減算して、
今回の燃焼行程気筒に対する差回転状態量として算出す
る。そして、所定期間における気筒毎の差回転状態量を
平均処理して各気筒毎の差回転状態量平均値を算出する
と共に、所定期間における各気筒毎の差回転状態量と差
回転状態量平均値との差の絶対値を積算処理して各気筒
毎の差回転変動量積算値を算出する。そして、差回転変
動量積算値が最も小さい気筒の燃料噴射量を減量補正す
ると共に、差回転変動量積算値が最も大きい気筒に対し
て燃料噴射量を増量補正するので、各気筒の燃焼状態を
均一化することが可能となり、また、差回転状態量平均
値が最も低い気筒の点火時期を進角させ、差回転状態量
平均値が最も高い気筒の点火時期を遅角させるので、気
筒間の出力トルクのばらつきを抑制して気筒間の出力ト
ルクを均一化し、不快な低周波振動を抑制してアイドル
運転を安定化することができ、且つ、有害な排気エミツ
ションをトータル的に減少すると共に、燃費の向上を図
ることができる。
明によれば、気筒間における所定クランク角毎のエンジ
ン回転状態量を検出し、アイドル状態のとき、今回の燃
焼行程気筒に対応するエンジン回転状態量から1燃焼行
程前の気筒に対応するエンジン回転状態量を減算して、
今回の燃焼行程気筒に対する差回転状態量として算出す
る。そして、所定期間における気筒毎の差回転状態量を
平均処理して各気筒毎の差回転状態量平均値を算出する
と共に、所定期間における各気筒毎の差回転状態量と差
回転状態量平均値との差の絶対値を積算処理して各気筒
毎の差回転変動量積算値を算出する。そして、差回転変
動量積算値が最も小さい気筒の燃料噴射量を減量補正す
ると共に、差回転変動量積算値が最も大きい気筒に対し
て燃料噴射量を増量補正するので、各気筒の燃焼状態を
均一化することが可能となり、また、差回転状態量平均
値が最も低い気筒の点火時期を進角させ、差回転状態量
平均値が最も高い気筒の点火時期を遅角させるので、気
筒間の出力トルクのばらつきを抑制して気筒間の出力ト
ルクを均一化し、不快な低周波振動を抑制してアイドル
運転を安定化することができ、且つ、有害な排気エミツ
ションをトータル的に減少すると共に、燃費の向上を図
ることができる。
【0105】また、請求項2記載の発明のように、今回
の燃焼行程気筒に対する差回転状態量として、アイドル
状態のとき、1燃焼行程前の気筒に対応するエンジン回
転状態量から今回の燃焼行程気筒に対応するエンジン回
転状態量を減算して算出しても良く、この場合は、点火
時期の進角、遅角補正が逆となり、差回転状態量平均値
が最も高い気筒に対して点火時期を進角させ、差回転状
態量平均値が最も低い気筒に対して点火時期を遅角させ
る。請求項2記載の発明においても、上記請求項1記載
の発明の効果と、同様の効果を得ることができる。
の燃焼行程気筒に対する差回転状態量として、アイドル
状態のとき、1燃焼行程前の気筒に対応するエンジン回
転状態量から今回の燃焼行程気筒に対応するエンジン回
転状態量を減算して算出しても良く、この場合は、点火
時期の進角、遅角補正が逆となり、差回転状態量平均値
が最も高い気筒に対して点火時期を進角させ、差回転状
態量平均値が最も低い気筒に対して点火時期を遅角させ
る。請求項2記載の発明においても、上記請求項1記載
の発明の効果と、同様の効果を得ることができる。
【0106】請求項3記載の発明によれば、アイドル状
態時に、燃料噴射量及び点火時期を補正するに際し、差
回転変動量積算値に応じて燃料噴射量を増量或いは減量
補正するための燃料噴射補正量を気筒別に設定し、エン
ジン運転状態に基づいて演算した燃料噴射量を気筒別燃
料噴射補正量により補正して気筒別に最終的な燃料噴射
量を設定する。また、アイドル状態時に、差回転状態量
平均値に応じて点火時期を進角或いは遅角するための点
火時期補正量を気筒別に設定し、エンジン運転状態に基
づいて演算した点火時期を気筒別点火時期補正量により
補正して気筒別に最終的な点火時期を設定する。そし
て、これらの気筒別燃料噴射補正量および気筒別点火時
期補正量を学習値として記憶保持して随時更新するの
で、上記請求項1記載の発明の効果に加え、より制御性を
向上することができるという効果を有する。
態時に、燃料噴射量及び点火時期を補正するに際し、差
回転変動量積算値に応じて燃料噴射量を増量或いは減量
補正するための燃料噴射補正量を気筒別に設定し、エン
ジン運転状態に基づいて演算した燃料噴射量を気筒別燃
料噴射補正量により補正して気筒別に最終的な燃料噴射
量を設定する。また、アイドル状態時に、差回転状態量
平均値に応じて点火時期を進角或いは遅角するための点
火時期補正量を気筒別に設定し、エンジン運転状態に基
づいて演算した点火時期を気筒別点火時期補正量により
補正して気筒別に最終的な点火時期を設定する。そし
て、これらの気筒別燃料噴射補正量および気筒別点火時
期補正量を学習値として記憶保持して随時更新するの
で、上記請求項1記載の発明の効果に加え、より制御性を
向上することができるという効果を有する。
【図1】アイドル安定化制御ルーチンのフローチャート
(その1)
(その1)
【図2】アイドル安定化制御ルーチンのフローチャート
(その2)
(その2)
【図3】アイドル安定化制御ルーチンのフローチャート
(その3)
(その3)
【図4】アイドル安定化制御ルーチンのフローチャート
(その4)
(その4)
【図5】気筒判別/エンジン回転速度算出ルーチンのフ
ローチャート
ローチャート
【図6】気筒別燃料噴射制御ルーチンのフローチャート
【図7】気筒別点火時期制御ルーチンのフローチャート
【図8】クランクパルス、気筒判別パルス、燃焼行程気
筒、点火タイミング、及び燃料噴射タイミングの関係を
示すタイムチャート
筒、点火タイミング、及び燃料噴射タイミングの関係を
示すタイムチャート
【図9】各気筒毎の差回転の算出状態を示すタイミング
チャート
チャート
【図10】差回転の変動状態を示す説明図
【図11】エンジンの全体概略図
【図12】クランクロータとクランク角センサの正面図
【図13】カムロータと気筒判別センサの正面図
【図14】電子制御系の回路構成図
1 …エンジン 32…クランク角センサ 35…気筒判別センサ 40…ECU(回転状態量検出手段、気筒判別手段、ア
イドル判別手段、差回転状態量算出手段、差回転状態量
平均値算出手段、差回転変動量積算値算出手段、燃料噴
射制御手段、点火時期制御手段) NE…エンジン回転速度(エンジン回転状態量) TCYLAC…差回転(差回転状態量) TCLAVE…差回転平均値(差回転状態量平均値) TCLSUM…差回転変動量積算値 INJKCLi…燃料噴射補正量 Ti…燃料噴射パルス幅(燃料噴射量) ADVKCLi…点火時期補正量 θIG…点火時期
イドル判別手段、差回転状態量算出手段、差回転状態量
平均値算出手段、差回転変動量積算値算出手段、燃料噴
射制御手段、点火時期制御手段) NE…エンジン回転速度(エンジン回転状態量) TCYLAC…差回転(差回転状態量) TCLAVE…差回転平均値(差回転状態量平均値) TCLSUM…差回転変動量積算値 INJKCLi…燃料噴射補正量 Ti…燃料噴射パルス幅(燃料噴射量) ADVKCLi…点火時期補正量 θIG…点火時期
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) F02P 5/15 F02P 5/15 B Fターム(参考) 3G022 AA03 CA03 DA01 DA02 EA07 EA10 FA04 FA05 GA01 GA05 3G084 AA03 BA13 BA17 CA03 DA02 DA10 DA11 DA23 DA39 EA05 EA07 EB12 EB20 EB25 EC04 FA00 FA33 FA34 FA38 FA39 3G301 HA06 JA02 JA05 JA21 KA07 LA00 MA11 NA01 NB03 ND02 ND25 PE00Z PE02Z PE03Z PE04Z PE05Z
Claims (3)
- 【請求項1】 気筒間における所定クランク角毎のエン
ジン回転状態量を検出するエンジン回転状態量検出手段
と、 現在の燃焼行程気筒を判別する気筒判別手段と、 エンジンのアイドル状態を、エンジン運転状態から判別
するアイドル判別手段と、 エンジンがアイドル状態のとき、今回の燃焼行程気筒に
対応するエンジン回転状態量から1燃焼行程前の気筒に
対応するエンジン回転状態量を減算し、今回の燃焼行程
気筒に対する差回転状態量として算出する差回転状態量
算出手段と、 所定期間における各気筒毎の上記差回転状態量を平均処
理し、各気筒毎の差回転状態量平均値として算出する差
回転状態量平均値算出手段と、 所定期間における各気筒毎の上記差回転状態量と上記差
回転状態量平均値との差の絶対値を積算処理し、各気筒
毎の差回転変動量積算値として算出する差回転変動量積
算値算出手段と、 アイドル状態時に、上記差回転変動量積算値が最も小さ
い気筒に対して燃料噴射量を減量補正すると共に、差回
転変動量積算値が最も大きい気筒に対して燃料噴射量を
増量補正する燃料噴射制御手段と、 上記差回転状態量平均値が最も低い気筒に対して点火時
期を進角補正すると共に、差回転状態量平均値が最も高
い気筒に対して点火時期を遅角補正する点火時期制御手
段とを備えたことを特微とするエンジンの制御装置。 - 【請求項2】 気筒間における所定クランク角毎のエン
ジン回転状態量を検出するエンジン回転状態量検出手段
と、 現在の燃焼行程気筒を判別する気筒判別手段と、 エンジンのアイドル状態を、エンジン運転状態から判別
するアイドル判別手段と、 エンジンがアイドル状態のとき、1燃焼行程前の気筒に
対応するエンジン回転状態量から今回の燃焼行程気筒に
対応するエンジン回転状態量を減算し、今回の燃焼行程
気筒に対する差回転状態量として算出する差回転状態量
算出手段と、 所定期間における気筒毎の上記差回転状態量を平均処理
し、各気筒毎の差回転状態量平均値として算出する差回
転状態量平均値算出手段と、 所定期間における各気筒毎の上記差回転状態量と上記差
回転状態量平均値との差の絶対値を積算処理し、各気筒
毎の差回転変動量積算値として算出する差回転変動量積
算値算出手段と、 アイドル状態時に、上記差回転変動量積算値が最も小さ
い気筒に対して燃料噴射量を減量補正すると共に、差回
転変動量積算値が最も大きい気筒に対して燃料噴射量を
増量補正する燃料噴射制御手段と、 上記差回転状態量平均値が最も高い気筒に対して点火時
期を進角補正すると共に、差回転状態量平均値が最も低
い気筒に対して点火時期を遅角補正する点火時期制御手
段とを備えたことを特徴とするエンジンの制御装置。 - 【請求項3】 上記燃料噴射制御手段は、アイドル状態
時に、上記差回転変動量積算値に応じて燃料噴射量を増
量或いは減量補正するための燃料噴射補正量を気筒別に
設定し、エンジン運転状態に基づいて演算した燃料噴射
量を上記気筒別燃料噴射補正量により補正して気筒別に
最終的な燃料噴射量を設定すると共に、上記気筒別燃料
噴射補正量を学習値として記憶保持して随時更新し、上
記点火時期制御手段は、アイドル状態時に、上記差回転
状態量平均値に応じて点火時期を進角或いは遅角するた
めの点火時期補正量を気筒別に設定し、エンジン運転状
態に基づいて演算した点火時期を上記気筒別点火時期補
正量により補正して気筒別に最終的な点火時期を設定す
ると共に、上記気筒別点火時期補正量を学習値として記
憶保持して随時更新することを特徴とする請求項1或い
は請求項2記載のエンジンの制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11008141A JP2000205025A (ja) | 1999-01-14 | 1999-01-14 | エンジンの制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11008141A JP2000205025A (ja) | 1999-01-14 | 1999-01-14 | エンジンの制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000205025A true JP2000205025A (ja) | 2000-07-25 |
Family
ID=11685035
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11008141A Pending JP2000205025A (ja) | 1999-01-14 | 1999-01-14 | エンジンの制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000205025A (ja) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004176642A (ja) * | 2002-11-28 | 2004-06-24 | Nissan Motor Co Ltd | 内燃機関の空燃比制御装置 |
| JP2009281236A (ja) * | 2008-05-21 | 2009-12-03 | Hitachi Ltd | 多気筒内燃機関の制御装置 |
| JP2011027059A (ja) * | 2009-07-28 | 2011-02-10 | Hitachi Automotive Systems Ltd | エンジンの制御装置 |
| US20110100327A1 (en) * | 2009-10-30 | 2011-05-05 | Hitachi Automotive Systems, Ltd. | Control Apparatus for Engine |
| JP2012189084A (ja) * | 2012-06-05 | 2012-10-04 | Hitachi Automotive Systems Ltd | エンジンの制御装置 |
| CN101566118B (zh) * | 2008-04-22 | 2012-10-24 | 通用汽车环球科技运作公司 | 通过转矩平稳化提高空转质量 |
| CN101372922B (zh) * | 2007-02-07 | 2012-11-14 | 本田技研工业株式会社 | 内燃机的控制装置 |
| JP2013002394A (ja) * | 2011-06-17 | 2013-01-07 | Toyota Motor Corp | 多気筒内燃機関の気筒間空燃比ばらつき異常検出装置 |
| JP2015117654A (ja) * | 2013-12-19 | 2015-06-25 | 本田技研工業株式会社 | 汎用エンジンの点火制御装置 |
| CN114962113A (zh) * | 2022-06-28 | 2022-08-30 | 中国第一汽车股份有限公司 | 一种降低发动机怠速抖动的方法、发动机及车辆 |
-
1999
- 1999-01-14 JP JP11008141A patent/JP2000205025A/ja active Pending
Cited By (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004176642A (ja) * | 2002-11-28 | 2004-06-24 | Nissan Motor Co Ltd | 内燃機関の空燃比制御装置 |
| CN101372922B (zh) * | 2007-02-07 | 2012-11-14 | 本田技研工业株式会社 | 内燃机的控制装置 |
| CN101566118B (zh) * | 2008-04-22 | 2012-10-24 | 通用汽车环球科技运作公司 | 通过转矩平稳化提高空转质量 |
| JP2009281236A (ja) * | 2008-05-21 | 2009-12-03 | Hitachi Ltd | 多気筒内燃機関の制御装置 |
| US8229647B2 (en) | 2008-05-21 | 2012-07-24 | Hitachi, Ltd. | Control apparatus for multi-cylinder internal combustion engine |
| JP2011027059A (ja) * | 2009-07-28 | 2011-02-10 | Hitachi Automotive Systems Ltd | エンジンの制御装置 |
| EP2284378A3 (en) * | 2009-07-28 | 2014-06-04 | Hitachi Automotive Systems, Ltd. | Engine control apparatus |
| US8267076B2 (en) | 2009-07-28 | 2012-09-18 | Hitachi Automotive Systems, Ltd. | Engine control apparatus |
| US8573184B2 (en) | 2009-10-30 | 2013-11-05 | Hitachi Automotive Systems, Ltd. | Control apparatus for controlling intake air flow, fuel injection amount, and ignition timing at each cylinder of a multi-cylinder engine |
| JP2011094541A (ja) * | 2009-10-30 | 2011-05-12 | Hitachi Automotive Systems Ltd | エンジンの制御装置 |
| CN102052173A (zh) * | 2009-10-30 | 2011-05-11 | 日立汽车系统株式会社 | 发动机控制装置 |
| EP2317103A3 (en) * | 2009-10-30 | 2014-05-21 | Hitachi Automotive Systems, Ltd. | Control apparatus for engine |
| US20110100327A1 (en) * | 2009-10-30 | 2011-05-05 | Hitachi Automotive Systems, Ltd. | Control Apparatus for Engine |
| CN102052173B (zh) * | 2009-10-30 | 2015-05-20 | 日立汽车系统株式会社 | 发动机控制装置 |
| JP2013002394A (ja) * | 2011-06-17 | 2013-01-07 | Toyota Motor Corp | 多気筒内燃機関の気筒間空燃比ばらつき異常検出装置 |
| JP2012189084A (ja) * | 2012-06-05 | 2012-10-04 | Hitachi Automotive Systems Ltd | エンジンの制御装置 |
| JP2015117654A (ja) * | 2013-12-19 | 2015-06-25 | 本田技研工業株式会社 | 汎用エンジンの点火制御装置 |
| CN114962113A (zh) * | 2022-06-28 | 2022-08-30 | 中国第一汽车股份有限公司 | 一种降低发动机怠速抖动的方法、发动机及车辆 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1989339A (zh) | 用于内燃机的点火正时控制装置 | |
| JP2000205025A (ja) | エンジンの制御装置 | |
| JP2003065111A (ja) | エンジンの燃料噴射制御装置 | |
| JP2022053819A (ja) | 内燃機関の失火判定装置 | |
| JP2505304B2 (ja) | 多気筒エンジンのアイドル制御装置 | |
| JP3963105B2 (ja) | 内燃機関の制御装置 | |
| JPH10148154A (ja) | エンジンの燃料噴射制御装置 | |
| JP3560264B2 (ja) | エンジンの燃料噴射制御装置 | |
| JP3963993B2 (ja) | エンジンの空燃比制御装置 | |
| JP2004116372A (ja) | エンジンの点火時期制御装置 | |
| JP2543379B2 (ja) | 内燃機関のノッキング制御装置 | |
| JPH10121991A (ja) | エンジンの吸気制御システムの故障診断装置 | |
| JP4501760B2 (ja) | 内燃機関の点火制御装置 | |
| JP2001050081A (ja) | エンジンの燃料噴射制御装置 | |
| JP4263258B2 (ja) | リーンバーンエンジンの燃料噴射制御装置 | |
| JPH10103206A (ja) | リーンバーンエンジンの点火時期制御装置 | |
| JP3686437B2 (ja) | エンジンの空燃比制御方法 | |
| JP5086922B2 (ja) | 内燃機関の点火時期制御装置 | |
| JP3691092B2 (ja) | エンジンの空燃比制御方法 | |
| JPH10184421A (ja) | エンジンの空燃比制御装置 | |
| JP3036351B2 (ja) | 内燃機関の回転変動検出方法 | |
| JP3593162B2 (ja) | エンジンの吸入空気量検出方法 | |
| JP3621731B2 (ja) | エンジンの空燃比制御方法 | |
| JPH0988786A (ja) | エンジンの点火時期制御装置 | |
| JP2000179381A (ja) | 可変バルブタイミング機構付き内燃機関の制御装置 |