(57)【特許請求の範囲】
【請求項１】
複数の気筒を有し、各爆発行程の間に角変位するクランク軸の角度が異なる不等間隔爆発エンジンの失火判定装置であって、
前記クランク軸の角度位置信号を用いて当該クランク軸に発生するトルクに相関する発生トルク相関量を演算し、
点火時期とは異なるクランク軸の角度位置において、前記エンジンの１サイクル未満の区間での前記発生トルク相関量の平均値に基づいて失火判定し、
前記失火判定するクランク軸の角度位置が、失火判定すべき気筒毎に個別に設定され、それら角度位置は互いに異なる値を有する、失火判定装置。
【請求項２】
前記失火判定するクランク軸の角度位置が、失火判定すべき気筒の爆発行程とその直後に生じる別の気筒の爆発行程間のクランク角間隔が小さいほど小さく設定される、請求項１に記載の失火判定装置。
【請求項３】
前記発生トルク相関量の平均値と比較される閾値が、失火判定すべき気筒毎に個別に設定され、それら閾値は互いに異なる値を有する、請求項１又は２に記載の失火判定装置。
【請求項４】
前記判定時の前記発生トルク相関量の平均値が閾値以下であると失火と判断し、
前記閾値が、失火判定すべき気筒の爆発行程とその直後に生じる別の気筒の爆発行程間のクランク角間隔が小さいほど大きく設定される、請求項３に記載の失火判定装置。
【請求項５】
複数の気筒を有し、各爆発行程の間に角変位するクランク軸の角度が異なる不等間隔爆発エンジンの失火判定装置であって、
前記クランク軸の角度位置信号を用いて当該クランク軸に発生するトルクに相関する発生トルク相関量を演算し、
点火時期とは異なるクランク軸の角度位置において、前記エンジンの１サイクル未満の区間での前記発生トルク相関量の平均値に基づいて失火判定し、
前記失火判定するクランク軸の角度位置が、気筒毎に同じであって、
１サイクルあたりの発生トルク相関量を平均した基準値と、非失火状態での１サイクル未満の発生トルク相関量の平均値とが同じになるクランク軸の角度位置において、当該トルク相関量の平均値を含む判定パラメータと予め設定された閾値とを比較することにより、失火判定を行う、失火判定装置。
【請求項６】
複数の気筒を有し、各爆発行程の間に角変位するクランク軸の角度が異なる不等間隔爆発エンジンの失火判定装置であって、
前記クランク軸の角度位置信号を用いて当該クランク軸に発生するトルクに相関する発生トルク相関量を演算し、
点火時期とは異なるクランク軸の角度位置において、前記エンジンの１サイクル未満の区間での前記発生トルク相関量の平均値に基づいて失火判定し、
前記点火後のクランク軸の角度位置の所定区間において、前記エンジンの１サイクル未満の区間での前記発生トルク相関量の平均値が増加傾向である場合には正常であると判定し、減少傾向である場合には失火判定する、失火判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不等間隔爆発エンジンの失火判定装置に関する。
【背景技術】
【０００２】
従来、エンジンの挙動において静粛性が重要視される自動車では、等間隔爆発エンジンが多数採用されている。等間隔爆発エンジンでは、失火によるエンジン回転速度の低下分を示す物理量（例えば角加速度、回転速度）を、失火気筒の次の正常点火時点（直前）で計測し、この時点で失火の有無を判断する方法が多く採用されている（例えば特許文献１等を参照）。等間隔爆発エンジンでは、正常時と失火時とのクランク軸の瞬時角速度の低下分が最も大きくなるのは、次の正常点火時期直前であるので、点火時期直前でのクランク軸の瞬時角速度の低下分に基づいて失火判定を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３５４６５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、エンジンの性能において多様性が重要視される自動二輪車では、等間隔爆発エンジンのみならず、不等間隔爆発エンジンが採用されたものがある。しかし、不等間隔爆発エンジンは、点火時期直前では、クランク軸の瞬時角速度の低下分が大きくならないことがある。このため、従来の等間隔爆発エンジンでの失火判定方法では、不等間隔爆発エンジンの失火有無を精度良く判定できないという課題がある。
【０００５】
そこで本発明は、不等間隔爆発エンジンでの失火を高精度に判定することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る失火判定装置は、複数の気筒を有し、各爆発行程の間に角変位するクランク軸の角度が異なる不等間隔爆発エンジンの失火判定装置であって、前記クランク軸の角度位置信号を用いて発生トルクに相関する発生トルク相関量を演算し、点火時期とは異なるクランク軸の角度位置信号における、前記エンジンの１サイクル未満の区間での前記発生トルク相関量の平均値に基づいて失火判定する。
【０００７】
上記構成によれば、不等間隔爆発エンジンの失火判定において、発生トルクに相関する発生トルク相関量の瞬時値ではなく平均値を用いることで、不等間隔爆発による気筒の影響を抑えることができ、失火判定を精度良く行うことができる。例えば発生トルク相関量の平均値として、角速度の平均値を用いることで、角速度の瞬時値に比べて失火による低下分が大きくなったり、共通クランク角で失火判定できたりする。
【０００８】
ここで不等間隔爆発エンジンでは、失火判定すべき気筒の爆発行程とその直後に生じる別の気筒の爆発行程との間のクランク角間隔の相違に依って、失火時における発生トルク相関量の平均値の変化パターンが異なる。即ち、不等間隔爆発エンジンの点火時期直前では、発生トルク相関量の平均値の低下分が大きくならない場合がある。このため、従来の等間隔爆発エンジンでの失火判定方法と同様の方法では精度良く判定できないという課題がある。そこで、上記態様では、不等間隔爆発のエンジンにおいて、各爆発行程間のクランク角間隔の相違に応じて気筒毎に最適な失火判定角度を設定し、失火を高精度に判定することを目的としてもよい。
【０００９】
失火判定するクランク軸の角度位置が、失火判定すべき気筒毎に個別に設定され、それら角度位置は互いに異なる値を有してもよい。
【００１０】
即ち、上記構成によれば、各爆発行程間のクランク角間隔の相違に応じて気筒毎に最適な失火判定角度が設定でき、失火判定精度を向上できる。
【００１１】
失火判定するクランク軸の角度位置が、各爆発行程間のクランク角間隔が小さいほど、小さく設定されてもよい。
【００１２】
ここで不等間隔爆発エンジンでは、失火判定対象の気筒の爆発行程とその直後に生じる別の気筒の爆発行程との間のクランク角間隔が小さくなるほど、失火後における発生トルク相関量の平均値と、非失火（正常点火）後における発生トルク相関量の平均値との差が最大となる時点が早まる傾向にある。上記構成により、各爆発行程間のクランク角間隔の減少に応じて最適な失火判定角度が設定でき、失火判定精度を向上できる。
【００１３】
前記発生トルク相関量の平均値と比較される閾値が、失火判定すべき気筒毎に個別に設定され、それら閾値は互いに異なる値を有してもよい。
【００１４】
ここで不等間隔爆発エンジンでは、各爆発行程間のクランク角間隔の相違に応じて気筒毎に失火時の発生トルク相関量の平均値の低下分が異なる。上記構成によれば、失火時の発生トルク相関量の平均値の低下分の相違に応じて気筒毎に最適な判定閾値が設定でき、失火判定精度を向上できる。
【００１５】
前記判定時の前記発生トルク相関量の平均値が閾値以下であると失火と判断し、前記閾値が、爆発行程間のクランク角間隔が小さいほど大きく設定されてもよい。
【００１６】
ここで不等間隔爆発エンジンの失火判定対象の気筒の爆発行程とその直後に生じる別の気筒の爆発行程との間のクランク角間隔が狭くなると、非失火時と失火時の発生トルク相関量の平均値の差が小さくなる。このため、閾値を小さな値、すなわち失火時の発生トルク相関量の平均値に近い値に設定すると、失火時でもノイズ等の影響で発生トルク相関量の平均値が閾値を上回り易く、誤って非失火と判定されてしまうことが考えられる。しかし、上記構成によれば、爆発行程間のクランク角間隔が小さくなるにつれて、閾値が大きな値になるので、失火時に発生トルク相関量の平均値が閾値を下回り易く、失火判定精度の低下を防止できる。
【００１７】
ここで不等間隔爆発エンジンでは、失火判定すべき気筒の爆発行程とその直後に生じる別の気筒の爆発行程との間のクランク角間隔の相違に依って、失火時における発生トルク相関量の平均値の変化パターンが異なる。即ち、不等間隔爆発エンジンの点火時期直前では、発生トルク相関量の平均値の低下分が大きくならない場合がある。このため、気筒毎に上記変化パターンに応じた失火判定プログラムを設計しなければならず、従来の等間隔爆発エンジンの失火判定と比べて設計負担が増加するという課題がある。そこで、上記態様では、不等間隔爆発のエンジンにおいて、精度良い失火判定を実現しつつ設計負担を低減することを目的としてもよい。
【００１８】
上記失火判定するクランク軸の角度位置が、気筒毎に同じであってもよい。
【００１９】
即ち、上記構成によれば、失火判定プログラムにおいて、失火判定角度を全気筒で共通化できるので、失火判定を精度良く行いつつ設計負担を低減することができる。
【００２０】
発明者等は、１サイクルあたりの発生トルク相関量を平均した基準値と、非失火状態での１サイクル未満の平均値とが同じになるクランク軸の角度位置では、非失火時の発生トルク相関量の平均値と失火時の発生トルク相関量の平均値との差を安定して十分量確保できることを見出した。
【００２１】
１サイクルあたりの発生トルク相関量を平均した基準値と、非失火状態での１サイクル未満の平均値とが同じになるクランク軸の角度位置において、失火判定を行うようにしてもよい。
【００２２】
上記構成によれば、１サイクルあたりの発生トルク相関量の平均値と、非失火状態での１サイクル未満の平均値とが同じになるクランク角度を算出することで、精度良く閾値判定できる失火判定角度を容易に決定することができ、好適に設計負担を低減することが可能になる。
【００２３】
点火後のクランク軸の角度位置の所定区間において、前記エンジンの１サイクル未満の区間での前記発生トルク相関量の平均値が増加傾向である場合には正常であると判定し、減少傾向である場合には失火判定してもよい。
【００２４】
上記構成によれば、点火後の角速度に対応する値が所定の区間において失火しない場合には増加傾向となり、失火する場合には減少傾向となるので、正負の違いにより容易に失火判定することができ、エンジン毎の閾値設定を不要とすることができる。
【発明の効果】
【００２５】
本発明によれば、不等間隔爆発のエンジンでの失火を高精度に検出することができるという効果を奏する。
【図面の簡単な説明】
【００２６】
【図１】第１実施形態に係る失火判定装置を含むエンジン制御システムの構成を示す図である。
【図２】図１の失火判定装置の構成を示すブロック図である。
【図３】図１のエンジン（Ｖ型４気筒又は直列４気筒）のクランク角に対する角速度の関係を示すグラフである。
【図４】図２の失火判定装置による失火判定処理を示すフローチャートである。
【図５】第２実施形態のエンジン（Ｖ型２気筒）のクランク角に対する角速度の関係を示すグラフである。
【図６】図５の失火判定装置による失火判定処理を示すフローチャートである。
【図７】第３実施形態のエンジン（並列２気筒）のクランク角に対する角速度の関係を示すグラフである。
【図８】図７の失火判定装置による失火判定処理を示すフローチャートである。
【図９】第４実施形態のエンジン（並列２気筒）のクランク角に対する角速度の関係を示すグラフである。
【図１０】図９の失火判定装置による失火判定処理を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、実施形態について図面を参照しつつ説明する。
【００２８】
（第１実施形態）
［エンジン制御システム］
図１は、第１実施形態に係る失火判定装置を含むエンジン制御システムの構成を示す図である。図１に示すように、エンジン制御システム１００は、エンジン１と、失火判定装置３を有するエンジン制御ユニット（ＥＣＵ：Electronic Control Unit）２とを備える。尚、図中の破線の矢印は制御信号の流れを示している。
【００２９】
エンジン１は、複数の気筒１１を有し、各爆発行程の間に角変位するクランク軸２０の角度が異なる不等間隔爆発エンジンである。本実施形態のエンジン１は、Ｖ型４気筒又は直列４気筒エンジンである。図１では、４つの気筒１１のうちの一つのみを示しているが、図示しない他の３つの気筒も同様の構成となっている。
【００３０】
気筒１１内にはピストン１２が往復運動可能に挿入されており、ピストン１２の上方には燃焼室１３が形成されている。燃焼室１３には、吸気弁１６を介して吸気管１４が接続されているとともに、排気弁１７を介して排気管１５が接続されている。吸気管１４内には燃料を噴射する燃料噴射弁１８が気筒１１毎に設けられている。吸気管１４内には、その他図示しないスロットバルブや圧力センサが設けられている。また、燃焼室１３には混合気を着火して燃焼させるための点火プラグ１９が設けられている。
【００３１】
気筒１１内に挿入されたピストン１２は出力軸であるクランク軸２０と連結されている。このクランク軸２０には、回転検出ロータ２１が取り付けられている。回転検出ロータ２１近傍にはクランク角センサ２２が設けられている。クランク角センサ２２は、クランク軸２０が所定角度回転する毎にクランク軸２０の角度位置（クランク角）を示すパルス状のクランク角信号をＥＣＵ２に出力するように構成される。その他、図示しない気筒判別センサが気筒毎に設けられており、特定の１つの気筒１１の上死点にて１つのパルスが気筒判別信号としてＥＣＵ２に出力されるように構成されている。これにより、ＥＣＵ２は、その気筒１１が上死点にあることが検出できる。
【００３２】
ＥＣＵ２は、ＲＯＭ、ＲＡＭ等のメモリを含む演算処理装置と、入出力インターフェースを備える。ＥＣＵ２の入力部には、クランク角センサ２２、気筒判別センサ等の他、エンジン１の運転状態を検出するための各種センサが接続されている。ＥＣＵ２の出力部には、燃料噴射弁１８、点火プラグ１９の他、エンジン１の運転状態を制御するための各種アクチュエータが接続されている。ＥＣＵ２は、各種センサ出力に基づいて、所定のプログラムに従って各種アクチュエータを駆動させることにより、エンジン１の運転状態を制御する。
【００３３】
［失火判定装置］
本実施形態では、ＥＣＵ２は、エンジン１の各気筒１１の失火の有無を判定する失火判定装置３を備える。この失火判定装置３は、ＥＣＵ２の演算処理装置において内蔵されている失火判定プログラムが実行されることにより実現される。図２は、失火判定装置３の構成を示すブロック図である。図２に示すように、失火判定装置３は、演算部３１と、判定部３２と、記憶部３３とを備える。ここで各部は、ＥＣＵ２において失火判定プログラムが実行されることにより実現される機能ブロックである。
【００３４】
演算部３１は、クランク軸２０の角度位置信号（以下、クランク角信号という）を用いて発生トルクに相関する発生トルク相関量を演算する。本実施の形態では、発生トルク相関量はクランク軸２０の角速度である。演算部３１には、失火判定の対象となる気筒１１を判別するための気筒判別信号がクランク角信号とともに入力され、クランク角とともに、クランク軸２０の角速度の瞬時値、及びその平均値が演算される。クランク角及び角速度の瞬時値はクランク軸２０が例えば１５度回転する毎に出力されるクランク角信号の経過時間（パルス幅）から算出される。角速度の平均値は、例えば過去の１８０度の経過時間から算出される。
【００３５】
判定部３２は、点火時期とは異なるクランク軸２０の角度位置（失火判定角度）における、エンジン１の１サイクル未満の区間での発生トルク相関量の平均値に基づいて失火判定する。即ち、エンジン１の１サイクル内での発生トルク相関量の変化が平均値に現れるように１サイクルよりも短い区間で発生トルク相関量の平均値を求め、それを用いて失火判定する。本実施の形態では、１８０度区間でのクランク軸２０の角速度の平均値（以下、単に角速度の平均値という）に基づいて失火判定する。角速度の平均値が、失火判定における判定パラメータとして用いられる。判定部３２は、失火であると判定した場合には失火発生信号を出力する。
【００３６】
記憶部３３は、予め、失火判定角度、及び失火判定角度において判定パラメータと比較される判定閾値を気筒１１毎に記憶しておく。
【００３７】
［失火判定原理］
次に、本実施形態の失火判定装置３による失火判定原理について説明する。図３は、正常（無失火）時と失火時のクランク角に対する角速度の関係を示すグラフである。破線は角速度の瞬時値を示し、実線は角速度の平均値をそれぞれ示している。θはクランク角を示している。ω’(θ)は正常時の角速度の瞬時値を示し、ω’AVE(θ)は正常時の角速度の平均値を示している。ω(θ)は失火時の角速度の瞬時値を示し、ωAVE(θ)は失火時の角速度の平均値をそれぞれ示している。Ｄ（#）は判定閾値を示している。
【００３８】
第１〜第４気筒１１（＃１〜＃４）について、それぞれ吸気・圧縮・膨張・排気の４行程による１燃焼サイクルが「７２０度」周期で逐次実行される。各気筒１１間において膨張行程が不等間隔で逐次実行される。
【００３９】
本実施形態のエンジン１は、各膨張行程の間に角変位するクランク角θが異なる不等間隔爆発エンジンである。
【００４０】
図３（ａ）は、第１気筒（＃１）の上死点のクランク角を基準として示している。ここでは第１気筒（＃１）の点火から第２気筒（＃２）の点火まではクランク角間隔が２７０度である。
【００４１】
図３（ｂ）は、第２気筒（＃２）の上死点のクランク角を基準として示している。ここでは第２気筒（＃２）の点火から第３気筒（＃３）の点火まではクランク角間隔が１８０度である。
【００４２】
図３（ｃ）は、第３気筒（＃３）の上死点のクランク角を基準として示している。ここでは第３気筒（＃３）の点火から第４気筒（＃４）の点火まではクランク間隔が９０度である。
【００４３】
図３（ｄ）は、第４気筒（＃４）の上死点のクランク角を基準として示している。ここでは第４気筒（＃４）の点火から第１気筒（＃１）の点火まではクランク角間隔が１８０度である。
【００４４】
図３（ａ）〜図３（ｄ）に示すように、本実施形態のエンジン１では、失火判定対象の気筒の膨張行程とその直後に生じる別の気筒の膨張行程との間のクランク角間隔の相違に依って、失火時における角速度の平均値ωAVE(θ)の変化パターンが異なる。即ち、不等間隔爆発エンジンの点火時期直前では、角速度の平均値ωAVE(θ)の低下分が大きくならない。このため、従来の等間隔爆発エンジンでの失火判定方法と同様の方法では精度良く判定できない。そこで、不等間隔爆発のエンジンにおいて、各膨張行程間のクランク角間隔の相違に応じて気筒１１毎に最適な失火判定角度を設定し、失火を高精度に判定する。
【００４５】
本実施の形態では、失火判定するクランク軸２０の角度位置（失火判定角度）が、失火判定すべき気筒１１毎に個別に設定され、且つ、それら角度位置が互いに異なる値を有する。ここで、失火判定するクランク軸２０の角度位置（失火判定角度）は、失火判定対象の気筒１１の上死点又は点火時期におけるクランク軸２０の角度を基準（ゼロ点）とした角度である。即ち、失火判定するクランク軸２０の角度位置（失火判定角度）は、失火判定対象の気筒１１の上死点又は点火時期におけるクランク軸２０の角度と失火判定を行う時期におけるクランク軸２０の角度との間の角度間隔を意味する。
【００４６】
失火判定対象が第１気筒（＃１）の場合は、図３（ａ）に示すように、第１気筒（＃１）の点火から第２気筒（＃２）の点火まではクランク角間隔が２７０度である。この場合、第１気筒（＃１）の失火判定角度（＃１）は３６０度に設定される。
【００４７】
失火判定対象が第２気筒（＃２）の場合は、図３（ｂ）に示すように、第２気筒（＃２）の点火から第３気筒（＃３）の点火まではクランク角間隔が１８０度である。この場合、第２気筒（＃２）の失火判定角度（＃２）は２７０度に設定される。
【００４８】
失火判定対象が第３気筒（＃３）の場合は、図３（ｃ）に示すように、第３気筒（＃３）の点火から第４気筒（＃４）の点火まではクランク角間隔が９０度である。この場合、第３気筒（＃３）の失火判定角度（＃３）は１８０度に設定される。
【００４９】
失火判定対象が第４気筒（＃４）の場合は、図３（ｄ）に示すように、第４気筒（＃４）の点火から第１気筒（＃１）の点火まではクランク角間隔が１８０度である。この場合、第４気筒（＃４）の失火判定角度（＃４）は２７０度に設定される。
【００５０】
このように、不等間隔爆発エンジンでは、失火判定対象の気筒の膨張行程とその直後に生じる別の気筒の膨張行程との間のクランク角間隔が小さくなるほど、失火後における角速度の平均値ωAVE(θ)と、非失火（正常点火）後における角速度の平均値ω’AVE(θ)との差が最大となる時点が早まる傾向にある。このため、失火判定角度（＃１，＃２，＃３，＃４）のそれぞれの間隔は、膨張行程間のクランク間隔が小さいほど小さく設定される。
【００５１】
また、本実施形態では、失火判定における判定パラメータは、失火判定角度における角速度の平均値ωAVE(θ)としている。不等間隔爆発エンジンでは、各膨張行程間のクランク角間隔の相違に応じて気筒１１毎に失火時の角速度の平均値ωAVE(θ)の低下分が異なる。このため、判定パラメータである角速度の平均値ωAVE(θ)と比較される閾値が、失火判定すべき気筒１１毎に個別に設定され、それら閾値が互いに異なる値を有する。
【００５２】
具体的には、失火判定対象が第１気筒（＃１）の場合は、図３（ａ）に示すように、失火判定角度（＃１）３６０度において判定閾値Ｄ(#1)が設定される。判定閾値Ｄ(#1)は、判定パラメータである角速度の平均値ωAVE(360)と比較される。失火判定においては、次式（１）のように、角速度の平均値ωAVE(360)が判定閾値Ｄ(#1)以下であると失火と判定される。
ωAVE(360)  ≦  Ｄ(#1)・・・（１）
【００５３】
失火判定対象が第２気筒（＃２）の場合は、図３（ｂ）に示すように、失火判定角度（＃２）２７０度において判定閾値Ｄ(#2)が設定される。判定閾値Ｄ(#2)は判定パラメータである角速度の平均値ωAVE(270)と比較される。失火判定においては、次式（２）のように、角速度の平均値ωAVE(270)が判定閾値Ｄ(#2)以下であると失火と判定される。
ωAVE(270)  ≦  Ｄ(#2)・・・（２）
【００５４】
失火判定対象が第３気筒（＃３）の場合は、図３（ｃ）に示すように、失火判定角度（＃３）１８０度において判定閾値Ｄ(#3)が設定される。判定閾値Ｄ(#3)は、判定パラメータである角速度の平均値ωAVE(180)と比較される。失火判定においては、次式（３）のように、角速度の平均値ωAVE(180)が判定閾値Ｄ(#3)以下であると失火と判定される。
ωAVE(180)  ≦  Ｄ(#3)・・・（３）
【００５５】
失火判定対象が第４気筒（＃４）の場合は、図３（ｄ）に示すように、失火判定角度（＃４）２７０度において判定閾値Ｄ(#4)が設定される。判定閾値Ｄ(#4)は判定パラメータである角速度の平均値ωAVE(270)と比較される。失火判定においては、次式（４）のように、判定時の角速度の平均値ωAVE(270)が判定閾値Ｄ(#4)以下であると失火と判断する。
ωAVE(270)  ≦  Ｄ(#4)・・・（４）
【００５６】
図３（ａ）に示すように、失火判定対象の気筒（＃１）の膨張行程とその直後に生じる別の気筒（＃２）の膨張行程との間のクランク角間隔（２７０度）が広いと、非失火時の角速度の平均値ω’AVE(θ)と失火時の角速度の平均値ωAVE(θ)の差が大きい。このため、第１気筒１１（＃１）の判定閾値Ｄ(#1)を大きな値、すなわち正常時の角速度の平均値ω’AVE(360)に近い値に設定すると、正常時でもノイズ等の影響で閾値を下回り易く、誤って失火と判定されてしまう。
【００５７】
一方、図３（ｃ）に示すように、失火判定対象の気筒（＃３）の膨張行程とその直後に生じる別の気筒（＃４）の膨張行程との間のクランク角間隔が狭くなると（９０度）、非失火時の角速度の平均値ω’AVE(θ)と失火時の角速度の平均値ωAVE(θ)の差が小さくなる。このため、第３気筒１１（＃３）の判定閾値Ｄ(#3)を小さな値、すなわち失火時の角速度の平均値ωAVE(180)に近い値に設定すると、失火時でもノイズ等の影響で閾値を上回り易く、誤って正常と判定されてしまう。
【００５８】
このため、式（１）〜（４）において気筒１１毎に個別に設定された判定閾値は、膨張行程間のクランク角間隔が小さいほど大きく設定される。本実施形態では、気筒１１毎の判定閾値の大きさは、次のように設定される。
Ｄ(#3)  ＞  Ｄ(#2)＝Ｄ(#4)  ＞  Ｄ(#1)・・・（５）
【００５９】
尚、本実施の形態では、第２気筒の判定閾値Ｄ(#2)と第４気筒の判定閾値Ｄ(#4)は同じ値に設定されたが、異なる値に設定されてもよい。
【００６０】
［失火判定処理］
次に、本実施の形態の失火判定装置３による失火判定処理について図４のフローチャートも参照しつつ説明する。図４（ａ）はメインプログラムのフローチャート、図４（ｂ）はサブルーチン（失火判定プログラム）のフローチャートである。メインプログラムの実行に先立って、記憶部３３には、予め、気筒１１毎の失火判定角度、及び判定閾値が記憶されている。ここでは気筒１１毎の失火判定角度（＃１、＃２）、第１気筒の判定閾値Ｄ(#1)、第２気筒の判定閾値Ｄ(#2)、第３気筒の判定閾値Ｄ(#3)、第４気筒の判定閾値Ｄ(#4)が記憶されている。
【００６１】
まず、図４（ａ）に示すように、演算部３１は、エンジン１の運転開始後、入力された気筒判別信号に基づいて判定対象の気筒１１を判別する（ステップＳ１）。次に、気筒判別信号の入力毎にその時の判定対象となる気筒１１についての失火判定処理が割り込み処理にて実行される（ステップＳ２，Ｓ３，Ｓ４，Ｓ５のいずれか）。すなわち、メインプログラムにおいて、判定対象として判別された気筒１１に応じたサブルーチンが呼び出され失火判定処理が実行される。
【００６２】
以下では第１気筒１１（＃１）の失火判定処理について説明する。まず、図４（ｂ）に示すように、演算部３１は、失火判定角度（＃１）を演算する（ステップＳ４１）。クランク角センサ２２から入力されたクランク角信号のパルスをカウントして、第１気筒（＃１）１１の上死点を基準としたクランク角θを算出する。更に演算部３１は、クランク角信号に基づいてクランク軸２０の角速度の瞬時値ω(θ)及び角速度の平均値ωAVE(θ)を演算する。角速度の瞬時値はクランク軸２０が１５度回転する毎に出力されるクランク角信号の経過時間（パルス幅）から算出される。演算部３１は、第１気筒１１（＃１）についてクランク角θが失火判定角度（＃１）３６０度に到達した場合は、次のステップに移る。
【００６３】
次に、演算部３１は、第１気筒（＃１）１１の失火判定角度（＃１）３６０度における判定パラメータを演算する（ステップＳ４１）。ここで判定パラメータは、第１気筒１１（＃１）の失火判定角度（＃１）３６０度における角速度の平均値ωAVE(360)である。
【００６４】
次に、判定部３２は、第１気筒（＃１）１１について失火判定する（ステップＳ４３）。判定部３２は、失火判定角度（＃１）における、判定パラメータである角速度の平均値ωAVE(360)と判定閾値Ｄ(#1)とを比較する。判定時の角速度の平均値ωAVE(360)が判定閾値Ｄ(#1)以下である場合は失火と判定する。一方、判定時の角速度の平均値ωAVE(360)が判定閾値Ｄ(#1)よりも大きい場合は正常であると判定する。
【００６５】
失火判定後、演算部３１は、失火判定処理を終了し、図４（ａ）のメインプログラムのステップＳ１に戻り、次の気筒判別信号の入力を待機する。尚、ステップＳ１で、判定対象としてその他の気筒（＃２〜＃４）が判別された場合は、判別した気筒１１について、上述したステップ４１〜ステップ４３と同様な処理が実行される。
【００６６】
このように、本実施の形態では、失火判定角度を気筒１１毎に設定し、エンジン運転中は、判定対象となる気筒１１について、予め記憶された失火判定角度における判定パラメータ（角速度の平均値ωAVE(θ)）を演算し、それを予め記憶しておいた各気筒１１の判定閾値Ｄ（#）と比較して失火の有無を判定する、すなわち判定パラメータ（角速度の平均値ωAVE(θ)）が判定閾値Ｄ（#）以下であると失火と判定するようになっている。
【００６７】
従って、本実施の形態によれば、不等間隔爆発エンジンの失火判定において発生トルク相関量の平均値として角速度の平均値ωAVE(θ)を用いることで、角速度の瞬時値ω(θ)に比べて失火による低下分が大きくなるので、不等間隔爆発による気筒１１の影響を抑えることができ、失火判定を精度良く行うことができる。
【００６８】
また、失火判定角度（＃１，＃２，＃３，＃４）が、失火判定すべき気筒１１毎に個別に設定され、且つ、それら角度位置が互いに異なる値を有することにより、各膨張行程間のクランク角間隔の相違に応じて気筒毎に最適な失火判定角度が設定でき、失火判定精度を向上できる。
【００６９】
更に、失火判定角度（＃１，＃２，＃３，＃４）が、膨張行程間のクランク間隔が小さいほど小さく設定されることにより、各膨張行程間のクランク角間隔の減少に応じて最適な失火判定角度が設定でき、失火判定精度を向上できる。
【００７０】
また、判定パラメータである角速度の平均値ωAVE(θ)と比較される閾値Ｄ(#)が、失火判定すべき気筒１１毎に個別に設定され、それら閾値Ｄ(#)は互いに異なる値を有することにより、失火時の角速度の平均値ωAVE(θ)の低下分の相違に応じて気筒１１毎に最適な判定閾値Ｄ(#)が設定でき、失火判定精度を向上できる。
【００７１】
更に、判定時の角速度の平均値ωAVE(θ)が閾値Ｄ（#）以下であると失火と判断し、閾値Ｄ（#）が、膨張行程間のクランク角間隔が小さいほど大きく設定されることにより、膨張行程間のクランク角間隔が小さくなっても失火判定精度の低下を防止できる。
【００７２】
［変形例］
本実施の形態では、失火判定の判定パラメータは１サイクル未満の区間での角速度の平均値としたが、例えば前回正常時の１サイクルあたりの角速度の平均値ωFILT(θ)と判定時の１サイクル未満の角速度の平均値ωAVE(θ)との差ωDIFF(θ)、又は、その絶対値｜ωDIFF(θ)｜としてもよい。
【００７３】
また、適切な区間における角速度の平均値ωAVE(θ)の変化速度、すなわち角加速度β(θ)、又は、その絶対値｜β(θ)｜としてもよい。
【００７４】
また、閾値Ｄ(θ)は、失火判定角度での前回正常値（１８０度区間での角速度の平均値ωAVE(θ)）を基準に気筒毎に決定してもよいし、より長期間の平均値（１サイクルの平均値）を算出し、この値を基準に決定してもよい。
【００７５】
尚、不等爆エンジンの場合、長期間（例えば１サイクル区間）の角速度の平均値に対する短期間（例えば１８０度区間）の角速度の平均値の偏差がクランク角度変化に応じて変動する。そこで、正常時におけるクランク角変化に応じた短期間の角速度の平均値の偏差を記憶しておき、記憶された正常時の短期間の角速度の平均値の偏差と、判定時の短期間の角速度の平均値の偏差との偏差が所定値以上であれば失火判定してもよい。
【００７６】
この場合、判定パラメータδは次式（１−１）で表される。
【００７７】
δ＝｜ω’FILT(θ)−ωAVE(θ)｜−｜ω’FILT(θ)−ω’AVE(θ)｜・・・（１−１）
ここで、ωAVE(θ)は、判定時において測定された短期間の角速度の平均値、ω’AVE(θ)は、例えば前回正常時において計測された短期間の角速度の平均値、ω’FILT(θ)は、例えば前回正常時において測定された長期間の角速度の平均値である。尚、「短期間」の角速度の平均値は、１８０度区間での平均値とする。一方、「長期間」の角速度の平均値は、少なくとも「短期間」の角速度の平均値の区間よりも長ければよく、７２０度区間（１サイクル）での平均値とする。失火判定においては、判定パラメータδが所定の閾値Ｄよりも大きい場合に失火であると判定し、閾値Ｄ以下である場合には正常であると判定する。
【００７８】
その他、前回正常時において測定された長期間の平均値ω’FILT(θ)と判定時（失火判定角度）において測定される角速度の平均値ωAVE(θ)との偏差に対する閾値Ｄの大小を比較して失火判定してもよい。
【００７９】
また、判定時（失火判定角度）において正常時に得られた角速度の平均値ω’AVE(θ)と、測定される角速度の平均値ωAVE(θ)との偏差に対する閾値Ｄの大小を比較して失火判定してもよい。この場合、判定パラメータδは、例えば、次式（１−２）で表される。
δ＝ωAVE(θ)−ω’AVE(θ)・・・（１−２）
【００８０】
また、失火判定角度（＃１，＃２，＃３，＃４）は、正常時の角速度の平均値と判定時の角速度の平均値との偏差が最大となる角度に設定されてもよいし、長期間（例えば１サイクルあたり）の平均値と判定時の角速度の平均値との偏差が最大となる角度に設定されてもよい。
【００８１】
また、失火判定すべき気筒毎に失火判定角度が異なるとともに、失火判定に用いる閾値Ｄについても気筒毎にその大きさが異なるようにしてもよい。この場合、閾値Ｄは、気筒毎にそれぞれ異なる値が記憶される。
【００８２】
なお、角速度の平均値ωAVE(θ)，ω’AVE(θ)（又は短期間の角速度の平均値）は、１８０度区間での平均値でなくとも、３６０度未満好ましくは２７０度未満更に好ましくは１８０度以下の角度区間での平均値とすればよい。また「長期間の角速度の平均値」は、７２０度区間（１サイクル）での平均値としたが、５４０度以上７２０度未満の角度区間での平均値としてもよい。
【００８３】
尚、エンジン１は、Ｖ型４気筒又は直列４気筒に限られず、他の形式の多気筒エンジンでもよい。
【００８４】
（第２実施形態）
次に、第２の実施形態について説明する。以下では、第１実施形態と共通する構成の説明は省略し、相違する構成を中心に説明する。
【００８５】
［失火判定原理］
まず、本実施の形態の失火判定装置による失火判定原理について説明する。図５は、本実施形態の不等間隔爆発エンジンの正常（無失火）時と失火時のクランク角に対する角速度の関係を示すグラフである。破線は角速度の瞬時値を示し、実線は角速度の平均値をそれぞれ示している。ω’（θ）は正常時の角速度の瞬時値を示し、ω’AVE(θ)は正常時の角速度の平均値を示している。ω（θ）は失火時の角速度の瞬時値を示し、ωAVE(θ)は失火時の角速度の平均値をそれぞれ示している。Ｄ（#）は判定閾値を示している。
【００８６】
第１及び第２気筒１１（＃１、＃２）について、それぞれ吸気・圧縮・膨張・排気の４行程による１燃焼サイクルが「７２０度」周期で逐次実行される。各気筒１１間において膨張行程が不等間隔で逐次実行される。
【００８７】
本実施形態のエンジン１は、各膨張行程の間に角変位するクランク角が異なる不等間隔爆発エンジンである。ここではエンジン１は、Ｖ型２気筒エンジンである。
【００８８】
図５（ａ）は、第１気筒（＃１）の上死点のクランク角を基準として示している。ここでは第１気筒（＃１）の点火から第２気筒（＃２）の点火まではクランク角間隔が３０５度である。
【００８９】
図５（ｂ）は、第２気筒（＃２）の上死点のクランク角を基準として示している。ここでは第２気筒（＃２）の点火から第１気筒（＃１）の点火まではクランク角間隔が４１５度である。
【００９０】
図５（ａ）及び図５（ｂ）に示すように、本実施形態の不等間隔爆発エンジンでは、失火判定すべき気筒の膨張行程とその直後に生じる別の気筒の膨張行程との間のクランク角間隔の相違に依って、失火時における角速度の平均値ωAVE(θ)の変化パターンが異なる。即ち、不等間隔爆発エンジンの点火時期直前では、角速度の平均値ωAVE(θ）の低下分が大きくならない。このため、第１実施形態のように気筒１１毎に変化パターンに応じた失火判定プログラムを設計しなければならず、従来の等間隔爆発エンジンの失火判定と比べて設計負担が増加する。そこで、不等間隔爆発のエンジンにおいて、精度良い失火判定を実現しつつ設計負担を低減する。
【００９１】
本発明者等は、図５（ａ）及び図５（ｂ）に示す変化パターンから、気筒１１毎の上死点における角速度の平均値ωAVE(0)又はω’AVE(0)と、非失火状態での角速度の平均値ω’AVE(θ)とが同じになるクランク軸の角度位置θでは、非失火時の角速度の平均値ω’AVE(θ)と失火時の角速度の平均値ωAVE(θ)との差を安定して十分量確保できることを見出した。
【００９２】
そこで、第１気筒（＃１）の失火判定角度と及び第２気筒（＃２）の失火判定角度とを、気筒１１毎の上死点における角速度の平均値ωAVE(0)又はω’AVE(0)と非失火状態（正常時）での角速度の平均値ω’AVE(θ)とが同じになるクランク軸の角度位置θにそれぞれ設定した。
【００９３】
本実施の形態では、失火判定角度（＃１）及び失火判定角度（＃２）は、失火判定すべき気筒１１毎に同じである。図５（ａ）に示すように、第１気筒（＃１）の点火から第２気筒（＃２）の点火まではクランク間隔が３０５度である場合、第１気筒（＃１）の失火判定角度＃１は５４０度に設定される。図５（ｂ）に示すように、第２気筒（＃２）の点火から第３気筒（＃３）の点火まではクランク間隔が４１５度である場合にも、第２気筒（＃２）の失火判定角度＃２は５４０度に設定される。
【００９４】
そして、本実施の形態では、失火判定における判定パラメータβ(θ)は、次式（６）で表される、クランク角０〜θ間の角加速度である。
【００９５】
β(θ)＝（ωAVE(θ)−ωAVE(0)）／Ｔ(θ)・・・（６）
ここでωAVE(0)は、クランク角θがゼロ（失火判定対象の気筒の上死点に対応するクランク角）での角速度の平均値である。Ｔ(θ)は各気筒１１（＃１、＃２）の上死点から失火判定角度（＃１、＃２）までの時間である。
【００９６】
失火判定対象が第１気筒（＃１）の場合は、図５（ａ）に示すように、第１気筒（＃１）の失火判定角度（＃１）である５４０度では判定閾値Ｄ(#1)が設定される。判定閾値Ｄ(#1)は判定パラメータβ(540)と比較される。第１気筒（＃１）についての閾値Ｄ(#1)は、正常時の角速度β’(540)を基準に設定される。失火判定においては、次式（７）のように、判定パラメータβ(540)が判定閾値Ｄ(#1)よりも小さい場合に失火と判定される。
β(540)  ＜  Ｄ(#1)・・・（７）
【００９７】
失火判定対象が第２気筒（＃２）の場合は、図５（ｂ）に示すように、第２気筒（＃２）の失火判定角度（＃２）である５４０度では判定閾値Ｄ(#2)が設定される。判定閾値Ｄ(#2)は判定パラメータβ(540)と比較される。第２気筒（＃２）についての閾値Ｄ(#2)は、正常時の角速度β’(540)を基準に設定される。失火判定においては、式（８）のように、判定パラメータβ(540)が判定閾値Ｄ(#2)よりも小さい場合に失火と判定される。
β(540)  ＜  Ｄ(#2)・・・（８）
【００９８】
［失火判定処理］
次に、本実施の形態の失火判定装置３による失火判定処理について図６のフローチャーチャートも参照しつつ説明する。図６（ａ）はメインプログラムのフローチャート、図６（ｂ）はサブルーチン（失火判定プログラム）のフローチャートである。メインプログラムの実行に先立って、記憶部３３には、予め、全気筒１１で共通の失火判定角度（＃１、＃２）、第１気筒の判定閾値Ｄ(#1)、第２気筒の判定閾値Ｄ(#2)が記憶されている。
【００９９】
まず、エンジン１の運転開始後、図６（ａ）に示すように、演算部３１は、入力された気筒判別信号に基づいて判定対象の気筒１１を判別する（ステップＳ１）。次に、気筒判別信号の入力毎にその時の判定対象となる気筒１１についての失火判定処理が割り込み処理にて実行される（ステップＳ２又はステップＳ３）。すなわち、メインプログラムにおいて、判定対象として判別された気筒１１に応じたサブルーチンが呼び出され失火判定処理が実行される。
【０１００】
以下では第１気筒１１（＃１）の失火判定処理について説明する。まず、図６（ｂ）に示すように、演算部３１は、失火判定角度（＃１）を演算する（ステップＳ６１）。クランク角センサ２２から入力されたクランク角信号のパルスをカウントして、判別された第１気筒（＃１）１１の上死点を基準としたクランク角θを算出する。更に演算部３１は、クランク角信号に基づいてクランク軸２０の角速度の平均値ωＡＶＥ（θ）を演算する。角速度の平均値はクランク軸２０が３６０度回転する毎に出力されるクランク角信号の経過時間（パルス幅）から算出される。演算部３１は、第１気筒１１（＃１）についてクランク角θが失火判定角度（＃１）５４０度に到達した場合は、次のステップに移る（図５（ａ）参照）。本実施の形態では、第１気筒１１（＃１）と第２気筒１１（＃２）と失火判定角度（＃１、＃２）は共通である。
【０１０１】
次に、演算部３１は、第１気筒（＃１）１１の失火判定角度（＃１）５４０度における判定パラメータβ(540)を演算する（ステップ６２）。ここで判定パラメータβ(540)は、式（６）で示した、第１気筒１１（＃１）の失火判定角度（＃１）５４０度における角加速度である。
【０１０２】
次に、判定部３２は、第１気筒（＃１）１１について失火判定する（ステップＳ６３）。判定部３２は、失火判定角度（＃１）における、判定パラメータβ(540)である角加速度と判定閾値Ｄ（#1）とを比較する。判定パラメータβ(540)が判定閾値Ｄ(#1)よりも小さい場合に失火と判定する。一方、判定パラメータβ(540)が判定閾値Ｄ(#1)以上である場合に正常であると判定する。
【０１０３】
失火判定後、演算部３１は、失火判定処理を終了し、図６（ａ）のメインプログラムのステップＳ１に戻り、次の気筒判別信号の入力を待機する。尚、ステップＳ１で、判定対象として第２気筒（＃２）が判別された場合は、上述した、ステップＳ６１〜ステップＳ６３と同様な処理が実行される。
【０１０４】
このように、本実施の形態では、失火判定角度を全気筒１１で共通に設定し、エンジン運転中は、判定対象となる気筒１１について、予め記憶した失火判定角度において、判定パラメータβ(θ)を演算し、それを予め記憶しておいた気筒１１毎の判定閾値Ｄ（#）と比較して失火の有無を判定するようになっている。
【０１０５】
従って、本実施の形態によれば、不等間隔爆発エンジンの失火判定において発生トルク相関量の平均値として角加速度を用いることで、角速度の瞬時値ω（θ）に比べて失火による低下分が大きくなるので、不等間隔爆発による気筒１１の影響を抑えることができ、失火判定を精度良く行うことができる。
【０１０６】
また、上死点における角速度の平均値ωAVE(0)と、非失火状態での角速度の平均値ω’AVE(θ)とが同じになるクランク角度θを算出することにより、精度良く閾値判定できる失火判定角度を容易に決定することができ、好適に設計負担を低減することが可能になる。
【０１０７】
また、失火判定角度を、気筒１１毎に同じに設定することにより、失火判定プログラムにおいて、失火判定角度を全気筒で共通化できるので、失火判定を高精度に行いつつ設計負担を低減することができる。
【０１０８】
また、本実施形態では、失火判定角度は、気筒１１毎に同じ５４０度に設定したが、失火判定精度が低下しない範囲であれば、例えば±９０度の範囲に設定してもよい。
【０１０９】
尚、本実施の形態では、爆発間隔については、第１気筒（＃１）の点火から第２気筒（＃２）の点火まではクランク角間隔が３０５度としたが、３０５度〜３１５度の範囲でも適用可能である。
【０１１０】
また、本実施の形態では、判定パラメータはβ(θ)としたが（式（６））、その絶対値｜β(θ)｜としてもよい。また、角速度の平均値ωAVE(θ)でもよいし、その絶対値｜ωAVE(θ)｜でもよい。
【０１１１】
（第３実施形態）
次に、第３実施形態について説明する。本実施形態の不等間隔爆発エンジンは、並列２気筒エンジンである。以下では、第２実施形態と共通する構成の説明は省略し、相違する構成を中心に説明する。
【０１１２】
本実施の形態では、全気筒１１（＃１、＃２）で失火判定角度のみならず、判定閾値Ｄ(#1,#2)を同一の値に設定して失火判定を行う点が第２実施形態と異なる。
【０１１３】
［失火判定原理］
本実施形態の失火判定装置３による失火判定原理について説明する。図７は、本実施形態のエンジン（並列２気筒）の正常（無失火）時と失火時のクランク角に対する角速度の関係を示すグラフである。破線は角速度の瞬時値を示し、実線は角速度の平均値をそれぞれ示している。ω’(θ,#）は正常時の角速度の瞬時値を示し、ω’AVE(θ,#)は正常時の角速度の平均値を示している。ω(θ,#）は失火時の角速度の瞬時値を示し、ωAVE(θ,#）は失火時の角速度の平均値をそれぞれ示している。Ｄ（#）は判定閾値を示している。ω’FILT(θ，＃)は正常時の１サイクル（７２０度）あたりの角速度を平均した基準値（１サイクル平均値）を示している。
【０１１４】
第１及び第２気筒１１（＃１、＃２）について、それぞれ吸気・圧縮・膨張・排気の４行程による１燃焼サイクルが「７２０度」周期で逐次実行される。各気筒１１間において膨張行程が不等間隔で逐次実行される。
【０１１５】
図７（ａ）は、第１気筒（＃１）の上死点のクランク角を基準として示している。ここでは第１気筒（＃１）の点火から第２気筒（＃２）の点火まではクランク間隔が１８０度である。
【０１１６】
図７（ｂ）は、第２気筒（＃２）の上死点のクランク角を基準として示している。ここでは第２気筒（＃２）の点火から第１気筒（＃１）の点火まではクランク間隔が５４０度である。
【０１１７】
図７（ｃ）は、図７（ａ）の正常時と失火時の角速度の平均値ω’AVE(θ，#1)、ωAVE(θ，#1)及び１サイクル平均値ω’FILT(θ，#1)と、図７（ｂ）の正常時と失火時の角速度の平均値ω’AVE(θ，#2)、ωAVE(θ，#2)及び１サイクル平均値ω’FILT(θ，#2)とを重ね合わせて示している。図７（ｃ）に示すように、失火判定角度を、１サイクル平均値ω’FILT(θ，#1)又はω’FILT(θ，#2)と、非失火状態での１サイクル未満（１８０度）の角速度平均値ωAVE(θ,#1)又はωAVE(θ,#2)とが同じになるクランク角を第１気筒（＃１）及び第２気筒（＃２）の共通の失火判定角度（３６０度）とする。つまり、本実施の形態では、全気筒の失火判定角度は、互いに同じである。
【０１１８】
更に、本実施の形態では、失火判定角度（＃１、＃２）における判定パラメータωDIFF(θ)は、次式（９）で表される。
ωDIFF(θ)＝ω’FILT(θ,#)−ωAVE(θ,#)・・・（９）
【０１１９】
失火判定対象が第１気筒（＃１）の場合は、図７（ａ）に示すように、第１気筒（＃１）の失火判定角度である３６０度では判定閾値Ｄ(#1)が設定される。判定閾値Ｄ(#1)は判定パラメータωDIFF(360)と比較される。失火判定においては、次式（１０）のように、判定パラメータωDIFF(360)が判定閾値Ｄ(#1)よりも大きい場合に失火と判定される。
ωDIFF(360)  ＞  Ｄ(#1)・・・（１０）
【０１２０】
失火判定対象が第２気筒（＃２）の場合は、図７（ｂ）に示すように、第２気筒（＃２）の失火判定角度＃２である３６０度では判定閾値Ｄ(#2)が設定される。判定閾値Ｄ(#2)は判定パラメータωDIFF(θ)と比較される。失火判定においては、式（１１）のように、判定パラメータωDIFF(θ)が判定閾値Ｄ(#2)よりも大きい場合に失火と判定される。
ωDIFF(360)  ＞  Ｄ(#2)・・・（１１）
【０１２１】
図７（ｃ）に示すように、本実施の形態では、第１気筒（＃１）及び第２気筒（＃２）について、共通の失火判定角度（３６０度）における判定閾値Ｄ(#1,#2)が同一の値に設定される。
【０１２２】
［失火判定処理］
次に、本実施の形態の失火判定装置３による失火判定処理について図８のフローチャートも参照しつつ説明する。図８（ａ）はメインプログラムのフローチャート、図８（ｂ）はサブルーチン（失火判定プログラム）のフローチャートである。メインプログラムの実行処理に先立って、記憶部３３には、予め、全気筒１１で共通の判定角度（＃１、＃２）及び判定閾値Ｄ(#1,#2)が記憶されている。
【０１２３】
つまり、本実施の形態では、第１気筒（＃１）及び第２気筒（＃２）について、共通の失火判定角度（＃１、＃２）における判定閾値Ｄ(#1,#2)が同一の値に設定されている。このため、演算部３１は、上記実施形態のように入力された気筒判別信号に基づいて判定対象の気筒１１を判別する処理は不要である。その代わり、まず、演算部３１は、図８（ａ）に示すように、クランク角信号に基づいて算出したクランク角から上死点を検出する（ステップＳ１）。次に、演算部３１が、検出した上死点のクランク角を基準に失火判定処理を開始する（ステップＳ２）。
【０１２４】
次に、演算部３１は、図８（ｂ）のサブルーチンに示すように、共通の失火判定角度（３６０度）を演算する（ステップＳ８１）。クランク角センサ２２から入力されたクランク角信号のパルスをカウントして、上死点を基準としたクランク角θを算出する。更に演算部３１は、クランク角信号に基づいてクランク軸２０の角速度の瞬時値ω(θ)及び角速度の平均値ωAVE(θ)を演算する。演算部３１は、クランク角θが失火判定角度（３６０度）に到達した場合は、次のステップに移る。
【０１２５】
次に、演算部３１は、判定パラメータωDIFF(360)を演算する（ステップＳ８２）。
【０１２６】
次に、判定部３２は、失火判定する（ステップＳ８３）。判定部３２は、失火判定角度（３６０度）において、判定パラメータωDIFF(360)と判定閾値Ｄ（#1,#2）とを比較する。判定パラメータωDIFF(360)が判定閾値Ｄ(#1,#2)よりも大きい場合に失火と判定する。一方、判定パラメータωDIFF(360)が判定閾値Ｄ(#1,#2)以下である場合に正常であると判定する。失火判定後、演算部３１は、メインプログラムのステップＳ１に戻る。
【０１２７】
このように、本実施の形態では、エンジン運転中は、全気筒１１で共通化されたサブルーチンにより、各気筒１１の上死点を基準とした、共通の失火判定角度における判定パラメータωDIFF(θ)を演算し、それを予め記憶しておいた全気筒１１で共通の判定閾値Ｄ（#1,#2）と比較して失火の有無を判定するようになっている。
【０１２８】
従って、本実施の形態によれば、全気筒１１（＃１、＃２）で失火判定角度のみならず、判定閾値Ｄ(#1,#2)を同一の値に設定して失火判定を行うことで、失火判定を精度良く行いつつ、第２実施の形態よりも更に設計負担を低減することができる。
【０１２９】
また、１サイクル平均値ω’FILT(θ)と、非失火状態での角速度の平均値ω’AVE(θ)とが同じになるクランク角度θを算出することにより、最適な失火判定角度（＃１、＃２）を決定することができる。
【０１３０】
また、本実施形態では、失火判定角度は、失火判定すべき気筒１１毎に同じ３６０度に設定したが、失火判定精度が低下しない範囲であれば、例えば±９０度の範囲に設定してもよい。
【０１３１】
尚、本実施形態の変形例として判定パラメータは絶対値｜ωDIFF(θ)｜としてもよい。
【０１３２】
（第４実施形態）
次に、第４実施形態について説明する。本実施形態の不等間隔爆発エンジンは、第３実施形態と同様に並列２気筒エンジンである。以下では、第３実施形態と共通する構成の説明は省略し、相違する構成を中心に説明する。
【０１３３】
本実施形態では、点火後のクランク角の所定区間において、角速度の平均値が増加傾向である場合には正常であると判定し、減少傾向である場合には失火判定する点が第３実施形態と異なる。尚、前記所定区間の始点は、失火対象気筒の点火後であって次の気筒の点火の前に設定される。また、前記所定区間の終点は次の気筒の点火より後でないことが好ましい。
【０１３４】
［失火判定原理］
本実施形態の失火判定装置３による失火判定原理について説明する。図９は、第４実施形態のエンジンのクランク角に対する角速度の関係を示すグラフである。正常時の角速度の平均値ω’AVE(θ)と、失火時の角速度の平均値ωAVE(θ)をそれぞれ示している。
【０１３５】
図９（ａ）は、第１気筒（＃１）の上死点のクランク角を基準として示している。ここでは第１気筒（＃１）の点火から第２気筒（＃２）の点火まではクランク間隔が１８０度である。図９（ｂ）は、第２気筒（＃２）の上死点のクランク角を基準として示している。ここでは第２気筒（＃２）の点火から第１気筒（＃１）の点火まではクランク間隔が５４０度である。
【０１３６】
図９（ａ）及び図９（ｂ）に示すように、本実施形態の角速度の平均値、すなわちエンジンの回転変動に着目すると、第１気筒（＃１）、第２気筒（＃２）ともに上死点を基準とした角度θが９０度から１８０度の区間の角速度において失火有無により変動傾向の顕著な差異を確認することができる。
【０１３７】
つまり、上記区間において、正常時（無失火時）では角速度の平均値ω’AVE(θ)の傾きが増加傾向（正）であるのに対し、失火時では角速度の平均値ωAVE(θ)の傾きが減少傾向（負）である。これにより、角速度の平均値ωAVE(θ)が減少傾向であるか否かで失火判定が可能である。そこで、本実施の形態では、判定パラメータωslope(Δθ)を、次式（１２）で表す。ここでΔθは所定区間のクランク角間隔である。θ１は所定区間の始点を示す上死点を基準としたクランク角である。θ２は所定区間の終点を示す上死点を基準としたクランク角である。
ωslope(Δθ)＝(ωAVE(θ２)−ωAVE(θ１))／(θ２-θ１)・・・（１２）
【０１３８】
図９（ａ）に示すように、失火判定対象が第１気筒（＃１）の場合は、９０度（θ１）から１８０度（θ２）の区間における判定パラメータωslope(Δθ)は次式（１３）のように表される。これにより、判定パラメータが負の場合は失火であると判定することができる。
ωslope(Δθ)＝(ωAVE(180)−ωAVE(90))／(180-90)・・・（１３）
【０１３９】
一方、図９（ｂ）に示すように、失火判定対象が第２気筒（＃２）の場合も、第１気筒（＃１）と同様に、９０度（θ１）から１８０度（θ２）の区間における判定パラメータωslope(Δθ)は式（１３）のように表されるので、失火判定パラメータが負の場合は失火であると判定することができる。
【０１４０】
つまり、本実施形態では、式（１３）より、失火判定対象が第１気筒（＃１）か第２気筒（＃２）であるかに依らず、各上死点を基準としたクランク角の共通の所定区間での判定パラメータを演算し、演算された判定パラメータの正負を判断することで失火判定することができる。
【０１４１】
［失火判定処理］
次に、本実施形態の失火判定装置３による失火判定処理について図１０のフローチャートも参照しつつ説明する。図１０（ａ）はメインプログラムのフローチャート、図１０（ｂ）はサブルーチン（失火判定プログラム）のフローチャートである。
【０１４２】
ここでは、第１気筒（＃１）及び第２気筒（＃２）について共通のクランク角区間Δθにおける判定パラメータωslope(Δθ)が演算される。このため、演算部３１は、気筒判別信号に基づいて判定対象の気筒１１を判別する処理は不要である。その代わり、まず、演算部３１は、図１０（ａ）に示すように、クランク角信号に基づいて算出したクランク角から上死点を検出する（ステップＳ１）。
【０１４３】
次に、演算部３１が、検出した上死点のクランク角を基準に失火判定処理を開始する（ステップＳ２）。
【０１４４】
次に、演算部３１は、クランク角θが９０度及び１８０度における角速度の平均値ωAVE(90)及びωAVE(180)を演算する（ステップＳ１０１）。具体的には、演算部３１は、クランク角センサ２２から入力されたクランク角信号のパルスをカウントして、上死点を基準としたクランク角θを算出する。クランク角θが９０度に到達した場合は、クランク角信号に基づいてクランク軸２０の角速度の平均値ωAVE(90)を演算し、クランク角θが１８０度に到達した場合は、角速度の平均値ωAVE(180)を演算する。
【０１４５】
次に、演算部３１は、判定パラメータωslope(Δθ)を演算する（ステップＳ１０２）。演算部３１は、式（１３）より、９０度（θ１）及び１８０度（θ２）における角速度の平均値ωAVE(90)及びωAVE(180)に基づいて判定パラメータωslope(Δθ)を演算する。
【０１４６】
次に、判定部３２は、失火判定を行う（ステップＳ１０３）。判定部３２は、ステップＳ１０２で演算した判定パラメータωslope(Δθ)の正負を判断し、負の場合は失火であると判定する。一方、判定パラメータωslope(Δθ)が０又は正の場合は正常であると判定する。失火判定後、メインプログラムのステップＳ１に戻る。
【０１４７】
このように、本実施の形態では、エンジン運転中は、全気筒１１で共通化されたサブルーチンにより、各気筒１１の上死点を基準とした共通のクランク角区間Δθにおける判定パラメータωslope(Δθ)を演算し、演算した判定パラメータωslope(Δθ)の正負を判断することで失火の有無を判定するようになっている。
【０１４８】
従って、本実施の形態によれば、点火後の角速度に対応する値が所定のクランク角区間Δθにおいて失火しない場合には増加傾向となり、失火する場合には減少傾向となるので、正負の違いにより容易に失火判定することができ、エンジン毎又は気筒毎の閾値設定を不要とすることができる。
【０１４９】
尚、本実施形態では、発生トルク相関量の平均値は、角速度の平均値の変動により失火判定したが、角加速度、トルク変動に基づいて、それらが減少傾向である場合に失火判定してもよい。
【０１５０】
尚、本実施形態の失火判定では判定閾値を用いなかったが、例えば図９（ｂ）に示すように失火判定対象が第２気筒（＃２）の場合は、設定した区間で減少傾向が僅かであるので、式（１２）の判定パラメータの値はゼロに等しくなる。そこで、上記区間における正常時の角速度の平均値ω’AVE(θ)の傾き（正の値）を判定閾値Ｄ(#2)として予め記憶しておき、判定時には判定パラメータωslope(180-90)と判定閾値Ｄ(#2)とを比較して、判定パラメータωslope(180-90)が判定閾値Ｄ(#2)よりも小さい場合に失火と判定してもよい。このように判定閾値を用いて失火判定することで、判定精度を向上できる。
【０１５１】
尚、本実施形態では、点火直後のクランク角度が９０度から１８０度の区間において角速度の平均値が減少傾向であるか否かを判定したが、減少傾向を判定するための区間は限定されない。
【０１５２】
尚、本実施形態の失火判定処理と第１乃至第３実施形態の失火判定処理とを組み合わせてもよい。これにより、判定精度を向上することができる。
【０１５３】
尚、本実施形態のエンジンは、並列２気筒としたが、その他の形式のＶ型４気筒又は直列４気筒に限られず、他の形式の多気筒エンジンでもよい。
【０１５４】
また、不等間隔爆発エンジンだけでなく、等間隔爆発エンジンにおいても、点火直後のクランク角の所定区間の角速度に対応する値は、失火有無により変動傾向に顕著な差異を有すると考えられる。つまり、本実施形態による失火判定方法は等間隔爆発多気筒エンジンでも、単気筒エンジンでも適用可能である。
【０１５５】
（その他の実施の形態）
尚、上記実施の形態では、エンジン１の１サイクル未満の区間での発生トルク相関量の平均値を１サイクル未満として１８０度区間での発生トルク相関量（角速度）の平均値としたが、これに限られない。１サイクル未満であれば例えば９０度以上３６０度以下の区間の平均値でもよい。
【０１５６】
尚、上記実施の形態では、発生トルク相関量の平均値を角速度の平均値としたが、角加速度を用いてもよい。
【０１５７】
尚、本実施の形態は、角速度の平均値に基づいて閾値を設定したが、判定閾値は、回転数、負荷に応じて閾値を設定してもよい。尚、回転数が低くなるほど回転変動が大きくなる傾向にある。尚、負荷が大きくなるほど、回転変動が大きくなる傾向にある。
【０１５８】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び機能の双方又は一方の詳細を実質的に変更できる。
【産業上の利用可能性】
【０１５９】
本発明は、不等間隔爆発のエンジンを備えた車両に有用である。
【符号の説明】
【０１６０】
１  エンジン
２  ＥＣＵ（エンジン制御ユニット）
３  失火判定装置
１１  気筒
１２  ピストン
１３  燃焼室
１４  吸気管
１５  排気管
１６  吸気弁
１７  排気弁
１８  燃料噴射弁
１９  点火プラグ
２０  クランク軸
２１  回転検出ロータ
２２  クランク角センサ
１００  エンジン制御システム
ω’(θ)  正常時の角速度の瞬時値
ω’AVE(θ)  正常時の角速度の平均値
ω(θ)  失火時の角速度の瞬時値
ωAVE(θ)  失火時の角速度の平均値
ω’FILT(θ)  正常時の１サイクルあたりの角速度の平均値
Ｄ(#)  判定閾値
【図１】
0006353333.tif 000002
【図２】
0006353333.tif 000003
【図３】
0006353333.tif 000004
【図４】
0006353333.tif 000005
【図５】
0006353333.tif 000006
【図６】
0006353333.tif 000007
【図７】
0006353333.tif 000008
【図８】
0006353333.tif 000009
【図９】
0006353333.tif 000010
【図１０】
0006353333.tif 000011