(57)【特許請求の範囲】
【請求項１】
内燃機関の燃焼室内の混合気の燃焼時に発生するイオン電流に応じたイオン電流信号を検出するイオン電流検出手段と、
前記混合気の点火後に、第１の検出間隔毎のイオン電流信号の第１の傾きと、前記第１の検出間隔よりも長い第２の検出間隔毎のイオン電流信号の第２の傾きとを検出する傾き検出手段と、
前記第１および前記第２の傾きに基づいて前記燃焼室内の燃焼または失火を判定する判定手段と
を備えたことを特徴とする内燃機関の失火検出装置。
【請求項２】
前記判定手段は、
前記第１の傾きと前記第２の傾きとの偏差を算出し、前記偏差と閾値とを比較することにより前記燃焼室内の燃焼または失火を判定することを特徴とする請求項１に記載の内燃機関の失火検出装置。
【請求項３】
前記判定手段は、
前記第１の検出間隔よりも長く、前記第２の検出間隔よりも短い第３の検出間隔毎に、前記第１の傾きと前記第２の傾きとの偏差の和算値と、前記第３の検出間隔および前記第２の傾きの乗算値とを算出し、前記和算値と前記乗算値との偏差と、閾値とを比較することにより前記燃焼室内の燃焼または失火を判定することを特徴とする請求項１に記載の内燃機関の失火検出装置。
【請求項４】
前記判定手段は、
前記閾値を設定し、前記偏差および前記閾値を比較する閾値手段と、
前記偏差が閾値以上であると連続して判定した回数をカウントする燃焼判定カウント手段と、
前記回数と所定値とを比較することにより前記燃焼室内の燃焼または失火を判定する燃焼判定出力手段と
を備えたことを特徴とする請求項２または請求項３に記載の内燃機関の失火検出装置。
【請求項５】
前記傾き検出手段は、
前記混合気の着火後、所定期間の間、前記イオン電流信号をマスクするマスク手段を備えたことを特徴とする請求項１から請求項４までのいずれか１項に記載の内燃機関の失火検出装置。
【請求項６】
前記傾き検出手段は、
前記イオン電流信号を所定期間だけ取り出すウィンドウ手段を備えたことを特徴とする請求項１から請求項４までのいずれか１項に記載の内燃機関の失火検出装置。
【請求項７】
前記傾き検出手段は、
前記第１および前記第２の検出間隔の少なくともどちらか一方を前記燃焼室の燃焼状態を示すパラメータによって設定することを特徴とする請求項１から請求項６までのいずれか１項に記載の内燃機関の失火検出装置。
【請求項８】
前記傾き検出手段は、
前記第１および前記第２の検出間隔の少なくともどちらか一方の各検出間隔を、直前の検出間隔に重ねて設定することを特徴とする請求項１から請求項７までのいずれか１項に記載の内燃機関の失火検出装置。
【請求項９】
前記傾き検出手段は、
前記第１および前記第２の傾きの少なくともどちらか一方を平滑化する平滑化手段を備えたことを特徴とする請求項１から請求項８までのいずれか１項に記載の内燃機関の失火検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、内燃機関のシリンダ内の燃焼／失火を、混合気の燃焼で生じるイオン量の変化により検知する内燃機関の失火検出装置に関するものである。
【０００２】
【従来の技術】
内燃機関のシリンダ（燃焼室、気筒）内で混合気を燃焼させるとイオンが発生することが一般に知られている。そこで、シリンダ内にバイアス電圧として高電圧を印加したプローブを設置すると、発生したイオンは、そのイオン量に応じたイオン電流として観測することができる。つまり、イオン電流の有無を検出することで全シリンダ内の燃焼／失火を個別に判定することができる。
【０００３】
しかし、内燃機関の運転状態によっては、混合気の燃焼により点火プラグの電極間に煤が付着する場合があった。
【０００４】
図８は、従来の内燃機関の失火検出装置の動作を示す説明図であり、図９は、特開２００１−９０６４７号公報に示された従来の内燃機関の失火検出装置のブロック構成図を示す。
【０００５】
例えば、バイアス電圧を１００Ｖ、煤付着時の点火プラグの絶縁抵抗を５ＭΩとすると、２０μＡのリーク電流が流れる。その結果、図８に示すように、点火パルスＩＢの印加に伴って、リーク電流が所定の時定数で単調減衰しながらイオン電流検出部に流れる。また、点火プラグの放電開始後には、煤による高抵抗とバイアス回路２のコンデンサ成分Ｃによる時定数ＣＲで徐々に単調減少するリーク電流に、燃焼によるイオン電流が重畳されて流れる。
【０００６】
図９において、内燃機関の失火検出装置のバイアス回路２は、シリンダ内の混合気を着火する点火プラグ（図示せず）に対してバイアス電圧を印加し、点火プラグの電極間に発生したリーク電流に重畳されたイオン電流（パルス）を出力する。
【０００７】
マスク回路５は、バイアス回路２から出力された固定閾値で波形整形されたイオン電流のパルスを所定時間の間マスクし、イオン電流中のノイズ（点火ノイズ等）をカット（マスク）する（マスク信号を生成する）。
【０００８】
マスク解除後のボトム値はボトムホールド値として維持され、ボトムホールド値に基づいて、イオン電流の有無を判定するための閾値が設定される。
【０００９】
ボトムホールド波形整形回路２０は、マスク時間経過後、バイアス回路２より出力されたイオン電流を入力し、イオン電流のレベルとボトムホールド値に基づいて設定された閾値とを比較する。閾値との比較により、入力したイオン電流のレベルが閾値を超えた時点を「燃焼」と判定し、燃焼パルスを出力する。
【００１０】
このように、リーク電流に重畳されたイオン電流は、燃焼パルスに波形整形されて出力される。したがって、リーク電流の大きさに左右されずに爆発気筒内の燃焼を検出することができる。
【００１１】
【発明が解決しようとする課題】
従来の内燃機関の失火検出装置は以上のように、例えば、図１０のようにリーク電流に重畳するイオン電流が時間とともに単調減少してしまい、図８のｔ１１区間のようなイオン電流の増加区間が無い場合には、ボトムホールド値から燃焼／失火を判定することができないという問題点があった。
【００１２】
この発明は上記のような問題点を解決するためになされたもので、リーク電流に重畳するイオン電流が単調減少し、イオン電流の増加区間が無い場合でも、正確に燃焼／失火判定することのできる内燃機関の失火検出装置を得ることを目的とする。
【００１３】
【課題を解決するための手段】
この発明に係る内燃機関の失火検出装置は、内燃機関の燃焼室内の混合気の燃焼時に発生するイオン電流に応じたイオン電流信号を検出するイオン電流検出手段と、混合気の点火後に、第１の検出間隔毎のイオン電流信号の第１の傾きと、第１の検出間隔よりも長い第２の検出間隔毎のイオン電流信号の第２の傾きとを検出する傾き検出手段と、第１および第２の傾きに基づいて燃焼室内の燃焼または失火を判定する判定手段とを備えたものである。
【００１４】
また、この発明に係る内燃機関の失火検出装置の判定手段は、第１の傾きと第２の傾きとの偏差を算出し、偏差と閾値とを比較することにより燃焼室内の燃焼または失火を判定するものである。
【００１５】
また、この発明に係る内燃機関の失火検出装置の判定手段は、第１の検出間隔よりも長く、第２の検出間隔よりも短い第３の検出間隔毎に、第１の傾きと第２の傾きとの偏差の和算値と、第３の検出間隔および第２の傾きの乗算値とを算出し、和算値と乗算値との偏差および閾値を比較することにより燃焼室内の燃焼または失火を判定するものである。
【００１６】
また、この発明に係る内燃機関の失火検出装置の判定手段は、閾値を設定し、偏差および閾値を比較する閾値手段と、偏差が閾値以上であると連続して判定した回数をカウントする燃焼判定カウント手段と、回数と所定値とを比較することにより燃焼室内の燃焼または失火を判定する燃焼判定出力手段とを備えたものである。
【００１７】
また、この発明に係る内燃機関の失火検出装置の傾き検出手段は、混合気の着火後、所定期間の間、イオン電流信号をマスクするマスク手段を備えたものである。
【００１８】
また、この発明に係る内燃機関の失火検出装置の傾き検出手段は、イオン電流信号を所定期間だけ取り出すウィンドウ手段を備えたものである。
【００１９】
また、この発明に係る内燃機関の失火検出装置の傾き検出手段は、第１および第２の検出間隔の少なくともどちらか一方を燃焼室の燃焼状態を示すパラメータによって設定するものである。
【００２０】
また、この発明に係る内燃機関の失火検出装置の傾き検出手段は、第１および第２の検出間隔の少なくともどちらか一方の各検出間隔を、直前の検出間隔に重ねて設定するものである。
【００２１】
さらに、この発明に係る内燃機関の失火検出装置の傾き検出手段は、第１および第２の傾きの少なくともどちらか一方を平滑化する平滑化手段を備えたものである。
【００２２】
【発明の実施の形態】
実施の形態１．
以下、図面を参照しながら、この発明の実施の形態１について詳細に説明する。
【００２３】
図１は、この発明の実施の形態１を示すブロック構成図である。なお、図１において、前述（図９参照）と同様のものについては、符号の後に「Ａ」を付して詳述を省略する。
【００２４】
図１において、内燃機関の失火検出装置は、点火プラグ２０を接続したイングニンションコイル１と、点火プラグ２０にバイアス電圧を印可するバイアス電源（バイアス回路）２Ａと、燃焼時に発生するイオン電流を検出するイオン電流検出回路３と、失火検出装置の動作を制御するＥＣＵ１４と、燃焼／失火の判定を行うマイクロプロセッサ（マイクロコンピュータ）（ＭＰＵ）１８とを備えており、ＥＣＵ１４とマイクロプロセッサ１８とは、インターフェース（Ｉ／Ｆ）１３で接続されている。
【００２５】
次に、マイクロプロセッサ１８の構成について説明する。マイクロプロセッサ１８は、イオン電流に応じたイオン電流信号をＡ／Ｄ変換するＡ／Ｄ変換器４と、イオン電流信号を所定時間の間マスクするマスク手段５Ａと、所定間隔毎にイオン電流信号を抽出する抽出手段６と、所定間隔毎にイオン電流信号の傾きを検出する第１のイオン電流信号傾き算出手段７および第２のイオン電流信号傾き算出手段８とにより構成されている。
【００２６】
また、検出された傾きを平滑化する平滑化手段９と、平滑化された傾きと比較する閾値を設定する閾値手段１０と、閾値との比較結果をカウントする燃焼判定カウント手段１１と、カウント数に基づいて燃焼／失火を判定する燃焼判定出力手段１２とで構成されている。
【００２７】
次に、イオン電流を利用した内燃機関の燃焼／失火検出に関して説明する。
【００２８】
内燃機関のシリンダ内にバイアス電圧を印加すると、シリンダ内の混合気の燃焼に伴い発生するイオンおよび電子を電流（イオン電流）として検出できることが知られている。このときシリンダ内にバイアス電圧がかかる瞬間もしくは直後に発生するノイズ、もしくは点火ノイズ、外来ノイズ等を除いて、燃焼が発生していないときには、イオン電流は発生しないか、もしくは単調減少するリーク電流のみが発生するかのいずれかとなる。
【００２９】
一方、燃焼が発生しているときには、イオン電流は増加から減少といった一連のサイクルを数回繰り返す。具体的には、燃焼化学変化に伴うサイクル、圧力・温度変化に伴うサイクルが通常燃焼時に発生するサイクルであり、これ以外にも残存ガスに伴うイオン電流の増加サイクルが発生する場合もある。
【００３０】
この燃焼時に発生するイオン電流を検出し、検出結果に応じて燃焼／失火を判定する。
【００３１】
次に、図１とともに図２〜図５を参照しながら、この発明の実施の形態１による動作について説明する。
【００３２】
図２は、この発明の実施の形態１による動作を説明するタイミングチャートであり、図３〜図５は、この発明の実施の形態１による動作を示すフローチャートである。
【００３３】
図１において、イグニションコイル内の一次巻線、パワートランジスタは、インターフェース（Ｉ／Ｆ回路）１３を介して、ＥＣＵ１４により通電遮断制御されると、遮断時にイングニションコイル内の二次巻線端に高電圧を発生する。この高電圧が二次巻線端に接続された点火プラグ２０へと印加され、点火プラグ２０のギャップ間で放電が起こり、シリンダ内の混合気を点火する。
【００３４】
また、点火時にはイグニションコイル１の点火エネルギーの一部によりバイアス電源２Ａの充電が行われ、イオン電流検出用のバイアス電圧が生成される。このバイアス電圧はイグニションコイル１を介し点火プラグ２０へと印加され、混合気の燃焼に伴い発生したイオンの移動によりイオン電流が流れる。イオン電流検出回路３はイオン電流を検出し、電圧変換したイオン電流信号としてマイクロプロセッサ１８に出力する。
【００３５】
マイクロプロセッサ中のＡ／Ｄ変換器４は、所定のサンプリング時間間隔Ｔｂで、イオン電流信号をアナログデータからデジタルデータへと変換する。
【００３６】
マスク手段５Ａは、イオン電流信号を所定時間の間マスクし、バイアス電圧印加時に発生するイオン電流信号内のノイズ（図２  Ｔ１区間）をカットする。
【００３７】
抽出手段６は、マスク時間経過後のイオン電流信号を所定の時間間隔Ｔａ（サンプリング時間間隔Ｔｂより長い時間間隔）毎に区切り（図２  Ｔ２区間〜Ｔ１４区間）、時間間隔Ｔａ単位のデータ群を１集合として抽出する。
【００３８】
第１のイオン電流信号傾き算出手段７は、時間間隔Ｔａ間におけるサンプリング時間間隔Ｔｂ毎のデータ群において、それぞれ直前のデータとの傾きを算出し、サンプリング時間間隔Ｔｂ毎の傾き（データ変化量）ｂ（ｋ）を算出する。
【００３９】
また、第２のイオン電流信号傾き算出手段８は、抽出手段６で抽出された時間間隔Ｔａ間のデータ群の中から、時間軸に対して、先頭（図２  ｆ（０））と最後尾（図２  ｆ（Ｔａ））のデータを用いて、時間間隔Ｔａ全体（時間間隔Ｔａ毎）の傾きｃ（図２  Ｑ２）を算出する。
【００４０】
平滑化手段９は、第１のイオン電流信号傾き算出手段７により算出された、時間間隔Ｔｂ毎の傾きｂ（ｋ）に基づいて、先頭のデータ（図２  ｆ（０））からの傾きｂ（ｋ）の平均値ｂ２（ｋ）を算出し（図２  Ｑ１）、イオン電流信号の細かいノイズによる影響を打ち消す。
【００４１】
閾値手段１０は、傾きｃと、平滑化されたそれぞれの傾きｂ２（ｋ）との偏差（傾き偏差）ｄ（ｋ）を算出して、所定の閾値と比較する。燃焼判定カウント手段１１は、傾き偏差ｄ（ｋ）が閾値以上である状態が連続する場合、その連続数をカウントする。
【００４２】
燃焼判定出力手段１２は、燃焼判定カウント手段１１でのカウント数（連続数）が所定値以上の場合に「燃焼」と判定し、インターフェース１３を介して、燃焼パルスをＥＣＵ１４へ送信する。
【００４３】
次に、マイクロプロセッサ１８の動作について詳細に説明する。
【００４４】
図３において、マイクロプロセッサ１８は、Ａ／Ｄ変換器４でイオン電流信号をサンプリング時間間隔ＴｂでＡ／Ｄ変換して、サンプリングされたデータ（図２  Ｐ１）を読み込み（ステップＳ３０１）、イオン電流信号をマスクするための検出閾値と比較して、データが検出閾値以上か否かを判定する（ステップＳ３０２）。
【００４５】
ステップＳ３０２において、データが検出閾値以上である場合（すなわち、ＹＥＳ）、マスク手段５Ａは、マスク時間をカウントするためのタイマーをスタートさせる（ステップＳ３０３）。一方、データが検出閾値より小さい場合（すなわち、ＮＯ）、ステップＳ３０３をスキップして、ステップＳ３０４に進む。
【００４６】
次に、マスク手段５Ａは、タイマーを参照して、所定のマスク時間（マスク期間）（図２  Ｔ１区間）が経過したか否かを判定する（ステップＳ３０４）。
【００４７】
ステップＳ３０４において、マスク時間が経過していない場合（すなわち、ＮＯ）、マスク時間が経過するまでの間、読み込んだデータを無視して、メモリ（図示せず）に取り込まない。
【００４８】
マスク時間が経過した場合（すなわち、ＹＥＳ）、マイクロプロセッサ１８へ取り込まれたサンプリング時間間隔Ｔｂ単位のデータを、例えば、ａ（１）、ａ（２）、ａ（３）・・・のように配列されたマイクロプロセッサ内のメモリに順に格納していく（図２  Ｔ２以降のイオン電流信号のデータが格納）。
【００４９】
なお、メモリへ格納されるデータの時間間隔は、Ａ／Ｄ変換器４でのサンプリング時間間隔である時間間隔Ｔｂである。つまり、データが配列ａ（１）に格納されてから次のデータが配列ａ（２）に格納されるまでの時間がＴｂとなる。
【００５０】
また、タイマーのスタートからマスク時間が経過するまでにマイクロプロセッサ１８へと取り込まれたデータ（図２  Ｔ１区間）は、メモリに格納されず無視される。
【００５１】
データを格納するメモリ（バッファ）は、２つ備えられており（ａ１（ｋ）、ａ２（ｋ））、保存用として一方のメモリにデータを格納しながら、計算用として他方のメモリに既に格納されているデータを対象に判定処理を行っていく。一方のメモリに格納されたデータを対象にした判定処理が終了すると、メモリが切り換えられ、データ保存用としてデータが格納されていたメモリを計算用のメモリとし、計算用として判定処理が行われていたメモリを保存用のメモリとし、この切り換えが繰り返される。
【００５２】
このメモリの切り換え用にフラグ（メモリ切り換えフラグ）が用いられており、時間間隔Ｔａ中のデータ群の処理が終了すると、フラグの内容が変更されてメモリの切り換えが行われ、次の時間間隔Ｔａのデータの処理が行われる。
【００５３】
データ保存用のメモリは、時間間隔Ｔａ間のデータ群を格納しており、メモリの格納エリアａ１には、時間間隔Ｔａ間の先頭のデータをａ１（０）、次をａ１（１）、・・・、最後のデータをａ１（Ｔａ／Ｔｂ  −  １）というように順に格納されている（計算用のメモリの格納エリアａ２も同様）。このように、１つのメモリに格納されるデータ数は、時間間隔Ｔａをサンプリング時間間隔Ｔｂで割った数となる。
【００５４】
なお、時間間隔Ｔａおよびサンプリング時間間隔Ｔｂは、時間間隔Ｔａをサンプリング時間間隔Ｔｂで割った数が整数となるように設定される。
【００５５】
ステップＳ３０５において、メモリ切り換えフラグが「０」であるか否かを判定する。
【００５６】
ステップＳ３０５において、メモリ切り換えフラグが「０」である場合（すなわち、ＹＥＳ）、図４のステップＳ３０６からステップＳ３２０までの処理を行う。また、メモリ切り換えフラグが「０」以外である場合（すなわち、ＮＯ）、図５のステップＳ３２１からステップＳ３３５までの処理を行う。
【００５７】
次に、ステップＳ３０５において、メモリ切り換えフラグが「０」のときの動作について説明する。
【００５８】
図４において、データ保存用のメモリａ１（ｋ）にデータａ（ｎ）が格納され（ステップＳ３０６）、時間間隔Ｔａにおけるデータをカウントするためのカウンタｋをインクリメントする（ステップＳ３０７）。
【００５９】
このカウンタｋのカウントにより、データ保存用と計算用とのメモリの切り換え周期（時間間隔）Ｔａを検知することができる。
【００６０】
次に、傾き計算可能フラグ２が「１」か否かを判定する（ステップＳ３０８）。この傾き計算可能フラグ２は、計算用として用いられるメモリａ２に時間間隔Ｔａ間のデータ群がすべて格納されていれば「１」に設定され、次のステップからの傾き計算が開始される。例えばマスク時間経過直後のように、時間間隔Ｔａ間の全データが格納されていない場合には「０」に設定されている。
【００６１】
ステップＳ３０８において、傾き計算可能フラグ２が「１」以外の場合（すなわち、ＮＯ）、ステップＳ３０９からステップＳ３１６までをスキップする。また、傾き計算可能フラグ２が「１」の場合（すなわち、ＹＥＳ）、第１のイオン電流信号傾き算出手段７による傾き計算を行う（ステップＳ３０９）。
【００６２】
第１のイオン電流信号傾き算出手段７により行われる傾き計算は、計算用のメモリ内のデータに基づいて、現在のデータａ２（ｋ）と直前のデータａ２（ｋ−１）との傾きｂ（ｋ）を以下の式（１）により算出する。
【００６３】
ｂ（ｋ）  ＝  ｜ａ２（ｋ）  −  ａ２（ｋ−１）｜・・・  （１）
【００６４】
算出されたｂ（ｋ）は、マイクロプロセッサ１８のサンプリング時間間隔Ｔｂで除算されていないが、イオン電流信号の傾きを示すものとなる。
【００６５】
続いて、第２のイオン電流信号傾き算出手段８による傾き計算が行われる。この傾き計算は、以下の式（２）により、時間間隔Ｔａ間の先頭および最後尾のデータを用いて傾きを算出する（ステップＳ３１０）。
【００６６】
0003579404.tif 000002
【００６７】
続いて、平滑化手段９は、ステップＳ３０９にて算出された、時間間隔Ｔａの先頭のデータｂ（０）から現在のデータｂ（ｋ）までのデータを用いて、以下の式（３）により、傾きを平滑化させる（ステップＳ３１１）。
【００６８】
0003579404.tif 000003
【００６９】
平滑化された傾きｂ２（ｋ）は、イオン電流信号の傾きの傾向を示すものとなる。
【００７０】
閾値手段１０は、平滑化された傾きｂ２（ｋ）と時間間隔Ｔａの傾きｃとに基づいて、以下の式（４）により傾き偏差ｄ（ｋ）を算出し（ステップＳ３１２）、傾き偏差ｄ（ｋ）が閾値以上か否かを判定する（ステップＳ３１３）。
【００７１】
ｄ（ｋ）  ＝  ｜ｂ２（ｋ）  −  ｃ｜・・・  （４）
【００７２】
ステップＳ３１３において、算出された傾き偏差ｄ（ｋ）が閾値より小さい場合（すなわち、ＮＯ）、傾き偏差ｄ（ｋ）が閾値以上である時にカウントする燃焼カウンタに「０」をセットし、ステップＳ３１４からステップＳ３１６までをスキップする。また、傾き偏差ｄ（ｋ）が閾値以上の場合（すなわち、ＹＥＳ）、燃焼判定カウント手段１１は、燃焼判定カウンタを「１」だけインクリメントする（ステップＳ３１４）。
【００７３】
燃焼判定出力手段１２は、燃焼判定カウンタが所定値以上であるか否かを判定する（ステップＳ３１５）。
【００７４】
ステップＳ３１５において、燃焼判定カウンタが所定値以上の場合には（すなわち、ＹＥＳ）、「燃焼」と判定し、インターフェース１３を介して、ＥＣＵ１４に燃焼パルスを送信する（ステップＳ３１６）。燃焼判定カウンタが所定値より小さい場合には（すなわち、ＮＯ）、「失火」と判定し、ステップＳ３１６をスキップする。
【００７５】
このように、傾き偏差ｄ（ｋ）が閾値以上であっても、その傾き偏差ｄ（ｋ）が所定時間の間連続しない場合には「燃焼」と判定されない。
【００７６】
なお、図２に、この閾値手段１０での比較後に燃焼パルスが出力された場合のパルス波形（図２  燃焼パルス（閾値手段後））と、燃焼判定カウント手段１１でのカウント結果を判定した後に燃焼パルスが出力された場合のパルス波形とを示す（図２  燃焼パルス（燃焼判定カウント手段後））。
【００７７】
ただし、データを保存用のメモリに格納している間、前回格納されたデータ群を対象に判定処理が行われるため、イオン電流信号のデータが入力されてから時間Ｔａだけ傾き計算用のデータ群をメモリに貯めていることになる。したがって、実際の燃焼パルスの送信は、イオン電流信号入力に対して時間Ｔａだけ遅れることになる（図２  燃焼パルス（実際の出力））。
【００７８】
続いて、以下の式（５）により、カウンタｋが時間間隔Ｔａ間のデータ群をすべてカウントしたか否かを判定する（ステップＳ３１７）。
【００７９】
ｋ  ＝  Ｔａ／Ｔｂ・・・  （５）
【００８０】
ステップＳ３１７において、時間間隔Ｔａ間のすべてのデータ群をカウントしていない場合（すなわち、ＮＯ）、ステップＳ３１８からステップＳ３２０をスキップして、残りのデータの判定処理を行う。
【００８１】
一方、ステップＳ３１７において、時間間隔Ｔａ間のデータ群をすべてカウントした場合（すなわち、ＹＥＳ）、カウンタｋに「０」をセットし（ステップＳ３１８）、傾き計算フラグ１に「１」をセットし（ステップＳ３１９）、メモリ切り換えフラグに「１」をセットして（ステップＳ３２０）、次の時間間隔Ｔａの判定処理を行う。
【００８２】
時間Ｔａが経過し、ステップＳ３２０においてメモリ切り換えフラグが「１」にセットされると、計算用のメモリがａ１、保存用のメモリがａ２に切り換えられ、メモリａ１に格納されたデータを対象に同様の傾き計算処理が行われ、メモリａ２には、データが格納される（図５参照）。つまり、図２のＴ２区間でメモリ切り換えフラグが「０」であると、次のＴ３区間では「１」となり、保存用と計算用のメモリを時間間隔Ｔａ単位に切り換え、図４と図５の処理ルーチンが切り換えられる。
【００８３】
なお、図５の処理は、図４に対して、保存用と計算用のメモリが異なるだけで処理内容は同様であるため、動作説明は省略する。
【００８４】
このように、図１０において、イオン電流にリーク電流が含まれ、区間Ｋ１において、検出間隔Ｔ５０で検出された傾きと、検出間隔Ｔ５０よりも長い検出間隔Ｔ５１で検出された傾きＡとを比較すると、燃焼時には、所定値以上の傾き偏差ｄ（ｋ）が出るため、両者の傾きから算出される偏差により燃焼や失火の判定をすることができる。
【００８５】
したがって、リーク電流が発生し、イオン電流が単調減少し、イオン電流の増加区間が無い場合でも、燃焼や失火を検出することができる。
【００８６】
また、傾き偏差ｄ（ｋ）と閾値との比較だけで燃焼と判定せずに、傾き偏差ｄ（ｋ）が閾値以上となった時間が所定時間以上となった場合のみ燃焼と判定するので、突発的に発生する細く大きいノイズによる傾きの変動に対する誤動作を防ぐことができる。
【００８７】
なお、演算処理にマイクロプロセッサ（マイクロコンピュータ）１８を用いたが、デジタルシグナルプロセッサ、もしくはゲートアレイ回路によるロジックＩＣを用いてもよい。
【００８８】
なお、時間周期Ｔａを検出するためにカウンタｋを使用したが、タイマーを用いて時間経過を認識させてもよい。
【００８９】
なお、マスク手段５Ａにおいて、イオン電流信号のマスク時間を認識するためにタイマーを用いたが、タイマーの代わりにカウンタを用いて、所定カウント数の経過をもってマスク時間の経過と判定してもよい。
【００９０】
また、マスク手段５Ａでは、バイアス電圧印加時に発生するノイズをマスクし、このノイズによる誤動作を防いだが、マスク手段５Ａの代わりに、イオン電流信号の検出したい区間のみを取り出すウィンドウ手段を用いて、ノイズによる誤動作を防いでもよい。
【００９１】
なお、時間間隔Ｔａ、Ｔｂは、内燃機関の気筒内の燃焼状態を示すエンジンの回転数、負荷、気筒内圧、イオン電流信号の振幅、所定時間における傾き偏差の和Σｄ（ｋ）、Ａｉｒ／Ｆｕｅｌなどを検出し、その燃焼状態に応じた値を設定してもよい。
【００９２】
例えば、高回転域では、時間間隔Ｔａ、Ｔｂは低回転域に対して短く設定することにより、燃焼によるイオン電流の変動を確実に捕らえられ、短く間隔を取らないときに対して、精度が良くなる。
【００９３】
なお、傾きを算出する間隔は、時間間隔Ｔａ、Ｔｂで等間隔で区間を設定したが、直前の区間に重ねて設定してもよい。
【００９４】
例えば、図２のＴ２区間に対してＴ３区間をＴ２区間の中間部から始め、時間間隔を重ねる。したがって、時間間隔ＴａおよびＴｂの傾きを算出する回数が増え、傾きの精度が高くなるので、イオン電流信号の変動をより確実に捕らえることができる。
【００９５】
実施の形態２．
なお、上記実施の形態１では、２つの傾きの偏差を算出して燃焼／失火を判定したが、どちらか一方の傾きによって判定してもよい。
【００９６】
この発明の実施の形態２を示す構成は、前述（図１参照）と同一であり、詳述を省略する。
【００９７】
また、図３の処理も同一であり、詳述を省略する。
【００９８】
図６は、この発明の実施の形態２による動作を示すフローチャートである。図６のステップＳ６０１〜Ｓ６０６、Ｓ６０８〜Ｓ６１４は、図４のステップＳ３０６〜Ｓ３１１、Ｓ３１４〜Ｓ３２０にそれぞれ対応し、詳述を省略する。
【００９９】
図６において、第１のイオン電流信号傾き算出手段７により時間間隔Ｔｂで検出されて平滑化された傾きｂ２（ｋ）および第２のイオン電流信号傾き算出手段８により時間間隔Ｔａで検出された傾きｃが、閾値以上の正の傾きであるか否かを判定する（ステップＳ６０７）。
【０１００】
ステップＳ６０７において、傾きｂ２（ｋ）または傾きｃが閾値以上である場合（すなわち、ＹＥＳ）、閾値以上であった傾き用の燃焼判定カウンタを「１」だけインクリメントする（ステップＳ６０８）。
【０１０１】
傾きｂ２（ｋ）および傾きｃの両方が閾値よりも小さい場合（すなわち、ＮＯ）、傾きｂ２（ｋ）および傾きｃの燃焼カウンタに「０」をセットし、ステップＳ６０８からステップＳ６１０までをスキップする。
【０１０２】
燃焼判定出力手段１２は、傾きｂ２（ｋ）および傾きｃの燃焼判定カウンタが所定値以上であるか否かを判定する（ステップＳ６０９）。
【０１０３】
ステップＳ６０９において、どちらか一方の燃焼判定カウンタが所定値以上の場合（すなわち、ＹＥＳ）、「燃焼」と判定し、インターフェース１３を介して、ＥＣＵ１４に燃焼パルスを送信する（ステップＳ６１０）。両方の燃焼判定カウンタが所定値より小さい場合には（すなわち、ＮＯ）、「失火」と判定し、ステップＳ６１０をスキップする。
【０１０４】
このように、第１のイオン電流信号傾き算出手段７により時間間隔Ｔｂで検出されて平滑化された傾きｂ２（ｋ）が閾値以上の正の傾きを所定回数以上連続して持つ場合や、第２のイオン電流信号傾き算出手段８により時間間隔Ｔａで検出された傾きｃが、閾値以上の正の傾きを所定回数以上連続して持つ場合に「燃焼」と判定する。
【０１０５】
なお、検出されたイオン電流信号が負の場合は、逆に閾値以上の負の傾きを持つ場合に「燃焼」と判定することとなる。
【０１０６】
したがって、リーク電流が発生し、イオン電流が単調減少し、イオン電流の増加区間が無い場合でも、燃焼や失火を検出することができる。
【０１０７】
なお、ステップＳ６０７において、平滑化された傾きｂ２（ｋ）を用いて判定を行ったが、平滑化前の傾きｂ（ｋ）を用いてもよい。
【０１０８】
なお、メモリが切り換わった処理は、図４と図５との関係と同様に、保存用と計算用のメモリが異なるだけで処理内容は同様であり、図６と同様であるので動作説明は省略する。
【０１０９】
実施の形態３．
なお、上記実施の形態１では、時間間隔Ｔａでの傾きｃと時間間隔Ｔｂでの傾きｂ（ｋ）の偏差を算出して燃焼／失火を判定したが、時間間隔Ｔｃ分の傾きｂ（ｋ）の和算値によって判定してもよい。
【０１１０】
この発明の実施の形態３を示す構成は、前述（図１参照）と同一であり、詳述を省略する。
【０１１１】
また、図３の処理も同一であり、詳述を省略する。
【０１１２】
図７は、この発明の実施の形態３による動作を示すフローチャートである。図７のステップＳ７０１〜Ｓ７０６、Ｓ７１１〜Ｓ７１７は、図４のステップＳ３０６〜Ｓ３１１、Ｓ３１４〜Ｓ３２０にそれぞれ対応し、詳述を省略する。
【０１１３】
図７において、平滑化された傾きｂ２（ｋ）を傾きの和Σｂ２（ｋ）に加える（ステップＳ７０７）。
【０１１４】
次に、所定の時間間隔Ｔｃ（Ｔｂ＜Ｔｃ＜Ｔａ）が経過したか否かを判定し（ステップＳ７０８）、時間間隔Ｔｃが経過していない場合（すなわち、ＮＯ）、ステップＳ７０１に戻り、時間間隔Ｔｃが経過するまで、傾きの和Σｂ２（ｋ）に傾きｂ２（ｋ）を加えていく。
【０１１５】
ステップＳ７０８において、時間間隔Ｔｃが経過した場合（すなわち、ＹＥＳ）、以下の式（６）により、時間間隔Ｔｃにおける平滑化された傾きｂ２（ｋ）の和算値と、時間間隔Ｔａの傾きｃと時間間隔Ｔｃとの乗算値との偏差の和（傾き偏差の和）Σｄ（ｋ）を算出する（ステップＳ７０９）。
【０１１６】
Σｄ（ｋ）  ＝  ｜Σｂ２（ｋ）  −  ｃ×Ｔｃ｜・・・  （６）
【０１１７】
続いて、算出された傾き偏差の和Σｄ（ｋ）が閾値以上か否かを判定し（ステップＳ７１０）、傾き偏差の和Σｄ（ｋ）が閾値以上である場合（すなわち、ＹＥＳ）、燃焼判定カウンタを「１」だけインクリメントし（ステップＳ７１１）、傾き偏差の和Σｄ（ｋ）が閾値よりも小さい場合（すなわち、ＮＯ）、ステップＳ７１１からステップＳ７１３をスキップする。
【０１１８】
次に、燃焼判定カウンタが所定値以上であるか否かを判定し（ステップＳ７１２）、所定値以上である場合（すなわち、ＹＥＳ）、「燃焼」と判定し、燃焼パルスを出力する（ステップＳ７１３）。また、所定値よりも小さい場合には、「失火」と判定し、ステップＳ７１３をスキップする。
【０１１９】
したがって、リーク電流が発生し、イオン電流が単調減少し、イオン電流の増加区間が無い場合でも、燃焼や失火を検出することができる。
【０１２０】
なお、メモリが切り換わった処理は、図４と図５との関係と同様に、保存用と計算用のメモリが異なるだけで処理内容は同様であり、図７と同様であるので動作説明は省略する。
【０１２１】
【発明の効果】
以上のように、この発明によれば、内燃機関の燃焼室内の混合気の燃焼時に発生するイオン電流に応じたイオン電流信号を検出するイオン電流検出手段と、混合気の点火後に、第１の検出間隔毎のイオン電流信号の第１の傾きと、第１の検出間隔よりも長い第２の検出間隔毎のイオン電流信号の第２の傾きとを検出する傾き検出手段と、第１および第２の傾きに基づいて燃焼室内の燃焼または失火を判定する判定手段とを備えたので、リーク電流が発生しイオン電流が単調減少し、イオン電流の増加区間が存在しない場合にも燃焼あるいは失火を検出することのできる内燃機関の失火検出装置が得られる効果がある。
【０１２２】
また、この発明によれば、判定手段は、第１の傾きと第２の傾きとの偏差を算出し、偏差と閾値とを比較することにより燃焼室内の燃焼または失火を判定するので、リーク電流が発生しイオン電流が単調減少し、イオン電流の増加区間が存在しない場合にも燃焼あるいは失火を検出することのできる内燃機関の失火検出装置が得られる効果がある。
【０１２３】
また、この発明によれば、判定手段は、第１の検出間隔よりも長く、第２の検出間隔よりも短い第３の検出間隔毎に、第１の傾きと第２の傾きとの偏差の和算値と、第３の検出間隔および第２の傾きの乗算値とを算出し、和算値と乗算値との偏差および閾値を比較することにより燃焼室内の燃焼または失火を判定するので、リーク電流が発生しイオン電流が単調減少し、イオン電流の増加区間が存在しない場合にも燃焼あるいは失火を検出することのできる内燃機関の失火検出装置が得られる効果がある。
【０１２４】
また、この発明によれば、判定手段は、閾値を設定し、偏差および閾値を比較する閾値手段と、偏差が閾値以上であると連続して判定した回数をカウントする燃焼判定カウント手段と、回数と所定値とを比較することにより燃焼室内の燃焼または失火を判定する燃焼判定出力手段とを備えたので、突発的に発生する細く大きいノイズによる傾きの変動に対する誤動作を防ぐことのできる内燃機関の失火検出装置が得られる効果がある。
【０１２５】
また、この発明によれば、傾き検出手段は、混合気の着火後、所定期間の間、イオン電流信号をマスクするマスク手段を備えたので、バイアス電圧印加時に発生するノイズによる傾きの変動に対する誤動作を防ぐことのできる内燃機関の失火検出装置が得られる効果がある。
【０１２６】
また、この発明によれば、傾き検出手段は、イオン電流信号を所定期間だけ取り出すウィンドウ手段を備えたので、バイアス電圧印加時に発生するノイズによる傾きの変動に対する誤動作を防ぐことができ、内燃機関の燃焼室内の燃焼状態によって抽出したい範囲のイオン電流信号の傾きを検出することのできる内燃機関の失火検出装置が得られる効果がある。
【０１２７】
また、この発明によれば、傾き検出手段は、第１および第２の検出間隔の少なくともどちらか一方を燃焼室の燃焼状態を示すパラメータによって設定するので、燃焼状態によって変動するイオン電流信号に対して精度良くイオン電流信号の傾きを検出することのできる内燃機関の失火検出装置が得られる効果がある。
【０１２８】
また、この発明によれば、傾き検出手段は、第１および第２の検出間隔の少なくともどちらか一方の各検出間隔を、直前の検出間隔に重ねて設定するので、燃焼状態によって変動するイオン電流信号に対して精度良くイオン電流信号の傾きを検出することのできる内燃機関の失火検出装置が得られる効果がある。
【０１２９】
さらに、この発明によれば、傾き検出手段は、第１および第２の傾きの少なくともどちらか一方を平滑化する平滑化手段を備えたので、ノイズ等の微少変化に影響されることなく燃焼に伴うイオン電流の変化を確実に検出することのできる内燃機関の失火検出装置が得られる効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１を示すブロック構成図である。
【図２】この発明の実施の形態１を動作を示すタイミングチャートである。
【図３】この発明の実施の形態１による動作を示すフローチャートである。
【図４】この発明の実施の形態１による動作を示すフローチャートである。
【図５】この発明の実施の形態１による動作を示すフローチャートである。
【図６】この発明の実施の形態２による動作を示すフローチャートである。
【図７】この発明の実施の形態３による動作を示すフローチャートである。
【図８】従来の内燃機関の失火検出装置の動作を示すタイミングチャートである。
【図９】従来の内燃機関の失火検出装置を示すブロック構成図である。
【図１０】内燃機関の失火検出装置の動作を説明する説明図である。
【符号の説明】
１  イグニションコイル、２Ａ  バイアス電源、３  イオン電流検出回路、４Ａ／Ｄ変換器、５Ａ  マスク手段、６  抽出手段、７  第１のイオン電流信号傾き算出手段、８  第２のイオン電流信号傾き算出手段、９  平滑化手段、１０閾値手段、１１  燃焼判定カウント手段、１２  燃焼判定出力手段、１３  インターフェース（Ｉ／Ｆ）、１４  ＥＣＵ、１８  マイクロプロセッサ（ＭＰＵ）。
【図１】
0003579404.tif 000004
【図２】
0003579404.tif 000005
【図３】
0003579404.tif 000006
【図４】
0003579404.tif 000007
【図５】
0003579404.tif 000008
【図６】
0003579404.tif 000009
【図７】
0003579404.tif 000010
【図８】
0003579404.tif 000011
【図９】
0003579404.tif 000012
【図１０】
0003579404.tif 000013