<第1実施形態>
以下、本発明の第1実施形態に係る空燃比気筒間インバランス判定装置(以下、単に「第1判定装置」と称呼する。)について図面を参照しながら説明する。この第1判定装置は、内燃機関の空燃比を制御する空燃比制御装置の一部であり、更に、燃料噴射量を制御する燃料噴射量制御装置でもある。
(構成)
図2は、第1判定装置が適用される内燃機関10の概略構成を示している。機関10は、4サイクル・火花点火式・多気筒(本例において4気筒)・ガソリン燃料機関である。機関10は、本体部20、吸気系統30及び排気系統40を備えている。
本体部20は、シリンダブロック部とシリンダヘッド部とを備えている。本体部20は、ピストン頂面、シリンダ壁面及びシリンダヘッド部の下面からなる複数(4個)の燃焼室(第1気筒#1乃至第4気筒#4)21を備えている。
シリンダヘッド部には、各燃焼室(各気筒)21に「空気及び燃料からなる混合気」を供給するための吸気ポート22と、各燃焼室21から排ガス(既燃ガス)を排出するための排気ポート23と、が形成されている。吸気ポート22は図示しない吸気弁により開閉され、排気ポート23は図示しない排気弁により開閉されるようになっている。
シリンダヘッド部には複数(4個)の点火プラグ24が固定されている。各点火プラグ24は、その火花発生部が各燃焼室21の中央部であってシリンダヘッド部の下面近傍位置に露呈するように配設されている。各点火プラグ24は、点火信号に応答して火花発生部から点火用火花を発生するようになっている。
シリンダヘッド部には更に複数(4個)の燃料噴射弁(インジェクタ)25が固定されている。燃料噴射弁25は、各吸気ポート22に一つずつ設けられている。燃料噴射弁25は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示噴射量の燃料」を対応する吸気ポート22内に噴射するようになっている。このように、複数の気筒21のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁25を備えている。
更に、シリンダヘッド部には、吸気弁制御装置26が設けられている。この吸気弁制御装置26は、インテークカムシャフト(図示せず)とインテークカム(図示せず)との相対回転角度(位相角度)を油圧により調整・制御する周知の構成を備えている。吸気弁制御装置26は、指示信号(駆動信号)に基いて作動し、吸気弁の開弁タイミング(吸気弁開弁タイミング)を変更することができるようになっている。
吸気系統30は、インテークマニホールド31、吸気管32、エアフィルタ33、スロットル弁34及びスロットル弁アクチュエータ34aを備えている。
インテークマニホールド31は、各吸気ポート22に接続された複数の枝部と、それらの枝部が集合したサージタンク部と、を備えている。吸気管32はサージタンク部に接続されている。インテークマニホールド31、吸気管32及び複数の吸気ポート22は、吸気通路を構成している。エアフィルタ33は吸気管32の端部に設けられている。スロットル弁34はエアフィルタ33とインテークマニホールド31との間の位置において吸気管32に回動可能に取り付けられている。スロットル弁34は、回動することにより吸気管32が形成する吸気通路の開口断面積を変更するようになっている。スロットル弁アクチュエータ34aは、DCモータからなり、指示信号(駆動信号)に応答してスロットル弁34を回動させるようになっている。
排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ(排気管)42、上流側触媒43及び下流側触媒44を備えている。
エキゾーストマニホールド41は、各排気ポート23に接続された複数の枝部41aと、それらの枝部41aが集合した集合部(排気集合部)41bと、からなっている。エキゾーストパイプ42は、エキゾーストマニホールド41の集合部41bに接続されている。エキゾーストマニホールド41、エキゾーストパイプ42及び複数の排気ポート23は、排ガスが通過する通路を構成している。なお、本明細書において、エキゾーストマニホールド41の集合部41b及びエキゾーストパイプ42を、便宜上、「排気通路」と称呼する。
上流側触媒43は、セラミックからなる担持体に「触媒物質である貴金属」及び「セリア(CeO2)」を担持していて、酸素吸蔵・放出機能(酸素吸蔵機能)を有する三元触媒である。上流側触媒43はエキゾーストパイプ42に配設(介装)されている。上流側触媒43は所定の活性温度に到達すると、「未燃物(HC、CO及びH2等)と窒素酸化物(NOx)とを同時に浄化する触媒機能」及び「酸素吸蔵機能」を発揮する。
下流側触媒44は、上流側触媒43と同様の三元触媒である。下流側触媒44は、上流側触媒43よりも下流においてエキゾーストパイプ42に配設(介装)されている。なお、上流側触媒43及び下流側触媒44は、三元触媒以外の種類の触媒であっても良い。
この第1判定装置は、熱線式エアフローメータ51、スロットルポジションセンサ52、クランク角センサ53、インテークカムポジションセンサ54、上流側空燃比センサ55、下流側空燃比センサ56、アクセル開度センサ57及び水温センサ58を備えている。
熱線式エアフローメータ51は、吸気管32内を流れる吸入空気の質量流量を検出し、その質量流量(機関10の単位時間あたりの吸入空気量)Gaを表す信号を出力するようになっている。吸入空気流量Gaは排ガスの流量に略等しいので、排ガスの流速にも略比例する。
スロットルポジションセンサ52は、スロットル弁34の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
クランク角センサ(クランクポジションセンサ)53は、機関10のクランク軸が10度回転する毎に幅狭のパルスを有するとともに同クランク軸が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置60によって機関回転速度NEに変換される。
インテークカムポジションセンサ54は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。電気制御装置60は、クランク角センサ53及びインテークカムポジションセンサ54からの信号に基いて、基準気筒(例えば第1気筒#1)の圧縮上死点を基準としたクランク角(絶対クランク角)CAを取得するようになっている。このクランク角は、基準気筒の圧縮上死点において「0°クランク角」に設定され、クランク角の回転角度に応じて「720°クランク角」まで増大し、その時点にて再び「0°クランク角」に設定される。
上流側空燃比センサ55(本発明における空燃比センサ55)は、エキゾーストマニホールド41の集合部41bと上流側触媒43との間の位置においてエキゾーストマニホールド41及びエキゾーストパイプ42の何れか(即ち、排気通路)に配設されている。上流側空燃比センサ55は、例えば、特開平11−72473号公報、特開2000−65782号公報及び特開2004−69547号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
上流側空燃比センサ55は、図3及び図4に示したように、空燃比検出素子55aと、外側保護カバー55bと、内側保護カバー55cと、を有している。
外側保護カバー55bは金属からなる中空円筒体である。外側保護カバー55bは内側保護カバー55cを覆うように、内側保護カバー55cを内部に収容している。外側保護カバー55bは、流入孔55b1をその側面に複数備えている。流入孔55b1は、排気通路を流れる排ガス(外側保護カバー55bの外部の排ガス)EXを外側保護カバー55bの内部に流入させるための貫通孔である。更に、外側保護カバー55bは、外側保護カバー55bの内部の排ガスを外部(排気通路)に流出させるための流出孔55b2をその底面に有している。
内側保護カバー55cは、金属からなり、外側保護カバー55bの直径よりも小さい直径を有する中空円筒体である。内側保護カバー55cは、空燃比検出素子55aを覆うように空燃比検出素子55aを内部に収容している。内側保護カバー55cは流入孔55c1をその側面に複数備えている。この流入孔55c1は、外側保護カバー55bの流入孔55b1を通して「外側保護カバー55bと内側保護カバー55cとの間の空間」に流入した排ガスを、内側保護カバー55cの内部に流入させるため貫通孔である。更に、内側保護カバー55cは、内側保護カバー55cの内部の排ガスを外部に流出させるための流出孔55c2をその底面に有している。
図5に示したように、空燃比検出素子55aは、固体電解質層551と、排ガス側電極層552と、大気側電極層553と、拡散抵抗層554と、隔壁部555と、を含んでいる。
固体電解質層551は酸素イオン導電性酸化物焼結体である。本例において、固体電解質層551は、ZrO2(ジルコニア)にCaOを安定剤として固溶させた「安定化ジルコニア素子」である。固体電解質層551は、その温度が活性温度以上であるとき、周知の「酸素電池特性」及び「酸素ポンプ特性」を発揮する。
排ガス側電極層552は、白金(Pt)等の触媒活性の高い貴金属からなる。排ガス側電極層552は、固体電解質層551の一つの面上に形成されている。排ガス側電極層552は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。
大気側電極層553は、白金(Pt)等の触媒活性の高い貴金属からなる。大気側電極層553は、固体電解質層551の他の面上であって、固体電解質層551を挟んで排ガス側電極層552に対向するように形成されている。大気側電極層553は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。
拡散抵抗層(拡散律速層)554は、多孔質セラミック(耐熱性無機物質)からなる。拡散抵抗層554は、排ガス側電極層552の外側表面を覆うように、例えば、プラズマ溶射法等により形成されている。
隔壁部555は、緻密であってガスを透過させないアルミナセラミックスからなる。隔壁部555は大気側電極層553を収容する空間である「大気室557」を形成するように構成されている。大気室557には大気が導入されている。
上流側空燃比センサ55には電源558が接続されている。電源558は、大気側電極層553側が高電位となり、排ガス側電極層552が低電位となるように、電圧Vを印加する。
このような構造を有する上流側空燃比センサ55は、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、拡散抵抗層554を通って排ガス側電極層552に到達した酸素をイオン化して大気側電極層553へと通過させる。この結果、電源558の正極から負極へと電流Iが流れる。この電流Iの大きさは、図6に示したように、電圧Vを所定値Vp以上に設定すると、排ガス側電極層552に到達した酸素の濃度(酸素分圧、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ55は、この電流(即ち、限界電流Ip)を電圧に変換した値を出力値Vabyfsとして出力する。
これに対し、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、上流側空燃比センサ55は、大気室557に存在する酸素をイオン化して排ガス側電極層552へと導き、拡散抵抗層554を通って排ガス側電極層552に到達する未燃物(HC,CO及びH2等)を酸化する。この結果、電源558の負極から正極へと電流Iが流れる。この電流Iの大きさも、図6に示したように、電圧Vを所定値Vp以上に設定すると、排ガス側電極層552に到達した未燃物の濃度(即ち、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ55は、この電流(即ち、限界電流Ip)を電圧に変換した値を出力値Vabyfsとして出力する。
即ち、空燃比検出素子55aは、図7に示したように、上流側空燃比センサ55の配設位置を流れ、且つ、外側保護カバー55bの流入孔55b1及び内側保護カバー55cの流入孔55c1を通って空燃比検出素子55aに到達しているガスの空燃比(上流側空燃比abyfs、検出空燃比abyfs)に応じた出力Vabyfsを「空燃比センサ出力Vabyfs」として出力する。空燃比センサ出力Vabyfsは、空燃比検出素子55aに到達しているガスの空燃比が大きくなるほど(リーンとなるほど)増大する。即ち、空燃比センサ出力Vabyfsは、空燃比検出素子55aに到達している排ガスの空燃比に実質的に比例する。
後述する電気制御装置60は、図7に示した空燃比変換テーブル(マップ)Mapabyfsを記憶していて、空燃比センサ出力Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する(即ち、検出空燃比abyfsを取得する)。
ところで、上流側空燃比センサ55は、エキゾーストマニホールド41の集合部41bと上流側触媒43との間の位置においてエキゾーストマニホールド41及びエキゾーストパイプ42の何れかに外側保護カバー55bが露呈するように配設される。このとき、外側保護カバー55bの中心軸は排ガスの流れの向きに直交し、外側保護カバー55bの底面は排ガスの流れの向きに平行となる。
従って、図3及び図4に示したように、排気通路を流れる排ガスEXは、外側の保護カバー55bの流入孔55b1を通って「外側の保護カバー55bと内側保護カバー55cとの間」に流入する(矢印Ar1を参照。)。次いで、その排ガスは、矢印Ar2に示したように内側保護カバー55cの流入孔55c1を通って「内側の保護カバー55cの内部」に流入し、空燃比検出素子55aに到達する。その後、その排ガスは、矢印Ar3に示したように「内側保護カバー55cの流出孔55c2及び外側保護カバー55bの流出孔55b2」を通って排気通路に流出する。即ち、外側保護カバー55bの流入孔55b1に到達した排気通路内の排ガスEXは、外側保護カバー55bの流出孔55b2近傍を流れる排気通路内の排ガスEXの流れにより、外側保護カバー55b及び内側保護カバー55cの内部へと吸い込まれる。
このため、外側保護カバー55b及び内側保護カバー55cの内部における排ガスの流速は、外側保護カバー55bの流出孔55b2近傍を流れる排ガスEXの流速(従って、単位時間あたりの吸入空気量である吸入空気流量Ga)に応じて変化する。換言すると、「ある空燃比の排ガス(第1排ガス)が流入孔55b1に到達した時点」から「その第1排ガスが空燃比検出素子55aに到達する時点」までの時間は、吸入空気流量Gaに依存するが機関回転速度NEには依存しない。このことは、上流側空燃比センサ55が内側の保護カバーのみを有する場合にも成立する。
この結果、例えば、空燃比気筒間インバランス状態が発生することにより、理論空燃比よりも大きくリッチ側に偏移した排ガスが流入孔55b1に到達しはじめると、その時点より僅かに遅れてその排ガスが空燃比検出素子55aに到達する。このとき、前述したように、外側保護カバー55b及び内側保護カバー55cの内部を流れる排ガスの流速は、排気通路を流れる排ガスの流速により決定される。
更に、空燃比検出素子55aに接触する排ガスの空燃比は、「空燃比検出素子55aに新たに到達した排ガス」と「空燃比検出素子55aの近傍に既に存在していた排ガス」とが混合された排ガスの空燃比となる。従って、空燃比検出素子55aに接触(到達)する排ガスの空燃比の変化率(空燃比の時間微分値である変化速度、従って、検出空燃比abyfsの時間についての微分値、検出空燃比変化率、検出空燃比の変化の傾き)は「排ガスEXの流速に実質的に比例する吸入空気流量Ga」が大きいほど大きくなる。即ち、従って、空燃比検出素子55aに接触(到達)する排ガスの空燃比は、吸入空気流量Gaが大きいほど迅速に減少する。
その後、理論空燃比から大きく偏移していない排ガスが流入孔55b1に到達しはじめると、その時点より僅かに遅れてその排ガスが空燃比検出素子55aに到達する。この場合においても、前述したように、外側保護カバー55b及び内側保護カバー55cの内部を流れる排ガスの流速は、排気通路を流れる排ガスEXの流速により決定される。従って、空燃比検出素子55aに接触(到達)する排ガスの空燃比は、吸入空気流量Gaが大きいほど迅速に増大する。
一方、機関回転速度NEが大きいほど、理論空燃比よりも大きくリッチ側に偏移した排ガスが流入孔55b1に到達を始める時間間隔(即ち、空燃比変動周期)は小さくなる。しかしながら、上述したように、外側保護カバー55b及び内側保護カバー55cの内部を流れる排ガスの流速は、排気通路を流れる排ガスの流速により決定されるが、機関回転速度NEの影響を受けない。従って、機関回転速度NEが変化しても、吸入空気流量Gaが変化しなければ、検出空燃比abyfsの変化率(図1の(B)の傾きα1、α2を参照。)は変化しない。
再び、図2を参照すると、下流側空燃比センサ56は、上流側触媒43と下流側触媒44との間の位置においてエキゾーストパイプ42(即ち、排気通路)に配設されている。下流側空燃比センサ56は、周知の濃淡電池型の酸素濃度センサ(O2センサ)である。下流側空燃比センサ56は、下流側空燃比センサ56の配設位置を流れる排ガスの空燃比(下流側空燃比afdown)に応じた出力値Voxsを出力するようになっている。
下流側空燃比センサ56の出力Voxsは、図8に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max(例えば、約0.9V)となり、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min(例えば、約0.1V)となり、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst(中間電圧Vst、例えば、約0.5V)となる。更に、この出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変し、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
図2に示したアクセル開度センサ57は、運転者によって操作されるアクセルペダルAPの操作量を検出し、アクセルペダルAPの操作量Accpを表す信号を出力するようになっている。
水温センサ58は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
電気制御装置60は、「CPU、ROM、RAM、バックアップRAM(又は、EEPROM等の不揮発性メモリ)、並びに、ADコンバータを含むインターフェース等」からなる「周知のマイクロコンピュータ」である。
バックアップRAMは、機関10を搭載した車両の図示しないイグニッション・キー・スイッチの位置(オフ位置、始動位置及びオン位置等の何れか)に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAMは、バッテリから電力の供給を受けている場合、CPUの指示に応じてデータを格納する(データが書き込まれる)とともに、そのデータを読み出し可能となるように保持(記憶)する。
電気制御装置60のインターフェースは、前記センサ51〜58と接続され、CPUにセンサ51〜58からの信号を供給するようになっている。更に、そのインターフェースは、CPUの指示に応じて、各気筒の点火プラグ24、各気筒の燃料噴射弁25、吸気弁制御装置26及びスロットル弁アクチュエータ34a等に指示信号(駆動信号)等を送出するようになっている。なお、電気制御装置60は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータ34aに指示信号を送出するようになっている。
(作動の概要)
第1判定装置は、後述する他の実施形態に係る空燃比気筒間インバランス判定装置と同様、空燃比二階微分対応値に基づいて空燃比気筒間インバランス判定を行う。空燃比二階微分対応値は、「上流側空燃比センサ55の出力(出力値Vabyfs)に基づいて得られる検出空燃比abyfs」の「時間に関する二階微分値(d2(abyfs)/dt2)」に応じて変化する値である。
より具体的に述べると、第1判定装置は、以下の手順に従って、空燃比気筒間インバランス判定を実行する。
(第1手順)第1判定装置は、上流側空燃比センサ55の出力値Vabyfsを一定のサンプリング時間tsが経過する毎に取得する。
(第2手順)第1判定装置は、取得した出力値Vabyfsを図7に示した空燃比変換テーブルMapabyfsに適用することにより一定のサンプリング時間tsが経過する毎に検出空燃比abyfsを取得する。
(第3手順)第1判定装置は、あるサンプリング時間tsが経過した時点の検出空燃比abyfs(以下、「今回の検出空燃比abyfs(n)」とも称呼する。)から、その時点からサンプリング時間ts前の時点の検出空燃比abyfs(以下、「前回の検出空燃比abyfs(n−1)」と称呼する。)を減じることにより、今回の検出空燃比変化率d1AF(n)を取得する。検出空燃比変化率d1AF(n)は、サンプリング時間tsが短いことから、検出空燃比abyfsの時間についての一階微分値(時間微分値)dabyfs/dtであると言うことができる。なお、以下において、(n)が付された変数は今回(最新)の値を意味し、(n−m)が付された変数は「m回前(即ち、m・ts時間前)の変数」を意味する。
(第4手順)第1判定装置は、今回の検出空燃比変化率d1AF(n)から前回(サンプリング時間ts前の時点)の検出空燃比変化率d1AF(n−1)を減じることにより、検出空燃比変化率の変化率d2AF(n)を算出する。この検出空燃比変化率の変化率d2AF(n)は、サンプリング時間tsが短いことから、検出空燃比abyfsの時間についての二階微分値d2abyfs/dt2であると言うことができる。
(第5手順)第1判定装置は、二階微分値d2AF(n)を空燃比二階微分対応値HD2AFとして採用し、その空燃比二階微分対応値HD2AFの絶対値|HD2AF|と第1閾値Th1とを比較する。そして、絶対値|HD2AF|が第1閾値Th1よりも大きいとき、空燃比気筒間インバランス状態が発生したと判定する。
なお、出力値Vabyfsのサンプリングはサンプリング時間tsの経過毎に行うが、他の計算タイミングはサンプリング時間tsの経過毎である必要はない。即ち、第1判定装置は、例えば、一つの単位燃焼サイクル期間が経過するまで、サンプリング時間tsが経過する毎の出力値Vabyfsを取得してRAMに格納しておき、その単位燃焼サイクル期間の経過時に、その単位燃焼サイクル期間内におけるサンプリング時間の経過毎の「検出空燃比abyfs、検出空燃比変化率d1AF(n)及び二階微分値d2AF(n)」を「RAMに格納しておいた複数の出力値Vabyfs」に基づいて算出してもよい。
また、「単位燃焼サイクル期間」は、上流側空燃比センサ55に排ガスが到達する複数の気筒(本例においては総ての気筒)のうちの任意の一つの気筒が「吸気、圧縮、膨張及び排気の行程からなる一つの燃焼サイクル」を終了するのに要する期間のことである。機関10は、4気筒4サイクル機関であるので、単位燃焼サイクル期間は「機関10のクランク角が720°増大する期間」である。
(実際の作動)
次に、第1判定装置の実際の作動について説明する。
<燃料噴射量制御>
電気制御装置60のCPUは、図9に示した「燃料噴射量Fiの計算及び燃料噴射の指示を行うルーチン」を、所定の気筒のクランク角が吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、その気筒(以下、「燃料噴射気筒」とも称呼する。)に対して繰り返し実行するようになっている。従って、所定のタイミングになると、CPUはステップ900から処理を開始し、以下に述べるステップ910乃至ステップ940の処理を順に行い、ステップ995に進んで本ルーチンを一旦終了する。
ステップ910:CPUは、「エアフローメータ51により計測された吸入空気流量Ga、機関回転速度NE及びルックアップテーブルMapMc」に基いて「燃料噴射気筒に吸入される空気量」である「筒内吸入空気量Mc(k)」を取得する。筒内吸入空気量Mc(k)は、各吸気行程に対応されながらRAM内に記憶される。筒内吸入空気量Mc(k)は、周知の空気モデル(吸気通路における空気の挙動を模した「物理法則に従って構築されるモデル」)により算出されてもよい。
ステップ920:CPUは、筒内吸入空気量Mc(k)を上流側目標空燃比abyfrで除することにより基本燃料噴射量Fbaseを求める。上流側目標空燃比abyfrは、特殊な場合を除き理論空燃比stoichに設定されている。
ステップ930:CPUは、基本燃料噴射量Fbaseを空燃比フィードバック量DFiにより補正する(空燃比フィードバック量DFiを加算する)ことにより、最終燃料噴射量Fiを算出する。空燃比フィードバック量DFiの算出方法は周知である。空燃比フィードバック量DFiは、機関に供給される混合気の空燃比を理論空燃比に一致させるための補正量であり、例えば、所定の空燃比フィードバック条件が成立しているとき、以下のようにして求めることができる。なお、空燃比フィードバック量DFiは、空燃比フィードバック条件が成立していないとき、「0」に設定される。
CPUは、下記(1)式に従ってフィードバック制御用出力値Vabyfcを取得する。(1)式において、Vabyfsは上流側空燃比センサ55の出力、Vafsfbは下流側空燃比センサ56の出力Voxsに基いて算出されるサブフィードバック量である。サブフィードバック量Vafsfb算出方法については、後述する。
Vabyfc=Vabyfs+Vafsfb …(1)
CPUは、下記(2)式に示したように、上記フィードバック制御用出力値Vabyfcを図7に示した空燃比変換テーブルMapabyfsに適用することにより、フィードバック制御用空燃比abyfscを得る。
abyfsc=Mapabyfs(Vabyfc) …(2)
CPUは、下記(3)式乃至(5)式に従って、Nストローク前の時点で筒内に供給された燃料の過不足分を表す「筒内燃料供給量偏差DFc」を算出する。
筒内吸入空気量Mc(k−N)は、「現時点よりもNサイクル前の時点における筒内吸入空気量」である。
筒内燃料供給量Fc(k−N)は、「現時点よりもNサイクル前の時点において燃焼室21に実際に供給された燃料の量」である。
目標筒内燃料供給量Fcr(k−N)は、「現時点よりもNサイクル前の時点において燃焼室21に供給されるべきであった燃料の量」である。
Fc(k−N)=Mc(k−N)/abyfsc …(3)
Fcr=Mc(k−N)/abyfr …(4)
DFc=Fcr(k−N)−Fc(k−N) …(5)
CPUは、下記(6)式により、空燃比フィードバック量DFiを算出する。
Gpは予め設定された比例ゲインである。
Giは予め設定された積分ゲインである。
SDFcは「筒内燃料供給量偏差DFcの積分値」である。
DFi=Gp・DFc+Gi・SDFc …(6)
CPUは、例えば、以下のようにしてサブフィードバック量Vafsfbを算出する。
CPUは、下記(7)式に従って、「理論空燃比に対応した下流側目標値Voxsref」と「下流側空燃比センサ56の出力Voxs」との差である「出力偏差量DVoxs」を取得する。
DVoxs=Voxsref−Voxs …(7)
CPUは、下記(8)式に従って、サブフィードバック量Vafsfbを求める。
Kpは予め設定された比例ゲイン(比例定数)である。
Kiは予め設定された積分ゲイン(積分定数)である。
Kdは予め設定された微分ゲイン(微分定数)である。
SDVoxsは出力偏差量DVoxsの時間積分値である。
DDVoxsは出力偏差量DVoxsの時間微分値である。
Vafsfb=Kp・DVoxs+Ki・SDVoxs+Kd・DDVoxs …(8)
即ち、CPUは、下流側空燃比センサ56の出力Voxsを下流側目標値Voxsrefに一致させるための比例・積分・微分(PID)制御により「サブフィードバック量Vafsfb」を算出する。このサブフィードバック量Vafsfbは、上述した(1)式に示したように、フィードバック制御用出力値Vabyfcを算出するために使用される。
ステップ940:CPUは、最終燃料噴射量(指示噴射量)Fiの燃料が「燃料噴射気筒に対応して設けられている燃料噴射弁25」から噴射されるように、その燃料噴射弁25に指示信号を送出する。
このように、各燃料噴射弁25から噴射される燃料の量は、全ての気筒に対して共通した空燃比フィードバック量DFiによって一律に増減される。
<空燃比気筒間インバランス判定>
次に、「空燃比気筒間インバランス判定」を実行するための処理について図10及び図11を参照しながら説明する。CPUは、4ms(4ミリ秒=所定の一定サンプリング時間ts)が経過する毎に、図10にフローチャートにより示した「空燃比二階微分対応値HD2AF取得ルーチン」を実行するようになっている。
従って、所定のタイミングになると、CPUはステップ1000から処理を開始し、以下に述べるステップ1010乃至ステップ1070の処理を順に行い、ステップ1095に進んで本ルーチンを一旦終了する。
ステップ1010:CPUは、その時点の上流側空燃比センサ55の出力Vabyfs(空燃比センサ出力Vabyfs)をAD変換することにより取得する。
ステップ1020:CPUは、空燃比センサ出力Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、今回の検出空燃比abyfs(n)を取得する。
ステップ1030:CPUは、今回の検出空燃比abyfs(n)から前回の検出空燃比abyfs(n−1)」を減じることにより、今回の検出空燃比変化率d1AF(n)(即ち、検出空燃比abyfsの時間についての一階微分値)を取得する。
ステップ1040:CPUは、今回の検出空燃比変化率d1AF(n)から前回の検出空燃比変化率d1AF(n−1)を減じることにより、検出空燃比変化率の変化率d2AF(n)を算出する。検出空燃比変化率の変化率d2AF(n)は、検出空燃比変化率d1AF(n)の時間微分値であるので、検出空燃比abyfsの時間についての二階微分値d2AF(n)である。
ステップ1050:CPUは、今回の検出空燃比abyfs(n)を次回の計算のために前回の検出空燃比abyfs(n−1)として格納する。
ステップ1060:CPUは、今回の検出空燃比変化率d1AF(n)を次回の計算のために前回の検出空燃比変化率d1AF(n−1)として格納する。
ステップ1070:CPUは、二階微分値d2AF(n)を空燃比二階微分対応値HD2AFとして格納する。
以上の処理により、4ms(サンプリング時間ts)が経過する毎の空燃比二階微分対応値HD2AFが取得される。
更に、CPUは、サンプリング時間ts(又は、サンプリング時間tsの自然数倍の所定時間)が経過する毎に、図11にフローチャートにより示した「空燃比気筒間インバランス判定ルーチン」を実行するようになっている。従って、所定のタイミングになると、CPUはステップ1100から処理を開始してステップ1110に進み、空燃比気筒間インバランス判定を実行する条件(判定実行条件、判定許可条件)が成立しているか否かを判定する。
この判定実行条件は、以下の条件A1〜A4が総て成立したときに成立する。なお、判定実行条件は、条件A1、条件A3及び条件A4が総て成立したときに成立する条件であってもよい。もちろん、判定実行条件は、他の条件が更に成立しているときに成立する条件であってもよい。
(条件A1)吸入空気流量Gaが、低側吸入空気流量閾値(第1閾値空気流量)Ga1thよりも大きく、且つ、高側吸入空気流量閾値(第2閾値空気流量)Ga2thよりも小さい。なお、高側吸入空気流量閾値Ga2thは低側吸入空気流量閾値Ga1thよりも大きい値である。
(条件A2)機関回転速度NEが、低側機関回転速度閾値(第1閾値回転速度)NE1thよりも大きく、且つ、高側機関回転速度閾値(第2閾値回転速度)NE2thよりも小さい。なお、高側機関回転速度閾値NE2thは低側機関回転速度閾値NE1thよりも大きい値である。
(条件A3)フューエルカット中でない。
(条件A4)上流側空燃比センサ55が活性化しており、且つ、異常でない。
(条件A5)空燃比フィードバック制御中である。
判定実行条件が成立していないとき、CPUはステップ1110にて「No」と判定し、ステップ1195に直接進んで本ルーチンを一旦終了する。従って、この場合、空燃比気筒間インバランス判定は実行されない。
これに対し、判定実行条件が成立していると、CPUはステップ1110にて「Yes」と判定してステップ1120に進み、図10に示したルーチンによって別途取得されている空燃比二階微分対応値HD2AFを取得する。
次に、CPUはステップ1130に進み、空燃比二階微分対応値HD2AFの絶対値|HD2AF|が第1閾値Th1よりも大きいか否かを判定する。第1閾値Th1は正の所定値であって、予め実験により定められている。そして、絶対値|HD2AF|が第1閾値Th1よりも大きいとき、CPUはステップ1130にて「Yes」と判定してステップ1140に進み、空燃比気筒間インバランス発生フラグXINB(以下、「インバランス発生フラグXINB」とも称呼する。)の値を「1」に設定する。即ち、CPUは空燃比気筒間インバランス状態が発生していると判定する。更に、このとき、CPUは図示しない警告ランプを点灯してもよい。その後、CPUはステップ1195に進み、本ルーチンを一旦終了する。
このインバランス発生フラグXINB(及び、後述するリッチずれインバランス発生フラグXINBR,後述するリーンずれインバランス発生フラグXINBL)の値は、バックアップRAMに格納される。更に、インバランス発生フラグXINB(及び、後述するリッチずれインバランス発生フラグXINBR,後述するリーンずれインバランス発生フラグXINBL)の値は、機関10を搭載した車両の工場出荷時又はサービス点検時等において空燃比気筒間インバランスが発生していない状態が確認できた際、電気制御装置60に対して特別な操作を施すことにより「0」に設定される。その後、CPUはステップ1195に進んで、本ルーチンを一旦終了する。
これに対し、CPUがステップ1130の処理を行う時点において、空燃比二階微分対応値HD2AFの絶対値|HD2AF|が第1閾値Th1以下であると、CPUはステップ1130にて「No」と判定し、ステップ1195に進んで本ルーチンを一旦終了する。
図1を参照しながら説明したように、空燃比気筒間インバランスが発生していなければ、空燃比二階微分対応値HD2AFとして取得された二階微分値d2AFの絶対値|d2AF|(=|HD2AF|)が、第1閾値Th1よりも大きくなることはない。これに対し、空燃比気筒間インバランスが発生していれば、あるタイミングにおける二階微分値d2AFの絶対値|d2AF|(=|HD2AF|)は第1閾値Th1よりも大きくなる。従って、第1判定装置によれば、空燃比気筒間インバランス判定を精度良く行うことができる。
以上、説明したように、第1判定装置は、
機関10の排気通路であって、その機関10の複数の気筒のうちの少なくとも2以上の気筒から排出された排ガスが集合する排気集合部41b、又は、その排気通路であって同排気集合部41bよりも下流側の部位であり、且つ、上流側触媒43の上流側の部位、に配設されるとともに、空燃比検出素子55aと、前記空燃比検出素子を覆うように同空燃比検出素子をその内部に収容し且つ前記排気通路を流れる排ガスを前記内部に流入させる流入孔及び前記内部に流入した排ガスを前記排気通路に流出させる流出孔を備える保護カバー(55b、55c)と、を含む空燃比センサであって、前記空燃比検出素子が同空燃比検出素子に到達した排ガスの空燃比に応じた出力を空燃比センサ出力(出力値Vabyfs)として発生する、空燃比センサ55を備える。
更に、第1判定装置は、
「空燃比センサ出力Vabyfsにより表される検出空燃比abyfs」の時間についての二階微分値d2AF(n)を、空燃比センサ出力Vabyfsに基づいて取得するとともに(図10のステップ1010〜ステップ1060)、その取得した二階微分値d2AF(n)に応じて変化する空燃比二階微分対応値HD2AFを「その取得した二階微分値d2AF(n)」に基づいて取得し(図10のステップ1070)、空燃比気筒間インバランス状態が発生しているか否かの判定を「その取得した空燃比二階微分対応値HD2AF」に基づいて行うインバランス判定手段(図11のステップ1120及びステップ1130)を有する。
即ち、第1判定装置は、機関10の中心空燃比が変化したときには絶対値が大きくなることはなく且つ空燃比気筒間インバランス状態が発生したときに絶対値が大きくなる「空燃比二階微分対応値HD2AF」を用いることにより、空燃比気筒間インバランス判定を行うように構成されている。従って、第1判定装置は、空燃比気筒間インバランス判定をより精度良く実行することができる。
第1判定装置は、取得した二階微分値d2AF(n)が大きいほど空燃比二階微分対応値HD2AFが大きくなるように空燃比二階微分対応値HD2AFを取得する(図10のステップ1070)。つまり、第1判定装置は、取得した二階微分値d2AF(n)を空燃比二階微分対応値HD2AFとして取得するように構成されている(図10のステップ1070)。更に、第1判定装置は、その取得した空燃比二階微分対応値HD2AFの絶対値|HD2AF|が所定の正の第1閾値Th1よりも大きい場合に「空燃比気筒間インバランス状態が発生している」と判定するように構成されている(図11のステップ1130及びステップ1140)。
これによれば、空燃比気筒間インバランス判定に使用するパラメータ(空燃比二階微分対応値HD2AF)を、複雑なフィルタ等を使用することなく、簡単な構成により取得することができる。
<第2実施形態>
次に、本発明の第2実施形態に係る空燃比気筒間インバランス判定装置(以下、単に「第2判定装置」と称呼する。)について説明する。
第2判定装置は、空燃比センサ出力Vabyfsのサンプリング時間tsよりも長いデータ取得期間(本例においては、上述した単位燃焼サイクル期間)において、サンプリング時間ts毎の二階微分値d2AF(n)を取得し、その単位燃焼サイクル期間内において取得された複数の二階微分値d2AF(n)の中から「その絶対値|d2AF(n)|が最大の二階微分値d2AF(n)」を空燃比二階微分対応値HD2AFとして取得する。更に、第2判定装置は、その空燃比二階微分対応値HD2AFの絶対値|HD2AF|が「正の所定の第1閾値Th1」よりも大きいとき、空燃比気筒間インバランス状態が発生したと判定するようになっている。この点を除き、第2判定装置は第1判定装置と同じである。従って、以下、この点を中心として説明する。
(実際の作動)
第2判定装置のCPUは、図9に示したルーチンを第1判定装置のCPUと同様に実行する。加えて、第2判定装置のCPUは、4ms(サンプリング時間ts)が経過する毎に、図10に代わる図12にフローチャートにより示した「二階微分値d2AF算出ルーチン」を実行する。なお、以下において、既に説明したステップと同一の処理を行うためのステップには、その既に説明したステップに付された符号と同一の符合を付している。
所定のタイミングになると、CPUは図12のステップ1200から処理を開始し、上述したステップ1010乃至ステップ1060の処理を行う。これにより、今回の二階微分値d2AF(n)が算出される(ステップ1040を参照。)。
次に、CPUは以下に述べるステップ1210乃至ステップ1230の処理を順に行い、ステップ1295に進んで本ルーチンを一旦終了する。
ステップ1210:CPUは、カウンタCnの値を「1」だけ増大する。カウンタCnの値は、後述する図13のステップ1330にて、一つの単位燃焼サイクル期間が経過したときに「0」に設定されるようになっている。従って、カウンタCnは、今回の(現時点の)単位燃焼サイクル期間の開始後から二階微分値d2AF(n)が取得される毎に「1」ずつ増大する。
ステップ1220:CPUは、ステップ1040にて算出した今回の二階微分値d2AF(n)を保持データ二階微分値d2AF(Cn)に格納する。例えば、このルーチンが今回の単位燃焼サイクルの開始後において初めて実行される場合、カウンタCnの値はステップ1210にて「1」に設定される。よって、ステップ1040にて算出された二階微分値d2AF(n)は、保持データ二階微分値d2AF(1)として保持される。なお、保持データ二階微分値d2AF(Cn)は空燃比二階微分対応値HD2AF(Cn)と称呼することもできる。
ステップ1230:CPUは、現時点のクランク角(例えば、基準気筒である第1気筒#1の圧縮上死点を基準クランク角(0°)としたときの基準クランク角からの経過クランク角)をクランク角データθ(Cn)として格納する。即ち、クランク角データθ(Cn)の値は、保持データ二階微分値d2AF(Cn)が得られたときのクランク角CAを示す。
一方、第2判定装置のCPUは、サンプリング時間tsが経過する毎に、図11に代わる図13にフローチャートにより示した「空燃比気筒間インバランス判定ルーチン」を実行するようになっている。
従って、所定のタイミングになると、CPUはステップ1300から処理を開始してステップ1110に進み、空燃比気筒間インバランス判定の判定実行条件が成立しているか否かを判定する。
このとき、判定実行条件が成立していると、CPUはステップ1110にて「Yes」と判定してステップ1310に進み、一つの単位燃焼サイクル(720°クランク角)が終了(経過)したか否かを判定する。即ち、CPUは、現時点が基準気筒である第1気筒#1の圧縮上死点となったか否かを判定する。このとき、一つの単位燃焼サイクルが終了していないと、CPUはステップ1310にて「No」と判定し、ステップ1395に直接進んで本ルーチンを一旦終了する。
その後、判定実行条件が成立した状態において一つの単位燃焼サイクルが終了すると、CPUはステップ1310にて「Yes」と判定してステップ1320に進み、その経過した一つの単位燃焼サイクル期間において取得された複数の二階微分値d2AF(Cn)の中から「絶対値|d2AF(Cn)|が最大である二階微分値d2AF(Cn)」を「空燃比二階微分対応値HD2AF」として取得する。
次に、CPUはステップ1330にてカウンタCnの値を「0」に設定(クリア)する。次いで、CPUはステップ1340に進み、複数の二階微分値d2AF(Cn)の総てを「0」に設定(クリア)する。
その後、CPUはステップ1130に進み、上記ステップ1320にて取得された空燃比二階微分対応値HD2AFの絶対値|HD2AF|が第1閾値Th1よりも大きいか否かを判定する。
そして、絶対値|HD2AF|が第1閾値Th1よりも大きいとき、CPUはステップ1130にて「Yes」と判定してステップ1140に進み、インバランス発生フラグXINBの値を「1」に設定する。即ち、CPUは空燃比気筒間インバランス状態が発生していると判定する。更に、このとき、CPUは図示しない警告ランプを点灯してもよい。その後、CPUはステップ1395に進み、本ルーチンを一旦終了する。
これに対し、CPUがステップ1130の処理を行う時点において、空燃比二階微分対応値HD2AFの絶対値|HD2AF|が第1閾値Th1以下であると、CPUはそのステップ1130にて「No」と判定し、ステップ1395に進んで本ルーチンを一旦終了する。以上により、空燃比気筒間インバランス判定が実行される。
なお、CPUがステップ1110の処理を実行する時点において、判定実行条件が成立していないとき、CPUはそのステップ1110にて「No」と判定してステップ1330及びステップ1340の処理を行い、その後、ステップ1395に直接進んで本ルーチンを一旦終了する。従って、この場合、空燃比気筒間インバランス判定は実行されない。
以上、説明したように、第2判定装置は、検出空燃比abyfsの時間についての二階微分値d2AF(n)を、空燃比センサ出力Vabyfsに基づいて取得するとともに(図12のステップ1010〜ステップ1060)、その取得した二階微分値d2AF(n)に応じて変化する空燃比二階微分対応値HD2AFを「その取得した二階微分値d2AF(n)」に基づいて取得し(図13のステップ1320)、空燃比気筒間インバランス状態が発生しているか否かの判定を「その取得した空燃比二階微分対応値HD2AF」が第1閾値Th1よりも大きいか否かに基づいて行うインバランス判定手段(図13のステップ1130)を有する。
空燃比気筒間インバランスが発生していれば、単位燃焼サイクルにおいて取得される二階微分値d2AF(Cn)のうち「その絶対値が最大である二階微分値d2AF(n)」の絶対値|HD2AF|は、第1閾値Th1よりも大きくなる。従って、第2判定装置は、空燃比気筒間インバランス判定をより精度良く実行することができる。
第2判定装置は、単位燃焼サイクル期間内において所定時間が経過する時点毎の二階微分値d2AF(Cn)を取得する(図12のステップ1040及びステップ1220)。そして、第2判定装置は、その単位燃焼サイクル期間内において取得された複数の二階微分値d2AF(Cn)の中から「その絶対値が最大の二階微分値d2AF(Cn)」を空燃比二階微分対応値HD2AFとして取得する(図13のステップ1320)。
これによれば、空燃比気筒間インバランス判定に使用するパラメータ(空燃比二階微分対応値HD2AF)を、複雑なフィルタ等を使用することなく、簡単な構成により取得することができる。
<第3実施形態>
次に、本発明の第3実施形態に係る空燃比気筒間インバランス判定装置(以下、単に「第3判定装置」と称呼する。)について説明する。
図1の(F)に示したように、空燃比気筒間インバランス状態が発生すると、単位燃焼サイクル期間において、正の値を有する二階微分値d2AFであって且つ第2閾値Th2以上の値を有する二階微分値d2AFが少なくとも一つ現れ(例えば、時刻t6を参照。)、負の値を有する二階微分値d2AFであって且つその絶対値が第3閾値Th3以上の値を有する二階微分値d2AFが少なくとも一つ現れる(例えば、時刻t5を参照。)。
そこで、第3判定装置は、単位燃焼サイクル期間内において取得された複数の二階微分値d2AFの中に、正の値を有するとともにその絶対値が第2閾値Th2以上の二階微分値d2AFと、負の値を有するとともにその絶対値が第3閾値Th3以上の二階微分値d2AFと、が存在する場合に空燃比気筒間インバランス状態が発生していると判定するように構成されている。以下、この点を中心として説明する。
(実際の作動)
第3判定装置のCPUは、第2判定装置のCPUと同様に、図9及び図12に示したルーチンを実行する。加えて、第3判定装置のCPUは、4ms(サンプリング時間ts)が経過する毎に、図13に代わる図14にフローチャートにより示した「空燃比気筒間インバランス判定ルーチン」を実行するようになっている。
従って、所定のタイミングになると、CPUは図14のステップ1400から処理を開始してステップ1110に進み、空燃比気筒間インバランス判定の判定実行条件が成立しているか否かを判定する。
このとき、判定実行条件が成立していると、CPUはステップ1110にて「Yes」と判定してステップ1310に進み、一つの単位燃焼サイクル(720°クランク角)が終了(経過)したか否かを判定する。このとき、一つの単位燃焼サイクルが終了していないと、CPUはステップ1310にて「No」と判定し、ステップ1495に直接進んで本ルーチンを一旦終了する。
その後、判定実行条件が成立した状態において一つの単位燃焼サイクルが終了すると、CPUはステップ1310にて「Yes」と判定してステップ1410に進み、現時点の直前にて終了した一つの単位燃焼サイクル期間において取得された「複数の二階微分値d2AF(Cn)」の中の「正の値を有する二階微分値d2AF(Cn)」のうち「その絶対値|d2AF(Cn)|が最大である二階微分値d2AF(Cn)」を「正側空燃比二階微分対応値Pd2AF」として取得する。正側空燃比二階微分対応値Pd2AFは、空燃比二階微分対応値の一つであり、正側最大二階微分対応値とも称呼される。
次に、CPUはステップ1420に進み、現時点の直前にて終了した一つの単位燃焼サイクル期間において取得された「複数の二階微分値d2AF(Cn)」の中の「負の値を有する二階微分値d2AF(Cn)」のうち「その絶対値|d2AF(Cn)|が最大である二階微分値d2AF(Cn)」を「負側空燃比二階微分対応値Md2AF」として取得する。負側空燃比二階微分対応値Md2AFは、空燃比二階微分対応値の他の一つであり、負側最大二階微分対応値とも称呼される。
その後、CPUはステップ1330に進み、カウンタCnの値を「0」に設定(クリア)する。次いで、CPUはステップ1340に進み、複数の二階微分値d2AF(Cn)の総てを「0」に設定(クリア)する。
次に、CPUはステップ1430に進み、正側空燃比二階微分対応値Pd2AFの絶対値が第2閾値Th2以上であり、且つ、負側空燃比二階微分対応値Md2AFの絶対値が第3閾値Th3以上である、か否かを判定する。即ち、CPUは、一つの単位燃焼サイクル期間内において、その絶対値が第2閾値Th2以上の正の値を有する二階微分値d2AF(Cn)と、その絶対値が第3閾値Th3以上の負の値を有する二階微分値d2AF(Cn)と、が存在したか否かを判定する。なお、第2閾値Th2及び第3閾値Th3は正の所定値であって、予め実験により定められている。第2閾値Th2及び第3閾値Th3は同じ値であってもよく、相違していてもよい。
そして、正側空燃比二階微分対応値Pd2AFの絶対値が第2閾値Th2以上であり、且つ、負側空燃比二階微分対応値Md2AFの絶対値が第3閾値Th3以上であると、CPUは空燃比気筒間インバランス状態が発生したと判定し、ステップ1140に進んでインバランス判定フラグXINBの値を「1」に設定する。更に、このとき、CPUは図示しない警告ランプを点灯してもよい。その後、CPUはステップ1495に進み、本ルーチンを一旦終了する。
これに対し、CPUがステップ1430の処理を行う時点において、正側空燃比二階微分対応値Pd2AFの絶対値が第2閾値Th2よりも小さいか、及び/又は、負側空燃比二階微分対応値Md2AFの絶対値が第3閾値Th3よりも小さいと、CPUはそのステップ1430にて「No」と判定し、ステップ1495に進んで本ルーチンを一旦終了する。以上により、空燃比気筒間インバランス判定が実行される。
なお、CPUがステップ1110の処理を実行する時点において、判定実行条件が成立していないとき、CPUはそのステップ1110にて「No」と判定してステップ1330及びステップ1340の処理を行い、その後、ステップ1495に直接進んで本ルーチンを一旦終了する。従って、この場合、空燃比気筒間インバランス判定は実行されない。
以上、説明したように、第3判定装置は、検出空燃比abyfsの時間についての二階微分値d2AF(n)を、空燃比センサ出力Vabyfsに基づいて取得するとともに(図12のステップ1010〜ステップ1060)、その取得した二階微分値d2AF(n)に応じて変化する空燃比二階微分対応値HD2AFとしての「正側空燃比二階微分対応値Pd2AF及び負側空燃比二階微分対応値Md2AF」を「その取得した二階微分値d2AF(n)」に基づいて取得し(図12のステップ1220、図14のステップ1410及びステップ1420)、空燃比気筒間インバランス状態が発生しているか否かの判定を、その取得した空燃比二階微分対応値HD2AFとしての「正側空燃比二階微分対応値Pd2AF及び負側空燃比二階微分対応値Md2AF」がそれぞれ第2閾値Th2及び第3閾値Th3よりも大きいか否かに基づいて行うインバランス判定手段(図14のステップ1430)を有する。
即ち、第3判定装置のインバランス判定手段は、前記単位燃焼サイクル期間内において取得された複数の前記空燃比二階微分対応値の中に、正の値を有するとともにその絶対値が第2閾値以上の空燃比二階微分対応値と、負の値を有するとともにその絶対値が第3閾値以上の空燃比二階微分対応値と、が存在する場合に前記空燃比気筒間インバランス状態が発生していると判定するように構成されている(図14のステップ1430を参照。)。
空燃比気筒間インバランス状態が発生すると、一つの単位燃焼サイクル期間において、「正側空燃比二階微分対応値Pd2AF及び負側空燃比二階微分対応値Md2AF」が「第2閾値Th2及び第3閾値Th3」よりもそれぞれ大きくなる。従って、第3判定装置は、空燃比気筒間インバランス状態が発生していない際にノイズ等によって「正側空燃比二階微分対応値Pd2AF及び負側空燃比二階微分対応値Md2AF」の何れかの絶対値が万一大きくなった場合であっても、空燃比気筒間インバランス状態が発生しているとは判定しない。従って、第3判定装置は、空燃比気筒間インバランス判定をより精度良く実行することができる。
<第4実施形態>
次に、本発明の第4実施形態に係る空燃比気筒間インバランス判定装置(以下、単に「第4判定装置」と称呼する。)について説明する。
第4判定装置は、第3判定装置と同様、正側空燃比二階微分対応値Pd2AFと負側空燃比二階微分対応値Md2AFとを取得する。そして、第4判定装置は、それらの積(Pd2AF・Md2AF)が、負の閾値Sth以下であるとき、空燃比気筒間インバランス状態が発生していると判定するように構成されている。以下、この点を中心として説明する。
(実際の作動)
第4判定装置のCPUは、第2判定装置のCPUと同様に、図9及び図12に示したルーチンを実行する。加えて、第4判定装置のCPUは、4ms(サンプリング時間ts)が経過する毎に、図13に代わる図15にフローチャートにより示した「空燃比気筒間インバランス判定ルーチン」を実行するようになっている。
この図15に示したルーチンは、図14に示したルーチンのステップ1430をステップ1510に置換した点のみにおいて、図14に示したルーチンと相違している。即ち、CPUは、正側空燃比二階微分対応値Pd2AFをステップ1410にて取得し、負側空燃比二階微分対応値Md2AFをステップ1420にて取得する。
そして、CPUはステップ1510にて、正側空燃比二階微分対応値Pd2AFと負側空燃比二階微分対応値Md2AFとの積(Pd2AF・Md2AF)が、負の閾値Sth以下であるか否かを判定する。
このとき、積(Pd2AF・Md2AF)が負の閾値Sth以下であると、CPUは空燃比気筒間インバランス状態が発生したと判定し、ステップ1140に進んでインバランス判定フラグXINBの値を「1」に設定する。更に、このとき、CPUは図示しない警告ランプを点灯してもよい。その後、CPUはステップ1595に進み、本ルーチンを一旦終了する。
これに対し、CPUがステップ1510の処理を行う時点において、積(Pd2AF・Md2AF)が負の閾値Sthよりも大きいと、CPUはそのステップ1510にて「No」と判定し、ステップ1595に進んで本ルーチンを一旦終了する。以上により、空燃比気筒間インバランス判定が実行される。
なお、CPUがステップ1110の処理を実行する時点において、判定実行条件が成立していないとき、CPUはそのステップ1110にて「No」と判定してステップ1330及びステップ1340の処理を行い、その後、ステップ1595に直接進んで本ルーチンを一旦終了する。従って、この場合、空燃比気筒間インバランス判定は実行されない。
以上、説明したように、第4判定装置のインバランス判定手段は、
単位燃焼サイクル期間内において所定時間tsが経過する時点毎の二階微分値d2AF(n)を空燃比二階微分対応値d2AF(Cn)として取得し(図12のステップ1220の処理がこれに該当する。)、
前記単位燃焼サイクル期間内において取得された複数の前記空燃比二階微分対応値d2AF(Cn)のうちの正の値を有する空燃比二階微分対応値の中からその絶対値が最大の正側最大二階微分対応値Pd2AFを選択し(図15のステップ1410を参照。)、
前記単位燃焼サイクル期間内において取得された複数の前記空燃比二階微分対応値d2AF(Cn)のうちの負の値を有する空燃比二階微分対応値の中からその絶対値が最大の負側最大二階微分対応値Md2AFを選択し(図15のステップ1420を参照。)、更に、
前記正側最大二階微分対応値と前記負側最大二階微分対応値との積(Pd2AF・Md2AF)が所定の負の閾値Sth以下である場合に前記空燃比気筒間インバランス状態が発生していると判定するように構成されている(図15のステップ1510を参照。)。
図1の(F)から明らかなように、空燃比気筒間インバランス状態が発生すると、検出空燃比の二階微分値は、一つの単位燃焼サイクル期間内において、所定値(第2閾値)以上の絶対値を有する正の値及び所定値(第3閾値)以上の絶対値を有する負の値をとる。従って、空燃比気筒間インバランス状態が発生すると、前記正側最大二階微分対応値と前記負側最大二階微分対応値との積(Pd2AF・Md2AF)は「前記所定の負の閾値Sth」以下となる。よって、第4判定装置によれば、簡単な手法に基づいて空燃比気筒間インバランス状態が発生したことをより確実に判定することができる。
なお、CPUはステップ1510にて、積(Pd2AF・Md2AF)の絶対値|Pd2AF・Md2AF|が、上記負の閾値Sthの絶対値|Sth|以上であるか否かを判定するように構成されていてもよい。このような処置は、積(Pd2AF・Md2AF)が負の閾値Sth以下であるか否かを判定することと等価な処置である。
<第5実施形態>
次に、本発明の第5実施形態に係る空燃比気筒間インバランス判定装置(以下、単に「第5判定装置」と称呼する。)について説明する。
第5判定装置は、第3判定装置又は第4判定装置の変形例である。即ち、第5判定装置のCPUは、第3判定装置及び第4判定装置のCPUがそれぞれ実行するルーチンに加え、図16にフローチャートにより示された「空燃比異常発生気筒特定ルーチン」を実行する。これにより、第5判定装置は、空燃比気筒間インバランス状態が発生したと判定したとき、どの気筒に供給される混合気の空燃比が理論空燃比から大きく乖離しているのか(つまり、どの気筒が空燃比異常気筒であるか)を特定する。従って、以下、図16に示したルーチンによるCPUの処理について説明する。
CPUは、所定時間が経過する毎に図16にフローチャートにより示したルーチンを実行するようになっている。従って、所定のタイミングになると、CPUは図16のステップ1600から処理を開始してステップ1610に進み、現時点が「インバランス判定フラグXINBの値が「0」から「1」へと変更になった直後の時点」であるか否かを判定する。
そして、現時点が「インバランス判定フラグXINBの値が「0」から「1」へと変更になった直後の時点」でなければ、CPUはステップ1610にて「No」と判定し、ステップ1695に直接進んで本ルーチンを一旦終了する。
一方、現時点が「インバランス判定フラグXINBの値が「0」から「1」へと変更になった直後の時点」であると、CPUはステップ1610にて「Yes」と判定し、以下に述べるステップ1620乃至ステップ1640の処理を順に行い、ステップ1695に進んで本ルーチンを一旦終了する。
ステップ1620:CPUは、正側空燃比二階微分対応値(正側最大二階微分値)Pd2AFとして選択された二階微分値d2AF(Cn)が取得された時点のクランク角θ(Cn)を取得する。このクランク角は、図12のステップ1230にて記憶されているデータの中からカウンタCnの値に基づいて読み出される。
ステップ1630:CPUは、ステップ1620にて取得したクランク角θ(Cn)、機関回転速度NE、吸入空気流量Ga、及び、空燃比異常気筒判定テーブル(マップ)に基づいて、空燃比異常気筒を特定する。より具体的に述べると、ある機関回転速度NE及びある吸入空気流量Gaにおいて、第N気筒に供給される混合気の空燃比が理論空燃比から大きく乖離すると、正側最大二階微分値Pd2AFとして選択される二階微分値d2AF(Cn)が現れるクランク角(以下「正側ピーク発生クランク角θa」と称呼する。)は特定のクランク角近傍となる。
そこで、「機関回転速度NE及び吸入空気流量Ga」と「正側ピーク発生クランク角θa」と「空燃比異常が発生している第N気筒」との関係を予め実験により求め、その関係をテーブルの形式にてROMに格納しておく。そして、CPUは、実際に取得された正側ピーク発生クランク角θaと、実際の機関回転速度NEと、実際の吸入空気流量Gaと、をこのテーブルに適用し、空燃比異常気筒を特定する。
ステップ1640:CPUは、ステップ1630にて特定された気筒を、空燃比異常気筒としてバックアップRAMに記憶する。
以上、説明したように、第5判定装置は、
単位燃焼サイクル期間内において所定時間tsが経過する時点毎の「検出空燃比の時間についての二階微分値d2AF(n)」を取得し(図12のステップ1010〜ステップ1060)、
前記単位燃焼サイクル期間内において取得された複数の前記二階微分値のうちの「正の値を有する二階微分値」の中の「その絶対値が最大の正側最大二階微分値Pd2AF」が発生した時点(クランク角θ(Cn))を特定し(図16のステップ1620、図14又は図15のステップ1410、図12のステップ1230を参照。)、
前記空燃比気筒間インバランス状態が発生していると判定された場合、前記特定された時点に基づいて「前記少なくとも2以上の気筒のうちの何れの気筒の空燃比が異常であるか」を決定するように構成されている(図16のステップ1630)。
従って、第5判定装置は、空燃比気筒間インバランス状態が発生したと判定されたとき、どの気筒がその空燃比気筒間インバランス状態を発生させる原因となっているか(即ち、どの気筒に供給される混合気の空燃比が理論空燃比から大きく乖離しているか)を決定することができる。
更に、第5判定装置の変形例に係るCPUは、ステップ1620において、「正側最大二階微分値Pd2AFとして選択された二階微分値d2AF(Cn)が取得された時点のクランク角θ(Cn)、即ち、正側ピーク発生クランク角θa」に代え、「負側最大二階微分値Md2AFとして選択された二階微分値d2AF(Cn)が取得された時点のクランク角θ(Cn)、即ち、負側ピーク発生クランク角θb」を取得してもよい。この場合、ステップ1630にて使用されるテーブルは、「機関回転速度NE及び吸入空気流量Ga」と「負側ピーク発生クランク角θb」と「空燃比異常が発生している第N気筒」との関係を予め実験により求め、その関係をテーブルの形式にてROMに格納しておいたテーブルである。そして、CPUは、実際に取得された負側ピーク発生クランク角θbと、実際の機関回転速度NEと、実際の吸入空気流量Gaと、をこのテーブルに適用し、空燃比異常気筒を特定する。
即ち、第5判定装置の変形例は、
単位燃焼サイクル期間内において所定時間tsが経過する時点毎の「検出空燃比の時間についての二階微分値d2AF(n)」を取得し(図12のステップ1010〜ステップ1060)、
前記単位燃焼サイクル期間内において取得された複数の前記二階微分値のうちの「負の値を有する二階微分値」の中の「その絶対値が最大の負側最大二階微分値Md2AF」が発生した時点を特定し(図16のステップ1620の変形、図14又は図15のステップ1420、図12のステップ1230を参照。)、
前記空燃比気筒間インバランス状態が発生していると判定された場合、前記特定された時点に基づいて「前記少なくとも2以上の気筒のうちの何れの気筒の空燃比が異常であるか」を決定するように構成されている(図16のステップ1630)。
従って、第5判定装置の変形例も、空燃比気筒間インバランス状態が発生したと判定されたとき、どの気筒がその空燃比気筒間インバランス状態を発生させる原因となっているか(即ち、どの気筒に供給される混合気の空燃比が理論空燃比から大きく乖離しているか)を決定することができる。
<第6実施形態>
次に、本発明の第6実施形態に係る空燃比気筒間インバランス判定装置(以下、単に「第6判定装置」と称呼する。)について説明する。
実験によれば、図17の(B)に示したように、「リッチずれインバランス状態」が生じると、検出空燃比が増大している場合の検出空燃比の変化率(検出空燃比の時間微分値)の絶対値(傾きα1の大きさ)は、検出空燃比が減少している場合の検出空燃比の変化率の絶対値(傾きα2の大きさ)よりも小さくなる。従って、検出空燃比は、相対的に穏やかに増大した後に相対的に急激に減少する。
それ故、図17の(C)に示したように、単位燃焼サイクル期間内において取得された複数の二階微分値のうちの正の値を有する二階微分値の中の「その絶対値が最大である正側最大二階微分値」が発生する時刻(第1時刻t1)は、その単位燃焼サイクル期間内において取得された複数の二階微分値のうちの負の値を有する二階微分値の中の「その絶対値が最大である負側最大二階微分値」が発生する時刻(第2時刻t2)の直後に現れる。
これに対し、図17の(D)に示したように、「リーンずれインバランス状態」が生じると、検出空燃比が増大している場合の検出空燃比の変化率の絶対値(傾きα3の大きさ)は、検出空燃比が減少している場合の検出空燃比の変化率の絶対値(傾きα4の大きさ)よりも大きくなる。従って、検出空燃比は、相対的に急激に増大した後に相対的に穏やかに減少する。
それ故、図17の(E)に示したように、単位燃焼サイクル期間内において取得された複数の二階微分値のうちの負の値を有する二階微分値の中の「その絶対値が最大である負側最大二階微分値」が発生する時刻(第2時刻t2)は、その単位燃焼サイクル期間内において取得された複数の二階微分値のうちの正の値を有する二階微分値の中の「その絶対値が最大である正側最大二階微分値」が発生する時刻(第1時刻t1)の直後に現れる。
このような事実に基づけば、「正側最大二階微分値が発生する時刻」から「その正側最大二階微分値に続く負側最大二階微分値が発生する時刻」までの時間を第1時間T1と定義し、「負側最大二階微分値が発生する時刻」から「その負側最大二階微分値に続く正側最大二階微分値が発生する時刻」までの時間を第2時間T2と定義するとき、以下の関係が成立する。
(1)「リッチずれインバランス状態」が生じると、第1時間T1の方が第2時間T2よりも長くなる(図17の(C)を参照。)。
(2)「リーンずれインバランス状態」が生じると、第1時間T1の方が第2時間T2よりも短くなる(図17の(E)を参照。)。
第6判定装置は、係る知見に基づいて、空燃比気筒間インバランス状態が発生したとき、それが「リッチずれインバランス状態」であるのか、「リーンずれインバランス状態」であるのかを区別する。
第6判定装置は、第3乃至第5判定装置の変形例である。即ち、第6判定装置のCPUは、第3乃至第5判定装置のCPUがそれぞれ実行するルーチンに加え、図18にフローチャートにより示された「インバランス傾向特定ルーチン」を所定時間の経過毎に実行する。
従って、所定のタイミングになると、CPUは図18のステップ1800から処理を開始してステップ1810に進み、現時点が「インバランス判定フラグXINBの値が「0」から「1」へと変更になった直後の時点」であるか否かを判定する。即ち、CPUは、空燃比気筒間インバランス状態が発生したと判定した直後であるか否かを判定する。
そして、現時点が「インバランス判定フラグXINBの値が「0」から「1」へと変更になった直後の時点」でなければ、CPUはステップ1810にて「No」と判定し、ステップ1895に直接進んで本ルーチンを一旦終了する。
一方、現時点が「インバランス判定フラグXINBの値が「0」から「1」へと変更になった直後の時点」であると、CPUはステップ1810にて「Yes」と判定してステップ1820に進み、上記第1時間T1を取得する。
より詳細には、CPUは、以下に述べる処理を行う。
(1)CPUは、最新の単位燃焼サイクル期間が経過したときに「同最新の単位燃焼サイクル期間内において取得された複数の二階微分値」のうちの「正の値を有する二階微分値」の中の「その絶対値が最大である正側最大二階微分値Pd2AF(n)」が発生した第1時刻t1を取得して記憶しておく。
(2)CPUは、前記最新の前記単位燃焼サイクル期間が経過したときに「同最新の単位燃焼サイクル期間内において取得された複数の二階微分値」のうちの「負の値を有する二階微分値」の中の「その絶対値が最大である負側最大二階微分値Md2AF(n)」が発生した第2時刻t2を取得して記憶しておく。
(3)CPUは、前記最新の前記単位燃焼サイクル期間の直前の前記単位燃焼サイクルが経過したときに「同直前の単位燃焼サイクル期間内において取得された複数の二階微分値」のうちの「正の値を有する二階微分値」の中の「その絶対値が最大である正側最大二階微分値Pd2AF(n−1)」が発生した第3時刻t3を取得して記憶しておく。
(4)CPUは、前記最新の前記単位燃焼サイクル期間の直前の前記単位燃焼サイクルが経過したときに「同直前の単位燃焼サイクル期間内において取得された複数の二階微分値」のうちの「負の値を有する二階微分値」の中の「その絶対値が最大である負側最大二階微分値Md2AF(n−1)」が発生した第4時刻t4を取得して記憶しておく。
そして、CPUは、前記第1時刻t1が前記第2時刻t2より前であるときには同第1時刻t1から同第2時刻t2までの時間を第1時間T1として取得する(図17の(E)を参照。)。一方、CPUは、前記第1時刻t1が前記第2時刻t2より後であるときには前記第3時刻t3から同第2時刻t2までの時間を第1時間T1として取得する(図17の(C)を参照。)。
次に、CPUは図18のステップ1830に進み、上記第2時間T2を取得する。より詳細には、CPUは、以下に述べる処理を行う。
CPUは、前記第1時刻t1が前記第2時刻t2より前であるときには前記第4時刻t4から同第1時刻t1までの時間を第2時間T2として取得する(図17の(E)を参照。)。一方、CPUは、前記第1時刻t1が前記第2時刻t2より後であるときには同第2時刻t2から同第1時刻t1までの時間を同第2時間T2として取得する(図17の(C)を参照。)。
次に、CPUはステップ1840に進み、第1時間T1が第2時間T2よりも長いか否かを判定する。そして、第1時間T1が第2時間T2よりも長い場合、CPUはステップ1840にて「Yes」と判定してステップ1850に進み、リッチずれインバランス状態か発生していることを示す「リッチずれ発生フラグXINBR」の値を「1」に設定する。
これに対し、第1時間T1が第2時間T2よりも短い場合、CPUはステップ1840にて「No」と判定してステップ1860に進み、リーンずれインバランス状態か発生していることを示す「リッチずれ発生フラグXINBL」の値を「1」に設定する。
このように、第6判定装置は、空燃比気筒間インバランス状態が発生したと判定された場合(ステップ1810を参照。)、第1時間T1及び第2時間T2の大小関係に基づいて、「リッチずれインバランス状態」が生じているのか、「リーンずれインバランス状態」が発生しているのかを、区別(判定)することができる(ステップ1840を参照。)。
以上、説明したように、本発明に係る空燃比気筒間インバランス判定装置は、空燃比気筒間インバランス状態が発生したか否かを精度よく判定することができる。
なお、上記各判定装置のCPUのうちの幾つかは、以下のように二階微分値d2AF(n)を取得している。
CPUは、一定のサンプリング時間tsが経過する毎に空燃比センサ出力Vabyfsを取得する。この一定のサンプリング時間tsは、単位燃焼サイクル期間内において所定時間が経過する時点毎の二階微分値を得る実施形態における、その所定時間を自然数にて除した時間であってもよい。但し、通常は、その所定時間とサンプリング時間tsとは同じ時間である。
CPUは、「新たに取得された前記空燃比センサ出力Vabyfs」により表される「今回の検出空燃比abyfs(n)」から「前記サンプリング時間tsだけ前の時点にて取得された前記空燃比センサ出力」により表される「前回の検出空燃比abyfs(n−1)」を減じた値を「今回の検出空燃比変化率d1AF(n)」として取得する(図10及び図12のステップ1010乃至ステップ1030、ステップ1050、及び、ステップ1060)。
更に、CPUは、「新たに取得された今回の前記検出空燃比変化率d1AF(n)」から「前記サンプリング時間tsだけ前の時点にて取得された前回の前記検出空燃比変化率d1AF(n−1)」を減じた値を「二階微分値d2AF(n)」として取得する(図10及び図12のステップ1040及びステップ1060)。
また、上記各判定装置のCPUは、以下のように二階微分値d2AF(n)を取得してもよい。
(1)CPUは、一定のサンプリング時間tsが経過する毎に空燃比センサ出力Vabyfsを取得する。
(2)CPUは、「新たに取得された前記空燃比センサ出力により表される今回の検出空燃比abyfs(n)」から「前記サンプリング時間だけ前の時点にて取得された前記空燃比センサ出力により表される前回の検出空燃比abyfs(n−1)」を減じた値を「今回の検出空燃比変化率d1AF(n)」として取得する。CPUは、取得した検出空燃比変化率d1AF(n)を、一つの単位燃焼サイクル期間における検出空燃比変化率の取得順Cnに関連付けながら検出空燃比変化率d1AF(Cn)として記憶(保持)する。
(3)CPUは、単位燃焼サイクル期間が経過したとき、その期間内において取得された複数の前記検出空燃比変化率d1AF(Cn)のうちの「正の値を有する検出空燃比変化率の平均値」を増大側検出空燃比変化率平均値AvePd1AFとして取得する。
(4)同様に、CPUは、その単位燃焼サイクル期間内において取得された複数の前記検出空燃比変化率d1AF(Cn)のうちの「負の値を有する検出空燃比変化率の平均値」を減少側検出空燃比変化率平均値AveMd1AFとして取得する。
(5)CPUは、その増大側検出空燃比変化率平均値AvePd1AFと減少側検出空燃比変化率平均値AveMd1AFとの差(例えば、AvePd1AF−AveMd1AF、又は、AveMd1AF−AvePd1AF)を「その単位燃焼サイクル期間における二階微分値d2AF」として取得する。
そして、CPUはそのように得られた単位燃焼サイクル期間における二階微分値d2AFを空燃比二階微分対応値HD2AFとして取得し、その絶対値|HD2AF|が第1閾値Th1よりも大きいとき、空燃比気筒間インバランス状態が発生したと判定する。
なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、本発明に係る空燃比気筒間インバランス判定装置は、一つの単位燃焼サイクル期間が経過する毎に上述の手法により空燃比気筒間インバランス状態が発生したか否かを判定し、空燃比気筒間インバランス状態が発生したとの判定が「連続する複数の単位燃焼サイクル期間」について成立したとき、空燃比気筒間インバランス状態が発生したと判定するように構成されることもできる。
また、検出空燃比変化率d1AF(n)は、空燃比センサ出力Vabyfsにより表される検出空燃比abyfsの時間についての一階微分値として求められていたが、空燃比センサ出力Vabyfsの時間についての一階微分値として取得しておき、それを空燃比に対応する値へと変換することにより求められてもよい。