(57)【要約】【課題】  失火判定用の補正値の学習頻度を高めることができ、それにより、失火判定を精度良く行うことができる内燃機関の失火判定装置を提供する。【解決手段】  互いに連結された内燃機関３および電動機７を有し、内燃機関３の燃焼が停止し且つ電動機７が作動する電動機作動モードで運転可能なハイブリッドパワープラントＨＰＰにおける内燃機関３の燃焼中の失火状態を判定する内燃機関の失火判定装置１は、求めた内燃機関の回転変動ＭＦＣＲＭＥＮを補正値ＫＣＲＲＥＦＸで補正し（ステップ２）、この補正された内燃機関の回転変動ＣＭＦＣＲＭＥＮに基づき内燃機関３の失火を判定し（ステップ３）、電動機作動モード中であるか否かを判定し（ステップ２１）、電動機作動モード中と判定されたときに、検出された内燃機関３の回転数に基づき、補正値ＫＣＲＲＥＦＸを算出する（ステップ３３、３９、ステップ５７〜６０、図６）。【選択図】  図４
2006152887.tif 000002
【特許請求の範囲】
【請求項１】
互いに連結された内燃機関および電動機を有し、前記内燃機関の燃焼が停止し且つ前記電動機が作動する電動機作動モードによって運転可能なハイブリッドパワープラントにおける前記内燃機関の燃焼中の失火状態を判定する内燃機関の失火判定装置であって、
前記内燃機関の回転数を検出する回転数検出手段と、
当該検出された内燃機関の回転数に基づいて、前記内燃機関の回転変動を求める回転変動検出手段と、
当該求められた内燃機関の回転変動を補正値によって補正する補正手段と、
前記補正値により補正された内燃機関の回転変動に基づいて、前記内燃機関の失火を判定する失火判定手段と、
前記電動機作動モード中であるか否かを判定する作動モード判定手段と、
当該作動モード判定手段により前記電動機作動モード中であると判定されたときに、前記検出された内燃機関の回転数に基づいて、前記補正値を算出する補正値算出手段と、
を備えることを特徴とする内燃機関の失火判定装置。
【請求項２】
前記内燃機関には、当該内燃機関の複数の気筒のうちの少なくとも一部の気筒の吸気弁および排気弁の作動を停止する弁停止機構が設けられており、
前記少なくとも一部の気筒を含む前記複数の気筒の前記吸気弁および前記排気弁が作動中であるか否かを判定する弁作動判定手段と、をさらに備え、
前記補正値算出手段は、前記弁作動判定手段によって、前記複数の気筒の前記吸気弁および前記排気弁がすべて作動中または停止中であると判定されたときに、前記補正値の算出を実行することを特徴とする、請求項１に記載の内燃機関の失火判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の失火を判定する内燃機関の失火判定装置に関する。
【背景技術】
【０００２】
従来、この種の失火判定装置として、特許文献１に開示されたものが知られている。この失火判定装置では、複数の気筒を有する内燃機関のクランクシャフトの角度位置をクランク角センサで検出するとともに、このクランク角センサの出力を補正係数で補正した値に基づいて、失火判定が行われる。これは、クランク角センサの出力をそのまま失火判定に用いると、クランク角センサの出力特性のずれなどの影響によって、失火判定を精度良く行うことができないためである。また、上記の補正係数は、内燃機関の減速時のフューエルカット（以下「Ｆ／Ｃ」という）中に、クランク角センサの出力に基づいて学習される。
【０００３】
上記のように、この従来の失火判定装置では、失火判定に用いられる補正係数はＦ／Ｃ中にのみ学習される。しかし、内燃機関の通常の運転では、Ｆ／Ｃの実行頻度が比較的低いので、それに応じて、補正係数の学習頻度も低くならざるを得ず、補正係数の学習を十分に行うことができない。このため、クランク角センサの出力を補正係数によって適切に補正できず、その結果、失火判定を精度良く行うことができない。
【０００４】
本発明は、以上のような課題を解決するためになされたものであり、失火判定に用いられる補正値の学習頻度を高めることができ、それにより、失火判定を精度良く行うことができる内燃機関の失火判定装置を提供することを目的とする。
【０００５】
【特許文献１】特開平７−１９７８４５号公報
【発明の開示】
【課題を解決するための手段】
【０００６】
上記の目的を達成するため、請求項１に係る発明は、互いに連結された内燃機関３および電動機（実施形態における（以下、本項において同じ）モータ７）を有し、内燃機関３の燃焼が停止し且つ電動機が作動する電動機作動モードによって運転可能なハイブリッドパワープラントＨＰＰにおける内燃機関３の燃焼中の失火状態を判定する内燃機関の失火判定装置１であって、内燃機関の回転数を検出する回転数検出手段（クランク角センサ３１）と、検出された内燃機関の回転数（ＣＲＫ信号）に基づいて、内燃機関の回転変動を求める回転変動検出手段（ＥＣＵ２）と、求められた内燃機関の回転変動（パルス間経過時間ＭＦＣＲＭＥＮ）を補正値（補正係数ＫＣＲＲＥＦＸ）によって補正する補正手段（ＥＣＵ２、図３のステップ２）と、補正値により補正された内燃機関の回転変動（補正後パルス間経過時間ＣＭＦＣＲＭＥＮ）に基づいて、内燃機関の失火を判定する失火判定手段（ＥＣＵ２、図３のステップ３）と、電動機作動モード中であるか否かを判定する作動モード判定手段（ＥＣＵ２、図４のステップ２１）と、作動モード判定手段により電動機作動モード中であると判定されたときに、検出された内燃機関の回転数に基づいて、補正値を算出する補正値算出手段（ＥＣＵ２、図４のステップ３３、３９、図５のステップ５７〜６０、図６）と、を備えることを特徴とする。
【０００７】
この内燃機関の失火判定装置によれば、検出された内燃機関の回転数に基づいて、内燃機関の回転変動が回転変動検出手段によって求められ、電動機作動モード中であるかが作動モード判定手段によって判定される。また、電動機作動モード中であると判定されたときに、求められた内燃機関の回転変動を補正するための補正値が、内燃機関の回転数に基づき、補正値算出手段によって算出され、学習される。さらに、学習された補正値を用いて、内燃機関の回転変動が補正手段により補正され、補正された内燃機関の回転変動に基づき、内燃機関の失火が失火判定手段によって判定される。このように、補正値の学習を、電動機作動モード中、すなわち、内燃機関が燃焼していない停止中に行うので、内燃機関の燃焼による回転変動の影響を受けることなく、補正値を適切に学習することができる。また、同じ理由により、Ｆ／Ｃの実行を待って補正係数の学習を行う従来の場合と異なり、電動機作動モードを意図的に実行することによって、補正値の学習頻度を高めることができ、それにより、学習を十分かつ適切に行うことができる。以上により、内燃機関の回転変動を適切に補正でき、したがって、失火判定を精度良く行うことができる。
【０００８】
請求項２に係る発明は、請求項１に記載の内燃機関の失火判定装置１において、内燃機関３には、内燃機関３の複数の気筒（右バンクの気筒＃１〜＃３、左バンクの気筒＃４〜＃６）のうちの少なくとも一部の気筒（右バンクの気筒＃１〜＃３、左バンクの気筒＃４〜＃６）の吸気弁および排気弁の作動を停止する弁停止機構（気筒休止機構４，４）が設けられており、少なくとも一部の気筒を含む複数の気筒の吸気弁および排気弁が作動中であるか否かを判定する弁作動判定手段（ＥＣＵ２、図４のステップ２６）と、をさらに備え、補正値算出手段は、弁作動判定手段によって、複数の気筒の吸気弁および排気弁がすべて作動中または停止中であると判定されたときに、補正値の算出を実行する（図４のステップ３３、３９、図５のステップ５７〜６０、図６）ことを特徴とする。
【０００９】
この構成によれば、内燃機関の複数の気筒の吸気弁および排気弁が作動中であるかが、弁作動判定手段によって判定され、すべての気筒の吸気弁および排気弁が作動中または停止中であると判定されたときに、補正値が算出され、学習される。電動機作動モード中で、かつ内燃機関の停止中であっても、一部の気筒の吸・排気弁が作動し、他の気筒の吸・排気弁の作動が停止している状態では、吸・排気弁の作動に伴うポンピングロスが一部の気筒で発生することによって、内燃機関の回転変動が生じやすくなる。したがって、補正値の学習を、すべての気筒の吸気弁および排気弁が作動または停止しているときに行うことによって、ポンピングロスによる内燃機関の回転変動の影響が少ない状態で、補正値の学習をより適切に行うことができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら、本発明の一実施形態による内燃機関の失火判定装置について説明する。図１は、本発明を適用した失火判定装置１を、内燃機関（以下「エンジン」という）３とともに概略的に示している。
【００１１】
このエンジン３は、車両（図示せず）に搭載されたものであり、この車両は、その駆動源として、エンジン３に加えてモータ７（電動機）を有するハイブリッドパワープラントＨＰＰを備えている。また、車両は、モータ７を停止し、エンジン３のみで車両を駆動するエンジン駆動モード、または、エンジン３の燃焼を停止し、モータ７のみで車両を駆動するモータ駆動モードによって運転される。
【００１２】
エンジン３は、４サイクルＶ型６気筒のガソリンエンジンであり、右バンク３Ｒの３つの気筒＃１〜＃３と、左バンク３Ｌの３つの気筒＃４〜＃６を備えている。また、エンジン３は、可変気筒式のものであり、６つの気筒＃１〜＃６のすべてを運転する全気筒運転モード、または、右バンク３Ｒもしくは左バンク３Ｌの３つの気筒＃１〜＃３、＃４〜＃６の運転を休止する部分気筒運転モードによって運転される。
【００１３】
上記の左右のバンク３Ｌ，３Ｒには、気筒休止機構４，４（弁停止機構）がそれぞれ設けられている。これら左右のバンク３Ｌ，３Ｒの気筒休止機構４，４は、互いに同じ構成を有しているので、以下、これらを代表して、右バンク３Ｒの気筒休止機構４について説明する。
【００１４】
この気筒休止機構４は、油路６ａ，６ｂを介して油圧ポンプ（図示せず）に接続されている。また、油圧ポンプと気筒休止機構４の間には、吸気弁用および排気弁用の電磁弁５ａ，５ｂが配置されている。これらの電磁弁５ａ，５ｂはいずれも、常閉式のものであり、後述するＥＣＵ２からの駆動信号によりＯＮされたときに、油路６ａ，６ｂをそれぞれ開放する。これにより、気筒休止機構４に油圧ポンプからの油圧が供給されることによって、右バンク３Ｒの気筒＃１〜＃３において、吸気弁と吸気カムの間および排気弁と排気カム（いずれも図示せず）の間が遮断され、その結果、吸気弁および排気弁が休止状態（閉鎖状態）に保持される。
【００１５】
一方、上記とは逆に、電磁弁５ａ，５ｂをともにＯＦＦしたときには、油路６ａ，６ｂが閉鎖されることによって、油圧ポンプから気筒休止機構４への油圧の供給が停止される。これにより、右バンク３Ｒの気筒＃１〜＃３において、吸気弁と吸気カムの間および排気弁と排気カムの間の遮断状態が解除されることで、吸気弁および排気弁が駆動される。
【００１６】
以上の構成により、吸気弁および排気弁の作動モードが、右・左バンク３Ｒ、３Ｌの気筒＃１〜＃３および＃４〜＃６のすべてが作動する全作動モードと、一方のみが作動する部分作動モードと、すべてが休止する全休止モードとに、選択的に切り換えられる。
【００１７】
前記モータ７は、エンジン３のクランク軸３ａ（図２参照）に直結されるとともに、トルクコンバータ（図示せず）を有する自動変速機８などを介して、車両の駆動輪９に連結されている。また、モータ７は、その駆動源であるバッテリ１０に、パワードライブユニット（以下「ＰＤＵ」という）２０を介して接続されている。このＰＤＵ２０は、インバータなどからなる電気回路で構成されている。さらに、モータ７は、駆動輪９の回転エネルギを用いて発電を行うジェネレータとしての機能を有しており、発電された電気エネルギは、ＰＤＵ２０を介してバッテリ１０に充電（回生）される。また、モータ７は、ＰＤＵ２０を介してＥＣＵ２に接続されている。
【００１８】
バッテリ１０には、電流電圧センサ３０が取り付けられており、この電流電圧センサ３０は、バッテリ１０に入出力される電流・電圧値を検出し、その検出信号をＥＣＵ２に出力する。ＥＣＵ２は、この検出信号に基づいて、バッテリ１０の残存容量を算出する。
【００１９】
また、図２に示すように、クランク軸３ａには、クランク角センサ３１（回転数検出手段）が設けられている。このクランク角センサ３１は、クランク軸３ａに同軸状に固定されたロータ３１ａと、ロータ３１ａの付近に設けられたピックアップ３１ｂなどで構成されている。ロータ３１ａの外周には、複数（本例では１２個）の歯３１ｃが３０゜ごとに設けられており、ピックアップ３１ｂは、歯３１ｃと若干の隙間を存して対向するように配置されている。以上の構成により、クランク角センサ３１は、クランク軸３ａの回転に伴い、クランク角３０゜ごとにパルス信号であるＣＲＫ信号（検出された内燃機関の回転数）を発生し、ＥＣＵ２に出力する。ＥＣＵ２は、このＣＲＫ信号に基づき、クランク軸３ａの回転数（以下「エンジン回転数」という）ＮＥを算出する。また、ＥＣＵ２は、ＣＲＫ信号に基づきパルス間経過時間ＭＦＣＲＭＥＮ（求められた内燃機関の回転変動）を求める。このパルス間経過時間ＭＦＣＲＭＥＮは、前回のＣＲＫ信号が出力されてから今回のＣＲＫ信号が出力されるまでに要した時間の実際の計測値である。
【００２０】
エンジン３の吸気管には、上流側から順に、スロットル弁（図示せず）および吸気管内絶対圧センサ３２が設けられている。このスロットル弁の開度（以下「スロットル弁開度」という）ＴＨは、ＥＣＵ２によって制御される。吸気管内絶対圧センサ３２は、吸気管内の絶対圧である吸気管内絶対圧ＰＢＡを検出し、その検出信号をＥＣＵ２に出力する。また、スロットル弁には、スロットル弁開度センサ３３が設けられており、スロットル弁開度センサ３３は、スロットル弁開度ＴＨを検出し、その検出信号をＥＣＵ２に出力する。
【００２１】
また、ＥＣＵ２には、エンジン水温センサ３４、アクセル開度センサ３５および車速センサ３６から、エンジン水温ＴＷ、アクセル開度ＡＰおよび車速ＶＰを表す検出信号が、それぞれ出力される。エンジン水温ＴＷは、エンジン３の本体内を循環する冷却水の温度を表し、アクセル開度ＡＰは、アクセルペダル（図示せず）の操作量を表す。
【００２２】
ＥＣＵ２は、Ｉ／Ｏインターフェース、ＣＰＵ、ＲＡＭおよびＲＯＭなどからなるマイクロコンピュータで構成されている。前述した各種のセンサ３０〜３６からの検出信号はそれぞれ、Ｉ／ＯインターフェースでＡ／Ｄ変換された後、ＣＰＵに入力される。ＣＰＵは、これらの検出信号に応じ、ＲＯＭに記憶された制御プログラムなどに従って、エンジン３やモータ７の動作などを制御し、特に、クランク角センサ３１で検出されたエンジン回転数ＮＥに基づき、以下のようにしてエンジン３の失火を判定する。なお、本実施形態では、ＥＣＵ２によって、回転変動検出手段、補正手段、失火判定手段、作動モード判定手段、補正値算出手段、および弁作動判定手段が構成されている。
【００２３】
次に、図３を参照しながら、エンジン３の失火を判定する失火判定処理について説明する。本処理は、エンジン駆動モード中に、ＣＲＫ信号の出力に同期して実行される。まず、ステップ１では、学習済みフラグＦ＿ＫＣＲＰＬＳＥＮＤが「１」であるか否かを判別する。この学習済みフラグＦ＿ＫＣＲＰＬＳＥＮＤは、後述するように補正係数ＫＣＲＲＥＦＸ（補正値）の学習が少なくとも１回、実行されているときに、「１」にセットされるものである。この答がＮＯで、補正係数ＫＣＲＲＥＦＸの学習が実行されていないときには、そのまま本処理を終了する。
【００２４】
一方、ステップ１の答がＹＥＳで、補正係数ＫＣＲＲＥＦＸの学習が少なくとも１回、実行されているときには、前述したＣＲＫ信号のパルス間経過時間ＭＦＣＲＭＥＮに補正係数ＫＣＲＲＥＦＸを乗算することによって、補正後パルス間経過時間ＣＭＦＣＲＭＥＮ（補正された内燃機関の回転変動）を算出する（ステップ２）。補正係数ＫＣＲＲＥＦＸは、低回転域用と高回転域用に別個に設定されており、エンジン回転数ＮＥが所定の低回転域にあるときには低回転域用が、所定の高回転域にあるときには高回転域用が適用される。
【００２５】
次いで、補正後パルス間経過時間ＣＭＦＣＲＭＥＮが、所定の判定値ＴＲＥＦよりも大きいか否かを判別する（ステップ３）。この答がＹＥＳのときには、エンジン回転数ＮＥが大きく低下しており、エンジン３が失火状態にあると判定し、失火状態判定フラグＦ＿ＭＦを「１」にセットする（ステップ４）。なお、判定値ＴＲＥＦは、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じ、マップ（図示せず）を検索することによって求められる。
【００２６】
上記ステップ４に続くステップ５では、失火カウンタのカウンタ値ＣＭＦをインクリメントする。次いで、このカウンタ値ＣＭＦが所定値ＣＭＦＲＥＦよりも大きいか否かを判別する（ステップ６）。この答がＮＯのときには、そのまま本処理を終了する。一方、ステップ６の答がＹＥＳで、ＣＭＦ＞ＣＭＦＲＥＦのとき、すなわち失火状態の判定回数が所定回数に達したときには、失火していると確定して、警告ランプ（図示せず）を点灯し（ステップ７）、その旨を運転者に知らせる。次いで、失火カウンタのカウンタ値ＣＭＦを０にリセットし（ステップ８）、本処理を終了する。
【００２７】
一方、前記ステップ３の答がＮＯのときには、エンジン３が失火状態にないと判定し、失火状態判定フラグＦ＿ＭＦを「０」にセットし（ステップ９）、本処理を終了する。
【００２８】
次に、前記補正係数ＫＣＲＲＥＦＸの学習を行う処理について説明する。図４は、この学習の実行条件が成立しているか否かを判定する実行条件判定処理を示している。まず、ステップ２１では、モータ駆動モードフラグＦ＿ＥＶが「１」であるか否かを判別する。このモータ駆動モードフラグＦ＿ＥＶは、車両がモータ駆動モードで駆動されているときに「１」に、エンジン駆動モードで駆動されているときに「０」にセットされるものである。
【００２９】
このステップ２１の答がＮＯで、エンジン駆動モード中のときには、実行条件が成立していないと判定し、そのことを表すために、実行条件成立フラグＦ＿ＣＮＤＫＣＲＭＥを「０」にセットする（ステップ２２）。次いで、高回転実行条件成立フラグＦ＿ＣＮＤＫＣＲＨＩを「０」にセットし（ステップ２３）、本処理を終了する。
【００３０】
一方、上記ステップ２１の答がＹＥＳで、モータ駆動モード中のときには、エンジン水温ＴＷが所定のしきい値ＴＷＫＣＲＭＥ（例えば６８．８℃）よりも大きいか否かを判別する（ステップ２４）。この答がＮＯで、エンジン水温ＴＷが低すぎるときには、エンジン３のフリクションが大きいことによって、クランク軸３ａの回転が安定しない可能性が高く、それにより、補正係数ＫＣＲＲＥＦＸの学習を適切に行うことができないおそれがあるとして、実行条件が成立していないと判定し、前記ステップ２２以降を実行する。
【００３１】
一方、上記ステップ２４の答がＹＥＳのときには、スロットル全閉フラグＦ＿ＴＨＩＤＬＥが「０」であるか否かを判別する（ステップ２５）。この答がＮＯのとき、すなわち、スロットル弁が全閉状態でないときには、スロットル弁開度ＴＨが変化する可能性が高く、それに伴うエンジン３のポンピングロスの変化によって、クランク軸３ａの回転が安定せず、それにより、補正係数ＫＣＲＲＥＦＸの学習を適切に行うことができないおそれがあるとして、実行条件が成立していないと判定し、前記ステップ２２以降を実行する。
【００３２】
一方、ステップ２５の答がＹＥＳで、スロットル弁が全閉状態であるときには、部分作動モードフラグＦ＿ＦＣＢ１が「１」であるか否かを判別する（ステップ２６）。この部分作動モードフラグＦ＿ＦＣＢ１は、吸・排気弁が前述した部分作動モードで駆動されているときに「１」にセットされ、全作動モードまたは全休止モードで駆動されているときに「０」にセットされるものである。
【００３３】
ステップ２６の答がＹＥＳで、部分作動モード中のときには、実行条件が成立していないと判定し、前記ステップ２２以降を実行する。一方、ステップ２６の答がＮＯで、全作動モード中または全休止モード中のときには、エンジン回転数ＮＥが第１および第２の所定値ＮＥＫＣＲＭＥＬ、ＮＥＫＣＲＭＥＨ（例えばそれぞれ、１８００ｒｐｍ、２１５０ｒｐｍ）の間の所定の低回転域にあるか否かを判別する（ステップ２７）。この答がＮＯのときには、エンジン回転数ＮＥが第３および第４の所定値ＮＥＫＣＲＨＩＬ、ＮＥＫＣＲＨＩＨ（例えばそれぞれ、５５００ｒｐｍ、６０００ｒｐｍ）の間の所定の高回転域にあるか否かを判別する（ステップ２８）。
【００３４】
この答がＮＯのとき、すなわち、エンジン回転数ＮＥが、所望の低回転域内および高回転域内のいずれにもないときには、実行条件が成立していないと判定し、前記ステップ２２以降を実行する。
【００３５】
一方、上記ステップ２７の答がＹＥＳで、エンジン回転数ＮＥが上記の低回転域にあるときには、回転数変化量の絶対値｜ＤＮＥ｜が所定の低回転域用の上限値ＤＮＥＫＣＲＭＥ（例えば２０ｒｐｍ）よりも小さいか否かを判別する（ステップ２９）。この回転数変化量ＤＮＥは、エンジン回転数ＮＥの前回値と今回値との偏差である。この答がＮＯのときには、クランク軸３ａの回転変動が大きいため、実行条件が成立していないと判定し、前記ステップ２２以降を実行する。
【００３６】
一方、上記ステップ２９の答がＹＥＳのときには、絶対圧変化量の絶対値｜ＤＰＢＡ｜が所定の低回転域用の上限値ＤＰＢＫＣＲＭＥ（例えば４３ｍｍＨｇ）よりも小さいか否かを判別する（ステップ３０）。この絶対圧変化量ＤＰＢＡは、吸気管内絶対圧ＰＢＡの前回値と今回値との偏差である。この答がＮＯで、吸気管内絶対圧ＰＢＡが大きく変化しているときには、ポンピングロスが大きく変化し、それにより、クランク軸３ａの回転が安定していないとして、実行条件が成立していないと判定し、前記ステップ２２以降を実行する。
【００３７】
一方、ステップ３０の答がＹＥＳのときには、モータトルク変化量の絶対値｜ＤＴＱＭＡＣＴ｜が所定の低回転域用の上限値ＤＴＱＭＫＣＲＭＥ（例えば６５５．３４Ｎ・ｍ）よりも小さいか否かを判別する（ステップ３１）。このモータトルク変化量ＤＴＱＭＡＣＴは、モータ７から出力されているトルク（以下「モータトルク」という）ＴＱＭＡＣＴの前回値と今回値との偏差である。なお、モータトルクＴＱＭＡＣＴは、電流電圧センサ３０で検出されたバッテリ１０から出力される電流・電圧値に基づいて算出される。
【００３８】
上記ステップ３１の答がＮＯで、モータトルクＴＱＭＡＣＴが大きく変化しているときには、クランク軸３ａの回転が安定していないとして、実行条件が成立していないと判定し、前記ステップ２２以降を実行する。一方、上記ステップ３１の答がＹＥＳのときには、モータトルクの絶対値｜ＴＱＭＡＣＴ｜が所定の低回転域用の上限値ＴＱＭＫＣＲＭＥ（例えば６５５．３４Ｎ・ｍ）よりも小さいか否かを判別する（ステップ３２）。この答がＮＯで、モータトルクＴＱＭＡＣＴが大きすぎるときには、クランク軸３ａの回転が不安定になるおそれがあるとして、実行条件が成立していないと判定し、前記ステップ２２以降を実行する。
【００３９】
一方、上記ステップ３２の答がＹＥＳのとき、すなわち、前述したステップ２１から３２までのすべての条件が成立しているときには、実行条件が成立していると判定し、そのことを表すために、実行条件成立フラグＦ＿ＣＮＤＫＣＲＭＥを「１」にセットする（ステップ３３）。次いで、この実行条件が低回転域に関して成立していることを表すために、高回転実行条件成立フラグＦ＿ＣＮＤＫＣＲＨＩを「０」にセットし（ステップ３４）、本処理を終了する。
【００４０】
一方、前記ステップ２８の答がＹＥＳで、エンジン回転数ＮＥが前述した所定の高回転域にあるときには、次のステップ３５〜３８において、前記ステップ２９〜３２と同様に、実行条件を判定する。すなわち、回転数変化量の絶対値｜ＤＮＥ｜、絶対圧変化量の絶対値｜ＤＰＢＡ｜、モータトルク変化量の絶対値｜ＤＴＱＭＡＣＴ｜およびモータトルクの絶対値｜ＴＱＭＡＣＴ｜が、所定の高回転域用の上限値ＤＮＥＫＣＲＨＩ、ＤＰＢＫＣＲＨＩ、ＤＴＱＭＫＣＲＨＩおよびＴＱＭＫＣＲＨＩ（例えばそれぞれ、５０ｒｐｍ、４３ｍｍＨｇ、６５５．３４Ｎ・ｍ、６５５．３４Ｎ・ｍ）よりもそれぞれ小さいか否かを判別する。これらの答のいずれかがＮＯのときには、ステップ２９〜３２で述べたのと同じ理由により、実行条件が成立していないと判定し、前記ステップ２２以降を実行する。
【００４１】
一方、上記ステップ３５〜３８の答がいずれもＹＥＳのときには、実行条件が成立していると判定し、実行条件成立フラグＦ＿ＣＮＤＫＣＲＭＥを「１」にセットする（ステップ３９）。次いで、この実行条件が高回転域に関して成立していることを表すために、高回転実行条件成立フラグＦ＿ＣＮＤＫＣＲＨＩを「１」にセットし（ステップ４０）、本処理を終了する。
【００４２】
次に、図５を参照しながら、補正係数ＫＣＲＲＥＦＸを学習するＫＣＲＲＥＦＸ学習処理を説明する。本処理はＣＲＫ信号の出力に同期して実行される。まず、ステップ５１では、ステージステータスＦＩＳＴＧ［５］が「６」であるか否かを判別する。このステージステータスＦＩＳＴＧ［５］は、クランク角度が気筒＃５の圧縮行程開始時に相当する基準角度位置にあるときに、「６」にセットされるものである。
【００４３】
ステップ５１の答がＹＥＳで、クランク角度が基準角度位置にあるときには、表示カウンタのカウンタ値ＣＰＬＳを０にリセットする（ステップ５２）。一方、上記ステップ５１の答がＮＯのときには、上記のカウンタ値ＣＰＬＳをインクリメントする（ステップ５３）。以上の設定により、表示カウンタのカウンタ値ＣＰＬＳは、クランク角度７２０゜、すなわち、エンジン３の１燃焼サイクル中における今回のクランク角度区間を、基準角度位置を基準として、クランク角３０゜ごとに特定し、表示するものであり、０から最大、２３までの間で周期的に変化する。
【００４４】
上記ステップ５２または５３に続くステップ５４では、エンジン回転数ＮＥが所定の上限値ＮＥＫＣＲＳＴＰ以上であるか否かを判別する。なお、この上限値ＮＥＫＣＲＳＴＰは、所定のヒステリシス付きの値として設定されている。
【００４５】
このステップ５４の答がＹＥＳで、エンジン回転数ＮＥが高すぎるときには、補正係数ＫＣＲＲＥＦＸを算出せずに、前述したパルス間経過時間ＭＦＣＲＭＥＮの記憶値ＭＦＣＲＭＥＺを更新し（ステップ５５）、本処理を終了する。ＥＣＵ２のＲＡＭには、今回の１回前から１２回前までに算出された１２個のパルス間経過時間ＭＦＣＲＭＥＮが、１回前〜１２回前記憶値ＭＦＣＲＭＥＺ［１］〜［１２］として記憶されており（図７参照）、ステップ５５の更新では、すでに記憶されている１回前〜１１回前記憶値ＭＦＣＲＭＥＺ［１］〜［１１］が、２回前〜１２回前記憶値ＭＦＣＲＭＥＺ［２］〜［１２］に順次シフトされ、今回値ＭＦＣＲＭＥＮが１回前記憶値ＭＦＣＲＭＥＺ［１］として記憶される。
【００４６】
一方、上記ステップ５４の答がＮＯのときには、回転時間ＣＲ１２ＭＥＭＦを次式（１）によって算出する（ステップ５６）。この回転時間ＣＲ１２ＭＥＭＦは、クランク軸３ａが１回転するのに要した時間を表すものである。
【００４７】
【数１】
2006152887.tif 000003
【００４８】
この式（１）から明らかなように、回転時間ＣＲ１２ＭＥＭＦは、パルス間経過時間の今回値ＭＦＣＲＭＥＮと１回前〜１１回前記憶値ＭＦＣＲＭＥＺ［１］〜［１１］との和として算出され、今回値ＭＦＣＲＭＥＮについては、１２回前記憶値ＭＦＣＲＭＥＺ［１２］との平均値が用いられる。
【００４９】
次いで、図４の前記ステップ２２、３３または３９でセットした実行条件成立フラグＦ＿ＣＮＤＫＣＲＭＥが「１」であるか否かを判別する（ステップ５７）。この答がＮＯで、学習の実行条件が成立していないときには、前記ステップ５５を実行する。一方、ステップ５７の答がＹＥＳで、実行条件が成立しているときには、図４の前記ステップ２３、３４または４０でセットした高回転実行条件成立フラグＦ＿ＣＮＤＫＣＲＨＩが「１」であるか否かを判別する（ステップ５８）。
【００５０】
この答がＮＯで、実行条件が低回転域に関して成立しているときには、低回転域用のＫＣＲＲＥＦＸ学習処理を実行する（ステップ５９）とともに、前記ステップ５５を実行する。一方、上記ステップ５８の答がＹＥＳで、高回転域に関して実行条件が成立しているときには、高回転域用のＫＣＲＲＥＦＸ学習処理を実行する（ステップ６０）とともに、前記ステップ５５を実行する。
【００５１】
これらの低回転域用および高回転域用のＫＣＲＲＥＦＸ学習処理は、互いに同じ内容であるため、以下、これらを代表して、図６を参照しながら、低回転域用のＫＣＲＲＥＦＸ学習演算処理について説明する。
【００５２】
まず、ステップ７１では、表示カウンタのカウンタ値ＣＰＬＳから値６を減算した値を、学習区間ｃｐｌｓｘとして算出する。この学習区間ｃｐｌｓｘは、今回のループにおいて、補正係数ＫＣＲＲＥＦＸの学習の対象となるクランク角度の区間を表す。
【００５３】
次いで、算出した学習区間ｃｐｌｓｘが０よりも小さいか否かを判別する（ステップ７２）。この答がＹＥＳのときには、そのときの学習区間ｃｐｌｓｘに値２４を加算した値を、学習区間ｃｐｌｓｘとして設定し（ステップ７３）、ステップ７４に進む。一方、ステップ７２の答がＮＯのときには、ステップ７３をスキップし、ステップ７４に進む。以上により、学習区間ｃｐｌｓｘは、表示カウンタＣＰＬＳが、６〜２３のときに０〜１７に設定され、０〜５のときに１８〜２３に設定されることによって、０〜２３の値をとるとともに、今回のクランク角度区間から６つ前のクランク角度区間が学習区間ｃｐｌｓｘとして設定される。
【００５４】
上記のステップ７４では、学習済みフラグＦ＿ＫＣＲＰＬＳＥＮＤが「１」であるか否かを判別する。この答がＮＯで、学習が実行されていないときには、学習係数ＫＣＲＫＲＥＦを学習終了前用の所定値ＫＣＲＫＲＥＦ０に設定する（ステップ７５）。一方、ステップ７４の答がＹＥＳで、学習が少なくとも１回、実行されているときには、学習係数ＫＣＲＫＲＥＦを、この学習終了前用の所定値ＫＣＲＫＲＥＦ０よりも小さな学習終了後用の所定値ＫＣＲＫＲＥＦ１に設定する（ステップ７６）。
【００５５】
上記ステップ７５または７６に続くステップ７７では、学習カウンタＣＫＣＲＭＥをインクリメントする。次いで、次式（２）によって、補正係数ＫＣＲＲＥＦＸを算出する（ステップ７８）。
【００５６】
【数２】
2006152887.tif 000004
【００５７】
この式（２）の右辺の第１項におけるＣＲ１２ＭＥＭＦ／１２は、回転時間ＣＲ１２ＭＥＭＦがクランク軸３ａの１回転に要した時間を表すことから、１クランク角度区間あたりの本来あるべきパルス間経過時間ＭＦＣＲＭＥＮを表す。したがって、同式の第１項は、本来あるべきパルス間経過時間ＭＦＣＲＭＥＮと、今回の学習区間ｃｐｌｓｘにおいて得られたパルス間経過時間ＭＦＣＲＭＥＺ［６］との比を表すことから、この値はそのまま、学習区間ｃｐｌｓｘに対する補正係数ＫＣＲＲＥＦＸに相当する。また、右辺の第２項におけるＫＣＲＲＥＦＸ［ｃｐｌｓｘ］は、学習区間ｃｐｌｓｘに対する補正係数ＫＣＲＲＥＦＸの前回値であり、ＫＣＲＫＲＥＦは、前記ステップ７５または７６で設定した学習係数である。以上から明らかなように、補正係数ＫＣＲＲＥＦＸは、今回の補正係数相当値（ＣＲ１２ＭＥＭＦ／ＭＦＣＲＭＥＺ［６］・１２）と、前回値ＫＣＲＲＥＦＸ［ｃｐｌｓｘ］との加重平均値として算出され、これにより、補正係数ＫＣＲＲＥＦＸが学習区間ｃｐｌｓｘごとに学習される。
【００５８】
上記ステップ７８に続くステップ７９では、算出した補正係数ＫＣＲＲＥＦＸのリミット処理を行う。具体的には、補正係数ＫＣＲＲＥＦＸが所定の上限値ＫＣＲＲＥＦＨよりも大きいときには、補正係数ＫＣＲＲＥＦＸをこの上限値ＫＣＲＲＥＦＨに設定し、所定の下限値ＫＣＲＲＥＦＬよりも小さいときには、補正係数ＫＣＲＲＥＦＸをこの下限値ＫＣＲＲＥＦＬに設定する。
【００５９】
次いで、前記ステップ７７でインクリメントした学習カウンタＣＫＣＲＭＥが所定値ＣＫＣＲＥＮＤ（例えば値２４）と等しいか否かを判別する（ステップ８０）。この答がＹＥＳのとき、すなわち、すべての学習区間ｃｐｌｓｘについて、すなわち、１燃焼サイクルにわたって、補正係数ＫＣＲＲＥＦＸの学習が行われたときには、学習が少なくとも１回、実行されたとして、学習済みフラグＦ＿ＫＣＲＰＬＳＥＮＤを「１」にセットし（ステップ８１）、本処理を終了する。一方、ステップ８０の答がＮＯのときには、上記ステップ８１をスキップし、本処理を終了する。
【００６０】
以上のようにして学習した補正係数ＫＣＲＲＥＦＸは、前述した失火判定におけるパルス間経過時間ＭＦＣＲＭＥＮの補正（図３のステップ２）に、対応するクランク角度区間ごとに適用される。これにより、製造時の組み付け誤差や経時変化などによるクランク角センサ３１の出力特性のずれなどを補償しながら、失火判定を精度良く行うことができる。
【００６１】
以上のように、本実施形態によれば、モータ駆動モード中であることを補正係数ＫＣＲＲＥＦＸの学習の実行条件の１つとし（図４のステップ２１）、この学習をエンジン３の運転中に実行しないので、エンジン３の燃焼による回転変動の影響を受けることなく、補正係数ＫＣＲＲＥＦＸを適切に学習することができる。このため、例えば、モータ駆動モードを定期的に、あるいは、モータ駆動モードが実行されない状態が所定時間、継続した場合に、意図的に実行することによって、補正係数ＫＣＲＲＥＦＸの学習頻度を高めることができ、それにより、学習を十分かつ適切に行うことができる。以上により、パルス間経過時間ＭＦＣＲＭＥＮを適切に補正でき、したがって、失火判定を精度良く行うことができる。
【００６２】
なお、モータ７の故障などでモータ駆動モードを実行できないときには、エンジン駆動モード中における減速時のフューエルカット中に、学習を実行してもよい。この場合にも、エンジン３が燃焼していないときに補正係数ＫＣＲＲＥＦＸを学習できるので、エンジン３の燃焼による回転変動などの影響を受けることなく、学習を適切に行うことができる。
【００６３】
また、吸・排気弁が全作動モードまたは全休止モード中であることを実行条件の１つとする（図４のステップ２６）ので、ポンピングロスによるエンジン３の回転変動の影響が少ない状態で、補正係数ＫＣＲＲＥＦＸの学習をより適切に行うことができる。
【００６４】
さらに、学習区間ｃｐｌｓｘとして、今回から６回前のクランク角度区間を用いる（図６のステップ７１〜７３）のは、次の理由による。すなわち、仮に、学習区間ｃｐｌｓｘを今回のクランク角度区間に設定した場合には、クランク軸３ａの回転速度が１回転中において増加または減少し続けているようなときに、パルス間経過時間の今回値ＭＦＣＲＭＥＮが最小または最大になる結果、補正係数ＫＣＲＲＥＦＸが誤って算出される不具合がある。これに対し、学習区間ｃｐｌｓｘを本実施形態のように設定した場合には、学習区間ｃｐｌｓｘが回転時間ＣＲ１２ＭＥＭＦの算出区間のほぼ中間に位置することによって、クランク軸３ａの回転速度が上記のように増加または減少しているときでも、学習区間ｃｐｌｓｘにおいて得られたパルス間経過時間ＭＦＣＲＭＥＺ［６］が回転時間ＣＲ１２ＭＥＭＦの１クランク角度区間当たりの平均値に近くなるので、上記のような不具合を回避することができる。
【００６５】
また、学習係数ＫＣＲＫＲＥＦが、学習を少なくとも１回、実行した後には、より小さな値に設定される（図６のステップ７６）ので、補正係数ＫＣＲＲＥＦＸにおける、前回値ＫＣＲＲＥＦＸ［ｃｐｌｓｘ］、すなわち実際の学習によって得られた信頼性の高い補正係数ＫＣＲＲＥＦＸの重みが大きくなる。したがって、補正係数ＫＣＲＲＥＦＸをより適切に学習することができる。
【００６６】
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、実施形態は、すべての気筒の吸・排気弁が休止可能に構成されたエンジン３に本発明を適用した例であるが、本発明は、これに限らず、一部の気筒、例えば、すべての気筒が６に対して、３つの気筒の吸・排気弁が休止可能なエンジンに適用してもよいことはもちろんである。その場合には、モータ駆動モード中で且つすべての気筒の吸・排気弁が作動していることが、学習の実行条件となる。また、本発明は、本実施形態における車両に搭載されたエンジン３に限らず、クランク軸を鉛直方向に配置した船外機などのような船舶推進機用エンジンなどを含む、様々な産業用の可変気筒式内燃機関に適用することが可能である。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。
【図面の簡単な説明】
【００６７】
【図１】本発明を適用した失火判定装置をハイブリッドパワープラントとともに概略的に示す図である。
【図２】クランク角センサの概略構成をエンジンとともに示す図である。
【図３】失火判定処理を示すフローチャートである。
【図４】実行条件判定処理を示すフローチャートである。
【図５】ＫＣＲＲＥＦＸ学習処理を示すフローチャートである。
【図６】低回転域用のＫＣＲＲＥＦＸ学習処理を示すフローチャートである。
【図７】ＲＡＭに記憶されたパルス間経過時間ＭＦＣＲＭＥＮを示す図である。
【符号の説明】
【００６８】
１  失火判定装置
２  ＥＣＵ（回転変動検出手段、補正手段、失火判定手段、作動モード
判定手段、補正値算出手段、弁作動判定手段）
３  エンジン
４  気筒休止機構（弁停止機構）
＃１〜＃３  右バンクの気筒（複数の気筒、少なくとも一部の気筒）
＃４〜＃６  左バンクの気筒（複数の気筒、少なくとも一部の気筒）
７  モータ（電動機）
ＨＰＰ  ハイブリッドパワープラント
３１  クランク角センサ（回転数検出手段）
ＣＲＫ  ＣＲＫ信号（検出された内燃機関の回転数）
ＭＦＣＲＭＥＮ  パルス間経過時間（求められた内燃機関の回転変動）
ＣＭＦＣＲＭＥＮ  補正後パルス間経過時間（補正された内燃機関の回転変動）
ＫＣＲＲＥＦＸ  補正係数（補正値）
【図１】
2006152887.tif 000005
【図２】
2006152887.tif 000006
【図３】
2006152887.tif 000007
【図４】
2006152887.tif 000008
【図５】
2006152887.tif 000009
【図６】
2006152887.tif 000010
【図７】
2006152887.tif 000011