JP2004052620A - 内燃機関の制御装置 - Google Patents
内燃機関の制御装置 Download PDFInfo
- Publication number
- JP2004052620A JP2004052620A JP2002209185A JP2002209185A JP2004052620A JP 2004052620 A JP2004052620 A JP 2004052620A JP 2002209185 A JP2002209185 A JP 2002209185A JP 2002209185 A JP2002209185 A JP 2002209185A JP 2004052620 A JP2004052620 A JP 2004052620A
- Authority
- JP
- Japan
- Prior art keywords
- cylinder
- variation
- inter
- value
- intake
- 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.)
- Granted
Links
Images
Classifications
-
- Y02T10/18—
-
- Y02T10/46—
Landscapes
- Valve Device For Special Equipments (AREA)
- Electrical Control Of Ignition Timing (AREA)
- Output Control And Ontrol Of Special Type Engine (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【解決手段】まず、内燃機関の吸入空気量や吸気管圧力に基づいて各気筒の第1の気筒間ばらつき値DEV1(#1)〜DEV1(#4)を算出し、第1の気筒間ばらつき補正で、第1の気筒間ばらつき値DEV1(#1)〜DEV1(#4)に基づいて各気筒の点火時期を補正することで気筒間のトルクばらつきを補正する。この後、第1の気筒間ばらつき補正によって点火時期が補正されてから所定時間KCDEVが経過した後、内燃機関の回転変動や空燃比に基づいて各気筒の第2の気筒間ばらつき値DEV2(#1)〜DEV2(#4)を算出し、第2の気筒間ばらつき補正で、第2の気筒間ばらつき値DEV2(#1)〜DEV2(#4)に基づいて各気筒の燃料噴射時間を補正することで気筒間の空燃比ばらつきを補正する。
【選択図】 図17
Description
【発明の属する技術分野】
本発明は、複数の気筒を有する内燃機関の気筒間のトルクばらつきや気筒間の空燃比ばらつきを補正する内燃機関の制御装置に関するものである。
【0002】
【従来の技術】
一般に、複数気筒の内燃機関では、各気筒の吸気マニホールド形状の違いや、吸気バルブのバルブクリアランスのばらつき等によって各気筒の吸入空気量(筒内充填空気量)にばらつきが生じる。また、各気筒の燃料噴射弁の個体差や燃料配管内の圧力分布特性、エバポガスパージ実行時の吸気管内のエバポガス分布特性等によって各気筒の吸入燃料量にばらつきが生じる。このような気筒間の吸入空気量ばらつきや吸入燃料量ばらつきによって各気筒のトルクや空燃比にばらつきが生じる。気筒間のトルクばらつきが大きくなると、エンジントルクのサイクル内変動が大きくなって、運転者に不快な振動が発生するおそれがある。また、気筒間の空燃比ばらつきが大きくなると、触媒に流入する排出ガスの空燃比のサイクル内変動が大きくなるため、排出ガスの空燃比の変動幅が触媒の浄化ウインドからはみ出して排出ガス浄化率が低下するおそれがある。
【0003】
これらの対策として、気筒間のトルクばらつきや空燃比ばらつきを補正する方法が幾つか提案されている。例えば、特開昭62−17342号公報に示すように、クランク軸に設けたトルクセンサで各気筒毎にトルクを検出し、各気筒のトルクが全気筒の平均トルクになるように各気筒毎に燃料噴射量を補正するようにしたものがある。また、特開2000−220489号公報に示すように、排気管に設置した空燃比センサの出力に基づいて各気筒の空燃比を推定し、気筒間の空燃比ばらつきが小さくなるように各気筒毎に燃料噴射量を補正するようにしたものがある。
【0004】
一方、近年、車両に搭載される内燃機関においては、吸気バルブのリフト量や開閉時期等のバルブ制御量を可変する可変吸気バルブ機構を設け、アクセル開度やエンジン運転状態等に応じて吸気バルブのバルブ制御量を可変することで吸入空気量を制御できるようにしたものがある。この可変吸気バルブ制御による吸入空気量制御は、吸気バルブのリフト量や開弁期間を小さくすることによって、吸気通路をスロットルバルブで絞ることなく吸入空気量を少なくすることができるので、ポンピングロスを低減して燃費を向上させることができるという利点がある。
【0005】
【発明が解決しようとする課題】
ところが、上述した可変吸気バルブ制御による吸入空気量制御では、低負荷時に吸気バルブのリフト量が小さくなるため、各気筒で目標リフト量に対する実リフト量のばらつき(各気筒の部品公差や組付公差によるばらつき)の割合が大きくなって、気筒間の吸入空気量ばらつきが大きくなる傾向がある。このため、気筒間の吸入空気量ばらつきの影響を受けて各気筒のトルクや空燃比が変動し易く、気筒間のトルクばらつきや空燃比ばらつきが大きくなる傾向がある。
【0006】
従って、従来の気筒間ばらつき補正方法を用いて、トルクと空燃比のいずれか一方の気筒間ばらつきを補正すると、その補正量が大きくなって、補正しなかった他方(トルク又は空燃比)の気筒間ばらつきが増大してしまう傾向があり、気筒間のトルクばらつきの低減と気筒間の空燃比ばらつきの低減とを両立させることが難しく、ドライバビリティと排気エミッションとを両立させるのが困難である。しかも、従来の気筒間ばらつき補正方法では、気筒間のトルクばらつきや空燃比ばらつきを補正する場合に、気筒間の吸入空気量ばらつきが大きいために、十分な精度で補正することは困難である。更に、気筒間の吸入空気量ばらつきや吸入燃料量ばらつき等の複数の要因が絡み合って気筒間のトルクばらつきや空燃比ばらつきが発生している場合も、十分な精度で補正することは困難である。
【0007】
本発明はこれらの事情を考慮してなされたものであり、第1の目的は、気筒間のトルクばらつきと空燃比ばらつきを両方とも補正できるようにすることであり、更に、第2の目的は、気筒間のトルクばらつき及び/又は空燃比ばらつきの補正精度を向上させることである。
【0008】
【課題を解決するための手段】
上記第1の目的を達成するために、本発明の請求項1の内燃機関の制御装置は、複数の気筒を有する内燃機関の吸入空気量と吸気管圧力の少なくとも一方に基づいて各気筒の吸入空気量ばらつきを表す第1の気筒間ばらつき値を第1の気筒間ばらつき推定手段により算出し、その第1の気筒間ばらつき値に基づいて気筒間のトルクばらつきと気筒間の空燃比ばらつきの少なくとも一方を補正する第1の気筒間ばらつき補正を第1の気筒間ばらつき補正手段により実行する。そして、この第1の気筒間ばらつき補正の実行後に内燃機関の燃焼状態と排出ガスの空燃比の少なくとも一方に基づいて各気筒の吸入空気量ばらつき及び/又は吸入燃料量ばらつきを表す第2の気筒間ばらつき値を第2の気筒間ばらつき推定手段により算出し、その第2の気筒間ばらつき値に基づいて気筒間のトルクばらつきと気筒間の空燃比ばらつきの少なくとも一方を補正する第2の気筒間ばらつき補正を第2の気筒間ばらつき補正手段により実行するようにしたものである。
【0009】
この構成では、まず、燃焼前の情報(吸入空気量や吸気管圧力)に基づいて算出した第1の気筒間ばらつき値に基づいて、第1の気筒間ばらつき補正を実行することで、気筒間のトルクばらつきや気筒間の空燃比ばらつきを補正し、その後、燃焼後の情報(燃焼状態や排出ガスの空燃比)に基づいて算出した第2の気筒間ばらつき値に基づいて、第2の気筒間ばらつき補正を実行することで、気筒間のトルクばらつきや気筒間の空燃比ばらつきを補正する。
【0010】
このようにすれば、気筒間のトルクばらつきの補正と気筒間の空燃比ばらつきの補正を、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正とに分けて行うことができるので、可変吸気バルブ制御による吸入空気量制御の低負荷時のように、気筒間の吸入空気量ばらつきが大きくなって気筒間のトルクばらつきや空燃比ばらつきが大きくなる場合でも、気筒間のトルクばらつき補正と気筒間の空燃比ばらつき補正とを両立させて、気筒間のトルクばらつきと空燃比ばらつきを両方とも低減させることができる。
【0011】
また、燃焼前の情報に基づいた第1の気筒間ばらつき補正と燃焼後の情報に基づいた第2の気筒間ばらつき補正の2段階で補正を行うことができるので、第1の気筒間ばらつき補正の実行後に、吸入空気量ばらつきや吸入燃料量ばらつきの影響が残っていても、それを第2の気筒間ばらつき補正で補正することができ、気筒間の吸入空気量ばらつきや吸入燃料量ばらつき等の複数の要因によって発生する気筒間のトルクばらつきや気筒間の空燃比ばらつきを精度良く補正することが可能となる。
【0012】
尚、この請求項1に係る発明は、可変吸気バルブ制御による吸入空気量制御を行うシステムに限定されず、スロットルバルブ制御による吸入空気量制御を行うシステムに適用しても良く、この場合でも、気筒間の空燃比ばらつきを精度良く補正して、より高精度な空燃比制御を行うことが可能となる。
【0013】
一般に、複数の気筒を有する内燃機関の吸気管内には、各気筒の吸気行程に対応して吸気脈動が発生するので、エアフローメータで検出した吸入空気量の波形は、各気筒の吸気行程に対応した脈動波形、つまり、各気筒の吸入空気量に対応した脈動波形となる。
【0014】
そこで、第1の気筒間ばらつき値の算出方法の具体例としては、例えば、請求項2のように、各気筒の吸気行程に対応する期間毎にエアフローメータで検出した吸入空気量の平均値、極大値、極小値、振幅値、面積のうちの少なくとも1つに基づいて第1の気筒間ばらつき値を算出するようにすると良い。各気筒の吸気行程に対応する期間毎にエアフローメータで検出した吸入空気量の平均値、極大値、極小値、振幅値、面積のうちの少なくとも1つを算出すれば、各気筒の吸入空気量を反映した脈動波形の特性値を算出することができるので、この特性値を用いれば、各気筒の吸入空気量ばらつきを反映した第1の気筒間ばらつき値を算出することができる。尚、最近では、高応答でかつ吸入空気の逆流も検出可能なエアフローメータが実用化されているため、このようなエアフローメータを用いれば、第1の気筒間ばらつき値をより精度良く算出することができる。
【0015】
また、吸気管圧力センサで検出した吸気管圧力の波形も、各気筒の吸気行程に対応した脈動波形、つまり、各気筒の吸入空気量を反映した脈動波形となるため、請求項3のように、各気筒の吸気行程に対応する期間毎に吸気管圧力センサで検出した吸気管圧力の平均値、極大値、極小値、振幅値、面積のうちの少なくとも1つに基づいて第1の気筒間ばらつき値を算出するようにしても良い。このようにしても、各気筒の吸入空気量ばらつきを反映した第1の気筒間ばらつき値を算出することができる。
【0016】
一般に、エアフローメータは、スロットルバルブよりも上流側に配置され、吸気管圧力センサ18は、スロットルバルブ15よりも下流側に配置されている。スロットルバルブが全開位置から閉じられたときに、スロットルバルブの上流側では吸気脈動が小さくなるため、スロットルバルブの上流側に配置されたエアフローメータの出力に基づいて第1の気筒間ばらつき値を算出すると、スロットルバルブが閉じられたときに、第1の気筒間ばらつき値の算出精度が低下するおそれがある。
【0017】
そこで、請求項4のように、内燃機関のスロットル開度が所定開度よりも小さいとき又は吸気管圧力が所定圧力よりも低いときには、スロットルバルブよりも下流側に配置された吸気管圧力センサで検出した吸気管圧力の極小値に基づいて第1の気筒間ばらつき値を算出することが好ましい。スロットルバルブが全開位置から閉じられても、スロットルバルブの下流側では比較的大きな吸気脈動が発生するため、スロットル開度が所定開度よりも小さいとき(又は内燃機関の吸気管圧力が所定圧力よりも低いとき)には、スロットルバルブの下流側に配置された吸気管圧力センサの出力に基づいて第1の気筒間ばらつき値を算出するようにすれば、常にスロットルバルブの上流側に配置されたエアフローメータの出力に基づいて第1の気筒間ばらつき値を算出する場合に比べて、スロットルバルブが閉じられたときの第1の気筒間ばらつき値の算出精度を向上させることができる。しかも、スロットルバルブが閉じられたときは、各気筒への空気吸入によって吸気管圧力が負圧側に振れるので、吸気管圧力の極小値を用いることによって第1の気筒間ばらつき値の算出精度をより高めることができる。
【0018】
一方、第2の気筒間ばらつき値の算出方法の具体例としては、例えば、請求項5のように、各気筒の燃焼行程に対応する期間毎に各気筒の燃焼状態の情報となる回転変動を検出し、その回転変動に基づいて第2の気筒間ばらつき値を算出するようにしても良い。各気筒の吸入空気量や吸入燃料量に応じて各気筒の燃焼状態が変化して回転変動の値が変化するため、各気筒の回転変動を用いれば、各気筒の吸入空気量ばらつきや吸入燃料量ばらつきを反映した第2の気筒間ばらつき値を算出することができる。
【0019】
或は、請求項6のように、各気筒の排気行程に対応する期間毎に前記空燃比センサにより各気筒の排出ガスの空燃比を検出し、その空燃比に基づいて前記第2の気筒間ばらつき値を算出するようにしても良い。各気筒の吸入空気量や吸入燃料量に応じて各気筒の排出ガスの空燃比が変化するため、各気筒の排出ガスの空燃比を用いれば、各気筒の吸入空気量ばらつきや吸入燃料量ばらつきを反映した第2の気筒間ばらつき値を算出することができる。
【0020】
また、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正は、種々の組み合わせが考えられるが、可変吸気バルブ制御による吸入空気量制御の低負荷時のように気筒間の吸入空気量ばらつきが大きい場合は、請求項7のように、第1の気筒間ばらつき補正として、第1の気筒間ばらつき値に基づいて各気筒毎に点火時期を補正することで気筒間のトルクばらつきを補正し、第2の気筒間ばらつき補正として、第2の気筒間ばらつき値に基づいて各気筒毎に燃料噴射量を補正することで気筒間の空燃比ばらつきを補正すると良い。
【0021】
吸入空気量ばらつきが大きい場合(気筒間のトルクばらつきや空燃比ばらつきが大きい場合)に、第1の気筒間ばらつき補正で気筒間の空燃比ばらつきを補正すると、気筒間のトルクばらつきが大きいために、各気筒の回転変動が干渉した状態で、第2の気筒間ばらつき値を算出する必要があるため、各気筒の回転変動に基づいた第2の気筒間ばらつき値の算出精度が低下して、第2の気筒間ばらつき補正の補正精度が低下する。従って、気筒間の吸入空気量ばらつきが大きい場合には、第1の気筒間ばらつき補正で気筒間のトルクばらつきを補正した後、第2の気筒間ばらつき補正で気筒間の空燃比ばらつきを補正するという組み合わせが推奨される。
【0022】
一方、可変吸気バルブ制御による吸入空気量制御の中負荷・高負荷時やスロットル制御による吸入空気量制御時のように吸入空気量ばらつきが比較的小さい場合には、請求項8のように、第1の気筒間ばらつき補正として、第1の気筒間ばらつき値に基づいて各気筒毎に燃料噴射量を補正することで気筒間の空燃比ばらつきを補正し、第2の気筒間ばらつき補正として、第2の気筒間ばらつき値に基づいて各気筒毎に点火時期を補正することで気筒間のトルクばらつきを補正するようにしても良い。
【0023】
吸入空気量ばらつきが比較的小さい場合(気筒間のトルクばらつきや空燃比ばらつきが小さい場合)は、第1の気筒間ばらつき補正で気筒間の空燃比ばらつきを補正しても、気筒間のトルクばらつきが小さために、各気筒の回転変動が干渉しない状態で、第2の気筒間ばらつき値を算出することができるので、各気筒の回転変動に基づいて第2の気筒間ばらつき値を精度良く算出することができ、第2の気筒間ばらつき補正によって気筒間のトルクばらつきを精度良く補正することができる。この組み合わせは、特に、空燃比制御(排気エミッション低減)を優先しながらトルク変動も抑制したい場合に推奨される。
【0024】
また、請求項9のように、内燃機関の各気筒毎に吸入空気量を可変する気筒別吸入空気可変手段を備えたシステムの場合には、第1の気筒間ばらつき補正として、第1の気筒間ばらつき値に基づいて各気筒毎に気筒別吸入空気可変手段の制御量を補正して各気筒毎に吸入空気量を補正し、第2の気筒間ばらつき補正として、第2の気筒間ばらつき値に基づいて各気筒毎に燃料噴射量を補正するようにしても良い。このようにすれば、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正で、それぞれ気筒間の吸入空気量ばらつきと気筒間の吸入燃料量ばらつきを直接補正して、気筒間のトルクばらつきと気筒間の空燃比ばらつきを補正することができるので、点火時期の補正が不要となり、点火遅角による燃費の低下の問題を回避することができる。
【0025】
また、吸入空気量ばらつきが比較的小さい場合で、トルク変動の抑制(ドライバビリティ向上)を重視する場合は、請求項10のように、第1の気筒間ばらつき補正として、第1の気筒間ばらつき値に基づいて各気筒毎に点火時期を補正することで気筒間のトルクばらつきを補正し、第2の気筒間ばらつき補正として、第1の気筒間ばらつき補正で補正した点火時期を第2の気筒間ばらつき値に基づいて各気筒毎に再補正するようにすると良い。このようにすれば、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正の2段階で気筒間のトルクばらつきを補正することができるので、気筒間のトルクばらつきをより精度良く補正することができ、ドライバビリティ向上の効果を高めることができる。
【0026】
また、吸入空気量ばらつきが比較的小さい場合で、空燃比制御(排気エミッション低減)を重視する場合は、請求項11のように、第1の気筒間ばらつき補正として、第1の気筒間ばらつき値に基づいて各気筒毎に燃料噴射量を補正することで気筒間の空燃比ばらつきを補正し、第2の気筒間ばらつき補正として、第1の気筒間ばらつき補正で補正した燃料噴射量を第2の気筒間ばらつき値に基づいて各気筒毎に再補正するようにすると良い。このようにすれば、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正の2段階で気筒間の空燃比ばらつきを補正することができるので、気筒間の空燃比ばらつきをより精度良く補正することができ、排気エミッションを効果的に低減することができる。
【0027】
また、気筒間の吸入燃料量ばらつきが非常に小さい場合(例えば各気筒の燃料噴射弁の個体差が小さく、エバポガスパージ実行中でない場合)は、請求項12のように、第1の気筒間ばらつき補正として、第1の気筒間ばらつき値に基づいて各気筒毎に気筒別吸入空気可変手段の制御量を補正して各気筒毎に吸入空気量を補正し、第2の気筒間ばらつき補正として、第1の気筒間ばらつき補正で補正した気筒別吸入空気可変手段の制御量を第2の気筒間ばらつき値に基づいて各気筒毎に再補正するようにすると良い。このようにすれば、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正の2段階で気筒間の吸入空気量ばらつきを補正することができるので、気筒間の吸入空気量ばらつきをより精度良く補正することができ、気筒間のトルクばらつき補正と気筒間の空燃比ばらつき補正を両立させることができる。しかも、点火時期補正や燃料噴射量補正が不要となり、燃費の低下の問題を回避することができる。
【0028】
ところで、第1の気筒間ばらつき補正の補正量を変更してから暫くの間は、各気筒の燃焼状態が変化するので、第1の気筒間ばらつき補正の補正量変更の直後に、第2の気筒間ばらつき値を算出すると、第2の気筒間ばらつき値の算出精度が低下して、第2の気筒間ばらつき補正の補正精度が低下するおそれがある。
【0029】
そこで、請求項13のように、第1の気筒間ばらつき補正の補正量変更から所定期間が経過するまで第2の気筒間ばらつき値の算出を禁止するようにすると良い。このようにすれば、第1の気筒間ばらつき補正の補正量変更の直後で各気筒の燃焼状態が変化している期間に、第2の気筒間ばらつき値を算出することを避けて、第1の気筒間ばらつき補正の補正量変更から所定期間が経過して各気筒の燃焼状態が安定するのを待ってから第2の気筒間ばらつき値を算出することができるので、第2の気筒間ばらつき値の算出精度、ひいては第2の気筒間ばらつき補正の補正精度を向上させることができる。
【0030】
また、請求項14のように、第1の気筒間ばらつき補正によってトルク及び/又は空燃比の変動が所定以下になった場合には、第2の気筒間ばらつき補正を省略するようにしても良い。このようにすれば、第1の気筒間ばらつき補正によってトルクや空燃比が安定して第2の気筒間ばらつき補正が不必要になった場合に、第2の気筒間ばらつき補正を実行せずに済む。
【0031】
また、内燃機関の各気筒毎に吸入空気量を可変する気筒別吸入空気可変手段を備えたシステムでは、請求項15のように、内燃機関の吸入空気量と吸気管圧力のうちの少なくとも一方に基づいて各気筒の吸入空気量ばらつきを表す気筒間ばらつき値を算出し、その気筒間ばらつき値に基づいて各気筒毎に気筒別吸入空気可変手段の制御量を補正して各気筒毎に吸入空気量を補正することで気筒間の吸入空気量ばらつきを補正するようにしても良い。このようにしても、気筒間の吸入空気量ばらつきを補正することができるので、気筒間のトルクばらつきや気筒間の空燃比ばらつきを精度良く補正することができる。
【0032】
尚、上記請求項9、12、15に係る発明において、各気筒毎に吸入空気量を可変する気筒別吸入空気可変手段は、請求項16のように、各気筒毎に独立した可変吸気バルブ機構を設け、各気筒の可変吸気バルブ機構を個別に制御することで各気筒毎に吸入空気量を可変するようにしても良い。或は、請求項17のように、内燃機関の全気筒又は複数気筒の吸気バルブのバルブ制御量を一括して可変する可変吸気バルブ機構を設け、各気筒の吸気行程毎に可変バルブ吸気機構を高速駆動してバルブ制御量を可変することで各気筒毎に吸入空気量を可変するようにしても良い。いずれの場合も、各気筒毎に吸入空気量を可変することが可能である。
【0033】
【発明の実施の形態】
《実施形態(1)》
以下、本発明の実施形態(1)を図1乃至図17に基づいて説明する。まず、図1に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関である例えば4気筒のエンジン11は、第1気筒#1〜第4気筒#4の4つの気筒を有し、このエンジン11の吸気管12の最上流部には、エアクリーナ13が設けられ、このエアクリーナ13の下流側に、吸入空気量を検出するエアフローメータ14が設けられている。このエアフローメータ14は、吸入空気の逆流も検出可能なエアフローメータが用いられている。エアフローメータ14の下流側には、DCモータ等によって開度調節されるスロットルバルブ15とスロットル開度を検出するスロットル開度センサ16とが設けられている。
【0034】
更に、スロットルバルブ15の下流側には、サージタンク17が設けられ、このサージタンク17に、吸気管圧力を検出する吸気管圧力センサ18が設けられている。また、サージタンク17には、エンジン11の各気筒に空気を導入する吸気マニホールド19が設けられ、各気筒の吸気マニホールド19の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁20が取り付けられている。また、エンジン11のシリンダヘッドには、各気筒毎に点火プラグ21が取り付けられ、各点火プラグ21の火花放電によって筒内の混合気に着火される。
【0035】
また、エンジン11の吸気バルブ28と排気バルブ29には、それぞれバルブリフト量を可変する可変バルブリフト機構30,31が設けられている。更に、吸気バルブ28と排気バルブ29に、それぞれバルブタイミング(開閉タイミング)を可変する可変バルブタイミング機構を設けるようにしても良い。尚、排気バルブ29には、可変バルブリフト機構31を設けずに、可変バルブタイミング機構のみを設けるようにしても良い。
【0036】
一方、エンジン11の排気管22には、排出ガス中のCO,HC,NOx等を浄化する三元触媒等の触媒23が設けられ、この触媒23の上流側に、排出ガスの空燃比を検出する空燃比センサ24が設けられている。また、エンジン11のシリンダブロックには、冷却水温を検出する冷却水温センサ25や、エンジン11のクランク軸が一定クランク角(例えば30℃A)回転する毎にパルス信号を出力するクランク角センサ26が取り付けられている。このクランク角センサ26の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【0037】
これら各種センサの出力は、エンジン制御回路(以下「ECU」と表記する)27に入力される。このECU27は、マイクロコンピュータを主体として構成され、内蔵されたROM(記憶媒体)に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁20の燃料噴射量や点火プラグ21の点火時期を制御する。
【0038】
次に、図2に基づいて吸気バルブ28の可変バルブリフト機構30の構成を説明する。尚、排気バルブ29の可変バルブリフト機構31は、吸気バルブ28の可変バルブリフト機構30と実質的に同一構成であるため、説明を省略する。
【0039】
図2に示すように、吸気バルブ28を駆動するためのカムシャフト32とロッカーアーム33との間に、リンクアーム34が設けられ、このリンクアーム34の上方に、ステッピングモータ等のモータ41で回動駆動されるコントロールシャフト35が設けられている。コントロールシャフト35には、偏心カム36が一体的に回動可能に設けられ、この偏心カム36の軸心に対して偏心した位置に、リンクアーム34が支持軸(図示せず)を介して揺動可能に支持されている。このリンクアーム34の中央部には、揺動カム38が設けられ、この揺動カム38の側面が、カムシャフト32に設けられたカム37の外周面に当接している。また、リンクアーム34の下端部には、押圧カム39が設けられ、この押圧カム39の下端面が、ロッカーアーム33の中央部に設けられたローラ40の上端面に当接している。
【0040】
これにより、カムシャフト32の回転によってカム37が回転すると、そのカム37の外周面形状に追従してリンクアーム34の揺動カム38が左右に移動して、リンクアーム34が左右に揺動する。リンクアーム34が左右に揺動すると、押圧カム39が左右に移動するため、押圧カム39の下端面形状に応じてロッカーアーム33のローラ40が上下に移動して、ロッカーアーム33が上下に揺動する。このロッカーアーム33の上下動によって吸気バブル28が上下動するようになっている。
【0041】
一方、コントロールシャフト35の回転によって偏心カム36が回転すると、リンクアーム34の支持軸の位置が移動して、リンクアーム34の押圧カム39とロッカーアーム33のローラ40との初期の接触点位置が変化する。また、リンクアーム34の押圧カム39の下端面は、左側部分にロッカーアーム33の押圧量が0(吸気バルブ28のバルブリフト量が0)となるような曲率でベース曲面39aが形成され、このベース曲面39aから右方に向かうに従ってロッカーアーム33の押圧量が大きくなる(吸気バルブ28のバルブリフト量が大きくなる)ような曲率で押圧曲面39bが形成されている。
【0042】
吸気バルブ28のバルブリフト量を大きくする高リフトモードの場合には、コントロールシャフト35の回転によってリンクアーム34の押圧カム39とロッカーアーム33のローラ40との初期の接触点位置を右方に移動させる。これにより、カム37の回転によって押圧カム39が左右に移動したときに押圧カム39の下端面のうちローラ40に接触する区間が右方に移動するため、ロッカーアーム33の最大押圧量が大きくなって吸気バルブ28の最大バルブリフト量が大きくなると共に、ロッカーアーム33が押圧される期間が長くなって吸気バブル28の開弁期間が長くなる。
【0043】
一方、吸気バルブ28のバルブリフト量を小さくする低リフトモードの場合には、コントロールシャフト35の回転によってリンクアーム34の押圧カム39とロッカーアーム33のローラ40との初期の接触点位置を左方に移動させる。これにより、カム37の回転によって押圧カム39が左右に移動したときに押圧カム39の下端面のうちローラ40に接触する区間が左方に移動するため、ロッカーアーム33の最大押圧量が小さくなって吸気バルブ28の最大バルブリフト量が小さくなると共に、ロッカーアーム33が押圧される期間が短くなって吸気バブル28の開弁期間が短くなる。
【0044】
以上説明した可変バルブリフト機構30では、モータ41でコントロールシャフト35を回転させてリンクアーム34の押圧カム39とロッカーアーム33のローラ40との初期の接触点位置を連続的に移動させれば、全気筒(#1〜#4)の吸気バルブ28の最大バルブリフト量と開弁期間(以下単に「バルブリフト量」という)を一括して連続的に可変することができる。
【0045】
ECU27は、ROMに記憶された可変バルブ制御プログラム(図示せず)を実行することで、アクセル開度やエンジン運転状態等に基づいて吸気バルブ28の可変バルブリフト機構30を制御して、吸気バルブ28のバルブリフト量を連続的に可変して吸入空気量を制御する。尚、可変バルブリフト機構30と可変バルブタイミング機構を併用したシステムの場合には、バルブリフト量とバルブタイミングの両方を連続的に可変して吸入空気量を制御するようにしても良い。
【0046】
また、ECU27は、後述する気筒間ばらつき補正用の各ルーチンを実行することで、エンジン11の燃焼前の情報(吸入空気量や吸気管圧力)に基づいて各気筒の吸入空気量ばらつきを表す第1の気筒間ばらつき値DEV1を算出し、この第1の気筒間ばらつき値DEV1に基づいて第1の気筒間ばらつき補正を実行して気筒間のトルクばらつきや気筒間の空燃比ばらつきを補正する。そして、この第1の気筒間ばらつき補正の実行後にエンジン11の燃焼後の情報(燃焼状態や排出ガスの空燃比)に基づいて各気筒の吸入空気量ばらつきや吸入燃料量ばらつきを表す第2の気筒間ばらつき値DEV2を算出し、この第2の気筒間ばらつき値DEV2に基づいて第2の気筒間ばらつき補正を実行して気筒間のトルクばらつきや気筒間の空燃比ばらつきを補正する。
【0047】
以下、本実施形態(1)でECU27が実行する気筒間ばらつき補正用の各ルーチンの処理内容を説明する。
【0048】
[気筒間ばらつき補正ベースルーチン]
図3に示す気筒間ばらつき補正ベースルーチンは、エンジン運転中に所定周期で実行される。本ルーチンが起動されると、まず、ステップ101で、気筒間ばらつき補正実行条件が成立しているか否かを判定する。ここで、気筒間ばらつき補正実行条件は、例えば、次の▲1▼〜▲3▼の条件を全て満たすことである。
【0049】
▲1▼始動後所定時間以上が経過していること(つまり始動直後の不安定な運転状態でないこと)
▲2▼過渡運転状態でないこと(つまり定常運転状態であること)
▲3▼空燃比センサ24が活性状態であること
【0050】
上記▲1▼〜▲3▼の条件を全て満たせば、気筒間ばらつき補正実行条件が成立するが、上記▲1▼〜▲3▼の条件のうちいずれか1つでも満たさない条件があれば、気筒間ばらつき補正実行条件が不成立となる。尚、第2の気筒間ばらつき値DEV2を算出する際に空燃比センサ24の出力信号を用いない場合には、上記▲3▼の条件を省略しても良い。
【0051】
気筒間ばらつき補正実行条件が不成立と判定された場合には、以降の気筒間ばらつき補正(ステップ102〜110)を実行することなく、本ルーチンを終了する。
【0052】
一方、上記ステップ101で、気筒間ばらつき補正実行条件が成立していると判定された場合には、ステップ102以降の気筒間ばらつき補正を次のようにして実行する。まず、ステップ102で、後述する図4に示す第1の気筒間ばらつき推定ルーチンを実行して、第1の気筒間ばらつき値DEV1を算出する。本実施形態(1)では、エアフロメータ14で検出した吸入空気量に基づいて第1の気筒間ばらつき値DEV1を各気筒毎に算出する。
【0053】
この後、ステップ103に進み、後述する図10に示す第1の気筒間ばらつき補正ルーチンを実行して、第1の気筒間ばらつき補正を実行する。本実施形態(1)では、第1の気筒間ばらつき補正として、各気筒の第1の気筒間ばらつき値DEV1に基づいて各気筒毎に点火時期を補正することで、気筒間のトルクばらつきを補正する。
【0054】
この後、ステップ104に進み、第1の気筒間ばらつき補正の補正量変更がなく且つ第1の気筒間ばらつき補正の補正量変更後の経過時間をカウントする補正後経過時間カウンタCDEVが「0」にリセットされているか否かによって、第1の気筒間ばらつき補正の補正量が変更されてから各気筒の燃焼状態が安定するのに必要な所定時間KCDEVが経過した状態であるか否かを判定する。
【0055】
第1の気筒間ばらつき補正の補正量が変更されてから所定時間KCDEVが経過する前は、ステップ105に進み、補正後経過時間カウンタCDEVを「1」だけインクリメントした後、ステップ106に進み、補正後経過時間カウンタCDEVのカウント値が所定時間KCDEVを越えたか否かを判定する。補正後経過時間カウンタCDEVのカウント値が所定時間KCDEVを越えていなければ、そのまま本ルーチンを終了する。
【0056】
その後、ステップ106で、補正後経過時間カウンタCDEVのカウント値が所定時間KCDEVを越えたと判定された時点、つまり、第1の気筒間ばらつき補正の補正量が変更されてから所定時間KCDEVが経過した時点で、ステップ107に進み、補正後経過時間カウンタCDEVを「0」にリセットした後、ステップ108に進む。
【0057】
これらのステップ104〜107の処理により、第1の気筒間ばらつき補正の補正量が変更されてから所定時間KCDEVが経過するまで後述するステップ109の処理(第2の気筒間ばらつき値を算出する処理)を禁止する。これらのステップ104〜107の処理が特許請求の範囲でいうばらつき推定禁止手段としての役割を果たす。
【0058】
一方、上記ステップ104で、第1の気筒間ばらつき補正の補正量変更がなく且つ補正後経過時間カウンタCDEVが「0」にリセットされている状態、つまり、第1の気筒間ばらつき補正の補正量が変更されてから所定時間KCDEVが経過した状態であると判定された場合は、ステップ104からステップ108に進む。
【0059】
このステップ108では、エンジン11のトルクと空燃比が両方とも安定した状態であるか否かを判定する。この際、例えば、クランク角センサ26で検出したエンジン回転速度の挙動に基づいてトルクが安定しているか否か(トルクのサイクル内変動が所定以下であるか否か)を判定し、空燃比センサ24で検出した空燃比の挙動に基づいて空燃比が安定しているか否か(空燃比のサイクル内変動が所定以下であるか否か)を判定する。尚、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正の組み合わせ等によっては、必ずしもトルクと空燃比が両方とも安定しているか否かを判定する必要はなく、トルクと空燃比のうちの一方が安定しているか否かを判定するようにしても良い。
【0060】
ステップ108でトルクや空燃比が安定していないと判定された場合には、ステップ109に進み、後述する図13に示す第2の気筒間ばらつき推定ルーチンを実行して、第2の気筒間ばらつき値DEV2を算出する。本実施形態(1)では、クランク角センサ26の出力信号に基づいて算出した回転変動に基づいて第2の気筒間ばらつき値DEV2を各気筒毎に算出する。
【0061】
この後、ステップ110に進み、後述する図14に示す第2の気筒間ばらつき補正ルーチンを実行して、第2の気筒間ばらつき補正を実行する。本実施形態(1)では、第2の気筒間ばらつき補正として、各気筒の第2の気筒間ばらつき値DEV2に基づいて各気筒毎に燃料噴射量を補正することで、気筒間の空燃比ばらつきを補正する。
【0062】
これに対して、上記ステップ108で、トルクと空燃比が安定したと判定された場合には、第1の気筒間ばらつき補正によって気筒間の空燃比ばらつきや気筒間のトルクばらつきが小さくなったため、第2の気筒間ばらつき補正を実行する必要がないと判断して、第2の気筒間ばらつき推定及び第2の気筒間ばらつき補正を省略して、本ルーチンを終了する。このステップ108の処理が特許請求の範囲でいうばらつき補正省略手段としての役割を果たす。
【0063】
[第1の気筒間ばらつき推定ルーチン]
図4に示す第1の気筒間ばらつき推定ルーチン(図3のステップ102)は、エアフロメータ14で検出した吸入空気量に基づいて第1の気筒間ばらつき値DEV1を各気筒毎に算出するものである。本ルーチンは、所定周期(例えば4ms)で繰り返し実行され、特許請求の範囲でいう第1の気筒間ばらつき推定手段としての役割を果たす。
【0064】
本ルーチンが起動されると、まず、ステップ201で、エアフロメータ14のフィルタ処理後の出力電圧VAFMを読み込んだ後、ステップ202に進み、図8に示す特性の吸入空気量瞬時値GAFMの変換マップを検索して、現在のエアフロメータ14の出力電圧VAFMに応じた吸入空気量瞬時値GAFM(エアフロメータ14を通過する吸入空気量の瞬時値)を算出する。
【0065】
この後、ステップ203に進み、クランク角カウンタCCRNKのカウント値を読み込む。このクランク角カウンタCCRNKは、クランク角センサ26の出力信号に基づいて例えば30℃A毎に「1」ずつインクリメントされるため、クランク角カウンタCCRNKの24カウントが1サイクル(720℃A)に相当する。尚、クランク角カウンタCCRNKは、「24」になった時点で「0」にリセットされる。また、クランク角カウンタCCRNK=0のクランク回転位置が、第1気筒#1の圧縮上死点(圧縮TDC)に相当し、クランク角カウンタCCRNK=6、12、18のクランク回転位置が、それぞれ第3気筒#3、第4気筒#4、第2気筒#2の圧縮TDCに相当するように設定されている。
【0066】
この後、ステップ204に進み、各気筒の吸入空気量平均値GGAave(#i) を算出する。ここで、#i=#1〜#4である。
第1気筒#1の吸入空気量平均値GGAave(#1) を算出する場合は、クランク角カウンタCCRNK=12〜17の期間、つまり、第1気筒#1の吸気行程に対応する期間の例えば6回分の吸入空気量瞬時値GAFMの平均値を算出する。
【0067】
第2気筒#2の吸入空気量平均値GGAave(#2) を算出する場合は、クランク角カウンタCCRNK=6〜11の期間、つまり、第2気筒#2の吸気行程に対応する期間の例えば6回分の吸入空気量瞬時値GAFMの平均値を算出する。
【0068】
第3気筒#3の吸入空気量平均値GGAave(#3) を算出する場合は、クランク角カウンタCCRNK=18〜23の期間、つまり、第3気筒#3の吸気行程に対応する期間の例えば6回分の吸入空気量瞬時値GAFMの平均値を算出する。
【0069】
第4気筒#4の吸入空気量平均値GGAave(#4) を算出する場合は、クランク角カウンタCCRNK=0〜5の期間、つまり、第4気筒#4の吸気行程に対応する期間の例えば6回分の吸入空気量瞬時値GAFMの平均値を算出する。
【0070】
図9に示すように、一般に、複数の気筒を有するエンジン11の吸気管12内には、各気筒の吸気行程に対応して吸気脈動が発生するので、エアフローメータ14で検出した吸入空気量の波形(出力電圧VAFMの波形)は、各気筒の吸気行程に対応した脈動波形、つまり、各気筒の吸入空気量を反映した脈動波形となる。従って、各気筒の吸気行程に対応する期間毎にエアフローメータ14で検出した吸入空気量の平均値、極大値、極小値、振幅値、面積等を算出すれば、各気筒の吸入空気量を反映した脈動波形の特性値を算出することができるので、この特性値(例えば平均値)を用いれば、各気筒の吸入空気量ばらつきを反映した第1の気筒間ばらつき値DEV1を算出することができる。
【0071】
この後、ステップ205に進み、上記ステップ204で算出した各気筒の吸入空気量平均値GGAave(#i) をなまし処理して、各気筒の最終的な吸入空気量平均値GAave(#i) を求める。
GAave(#i) =GAave(#i)old+k×{GGAave(#i) −GAave(#i)old}
ここで、GAave(#i) は今回の吸入空気量平均値、GAave(#i)oldは前回の吸入空気量平均値、kはなまし係数である。
【0072】
この後、ステップ206で、各気筒の第1の気筒間ばらつき値DEV1(#i)を次式により算出する。
DEV1(#i)={GAave(#i) −AVEGAave }/AVEGAave
ここで、AVEGAave は全気筒の吸入空気量平均値GAave(#1) 〜GAave(#4) の平均値である。
AVEGAave ={GAave(#1) +……+GAave(#4) }/4
【0073】
尚、図4に示す第1の気筒間ばらつき推定ルーチンでは、各気筒の吸入空気量平均値GAave(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出したが、各気筒の吸入空気量極大値GAmax(#i) や吸入空気量極小値GAmin(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出するようにしても良い。或は、各気筒の吸入空気量振幅値GAwid(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出するようにしても良い。また、各気筒の吸入空気量の面積を算出するようにしても良い。
【0074】
各気筒の吸入空気量極大値GAmax(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出する場合は、図4のステップ201〜ステップ203の処理を実行した後、図5に示すステップ204aに進み、各気筒の吸入空気量極大値GGAmax(#i) を算出する。この場合、各気筒の吸入空気量極大値GGAmax(#1) 〜GGAmax(#4) として、それぞれ各気筒の吸気行程に対応する期間の吸入空気量瞬時値GAFMの最大値を算出する。
【0075】
この後、ステップ205aに進み、各気筒の吸入空気量極大値GGAmax(#i) をなまし処理して、各気筒の最終的な吸入空気量極大値GAmax(#i) を求める。GAmax(#i) =GAmax(#i)old+k×{GGAmax(#i) −GAmax(#i)old}
ここで、GAmax(#i)oldは前回の吸入空気量極大値である。
【0076】
そして、次のステップ206aで、各気筒の第1の気筒間ばらつき値DEV1(#i)を次式により算出する。
DEV1(#i)={GAmax(#i) −AVEGAmax }/AVEGAmax
ここで、AVEGAmax は全気筒の吸入空気量極大値GAmax(#1) 〜GAmax(#4) の平均値である。
AVEGAmax ={GAmax(#1) +……+GAmax(#4) }/4
【0077】
一方、各気筒の吸入空気量極小値GAmin(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出する場合は、図4のステップ201〜ステップ203の処理を実行した後、図6に示すステップ204bに進み、各気筒の吸入空気量極小値GGAmin(#i) を算出する。この場合、各気筒の吸入空気量極小値GGAmin(#1) 〜GGAmin(#4) として、それぞれ各気筒の吸気行程に対応する期間の吸入空気量瞬時値GAFMの最小値を算出する。尚、吸入空気量極小値GGAmin(#1) 〜GGAmin(#4) は、吸入空気量とばらつき方向を合わせるためにマイナス値にしておく。
【0078】
そして、次のステップ205bで、各気筒の吸入空気量極小値GGAmin(#i) をなまし処理して、各気筒の最終的な吸入空気量極小値GAmin(#i) を求める。GAmin(#i) =GAmin(#i)old+k×{GGAmin(#i) −GAmin(#i)old}
ここで、GAmin(#i)oldは、前回の吸入空気量極小値である。
【0079】
この後、ステップ206bに進み、各気筒の第1の気筒間ばらつき値DEV1(#i)を次式により算出する。
DEV1(#i)={GAmin(#i) −AVEGAmin }/AVEGAmin
ここで、AVEGAmin は全気筒の吸入空気量極小値GAmin(#1) 〜GAmin(#4) の平均値である。
AVEGAmin ={GAmin(#1) +……+GAmin(#4) }/4
【0080】
また、各気筒の吸入空気量振幅値GAwid(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出する場合は、図4のステップ201〜ステップ203の処理を実行した後、図7に示すステップ204cに進み、各気筒の吸入空気量極大値GGAmax(#i) を算出した後、ステップ205cに進み、各気筒の吸入空気量極小値GGAmin(#i) を算出する。
【0081】
この後、ステップ206cに進み、各気筒の吸入空気量振幅値GGAwid(#i) を次式により算出する。
GGAwid(#i) =GGAmax(#i) −GGAmin(#i)
【0082】
そして、次のステップ207cで、各気筒の吸入空気量振幅値GGAwid(#i) をなまし処理して各気筒の最終的な吸入空気量振幅値GGAwid(#i) を求める。
GAwid(#i) =GAwid(#i)old+k×{GGAwid(#i) −GAwid(#i)old}
ここで、GAwid(#i)oldは、前回の吸入空気量振幅値である。
【0083】
この後、ステップ208cに進み、各気筒の第1の気筒間ばらつき値DEV1(#i)を次式により算出する。
DEV1(#i)={GAwid(#i) −AVEGAwid }/AVEGAwid
ここで、AVEGAwid は全気筒の吸入空気量振幅値GAwid(#1) 〜GAwid(#4) の平均値である。
AVEGAwid ={GAwid(#1) +……+GAwid(#4) }/4
【0084】
尚、吸入空気量平均値GAave(#i) 、吸入空気量極大値GAmax(#i) 、吸入空気量極小値GAmin(#i) 、吸入空気量振幅値GAwid(#i) のうちの2つ以上に基づいて第1の気筒間ばらつき値DEV1(#i)を算出するようにしても良い。
【0085】
[第1の気筒間ばらつき補正ルーチン]
図10に示す第1の気筒間ばらつき補正ルーチンは、図3のステップ103で起動されるサブルーチンであり、各気筒の第1の気筒間ばらつき値DEV1に基づいて各気筒毎に点火時期を補正することで、気筒間のトルクばらつきを補正するものであり、特許請求の範囲でいう第1の気筒間ばらつき補正手段としての役割を果たす。
【0086】
本ルーチンが起動されると、まず、ステップ301で、各気筒の第1の気筒間ばらつき値DEV1(#1)〜DEV1(#4)を読み込んだ後、ステップ302に進み、各気筒の第1の気筒間ばらつき値DEV1(#1)〜DEV1(#4)のうちの最小値DEV1min を選択する。
【0087】
この後、ステップ303に進み、図11に示す特性の点火時期の基本補正量FAOP1のマップを検索して、各気筒毎に第1の気筒間ばらつき値DEV1(#i)と最小値DEV1min との差分に応じた点火時期の基本補正量FAOP1(#i)を算出する。
【0088】
図11の点火時期の基本補正量FAOP1のマップは、DEV1(#i)−DEV1min の値が大きくなるほど基本補正量FAOP1が小さくなる(点火時期の遅角量が大きくなる)ように遅角補正側(トルクダウン側)のみが設定されている。また、DEV1(#i)−DEV1min が所定値以下の領域では、基本補正量FAOP1=0に設定され、点火時期を補正しない。
【0089】
この後、ステップ304に進み、クランク角センサ26で検出したエンジン回転速度NEを読み込むと共に、エアフローメータ14で検出した吸入空気量GAを読み込んだ後、ステップ305に進み、図12に示す補正係数FAOP2のマップを検索して、各気筒毎に現在のエンジン運転状態(例えばエンジン回転速度NEと吸入空気量GA)に応じた補正係数FAOP2(#i)を算出する。
【0090】
この後、ステップ306に進み、各気筒の基本補正量FAOP1(#i)に補正係数FAOP2(#i)を乗算して、各気筒の点火時期補正量FAOP(#i)を求める。
FAOP(#i)=FAOP1(#i)×FAOP2(#i)
【0091】
この後、ステップ307に進み、補正前の全気筒の平均点火時期AOPに各気筒の点火時期補正量FAOP(#i)を加算して、各気筒の最終点火時期AOP(#i)を求める。
AOP(#i)=AOP+FAOP(#i)
【0092】
以上の処理により各気筒の第1の気筒間ばらつき値DEV1に応じて各気筒の点火時期を遅角補正して各気筒のトルクを適宜低下させることで、気筒間のトルクばらつきを小さくする。
【0093】
尚、本ルーチンでは、点火時期の遅角補正によるトルクダウンのみを利用して気筒間のトルクばらつきを補正するため、点火時期が進角補正されてノック限界を越えてしまうことを防止することができる利点があるが、点火時期の進角側に余裕がある場合は、点火時期の進角補正によるトルクアップと遅角補正によるトルクダウンを両方とも利用して気筒間のトルクばらつきを小さくするようにしても良い。
【0094】
[第2の気筒間ばらつき推定ルーチン]
図13に示す第2の気筒間ばらつき推定ルーチンは、図3のステップ109で起動されるサブルーチンであり、クランク角センサ26の出力信号に基づいて算出した回転変動に基づいて第2の気筒間ばらつき値DEV2を各気筒毎に算出するものであり、特許請求の範囲でいう第2の気筒間ばらつき推定手段としての役割を果たす。
【0095】
本ルーチンが起動されると、まず、ステップ401で、クランク角カウンタCCRNKのカウント値を読み込む。前述したように、このクランク角カウンタCCRNKは、クランク角センサ26の出力信号に基づいて例えば30℃A毎に「1」ずつインクリメントされる。
【0096】
この後、ステップ402に進み、クランク軸が30℃A回転するのに要した時間T30(クランク角カウンタCCRNKの前回のインクリメントタイミングから今回のインクリメントタイミングまでの時間)を読み込む。
そして、次のステップ403で、各気筒の燃焼行程に対応する期間のT30の最小値T30MIN(#i)と最大値T30MAX(#i)を算出する。
【0097】
第1気筒#1の最小値T30MIN(#1)と最大値T30MAX(#1)を算出する場合は、クランク角カウンタCCRNK=0〜5の期間、つまり、第1気筒#1の燃焼行程に対応する期間のT30の最小値と最大値を算出する。
【0098】
第2気筒#2の最小値T30MIN(#2)と最大値T30MAX(#2)を算出する場合は、クランク角カウンタCCRNK=18〜23の期間、つまり、第2気筒#2の燃焼行程に対応する期間のT30の最小値と最大値を算出する。
【0099】
第3気筒#3の最小値T30MIN(#3)と最大値T30MAX(#3)を算出する場合は、クランク角カウンタCCRNK=6〜11の期間、つまり、第3気筒#3の燃焼行程に対応する期間のT30の最小値と最大値を算出する。
【0100】
第4気筒#4の最小値T30MIN(#4)と最大値T30MAX(#4)を算出する場合は、クランク角カウンタCCRNK=12〜17の期間、つまり、第4気筒#4の燃焼行程に対応する期間のT30の最小値と最大値を算出する。
【0101】
この後、ステップ404に進み、各気筒の回転変動ΔTT30(#i)を次式により算出する。
ΔTT30(#i)=T30MAX(#i)−T30MIN(#i)
このようにして算出した各気筒の回転変動ΔTT30(#i)は、各気筒の燃焼トルクに応じた値となる。
【0102】
そして、次のステップ405で、上記ステップ404で算出した各気筒の回転変動ΔTT30(#i)をなまし処理して、各気筒の最終的な回転変動ΔT30(#i)を求める。
ΔT30(#i)=ΔT30(#i)old +k×{ΔTT30(#i)−ΔT30(#i)old }
ここで、ΔT30(#i)old は前回の回転変動である。
【0103】
この後、ステップ406に進み、全気筒の回転変動ΔT30(#1)〜ΔT30(#4)の平均値ΔT30ave を算出した後、ステップ207に進み、各気筒の第2の気筒間ばらつき値DEV2(#i)を次式により算出する。
DEV2(#i)={ΔT30(#i)−ΔT30ave }/ΔT30ave
【0104】
[第2の気筒間ばらつき補正ルーチン]
図14に示す第2の気筒間ばらつき補正ルーチンは、図3のステップ110で起動されるサブルーチンである。本ルーチンは、各気筒の回転変動ΔT30(#i)に基づいて第2の気筒間ばらつき値DEV2を算出した場合の第2の気筒間ばらつき補正として、各気筒の第2の気筒間ばらつき値DEV2に基づいて各気筒毎に燃料噴射時間(燃料噴射量)を補正することで、気筒間の空燃比ばらつきを補正するものであり、特許請求の範囲でいう第2の気筒間ばらつき補正手段としての役割を果たす。
【0105】
本ルーチンが起動されると、まず、ステップ501で、各気筒の第2の気筒間ばらつき値DEV2(#i)を読み込んだ後、ステップ502に進み、図15に示す特性の燃料噴射時間の基本補正量KTAU1のマップを検索して、各気筒毎に第2の気筒間ばらつき値DEV2(#i)に応じた基本補正量KTAU1(#i)を算出する。
【0106】
図15の基本補正量KTAU1のマップは、第2の気筒間ばらつき値DEV2(#i)の値が大きくなるほど基本補正量KTAU1が小さくなるように設定されているが、DEV2(#i)が0付近の所定領域では、基本補正量KTAU1=1.0に設定され、燃料噴射時間を補正しない。
【0107】
この後、ステップ503に進み、エンジン回転速度NEと吸入空気量GAを読み込んだ後、ステップ504に進み、図16に示す補正係数KTAU2のマップを検索して、各気筒毎に現在のエンジン運転状態(例えばエンジン回転速度NEと吸入空気量GA)に応じた補正係数KTAU2(#i)を算出する。
【0108】
エンジン回転速度NEが高くなると、慣性力が大きくなって回転変動ΔT30が小さくなることを考慮して、図16の補正係数KTAU2のマップは、エンジン回転速度NEが高くなるほど補正係数KTAU2が大きくなるように設定されている。
【0109】
この後、ステップ505に進み、各気筒の基本補正量KTAU1(#i)に補正係数KTAU2(#i)を乗算して、各気筒の燃料噴射時間補正係数KTAU(#i)を求める。
KTAU(#i)=KTAU1(#i)×KTAU2(#i)
【0110】
そして、次のステップ506で、補正前の全気筒の平均燃料噴射時間TAUに各気筒の燃料噴射時間補正係数KTAU(#i)を乗算して、各気筒の最終燃料噴射時間TAU(#i)を求める。
TAU(#i)=TAU×KTAU(#i)
以上の処理により、各気筒の第2の気筒間ばらつき値DEV2に応じて各気筒の燃料噴射量を補正することで、気筒間の空燃比ばらつきを小さくする。
【0111】
以上説明した本実施形態(1)の気筒間ばらつき補正の実行例を図17に示すタイムチャートを用いて説明する。
気筒間ばらつき補正実行条件が成立して補正実行フラグがオンされると、まず、エアフロメータ14で検出した吸入空気量に基づいて各気筒の第1の気筒間ばらつき値DEV1(#1)〜DEV1(#4)を算出する。そして、第1の気筒間ばらつき補正では、各気筒の第1の気筒間ばらつき値DEV1(#1)〜DEV1(#4)に基づいて各気筒の点火時期補正量FAOP(#1)〜FAOP(#4)を算出し、これらの点火時期補正量FAOP(#1)〜FAOP(#4)を用いて各気筒の点火時期を補正することで気筒間のトルクばらつきを補正する。
【0112】
この後、第1の気筒間ばらつき補正で点火時期が補正されてから(点火時期補正量FAOPが変更されてから)、各気筒の燃焼状態が安定するのに必要な所定時間KCDEVが経過した後、クランク角センサ26の出力信号に基づいて算出した回転変動ΔT30(#i)に基づいて各気筒の第2の気筒間ばらつき値DEV2(#1)〜DEV2(#4)を算出する。そして、第2の気筒間ばらつき補正では、各気筒の第2の気筒間ばらつき値DEV2(#1)〜DEV2(#4)に基づいて各気筒の燃料噴射時間補正係数KTAU(#1)〜KTAU(#4)を算出し、これらの燃料噴射時間補正係数KTAU(#1)〜KTAU(#4)を用いて各気筒の燃料噴射時間を補正することで気筒間の空燃比ばらつきを補正する。
【0113】
以上の処理により、各気筒の図示平均有効圧力をほぼ均等にして回転変動の発生を抑えることができ、ドライバビリティを向上させることができると共に、各気筒の空燃比をほぼ均等にして排出ガスの空燃比を触媒23の浄化ウインド内に制御するとができ、排気エミッションを低減することができる。
【0114】
以上説明した本実施形態(1)では、気筒間のトルクばらつきの補正と気筒間の空燃比ばらつきの補正を、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正とに分けて行うことができるので、可変吸気バルブ制御による吸入空気量制御の低負荷時のように、気筒間の吸入空気量ばらつきが大きくなって気筒間のトルクばらつきや空燃比ばらつきが大きくなる場合でも、気筒間のトルクばらつき補正と気筒間の空燃比ばらつき補正を両立させて、気筒間のトルクばらつきと空燃比ばらつきを両方とも低減させることができる。
【0115】
ところで、可変吸気バルブ制御による吸入空気量制御の低負荷時のように、吸入空気量ばらつきが大きい場合(気筒間のトルクばらつきや空燃比ばらつきが大きい場合)に、第1の気筒間ばらつき補正で気筒間の空燃比ばらつきを補正すると、気筒間のトルクばらつきが大きいために、各気筒の回転変動が干渉した状態で、第2の気筒間ばらつき値を算出する必要があるため、各気筒の回転変動ΔT30(#i)に基づいた第2の気筒間ばらつき値DEV2の算出精度が低下して、第2の気筒間ばらつき補正の補正精度が低下する。
【0116】
その点、本実施形態(1)では、第1の気筒間ばらつき補正で気筒間のトルクばらつきを補正し、第2の気筒間ばらつき補正で気筒間の空燃比ばらつきを補正するようにしているので、各気筒の回転変動ΔT30(#i)に基づいて第2の気筒間ばらつき値DEV2を算出しても、その算出精度の低下を防止することができて、第2の気筒間ばらつき補正の補正精度の低下を防止することができ、気筒間のトルクばらつき補正と気筒間の空燃比ばらつき補正をより効果的に両立させることができる。
【0117】
更に、本実施形態(1)では、第1の気筒間ばらつき補正で補正量が変更されてから所定時間KCDEVが経過するまで第2の気筒間ばらつき値DEV2の算出を禁止するようにしたので、第1の気筒間ばらつき補正で補正量が変更された直後で各気筒の燃焼状態が変化している期間に第2の気筒間ばらつき値DEV2を算出することを避けて、第1の気筒間ばらつき補正で補正量が変更されてから所定時間KCDEVが経過して各気筒の燃焼状態が安定するのを待ってから第2の気筒間ばらつき値DEV2を算出することができ、第2の気筒間ばらつき値DEV2の算出精度、ひいては第2の気筒間ばらつき補正の補正精度を向上させることができる。
【0118】
また、本実施形態(1)では、第1の気筒間ばらつき補正によってエンジン11のトルクや空燃比が安定した場合には、第1の気筒間ばらつき補正によって気筒間のトルクばらつきや気筒間の空燃比ばらつきが小さくなったため、第2の気筒間ばらつき補正を実行する必要がないと判断して、第2の気筒間ばらつき推定及び第2の気筒間ばらつき補正を省略するようにしたので、無駄に第2の気筒間ばらつき推定や第2の気筒間ばらつき補正を実行せずに済む。
【0119】
《実施形態(2)》
上記実施形態(1)では、エアフロメータ14で検出した吸入空気量に基づいて第1の気筒間ばらつき値DEV1を各気筒毎に算出したが、図18乃至図22に示す本発明の実施形態(2)は、吸気管圧力センサ18で検出した吸気管圧力に基づいて第1の気筒間ばらつき値DEV1を各気筒毎に算出するようにしたものである。
【0120】
[第1の気筒間ばらつき推定ルーチン]
本実施形態(2)でECU27が実行する図18に示す第1の気筒間ばらつき推定ルーチンは、所定周期(例えば4ms)で繰り返し実行される。本ルーチンが起動されると、まず、ステップ601で、吸気管圧力センサ18のフィルタ処理後の出力電圧VMAPを読み込んだ後、ステップ602に進み、図22に示す特性の吸気管圧力瞬時値PMAPのマップを検索して、現在の吸気管圧力センサ18の出力電圧VMAPに応じた吸気管圧力瞬時値PMAPを算出する。
【0121】
この後、ステップ603に進み、クランク角カウンタCCRNKのカウント値を読み込んだ後、ステップ604に進み、各気筒の吸気管圧力平均値PPMave(#i) を算出する。
【0122】
第1気筒#1の吸気管圧力平均値PPMave(#1) を算出する場合は、第1気筒#1の吸気行程に対応する期間(CCRNK=12〜17の期間)の例えば6回分の吸気管圧力瞬時値PMAPの平均値を算出する。
【0123】
第2気筒#2の吸気管圧力平均値PPMave(#2) を算出する場合は、第2気筒#2の吸気行程に対応する期間(CCRNK=6〜11の期間)の例えば6回分の吸気管圧力瞬時値PMAPの平均値を算出する。
【0124】
第3気筒#3の吸気管圧力平均値PPMave(#3) を算出する場合は、第3気筒#3の吸気行程に対応する期間(CCRNK=18〜23の期間)の例えば6回分の吸気管圧力瞬時値PMAPの平均値を算出する。
【0125】
第4気筒#4の吸気管圧力平均値PPMave(#4) を算出する場合は、第4気筒#4の吸気行程に対応する期間(CCRNK=0〜5の期間)の例えば6回分の吸気管圧力瞬時値PMAPの平均値を算出する。
尚、吸気管圧力平均値PPMave(#1) 〜PPMave(#4) は、吸入空気量とばらつき方向を合わせるためにマイナス値にしておく。
【0126】
エアフローメータ14で検出した吸入空気量の波形(出力電圧VAFMの波形)と同じように、吸気管圧力センサ18で検出した吸気管圧力の波形(出力電圧VMAPの波形)も、各気筒の吸気行程に対応した脈動波形、つまり、各気筒の吸入空気量を反映した脈動波形となる。従って、各気筒の吸気行程に対応する期間毎に吸気管圧力センサ18で検出した吸気管圧力の平均値、極大値、極小値、振幅値、面積等を算出すれば、各気筒の吸入空気量を反映した脈動波形の特性値を算出することができるので、この特性値(例えば平均値)を用いれば、各気筒の吸入空気量ばらつきを反映した第1の気筒間ばらつき値DEV1を算出することができる。
【0127】
この後、ステップ605に進み、上記ステップ604で算出した各気筒の吸気管圧力平均値PPMave(#i) をなまし処理して、各気筒の最終的な吸気管圧力平均値PMave(#i) を求める。
PMave(#i) =PMave(#i)old+k×{PPMave(#i) −PMave(#i)old}
ここで、PMave(#i)oldは、前回の吸気管圧力平均値である。
【0128】
そして、次のステップ606で、各気筒の第1の気筒間ばらつき値DEV1(#i)を次式により算出する。
DEV1(#i)={PMave(#i) −AVEPMave }/AVEPMave
ここで、AVEPMave は全気筒の吸気管圧力平均値PMave(#1) 〜PMave(#4) の平均値である。
【0129】
尚、図18に示す第1の気筒間ばらつき推定ルーチンでは、各気筒の吸気管圧力平均値PMave(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出したが、各気筒の吸気管圧力極大値PMmax(#i) や吸気管圧力極小値PMmin(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出するようにしても良い。或は、各気筒の吸気管圧力振幅値PMwid(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出するようにしても良い。また、各気筒の吸気管圧力の面積を算出するようにしても良い。
【0130】
各気筒の吸気管圧力極大値PMmax(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出する場合は、図18のステップ601〜ステップ603の処理を実行した後、図19に示すステップ604aに進み、各気筒の吸気管圧力極大値PPMmax(#i) を算出する。この場合、各気筒の吸気管圧力極大値PPMmax(#1) 〜PPMmax(#4) として、それぞれ各気筒の吸気行程に対応する期間の吸気管圧力瞬時値PMAPの最大値を算出する。
【0131】
この後、ステップ605aに進み、各気筒の吸気管圧力極大値PPMmax(#i) をなまし処理して、各気筒の最終的な吸気管圧力極大値PMmax(#i) を求める。
PMmax(#i) =PMmax(#i)old+k×{PPMmax(#i) −PMmax(#i)old}
ここで、PMmax(#i)oldは、前回の吸気管圧力極大値である。
【0132】
そして、次のステップ606aで、各気筒の第1の気筒間ばらつき値DEV1(#i)を次式により算出する。
DEV1(#i)={PMmax(#i) −AVEPMmax }/AVEPMmax
ここで、AVEPMmax は、全気筒の吸気管圧力極大値PMmax(#1) 〜PMmax(#4) の平均値である。
【0133】
一方、各気筒の吸気管圧力極小値PMmin(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出する場合は、図18のステップ601〜ステップ603の処理を実行した後、図20に示すステップ604bに進み、各気筒の吸気管圧力極小値PPMmin(#i) を算出する。この場合、各気筒の吸気管圧力極小値PPMmin(#1) 〜PPMmin(#4) として、それぞれ各気筒の吸気行程に対応する期間の吸気管圧力瞬時値PMAPの最小値を算出する。尚、吸気管圧力極小値PPMmin(#1) 〜PPMmin(#4) は、吸気管圧力とばらつき方向を合わせるためにマイナス値にしておく。
【0134】
この後、ステップ605bに進み、各気筒の吸気管圧力極小値PPMmin(#i) をなまし処理して、各気筒の最終的な吸気管圧力極小値PMmin(#i) を求める。
PMmin(#i) =PMmin(#i)old+k×{PPMmin(#i) −PMmin(#i)old}
ここで、PMmin(#i)oldは、前回の吸気管圧力極小値である。
【0135】
この後、ステップ606bに進み、各気筒の第1の気筒間ばらつき値DEV1(#i)を次式により算出する。
DEV1(#i)={PMmin(#i) −AVEPMmin }/AVEPMmin
ここで、AVEPMmin は、全気筒の吸気管圧力極小値PMmin(#1) 〜PMmin(#4) の平均値である。
【0136】
また、各気筒の吸気管圧力振幅値PMwid(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出する場合は、図18のステップ601〜ステップ603の処理を実行した後、図21に示すステップ604cに進み、各気筒の吸気管圧力極大値PPMmax(#i) を算出した後、ステップ605cに進み、各気筒の吸気管圧力極小値PPMmin(#i) を算出する。
【0137】
この後、ステップ606cに進み、各気筒の吸気管圧力振幅値PPMwid(#i) を次式により算出する。
PPMwid(#i) =PPMmax(#i) −PPMmin(#i)
【0138】
この後、ステップ607cに進み、各気筒の吸気管圧力振幅値PPMwid(#i) をなまし処理して、各気筒の最終的な吸気管圧力振幅値PMwid(#i) を求める。
PMwid(#i) =PMwid(#i)old+k×{PPMwid(#i) −PMwid(#i)old}
ここで、PMwid(#i)oldは、前回の吸気管圧力振幅値である。
【0139】
そして、次のステップ608cで、各気筒の第1の気筒間ばらつき値DEV1(#i)を次式により算出する。
DEV1(#i)={PMwid(#i) −AVEPMwid }/AVEPMwid
ここで、AVEPMwid は、全気筒の吸気管圧力振幅値PMwid(#1) 〜PMwid(#4) の平均値である。
【0140】
尚、吸気管圧力平均値PMave(#i) 、吸気管圧力極大値PMmax(#i) 、吸気管圧力極小値PMmin(#i) 、吸気管圧力振幅値PMwid(#i) のうちの2つ以上に基づいて第1の気筒間ばらつき値DEV1(#i)を算出するようにしても良い。
【0141】
《実施形態(3)》
一般に、エアフローメータ14は、スロットルバルブ15よりも上流側に配置され、吸気管圧力センサ18は、スロットルバルブ15よりも下流側に配置されている。スロットルバルブ15が全開位置から閉じられたときに、スロットルバルブ15の上流側では吸気脈動が小さくなるため、スロットルバルブ15の上流側に配置されたエアフローメータ14の出力に基づいて第1の気筒間ばらつき値DEV1を算出すると、スロットルバルブ15が閉じられたときに、第1の気筒間ばらつき値DEV1の算出精度が低下するおそれがある。
【0142】
そこで、図23に示す本発明の実施形態(3)では、スロットル開度TAが所定開度KTAよりも小さいときに、吸気管圧力センサ18で検出した吸気管圧力の極小値PMmin(#i) に基づいて第1の気筒間ばらつき値DEV1を算出することで、スロットルバルブ15が閉じられたときの第1の気筒間ばらつき値DEV1の算出精度を確保するようにしている。
【0143】
[第1の気筒間ばらつき推定ルーチン]
本実施形態(3)では、図23に示す第1の気筒間ばらつき推定ルーチンを実行する。本ルーチンが起動されると、まず、ステップ701で、クランク角カウンタCCRNKのカウント値を読み込んだ後、ステップ702に進み、スロットル開度TAが所定開度KTAよりも小さいか否かによって、スロットルバルブ15が閉じられているか否かを判定する。尚、吸気管圧力PM(例えば全気筒の平均吸気管圧力)が所定圧力KPM(例えば大気圧)よりも小さいか否かによってスロットルバルブ15が閉じられているか否かを判定するようにしても良い。
【0144】
スロットル開度TAが所定開度KTAよりも小さい(又は吸気管圧力PMが所定圧力KPMよりも小さい)と判定された場合には、ステップ703〜707の処理を実行し、まず、吸気管圧力センサ18の出力電圧VMAPに応じた吸気管圧力瞬時値PMAPを算出する(ステップ703、704)。
【0145】
この後、各気筒の吸気管圧力極小値PPMmin(#i) を算出し、これをなまし処理して各気筒の最終的な吸気管圧力極小値PMmin(#i) を求めた後、これら各気筒の吸気管圧力極小値PMmin(#i) に基づいて各気筒の第1の気筒間ばらつき値DEV1(#i)を算出する(ステップ705〜707)。
【0146】
一方、上記ステップ702で、スロットル開度TAが所定開度KTA以上(又は吸気管圧力PMが所定圧力KPM以上)と判定された場合、つまり、スロットルバルブ15が全開位置又はその付近に制御されている場合には、ステップ706〜712の処理を実行し、まず、エアフロメータ14の出力電圧VAFMに応じた吸入空気量瞬時値GAFMを算出する(ステップ708、709)。
【0147】
この後、各気筒の吸入空気量極大値GGAmax(#i) を算出し、これをなまし処理して各気筒の最終的な吸入空気量極大値GAmax(#i) を求め、これら各気筒の吸入空気量極大値GAmax(#i) に基づいて各気筒の第1の気筒間ばらつき値DEV1(#i)を算出する(ステップ710〜712)。
【0148】
尚、本ルーチンでは、スロットル開度TAが所定開度KTA以上(又は吸気管圧力PMが所定圧力KPM以上)と判定された場合に、各気筒の吸入空気量極大値GAmax(#i) に基づいて各気筒の第1の気筒間ばらつき値DEV1(#i)を算出するようにしたが、これに限定されず、吸入空気量平均値GAave(#i) 、吸入空気量極大値GAmax(#i) 、吸入空気量極小値GAmin(#i) 、吸入空気量振幅値GAwid(#i) のうちの1つ又は2つ以上に基づいて第1の気筒間ばらつき値DEV1(#i)を算出するようにしても良い。或は、吸気管圧力平均値PMave(#i) 、吸気管圧力極大値PMmax(#i) 、吸気管圧力極小値PMmin(#i) 、吸気管圧力振幅値PMwid(#i) のうちの2つ以上に基づいて第1の気筒間ばらつき値DEV1(#i)を算出するようにしても良い。尚、吸気管圧力平均値PMave(#i) の代わりに、各気筒の吸気管圧力の面積を算出するようにしても良い。
【0149】
以上説明した本実施形態(3)では、スロットル開度TAが所定開度KTAよりも小さい(又は吸気管圧力PMが所定圧力KPMよりも小さい)場合には、スロットルバルブ15の下流側に配置された吸気管圧力センサ18で検出した吸気管圧力極小値PMmin(#i) に基づいて第1の気筒間ばらつき値DEV1(#i)を算出するようにしたので、常にスロットルバルブ15の上流側に配置されたエアフローメータ14の出力に基づいて第1の気筒間ばらつき値DEV1(#i)を算出する場合に比べて、スロットルバルブ15が閉じられたときの第1の気筒間ばらつき値(#i)の算出精度を向上させることができる。しかも、スロットルバルブ15が閉じられたときは、各気筒への空気吸入によって吸気管圧力が負圧側に振れるので、吸気管圧力極小値PMmin(#i) を用いることによって第1の気筒間ばらつき値(#i)の算出精度をより高めることができる。
【0150】
《実施形態(4)》
前記実施形態(1)では、回転変動に基づいて第2の気筒間ばらつき値DEV2を各気筒毎に算出するようにしたが、図24乃至図26に示す本発明の実施形態(4)では、空燃比に基づいて第2の気筒間ばらつき値DEV2を各気筒毎に算出するようにしている。
【0151】
本実施形態(4)では、図24に示す第2の気筒間ばらつき推定ルーチンと図26に示す第2の気筒間ばらつき補正ルーチンを実行する。
【0152】
[第2の気筒間ばらつき推定ルーチン]
図24に示す第2の気筒間ばらつき推定ルーチンは、空燃比センサ24で検出した空燃比に基づいて第2の気筒間ばらつき値DEV2を各気筒毎に次のようにして算出する。
【0153】
本ルーチンが起動されると、まず、ステップ801で、空燃比センサ24の出力AFを読み込んだ後、ステップ802に進み、クランク角カウンタCCRNKのカウント値を読み込む。
【0154】
この後、ステップ803に進み、エンジン11から排出された排出ガスが空燃比センサ24で検出されるまでに要する排気系の遅れ時間DELYを算出する。この排気系の遅れ時間DELYは、エンジン運転状態(例えばエンジン回転速度NEと吸入空気量GA)に応じて変化するため、図25に示す排気系の遅れ時間DELYのマップを検索して、現在のエンジン運転状態(例えばエンジン回転速度NEと吸入空気量GA)に応じた遅れ時間DELYを算出する。
【0155】
そして、次のステップ804で、クランク角カウンタCCRNKのカウント値と排気系の遅れ時間DELYとに基づいて各気筒の排気行程に対応する期間の排出ガスの空燃比AFの平均値を算出することで、各気筒の空燃比平均値AAF(#i)を算出する。
【0156】
この後、ステップ805に進み、上記ステップ804で算出した各気筒の空燃比平均値AAF(#i)をなまし処理して各気筒の最終的な空燃比平均値AF(#i)を求める。
AF(#i)=AF(#i)old +k×{AAF(#i)−AF(#i)old }
ここで、AF(#i)old は、前回の空燃比平均値である。
【0157】
この後、ステップ806に進み、全気筒の空燃比平均値AF(#1)〜AF(#4)の平均値AFave を算出した後、ステップ807に進み、各気筒の第2の気筒間ばらつき値DEV2(#i)を次式により算出する。
【0158】
DEV2(#i)={AF(#i)−AFave }/AFave
[第2の気筒間ばらつき補正ルーチン]
図26に示す第2の気筒間ばらつき補正ルーチンは、各気筒の空燃比に基づいて第2の気筒間ばらつき値DEV2を算出した場合の第2の気筒間ばらつき補正として、各気筒の第2の気筒間ばらつき値DEV2に基づいて各気筒毎に燃料噴射時間(燃料噴射量)を補正することで、気筒間の空燃比ばらつきを補正するものである。
【0159】
本ルーチンが起動されると、まず、ステップ901で、各気筒の第2の気筒間ばらつき値DEV2(#i)を読み込んだ後、ステップ902に進み、各気筒の第2の気筒間ばらつき値DEV2(#i)を用いて、各気筒の燃料噴射時間補正係数KTAU1(#i)を次式により算出する。
KTAU(#i)=DEV2(#i)+1
【0160】
この後、ステップ903に進み、補正前の全気筒の平均燃料噴射時間TAUに各気筒の燃料噴射時間補正係数KTAU(#i)を乗算して、各気筒の最終燃料噴射時間TAU(#i)を求める。
TAU(#i)=TAU×KTAU(#i)
【0161】
以上の処理により、各気筒の第2の気筒間ばらつき値DEV2に応じて各気筒の燃料噴射量を補正することで(図17の括弧内参照)、気筒間の空燃比ばらつきを小さくする。
【0162】
以上説明した本実施形態(4)のようにしても、前記実施形態(1)と同様の効果を得ることができる。
【0163】
《実施形態(5)》
上記各実施形態(1)〜(4)では、第1の気筒間ばらつき補正で各気筒毎に点火時期を補正することで気筒間のトルクばらつきを補正し、第2の気筒間ばらつき補正で各気筒毎に燃料噴射時間(燃料噴射量)を補正することで気筒間の空燃比ばらつきを補正するようにしたが、これとは逆に、図27乃至図31に示す本発明の実施形態(5)では、第1の気筒間ばらつき補正で各気筒毎に燃料噴射時間(燃料噴射量)を補正することで気筒間の空燃比ばらつきを補正し、第2の気筒間ばらつき補正で各気筒毎に点火時期を補正することで気筒間のトルクばらつきを補正するようにしている。
【0164】
本実施形態(5)では、図27に示す第1の気筒間ばらつき補正ルーチンと、図28に示す第2の気筒間ばらつき補正ルーチンを実行する。
【0165】
[第1の気筒間ばらつき補正ルーチン]
図27に示す第1の気筒間ばらつき補正ルーチンは、各気筒の第1の気筒間ばらつき値DEV1に基づいて各気筒毎に燃料噴射時間(燃料噴射量)を補正することで、気筒間の空燃比ばらつきを補正するものである。
【0166】
本ルーチンが起動されると、まず、ステップ1001で、各気筒の第1の気筒間ばらつき値DEV1(#i)を読み込んだ後、ステップ1002に進み、各気筒の第1の気筒間ばらつき値DEV1(#i)を用いて、各気筒の燃料噴射時間補正係数FTAU1(#i)を次式により算出する。
FTAU(#i)=DEV1(#i)+1
【0167】
この後、ステップ1003に進み、補正前の全気筒の平均燃料噴射時間TAUに各気筒の燃料噴射時間補正係数FTAU(#i)を乗算して、各気筒の最終燃料噴射時間TAU(#i)を求める。
TAU(#i)=TAU×FTAU(#i)
以上の処理により、各気筒の第1の気筒間ばらつき値DEV1に応じて各気筒の燃料噴射量を補正することで、気筒間の空燃比ばらつきを小さくする。
【0168】
[第2の気筒間ばらつき補正ルーチン]
図28に示す第2の気筒間ばらつき補正ルーチンは、各気筒の回転変動に基づいて第2の気筒間ばらつき値DEV2を算出した場合の第2の気筒間ばらつき補正として、各気筒の第2の気筒間ばらつき値DEV2に基づいて各気筒毎に点火時期を補正することで、気筒間のトルクばらつきを補正するものである。
【0169】
本ルーチンが起動されると、まず、ステップ1101で、各気筒の第2の気筒間ばらつき値DEV2(#i)を読み込んだ後、ステップ1102に進み、各気筒の第2の気筒間ばらつき値DEV2(#1)〜DEV2(#4)のうちの最小値DEV2min を選択する。
【0170】
そして、次のステップ1103で、図29に示す特性の点火時期の基本補正量KAOP1のマップを検索して、各気筒毎に第2の気筒間ばらつき値DEV2(#i)と最小値DEV2min との差に応じた基本補正量KAOP1(#i)を算出する。
【0171】
この後、ステップ1104に進み、エンジン回転速度NEと吸入空気量GAを読み込んだ後、ステップ1105に進み、図30に示す補正係数KAOP2のマップを検索して、各気筒毎に現在のエンジン運転状態(例えばエンジン回転速度NEと吸入空気量GA)に応じた補正係数KAOP2(#i)を算出する。
【0172】
この後、ステップ1106に進み、各気筒の基本補正量KAOP1(#i)に補正係数KAOP2(#i)を乗算して各気筒の点火時期補正量KAOP(#i)を求める。
KAOP(#i)=KAOP1(#i)×KAOP2(#i)
そして、次のステップ1107で、補正前の全気筒の平均点火時期AOPに各気筒の点火時期補正量KAOP(#i)を加算して、各気筒の最終点火時期AOP(#i)を求める。
AOP(#i)=AOP+KAOP(#i)
【0173】
以上の処理により、各気筒の第2の気筒間ばらつき値DEV2に応じて各気筒の点火時期を遅角補正してトルクを下げることで、気筒間のトルクばらつきを小さくする。尚、点火時期の進角側に余裕がある場合は、点火時期の進角補正によるトルクアップと、遅角補正によるトルクダウンを両方とも利用して気筒間のトルクばらつきを小さくするようにしても良い。
【0174】
以上説明した本実施形態(5)では、図31のタイムチャートに示すように、第1の気筒間ばらつき補正では、各気筒の第1の気筒間ばらつき値DEV1(#1)〜DEV1(#4)に基づいて各気筒の燃料噴射時間補正係数FTAU(#1)〜FTAU(#4)を算出し、これらの燃料噴射時間補正係数FTAU(#1)〜FTAU(#4)を用いて各気筒の燃料噴射時間を補正することで気筒間の空燃比ばらつきを補正する。
【0175】
この後、第2の気筒間ばらつき補正では、各気筒の第2の気筒間ばらつき値DEV2(#1)〜DEV2(#4)に基づいて各気筒の点火時期補正量KAOP(#1)〜KAOP(#4)を算出し、これらの点火時期補正量KAOP(#1)〜KAOP(#4)を用いて各気筒の点火時期を補正することで気筒間のトルクばらつきを補正する。
【0176】
可変吸気バルブ制御による吸入空気量制御の中・高負荷時やスロットル制御による吸入空気量制御時のように気筒間の吸入空気量ばらつきが比較的小さい場合(気筒間のトルクばらつきや空燃比ばらつきが小さい場合)は、第1の気筒間ばらつき補正で気筒間の空燃比ばらつきを補正しても、気筒間のトルクばらつきが小さいために、各気筒の回転変動が干渉していない状態で、第2の気筒間ばらつき値DEV2を算出することができるので、各気筒の回転変動に基づいて第2の気筒間ばらつき値DEV2を算出しても、第2の気筒間ばらつき値DEVを精度良く算出することができ、第2の気筒間ばらつき補正によって気筒間のトルクばらつきを精度良く補正することができる。本実施形態(5)は、特に、空燃比制御(排気エミッション低減)を優先しながらトルク変動も抑制したい場合に有効である。
【0177】
《実施形態(6)》
図32に示す本発明の実施形態(6)では、第1の気筒間ばらつき補正で各気筒毎に点火時期を補正することで気筒間のトルクばらつきを補正し、更に、第2の気筒間ばらつき補正で各気筒の点火時期を再補正するようにしている。
本実施形態(6)では、上述した図10に示す第1の気筒間ばらつき補正ルーチンと図28に示す第2の気筒間ばらつき補正ルーチンを実行する。
【0178】
この場合、図32のタイムチャートに示すように、第1の気筒間ばらつき補正では、各気筒の第1の気筒間ばらつき値DEV1(#1)〜DEV1(#4)に基づいて各気筒の点火時期補正量FAOP(#1)〜FAOP(#4)を算出し、これらの点火時期補正量FAOP(#1)〜FAOP(#4)を用いて各気筒の点火時期を補正することで気筒間のトルクばらつきを補正する。
【0179】
この後、第2の気筒間ばらつき補正で、各気筒の第2の気筒間ばらつき値DEV2(#1)〜DEV2(#4)に基づいて各気筒の点火時期補正量KAOP(#1)〜KAOP(#4)を算出し、これらの点火時期補正量KAOP(#1)〜KAOP(#4)を用いて、第1の気筒間ばらつき補正で補正した各気筒の点火時期を再補正する(図28のステップ1107の括弧内参照)ことで、気筒間のトルクばらつきを更に精度良く補正する。
【0180】
可変吸気バルブ制御による吸入空気量制御の中・高負荷時やスロットル制御による吸入空気量制御時のように吸入空気量ばらつきが比較的小さい場合で、トルク変動の抑制(ドライバビリティ向上)を重視する場合は、本実施形態(6)のように、第1の気筒間ばらつき補正で各気筒の点火時期を補正することで気筒間のトルクばらつきを補正し、更に、第2の気筒間ばらつき補正で各気筒の点火時期を再補正するようにすれば、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正の2段階で気筒間のトルクばらつきを補正することができるので、気筒間のトルクばらつきをより精度良く補正することができ、ドライバビリティ向上の効果を高めることができる。
【0181】
《実施形態(7)》
図33に示す本発明の実施形態(7)では、第1の気筒間ばらつき補正で各気筒毎に燃料噴射時間(燃料噴射量)を補正することで気筒間の空燃比ばらつきを補正し、更に、第2の気筒間ばらつき補正で各気筒の燃料噴射時間を再補正するようにしている。
【0182】
本実施形態(7)では、上述した図27に示す第1の気筒間ばらつき補正ルーチンと図14に示す第2の気筒間ばらつき補正ルーチン(又は図26に示す第2の気筒間ばらつき補正ルーチン)を実行する。
【0183】
この場合、図33のタイムチャートに示すように、第1の気筒間ばらつき補正では、各気筒の第1の気筒間ばらつき値DEV1(#1)〜DEV1(#4)に基づいて各気筒の燃料噴射時間補正係数FTAU(#1)〜FTAU(#4)を算出し、これらの燃料噴射時間補正係数FTAU(#1)〜FTAU(#4)を用いて各気筒の燃料噴射時間を補正することで気筒間の空燃比ばらつきを補正する。
【0184】
この後、第2の気筒間ばらつき補正で、各気筒の第2の気筒間ばらつき値DEV2(#1)〜DEV2(#4)に基づいて各気筒の燃料噴射時間補正係数KTAU(#1)〜KTAU(#4)を算出し、これらの燃料噴射時間補正係数KTAU(#1)〜KTAU(#4)を用いて、第1の気筒間ばらつき補正で補正した各気筒の燃料噴射時間を再補正する(図14のステップ506の括弧内又は図26のステップ903の括弧内参照)ことで、気筒間の空燃比ばらつきを更に精度良く補正する。
【0185】
可変吸気バルブ制御による吸入空気量制御の中・高負荷時やスロットル制御による吸入空気量制御時のように吸入空気量ばらつきが比較的小さい場合で、空燃比制御(排気エミッション低減)を重視する場合は、本実施形態(7)のように、第1の気筒間ばらつき補正で各気筒毎に燃料噴射時間を補正することで気筒間の空燃比ばらつきを補正し、更に、第2の気筒間ばらつき補正で各気筒の燃料噴射時間を再補正するようにすれば、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正の2段階で気筒間の空燃比ばらつきを補正することができるので、気筒間の空燃比ばらつきをより精度良く補正することができ、排気エミッションを効果的に低減することができる。
【0186】
《実施形態(8)》
ところで、前記各実施形態で用いた吸気バルブ28の可変バルブリフト機構30は、全気筒の吸気バルブ28のバルブリフト量(最大バルブリフト量と開弁期間)を一括して可変するように構成されているが、可変バルブリフト機構30のモータ41を各気筒の吸気行程毎に高速駆動して吸気バルブ28のバルブリフト量を可変すれば、各気筒毎に吸入空気量を可変することができる。
【0187】
そこで、図34乃至図37に示す本発明の実施形態(8)では、吸気バルブ28の可変バルブリフト機構30を気筒別吸入空気可変手段として用い、第1の気筒間ばらつき補正では、可変バルブリフト機構30により各気筒毎に吸気バルブリフト量を補正して各気筒毎に吸入空気量を補正することで気筒間の吸入空気量ばらつきを補正し、第2の気筒間ばらつき補正では、各気筒毎に燃料噴射時間(燃料噴射量)を補正することで気筒間の吸入燃料量ばらつきを補正するようにしている。
【0188】
本実施形態(8)では、図34に示す第1の気筒間ばらつき補正ルーチンと、前述した図14に示す第2の気筒間ばらつき補正ルーチン(又は図26に示す第2の気筒間ばらつき補正ルーチン)を実行する。
【0189】
[第1の気筒間ばらつき補正ルーチン]
図34に示す第1の気筒間ばらつき補正ルーチンが起動されると、まず、ステップ1201で、各気筒の第1の気筒間ばらつき値DEV1(#i)を読み込んだ後、ステップ1202に進み、図35に示す吸気バルブリフト量の基本補正量FVVL1のマップを検索して、各気筒毎に第1の気筒間ばらつき値DEV1(#i)に応じた基本補正量FVVL1(#i)を算出する。
【0190】
図35の吸気バルブリフト量の基本補正量FVVL1のマップは、第1の気筒間ばらつき値DEV1(#i)の値が大きくなるほど基本補正量FVVL1が小さくなるように設定されているが、DEV1(#i)が0付近の所定領域では、基本補正量FVVL1=0に設定され、吸気バルブリフト量を補正しない。
【0191】
この後、ステップ1203に進み、エンジン回転速度NEと吸入空気量GAを読み込んだ後、ステップ1204に進み、図36に示す補正係数FVVL2のマップを検索して、各気筒毎に現在のエンジン運転状態(例えばエンジン回転速度NEと吸入空気量GA)に応じた補正係数FVVL2(#i)を算出する。
【0192】
吸入空気量GAが少なくなると(吸気バルブリフト量が小さくなると)、バルブリフト量補正の影響を受けやすくなることを考慮して、図36の補正係数FVVL2のマップは、吸入空気量GAが少なくなるほど補正係数FVVL2が小さくなるように設定されている。
【0193】
そして、次のステップ1205で、各気筒の基本補正量FVVL1(#i)に補正係数FVVL2(#i)を乗算して、各気筒のバルブリフト補正量FVVL(#i)を求める。
FVVL(#i)=FVVL1(#i)×FVVL2(#i)
【0194】
この後、ステップ1206に進み、補正前の全気筒の平均バルブリフト量VVLに各気筒のバルブリフト補正量FVVL(#i)を加算して、最終目標バルブリフト量VVLMを求める。
【0195】
この場合、クランク角カウンタCCRNK=12〜17の期間、つまり、第1気筒#1の吸気行程に対応する期間は、第1気筒#1のバルブリフト補正量FVVL(#1)を用いて、最終目標バルブリフト量VVLMを次式により算出する。
VVLM=VVL+FVVL(#1)
クランク角カウンタCCRNK=6〜11の期間、つまり、第2気筒#2の吸気行程に対応する期間は、第2気筒#2のバルブリフト補正量FVVL(#2)を用いて、最終目標バルブリフト量VVLMを次式により算出する。
VVLM=VVL+FVVL(#2)
【0196】
クランク角カウンタCCRNK=18〜23の期間、つまり、第3気筒#3の吸気行程に対応する期間は、第3気筒#3のバルブリフト補正量FVVL(#3)を用いて、最終目標バルブリフト量VVLMを次式により算出する。
VVLM=VVL+FVVL(#3)
【0197】
クランク角カウンタCCRNK=0〜5の期間、つまり、第4気筒#4の吸気行程に対応する期間は、第4気筒#4のバルブリフト補正量FVVL(#4)を用いて、最終目標バルブリフト量VVLMを次式により算出する。
VVLM=VVL+FVVL(#4)
【0198】
この後、ステップ1207に進み、各気筒の吸気行程に対応して変化する最終目標バルブリフト量VVLMに応じて吸気バルブ28の可変バルブリフト機構30のモータ41を高速駆動して各気筒の吸気行程毎に吸気バルブリフト量を補正して吸入空気量を補正する。これにより、気筒間の吸入空気量ばらつきを補正する。
【0199】
また、本実施形態(8)では、図14に示す第2の気筒間ばらつき補正ルーチン(又は図26に示す第2の気筒間ばらつき補正ルーチン)を実行することで、各気筒の第2の気筒間ばらつき値DEV2に基づいて各気筒毎に燃料噴射時間(燃料噴射量)を補正することで、気筒間の吸入燃料量ばらつきを補正する。
【0200】
以上説明した本実施形態(8)では、図37のタイムチャートに示すように、第1の気筒間ばらつき補正では、各気筒の第1の気筒間ばらつき値DEV1(#1)〜DEV1(#4)に基づいて各気筒のバルブリフト補正量FVVL(#1)〜FVVL(#4)を算出し、これらのバルブリフト補正量FVVL(#1)〜FVVL(#4)を用いて、各気筒の吸気バルブリフト量を補正して各気筒毎に吸入空気量を補正することで気筒間の吸入空気量ばらつきを補正する。
【0201】
この後、第2の気筒間ばらつき補正では、各気筒の第2の気筒間ばらつき値DEV2(#1)〜DEV2(#4)に基づいて各気筒の燃料噴射時間補正係数KTAU(#1)〜KTAU(#4)を算出し、これらの燃料噴射時間補正係数KTAU(#1)〜KTAU(#4)を用いて、各気筒の燃料噴射時間を補正することで気筒間の吸入燃料量ばらつきを補正する。
【0202】
このようにすれば、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正で、それぞれ気筒間の吸入空気量ばらつきと気筒間の吸入燃料量ばらつきを直接補正して、気筒間のトルクばらつきと気筒間の空燃比ばらつきを補正することができるので、点火時期の補正が不要となり、点火遅角による燃費の低下の問題を回避することができる。
【0203】
《実施形態(9)》
図38乃至図41に示す本発明の実施形態(9)の特徴は、第1の気筒間ばらつき補正で、可変バルブリフト機構30により各気筒毎に吸気バルブリフト量を補正して各気筒毎に吸入空気量を補正することで気筒間の吸入空気量ばらつきを補正し、更に、第2の気筒間ばらつき補正で各気筒の吸気バルブリフト量を再補正することである。
【0204】
本実施形態(9)では、上述した図34に示す第1の気筒間ばらつき補正ルーチンと、図38に示す第2の気筒間ばらつき補正ルーチンを実行する。
【0205】
[第2気筒間ばらつき補正ルーチン]
図38に示す第2の気筒間ばらつき補正ルーチンが起動されると、まず、ステップ1301で、各気筒の第2の気筒間ばらつき値DEV2(#i)を読み込んだ後、ステップ1302に進み、図39に示す吸気バルブリフト量の基本補正量KVVL1のマップを検索して、各気筒毎に第2の気筒間ばらつき値DEV2(#i)に応じた基本補正量KVVL1(#i)を算出する。
【0206】
この後、ステップ1303に進み、エンジン回転速度NEと吸入空気量GAを読み込んだ後、ステップ1304に進み、図40に示す補正係数KVVL2のマップを検索して、各気筒毎に現在のエンジン運転状態(例えばエンジン回転速度NEと吸入空気量GA)に応じた補正係数KVVL2(#i)を算出する。
【0207】
この後、ステップ1305に進み、各気筒の基本補正量KVVL1(#i)に補正係数KVVL2(#i)を乗算して、各気筒のバルブリフト補正量KVVL(#i)を求める。
KVVL(#i)=KVVL1(#i)×KVVL2(#i)
【0208】
そして、次のステップ1306で、各気筒のバルブリフト補正量KVVL(#i)を用いて、図34に示す第1の気筒間ばらつき補正ルーチンで算出した最終目標バルブリフト量VVLM=VVL+FVVL(#i)を再補正する。
【0209】
この場合、第1気筒#1の吸気行程に対応する期間(CCRNK=12〜17の期間)は、第1気筒#1のバルブリフト補正量KVVL(#1)を用いて、最終目標バルブリフト量VVLMを次式により算出する。
VVLM=VVL+FVVL(#1)+KVVL(#1)
【0210】
第2気筒#2の吸気行程に対応する期間(CCRNK=6〜11の期間)は、第2気筒#2のバルブリフト補正量KVVL(#2)を用いて、最終目標バルブリフト量VVLMを次式により算出する。
VVLM=VVL+FVVL(#2)+KVVL(#2)
【0211】
第3気筒#3の吸気行程に対応する期間(CCRNK=18〜23の期間)は、第3気筒#3のバルブリフト補正量KVVL(#3)を用いて、最終目標バルブリフト量VVLMを次式により算出する。
VVLM=VVL+FVVL(#3)+KVVL(#3)
【0212】
第4気筒#4の吸気行程に対応する期間(CCRNK=0〜5の期間)は、第4気筒#4のバルブリフト補正量KVVL(#4)を用いて、最終目標バルブリフト量VVLMを次式により算出する。
VVLM=VVL+FVVL(#4)+KVVL(#4)
【0213】
この後、ステップ1307に進み、各気筒の吸気行程に対応して変化する最終目標バルブリフト量VVLMに応じて可変バルブリフト機構30のモータ41を高速駆動して各気筒の吸気行程毎に吸気バルブリフト量を補正して吸入空気量を補正する。
【0214】
以上説明した本実施形態(9)では、図41のタイムチャートに示すように、第1の気筒間ばらつき補正では、各気筒の第1の気筒間ばらつき値DEV1(#1)〜DEV1(#4)に基づいて各気筒のバルブリフト補正量FVVL(#1)〜FVVL(#4)を算出し、これらのバルブリフト補正量FVVL(#1)〜FVVL(#4)を用いて、各気筒の吸気バルブリフト量を補正して各気筒毎に吸入空気量を補正することで気筒間の吸入空気量ばらつきを補正する。
【0215】
この後、第2の気筒間ばらつき補正では、各気筒の第2の気筒間ばらつき値DEV2(#1)〜DEV2(#4)に基づいて各気筒のバルブリフト補正量KVVL(#1)〜KVVL(#4)を算出し、これらのバルブリフト補正量KVVL(#1)〜KVVL(#4)を用いて、第1の気筒間ばらつき補正で補正した各気筒の最終目標バルブリフト量VVLMを再補正することで気筒間の吸入空気量ばらつきを更に精度良く補正する。
【0216】
気筒間の吸入燃料量ばらつきが非常に小さい場合(各気筒の燃料噴射弁20の個体差が小さく、エバポガスパージ実行中でない場合)は、本実施形態(9)のように、第1の気筒間ばらつき補正で各気筒毎に吸気バルブリフト量を補正することで気筒間の吸入空気量ばらつきを補正し、更に、第2の気筒間ばらつき補正で各気筒の吸気バルブリフト量を再補正するようにすれば、第1の気筒間ばらつき補正と第2の気筒間ばらつき補正の2段階で気筒間の吸入空気量ばらつきを補正することができるので、気筒間の吸入空気量ばらつきをより精度良く補正することができ、気筒間のトルクばらつき補正と気筒間の空燃比ばらつき補正を両立させることができる。しかも、点火時期補正や燃料噴射量補正が不要となり、燃費の低下の問題を回避することができる。
【0217】
《実施形態(10)》
次に、本発明の実施形態(10)を図42及び図43を用いて説明する。本実施形態(10)では、図42に示すように、エンジン11の各気筒に、それぞれ電磁アクチュエータ42,43(可変バルブ機構)が設けられ、各気筒の吸気バルブ28と排気バルブ29は、それぞれ電磁アクチュエータ42,43によって駆動される。従って、各気筒の吸気バルブ28の電磁アクチュエータ42を個別に制御して各気筒の吸気バルブリフト量を個別に可変すれば、各気筒毎に吸入空気量を可変することができる。これらの吸気バルブ28の電磁アクチュエータ42で気筒別吸入空気可変手段が構成されている。
【0218】
本実施形態(10)は、第1の気筒間ばらつき補正では、吸気バルブ28の電磁アクチュエータ42により各気筒毎に吸気バルブリフト量を補正して各気筒毎に吸入空気量を補正することで気筒間の吸入空気量ばらつきを補正し、第2の気筒間ばらつき補正では、各気筒毎に燃料噴射時間(燃料噴射量)を補正することで気筒間の吸入燃料量ばらつきを補正するようにしている。
【0219】
本実施形態(10)では、図43に示す第1の気筒間ばらつき補正ルーチンと、前述した図14に示す第2の気筒間ばらつき補正ルーチン(又は図26に示す第2の気筒間ばらつき補正ルーチン)を実行する。
【0220】
[第1の気筒間ばらつき補正ルーチン]
図43に示す第1の気筒間ばらつき補正ルーチンでは、各気筒毎に第1の気筒間ばらつき値DEV1(#i)に応じた吸気バルブリフト量の基本補正量FVVL1(#i)を図35のマップを用いて算出した後、各気筒毎に現在のエンジン運転状態(例えばエンジン回転速度NEと吸入空気量GA)に応じた補正係数FVVL2(#i)を図36のマップを用いて算出する(ステップ1401〜1404)。
【0221】
この後、ステップ1405に進み、各気筒の基本補正量FVVL1(#i)に補正係数FVVL2(#i)を乗算して、各気筒のバルブリフト補正量FVVL(#i)を求める。
FVVL(#i)=FVVL1(#i)×FVVL2(#i)
【0222】
そして、次のステップ1406で、補正前の全気筒の平均バルブリフト量VVLに各気筒のバルブリフト補正量FVVL(#i)を加算して、各気筒の最終目標バルブリフト量VVLを求める。
VVL(#i)=VVL+FVVL(#i)
【0223】
このようにして算出した各気筒の最終目標バルブリフト量VVLに応じて各気筒の吸気バルブ28の電磁アクチュエータ42を個別に制御して各気筒毎に吸気バルブリフト量を補正して吸入空気量を補正することで、気筒間の吸入空気量ばらつきを補正する。
【0224】
また、本実施形態(10)では、図14に示す第2の気筒間ばらつき補正ルーチン(又は図26に示す第2の気筒間ばらつき補正ルーチン)を実行することで、各気筒の第2の気筒間ばらつき値DEV2に基づいて各気筒毎に燃料噴射時間(燃料噴射量)を補正することで、気筒間の吸入燃料量ばらつきを補正する。
以上説明した本実施形態(10)の場合も、前記実施形態(8)と同様の効果を得ることができる。
【0225】
《実施形態(11)》
図44に示す本発明の実施形態(11)では、第1の気筒間ばらつき補正で電磁アクチュエータ42により各気筒毎に吸気バルブリフト量を補正して各気筒毎に吸入空気量を補正することで気筒間の吸入空気量ばらつきを補正し、更に、第2の気筒間ばらつき補正で各気筒の吸気バルブリフト量を再補正するようにしている。
本実施形態(11)では、上述した図43に示す第1の気筒間ばらつき補正ルーチンと、図44に示す第2の気筒間ばらつき補正ルーチンを実行する。
【0226】
[第2気筒間ばらつき補正ルーチン]
図44に示す第2の気筒間ばらつき補正ルーチンでは、各気筒毎に第2の気筒間ばらつき値DEV2(#i)に応じた吸気バルブリフト量の基本補正量KVVL1(#i)を図39のマップを用いて算出した後、各気筒毎に現在のエンジン運転状態(例えばエンジン回転速度NEと吸入空気量GA)に応じた補正係数KVVL2(#i)を図40のマップを用いて算出する(ステップ1501〜1504)。
【0227】
この後、ステップ1505に進み、各気筒の基本補正量KVVL1(#i)に補正係数KVVL2(#i)を乗算して、各気筒のバルブリフト補正量KVVL(#i)を求める。
KVVL(#i)=KVVL1(#i)×KVVL2(#i)
【0228】
そして、次のステップ1506で、各気筒のバルブリフト補正量KVVL(#i)を用いて、図43に示す第1の気筒間ばらつき補正ルーチンで算出した最終目標バルブリフト量VVL(#i)=VVL+FVVL(#i)を次式により再補正する。
VVL(#i)=VVL+FVVL(#i)+KVVL(#i)
【0229】
以上説明した本実施形態(11)の場合も、前記実施形態(9)と同様の効果を得ることができる。
【0230】
尚、上記各実施形態(1)〜(11)の中から複数の気筒間ばらつき補正を組み合わせて実施するようにしても良く、例えば、エンジン運転中に、エンジン運転条件等に応じて上記各実施形態(1)〜(11)で説明した気筒間ばらつき補正を切り換えて実行するようにしても良い。
【0231】
また、上記各実施形態(1)〜(11)の気筒間ばらつき補正では、第1の気筒間ばらつき値DEV1に基づいた第1の気筒間ばらつき補正と、第2の気筒間ばらつき値DEV2に基づいた第2の気筒間ばらつき補正の2段階の補正を行うようにしたが、エンジン11の各気筒毎に吸入空気量を可変する気筒別吸入空気可変手段(可変バルブリフト機構30や電磁アクチュエータ42)を備えたシステムでは、エンジン11の吸入空気量と吸気管圧力のうちの少なくとも一方に基づいて気筒間ばらつき値DEVを算出し、その気筒間ばらつき値DEVに基づいて各気筒毎に吸入空気量を補正することで気筒間の吸入空気量ばらつきを補正するようにしても良い。このようにしても、気筒間の吸入空気量ばらつきを補正することができるので、気筒間のトルクばらつきや気筒間の空燃比ばらつきを補正することができる。
【0232】
また、上記各実施形態(1)〜(11)では、可変吸気バルブ制御による吸入空気量制御を行うシステムに本発明を適用したが、スロットル制御による吸入空気量制御のみを行うシステムに本発明を適用しても良い。
【0233】
また、本発明の適用範囲は4気筒のエンジンに限定されず、5気筒以上又は3気筒以下の複数気筒エンジンンに本発明を適用しても良い。
【図面の簡単な説明】
【図1】本発明の実施形態(1)におけるエンジン制御システム全体の概略構成図
【図2】可変バルブリフト機構の正面図
【図3】実施形態(1)の気筒間ばらつき補正ベースルーチンの処理の流れを示すフローチャート
【図4】実施形態(1)の第1の気筒間ばらつき推定ルーチンの処理の流れを示すフローチャート
【図5】実施形態(1)の第1の気筒間ばらつき推定ルーチンの変形例(その1)の処理の流れの一部を示すフローチャート
【図6】実施形態(1)の第1の気筒間ばらつき推定ルーチンの変形例(その2)の処理の流れの一部を示すフローチャート
【図7】実施形態(1)の第1の気筒間ばらつき推定ルーチンの変形例(その3)の処理の流れの一部を示すフローチャート
【図8】エアフロメータの出力電圧VAFMを吸入空気量瞬時値GAFMに変換するマップを概念的に示す図
【図9】吸入空気量の脈動波形を示すタイムチャート
【図10】実施形態(1)の第1の気筒間ばらつき補正ルーチンの処理の流れを示すフローチャート
【図11】点火時期の基本補正量FAOP1のマップを概念的に示す図
【図12】補正係数FAOP2のマップを概念的に示す図
【図13】実施形態(1)の第2の気筒間ばらつき推定ルーチンの処理の流れを示すフローチャート
【図14】実施形態(1)の第2の気筒間ばらつき補正ルーチンの処理の流れを示すフローチャート
【図15】燃料噴射時間の基本補正量KTAU1のマップを概念的に示す図
【図16】補正係数KTAU2のマップを概念的に示す図
【図17】実施形態(1)の実行例を示すタイムチャート
【図18】実施形態(2)の第1の気筒間ばらつき推定ルーチンの処理の流れを示すフローチャート
【図19】実施形態(2)の第1の気筒間ばらつき推定ルーチンの変形例(その1)の処理の流れの一部を示すフローチャート
【図20】実施形態(2)の第1の気筒間ばらつき推定ルーチンの変形例(その2)の処理の流れの一部を示すフローチャート
【図21】実施形態(2)の第1の気筒間ばらつき推定ルーチンの変形例(その3)の処理の流れの一部を示すフローチャート
【図22】吸気管圧力瞬時値PMAPのマップを概念的に示す図
【図23】実施形態(3)の第1の気筒間ばらつき推定ルーチンの処理の流れを示すフローチャート
【図24】実施形態(4)の第2の気筒間ばらつき推定ルーチンの処理の流れを示すフローチャート
【図25】排気系の遅れ時間DELYのマップを概念的に示す図
【図26】実施形態(4)の第2の気筒間ばらつき補正ルーチンの処理の流れを示すフローチャート
【図27】実施形態(5)の第1の気筒間ばらつき補正ルーチンの処理の流れを示すフローチャート
【図28】実施形態(5)の第2の気筒間ばらつき補正ルーチンの処理の流れを示すフローチャート
【図29】点火時期の基本補正量KAOP1のマップを概念的に示す図
【図30】補正係数KAOP2のマップを概念的に示す図
【図31】実施形態(5)の実行例を示すタイムチャート
【図32】実施形態(6)の実行例を示すタイムチャート
【図33】実施形態(7)の実行例を示すタイムチャート
【図34】実施形態(8)の第1の気筒間ばらつき補正ルーチンの処理の流れを示すフローチャート
【図35】吸気バルブリフト量の基本補正量FVVL1のマップを概念的に示す図
【図36】補正係数FVVL2のマップを概念的に示す図
【図37】実施形態(8)の実行例を示すタイムチャート
【図38】実施形態(9)の第2の気筒間ばらつき補正ルーチンの処理の流れを示すフローチャート
【図39】吸気バルブリフト量の基本補正量KVVL1のマップを概念的に示す図
【図40】補正係数KVVL2のマップを概念的に示す図
【図41】実施形態(9)の実行例を示すタイムチャート
【図42】実施形態(10)におけるエンジン制御システム全体の概略構成図
【図43】実施形態(10)の第1の気筒間ばらつき補正ルーチンの処理の流れを示すフローチャート
【図44】実施形態(11)の第2の気筒間ばらつき補正ルーチンの処理の流れを示すフローチャート
【符号の説明】
11…エンジン(内燃機関)、12…吸気管、14…エアフローメータ、15…スロットルバルブ、18…吸気管圧力センサ、20…燃料噴射弁、21…点火プラグ、22…排気管、24…空燃比センサ、26…クランク角センサ、27…ECU(第1の気筒間ばらつき推定手段,第1の気筒間ばらつき補正手段,第2の気筒間ばらつき推定手段,第2の気筒間ばらつき補正手段,ばらつき推定禁止手段,ばらつき補正省略手段)、28…吸気バルブ、29…排気バルブ、30,31…可変バルブリフト機構(気筒別吸入空気可変手段)、42,43…電磁アクチュエータ(気筒別吸入空気可変手段)。
Claims (17)
- 複数の気筒を有する内燃機関の吸入空気量と吸気管圧力の少なくとも一方に基づいて気筒間の吸入空気量ばらつきを表す第1の気筒間ばらつき値を算出する第1の気筒間ばらつき推定出手段と、
前記第1の気筒間ばらつき値に基づいて気筒間のトルクばらつきと気筒間の空燃比ばらつきの少なくとも一方を補正する第1の気筒間ばらつき補正を実行する第1の気筒間ばらつき補正手段と、
前記第1の気筒間ばらつき補正の実行後に前記内燃機関の燃焼状態と排出ガスの空燃比の少なくとも一方に基づいて気筒間の吸入空気量ばらつき及び/又は気筒間の吸入燃料量ばらつきを表す第2の気筒間ばらつき値を算出する第2の気筒間ばらつき推定手段と、
前記第2の気筒間ばらつき値に基づいて気筒間のトルクばらつきと気筒間の空燃比ばらつきの少なくとも一方を補正する第2の気筒間ばらつき補正を実行する第2の気筒間ばらつき補正手段と
を備えていることを特徴とする内燃機関の制御装置。 - 前記内燃機関の吸入空気量を検出するエアフローメータを備え、
前記第1の気筒間ばらつき推定手段は、各気筒の吸気行程に対応する期間毎に前記エアフローメータで検出した吸入空気量の平均値、極大値、極小値、振幅値、面積のうちの少なくとも1つに基づいて前記第1の気筒間ばらつき値を算出することを特徴とする請求項1に記載の内燃機関の制御装置。 - 前記内燃機関の吸気管圧力を検出する吸気管圧力センサを備え、
前記第1の気筒間ばらつき推定手段は、各気筒の吸気行程に対応する期間毎に前記吸気管圧力センサで検出した吸気管圧力の平均値、極大値、極小値、振幅値、面積のうちの少なくとも1つに基づいて前記第1の気筒間ばらつき値を算出することを特徴とする請求項1又は2に記載の内燃機関の制御装置。 - 前記第1の気筒間ばらつき推定手段は、前記内燃機関のスロットル開度が所定開度よりも小さいとき又は吸気管圧力が所定圧力よりも低いときには、前記吸気管圧力センサで検出した吸気管圧力の極小値に基づいて前記第1の気筒間ばらつき値を算出することを特徴とする請求項3に記載の内燃機関の制御装置。
- 前記第2の気筒間ばらつき推定手段は、各気筒の燃焼行程に対応する期間毎に各気筒の燃焼状態の情報となる回転変動を検出し、その回転変動に基づいて前記第2の気筒間ばらつき値を算出することを特徴とする請求項1乃至4のいずれかに記載の内燃機関の制御装置。
- 前記内燃機関の排出ガスの空燃比を検出する空燃比センサを備え、
前記第2の気筒間ばらつき推定手段は、各気筒の排気行程に対応する期間毎に前記空燃比センサにより各気筒の排出ガスの空燃比を検出し、その空燃比に基づいて前記第2の気筒間ばらつき値を算出することを特徴とする請求項1乃至5のいずれかに記載の内燃機関の制御装置。 - 前記第1の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき値に基づいて各気筒毎に点火時期を補正することで気筒間のトルクばらつきを補正し、
前記第2の気筒間ばらつき補正手段は、前記第2の気筒間ばらつき値に基づいて各気筒毎に燃料噴射量を補正することで気筒間の空燃比ばらつきを補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。 - 前記第1の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき値に基づいて各気筒毎に燃料噴射量を補正することで気筒間の空燃比ばらつきを補正し、
前記第2の気筒間ばらつき補正手段は、前記第2の気筒間ばらつき値に基づいて各気筒毎に点火時期を補正することで気筒間のトルクばらつきを補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。 - 前記内燃機関の各気筒毎に吸入空気量を可変する気筒別吸入空気可変手段を備え、
前記第1の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき値に基づいて各気筒毎に前記気筒別吸入空気可変手段の制御量を補正して各気筒毎に吸入空気量を補正し、
前記第2の気筒間ばらつき補正手段は、前記第2の気筒間ばらつき値に基づいて各気筒毎に燃料噴射量を補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。 - 前記第1の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき値に基づいて各気筒毎に点火時期を補正することで気筒間のトルクばらつきを補正し、
前記第2の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき補正で補正した点火時期を前記第2の気筒間ばらつき値に基づいて各気筒毎に再補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。 - 前記第1の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき値に基づいて各気筒毎に燃料噴射量を補正することで気筒間の空燃比ばらつきを補正し、
前記第2の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき補正で補正した燃料噴射量を前記第2の気筒間ばらつき値に基づいて各気筒毎に再補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。 - 前記内燃機関の各気筒毎に吸入空気量を可変する気筒別吸入空気可変手段を備え、
前記第1の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき値に基づいて各気筒毎に前記気筒別吸入空気可変手段の制御量を補正して各気筒毎に吸入空気量を補正し、
前記第2の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき補正で補正した前記気筒別吸入空気可変手段の制御量を前記第2の気筒間ばらつき値に基づいて各気筒毎に再補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。 - 前記第1の気筒間ばらつき補正の補正量変更から所定期間が経過するまで前記第2の気筒間ばらつき値の算出を禁止するばらつき推定禁止手段を備えていることを特徴とする請求項1乃至12のいずれかに記載の内燃機関の制御装置。
- 前記第1の気筒間ばらつき補正によってトルク及び/又は空燃比の変動が所定以下になった場合に、前記第2の気筒間ばらつき補正を省略するばらつき補正省略手段を備えていることを特徴とする請求項1乃至13のいずれかに記載の内燃機関の制御装置。
- 複数の気筒を有する内燃機関の各気筒毎に吸入空気量を可変する気筒別吸入空気可変手段と、
前記内燃機関の吸入空気量と吸気管圧力のうちの少なくとも一方に基づいて各気筒の吸入空気量ばらつきを表す気筒間ばらつき値を算出する気筒間ばらつき推定手段と、
前記気筒間ばらつき値に基づいて各気筒毎に前記気筒別吸入空気可変手段の制御量を補正して各気筒毎に吸入空気量を補正することで気筒間の吸入空気量ばらつきを補正する気筒間ばらつき補正手段と
を備えていることを特徴とする内燃機関の制御装置。 - 前記気筒別吸入空気可変手段は、各気筒毎に独立した可変吸気バルブ機構を有し、各気筒の可変吸気バルブ機構を個別に制御することで各気筒毎に吸入空気量を可変することを特徴とする請求項9、12、15のいずれかに記載の内燃機関の制御装置。
- 前記気筒別吸入空気可変手段は、前記内燃機関の全気筒又は複数気筒の吸気バルブのバルブ制御量を一括して可変する可変吸気バルブ機構を有し、各気筒の吸気行程毎に前記可変バルブ機構を高速駆動してバルブ制御量を可変することで各気筒毎に吸入空気量を可変することを特徴とする請求項9、12、15のいずれかに記載の内燃機関の制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002209185A JP3968705B2 (ja) | 2002-07-18 | 2002-07-18 | 内燃機関の制御装置 |
DE10332350A DE10332350A1 (de) | 2002-07-18 | 2003-07-16 | Steuervorrichtung einer Brennkraftmaschine mit innerer Verbrennung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002209185A JP3968705B2 (ja) | 2002-07-18 | 2002-07-18 | 内燃機関の制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004052620A true JP2004052620A (ja) | 2004-02-19 |
JP3968705B2 JP3968705B2 (ja) | 2007-08-29 |
Family
ID=31933098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002209185A Expired - Fee Related JP3968705B2 (ja) | 2002-07-18 | 2002-07-18 | 内燃機関の制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3968705B2 (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007177741A (ja) * | 2005-12-28 | 2007-07-12 | Mazda Motor Corp | 火花点火式直噴エンジン |
JP2008128160A (ja) * | 2006-11-24 | 2008-06-05 | Denso Corp | 内燃機関の制御装置 |
JP2009138747A (ja) * | 2007-12-04 | 2009-06-25 | Crf Soc Consortile Per Azioni | 独立したシリンダを備えた多シリンダ内燃エンジン |
JP2010174743A (ja) * | 2009-01-29 | 2010-08-12 | Mitsubishi Motors Corp | 多気筒エンジンの空燃比制御装置 |
EP2317103A2 (en) | 2009-10-30 | 2011-05-04 | Hitachi Automotive Systems, Ltd. | Control apparatus for engine |
JP2012189084A (ja) * | 2012-06-05 | 2012-10-04 | Hitachi Automotive Systems Ltd | エンジンの制御装置 |
US8443656B2 (en) | 2011-01-28 | 2013-05-21 | Toyota Jidosha Kabushiki Kaisha | Inter-cylinder air-fuel ratio imbalance abnormality detection device for multi-cylinder internal combustion engine and abnormality detection method therefor |
US8695568B2 (en) | 2011-02-16 | 2014-04-15 | Toyota Jidosha Kabushiki Kaisha | Inter-cylinder air-fuel ratio imbalance abnormality determination device |
JP2018173066A (ja) * | 2017-03-31 | 2018-11-08 | ダイハツ工業株式会社 | 内燃機関の吸入空気量検出装置 |
JP2020133533A (ja) * | 2019-02-21 | 2020-08-31 | トヨタ自動車株式会社 | インバランス検出装置、インバランス検出システム、データ解析装置、および内燃機関の制御装置 |
US10969304B2 (en) | 2019-02-15 | 2021-04-06 | Toyota Jidosha Kabushiki Kaisha | State detection system for internal combustion engine, data analysis device, and vehicle |
US11255282B2 (en) | 2019-02-15 | 2022-02-22 | Toyota Jidosha Kabushiki Kaisha | State detection system for internal combustion engine, data analysis device, and vehicle |
-
2002
- 2002-07-18 JP JP2002209185A patent/JP3968705B2/ja not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4640169B2 (ja) * | 2005-12-28 | 2011-03-02 | マツダ株式会社 | 火花点火式直噴エンジン |
JP2007177741A (ja) * | 2005-12-28 | 2007-07-12 | Mazda Motor Corp | 火花点火式直噴エンジン |
JP2008128160A (ja) * | 2006-11-24 | 2008-06-05 | Denso Corp | 内燃機関の制御装置 |
JP2009138747A (ja) * | 2007-12-04 | 2009-06-25 | Crf Soc Consortile Per Azioni | 独立したシリンダを備えた多シリンダ内燃エンジン |
JP2010174743A (ja) * | 2009-01-29 | 2010-08-12 | Mitsubishi Motors Corp | 多気筒エンジンの空燃比制御装置 |
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 |
EP2317103A2 (en) | 2009-10-30 | 2011-05-04 | Hitachi Automotive Systems, Ltd. | Control apparatus for engine |
US8443656B2 (en) | 2011-01-28 | 2013-05-21 | Toyota Jidosha Kabushiki Kaisha | Inter-cylinder air-fuel ratio imbalance abnormality detection device for multi-cylinder internal combustion engine and abnormality detection method therefor |
US8695568B2 (en) | 2011-02-16 | 2014-04-15 | Toyota Jidosha Kabushiki Kaisha | Inter-cylinder air-fuel ratio imbalance abnormality determination device |
JP2012189084A (ja) * | 2012-06-05 | 2012-10-04 | Hitachi Automotive Systems Ltd | エンジンの制御装置 |
JP2018173066A (ja) * | 2017-03-31 | 2018-11-08 | ダイハツ工業株式会社 | 内燃機関の吸入空気量検出装置 |
US10969304B2 (en) | 2019-02-15 | 2021-04-06 | Toyota Jidosha Kabushiki Kaisha | State detection system for internal combustion engine, data analysis device, and vehicle |
US11255282B2 (en) | 2019-02-15 | 2022-02-22 | Toyota Jidosha Kabushiki Kaisha | State detection system for internal combustion engine, data analysis device, and vehicle |
JP2020133533A (ja) * | 2019-02-21 | 2020-08-31 | トヨタ自動車株式会社 | インバランス検出装置、インバランス検出システム、データ解析装置、および内燃機関の制御装置 |
US11225924B2 (en) | 2019-02-21 | 2022-01-18 | Toyota Jidosha Kabushiki Kaisha | Imbalance detection device, imbalance detection system, data analysis device, and controller for internal combustion engine |
Also Published As
Publication number | Publication date |
---|---|
JP3968705B2 (ja) | 2007-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008064032A (ja) | 内燃機関の制御装置、制御方法、その方法を実現するプログラムおよびそのプログラムを記録した記録媒体 | |
JP2012026340A (ja) | 筒内噴射式内燃機関の燃料噴射制御装置 | |
JP4848396B2 (ja) | 内燃機関の点火時期制御装置 | |
JP3968705B2 (ja) | 内燃機関の制御装置 | |
JP4339572B2 (ja) | 内燃機関の制御装置 | |
JP7106993B2 (ja) | 内燃機関の制御装置および内燃機関の制御方法 | |
JP2017008839A (ja) | 内燃機関の制御装置 | |
JP3988650B2 (ja) | 内燃機関の内部egr量推定装置 | |
JP2004100472A (ja) | 内燃機関の吸入空気量検出装置 | |
JPH11229951A (ja) | 可変バルブタイミング制御装置付多気筒内燃機関のノッキング制御装置 | |
JP5234513B2 (ja) | 内燃機関のトルク制御装置 | |
JP4003182B2 (ja) | 内燃機関の可変バルブ制御装置 | |
JP4131197B2 (ja) | 筒内噴射型内燃機関の休筒制御装置 | |
JP2005146908A (ja) | 内燃機関の振動低減制御装置 | |
JP2001234801A (ja) | 内燃機関のノッキング制御装置 | |
JP4379670B2 (ja) | 内燃機関の燃料性状判定装置 | |
JP4168739B2 (ja) | 内燃機関の気筒間ばらつき検出装置 | |
JP2007077842A (ja) | 内燃機関の制御装置 | |
JP2004360495A (ja) | 内燃機関の点火時期制御装置 | |
JP2004176644A (ja) | 内燃機関の気筒別吸入空気量検出装置 | |
JP2007132187A (ja) | 内燃機関の吸気制御装置 | |
JP3521894B2 (ja) | 可変バルブタイミング装置付き内燃機関の制御装置 | |
JP2004316613A (ja) | 内燃機関の可変バルブ制御装置 | |
JP3931708B2 (ja) | 内燃機関のトルク制御装置 | |
JP4032952B2 (ja) | 内燃機関の可変バルブ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070412 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070511 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070524 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3968705 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130615 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140615 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |