(57)【要約】【課題】ハイブリッド車両に搭載された内燃機関の点火遅角時における失火の判定精度の悪化を抑制できる内燃機関の失火検出装置を提供する。【解決手段】本発明の失火検出装置は、内燃機関が点火遅角されている場合に（Ｓ４）、内燃機関が燃焼する際の燃焼時エンジントルＴｅと、内燃機関が燃焼せずに回転する際の非燃焼時トルクに相当する膨張トルクＴｅ１との差分を所定のクランク角度毎に算出し（Ｓ６）、失火判定区間Ａ内における差分の合計値が最大となるシフト量βを算出し（Ｓ９）、シフト量βだけ失火判定区間Ａをシフトする（Ｓ１０）。【選択図】図６
2014234737.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を備えた火花点火型の内燃機関とモータ・ジェネレータとを備えたハイブリッド車両に適用される内燃機関の失火検出装置において、
所定の大きさのクランク角度に設定された失火判定区間における前記内燃機関が燃焼する際の燃焼時エンジントルクを評価することにより前記内燃機関の失火を前記気筒毎に判定する失火判定手段と、
前記燃焼時エンジントルクと、前記内燃機関が燃焼せずに回転する際の非燃焼時エンジントルクとの差分を所定のクランク角度毎に算出するトルク差分算出手段と、
前記内燃機関が点火遅角されている場合に、前記トルク差分算出手段が算出した前記差分の前記失火判定区間内における合計値が増加する方向に前記失火判定区間をシフトするシフト手段と、
を備えることを特徴とする内燃機関の失火検出装置。
【請求項２】
前記内燃機関のフューエルカットが行われている期間に、前記非燃焼時エンジントルクを前記所定のクランク角度毎に取得して記憶する非燃焼時エンジントルク取得手段を更に備え、
前記トルク差分算出手段は、前記燃焼時エンジントルクと、前記非燃焼時エンジントルク取得手段が記憶する前記非燃焼時エンジントルクとの差分を前記所定のクランク角度毎に算出する請求項１に記載の失火検出装置。
【請求項３】
前記非燃焼時トルク取得手段は、前記内燃機関の角加速度及び慣性モーメント、並びに前記モータ・ジェネレータの角加速度及び慣性モーメントに基づいた計算により前記非燃焼時エンジントルクを取得する請求項２に記載の失火検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の気筒を備えた火花点火型の内燃機関とモータ・ジェネレータとを備えたハイブリッド車両に適用される内燃機関の失火検出装置に関する。
【背景技術】
【０００２】
ハイブリッド車両に搭載された内燃機関の失火検出装置として、内燃機関の点火時期を遅角させた場合でも失火の有無を精度よく判定するため、各気筒の点火時期におけるエンジン回転数の変動を順次演算し、１回転目と２回転目との間でエンジン回転数を比較することで失火を判定するものが知られている（特許文献１）。その他、本発明に関連する先行技術文献として特許文献２及び３が存在する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２６６２５３号公報
【特許文献２】特開２００７−３０７１０号公報
【特許文献３】特開２００９−１７４３９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に内燃機関の気筒数が多いほど気筒間の燃焼間隔が短くなる。このため、気筒数が多くなるほど、ある気筒の燃焼により生じるトルクが次に点火時期を迎える気筒の燃焼により生じるトルクと重なる燃焼オーバーラップが生じやすくなる。さらに、点火遅角が行われると燃焼時期が遅れるため燃焼オーバーラップの影響が拡大する。このような燃焼オーバーラップの影響により、特許文献１のように失火を判定する際にエンジン回転数の変動がどの気筒で生じたかを判別することが難しくなるため、その判定精度が悪化する可能性がある。
【０００５】
そこで、本発明は、ハイブリッド車両に搭載された内燃機関の点火遅角時における失火の判定精度の悪化を抑制できる内燃機関の失火検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の失火検出装置は、複数の気筒を備えた火花点火型の内燃機関とモータ・ジェネレータとを備えたハイブリッド車両に適用される内燃機関の失火検出装置において、所定の大きさのクランク角度に設定された失火判定区間における前記内燃機関が燃焼する際の燃焼時エンジントルクを評価することにより前記内燃機関の失火を前記気筒毎に判定する失火判定手段と、前記燃焼時エンジントルクと、前記内燃機関が燃焼せずに回転する際の非燃焼時エンジントルクとの差分を所定のクランク角度毎に算出するトルク差分算出手段と、前記内燃機関が点火遅角されている場合に、前記トルク差分算出手段が算出した前記差分の前記失火判定区間内における合計値が増加する方向に前記失火判定区間をシフトするシフト手段と、を備えるものである（請求項１）。
【０００７】
内燃機関の燃焼時に発生する燃焼時エンジントルクは、気筒内で圧縮された空気が弾性的に膨張する際に発生する膨張トルクと燃焼エネルギーで発生する燃焼トルクとが合成されたトルクである。モータリングなどで内燃機関が燃焼せずに回転する際には燃焼トルクが生じないので非燃焼時エンジントルクは膨張トルクに相当する。したがって、燃焼時エンジントルクと非燃焼時エンジントルクとの差分を算出することにより燃焼トルクが得られる。内燃機関に対して点火遅角が実行されると、非燃焼時エンジントルクがピークに達する時期に対して燃焼トルクがピークに達する時期が遅れる。しかも、点火遅角によって燃焼時エンジントルクが低下する。そのため、失火判定区間の起点を気筒毎に固定すると、ある気筒の燃焼トルクが次に点火時期が到来する気筒の失火判定区間にまで及ぶ燃焼オーバーラップが発生するとともに、燃焼オーバーラップの影響が点火遅角を行わない場合よりも大きくなる。したがって、点火遅角時においては失火判定区間における燃焼時エンジントルクの評価が不正確となり失火の判定精度が悪化する。
【０００８】
本発明の失火検出装置は、所定のクランク角度毎に算出した燃焼時エンジントルクと非燃焼時エンジントルクとの差分の失火判定区間内における合計値が増加する方向に失火判定区間をシフトする。つまり、失火判定区間の大きさが維持された状態で失火判定区間の起点が移動する。燃焼時エンジントルクと非燃焼時エンジントルクとの差分は燃焼トルクに相当するから、この差分の失火判定区間内の合計値が大きいほど失火判定区間内に燃焼トルクが収まりかつ燃焼オーバーラップの影響が低減することを意味する。したがって、その合計値が増加する方向に失火判定区間をシフトすることにより、各気筒で生じた燃焼トルクを失火判定区間内に可能な限り収めて次の失火判定区間への影響を少なくできる。これにより、失火判定区間における燃焼時エンジントルクの評価の正確性が高まるため失火の判定精度の悪化を抑制できる。なお、合計値が増加するとは、シフト前の起点における失火判定区間の差分の合計値から増加することを意味する。
【０００９】
本発明の失火検査装置の一態様において、前記内燃機関のフューエルカットが行われている期間に、前記非燃焼時エンジントルクを前記所定のクランク角度毎に取得して記憶する非燃焼時エンジントルク取得手段を更に備え、前記トルク差分算出手段は、前記燃焼時エンジントルクと、前記非燃焼時エンジントルク取得手段が記憶する前記非燃焼時エンジントルクとの差分を前記所定のクランク角度毎に算出してもよい（請求項２）。この態様によれば、シミュレーションや実機試験等によって予め作成されたマップから得られた非燃焼時エンジントルクを用いて差分を計算する場合に比べて、内燃機関の個体差や経年変化が考慮された非燃焼時エンジントルクを得ることができる。これにより、実体に即した差分を算出できる結果、失火の判定精度が向上する。
【００１０】
この態様において、前記非燃焼時トルク取得手段は、前記内燃機関の角加速度及び慣性モーメント、並びに前記モータ・ジェネレータの角加速度及び慣性モーメントに基づいた計算により前記非燃焼時エンジントルクを取得してもよい（請求項３）。内燃機関及びモータ・ジェネレータの慣性モーメントは既知の物理量であるため、クランク角度によって変化する内燃機関及びモータ・ジェネレータの角加速度を取得することによって、所定のクランク角度毎の非燃焼時エンジントルクを取得できる。
【発明の効果】
【００１１】
以上説明したように、本発明の失火検出装置によれば、所定のクランク角毎に算出した燃焼時エンジントルクと非燃焼時エンジントルクとの差分の失火判定区間内における合計値が増加する方向に失火判定区間がシフトされるため、各気筒で生じた燃焼トルクを失火判定区間内に可能な限り収め、次の失火判定区間への影響を少なくできる。これにより、失火判定区間における燃焼時エンジントルクの評価の正確性が高まるため失火の有無の判定精度の悪化を抑制できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一形態に係る失火検出装置が適用されたハイブリッド車両の全体構成を示した図。
【図２】点火進角時の気筒毎のエンジントルクを重ね合わせて示した図。
【図３】図２の気筒毎のエンジントルクを合算した図。
【図４】点火遅角時の気筒毎のエンジントルクを重ね合わせて示した図。
【図５】失火判定区間のシフト方法を説明する説明図。
【図６】第１の形態に係る制御ルーチンの一例を示したフローチャート。
【図７】第２の形態に係る制御ルーチンの一例を示したフローチャート。
【発明を実施するための形態】
【００１３】
（第１の形態）
図１に示すように、車両１は複数の動力源を組み合わせたハイブリッド車両として構成されている。車両１は、内燃機関３と、２つのモータ・ジェネレータ４、５とを走行用の動力源として備えている。内燃機関３は６つの気筒２を備えたＶ型６気筒の火花点火型の内燃機関として構成されている。＃１〜＃６の気筒番号として、一方のバンクＢ１の気筒２に奇数の気筒番号＃１、＃３、＃５を、他方のバンクＢ２の気筒２に偶数の気筒番号＃２、＃４、＃６を与えた場合、内燃機関３の点火順序は、＃１、＃２、＃３、＃４、＃５、＃６に設定されている。内燃機関３は６気筒であるので各気筒２の点火間隔はクランク角度で１２０°である。以下、クランク角度及びその大きさを数値で示す場合は数値の後にクランク角度を意味する「°ＣＡ」を併記する。
【００１４】
内燃機関３と第１モータ・ジェネレータ４とは動力分割機構６に連結されている。第１モータ・ジェネレータ４はステータ４ａとロータ４ｂとを有する。ステータ４ａはケース１０に固定されている。第１モータ・ジェネレータ４は動力分割機構６にて分配された内燃機関３の動力を受けて発電する発電機として機能するとともに、交流電力にて駆動される電動機としても機能する。同様に、第２モータ・ジェネレータ５はケース１０に固定されたステータ５ａとロータ５ｂとを有し、電動機及び発電機としてそれぞれ機能する。第１モータ・ジェネレータ４は本発明に係るモータ・ジェネレータに相当する。
【００１５】
動力分割機構６はシングルピニオン型の遊星歯車機構として構成されている。動力分割機構６は、外歯歯車のサンギアＳと、サンギアＳと同軸に配置された内歯歯車のリングギアＲと、これらのギアＳ、Ｒに噛み合うピニオンＰを自転及び公転可能に保持するプラネタリキャリアＣとを有している。内燃機関３が出力するエンジントルクは動力分割機構６のプラネタリキャリアＣにトーショナルダンパ１７を介して伝達される。
【００１６】
第１モータ・ジェネレータ４のロータ４ｂは動力分割機構６のサンギアＳに連結されている。動力分割機構６からリングギアＲを介して出力されたトルクは出力ギア２０に伝達される。出力ギア２０から出力されたトルクは各種の伝達機構を介して不図示の駆動輪に伝達される。
【００１７】
車両１の各部の制御はコンピュータとして構成された電子制御装置（ＥＣＵ）３０にて制御される。ＥＣＵ３０は内燃機関３及び各モータ・ジェネレータ４、５等に対して各種の制御を行う。ＥＣＵ３０には車両１の各種の情報が入力される。例えば、ＥＣＵ３０には、第１モータ・ジェネレータ４の回転角度に応じた信号を出力する第１レゾルバ３１の出力信号と、第２モータ・ジェネレータ５の回転角度に応じた信号を出力する第２レゾルバ３２の出力信号と、アクセルペダル３４の踏み込み量に対応する信号を出力するアクセル開度センサ３３の出力信号と、車両１の車速に応じた信号を出力する車速センサ３５の出力信号と、内燃機関３のクランク角に対応する信号を出力するクランク角センサ３６の出力信号とがそれぞれ入力される。
【００１８】
ＥＣＵ３０は、アクセル開度センサ３３の出力信号と車速センサ３５の出力信号とを参照して運転者が要求する要求駆動力を計算し、その要求駆動力に対するシステム効率が最適となるように各種のモードを切り替えながら車両１を制御する。例えば、内燃機関３の熱効率が低下する低負荷領域では内燃機関３の燃焼を停止して第２モータ・ジェネレータ５を駆動するＥＶモードが選択される。また、内燃機関３だけではトルクが不足する場合は、内燃機関３とともに第２モータ・ジェネレータ５を走行用駆動源とするハイブリッドモードが選択される。
【００１９】
また、ＥＣＵ３０は内燃機関３の失火を気筒２毎に判定する失火検査装置としての機能を有している。本形態は内燃機関３の点火遅角時に行う失火判定処理に特徴がある。本形態の特徴を説明する前に、失火判定処理の基本的な諸事項について図２〜図４を参照しながら説明する。図２は、内燃機関３の点火進角時のエンジントルクを示しており、各気筒２から出力されるエンジントルクが互いに重ね合わせて表示されている。ちなみに、図２に示された各気筒２のエンジントルクを合成した場合は図３に示した波形となる。上述したように、内燃機関３は気筒２間の点火間隔が１２０°ＣＡに設定されている。これらの図に示すように、内燃機関３の点火進角時においては、失火判定を行う失火判定区間Ａの大きさを１２０°ＣＡとし、気筒２毎に設けられた失火判定区間Ａの起点ａを０°ＣＡ、１２０°ＣＡ、２４０°ＣＡ、３６０°ＣＡ、４８０°ＣＡ、６００°ＣＡとした場合、燃焼オーバーラップが生じても各気筒２のエンジントルクのほとんどが各失火判定区間Ａにカバーされる。しかも、点火進角時においては点火遅角時と比べて正常時のエンジントルクと失火時のエンジントルクとの差が大きい。このため、図２及び図３の点火進角時においては、幾らかの燃焼オーバーラップが生じても失火判定区間Ａにおけるエンジントルクを評価することにより失火の判定精度を保つことができる。
【００２０】
これに対して、図４に示した内燃機関３の点火遅角時においては、点火遅角により燃焼トルクの発生が遅れ、かつエンジントルク自体が低下するので、ハッチングで示した燃焼オーバーラップの影響が大きくなる。そのため、図２及び３に示した点火進角時と同様に失火判定区間Ａ及びその起点ａを図４のように設定すると、失火判定区間Ａにおけるエンジントルクの評価が不正確なものとなり失火の判定精度が悪化する。
【００２１】
図５に示すように、内燃機関３の燃焼時に発生する燃焼時エンジントルクＴｅは、気筒２内で圧縮された空気が弾性的に膨張する際に発生する膨張トルクＴｅ１と燃焼エネルギーで発生する燃焼トルクＴｅ２とが合成されたトルクである。失火が発生した場合は燃焼トルクＴｅ２が発生せずに膨張トルクＴｅ１のみが燃焼時エンジントルクＴｅとして出力される。そのため、燃焼トルクＴｅ２の有無を正確に評価できれば失火判定の精度が高まる。したがって、燃焼トルクＴｅ２を可能な限り収めることができるように失火判定区間Ａを設定することにより、燃焼オーバーラップの影響を低減したエンジントルクの評価が可能となる。燃焼トルクＴｅ２は燃焼時エンジントルクＴｅと膨張トルクＴｅ１との差分に相当するため、図５のハッチングで示した領域を最大にカバーする区間を失火判定区間Ａとすることによって燃焼トルクＴｅ２の有無、すなわち失火の有無を正確に判定することが可能となる。そこで、本形態の失火判定処理は、燃焼時エンジントルクＴｅと膨張トルクＴｅ１との差分を所定のクランク角毎に算出し、失火判定区間Ａ内での各差分の合計値が最大となるシフト量βを算出し、そのシフト量βだけ失火判定区間Ａをシフトする。これにより、各気筒２で生じた燃焼トルクＴｅ２が失火判定区間Ａ内に可能な限り収められ、次の失火判定区間Ａへの燃焼トルクＴｅ２の影響が低減するため失火の判定精度の悪化を抑制できる。
【００２２】
以上の制御はＥＣＵ３０が図６の制御ルーチンを実行することにより実現される。図６の制御ルーチンのプログラムはＥＣＵ３０に記憶されており、適時に読み出されて所定間隔で繰り返し実行される。ステップＳ１において、ＥＣＵ３０は内燃機関３のエンジン回転数Ｎｅが燃焼運転時の基準値Ｎｅａ以上か否かを判定する。例えば、基準値Ｎｅａは４００ｒｐｍに設定される。エンジン回転数Ｎｅはクランク角センサ３６の出力信号に基づいて計算される。エンジン回転数Ｎｅが基準値Ｎｅａ以上の場合はステップＳ２に進む。エンジン回転数Ｎｅが基準値Ｎｅａ未満の場合は以後の処理をスキップして今回のルーチンを終了する。ステップＳ２において、ＥＣＵ３０は内燃機関３の燃焼が行われていないフューエルカット中か否かを判定する。フューエルカット中ではなく内燃機関３の燃焼が行われている場合はステップＳ３に進む。フューエルカット中の場合は以後の処理をスキップして今回のルーチンを終了する。
【００２３】
ステップＳ３において、ＥＣＵ３０は判定区間カウンタＣ１をインクリメントする。判定区間カウンタＣ１は失火判定を行う気筒２を特定する変数であり、このカウンタＣ１の値を参照することにより６つの気筒２のいずれが失火判定の対象であるかを特定することができる。これにより、気筒２毎の失火の判定が可能となる。ステップＳ４において、ＥＣＵ３０は内燃機関３の点火時期が所定基準よりも後、すなわち点火時期が所定基準よりも遅角されているか否かを判定する。この所定基準としては、例えば、上死点の前の５°ＣＡに、すなわちＢＴＤＣ５°ＣＡに設定されている。点火時期が所定基準よりも遅角されていない場合はステップＳ５に進む。点火時期が所定基準よりも遅角されている場合はステップＳ６に進む。
【００２４】
ステップＳ５において、ＥＣＵ３０は気筒別トルクＴｅｘを算出する。気筒別トルクＴｅｘは失火判定区間Ａ内の燃焼時エンジントルクＴｅの平均値である（図２及び図３参照）。この平均値の算出方法は特に制限されないが、ＥＣＵ３０は判定区間カウンタＣ１を参照して失火判定の対象となる気筒２に対応する失火判定区間Ａを特定する。そして、特定した失火判定区間Ａにおける燃焼時エンジントルクＴｅの計算値（標本）を複数個求め、各標本の算術平均を求めている。燃焼時エンジントルクＴｅの計算値の個数及び間隔は適宜設定される。ここでは、失火判定の対象となる気筒２の上死点から１２０°ＣＡの範囲内で１°ＣＡ毎に合計１２０個の燃焼時エンジントルクＴｅの標本を得ている。失火判定区間Ａ内における燃焼時エンジントルクＴｅの計算は以下の式１に基づいて行われる。
【００２５】
Ｔｅ＝Ｉｅ＊ｄωｅ＋（１＋ρ）／ρ＊（Ｉｇ＊ｄωｇ−Ｔｇ）  ………１
【００２６】
ここで、Ｉｅは内燃機関３の慣性モーメント、ｄωｅは内燃機関３の角加速度、Ｉｇは第１モータ・ジェネレータ４の慣性モーメント、ｄωｇは第１モータ・ジェネレータ４の角加速度、Ｔｇは第１モータ・ジェネレータ４のトルク反力、ρは動力分割機構６のプラネタリギア比である。
【００２７】
式１のうち、慣性モーメントＩｅ、Ｉｇ、プラネタリギア比ρはそれぞれ既知の物理量の定数である。残りのパラメータはＥＣＵ３０にて計算される。内燃機関３の角加速度ｄωｅはクランク角センサ３６の出力信号に基づいて、第１モータ・ジェネレータ４の角加速度ｄωｇは第１レゾルバ３１の出力信号に基づいてそれぞれＥＣＵ３０にて計算される。トルク反力Ｔｇは第１モータ・ジェネレータ４の制御パラメータとしてＥＣＵ３０にて常時把握されているので、ＥＣＵ３０が把握するトルク反力Ｔｇの値が用いられる。ＥＣＵ３０は、式１にて計算した燃焼時エンジントルクＴｅの複数個の標本の平均値を求めることによって失火判定区間Ａ内の気筒別トルクＴｅｘを算出する。
【００２８】
一方、点火遅角が行われている場合、ＥＣＵ３０はステップＳ６において燃焼時エンジントルクＴｅを所定のクランク角度毎に例えば３０°ＣＡ毎に算出する。この算出は式１を用いた上記の方法で行われる。クランク角度で規定される燃焼時エンジントルクＴｅの算出範囲は適宜設定してよい。ここでは、失火判定の対象となる気筒２の上死点前１２０°ＣＡから上死点後１２０°ＣＡの算出範囲で燃焼時エンジントルクＴｅが算出される。
【００２９】
ステップＳ７において、ＥＣＵ３０は非燃焼時トルクとしての膨張トルクＴｅ１を取得する。ＥＣＵ３０は、膨張トルクＴｅ１とクランク角度とが対応付けられ、予めＥＣＵ３０に記憶されたマップ（不図示）を参照し、ステップＳ６で算出した燃焼時エンジントルクＴｅと同一のクランク角度に対応する膨張トルクＴｅ１を読み出すことにより取得する。このマップは、実施試験やシミュレーション等の調査方法で事前に膨張トルクＴｅ１とクランク角度との対応を調査し、その調査結果に基づいて作成される。ステップＳ８において、ＥＣＵ３０は燃焼時エンジントルクＴｅと膨張トルクＴｅ１との差分を、ステップＳ６と同じクランク角度毎に算出する。
【００３０】
ステップＳ９において、ＥＣＵ３０は失火判定区間Ａのシフト量βを算出する。このシフト量βは、図５で説明した方法で算出される。すなわち、ＥＣＵ３０は、失火判定区間Ａの大きさを維持しつつシフト前の起点ａ（図４も参照）から失火判定区間Ａをシフトさせながらシフトした失火判定区間Ａ内に含まれる上記各差分の合計値を求める。そして、その合計値が最大となるシフト量βを探索することによりシフト量βを算出する。
【００３１】
ステップＳ１０において、ＥＣＵ３０はステップＳ９で算出したシフト量βだけ失火判定区間Ａをシフトさせる。ステップＳ１１において、ＥＣＵ３０はステップＳ１０でシフトさせた失火判定区間Ａにおいて気筒別トルクＴｅｘを算出する。この気筒別トルクＴｅｘの算出方法はステップＳ５の算出方法と同じである。
【００３２】
ステップＳ１２において、ＥＣＵ３０はステップＳ５又はステップＳ１１で算出した気筒別トルクＴｅｘが失火判定トルクＴｅｘａよりも小さいか否かを判定する。失火判定トルクＴｅｘａは失火が生じたと見なし得るトルク範囲の上限値として設定されている。したがって、気筒別トルクＴｅｘが失火判定トルクＴｅｘａよりも小さい場合は失火が生じたと見なすことができる。気筒別トルクＴｅｘが失火判定トルクＴｅｘａよりも小さい場合はステップＳ１３に進む。気筒別トルクＴｅｘが失火判定トルクＴｅｘａ以上の場合はステップＳ１３をスキップしてステップＳ１４に進む。
【００３３】
ステップＳ１３において、ＥＣＵ３０は失火の発生回数を計数するための失火カウンタＣ２をインクリメントする。ステップＳ１４において、ＥＣＵ３０は失火カウンタＣ２の値が所定の閾値Ｎ以上であるか否かを判定する。失火は何らかの原因で偶発的に生じる可能性もある。そのため、エンジン不調を原因とした失火と区別すべく閾値Ｎが設定されている。失火カウンタＣ２の値が閾値Ｎ以上の場合はステップＳ１５に進み、失火カウンタＣ２の値が閾値Ｎ未満の場合は今回のルーチンを終了する。ステップＳ１５において、ＥＣＵ３０は、エンジン不調を原因とする失火が発生した失火状態と診断する。ＥＣＵ３０は失火状態と診断した場合には不図示の警告灯を点灯させる。
【００３４】
図６の制御ルーチンによれば、失火判定区間Ａをシフト量βだけシフトさせるため、上述したように各気筒２で生じた燃焼トルクＴｅ２が失火判定区間Ａ内に可能な限り収められる。それにより、次の失火判定区間Ａへの燃焼トルクＴｅ２の影響が低減するため失火の判定精度の悪化を抑制できる。ＥＣＵ３０は、図６のステップＳ５又はステップＳ１１とステップＳ１２とを実行することにより本発明に係る失火判定手段として、図６のステップＳ８を実行することにより本発明に係るトルク差分算出手段として、図６のステップＳ９及びステップＳ１０を実行することにより本発明に係るシフト手段として、それぞれ機能する。
【００３５】
（第２の形態）
次に、本発明の第２の形態を、図７を参照しながら説明する。第２の形態は制御内容を除いて第１の形態と共通するため第２の形態の物理的構成については図１が参照される。第２の形態の制御は図６の制御ルーチンと組み合わせて実施される。第１の形態では、図６のステップＳ７において非燃焼時エンジントルクとしての膨張トルクＴｅ１を予め実機試験等で作成してＥＣＵ３０に記憶されたマップに基づいて計算した。第２の形態は、このマップの代りに、車両１の走行中に膨張トルクＴｅ１を算出し、膨張トルクＴｅ１をクランク角度毎に整理したデータベースを用いて失火判定処理を行う。つまり、ＥＣＵ３０は図６のステップＳ７を実行する際にこのデータベースに基づいて膨張トルクＴｅ１を算出する。
【００３６】
図７の制御ルーチンのプログラムはＥＣＵ３０に保持されており、所定の間隔で繰り返し実行される。ステップＳ２１において、ＥＣＵ３０はエンジン回転数Ｎｅが基準値Ｎｅ１よりも大きいか否かを判定する。この基準値Ｎｅ１はエンジン回転数Ｎｅが十分な大きさを有するか否かを判断するために設定され、例えば６００ｒｐｍに設定される。エンジン回転数Ｎｅが基準値Ｎｅ１よりも大きい場合はステップＳ２２に進み、エンジン回転数Ｎｅが基準値Ｎｅ１以下の場合は処理を戻す。ステップＳ２２において、ＥＣＵ３０は内燃機関３がフューエルカット中か否かを判定し、フューエルカット中の場合はステップＳ２３に進み、そうでない場合は処理をステップＳ２１に戻す。ステップＳ２３において、ＥＣＵ３０は、計算結果の精度を確保するため、内燃機関３の回転変動が規定値以下か否かを判定する。この回転変動はクランク角センサ３６の出力信号に基づいて計算され、所定時間当たりのエンジン回転数Ｎｅの変化に相当する。内燃機関３の回転変動が規定値以下の場合はステップＳ２４に進む。内燃機関３の回転変動が規定値を超えている場合は処理をステップＳ２１に戻す。
【００３７】
ステップＳ２１〜ステップＳ２３の全てにおいて肯定的な判定がなされた場合、ＥＣＵ３０はステップＳ２４において、現在のクランク角度の膨張トルクＴｅ１を算出する。この膨張トルクＴｅ１の算出は、上述した燃焼時エンジントルクＴｅの算出と同様に式１を用いて実施される。上述したように、内燃機関３及び第１モータ・ジェネレータ４の慣性モーメントは既知の物理量の定数であるため、内燃機関３及び第１モータ・ジェネレータ４の角加速度を計算して取得することによって、所定のクランク角度毎の膨張トルクＴｅ１を取得できる。ステップＳ２５において、ＥＣＵ３０はステップＳ２４の算出結果をクランク角度と対応付けて記憶する。
【００３８】
ステップＳ２６において、ＥＣＵ３０は、ステップＳ２４の計算時のクランク角度に対応する膨張トルクＴｅ１の算出結果の数（蓄積データ数）がＮ個以上か否かを判定する。Ｎは、個々のクランク角度に対する膨張トルクＴｅ１の平均値を計算するための標本数であり、Ｎの値は適宜に設定される。蓄積データ数がＮ個以上の場合はステップＳ２７に進む。蓄積データ数がＮ個未満の場合は処理をステップＳ２１に戻す。
【００３９】
ステップＳ２７において、ＥＣＵ３０は蓄積データ数がＮ個に達したクランク角度に対応する膨張トルクＴｅ１の平均値を算出し、その平均値をそのクランク角度に対する膨張トルクＴｅ１として記憶することによりデータベースを作成する。ステップＳ２８において、ＥＣＵ３０は、予め決められた全てのクランク角度について膨張トルクＴｅ１の平均値が記憶されたか否か、つまりデータベースが完成したか否かを判定する。データベースが完成した場合はステップＳ２９に進み、そうでない場合はステップＳ２９をスキップして今回のルーチンを終了する。ステップＳ２９において、ＥＣＵ３０は、図６のステップＳ６〜ステップＳ１１の処理の実行の可否を管理するための計算許可フラグをセットする。第２の形態において図６の制御ルーチンを実施する場合、ＥＣＵ３０はこの計算許可フラグがセットされていることを条件として、ステップＳ６〜ステップＳ１１の処理を実行する。ＥＣＵ３０は図６のステップＳ７を実行する際には、図７の制御ルーチンにより作成されたデータベースを参照して、膨張トルクＴｅ１を取得する。
【００４０】
図７の制御ルーチンによれば、第１の形態のように予め作成されたマップを用いて膨張トルクＴｅ１を取得し、燃焼時エンジントルクＴｅと膨張トルクＴｅ１との差分を計算する場合に比べて、内燃機関３の個体差や経年変化が考慮された膨張トルクＴｅ１を得ることができる。このため実体に即した差分を算出できる結果、失火の判定精度が向上する。なお、図７の制御ルーチンによって作成したデータベースは、データベースが完成してからの内燃機関３の運転時間の積算値が所定値を超えた場合やデータベースが完成してからの経過時間が所定値を超えた場合等の更新条件が成立した場合にデータベースを更新することも可能である。このようにデータベースを更新することにより、内燃機関３の経年変化が適切に反映されたデータベースが得られる。ＥＣＵ３０は、図７の制御ルーチンを実行することにより、本発明に係る非燃焼時エンジントルク取得手段として機能する。
【００４１】
本発明は上記の各形態に限定されず、本発明の要旨の範囲内において種々の形態にて実施できる。本発明の失火検出装置の適用対象としては、図１に示した形態のハイブリッド車両に限らない。例えば、一つのモータ・ジェネレータが内燃機関に直結された形態のハイブリッド車両に対しても本発明を適用できる。
【００４２】
上記の各形態は、図５に示したように、失火判定区間Ａの大きさを維持しつつシフト前の起点ａから失火判定区間Ａをシフトさせながらシフトした失火判定区間Ａ内に含まれる燃焼時エンジントルクＴｅと膨張トルクＴｅ１との差分の合計値を求め、その合計値が最大となるシフト量βを探索することによりシフト量βを算出する。しかしながら、当該差分の合計値が最大となるシフト量βを算出することは一例にすぎない。当該差分の合計値が増加する方向に失火判定区間Ａをシフトできれば、起点ａを固定する場合よりも失火の判定精度の悪化を抑制できる。したがって、当該差分の合計値が最大値に至らない程度、例えば、当該差分の合計値が最大値の７０％〜９０％となるシフト量を算出し、そのシフト量に基づいて失火判定区間をシフトする形態で本発明を実施することもできる。
【００４３】
上記の各形態は、失火判定区間内の燃焼時エンジントルクの平均値である気筒別トルクを算出し、気筒別トルクと失火判定トルクとを比較することによって失火を判定しているが、この失火の判定方法は失火判定区間内の燃焼時エンジントルクを評価して失火を判定する一例にすぎない。例えば、失火判定区間内の燃焼時エンジントルクの最小値と最大値との差分を求め、その差分と判定値とを比較することによって失火を判定することも可能である。
【００４４】
燃焼オーバーラップは５気筒以上の内燃機関の場合にその影響が大きくなるが、本発明の適用対象は５気筒以上の内燃機関に制限されない。複数の気筒を有する内燃機関であれば本発明を適用することができ、失火判定の精度向上が期待できる。
【符号の説明】
【００４５】
１  ハイブリッド車両
３  内燃機関
４  第１モータ・ジェネレータ（モータ・ジェネレータ）
３０  ＥＣＵ（失火判定手段、トルク差分算出手段、シフト手段、非燃焼時エンジントルク取得手段）
【図１】
2014234737.tif 000003
【図２】
2014234737.tif 000004
【図３】
2014234737.tif 000005
【図４】
2014234737.tif 000006
【図５】
2014234737.tif 000007
【図６】
2014234737.tif 000008
【図７】
2014234737.tif 000009