JP2010230016A - 内燃機関の気筒別空燃比制御装置 - Google Patents

内燃機関の気筒別空燃比制御装置 Download PDF

Info

Publication number
JP2010230016A
JP2010230016A JP2010161207A JP2010161207A JP2010230016A JP 2010230016 A JP2010230016 A JP 2010230016A JP 2010161207 A JP2010161207 A JP 2010161207A JP 2010161207 A JP2010161207 A JP 2010161207A JP 2010230016 A JP2010230016 A JP 2010230016A
Authority
JP
Japan
Prior art keywords
air
fuel ratio
cylinder
fuel
detection timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010161207A
Other languages
English (en)
Inventor
Masayuki Kita
正之 北
Nobuaki Ikemoto
池本  宣昭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2010161207A priority Critical patent/JP2010230016A/ja
Publication of JP2010230016A publication Critical patent/JP2010230016A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

【課題】排気集合部に設置した1つの空燃比センサの検出値に基づいて各気筒の空燃比を推定するシステムにおいて、気筒別空燃比制御中に適正な空燃比検出タイミングを精度良く学習できるようにする。
【解決手段】排気集合部36に設置した空燃比センサ37の検出値に基づいて各気筒の空燃比を推定すると共に、各気筒の推定空燃比に基づいて各気筒の空燃比を制御する。燃料カット復帰時に最初に空燃比センサ37の出力が噴射再開後の空燃比に相当するレベルに変化した時のクランク角と燃料カット復帰時の最初の噴射気筒の噴射再開時のクランク角とのずれ量に基づいて、燃料カット復帰時の最初の噴射気筒の空燃比を検出するのに適正な空燃比検出タイミングを学習する。
【選択図】図1

Description

