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