(57)【特許請求の範囲】
【請求項１】
燃焼室の混合気の燃焼時に発生するイオンに対応したイオン電流を検出する信号検出部と、
内燃機関の動作サイクル毎に機能して、前記信号検出部からの信号入力データを時間順次に取得して記憶するデータ記憶手段と、
前記信号入力データに基づいて、イオン電流のピーク値ＰＫ（ｉ）を検出する検出手段と、
前記信号入力データに含まれる所定の周波数帯域の抽出信号について、その積分演算値である実測レベル値ＩＮＴ（ｉ）を抽出する抽出手段と、
イオン電流のピーク値と抽出信号の積分演算値との標準的な関係について、予め特定されている標準相関式に、今回のイオン電流のピーク値ＰＫ（ｉ）を代入して、今回の標準的な積分演算値を算出し、今回の実測レベル値ＩＮＴ（ｉ）と、今回の標準的な積分演算値との比率で特定される正規化レベル値Ａ（ｉ）を算出する正規化手段と、
直近の複数回の動作サイクルで算出された複数個の正規化レベル値を平均化して平均レベル値ＡＶを算出する平均化手段と、
今回の正規化レベル値Ａ（ｉ）と直近Ｎ回の平均化レベル値ＡＶとを対比して、対比結果Ｂ（ｉ）が閾値ＴＨより大きい場合には、ノッキングが生じていると判定する判定手段と、
を備えることを特徴とする内燃機関の燃焼制御装置。
【請求項２】
前記標準相関式は、内燃機関の動作条件を種々変更して実行された初期動作によって固定的に確定されている請求項１に記載の燃焼制御装置。
【請求項３】
前記判定手段の閾値ＴＨは、内燃機関の運転状態に対応して変更される請求項１又は２に記載の燃焼制御装置。
【請求項４】
前記抽出手段は、ピーク値を示すピーク位置以前の前記信号入力データを固定値に書き換えた上で、バンドパスフィルタ処理によって抽出信号を得ている請求項１〜３の何れかに記載の燃焼制御装置。
【請求項５】
複数の気筒を有する内燃機関において、前記複数の気筒毎に、前記正規化レベル値Ａ（ｉ）又は前記対比結果である動作パラメータＢ（ｉ）をリアルタイムに算出して、
算出された前記正規化レベル値Ａ（ｉ）又は前記動作パラメータＢ（ｉ）を、互いに比較することによって、特定の気筒の異常状態を検出するようにしている請求項１〜４の何れかに記載の燃焼制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車エンジンなどの内燃機関において、その動作状態に拘わらず常に正確にノッキングを検出できる燃焼制御装置に関する。
【背景技術】
【０００２】
内燃機関の燃焼室で混合気を燃焼させるとイオンが発生することが一般に知られている。昨今、このイオンに対応するイオン電流に着目した燃焼制御の研究が盛んであり、イオン電流の波形に基づくノッキング判定も実施されている（例えば、特許文献１）。
【特許文献１】特開２００１−２３４８０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ノッキング現象が起きていない状態でも、内燃機関の動作状態によっては、時としてノック信号と類似の信号が検出されることがあり、ノック判定に誤動作が生じていた。本発明者の検討によると点火時期を遅角させるとこの傾向が顕著であり、ノッキングが生じていないにも拘わらず、ノック信号と同一周波数帯域の類似信号が発生することがある。
【０００４】
ここで、内燃機関の構造を改善して上記の類似信号の発生を防止することも考えられるが、現実問題としては、そのような構造上の対策は極めて困難である。
【０００５】
本発明は、これらの問題点に鑑みてなされたものであって、構造的な対策を講じることなく、正確にノッキングを検出できる内燃機関の燃焼制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するため、本発明に係る内燃機関の燃焼制御装置は、燃焼室の混合気の燃焼時に発生するイオンに対応したイオン電流を検出する信号検出部と、内燃機関の動作サイクル毎に機能して、前記信号検出部からの信号入力データを時間順次に取得して記憶するデータ記憶手段と、前記信号入力データに基づいて、イオン電流のピーク値ＰＫ（ｉ）を検出する検出手段と、前記信号入力データに含まれる所定の周波数帯域の抽出信号について、その積分演算値である実測レベル値ＩＮＴ（ｉ）を抽出する抽出手段と、イオン電流のピーク値と抽出信号の積分演算値との標準的な関係について、予め特定されている標準相関式に、今回のイオン電流のピーク値ＰＫ（ｉ）を代入して、今回の標準的な積分演算値を算出し、今回の実測レベル値ＩＮＴ（ｉ）と、今回の標準的な積分演算値との比率で特定される正規化レベル値Ａ（ｉ）を算出する正規化手段と、直近の複数回の動作サイクルで算出された複数個の正規化レベル値を平均化して平均レベル値ＡＶを算出する平均化手段と、今回の正規化レベル値Ａ（ｉ）と直近Ｎ回の平均化レベル値ＡＶとを対比して、対比結果Ｂ（ｉ）が閾値ＴＨより大きい場合には、ノッキングが生じていると判定する判定手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
上記した通り、本発明によれば、点火時期に拘わらず正確にノッキングを検出できる内燃機関の燃焼制御装置を実現できる。すなわち、点火時期を遅角させるなどにより内燃機関に異常な類似信号が生じても、その影響を排除してノッキングを検出することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明を実施例に基づいて本発明を詳細に説明する。図１（ａ）は、実施例に係る燃焼制御装置ＥＱＵを示す回路図である。この燃焼制御装置ＥＱＵは、１次コイル１Ｐと２次コイル１Ｓとが電磁結合された点火コイル１と、点火コイル１を断続的に駆動するスイッチングトランジスタ２と、点火コイルの２次コイル１Ｓに接続されたイオン電流検出回路３と、スイッチングトランジスタ２をＯＮ／ＯＦＦ制御すると共にイオン電流検出回路３からのアナログ検出信号ＳＧを受けるワンチップマイコン４とで構成されている。そして、点火コイルの２次コイル１Ｓとグランドラインとの間に点火プラグ５が接続されている。
【０００９】
図示の通り、スイッチングトランジスタ２のベース端子は、ワンチップマイコン４に接続され、コレクタ端子は、点火コイルの一次コイル１Ｐに接続され、エミッタ端子は、グランドラインに接続されている。
【００１０】
イオン電流検出回路３は、点火プラグ５の放電電流で充電されるバイアス用のコンデンサＣと、コンデンサＣに並列接続されてコンデンサＣの充電電圧を規制するチェナーダイオードＺＤと、チェナーダイオードＺＤに直列接続されたダイオードＤ１と、ダイオードＤ１の両端に接続された増幅部ＡＭＰとで構成されている。
【００１１】
チェナーダイオードＺＤとダイオードＤ１のアノード端子は、互いに直結され、ダイオードＤ１のカソード端子はグランドラインに接続されている。また、チェナーダイオードＺＤのカソード端子は、二次コイル１Ｓに接続されている。
【００１２】
イオン電流検出回路３の増幅部ＡＭＰは、反転端子と非反転端子と出力端子とを有する増幅素子Ｑ１と、増幅素子Ｑ１の反転端子に接続される入力抵抗Ｒ１と、増幅素子Ｑ１の反転端子と出力端子の間に接続される帰還抵抗Ｒ２とで構成されている。なお、増幅素子Ｑ１の反転端子とグランドラインとの間に、増幅素子Ｑ１を保護するためのダイオードＤ２を接続しても良い。
【００１３】
増幅素子Ｑ１として、この実施例では、ＯＰアンプを使用している。ＯＰアンプは、その入力インピーダンスがほぼ無限大（≒∞）で、反転端子と非反転端子との間が、仮想的に短絡状態である(imaginary short)。そのため、図１（ｂ）に示す電流Ｉは、入力抵抗Ｒ１と帰還抵抗Ｒ２に共通して流れることになり、増幅部ＡＭＰの出力電圧Ｖｏｕｔは、電流Ｉと帰還抵抗Ｒ２の積となる（Ｖｏｕｔ＝Ｉ×Ｒ２）。つまり、この増幅部ＡＭＰでは、帰還抵抗Ｒ２が入力電流Ｉの検出抵抗として機能している。
【００１４】
図１の回路構成において、二次コイル１Ｓに負の高電圧が発生すると、点火プラグ５が点火放電し、図１（ａ）に示すように、点火電流がコンデンサＣを充電する。この時、コンデンサＣにはチェナーダイオードＺＤが並列接続されているので、コンデンサＣの両端電圧は、チェナーダイオードＺＤの降伏電圧Ｖｚに一致する。
【００１５】
その後、二次コイル１Ｓの高電圧が消滅すると（図１（ｄ）参照）、コンデンサＣに充電されたバイアス電圧は、図１（ｂ）に示す経路で放電する。この放電電流は、イオン電流Ｉに他ならず（図１（ｅ）参照）、イオン電流Ｉは、増幅素子Ｑ１の出力端子→帰還抵抗Ｒ２→入力抵抗Ｒ１→コンデンサＣ→二次コイル１Ｓ→点火プラグ５の経路で流れる。先に説明した通り、出力電圧Ｖｏｕｔ＝Ｒ２×Ｉの関係が成立するので、増幅部ＡＭＰからはイオン電流Ｉに比例した電圧が得られる。
【００１６】
ワンチップマイコン４は、ＣＰＵコア４ａと、Ａ／Ｄコンバータ４ｂと、出力ポート４ｃと、メモリ部４ｄとが内蔵されて構成されている。そして、Ａ／Ｄコンバータ４ｂは、イオン電流検出回路３からアナログ検出信号ＳＧを直接的に受けて、これデジタルデータに変換している。また、出力ポート４ｃからは、スイッチングトランジスタ２のベース端子に向けて点火パルスが出力されている。なお、図示の燃焼制御装置ＥＱＵでは、イオン電流検出回路３とワンチップマイコン４とが直結されているが、途中にサンプルホールド回路などを設けても良い。
【００１７】
続いて、以上の構成からなる燃焼制御装置の動作内容を説明する。実施例の燃焼制御装置では、各点火サイクルにおけるイオン電流のイオンピーク値ＰＫと、イオン電流を積分したイオン積分値ＩＮＴとの相関関係を問題にする。一般に、イオンピーク値ＰＫとイオン積分値ＩＮＴとは強い相関関係を有しており、相関係数ａ，ｂを用いると、ＩＮＴ＝ａ×ＰＫ＋ｂの一次直線（相関近似線）で近似することができる。ここで、相関係数ａ，ｂは、内燃機関の構造に基づいて予め実験的に特定することができる。そこで、本実施例では、工場出荷時などの試験動作によって、ノッキングの生じていない状態の相関係数ａ，ｂを特定し、これをワンチップマイコンのメモリ部４ｄに固定的に記憶している（図２参照）。
【００１８】
一方、ユーザによる実際の運転時にはノッキングが生じることもあるが、試験動作時の場合と同様に、各点火サイクルｉにおいて、イオン電流のイオンピーク値ＰＫ（ｉ）と、イオン電流を積分したイオン積分値ＩＮＴ（ｉ）とを算出する。そして、予めメモリ部４ｄに記憶されている相関係数ａ，ｂを使用して、今回のイオン積分値ＩＮＴ（ｉ）をａ×ＰＫ（ｉ）＋ｂで除算することで、正規化したイオン積分値Ａ（ｉ）を求める。この正規化されたイオン積分値Ａ（ｉ）は、今回のイオン積分値ＩＮＴ（ｉ）と、ノッキングの生じていない動作状態なら表れる筈の正常イオン積分値［＝ａ×ＰＫ（ｉ）＋ｂ］との比率を意味しており、Ａ（ｉ）の値が低いほど正常度合いが高いと一応想像することができる。
【００１９】
但し、内燃機関の運転条件が時々刻々変化するので、上記した正規化イオン積分値Ａ（ｉ）だけでは正確にノッキング判定ができない。すなわち、上記した相関係数ａ，ｂは、あらゆる運転条件を総合した標準的な値に過ぎず、実際の相関係数は、運転条件に応じて時々刻々変動する。そこで、本実施例では、運転条件の変化に応じた適切な判定を行うため、直近ｋ個の正規化イオン積分値Ａ（ｉ），Ａ（ｉ−１），Ａ（ｉ−２），・・・Ａ（ｉ−ｋ＋１）を平均化して移動平均値ＡＶを求め、この移動平均値ＡＶとの関係で正規化イオン積分値Ａ（ｉ）を評価してノッキング判定をしている。
【００２０】
図２と図６は、以上の動作を実現するワンチップマイコン４の動作内容を示すフローチャートである。図２は、工場出荷時などに実行される初期処理を示し、図６は、ユーザによる一般運転時に実行される定常処理を示している。
【００２１】
最初に、図２のフローチャートに基づいて初期処理について説明する。この初期処理では、エンジン回転数とエンジン負荷などを適宜に変化させたＭ種類の運転条件において、ノッキングを生じさせない動作状態で、ステップＳＴ５１〜ＳＴ５５の処理を実行する。すなわち、そのエンジンの動作特性を把握するため、運転条件を変化させつつ、ステップＳＴ５１〜ＳＴ５５の処理をＭ回繰り返す（ＳＴ５０，ＳＴ５６）。
【００２２】
具体的には、先ず、点火パルス（図３（ａ））の立下りに同期してステップＳＴ５１の処理を起動させ、サンプリング周期毎に、繰り返しイオン電流検出回路３の出力値をＡＤ変換して取得する。そして、一群Ｎ個のイオン電流データＳＧ（１）〜ＳＧ（Ｎ）をメモリ部４ｄに格納する。図３（ａ）及び図３（ｂ）は、点火パルスと、Ｎ個のイオン電流データＳＧ（ｊ）との関係を示している。
【００２３】
このようにしてＮ個のイオン電流データＳＧ（１）〜ＳＧ（Ｎ）を取得したら（ＳＴ５１）、そのＮ個のイオン電流データＳＧ（ｊ）を解析して、そのピーク位置Ｘ、及びピーク値ＳＧ（Ｘ）＝ＰＫ（ｉ）を特定してメモリ部４ｄに記憶する（ＳＴ５２）。
【００２４】
次に、ピーク位置Ｘに至るまでのイオン電流ＳＧ（１）〜ＳＧ（Ｘ−１）を、全てピーク値ＳＧ（Ｘ）に書換える（ＳＴ５３）。図３（ｃ）は、書換え処理後のイオン電流データを図示したものである。なお、本装置が問題にするノック信号は、イオン電流のピーク位置Ｘ以降の降下域に重畳するので、図示のように、ピーク位置Ｘ以前のイオン電流データＳＧ（１）〜ＳＧ（Ｘ−１）をピーク値ＳＧ（Ｘ）に書換えても何の問題も生じない。
【００２５】
続いて、Ｎ個のイオン電流データＳＧ（１）〜ＳＧ（Ｎ）について、ノック信号に対応したＢＰＦ（バンドパスフィルタ）処理を施す（ＳＴ５４）。ノック信号の周波数は、エンジンの構造に対応して一意的に特定できるので、実験的に求めたノック信号の周波数帯域についてＢＰＦ処理を実行する。なお、イオン電流データＳＧ（１）〜ＳＧ（Ｘ−１）は全て直流レベルＳＧ（Ｘ）に書換えられているので（ＳＴ５３参照）、イオン電流のピーク位置Ｘより以前の振動波その他が、ＢＰＦ処理に悪影響を与えることはなく、正確にノック周波数成分のみが抽出される。
【００２６】
ところで、この初期処理は、そもそもノッキングを生じさせない動作状態で実行されており、ＢＰＦ処理の出力（つまりノック周波数の信号）は、本来全く検出されない筈である。しかし、エンジンの運転条件を変更すると、種々の原因から、ノック信号と同一周波数帯域の信号が検出される。そこで、上記ステップＳＴ５４の処理では、ノック信号が存在しない状態において、同一帯域の類似信号を抽出することになる。図５（ａ）は、イオン電流検出回路３からの検出信号ＳＧと、ノック信号と同一帯域の類似信号との関係を図示している。なお、ここでは、ステップＳＴ５３の書換え処理を経ていないので、ノイズ成分も含めた類似信号が現れている。
【００２７】
さて、ステップＳＴ５４のＢＰＦ処理が終われば、ＢＰＦ出力波形について積分処理を実行する。積分処理の具体的手法は特に限定されないが、例えば、ＢＰＦ出力データＯＵＴ（ｉ）の絶対値ＡＢＳ［ＯＵＴ（ｉ）］に関して、ｉ＝Ｘ〜Ｎの総和演算値ΣＡＢＳ［ＯＵＴ（ｉ）］を使用することができる。この場合、総和演算値の平均値ΣＡＢＳ［ＯＵＴ（ｉ）］／（Ｎ−Ｘ＋１）を、今回の運転条件におけるイオン積分値ＩＮＴ（ｉ）としてメモリに記憶する（ＳＴ５５）。
【００２８】
以上のような処理を、運転条件を変化させつつＭ回繰り返すと、次に、Ｍ個のイオン積分値ＩＮＴ（１）〜ＩＮＴ（Ｍ）と、Ｍ個のイオンピーク値ＰＫ（１）〜ＰＫ（Ｍ）との相関関係を解析する（ＳＴ５７）。具体的には、最小二乗法などによって、イオンピーク値ＰＫ（ｉ）を横軸とし、イオン積分値ＩＮＴ（ｉ）を縦軸にとった場合の相関直線ＩＮＴ（ｉ）＝ａ×ＰＫ（ｉ）＋ｂを特定する。そして、相関直線を特定する相関係数ａ，ｂをメモリ部４ｄに固定的に格納する。図４は、イオン積分値ＩＮＴ（ｉ）と、イオンピーク値ＰＫ（ｉ）の相関関係と共に、相関直線ＩＮＴ（ｉ）＝ａ×ＰＫ（ｉ）＋ｂを図示したものである。
【００２９】
続いて、図６のフローチャートに基づいて一般運転時での動作内容を説明する。一般運転時の定常処理は、点火パルスの立下りに同期して開始され、最初に、今回の点火サイクルについてのイオン電流データＳＧ（１）〜ＳＧ（Ｎ）を取得する（ＳＴ６０）。この処理内容は、ステップＳＴ５１の場合と同様であるが、今回はイオン電流にノック信号やその他の異常ノイズが重畳している可能性がある。
【００３０】
次に、ステップＳＴ６０の処理で取得したＮ個のデータを解析して、イオン電流のピーク位置Ｘと、イオン電流のピーク値ＳＧ（Ｘ）＝ＰＫ（ｉ）を検出する（ＳＴ６１）。このステップＳＴ６１の処理は、ステップＳＴ５２の処理と同一目的の処理であるが、ここで扱うイオン電流にはノック信号や異常ノイズが重畳している可能性があるので、後述する独特の処理によって、ピーク位置Ｘとピーク値ＰＫ（ｉ）とを特定している。
【００３１】
何れにしても、ピーク位置Ｘとピーク値ＰＫ（ｉ）が特定されたら、ピーク位置より以前のデータＳＧ（１）〜ＳＧ（Ｘ−１）をピーク値ＰＫ（Ｘ）で書換える（ＳＴ６２）。次に、Ｎ個のイオン電流データＳＧ（１）〜ＳＧ（Ｎ）について、ノック信号に対応したＢＰＦ（バンドパスフィルタ）処理を施す（ＳＴ６３）。そして、ＢＰＦ処理が終われば、例えば、ＢＰＦ出力データＯＵＴ（ｉ）の絶対値ＡＢＳ［ＯＵＴ（ｉ）］に関して、ｉ＝Ｘ〜Ｎについて、ΣＡＢＳ［ＯＵＴ（ｉ）］／（Ｎ−Ｘ＋１）の演算によってイオン積分値ＩＮＴ（ｉ）を算出して、算出したイオン積分値ＩＮＴ（ｉ）をメモリに記憶する（ＳＴ６４）。なお、これらステップＳＴ６２〜ＳＴ６４の処理は、ステップＳＴ５３〜ＳＴ５５の処理と全く同じである。
【００３２】
但し、ノッキングが発生している運転状態では、ＢＰＦ出力データＯＵＴ（ｉ）には、検出対象であるノック信号が含まれている。なお、ノック周波数と同一帯域の類似信号が付随して検出されるのは、図２のステップＳＴ５５の場合と同じである。図５（ｂ）は、イオン電流検出回路の検出信号ＳＧと、ノック信号及び同一帯域の類似信号の複合信号との関係を図示している。ここでは、ステップＳＴ６２の書換え処理を経ていないので、ノイズ成分を含めた類似信号が現れている。
【００３３】
このようにして、一般運転時の点火サイクルｉについて、イオンピーク値ＰＫ（ｉ）とイオン積分値ＩＮＴ（ｉ）とが算出されたら、イオン積分値ＩＮＴ（ｉ）を基準値［ａ×ＰＫ（ｉ）＋ｂ］で除算することによって、今回のイオン積分値ＩＮＴ（ｉ）を正規化する。そして、正規化されたイオン積分値Ａ（ｉ）をメモリ部に記憶する（ＳＴ６５）。なお、正規化の演算式は、Ａ（ｉ）←ＩＮＴ（ｉ）／［ａ×ＰＫ（ｉ）＋ｂ］である。
【００３４】
続いて、直近のｋ回の正規化イオン積分値Ａ（ｉ），Ａ（ｉ−１），Ａ（ｉ−２），・・・Ａ（ｉ−ｋ＋１）の移動平均値ＡＶを求める（ＳＴ６６）。その演算式は、以下の通りであり、母数ｋは適宜に設定されるが通常は１０個程度である。
ＡＶ←［Ａ（ｉ）＋Ａ（ｉ−１）＋・・・＋Ａ（ｉ−ｋ＋１）］／ｋ
但し、ステップＳＴ６６の演算式は、上記の演算式に限定されるものではなく、エンジンの直近の動作傾向を示す統計値を算出する演算であれば足りる。例えば、二乗平均値（root mean square）やその他の統計的平均値を例示することができる。
【００３５】
何れにしても、次に、今回の正規化イオン積分値Ａ（ｉ）を、ステップＳＴ６６で算出された移動平均値ＡＶで補正して動作パラメータＢ（ｉ）を算出する（ＳＴ６７）。具体的には、Ｂ（ｉ）←Ａ（ｉ）／ＡＶの除算演算が実行されるが、ここで算出された動作パラメータＢ（ｉ）は、直近の平均的な正規化イオン積分値ＡＶとの関係における、今回の正規化イオン積分値Ａ（ｉ）の相対値を意味している。したがって、この動作パラメータＢ（ｉ）は、時々刻々変化する運転条件に即応して異常レベルを示すことになり、ノッキングの開始を素早く特異的に検出することができる。
【００３６】
そこで、ステップＳＴ６７の補正演算で得られた動作パラメータＢ（ｉ）を閾値ＴＨと対比して（ＳＴ６７）、Ｂ（ｉ）≧ＴＨとなっている場合には、今回の燃焼によってノッキングが発生していると判断して該当フラグをＯＮ状態にする（ＳＴ６９）。一方、動作パラメータＢ（ｉ）が閾値ＴＨを超えていないＢ（ｉ）＜ＴＨの場合には、ノッキングが発生していないと判定して、そのまま処理を終える。なお、ここで使用する閾値ＴＨは、メモリ部の閾値テーブルに予め格納されており、リアルタイムに変化する運転条件に対応して適宜に選択される。すなわち、ステップＳＴ６８の判定処理では、運転条件を示す各種センサの出力を検索キーにして閾値テーブルを検索して、閾値ＴＨをリアルタイムに特定している。
【００３７】
続いて、上記した一般運転時の動作を更に補充的に説明する。図７は、ノック信号と同一帯域の類似信号のみを意図的に発生させた時間帯（Ｔ０〜Ｔ１）と、ノッキングを意図的に発生させた時間帯（Ｔ１〜Ｔ２）における正規化イオン積分値Ａ（ｉ）を図示したものである。この場合には、ｔ＞Ｔ１の時間帯に限らず、ｔ＜Ｔ１の時間帯でも、正規化イオン積分値Ａ（ｉ）が閾値ＴＨを超えており、単なる正規化イオン積分値Ａ（ｉ）による判定では、ノッキングを正確に判定できないことを示している。
【００３８】
また、図８は、時間帯Ｔ０〜Ｔ１の異常時における正規化イオン積分値Ａ１の発生頻度と、時間帯Ｔ１〜Ｔ２のノッキング発生時における正規化イオン積分値Ａ２の発生頻度とを、それぞれの包絡線の濃度を区別して図示している。図８から明らかなように、異常時とノックング時とでは、正規化イオン積分値Ａ１，Ａ２の平均値ＡＶＡ１，ＡＶＡ２が大きくずれおり、そのため、同一の閾値ＴＨでは正確なノック判定ができない。しかし、その反面、互いの平均値ＡＶＡ１，ＡＶＡ２を一致させることができれば、同一の閾値ＴＨを用いて正確なノッキング判定ができることになる。
【００３９】
そこで、本実施例では、ステップＳＴ６７の処理において、各点火サイクルの正規化イオン積分値Ａ（ｉ）を、直近ｋ個の正規化イオン積分値Ａ（ｉ）の平均値ＡＶを用いて補正している。この補正処理は、Ｂ（ｉ）＝Ａ（ｉ）／ＡＶの除算演算で実現されるが、実質的には、現在のエンジンの運転条件に合わせて、今回の正規化イオン積分値Ａ（ｉ）を補正することを意味する。すなわち、本実施例では、現在のエンジンの運転条件における平均的な正規化イオン積分値ＡＶと、今回の正規化イオン積分値Ａ（ｉ）との比率Ａ（ｉ）／ＡＶを動作パラメータＢ（ｉ）とし、この動作パラメータＢ（ｉ）を評価してノック判定することで、運転条件に合わせた適切な判定を可能にしている。
【００４０】
図８は、ノック信号と同一帯域の類似信号のみを意図的に発生させた時間帯（Ｔ０〜Ｔ１）と、ノッキングを意図的に発生させた時間帯（Ｔ１〜Ｔ２）における動作パラメータＢ（ｉ）を図示したものである。この場合には、全時間帯（Ｔ０〜Ｔ２）にわたって所定の閾値ＴＨによって正しくノック判定ができることが確認される。
【００４１】
ところで、複数の気筒を有する内燃機関では、各気筒から得られる正規化イオン積分値Ａ（ｉ）や動作パラメータＢ（ｉ）は、運転動作中、基本的に、常に同様の傾向を示す筈である。すなわち、ノッキング状態であれば、全ての気筒でその兆候が現れる筈であり、また、点火時期を最遅角に制御した状態では、全ての気筒の正規化イオン積分値Ａ（ｉ）が低レベルになると思われる。そこで、運転動作中、各気筒の正規化イオン積分値Ａ（ｉ）や動作パラメータＢ（ｉ）を比較して、特定の気筒の数値だけが顕著に異なる場合には、その気筒が異常状態であると判定することが可能となる。
【００４２】
以上、本実施例の効果を説明したので、最後に、図６のステップＳＴ６０〜ＳＴ６１の処理について、より詳細に説明する。一般運転時には、イオン電流波形にノック信号だけでなくスパイクノイズも重畳するのが、以下のアルゴリズムによれば、不要成分の影響を排除しつつ、正確に、イオンピーク位置を検出することができる。
【００４３】
図１０に示すように、先ず、ワンチップマイコン４は、イオン電流検出回路３から得られるアナログ検出信号ＳＧを、直接Ａ／Ｄコンバータ４ｂで受け、デジタル変換されたデータをメモリ部４ｄに記憶する（ＳＴ１）。データ取得時のサンプリング周波数は、例えば、３０ＫＨｚ程度に設定され、この実施例ではサンプリング周期τを３３μＳとしている。なお、実際に取得されるデータは、図１０（ｂ）に示す切出しウインドＷｉｎの範囲（Ｔ）よりやや広い範囲（Ｔ＋α）のデータであるが、説明の都合上、図１０（ｂ）には、点火パルスの立ち下がりタイミング（ｔ＝０）から＋２５ｍＳのデータを全て図示している。
【００４４】
図１０（ａ）のステップＳＴ１の処理によって必要な範囲のデータ取得が終われば、次に、メモリ部４ｄに記憶した切出しウインドＷｉｎ内のＮ個のデータＳ（ｉ）について、Ｄ（ｉ）←Ｓ（ｉ）−Ｓ（ｉ−ａ）の差分演算によって微分処理を施す（ＳＴ２）。ここで、切出しウインドＷｉｎの位置及びその時間幅Ｔ（＝３３μＳ×（Ｎ−１））は、発生するイオン電流を確実に捕捉できるよう設定される。
【００４５】
イオン電流は、点火プラグ５の放電終了後に発生するが（図１（ｅ）参照）、点火プラグ５の放電終了時や、発生したイオン電流の消失タイミングは、エンジン回転数やエンジン負荷などの運転条件に応じて動的に変化する。そこで、この実施例では、運転条件と発生するイオン電流との関係を予め実験的に求めておき、その関係を示すウインド算出テーブルＴＢＬ１をメモリ部４ｄに設けている。そして、実際の運転時には、各種センサから得られるデータに基づいて前記ウインド算出テーブルＴＢＬ１を検索し、その検索結果に基づいて、切出しウインドＷｉｎの開始位置と終了位置とをリアルタイムに決定している。
【００４６】
図１０（ｂ）は、イオン電流検出回路から得られるアナログ信号波形と、時間幅Ｔの切出しウインドとの関係を図示したものであり、ここでは、点火パルスの立ち下がりタイミング（ｔ＝０）を基準にして＋４ｍＳから＋１５ｍＳの範囲を切出しウインドＷｉｎとしている。
【００４７】
図１１（ａ）に示すフローチャートの通り、図１０（ａ）の微分処理（ＳＴ２）は、ｉ＝１・・・ＮのＮ個のデータＳ（ｉ）について、Ｄ（ｉ）←Ｓ（ｉ）−Ｓ（ｉ−ａ）の演算によって実行される（ＳＴ２１〜ＳＴ２３）。図１１（ｂ）は、イオン電流検出回路から得られるアナログ検出信号ＳＧ（原波形）と、微分演算による微分波形とを図示している。なお、微分処理は、切出しウインド内のＮ個のデータについて、時間間隔ａ×τの差分を求めることを意味するが、差分時間間隔ａ×τは、イオン電流に重畳する高周波ノイズの周期τｎより長いが、イオン電流の基本波周期Ｗ０より短く設定される（Ｗｎ＜ａ×τ＜Ｗ０）。このような差分時間間隔ａ×τを用いて微分処理を実行することによって、イオン電流に重畳する高周波ノイズの影響を排除して、イオン電流波形の全体的な増減傾向を把握することができる。
【００４８】
ところで、イオン電流の基本周波数Ｆ＝１／Ｗ０は、エンジンの回転数やエンジン負荷などの運転条件に応じて動的に変化する。そこで、この実施例では、運転条件とイオン電流の基本波周期Ｗ０との関係を示すデータテーブルＴＢＬ２をメモリ部４ｄに設け、上記したＷｎ＜ａ×τ＜Ｗ０の条件を満たす時間間隔ａ×τをリアルタイムに決定している。なお、ノイズ周期Ｗｎは、イオン電流の基本周波数Ｆより高いノイズを確実に除去する趣旨から、イオン電流の基本波周期Ｗ０より若干短い値（＝Ｗ０−β）に設定される。図示例では、運転条件から２．５ＫＨｚ程度のイオン電流の基本周波数が予想されるので、ａ×τ＜４００μＳの関係を満たす値としてａ＝１０に設定して、差分時間間隔ａ×τを３３０μＳにしている。
【００４９】
図１０（ａ）のステップＳＴ２の微分処理が終われば、次に、微分値Ｄ（ｉ）を微分閾値ＴＨと比較し、微分結果フラグＦＧ（ｉ）を算出する（ＳＴ３）。図１２（ａ）は、判定処理の具体的な内容を示すフローチャートであり、図１２（ｂ）は、微分値Ｄ（ｉ）の推移を示す微分波形と、微分波形から算出される微分結果フラグＦＧ（ｉ）との関係を図示している。
【００５０】
図１２（ａ）のステップＳＴ３２〜ＳＴ３４に示す通り、変数ｉ＝１・・・ＮのＮ個のデータについて、微分値Ｄ（ｉ）が微分閾値ＴＨ以上であれば微分結果フラグＦＧ（ｉ）をＦＧ（ｉ）＝０とし、逆に、微分値Ｄ（ｉ）が微分閾値ＴＨ未満であれば微分結果フラグＦＧ（ｉ）をＦＧ（ｉ）＝１とする。ここで閾値ＴＨは、適宜に設定されるが、通常は、ＴＨ＝０とすれば足りる。
【００５１】
なお、閾値ＴＨ＝０と設定した場合、アナログ信号波形ＳＧが時間軸方向に増加傾向（Ｄ（ｉ）＞０）となる時間帯は、判定処理（ＳＴ３）によって微分結果フラグＦＧ（ｉ）が０となり、逆に、アナログ信号波形ＳＧが時間軸方向に減少傾向（Ｄ（ｉ）＜０）となる時間帯は、微分結果フラグＦＧ（ｉ）が１となる。
【００５２】
何れにしても、図１０（ａ）のステップＳＴ３の処理によって微分結果フラグＦＧ（ｉ）を算出したら、次に、Ｎ個の微分結果フラグＦＧ（ｉ）について、時間軸上を逆向きに（換言するとＦＧ（Ｎ）からＦＧ（１）まで降順に）、特殊なカウント処理を行う（図１０のＳＴ４）。
【００５３】
図１３（ａ）に示す通り、このカウント処理では、最初にカウンタ変数ＣＴの全領域をゼロクリアした後（ＳＴ４１）、ｉ＝Ｎから開始してｉ＝１まで時間軸上を逆向きに、ステップＳＴ４３〜ＳＴ４８の処理を実行する。ここで、時間軸上を逆方向に処理するのは、(a)エンジン制御において、イオン電流波形の第２ピークから波形終了までのデータが重要であること、及び(b)エンジン点火からイオン電流の第２ピークに至るまでの波形は比較的乱れやすいため、時間軸上を正方向に処理すると第２ピークを誤検出する可能性が高まること、のためである。
【００５４】
図１３（ａ）に示すステップＳＴ４３〜ＳＴ４８の処理を具体的に説明すると、変数ｉに対する処理では、先ず、微分結果フラグＦＧ（ｉ）の値が１か否か判定される（ＳＴ４３）。そして、微分結果フラグＦＧ（ｉ）が１であれば、ＣＴ（ｉ）←ＣＴ（ｉ＋１）＋１の演算によって、カウンタ値ＣＴ（ｉ）を、時間軸上の上隣りのカウンタ値ＣＴ（ｉ＋１）より一つ増加させる（ＳＴ４７）。一方、微分結果フラグＦＧ（ｉ）が０であれば、時間軸上で時間軸変数ｉより上方であって、ノイズパルス幅分のｂ個のカウンタ値ＣＴ（ｉ＋１），ＣＴ（ｉ＋２），・・・，ＣＴ（ｉ＋ｂ）が同一値か否かが判定される（ＳＴ４４）。
【００５５】
そして、全てのカウンタ値が同一値であれば、カウンタ値ＣＴ（ｉ）をゼロクリアし（ＳＴ４５）、逆に、一致しないカウンタ値が存在すれば、ＣＴ（ｉ）←ＣＴ（ｉ＋１）の演算によってカウンタ値ＣＴ（ｉ）の値を一つ上方のカウンタ値ＣＴ（ｉ＋１）と同一値にする（ＳＴ４６）。
【００５６】
図１３（ａ）のアルゴリズムにおいて、ノイズパルス幅ｂ（時間換算するとｂ×τ）は、排除すべきスパイクノイズのパルス幅に対応して決定され、より具体的には、運転条件から把握されるイオン電流の基本周波数に基づいて決定される。例えば、実施例の運転条件では、イオン電流の基本周波数が２．５ＫＨｚ程度であるので、この周波数より十分高いノイズを排除するべく、ｂ＝３と決定している。例えば、ノイズパルス幅ｂ＝３とした場合には、時間換算したノイズパルス幅ｂ×τが９９μＳとなり、このパルス幅９９μＳを有するノイズの周波数は５ＫＨｚ程度となる。したがって、図１３のアルゴリズムでノイズパルス幅ｂ＝３と設定することで、周波数５ＫＨｚ以上のノイズ成分を排除することが可能となる。
【００５７】
図１４（ａ）は、ノイズパルス幅ｂをｂ＝３に設定した場合について、図１３のアルゴリズムを説明するための図面であり、メモリ部４ｄに確保されている微分結果フラグ領域ＦＧとカウンタ領域ＣＴとを示している。ｂ＝３に設定した場合には、カウンタ領域ＣＴ（ｉ）の値を決定する際には、微分結果フラグＦＧ（ｉ）の値が問題になり（ＳＴ４３）、ＦＧ（ｉ）＝０なら、ＣＴ（ｉ＋１）、ＣＴ（ｉ＋２）、ＣＴ（ｉ＋３）の値が問題になり、全て同一値なら、ゼロクリアされた値がカウンタ領域ＣＴ（ｉ）に格納される（ＳＴ４５）。また、ＣＴ（ｉ＋１）、ＣＴ（ｉ＋２）、ＣＴ（ｉ＋３）の値が一致しなければ、ＣＴ（ｉ＋１）の値がそのままカウンタ領域ＣＴ（ｉ）に格納される（ＳＴ４６）。
【００５８】
以上の通り、このアルゴリズムでは、微分結果フラグＦＧ（ｉ）＝１の場合だけ、カウンタ値がインクリメント（＋１）される。先に説明した通り、微分結果フラグＦＧ（ｉ）＝１は、時間間隔ａ×τの微分値Ｄ（ｉ）が、閾値ＴＨより小さいことを意味するが（Ｄ（ｉ）＜ＴＨ）、特に、閾値ＴＨ＝０に設定した本実施例では、微分結果フラグＦＧ（ｉ）＝１は、時間軸正方向の微分値Ｄ（ｉ）が負であることを意味する。図１４（ｂ）は、この関係を図示したものであり、原波形の傾きが正の場合には、微分結果フラグＦＧ（ｉ）が０となり、原波形の傾きが負の場合には、微分結果フラグＦＧ（ｉ）が１になっている。なお、微分結果フラグＦＧ（ｉ）の位相がやや遅れるのは、時間間隔ａ×τの差分による微分演算を採っているからである。
【００５９】
何れにしても、本実施例では、時間軸上の上方から下方に向けて特殊なカウント演算を行い、微分結果フラグＦＧ（ｉ）が１の場合だけ、カウンタ値をインクリメント（＋１）する。そして、微分結果フラグＦＧ（ｉ）が０の場合には、それがノイズパルス幅ｂ分だけ連続しない限り、カウンタ値を変化させず、もしノイズパルス幅ｂ以上に連続してＦＧ（ｉ）＝０の場合には、カウンタ値をゼロクリアする。したがって、時間軸上逆向きに原波形が単調増加する状態を、カウンタ値で算出することになり、スパイクノイズのように、途中に急峻に増減する部分が含まれていても、これは読み飛ばされることになり、なだらかなピークのみが抽出される。
【００６０】
さて、図１０に戻って説明を続けると、図１０（ａ）のステップＳＴ５の処理では、カウンタ領域ＣＴ（１）〜ＣＴ（Ｎ）の各数値から、その最大値を抽出し、最大値を示すカウンタ位置からイオン電流のピーク位置（第２ピーク位置）を特定する。そして、特定されたピーク位置における入力データＳ（ｉ）からイオン電流のピーク値を特定する（ＳＴ５）。
【００６１】
この場合、図１５（ｃ）に示すように、検出したピーク位置に、たまたまスパイクノイズが重畳している可能性もあり、その場合にはイオン電流のピーク値が不正確な値となる。そこで、ステップＳＴ５の処理でピーク位置が検出されたら、改めてステップＳＴ２で算出された微分値（図１１参照）をチェックして、その微分値が閾値を超える位置（つまりノイズの位置）を検証する（ＳＴ６）。そして、検証されたノイズの発生位置が、ステップＳＴ５の処理で検出されたイオン電流のピーク位置と一致する場合には、イオン電流のピーク位置を時間軸上後方にずらして、ノイズの重畳していないピーク位置を採用することになる（ＳＴ６）。なお、微分値と閾値との対比に代えて、この微分値の再微分値と閾値とを対比するもの効果的である。
【００６２】
以上の通り、上記の構成によれば、イオン電流と切出しウインドの位置関係が最適状態でなく、切出しウインドの中にイオン電流の発生前のピークが含まれても、或いはまた、コロナ放電ノイズのようなスパイクノイズがイオン電流波形に重畳されても、イオン電流のピーク位置及びピーク電流値を正確に検出することができる。
【００６３】
以上本発明について詳細に説明したが具体的な記載内容は特に本発明を限定するものではない。特に、フローチャートで例示した処理内容については各種の改変が可能である。また、ワンチップマイコンを例示したが、ＤＳＰ(Digital Signal Processor)など類似の電子素子を使用して良いのは勿論である。
【図面の簡単な説明】
【００６４】
【図１】実施例に係る燃焼制御装置の回路構成を示す回路図である。
【図２】エンジン初期動作時のワンチップマイコンの制御動作の概要を示すフローチャートである。
【図３】図２のアルゴリズムを説明するタイムチャートである。
【図４】図２のアルゴリズムで特定される相関図と相関近似線を図示したものである。
【図５】ノック信号と、ノック信号と同一周波数帯域の類似信号とを図示したものである。
【図６】一般運転時のワンチップマイコンの制御動作の概要を示すフローチャートである。
【図７】類似信号のみ発生する異常動作時と、ノック信号のみが発生するノッキング時について、正規化イオン積分値の時間的推移を図示したものである。
【図８】異常動作時とノッキング時について、各正規化イオン積分値の発生頻度を図示したものである。
【図９】実施例の判定パラメータを用いた場合の効果を説明するタイムチャートである。
【図１０】ステップＳＴ６０〜ＳＴ６１の内容をやや詳細に示すフローチャートと、イオン電流検出回路の検出信号波形である。
【図１１】微分処理を示すフローチャートと、微分波形及び原波形の波形図である。
【図１２】判定処理を示すフローチャートと、微分波形及び微分結果フラグを示す図面である。
【図１３】カウンタ処理を示すフローチャートと、微分結果フラグ及びカウント結果を示す図面である。
【図１４】カウントアルゴリズムと、原波形及び微分結果フラグを示す図面である。
【図１５】別のカウンタ処理とそのアルゴリズムを示す図面である。
【符号の説明】
【００６５】
ＥＱＵ          燃焼制御装置
３              信号検出部（イオン電流検出回路）
ＳＧ（１）〜ＳＧ（Ｎ）  信号入力データ
ＳＴ６０        データ記憶手段
ＳＴ６１        検出手段
ＩＮＴ（ｉ）    実測統計値（イオン積分値）
ＳＴ６４        抽出手段
ＳＴ６５        正規化手段
ＳＴ６６        基準決定手段
ＳＴ６８        判定手段
【図１】
0004637039.tif 000002
【図２】
0004637039.tif 000003
【図３】
0004637039.tif 000004
【図６】
0004637039.tif 000005
【図１０】
0004637039.tif 000006
【図１１】
0004637039.tif 000007
【図１２】
0004637039.tif 000008
【図１３】
0004637039.tif 000009
【図１４】
0004637039.tif 000010
【図１５】
0004637039.tif 000011
【図４】
0004637039.tif 000012
【図５】
0004637039.tif 000013
【図７】
0004637039.tif 000014
【図８】
0004637039.tif 000015
【図９】
0004637039.tif 000016