本発明は、内燃機関の排気集合部に設置した1つの空燃比センサの検出値に基づいて各気筒の空燃比を推定する機能を備えた内燃機関の気筒別空燃比制御装置に関するものである。
近年、内燃機関の気筒間の空燃比ばらつきを少なくして空燃比制御精度を向上させるために、特許文献1(特許第3217680号公報)に記載されているように、内燃機関の排気系の挙動を記述するモデルを設定して、排気集合部に設置した1つの空燃比センサの検出値(排気集合部を流れる排出ガスの空燃比)を該モデルに入力し、その内部状態を観測するオブザーバによって各気筒の空燃比を推定すると共に、各気筒の推定空燃比と目標値との偏差に応じて各気筒の燃料噴射量を補正して、各気筒の空燃比を目標値に一致させるようにしたものがある。更に、この特許文献1では、各気筒から排出される排出ガスが空燃比センサ付近に到達してその空燃比が検出されるまでの遅れ(以下「排気系の応答遅れ」という)がエンジン運転状態によって変化することを考慮して、エンジン設計・製造過程で、排気系の応答遅れとエンジン運転状態との関係を規定するマップを作成しておき、エンジン運転中に空燃比センサ出力のサンプルタイミング(各気筒の空燃比検出タイミング)をエンジン運転状態に応じて上記マップにより変化させるようにしている。
しかし、排気系の応答遅れを変化させる要因は、エンジン運転状態のみではなく、空燃比センサの応答性の経時劣化によっても排気系の応答遅れが変化する。
そこで、特許文献2(特開平10−73049号公報)では、燃料カット開始後の空燃比センサの応答遅れを計測して空燃比センサの応答劣化度合いを示す劣化パラメータを算出し、空燃比センサ出力のサンプルタイミング(各気筒の空燃比検出タイミング)を該劣化パラメータとエンジン運転状態の両方を考慮して変化させるようにしている。
特許第3217680号公報([0008]、[0013]、[0162] 〜[0164]等参照) 特開平10−73049号公報(第2頁等)
しかしながら、各気筒の排気ポートから空燃比センサまでの排気通路(排気マニホールド)の長さが各気筒毎に異なると共に、各気筒の排出ガスの流れがエンジン回転速度や筒内充填空気量によって複雑に変化し、しかも、エンジンの製造ばらつきや経年変化によっても排気系の応答遅れが変化するため、エンジン設計・製造過程で、各気筒の排気系の応答遅れとエンジン運転状態との関係を精度良くマップ化しておくことは困難である。従って、上記特許文献1,2の技術では、空燃比センサ出力のサンプルタイミング(各気筒の空燃比検出タイミング)を精度良く補正することは困難である。
そこで、本発明の目的は、内燃機関の排気集合部に設置した1つの空燃比センサの検出値に基づいて各気筒の空燃比を推定するシステムにおいて、内燃機関の運転中に空燃比センサ出力のサンプルタイミング(各気筒の空燃比検出タイミング)のずれを精度良く学習できるようにすることである。
燃料カット復帰時に最初に空燃比センサの出力が噴射再開後の空燃比に相当するレベルに変化するタイミングは、燃料カット復帰時の最初の噴射気筒のみによって決まり、他の気筒の影響を受けない。
この特性に着目して、請求項1に係る発明では、内燃機関の各気筒の排出ガスが集合して流れる排気集合部に、該排出ガスの空燃比を検出する空燃比センサを設置し、各気筒の空燃比検出タイミング毎に前記空燃比センサの検出値に基づいて各気筒の空燃比を推定する気筒別空燃比推定手段と、各気筒の推定空燃比に基づいて各気筒の空燃比を制御する気筒別空燃比制御手段と、所定の燃料カット条件が成立したときに燃料カットを実行する燃料カット手段とを備えた内燃機関の気筒別空燃比制御装置において、燃料カット復帰時に最初に空燃比センサの出力が噴射再開後の空燃比に相当するレベルに変化するタイミングに基づいて燃料カット復帰時の最初の噴射気筒の空燃比を検出するのに適正な空燃比検出タイミングを学習するようにしている。このようにすれば、燃料カット復帰毎に適正な空燃比検出タイミングを学習することができ、その学習結果に基づいて各気筒の空燃比検出タイミングを適正な空燃比検出タイミングに設定することができて、各気筒の空燃比を精度良く推定することができる。
この場合、内燃機関の運転状態に応じて適正な空燃比検出タイミングが変化することを考慮して、請求項2のように、内燃機関の運転状態毎に適正な空燃比検出タイミングを学習するようにすると良い。このようにすれば、空燃比検出タイミングの学習値の精度を向上させることができる。
尚、上記各請求項1,2に係る発明において、空燃比センサの検出値に基づいて各気筒の空燃比を推定する方法は、前記特許文献1,2や、その他の公知文献に記載された方法を用いても良いが、請求項3のように、空燃比センサの検出値を、各気筒の推定空燃比の履歴と該空燃比センサの検出値の履歴とにそれぞれ所定の重みを乗じて加算したものとしてモデル化し、該モデルを用いて各気筒の空燃比を推定するようにしても良い。このようにすれば、気筒別空燃比を推定するモデルが空燃比センサの検出値をその過去の検出値から予測する自己回帰モデルとなるため、空燃比センサの検出値から気筒別空燃比を精度良く推定することができる。しかも、簡単なモデルにすることができるので、モデリングの複雑さを解消できると共に、車載コンピュータの演算負荷を軽減できるという利点がある。
実施例1におけるエンジン制御システム全体の概略構成図である。 実施例1の気筒別空燃比制御ルーチンの処理の流れを示すフローチャートである。 各気筒の空燃比検出タイミングが正しい場合の制御例を示すタイムチャートである。 各気筒の空燃比検出タイミングがずれている場合の制御例を示すタイムチャートである。 実施例1の空燃比検出タイミングずれ判定ルーチンの処理の流れを示すフローチャートである。 実施例1の空燃比検出タイミングずれ学習補正ルーチンの処理の流れを示すフローチャートである(その1)。 実施例1の空燃比検出タイミングずれ学習補正ルーチンの処理の流れを示すフローチャートである(その2)。 実施例1の空燃比検出タイミングずれの検出方法を説明するタイムチャートである。 実施例1の空燃比検出タイミングずれの学習補正方法を説明するタイムチャートである。 実施例1の空燃比検出タイミングの学習マップを概念的に示す図 実施例2の空燃比検出タイミングずれ判定ルーチンの処理の流れを示すフローチャートである。 実施例3の空燃比検出タイミングずれ判定ルーチンの処理の流れを示すフローチャートである。 実施例4の空燃比検出タイミングずれの学習補正方法を説明するタイムチャートである。 実施例4の空燃比検出タイミングずれ学習補正ルーチンの処理の流れを示すフローチャートである。 実施例5の空燃比検出タイミングずれの学習補正方法を説明するタイムチャートである。 実施例5の空燃比検出タイミングずれ学習補正ルーチンの処理の流れを示すフローチャートである。 実施例6の空燃比検出タイミングずれ判定ルーチンの処理の流れを示すフローチャートである。 実施例6の相関値算出ルーチンの処理の流れを示すフローチャートである。 実施例6の推定空燃比差分算出ルーチンの処理内容を示すフローチャートである。 実施例6の瞬時相関値算出ルーチンの処理内容を示すフローチャートである。 実施例6の積算相関値算出ルーチンの処理内容を示すフローチャートである。 実施例6の空燃比検出タイミングずれ学習補正ルーチンの処理の流れを示すフローチャートである。 実施例6の空燃比検出タイミングずれ学習補正の一例を示すタイムチャートである。
以下、本発明を幾つかの実施例を用いて説明する。
本発明の実施例1を図1乃至図10に基づいて説明する。まず、図1に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関である例えば直列4気筒のエンジン11の吸気管12の最上流部には、エアクリーナ13が設けられ、このエアクリーナ13の下流側に、吸入空気量を検出するエアフローメータ14が設けられている。このエアフローメータ14の下流側には、モータ等によって開度調節されるスロットルバルブ15とスロットル開度を検出するスロットル開度センサ16とが設けられている。
更に、スロットルバルブ15の下流側には、サージタンク17が設けられ、このサージタンク17には、吸気管圧力を検出する吸気管圧力センサ18が設けられている。また、サージタンク17には、エンジン11の各気筒に空気を導入する吸気マニホールド19が設けられ、各気筒の吸気マニホールド19の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁20が取り付けられている。エンジン運転中は、燃料タンク21内の燃料が燃料ポンプ22によりデリバリパイプ23に送られ、各気筒の噴射タイミング毎に各気筒の燃料噴射弁20から燃料が噴射される。デリバリパイプ23には、燃料圧力(燃圧)を検出する燃圧センサ24が取り付けられている。
また、エンジン11には、吸気バルブ25と排気バルブ26の開閉タイミングをそれぞれ可変する可変バルブタイミング機構27,28が設けられている。更に、エンジン11には、吸気カム軸29と排気カム軸30の回転に同期してカム角信号を出力する吸気カム角センサ31と排気カム角センサ32が設けられ、エンジン11のクランク軸の回転に同期して所定クランク角毎(例えば30℃A毎)にクランク角信号のパルスを出力するクランク角センサ33が設けられている。
一方、エンジン11の各気筒の排気マニホールド35が集合する排気集合部36には、排出ガスの空燃比を検出する空燃比センサ37が設置され、この空燃比センサ37の下流側に排出ガス中のCO,HC,NOx等を浄化する三元触媒等の触媒38が設けられている。
上記空燃比センサ37等の各種センサの出力は、エンジン制御回路(以下「ECU」と表記する)40に入力される。このECU40は、マイクロコンピュータを主体として構成され、内蔵されたROM(記憶媒体)に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて各気筒の燃料噴射弁20の燃料噴射量や点火時期を制御する。
本実施例では、ECU40は、後述する図2の気筒別空燃比制御ルーチンを実行することで、後述する気筒別空燃比推定モデルを用いて空燃比センサ37の検出値(排気集合部36を流れる排出ガスの実空燃比)に基づいて各気筒の空燃比を推定し、全気筒の推定空燃比の平均値を算出して、その平均値を基準空燃比(全気筒の目標空燃比)に設定すると共に、各気筒の推定空燃比と基準空燃比との偏差を各気筒毎に算出して、その偏差が小さくなるように各気筒の燃料補正量(燃料噴射量の補正量)を算出し、その算出結果に基づいて各気筒の燃料噴射量を補正することで、各気筒に供給する混合気の空燃比を各気筒毎に補正して気筒間の空燃比ばらつきを少なくするように制御する(以下、この制御を気筒別空燃比制御という)。
ここで、空燃比センサ37の検出値(排気集合部36を流れる排出ガスの実空燃比)に基づいて各気筒の空燃比を推定するモデル(以下「気筒別空燃比推定モデル」という)の具体例を説明する。
排気集合部36におけるガス交換に着目して、空燃比センサ37の検出値を、排気集合部36における各気筒の推定空燃比の履歴と空燃比センサ37の検出値の履歴とにそれぞれ所定の重みを乗じて加算したものとしてモデル化し、該モデルを用いて各気筒の空燃比を推定するようにしている。この際、オブザーバとしてはカルマンフィルタを用いる。
より具体的には、排気集合部36におけるガス交換のモデルを次の(1)式にて近似する。
ys(t)=k1 ×u(t-1) +k2 ×u(t-2) −k3 ×ys(t-1)−k4 ×ys(t-2)
……(1)
ここで、yS は空燃比センサ37の検出値、uは排気集合部36に流入するガスの空燃比、k1 〜k4 は定数である。
排気系では、排気集合部36におけるガス流入及び混合の一次遅れ要素と、空燃比センサ37の応答遅れによる一次遅れ要素とが存在する。そこで、上記(1)式では、これらの一次遅れ要素を考慮して過去2回分の履歴を参照することとしている。
上記(1)式を状態空間モデルに変換すると、次の(2a)、(2b)式が導き出される。
X(t+1) =A・X(t) +B・u(t) +W(t) ……(2a)
Y(t) =C・X(t) +D・u(t) ……(2b)
ここで、A,B,C,Dはモデルのパラメータ、Yは空燃比センサ37の検出値、Xは状態変数としての各気筒の推定空燃比、Wはノイズである。
更に、上記(2a)、(2b)式によりカルマンフィルタを設計すると、次の(3)式が得られる。
X^(k+1|k)=A・X^(k|k-1)+K{Y(k) −C・A・X^(k|k-1)} ……(3) ここで、X^(エックスハット)は各気筒の推定空燃比、Kはカルマンゲインである。X^(k+1|k)の意味は、時間(k) の推定値により次の時間(k+1) の推定値を求めることを表す。
以上のようにして、気筒別空燃比推定モデルをカルマンフィルタ型オブザーバにて構成することにより、燃焼サイクルの進行に伴い各気筒の空燃比を順次推定することができる。
次に、各気筒の空燃比検出タイミング(空燃比センサ37の出力のサンプルタイミング)の設定方法について説明する。本実施例1では、各気筒から排出される排出ガスが空燃比センサ37付近に到達してその空燃比が検出されるまでの遅れ(以下「排気系の応答遅れ」という)がエンジン運転状態によって変化することを考慮して、エンジン運転状態(例えばエンジン負荷、エンジン回転速度等)に応じてマップにより各気筒の空燃比検出タイミングを設定し、空燃比センサ37の出力をECU40に取り込むようにしている。一般に、エンジン負荷が小さくなるほど、排気系の応答遅れが大きくなるため、各気筒の空燃比検出タイミングは、エンジン負荷が小さくなるほど、遅角側にシフトされるように設定されている。
しかしながら、各気筒の排気ポートから空燃比センサ37までの排気マニホールド35の長さが各気筒毎に異なると共に、各気筒の排出ガスの流れがエンジン運転状態(エンジン回転速度や筒内充填空気量等)によって複雑に変化し、しかも、エンジン11の製造ばらつきや経年変化によっても排気系の応答遅れが変化するため、エンジン設計・製造過程で、各気筒の排気系の応答遅れ(各気筒の空燃比検出タイミング)とエンジン負荷との関係を精度良くマップ化しておくことは困難である。このため、各気筒の空燃比検出タイミングが適正な空燃比検出タイミングからずれる可能性がある。
もし、各気筒の空燃比検出タイミングがずれると、各気筒の空燃比の推定精度が悪化して、気筒別空燃比制御を続けても気筒間の推定空燃比のばらつきがいつまでも小さくならならない状態となる(図4参照)。
そこで、本実施例1では、後述する図5に示す空燃比検出タイミングずれ判定ルーチンを実行することで、気筒別空燃比制御中に気筒間の推定空燃比のばらつき度合いに基づいて空燃比検出タイミングのずれの有無を判定するようにしている。
以下、ECU40が実行する各ルーチンの処理内容を説明する。
[気筒別空燃比制御ルーチン]
図2に示す気筒別空燃比制御ルーチンは、クランク角センサ33の出力パルスに同期して所定クランク角毎(例えば30℃A毎)に起動され、特許請求の範囲でいう気筒別空燃比制御手段としての役割を果たす。本ルーチンが起動されると、まずステップ101で、気筒別空燃比制御の実行条件が成立しているか否かを判定する。この気筒別空燃比制御の実行条件としては、例えば次の条件(1) 〜(4) がある。
(1) 空燃比センサ37が活性状態であること
(2) 空燃比センサ37が異常(故障)と判定されていないこと
(3) エンジン11が暖機状態(例えば冷却水温が所定温度以上)であること
(4) エンジン運転領域(例えばエンジン回転速度と吸気管圧力)が空燃比推定精度を確保できる運転領域であること
これら4つの条件(1) 〜(4) を全て満したときに気筒別空燃比制御の実行条件が成立し、いずれか1つでも満たさない条件があれば、実行条件が不成立となる。実行条件が不成立の場合は、以降の処理を行うことなく、本ルーチンを終了する。
一方、実行条件が成立している場合は、ステップ102に進み、各気筒の空燃比検出タイミング(空燃比センサ37の出力のサンプルタイミング)を、その時点のエンジン負荷(例えば吸気管圧力)に応じてマップにより設定する。尚、各気筒の空燃比検出タイミングをエンジン負荷とエンジン回転速度に応じてマップにより設定しても良い。この空燃比検出タイミングを設定するマップは、後述する図6及び図7の空燃比検出タイミングずれ学習補正ルーチンによって学習補正される。
この後、ステップ103に進み、現在のクランク角が上記ステップ102で設定した空燃比検出タイミングであるか否かを判定し、空燃比検出タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
これに対して、現在のクランク角が上記ステップ102で設定した空燃比検出タイミングであれば、ステップ104に進み、空燃比センサ37の出力(空燃比検出値)を読み込む。この後、ステップ105に進み、前記気筒別空燃比推定モデルを用いて今回の空燃比推定対象となる気筒の空燃比を空燃比センサ37の検出値に基づいて推定する。このステップ105の処理が特許請求の範囲でいう気筒別空燃比推定手段としての役割を果たす。この後、ステップ106に進み、全気筒の推定空燃比の平均値を算出して、その平均値を基準空燃比(全気筒の目標空燃比)に設定する。
この後、ステップ107に進み、各気筒の推定空燃比と基準空燃比との偏差を算出して、その偏差が小さくなるように各気筒の燃料補正量を算出した後、ステップ108に進み、各気筒の燃料補正量に基づいて各気筒の燃料噴射量を補正することで、各気筒に供給する混合気の空燃比を各気筒毎に補正して気筒間の空燃比ばらつきを少なくするように制御する。
[空燃比検出タイミングずれ判定ルーチン]
まず、空燃比検出タイミングのずれの判定方法を図3及び図4のタイムチャートを用いて説明する。図3は各気筒の空燃比検出タイミングが正しい場合の制御例であり、図4は各気筒の空燃比検出タイミングがずれている場合の制御例である。
図3に示すように、各気筒の空燃比検出タイミングが正しい場合は、空燃比センサ37の検出値に基づいて各気筒の空燃比を精度良く推定できるため、気筒別空燃比制御を開始すると、各気筒の推定空燃比と基準空燃比との偏差(以下この偏差を「推定空燃比偏差」という)が小さくなり、気筒間の推定空燃比のばらつきが小さくなる。
これに対し、図4に示すように、各気筒の空燃比検出タイミングがずれている場合は、空燃比センサ37の検出値から算出する各気筒の推定空燃比の精度が悪化するため、気筒別空燃比制御を続けても各気筒の推定空燃比偏差がいつまでも小さくならならず、気筒間の推定空燃比のばらつきが小さくならない状態となる。
このような特性に着目し、本実施例1では、図5の空燃比検出タイミングずれ判定ルーチンを実行することで、気筒間の推定空燃比のばらつき度合いが大きいか否かで空燃比検出タイミングのずれの有無を判定するようにしている。本ルーチンは、クランク角センサ33の出力パルスに同期して所定クランク角毎(例えば30℃A毎)に起動される。本ルーチンが起動されると、まずステップ201で、気筒別空燃比制御中であるか否かを判定し、気筒別空燃比制御中でなければ、以降の処理を行うことなく、本ルーチンを終了する。
これに対して、気筒別空燃比制御中であれば、ステップ202に進み、気筒間の推定空燃比のばらつき度合いが大きいか否かを例えば下記の条件(A1),(A2)のいずれか一方又は両方によって判定する。
(A1)各気筒の推定空燃比のうちの最大の推定空燃比と最小の推定空燃比との偏差が所定値以上であるか否かで、気筒間の推定空燃比のばらつき度合いが大きいか否かを判定する。
(A2)全気筒の推定空燃比の標準偏差が所定値以上であるか否かで、気筒間の推定空燃比のばらつき度合いが大きいか否かを判定する。
このステップ202で、気筒間の推定空燃比のばらつき度合いが大きいと判定されれば、ステップ203に進み、空燃比検出タイミングがずれていると判定して、本ルーチンを終了する。尚、気筒間の推定空燃比のばらつき度合いが小さい場合(ステップ202で「No」と判定される場合)には、空燃比検出タイミングが正しいと判断して、本ルーチンを終了する。
[空燃比検出タイミングずれ学習補正ルーチン]
まず、空燃比検出タイミングのずれの学習補正方法を図8及び図9を用いて説明する。図8及び図9は、空燃比検出タイミングが正しい場合とずれている場合の燃料噴射量の補正(燃料補正)の効果を説明する図である。空燃比検出タイミングが正しい場合は、各気筒の空燃比を精度良く推定できるため、所定の気筒の燃料噴射量を所定量補正すると、その気筒の空燃比は、燃料補正量相当分だけ変化するはずである。この特性に着目して、本実施例1では、図6及び図7の空燃比検出タイミングずれ学習補正ルーチンを実行することで、各気筒の空燃比検出タイミングを変化させて、当該空燃比検出タイミングにおける各気筒の燃料補正前後の空燃比を推定し、燃料補正前後の推定空燃比の変化量が燃料補正量相当分になる空燃比検出タイミングを適正な空燃比検出タイミングとして学習するようにしている。
図6及び図7の空燃比検出タイミングずれ学習補正ルーチンは、図5の空燃比検出タイミングずれ判定ルーチンの終了後に起動され、特許請求の範囲でいう学習手段としての役割を果たす。本ルーチンが起動されると、まずステップ301で、図5の空燃比検出タイミングずれ判定ルーチンにより空燃比検出タイミングがずれていると判定されたか否かを判定し、空燃比検出タイミングがずれていると判定されていない場合には、以降の処理を行うことなく、本ルーチンを終了する。
一方、空燃比検出タイミングがずれていると判定されている場合には、ステップ302に進み、遅角補正回数(空燃比検出タイミングを遅角側に補正した回数)が規定回数未満であるか否かを判定し、遅角補正回数が規定回数未満であれば、ステップ303に進み、空燃比検出タイミングを遅角側に所定クランク角だけ補正する。この後、ステップ304に進み、遅角補正後の空燃比検出タイミングにおける当該気筒の燃料補正前後の空燃比を推定し、燃料補正前後の推定空燃比の変化量を算出する。
この後、ステップ305に進み、推定空燃比の変化量が燃料補正量相当分にほぼ一致するか否かを判定することで、現在の空燃比検出タイミングが適正な空燃比検出タイミングであるか否かを判定する。その結果、現在の空燃比検出タイミングが適正な空燃比検出タイミングでないと判定された場合には、ステップ302に戻り、上述した空燃比検出タイミングの遅角補正を繰り返す。この遅角補正回数が規定回数に達する前に、推定空燃比の変化量が燃料補正量相当分にほぼ一致して空燃比検出タイミングが適正な空燃比検出タイミングになったと判定されれば、ステップ306に進み、その時点の空燃比検出タイミングを適正な空燃比検出タイミングとして学習し、その学習値をECU40のバックアップRAM等の書き換え可能な不揮発性メモリの学習値記憶領域に更新記憶する。この際、エンジン運転状態に応じて適正な空燃比検出タイミングが変化することを考慮して、図10に示すように、空燃比検出タイミングの学習値をエンジン運転状態(例えばエンジン負荷とエンジン回転速度)毎に更新記憶する。この後、ステップ307に進み、遅角補正回数のカウント値をリセットした本ルーチンを終了する。
これに対して、空燃比検出タイミングの遅角補正を規定回数繰り返しても、空燃比検出タイミングが適正な空燃比検出タイミングにならなかった場合には、図7のステップ308に進み、進角補正回数(空燃比検出タイミングを進角側に補正した回数)が規定回数未満であるか否かを判定し、進角補正回数が規定回数未満であれば、ステップ309に進み、空燃比検出タイミングを遅角補正前の最初の位置から進角側に所定クランク角だけ補正する。この後、ステップ310に進み、進角補正後の空燃比検出タイミングにおける当該気筒の燃料補正前後の空燃比を推定し、燃料補正前後の推定空燃比の変化量を算出する。
この後、ステップ311に進み、推定空燃比の変化量が燃料補正量相当分にほぼ一致するか否かを判定することで、現在の空燃比検出タイミングが適正な空燃比検出タイミングであるか否かを判定する。その結果、現在の空燃比検出タイミングが適正な空燃比検出タイミングでないと判定された場合には、ステップ308に戻り、上述した空燃比検出タイミングの進角補正を繰り返す。この進角補正回数が規定回数に達する前に、推定空燃比の変化量が燃料補正量相当分にほぼ一致して空燃比検出タイミングが適正な空燃比検出タイミングになったと判定されれば、ステップ312に進み、その時点の空燃比検出タイミングを適正な空燃比検出タイミングとして学習し、その学習値をECU40のバックアップRAM等の書き換え可能な不揮発性メモリに更新記憶する。この後、ステップ313に進み、進角補正回数のカウント値をリセットした本ルーチンを終了する。
本ルーチンにより作成される空燃比検出タイミングの学習マップは、前記図2の気筒別空燃比制御ルーチンのステップ102で、空燃比検出タイミングを設定するマップとして使用される。
尚、空燃比検出タイミングの進角補正を規定回数繰り返しても、空燃比検出タイミングが適正な空燃比検出タイミングにならなかった場合(つまり適正な空燃比検出タイミングを学習できなかった場合)には、ステップ308で「No」と判定され、本ルーチンを終了する。
以上説明した本実施例1では、気筒別空燃比制御中に気筒間の推定空燃比のばらつき度合いに基づいて空燃比検出タイミングのずれの有無を判定するようにしたので、気筒別空燃比制御中に空燃比検出タイミングのずれを精度良く判定することができる。
しかも、本実施例1では、気筒別空燃比制御中に各気筒の空燃比検出タイミングを変化させて、当該空燃比検出タイミングにおける各気筒の燃料補正前後の空燃比を推定し、燃料補正前後の推定空燃比の変化量が燃料補正量相当分になる空燃比検出タイミングを適正な空燃比検出タイミングとして学習するようにしたので、気筒別空燃比制御中に適正な空燃比検出タイミングを学習することができ、その学習結果に基づいて各気筒の空燃比検出タイミングを適正な空燃比検出タイミングに補正することができて、各気筒の空燃比を精度良く推定することができる。
更に、本実施例1では、エンジン運転状態に応じて適正な空燃比検出タイミングが変化することを考慮して、空燃比検出タイミングをエンジン運転状態(例えばエンジン負荷とエンジン回転速度)毎に学習するようにしたので、空燃比検出タイミングの学習値の精度を向上させることができる。
しかしながら、本発明は、空燃比検出タイミングの平均的なずれを学習するようにしても良いことは言うまでもない。
図3に示すように、各気筒の空燃比検出タイミングが正しい場合は、空燃比センサ37の検出値に基づいて各気筒の空燃比を精度良く推定できるため、気筒別空燃比制御開始後に各気筒の燃料補正量が増加するにつれて各気筒の推定空燃比と基準空燃比との偏差(推定空燃比偏差)が小さくなり、気筒間の推定空燃比のばらつきが小さくなる。
これに対し、図4に示すように、各気筒の空燃比検出タイミングがずれている場合は、空燃比センサ37の検出値から算出する各気筒の推定空燃比の精度が悪化するため、気筒別空燃比制御開始後に各気筒の燃料補正量が増加しても各気筒の推定空燃比偏差が小さくならならず、気筒間の推定空燃比のばらつきが小さくならない状態となる。
この特性に着目して、本発明の実施例2では、図11の空燃比検出タイミングずれ判定ルーチンを実行することで、気筒別空燃比制御中に気筒間の燃料補正量のばらつき度合いと気筒間の推定空燃比のばらつき度合いとに基づいて空燃比検出タイミングのずれの有無を判定するようにしている。本ルーチンは、クランク角センサ33の出力パルスに同期して所定クランク角毎(例えば30℃A毎)に起動される。本ルーチンが起動されると、まずステップ401で、気筒別空燃比制御中であるか否かを判定し、気筒別空燃比制御中でなければ、以降の処理を行うことなく、本ルーチンを終了する。
これに対して、気筒別空燃比制御中であれば、ステップ402に進み、所定以上の燃料補正を実施中であるか否かを例えば下記の条件(B1)〜(B3)のいずれか1つ又は2つ以上によって判定する。
(B1)各気筒の燃料補正量のうちの最大の燃料補正量と最小の燃料補正量との偏差が所定値以上であるか否かで、所定以上の燃料補正を実施中であるか否かを判定する。
(B2)全気筒の燃料補正量の標準偏差が所定値以上であるか否かで、所定以上の燃料補正を実施中であるか否かを判定する。
(B3)燃料補正開始後の経過時間が所定時間以上であるか否かで、所定以上の燃料補正を実施中であるか否かを判定する。
このステップ402で、所定以上の燃料補正を実施していないと判定されれば、そのまま本ルーチンを終了するが、所定以上の燃料補正を実施中であると判定されれば、ステップ403に進み、気筒間の推定空燃比のばらつき度合いが大きいか否かを例えば下記の条件(C1),(C2)のいずれか一方又は両方によって判定する。
(C1)各気筒の推定空燃比のうちの最大の推定空燃比と最小の推定空燃比との偏差が所定値以上であるか否かで、気筒間の推定空燃比のばらつき度合いが大きいか否かを判定する。
(C2)全気筒の推定空燃比の標準偏差が所定値以上であるか否かで、気筒間の推定空燃比のばらつき度合いが大きいか否かを判定する。
このステップ403で、気筒間の推定空燃比のばらつき度合いが大きいと判定されれば、ステップ404に進み、空燃比検出タイミングがずれていると判定して、本ルーチンを終了する。尚、気筒間の推定空燃比のばらつき度合いが小さい場合(ステップ403で「No」と判定される場合)には、空燃比検出タイミングが正しいと判断して、本ルーチンを終了する。
以上説明した本実施例2においても、気筒別空燃比制御中に空燃比検出タイミングのずれを精度良く判定することができる。
各気筒の推定空燃比の精度が良ければ、各気筒の燃料補正量の増減方向と推定空燃比の増減方向とが同じ挙動になる運転状態において、これと反対の挙動になれば、各気筒の推定空燃比の精度が悪いと考えられる。
この特性に着目して、本発明の実施例3では、図12の空燃比検出タイミングずれ判定ルーチンを実行することで、気筒別空燃比制御中に各気筒の燃料補正量の増減方向と推定空燃比の増減方向とに基づいて空燃比検出タイミングのずれの有無を判定するようにしている。本ルーチンは、クランク角センサ33の出力パルスに同期して所定クランク角毎(例えば30℃A毎)に起動される。本ルーチンが起動されると、まずステップ501で、気筒別空燃比制御中であるか否かを判定し、気筒別空燃比制御中でなければ、以降の処理を行うことなく、本ルーチンを終了する。
これに対して、気筒別空燃比制御中であれば、ステップ502に進み、所定以上の燃料補正を実施中であるか否かを例えば下記の条件(D1), (D3)のいずれか一方又は両方によって判定する。
(D1)各気筒の燃料補正量のうちの最大の燃料補正量と最小の燃料補正量との偏差が所定値以上であるか否かで、所定以上の燃料補正を実施中であるか否かを判定する。
(D2)特定気筒の燃料補正量が所定値以上であるか否かで、所定以上の燃料補正を実施中であるか否かを判定する。
このステップ502で、所定以上の燃料補正を実施していないと判定されれば、そのまま本ルーチンを終了するが、所定以上の燃料補正を実施中であると判定されれば、ステップ503に進み、各気筒の燃料補正量の増減方向と推定空燃比の増減方向とが反対の挙動になっているか否かを、例えば各気筒の燃料補正量の変化率と推定空燃比の変化率との偏差が所定値以上であるか否かによって判定する。その結果、各気筒の燃料補正量の増減方向と推定空燃比の増減方向とが反対の挙動になっていると判定されれば、ステップ504に進み、空燃比検出タイミングがずれていると判定して、本ルーチンを終了する。尚、各気筒の燃料補正量の増減方向と推定空燃比の増減方向とが同じ挙動になっている場合(ステップ503で「No」と判定される場合)には、空燃比検出タイミングが正しいと判断して、本ルーチンを終了する。
以上説明した本実施例3においても、気筒別空燃比制御中に空燃比検出タイミングのずれを精度良く判定することができる。
各気筒の空燃比検出タイミングが正しければ、空燃比センサ37の検出値に基づいて各気筒の空燃比を精度良く推定できるため、図13に示すように、空燃比検出タイミングの最適点において、気筒間の推定空燃比のばらつき度合い(各気筒の推定空燃比偏差)が最小になると共に、気筒間の燃料補正量のばらつき度合いも最小になる。
この特性に着目して、本発明の実施例4では、図14に示す空燃比検出タイミングずれ学習補正ルーチンを実行することで、気筒別空燃比制御中に各気筒の空燃比検出タイミングを変化させて各気筒の空燃比を推定し、気筒間の推定空燃比のばらつき度合い及び燃料補正量のばらつき度合いが最小となる空燃比検出タイミングを適正な空燃比検出タイミングとして学習するようにしている。
本ルーチンは、実施例1〜3のいずれかで説明した空燃比検出タイミングずれ判定ルーチンによって空燃比検出タイミングのずれの有無を判定した後に起動され、特許請求の範囲でいう学習手段としての役割を果たす。本ルーチンが起動されると、まずステップ601で、空燃比検出タイミングずれ判定ルーチンにより空燃比検出タイミングがずれていると判定されたか否かを判定し、空燃比検出タイミングがずれていると判定されていない場合には、以降の処理を行うことなく、本ルーチンを終了する。
一方、空燃比検出タイミングがずれていると判定されている場合には、ステップ602に進み、空燃比検出タイミングを最進角位置(補正可能な進角側の限界位置)に設定する。この後、ステップ603に進み、気筒間の推定空燃比のばらつき度合いを下記(E1),(E2)のいずれかによって算出する。
(E1)各気筒の推定空燃比のうちの最大の推定空燃比と最小の推定空燃比との偏差を算出して、これを気筒間の推定空燃比のばらつき度合いとする。
(E2)全気筒の推定空燃比の標準偏差を算出して、これを気筒間の推定空燃比のばらつき度合いとする。
この後、ステップ604に進み、気筒間の燃料補正量のばらつき度合いを下記(F1),(F2)のいずれかによって算出する。
(F1)各気筒の燃料補正量のうちの最大の燃料補正量と最小の燃料補正量との偏差を算出して、これを気筒間の燃料補正量のばらつき度合いとする。
(F2)全気筒の燃料補正量の標準偏差を算出して、これを気筒間の燃料補正量のばらつき度合いとする。
この後、ステップ604に進み、空燃比検出タイミングを遅角側に所定クランク角だけ補正した後、ステップ605に進み、遅角補正後の空燃比検出タイミングが最遅角位置(補正可能な遅角側の限界位置)を越えたか否かを判定し、越えていなければ、ステップ603に戻り、上述した処理を繰り返す。これにより、空燃比検出タイミングを最進角位置から最遅角位置に向けて少しずつ進角させて気筒間の推定空燃比のばらつき度合いと燃料補正量のばらつき度合いを算出する処理を繰り返す。
その後、ステップ605で遅角補正した空燃比検出タイミングが最遅角位置を越えると、ステップ606の判定結果が「Yes」となって、ステップ607に進み、それまでに算出した気筒間の推定空燃比のばらつき度合いと燃料補正量のばらつき度合いの中からそれらが最小となる空燃比検出タイミングの最適点を検索し、次のステップ608で、この空燃比検出タイミングの最適点をECU40のバックアップRAM等の書き換え可能な不揮発性メモリの学習値記憶領域に更新記憶する。この際、エンジン運転状態に応じて適正な空燃比検出タイミングが変化することを考慮して、空燃比検出タイミングの最適点の学習値をエンジン運転状態(例えばエンジン負荷とエンジン回転速度)毎に更新記憶するようにすると良い。
以上説明した本実施例4では、気筒別空燃比制御中に空燃比検出タイミングの最適点を精度良く学習することができる。
尚、本実施例4では、空燃比検出タイミングを最進角位置から最遅角位置まで変化させるようにしたが、気筒間の推定空燃比のばらつき度合いと燃料補正量のばらつき度合いが所定値以下になった段階で、これらのばらつき度合いを算出する処理を終了し、これらのばらつき度合いが所定値以下になった位置を適正な空燃比検出タイミングとして学習するようにしても良い。
図15に示すように、燃料カット復帰時に最初に空燃比センサ37の出力が噴射再開後の空燃比に相当するレベルに変化するタイミングは、燃料カット復帰時の最初の噴射気筒のみによって決まり、他の気筒の影響を受けない。
この特性に着目して、本発明の実施例5では、図16に示す空燃比検出タイミングずれ学習補正ルーチンを実行することで、燃料カット復帰時に最初に空燃比センサ37の出力が噴射再開後の空燃比に相当する所定レベルに変化するタイミングに基づいて燃料カット復帰時の最初の噴射気筒(以下「燃料カット復帰気筒」という)における適正な空燃比検出タイミングを学習するようにしている。
本ルーチンは、クランク角センサ33の出力パルスに同期して所定クランク角毎(例えば30℃A毎)に起動され、特許請求の範囲でいう学習手段としての役割を果たす。本ルーチンが起動されると、まずステップ701で、燃料カット復帰(燃料カット終了)から所定期間内であるか否かを判定し、所定期間内でなければ、以降の学習処理を行うことなく、本ルーチンを終了する。この所定期間は、燃料カット復帰時に最初に空燃比センサ37の出力が噴射再開後の空燃比に相当する所定レベルに変化するまでの期間よりも少し長い期間に設定されている。尚、この所定期間内にエンジン運転条件(エンジン回転速度や負荷等)の変化量が所定値以上になった場合も、以降の学習処理を行うことなく、本ルーチンを終了するようにしても良い。エンジン運転条件の変化が大きいと、学習精度が低下するためである。
一方、燃料カット復帰から所定期間内であれば、ステップ702に進み、燃料カット復帰気筒をECU40のRAM等のメモリに記憶した後、ステップ703に進み、空燃比センサ37の出力が噴射再開後の空燃比に相当する所定レベルに変化するまで待機する。この所定レベルは、エンジン運転条件(エンジン回転速度、負荷、燃料補正量等)に応じてマップ等により可変設定するようにしても良い。
その後、空燃比センサ37の出力が噴射再開後の空燃比に相当する所定レベルに変化した時点で、ステップ704に進み、空燃比センサ37の出力が噴射再開後の空燃比に相当する所定レベルに変化した時のクランク角(クランクカウンタの値)と燃料カット復帰気筒の噴射再開時のクランク角(クランクカウンタの値)とのずれ量に基づいて燃料カット復帰気筒の適正な空燃比検出タイミングを算出する。この際、エンジン運転条件(エンジン回転速度、負荷等)を考慮するようにしても良い。
この後、ステップ705に進み、この空燃比検出タイミングをECU40のバックアップRAM等の書き換え可能な不揮発性メモリの学習値記憶領域に更新記憶する。この際、エンジン運転状態に応じて適正な空燃比検出タイミングが変化することを考慮して、空燃比検出タイミングの学習値をエンジン運転状態(例えばエンジン負荷とエンジン回転速度)毎に更新記憶するようにすると良い。
以上説明した本実施例5においても、気筒別空燃比制御中に空燃比検出タイミングの最適点を精度良く学習することができる。
また、特定気筒で検出された空燃比検出タイミングのずれは、他の気筒の空燃比検出タイミングの平均的なずれとして学習するようにしても良いことは言うまでもない。
次に、図17乃至図23を用いて本発明の実施例6を説明する。
本実施例6では、空燃比検出タイミングのずれを評価するデータとして、少なくとも1つの気筒の推定空燃比の変化量とその気筒の燃料補正量(空燃比補正量)の変化量との関係を表す指標となる相関値を用いる。
この相関値は、1つの気筒の推定空燃比の変化量とその気筒の燃料補正量の変化量との積、又はこの積の複数気筒分の和で表される。本実施例6では、各気筒の推定空燃比の変化量と燃料補正量の変化量との積を全気筒数分積算して相関値を求めるようにしている。
更に、本実施例6では、相関値の算出タイミングを、720℃A当たり複数のタイミング、例えば6つのタイミング(ベースタイミング、ベースタイミング+180℃A、ベースタイミング−180℃A、ベースタイミング+360℃A、ベースタイミング+90℃A、ベースタイミング−90℃A)に設定し、各タイミングで算出した相関値の中で、最も相関値が大きいタイミングを最もずれの少ない空燃比検出タイミングであると判断するようにしている。
前記実施例3で説明したように、各気筒の燃料補正量の増減方向と推定空燃比の増減方向とが反対の挙動になれば、各気筒の推定空燃比の精度が悪いと考えられる。各気筒の燃料補正量の増減方向と推定空燃比の増減方向とが反対の挙動になれば、各気筒の推定空燃比の変化量の符号(±)と燃料補正量の変化量の符号(±)が反対になるため、両者の積がマイナス値になり、この積の全気筒数分の和である相関値が小さくなる。従って、相関値が小さくなるほど、空燃比検出タイミングのずれが大きいことを意味し、相関値が大きくなるほど、空燃比検出タイミングのずれが小さいことを意味する。この関係から、本実施例6では、相関値を720℃A当たり複数のタイミングで算出して、最も相関値が大きいタイミングを最もずれの少ない空燃比検出タイミングであると判断して、空燃比検出タイミングを学習補正するようにしている。
以上説明した本実施例6の空燃比検出タイミングのずれ判定・学習補正は、ECU40によって図17乃至図22に従って実行される。以下、これら各ルーチンの処理内容を説明する。
図17の空燃比検出タイミングずれ判定ルーチンは、クランク角センサ33の出力パルスに同期して所定クランク角毎(例えば30℃A毎)に起動される。本ルーチンが起動されると、まずステップ801で、気筒別空燃比制御中であるか否かを判定し、気筒別空燃比制御中でなければ、以降の処理を行うことなく、本ルーチンを終了する。
これに対して、気筒別空燃比制御中であれば、ステップ802に進み、所定以上の燃料補正を実施中であるか否かを、前記実施例3で説明した図12のステップ502と同様の方法で判定する。このステップ802で、所定以上の燃料補正を実施していないと判定されれば、そのまま本ルーチンを終了するが、所定以上の燃料補正を実施中であると判定されれば、ステップ803に進み、図18の相関値算出ルーチンを実行する。
図18の相関値算出ルーチンが起動されると、まずステップ811で、相関値算出タイミング(例えば720℃A毎)であるか否かを判定し、相関値算出タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
これに対して、相関値算出タイミングであれば、ステップ812に進み、各気筒の燃料補正係数(燃料補正量)の変化量である差分ΔFAF(1) 〜ΔFAF(N) を算出する。
ΔFAF(k) =ΔFAF(k)[i]−ΔFAF(k)[i-1]
ここで、ΔFAF(k) はk番気筒のΔFAFであり(k=1〜N)、ΔFAF(k)[i]は今回のΔFAF(k) 、ΔFAF(k)[i-1]は前回のΔFAF(k) である。
この後、ステップ813に進み、図19の推定空燃比差分算出ルーチンを実行して、下記の各タイミング(T1)〜(T6)における各気筒の推定空燃比の変化量である差分ΔPHIを算出する。
(T1)ベースタイミングにおける各気筒の推定空燃比の差分ΔPHIbase
ΔPHIbase(k) =PHIbase(k)[i]−PHIbase(k)[i-1] (k=1〜N)
PHIbase(k) はベースタイミングで推定したk番気筒の推定空燃比である。ベースタイミングは、基準となる空燃比検出タイミングであり、後述する図22の空燃比検出タイミングずれ学習補正ルーチンによって学習補正される。
(T2)ベースタイミング+180℃Aにおける各気筒の推定空燃比の差分ΔPHIp180
ΔPHIp180(k) =PHIp180(k)[i]−PHIp180(k)[i-1] (k=1〜N)
PHIp180(k) はベースタイミング+180℃Aのタイミングで推定したk番気筒の推定空燃比である。
(T3)ベースタイミング−180℃Aにおける各気筒の推定空燃比の差分ΔPHIm180
ΔPHIm180(k) =PHIm180(k)[i]−PHIm180(k)[i-1] (k=1〜N)
PHIm180(k) はベースタイミング−180℃Aのタイミングで推定したk番気筒の推定空燃比である。
(T4)ベースタイミング+360℃Aにおける各気筒の推定空燃比の差分ΔPHIp360
ΔPHIp360(k) =PHIp360(k)[i]−PHIp360(k)[i-1] (k=1〜N)
PHIp360(k) はベースタイミング+360℃Aのタイミングで推定したk番気筒の推定空燃比である。
(T5)ベースタイミング+90℃Aにおける各気筒の推定空燃比の差分ΔPHIp90
ΔPHIp90(k)=PHIp90(k)[i] −PHIp90(k)[i-1] (k=1〜N)
PHIp90(k)はベースタイミング+90℃Aのタイミングで推定したk番気筒の推定空燃比である。
(T6)ベースタイミング−90℃Aにおける各気筒の推定空燃比の差分ΔPHIm90
ΔPHIm90(k)=PHIm90(k)[i] −PHIm90(k)[i-1] (k=1〜N)
PHIm90(k)はベースタイミング−90℃Aのタイミングで推定したk番気筒の推定空燃比である。
ここで、各タイミング(T1)〜(T6)におけるk番気筒の推定空燃比PHIbase(k) 〜PHIm90(k)は、当量比φで算出される。
当量比φ=理論空燃比/推定空燃比=1/空気過剰率
各タイミング(T1)〜(T6)における各気筒の推定空燃比の差分ΔPHIを算出した後、図18のステップ814に進み、図20の瞬時相関値算出ルーチンを実行して、各タイミング(T1)〜(T6)における瞬時相関値dCORを算出する。
(T1)ベースタイミングにおける瞬時相関値dCORbase
dCORbase=Σ{ΔFAF(k) ×ΔPHIbase(k) } (k=1〜N)
ここで、Σは1番気筒からN番気筒まで積算することを意味する(以下、同じ)。
(T2)ベースタイミング+180℃Aにおける瞬時相関値dCORp180
dCORp180=Σ{ΔFAF(k) ×ΔPHIp180(k) } (k=1〜N)
(T3)ベースタイミング−180℃Aにおける瞬時相関値dCORm180
dCORm180=Σ{ΔFAF(k) ×ΔPHIm180(k) } (k=1〜N)
(T4)ベースタイミング+360℃Aにおける瞬時相関値dCORp360
dCORp360=Σ{ΔFAF(k) ×ΔPHIp360(k) } (k=1〜N)
(T5)ベースタイミング+90℃Aにおける瞬時相関値dCORp90
dCORp90 =Σ{ΔFAF(k) ×ΔPHIp90(k)} (k=1〜N)
(T6)ベースタイミング−90℃Aにおける瞬時相関値dCORm90
dCORm90 =Σ{ΔFAF(k) ×ΔPHIm90(k)} (k=1〜N)
各タイミング(T1)〜(T6)における瞬時相関値dCORを算出した後、図18のステップ815に進み、図21の積算相関値算出ルーチンを実行して、各タイミング(T1)〜(T6)における積算相関値sumCORを算出する。
(T1)ベースタイミングにおける積算相関値sumCORbase(i)
sumCORbase(i) =sumCORbase(i-1) +dCORbase
(sumCORbase(i-1) :前回のsumCORbase)
(T2)ベースタイミング+180℃Aにおける積算相関値sumCORp180(i)
sumCORp180(i) =sumCORp180(i-1) +dCORp180
(sumCORp180(i-1) :前回のsumCORp180)
(T3)ベースタイミング−180℃Aにおける積算相関値sumCORm180(i)
sumCORm180(i) =sumCORm180(i-1) +dCORm180
(sumCORm180(i-1) :前回のsumCORm180)
(T4)ベースタイミング+360℃Aにおける積算相関値sumCORp360(i)
sumCORp360(i) =sumCORp360(i-1) +dCORp360
(sumCORp360(i-1) :前回のsumCORp360)
(T5)ベースタイミング+90℃Aにおける積算相関値sumCORp90(i)
sumCORp90(i)=sumCORp90(i-1)+dCORp90
(sumCORp90(i-1):前回のsumCORp90 )
(T6)ベースタイミング−90℃Aにおける積算相関値sumCORm90(i)
sumCORm90(i)=sumCORm90(i-1)+dCORm90
(sumCORm90(i-1):前回のsumCORm90 )
各タイミング(T1)〜(T6)における積算相関値sumCORを算出した後、図18のステップ816に進み、瞬時相関値dCORの積算回数をカウントする積算期間算出用カウンタCをインクリメントし、次のステップ817で、積算期間算出用カウンタCの値(瞬時相関値dCORの積算回数)が設定値CMAX(例えば25)に達したか否かを判定し、まだ設定値CMAXに達していなければ、そのまま本ルーチンを終了する。
その後、積算期間算出用カウンタCの値(瞬時相関値dCORの積算回数)が設定値CMAXに達した時点で、ステップ818に進み、図22の空燃比検出タイミングずれ学習補正ルーチンを実行して、空燃比検出タイミングのずれを次のようにして学習補正する。まず、ステップ831で、6つのタイミング(T1)〜(T6)における積算相関値sumCORbase(i) 、sumCORp180(i) 、sumCORm180(i) 、sumCORp360(i) 、sumCORp90(i)、sumCORm90(i)の中から、最大の積算相関値を選択する。
この後、ステップ832に進み、積算相関値が最大となるタイミングに応じて空燃比検出タイミングの補正量Lcrnkを次のように選択する。
(T1)ベースタイミングの積算相関値sumCORbase(i) が最大の場合
空燃比検出タイミングの補正量Lcrnk=0
(T2)ベースタイミング+180℃Aの積算相関値sumCORp180(i) が最大の場合
空燃比検出タイミングの補正量Lcrnk=+180℃A
(T3)ベースタイミング−180℃Aの積算相関値sumCORm180(i) が最大の場合
空燃比検出タイミングの補正量Lcrnk=−180℃A
(T4)ベースタイミング+360℃Aの積算相関値sumCORp360(i) が最大の場合
空燃比検出タイミングの補正量Lcrnk=+360℃A
(T5)ベースタイミング+90℃Aの積算相関値sumCORp90(i)が最大の場合
空燃比検出タイミングの補正量Lcrnk=+30℃A
(T6)ベースタイミング−90℃Aの積算相関値sumCORm90(i)が最大の場合
空燃比検出タイミングの補正量Lcrnk=−30℃A
ここで、ベースタイミングの積算相関値sumCORbase(i) が最大の場合は、ベースタイミングにおいて、空燃比検出タイミングのずれが最も小さくなることを意味する。従って、この場合は、空燃比検出タイミングの補正量Lcrnkを0に設定する。
一方、ベースタイミング±180℃A、+360℃Aの積算相関値が最大となる場合は、空燃比検出タイミングが180℃A以上ずれていることを意味する。このような大きなずれは、間違った気筒の空燃比を推定して補正してしまう原因となるため、空燃比検出タイミングのずれの補正を急ぐ必要がある。従って、この場合は、空燃比検出タイミングの補正量Lcrnkを±180℃A、+360℃Aに設定して、空燃比検出タイミングの大きなずれを一挙に補正する。
また、ベースタイミング±90℃Aの積算相関値が最大となる場合は、現在の空燃比検出タイミングが適正のタイミングに近いことを意味する。従って、この場合は、空燃比検出タイミングの補正精度を重視して、空燃比検出タイミングのずれを±30℃Aずつ小刻みに補正する。
そして、次のステップ833で、バックアップRAM等の書き換え可能な不揮発性メモリに記憶されている空燃比検出タイミングの補正量Lcrnkを、上記ステップ832で選択した値で更新する。この後、図18のステップ819に進み、積算期間算出用カウンタCをリセットした後、ステップ820に進み、各タイミング(T1)〜(T6)の積算相関値をリセットして、本ルーチンを終了する。
以上説明した本実施例6の空燃比検出タイミングの学習補正の一例を図23に示している。図23の例は、#1気筒の空燃比がずれている状態で気筒別空燃比制御を開始したときの制御例を示している。図23の例では、気筒別空燃比制御開始後、各タイミング(T1)〜(T6)における積算相関値は、ベースタイミング+90℃Aにおける積算相関値sumCORp90 が最大となるため、空燃比検出タイミングのずれが+30℃Aずつ小刻みに補正される。これにより、空燃比検出タイミングが最適なタイミングに精度良く補正される。
以上説明した本実施例6では、各気筒の燃料補正係数の差分と推定空燃比の差分との積を全気筒数分積算して瞬時相関値を求める処理を、720℃A当たり複数のタイミングで実施し、各タイミング毎に瞬時相関値を所定期間積算して、複数のタイミングの積算相関値を算出した後、最も積算相関値が大きいタイミングを最もずれの少ない空燃比検出タイミングであると判断して空燃比検出タイミングのずれを学習補正するようにしたので、空燃比検出タイミングのずれを精度良く学習補正することができる。
しかも、本実施例6では、瞬時相関値を所定期間積算するようにしたので、瞬間的に発生するノイズの影響を軽減することができる利点もある。
尚、本実施例6では、各気筒の燃料補正係数の差分と推定空燃比の差分との積を全気筒数分積算して相関値を求めるようにしたが、特定の1つの気筒についてのみ、又は、全気筒数よりも少ない複数気筒分について相関値を求めるようにしても良い。
その他、本発明は、吸気ポート噴射エンジンに限定されず、筒内噴射エンジンにも適用して実施できる等、要旨を逸脱しない範囲で種々変更して実施できる。
11…エンジン(内燃機関)、12…吸気管、14…エアフローメータ、15…スロットルバルブ、19…吸気マニホールド、20…燃料噴射弁、22…燃料ポンプ、24…燃圧センサ、27,28…可変バルブタイミング機構、35…排気マニホールド、36…排気集合部、37…空燃比センサ、38…触媒、40…ECU(気筒別空燃比推定手段,気筒別空燃比制御手段,学習手段)

