(57)【要約】【課題】内燃機関の燃焼室内で混合気の燃焼に伴って発生するイオン電流を点火プラグを介して検出し、その検出値を失火判定値と比較して失火の有無を判定するシステムにおいて、失火による触媒過熱の防止と失火／着火の判定精度の向上とを両立させる。【解決手段】正常燃焼時のイオン電流の最小値付近に第一の失火判定値Ｖth1 を設定し、完全失火時のノイズの最大値付近に、第一の失火判定値Ｖth1 よりも小さい第二の失火判定値Ｖth2 設定する。エンジン運転状態が失火時の触媒温度上昇が大きい領域で失火頻度の低い場合は、失火による触媒過熱が発生しないと判断して第二の失火判定値Ｖth2 を選択して失火／着火の判定精度を高くする。一方、失火頻度が高い場合は、失火による触媒過熱の可能性があると判断して第一の失火判定値Ｖth1 を選択して失火の検出感度を高くすることで、失火を早期に検出して触媒過熱防止処理を早期に実施可能にする。【選択図】図３
2009057839.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の燃焼室内で混合気の燃焼に伴って発生するイオン電流を点火プラグの電極を介して検出するイオン電流検出手段を備え、前記イオン電流検出手段のイオン電流検出値を失火判定値と比較して失火の有無を判定する内燃機関の失火検出装置において、
正常燃焼時のイオン電流の最小値に基づいて設定された第一の失火判定値と、失火時のノイズの最大値に基づいて前記第一の失火判定値よりも小さい値に設定された第二の失火判定値のうちの一方を前記失火判定値として選択する失火判定値選択手段を備え、
前記失火判定値選択手段は、内燃機関の所定運転領域において所定失火発生状態のときに前記第一の失火判定値を選択し、前記所定失火発生状態でないときに前記第二の失火判定値を選択することを特徴とする内燃機関の失火検出装置。
【請求項２】
前記失火判定値選択手段は、内燃機関の各気筒毎に前記所定失火発生状態であるか否かを判定して各気筒毎に前記失火判定値を選択することを特徴とする請求項１に記載の内燃機関の失火検出装置。
【請求項３】
前記失火判定値選択手段は、内燃機関の低回転領域及び／又は低負荷領域で前記失火判定値を選択する処理を行わないことを特徴とする請求項１又は２に記載の内燃機関の失火検出装置。
【請求項４】
前記失火判定値選択手段は、前記所定失火発生状態であるか否かを連続着火回数及び／又は失火発生率に基づいて判定することを特徴とする請求項１乃至３のいずれかに記載の内燃機関の失火検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃焼室内で混合気の燃焼に伴って発生するイオン電流を点火プラグを介して検出して、そのイオン電流検出値に基づいて失火の有無を判定する内燃機関の失火検出装置に関する発明である。
【背景技術】
【０００２】
近年、内燃機関の筒内で混合気が燃焼する際にイオン（燃焼イオン）が発生する特性に着目して、点火毎に筒内で発生するイオン電流を点火プラグの電極を介して検出し、そのイオン電流検出値に基づいて着火／失火を検出する技術が開発されている。従来の着火／失火の判定方法は、着火時にイオン電流が増加し、失火発生時にイオン電流が減少する性質を利用し、イオン電流検出信号の積分値又はピーク値を所定の失火判定値と比較して、イオン電流検出信号の積分値又はピーク値が失火判定値以上であれば、着火と判定し、そうでなければ、失火と判定するものである（特許文献１：特許第２５０５６２０号公報参照）。
【０００３】
更に、特許文献２（特許第２５５２７５４号公報）に記載された失火検出装置は、内燃機関の運転状態に応じてイオン電流検出信号のノイズレベルが変化することを考慮して、内燃機関の運転状態に応じて失火判定値を変化させることで、内燃機関の運転状態の変化によるノイズレベルの変化に応じて失火判定値を変化させて失火検出精度を向上させるようにしている。
【特許文献１】特許第２５０５６２０号公報（第４頁等）
【特許文献２】特許第２５５２７５４号公報（第３頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、内燃機関の失火が発生すると、排気通路に未燃燃料が排出されるため、運転状態によっては、排気熱で未燃燃料の酸化反応が促進されて、排気通路中の触媒が過熱状態となって損傷してしまう可能性がある。このような失火による触媒の過熱を未然に防止するためには、失火の検出感度を高くする（失火判定値を大きくして失火有りと判定し易くする）ことが望まれる。しかし、内燃機関の運転状態によっては、失火が発生しても、未燃燃料の酸化反応が促進されず（例えば排気温度が低い場合や酸素濃度が低い場合）、触媒が過熱状態にならないため、内燃機関の運転状態を問わず、常に失火の検出感度を高くしたのでは、失火による触媒の過熱が発生しない運転状態のときに、着火を失火と誤判定し易くなる弊害が発生する。
【０００５】
また、上記特許文献２の技術は、内燃機関の運転状態の変化によるノイズレベルの変化に応じて失火判定値を変化させる技術であり、失火による触媒の過熱を防止するために失火の検出感度を高くするものではないため、失火による触媒の過熱を効果的に防止することはできない。
【０００６】
本発明は、このような事情を考慮してなされたものであり、従って本発明の目的は、失火による触媒過熱の防止と失火／着火の判定精度の向上とを両立させることができる内燃機関の失火検出装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に係る発明は、内燃機関の燃焼室内で混合気の燃焼に伴って発生するイオン電流を点火プラグの電極を介して検出するイオン電流検出手段を備え、イオン電流検出手段のイオン電流検出値を失火判定値と比較して失火の有無を判定する内燃機関の失火検出装置において、正常燃焼時のイオン電流の最小値に基づいて設定された第一の失火判定値と、失火時のノイズの最大値に基づいて前記第一の失火判定値よりも小さい値に設定された第二の失火判定値のうちの一方を失火判定値として選択する失火判定値選択手段を備え、失火判定値選択手段は、内燃機関の所定運転領域において所定失火発生状態のときに第一の失火判定値を選択し、所定失火発生状態でないときに第二の失火判定値を選択するようにしたものである。
【０００８】
この場合、第一の失火判定値は、第二の失火判定値よりも大きい値に設定して正常燃焼時のイオン電流の最小値付近に設定できるため、第二の失火判定値よりも失火の検出感度が高い（失火有りと判定し易い）判定値となる。一方、第二の失火判定値は、第一の失火判定値よりも小さい値に設定して失火時のノイズの最大値付近に設定できるため、第一の失火判定値と比較して、着火を失火と誤判定し難い判定値となる。
【０００９】
従って、本発明のように、内燃機関の所定運転領域において所定失火発生状態のときに第一の失火判定値を選択し、所定失火発生状態でないときに第二の失火判定値を選択するようにすれば、失火時の触媒温度上昇が大きい所定運転領域において、所定失火発生状態のとき（例えば連続着火回数が少ないとき）には、失火による触媒の過熱の可能性があると判断して、第一の失火判定値を選択することで、失火の検出感度を高くすることができ、失火を早期に検出して触媒過熱防止処理（燃料カット等）を早期に実施して、失火による触媒の過熱を効果的に防止することができる。一方、所定失火発生状態でないときには、失火による触媒の過熱の可能性がないと判断して、第二の失火判定値を選択することで、着火を失火と誤判定し難くして、第一の失火判定値よりも失火／着火の判定精度を高くすることができる。これにより、失火による触媒の過熱を効果的に防止しながら、失火／着火の判定精度を向上させることができる。
【００１０】
この場合、請求項２のように、内燃機関の各気筒毎に所定失火発生状態であるか否かを判定して各気筒毎に失火判定値を選択するようにしても良い。このようにすれば、所定運転領域において一部の気筒が所定失火発生状態となったときに、その一部の気筒に対してのみ第一の失火判定値を選択して失火の検出感度を高くすることができ、所定失火発生状態ではない他の気筒に対しては第二の失火判定値を選択して失火／着火の判定精度を高い状態に維持することができる。これにより、失火による触媒過熱防止効果を高くするために失火の検出感度を高くする気筒（つまり失火／着火の判定精度を低くする気筒）を必要最小限に抑えることができる。
【００１１】
ところで、内燃機関の低回転領域や低負荷領域では、排気温度が低く、排出ガス流量も少なくなるため、失火時の触媒温度上昇（未燃燃料の酸化反応）が少なくなり、失火による触媒の過熱の問題が発生しないことから、失火の検出感度が高い第一の失火判定値を選択する必要がない。しかも、低回転領域や低負荷領域では、燃焼時のイオン電流が小さくなるため、第二の失火判定値よりも大きい第一の失火判定値を選択すると、着火を失火と誤判定し易くなる。
【００１２】
これらの事情を考慮して、請求項３のように、内燃機関の低回転領域及び／又は低負荷領域で失火判定値を選択する処理を行わないようにしても良い。このようにすれば、内燃機関の低回転領域や低負荷領域では、常に失火／着火の判定精度が高い第二の失火判定値に固定することが可能となり、失火／着火の判定精度を高くすることができる。
【００１３】
また、請求項４のように、所定失火発生状態であるか否かを連続着火回数及び／又は失火発生率に基づいて判定するようにしても良い。失火の発生状態によって連続着火回数や失火発生率が変化するため、連続着火回数や失火発生率を用いれば、失火発生状態を精度良く判定することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための最良の形態を具体化した一実施例を説明する。
まず、図１に基づいて点火制御系の回路構成を説明する。
点火コイル２１の一次コイル２２の一端はバッテリ２３に接続され、該一次コイル２２の他端は、イグナイタ２４に内蔵されたパワートランジスタ２５のコレクタに接続されている。二次コイル２６の一端は点火プラグ２７に接続され、該二次コイル２６の他端は、２つのツェナーダイオード２８，２９を介してグランドに接続されている。
【００１５】
２つのツェナーダイオード２８，２９は互いに逆向きに直列接続され、一方のツェナーダイオード２８にコンデンサ３０が並列に接続され、他方のツェナーダイオード２９にイオン電流検出抵抗３１が並列に接続されている。コンデンサ３０とイオン電流検出抵抗３１との間の電位Ｖinが抵抗３２を介して反転増幅回路３３の反転入力端子（−）に入力されて反転増幅され、この反転増幅回路３３の出力電圧Ｖがイオン電流検出信号としてエンジン制御回路３４に入力される。イオン電流検出回路３５は、ツェナーダイオード２８，２９、コンデンサ３０、イオン電流検出抵抗３１、反転増幅回路３３等から構成され、このイオン電流検出回路３５とエンジン制御回路３４とによってイオン電流検出装置（イオン電流検出手段）が構成されている。
【００１６】
エンジン運転中は、エンジン制御回路３４からイグナイタ２４に送信される点火信号の立ち上がり／立ち下がりでパワートランジスタ２５がオン／オフする。パワートランジスタ２５がオンすると、バッテリ２３から一次コイル２２に一次電流が流れ、その後、パワートランジスタ２５がオフすると、一次コイル２２の一次電流が遮断されて、二次コイル２６に高電圧が電磁誘導され、この高電圧によって点火プラグ２７の電極３６，３７間に火花放電が発生する。この火花放電電流は、点火プラグ２７の接地電極３７から中心電極３６へ流れ、二次コイル２６を経てコンデンサ３０に充電されると共に、ツェナーダイオード２８，２９を経てグランド側に流れる。コンデンサ３０の充電後は、ツェナーダイオード２８のツェナー電圧によって規制されるコンデンサ３０の充電電圧を電源としてイオン電流検出回路３５が駆動され、後述するようにしてイオン電流が検出される。
【００１７】
これに対して、イオン電流は、火花放電電流とは反対方向に流れる。つまり、点火終了後は、コンデンサ３０の充電電圧によって点火プラグ２７の電極３６，３７間に電圧が印加されるため、気筒内で混合気が燃焼する際に発生するイオンによって電極３６，３７間にイオン電流が流れるが、このイオン電流は、中心電極３６から接地電極３７へ流れ、更に、グランド側からイオン電流検出抵抗３１を通ってコンデンサ３０に流れる。この際、イオン電流検出抵抗３１に流れるイオン電流の変化に応じて反転増幅回路３３の入力電位Ｖinが変化し、反転増幅回路３３の出力端子からイオン電流に応じた電圧Ｖがエンジン制御回路３４に出力される。この反転増幅回路３３の出力電圧Ｖからイオン電流が検出される。
【００１８】
エンジン制御回路３４は、マイクロコンピュータを主体として構成され、回転角検出センサ３８（クランク角センサ）、負荷検出センサ３９（吸入空気量検出センサ、吸気圧検出センサ）等により検出した運転状態に応じて燃料噴射制御や点火時期制御を行うと共に、イオン電流検出回路３５の出力を利用して、各気筒毎に所定の燃焼イオン検出区間におけるイオン電流（例えばイオン電流のピーク値Ｐ）を検出して、その検出値を失火判定値と比較して失火の有無を判定する。
【００１９】
次に、イオン電流検出回路３５で検出するイオン電流波形が、正常燃焼時とノイズ発生時にどのように変化するかを図２を用いて説明する。
【００２０】
図２（ｄ）に示すように、点火コイル２１の一次コイル２２への通電開始直後（点火信号ＯＦＦ→ＯＮ切換直後）に、短い時間幅のパルス状のノイズ電流が誘起され、点火直後（点火信号ＯＮ→ＯＦＦ切換直後）に、点火コイル２１の二次側の残留磁気エネルギによってＬＣ共振が発生し、その後、正常燃焼時には燃焼により発生したイオン（以下「燃焼イオン」という）の電流波形が現れる。本実施例では、各気筒毎にＬＣ共振後に現れる燃焼イオンのピーク値Ｐを検出して、その検出値を失火判定値と比較して失火の有無を判定する。
【００２１】
一方、点火プラグ２７のガイシ部に帯電した電荷により発生するノイズには、図２（ｅ）に示すように、筒内圧力が低下してから間欠的に発生するスパイクノイズがあるが、その他、点火直後の筒内圧力が高い時期に連続的に発生する連続コロナ放電ノイズもある。
【００２２】
ところで、失火が発生すると、排気通路に未燃燃料が排出されるため、エンジンの運転状態によっては、排気熱で未燃燃料の酸化反応が促進されて、排気通路中の触媒が過熱状態となって損傷してしまう可能性がある。このような失火による触媒の過熱を未然に防止するためには、失火の検出感度を高くする（失火判定値を大きくして失火有りと判定し易くする）ことが望まれる。しかし、エンジンの運転状態によっては、失火が発生しても、未燃燃料の酸化反応が促進されず（例えば排気温度が低い場合や酸素濃度が低い場合）、触媒が過熱状態にならないため、エンジンの運転状態を問わず、常に失火の検出感度を高くしたのでは、失火による触媒の過熱が発生しない運転状態のときに、着火を失火と誤判定し易くなる弊害が発生する。
【００２３】
この対策として、本実施例では、各気筒毎にイオン電流のピーク値Ｐ(#i)を失火判定値Ｖth(#i)と比較して失火の有無を判定する際に、図３に示すように、各気筒毎にエンジン運転状態や失火発生状態に基づいて第一の失火判定値Ｖth1 と第二の失火判定値Ｖth2 のうちの一方を失火判定値Ｖth(#i)として選択するようにしている。尚、(#i)は気筒番号である。
【００２４】
この場合、第一の失火判定値Ｖth1 は、第二の失火判定値Ｖth2 よりも大きい値で且つ正常燃焼時のイオン電流の最小値付近に設定されている。これにより、第一の失火判定値Ｖth1 は、第二の失火判定値Ｖth2 よりも失火の検出感度が高い（失火有りと判定し易い）判定値となり、不安定燃焼サイクルを失火として検出できる判定値となる。この第一の失火判定値Ｖth1 を選択することで、失火の検出感度を高くすることができ、失火を早期に検出して触媒過熱防止処理（燃料カット等）を早期に実施することができる。
【００２５】
一方、第二の失火判定値Ｖth2 は、第一の失火判定値Ｖth1 よりも小さい値で且つエンジン故障等よる完全失火時のノイズの最大値付近に設定されている。これにより、第二の失火判定値Ｖth2 は、第一の失火判定値Ｖth1 と比較して、着火を失火と誤判定し難くなり、エンジン故障等よる完全失火を精度良く検出できる判定値となる。この第二の失火判定値Ｖth2 を選択することで、第一の失火判定値Ｖth1 よりも失火／着火の判定精度を高くすることができる。
【００２６】
各気筒の失火判定値Ｖth(#i)を設定する場合には、まず、エンジン運転状態（エンジン回転速度と負荷率）が領域Ａ〜Ｃ（図４参照）のいずれであるかを判定する。
ここで、領域Ａは、失火時の触媒温度上昇が小さい領域（例えば低回転領域及び低負荷領域）に設定されている。また、領域Ｂは、失火時の触媒温度上昇が大きい領域（例えば中回転且つ中高負荷領域）に設定されている。更に、領域Ｃは、失火時の触媒温度上昇が最も大きい領域（例えば高回転領域）に設定されている。尚、本実施例では、領域Ｂが特許請求の範囲でいう所定運転領域に相当する。
【００２７】
エンジン運転状態が領域Ａの場合には、失火時の触媒温度上昇が小さく、失火による触媒の過熱の可能性がほとんどないため、失火の検出感度が高い第一の失火判定値Ｖth1 を選択する必要がない。しかも、領域Ａ（低回転領域や低負荷領域）では、燃焼時のイオン電流が小さくなる傾向があるため、第二の失火判定値Ｖth2 よりも大きい第一の失火判定値Ｖth1 を選択すると、着火を失火と誤判定し易くなる。
【００２８】
このような事情を考慮して、エンジン運転状態が領域Ａ（失火時の触媒温度上昇が小さい領域）の場合には、図３（ａ）に示すように、失火判定値を選択する処理を禁止して、各気筒の失火判定値Ｖth(#i)を第二の失火判定値Ｖth2 に固定して、失火／着火の判定精度を高くする。
Ｖth(#i)＝Ｖth2
【００２９】
また、エンジン運転状態が領域Ｂ（失火時の触媒温度上昇が大きい領域）の場合には、各気筒毎に失火頻度の高い状態（所定失火状態）であるか否かを、連続着火回数Ｌ(#i)が所定値Ｋ（例えば１０）よりも小さいか否かによって判定する。
【００３０】
その結果、図３（ｂ）に示すように、エンジン運転状態が領域Ｂ（失火時の触媒温度上昇が大きい領域）で連続着火回数Ｌ(#i)が所定値Ｋ以上の場合には、燃焼悪化が軽微で失火頻度の低い状態であるため、失火による触媒の過熱の可能性がないと判断して、第二の失火判定値Ｖth2 を選択し、当該気筒の失火判定値Ｖth(#i)を第二の失火判定値Ｖth2 に設定して、失火／着火の判定精度を高くする。
Ｖth(#i)＝Ｖth2
【００３１】
一方、図３（ｃ）に示すように、エンジン運転状態が領域Ｂ（失火時の触媒温度上昇が大きい領域）で連続着火回数Ｌ(#i)が所定値Ｋよりも小さい場合には、燃焼悪化がひどくて失火頻度が高い状態であるため、失火による触媒の過熱の可能性があると判断して第一の失火判定値Ｖth1 を選択し、当該気筒の失火判定値Ｖth(#i)を第一の失火判定値Ｖth1 に設定して、失火の検出感度を高くする。
Ｖth(#i)＝Ｖth1
【００３２】
その後、エンジン運転状態が領域Ｂで連続着火回数Ｌ(#i)が所定値Ｋ以上になったときには、失火による触媒の過熱の可能性がないと判断して、第二の失火判定値Ｖth2 を選択し、当該気筒の失火判定値Ｖth(#i)を第二の失火判定値Ｖth2 に戻す。
【００３３】
また、エンジン運転状態が領域Ｃの場合には、失火時の触媒温度上昇が最も大きく、失火による触媒の過熱の可能性が高いため、失火の検出感度が高い第一の失火判定値Ｖth1 を選択することが望ましい。しかも、領域Ｃ（高回転領域）では、燃焼時のイオン電流が大きくなる傾向があるため、第二の失火判定値Ｖth2 より大きい第一の失火判定値Ｖth1 を選択しても、着火を失火と誤判定し難くなる。
【００３４】
このような事情を考慮して、エンジン運転状態が領域Ｃ（失火時の触媒温度上昇が最も大きい領域）の場合には、図３（ｄ）に示すように、失火判定値を選択する処理を禁止して、各気筒の失火判定値Ｖth(#i)を第一の失火判定値Ｖth1 に固定して、失火の検出感度を高くする。
Ｖth(#i)＝Ｖth1
【００３５】
以上説明した本実施例の失火判定値の設定と失火判定は、エンジン制御回路３４によって図５及び図６のルーチンに従って実行される。以下、これら各ルーチンの処理内容を説明する。
【００３６】
［失火判定ルーチン］
図５及び図６に示す失火判定ルーチンは、エンジン運転中に各気筒毎に所定周期で実行される。本ルーチンが起動されると、まず、ステップ１０１で、回転角検出センサ３８、負荷検出センサ３９等の出力信号に基づいてエンジン回転速度、負荷率等のエンジン運転状態を検出する。この後、ステップ１０２に進み、イオン電流検出回路３５で検出したイオン電流検出値Ｉ(#i)を読み込んだ後、ステップ１０３に進み、所定の燃焼イオン検出区間のイオン電流ピーク値Ｐ(#i)を検出する。
【００３７】
この後、ステップ１０４に進み、現在のエンジン運転状態（エンジン回転速度と負荷率）が領域Ｂであるか否かを判定する。図４に示すように、領域Ｂは、失火時の触媒温度上昇が大きい領域であり、中回転且つ中高負荷領域（エンジン回転速度が所定値αから所定値βまでの範囲内で且つ負荷率が所定値γ以上の領域）に設定されている。
【００３８】
このステップ１０４で、エンジン運転状態が領域Ｂ（失火時の触媒温度上昇が大きい領域）であると判定された場合には、ステップ１０５に進み、各気筒毎に失火頻度の高い状態であるか否かを、連続着火回数Ｌ(#i)が所定値Ｋ（例えば１０）よりも小さいか否かによって判定する。
【００３９】
その結果、エンジン運転状態が領域Ｂ（失火時の触媒温度上昇が大きい領域）で連続着火回数Ｌ(#i)が所定値Ｋ以上であると判定された場合には、燃焼悪化が軽微で失火頻度の少ない状態であるため、失火による触媒の過熱が発生しないと判断して、ステップ１０６に進み、第二の失火判定値Ｖth2 を選択し、当該気筒の失火判定値Ｖth(#i)を第二の失火判定値Ｖth2 に設定して、失火／着火の判定精度を高くする。
Ｖth(#i)＝Ｖth2
【００４０】
一方、上記ステップ１０５で、エンジン運転状態が領域Ｂ（失火時の触媒温度上昇が大きい領域）で連続着火回数Ｌ(#i)が所定値Ｋよりも小さいと判定された場合には、燃焼悪化がひどくて失火頻度の高い状態であるため、失火による触媒の過熱の可能性があると判断して、ステップ１０７に進み、第一の失火判定値Ｖth1 を選択し、当該気筒の失火判定値Ｖth(#i)を第一の失火判定値Ｖth1 に設定して、失火の検出感度を高くする。
Ｖth(#i)＝Ｖth1
【００４１】
これに対して、上記ステップ１０４で、エンジン運転状態が領域Ｂではない（領域Ａ又は領域Ｃである）と判定された場合には、ステップ１０８に進み、図４の失火判定値のマップを参照して、現在のエンジン運転状態に応じた失火判定値Ｖth(#i)を設定する。図４に示すように、領域Ａは、失火時の触媒温度上昇が小さい領域であり、低回転領域及び低負荷領域（エンジン回転速度が所定値αよりも低い領域及びエンジン回転速度が所定値β以下の範囲内で負荷率が所定値γよりも低い領域）に設定されている。一方、領域Ｃは、失火時の触媒温度上昇が最も大きい領域であり、高回転領域（エンジン回転速度が所定値βよりも高い領域）に設定されている。
【００４２】
図４の失火判定値のマップは、エンジン運転状態が領域Ａ（失火時の触媒温度上昇が小さい領域）の場合には、失火判定値を選択する処理を禁止して、失火判定値Ｖth(#i)を第二の失火判定値Ｖth2 に固定して失火の検出感度を高くし、エンジン運転状態が領域Ｃ（失火時の触媒温度上昇が最も大きい領域）の場合には、失火判定値Ｖth(#i)を第一の失火判定値Ｖth1 に固定して失火の検出感度を高くするように設定されている。
これらのステップ１０４〜１０８の処理が特許請求の範囲でいう失火判定値選択手段としての役割を果たす。
【００４３】
この後、ステップ１０９に進み、イオン電流ピーク値Ｐ(#i)が失火判定値Ｖth(#i)よりも大きいか否かを判定する。その結果、イオン電流ピーク値Ｐ(#i)が失火判定値Ｖth(#i)よりも大きいと判定された場合には、着火と判断して、ステップ１１０に進み、当該気筒の失火フラグをＯＦＦにセットした後、ステップ１１１に進み、当該気筒の連続着火回数Ｌ(#i)を「１」だけカウントアップする。
【００４４】
これに対して、上記ステップ１０９で、イオン電流ピーク値(#i)が失火判定値Ｖth(#i)以下であると判定された場合には、失火と判断して、ステップ１１２に進み、当該気筒の失火フラグをＯＮにセットした後、ステップ１１３に進み、当該気筒の連続着火回数Ｌ(#i)を「０」にリセットする。
【００４５】
この後、図６のステップ１１４に進み、所定点火回数（例えば１０００点火）における全気筒の失火率を次式により算出する。
失火率＝（失火回数／点火回数）×１００  ［％］
【００４６】
この後、ステップ１１５に進み、失火率が所定値Ｃ1 （例えば３％）よりも大きいか否かを判定し、失火率が所定値Ｃ1 よりも大きければ、ステップ１１６に進み、失火故障有りと判定する。
【００４７】
この後、ステップ１１７に進み、失火率が所定値Ｃ2 （Ｃ2 ＞Ｃ1 ，Ｃ2 ＝例えば２５％）よりも大きいか否かを判定し、失火率が所定値Ｃ2 よりも大きければ、ステップ１１８に進み、触媒過熱防止処理（例えば燃料カット等）を実行する。
【００４８】
以上説明した本実施例では、正常燃焼時のイオン電流の最小値付近に第一の失火判定値Ｖth1 を設定すると共に、エンジン故障等よる完全失火時のノイズの最大値付近に、第一の失火判定値Ｖth1 よりも小さい第二の失火判定値Ｖth2 設定し、エンジン運転状態が領域Ｂ（失火時の触媒温度上昇が大きい領域）で失火頻度の低い状態の場合には、失火による触媒の過熱が発生しないと判断して、失火判定値Ｖth(#i)として、小さい方の第二の失火判定値Ｖth2 を選択するようにしたので、失火／着火の判定精度を高くすることができる。一方、エンジン運転状態が領域Ｂ（失火時の触媒温度上昇が大きい領域）で失火頻度の高い状態の場合には、失火による触媒の過熱の可能性があると判断して、失火判定値Ｖth(#i)として、大きい方の第一の失火判定値Ｖth1 を選択するようにしたので、失火の検出感度を高くすることができ、失火を早期に検出して触媒過熱防止処理（燃料カット等）を早期に実施することができる。
【００４９】
また、エンジン運転状態が領域Ａ（失火時の触媒温度上昇が小さい領域）の場合に、失火による触媒の過熱が発生しないと判断して、失火判定値Ｖth(#i)を小さい方の第二の失火判定値Ｖth2 に固定するようにしたので、失火／着火の判定精度を高くすることができる。一方、エンジン運転状態が領域Ｃ（失火時の触媒温度上昇が最も大きい領域）の場合に、失火による触媒の過熱の可能性が高いと判断して、失火判定値Ｖth(#i)を大きい方の第一の失火判定値Ｖth1 に固定するようにしたので、失火の検出感度を高くすることができ、失火を早期に検出して触媒過熱防止処理（燃料カット等）を早期に実施することができる。
【００５０】
これらの処理により、失火による触媒の過熱を効果的に防止しながら、失火／着火の判定精度を向上させることができる。
【００５１】
更に、本実施例では、エンジン運転状態が領域Ｂ（失火時の触媒温度上昇が大きい領域）の場合に、各気筒毎に所定失火発生状態（失火頻度の高い状態）であるか否かを判定して各気筒毎に失火判定値を選択するようにしたので、一部の気筒が所定失火発生状態となったときに、その一部の気筒に対してのみ大きい方の第一の失火判定値Ｖth1 を選択して失火の検出感度を高くすることができ、所定失火発生状態ではない他の気筒に対しては、小さい方の第二の失火判定値Ｖth2 を選択して失火／着火の判定精度を高い状態に維持することができる。これにより、失火による触媒過熱防止効果を高くするために失火の検出感度を高くする気筒（つまり失火／着火の判定精度を低くする気筒）を必要最小限に抑えることができる。
【００５２】
しかしながら、本発明は、各気筒毎に失火判定値を選択する構成に限定されず、全気筒で同一の失火判定値を選択するようにしても良い。
【００５３】
また、上記実施例では、エンジン運転状態が領域Ｃ（失火時の触媒温度上昇が最も大きい領域）の場合に、失火判定値Ｖthを第一の失火判定値Ｖth1 に固定するようにしたが、エンジン運転状態が領域Ｃで所定失火発生状態（失火頻度の高い状態）の場合に、失火判定値Ｖthとして大きい方の第一の失火判定値Ｖth1 を選択し、エンジン運転状態が領域Ｃで所定失火発生状態ではない場合に、失火判定値Ｖthとして小さい方の第二の失火判定値Ｖth2 を選択するようにしても良い。
【００５４】
また、上記実施例では、所定失火発生状態であるか否かを連続着火回数に基づいて判定するようにしたが、連続失火回数や失火発生率に基づいて所定失火発生状態であるか否かを判定するようにしても良い。
【００５５】
また、上記実施例では、所定運転領域において所定失火発生状態であるか否かによって失火判定値を選択的に切り換えるようにしたが、所定運転領域においてイオン電流検出値の出力分布が正常燃焼分布であるか否かによって失火判定値を選択的に切り換えるようにしても良い。
【００５６】
また、上記実施例では、正常燃焼時のイオン電流の最小値付近に第一の失火判定値Ｖth1 を設定するようにしたが、エンジントルク変動が限界状態の燃焼時のイオン電流の最小値付近に第一の失火判定値Ｖth1 を設定するようにしても良い。
【００５７】
また、上記実施例では、イオン電流ピーク値Ｐを失火判定値と比較して失火の有無を判定する失火判定に本発明を適用したが、イオン電流ピーク値Ｐに代えて、イオン電流積分値Ｑ、イオン電流出力時間Ｔ等の他のパラメータを失火判定値と比較して失火の有無を判定する失火判定に本発明を適用しても良い。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施例における点火制御系とイオン電流検出回路の構成を示す回路図である。
【図２】点火信号、筒内圧力、燃焼イオン検出区間、正常燃焼時の検出電流波形、ノイズ発生時の検出電流波形との関係を説明するタイムチャートである。
【図３】失火判定値の設定方法を説明する図である。
【図４】失火判定値Ｖthのマップの一例を概念的に示す図である。
【図５】失火判定ルーチンの処理の流れを説明するフローチャート（その１）である。
【図６】失火判定ルーチンの処理の流れを説明するフローチャート（その２）である。
【符号の説明】
【００５９】
２１…点火コイル、２２…一次コイル、２３…バッテリ、２４…イグナイタ、２５…パワートランジスタ、２６…二次コイル、２７…点火プラグ、３１…イオン電流検出抵抗、３３…反転増幅回路、３４…エンジン制御回路（失火判定値選択手段）、３５…イオン電流検出回路（イオン電流検出手段）、３６…中心電極、３７…接地電極
【図１】
2009057839.tif 000003
【図２】
2009057839.tif 000004
【図３】
2009057839.tif 000005
【図４】
2009057839.tif 000006
【図５】
2009057839.tif 000007
【図６】
2009057839.tif 000008