(57)【特許請求の範囲】
【請求項１】
内燃機関と、
前記内燃機関の回転変動量が失火判定値を超えた場合に前記内燃機関において失火が発生しているか、あるいは、車両が悪路を走行しているかを判定するための制御ユニットとを含み、
前記制御ユニットは、
前記回転変動量が前記失火判定値よりも大きい悪路判定値を超えた場合には、前記車両が前記悪路を走行していると判定し、
前記回転変動量が前記失火判定値よりも大きく、かつ、前記悪路判定値よりも小さい場合には、前記内燃機関の回転変動の第１変化パターンが失火発生時の前記回転変動の第２変化パターンに対応していると前記内燃機関において前記失火が発生していると判定し、前記第１変化パターンが前記第２変化パターンに対応していないと前記車両が前記悪路を走行していると判定する、車両。
【請求項２】
前記内燃機関は、複数の気筒を含み、
前記第１変化パターンは、前記複数の気筒のうちの前記回転変動量が前記失火判定値よりも大きい第１気筒および前記第１気筒と異なる第２気筒の各々の前記回転変動量を含み、
前記第２変化パターンは、前記失火発生時に前記第２気筒の前記回転変動量が、前記第１気筒の前記回転変動量を基準として設定される範囲内となる変化パターンを含む、請求項１に記載の車両。
【請求項３】
前記制御ユニットは、前記内燃機関の状態に基づいて前記失火判定値および前記悪路判定値のうちの少なくともいずれか一方を決定する、請求項１または２に記載の車両。
【請求項４】
前記制御ユニットは、前記内燃機関の出力軸の回転角度が所定の角度だけ回転するのに要した第１回転時間と、前記第１回転時間に対応する１点火前の第２回転時間との差から前記回転変動量を算出する、請求項１〜３のいずれかに記載の車両。
【請求項５】
前記車両は、運転者に情報を通知するための通知部をさらに含み、
前記制御ユニットは、前記失火が発生したと判定した第１回数と、前記車両が前記悪路を走行していると判定した第２回数とに基づいて、前記失火が発生した旨を前記運転者に通知するように前記通知部を制御する、請求項１〜４のいずれかに記載の車両。
【請求項６】
内燃機関の失火判定方法であって、
前記内燃機関の回転数の変動量が失火判定値を超えた場合に前記内燃機関において失火が発生しているか、あるいは、車両が悪路を走行しているかを判定するステップと、
前記変動量が前記失火判定値よりも大きい悪路判定値を超えた場合には、前記車両が前記悪路を走行していると判定するステップと、
前記変動量が前記失火判定値よりも大きく、かつ、前記悪路判定値よりも小さい場合には、前記内燃機関の回転変動の第１変化パターンが失火発生時の前記回転変動の第２変化パターンに対応していると前記内燃機関において前記失火が発生していると判定し、前記第１変化パターンが前記第２変化パターンに対応していないと前記車両が前記悪路を走行していると判定するステップとを含む、内燃機関の失火判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の失火判定の判定精度の悪化を抑制する技術に関する。
【背景技術】
【０００２】
内燃機関の回転に変動を生じさせるような悪路を車両が走行している場合には、内燃機関の失火の発生の有無の判定精度が悪化する場合がある。このような問題に対して、たとえば、特開２００３−０６５１４３号公報（特許文献１）は、内燃機関の回転変動の変化パターンに基づいて失火が発生したか、あるいは、車両が悪路を走行しているかを判定する技術が開示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−０６５１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、たとえば、所定のパターンで連続的に起伏が変化するような路面を車両が走行している場合には、内燃機関の回転変動の変化パターンが失火発生時の回転変動の変化パターンに対応する変化パターンとなり、失火が発生していると誤判定する可能性がある。
【０００５】
本発明は、上述した課題を解決するためになされたものであって、その目的は、内燃機関の失火の発生の有無を精度高く判定する車両および内燃機関の失火判定方法を提供することである。
【課題を解決するための手段】
【０００６】
この発明のある局面に係る車両は、内燃機関と、内燃機関の回転変動量が失火判定値を超えた場合に内燃機関において失火が発生しているか、あるいは、車両が悪路を走行しているかを判定するための制御ユニットとを含む。制御ユニットは、回転変動量が失火判定値よりも大きい悪路判定値を超えた場合には、車両が悪路を走行していると判定する。
【０００７】
好ましくは、制御ユニットは、回転変動量が失火判定値よりも大きく、かつ、悪路判定値よりも小さい場合には、内燃機関の回転変動の第１変化パターンが失火発生時の回転変動の第２変化パターンに対応していると内燃機関において失火が発生していると判定し、第１変化パターンが第２変化パターンに対応していないと車両が悪路を走行していると判定する。
【０００８】
さらに好ましくは、内燃機関は、複数の気筒を含む。第１変化パターンは、複数の気筒のうちの回転変動量が失火判定値よりも大きい第１気筒および第１気筒と異なる第２気筒の各々の回転変動量を含む。第２変化パターンは、失火発生時に第２気筒の回転変動量が、第１気筒の回転変動量を基準として設定される範囲内となる変化パターンを含む。
【０００９】
さらに好ましくは、制御ユニットは、内燃機関の状態に基づいて失火判定値および悪路判定値のうちの少なくともいずれか一方を決定する。
【００１０】
さらに好ましくは、制御ユニットは、内燃機関の出力軸の回転角度が所定の角度だけ回転するのに要した第１回転時間と、第１回転時間に対応する１点火前の第２回転時間との差から回転変動量を算出する。
【００１１】
さらに好ましくは、車両は、運転者に情報を通知するための通知部をさらに含む。制御ユニットは、失火が発生したと判定した第１回数と、車両が悪路を走行していると判定した第２回数とに基づいて、失火が発生した旨を運転者に通知するように通知部を制御する。
【００１２】
この発明の他の局面に係る失火判定方法は、内燃機関の失火判定方法である。この失火判定方法は、内燃機関の回転数の変動量が失火判定値を超えた場合に内燃機関において失火が発生しているか、あるいは、車両が悪路を走行しているかを判定するステップと、変動量が失火判定値よりも大きい悪路判定値を超えた場合には、車両が悪路を走行していると判定するステップとを含む。
【発明の効果】
【００１３】
本発明によると、内燃機関の回転数の変動量が仮失火判定値よりも大きい場合でも、悪路判定値よりも大きい場合には、車両が悪路を走行していると判定することにより、内燃機関の回転変動の変化パターンが失火発生時の回転変動の変化パターンに対応している場合でも、車両が悪路を走行していると判定することができる。そのため、失火の誤判定を防止することができる。したがって、内燃機関の失火の発生の有無を精度高く判定する車両および内燃機関の失火判定方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態に係る車両の全体ブロック図である。
【図２】本実施の形態に係る車両に搭載された内燃機関の構成を示す図である。
【図３】本実施の形態に係る車両に搭載されたＥＣＵの機能ブロック図である。
【図４】内燃機関の回転変動の変化パターンを示す図（その１）である。
【図５】本実施の形態に係る車両に搭載されたＥＣＵで実行されるプログラムの制御構造を示すフローチャートである。
【図６】内燃機関の回転変動の変化パターンを示す図（その２）である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ、本発明の実施の形態は、説明される。以下の説明では、同一の部品には同一の符号が付されている。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返されない。
【００１６】
図１を参照して、本実施の形態に係る車両１の全体ブロック図が説明される。車両１は、エンジン１０と、駆動軸１６と、第１モータジェネレータ（以下、第１ＭＧと記載する）２０と、第２モータジェネレータ（以下、第２ＭＧと記載する）３０と、動力分割装置４０と、減速機５８と、ＰＣＵ（Power  Control  Unit）６０と、バッテリ７０と、駆動輪８０と、スタートスイッチ１５０と、ＥＣＵ（Electronic  Control  Unit）２００とを含む。
【００１７】
この車両１は、エンジン１０および第２ＭＧ３０の少なくとも一方から出力される駆動力によって走行する。エンジン１０が発生する動力は、動力分割装置４０によって２経路に分割される。２経路のうちの一方の経路は減速機５８を介して駆動輪８０へ伝達される経路であり、他方の経路は第１ＭＧ２０へ伝達される経路である。
【００１８】
第１ＭＧ２０および第２ＭＧ３０は、たとえば、三相交流回転電機である。第１ＭＧ２０および第２ＭＧ３０は、ＰＣＵ６０によって駆動される。
【００１９】
第１ＭＧ２０は、動力分割装置４０によって分割されたエンジン１０の動力を用いて発電してＰＣＵ６０を経由してバッテリ７０を充電するジェネレータとしての機能を有する。また、第１ＭＧ２０は、バッテリ７０からの電力を受けてエンジン１０の出力軸であるクランク軸を回転させる。これによって、第１ＭＧ２０は、エンジン１０を始動するスタータとしての機能を有する。
【００２０】
第２ＭＧ３０は、バッテリ７０に蓄えられた電力および第１ＭＧ２０により発電された電力の少なくともいずれか一方を用いて駆動輪８０に駆動力を与える駆動用モータとしての機能を有する。また、第２ＭＧ３０は、回生制動によって発電された電力を用いてＰＣＵ６０を経由してバッテリ７０を充電するためのジェネレータとしての機能を有する。
【００２１】
エンジン１０は、たとえば、ガソリンエンジンやディーゼルエンジン等の内燃機関である。図２に示すように、エンジン１０は、エアクリーナ１０２と、スロットルバルブ１０４と、複数の気筒１０６と、複数の気筒１０６の各々に燃料を供給するインジェクタ１０８と、点火プラグ１１０と、三元触媒１１２と、ピストン１１４と、クランク軸１１６と、吸気バルブ１１８と、排気バルブ１２０と、吸気側カム１２２と、排気側カム１２４と、ＶＶＴ（Variable  Valve  Timing）機構１２６とを含む。
【００２２】
エンジン１０には、エアクリーナ１０２から空気が吸入される。吸入空気量は、スロットルバルブ１０４により調整される。スロットルバルブ１０４はモータにより駆動される電子スロットルバルブである。
【００２３】
空気は、気筒１０６（燃焼室）において燃料と混合される。気筒１０６には、インジェクタ１０８から燃料が直接噴射される。すなわち、インジェクタ１０８の噴射孔は気筒１０６内に設けられている。燃料は、気筒１０６の吸気側（空気が導入される側）から噴射される。
【００２４】
燃料は吸気行程において噴射される。なお、燃料が噴射される時期は、吸気行程に限らない。また、本実施の形態においては、インジェクタ１０８の噴射孔が気筒１０６内に設けられた直噴エンジンとしてエンジン１０を説明するが、直噴用のインジェクタ１０８に加えて、ポート噴射用のインジェクタを設けてもよい。さらに、ポート噴射用のインジェクタのみを設けるようにしてもよい。
【００２５】
気筒１０６内の混合気は、点火プラグ１１０により着火され、燃焼する。燃焼後の混合気、すなわち排気ガスは、三元触媒１１２により浄化された後、車外に排出される。混合気の燃焼によりピストン１１４が押し下げられ、クランク軸１１６が回転する。
【００２６】
気筒１０６の頭頂部には、吸気バルブ１１８および排気バルブ１２０が設けられる。気筒１０６に導入される空気の量および時期は吸気バルブ１１８により制御される。気筒１０６から排出される排気ガスの量および時期は排気バルブ１２０により制御される。吸気バルブ１１８は吸気側カム１２２により駆動される。排気バルブ１２０は排気側カム１２４により駆動される。
【００２７】
吸気バルブ１１８は、ＶＶＴ機構１２６により、開閉タイミング（位相）が変更される。なお、排気バルブ１２０の開閉タイミングを変更するようにしてもよい。
【００２８】
本実施の形態においては、吸気側カム１２２が設けられたカムシャフト（図示せず）がＶＶＴ機構１２６により回転されることにより、吸気バルブ１１８の開閉タイミングが制御される。なお、開閉タイミングを制御する方法はこれに限らない。本実施の形態において、ＶＶＴ機構１２６は、油圧により作動する。ＶＶＴ機構１２６は、排気側カム１２４に設けられてもよい。
【００２９】
エンジン１０は、ＥＣＵ２００からの制御信号Ｓ１に基づいて制御される。ＥＣＵ２００は、エンジン１０が所望の運転状態になるように、スロットル開度、点火時期、燃料噴射時期、燃料噴射量、吸気バルブ１１８の開閉タイミングを制御する。ＥＣＵ２００には、クランク角センサ１１、カム角センサ２０４、水温センサ２０６、エアフローメータ２０８から信号が入力される。
【００３０】
クランク角センサ１１は、クランク軸１１６の回転速度（以下、エンジン回転数と記載する）ＮＥおよびクランク軸１１６の回転角度を表す信号を出力する。カム角センサ２０４は、吸気側カム１２２の位置を表す信号を出力する。水温センサ２０６は、エンジン１０の冷却水の温度（以下、水温とも記載する）を表す信号を出力する。エアフローメータ２０８は、エンジン１０に吸入される空気量表す信号を出力する。
【００３１】
ＥＣＵ２００は、これらのセンサから入力された信号、ＲＯＭ（Read  Only  Memory）２０２に記憶されたマップおよびプログラムに基づいて、エンジン１０を制御する。
【００３２】
図１に戻って、動力分割装置４０は、駆動輪８０を回転させるための駆動軸１６、エンジン１０の出力軸および第１ＭＧ２０の回転軸の三要素の各々を機械的に連結する。動力分割装置４０は、上述の三要素のうちのいずれか一つを反力要素とすることによって、他の２つの要素間での動力の伝達を可能とする。第２ＭＧ３０の回転軸は、駆動軸１６に連結される。
【００３３】
動力分割装置４０は、サンギヤ５０と、ピニオンギヤ５２と、キャリア５４と、リングギヤ５６とを含む遊星歯車機構である。ピニオンギヤ５２は、サンギヤ５０およびリングギヤ５６の各々と噛み合う。キャリア５４は、ピニオンギヤ５２を自転可能に支持するとともに、エンジン１０のクランク軸に連結される。サンギヤ５０は、第１ＭＧ２０の回転軸に連結される。リングギヤ５６は、駆動軸１６を介在して第２ＭＧ３０の回転軸および減速機５８に連結される。
【００３４】
減速機５８は、動力分割装置４０や第２ＭＧ３０からの動力を駆動輪８０に伝達する。また、減速機５８は、駆動輪８０が受けた路面からの反力を動力分割装置４０や第２ＭＧ３０に伝達する。
【００３５】
ＰＣＵ６０は、バッテリ７０に蓄えられた直流電力を第１ＭＧ２０および第２ＭＧ３０を駆動するための交流電力に変換する。ＰＣＵ６０は、ＥＣＵ２００からの制御信号Ｓ２に基づいて制御されるコンバータおよびインバータ（いずれも図示せず）を含む。コンバータは、バッテリ７０から受けた直流電力の電圧を昇圧してインバータに出力する。インバータは、コンバータが出力した直流電力を交流電力に変換して第１ＭＧ２０および／または第２ＭＧ３０に出力する。これにより、バッテリ７０に蓄えられた電力を用いて第１ＭＧ２０および／または第２ＭＧ３０が駆動される。また、インバータは、第１ＭＧ２０および／または第２ＭＧ３０によって発電される交流電力を直流電力に変換してコンバータに出力する。コンバータは、インバータが出力した直流電力の電圧を降圧してバッテリ７０へ出力する。これにより、第１ＭＧ２０および／または第２ＭＧ３０により発電された電力を用いてバッテリ７０が充電される。なお、コンバータは、省略してもよい。
【００３６】
バッテリ７０は、蓄電装置であり、再充電可能な直流電源である。バッテリ７０としては、たとえば、ニッケル水素やリチウムイオン等の二次電池が用いられる。バッテリ７０の電圧は、たとえば２００Ｖ程度である。バッテリ７０は、上述したように第１ＭＧ２０および／または第２ＭＧ３０により発電された電力を用いて充電される他、外部電源（図示せず）から供給される電力を用いて充電されてもよい。なお、バッテリ７０は、二次電池に限らず、直流電圧を生成できるもの、たとえば、キャパシタ、太陽電池、燃料電池等であってもよい。
【００３７】
バッテリ７０には、バッテリ７０の電池温度ＴＢを検出するための電池温度センサ１５６と、バッテリ７０の電流ＩＢを検出するための電流センサ１５８と、バッテリ７０の電圧ＶＢを検出するための電圧センサ１６０とが設けられる。
【００３８】
電池温度センサ１５６は、電池温度ＴＢを示す信号をＥＣＵ２００に送信する。電流センサ１５８は、電流ＩＢを示す信号をＥＣＵ２００に送信する。電圧センサ１６０は、電圧ＶＢを示す信号をＥＣＵ２００に送信する。
【００３９】
スタートスイッチ１５０は、たとえば、プッシュ式スイッチである。スタートスイッチ１５０は、キーをキーシリンダに差し込んで所定の位置まで回転させるものであってもよい。スタートスイッチ１５０は、ＥＣＵ２００に接続される。運転者がスタートスイッチ１５０を操作することに応じて、スタートスイッチ１５０は、信号ＳＴをＥＣＵ２００に送信する。
【００４０】
通知部１５２は、失火の発生を運転者に通知する。通知部１５２は、たとえば、メータに設けられたマークが点灯あるいは点滅させることによって失火の発生を通知する警告灯である。なお、通知部１５２は、失火が発生した旨を示す情報を表示するための表示装置（たとえば、液晶パネル等）であってもよい。あるいは、通知部１５２は、失火が発生したことを示す音を発生させることによって失火の発生を通知したり、あるいは、失火が発生した旨を音声によって通知したりするための音発生装置であってもよい。通知部１５２は、ＥＣＵ２００からの制御信号Ｓ３に基づいて制御される。
【００４１】
ＥＣＵ２００には、第１レゾルバ１２と、第２レゾルバ１３と、車輪速センサ１４とが接続される。
【００４２】
第１レゾルバ１２は、第１ＭＧ２０に設けられ、第１ＭＧ２０の回転速度Ｎｍ１を検出する。第１レゾルバ１２は、検出された回転速度Ｎｍ１を示す信号をＥＣＵ２００に送信する。
【００４３】
第２レゾルバ１３は、第２ＭＧ３０に設けられ、第２ＭＧ３０の回転速度Ｎｍ２を検出する。第２レゾルバ１３は、検出された回転速度Ｎｍ２を示す信号をＥＣＵ２００に送信する。
【００４４】
車輪速センサ１４は、駆動輪８０の回転速度Ｎｗを検出する。車輪速センサ１４は、検出された回転速度Ｎｗを示す信号をＥＣＵ２００に送信する。ＥＣＵ２００は、受信した回転速度Ｎｗに基づいて車速Ｖを算出する。なお、ＥＣＵ２００は、回転速度Ｎｗに代えて第２ＭＧ３０の回転速度Ｎｍ２に基づいて車速Ｖを算出するようにしてもよい。
【００４５】
ＥＣＵ２００は、エンジン１０を制御するための制御信号Ｓ１を生成し、その生成した制御信号Ｓ１をエンジン１０へ出力する。また、ＥＣＵ２００は、ＰＣＵ６０を制御するための制御信号Ｓ２を生成し、その生成した制御信号Ｓ２をＰＣＵ６０へ出力する。
【００４６】
ＥＣＵ２００は、エンジン１０およびＰＣＵ６０等を制御することによって車両１が最も効率よく運行できるようにハイブリッドシステム全体、すなわち、バッテリ７０の充放電状態、エンジン１０、第１ＭＧ２０および第２ＭＧ３０の動作状態を制御する。
【００４７】
ＥＣＵ２００は、運転席に設けられたアクセルペダル（図示せず）の踏込み量に対応する要求駆動力を算出する。ＥＣＵ２００は、算出された要求駆動力に応じて、第１ＭＧ２０および第２ＭＧ３０のトルクと、エンジン１０の出力とを制御する。
【００４８】
以上のような構成を有する車両１においては、ＥＣＵ２００は、エンジン１０の回転変動量に基づいてエンジン１０に失火が発生したか否かを判定する。しかしながら、たとえば、車両１が悪路を走行している場合には、エンジン１０の回転変動の変化パターンが失火発生時の回転変動の変化パターンに対応する変化パターンになり、失火が発生していると誤判定する場合がある。
【００４９】
本実施の形態においては、ＥＣＵ２００は、エンジン１０の回転変動量が失火判定値を超えた場合にエンジン１０において失火が発生しているか、あるいは、車両が悪路を走行しているかを判定する。ＥＣＵ２００は、エンジン１０の回転変動量が失火判定値よりも大きい悪路判定値を超えた場合には、車両１が悪路を走行していると判定する。なお、本実施の形態において、悪路とは、所定のパターンで連続的に起伏が変化するような路面や、濡れた路面、凍結路面あるいは砂利道等の低摩擦係数の路面を含む。
【００５０】
図３に、本実施の形態に係る車両１に搭載されたＥＣＵ２００の機能ブロック図を示す。ＥＣＵ２００は、開始判定部２５０と、変動量算出部２５２と、仮失火判定部２５４と、悪路判定部２５６と、失火判定部２５８と、通知制御部２６０と、終了条件判定部２６２と、カウンタクリア部２６４とを含む。
【００５１】
開始判定部２５０は、失火判定の開始条件が成立しているか否かを判定する。失火判定の開始条件は、エンジン１０の状態が失火判定に適した（適切な精度で判定可能な）状態であると判定できる条件である。失火判定の開始条件は、たとえば、現在のエンジン回転数Ｎｅとエンジン負荷率（または吸入空気量）とが予め設定された領域内であるという条件である。予め設定された領域は、たとえば、エンジン回転数Ｎｅが増加するほどエンジン負荷率の下限値が増加する領域が設定される。予め設定された領域は、実験等により適合すればよい。
【００５２】
開始判定部２５０は、たとえば、現在のエンジン回転数Ｎｅとエンジン負荷率とが予め設定された領域内である場合に失火判定の開始条件が成立したと判定する。なお、開始判定部２５０は、たとえば、失火判定の開始条件が成立したと判定した場合には、開始判定フラグをオン状態にしてもよい。
【００５３】
変動量算出部２５２は、エンジン回転数Ｎｅの回転変動量ΔＮｅを算出する。具体的には、変動量算出部２５２は、たとえば、クランク角センサ１１により検出されるクランク軸１１６の回転角度が所定の角度だけ変化する時間を計測する。本実施の形態において、所定角度は、たとえば、３０°ＣＡ（Crank Angle）である。以下の説明において、クランク軸１１６が３０°ＣＡ回転するのに要する時間をＴ３０と記載する。
【００５４】
変動量算出部２５２は、たとえば、各気筒のＴＤＣ（Top  Dead  Center）あるいはＢＤＣ（Bottom  Dead  Center）を基準とした所定の角度を始点として３０°ＣＡだけ回転するのに要する第１回転時間Ｔ３０（１）を計測する。所定の角度は、本実施の形態においては、各気筒のＴＤＣに対応する回転角度から６０°ＣＡだけ回転した位置をいうものとするが、特にこれに限定されるものではない。
【００５５】
変動量算出部２５２は、第１回転時間Ｔ３０（１）と、第１回転時間Ｔ３０（１）に対応する１点火前の第２回転時間Ｔ３０（２）との差分（Ｔ３０（１）−Ｔ３０（２））をエンジン１０の回転変動量ΔＮｅとして算出する。
【００５６】
たとえば、エンジン１０が、１番気筒から４番気筒までの４つの気筒が直列に配置される直列４気筒のエンジンである場合を想定する。また、エンジン１０は、１番気筒、３番気筒、４番気筒および２番気筒の順序で点火制御されるとする。
【００５７】
変動量算出部２５２は、たとえば、３番気筒の第１回転時間Ｔ３０（１）が計測された場合には、第１回転時間Ｔ（３０）と、１点火前の気筒である１番気筒の第２回転時間Ｔ３０（２）との差分（Ｔ３０（１）−Ｔ３０（２））を回転変動量ΔＮｅとして算出する。
【００５８】
なお、変動量算出部２５２は、開始判定フラグがオン状態である場合に回転変動量ΔＮｅの算出を開始してもよい。
【００５９】
仮失火判定部２５４は、変動量算出部２５２によって算出されたエンジン１０の回転変動量ΔＮｅが仮失火判定値Ａ（０）以上であるか否かを判定する。なお、本実施の形態においては、仮失火判定値Ａ（０）は、エンジン回転数Ｎｅおよび吸入空気量に基づいて決定されるものとして説明するが、所定値であってもよい。
【００６０】
たとえば、エンジン回転数Ｎｅが大きいほど仮失火判定値Ａ（０）が大きくなるようにしてもよい。あるいは、吸入空気量が大きいほど仮失火判定値Ａ（０）が小さくなるようにしてもよい。
【００６１】
なお、仮失火判定部２５４は、たとえば、エンジン１０の回転変動量ΔＮｅが仮失火判定値Ａ（０）以上である場合には、仮失火判定フラグをオンしてもよい。
【００６２】
悪路判定部２５６は、車両１が悪路を走行しているか否かを判定する。具体的には、悪路判定部２５６は、変動量算出部２５２によって算出されたエンジン１０の回転変動量ΔＮｅが悪路判定値Ａ（１）よりも大きいか否かを判定する。なお、悪路判定値Ａ（１）は、仮失火判定値Ａ（０）よりも大きい値である。本実施の形態において、悪路判定値Ａ（１）は、エンジン回転数Ｎｅおよび吸入吸気量に基づいて決定されるものとして説明するが、所定値であってもよい。
【００６３】
たとえば、エンジン回転数Ｎｅが大きいほど悪路判定値Ａ（１）が大きくなるようにしてもよい。あるいは、吸入空気量が大きいほど悪路判定値Ａ（１）が小さくなるようにしてもよい。
【００６４】
悪路判定部２５６は、車両１が悪路を走行していると判定した場合には（すなわち、エンジン１０の回転変動量ΔＮｅが悪路判定値Ａ（１）以上であると判定した場合には）、悪路カウンタの値を所定値（たとえば、「１」）だけ増加させる。
【００６５】
失火判定部２５８は、エンジン１０に失火が発生しているか否かを判定する。具体的には、仮失火判定部２５４によってエンジン１０の回転変動量ΔＮｅが仮失火判定値Ａ（０）以上であると判定され、かつ、悪路判定部２５６によって、エンジン１０の回転変動量ΔＮｅが悪路判定値Ａ（１）よりも小さいと判定された場合に、エンジン１０の回転変動の第１変化パターンが失火発生時の回転変動の第２変化パターンに対応するか否かを判定する。
【００６６】
失火判定部２５８は、第１変化パターンが第２変化パターンに対応すると判定した場合に、エンジン１０に失火が発生していると判定する。失火判定部２５８は、エンジン１０に失火が発生していると判定した場合には、失火カウンタを所定値（たとえば、「１」）だけ増加させる。
【００６７】
なお、本実施の形態においては、失火カウンタは、すべての気筒において発生した失火の総数を示すものであるとして説明するが、失火が発生した気筒を特定できる場合には各気筒毎に設けられてもよい。
【００６８】
失火判定部２５８は、第１変化パターンが第２変化パターンに対応しないと判定した場合に、車両１が悪路を走行していると判定する。失火判定部２５８は、車両１が悪路を走行していると判定した場合には、悪路カウンタを所定値だけ増加させる。
【００６９】
第１変化パターンは、複数の気筒のうちの回転変動量ΔＮｅが仮失火判定値Ａ（０）以上となる第１気筒および第１気筒と異なる第２気筒の各々の回転変動量ΔＮｅを含む。また、第２変化パターンは、失火発生時に第２気筒の回転変動量が、第１気筒の回転変動量ΔＮｅを基準として設定される範囲内となる変化パターンを含む。
【００７０】
本実施の形態においては、第１変化パターンは、図３に示すように、仮失火判定値Ａ（０）よりも大きいと判定された３番気筒の回転変動量ΔＮｅ（２）と、３番気筒の１点火前の気筒である１番気筒の回転変動量ΔＮｅ（３）と、３番気筒の１点火後の気筒である４番気筒の回転変動量ΔＮｅ（１）と、３番気筒の２点火後の気筒である２番気筒の回転変動量ΔＮｅ（０）とを含む。
【００７１】
失火判定部２５８は、ΔＮｅ（０）、ΔＮｅ（１）、ΔＮｅ（２）およびΔＮｅ（３）を含む第１変化パターンが失火発生時の第２変化パターンに対応するか否かを判定する。
【００７２】
具体的には、失火判定部２５８は、以下の判定条件が成立するか否かを判定する。判定条件は、ΔＮｅ（０）＜０、Ａ≦｜ΔＮｅ（０）／ΔＮｅ（２）｜≦Ｂ、−Ｃ≦ΔＮｅ（３）／ΔＮｅ（２）≦＋Ｃ、−Ｄ≦ΔＮｅ（１）／ΔＮｅ（２）≦＋Ｄという関係が成立するという条件である。なお、Ａ、Ｂ、ＣおよびＤは、ゼロよりも大きい値とする。
【００７３】
これらの関係が成立する場合には、ΔＮｅ（０）、ΔＮｅ（１）およびΔＮｅ（３）の各々がΔＮｅ（２）を基準とした所定の範囲内の値であることを示す。
【００７４】
失火判定部２５８は、たとえば、図４に示すように、ΔＮｅ（０）、ΔＮｅ（１）およびΔＮｅ（３）の各々が上述の関係に基づく上限値と下限値との間の範囲内である場合には、第１変化パターンが第２変化パターンに対応すると判定する。すなわち、失火判定部２５８は、エンジン１０に失火が発生していると判定する。
【００７５】
一方、失火判定部２５８は、ΔＮｅ（０）、ΔＮｅ（１）およびΔＮｅ（３）のうちのいずれかが図４に示す上限値または下限値を超えた値である場合には、第１変化パターンが第２変化パターンに対応しないと判定する。すなわち、失火判定部２５８は、車両１が悪路を走行していると判定する。
【００７６】
通知制御部２６０は、失火カウンタと悪路カウンタとに基づいて運転者に対してエンジン１０に失火が発生している旨の通知を要する否かを判定する。通知制御部２６０は、通知を要すると判定した場合に、失火の発生を運転者に通知するように通知部１５２を制御する。通知制御部２６０は、たとえば、失火カウンタの値から、悪路カウンタの値に所定の係数を乗じた値を減算した値が所定値以上になる場合に、通知を要すると判定してもよい。あるいは、通知制御部２６０は、失火カウンタの値が所定値以上である場合には、悪路カウンタの値に関係なく、通知を要すると判定してもよい。
【００７７】
終了条件判定部２６２は、失火判定の終了条件が成立したか否かを判定する。終了条件は、たとえば、失火判定の開始条件が成立してからエンジン１０のクランク軸１１６が所定回数だけ回転したという条件である。なお、終了条件判定部２６２は、たとえば、失火判定の終了条件が成立した場合には、終了判定フラグをオンするようにしてもよい。
【００７８】
カウンタクリア部２６４は、終了条件判定部２６２によって失火判定の終了条件が成立したと判定された場合に、悪路カウンタおよび失火カウンタをクリアして、初期値（たとえば、「０」）にリセットする。なお、カウンタクリア部２６４は、たとえば、終了判定フラグがオフからオンされた場合に、悪路カウンタおよび失火カウンタをクリアしてもよい。
【００７９】
本実施の形態において、開始判定部２５０と、変動量算出部２５２と、仮失火判定部２５４と、悪路判定部２５６と、失火判定部２５８と、通知制御部２６０と、終了条件判定部２６２と、カウンタクリア部２６４とは、いずれもＥＣＵ２００のＣＰＵがＲＯＭ２０２に記憶されたプログラムを実行することにより実現される、ソフトウェアとして機能するものとして説明するが、ハードウェアにより実現されるようにしてもよい。なお、このようなプログラムは記憶媒体に記録されて車両に搭載される。
【００８０】
図５を参照して、本実施の形態に係る車両１に搭載されたＥＣＵ２００で実行されるプログラムの制御構造について説明する。ＥＣＵ２００は、図５で示したフローチャートに基づくプログラムを所定の計算サイクル毎に実行する。
【００８１】
ステップ（以下、ステップをＳと記載する）１００にて、ＥＣＵ２００は、失火判定の開始条件が成立するか否かを判定する。失火判定の開始条件が成立する場合（Ｓ１００にてＹＥＳ）、処理はＳ１０２に移される。もしそうでない場合（Ｓ１００にてＮＯ）、処理はＳ１００に戻される。
【００８２】
Ｓ１０２にて、ＥＣＵ２００は、エンジン１０の回転変動量ΔＮｅを算出する。なお、回転変動量ΔＮｅの算出方法については、上述したとおりであるため、その詳細な説明は繰り返されない。
【００８３】
Ｓ１０４にて、ＥＣＵ２００は、エンジン１０の回転変動量ΔＮｅが仮失火判定値Ａ（０）以上であるか否かを判定する。エンジン１０の回転変動量ΔＮｅが仮失火判定値Ａ（０）以上である場合には（Ｓ１０４にてＹＥＳ）、処理はＳ１０６に移される。もしそうでない場合には（Ｓ１０４にてＮＯ）、処理はＳ１０８に移される。
【００８４】
Ｓ１０６にて、ＥＣＵ２００は、エンジン１０の回転変動量ΔＮｅが悪路判定値Ａ（１）以上であるか否かを判定する。エンジン１０の回転変動量ΔＮｅが悪路判定値Ａ（１）以上である場合には（Ｓ１０６にてＹＥＳ）、処理はＳ１０８に移される。もしそうでない場合には（Ｓ１０６にてＮＯ）、処理はＳ１１０に移される。
【００８５】
Ｓ１０８にて、ＥＣＵ２００は、悪路カウンタに所定値を加算して増加させる。Ｓ１１０にて、ＥＣＵ２００は、エンジン１０の回転変動の第１変化パターンが失火発生時の回転変動の第２変化パターンに対応するか否かを判定する。エンジン１０の回転変動の第１変化パターンが失火発生時の回転変動の第２変化パターンに対応する場合（Ｓ１１０にてＹＥＳ）、処理はＳ１１２に移される。もしそうでない場合（Ｓ１１０にてＮＯ）、処理はＳ１０８に移される。
【００８６】
Ｓ１１２にて、ＥＣＵ２００は、失火カウンタに所定値を加算して増加させる。Ｓ１１１４にて、ＥＣＵ２００は、失火カウンタの値と悪路カウンタの値とに基づいてエンジン１０に失火が発生した旨の通知を要するか否かを判定する。通知を要すると判定された場合（Ｓ１１４にてＹＥＳ）、処理はＳ１１６に移される。もしそうでない場合（Ｓ１１４にてＮＯ）、処理はＳ１１８に移される。Ｓ１１６にて、ＥＣＵ２００は、失火の発生の旨を運転者に通知するように通知部１５２を制御する。ＥＣＵ２００は、たとえば、失火の発生を示す警告灯を点灯させる。
【００８７】
Ｓ１１８にて、ＥＣＵ２００は、エンジン１０のクランク軸１１６が、開始条件が成立してから所定回転数だけ回転したか否かを判定する。所定回転数だけ回転した場合（Ｓ１１８にてＹＥＳ）、処理はＳ１２０に移される。もしそうでない場合（Ｓ１１８にてＮＯ）、処理はＳ１０２に戻される。Ｓ１２０にて、ＥＣＵ２００は、悪路カウンタの値および失火カウンタの値をクリアする。
【００８８】
以上のような構造およびフローチャートに基づく本実施の形態に係る車両１に搭載されたＥＣＵ２００の動作について説明する。
【００８９】
たとえば、車両１の走行中に、エンジン回転数Ｎｅとエンジン負荷率とが予め設定された領域内である場合には、失火判定の開始条件が成立したと判定され（Ｓ１００にてＹＥＳ）、エンジン１０の回転変動量ΔＮｅが算出される（Ｓ１０２）。
【００９０】
算出された回転変動量ΔＮｅが仮失火判定値Ａ（０）よりも小さい場合（Ｓ１０４にてＮＯ）、失火判定の開始条件が成立してから所定回転数だけ回転していれば（Ｓ１１８にてＹＥＳ）、失火カウンタおよび悪路カウンタがクリアされる（Ｓ１２０）。また、所定回転だけ回転していなければ（Ｓ１１８にてＮＯ）、エンジン１０の回転変動量ΔＮｅの算出が続行される（Ｓ１０２）。
【００９１】
図６の太破線に示すように、たとえば、３番気筒における回転変動量ΔＮｅ（２）が仮失火判定値Ａ（０）以上であって（Ｓ１０４にてＹＥＳ）、かつ、悪路判定値Ａ（１）以上である場合には（Ｓ１０６にてＹＥＳ）、悪路カウンタの値が所定値だけ増加させられる（Ｓ１０８）。
【００９２】
一方、図６の太実線に示すように、たとえば、３番気筒における回転変動量ΔＮｅ（２）が仮失火判定値Ａ（０）以上であって（Ｓ１０４にてＹＥＳ）、かつ、悪路判定値Ａ（１）よりも小さい場合には（Ｓ１０６にてＮＯ）、エンジン１０の回転変動の第１変化パターンが失火発生時の第２変化パターンに対応するか否かが判定される（Ｓ１１０）。
【００９３】
すなわち、３番気筒以外の各気筒の点火時の回転変動量ΔＮｅ（０）、ΔＮｅ（１）およびΔＮｅ（３）がΔＮｅ（２）を基準とした所定範囲内である場合には、エンジン１０の回転変動の第１変化パターンが失火発生時の第２変化パターンに対応すると判定される（Ｓ１１０にてＹＥＳ）。この場合、失火カウンタの値が増加させられて（Ｓ１１２）、失火が発生しているか否かが判定される（Ｓ１１４）。失火カウンタの値と悪路カウンタの値とに基づいて失火が発生している旨の通知を要すると判定された場合には（Ｓ１１４にてＹＥＳ）、通知制御が実行される（Ｓ１１６）。
【００９４】
一方、図６の一点鎖線に示すように、４番気筒における回転変動量ΔＮｅ（１）が所定範囲内でない場合には、エンジン１０の回転変動の第１変化パターンが失火発生時の第２変化パターンに対応しないと判定され（Ｓ１１０にてＮＯ）、悪路カウンタの値が増加させられる（Ｓ１０８）。
【００９５】
失火判定の開始条件が成立してから所定回転だけ回転した場合には（Ｓ１１８にてＹＥＳ）、失火カウンタの値および悪路カウンタの値がクリアされる（Ｓ１２０）。
【００９６】
以上のようにして、本実施の形態に係る車両によると、エンジン１０の回転変動量ΔＮｅが仮失火判定値Ａ（０）よりも大きい場合でも、悪路判定値Ａ（１）よりも大きい場合には、車両１が悪路を走行していると判定される。これにより、エンジン１０の回転変動の第１変化パターンが失火発生時の回転変動の第２変化パターンに対応している場合でも、車両１が悪路を走行していると判定することができる。そのため、失火の誤判定を防止することができる。したがって、内燃機関の失火の発生の有無を精度高く判定する車両および内燃機関の失火判定方法を提供することができる。
【００９７】
なお、本実施の形態においては失火カウンタの値と悪路カウンタの値とに基づいて失火が発生していると判定された場合に、運転者に通知するとして説明したが、たとえば、特定の気筒において連続して失火が発生している場合には、当該特定の気筒の燃料噴射を停止するようにしてもよい。
【００９８】
本実施の形態において、車両１は、ハイブリッド車両であるとして説明したが、少なくとも駆動輪の回転変動とエンジンの回転変動と連動している車両であれば、特にハイブリッド車両に限定されるものではない。たとえば、車両１は、駆動輪とが機械的に連結された車両であってもよい。すなわち、車両１は、たとえば、エンジン１０のみを駆動源とする車両であってもよい。
【００９９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１００】
１  車両、１０  エンジン、１１  クランク角センサ、１２，１３  レゾルバ、１４  車輪速センサ、１６  駆動軸、２０，３０  ＭＧ、４０  動力分割装置、５０  サンギヤ、５２  ピニオンギヤ、５４  キャリア、５６  リングギヤ、５８  減速機、６０  ＰＣＵ、７０  バッテリ、８０  駆動輪、１０２  エアクリーナ、１０４  スロットルバルブ、１０６  気筒、１０８  インジェクタ、１１０  点火プラグ、１１２  三元触媒、１１４  ピストン、１１６  クランク軸、１１８  吸気バルブ、１２０  排気バルブ、１２２  吸気側カム、１２４  排気側カム、１２６  ＶＶＴ機構、１５０  スタートスイッチ、１５２  通知部、１５６  電池温度センサ、１５８  電流センサ、１６０  電圧センサ、２００  ＥＣＵ、２０２  ＲＯＭ、２０４  カム角センサ、２０６  水温センサ、２０８  エアフローメータ、２５０  開始判定部、２５２  変動量算出部、２５４  仮失火判定部、２５６  悪路判定部、２５８  失火判定部、２６０  通知制御部、２６２  終了条件判定部、２６４  カウンタクリア部。
【図１】
0005772328.tif 000002
【図２】
0005772328.tif 000003
【図３】
0005772328.tif 000004
【図４】
0005772328.tif 000005
【図５】
0005772328.tif 000006
【図６】
0005772328.tif 000007