Claims (3)

  1. 内燃機関の各気筒の排出ガスが集合して流れる排気集合部に、該排出ガスの空燃比を検出する空燃比センサを設置し、各気筒の空燃比検出タイミング毎に前記空燃比センサの検出値に基づいて各気筒の空燃比を推定する気筒別空燃比推定手段と、各気筒の推定空燃比に基づいて各気筒の空燃比を制御する気筒別空燃比制御手段と、所定の燃料カット条件が成立したときに燃料カットを実行する燃料カット手段とを備えた内燃機関の気筒別空燃比制御装置において、
    燃料カット復帰時に最初に前記空燃比センサの出力が噴射再開後の空燃比に相当するレベルに変化するタイミングに基づいて燃料カット復帰時の最初の噴射気筒の空燃比を検出するのに適正な空燃比検出タイミングを学習する学習手段を備えていることを特徴とする内燃機関の気筒別空燃比制御装置。
  2. 前記学習手段は、内燃機関の運転状態毎に前記適正な空燃比検出タイミングを学習することを特徴とする請求項1に記載の内燃機関の気筒別空燃比制御装置。
  3. 前記気筒別空燃比推定手段は、前記空燃比センサの検出値を、各気筒の推定空燃比の履歴と該空燃比センサの検出値の履歴とにそれぞれ所定の重みを乗じて加算したものとしてモデル化し、該モデルを用いて各気筒の空燃比を推定することを特徴とする請求項1又は2に記載の内燃機関の気筒別空燃比制御装置。
