(57)【特許請求の範囲】
【請求項１】
内燃機関の燃焼状態を検出する燃焼状態検知手段と、
少なくとも２つの検出対象の周波数の異常燃焼を抽出可能なノッキングフィルタと、
前記ノッキングフィルタの作動を内燃機関の運転領域で切り替える異常燃焼検出手段を有するエンジン制御装置において、
前記エンジン制御装置は、少なくとも第１の周波数を検出対象として抽出する第１のフィルタと、前記第１の周波数とは異なる周波数を検出対象として抽出する第２のフィルタを予め有し、
前記第１のフィルタと前記第２のフィルタが抽出する周波数以外の第３の周波数のノッキングの発生を予見した場合に、
前記異常燃焼検出手段は、前記第１のフィルタ又は前記第２のフィルタのうち作動していないフィルタを前記第３の周波数を検出対象として検知可能な第３のフィルタへと構成を変更することを特徴とするエンジン制御装置。
【請求項２】
請求項１に記載のエンジン制御装置において、
前記ノッキングフィルタの数は、検出すべき周波数の数よりも少ないことを特徴としたエンジン制御装置。
【請求項３】
請求項１に記載のエンジン制御装置において、
前記第１のフィルタまたは前記第２のフィルタが作動中に、前記第３の周波数のノッキングの発生を予見した場合に、
前記異常燃焼検出手段は、前記作動中のフィルタを切り替える前に前記第３のフィルタへの構成の変更を行うことを特徴とするエンジン制御装置。
【請求項４】
請求項１に記載のエンジン制御装置において、
前記第３のフィルタは、エンジン回転数に応じて切り替え前に作動させることを特徴としたエンジン制御装置。
【請求項５】
請求項１に記載のエンジン制御装置において、
前記第３のフィルタは、エンジン回転数の加速度に応じて切り替え前に作動することを特徴としたエンジン制御装置。
【請求項６】
請求項１に記載のエンジン制御装置において、
前記第３のフィルタは、エンジン負荷に応じて作動することを特徴としたエンジン制御装置。
【請求項７】
請求項１に記載のエンジン制御装置において、
作動中の前記第１のフィルタ又は前記第２のフィルタをエンジン運転領域の上下限の間に、２回以上切り替えることを特徴としたエンジン制御装置。
【請求項８】
請求項１に記載のエンジン制御装置において、
前記第３のフィルタは切り替え前の所定時間前に作動することを特徴としたエンジン制御装置。
【請求項９】
請求項８に記載のエンジン制御装置において、
前記所定時間は前記第３のフィルタの時定数に応じて設定することを特徴としたエンジン制御装置。
【請求項１０】
請求項８に記載のエンジン制御装置において、
前記所定時間はエンジン運転状態に応じて補正することを特徴としたエンジン制御装置。
【請求項１１】
請求項１０に記載のエンジン制御装置において、
前記エンジン運転状態はエンジン回転数の加速度であることを特徴としたエンジン制御装置。
【請求項１２】
請求項８に記載のエンジン制御装置において、
前記所定時間は前記第３のフィルタが必要となるまでの時間を推定して設定することを特徴とするエンジン制御装置。
【請求項１３】
請求項８に記載のエンジン制御装置において、
前記所定時間は前記第３のフィルタが必要となるまでの燃焼サイクルの期間を推定して設定することを特徴とするエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の異常燃焼によって発生する振動からノッキングの発生を判定するノッキング検出制御装置を備えたエンジン制御装置に関するものである。
【背景技術】
【０００２】
周知のように、エンジンに発生するノッキング現象は、エンジンの燃焼室内の端末部の未燃ガスの自己発火により該燃焼室内のガスが振動を起こし、この振動がエンジン本体に伝わる現象であり、該ノッキング現象は、エンジンの各部への衝撃によるエンジン構成部品の損傷や、衝撃音発生による運転者へ違和感を与えるため、できるだけ回避するのが望ましいものであり、そのためには、ノッキングの発生を正確に検出することが不可欠となっている。
【０００３】
そこで特開昭５６−０００６３７号公報には内燃機関に発生する振動を検出するノック検出器と、ノッキング検出器に接続され、ノッキング周波数帯において互いに異なる周波数帯域のフィルタ特性をもつ複数のフィルタを有するフィルタ回路と、機関状態に応じて前記各フィルタ回路のうち所定の出力を選択するノッキング検出装置が開示されている。
【０００４】
内燃機関に発生するノッキングの周波数帯は、内燃機関の運転状態によって異なる。例えば、内燃機関回転数が高回転または低回転にあるかによって、ノッキングの周波数帯も異なるため、それらノッキング周波数帯に対して、互いに異なる周波数帯域のフィルタ特性を有する複数のフィルタ回路を設け、内燃機関の運転状態によってフィルタ回路出力を選択するようにすれば、信頼性の高いノッキング検出を行うことが可能となる。
【０００５】
また、近年フィルタ回路はマイクロコンピュータに実装するソフトウェアによるデジタルフィルタで実現することも知られており、さらにはマイクロコンピュータの機能としてデジタルフィルタを構成する方法も知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開昭５６−０００６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した特許文献１に係る内燃機関のノッキング検出装置によれば、ノッキング周波数帯において互いに異なる周波数帯域のフィルタ特性をもつ複数のフィルタを有するフィルタ回路と、機関状態に応じて前記各フィルタ回路のうち所定の出力を選択することで、ノッキング検出の信頼性を高めることができる。
【０００８】
しかし、内燃機関の状態に応じたフィルタ回路を予め備える必要があり、回路が増加し、コストが上がるという課題がある。
【０００９】
そこで、複数のフィルタ回路をマイクロコンピュータに実装するソフトウェアによる複数のデジタルフィルタで実現することで、フィルタ回路の増加を抑えコストを低減する方法が知られているが、フィルタする周波数帯域が増加するほどデジタルフィルタの個数が増加し、マイクロコンピュータのＣＰＵ演算負荷が増加するという課題がある。
【００１０】
また、複数のフィルタ回路をマイクロコンピュータの機能としてとしてデジタルフィルタを構成することで、ＣＰＵ演算負荷を低減する方法が知られているが、デジタルフィルタの個数がマイクロコンピュータの仕様に依存するため、フィルタする周波数帯域が増加すると、デジタルフィルタの個数が不足するという課題がある。
【００１１】
また、内燃機関の状態に応じて前記複数のフィルタを選択する場合、フィルタの切り替わり直後は、フィルタの出力が安定しないため、フィルタ切り替わり直後ではノッキング検出の精度が悪化するという課題がある。
【００１２】
本発明は、このような問題点を解決すべくなされたもので、その技術的課題は、複数のフィルタを切り替えることでノッキングを検出する内燃機関の制御装置において、ソフトウェアによるＣＰＵ演算負荷の増加や、マイクロコンピュータに実装されるデジタルフィルタの不足を抑え、フィルタ切り替え時のノッキング検出の精度の悪化を防止するエンジン制御装置を提供することにある。
【課題を解決するための手段】
【００１３】
上記の目的を達成するために本発明は、内燃機関の燃焼状態を検出する燃焼状態検知装置を持ち、異常燃焼を抽出可能なフィルタ機能を持ち、前記フィルタ機能の作動を運転領域で切り替える異常燃焼検出装置において、作動しているフィルタを切り替える前に切り替え先のフィルタを作動することを特徴とするエンジン制御装置を備えることとした。
【発明の効果】
【００１４】
内燃機関の燃焼状態を検出する燃焼状態検知装置を持ち、異常燃焼を抽出可能なフィルタ機能を持ち、前記フィルタ機能の作動を運転領域で切り替える異常燃焼検出装置において、複数のフィルタを切り替えることで、ソフトウェアによるＣＰＵ演算負荷の増加や、マイクロコンピュータに実装されるデジタルフィルタの不足を抑え、フィルタ切り替え前に予め切り替え先のフィルタを作動することで、フィルタ切り替え時のノッキング検出の精度の悪化を防止するエンジン制御装置を提供することができる。また、上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態によるエンジン制御のシステム構成図である。
【図２】本発明の一実施形態によるコントロールユニットの構成図である。
【図３】本発明の制御構成を示すフローチャートである。
【図４】本発明の目標フィルタ演算を示すフローチャートである。
【図５】本発明の目標フィルタ設定マップである。
【図６】本発明のスタンバイフィルタ演算を示すフローチャートである。
【図７】本発明のアクティブフィルタ演算を示すフローチャートである。
【図８】本発明のアクティブフィルタ設定マップである。
【図９】本発明のフィルタＡ演算を示すフローチャートである。
【図１０】本発明のフィルタＢ演算を示すフローチャートである。
【図１１】本発明のノック検出用フィルタ演算を示すフローチャートである。
【図１２】第一の実施形態によるフィルタ設定のタイムチャートである。
【図１３】本発明の第二の実施形態によるスタンバイフィルタ演算を示すフローチャートである。
【図１４】第二の実施形態によるフィルタ設定のタイムチャートである。
【発明を実施するための形態】
【００１６】
本発明の実施形態について図面を用いて詳細に説明するが、本発明は以下の実施形態に限定されることなく、本発明の技術的な概念の中で種々の変形例や応用例をもその範囲に含むものである。
【実施例１】
【００１７】
最初に、図１から図１２を用いて本発明が適用される内燃機関の制御システムの第１の構成について説明する。ここで、図１に示す実施例は所謂ポート噴射方式の４気筒内燃機関を示しているが、筒内直接噴射方式のエンジンでも良く、気筒数に関わらず適用可能である。
【００１８】
図１は、第１の構成による内燃機関制御システムの構成図である。
【００１９】
内燃機関６５に吸入される空気は、エアクリーナ６０を通過し、ホットワイヤ式エアフローセンサ２に導かれる。このホットワイヤ式エアフローセンサ２には熱線式空気流量センサが使用される。このホットワイヤ式エアフローセンサ２から吸入空気量に相当する信号が出力されるとともに、サーミスターを用いた吸気温度センサ２aで計測される吸気温度信号が出力される。次に、吸入空気は接続されたダクト６１、空気流量を制御する絞り弁４０を通り、コレクタ６２に入る。また、前記絞り弁はコントロールユニット７１で駆動されるスロットル駆動モータ４２により動かされる。前記コレクタ６２に入った空気はエンジンと直結する各吸気管に分配され、シリンダ内に吸入される。バルブ駆動系にはバルブタイミング可変機構を持ち、目標角度に向けフィードバック制御する。また、シリンダブロックに取り付けられたクランク角センサ７からは、所定のクランク角毎にパルスが出力されこれらの出力は、コントロールユニット７１に入力される。また、シリンダブロックに取り付けられた振動検出センサ４は、内燃機関に発生する振動を電圧に変換し出力されこれらの出力は、コントロールユニット７１に入力される。振動検出センサ４は、全気筒共通で１つでも良いし、気筒別に設けても良いし、予めグルーピングされた気筒別に設けても良く、単数でも複数でも良い。
【００２０】
燃料は燃料タンク２１から燃料ポンプ２０で吸引、加圧され、プレッシャレギュレータ２２により一定圧力に調圧され、吸気管に設けられたインジェクタ２３から前記吸気管内に噴射される。
【００２１】
絞り弁４０には絞り弁の開度を検出するスロットルセンサ１がとりつけられており、このセンサ信号はコントロールユニット７１に入力され、絞り弁４０の開度のフィードバック制御や、全閉位置の検出及び加速の検出等を行う。尚、フィードバックの目標開度は、アクセル開度センサ１４で求まるドライバーのアクセル踏み込み量とアイドル回転数制御すなわちＩＳＣ制御分とから求まるものである。
【００２２】
内燃機関６５には、冷却水温を検出するための水温センサ３が取り付けられており、このセンサ信号は、コントロールユニット７１に入力され、内燃機関６５の暖機状態を検出し、燃料噴射量の増量や点火時期の補正及びラジエータファン７５のＯＮ／ＯＦＦやアイドル時の目標回転数の設定を行う。また、アイドル時の目標回転数や、負荷補正量の算出するために、エアコンクラッチの状態をモニターするエアコンスイッチ１８、駆動系の状態をモニターするトランスミッションに内蔵されたニュートラルスイッチ１７、が取り付けられている。
【００２３】
空燃比センサ８は、エンジンの排気管に装着されており排気ガスの酸素濃度に応じた信号を出力するものである。この信号はコントロールユニット７１に入力され、運転状況に応じて求められる目標空燃比になるように、燃料噴射パルス幅を調整する。
【００２４】
点火コイル３０には、コイルが配設され、コントロールユニット７１と接続される。コントロールユニット７１にて演算されるコイルの通電時間と点火時期にしたがい点火信号とタイミング信号が入力され、コイルによる放電により、点火プラグ３３の火花放電が実施される。
【００２５】
次に、図２を用いて本実施形態による自動車のコントロールユニット７１の入出力信号について説明する。
【００２６】
コントロールユニット７１は、図２に示すように、ＣＰＵ７８と、電源ＩＣ７９とから構成されている。ここで、このコントロールユニット７１に入力する信号等について、同図を用いて整理すると、エアフローセンサと内蔵吸気温度センサ２a、クランク角センサ７、スロットルセンサ１、水温センサ３、油温センサ２５、アクセル開度センサ１４からの信号などを入力する。また、振動検出センサは、フィルタＡ１０１とフィルタ１０２Ｂに入力し、前記フィルタＡ１０１とフィルタ１０２Ｂの出力がＣＰＵ７８に入力される。フィルタＡ１０１とフィルタＢ１０２は、ＣＰＵ７８によって任意の周波数帯を設定でき、ＣＰＵ７８により設定された周波数帯を抽出することができる。
コントロールユニット７１からの出力信号は、インジェクタ２３、フューエルポンプ２０、点火コイル３０、スロットル駆動モータ４２に出力される。
【００２７】
次に、図３〜図１１を用いて、本実施形態による自動車の制御装置による具体的な制御内容について説明する。
【００２８】
最初に、図３を用いて、本実施形態によるエンジン制御装置の制御内容の概略について説明する。
【００２９】
図３は、本発明の一実施形態によるエンジン制御装置のノック検出用フィルタの制御内容の概略を示すフローチャートである。
【００３０】
図３の制御フローは、ステップ３１１０（目標フィルタ演算）と、ステップ３１２０（スタンバイフィルタ演算）と、ステップ３１３０（アクティブフィルタ時判定）と、ステップ３１４０（フィルタＡ設定）と、ステップ３１５０（フィルタＢ設定）と、ステップ３１６０（ノック検出用フィルタ設定）と、から構成される。
【００３１】
図３の内容は、コントロールユニット７１のＣＰＵ７８にプログラミングされ、あらかじめ定められた周期で繰り返し実行される。例えばクランク角度に同期した所定角度又は角度に換算した時間タイマによる割込み処理として実行される。すなわち、以下のステップ３１１０〜３１６０の処理は、コントロールユニット７１によって実行される。
【００３２】
ステップ３１１０は、ノッキング周波数を抽出するための目標フィルタ演算行程である。エンジンの作動状態に応じてフィルタの周波数を設定する。
【００３３】
ステップ３１２０は、エンジン作動状態の変化によりノッキング周波数が変化した場合に備え、予めフィルタを設定し、作動しておくことで、フィルタ切替え時の応答遅れを防止するスタンバイフィルタ演算行程であり、エンジン作動状態から、ノッキング周波数の変化を推定し、スタンバイフィルタの周波数を設定する。
【００３４】
ステップ３１３０は、フィルタＡまたはフィルタＢのどちらのフィルタでノッキングを検出するかを判定するアクティブフィルタ判定行程である。目標フィルタの演算結果に応じてフィルタＡまたはフィルタＢを選定する。
【００３５】
ステップ３１４０は、フィルタＡに抽出する周波数を設定するフィルタＡ設定行程である。アクティブフィルタ判定の結果に応じて、目標フィルタまたはスタンバイフィルタのいずれかを設定する。
【００３６】
ステップ３１５０は、フィルタＢに抽出する周波数を設定するフィルタＢ設定行程である。アクティブフィルタ判定の結果に応じて、目標フィルタまたはスタンバイフィルタのいずれかを設定する。
【００３７】
ステップ３０６０は、ノッキングを抽出するためのフィルタを設定するノック検出用フィルタ設定行程である。アクティブフィルタに応じて、フィルタＡまたはフィルタＢのいずれかをノック検出用フィルタとして設定する。
【００３８】
次に図４を用いて、図３ステップ３１１０の目標フィルタ演算の詳細を説明する。
【００３９】
ステップ４１１０は運転領域取得行程である。エンジン回転数や、負荷などからエンジンの運転領域を判定する。
【００４０】
ステップ４１２０は目標フィルタ設定行程である。ステップ４１１０で取得した運転領域に基づいて、ノッキング周波数を抽出できるフィルタ設定を演算する。ここで、フィルタ設定は、ハイパスフィルタ、ローパスフィルタ、バンドパスフィルタのいずれでもよく、ハイパスフィルタおよびローパスフィルタの場合は、フィルタのカットオフ周波数を設定し、バンドパスフィルタの場合は、フィルタの中心周波数、または、カットオフ周波数を設定しても良い。フィルタの設定値は、演算で算出しても良いし、図５に示すエンジン回転数と負荷による設定マップを検索し、設定しても良い。ここで、エンジン回転数と負荷による周波数の境界にはヒステリシス（図５の破線と実線）を設けることが望ましく、エンジン回転数、または、負荷が増加する場合は、実線を超える毎にＦ１、Ｆ２、Ｆ３と切り替わり、また、エンジン回転数、または、負荷が減少する場合は、破線を超える毎にＦ３、Ｆ２、Ｆ１と切り替わる。なお、図５でフィルタに設定するノッキング周波数をＦ１、Ｆ２、Ｆ３として記載している。
【００４１】
また、図５では、エンジン回転数と負荷に応じて設定しているが、ＣＰＵの演算負荷に応じて設定してもよく、例えば高回転等で演算負荷が高くなる領域では演算負荷が低減できるフィルタを設定することが望ましい。
【００４２】
ステップ４１３０にて、ステップ４１２０の検索結果を目標フィルタとして設定する。
【００４３】
本実施例では、目標フィルタは１つの周波数帯を設定する構成で記載しているが、目標フィルタは複数あっても良い。また、図５ではフィルタを３段階で記載しているが、ノッキング周波数の変化度合いに応じて４段階以上でも良い。
【００４４】
また、図５では運転領域内で目標フィルタを２回切り替える構成としているが、切り替え回数は、検出したい周波数の個数と、作動可能なフィルタの個数に応じて設定することが望ましい。
【００４５】
次に図６を用いて、図３ステップ３１２０のスタンバイフィルタ演算の詳細を説明する。
【００４６】
ステップ６１１０は、目標フィルタ取得行程であり、図４で設定した目標フィルタを取得する。
【００４７】
ステップ６１２０は、目標フィルタが図５に記載のＦ１であるか否かの判断行程である。Ｆ１である場合は、ステップ６１３０へ進み、否の場合は、ステップ６１７０へ進む。
【００４８】
ステップ６１３０は、エンジン回転数がＦ１判定値Ｌよりも小さいか否かの判断行程である。Ｆ１判定値Ｌよりも小さいときはステップ６１４０へ進み、ステップ６１４０にて、スタンバイフィルタにＦ１を設定する。否の場合は、ステップ６１５０へ進む。ステップ６１４０ではスタンバイフィルタにＦ１を設定しているが、停止としても良い。このようにすることで、フィルタをハードウェアで実現している場合は消費電力を低減でき、フィルタをソフトウェアで実現している場合は、演算負荷を低減することができる。
【００４９】
ステップ６１５０は、エンジン回転数がＦ１判定値Ｈよりも大きいか否かの判断行程である。Ｆ１判定値Ｈよりも大きいときはステップ６１６０へ進み、ステップ６１６０にて、スタンバイフィルタにＦ２を設定する。否の場合は、スタンバイフィルタの設定を更新せず（前回値保持）に処理を終了する。
【００５０】
ステップ６１７０は、目標フィルタが図５に記載のＦ２であるか否かの判断行程である。Ｆ２である場合は、ステップ６１８０へ進み、否の場合は、ステップ６２３０へ進む。
【００５１】
ステップ６１８０は、エンジン回転数がＦ２判定値Ｌよりも小さいか否かの判断行程である。Ｆ２判定値Ｌよりも小さいときはステップ６１９０へ進み、ステップ６１９０にて、スタンバイフィルタにＦ２を設定する。否の場合は、ステップ６２１０へ進む。
【００５２】
ステップ６２１０は、エンジン回転数がＦ２判定値Ｈよりも大きいか否かの判断行程である。Ｆ２判定値Ｈよりも大きいときはステップ６２２０へ進み、ステップ６２２０にて、スタンバイフィルタにＦ３を設定する。否の場合は、スタンバイフィルタの設定を更新せず（前回値保持）に処理を終了する。
【００５３】
ステップ６２３０は、エンジン回転数がＦ３判定値Ｌよりも小さいか否かの判断行程である。Ｆ３判定値Ｌよりも小さいときはステップ６２４０へ進み、ステップ６２４０にて、スタンバイフィルタにＦ２を設定する。否の場合は、ステップ６２５０へ進む。
【００５４】
ステップ６２５０は、エンジン回転数がＦ３判定値Ｈよりも大きいか否かの判断行程である。Ｆ３判定値Ｈよりも大きいときはステップ６２６０へ進み、ステップ６２６０にて、スタンバイフィルタにＦ３を設定する。否の場合は、スタンバイフィルタの設定を更新せず（前回値保持）に処理を終了する。ステップ６１６０ではスタンバイフィルタにＦ３を設定しているが、停止としても良い。このようにすることで、フィルタをハードウェアで実現している場合は消費電力を低減でき、フィルタをソフトウェアで実現している場合は、演算負荷を低減することができる。
【００５５】
なお、Ｆ１判定値Ｌ、Ｆ１判定値Ｈ、Ｆ２判定値Ｌ、Ｆ２判定値Ｈ、Ｆ３判定値Ｌ、Ｆ３判定値Ｈは、目標フィルタの切り替わりを考慮して設定することが望ましく、好ましくは、目標フィルタが切り替わる前にスタンバイフィルタが所望のフィルタに設定されるように設定することが望ましい。そのため、各判定値を負荷やエンジン回転数の加速度で補正することが望ましい。特にエンジン加速度が大きい場合は、目標フィルタの切り替わりが速くなるため、より低回転で高回転側のフィルタを設定することが望ましく、エンジン加速度が負の場合、すなわち減速している場合は、より高回転で低回転側のフィルタを設定することが望ましい。
【００５６】
次に図７を用いて、図３ステップ３１３０のアクティブフィルタ判定の詳細を説明する。
【００５７】
ステップ７１１０は、目標フィルタ取得行程である。図４で設定した目標フィルタを取得する。
【００５８】
ステップ７１２０は、アクティブフィルタ検索行程であり、ノッキング検出に使用するフィルタを、図８のように予め設定されたテーブルを検索し算出する。例えば、図４から設定した目標フィルタがＦ１の場合は、図８のテーブルからアクティブフィルタはフィルタＡが設定される。
【００５９】
本実施例では、目標フィルタは１つの周波数帯を設定する構成で記載しているが、目標フィルタは複数あっても良い。その際は、設定するアクティブフィルタも複数となる。
【００６０】
ステップ７１３０は、アクティブフィルタ設定行程であり、ステップ７１２０の検索結果に基づいてアクティブフィルタを設定する。
【００６１】
次に図９を用いて、図３ステップ３１４０のフィルタＡ設定の詳細を説明する。
【００６２】
ステップ９１１０は、アクティブフィルタ取得行程である。図８で設定したアクティブフィルタを取得する。
【００６３】
ステップ９１２０は、アクティブフィルタがフィルタＡであるか否かの判断行程である。アクティブフィルタがフィルタＡである場合は、ステップ９１３０へ進み、ステップ９１３０にてフィルタＡに図４で設定した目標フィルタを設定する。否の場合は、ステップ９１４０へ進み、フィルタＡに図６で設定したスタンバイフィルタを設定する。
【００６４】
次に図１０を用いて、図３ステップ３１５０のフィルタＢ設定の詳細を説明する。
【００６５】
ステップ１０１１０は、アクティブフィルタ取得行程である。図８で設定したアクティブフィルタを取得する。
【００６６】
ステップ１０１２０は、アクティブフィルタがフィルタＢであるか否かの判断行程である。アクティブフィルタがフィルタＢである場合は、ステップ１０１３０へ進み、ステップ１０１３０にてフィルタＢに図４で設定した目標フィルタを設定する。否の場合は、ステップ１０１４０へ進み、フィルタＢに図６で設定したスタンバイフィルタを設定する。
【００６７】
次に図１１を用いて、図３ステップ３１６０のノック検出用フィルタ設定の詳細を説明する。
【００６８】
ステップ１１１１０は、アクティブフィルタ取得行程である。図８で設定したアクティブフィルタを取得する。
【００６９】
ステップ１１１２０は、アクティブフィルタがフィルタＡであるか否かの判断行程である。アクティブフィルタがフィルタＡである場合は、ステップ１１１３０へ進み、ステップ１１１３０にてノック検出用フィルタにフィルタＡを設定する。否の場合は、ステップ１１１４０へ進み、ノック検出用フィルタにフィルタＢを設定する。ここで設定したノック検出用フィルタを用いてノッキン周波数を抽出する。
【００７０】
次に図１２を用いて、本実施形態による内燃機関の制御装置の動作について説明する。
【００７１】
図１２は、本発明の一実施形態による内燃機関の制御装置の動作例を示すタイムチャートである。
【００７２】
図１２の例では、エンジン回転数が増加する状態において、フィルタＡ、フィルタＢが切り替わり、最終的にノック周波数の抽出に用いるノック検出用フィルタが切り替わる動作を示している。
【００７３】
図１２の時刻ｔ１以前では、エンジン回転数が低く、目標フィルタはＦ１が設定されているため、アクティブフィルタは、フィルタＡとなり、フィルタＡにＦ１が設定され、ノック検出用フィルタはＦ１となる。スタンバイフィルタは消費電力または演算負荷を低減するためにスタンバイフィルタは停止されている。
【００７４】
図１２の時刻ｔ１にて、エンジン回転数がＦ１判定値Ｈ以上になると、スタンバイフィルタがＦ２に設定され、フィルタＢにＦ２が設定される。目標フィルタは、Ｆ１であるため、ノック検出用フィルタはＦ１のままとなる。
【００７５】
図１２の時刻ｔ２にて目標フィルタがＦ２に切り替わると、アクティブフィルタはフィルタＢが設定され、フィルタ２がノック検出用フィルタとして使用される。フィルタ２には時刻ｔ１にて予めＦ２が設定されているため、時刻ｔ２にて遅れなくフィルタを切り替えることができる。すなわち、エンジン回転数の上昇を見越して予めＦ２のフィルタを起動、作動することで、遅れのないフィルタ切り替えができる。
【００７６】
図１２の時刻ｔ３にてエンジン回転数がＦ２判定値Ｈ以上になると、スタンバイフィルタがＦ３に設定され、フィルタＡにＦ３が設定される。目標フィルタは、Ｆ２であるため、ノック検出用フィルタはＦ２のままとなる。
【００７７】
図１２の時刻ｔ４にて目標フィルタがＦ３に切り替わると、アクティブフィルタはフィルタＡが設定され、フィルタ１がノック検出用フィルタとして使用される。フィルタ１には時刻ｔ３にて予めＦ３が設定されているため、時刻ｔ４にて遅れなくフィルタを切り替えることができる。すなわち、エンジン回転数の上昇を見越して予めＦ３のフィルタを起動することで、遅れのないフィルタ切り替えができる。
【００７８】
図１２の時刻ｔ５にてエンジン回転数がＦ３判定値Ｈ以上になると、スタンバイフィルタが停止に設定され、フィルタＢに停止が設定され、消費電力または演算負荷を低減する。目標フィルタは、Ｆ３であるため、ノック検出用フィルタはＦ３のままとなる。
【００７９】
以上の構成とすることで、運転領域毎に抽出するノッキング周波数が異なり、かつ検出対象とするノッキング周波数の個数よりも作動可能なフィルタの個数が少ない場合において、全てのノッキング周波数の抽出を可能として、フィルタ個数の不足を抑制して、運転領域の変化に対して予めフィルタを起動しておくことで、フィルタ切り替わり時に不安定となることを防止することができる。言い換えると、作動しているフィルタを切り替える前に切り替え先のフィルタを作動させることにより、遅れることなくフィルタの切り替えを行うことができる。
【００８０】
なお、本実施形態では、運転領域の上下限の間にフィルタを２回切り替える構成で記載しているが、好ましくは２回以上切り替える構成が望ましく、抽出対象とする周波数帯が多くなるにつれて、または、使用可能なフィルタが少なくなるについて、切り替え回数を増やすことが望ましい。
【実施例２】
【００８１】
次に図１３を用いて第２の実施例について説明する。
【００８２】
図１３は、図３ステップ３１２０の第２の実施例であり、フィルタの時定数を考慮したスタンバイフィルタの設定方法である。
【００８３】
図１３を用いて詳細を説明する。
【００８４】
ステップ１３１１０は、目標フィルタ取得行程であり、図４で設定した目標フィルタを取得する。
【００８５】
ステップ１３１２０は、目標フィルタがＦ１か否かの判断行程である。
【００８６】
Ｆ１である場合は、ステップ１３１３０へ進み、否の場合は、ステップ１３１９０へ進む。
【００８７】
ステップ１３１３０は、Ｆ２到達時間演算行程である。現在のエンジン回転数やエンジン回転数の時間変化量、または、現在の負荷や負荷の時間変化量から図５に示したＦ２領域への到達時間を推定する。
【００８８】
ステップ１３１４０は、Ｆ２フィルタの時定数取得行程であり、Ｆ２フィルタの設定値からフィルタの時定数を算出する。ここで、時定数の算出は演算で求めても良いし、マイクロコンピュータに予め記憶している値を用いてもよい。
【００８９】
ステップ１３１５０は、Ｆ２安定時間演算行程である。ステップ１３１４０で算出した時定数からＦ２の安定時間を算出する。ここで、安定時間はステップ１３１４０で算出した時定数に所定のゲインを乗ずることで算出し、時定数が大きくなるにつれ安定時間も長くなることが望ましい。
【００９０】
ステップ１３１６０は、Ｆ２安定時間とＦ２到達時間の比較行程である。Ｆ２安定時間よりもＦ２到達時間が小さい、すなわち安定する前にＦ２領域に到達する場合は、ステップ１３１８０へ進み、スタンバイフィルタにＦ２を設定する。否の場合、すなわち到達時間に対して安定時間が長い場合は、ステップ１３１７０へ進み、スタンバイフィルタにＦ１を設定する。ステップ１３１７０ではスタンバイフィルタにＦ１を設定しているが、停止としても良い。このようにすることで、フィルタをハードウェアで実現している場合は消費電力を低減でき、フィルタをソフトウェアで実現している場合は、演算負荷を低減することができる。
【００９１】
ステップ１３１９０は、目標フィルタがＦ２か否かの判断行程である。
【００９２】
Ｆ２である場合は、ステップ１３２１０へ進み、否の場合は、ステップ１３２８０へ進む。
【００９３】
ステップ１３２１０は、Ｆ１到達時間とＦ３到達時間の演算行程である。現在のエンジン回転数やエンジン回転数の時間変化量、または、現在の負荷や負荷の時間変化量から図５に示したＦ１領域とＦ２領域への到達時間をそれぞれ推定する。
【００９４】
ステップ１３２２０は、Ｆ１フィルタとＦ３フィルタの時定数取得行程であり、Ｆ１フィルタとＦ３フィルタの設定値からそれぞれのフィルタの時定数を算出する。ここで、時定数の算出は演算で求めても良いし、マイクロコンピュータに予め記憶している値を用いてもよい。
【００９５】
ステップ１３２３０は、Ｆ１安定時間とＦ２安定時間の演算行程である。ステップ１３２２０で算出したそれぞれの時定数からＦ１とＦ２の安定時間を算出する。ここで、安定時間はステップ１３２２０で算出した時定数に所定のゲインを乗ずることで算出し、時定数が大きくなるにつれ安定時間も長くなることが望ましい。
【００９６】
ステップ１３２４０は、Ｆ１安定時間とＦ１到達時間の比較行程である。Ｆ１安定時間よりもＦ１到達時間が小さい、すなわち安定する前にＦ１領域に到達する場合は、ステップ１３２５０へ進み、スタンバイフィルタにＦ１を設定する。否の場合、すなわち到達時間に対して安定時間が長い場合は、ステップ１３２６０へ進む。
【００９７】
ステップ１３２６０は、Ｆ３安定時間とＦ３到達時間の比較行程である。Ｆ３安定時間よりもＦ３到達時間が小さい、すなわち安定する前にＦ３領域に到達する場合は、ステップ１３２７０へ進み、スタンバイフィルタにＦ３を設定する。
【００９８】
ステップ１３２８０は、Ｆ２到達時間演算行程である。現在のエンジン回転数やエンジン回転数の時間変化量、または、現在の負荷や負荷の時間変化量から図５に示したＦ２領域への到達時間を推定する。
【００９９】
ステップ１３２９０は、Ｆ２フィルタの時定数取得行程であり、Ｆ２フィルタの設定値からフィルタの時定数を算出する。ここで、時定数の算出は演算で求めても良いし、マイクロコンピュータに予め記憶している値を用いてもよい。
【０１００】
ステップ１３３１０は、Ｆ２安定時間演算行程である。ステップ１３２９０で算出した時定数からＦ２の安定時間を算出する。ここで、安定時間はステップ１３２９０で算出した時定数に所定のゲインを乗ずることで算出し、時定数が大きくなるにつれ安定時間も長くなることが望ましい。
【０１０１】
ステップ１３３２０は、Ｆ２安定時間とＦ２到達時間の比較行程である。Ｆ２安定時間よりもＦ２到達時間が小さい、すなわち安定する前にＦ２領域に到達する場合は、ステップ１３３３０へ進み、スタンバイフィルタにＦ２を設定する。否の場合、すなわち到達時間に対して安定時間が長い場合は、ステップ１３３４０へ進み、スタンバイフィルタにＦ３を設定する。ステップ１３３４０ではスタンバイフィルタにＦ３を設定しているが、停止としても良い。このようにすることで、フィルタをハードウェアで実現している場合は消費電力を低減でき、フィルタをソフトウェアで実現している場合は、演算負荷を低減することができる。
【０１０２】
なお、Ｆ１安定時間、Ｆ２安定時間、Ｆ３安定時間は、フィルタの時定数に応じて設定するが、フィルタの安定時間はより長くすることが望ましく、好ましくは、時定数から算出した安定時間を下限値として、負荷やエンジン回転数の加速度で補正することが望ましい。特にエンジン加速度が緩やかな場合は、フィルタの安定時間を短くなるように補正することが望ましく、エンジン加速度が急な場合は、フィルタの安定時間を長くし、目標フィルタが速く切り替わるように設定することが望ましい。また、切り替え先のフィルタは、エンジン負荷に応じて作動させるよう設定してもよい。
【０１０３】
Ｆ１安定時間、Ｆ２安定時間、Ｆ３安定時間、Ｆ１到達時間、Ｆ２到達時間、Ｆ３到達時間は、エンジンの燃焼サイクル数から推定しても良い。
【０１０４】
次に図１４を用いて、本実施形態による内燃機関の制御装置の第２の実施例の動作について説明する。
【０１０５】
図１４は、本発明の第２の実施形態による内燃機関の制御装置の動作例を示すタイムチャートである。
【０１０６】
図１４の例では、エンジン回転数が増加する状態において、フィルタＡ、フィルタＢが切り替わり、最終的にノック周波数の抽出に用いるノック検出用フィルタが切り替わる動作を示している。
【０１０７】
図１４の時刻ｔ１以前では、エンジン回転数が低く、目標フィルタはＦ１が設定されているため、アクティブフィルタは、フィルタＡとなり、フィルタＡにＦ１が設定され、ノック検出用フィルタはＦ１となる。スタンバイフィルタは、Ｆ２到達時間（破線）がＦ２安定時間よりも大きいため、消費電力または演算負荷を低減するために停止されている。
【０１０８】
図１４の時刻ｔ１にてＦ２到達時間がＦ２安定時間以下となると、スタンバイフィルタにＦ２が設定される。目標フィルタは、Ｆ１であるため、ノック検出用フィルタはＦ１のままとなる。
【０１０９】
図１４の時刻ｔ２にて目標フィルタがＦ２に切り替わると、アクティブフィルタはフィルタＢが設定され、フィルタ２がノック検出用フィルタとして使用される。フィルタ２には時刻ｔ１にて予めＦ２が設定されているため、時刻ｔ２にて遅れなくフィルタを切り替えることができる。すなわち、エンジン回転数の上昇とフィルタの時定数に基づいた安定時間を考慮して予めＦ２のフィルタを起動することで、遅れのないフィルタ切り替えができる。
【０１１０】
図１４の時刻ｔ３にてＦ３到達時間（点線）がＦ３安定時間以下になると、スタンバイフィルタがＦ３に設定され、フィルタＡにＦ３が設定される。目標フィルタは、Ｆ２であるため、ノック検出用フィルタはＦ２のままとなる。
【０１１１】
図１４の時刻ｔ４にて目標フィルタがＦ３に切り替わると、アクティブフィルタはフィルタＡが設定され、フィルタ１がノック検出用フィルタとして使用される。フィルタ１には時刻ｔ３にて予めＦ３が設定されているため、時刻ｔ４にて遅れなくフィルタを切り替えることができる。すなわち、エンジン回転数の上昇とフィルタの時定数に基づいた安定時間を考慮して予めＦ３のフィルタを起動することで、遅れのないフィルタ切り替えができる。言い換えると、切り替え用のフィルタは切り替え前の所定時間前に作動することにより遅れのないフィルタの切り替えができる。
【０１１２】
また、前記した所定時間はエンジン運転状態に応じて補正することとし、エンジン運転状態エンジン回転数の加速度から判断する。
【０１１３】
前記所定時間は、切り替え先のフィルタが必要となるまでの時間を推定して設定する。もしくは切り替え先のフィルタが必要となるまでの燃焼サイクルを推定して所定時間を設定してもよい。
【０１１４】
図１４の時刻ｔ５にてＦ２到達時間（破線）がＦ２安定時間以上になると、スタンバイフィルタが停止に設定され、フィルタＢに停止が設定され、消費電力または演算負荷を低減する。目標フィルタは、Ｆ３であるため、ノック検出用フィルタはＦ３のままとなる。
【０１１５】
以上の構成とすることで、運転領域毎に抽出するノッキング周波数が異なり、かつ検出対象とするノッキング周波数の個数よりも作動可能なフィルタの個数が少ない場合において、全てのノッキング周波数の抽出を可能として、フィルタ個数の不足を抑制して、運転領域の変化に対して予めフィルタの時定数を考慮してフィルタを起動する。言い換えると、前記の所定時間は切り替え先のフィルタの事定数に応じて設定する。このようにすることで、フィルタの切り替わり時に不安定となることを防止することができる。
【０１１６】
なお、本実施形態では、フィルタを運転領域の上下限の間に、２回切り替える構成で記載しているが、好ましくは２回以上切り替える構成が望ましく、抽出対象とする周波数帯が多くなるにつれて、または、使用可能なフィルタが少なくなるについて、切り替え回数を増やすことが望ましい。
【０１１７】
以上で説明を終えるが、本発明は上記した各実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【０１１８】
１・・・スロットルセンサ
２・・・エアフローセンサ
３・・・水温センサ
４・・・振動検出センサ
７・・・クランク角センサ
１４・・・アクセルセンサ
１７・・・ニュートラルスイッチ
１８・・・エアコンスイッチ
１９・・・補機負荷スイッチ
２３・・・インジェクタ
３０・・・点火コイル
４２・・・スロットル駆動モータ
【図１】
0006499987.tif 000002
【図２】
0006499987.tif 000003
【図３】
0006499987.tif 000004
【図４】
0006499987.tif 000005
【図５】
0006499987.tif 000006
【図６】
0006499987.tif 000007
【図７】
0006499987.tif 000008
【図８】
0006499987.tif 000009
【図９】
0006499987.tif 000010
【図１０】
0006499987.tif 000011
【図１１】
0006499987.tif 000012
【図１２】
0006499987.tif 000013
【図１３】
0006499987.tif 000014
【図１４】
0006499987.tif 000015