(57)【要約】【課題】エンジンの失火判定精度を向上させる。【解決手段】エンジンを備えた車両において、ＥＣＵは、クランク軸が３０°ＣＡ回転するのに要する時間の変動量（以下「回転時間変動量ΔＴ３０」という）を所定周期で算出する。ＥＣＵは、今回サイクルの回転時間変動量ΔＴ３０（０）が失火判定値α（α＞０）を超えている場合（Ｓ１０にてＹＥＳ）、今回サイクル直前の３サイクルの回転時間変動量ΔＴ３０の合計値が悪路判定値β（β≦０）よりも小さいときは（Ｓ１４にてＹＥＳ）、悪路走行中であると判定し（Ｓ１６）、そうでないときは（Ｓ１４にてＮＯ）、失火が発生していると判定する（Ｓ１５）。【選択図】図６
2014070551.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有するエンジンと、
前記エンジンにおいて失火が発生しているか否かを判定する制御装置とを備え、
前記制御装置は、前記エンジンの回転軸が所定角度だけ回転するのに要する時間の変動量を前記エンジンの回転変動量として算出し、前記回転変動量が正の第１所定値を超えた場合かつ前記回転変動量が前記第１所定値を超える直前の所定期間中の前記回転変動量が零以下の第２所定値よりも大きい場合、前記失火が発生していると判定する、車両。
【請求項２】
前記制御装置は、前記回転変動量が前記第１所定値を超えた場合であっても前記直前の所定期間中の前記回転変動量が前記第２所定値よりも小さい場合、前記車両が悪路を走行していると判定して前記失火が発生しているとは判定しない、請求項１に記載の車両。
【請求項３】
前記制御装置は、所定の演算周期で前記回転変動量を算出し、
前記直前の所定期間中の前記回転変動量は、前記回転変動量が前記第１所定値を超える直前の複数の演算周期で算出された複数の前記回転変動量の合計または平均である、請求項１または２に記載の車両。
【請求項４】
前記複数の気筒は、所定の順序で点火され、
前記制御装置は、前記複数の気筒の点火タイミングに応じた演算周期で前記回転変動量を算出し、同じ気筒で連続して前記回転変動量が前記第１所定値を超えた場合、前記直前の所定期間中の前記回転変動量が前記第２所定値よりも大きいか否かに関わらず、連続して前記回転変動量が前記第１所定値を超えた気筒において前記失火が発生していると判定する、請求項１〜３のいずれかに記載の車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンを備えた車両に関する。
【背景技術】
【０００２】
エンジンを備えた車両においては、エンジンの回転変動からエンジンにおいて失火が発生しているか否かが判定される。ところが、エンジンの回転に変動を生じさせるような悪路を車両が走行している場合には、失火判定精度が悪化する場合がある。このような問題に対して、たとえば、特開２００４−１１４４９号公報（特許文献１）は、エンジンの回転変動からエンジンにおいて失火が発生していると判定された場合であっても回転変動の変化パターンから車両が悪路走行中であると判定された場合には、失火が発生しているとの判定結果を無効化する技術を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１１４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１には、悪路走行時と失火発生時との間でエンジンの回転変動の変化パターンが具体的にどのように違うのかは示されていないため、悪路走行と失火発生とを適切に判別できないおそれがある。
【０００５】
本発明は、上述の課題を解決するためになされたものであって、その目的は、悪路走行と失火発生とを適切に判別して、失火判定精度を向上させることである。
【課題を解決するための手段】
【０００６】
この発明に係る車両は、複数の気筒を有するエンジンと、エンジンにおいて失火が発生しているか否かを判定する制御装置とを備える。制御装置は、エンジンの回転軸が所定角度だけ回転するのに要する時間の変動量をエンジンの回転変動量として算出し、回転変動量が正の第１所定値を超えた場合かつ回転変動量が第１所定値を超える直前の所定期間中の回転変動量が零以下の第２所定値よりも大きい場合、失火が発生していると判定する。
【０００７】
好ましくは、制御装置は、回転変動量が第１所定値を超えた場合であっても直前の所定期間中の回転変動量が第２所定値よりも小さい場合、車両が悪路を走行していると判定して失火が発生しているとは判定しない。
【０００８】
好ましくは、制御装置は、所定の演算周期で回転変動量を算出する。直前の所定期間中の回転変動量は、回転変動量が第１所定値を超える直前の複数の演算周期で算出された複数の回転変動量の合計または平均である。
【０００９】
好ましくは、複数の気筒は、所定の順序で点火される。制御装置は、複数の気筒の点火タイミングに応じた演算周期で回転変動量を算出し、同じ気筒で連続して回転変動量が第１所定値を超えた場合、直前の所定期間中の回転変動量が第２所定値よりも大きいか否かに関わらず、連続して回転変動量が第１所定値を超えた気筒において失火が発生していると判定する。
【発明の効果】
【００１０】
本発明によれば、悪路走行と失火発生とを適切に判別し、失火判定精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】車両の全体ブロック図である。
【図２】エンジンの構成を示す図である。
【図３】ＥＣＵの機能ブロック図である。
【図４】回転時間Ｔ３０および回転時間変動量ΔＴ３０の算出タイミング（演算サイクル）の一例を示す図である。
【図５】悪路走行中のエンジン回転速度Ｎｅ、回転時間Ｔ３０、回転時間変動量ΔＴ３０の変化パターンを模式的に示す図である。
【図６】ＥＣＵの処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ、本発明の実施の形態は、説明される。以下の説明では、同一の部品には同一の符号が付されている。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返されない。
【００１３】
図１は、本実施の形態による車両１の全体ブロック図である。車両１は、エンジン１０と、駆動軸１６と、第１モータジェネレータ（以下、第１ＭＧと記載する）２０と、第２モータジェネレータ（以下、第２ＭＧと記載する）３０と、動力分割装置４０と、減速機５８と、ＰＣＵ（Power  Control  Unit）６０と、バッテリ７０と、駆動輪８０と、ＥＣＵ（Electronic  Control  Unit）２００とを含む。
【００１４】
この車両１は、エンジン１０および第２ＭＧ３０の少なくとも一方から出力される駆動力によって走行するハイブリッド車両である。なお、本発明を適用可能な車両は、特にハイブリッド車両に限定されるものではなく、たとえばエンジンのみを駆動源とする車両であってもよい。
【００１５】
エンジン１０が発生する動力は、動力分割装置４０によって２経路に分割される。２経路のうちの一方の経路は減速機５８を介して駆動輪８０へ伝達される経路であり、他方の経路は第１ＭＧ２０へ伝達される経路である。
【００１６】
第１ＭＧ２０および第２ＭＧ３０は、たとえば、三相交流回転電機である。第１ＭＧ２０および第２ＭＧ３０は、ＰＣＵ６０によって駆動される。
【００１７】
第１ＭＧ２０は、動力分割装置４０によって分割されたエンジン１０の動力を用いて発電してＰＣＵ６０を経由してバッテリ７０を充電するジェネレータとしての機能を有する。また、第１ＭＧ２０は、バッテリ７０からの電力を受けてエンジン１０の出力軸であるクランク軸を回転させる。これによって、第１ＭＧ２０は、エンジン１０を始動するスタータとしての機能を有する。
【００１８】
第２ＭＧ３０は、バッテリ７０に蓄えられた電力および第１ＭＧ２０により発電された電力の少なくともいずれか一方を用いて駆動輪８０に駆動力を与える駆動用モータとしての機能を有する。また、第２ＭＧ３０は、回生制動によって発電された電力を用いてＰＣＵ６０を経由してバッテリ７０を充電するためのジェネレータとしての機能を有する。
【００１９】
図２は、エンジン１０の構成を示す図である。エンジン１０は、たとえば、ガソリンエンジンやディーゼルエンジン等の内燃機関である。エンジン１０は、エアクリーナ１０２と、スロットルバルブ１０４と、複数の気筒１０６と、複数の気筒１０６の各々に燃料を供給するインジェクタ１０８と、点火プラグ１１０と、三元触媒１１２と、ピストン１１４と、クランク軸１１６と、吸気バルブ１１８と、排気バルブ１２０と、吸気側カム１２２と、排気側カム１２４と、ＶＶＴ（Variable  Valve  Timing）機構１２６とを含む。
【００２０】
エンジン１０には、エアクリーナ１０２から空気が吸入される。吸入空気量は、スロットルバルブ１０４により調整される。スロットルバルブ１０４はモータにより駆動される電子スロットルバルブである。
【００２１】
空気は、気筒１０６（燃焼室）において燃料と混合される。気筒１０６には、インジェクタ１０８から燃料が直接噴射される。すなわち、インジェクタ１０８の噴射孔は気筒１０６内に設けられている。燃料は、気筒１０６の吸気側（空気が導入される側）から噴射される。
【００２２】
燃料は吸気行程において噴射される。なお、燃料が噴射される時期は、吸気行程に限らない。また、本実施の形態においては、インジェクタ１０８の噴射孔が気筒１０６内に設けられた直噴エンジンとしてエンジン１０を説明するが、直噴用のインジェクタ１０８に加えて、ポート噴射用のインジェクタを設けてもよい。さらに、ポート噴射用のインジェクタのみを設けるようにしてもよい。
【００２３】
気筒１０６内の混合気は、点火プラグ１１０により着火され、燃焼する。燃焼後の混合気、すなわち排気ガスは、三元触媒１１２により浄化された後、車外に排出される。混合気の燃焼によりピストン１１４が押し下げられ、クランク軸１１６が回転する。
【００２４】
気筒１０６の頭頂部には、吸気バルブ１１８および排気バルブ１２０が設けられる。気筒１０６に導入される空気の量および時期は吸気バルブ１１８により制御される。気筒１０６から排出される排気ガスの量および時期は排気バルブ１２０により制御される。吸気バルブ１１８は吸気側カム１２２により駆動される。排気バルブ１２０は排気側カム１２４により駆動される。
【００２５】
吸気バルブ１１８は、ＶＶＴ機構１２６により、開閉タイミング（位相）が変更される。なお、排気バルブ１２０の開閉タイミングを変更するようにしてもよい。
【００２６】
本実施の形態においては、吸気側カム１２２が設けられたカムシャフト（図示せず）がＶＶＴ機構１２６により回転されることにより、吸気バルブ１１８の開閉タイミングが制御される。なお、開閉タイミングを制御する方法はこれに限らない。本実施の形態において、ＶＶＴ機構１２６は、油圧により作動する。ＶＶＴ機構１２６は、排気側カム１２４に設けられてもよい。
【００２７】
エンジン１０は、ＥＣＵ２００からの制御信号に基づいて制御される。ＥＣＵ２００は、エンジン１０が所望の運転状態になるように、スロットル開度、点火時期、燃料噴射時期、燃料噴射量、吸気バルブ１１８の開閉タイミングを制御する。
【００２８】
ＥＣＵ２００には、クランク角センサ１１、カム角センサ２０４、水温センサ２０６、エアフローメータ２０８から信号が入力される。
【００２９】
クランク角センサ１１は、クランク軸１１６の回転角度（以下「クランク角」ともいう）を表す信号を出力する。クランク角の単位は「°ＣＡ（Crank Angle）」である。なお、クランク軸１１６の回転速度（以下「エンジン回転速度」という）Ｎｅは、クランク角センサ１１の検出結果を用いてＥＣＵ２００によって算出される。カム角センサ２０４は、吸気側カム１２２の位置を表す信号を出力する。水温センサ２０６は、エンジン１０の冷却水の温度（以下、水温とも記載する）を表す信号を出力する。エアフローメータ２０８は、エンジン１０に吸入される空気量を表す信号を出力する。
【００３０】
ＥＣＵ２００は、これらのセンサから入力された信号、ＲＯＭ（Read  Only  Memory）２０２に記憶されたマップおよびプログラムに基づいて、エンジン１０を制御する。
【００３１】
図１に戻って、動力分割装置４０は、駆動輪８０を回転させるための駆動軸１６、エンジン１０の出力軸および第１ＭＧ２０の回転軸の三要素の各々を機械的に連結する。動力分割装置４０は、上述の三要素のうちのいずれか一つを反力要素とすることによって、他の２つの要素間での動力の伝達を可能とする。第２ＭＧ３０の回転軸は、駆動軸１６に連結される。
【００３２】
動力分割装置４０は、サンギヤと、ピニオンギヤと、キャリアと、リングギヤとを含む遊星歯車機構である。ピニオンギヤは、サンギヤおよびリングギヤの各々と噛み合う。キャリアは、ピニオンギヤを自転可能に支持するとともに、エンジン１０のクランク軸に連結される。サンギヤは、第１ＭＧ２０の回転軸に連結される。リングギヤは、駆動軸１６を介在して第２ＭＧ３０の回転軸および減速機５８に連結される。
【００３３】
減速機５８は、動力分割装置４０や第２ＭＧ３０からの動力を駆動輪８０に伝達する。また、減速機５８は、駆動輪８０が受けた路面からの反力を動力分割装置４０や第２ＭＧ３０に伝達する。
【００３４】
ＰＣＵ６０は、バッテリ７０に蓄えられた直流電力を第１ＭＧ２０および第２ＭＧ３０を駆動するための交流電力に変換する。ＰＣＵ６０は、ＥＣＵ２００からの制御信号に基づいて制御されるコンバータおよびインバータ（いずれも図示せず）を含む。コンバータは、バッテリ７０から受けた直流電力の電圧を昇圧してインバータに出力する。インバータは、コンバータが出力した直流電力を交流電力に変換して第１ＭＧ２０および／または第２ＭＧ３０に出力する。これにより、バッテリ７０に蓄えられた電力を用いて第１ＭＧ２０および／または第２ＭＧ３０が駆動される。また、インバータは、第１ＭＧ２０および／または第２ＭＧ３０によって発電される交流電力を直流電力に変換してコンバータに出力する。コンバータは、インバータが出力した直流電力の電圧を降圧してバッテリ７０へ出力する。これにより、第１ＭＧ２０および／または第２ＭＧ３０により発電された電力を用いてバッテリ７０が充電される。なお、コンバータは、省略してもよい。
【００３５】
バッテリ７０は、たとえば、ニッケル水素やリチウムイオン等を含んで構成される二次電池である。バッテリ７０の電圧は、たとえば２００Ｖ程度である。バッテリ７０は、上述したように第１ＭＧ２０および／または第２ＭＧ３０により発電された電力を用いて充電される他、外部電源（図示せず）から供給される電力を用いて充電されてもよい。なお、バッテリ７０は、二次電池に限らず、たとえば、大容量キャパシタであってもよい。
【００３６】
ＥＣＵ２００は、エンジン１０およびＰＣＵ６０等を制御することによって車両１が最も効率よく運行できるようにハイブリッドシステム全体、すなわち、バッテリ７０の充放電状態、エンジン１０、第１ＭＧ２０および第２ＭＧ３０の動作状態を制御する。
【００３７】
以上のような構成を有する車両１において、ＥＣＵ２００は、クランク角センサ１１の検出結果を用いてエンジン回転速度Ｎｅの変動量（以下、単に「回転変動量ΔＮｅ」という）を所定周期で算出し、算出された回転変動量ΔＮｅが失火判定値を超えたか否かに応じてエンジン１０において失火が発生したか否かを判定する。
【００３８】
しかしながら、複数のスピードブレーカーが設置された路面やベルジャン路面などのように凸状あるいは凹状の抵抗が連続する路面（以下、単に「悪路」という）を車両１が走行する場合には、タイヤが抵抗に接触する毎にタイヤからの外乱がエンジン１０に入力される。この影響で、回転変動量ΔＮｅが瞬間的に大きくなり、失火が発生していると誤判定されるおそれがある。
【００３９】
そこで、本実施の形態においては、ＥＣＵ２００は、回転変動量ΔＮｅが失火判定値を超えた場合に、即座に失火が発生していると判定するのではなく、回転変動量ΔＮｅが失火判定値を超える直前の所定期間中に算出された回転変動量ΔＮｅを用いて悪路走行中であるか否かを判定する。そして、ＥＣＵ２００は、回転変動量ΔＮｅが失火判定値を超えており、かつ悪路走行中でない場合に、失火が発生していると判定する。
【００４０】
以下では、エンジン１０が直列４気筒エンジンであり、第１気筒（＃１）、第２気筒（＃２）、第３気筒（＃３）、第４気筒（＃４）の順序で点火が繰り返される場合について例示的に説明する。
【００４１】
図３は、ＥＣＵ２００の機能ブロック図である。図３に示した各機能ブロックは、ハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【００４２】
ＥＣＵ２００は、変動量算出部２１０と、仮失火判定部２２０と、第１失火判定部２３０と、第２失火判定部２４０とを含む。
【００４３】
変動量算出部２１０は、クランク角センサ１１の検出結果を用いて回転変動量ΔＮｅ（より詳しくは、後述する「回転時間変動量ΔＴ３０」）を算出する。変動量算出部２１０は、たとえば、クランク角センサ１１の検出結果を用いてクランク軸１１６が所定角度だけ回転するのに要する時間を計測する。本実施の形態においては、所定角度を３０°ＣＡとし、クランク軸１１６が３０°ＣＡ回転するのに要する時間を「回転時間Ｔ３０」と記載する。
【００４４】
図４は、回転時間Ｔ３０および回転時間変動量ΔＴ３０の算出タイミング（演算サイクル）の一例を示す図である。なお、図４に示す算出タイミングはあくまで一例であってこれに限定されるものではない。
【００４５】
図４に示すように、変動量算出部２１０は、クランク軸１１６が各気筒のＴＤＣ（Top  Dead  Center）を始点として３０°ＣＡだけ回転するのに要する回転時間Ｔ３０を、各気筒に点火される毎に計測（算出）する。
【００４６】
さらに、変動量算出部２１０は、回転時間Ｔ３０が計測される毎に、最新（今回サイクル）の回転時間Ｔ３０から１点火前（前回サイクル）の回転時間Ｔ３０を差し引いた値を最新の回転時間変動量ΔＴ３０として算出する。
【００４７】
以下の説明では、最新（今回サイクル）の回転時間Ｔ３０を「Ｔ３０（０）」、ｎ点火前（ｎサイクル前、ｎ＝１，２，３，…）の回転時間Ｔ３０を「Ｔ３０（ｎ）」とも記載する。また、最新（今回サイクル）の回転時間変動量ΔＴ３０を「ΔＴ３０（０）」、ｎ点火前（ｎサイクル前）の回転時間変動量ΔＴ３０を「ΔＴ３０（ｎ）」とも記載する。
【００４８】
変動量算出部２１０は、たとえば、今回サイクルで第３気筒の回転時間Ｔ３０を計測した場合、今回サイクルで計測された第３気筒の回転時間Ｔ３０を「Ｔ３０（０）」とし、１点火前の気筒である第２気筒の回転時間Ｔ３０を「Ｔ３０（１）」として、今回サイクルの回転時間変動量ΔＴ３０（０）を、ΔＴ３０（０）＝Ｔ３０（０）−Ｔ３０（１）とする。
【００４９】
このように算出された回転時間変動量ΔＴ３０は、エンジン回転速度Ｎｅの変動に応じて変化する値となる。
【００５０】
すなわち、エンジン回転速度Ｎｅが１点火前よりも低下すると、回転時間Ｔ３０が１点火前よりも長くなるため、回転時間変動量ΔＴ３０は正の値となる。また、エンジン回転速度Ｎｅの低下量が大きいほど、回転時間Ｔ３０が長くなるため、回転時間変動量ΔＴ３０の値は大きくなる。
【００５１】
逆に、エンジン回転速度Ｎｅが１点火前よりも増加すると、回転時間Ｔ３０が１点火前よりも短くなるため、回転時間変動量ΔＴ３０は負の値となる。また、エンジン回転速度Ｎｅの増加量が大きいほど、回転時間Ｔ３０が短くなるため、回転時間変動量ΔＴ３０の値は小さくなる（絶対値は大きくなる）。
【００５２】
このように、回転時間変動量ΔＴ３０は、エンジン回転速度Ｎｅの変動に応じて変化する値となる。本実施の形態では、この回転時間変動量ΔＴ３０を回転変動量ΔＮｅとして用いる場合を例示的に説明する。なお、回転変動量ΔＮｅとして用いることができる値は、エンジン回転速度Ｎｅの変動に応じて変化する値であればよく、必ずしも回転時間変動量ΔＴ３０に限定されるものではない。
【００５３】
仮失火判定部２２０は、最新の回転時間変動量ΔＴ３０（０）が失火判定値αを超えているか否かを判定する。ここで、失火判定値αは、正の所定値に設定される。失火判定値αは、固定値であってもよいし、エンジン回転速度Ｎｅなどに応じて変動する変動値であってもよい。
【００５４】
仮失火判定部２２０は、最新の回転時間変動量ΔＴ３０（０）が失火判定値αを超えていない場合は「正常（失火が発生していない）」と判定する。一方、仮失火判定部２２０は、最新の回転時間変動量ΔＴ３０（０）が失火判定値αを超えている場合（すなわち前回サイクルから今回サイクルにかけてエンジン回転速度Ｎｅが所定速度以上減少した場合）、「失火仮異常」と判定する。
【００５５】
第１失火判定部２３０は、仮失火判定部２２０によって失火仮異常と判定された場合、同じ気筒で連続して失火仮異常と判定されたか否かを判定する。具体的には、第１失火判定部２３０は、今回サイクルよりも４サイクル前（４点火前）にも仮失火異常と判定された履歴があるか否か（すなわち４点火前の回転時間変動量ΔＴ３０（４）が失火判定値αを超えていたか否か）を判定する。４点火前の回転時間変動量ΔＴ３０（４）が失火判定値αを超えていた場合、今回サイクルで失火仮異常と判定された気筒で連続的に失火が発生している「１気筒連続失火異常」と判定する。そうでない場合、１気筒連続失火異常ではないと判定する。
【００５６】
第２失火判定部２４０は、第１失火判定部２３０によって１気筒連続失火異常ではないと判定された場合、今回サイクル直前の所定期間中の回転時間変動量ΔＴ３０を用いて車両１が悪路を走行しているか否かを判定する。
【００５７】
図５は、悪路走行中のエンジン回転速度Ｎｅ、回転時間Ｔ３０、回転時間変動量ΔＴ３０の変化パターンを模式的に示す図である。
【００５８】
悪路走行中は、タイヤが定期的に路面の抵抗に接触する。エンジン回転速度Ｎｅは、タイヤが抵抗に接触した直後は一時的に低下し、その後に正規の値に徐々に復帰（増加）し、タイヤが次の抵抗に接触すると再び一時的に低下する。悪路走行中は、このようなエンジン回転速度Ｎｅの変化が繰り返される。
【００５９】
タイヤが抵抗に接触すると、エンジン回転速度Ｎｅが一時的に低下（減速）して回転時間Ｔ３０が増加するため、回転時間変動量ΔＴ３０が正の値となる。したがって、悪路走行中は、失火が発生していないにも関わらず、定期的に（すなわちタイヤが抵抗に接触する毎に）回転時間変動量ΔＴ３０が失火判定値αを超える場合がある。
【００６０】
一方、一時的に低下していたエンジン回転速度Ｎｅが正規の値に向けて復帰するときは、エンジン回転速度Ｎｅが増加する加速状態となり回転時間Ｔ３０が低下する。そのため、回転時間変動量ΔＴ３０が負の値となる。したがって、悪路走行中は、回転時間変動量ΔＴ３０が失火判定値αを超える直前の数サイクルの回転時間変動量ΔＴ３０の合計または平均が負の値になることが想定される。
【００６１】
このような悪路走行中の回転時間変動量ΔＴ３０の変化パターンを考慮して、第２失火判定部２４０は、今回サイクル直前の３サイクルの回転時間変動量ΔＴ３０の合計値（＝ΔＴ３０（１）＋ΔＴ３０（２）＋ΔＴ３０（３））が予め定められた悪路判定値βよりも小さいか否かを判定する。ここで、悪路判定値βは、零以下の所定値に設定される。なお、回転時間変動量ΔＴ３０の「合計値」に代えて「平均値」を用いるようにしてもよい。
【００６２】
そして、第２失火判定部２４０は、今回サイクルで仮失火異常と判定された場合であっても、今回サイクル直前の３サイクルの回転時間変動量ΔＴ３０の合計値が悪路判定値βよりも小さい場合には、車両１が悪路を走行していると判定して、失火が発生しているとは判定しない。言い換えれば、第２失火判定部２４０は、今回サイクルでエンジン回転速度Ｎｅが所定速度以上減少した場合であっても、今回サイクル直前の所定期間中にエンジン回転速度Ｎｅが所定速度以上加速していた場合には、車両１が悪路を走行していると判定して、失火が発生しているとは判定しない。これにより、悪路走行による回転変動を失火発生と誤判定することが抑制される。
【００６３】
たとえば、今回サイクルで第４気筒の回転時間変動量ΔＴ３０が失火判定値αを超えたと判定された場合、１点火前の第３気筒の回転時間変動量ΔＴ３０（１）、２点火前の第２気筒の回転時間変動量ΔＴ３０（２）、３点火前の第１気筒の回転時間変動量ΔＴ３０（３）の合計値が悪路判定値βよりも小さい値である場合に、車両１が悪路を走行していると判定して、失火が発生しているとは判定しない。
【００６４】
一方、第２失火判定部２４０は、今回サイクルで仮失火異常と判定された場合で、かつ今回サイクル直前の３サイクルの回転時間変動量ΔＴ３０の合計値が悪路判定値βよりも大きい値である場合には、今回サイクルで仮失火異常と判定された気筒で失火が発生している「ランダム失火異常」と判定する。言い換えれば、第２失火判定部２４０は、今回サイクルでエンジン回転速度Ｎｅが所定速度以上減少した場合で、かつ今回サイクル直前の所定期間中にエンジン回転速度Ｎｅが所定速度以上加速していなかった場合、今回サイクルで仮失火異常と判定された気筒で失火が発生していると判定する。
【００６５】
図６は、上述の機能を実現するためのＥＣＵ２００の処理手順を示すフローチャートである。このフローチャートは、回転時間変動量ΔＴ３０が算出される毎に繰り返し実行される。
【００６６】
ステップ（以下、ステップを「Ｓ」と略す）１０にて、ＥＣＵ２００は、今回サイクルの回転時間変動量ΔＴ３０（０）が失火判定値α（α＞０）を超えているか否かを判定する。
【００６７】
今回サイクルの回転時間変動量ΔＴ３０（０）が失火判定値αを超えていない場合（Ｓ１０にてＮＯ）、ＥＣＵ２００は、処理をＳ１１に移し、エンジン１０の燃焼状態が正常である（失火が発生していない）と判定する。
【００６８】
今回サイクルの回転時間変動量ΔＴ３０（０）が失火判定値αを超えている場合（Ｓ１０にてＹＥＳ）、ＥＣＵ２００は、仮失火異常と判定して、処理をＳ１２に移し、４点火前の回転時間変動量ΔＴ３０（４）が失火判定値αを超えていたか否かを判定する。
【００６９】
４点火前の回転時間変動量ΔＴ３０（４）が失火判定値αを超えていた場合（Ｓ１２にてＹＥＳ）、ＥＣＵ２００は、処理をＳ１３に移し、今回サイクルで失火仮異常と判定された気筒が連続的に失火している「１気筒連続失火異常」と判定する。
【００７０】
４点火前の回転時間変動量ΔＴ３０（４）が失火判定値αを超えていなかった場合（Ｓ１２にてＮＯ）、ＥＣＵ２００は、処理をＳ１４に移し、今回サイクル直前の３サイクルの回転時間変動量ΔＴ３０の合計値（＝ΔＴ３０（１）＋ΔＴ３０（２）＋ΔＴ３０（３））が悪路判定値β（β≦０）よりも小さいか否かを判定する。
【００７１】
今回サイクル直前の３サイクルの回転時間変動量ΔＴ３０の合計値が悪路判定値βよりも小さくない場合（Ｓ１４にてＮＯ）、ＥＣＵ２００は、処理をＳ１５に移し、今回サイクルで仮失火異常と判定された気筒で失火が発生している「ランダム失火異常」と判定する。
【００７２】
一方、今回サイクル直前の３サイクルの回転時間変動量ΔＴ３０の合計値が悪路判定値βよりも小さい場合（Ｓ１４にてＹＥＳ）、ＥＣＵ２００は、処理をＳ１６に移し、悪路走行中であると判定する。
【００７３】
以上のように、本実施の形態においては、今回サイクルの回転時間変動量ΔＴ３０（０）および今回サイクル直前の数サイクルの回転時間変動量ΔＴ３０の合計値を用いて悪路走行と失火発生とを適切に判別し、悪路走行中である場合には失火が発生しているとは判定しない。そのため、失火判定精度を向上させることができる。
【００７４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７５】
１  車両、１０  エンジン、１１  クランク角センサ、１６  駆動軸、２０  第１ＭＧ、３０  第２ＭＧ、４０  動力分割装置、５８  減速機、７０  バッテリ、８０  駆動輪、１０２  エアクリーナ、１０４  スロットルバルブ、１０６  気筒、１０８  インジェクタ、１１０  点火プラグ、１１２  三元触媒、１１４  ピストン、１１６  クランク軸、１１８  吸気バルブ、１２０  排気バルブ、１２２  吸気側カム、１２４  排気側カム、１２６  機構、２００  ＥＣＵ、２０４  カム角センサ、２０６  水温センサ、２０８  エアフローメータ、２１０  変動量算出部、２２０  仮失火判定部、２３０  第１失火判定部、２４０  第２失火判定部。
【図１】
2014070551.tif 000003
【図２】
2014070551.tif 000004
【図３】
2014070551.tif 000005
【図４】
2014070551.tif 000006
【図５】
2014070551.tif 000007
【図６】
2014070551.tif 000008