JP2010161207A 2003-12-04 2010-07-16 内燃機関の気筒別空燃比制御装置 Pending JP2010230016A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010161207A JP2010230016A (ja) 2003-12-04 2010-07-16 内燃機関の気筒別空燃比制御装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003405572 2003-12-04
JP2010161207A JP2010230016A (ja) 2003-12-04 2010-07-16 内燃機関の気筒別空燃比制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008285056A Division JP4600699B2 (ja) 2003-12-04 2008-11-06 内燃機関の気筒別空燃比制御装置

Publications (1)

Publication Number Publication Date
JP2010230016A true JP2010230016A (ja) 2010-10-14

Family

ID=40503821

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008285056A Active JP4600699B2 (ja) 2003-12-04 2008-11-06 内燃機関の気筒別空燃比制御装置
JP2010161207A Pending JP2010230016A (ja) 2003-12-04 2010-07-16 内燃機関の気筒別空燃比制御装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008285056A Active JP4600699B2 (ja) 2003-12-04 2008-11-06 内燃機関の気筒別空燃比制御装置

Country Status (1)

Country Link
JP (2) JP4600699B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015052303A (ja) * 2013-09-09 2015-03-19 株式会社デンソー 内燃機関の気筒別空燃比制御装置
CN105683543A (zh) * 2013-09-04 2016-06-15 曼柴油机和涡轮机欧洲股份公司 用于运行内燃机的方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892337B2 (en) 2011-03-28 2014-11-18 Toyota Jidosha Kabushiki Kaisha Apparatus for detecting imbalance abnormality in air-fuel ratio between cylinders in multi-cylinder internal combustion engine

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08232735A (ja) * 1995-02-27 1996-09-10 Honda Motor Co Ltd 内燃機関の燃料噴射制御装置
JPH08232717A (ja) * 1994-12-30 1996-09-10 Honda Motor Co Ltd 内燃機関の燃料噴射制御装置
JPH08291754A (ja) * 1995-02-25 1996-11-05 Honda Motor Co Ltd 内燃機関の燃料噴射制御装置
JPH09189250A (ja) * 1996-01-10 1997-07-22 Yamaha Motor Co Ltd エンジンの空燃比算出方法および空燃比制御装置
JPH1073049A (ja) * 1996-08-29 1998-03-17 Honda Motor Co Ltd 内燃機関の気筒別空燃比推定装置
JPH10153140A (ja) * 1996-09-26 1998-06-09 Honda Motor Co Ltd 内燃機関の空燃比制御装置
JPH11210527A (ja) * 1998-01-21 1999-08-03 Mazda Motor Corp エンジンの空燃比制御装置
JP2002030970A (ja) * 2000-07-17 2002-01-31 Honda Motor Co Ltd 筒内噴射型内燃機関の燃焼状態制御装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08232717A (ja) * 1994-12-30 1996-09-10 Honda Motor Co Ltd 内燃機関の燃料噴射制御装置
JPH08291754A (ja) * 1995-02-25 1996-11-05 Honda Motor Co Ltd 内燃機関の燃料噴射制御装置
JPH08232735A (ja) * 1995-02-27 1996-09-10 Honda Motor Co Ltd 内燃機関の燃料噴射制御装置
JPH09189250A (ja) * 1996-01-10 1997-07-22 Yamaha Motor Co Ltd エンジンの空燃比算出方法および空燃比制御装置
JPH1073049A (ja) * 1996-08-29 1998-03-17 Honda Motor Co Ltd 内燃機関の気筒別空燃比推定装置
JPH10153140A (ja) * 1996-09-26 1998-06-09 Honda Motor Co Ltd 内燃機関の空燃比制御装置
JPH11210527A (ja) * 1998-01-21 1999-08-03 Mazda Motor Corp エンジンの空燃比制御装置
JP2002030970A (ja) * 2000-07-17 2002-01-31 Honda Motor Co Ltd 筒内噴射型内燃機関の燃焼状態制御装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105683543A (zh) * 2013-09-04 2016-06-15 曼柴油机和涡轮机欧洲股份公司 用于运行内燃机的方法
JP2016529443A (ja) * 2013-09-04 2016-09-23 マン・ディーゼル・アンド・ターボ・エスイー 内燃機関を運転するための方法
US10174692B2 (en) 2013-09-04 2019-01-08 Man Energy Solutions Se Method for operating an internal combustion engine
JP2015052303A (ja) * 2013-09-09 2015-03-19 株式会社デンソー 内燃機関の気筒別空燃比制御装置

