(57)【要約】【課題】失火診断の際に、失火以外の要因によるエンジンの回転変動の影響を排除して誤診断を防止する。【解決手段】＃(ｎ−１)気筒の失火診断値ＤＧ#(n-1)が基準判定閾値ＢＳＬを超えている場合、失火診断値ＤＧ#(n-1)から回転変動補正値Ｈ1を減算した値が＃(ｎ−２)気筒の失火診断値ＤＧ#(n-2)以上、且つ失火診断値ＤＧ#(n-1)から回転変動補正値Ｈ2を減算した値が＃ｎ気筒の失火診断値ＤＧ#n以上の場合には、診断対象気筒に失火が発生したと判定する。逆に、＃(ｎ−１)気筒の失火診断値ＤＧ#(n-1)が基準判定閾値ＢＳＬを超えていても、ＤＧ#(n-1)−Ｐ1＜ＤＧ#(n-2)、又は、ＤＧ#(n-1)−Ｐ2＜ＤＧ#nの場合には、失火以外の要因による回転変動であると判断することで、誤診断を回避することができる。【選択図】図６
2015129483.tif 000002
【特許請求の範囲】
【請求項１】
エンジンの失火の有無を診断するエンジンの失火診断装置において、
気筒間の回転変動量に基づいて失火を判定するための失火診断値を算出する失火診断値算出部と、
エンジン運転状態に基づいて失火発生を判定するための基準判定閾値を算出する基準判定閾値算出部と、
前記失火診断値と前記基準判定閾値とを比較して、診断対象気筒の失火を判定する第１失火判定部と、
前記第１失火判定部で失火と判定された場合、前記診断対象気筒の失火診断値をエンジン運転状態に基づく回転変動補正値で補正した値と前記診断対象気筒に対して燃焼行程順が前後する気筒の失火診断値との差に基づいて、前記診断対象気筒の失火を再判定する第２失火判定部と
を備えることを特徴とするエンジンの失火診断装置。
【請求項２】
前記失火診断値は、燃焼行程順が前後する２つの気筒間の差回転を更に差分した値として算出されることを特徴とする請求項１記載のエンジンの失火診断装置。
【請求項３】
前記回転変動補正値を、前記診断対象気筒に対して燃焼行程順が前の気筒と燃焼行程順が後の気筒とに対して、それぞれ異なる補正値とすることを特徴とする請求項１又は２記載のエンジンの失火診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの失火の有無を診断する際の誤診断を防止するエンジンの失火診断装置に関する。
【背景技術】
【０００２】
従来から、エンジンの失火診断装置としては、所定クランク角毎のエンジン回転変動を算出し、エンジンの失火を診断する技術が採用されている。すなわち、燃焼行程の気筒の筒内圧（燃焼圧）と、燃焼行程間のエンジン回転には強い相関があるため、失火による回転数変動分を所定クランク角毎のエンジン回転変動として算出し、このエンジン回転変動を所定の判定レベルと比較することによって失火発生を判断することができる。
【０００３】
例えば、特許文献１には、爆発行程が隣接する気筒間の経過時間の偏差、又は爆発行程が一つの間隔を隔てて行われる気筒間の経過時間の偏差を求め、この回転変動分に相当する偏差を、判定レベルである設定値と比較することにより、失火を判断する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−３４２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、エンジンには、失火以外の要因による特異な回転変動、例えば、悪路走行時等の路面状態が急激に変化するような運転状態やエンジン負荷の変動、粗悪燃料使用による燃焼不安定等に回転変動が発生する場合がある。このような場合、特許文献１に開示されているよう従来技術では、一義的に回転変動分を判定レベルと比較しているため、失火以外の要因による回転変動を失火と誤判定する虞がある。
【０００６】
本発明は上記事情に鑑みてなされたもので、失火診断の際に、失火以外の要因によるエンジンの回転変動の影響を排除して誤診断を防止することのできるエンジンの失火診断装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明によるエンジンの失火診断装置は、エンジンの失火の有無を診断するエンジンの失火診断装置において、気筒間の回転変動量に基づいて失火を判定するための失火診断値を算出する失火診断値算出部と、エンジン運転状態に基づいて失火発生を判定するための基準判定閾値を算出する基準判定閾値算出部と、前記失火診断値と前記基準判定閾値とを比較して、診断対象気筒の失火を判定する第１失火判定部と、前記第１失火判定部で失火と判定された場合、前記診断対象気筒の失火診断値をエンジン運転状態に基づく回転変動補正値で補正した値と前記診断対象気筒に対して燃焼行程順が前後する気筒の失火診断値との差に基づいて、前記診断対象気筒の失火を再判定する第２失火判定部とを備えるものである。
【発明の効果】
【０００８】
本発明によれば、失火診断の際に、失火以外の要因によるエンジンの回転変動の影響を排除して誤診断を防止することができ、信頼性を向上することができる。
【図面の簡単な説明】
【０００９】
【図１】エンジン系の概略構成図
【図２】失火診断機能に係るブロック図
【図３】失火診断値の説明図
【図４】失火時の失火診断値の変化を示す説明図
【図５】失火以外の要因の影響による失火診断値の変化を示す説明図
【図６】回転変動補正値による失火判定を示す説明図
【図７】失火診断ルーチンを示すフローチャート
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施の形態を説明する。  
図１において、符号１はエンジンであり、図においては、シリンダブロック１ａがクランク軸１ｂを中心として左右のバンクを形成する水平対向型４気筒エンジンを示す。各バンクのシリンダヘッド２には、それぞれ吸気ポート２ａと排気ポート２ｂとが形成されており、各吸気ポート２ａの直上流側にインジェクタ１０が取り付けられている。また、シリンダヘッド２には、放電部を燃焼室に露呈する点火プラグ１１が取り付けられており、この点火プラグ１１には点火コイル１２が連設され、点火コイル１２にイグナイタ１３が接続されている。
【００１１】
また、各気筒の吸気ポート２ａには、インテークマニホールド３が連通され、インテークマニホールド３にエアチャンバ４を介してスロットルチャンバ５が連通されている。スロットルチャンバ５には、スロットルアクチュエータ６ｂによって開閉駆動されるスロットルバルブ６ａが介装され、このスロットルバルブ６ａの上流側に、吸気管７を介してエアクリーナ８が取付けられ、エアクリーナ８の直下流に吸入空気量センサ９が介装されている。
【００１２】
一方、各気筒の排気ポート２ｂには、エキゾーストマニホールド１５が連通され、このエキゾーストマニホールド１５が下流側で集合されて排気管１６に連通されている。排気管１６には、排気浄化用の触媒コンバータ１７が介装され、触媒コンバータ１７の下流側にマフラ１８が接続されている。触媒コンバータ１７の上流側には、空燃比センサ１９が介装されている。
【００１３】
また、シリンダブロック１ａに支承されたクランクシャフト１ｂに、クランクロータ２０が軸着され、このクランクロータ２０の外周に、クランク位置を検出するクランク角センサ２１が対設されている。さらに、シリンダヘッド２のカムシャフト１ｃにカムロータ２２が連設され、このカムロータ２２の外周に、気筒判別用のカム角センサ２３が対設されている。
【００１４】
クランクロータ２０の外周には、クランク角センサ２１によって検出される被検出部として、複数の突起が形成されている。これらの突起は、例えば、各気筒の圧縮上死点前（ＢＴＤＣ）の特定のクランク角に対応する位置に設けられ、各突起がクランク角センサ２１で検出されてクランク角信号として出力される。そして、このクランク角信号に基づいてエンジン回転数が算出され、また、点火時期制御、燃料噴射制御の制御タイミングが決定される。
【００１５】
同様に、カムロータ２２の外周には、カム角センサ２３によって検出される被検出部として、複数の突起が形成されている。これらの突起は、例えば、気筒毎に圧縮上死点後（ＡＴＤＣ）の特定の位置に設けられ、各突起がカム角センサ２３で検出されてカム角信号として出力される。このカム角信号は、クランク角信号と重ならないタイミングで出力され、クランク角信号とカム角信号との出力パターンから、現在の燃焼行程気筒、点火対象気筒、及び燃料噴射対象気筒等の気筒判別が可能となる。
【００１６】
以上のエンジン１は、エンジン制御ユニット（ＥＣＵ）５０によって制御される。ＥＣＵ５０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、バックアップＲＡＭ、Ｉ／Ｏインタフェース等からなるマイクロコンピュータを中心として構成される電子制御ユニットであり、各種周辺回路を備えている。また、ＥＣＵ５０は、ＣＡＮ（Controller Area Network）等からなる車内ネットワークに接続され、自動変速機、ブレーキ、サスペンション等を制御する他の制御ユニット（図示せず）と相互に通信して各種制御情報を交換する。
【００１７】
ＥＣＵ５０は、メモリに記憶されている制御プログラムに従い、上述した吸入空気量センサ９、空燃比センサ１９、クランク角センサ２１、カム角センサ２３や図示しない各種センサ類からの信号、車内ネットワークを介して取得した各種情報に基づいて、スロットルアクチュエータ６ｂ及びインジェクタ１０を介した空燃比制御や、点火コイル１２を通電駆動するイグナイタ１３を介した点火プラグ１１の点火時期制御等のエンジン制御を行う。
【００１８】
また、ＥＣＵ５０は、上述のエンジン制御に加えて、各気筒に失火が発生しているか否かを判定する失火診断処理を実施する。この失火診断においては、基本的にエンジンの回転変動量と所定の判定閾値とを比較することで失火の有無を判定するようにしているが、エンジンの回転変動は、実際の失火のみならず、外乱やその他の要因によっても発生するため、誤診断を生じる虞がある。例えば、不整地等の路面状態が変動する悪路走行時、エアコンのオンオフやオルタネータの発電電力の増加、変速機のシフトダウン等によるエンジン負荷の変動、粗悪燃料使用による燃焼不安定等にもエンジンに回転変動が生じて判定閾値を超えてしまい、実際に失火が発生していなくとも、失火と誤判定する虞がある。
【００１９】
このため、ＥＣＵ５０は、誤診断を回避して失火を正確に判定する失火診断機能として、失火診断値算出部５１、基準判定閾値算出部５２、第１失火判定部５３、第２失火判定部５４を備えている。これらの機能部による失火診断では、第１失火判定部５３において、失火診断値算出部５１で算出した失火診断値を基準判定閾値算出部５２で算出した基準判定閾値と比較して失火発生を仮判定し、更に、第２失火判定部５４で本当に失火が発生しているのかどうかを再判定することで、失火以外の要因による誤判定を回避することができる。
【００２０】
詳細には、失火診断値算出部５１は、各気筒毎のエンジン回転の変動量を算出し、失火の有無を判定するための診断値とする。この診断値は、２つの気筒間における所定クランク角毎のエンジン回転速度（エンジン回転数）の差すなわち差回転を基本として算出することができる。本実施の形態においては、＃ｎ気筒に対応するエンジン回転速度と１燃焼行程前の＃(ｎ−１)気筒に対応するエンジン回転速度との差を差回転とし、この燃焼行程順が前後する２つの気筒間の差回転を基本として失火診断値を算出する。
【００２１】
この差回転は、そのまま失火診断値として用いても良いが、本実施の形態においては、燃焼行程順が前後する２つの気筒間の差回転を更に差分した値を失火診断値として用いる。具体的には、４つの気筒＃１〜＃４を有するエンジン１の燃焼行程順が＃１→＃３→＃２→＃４であるとすると、図３に示すように、現在の燃焼行程気筒である＃４気筒に対応するエンジン回転数をＮｅ０、１つ前の燃焼気筒である＃４気筒に対応するエンジン回転数をＮｅ１、更に一つ前の燃焼気筒である＃３気筒に対応するエンジン回転数をＮｅ２として、Ｎｅ３，Ｎｅ４，…，Ｎｅ８のように時系列的に求め、各気筒のエンジン回転数Ｎｅi(i=0,1,2,…)から失火診断値ＤＧを算出する。
【００２２】
失火診断の対象気筒は、現在の燃焼行程気筒＃ｎに対して１つ前の燃焼行程気筒＃(ｎ−１)となり、図３の例では、失火診断値ＤＧは、現在の燃焼行程気筒を＃４気筒としたとき、１つ前の燃焼行程気筒である＃２気筒の差回転と、３つ前の燃焼行程気筒である＃１気筒の差回転との差分として算出される。すなわち、以下の（１）式に示すように、１つ前の燃焼行程気筒である＃２気筒と現在の燃焼行程気筒である＃４気筒とのエンジン回転数の差（Ｎｅ１−Ｎｅ０）から、３つ前の燃焼行程気筒である＃１気筒と２つ前の燃焼行程気筒である＃３気筒とのエンジン回転数の差（Ｎｅ３−Ｎｅ２）を減算した値が、＃２気筒に対する失火診断値として算出される。  
ＤＧ＝(Ｎｅ１−Ｎｅ０)−(Ｎｅ３−Ｎｅ２）  …（１）
【００２３】
基準判定閾値算出部５２は、失火発生の有無を判定する際のスライスレベルとなる基準判定閾値ＢＳＬを算出する。この基準判定閾値ＢＳＬは、エンジン負荷Ｌとエンジン回転数Ｎｅとに基づいて予め作成したベースマップを用い、このベースマップを補間計算付きで参照して基準判定閾値ＢＳＬを算出する。尚、エンジン負荷Ｌとしては、基本燃料噴射量、吸入空気量、スロットル開度等を用いることができる。
【００２４】
第１失火判定部５３は、失火診断値ＤＧと基準判定閾値ＢＳＬとを比較し、失火診断値ＤＧが基準判定閾値ＢＳＬ以下の場合には、失火の発生は無いものと判定し、失火診断値ＤＧが基準判定閾値ＢＳＬを超えた場合、失火の可能性有りと判定する。失火の可能性があると判定した場合、失火以外の要因の影響による誤判定を排除するため、更に、第２失火判定部５４による最終的な失火判定を実施する。
【００２５】
第２失火判定部５４は、第１失火判定部５３で失火発生の可能性有りと判定された場合、この第１失火判定部５３による失火判定が、失火以外の要因の影響によるものか本当に失火が発生しているのかを再判定する。すなわち、実際に失火が発生している場合には、燃焼が起こらないためエンジンにトルクが発生せず、エンジン回転が低下する。このため、図４に示すように、診断対象気筒（＃２気筒）の失火診断値ＤＧ#(n-1)が前後の気筒（＃３，＃４気筒）の失火診断値ＤＧ#(n-2)，ＤＧ#nから突出して基準判定閾値ＢＳＬを超える波形となり、図中に矢印で示すように前後気筒に対して大きな差Δ#(n-2)，Δ#nが生じる。
【００２６】
一方、悪路走行や燃焼悪化による失火以外の要因によるエンジン回転変動が発生する場合には、診断対象の気筒のみならず前後気筒にも回転変動が発生する。このため、図５に示すように、対象気筒の失火診断値ＤＧ#(n-1)が基準判定閾値ＢＳＬを超えるものの、前後気筒の失火診断値ＤＧ#(n-2)，ＤＧ#nも大きくなり、図中に矢印で示すように前後気筒との差Δ#(n-2)，Δ#nが小さくなる。
【００２７】
従って、第２失火判定部５４は、診断対象気筒の失火診断値ＤＧ#(n-1)が基準判定閾値ＢＳＬを超えた場合、診断対象気筒の失火診断値ＤＧ#(n-1)を失火以外の要因による回転変動を考慮して補正した値と、診断対象気筒に対して燃焼行程順が前後する気筒の診断値ＤＧ#(n-2)，ＤＧ#(n)との差を調べることにより、誤判定を回避する。
【００２８】
具体的には、以下に示すように、第１失火判定部５３での＃(ｎ−１)気筒の失火診断値ＤＧ#(n-1)に対する（２）式の条件に加え、＃(ｎ−１)気筒の失火診断値ＤＧ#(n-1)から回転変動補正値Ｈ1を減算して補正した値と＃(ｎ−２)気筒の失火診断値ＤＧ#(n-2)との差に関する（３）式の条件、及び、＃(ｎ−１)気筒の失火診断値ＤＧ#(n-1)から回転変動補正値Ｈ2を減算して補正した値と＃ｎ気筒の失火診断値ＤＧ#nとの差に関する（４）式の条件を満足するとき、失火発生と判定する。  
ＤＧ#(n-1)＞ＢＳＬ           …（２）
ＤＧ#(n-1)−Ｈ1≧ＤＧ#(n-2)  …（３）
ＤＧ#(n-1)−Ｈ2≧ＤＧ#n      …（４）
【００２９】
回転変動補正値Ｈ1,Ｈ2は、エンジン負荷Ｌとエンジン回転数Ｎｅとによるエンジン運転状態に基づく２枚の補正マップＭＰ１，ＭＰ２から個別に得られる値であり、失火以外の要因によるエンジン回転変動を予めシミュレーション或いは実験等により運転領域毎に求めて、マップを作成しておく。
【００３０】
これにより、図６に示すように、＃(ｎ−１)気筒の失火診断値ＤＧ#(n-1)が基準判定閾値ＢＳＬを超えている場合、失火診断値ＤＧ#(n-1)から回転変動補正値Ｈ1を減算した値が＃(ｎ−２)気筒の失火診断値ＤＧ#(n-2)以上、且つ失火診断値ＤＧ#(n-1)から回転変動補正値Ｈ2を減算した値が＃ｎ気筒の失火診断値ＤＧ#n以上の場合には、前後気筒には回転変動は発生しておらず、診断対象気筒に失火が発生したと判定することができる。
【００３１】
逆に、＃(ｎ−１)気筒の失火診断値ＤＧ#(n-1)が基準判定閾値ＢＳＬを超えていても、ＤＧ#(n-1)−Ｈ1＜ＤＧ#(n-2)、又は、ＤＧ#(n-1)−Ｈ2＜ＤＧ#nの場合には、診断対象気筒のみならず、前後気筒にも回転変動が発生しており、失火以外の要因による回転変動であると判断することができ、誤診断を回避することができる。
【００３２】
尚、本実施の形態においては、燃焼行程順が前後する２つの気筒間の差回転を基本として、これらの差回転の差分を失火診断の診断値としているが、差回転の符号（減算の基準）を含めて、燃焼行程が所定の間隔を隔てた気筒間の回転変動に基づいて診断値を定めるようにしても良い。
【００３３】
以上の失火診断はＥＣＵ５０におけるプログラム処理として実施される。次に、ＥＣＵ５０の失火診断のプログラム処理について、図７のフローチャートを用いて説明する。
【００３４】
図７のフローチャートは、点火周期毎に実行される失火診断ルーチンを示しており、先ず、最初のステップＳ１において、クランク角センサ２１及びカム角センサ２３からそれぞれ出力される信号に基づいて、今回の燃焼行程気筒が＃１〜＃４の何れであるかの気筒判別を行う。この気筒判別は、例えば、気筒の燃焼行程順、クランク角信号とカム角信号との入力間隔及び入力パターン（信号パルス数）から次に圧縮上死点となる気筒を特定し、現在の燃焼行程気筒、点火対象気筒を判別する。
【００３５】
次に、ステップＳ２へ進み、失火診断の診断条件が成立するか否かを調べる。この診断条件は、例えば、燃料カット中でなく、エンジン負荷Ｌ及びエンジン回転数Ｎｅが所定値以上で燃焼状態が安定しているとみなせる運転領域の条件である。このステップＳ２において、診断条件が成立しない場合にはルーチンを抜け、診断条件が成立する場合、ステップＳ３へ進む。
【００３６】
ステップＳ３では、気筒判別した現在の燃焼行程気筒＃ｎの１つ前の燃焼行程気筒＃(ｎ−１)を診断対象として、ＥＣＵ５０のワークメモリに時系列的にストアされている各気筒のエンジン回転数Ｎｅi(i=0,1,2,…)から＃(ｎ−１)気筒の失火診断値ＤＧ#(n-1)を算出する。この失火診断値ＤＧ#(n-1)は、本実施の形態においては、前述の（１）式で示したように、燃焼行程順が前後する気筒間の差回転を更に差分した値である。
【００３７】
ステップＳ３に続くステップＳ４では、エンジン負荷Ｌとエンジン回転数Ｎｅとをパラメータとしてマップを参照して基準判定閾値ＢＳＬを算出する。そしてステップＳ５で失火診断値ＤＧ#(n-1)を基準判定閾値ＢＳＬと比較する。その結果、ステップＳ５において、ＤＧ#(n-1)≦ＢＳＬの場合には、失火は発生しておらず正常と判定して本ルーチンを抜け、ＤＧ#(n-1)＞ＢＳＬの場合、失火発生と仮判定してステップＳ６へ進む。
【００３８】
ステップＳ６では、エンジン負荷Ｌとエンジン回転数Ｎｅとをパラメータとして２枚の補正マップＭＰ１,ＭＰ２をそれぞれ参照し、燃焼行程順が前後する気筒との関係を判定するための回転変動補正値Ｈ1,Ｈ2を算出する。そして、ステップＳ７以降で、失火が本当に発生しているか否かの再判定を行う。この再判定では、ステップＳ７で＃(ｎ−１)気筒の失火診断値ＤＧ#(n-1)から回転変動補正値Ｈ1を減算した値と＃(ｎ−２)気筒の失火診断値ＤＧ#(n-2)とを比較し、ステップＳ８で＃(ｎ−１)気筒の失火診断値ＤＧ#(n-1)から回転変動補正値Ｈ2を減算した値と＃ｎ気筒の失火診断値ＤＧ#nとを比較する。
【００３９】
そして、ステップＳ７でＤＧ#(n-1)−Ｈ1＜ＤＧ#(n-2)の場合、又はステップＳ８でＤＧ#(n-1)−Ｈ2＜ＤＧ#nの場合には、ステップＳ９へ進み、先のステップＳ５での失火判定は、実際の失火ではなく、失火以外の要因による回転変動の影響であると判定する。一方、ステップＳ７でＤＧ#(n-1)−Ｈ1≧ＤＧ#(n-2)且つステップＳ８でＤＧ#(n-1)−Ｈ2≧ＤＧ#nの場合には、ステップＳ１０で実際に失火が発生していると判定する。
【００４０】
失火と判定された場合は、例えば失火回数を気筒別にカウントし、その失火回数が所定値に達したとき、或いは４気筒分の合計失火回数から所定回転数当りの失火率を算出し、この失火率が連続して設定回数だけ設定値より小さくなったとき、異常発生と判断する。そして、異常発生と判断されたときには、診断結果を記録すると共に、ランプを点灯したり失火気筒を表示したりする等してドライバに警告を発する。
【００４１】
このように本実施の形態においては、従来の失火判定すなわち診断対象気筒の失火診断値が基準判定閾値を超えたか否かの判定によって失火と判定された場合、更に、診断対象気筒の失火診断値を失火以外の要因による回転変動を考慮して補正した値と、診断対象気筒に対して燃焼行程順が前後する気筒の診断値との差を調べ、本当に失火が発生しているのか失火以外の要因の影響によるものかを再判定する。これにより、失火以外の要因による特異なエンジン回転変動の影響を排除して誤診断を回避することができ、診断の信頼性を向上することができる。
【符号の説明】
【００４２】
１  エンジン
５０  エンジン制御ユニット
５１  失火診断値算出部
５２  基準判定閾値算出部
５３  第１失火判定部
５４  第２失火判定部
ＢＳＬ  基準判定閾値
ＤＧ  失火診断値
Ｈ1,Ｈ2  回転変動補正値
【図１】
2015129483.tif 000003
【図２】
2015129483.tif 000004
【図３】
2015129483.tif 000005
【図４】
2015129483.tif 000006
【図５】
2015129483.tif 000007
【図６】
2015129483.tif 000008
【図７】
2015129483.tif 000009