(57)【要約】【課題】車両のエンジンにおける燃焼不良の判定精度を向上させる。【解決手段】燃焼判定装置は、複数の気筒を有するエンジン（１０）と、エンジンのクランクシャフト（１０１）にトーショナルダンパ（１４）を介して接続されたインプットシャフト（１３１）を有するトランスアクスルとを備える車両（１）に搭載され、クランクシャフトのクランク角を検出するクランク角検出手段（３１）と、インプットシャフトの回転角を検出する回転角検出手段（２４、２５）と、エンジンの運転状態に応じて、複数の気筒のうち一の気筒における点火上死点後クランクシャフトが１８０度から３６０度まで回転する第１期間、又は一の気筒における点火上死点後クランクシャフトが３６０度から７２０度まで回転する第２期間において、一の気筒が燃焼不良であるか否かを判定する判定手段とを備える（２２）。【選択図】図１３
2010209700.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有するエンジンと、前記エンジンのクランクシャフトにトーショナルダンパを介して接続されたインプットシャフトを有するトランスアクスルとを備える車両に搭載され、
前記クランクシャフトのクランク角を検出するクランク角検出手段と、
前記インプットシャフトの回転角を検出する回転角検出手段と、
前記エンジンの運転状態に応じて、前記複数の気筒のうち一の気筒における点火上死点後前記クランクシャフトが１８０度から３６０度まで回転する第１期間、又は前記一の気筒における点火上死点後前記クランクシャフトが３６０度から７２０度まで回転する第２期間において、前記一の気筒が燃焼不良であるか否かを判定する判定手段と
を備え、
前記判定手段は、前記運転状態として前記エンジンにおいて発生されるトルクが第１トルク領域内である場合に、前記第１期間に前記検出された回転角が、１８０度から第１所定角を減じた値より小さいことを条件に、前記一の気筒が燃焼不良であると判定する
ことを特徴とする燃焼判定装置。
【請求項２】
前記エンジンは、前記複数の気筒の各々から排出される排気ガスを浄化する触媒を有し、
前記判定手段は、前記運転状態として前記エンジンにおいて発生されるトルクが前記第１トルク領域よりも大きい第２トルク領域内である場合、又は前記触媒を暖機している場合に、前記第２期間に前記検出された回転角が、３６０度から第２所定角を減じた値より小さいことを条件に、前記一の気筒が燃焼不良であると判定する
ことを特徴とする請求項１に記載の燃焼判定装置。
【請求項３】
前記クランクシャフトには、前記クランク角を検出するために、欠歯部を有するクランクロータが設けられており、
前記第１期間及び前記第２期間は、前記クランク角検出手段が、前記欠歯部の影響を受けない期間として設定されている
ことを特徴とする請求項２に記載の燃焼判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばエンジンがトーショナルダンパを介してトランスアクスルに接続されている車両において、エンジンの各気筒の燃焼不良を判定する燃焼判定装置の技術分野に関する。
【背景技術】
【０００２】
この種の装置として、例えば、エンジンの出力軸にねじれ要素を介して接続されると共に駆動軸に接続されてエンジンの回転数を調整可能な回転数調整手段の駆動状態の変動分が、エンジンの出力トルクに応じた所定角変動分以上の時に失火していると判定する、或いは駆動状態の変動のエンジンの出力軸の回転角に対する位相に基づいてエンジンのいずれの気筒が失火しているかを判定する装置が提案されている（特許文献１参照）。
【０００３】
或いは、エンジンのトルク脈動に伴う振動を抑制するために二つのモータにより制振制御を行う装置が提案されている。ここでは特に、エンジンの出力軸の回転位置に基づいて演算される、出力軸が単位回転角回転するのに要する時間である単位回転角回転所要時間等に基づいて、エンジンのいずれかの気筒が失火しているかを仮判定することが開示されている（特許文献２参照）。
【０００４】
或いは、出力軸がねじれ要素を介して後段の入力軸に接続された複数気筒のエンジンを備える車両において、ねじれ要素より後段の慣性モーメントと後段の入力軸の回転角速度とに基づいて、ねじれ要素のねじれに基づいてエンジンの出力軸に作用するトルクである影響トルクによってエンジンの出力軸の回転角速度に与える影響成分を演算し、エンジンの出力軸の回転角速度から演算した影響成分を減じて得られる判定用角速度に基づいてエンジンの失火を判定する装置が提案されている（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１７０２４８号公報
【特許文献２】特開２００８−９５６１７号公報
【特許文献３】特開２００８−５７４９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の背景技術によれば、例えばエンジン及びトランスアクスル間の伝達特性等は考慮されていないため、例えば判定精度が低下する可能性があるという技術的問題点がある。
【０００７】
本発明は、例えば上記問題点に鑑みてなされたものであり、判定精度を向上させることができる燃焼判定装置を提供することを課題とする。
【課題を解決するための手段】
【０００８】
本発明の燃焼判定装置は、上記課題を解決するために、複数の気筒を有するエンジンと、前記エンジンのクランクシャフトにトーショナルダンパを介して接続されたインプットシャフトを有するトランスアクスルとを備える車両に搭載され、前記クランクシャフトのクランク角を検出するクランク角検出手段と、前記インプットシャフトの回転角を検出する回転角検出手段と、前記エンジンの運転状態に応じて、前記複数の気筒のうち一の気筒における点火上死点後前記クランクシャフトが１８０度から３６０度まで回転する第１期間、又は前記一の気筒における点火上死点後前記クランクシャフトが３６０度から７２０度まで回転する第２期間において、前記一の気筒が燃焼不良であるか否かを判定する判定手段とを備え、前記判定手段は、前記運転状態として前記エンジンにおいて発生されるトルクが第１トルク領域内である場合に、前記第１期間に前記検出された回転角が、１８０度から第１所定角を減じた値より小さいことを条件に、前記一の気筒が燃焼不良であると判定する。
【０００９】
本発明の燃焼判定装置によれば、当該燃焼判定装置は、複数の気筒を有するエンジンと、該エンジンのクランクシャフトにトーショナルダンパを介して接続されたインプットシャフトを有するトランスアクスルとを備える車両に搭載される。
【００１０】
例えばクランク角センサ等であるクランク角検出手段は、クランクシャフトのクランク角を検出する。具体的には、クランクシャフトには、クランクロータが取り付けられている。該クランクロータの外周には、クランク角検出用として、例えば１０度ＣＡ（Ｃｒａｎｋ  Ａｎｇｌｅ：クランク角）毎に形成された３４個の歯部と、２歯連続で欠歯された欠歯部とが設けられている。クランク角検出手段は、各歯部によりクランクシャフトの回転角度を検出する。
【００１１】
例えばメモリ、プロセッサ等を備えてなる回転角検出手段は、インプットシャフトの回転角を検出する。具体的には例えば、当該燃焼判定装置を搭載する車両が、該車両の駆動用モータと、エンジンの制御用モータとを備えるハイブリッド車両である場合、駆動用モータ及び制御用モータの各々にレゾルバを取り付け、回転角検出手段は、駆動用モータに取り付けられたレゾルバの角変化、及び制御用モータに取り付けられたレゾルバの角変化の各々に基づいて、インプットシャフトの変化角を二つ算出し、該算出された二つの変化角の和をインプットシャフトの回転角として検出する。或いは、回転角検出手段は、インプットシャフトに取り付けられた角度センサ等によりインプットシャフトの回転角を直接的に検出する。
【００１２】
例えばメモリ、プロセッサ、コンパレータ等を備えてなる判定手段は、エンジンの運転状態に応じて、複数の気筒のうち一の気筒における点火上死点後クランクシャフトが１８０度から３６０度まで回転する第１期間、又は一の気筒における点火上死点後クランクシャフトが３６０度から７２０度まで回転する第２期間において、一の気筒が燃焼不良であるか否かを判定する。
【００１３】
ここで、「一の気筒における点火上死点後クランクシャフトが１８０度から３６０度まで回転する」とは、一の気筒における点火上死点からクランクシャフトが１８０度回転した後、クランクシャフトが更に１８０度回転することを意味する。同様に、「一の気筒における点火上死点後クランクシャフトが３６０度から７２０度まで回転する」とは、一の気筒における点火上死点からクランクシャフトが３６０度回転した後、クランクシャフトが更に３６０度回転することを意味する。
【００１４】
判定手段は、運転状態としてエンジンにおいて発生されるトルクが第１トルク領域内である場合に、第１期間に検出された回転角が、１８０度から第１所定角を減じた値より小さいことを条件に、一の気筒が燃焼不良であると判定する。他方、判定手段は、典型的には、第１期間に検出された回転角が、１８０度から第１所定角を減じた値より大きいことを条件に、一の気筒が燃焼不良でないと判定する。
【００１５】
ここで、「第１トルク領域」は、典型的には、エンジンにおいて発生されるトルクが比較的小さい領域を意味する。尚、「一の気筒における点火上死点」は、例えば、クランク角センサ信号とカムセンサ信号とに基づいて検出すればよい。
【００１６】
本発明に係る「第１所定角」とは、一の気筒が燃焼不良であるか否かを決定する値を算出するための値であり、予め固定値として、或いは何らかの物理量又はパラメータに応じた可変値として設定される値である。このような第１所定角は、実験的若しくは経験的に、又はシミュレーションによって、例えば一の気筒が正常に燃焼している場合と、燃焼不良である場合とにおける、インプットシャフトの回転角と１８０度との差分値を、エンジンのトルク変動毎に求め、該求められた差分値に基づいて確実に燃焼不良であると言える差分値として設定すればよい。
【００１７】
本願発明者の研究によれば、トーショナルダンパを介してトランスアクスルに接続されているエンジンにおいて燃焼不良が生じた場合、発生されたトルクが少ない分トランスアクスルに伝達される力が小さくなり、エンジンからトランスアクスルまでの間の伝達特性及びエンジンの運転状態等に応じて、エンジンの回転角に対してトランスアクスルのインプットシャフトの回転角が小さくなる期間が発生する。このインプットシャフトの回転角が小さくなる期間は、回転系の慣性力が大きくなる（即ち、エンジンにおいて発生されたトルクが大きくなる）に従って、発生が遅くなることが判明している。
【００１８】
このため本発明では、運転状態としてエンジンにおいて発生されるトルクが第１トルク領域内である場合に、判定手段により、第１期間に検出された回転角に基づいて、一の気筒が燃焼不良であるか否かが判定される。他方、運転状態としてエンジンにおいて発生されるトルクが第１トルク領域よりも大きい第２領域内である場合、典型的には、判定手段により、第２期間に検出された回転角に基づいて、一の気筒が燃焼不良であるか否かが判定される。
【００１９】
このように、本発明の燃焼判定装置では、エンジン及びトランスアクスル間の伝達特性を考慮して、適切な時期に一の気筒が燃焼不良であるか否かが判定される。従って、判定精度を向上させることができる。
【００２０】
本発明の燃焼判定装置の一態様では、前記エンジンは、前記複数の気筒の各々から排出される排気ガスを浄化する触媒を有し、前記判定手段は、前記運転状態として前記エンジンにおいて発生されるトルクが前記第１トルク領域よりも大きい第２トルク領域内である場合、又は前記触媒を暖機している場合に、前記第２期間に前記検出された回転角が、３６０度から第２所定角を減じた値より小さいことを条件に、前記一の気筒が燃焼不良であると判定する。
【００２１】
この態様によれば、エンジンは、複数の気筒の各々から排出される排気ガスを浄化する、例えば三元触媒等の触媒を有する。
【００２２】
判定手段は、運転状態としてエンジンにおいて発生されるトルクが第１トルク領域よりも大きい第２トルク領域内である場合、又は触媒を暖機している場合に、第２期間に検出された回転角が、３６０度から第２所定角を減じた値より小さいことを条件に、一の気筒が燃焼不良であると判定する。他方、判定手段は、典型的には、第２期間に検出された回転角が、３６０度から第２所定角を減じた値より大きいことを条件に、一の気筒が燃焼不良でないと判定する。
【００２３】
ここで、「第１トルク領域よりも大きい第２トルク領域」とは、第２トルク領域の下限値が第１トルク領域の上限値よりも大きいことを意味する。また、「第２トルク領域」は、典型的には、エンジンにおいて発生されるトルクが比較的大きい領域を意味する。
【００２４】
本発明に係る「第２所定角」とは、一の気筒が燃焼不良であるか否かを決定する値を算出するための値であり、予め固定値として、或いは何らかの物理量又はパラメータに応じた可変値として設定される値である。このような第２所定角は、実験的若しくは経験的に、又はシミュレーションによって、例えば一の気筒が正常に燃焼している場合と、燃焼不良である場合とにおける、インプットシャフトの回転角と３６０度との差分値を、エンジンのクランクカウンタ又は燃焼毎に求め、該求められた差分値に基づいて確実に燃焼不良であると言える差分値として設定すればよい。
【００２５】
この態様では、前記クランクシャフトには、前記クランク角を検出するために、欠歯部を有するクランクロータが設けられており、前記第１期間及び前記第２期間は、前記クランク角検出手段が、前記欠歯部の影響を受けない期間として設定されてよい。
【００２６】
このように構成すれば、回転角検出手段により検出されるインプットシャフトの回転角から欠歯部の影響を除くことができる。この結果、判定手段による判定精度をより向上させることができ、実用上非常に有利である。
【００２７】
本発明の作用及び他の利得は次に説明する実施するための形態から明らかにされる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態に係る燃焼判定装置が搭載される車両の構成を示すブロック図である。
【図２】本発明の実施形態に係るクランク角センサの構成を概略的に示した構成図である。
【図３】クランク角センサ信号の一例である。
【図４】本発明の実施形態に係るＥＮＧ−ＥＣＵ等が実行するエンジンフィードバック制御処理を示すフローチャートである。
【図５】クランクシャフトの回転角度とインプットシャフトの回転角度との関係をエンジンの負荷毎に示す概念図である。
【図６】クランクシャフトの回転角度とインプットシャフトの回転角度との関係を車両の速度毎に示す実験データの一例である。
【図７】クランクシャフトの回転角度とインプットシャフトの回転角度との関係を空燃比毎に示す実験データの一例である。
【図８】クランクシャフトの回転角度とインプットシャフトの回転角度との関係を空燃比毎に示す実験データの他の例である。
【図９】エンジンにおいて発生されるトルクが比較的小さい場合のクランクカウンタとインプットシャフトの回転角度との関係を示す実験データの一例である。
【図１０】エンジンにおいて発生されるトルクが比較的大きい場合のクランクカウンタとインプットシャフトの回転角度との関係を示す実験データの一例である。
【図１１】クランクシャフトの回転角度と３０度ＣＡ信号ＮＥ０が入力される時間間隔との関係を示す実験データの一例である。
【図１２】図１１に示す関係に対応するクランクシャフトの回転角度とインプットシャフトの回転角度との関係を示す実験データの一例である。
【図１３】本発明の実施形態に係るＥＮＧ−ＥＣＵ等が実行するインプットシャフトの回転角度算出処理を示すフローチャートである。
【図１４】本発明の実施形態に係るＥＮＧ−ＥＣＵ等が実行する燃焼不良カウンタ操作処理を示すフローチャートである。
【図１５】本発明の実施形態に係るトルク変動値と燃焼不良判定基準値との関係を示すマップの一例である。
【図１６】本発明の実施形態に係るＥＮＧ−ＥＣＵが実行する燃焼不良判定処理を示すフローチャートである。
【図１７】本発明の実施形態に係る走行条件と燃焼悪化基準値との関係を示すマップの一例である。
【図１８】本発明の実施形態に係るＥＮＧ−ＥＣＵが実行する＃２気筒の燃焼不良判定処理を示すフローチャートである。
【図１９】本発明の実施形態に係るＥＮＧ−ＥＣＵが実行する燃焼不良度合いの判定処理を示すフローチャートである。
【図２０】本発明の実施形態の変形例に係るＥＮＧ−ＥＣＵが実行する燃焼不良度合いの判定処理を示すフローチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明に係る燃焼判定装置の実施形態について、図１乃至図１９を参照して説明する。
【００３０】
＜燃焼判定装置の構成＞
先ず、本実施形態に係る燃焼判定装置が搭載される車両について、図１を参照して説明する。ここに、図１は、本実施形態に係る燃焼判定装置が搭載される車両の構成を示すブロック図である。尚、図１では、説明の便宜上、車両の詳細な構成部材については適宜省略し、直接関連のある構成部材のみを示している。
【００３１】
図１において、車両１は、エンジン１０、第１モータ・ジェネレータ（ＭＧ１）１１、第２モータ・ジェネレータ（ＭＧ２）１２、遊星歯車機構を有する動力分配機構１３及びトーショナルダンパ１４を備えて構成されている。
【００３２】
エンジン１０のクランクシャフト１０１は、トーショナルダンパ１４を介して、動力分配機構１３の複数の遊星ギア１３３のキャリアである遊星キャリア１３４の回転軸としてのインプットシャフト１３１に接続されている。また、エンジン１０の排気通路１０３には、エンジン１０の各気筒から排出される排気ガスを浄化するための触媒１０４が設けられている。
【００３３】
尚、本実施形態に係るエンジン１０は、４つの気筒を有する４気筒エンジンであるが、該４気筒エンジンに限らず、例えば６気筒、８気筒、１２気筒、１６気筒等の各種エンジンであってよい。
【００３４】
動力分配機構１３のサンギア１３２の回転軸は、第１モータ・ジェネレータ１１に接続されている。動力分配機構１３のリングギア１３５の回転軸は、第２モータ・ジェネレータ１２に接続されている。動力分配機構１３の動力出力ギア１３６は、チェーンベルト１３７を介して、動力伝達ギア（図示せず）に動力を伝達する。動力伝達ギアに伝達された動力は、駆動軸及びデファレンシャルギア（図示せず）を介して、車両１の駆動輪（図示せず）に伝達される。
【００３５】
車両１は、更に、エンジン１０を統括制御するエンジンＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）２２（以下、適宜“ＥＮＧ−ＥＣＵ”と称する）、第１及び第２モータ・ジェネレータに係る各種制御を行うモータ・ジェネレータＥＣＵ（以下、適宜“ＭＧ−ＥＣＵ”）２３、並びに、ＥＮＧ−ＥＣＵ２２及びＭＧ−ＥＣＵ２３に係る各種制御を行うハイブリッドＥＣＵ２１（以下、適宜“ＨＶ−ＥＣＵ”と称する）を備えて構成されている。
【００３６】
ＭＧ−ＥＣＵ２３は、第１モータ・ジェネレータ１１を統括制御する第１モータ・ジェネレータＥＣＵ２４（以下、適宜“ＭＧ１−ＥＣＵ”と称する）、及び第２モータ・ジェネレータ１２を統括制御する第２モータ・ジェネレータＥＣＵ２５（以下、適宜“ＭＧ２−ＥＣＵ”と称する）を備えて構成されている。
【００３７】
本実施形態に係る燃焼判定装置１００は、クランク角センサ３１、レゾルバ３２及び３３、ＨＶ−ＥＣＵ２１、ＥＮＧ−ＥＣＵ２２並びにＭＧ−ＥＣＵ２３を備えて構成されている。ここで、本実施形態に係る「クランク角センサ３１」及び「ＥＮＧ−ＥＣＵ２２」は、夫々、本発明に係る「クランク角検出手段」及び「判定手段」の一例であり、本実施形態に係る「ＭＧ−ＥＣＵ２３」並びに「レゾルバ３２及び３３」は、本発明に係る「回転角検出手段」の一例である。本実施形態では、各種電子制御用のＨＶ−ＥＣＵ２１、ＥＮＧ−ＥＣＵ２２及びＭＧ−ＥＣＵ２３を、燃焼判定装置１００の一部として用いている。
【００３８】
ここで、クランク角センサ３１について、図２及び図３を参照して説明する。ここに、図２は、本実施形態に係るクランク角センサの構成を概略的に示した構成図であり、図３は、クランク角センサ信号の一例である。
【００３９】
図２において、クランクシャフト１０１には、図中の矢印方向に回転されるクランクロータ１０２が取り付けられている。クランクロータ１０２の外周には、クランク角検出用として、例えば１０度ＣＡ毎の等しい角度間隔で形成された歯部１０２ａと、２歯分連続して欠歯された欠歯部１０２ｂとが設けられている。
【００４０】
クランク角センサ３１は、各歯部１０２ａに対向し、該歯部１０２ａによりクランクシャフト１０１の回転角度を検出するセンサ部３１１と、該センサ部３１１からの出力信号を処理する信号処理部３１２とを備えて構成されている。センサ部３１１から出力されるクランク角センサ信号は、クランクシャフト１０１の回転位置が予め設定された特定位置でないときには、所定のクランク角（例えば１０度ＣＡ）回転する期間を１周期としたパルス信号となり、クランクシャフト１０１が特定位置に来たときには、クランクシャフト１０１が、例えば３０度ＣＡ回転する期間を１周期とした欠歯信号となる。該欠歯信号は、クランクシャフト１０１が１回転する毎（即ち、３６０度ＣＡ毎）に発生する。
【００４１】
信号処理部３１２は、センサ部３１１からの出力信号（図３のクランク角センサ信号参照）を受信すると、クランク角センサ信号中における欠歯信号の検出動作を開始する。そして、信号処理部３１２は、クランク角センサ信号が欠歯信号になったことを最初に検出すると、以降、クランク角センサ信号を分周して、クランクシャフト１０１が３０度回転する期間を１周期とした（即ち、クランクシャフト１０１が３０度回転する毎に立ち上がる）パルス信号としての３０度ＣＡ信号ＮＥ０（図１参照）を生成し出力する。
【００４２】
また、信号処理部３１２は、欠歯信号を検出してから３０度ＣＡ信号ＮＥ０の所定周期期間分の判定期間に、エンジン１０のカム軸の回転に応じて、カム角センサ（図示せず）から出力される気筒判別用信号（図３のカムセンサ信号参照）の立ち上がりが検出されると、判定期間の終了タイミングに基準位置信号Ｇ１を出力する。従って、該基準位置信号Ｇ１は、クランクシャフト１０１の回転位置が欠歯信号の発生する特定位置から所定周期分進んだ位置に来たときに立ち上がる。ＥＮＧ−ＥＣＵ２２は、３０度ＣＡ信号ＮＥ０及び基準位置信号Ｇ１等に基づいて、エンジン１０の気筒の判別を行い、エンジン１０を制御する。
【００４３】
尚、本実施形態に係る基準位置信号Ｇ１は、カムシャフトが７２０度回転する期間を１周期とするパルス信号（即ち、７２０度ＣＡ信号）である。
【００４４】
再び図１に戻り、本実施形態では、ＥＮＧ−ＥＣＵ２２、ＭＧ１−ＥＣＵ２４及びＭＧ２−ＥＣＵ２５に、クランク角センサ３１から出力される３０度ＣＡ信号ＮＥ０等が入力されることによって、ＥＮＧ−ＥＣＵ２２、ＭＧ１−ＥＣＵ２４及びＭＧ２−ＥＣＵ２５の同期性が確保されている。
【００４５】
＜エンジンフィードバック制御＞
次に、以上のように構成された燃焼判定装置１００を搭載する車両１の走行中に、ＥＮＧ−ＥＣＵ２１等が実行するエンジンフィードバック制御処理について、図４のフローチャートを参照して説明する。尚、このエンジンフィードバック制御処理は、例えば数μ（マイクロ）秒〜数十μ秒等で周期的に実行される。
【００４６】
先ず、ＥＮＧ−ＥＣＵ２２、ＭＧ１−ＥＣＵ２４及びＭＧ２−ＥＣＵ２５において、割込み処理が発生しない場合について説明する。
【００４７】
（割込み処理が発生しない場合）
図４において、先ず、クランク角センサ３１のセンサ部３１１によって、エンジン１０のクランクシャフト１０１の回転角度が検出されると共に、該検出された回転角度に基づいて、クランク角センサ信号及び欠歯信号を出力する（ステップＳ１）
次に、クランク角センサ３１の信号処理部３１２は、クランク角センサ信号及び欠歯信号を受信して、３０度ＣＡ信号ＮＥ０及び基準位置信号Ｇ１を生成すると共に、該生成された３０度ＣＡ信号ＮＥ０及び基準位置信号Ｇ１を、ＥＮＧ−ＥＣＵ２２、ＭＧ１−ＥＣＵ２４及びＭＧ２−ＥＣＵ２５に送信する（ステップＳ２）。
【００４８】
次に、ＥＮＧ−ＥＣＵ２２において、送信された３０度ＣＡ信号ＮＥ０及び基準位置信号Ｇ１を時間軸上の基準として、エンジン１０のトルク制御処理を含むメイン処理が実行される（ステップＳ５）。このＥＮＧ−ＥＣＵ２２におけるメイン処理は、典型的には、エンジントルクの実際の値として推定される推定値と、エンジントルクの目標値との変化量をゼロに近づけるフィードバック制御を含んでいる。
【００４９】
上記ステップＳ５の処理と相前後して、ＭＧ１−ＥＣＵ２４において、送信された３０度ＣＡ信号ＮＥ０及び基準位置信号Ｇ１を時間軸上の基準として、第１モータ・ジェネレータ１１の制御処理を含むメイン処理が実行される（ステップＳ１２）。
【００５０】
上記ステップＳ５及びＳ１２の処理と相前後して、ＭＧ２−ＥＣＵ２５において、送信された３０度ＣＡ信号ＮＥ０及び基準位置信号Ｇ１を時間軸上の基準として、第２モータ・ジェネレータ１２の制御処理を含むメイン処理が実行される（ステップＳ２２）。
【００５１】
次に、ＥＮＧ−ＥＣＵ２２のメイン処理、ＭＧ１−ＥＣＵ２４のメイン処理、及びＭＧ２−ＥＣＵ２５のメイン処理が夫々終了すると、リターンされ処理開始を停止して待機状態になる、即ち、所定周期によって一義的に決まる、次の処理開始時期に到達するまで、ステップＳ１の処理の実行を停止して待機状態になる。
【００５２】
（割込み処理が発生した場合）
上述したステップＳ１及びＳ２の処理の後、上述したステップＳ５の処理と相前後して、ＭＧ１−ＥＣＵ２４において、送信された３０度ＣＡ信号ＮＥ０及び基準位置信号Ｇ１を時間軸上の基準として、割込み処理が実行される（ステップＳ１０）。続いて、ＭＧ１−ＥＣＵ２４において、上述したメイン処理が実行される（ステップＳ１２）。
【００５３】
上述したステップＳ１及びＳ２の処理の後、上述したステップＳ５及びＳ１０の処理と相前後して、ＭＧ２−ＥＣＵ２５において、送信された３０度ＣＡ信号ＮＥ０及び基準位置信号Ｇ１を時間軸上の基準として、割込み処理が実行される（ステップＳ２０）。続いて、ＭＧ２−ＥＣＵ２５において、上述したメイン処理が実行される（ステップＳ２２）。
【００５４】
（ＭＧ１−ＥＣＵにおける割込み処理）
次に、ＭＧ１−ＥＣＵ２４における割込み処理Ｓ１０について、詳細に説明する。
【００５５】
図４において、ＭＧ１−ＥＣＵ２４は、３０度ＣＡ信号ＮＥ０が入力されたか否かを判定する（ステップＳ１０１）。３０度ＣＡ信号ＮＥ０が入力されたと判定された場合（ステップＳ１０１：Ｙｅｓ）ＭＧ１−ＥＣＵ２４は、３０度ＣＡ信号ＮＥ０を契機として、レゾルバ３２を介して、動力分配機構１３のサンギア１３２の回転軸の回転角度をサンプリングする（ステップＳ１０２）。他方、３０度ＣＡ信号ＮＥ０等が入力されていないと判定された場合（ステップＳ１０１：Ｎｏ）、ＭＧ１−ＥＣＵ２４は、ステップＳ１０１の処理を実行する。
【００５６】
上記ステップＳ１０２の処理に続いて、ＭＧ１−ＥＣＵ２４は、レゾルバ３２を介して、サンギア１３２の回転軸の回転角度の補正角度をサンプリングする（ステップＳ１０３）。尚、補正角度は、典型的には、トーショナルダンパ１４の捻れ角度を算出するためのマップ又は関数に基づいて、レゾルバ３２において一義的に決定される。
【００５７】
尚、捻れ角度は、絶対角度であってもよいし、相対角度であってもよい。ここで、捻れ角度の絶対角度とは、エンジン１０が無負荷運転（即ち、エンジントルクがゼロとみなせる運転）を行っているときの捻れ角度を原点として、これを基準点とした角度である。従って、絶対捻れ角度は、エンジントルクに応じて変動する変動量である。他方、捻れ角度の相対角度とは、捻れ角度の絶対角度を中心としてエンジン１０の燃焼状態に応じて変動する変動量である。
【００５８】
次に、ＭＧ１−ＥＣＵ２４は、３０度ＣＡ信号ＮＥ０の入力回数を示すカウンタを１だけ増加する（ステップＳ１０４）。続いて、ＭＧ１−ＥＣＵ２４は、基準位置信号Ｇ１が入力されたか否かを判定する（ステップＳ１０５）。
【００５９】
基準位置信号Ｇ１が入力されたと判定された場合（ステップＳ１０５：Ｙｅｓ）、ＭＧ１−ＥＣＵ２４は、上述の３０度ＣＡ信号ＮＥ０の入力回数を示すカウンタにゼロを入力する（ステップＳ１０６）。他方、基準位置信号Ｇ１が入力されていないと判定された場合（ステップＳ１０５：Ｎｏ）、ステップＳ１０６の処理は省略される。
【００６０】
次に、ＭＧ１−ＥＣＵ２４は、割込み処理が実行された時刻に関するデータを記憶する（ステップＳ１０７）。
【００６１】
（ＭＧ１−ＥＣＵにおけるメイン処理）
次に、ＭＧ１−ＥＣＵ２４におけるメイン処理Ｓ１２について、詳細に説明する。
【００６２】
図４において、ＭＧ１−ＥＣＵ２４は、上述した割込み処理の回数を計測する（ステップＳ１２１）。続いて、ＭＧ１−ＥＣＵ２４は、連続して入力される２つの３０度ＣＡ信号ＮＥ０の時間間隔において、サンギア１３２の回転軸の回転角度が、どの程度変化したかを示す変位角度を算出する（ステップＳ１２２）。
【００６３】
次に、ＭＧ１−ＥＣＵ２４は、クランクシャフト１０１が３０度だけ回転する場合にかかる時間、言い換えると、クランク角度が３０度だけ変化する場合にかかる時間（所謂Ｔ３０ＣＡ）を算出する（ステップＳ１２３）。
【００６４】
次に、ＭＧ１−ＥＣＵ２４は、上述した割込み処理における、３０度ＣＡ信号ＮＥ０の入力回数を示すカウンタと、上記ステップＳ１２１乃至Ｓ１２３において実行されたメイン処理の識別情報との関連付けを行う（ステップＳ１２４）。続いて、ＭＧ１−ＥＣＵ２４は、上述した割込み処理及びメイン処理各々によって得られた各種データ群を、ＭＧ２−ＥＣＵ２５に送信する（ステップＳ１２５）。
【００６５】
（ＭＧ２−ＥＣＵにおける割込み処理）
次に、ＭＧ２−ＥＣＵ２５における割込み処理Ｓ２０について、詳細に説明する。
【００６６】
図４において、ＭＧ２−ＥＣＵ２５は、３０度ＣＡ信号ＮＥ０が入力されたか否かを判定する（ステップＳ２０１）。３０度ＣＡ信号ＮＥ０が入力されたと判定された場合（ステップＳ２０１：Ｙｅｓ）ＭＧ２−ＥＣＵ２５は、３０度ＣＡ信号ＮＥ０を契機として、レゾルバ３３を介して、動力分配機構１３のリングギア１３５の回転軸の回転角度をサンプリングする（ステップＳ２０２）。他方、３０度ＣＡ信号ＮＥ０等が入力されていないと判定された場合（ステップＳ２０１：Ｎｏ）、ＭＧ２−ＥＣＵ２５は、ステップＳ２０１の処理を実行する。
【００６７】
上記ステップＳ２０２の処理に続いて、ＭＧ２−ＥＣＵ２５は、レゾルバ３３を介して、リングギア１３５の回転軸の回転角度の補正角度をサンプリングする（ステップＳ２０３）。尚、補正角度は、典型的には、トーショナルダンパ１４の捻れ角度を算出するためのマップ又は関数に基づいて、レゾルバ３３において一義的に決定される。
【００６８】
次に、ＭＧ２−ＥＣＵ２５は、３０度ＣＡ信号ＮＥ０の入力回数を示すカウンタを１だけ増加する（ステップＳ２０４）。続いて、ＭＧ２−ＥＣＵ２５は、基準位置信号Ｇ１が入力されたか否かを判定する（ステップＳ２０５）。
【００６９】
基準位置信号Ｇ１が入力されたと判定された場合（ステップＳ２０５：Ｙｅｓ）、ＭＧ２−ＥＣＵ２５は、上述の３０度ＣＡ信号ＮＥ０の入力回数を示すカウンタにゼロを入力する（ステップＳ２０６）。他方、基準位置信号Ｇ１が入力されていないと判定された場合（ステップＳ２０５：Ｎｏ）、ステップＳ２０６の処理は省略される。
【００７０】
次に、ＭＧ２−ＥＣＵ２５は、割込み処理が実行された時刻に関するデータを記憶する（ステップＳ２０７）。
【００７１】
（ＭＧ２−ＥＣＵにおけるメイン処理）
次に、ＭＧ２−ＥＣＵ２５におけるメイン処理Ｓ２２について、詳細に説明する。
【００７２】
図４において、ＭＧ２−ＥＣＵ２５は、上述した割込み処理の回数を計測する（ステップＳ２２１）。続いて、ＭＧ２−ＥＣＵ２５は、連続して入力される２つの３０度ＣＡ信号ＮＥ０の時間間隔において、リングギア１３５の回転軸の回転角度が、どの程度変化したかを示す変位角度を算出する（ステップＳ２２２）。次に、ＭＧ２−ＥＣＵ２５は、クランクシャフト１０１が３０度だけ回転する場合にかかる時間を算出する（ステップＳ２２３）。
【００７３】
次に、ＭＧ２−ＥＣＵ２５は、上述した割込み処理における、３０度ＣＡ信号ＮＥ０の入力回数を示すカウンタと、上記ステップＳ２２１乃至Ｓ２２３において実行されたメイン処理の識別情報との関連付けを行う（ステップＳ２２４）。次に、ＭＧ２−ＥＣＵ２５は、ＭＧ１−ＥＣＵ２４において実行された割込み処理及びメイン処理各々によって得られた各種データ群を受信する（ステップＳ２２５）。
【００７４】
続いて、ＭＧ２−ＥＣＵ２５は、ＭＧ１−ＥＣＵ２４において実行された割込み処理及びメイン処理各々によって得られた各種データ群と、ＭＧ２−ＥＣＵ２５において実行された割込み処理及びメイン処理各々によって得られた各種データ群とを、例えばカウンタを共通の指標（所謂、インデックスキー）として一対一に対応付けると共に、ＭＧ２−ＥＣＵ２５の記憶装置に格納する（ステップＳ２２６）。
【００７５】
次に、ＭＧ２−ＥＣＵ２５は、一対一に対応付けられたＭＧ１−ＥＣＵ２４において得られた各種データ群、及びＭＧ２−ＥＣＵ２５において得られた各種データ群に基づいて、例えば、ＴＥ＝Ｉｅ・ｄωｅ／ｄｔ＋Ｔｆ＋Ｋｄａｍｐ・（θｅ−θｉｓ）という式からエンジントルクの推定値を算出する。
【００７６】
ここで、ＴＥはエンジントルクであり、Ｉｅはエンジン１０の慣性モーメントであり、ｄωｅ／ｄｔはクランクシャフト１０１の角速度変化であり、Ｔｆはフリクショントルクであり、Ｋｄａｍｐはトーショナルダンパ１４のトーション部材のバネ定数であり、θｅはクランクシャフト１０１の回転角度であり、θｉｓはインプットシャフト１３１の回転角度である。尚、インプットシャフト１３１の回転角度θｉｓは、サンギア１３２の回転軸の回転角度と、リングギア１３５の回転軸の回転角度とに基づいて決定することができる。
【００７７】
ＭＧ２−ＥＣＵ２５は、例えば、今回算出されたエンジントルクの推定値と、前回算出されたエンジントルクの推定値とを比較して、エンジントルクの変動値を算出する（ステップＳ２２７）。続いて、ＭＧ２−ＥＣＵ２５は、ＨＶ−ＥＣＵ２１を介して、算出されたエンジントルクの変動値を、ＥＮＧ−ＥＣＵ２２に送信する（ステップＳ２２８）。
【００７８】
（ＥＮＧ−ＥＣＵにおけるメイン処理）
次に、ＥＮＧ−ＥＣＵにおけるメイン処理について、詳細に説明する。
【００７９】
図４において、ＥＮＧ−ＥＣＵ２２は、ＨＶ−ＥＣＵ２１を介して、ＭＧ２−ＥＣＵ２５において算出されたエンジントルクの変動値に係るデータを受信する（ステップＳ６）。続いて、ＥＮＧ−ＥＣＵ２２は、受信したエンジントルクの変動値に基づいて、エンジン１０のフィードバック制御を実行する（ステップＳ７）。
【００８０】
＜クランクシャフトの回転角度とインプットシャフトの回転角度との関係＞
次に、クランクシャフト１０１の回転角度とインプットシャフト１３１の回転角度との関係について、図５乃至図１２を参照して説明する。
【００８１】
先ず、エンジン１０のうち一の気筒（例えば＃１気筒）に供給される混合気の空燃比をリーン（例えば、空燃比１８）にして、該一の気筒に燃焼不良が生じた場合のクランクシャフト１０１の回転角度とインプットシャフト１３１の回転角度との関係について、図５乃至図８を参照して説明する。ここに、図５は、クランクシャフトの回転角度とインプットシャフトの回転角度との関係をエンジンの負荷毎に示す概念図である。
【００８２】
尚、図５における実線（ｉ）、点線（ｉｉ）、破線（ｉｉｉ）の順でエンジン１０の負荷が大きくなる（即ち、エンジン負荷の関係は（ｉ）＜（ｉｉ）＜（ｉｉｉ））。また、図５の星印「★」のタイミングで一の気筒が点火する。以降の図においても同様である。
【００８３】
図５に示すように、エンジン１０の負荷が大きくなるにつれて、一の気筒に生じた燃焼不良の影響がインプットシャフト１３１の回転角度に現れる（即ち、インプットシャフト１３１の回転角度が小さくなる）時期が遅くなっていることが判る。これは、エンジン１０と、動力分配機構１３等を含むトランスアクスルとの間における回転系の慣性力に起因するものであることが、本願発明者の研究により判明している。
【００８４】
次に、車両１の速度を時速８０ｋｍから時速１２０ｋｍまで変化させた場合の実験データを図６に示す。ここに、図６は、クランクシャフトの回転角度とインプットシャフトの回転角度との関係を車両の速度毎に示す実験データの一例である。尚、図６における「クランクカウンタ」は、例えばＭＧ１−ＥＣＵ２４の割込み処理Ｓ１０（図４参照）における「３０度ＣＡ信号ＮＥ０の入力回数を示すカウンタ」等と同様の、ＥＮＧ−ＥＣＵ２２に入力された３０度ＣＡ信号ＮＥ０の入力回数を示すカウンタの値を示している。以降の図においても同様である。
【００８５】
図６に示すように、車両１の速度が時速８０ｋｍ及び時速９０ｋｍでは、クランクシャフト１０１の回転角度が１８０度から３６０度までの間に、インプットシャフト１３１の回転角度が小さくなっている。他方で、車両１の速度が時速１００ｋｍ乃至時速１２０ｋｍでは、クランクシャフト１０１の回転角度が３６０度から７２０度までの間に、インプットシャフト１３１の回転角度が小さくなっている。
【００８６】
次に、一の気筒に供給される混合気の空燃比を変化させた場合の実験データを図７及び図８に示す。ここに、図７及び図８は、夫々、クランクシャフトの回転角度とインプットシャフトの回転角度との関係を空燃比毎に示す実験データの一例及び他の例である。尚、図７及び図８における凡例の「ＴＦ」は、ある空燃比におけるエンジン１０のトルク変動（Ｔｏｒｑｕｅ  Ｆｌｕｃｔｕａｔｉｏｎ）を示している。また、図７は、車両１の速度が時速８０ｋｍである場合の実験データであり、図８は、車両１の速度が時速１２０ｋｍである場合の実験データである。
【００８７】
図７に示した実験データは、いずれもクランクシャフト１０１の回転角度が１８０度から３６０度までの間に、インプットシャフト１３１の回転角度が小さくなっていることが判る。他方、図８に示した実験データは、クランクシャフト１０１の回転角度が３６０度から７２０度までの間に、インプットシャフト１３１の回転角度が小さくなっていることが判る。
【００８８】
ここでは特に、インプットシャフト１３１の回転角度の変動の程度が空燃比（及び該空燃比に起因するトルク変動）によって異なっているので、一の気筒に燃焼不良が生じているか否かを正確に判定するためには、一の気筒に燃焼不良が生じているか否かの判定値（又は閾値）を、例えばトルク変動に応じて変更することが有効であることが判る。
【００８９】
次に、エンジン１０の４つの気筒のうちいずれかの気筒に燃焼不良が生じた場合のクランクシャフト１０１の回転角度とインプットシャフト１３１の回転角度との関係について、図９及び図１０を参照して説明する。ここに、図９は、エンジンにおいて発生されるトルクが比較的小さい場合のクランクカウンタとインプットシャフトの回転角度との関係を示す実験データの一例であり、図１０は、エンジンにおいて発生されるトルクが比較的大きい場合のクランクカウンタとインプットシャフトの回転角度との関係を示す実験データの一例である。
【００９０】
尚、図９（ａ）は、例えばＭＧ１−ＥＣＵ２４のメイン処理Ｓ１２におけるステップＳ１２２の処理（図４参照）で算出されたサンギア１３２の回転軸の変位角度、及びＭＧ２−ＥＣＵ２５のメイン処理Ｓ２２におけるステップＳ２２２の処理（図４参照）で算出されたリングギア１３５の回転軸の変位角度等に基づいて算出又は推定された、クランクシャフト１０１が３０度だけ回転した場合に回転したインプットシャフト１３１の回転角度を示している。図９（ｂ）は、図９（ａ）に示したデータに基づいて、クランクシャフト１０１が１８０度だけ回転した場合に回転したインプットシャフト１３１の回転角度を示している。図９（ｃ）は、図９（ａ）に示したデータに基づいて、クランクシャフト１０１が３６０度だけ回転した場合に回転したインプットシャフト１３１の回転角度を示している。図１０（ａ）〜（ｃ）も同様である。
【００９１】
また、図９及び図１０における「＃１燃焼」、「＃２燃焼」、「＃３燃焼」及び「＃４燃焼」は、夫々、「クランクカウンタが０〜６（即ち、クランク角０度〜１８０度）の場合＃１気筒の燃焼期間」、「クランクカウンタが１８〜２４（即ち、クランク角５４０度〜７２０度）の場合＃２気筒の燃焼期間」、「クランクカウンタが６〜１２（即ち、クランク角１８０度〜３６０度）の場合＃３気筒の燃焼期間」及び「クランクカウンタが１２〜１８（即ち、クランク角３６０度〜５４０度）場合＃４気筒の燃焼期間」を示している。ここで、各気筒は、各々の燃焼期間の開始時に点火する。以降の図においても同様である。
【００９２】
図９（ａ）に示す実験データでは、凡例に示される各条件（即ち、ランダム不良等、＃１気筒燃焼不良、＃２気筒燃焼不良、＃３気筒燃焼不良及び＃４気筒燃焼不良）の間に差異は見られるが、このまま判定することは困難である。また、図９（ｃ）に示す実験データでは、各条件の間に顕著な違いが認められるが、例えば、＃１気筒燃焼不良の場合、クランクカウンタが９の場合のインプットシャフト１３１の回転角度と、クランクカウンタが１５の場合のインプットシャフト１３１の回転角度との差異は比較的小さい。
【００９３】
他方で、図９（ｂ）に示す実験データでは、各気筒の燃焼期間の開始時から１８０度経過した（即ち、クランクカウンタが６増加した）時点から、各気筒の燃焼期間の開始時から３６０度経過した（即ち、クランクカウンタが１２増加した）時点までの間にインプットシャフト１３１の回転角度が顕著に小さくなっている。
【００９４】
尚、図９（ｂ）及び図９（ｃ）に示すように、ランダム不良や全気筒に共通原因によって燃焼不良が生じている場合は、インプットシャフト１３１の回転角度が大きく変動することはない。
【００９５】
この結果、エンジン１０において発生されるトルクが比較的小さい場合には、各気筒の燃焼期間の開始時から１８０度経過した時点から、各気筒の燃焼期間の開始時から３６０度経過した時点までの間におけるインプットシャフト１３１の回転角度の変動に基づいて、気筒に燃焼不良が生じているか否かを判定することが有効であることが判る。
【００９６】
図１０（ａ）に示す実験データでは、図９（ａ）と同様に、各条件の間に差異は見られるが、このまま判定することは困難である。また、図１０（ｂ）に示す実験データでは、各条件の間に顕著な違いが認められるが、例えば、＃１気筒燃焼不良の場合、クランクカウンタが１５の場合のインプットシャフト１３１の回転角度と、クランクカウンタが２１の場合のインプットシャフト１３１の回転角度との差異は比較的小さい。
【００９７】
他方で、図１０（ｃ）に示す実験データでは、各気筒の燃焼期間の開始時から３６０度経過した（即ち、クランクカウンタが１８増加した）時点から、各気筒の燃焼期間の開始時から７２０度経過した（即ち、クランクカウンタが２４増加した）時点までの間にインプットシャフト１３１の回転角度が顕著に小さくなっている。
【００９８】
この結果、エンジン１０において発生されるトルクが比較的大きい場合には、各気筒の燃焼期間の開始時から３６０度経過した時点から、各気筒の燃焼期間の開始時から７２０度経過した時点までの間におけるインプットシャフト１３１の回転角度の変動に基づいて、気筒に燃焼不良が生じているか否かを判定することが有効であることが判る。
【００９９】
次に、例えばＥＮＧ−ＥＣＵ２２に３０度ＣＡ信号ＮＥ０が入力される時間間隔と、インプットシャフト１３１の回転角度との関係について、図１１及び図１２を参照して説明する。ここに、図１１は、クランクシャフトの回転角度と３０度ＣＡ信号ＮＥ０が入力される時間間隔との関係を示す実験データの一例であり、図１２は、図１１に示す関係に対応するクランクシャフトの回転角度とインプットシャフトの回転角度との関係を示す実験データの一例である。
【０１００】
図１１及び図１２に示すように、クランクシャフト１０１の回転角度（即ち、図中のクランク角）が１２０度近傍及び４８０度近傍において、時間間隔（図１１参照）及びインプットシャフト１３１の回転角度（図１２参照）が増加している。これは、クランクロータ１０２の欠歯部１０２ｂの影響により、本来のＴ３０ＣＡに対して誤差が発生するためであることが、本願発明者の研究により判明している。
【０１０１】
この結果、気筒に燃焼不良が生じているか否かを判定する場合には、欠歯部１０２ｂの影響のない期間において気筒に燃焼不良が生じているか否かを判定すれば、判定精度が向上することが判る。
【０１０２】
＜燃焼不良判定＞
上述した図５乃至図１２の実験データ等に鑑みて、本実施形態に係る燃焼判定装置１００は、エンジン１０の運転状態に応じて、４つの気筒のうち一の気筒における点火上死点後クランクシャフト１０１が１８０度から３６０度まで回転する第１期間、又は一の気筒における点火上死点後クランクシャフト１０１が３６０度から７２０度まで回転する第２期間において、一の気筒に燃焼不良が生じているか否かを判定する。
【０１０３】
ここで特に、燃焼判定装置１００は、エンジン１０において発生されるトルクが比較的小さい場合、第１期間に検出されたインプットシャフト１３１の回転角度が第１判定値より小さいことを条件に、一の気筒に燃焼不良が生じていると判定する。他方、燃焼判定装置１００は、エンジン１０において発生されるトルクが比較的大きい場合、第２期間に検出されたインプットシャフト１３１の回転角度が第２判定値より小さいことを条件に、一の気筒に燃焼不良が生じていると判定する。
【０１０４】
（インプットシャフトの回転角度算出）
燃焼判定装置１００を搭載する車両１の走行中に、ＥＮＧ−ＥＣＵ２１等が実行するインプットシャフトの回転角度算出処理について、図１３のフローチャートを参照して説明する。尚、このインプットシャフトの回転角度算出処理は、例えば数μ秒〜数十μ秒等で周期的に実行される。
【０１０５】
図１３において、ＭＧ１−ＥＣＵ２４は、割込み処理Ｓ１０（図４参照）の後、クランクカウンタ処理を実行する（ステップＳ１４１）。続いて、ＭＧ１−ＥＣＵ２４は、レゾルバ３２を介して、サンギア１３２の回転軸の回転角度を検出し、該検出された回転角度に基づいて、前回からのサンギア１３２の回転軸の角度変化を算出する（ステップＳ１４２）。
【０１０６】
続いて、ＭＧ１−ＥＣＵ２４は、算出されたサンギア１３２の回転軸の角度変化に基づいて、インプットシャフト１３１の角度変化を算出する（ステップＳ１４３）。次に、ＭＧ１−ＥＣＵ２４は、算出されたインプットシャフト１３１の角度変化を、ＭＧ２−ＥＣＵ２５に送信する（ステップＳ１４４）。
【０１０７】
図１３において、ＭＧ２−ＥＣＵ２５は、上述したステップＳ１０の処理と相前後して、割込み処理Ｓ２０（図４参照）を実行した後、クランクカウンタ処理を実行する（ステップＳ２４１）。続いて、ＭＧ２−ＥＣＵ２５は、レゾルバ３３を介して、リングギア１３５の回転軸の回転角度を検出し、該検出された回転角度に基づいて、前回からのリングギア１３５の回転軸の角度変化を算出する（ステップＳ２４２）。
【０１０８】
続いて、ＭＧ２−ＥＣＵ２５は、算出されたリングギア１３５の回転軸の角度変化に基づいて、インプットシャフト１３１の角度変化を算出する（ステップＳ２４３）。次に、ＭＧ２−ＥＣＵ２５は、ＭＧ１−ＥＣＵ２４により送信されたインプットシャフト１３１の角度変化を受信する（ステップＳ２４４）。
【０１０９】
次に、ＭＧ２−ＥＣＵ２５は、受信したインプットシャフト１３１の角度変化（即ち、サンギア１３２の回転軸の角度変化に基づいて算出されたインプットシャフト１３１の角度変化）、及び上記ステップＳ２４３の処理において算出されたインプットシャフト１３１の角度変化（即ち、リングギア１３５の回転軸の角度変化に基づいて算出されたインプットシャフト１３１の角度変化）の和を求めることによって、インプットシャフト１３１の角度変化を算出する（ステップＳ２４５）。尚、該ステップＳ２４５の処理において算出されるインプットシャフト１３１の角度変化は、クランクシャフト１０１が３０度だけ回転する間に回転するインプットシャフト１３１の回転角度である（図９（ａ）及び図１０（ａ）参照）。
【０１１０】
次に、ＭＧ２−ＥＣＵ２５は、一の気筒における点火上死点後クランクシャフト１０１が１８０度から３６０度まで回転する第１期間において一の気筒に燃焼不良が生じているか否かを判定する（以下、適宜“第１判定”と称する）ためのインプットシャフト１３１の回転角度を算出する（図９（ｂ）及び図１０（ｂ）参照）（ステップＳ２４６）。
【０１１１】
具体的には例えば、ＭＧ２−ＥＣＵ２５は、＃１気筒に燃焼不良が生じているか否かを判定するために、ステップＳ２４５の処理において算出されたインプットシャフト１３１の角度変化のうち、クランクカウンタ６〜１２のインプットシャフト１３１の角度変化を積算する。同様に、ＭＧ２−ＥＣＵ２５は、＃２気筒に燃焼不良が生じているか否かを判定するために、ステップＳ２４５の処理において算出されたインプットシャフト１３１の角度変化のうち、クランクカウンタ０〜６のインプットシャフト１３１の角度変化を積算する。同様に、ＭＧ２−ＥＣＵ２５は、＃３気筒に燃焼不良が生じているか否かを判定するために、ステップＳ２４５の処理において算出されたインプットシャフト１３１の角度変化のうち、クランクカウンタ１２〜１８のインプットシャフト１３１の角度変化を積算する。同様に、ＭＧ２−ＥＣＵ２５は、＃４気筒に燃焼不良が生じているか否かを判定するために、ステップＳ２４５の処理において算出されたインプットシャフト１３１の角度変化のうち、クランクカウンタ１８〜２４のインプットシャフト１３１の角度変化を積算する。
【０１１２】
次に、ＭＧ２−ＥＣＵ２５は、一の気筒における点火上死点後クランクシャフト１０１が３６０度から７２０度まで回転する第２期間、又は触媒１０４（図１参照）を暖機するファーストアイドル時において一の気筒に燃焼不良が生じているか否かを判定する（以下、適宜“第２判定”と称する）ためのインプットシャフト１３１の回転角度を算出する（図９（ｃ）及び図１０（ｃ）参照）（ステップＳ２４７）。
【０１１３】
具体的には例えば、ＭＧ２−ＥＣＵ２５は、＃１気筒に燃焼不良が生じているか否かを判定するために、ステップＳ２４５の処理において算出されたインプットシャフト１３１の角度変化のうち、クランクカウンタ１２〜２４のインプットシャフト１３１の角度変化を積算する。同様に、ＭＧ２−ＥＣＵ２５は、＃２気筒に燃焼不良が生じているか否かを判定するために、ステップＳ２４５の処理において算出されたインプットシャフト１３１の角度変化のうち、クランクカウンタ６〜１８のインプットシャフト１３１の角度変化を積算する。同様に、ＭＧ２−ＥＣＵ２５は、＃３気筒に燃焼不良が生じているか否かを判定するために、ステップＳ２４５の処理において算出されたインプットシャフト１３１の角度変化のうち、クランクカウンタ１８〜６のインプットシャフト１３１の角度変化を積算する。同様に、ＭＧ２−ＥＣＵ２５は、＃４気筒に燃焼不良が生じているか否かを判定するために、ステップＳ２４５の処理において算出されたインプットシャフト１３１の角度変化のうち、クランクカウンタ０〜１２のインプットシャフト１３１の角度変化を積算する。
【０１１４】
次に、ＭＧ２−ＥＣＵ２５は、ステップＳ２４６の処理において算出された第１判定用のインプットシャフト１３１の回転角度、及びステップＳ２４７の処理において算出された第２判定用のインプットシャフト１３１の回転角度を、ＨＶ−ＥＣＵ２１を介して、ＥＮＧ−ＥＣＵ２２に送信する（ステップＳ２４８）。
【０１１５】
ＥＮＧ−ＥＣＵ２２は、第１判定用のインプットシャフト１３１の回転角度及び第２判定用のインプットシャフト１３１の回転角度を、ＨＶ−ＥＣＵ２１を介して、受信する（ステップＳ３１）。
【０１１６】
次に、ＥＮＧ−ＥＣＵ２２における処理、ＭＧ１−ＥＣＵ２４における処理、及びＭＧ２−ＥＣＵ２５における処理が夫々終了すると、リターンされ処理開始を停止して待機状態になる。
【０１１７】
（燃焼不良カウンタ操作）
燃焼判定装置１００を搭載する車両１の走行中に、ＥＮＧ−ＥＣＵ２１が実行する燃焼不良カウンタ操作処理について、図１４のフローチャートを参照して説明する。尚、この燃焼不良カウンタ操作処理は、例えば数μ秒〜数十μ秒等で周期的に実行される。
【０１１８】
図１４において、先ず、ＥＮＧ−ＥＣＵ２２は、例えば図１５に示すようなトルク変動値と燃焼不良判定基準値との関係を示すマップから、第１判定用の燃焼不良判定基準値及び第２判定用の燃焼不良判定基準値を特定する。ここに、図１５は、本実施形態に係るトルク変動値と燃焼不良判定基準値との関係を示すマップの一例である。このようなマップは、第１判定用及び第２判定用の各々に対応して複数存在することが望ましい。尚、ＥＮＧ−ＥＣＵ２２は、典型的には、上述したステップＳ６の処理（図４参照）において受信したエンジン１０のトルク変動値に基づいて、燃焼不良判定基準値を特定する。
【０１１９】
続いて、ＥＮＧ−ＥＣＵ２２は、１８０度から特定された第１判定用の燃焼不良判定基準値を減じて、第１判定値を算出すると共に、３６０度から特定された第２判定用の燃焼不良判定基準値を減じて、第２判定値を算出する（ステップＳ３０１）。ここで、本実施形態に係る「第１判定用の燃焼不良判定基準値」及び「第２判定用の燃焼不良判定基準値」は、夫々、本発明に係る「第１所定角」及び「第２所定角」の一例である。
【０１２０】
次に、ＥＮＧ−ＥＣＵ２２は、クランクカウンタが６であるか否かを判定する（ステップＳ３０２）。クランクカウンタが６であると判定された場合（ステップＳ３０２：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、上述したステップＳ２４６の処理（図１３参照）において算出されたクランクカウンタ０〜６（以下、適宜“第１２区間”と称する）のインプットシャフト１３１の角度変化が、第１判定値より小さいか否かを判定する（ステップＳ３０３）。
【０１２１】
第１２区間のインプットシャフト１３１の角度変化が第１判定値より小さいと判定された場合（ステップＳ３０３：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第１２区間カウンタの値を１だけ増加する（ステップＳ３０４）。他方、第１２区間のインプットシャフト１３１の角度変化が第１判定値より大きいと判定された場合（ステップＳ３０３：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第１２区間カウンタの値を２だけ減ずる（ステップＳ３０５）。但し、該ステップＳ３０５の処理の結果、第１２区間カウンタの値がマイナスになった場合には、ＥＮＧ−ＥＣＵ２２は、第１２区間カウンタの値をゼロとする。
【０１２２】
尚、第１２区間のインプットシャフト１３１の角度変化が第１判定値と「等しい」場合には、どちらかの場合に含めて扱えばよい。
【０１２３】
次に、ＥＮＧ−ＥＣＵ２２は、上述したステップＳ２４６の処理（図１３参照）において算出されたクランクカウンタ１８〜６（以下、適宜“第２３区間”と称する）のインプットシャフト１３１の角度変化が、第２判定値より小さいか否かを判定する（ステップＳ３０６）。
【０１２４】
第２３区間のインプットシャフト１３１の角度変化が第２判定値より小さいと判定された場合（ステップＳ３０６：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第２３区間カウンタの値を１だけ増加する（ステップＳ３０７）。他方、第２３区間のインプットシャフト１３１の角度変化が第２判定値より大きいと判定された場合（ステップＳ３０６：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第２３区間カウンタの値を２だけ減ずる（ステップＳ３０８）。但し、該ステップＳ３０８の処理の結果、第２３区間カウンタの値がマイナスになった場合には、ＥＮＧ−ＥＣＵ２２は、第２３区間カウンタの値をゼロとする。
【０１２５】
ステップＳ３０２の処理において、クランクカウンタが６でないと判定された場合（ステップＳ３０２：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、クランクカウンタが１２であるか否かを判定する（ステップＳ３０９）。クランクカウンタが１２であると判定された場合（ステップＳ３０９：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、上述したステップＳ２４６の処理（図１３参照）において算出されたクランクカウンタ６〜１２（以下、適宜“第１１区間”と称する）のインプットシャフト１３１の角度変化が、第１判定値より小さいか否かを判定する（ステップＳ３１０）。
【０１２６】
第１１区間のインプットシャフト１３１の角度変化が第１判定値より小さいと判定された場合（ステップＳ３１０：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第１１区間カウンタの値を１だけ増加する（ステップＳ３１１）。他方、第１１区間のインプットシャフト１３１の角度変化が第１判定値より大きいと判定された場合（ステップＳ３１０：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第１１区間カウンタの値を２だけ減ずる（ステップＳ３１２）。但し、該ステップＳ３１２の処理の結果、第１１区間カウンタの値がマイナスになった場合には、ＥＮＧ−ＥＣＵ２２は、第１１区間カウンタの値をゼロとする。
【０１２７】
次に、ＥＮＧ−ＥＣＵ２２は、上述したステップＳ２４６の処理（図１３参照）において算出されたクランクカウンタ０〜１２（以下、適宜“第２４区間”と称する）のインプットシャフト１３１の角度変化が、第２判定値より小さいか否かを判定する（ステップＳ３１３）。
【０１２８】
第２４区間のインプットシャフト１３１の角度変化が第２判定値より小さいと判定された場合（ステップＳ３１３：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第２４区間カウンタの値を１だけ増加する（ステップＳ３１４）。他方、第２４区間のインプットシャフト１３１の角度変化が第２判定値より大きいと判定された場合（ステップＳ３１３：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第２４区間カウンタの値を２だけ減ずる（ステップＳ３１５）。但し、該ステップＳ３１５の処理の結果、第２４区間カウンタの値がマイナスになった場合には、ＥＮＧ−ＥＣＵ２２は、第２４区間カウンタの値をゼロとする。
【０１２９】
ステップＳ３０９の処理において、クランクカウンタが１２でないと判定された場合（ステップＳ３０９：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、クランクカウンタが１８であるか否かを判定する（ステップＳ３１６）。クランクカウンタが１８であると判定された場合（ステップＳ３１６：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、上述したステップＳ２４６の処理（図１３参照）において算出されたクランクカウンタ１２〜１８（以下、適宜“第１３区間”と称する）のインプットシャフト１３１の角度変化が、第１判定値より小さいか否かを判定する（ステップＳ３１７）。
【０１３０】
第１３区間のインプットシャフト１３１の角度変化が第１判定値より小さいと判定された場合（ステップＳ３１７：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第１３区間カウンタの値を１だけ増加する（ステップＳ３１８）。他方、第１３区間のインプットシャフト１３１の角度変化が第１判定値より大きいと判定された場合（ステップＳ３１７：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第１３区間カウンタの値を２だけ減ずる（ステップＳ３１９）。但し、該ステップＳ３１９の処理の結果、第１３区間カウンタの値がマイナスになった場合には、ＥＮＧ−ＥＣＵ２２は、第１３区間カウンタの値をゼロとする。
【０１３１】
次に、ＥＮＧ−ＥＣＵ２２は、上述したステップＳ２４６の処理（図１３参照）において算出されたクランクカウンタ６〜１８（以下、適宜“第２２区間”と称する）のインプットシャフト１３１の角度変化が、第２判定値より小さいか否かを判定する（ステップＳ３２０）。
【０１３２】
第２２区間のインプットシャフト１３１の角度変化が第２判定値より小さいと判定された場合（ステップＳ３２０：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第２２区間カウンタの値を１だけ増加する（ステップＳ３２１）。他方、第２２区間のインプットシャフト１３１の角度変化が第２判定値より大きいと判定された場合（ステップＳ３２０：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第２２区間カウンタの値を２だけ減ずる（ステップＳ３２２）。但し、該ステップＳ３２２の処理の結果、第２２区間カウンタの値がマイナスになった場合には、ＥＮＧ−ＥＣＵ２２は、第２２区間カウンタの値をゼロとする。
【０１３３】
ステップＳ３１６の処理において、クランクカウンタが１８でないと判定された場合（ステップＳ３１６：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、クランクカウンタが０（又は２４）であるか否かを判定する（ステップＳ３２３）。クランクカウンタが０（又は２４）であると判定された場合（ステップＳ３２３：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、上述したステップＳ２４６の処理（図１３参照）において算出されたクランクカウンタ１８〜２４（以下、適宜“第１４区間”と称する）のインプットシャフト１３１の角度変化が、第１判定値より小さいか否かを判定する（ステップＳ３２４）。
【０１３４】
第１４区間のインプットシャフト１３１の角度変化が第１判定値より小さいと判定された場合（ステップＳ３２４：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第１４区間カウンタの値を１だけ増加する（ステップＳ３２５）。他方、第１４区間のインプットシャフト１３１の角度変化が第１判定値より大きいと判定された場合（ステップＳ３２４：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第１４区間カウンタの値を２だけ減ずる（ステップＳ３３６）。但し、該ステップＳ３２６の処理の結果、第１４区間カウンタの値がマイナスになった場合には、ＥＮＧ−ＥＣＵ２２は、第１４区間カウンタの値をゼロとする。
【０１３５】
次に、ＥＮＧ−ＥＣＵ２２は、上述したステップＳ２４６の処理（図１３参照）において算出されたクランクカウンタ１２〜２４（以下、適宜“第２１区間”と称する）のインプットシャフト１３１の角度変化が、第２判定値より小さいか否かを判定する（ステップＳ３２７）。
【０１３６】
第２１区間のインプットシャフト１３１の角度変化が第２判定値より小さいと判定された場合（ステップＳ３２７：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第２１区間カウンタの値を１だけ増加する（ステップＳ３２８）。他方、第２１区間のインプットシャフト１３１の角度変化が第２判定値より大きいと判定された場合（ステップＳ３２７：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第２１区間カウンタの値を２だけ減ずる（ステップＳ３２９）。但し、該ステップＳ３２９の処理の結果、第２１区間カウンタの値がマイナスになった場合には、ＥＮＧ−ＥＣＵ２２は、第２１区間カウンタの値をゼロとする。
【０１３７】
ステップＳ３２３の処理において、クランクカウンタが０（又は２４）でないと判定された場合（ステップＳ３２３：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、一旦処理を終了する。
【０１３８】
（燃焼不良判定）
燃焼判定装置１００を搭載する車両１の走行中に、ＥＮＧ−ＥＣＵ２１が実行する燃焼不良判定処理について、図１６及び図１８のフローチャートを参照して説明する。尚、この燃焼不良判定処理は、例えば数μ秒〜数十μ秒等で周期的に実行される。
【０１３９】
図１６において、先ず、ＥＮＧ−ＥＣＵ２２は、判定期間カウンタの値を１だけ増加する（ステップＳ４０１）。続いて、ＥＮＧ−ＥＣＵ２２は、判定期間カウンタの値が、例えばエンジン１０の回転数又は時間等により定まる基準値より大きいか否かを判定する（ステップＳ４０２）。
【０１４０】
判定期間カウンタの値が基準値より大きいと判定された場合（ステップＳ４０２：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、例えば図１７に示すような走行条件（ここでは車速）と燃焼悪化基準値との関係を示すマップに基づいて、燃焼不良判定が必要か否かを判定する（ステップＳ４０３）。ここに、図１７は、本実施形態に係る走行条件と燃焼悪化基準値との関係を示すマップの一例である。他方、判定期間カウンタの値が基準値より小さいと判定された場合（ステップＳ４０２：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、一旦処理を終了する。
【０１４１】
ステップＳ４０３の処理において、燃焼不良判定が必要と判定された場合（ステップＳ４０３：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、典型的には、上述したステップＳ６の処理（図４参照）において受信したエンジン１０のトルク変動値に基づいて、第３１判定値及び第３２判定値を選択する（ステップＳ４０４）。他方、燃焼不良判定が不要と判定された場合（ステップＳ４０３：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、後述するステップＳ４１６の処理を行う。
【０１４２】
尚、燃焼不良判定が必要か否かは、上述したステップＳ６の処理（図４参照）において受信したエンジン１０のトルク変動値が、図１７に示すマップの燃焼不良領域にあるか否かを判定して、判定すればよい。また、第３１判定値及び第３２判定値は、典型的には、判定期間カウンタに対して、トルク変動値により誤判定しない値として、例えば実験等によって設定されている。
【０１４３】
次に、ＥＮＧ−ＥＣＵ２２は、クランクカウンタが６であるか否かを判定する（ステップＳ４０５）。クランクカウンタが６であると判定された場合（ステップＳ４０５：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、＃２気筒の燃料不良判定を行う（ステップＳ４０６）。他方、クランクカウンタが６でないと判定された場合（ステップＳ４０５：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、クランクカウンタが１２であるか否かを判定する（ステップＳ４０７）。
【０１４４】
クランクカウンタが１２であると判定された場合（ステップＳ４０７：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、＃１気筒の燃料不良判定を行う（ステップＳ４０８）。他方、クランクカウンタが１２でないと判定された場合（ステップＳ４０７：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、クランクカウンタが１８であるか否かを判定する（ステップＳ４０９）。
【０１４５】
クランクカウンタが１８であると判定された場合（ステップＳ４０９：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、＃３気筒の燃料不良判定を行う（ステップＳ４１０）。他方、クランクカウンタが１８でないと判定された場合（ステップＳ４０９：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、クランクカウンタが０（又は２４）であるか否かを判定する（ステップＳ４１１）。
【０１４６】
クランクカウンタが０（又は２４）であると判定された場合（ステップＳ４１１：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、＃４気筒の燃料不良判定を行う（ステップＳ４１２）。他方、クランクカウンタが０（又は２４）でないと判定された場合（ステップＳ４１１：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、後述するステップＳ４１６の処理を行う。
【０１４７】
ステップＳ４０６、Ｓ４０８、Ｓ４１０及びＳ４１２の処理の後、ＥＮＧ−ＥＣＵ２２は、特定気筒の燃焼不良が無いか否かを判定する（ステップＳ４１３）。特定気筒の燃焼不良が無いと判定された場合（ステップＳ４１３：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、全気筒に共通の原因で燃焼不良が生じている又はランダム不良であると認定する（ステップＳ４１４）。他方、特定気筒の燃焼不良があると判定された場合（ステップＳ４１３：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、特定気筒で燃焼不良が生じていると認定する（ステップＳ４１５）。
【０１４８】
次に、ＥＮＧ−ＥＣＵ２２は、判定期間カウンタ及び各気筒判定カウンタ（即ち、第１１区間カウンタ、第１２区間カウンタ、第１３区間カウンタ、第１４区間カウンタ、第２１区間カウンタ、第２２区間カウンタ、第２３区間カウンタ及び第２４区間カウンタ）の値をクリアして（ステップＳ４１６）、一旦処理を終了する。
【０１４９】
次に、上述したステップＳ４０６、Ｓ４０８、Ｓ４１０及びＳ４１２における各気筒の燃焼不良判定について、図１８を参照して説明する。尚、図１８は、例として＃２気筒の燃焼不良判定を示している。
【０１５０】
図１８において、ＥＮＧ−ＥＣＵ２２は、第１２区間カウンタの値が第３１判定値より大きいか否かを判定する（ステップＳ４０６１）。第３１判定値より大きいと判定された場合（ステップＳ４０６１：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第２２区間カウンタの値が、第２１区間カウンタ、第２２区間カウンタ、第２３区間カウンタ及び第２４区間カウンタの各々の値のうち最大であるか否かを判定する（ステップＳ４０６２）。他方、第３１判定値より小さいと判定された場合（ステップＳ４０６１：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、後述するステップＳ４０６５の処理を行う。
【０１５１】
ステップＳ４０６２の処理において、第２２区間カウンタの値が、第２１区間カウンタ、第２２区間カウンタ、第２３区間カウンタ及び第２４区間カウンタの各々の値のうち最大であると判定された場合（ステップＳ４０６２：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、＃２気筒が燃焼不良であると認定する（ステップＳ４０６４）。他方、ステップＳ４０６２の処理において、第２２区間カウンタの値が、第２１区間カウンタ、第２２区間カウンタ、第２３区間カウンタ及び第２４区間カウンタの各々の値のうち最大でないと判定された場合（ステップＳ４０６２：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第２１区間カウンタ、第２２区間カウンタ、第２３区間カウンタ及び第２４区間カウンタの各々の値が、第３２判定値より小さいか否かを判定する（ステップＳ４０６３）。
【０１５２】
ステップＳ４０６３の処理において第３２判定値より小さいと判定された場合（ステップＳ４０６３：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、＃２気筒が燃焼不良であると認定する（ステップＳ４０６４）。他方、ステップＳ４０６３の処理において第３２判定値より大きいと判定された場合（ステップＳ４０６３：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第２２区間カウンタの値が第３２判定値より大きいか否かを判定する（ステップＳ４０６５）。
【０１５３】
ステップＳ４０６５の処理において、第３２判定値より大きいと判定された場合（ステップＳ４０６５：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、＃２気筒が燃焼不良であると認定する（ステップＳ４０６６）。他方、ステップＳ４０６５の処理において、第３２判定値より小さいと判定された場合（ステップＳ４０６５：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、＃２気筒が燃焼不良ではないと認定する（ステップＳ４０６７）。
【０１５４】
尚、＃１気筒の燃焼不良判定は、図１８における第１２区間カウンタを第１１区間カウンタと、第２２区間カウンタを第２１区間カウンタと読み替えればよい。＃３気筒及び＃４気筒の燃焼不良判定についても、同様の読み替えをすればよい。
【０１５５】
（燃焼不良度合いの判定）
燃焼判定装置１００を搭載する車両１の走行中に、ＥＮＧ−ＥＣＵ２１が実行する燃焼不良度合いの判定処理について、図１９のフローチャートを参照して説明する。尚、この燃焼不良判定処理は、例えば数μ秒〜数十μ秒等で周期的に実行される。
【０１５６】
図１９において、先ず、ＥＮＧ−ＥＣＵ２２は、上述の燃焼不良判定処理（図１６参照）の結果に基づいて、特定気筒の燃焼不良があるか否かを判定する（ステップＳ５０１）。特定気筒の燃焼不良があると判定された場合（ステップＳ５０１：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第１判定により特定気筒の燃焼不良があると判定されたか否かを判定する（ステップＳ５０２）。他方、特定気筒の燃焼不良が無いと判定された場合（ステップＳ５０１：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、一旦処理を終了する。
【０１５７】
尚、第１判定により特定気筒の燃焼不良があると判定されたか否かは、例えば図１８におけるステップＳ４０６４の処理により燃焼不良であると認定されたか否かを判定して、判定すればよい。
【０１５８】
ステップＳ５０２の処理において、第１判定により特定気筒の燃焼不良があると判定されたと判定された場合（ステップＳ５０２：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第１判定におけるクランクシャフト１０１の回転角度とインプットシャフト１３１の回転角度との差分に基づいて、燃焼不良の度合いを判定する（ステップＳ５０３）。他方、ステップＳ５０２の処理において、第１判定により特定気筒の燃焼不良があると判定さていないと判定された場合（ステップＳ５０２：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第２判定におけるクランクシャフト１０１の回転角度とインプットシャフト１３１の回転角度との差分に基づいて、燃焼不良の度合いを判定する（ステップＳ５０４）。
【０１５９】
次に、ＥＮＧ−ＥＣＵ２２は、ステップＳ５０３又はＳ５０４の処理において判定された燃焼不良の度合い応じて、エンジン１０を制御して（ステップＳ５０５）、一旦処理を終了する。
【０１６０】
＜変形例＞
次に、本実施形態に係る燃焼判定装置における、燃焼不良度合いの判定処理の変形例について、図２０のフローチャートを参照して説明する。
【０１６１】
図２０において、先ず、ＥＮＧ−ＥＣＵ２２は、上述の燃焼不良判定処理（図１６参照）の結果に基づいて、特定気筒の燃焼不良があるか否かを判定する（ステップＳ６０１）。特定気筒の燃焼不良があると判定された場合（ステップＳ６０１：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、燃焼不良の気筒の判定時のカウンタ値を取得する（ステップＳ６０２）。他方、特定気筒の燃焼不良が無いと判定された場合（ステップＳ６０１：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、一旦処理を終了する。
【０１６２】
ステップＳ６０２の処理に続いて、ＥＮＧ−ＥＣＵ２２は、第１判定により特定気筒の燃焼不良があると判定されたか否かを判定する（ステップＳ６０３）。第１判定により特定気筒の燃焼不良があると判定されたと判定された場合（ステップＳ６０３：Ｙｅｓ）、ＥＮＧ−ＥＣＵ２２は、第１判定におけるカウンタ値に基づいて、燃焼不良の度合いを判定する（ステップＳ６０４）。他方、第１判定により特定気筒の燃焼不良があると判定さていないと判定された場合（ステップＳ６０３：Ｎｏ）、ＥＮＧ−ＥＣＵ２２は、第２判定におけるカウンタ値に基づいて、燃焼不良の度合いを判定する（ステップＳ６０５）。
【０１６３】
次に、ＥＮＧ−ＥＣＵ２２は、ステップＳ６０４又はＳ６０５の処理において判定された燃焼不良の度合い応じて、エンジン１０を制御して（ステップＳ６０６）、一旦処理を終了する。
【０１６４】
尚、本発明は、上述した実施形態に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨、或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う燃焼判定装置もまた、本発明の技術的範囲に含まれるものである。
【符号の説明】
【０１６５】
１…車両、１０…エンジン、１１…第１モータ・ジェネレータ、１２…第２モータ・ジェネレータ、１３…動力分配機構、１４…トーショナルダンパ、２１…ＨＶ−ＥＣＵ、２２…ＥＮＧ−ＥＣＵ、２３…ＭＧ−ＥＣＵ、２４…ＭＧ１−ＥＣＵ、２５…ＭＧ２−ＥＣＵ、３１…クランク角センサ、３２、３３…レゾルバ、１００…燃焼判定装置
【図１】
2010209700.tif 000003
【図２】
2010209700.tif 000004
【図３】
2010209700.tif 000005
【図４】
2010209700.tif 000006
【図５】
2010209700.tif 000007
【図６】
2010209700.tif 000008
【図７】
2010209700.tif 000009
【図８】
2010209700.tif 000010
【図９】
2010209700.tif 000011
【図１０】
2010209700.tif 000012
【図１１】
2010209700.tif 000013
【図１２】
2010209700.tif 000014
【図１３】
2010209700.tif 000015
【図１４】
2010209700.tif 000016
【図１５】
2010209700.tif 000017
【図１６】
2010209700.tif 000018
【図１７】
2010209700.tif 000019
【図１８】
2010209700.tif 000020
【図１９】
2010209700.tif 000021
【図２０】
2010209700.tif 000022