JP3968705B2 - Control device for internal combustion engine - Google Patents
Control device for internal combustion engine Download PDFInfo
- Publication number
- JP3968705B2 JP3968705B2 JP2002209185A JP2002209185A JP3968705B2 JP 3968705 B2 JP3968705 B2 JP 3968705B2 JP 2002209185 A JP2002209185 A JP 2002209185A JP 2002209185 A JP2002209185 A JP 2002209185A JP 3968705 B2 JP3968705 B2 JP 3968705B2
- Authority
- JP
- Japan
- Prior art keywords
- cylinder
- variation
- inter
- value
- correction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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)
Description
【0001】
【発明の属する技術分野】
本発明は、複数の気筒を有する内燃機関の気筒間のトルクばらつきや気筒間の空燃比ばらつきを補正する内燃機関の制御装置に関するものである。
【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の気筒間ばらつき補正を実行せずに済む。
【0032】
尚、上記請求項9、12に係る発明において、各気筒毎に吸入空気量を可変する気筒別吸入空気可変手段は、請求項15のように、各気筒毎に独立した可変吸気バルブ機構を設け、各気筒の可変吸気バルブ機構を個別に制御することで各気筒毎に吸入空気量を可変するようにしても良い。或は、請求項16のように、内燃機関の全気筒又は複数気筒の吸気バルブのバルブ制御量を一括して可変する可変吸気バルブ機構を設け、各気筒の吸気行程毎に可変バルブ吸気機構を高速駆動してバルブ制御量を可変することで各気筒毎に吸入空気量を可変するようにしても良い。いずれの場合も、各気筒毎に吸入空気量を可変することが可能である。
【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…電磁アクチュエータ(気筒別吸入空気可変手段)。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a control device for an internal combustion engine that corrects torque variations between cylinders and air-fuel ratio variations between cylinders of an internal combustion engine having a plurality of cylinders.
[0002]
[Prior art]
In general, in a multi-cylinder internal combustion engine, the intake air amount (in-cylinder charged air amount) of each cylinder varies due to differences in the intake manifold shape of each cylinder, variations in the valve clearance of the intake valves, and the like. Further, the amount of intake fuel in each cylinder varies due to individual differences in fuel injection valves of each cylinder, pressure distribution characteristics in the fuel pipe, evaporation gas distribution characteristics in the intake pipe when the evaporation gas purge is performed, and the like. Variations in the torque and air-fuel ratio of each cylinder occur due to variations in the intake air amount and intake fuel amount between the cylinders. When the torque variation between the cylinders becomes large, the in-cycle fluctuation of the engine torque becomes large, and there is a risk that vibrations unpleasant to the driver may occur. In addition, when the air-fuel ratio variation between cylinders increases, the in-cycle fluctuation of the air-fuel ratio of the exhaust gas flowing into the catalyst increases, so the fluctuation range of the exhaust gas air-fuel ratio protrudes from the catalyst purification window and the exhaust gas purification rate May decrease.
[0003]
As countermeasures against these problems, several methods for correcting torque variations between cylinders and air-fuel ratio variations have been proposed. For example, as disclosed in Japanese Patent Application Laid-Open No. Sho 62-17342, torque is detected for each cylinder by a torque sensor provided on a crankshaft, and the torque of each cylinder is determined to be the average torque of all cylinders. Some have corrected the fuel injection amount. Further, as disclosed in Japanese Patent Application Laid-Open No. 2000-220489, the air-fuel ratio of each cylinder is estimated based on the output of the air-fuel ratio sensor installed in the exhaust pipe, and each cylinder is reduced so that the variation in air-fuel ratio among the cylinders is reduced. In some cases, the fuel injection amount is corrected.
[0004]
On the other hand, in recent years, an internal combustion engine mounted on a vehicle is provided with a variable intake valve mechanism that varies a valve control amount such as a lift amount and opening / closing timing of an intake valve, and an intake valve according to an accelerator opening degree, an engine operating state, and the like. There is one that can control the intake air amount by varying the valve control amount. The intake air amount control by this variable intake valve control can reduce the intake air amount without reducing the intake passage with the throttle valve by reducing the lift amount and the valve opening period of the intake valve. There is an advantage that fuel consumption can be improved by reducing.
[0005]
[Problems to be solved by the invention]
However, in the intake air amount control based on the variable intake valve control described above, the lift amount of the intake valve becomes small at low load, so the variation in the actual lift amount with respect to the target lift amount in each cylinder (part tolerance or assembly tolerance of each cylinder). Variation), the variation in intake air amount between cylinders tends to increase. For this reason, the torque and air-fuel ratio of each cylinder tend to fluctuate due to the influence of the intake air amount variation between the cylinders, and the torque variation and air-fuel ratio variation between the cylinders tend to increase.
[0006]
Therefore, when the variation between the cylinders of one of the torque and the air-fuel ratio is corrected using the conventional method for correcting the variation between the cylinders, the correction amount becomes large, and the other cylinder (torque or air-fuel ratio) that has not been corrected is corrected. It is difficult to achieve both reduction in torque variation between cylinders and reduction in air-fuel ratio variation between cylinders, and it is difficult to achieve both drivability and exhaust emission. In addition, in the conventional variation correction method between cylinders, when correcting torque variation or air-fuel ratio variation between cylinders, it is difficult to correct with sufficient accuracy because intake air amount variation between cylinders is large. Furthermore, even when multiple factors such as variation in intake air amount and variation in intake fuel amount between cylinders are intertwined to cause torque variation or air-fuel ratio variation between cylinders, it is difficult to correct with sufficient accuracy. .
[0007]
The present invention has been made in view of these circumstances, and a first object is to be able to correct both torque variation and air-fuel ratio variation between cylinders, and a second object is In other words, the correction accuracy of torque variation between cylinders and / or air-fuel ratio variation is improved.
[0008]
[Means for Solving the Problems]
In order to achieve the first object, an internal combustion engine control apparatus according to
[0009]
In this configuration, first, the inter-cylinder variation correction is executed based on the first inter-cylinder variation value calculated based on the pre-combustion information (intake air amount and intake pipe pressure). The second cylinder is corrected based on the second cylinder-to-cylinder variation value calculated based on post-combustion information (combustion state and exhaust gas air-fuel ratio). By executing the variation correction between the cylinders, the torque variation between the cylinders and the air-fuel ratio variation between the cylinders are corrected.
[0010]
In this way, the correction of the torque variation between the cylinders and the correction of the air-fuel ratio variation between the cylinders can be performed separately in the first inter-cylinder variation correction and the second inter-cylinder variation correction. Even when the intake air amount control by the intake valve control is low, the variation in the intake air amount between the cylinders and the torque variation and the air-fuel ratio variation between the cylinders increase. Thus, it is possible to reduce both the torque variation and the air-fuel ratio variation between the cylinders.
[0011]
Further, since correction can be performed in two stages, that is, first cylinder-to-cylinder variation correction based on pre-combustion information and second cylinder-to-cylinder variation correction based on post-combustion information, the first inter-cylinder variation correction can be performed. Even if the effects of variations in intake air amount and intake fuel amount remain after the execution of the above, it can be corrected by the second cylinder variation correction, such as variations in intake air amount and intake fuel amount between cylinders, etc. Thus, it is possible to accurately correct the torque variation between cylinders and the air-fuel ratio variation between cylinders caused by a plurality of factors.
[0012]
The invention according to
[0013]
Generally, intake pulsation occurs in the intake pipe of an internal combustion engine having a plurality of cylinders corresponding to the intake stroke of each cylinder, so the waveform of the intake air amount detected by the air flow meter corresponds to the intake stroke of each cylinder. The pulsation waveform corresponding to the intake air amount of each cylinder is obtained.
[0014]
Therefore, as a specific example of the calculation method of the first inter-cylinder variation value, for example, as in
[0015]
The waveform of the intake pipe pressure detected by the intake pipe pressure sensor is also a pulsation waveform corresponding to the intake stroke of each cylinder, that is, a pulsation waveform reflecting the intake air amount of each cylinder. Between the first cylinders based on at least one of the average value, maximum value, minimum value, amplitude value, and area of the intake pipe pressure detected by the intake pipe pressure sensor for each period corresponding to the intake stroke of each cylinder The variation value may be calculated. Even in this case, the first inter-cylinder variation value reflecting the variation in the intake air amount of each cylinder can be calculated.
[0016]
In general, the air flow meter is disposed on the upstream side of the throttle valve, and the intake
[0017]
Therefore, as in
[0018]
On the other hand, as a specific example of the calculation method of the second cylinder variation value, for example, as in
[0019]
Alternatively, as described in
[0020]
In addition, various combinations of the first cylinder variation correction and the second cylinder variation correction are conceivable, but the intake air amount variation between cylinders is low, such as when the intake air amount control by variable intake valve control is low. Is larger, the variation in torque between cylinders is corrected by correcting the ignition timing for each cylinder based on the variation value between the first cylinders as the first variation correction among cylinders. As the second cylinder-to-cylinder variation correction, the air-fuel ratio variation among the cylinders may be corrected by correcting the fuel injection amount for each cylinder based on the second cylinder-to-cylinder variation value.
[0021]
When the variation in intake air amount is large (when the variation in torque between cylinders or the variation in air-fuel ratio is large), if the variation in air-fuel ratio between cylinders is corrected by the first variation correction between cylinders, the variation in torque between cylinders is large. Since it is necessary to calculate the second cylinder variation value in a state where the rotation fluctuation of each cylinder interferes, the calculation accuracy of the second cylinder fluctuation value based on the rotation fluctuation of each cylinder decreases, The correction accuracy of the second cylinder variation correction decreases. Therefore, when the intake air amount variation between the cylinders is large, the torque variation between the cylinders is corrected by the first cylinder-to-cylinder variation correction, and then the air-fuel ratio variation between the cylinders is corrected by the second cylinder-to-cylinder variation correction. This combination is recommended.
[0022]
On the other hand, when the intake air amount variation is comparatively small, such as when the intake air amount control by the variable intake valve control is at a medium load / high load or when the intake air amount control is performed by the throttle control, As the first cylinder-to-cylinder variation correction, the fuel injection amount is corrected for each cylinder based on the first cylinder-to-cylinder variation value, thereby correcting the air-fuel ratio variation between the cylinders. The torque variation between the cylinders may be corrected by correcting the ignition timing for each cylinder based on the inter-cylinder variation value of 2.
[0023]
When the intake air amount variation is relatively small (when the torque variation between cylinders or the air-fuel ratio variation is small), even if the air-fuel ratio variation between cylinders is corrected by the first cylinder-to-cylinder variation correction, the torque variation between cylinders Therefore, the variation value between the second cylinders can be calculated in a state where the rotation fluctuations of the respective cylinders do not interfere with each other. Therefore, the second cylinder variation value can be accurately calculated based on the rotation fluctuations of the respective cylinders. Thus, the torque variation between the cylinders can be accurately corrected by the second variation correction between the cylinders. This combination is recommended especially when it is desired to suppress torque fluctuations while giving priority to air-fuel ratio control (exhaust emission reduction).
[0024]
Further, in the case of a system having a cylinder-specific intake air variable means for varying the intake air amount for each cylinder of the internal combustion engine as in claim 9, the first cylinder is corrected as the first cylinder variation correction. Based on the inter-cell variation value, the control amount of the cylinder-specific intake air variable means is corrected for each cylinder to correct the intake air amount for each cylinder, and the second inter-cylinder variation value is used as the second inter-cylinder variation correction. Based on the above, the fuel injection amount may be corrected for each cylinder. In this way, the first cylinder-to-cylinder variation correction and the second cylinder-to-cylinder variation correction directly correct the intake air amount variation between the cylinders and the intake fuel amount variation between the cylinders, respectively. Thus, the variation in the air-fuel ratio between the cylinders can be corrected, so that it is not necessary to correct the ignition timing, and the problem of a decrease in fuel consumption due to the ignition delay can be avoided.
[0025]
In addition, when the variation in intake air amount is relatively small and when emphasis is placed on the suppression of torque fluctuation (improvement of drivability), the first inter-cylinder variation is corrected as the first inter-cylinder variation correction. By correcting the ignition timing for each cylinder based on the value, the torque variation between the cylinders is corrected, and as the second cylinder variation correction, the ignition timing corrected by the first cylinder variation correction is used as the second cylinder. It is preferable to re-correct each cylinder based on the interval variation value. In this way, torque variation between cylinders can be corrected in two stages of correction between first cylinder variation and second cylinder variation correction, so that torque variation between cylinders can be corrected more accurately. Can improve the drivability improvement effect.
[0026]
Further, when the intake air amount variation is relatively small and the air-fuel ratio control (exhaust emission reduction) is emphasized, the first inter-cylinder variation value is used as the first inter-cylinder variation correction as in
[0027]
Further, when the variation in the intake fuel amount between the cylinders is very small (for example, when the individual difference of the fuel injection valve of each cylinder is small and the evaporative gas purge is not being executed), the variation among the first cylinders as in
[0028]
By the way, since the combustion state of each cylinder changes for a while after changing the correction amount of the first inter-cylinder variation correction, immediately after the change of the correction amount of the first inter-cylinder variation correction, If the inter-cylinder variation value is calculated, the calculation accuracy of the second inter-cylinder variation value may decrease, and the correction accuracy of the second inter-cylinder variation correction may decrease.
[0029]
Therefore, as in
[0030]
Further, as in the fourteenth aspect, when the variation in the torque and / or the air-fuel ratio becomes equal to or less than a predetermined value due to the first inter-cylinder variation correction, the second inter-cylinder variation correction may be omitted. . In this way, when the torque correction or the air-fuel ratio is stabilized by the first cylinder-to-cylinder variation correction and the second cylinder-to-cylinder variation correction becomes unnecessary, the second cylinder-to-cylinder variation correction is not performed. That's it.
[0032]
The above claims 9 and 1 2 In this invention, the cylinder-specific intake air varying means for varying the intake air amount for each cylinder is claimed in
[0033]
DETAILED DESCRIPTION OF THE INVENTION
<< Embodiment (1) >>
Hereinafter, an embodiment (1) of the present invention will be described with reference to FIGS. First, a schematic configuration of the entire engine control system will be described with reference to FIG. For example, a four-
[0034]
Further, a
[0035]
Further, the
[0036]
On the other hand, the
[0037]
Outputs of these various sensors are input to an engine control circuit (hereinafter referred to as “ECU”) 27. The
[0038]
Next, the configuration of the variable
[0039]
As shown in FIG. 2, a
[0040]
Accordingly, when the
[0041]
On the other hand, when the
[0042]
In the high lift mode in which the valve lift amount of the
[0043]
On the other hand, in the low lift mode in which the valve lift amount of the
[0044]
In the variable
[0045]
The
[0046]
In addition, the
[0047]
Hereinafter, processing contents of each routine for correcting the variation between cylinders executed by the
[0048]
[Cylinder variation correction base routine]
The inter-cylinder variation correction base routine shown in FIG. 3 is executed at a predetermined cycle during engine operation. When this routine is started, first, in
[0049]
(1) More than a predetermined time has passed after starting (that is, not in an unstable driving state immediately after starting)
(2) Not in a transient operation state (that is, in a steady operation state)
(3) The air-
[0050]
If all of the above conditions (1) to (3) are satisfied, the inter-cylinder variation correction execution condition is satisfied, but if any one of the conditions (1) to (3) is not satisfied, The inter-cylinder variation correction execution condition is not satisfied. If the output signal of the air-
[0051]
If it is determined that the inter-cylinder variation correction execution condition is not satisfied, this routine is terminated without executing the subsequent inter-cylinder variation correction (
[0052]
On the other hand, if it is determined in
[0053]
Thereafter, the process proceeds to step 103, and a first inter-cylinder variation correction routine shown in FIG. 10 to be described later is executed to execute the first inter-cylinder variation correction. In the present embodiment (1), as the first inter-cylinder variation correction, the torque variation between the cylinders is corrected by correcting the ignition timing for each cylinder based on the first inter-cylinder variation value DEV1 of each cylinder. To do.
[0054]
After this, the routine proceeds to step 104, where the corrected elapsed time counter CDEV that counts the elapsed time after the first cylinder variation correction correction amount change and the first cylinder variation correction correction amount change is “0”. It is determined whether or not a predetermined time KCDEV required for stabilizing the combustion state of each cylinder has elapsed since the correction amount of the first inter-cylinder variation correction was changed, depending on whether or not it has been reset to To do.
[0055]
Before the predetermined time KCDEV has elapsed since the correction amount of the first cylinder-to-cylinder variation correction was changed, the process proceeds to step 105, the post-correction elapsed time counter CDEV is incremented by "1", and then the process proceeds to step 106, where correction is performed. It is determined whether or not the count value of the post-elapsed time counter CDEV has exceeded a predetermined time KCDEV. If the count value of the post-correction elapsed time counter CDEV does not exceed the predetermined time KCDEV, this routine is terminated as it is.
[0056]
Thereafter, when it is determined in
[0057]
By the processing in
[0058]
On the other hand, in
[0059]
In this
[0060]
If it is determined in
[0061]
Thereafter, the process proceeds to step 110, and a second inter-cylinder variation correction routine shown in FIG. 14 to be described later is executed to execute second inter-cylinder variation correction. In the present embodiment (1), as the second cylinder-to-cylinder variation correction, the fuel injection amount is corrected for each cylinder based on the second cylinder-to-cylinder variation value DEV2 of each cylinder, so that the air-fuel ratio variation among the cylinders is corrected. Correct.
[0062]
On the other hand, if it is determined in
[0063]
[First Cylinder Variation Estimation Routine]
The first cylinder variation estimation routine (
[0064]
When this routine is started, first, in
[0065]
Thereafter, the process proceeds to step 203, and the count value of the crank angle counter CCRNK is read. Since the crank angle counter CCRNK is incremented by “1” every 30 ° C. A, for example, based on the output signal of the
[0066]
Thereafter, the routine proceeds to step 204, where the intake air amount average value GGAave (#i) of each cylinder is calculated. Here, # i = # 1 to # 4.
When calculating the intake air amount average value GGAave (# 1) of the
[0067]
When calculating the intake air amount average value GGAave (# 2) of the
[0068]
When calculating the intake air amount average value GGAave (# 3) of the
[0069]
When calculating the intake air amount average value GGAave (# 4) of the
[0070]
As shown in FIG. 9, in general, intake pulsation is generated in the
[0071]
Thereafter, the routine proceeds to step 205, where the average intake air amount value GGAave (#i) of each cylinder calculated in
GAave (#i) = GAave (#i) old + k × {GGAave (#i) −GAave (#i) old}
Here, GAave (#i) is the current intake air amount average value, GAave (#i) old is the previous intake air amount average value, and k is the smoothing coefficient.
[0072]
Thereafter, in
DEV1 (#i) = {GAave (#i) -AVEGAave} / AVEGAave
Here, AVEGAave is an average value of intake air average values GAave (# 1) to GAave (# 4) of all cylinders.
AVEGAave = {GAave (# 1) + …… + GAave (# 4)} / 4
[0073]
In the first inter-cylinder variation estimation routine shown in FIG. 4, the first inter-cylinder variation value DEV1 (#i) is calculated based on the intake air amount average value GAave (#i) of each cylinder. The first cylinder-to-cylinder variation value DEV1 (#i) may be calculated based on the maximum intake air amount GAmax (#i) and the minimum intake air amount GAmin (#i). Alternatively, the first cylinder variation value DEV1 (#i) may be calculated based on the intake air amount amplitude value GAwid (#i) of each cylinder. Further, the area of the intake air amount of each cylinder may be calculated.
[0074]
When the first inter-cylinder variation value DEV1 (#i) is calculated based on the maximum intake air amount GAmax (#i) of each cylinder, the processing after
[0075]
Thereafter, the routine proceeds to step 205a, where the intake air maximum value GGAmax (#i) of each cylinder is smoothed to obtain the final intake air maximum value GAmax (#i) of each cylinder.
GAmax (#i) = GAmax (#i) old + k × {GGAmax (#i) −GAmax (#i) old}
Here, GAmax (#i) old is the previous maximum amount of intake air.
[0076]
Then, in the
DEV1 (#i) = {GAmax (#i) -AVEGAmax} / AVEGAmax
Here, AVEGAmax is an average value of the maximum intake air amount GAmax (# 1) to GAmax (# 4) of all cylinders.
AVEGAmax = {GAmax (# 1) + ...... + GAmax (# 4)} / 4
[0077]
On the other hand, when the first inter-cylinder variation value DEV1 (#i) is calculated based on the minimum intake air amount GAmin (#i) of each cylinder, the processing of
[0078]
In the
GAmin (#i) = GAmin (#i) old + k × {GGAmin (#i) −GAmin (#i) old}
Here, GAmin (#i) old is the previous minimum amount of intake air.
[0079]
Thereafter, the process proceeds to step 206b, and the first inter-cylinder variation value DEV1 (#i) of each cylinder is calculated by the following equation.
DEV1 (#i) = {GAmin (#i) −AVEGAmin} / AVEGAmin
Here, AVEGAmin is an average value of the minimum intake air amount values GAmin (# 1) to GAmin (# 4) of all cylinders.
AVEGAmin = {GAmin (# 1) + …… + GAmin (# 4)} / 4
[0080]
Further, when the first cylinder variation value DEV1 (#i) is calculated based on the intake air amount amplitude value GAwid (#i) of each cylinder, the processing of
[0081]
Thereafter, the routine proceeds to step 206c, where the intake air amount amplitude value GGAwid (#i) of each cylinder is calculated by the following equation.
GGAwid (#i) = GGAmax (#i)-GGAmin (#i)
[0082]
In the
GAwid (#i) = GAwid (#i) old + k × {GGAwid (#i) −GAwid (#i) old}
Here, GAwid (#i) old is the previous intake air amount amplitude value.
[0083]
Thereafter, the process proceeds to step 208c, and the first inter-cylinder variation value DEV1 (#i) of each cylinder is calculated by the following equation.
DEV1 (#i) = {GAwid (#i) -AVEGAwid} / AVEGAwid
Here, AVEGAwid is an average value of intake air amount amplitude values GAwid (# 1) to GAwid (# 4) of all cylinders.
AVEGAwid = {GAwid (# 1) + …… + GAwid (# 4)} / 4
[0084]
It should be noted that two of the intake air amount average value GAave (#i), the intake air amount maximum value GAmax (#i), the intake air amount minimum value GAmin (#i), and the intake air amount amplitude value GAwid (#i). Based on the above, the first inter-cylinder variation value DEV1 (#i) may be calculated.
[0085]
[First Cylinder Variation Correction Routine]
The first cylinder-to-cylinder variation correction routine shown in FIG. 10 is a subroutine started in
[0086]
When this routine is started, first, in
[0087]
Thereafter, the routine proceeds to step 303, where a map of the basic correction amount FAOP1 of the ignition timing having the characteristics shown in FIG. 11 is searched, and the first inter-cylinder variation value DEV1 (#i) and the minimum value DEV1min are determined for each cylinder. A basic correction amount FAOP1 (#i) of the ignition timing according to the difference is calculated.
[0088]
The map of the ignition timing basic correction amount FAOP1 in FIG. 11 is such that the basic correction amount FAOP1 decreases (the ignition timing retardation amount increases) as the value of DEV1 (#i) -DEV1min increases. Only (torque down side) is set. Further, in a region where DEV1 (#i) −DEV1min is equal to or smaller than a predetermined value, the basic correction amount FAOP1 = 0 is set and the ignition timing is not corrected.
[0089]
Thereafter, the process proceeds to step 304, in which the engine rotational speed NE detected by the
[0090]
Thereafter, the routine proceeds to step 306, where the basic correction amount FAOP1 (#i) of each cylinder is multiplied by the correction coefficient FAOP2 (#i) to obtain the ignition timing correction amount FAOP (#i) of each cylinder.
FAOP (#i) = FAOP1 (#i) × FAOP2 (#i)
[0091]
Thereafter, the process proceeds to step 307, and the ignition timing correction amount FAOP (#i) of each cylinder is added to the average ignition timing AOP of all cylinders before correction to obtain the final ignition timing AOP (#i) of each cylinder.
AOP (#i) = AOP + FAOP (#i)
[0092]
By the above processing, the ignition variation of each cylinder is retarded in accordance with the first inter-cylinder variation value DEV1 of each cylinder, and the torque of each cylinder is appropriately reduced to reduce the torque variation between the cylinders.
[0093]
In this routine, the torque variation between the cylinders is corrected by using only the torque reduction by correcting the retard of the ignition timing. Therefore, it is possible to prevent the ignition timing from being corrected to advance and exceeding the knock limit. If there is a margin on the advance side of the ignition timing, the torque variation between cylinders should be reduced by using both the torque up by the ignition timing advance correction and the torque down by the retard correction. Anyway.
[0094]
[Second Cylinder Variation Estimation Routine]
The second cylinder-to-cylinder variation estimation routine shown in FIG. 13 is a subroutine started at
[0095]
When this routine is started, first, at
[0096]
Thereafter, the routine proceeds to step 402, where time T30 (time from the previous increment timing of the crank angle counter CCRNK to the present increment timing) required for the crankshaft to rotate 30 ° C. A is read.
In the
[0097]
When calculating the minimum value T30MIN (# 1) and the maximum value T30MAX (# 1) of the
[0098]
When calculating the minimum value T30MIN (# 2) and the maximum value T30MAX (# 2) of the
[0099]
When calculating the minimum value T30MIN (# 3) and the maximum value T30MAX (# 3) of the
[0100]
When calculating the minimum value T30MIN (# 4) and the maximum value T30MAX (# 4) of the
[0101]
Thereafter, the process proceeds to step 404, where the rotational fluctuation ΔTT30 (#i) of each cylinder is calculated by the following equation.
ΔTT30 (#i) = T30MAX (#i) −T30MIN (#i)
The rotation fluctuation ΔTT30 (#i) of each cylinder calculated in this way is a value corresponding to the combustion torque of each cylinder.
[0102]
In the
ΔT30 (#i) = ΔT30 (#i) old + k × {ΔTT30 (#i) −ΔT30 (#i) old}
Here, ΔT30 (#i) old is the previous rotation fluctuation.
[0103]
Thereafter, the process proceeds to step 406, and after calculating an average value ΔT30ave of the rotational fluctuations ΔT30 (# 1) to ΔT30 (# 4) of all the cylinders, the process proceeds to step 207 and the second inter-cylinder variation value DEV2 ( #i) is calculated by the following formula.
DEV2 (#i) = {ΔT30 (#i) −ΔT30ave} / ΔT30ave
[0104]
[Second Cylinder Variation Correction Routine]
The second cylinder-to-cylinder variation correction routine shown in FIG. 14 is a subroutine started in
[0105]
When this routine is started, first, at
[0106]
The map of the basic correction amount KTAU1 in FIG. 15 is set so that the basic correction amount KTAU1 becomes smaller as the second inter-cylinder variation value DEV2 (#i) increases, but DEV2 (#i) becomes 0. In a predetermined area near, the basic correction amount KTAU1 = 1.0 is set, and the fuel injection time is not corrected.
[0107]
Thereafter, the process proceeds to step 503, and after reading the engine speed NE and the intake air amount GA, the process proceeds to step 504, where a map of the correction coefficient KTAU2 shown in FIG. A correction coefficient KTAU2 (#i) corresponding to (for example, the engine speed NE and the intake air amount GA) is calculated.
[0108]
In consideration of the fact that the inertial force increases and the rotational fluctuation ΔT30 decreases as the engine speed NE increases, the map of the correction coefficient KTAU2 in FIG. 16 shows that the correction coefficient KTAU2 increases as the engine speed NE increases. Is set to
[0109]
Thereafter, the process proceeds to step 505, where the basic correction amount KTAU1 (#i) of each cylinder is multiplied by the correction coefficient KTAU2 (#i) to obtain the fuel injection time correction coefficient KTAU (#i) of each cylinder.
KTAU (#i) = KTAU1 (#i) × KTAU2 (#i)
[0110]
In the
TAU (#i) = TAU × KTAU (#i)
By the above process, the fuel injection amount of each cylinder is corrected in accordance with the second inter-cylinder variation value DEV2 of each cylinder, thereby reducing the air-fuel ratio variation between the cylinders.
[0111]
An execution example of the cylinder-to-cylinder variation correction of this embodiment (1) described above will be described with reference to the time chart shown in FIG.
When the inter-cylinder variation correction execution condition is satisfied and the correction execution flag is turned on, first, the first inter-cylinder variation value DEV1 (# 1) to DEV1 of each cylinder is based on the intake air amount detected by the
[0112]
Thereafter, after the ignition timing is corrected by the first inter-cylinder variation correction (after the ignition timing correction amount FAOP is changed), a predetermined time KCDEV required for the combustion state of each cylinder to stabilize has elapsed. Based on the rotation fluctuation ΔT30 (#i) calculated based on the output signal of the
[0113]
With the above processing, the indicated mean effective pressure of each cylinder can be made substantially equal to suppress the occurrence of rotational fluctuations, drivability can be improved, and the air-fuel ratio of each cylinder can be made almost uniform to reduce the exhaust gas. The air-fuel ratio can be controlled in the purification window of the
[0114]
In the present embodiment (1) described above, correction of torque variation between cylinders and correction of air-fuel ratio variation between cylinders are performed separately for the first cylinder-to-cylinder variation correction and the second cylinder-to-cylinder variation correction. Therefore, even when the intake air amount variation between cylinders is large and the torque variation or air-fuel ratio variation between cylinders is large, such as when the intake air amount control by variable intake valve control is low, Both torque variation correction and air-fuel ratio variation correction between cylinders can be achieved, and both torque variation and air-fuel ratio variation between cylinders can be reduced.
[0115]
By the way, when the variation in intake air amount is large (when the variation in torque between the cylinders or the variation in air-fuel ratio is large) as in the case of a low load of intake air amount control by variable intake valve control, the first inter-cylinder variation correction is performed. When the air-fuel ratio variation between cylinders is corrected, the torque variation between the cylinders is large. Therefore, it is necessary to calculate the second cylinder variation value in a state where the rotation fluctuations of each cylinder interfere with each other. The calculation accuracy of the second inter-cylinder variation value DEV2 based on the variation ΔT30 (#i) decreases, and the correction accuracy of the second inter-cylinder variation correction decreases.
[0116]
In this regard, in the present embodiment (1), the torque variation between cylinders is corrected by the first inter-cylinder variation correction, and the air-fuel ratio variation between cylinders is corrected by the second inter-cylinder variation correction. Even if the second cylinder variation value DEV2 is calculated based on the rotational fluctuation ΔT30 (#i) of each cylinder, the calculation accuracy can be prevented from being lowered, and the second cylinder variation correction can be corrected. A decrease in accuracy can be prevented, and correction of torque variation between cylinders and correction of variation in air-fuel ratio between cylinders can be achieved more effectively.
[0117]
Furthermore, in the present embodiment (1), the calculation of the second inter-cylinder variation value DEV2 is prohibited until the predetermined time KCDEV has elapsed since the correction amount was changed in the first inter-cylinder variation correction. The first inter-cylinder variation is avoided by calculating the second inter-cylinder variation value DEV2 during the period when the combustion state of each cylinder is changing immediately after the correction amount is changed by the first inter-cylinder variation correction. The second inter-cylinder variation value DEV2 can be calculated after waiting for the predetermined time KCDEV to elapse after the correction amount is changed by the correction and the combustion state of each cylinder to become stable, and the second inter-cylinder variation value to be calculated. It is possible to improve the calculation accuracy of the value DEV2, and thus the correction accuracy of the second cylinder variation correction.
[0118]
Further, in the present embodiment (1), when the torque or air-fuel ratio of the
[0119]
<< Embodiment (2) >>
In the above embodiment (1), the first inter-cylinder variation value DEV1 is calculated for each cylinder based on the intake air amount detected by the
[0120]
[First Cylinder Variation Estimation Routine]
The first inter-cylinder variation estimation routine shown in FIG. 18 executed by the
[0121]
Thereafter, the process proceeds to step 603, and after the count value of the crank angle counter CCRNK is read, the process proceeds to step 604, and the intake pipe pressure average value PPMave (#i) of each cylinder is calculated.
[0122]
When calculating the intake pipe pressure average value PPMave (# 1) of the
[0123]
In calculating the intake pipe pressure average value PPMave (# 2) of the
[0124]
In calculating the intake pipe pressure average value PPMave (# 3) of the
[0125]
When calculating the intake pipe pressure average value PPMave (# 4) of the
The intake pipe pressure average values PPMave (# 1) to PPMave (# 4) are set to negative values in order to match the intake air amount and the variation direction.
[0126]
Similar to the waveform of the intake air amount detected by the air flow meter 14 (the waveform of the output voltage VAFM), the waveform of the intake pipe pressure detected by the intake pipe pressure sensor 18 (the waveform of the output voltage VMAP) is also the intake stroke of each cylinder. , That is, a pulsation waveform reflecting the intake air amount of each cylinder. Therefore, if the average value, maximum value, minimum value, amplitude value, area, etc. of the intake pipe pressure detected by the intake
[0127]
Thereafter, the process proceeds to step 605, where the average intake pipe pressure value PPMave (#i) of each cylinder calculated in
PMave (#i) = PMave (#i) old + k × {PPMave (#i) −PMave (#i) old}
Here, PMave (#i) old is the previous intake pipe pressure average value.
[0128]
In the
DEV1 (#i) = {PMave (#i) -AVEPMave} / AVEPMave
Here, AVEPMave is an average value of the intake pipe pressure average values PMave (# 1) to PMave (# 4) of all cylinders.
[0129]
In the first inter-cylinder variation estimation routine shown in FIG. 18, the first inter-cylinder variation value DEV1 (#i) is calculated based on the intake pipe pressure average value PMave (#i) of each cylinder. The first inter-cylinder variation value DEV1 (#i) may be calculated based on the intake pipe pressure maximum value PMmax (#i) and the intake pipe pressure minimum value PMmin (#i). Alternatively, the first inter-cylinder variation value DEV1 (#i) may be calculated based on the intake pipe pressure amplitude value PMwid (#i) of each cylinder. Further, the area of the intake pipe pressure of each cylinder may be calculated.
[0130]
In the case of calculating the first inter-cylinder variation value DEV1 (#i) based on the intake pipe pressure maximum value PMmax (#i) of each cylinder, after performing the processing of
[0131]
Thereafter, the routine proceeds to step 605a, where the intake pipe pressure maximum value PPMmax (#i) of each cylinder is smoothed to obtain the final intake pipe pressure maximum value PMmax (#i) of each cylinder.
PMmax (#i) = PMmax (#i) old + k * {PPMmax (#i) -PMmax (#i) old}
Here, PMmax (#i) old is the previous intake pipe pressure maximum value.
[0132]
In the
DEV1 (#i) = {PMmax (#i) -AVEPMmax} / AVEPMmax
Here, AVEPMmax is an average value of the intake pipe pressure maximum values PMmax (# 1) to PMmax (# 4) of all cylinders.
[0133]
On the other hand, when the first inter-cylinder variation value DEV1 (#i) is calculated based on the intake pipe pressure minimum value PMmin (#i) of each cylinder, the processing of
[0134]
Thereafter, the process proceeds to step 605b, and the intake pipe pressure minimum value PPMmin (#i) of each cylinder is smoothed to obtain the final intake pipe pressure minimum value PMmin (#i) of each cylinder.
PMmin (#i) = PMmin (#i) old + k × {PPMmin (#i) −PMmin (#i) old}
Here, PMmin (#i) old is the previous minimum value of the intake pipe pressure.
[0135]
Thereafter, the process proceeds to step 606b, and the first inter-cylinder variation value DEV1 (#i) of each cylinder is calculated by the following equation.
DEV1 (#i) = {PMmin (#i) −AVEPMmin} / AVEPMmin
Here, AVEPMmin is an average value of the intake pipe pressure minimum values PMmin (# 1) to PMmin (# 4) of all cylinders.
[0136]
Further, when the first cylinder variation value DEV1 (#i) is calculated based on the intake pipe pressure amplitude value PMwid (#i) of each cylinder, the processing of
[0137]
Thereafter, the process proceeds to step 606c, and the intake pipe pressure amplitude value PPMwid (#i) of each cylinder is calculated by the following equation.
PPMwid (#i) = PPMmax (#i) −PPMmin (#i)
[0138]
Thereafter, the process proceeds to step 607c, where the intake pipe pressure amplitude value PPMwid (#i) of each cylinder is smoothed to obtain the final intake pipe pressure amplitude value PMwid (#i) of each cylinder.
PMwid (#i) = PMwid (#i) old + k × {PPMwid (#i) −PMwid (#i) old}
Here, PMwid (#i) old is the previous intake pipe pressure amplitude value.
[0139]
Then, in the next step 608c, the first inter-cylinder variation value DEV1 (#i) of each cylinder is calculated by the following equation.
DEV1 (#i) = {PMwid (#i) -AVEPMwid} / AVEPMwid
Here, AVEPMwid is an average value of the intake pipe pressure amplitude values PMwid (# 1) to PMwid (# 4) of all cylinders.
[0140]
Two of the intake pipe pressure average value PMave (#i), the intake pipe pressure maximum value PMmax (#i), the intake pipe pressure minimum value PMmin (#i), and the intake pipe pressure amplitude value PMwid (#i) Based on the above, the first inter-cylinder variation value DEV1 (#i) may be calculated.
[0141]
<< Embodiment (3) >>
In general, the
[0142]
Accordingly, in the embodiment (3) of the present invention shown in FIG. 23, the minimum value PMmin (#i) of the intake pipe pressure detected by the intake
[0143]
[First Cylinder Variation Estimation Routine]
In the present embodiment (3), a first inter-cylinder variation estimation routine shown in FIG. 23 is executed. When this routine is started, first, at
[0144]
When it is determined that the throttle opening degree TA is smaller than the predetermined opening degree KTA (or the intake pipe pressure PM is smaller than the predetermined pressure KPM), the processing of
[0145]
Thereafter, the minimum intake pipe pressure value PPMmin (#i) of each cylinder is calculated, and this is smoothed to obtain the final minimum intake pipe pressure value PMmin (#i) of each cylinder. A first inter-cylinder variation value DEV1 (#i) of each cylinder is calculated based on the minimum intake pipe pressure value PMmin (#i) of the cylinder (
[0146]
On the other hand, if it is determined in
[0147]
Thereafter, the maximum intake air amount GGAmax (#i) of each cylinder is calculated, and this is smoothed to obtain the final maximum intake air amount GAmax (#i) of each cylinder. Based on the maximum intake air amount GAmax (#i), the first cylinder variation value DEV1 (#i) of each cylinder is calculated (
[0148]
In this routine, when it is determined that the throttle opening TA is equal to or larger than the predetermined opening KTA (or the intake pipe pressure PM is equal to or larger than the predetermined pressure KPM), the routine is based on the maximum intake air amount GAmax (#i) of each cylinder. The first inter-cylinder variation value DEV1 (#i) of each cylinder is calculated. However, the present invention is not limited to this, and the intake air amount average value GAave (#i) and the intake air amount maximum value GAmax (#i) are not limited thereto. ) The first inter-cylinder variation value DEV1 (#i) is calculated based on one or more of the intake air amount minimum value GAmin (#i) and the intake air amount amplitude value GAwid (#i). You may do it. Alternatively, two of the intake pipe pressure average value PMave (#i), the intake pipe pressure maximum value PMmax (#i), the intake pipe pressure minimum value PMmin (#i), and the intake pipe pressure amplitude value PMwid (#i) The first inter-cylinder variation value DEV1 (#i) may be calculated based on one or more. Instead of the intake pipe pressure average value PMave (#i), the area of the intake pipe pressure of each cylinder may be calculated.
[0149]
In the present embodiment (3) described above, when the throttle opening degree TA is smaller than the predetermined opening degree KTA (or the intake pipe pressure PM is smaller than the predetermined pressure KPM), the
[0150]
<< Embodiment (4) >>
In the embodiment (1), the second inter-cylinder variation value DEV2 is calculated for each cylinder based on the rotational fluctuation. However, in the embodiment (4) of the present invention shown in FIGS. Based on the air-fuel ratio, the second cylinder variation value DEV2 is calculated for each cylinder.
[0151]
In the present embodiment (4), a second inter-cylinder variation estimation routine shown in FIG. 24 and a second inter-cylinder variation correction routine shown in FIG. 26 are executed.
[0152]
[Second Cylinder Variation Estimation Routine]
The second inter-cylinder variation estimation routine shown in FIG. 24 calculates the second inter-cylinder variation value DEV2 for each cylinder based on the air-fuel ratio detected by the air-
[0153]
When this routine is started, first, at
[0154]
Thereafter, the routine proceeds to step 803 where the exhaust system delay time DELY required until the exhaust gas discharged from the
[0155]
In the
[0156]
Thereafter, the process proceeds to step 805, and the air-fuel ratio average value AAF (#i) of each cylinder calculated in
AF (#i) = AF (#i) old + k * {AAF (#i) -AF (#i) old}
Here, AF (#i) old is the previous air-fuel ratio average value.
[0157]
Thereafter, the process proceeds to step 806, and after calculating the average value AFave of the air-fuel ratio average values AF (# 1) to AF (# 4) of all the cylinders, the process proceeds to step 807 and the second inter-cylinder variation value of each cylinder. DEV2 (#i) is calculated by the following equation.
[0158]
DEV2 (#i) = {AF (#i) -AFave} / AFave
[Second Cylinder Variation Correction Routine]
The second inter-cylinder variation correction routine shown in FIG. 26 is the second inter-cylinder variation correction when the second inter-cylinder variation value DEV2 is calculated based on the air-fuel ratio of each cylinder. By correcting the fuel injection time (fuel injection amount) for each cylinder based on the inter-cylinder variation value DEV2, the air-fuel ratio variation among the cylinders is corrected.
[0159]
When this routine is started, first, in
KTAU (#i) = DEV2 (#i) +1
[0160]
Thereafter, the process proceeds to step 903, where the average fuel injection time TAU of all cylinders before correction is multiplied by the fuel injection time correction coefficient KTAU (#i) of each cylinder, and the final fuel injection time TAU (#i) of each cylinder. Ask for.
TAU (#i) = TAU × KTAU (#i)
[0161]
By the above processing, the fuel injection amount of each cylinder is corrected according to the second inter-cylinder variation value DEV2 of each cylinder (see the parentheses in FIG. 17), thereby reducing the air-fuel ratio variation between the cylinders.
[0162]
Even in the case of the present embodiment (4) described above, the same effects as those of the embodiment (1) can be obtained.
[0163]
<< Embodiment (5) >>
In each of the above embodiments (1) to (4), the torque variation between the cylinders is corrected by correcting the ignition timing for each cylinder by the first inter-cylinder variation correction, and the second inter-cylinder variation correction is performed. The variation in the air-fuel ratio between the cylinders is corrected by correcting the fuel injection time (fuel injection amount) for each cylinder. On the contrary, the embodiment of the present invention shown in FIGS. ), The fuel injection time (fuel injection amount) is corrected for each cylinder by the first inter-cylinder variation correction, thereby correcting the air-fuel ratio variation between the cylinders, and the second inter-cylinder variation correction for each cylinder. By correcting the ignition timing, torque variation between cylinders is corrected.
[0164]
In the present embodiment (5), a first inter-cylinder variation correction routine shown in FIG. 27 and a second inter-cylinder variation correction routine shown in FIG. 28 are executed.
[0165]
[First Cylinder Variation Correction Routine]
The first inter-cylinder variation correction routine shown in FIG. 27 corrects the fuel injection time (fuel injection amount) for each cylinder on the basis of the first inter-cylinder variation value DEV1 of each cylinder. This is to correct the variation in the fuel ratio.
[0166]
When this routine is started, first, in
FTAU (#i) = DEV1 (#i) +1
[0167]
Thereafter, the routine proceeds to step 1003, where the average fuel injection time TAU of all cylinders before correction is multiplied by the fuel injection time correction coefficient FTAU (#i) of each cylinder, and the final fuel injection time TAU (#i) of each cylinder. Ask for.
TAU (#i) = TAU × FTAU (#i)
By the above processing, the air-fuel ratio variation among the cylinders is reduced by correcting the fuel injection amount of each cylinder according to the first inter-cylinder variation value DEV1 of each cylinder.
[0168]
[Second Cylinder Variation Correction Routine]
The second cylinder-to-cylinder variation correction routine shown in FIG. 28 is the second cylinder-to-cylinder variation correction when the second cylinder-to-cylinder variation value DEV2 is calculated based on the rotation variation of each cylinder. By correcting the ignition timing for each cylinder based on the inter-cylinder variation value DEV2, the torque variation between the cylinders is corrected.
[0169]
When this routine is started, first, in
[0170]
In the
[0171]
Thereafter, the process proceeds to step 1104, and after reading the engine speed NE and the intake air amount GA, the process proceeds to step 1105, where a map of the correction coefficient KAOP2 shown in FIG. A correction coefficient KAOP2 (#i) corresponding to (for example, engine speed NE and intake air amount GA) is calculated.
[0172]
Thereafter, the process proceeds to step 1106, where the basic correction amount KAOP1 (#i) of each cylinder is multiplied by the correction coefficient KAOP2 (#i) to obtain the ignition timing correction amount KAOP (#i) of each cylinder.
KAOP (#i) = KAOP1 (#i) × KAOP2 (#i)
In the
AOP (#i) = AOP + KAOP (#i)
[0173]
With the above processing, the torque variation between the cylinders is reduced by reducing the torque by retarding the ignition timing of each cylinder according to the second inter-cylinder variation value DEV2 of each cylinder. If there is a margin on the advance side of the ignition timing, torque variation between cylinders can be reduced by using both torque increase by ignition timing advance angle correction and torque decrease by retard angle correction. good.
[0174]
In the present embodiment (5) described above, as shown in the time chart of FIG. 31, in the first inter-cylinder variation correction, the first inter-cylinder variation values DEV1 (# 1) to DEV1 (# 4) of each cylinder. ) To calculate the fuel injection time correction coefficients FTAU (# 1) to FTAU (# 4) of each cylinder, and use these fuel injection time correction coefficients FTAU (# 1) to FTAU (# 4) to calculate each cylinder. The variation in the air-fuel ratio among the cylinders is corrected by correcting the fuel injection time.
[0175]
Thereafter, in the second cylinder variation correction, the ignition timing correction amount KAOP (# 1) to KAOP of each cylinder based on the second cylinder variation values DEV2 (# 1) to DEV2 (# 4) of each cylinder. (# 4) is calculated and the ignition timing of each cylinder is corrected using these ignition timing correction amounts KAOP (# 1) to KAOP (# 4), thereby correcting the torque variation between the cylinders.
[0176]
When the intake air amount variation between cylinders is relatively small, such as when the intake air amount control by variable intake valve control is at medium or high load or when the intake air amount control by throttle control is In the case of small), even if the air-fuel ratio variation between the cylinders is corrected by the first cylinder-to-cylinder variation correction, the torque variation between the cylinders is small. Therefore, even if the second inter-cylinder variation value DEV2 is calculated based on the rotational fluctuation of each cylinder, the second inter-cylinder variation value DEV can be calculated with high accuracy. Thus, the torque variation between cylinders can be accurately corrected by the second variation correction between cylinders. This embodiment (5) is particularly effective when it is desired to suppress torque fluctuations while giving priority to air-fuel ratio control (exhaust emission reduction).
[0177]
<< Embodiment (6) >>
In the embodiment (6) of the present invention shown in FIG. 32, the torque variation between the cylinders is corrected by correcting the ignition timing for each cylinder by the first cylinder-to-cylinder variation correction, and further the second cylinder-to-cylinder variation. By correcting, the ignition timing of each cylinder is corrected again.
In the present embodiment (6), the first inter-cylinder variation correction routine shown in FIG. 10 and the second inter-cylinder variation correction routine shown in FIG. 28 are executed.
[0178]
In this case, as shown in the time chart of FIG. 32, in the first inter-cylinder variation correction, ignition of each cylinder is performed based on the first inter-cylinder variation values DEV1 (# 1) to DEV1 (# 4) of each cylinder. The timing correction amounts FAOP (# 1) to FAOP (# 4) are calculated, and the ignition timing of each cylinder is corrected using these ignition timing correction amounts FAOP (# 1) to FAOP (# 4). Torque variation is corrected.
[0179]
Thereafter, in the second cylinder-to-cylinder variation correction, the ignition timing correction amounts KAOP (# 1) to KAOP for each cylinder based on the second cylinder-to-cylinder variation values DEV2 (# 1) to DEV2 (# 4) for each cylinder. (# 4) is calculated, and using these ignition timing correction amounts KAOP (# 1) to KAOP (# 4), the ignition timing of each cylinder corrected by the first inter-cylinder variation correction is recorrected (FIG. 28), the variation in torque between the cylinders is corrected with higher accuracy.
[0180]
Emphasis on torque fluctuation suppression (improvement of drivability) when the intake air amount variation is relatively small, such as during intake / intake control with variable intake valve control during medium / high loads or intake air amount control with throttle control In this case, as in this embodiment (6), the torque variation between the cylinders is corrected by correcting the ignition timing of each cylinder by the first inter-cylinder variation correction, and further, the second inter-cylinder variation correction is performed. If the ignition timing of each cylinder is re-corrected, the torque variation between the cylinders can be corrected in two stages of the first cylinder-to-cylinder variation correction and the second cylinder-to-cylinder variation correction. The variation can be corrected with higher accuracy, and the effect of improving drivability can be enhanced.
[0181]
<< Embodiment (7) >>
In the embodiment (7) of the present invention shown in FIG. 33, the variation in the air-fuel ratio between the cylinders is corrected by correcting the fuel injection time (fuel injection amount) for each cylinder by the first cylinder-to-cylinder variation correction. The fuel injection time of each cylinder is recorrected by the second cylinder-to-cylinder variation correction.
[0182]
In this embodiment (7), the first inter-cylinder variation correction routine shown in FIG. 27 and the second inter-cylinder variation correction routine shown in FIG. 14 (or the second inter-cylinder variation correction routine shown in FIG. 26). Execute.
[0183]
In this case, as shown in the time chart of FIG. 33, in the first inter-cylinder variation correction, the fuel of each cylinder is based on the first inter-cylinder variation values DEV1 (# 1) to DEV1 (# 4) of each cylinder. Calculate injection time correction coefficients FTAU (# 1) to FTAU (# 4), and correct the fuel injection time of each cylinder using these fuel injection time correction coefficients FTAU (# 1) to FTAU (# 4) To correct the air-fuel ratio variation between cylinders.
[0184]
Thereafter, in the second cylinder-to-cylinder correction, the fuel injection time correction coefficient KTAU (# 1) of each cylinder is calculated based on the second cylinder-to-cylinder variation value DEV2 (# 1) to DEV2 (# 4) of each cylinder. KTAU (# 4) is calculated, and the fuel injection time of each cylinder corrected by the first inter-cylinder variation correction is recorrected using these fuel injection time correction coefficients KTAU (# 1) to KTAU (# 4). By doing this (see the parentheses in
[0185]
When intake air amount control by variable intake valve control is relatively small, such as during medium / high load control or intake air amount control by throttle control, and when air-fuel ratio control (exhaust emissions reduction) is important As in this embodiment (7), by correcting the fuel injection time for each cylinder by the first inter-cylinder variation correction, the air-fuel ratio variation among the cylinders is corrected, and further, the second inter-cylinder variation is corrected. If the fuel injection time of each cylinder is corrected again by the correction, the air-fuel ratio variation between the cylinders can be corrected in two stages of the first cylinder variation correction and the second cylinder variation correction. Variations in air-fuel ratio among cylinders can be corrected with higher accuracy, and exhaust emissions can be effectively reduced.
[0186]
<< Embodiment (8) >>
By the way, the variable
[0187]
Therefore, in the embodiment (8) of the present invention shown in FIGS. 34 to 37, the variable
[0188]
In the present embodiment (8), the first inter-cylinder variation correction routine shown in FIG. 34 and the second inter-cylinder variation correction routine shown in FIG. 14 (or the second inter-cylinder variation correction routine shown in FIG. 26). ).
[0189]
[First Cylinder Variation Correction Routine]
When the first inter-cylinder variation correction routine shown in FIG. 34 is started, first, in
[0190]
The map of the basic correction amount FVVL1 of the intake valve lift amount in FIG. 35 is set so that the basic correction amount FVVL1 decreases as the first inter-cylinder variation value DEV1 (#i) increases. In a predetermined region where #i) is near 0, the basic correction amount FVVL1 = 0 is set, and the intake valve lift amount is not corrected.
[0191]
Thereafter, the process proceeds to step 1203, and after reading the engine speed NE and the intake air amount GA, the process proceeds to step 1204, where a map of the correction coefficient FVVL2 shown in FIG. A correction coefficient FVVL2 (#i) corresponding to (for example, the engine speed NE and the intake air amount GA) is calculated.
[0192]
In view of the fact that when the intake air amount GA decreases (when the intake valve lift amount decreases), the correction of the valve lift amount correction tends to be affected, the map of the correction coefficient FVVL2 in FIG. 36 shows that the intake air amount GA decreases. The correction coefficient FVVL2 is set to be small.
[0193]
In the
FVVL (#i) = FVVL1 (#i) × FVVL2 (#i)
[0194]
Thereafter, the process proceeds to step 1206, and the final valve lift amount VVLM is obtained by adding the valve lift correction amount FVVL (#i) of each cylinder to the average valve lift amount VVL of all cylinders before correction.
[0195]
In this case, during the period of the crank angle counter CCRNK = 12 to 17, that is, the period corresponding to the intake stroke of the
VVLM = VVL + FVVL (# 1)
During the period of the crank angle counter CCRNK = 6 to 11, that is, the period corresponding to the intake stroke of the
VVLM = VVL + FVVL (# 2)
[0196]
During the period of the crank angle counter CCRNK = 18 to 23, that is, the period corresponding to the intake stroke of the
VVLM = VVL + FVVL (# 3)
[0197]
During the period of the crank angle counter CCRNK = 0 to 5, that is, the period corresponding to the intake stroke of the
VVLM = VVL + FVVL (# 4)
[0198]
Thereafter, the process proceeds to step 1207, and the
[0199]
Further, in the present embodiment (8), by executing the second inter-cylinder variation correction routine shown in FIG. 14 (or the second inter-cylinder variation correction routine shown in FIG. 26), the second cylinder of each cylinder is executed. By correcting the fuel injection time (fuel injection amount) for each cylinder based on the inter-variation value DEV2, the intake fuel amount variation between the cylinders is corrected.
[0200]
In the present embodiment (8) described above, as shown in the time chart of FIG. 37, in the first inter-cylinder variation correction, the first inter-cylinder variation values DEV1 (# 1) to DEV1 (# 4) of each cylinder. ) To calculate the valve lift correction amounts FVVL (# 1) to FVVL (# 4) of each cylinder, and using these valve lift correction amounts FVVL (# 1) to FVVL (# 4) By correcting the intake valve lift amount and correcting the intake air amount for each cylinder, the intake air amount variation between the cylinders is corrected.
[0201]
Thereafter, in the second cylinder variation correction, the fuel injection time correction coefficient KTAU (# 1) of each cylinder is calculated based on the second cylinder variation values DEV2 (# 1) to DEV2 (# 4) of each cylinder. KTAU (# 4) is calculated and the fuel injection time variation of each cylinder is corrected by correcting the fuel injection time of each cylinder using these fuel injection time correction coefficients KTAU (# 1) to KTAU (# 4). to correct.
[0202]
In this way, the first cylinder-to-cylinder variation correction and the second cylinder-to-cylinder variation correction directly correct the intake air amount variation between the cylinders and the intake fuel amount variation between the cylinders, respectively. Thus, the variation in the air-fuel ratio between the cylinders can be corrected, so that it is not necessary to correct the ignition timing, and the problem of a decrease in fuel consumption due to the ignition delay can be avoided.
[0203]
<< Embodiment (9) >>
A feature of the embodiment (9) of the present invention shown in FIG. 38 to FIG. 41 is the first cylinder-to-cylinder variation correction, and the variable
[0204]
In the present embodiment (9), the above-described first inter-cylinder variation correction routine shown in FIG. 34 and the second inter-cylinder variation correction routine shown in FIG. 38 are executed.
[0205]
[Second cylinder variation correction routine]
When the second inter-cylinder variation correction routine shown in FIG. 38 is started, first, in
[0206]
Thereafter, the process proceeds to step 1303, and after reading the engine speed NE and the intake air amount GA, the process proceeds to step 1304, where a map of the correction coefficient KVVL2 shown in FIG. A correction coefficient KVVL2 (#i) corresponding to (for example, engine speed NE and intake air amount GA) is calculated.
[0207]
Thereafter, the process proceeds to step 1305, where the basic correction amount KVVL1 (#i) of each cylinder is multiplied by the correction coefficient KVVL2 (#i) to obtain the valve lift correction amount KVVL (#i) of each cylinder.
KVVL (#i) = KVVL1 (#i) × KVVL2 (#i)
[0208]
In the
[0209]
In this case, during the period corresponding to the intake stroke of the first cylinder # 1 (the period of CCRNK = 12 to 17), the final target valve lift amount is used by using the valve lift correction amount KVVL (# 1) of the
VVLM = VVL + FVVL (# 1) + KVVL (# 1)
[0210]
During the period corresponding to the intake stroke of the second cylinder # 2 (the period of CCRNK = 6 to 11), the final target valve lift amount VVLM is set using the valve lift correction amount KVVL (# 2) of the
VVLM = VVL + FVVL (# 2) + KVVL (# 2)
[0211]
During the period corresponding to the intake stroke of the third cylinder # 3 (the period of CCRNK = 18 to 23), the final target valve lift amount VVLM is set using the valve lift correction amount KVVL (# 3) of the
VVLM = VVL + FVVL (# 3) + KVVL (# 3)
[0212]
During the period corresponding to the intake stroke of the fourth cylinder # 4 (the period of CCRNK = 0 to 5), the final target valve lift amount VVLM is set using the valve lift correction amount KVVL (# 4) of the
VVLM = VVL + FVVL (# 4) + KVVL (# 4)
[0213]
Thereafter, the routine proceeds to step 1307, where the
[0214]
In the present embodiment (9) described above, as shown in the time chart of FIG. 41, in the first cylinder variation correction, the first cylinder variation values DEV1 (# 1) to DEV1 (# 4) of each cylinder. ) To calculate the valve lift correction amounts FVVL (# 1) to FVVL (# 4) of each cylinder, and using these valve lift correction amounts FVVL (# 1) to FVVL (# 4) By correcting the intake valve lift amount and correcting the intake air amount for each cylinder, the intake air amount variation between the cylinders is corrected.
[0215]
Thereafter, in the second cylinder variation correction, the valve lift correction amounts KVVL (# 1) to KVVL of the respective cylinders based on the second cylinder variation values DEV2 (# 1) to DEV2 (# 4) of the respective cylinders. (# 4) is calculated, and using these valve lift correction amounts KVVL (# 1) to KVVL (# 4), the final target valve lift amount VVLM of each cylinder corrected by the first inter-cylinder variation correction is calculated again. By correcting, the variation in intake air amount between cylinders is corrected with higher accuracy.
[0216]
When the intake fuel amount variation between the cylinders is very small (when the individual difference of the
[0217]
<< Embodiment (10) >>
Next, Embodiment (10) of this invention is demonstrated using FIG.42 and FIG.43. In this embodiment (10), as shown in FIG. 42, each cylinder of the
[0218]
In the present embodiment (10), in the first inter-cylinder variation correction, the intake valve lift amount is corrected for each cylinder by the
[0219]
In the present embodiment (10), the first inter-cylinder variation correction routine shown in FIG. 43 and the second inter-cylinder variation correction routine shown in FIG. 14 (or the second inter-cylinder variation correction routine shown in FIG. 26). ).
[0220]
[First Cylinder Variation Correction Routine]
In the first inter-cylinder variation correction routine shown in FIG. 43, the basic correction amount FVVL1 (#i) of the intake valve lift amount corresponding to the first inter-cylinder variation value DEV1 (#i) is set for each cylinder in FIG. After calculating using the map, the correction coefficient FVVL2 (#i) corresponding to the current engine operating state (for example, engine speed NE and intake air amount GA) is calculated for each cylinder using the map of FIG. Steps 1401-1404).
[0221]
Thereafter, the process proceeds to step 1405, where the basic correction amount FVVL1 (#i) of each cylinder is multiplied by the correction coefficient FVVL2 (#i) to obtain the valve lift correction amount FVVL (#i) of each cylinder.
FVVL (#i) = FVVL1 (#i) × FVVL2 (#i)
[0222]
In the
VVL (#i) = VVL + FVVL (#i)
[0223]
According to the final target valve lift amount VVL of each cylinder calculated in this way, the
[0224]
In the present embodiment (10), the second cylinder-to-cylinder variation correction routine shown in FIG. 14 (or the second cylinder-to-cylinder variation correction routine shown in FIG. 26) is executed, so that the second cylinder of each cylinder is executed. By correcting the fuel injection time (fuel injection amount) for each cylinder based on the inter-variation value DEV2, the intake fuel amount variation between the cylinders is corrected.
In the case of the present embodiment (10) described above, the same effects as those of the embodiment (8) can be obtained.
[0225]
<< Embodiment (11) >>
In the embodiment (11) of the present invention shown in FIG. 44, the intake valve lift amount is corrected for each cylinder by the
In the present embodiment (11), the first inter-cylinder variation correction routine shown in FIG. 43 and the second inter-cylinder variation correction routine shown in FIG. 44 are executed.
[0226]
[Second cylinder variation correction routine]
In the second inter-cylinder variation correction routine shown in FIG. 44, the basic correction amount KVVL1 (#i) of the intake valve lift amount corresponding to the second inter-cylinder variation value DEV2 (#i) is set for each cylinder in FIG. After calculating using the map, a correction coefficient KVVL2 (#i) corresponding to the current engine operating state (for example, engine speed NE and intake air amount GA) is calculated for each cylinder using the map of FIG. Steps 1501-1504).
[0227]
Thereafter, the routine proceeds to step 1505, where the basic correction amount KVVL1 (#i) of each cylinder is multiplied by the correction coefficient KVVL2 (#i) to obtain the valve lift correction amount KVVL (#i) of each cylinder.
KVVL (#i) = KVVL1 (#i) × KVVL2 (#i)
[0228]
In the
VVL (#i) = VVL + FVVL (#i) + KVVL (#i)
[0229]
In the case of the present embodiment (11) described above, the same effects as those of the embodiment (9) can be obtained.
[0230]
In addition, you may make it implement in combination with several cylinder variation correction | amendment from said each embodiment (1)-(11), for example, said each execution according to engine operating conditions etc. during engine operation, for example. The cylinder-to-cylinder variation correction described in the embodiments (1) to (11) may be switched and executed.
[0231]
In the cylinder-to-cylinder variation correction in each of the embodiments (1) to (11), the first cylinder-to-cylinder variation correction based on the first cylinder-to-cylinder variation value DEV1 and the second cylinder-to-cylinder variation value DEV2 are used. In addition, the second-stage correction of the variation between the second cylinders is performed, but the intake air variable means for each cylinder (variable
[0232]
In the above embodiments (1) to (11), the present invention is applied to a system that performs intake air amount control by variable intake valve control. However, the present invention is applied to a system that performs only intake air amount control by throttle control. It may be applied.
[0233]
The scope of application of the present invention is not limited to a four-cylinder engine, and the present invention may be applied to a multi-cylinder engine having five or more cylinders or three or less cylinders.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of an entire engine control system according to an embodiment (1) of the present invention.
FIG. 2 is a front view of a variable valve lift mechanism.
FIG. 3 is a flowchart showing a flow of processing of a cylinder-to-cylinder variation correction base routine of the embodiment (1).
FIG. 4 is a flowchart showing a processing flow of a first inter-cylinder variation estimation routine of the embodiment (1).
FIG. 5 is a flowchart showing a part of the processing flow of a modified example (No. 1) of the first inter-cylinder variation estimation routine of the embodiment (1).
FIG. 6 is a flowchart showing a part of the processing flow of a modified example (No. 2) of the first inter-cylinder variation estimation routine of the embodiment (1).
FIG. 7 is a flowchart showing a part of the processing flow of a modified example (No. 3) of the first inter-cylinder variation estimation routine of the embodiment (1).
FIG. 8 is a diagram conceptually showing a map for converting an output voltage VAFM of an air flow meter into an intake air amount instantaneous value GAFM.
FIG. 9 is a time chart showing the pulsation waveform of the intake air amount
FIG. 10 is a flowchart showing a process flow of a first inter-cylinder variation correction routine of the embodiment (1).
FIG. 11 is a diagram conceptually showing a map of a basic correction amount FAOP1 of ignition timing.
FIG. 12 is a diagram conceptually showing a map of a correction coefficient FAOP2.
FIG. 13 is a flowchart showing a process flow of a second inter-cylinder variation estimation routine of the embodiment (1).
FIG. 14 is a flowchart showing the flow of processing of a second inter-cylinder variation correction routine of the embodiment (1).
FIG. 15 is a diagram conceptually showing a map of a basic correction amount KTAU1 for fuel injection time.
FIG. 16 is a diagram conceptually showing a map of a correction coefficient KTAU2.
FIG. 17 is a time chart showing an execution example of the embodiment (1).
FIG. 18 is a flowchart showing a process flow of a first inter-cylinder variation estimation routine of the embodiment (2).
FIG. 19 is a flowchart showing a part of the processing flow of a modified example (part 1) of the first inter-cylinder variation estimation routine of the embodiment (2).
FIG. 20 is a flowchart showing a part of the processing flow of a modified example (No. 2) of the first inter-cylinder variation estimation routine of the embodiment (2).
FIG. 21 is a flowchart showing a part of the processing flow of a modified example (No. 3) of the first inter-cylinder variation estimation routine of the embodiment (2).
FIG. 22 is a diagram conceptually showing a map of an intake pipe pressure instantaneous value PMAP.
FIG. 23 is a flowchart showing a flow of processing of a first inter-cylinder variation estimation routine of the embodiment (3).
FIG. 24 is a flowchart showing the flow of processing of a second inter-cylinder variation estimation routine of the embodiment (4).
FIG. 25 is a diagram conceptually showing a map of an exhaust system delay time DELY.
FIG. 26 is a flowchart showing the flow of processing of a second inter-cylinder variation correction routine of the embodiment (4).
FIG. 27 is a flowchart showing a flow of processing of a first inter-cylinder variation correcting routine of the embodiment (5).
FIG. 28 is a flowchart showing a process flow of a second inter-cylinder variation correction routine of the embodiment (5).
FIG. 29 is a diagram conceptually showing a map of a basic correction amount KAOP1 of ignition timing.
FIG. 30 is a diagram conceptually showing a map of a correction coefficient KAOP2.
FIG. 31 is a time chart showing an execution example of the embodiment (5);
FIG. 32 is a time chart showing an execution example of the embodiment (6).
FIG. 33 is a time chart showing an execution example of the embodiment (7);
FIG. 34 is a flowchart showing the flow of processing of a first inter-cylinder variation correcting routine of the embodiment (8).
FIG. 35 is a diagram conceptually showing a map of a basic correction amount FVVL1 of the intake valve lift amount.
FIG. 36 is a diagram conceptually showing a map of the correction coefficient FVVL2.
FIG. 37 is a time chart showing an execution example of the embodiment (8).
FIG. 38 is a flowchart showing the flow of processing of a second inter-cylinder variation correcting routine of the embodiment (9).
FIG. 39 is a diagram conceptually showing a map of a basic correction amount KVVL1 of the intake valve lift amount.
FIG. 40 is a diagram conceptually showing a map of a correction coefficient KVVL2.
FIG. 41 is a time chart showing an execution example of the embodiment (9)
FIG. 42 is a schematic configuration diagram of the entire engine control system in the embodiment (10).
FIG. 43 is a flowchart showing a process flow of a first inter-cylinder variation correction routine of the embodiment (10).
FIG. 44 is a flowchart showing a process flow of a second inter-cylinder variation correction routine of the embodiment (11).
[Explanation of symbols]
DESCRIPTION OF
Claims (16)
前記第1の気筒間ばらつき値に基づいて気筒間のトルクばらつきと気筒間の空燃比ばらつきの少なくとも一方を補正する第1の気筒間ばらつき補正を実行する第1の気筒間ばらつき補正手段と、
前記第1の気筒間ばらつき補正の実行後に前記内燃機関の燃焼状態と排出ガスの空燃比の少なくとも一方に基づいて気筒間の吸入空気量ばらつき及び/又は気筒間の吸入燃料量ばらつきを表す第2の気筒間ばらつき値を算出する第2の気筒間ばらつき推定手段と、
前記第2の気筒間ばらつき値に基づいて気筒間のトルクばらつきと気筒間の空燃比ばらつきの少なくとも一方を補正する第2の気筒間ばらつき補正を実行する第2の気筒間ばらつき補正手段と
を備えていることを特徴とする内燃機関の制御装置。The first cylinder variation estimation Teite stage of calculating a first cylinder variation value representing the intake air amount variation among the cylinders based on at least one of the intake pipe pressure and the intake air amount of the internal combustion engine having a plurality of cylinders When,
First inter-cylinder variation correction means for performing first inter-cylinder variation correction for correcting at least one of torque variation between cylinders and air-fuel ratio variation between cylinders based on the first inter-cylinder variation value;
A second representing an intake air amount variation between cylinders and / or an intake fuel amount variation between cylinders based on at least one of a combustion state of the internal combustion engine and an air-fuel ratio of exhaust gas after execution of the first inter-cylinder variation correction. Second inter-cylinder variation estimating means for calculating the inter-cylinder variation value of
And second inter-cylinder variation correction means for performing second inter-cylinder variation correction for correcting at least one of torque variation between cylinders and air-fuel ratio variation between cylinders based on the second inter-cylinder variation value. A control device for an internal combustion engine.
前記第1の気筒間ばらつき推定手段は、各気筒の吸気行程に対応する期間毎に前記エアフローメータで検出した吸入空気量の平均値、極大値、極小値、振幅値、面積のうちの少なくとも1つに基づいて前記第1の気筒間ばらつき値を算出することを特徴とする請求項1に記載の内燃機関の制御装置。An air flow meter for detecting the amount of intake air of the internal combustion engine,
The first cylinder-to-cylinder variation estimation means is at least one of an average value, maximum value, minimum value, amplitude value, and area of the intake air amount detected by the air flow meter for each period corresponding to the intake stroke of each cylinder. The control apparatus for an internal combustion engine according to claim 1, wherein the first inter-cylinder variation value is calculated based on one of the two.
前記第1の気筒間ばらつき推定手段は、各気筒の吸気行程に対応する期間毎に前記吸気管圧力センサで検出した吸気管圧力の平均値、極大値、極小値、振幅値、面積のうちの少なくとも1つに基づいて前記第1の気筒間ばらつき値を算出することを特徴とする請求項1又は2に記載の内燃機関の制御装置。An intake pipe pressure sensor for detecting an intake pipe pressure of the internal combustion engine;
The first inter-cylinder variation estimating means includes an average value, maximum value, minimum value, amplitude value, and area of the intake pipe pressure detected by the intake pipe pressure sensor for each period corresponding to the intake stroke of each cylinder. 3. The control device for an internal combustion engine according to claim 1, wherein the first inter-cylinder variation value is calculated based on at least one.
前記第2の気筒間ばらつき推定手段は、各気筒の排気行程に対応する期間毎に前記空燃比センサにより各気筒の排出ガスの空燃比を検出し、その空燃比に基づいて前記第2の気筒間ばらつき値を算出することを特徴とする請求項1乃至5のいずれかに記載の内燃機関の制御装置。An air-fuel ratio sensor for detecting an air-fuel ratio of the exhaust gas of the internal combustion engine,
The second cylinder-to-cylinder variation estimating means detects the air-fuel ratio of the exhaust gas of each cylinder by the air-fuel ratio sensor for each period corresponding to the exhaust stroke of each cylinder, and based on the air-fuel ratio, the second cylinder The internal combustion engine control device according to any one of claims 1 to 5, wherein an interval variation value is calculated.
前記第2の気筒間ばらつき補正手段は、前記第2の気筒間ばらつき値に基づいて各気筒毎に燃料噴射量を補正することで気筒間の空燃比ばらつきを補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。The first inter-cylinder variation correcting unit corrects the torque variation between the cylinders by correcting the ignition timing for each cylinder based on the first inter-cylinder variation value.
The second cylinder-to-cylinder variation correcting means corrects the air-fuel ratio variation among the cylinders by correcting the fuel injection amount for each cylinder based on the second cylinder-to-cylinder variation value. The control apparatus for an internal combustion engine according to any one of 1 to 6.
前記第2の気筒間ばらつき補正手段は、前記第2の気筒間ばらつき値に基づいて各気筒毎に点火時期を補正することで気筒間のトルクばらつきを補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。The first inter-cylinder variation correcting unit corrects the air-fuel ratio variation among the cylinders by correcting the fuel injection amount for each cylinder based on the first inter-cylinder variation value.
The second cylinder variation correcting means corrects torque variation between cylinders by correcting an ignition timing for each cylinder based on the second cylinder variation value. The control apparatus for an internal combustion engine according to any one of claims 6 to 10.
前記第1の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき値に基づいて各気筒毎に前記気筒別吸入空気可変手段の制御量を補正して各気筒毎に吸入空気量を補正し、
前記第2の気筒間ばらつき補正手段は、前記第2の気筒間ばらつき値に基づいて各気筒毎に燃料噴射量を補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。A cylinder-specific intake air variable means for varying the intake air amount for each cylinder of the internal combustion engine;
The first inter-cylinder variation correcting unit corrects the control amount of the cylinder-specific intake air varying unit for each cylinder based on the first inter-cylinder variation value to correct the intake air amount for each cylinder. ,
The internal combustion engine according to any one of claims 1 to 6, wherein the second inter-cylinder variation correcting unit corrects the fuel injection amount for each cylinder based on the second inter-cylinder variation value. Control device.
前記第2の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき補正で補正した点火時期を前記第2の気筒間ばらつき値に基づいて各気筒毎に再補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。The first inter-cylinder variation correcting unit corrects the torque variation between the cylinders by correcting the ignition timing for each cylinder based on the first inter-cylinder variation value.
The second cylinder variation correcting means recorrects the ignition timing corrected by the first cylinder variation correction for each cylinder based on the second cylinder variation value. The control apparatus for an internal combustion engine according to any one of 1 to 6.
前記第2の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき補正で補正した燃料噴射量を前記第2の気筒間ばらつき値に基づいて各気筒毎に再補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。The first inter-cylinder variation correcting unit corrects the air-fuel ratio variation among the cylinders by correcting the fuel injection amount for each cylinder based on the first inter-cylinder variation value.
The second cylinder variation correcting means recorrects the fuel injection amount corrected by the first cylinder variation correction for each cylinder based on the second cylinder variation value. Item 7. The control device for an internal combustion engine according to any one of Items 1 to 6.
前記第1の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき値に基づいて各気筒毎に前記気筒別吸入空気可変手段の制御量を補正して各気筒毎に吸入空気量を補正し、
前記第2の気筒間ばらつき補正手段は、前記第1の気筒間ばらつき補正で補正した前記気筒別吸入空気可変手段の制御量を前記第2の気筒間ばらつき値に基づいて各気筒毎に再補正することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の制御装置。A cylinder-specific intake air variable means for varying the intake air amount for each cylinder of the internal combustion engine;
The first inter-cylinder variation correcting unit corrects the control amount of the cylinder-specific intake air varying unit for each cylinder based on the first inter-cylinder variation value to correct the intake air amount for each cylinder. ,
The second inter-cylinder variation correcting unit recorrects the control amount of the cylinder-specific intake air variable unit corrected by the first inter-cylinder variation correction for each cylinder based on the second inter-cylinder variation value. The control device for an internal combustion engine according to any one of claims 1 to 6, wherein
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002209185A JP3968705B2 (en) | 2002-07-18 | 2002-07-18 | Control device for internal combustion engine |
DE10332350A DE10332350A1 (en) | 2002-07-18 | 2003-07-16 | Electronic engine control unit, adjusts individual inter-cylinder variations by inter-relation of instantaneous breathing, speed, stoichiometry, timing and injection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002209185A JP3968705B2 (en) | 2002-07-18 | 2002-07-18 | Control device for internal combustion engine |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004052620A JP2004052620A (en) | 2004-02-19 |
JP3968705B2 true JP3968705B2 (en) | 2007-08-29 |
Family
ID=31933098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002209185A Expired - Fee Related JP3968705B2 (en) | 2002-07-18 | 2002-07-18 | Control device for internal combustion engine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3968705B2 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4640169B2 (en) * | 2005-12-28 | 2011-03-02 | マツダ株式会社 | Spark ignition direct injection engine |
JP2008128160A (en) * | 2006-11-24 | 2008-06-05 | Denso Corp | Control device of internal combustion engine |
EP2067968B1 (en) * | 2007-12-04 | 2011-05-11 | C.R.F. Società Consortile per Azioni | Multi-cylinder internal combustion engine with independent cylinders |
JP5083569B2 (en) * | 2009-01-29 | 2012-11-28 | 三菱自動車工業株式会社 | Multi-cylinder engine air-fuel ratio control device |
JP5103459B2 (en) | 2009-10-30 | 2012-12-19 | 日立オートモティブシステムズ株式会社 | Engine control device |
JP5278454B2 (en) | 2011-01-28 | 2013-09-04 | トヨタ自動車株式会社 | Cylinder air-fuel ratio variation abnormality detecting device for multi-cylinder internal combustion engine |
JP5278466B2 (en) | 2011-02-16 | 2013-09-04 | トヨタ自動車株式会社 | Cylinder air-fuel ratio variation abnormality detection device |
JP5260770B2 (en) * | 2012-06-05 | 2013-08-14 | 日立オートモティブシステムズ株式会社 | Engine control device |
JP6884469B2 (en) * | 2017-03-31 | 2021-06-09 | ダイハツ工業株式会社 | Intake air amount detector for internal combustion engine |
EP3696395A1 (en) | 2019-02-15 | 2020-08-19 | 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 |
JP6853287B2 (en) | 2019-02-21 | 2021-03-31 | トヨタ自動車株式会社 | Imbalance detection device, imbalance detection system, data analysis device, and internal combustion engine control device |
-
2002
- 2002-07-18 JP JP2002209185A patent/JP3968705B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004052620A (en) | 2004-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6779508B2 (en) | Control system of internal combustion engine | |
JP2008064032A (en) | Control device for internal combustion engine, controlling method, program realizing the method, and recording medium recording the program | |
JP2012026340A (en) | Fuel injection control device for direct injection internal combustion engine | |
JP3968705B2 (en) | Control device for internal combustion engine | |
US20040055571A1 (en) | Control system and method for internal combustion engine with variable valve mechanism | |
JP4339572B2 (en) | Control device for internal combustion engine | |
JP4174817B2 (en) | Intake air amount detection device for internal combustion engine | |
JP2017008839A (en) | Control device of internal combustion engine | |
JP3988650B2 (en) | Internal EGR amount estimation device for internal combustion engine | |
JPH11229951A (en) | Knocking control device for multiple cylinder internal combustion engine provided with variable valve timing control device | |
JP4424248B2 (en) | In-cylinder injection internal combustion engine control device | |
JP4003182B2 (en) | Variable valve control device for internal combustion engine | |
JP4131197B2 (en) | In-cylinder control device for in-cylinder injection internal combustion engine | |
JP4379670B2 (en) | Fuel property determination device for internal combustion engine | |
JP4168739B2 (en) | Inter-cylinder variation detector for internal combustion engine | |
JP2001234801A (en) | Knocking control device of internal combustion engine | |
JP4407505B2 (en) | Valve characteristic control device for internal combustion engine | |
JP4453187B2 (en) | Control device for internal combustion engine | |
JP3521894B2 (en) | Control device for internal combustion engine with variable valve timing device | |
JP2004176644A (en) | Cylinder intake air quantity detecting device for internal combustion engine | |
JP3931708B2 (en) | Torque control device for internal combustion engine | |
JP4075056B2 (en) | Variable valve control device for internal combustion engine | |
JP4032952B2 (en) | Variable valve control device for internal combustion engine | |
JP2004360495A (en) | Ignition timing controller of internal combustion engine | |
JP2004316613A (en) | Variable valve control device for internal combustion engine |
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 |