Also Published As

Publication number Publication date
JP2009052565A (ja) 2009-03-12
JP4600699B2 (ja) 2010-12-15

Similar Documents

Publication Publication Date Title
JP4321411B2 (ja) 内燃機関の気筒別空燃比制御装置
JP4420288B2 (ja) 内燃機関の気筒別空燃比制御装置
US7707822B2 (en) Cylinder air-fuel ratio controller for internal combustion engine
US20070017210A1 (en) Air-fuel ratio controller for internal combustion engine
US20080114526A1 (en) Cylinder abnormality diagnosis unit of internal combustion engine and controller of internal combustion engine
JP2005163696A (ja) 内燃機関の失火検出装置
US7742870B2 (en) Air-fuel ratio control device of internal combustion engine
US9790882B2 (en) Individual cylinder air-fuel ratio control device of internal combustion engine
US10247120B2 (en) Cylinder-by-cylinder air-fuel ratio controller for internal combustion engine
JP6213085B2 (ja) 内燃機関の気筒別空燃比制御装置
US8645046B2 (en) Controller for internal combustion engine
JP2008128080A (ja) 内燃機関の制御装置
JP6213078B2 (ja) 内燃機関の気筒別空燃比制御装置
JP4600699B2 (ja) 内燃機関の気筒別空燃比制御装置
JP2007211609A (ja) 内燃機関の気筒別空燃比制御装置
JP4492802B2 (ja) 空燃比制御装置
JP2008014178A (ja) 内燃機関の気筒別空燃比制御装置
JP2008038784A (ja) 内燃機関の気筒別空燃比制御装置
JP2008128161A (ja) 内燃機関の制御装置
JP2016041922A (ja) 内燃機関の気筒別空燃比制御装置
JP2008038786A (ja) 内燃機関の気筒別空燃比制御装置
JP7091814B2 (ja) 空燃比推定装置
JP2009257225A (ja) 内燃機関の空燃比制御装置
JP2010084671A (ja) 内燃機関の空燃比制御装置
JP2008121632A (ja) 内燃機関の気筒別異常診断装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20100716

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Effective date: 20111018

Free format text: JAPANESE INTERMEDIATE CODE: A131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120406