(57)【要約】【課題】ハンチングを適切に判定しつつ、制御対象値のハンチングを効果的に防止することが可能な内燃機関の制御装置を提供する。【解決手段】内燃機関の制御装置は、内燃機関における制御対象値を目標値に近づけるように制御パラメータを調整する。内燃機関の制御装置は、制御対象値を平均化することによって平均化制御対象値を求め、求められた平均化制御対象値に基づいてハンチングが生じているか否かを判定する。具体的には、前回得られた平均化制御対象値と今回得られた平均化制御対象値との関係が目標値を跨ぐ関係にあるか否かに基づいて、ハンチング判定を行う。これにより、制御対象値に発生するハンチングを適切に判定できると共に、制御対象値を目標値に設定することが可能な制御パラメータを適切に決定できる。【選択図】図４
2008215278.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関における制御対象値を目標値に設定するために、制御パラメータを調整する内燃機関の制御装置であって、
前記制御対象値を検出する検出手段と、
少なくとも前後の２点を含む３点の前記制御対象値を平均化することによって、平均化制御対象値を求める平均化手段と、
前回得られた平均化制御対象値と今回得られた平均化制御対象値との関係が前記目標値を跨ぐ関係にない場合には、前記平均化制御対象値にハンチングが生じていないと判定し、前回得られた平均化制御対象値と今回得られた平均化制御対象値との関係が前記目標値を跨ぐ関係にある場合に、前記平均化制御対象値にハンチングが生じていると判定するハンチング判定手段と、を備えることを特徴とする内燃機関の制御装置。
【請求項２】
前記ハンチング判定手段によってハンチングが生じていると判定された回数が所定回数以上となった際に、前記ハンチングが生じていると前記所定回数だけ判定された際に得られた平均化制御対象値に基づいて、前記制御パラメータを決定する制御パラメータ決定手段を更に備えることを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記制御パラメータ決定手段は、
前記ハンチングが生じていると前記所定回数だけ判定された際において、前記ハンチングの振幅が最小となる前記平均化制御対象値の組み合わせを選ぶ選択手段と、
前記組み合わせを構成する２つの平均化制御対象値と前記目標値との差の比率を計算する比率計算手段と、
前記比率に基づいて、前記２つの平均化制御対象値が得られた際の制御パラメータを按分し、前記按分によって得られた値を前記制御パラメータとして決定する制御パラメータ按分手段と、を備えることを特徴とする請求項２に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関における制御対象値を目標値に近づけるように、制御パラメータを調整する内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来から、内燃機関における制御対象値を目標値に近づけるように制御パラメータを調整する場合に、制御対象値におけるハンチングを防止するための技術が提案されている。例えば、特許文献１には、スロットルアクチュエータを制御対象とするエンジン制御方法において、制御対象の制御に対するゲインを、スライディングライン定数が０に向かうように可変制御することによって、エンジントルクのハンチングを防止する技術が記載されている。特許文献２には、可変ノズルの制御に用いるフィードバック量における振動回数が所定値を超えた場合にハンチングと判定し、フィードバック量の絶対値を小さくする技術が記載されている。特許文献３には、出力値が増減すると同時に、ハンチングを判定する際に用いる上限値及び下限値を共に増減させることによって、ハンチングを防止する技術が記載されている。更に、本発明に関連のある技術が、特許文献４乃至６に記載されている。
【０００３】
【特許文献１】特許３２４８３５８号公報
【特許文献２】特開２００５−２０７２３４号公報
【特許文献３】特開平５−１３４７０４号公報
【特許文献４】特公平６−７０７６５号公報
【特許文献５】特開昭６２−４０２０６号公報
【特許文献６】特開平２−３１２０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した特許文献１乃至６に記載された技術では、複数の制御パラメータを調整する場合などにおいて、制御対象値におけるハンチングが繰り返して発生して、適切に制御対象値を目標値に設定することができない場合があった。
【０００５】
本発明は、上記のような課題を解決するためになされたものであり、制御対象値におけるハンチングを適切に判定すると共に、制御対象値におけるハンチングを効果的に防止することが可能な内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の１つの観点では、内燃機関における制御対象値を目標値に設定するために、制御パラメータを調整する内燃機関の制御装置は、前記制御対象値を検出する検出手段と、少なくとも前後の２点を含む３点の前記制御対象値を平均化することによって、平均化制御対象値を求める平均化手段と、前回得られた平均化制御対象値と今回得られた平均化制御対象値との関係が前記目標値を跨ぐ関係にない場合には、前記平均化制御対象値にハンチングが生じていないと判定し、前回得られた平均化制御対象値と今回得られた平均化制御対象値との関係が前記目標値を跨ぐ関係にある場合に、前記平均化制御対象値にハンチングが生じていると判定するハンチング判定手段と、を備える。
【０００７】
上記の内燃機関の制御装置は、内燃機関における制御対象値を目標値に近づけるように制御パラメータを調整するために好適に利用される。内燃機関の制御装置は、少なくともサンプリングされた前後の２点を含む３点の制御対象値を平均化することによって、平均化制御対象値を求め、求められた平均化制御対象値に基づいてハンチングが生じているか否かを判定する。これにより、検出された制御対象値に含まれる高周波ノイズなどによる影響を除去することができる。
【０００８】
そして、ハンチング判定手段は、前回得られた平均化制御対象値と、今回得られた平均化制御対象値と、目標値との関係に基づいてハンチングの判定を行う。具体的には、ハンチング判定手段は、前回得られた平均化制御対象値と今回得られた平均化制御対象値との関係が目標値を跨ぐ関係にない場合には、平均化制御対象値にハンチングが生じていないと判定する。これに対して、ハンチング判定手段は、前回得られた平均化制御対象値と今回得られた平均化制御対象値との関係が目標値を跨ぐ関係にある場合に、平均化制御対象値にハンチングが生じていると判定する。これにより、制御対象値が目標値に到達する前などにおいて発生している制御対象値の振動を、ハンチングの判定対象から除外することができる。したがって、上記した内燃機関の制御装置によれば、制御対象値に発生するハンチングを適切に判定することができる。また、制御対象値を概ね目標値に設定することが可能な制御パラメータを、適切に決定することが可能となる。
【０００９】
上記の内燃機関の制御装置の一態様では、前記ハンチング判定手段によってハンチングが生じていると判定された回数が所定回数以上となった際に、前記ハンチングが生じていると前記所定回数だけ判定された際に得られた平均化制御対象値に基づいて、前記制御パラメータを決定する制御パラメータ決定手段を更に備える。これにより、ハンチングが繰り返し生じることによって制御パラメータを決定できないということを防止して、制御対象値の適合値を適切に決定することができる。
【００１０】
上記の内燃機関の制御装置において好適には、前記制御パラメータ決定手段は、前記ハンチングが生じていると前記所定回数だけ判定された際において、前記ハンチングの振幅が最小となる前記平均化制御対象値の組み合わせを選ぶ選択手段と、前記組み合わせを構成する２つの平均化制御対象値と前記目標値との差の比率を計算する比率計算手段と、前記比率に基づいて、前記２つの平均化制御対象値が得られた際の制御パラメータを按分し、前記按分によって得られた値を前記制御パラメータとして決定する制御パラメータ按分手段と、を備える。これにより、ハンチングが生じている場合においても、精度良く適合値を決定することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の好適な実施の形態について説明する。
【００１２】
［全体構成］
まず、本発明の実施形態に係る内燃機関の構成について説明する。
【００１３】
図１は、本実施形態に係る内燃機関の制御装置が適用された内燃機関１の構成を示す概略図である。なお、図１では、実線矢印がガスの流れを示し、破線矢印が信号の入出力を示している。
【００１４】
内燃機関（エンジン）１は、主に、吸気通路３と、スロットルバルブ４と、燃料噴射弁５と、気筒（シリンダ）６ａと、吸気弁７と、排気弁８と、排気通路９と、点火プラグ１０と、を有する。内燃機関１は、例えばガソリンエンジンやディーゼルエンジンとして構成される。なお、図１においては、説明の便宜上、１つの気筒６ａのみを示しているが、実際には内燃機関１は１以上の気筒６ａを有する。
【００１５】
吸気通路３には外部から導入された空気（新気）が通過し、スロットルバルブ４は吸気通路３を通過する空気の流量を調整する。吸気通路３を通過した空気は、気筒６ａの燃焼室６ｂに供給される。また、燃焼室６ｂには、燃料噴射弁５によって噴射された燃料が供給される。この場合、燃料噴射弁５は、ＥＣＵ２０から供給される制御信号Ｓ５によって、燃料噴射量や燃料噴射時期などの制御が行われる。
【００１６】
燃焼室６ｂ内では、点火プラグ１０の点火により着火されることによって、供給された空気と燃料との混合気が燃焼される。この場合、燃焼によってピストン６ｃが往復運動し、この往復運動がコンロッド６ｄを介してクランク軸（不図示）に伝達され、クランク軸が回転する。また、内燃機関１には排気通路９が接続されており、燃焼によって生じた排気は排気通路９から排出される。更に、内燃機関１の燃焼室６ｂには、吸気弁７と排気弁８が設けられている。吸気弁７は、開閉することによって、吸気通路３と燃焼室６ｂとの導通／遮断を制御する。また、排気弁８は、開閉することによって、排気通路９と燃焼室６ｂとの導通／遮断を制御する。
【００１７】
また、内燃機関１にはトルクセンサ１１が設けられており、トルクセンサ１１によって、内燃機関１から出力されるトルクが検出される。この場合、トルクセンサ１１は、検出したトルクに対応する検出信号Ｓ１１をＥＣＵ２０に供給する。
【００１８】
ＥＣＵ（Engine Control Unit）２０は、図示しないＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）などを備える。ＥＣＵ２０は、内燃機関１に設けられた各種センサから検出信号を取得し、これに基づいて内燃機関１に対する制御を行う。本実施形態では、ＥＣＵ２０は、内燃機関１における制御対象値を目標値に設定するために、制御パラメータを調整する制御（以下、「制御パラメータ調整制御」と呼ぶ。）を行う。つまり、ＥＣＵ２０は、自動適合処理を行う。具体的には、ＥＣＵ２０は、内燃機関１から出力されるトルクなどの制御対象値を目標値に設定するために、燃料噴射量などの制御パラメータを調整する制御を行う。この場合、ＥＣＵ２０は、トルクセンサ１１が検出したトルクに対応する検出信号Ｓ１１を取得し、これに基づいて燃料噴射弁５に対して制御信号Ｓ５を供給することによって、燃料噴射弁５から噴射される燃料噴射量や燃料噴射時期などを調整する。
【００１９】
このように、ＥＣＵ２０は、本発明に係る内燃機関の制御装置として機能する。具体的には、ＥＣＵ２０は、平均化手段、ハンチング判定手段、及び制御パラメータ決定手段として動作する。
【００２０】
［制御パラメータ調整制御］
次に、上記したＥＣＵ２０が行う制御パラメータ調整制御について説明する。本実施形態では、ＥＣＵ２０は、内燃機関１における制御対象値を目標値に設定するために、制御パラメータを調整する。つまり、ＥＣＵ２０は、制御対象値を概ね目標値に維持するために（詳しくは、目標値を中心とする許容範囲に制御対象値を維持するために）、制御パラメータとしての適合値を決定する処理（自動適合処理）を行う。この場合、ＥＣＵ２０は、検出された制御対象値においてハンチングが生じているか否かを判定するハンチング検出処理を行うと共に、ハンチングが繰り返して生じている場合に適当な制御パラメータを決定する制御パラメータ決定処理を実行する。
【００２１】
（ハンチング検出処理）
ここで、ＥＣＵ２０が行うハンチング検出処理について具体的に説明する。本実施形態では、ＥＣＵ２０は、制御対象値を目標値に設定するために制御パラメータを調整した際に、検出された制御対象値においてハンチングが生じているか否かを判定する。この場合、ＥＣＵ２０は、少なくともサンプリングされた前後の２点を含む３点の制御対象値を平均化することによって平均化制御対象値を求め、求められた平均化制御対象値に基づいてハンチングが生じているか否かの判定（ハンチング判定）を行う。こうするのは、ハンチング判定において、検出された制御対象値に含まれる高周波ノイズなどによる影響を除去するためである。
【００２２】
具体的には、ＥＣＵ２０は、前回得られた平均化制御対象値と、今回得られた平均化制御対象値と、目標値との関係に基づいてハンチング判定を行う。詳しくは、ＥＣＵ２０は、前回得られた平均化制御対象値と今回得られた平均化制御対象値との関係が目標値を跨ぐ関係にある場合に、ハンチングが生じていると判定する。つまり、ＥＣＵ２０は、前回得られた平均化制御対象値が目標値よりも小さく、且つ今回得られた平均化制御対象値が目標値よりも大きい場合、或いは、前回得られた平均化制御対象値が目標値よりも大きく、且つ今回得られた平均化制御対象値が目標値よりも小さい場合、ハンチングが生じていると判定する。
【００２３】
これに対して、ＥＣＵ２０は、前回得られた平均化制御対象値と今回得られた平均化制御対象値との関係が目標値を跨ぐ関係にない場合には、ハンチングが生じていないと判定する。つまり、ＥＣＵ２０は、前回得られた平均化制御対象値が目標値よりも小さく、且つ今回得られた平均化制御対象値が目標値よりも小さい場合、或いは、前回得られた平均化制御対象値が目標値よりも大きく、且つ今回得られた平均化制御対象値が目標値よりも大きい場合、ハンチングが生じていないと判定する。以上のようにハンチング判定を行うのは、制御対象値が目標値に到達する前などにおいて発生している制御対象値の振動を、ハンチングの判定対象から除外するためである。つまり、本実施形態では、制御対象値が目標値に到達する前の状態で発生している振動などを、ハンチングとしては扱わない。
【００２４】
ここで、図２及び図３を参照して、本実施形態に係るハンチング検出処理を具体的に説明する。なお、以下では、内燃機関１におけるトルクを、制御対象値の一例として説明する。また、目標トルクを、制御対象値における目標値として用いる。
【００２５】
図２は、前述した平均化を具体的に説明するための図である。図２は、横軸に時間を示し、縦軸にトルクを示している。また、実線Ａ１はトルクセンサ１１によって検出されたトルク（以下、「トルク検出値」とも呼ぶ。）の一例を示し、破線Ａ２はトルク検出値を平均化した後のトルクの一例を示している。
【００２６】
実線Ａ１に示すように、トルク検出値には細かい振動が生じていることがわかる。これは、ＥＣＵ２０に供給される検出信号Ｓ１１に高周波ノイズが含まれているためと考えられる。本実施形態では、ＥＣＵ２０は、サンプリングされた前後の２点を含む３点のトルク検出値を平均化した値を「実トルク」として後の処理において用いる。具体的には、ＥＣＵ２０は、実トルクを求めるべき点におけるトルク検出値と、実トルクを求めるべき点の前の点（１つ前のサンプリング点）におけるトルク検出値と、実トルクを求めるべき点の後の点（１つ後のサンプリング点）におけるトルク検出値とを平均化する。
【００２７】
そして、ＥＣＵ２０は、平均化によって得られた値を実トルクとして、平均化を行う対象となって点におけるトルク検出値を、得られた実トルクによって置き換える。このような処理を、実線Ａ１で示すトルク検出値全てに対して行うことにより、破線Ａ２が得られる。破線Ａ２より、上記した平均化によって、細かい振動（高周波ノイズ）が除去されていることがわかる。
【００２８】
図３は、前述したハンチング判定を具体的に説明するための図である。図３は、横軸に時間を示し、縦軸にトルクを示している。図３では、実線で表されたトルクは、平均化することによって得られたトルク（実トルク）の一例を示し、一点鎖線で表されたトルクは、目標トルクを示すものとする。
【００２９】
符号Ｂ１で示す期間においては、実トルクには振動が発生しているが、実トルクは目標トルクに向かって上昇する傾向にある。この場合、実トルクは、終始、目標トルクを下回っている。つまり、実トルクは目標トルクを跨いでいない。そのため、ＥＣＵ２０は、符号Ｂ１で示す期間において得られた実トルクにはハンチングが生じていないと判定する。即ち、ハンチングの判定から除外する。一方、符号Ｂ２で示す期間において、実トルクは、目標トルクを下回る値から目標トルクを上回る値に変化する。つまり、実トルクは目標トルクを跨ぐ。そのため、ＥＣＵ２０は、符号Ｂ２で示す期間において得られた実トルクにハンチングが生じていると判定する。この場合、ＥＣＵ２０は、得られた実トルクを、ハンチングが生じていた際の実トルクとして採用する。
【００３０】
次に、符号Ｂ３で示す期間においては、実トルクには振動が発生しているが、終始、実トルクは目標トルクを上回っている。つまり、実トルクは目標トルクを跨いでいない。そのため、ＥＣＵ２０は、符号Ｂ３で示す期間において得られた実トルクにはハンチングが生じていないと判定する。即ち、ハンチングの判定から除外する。そして、符号Ｂ４で示す期間において、実トルクは、目標トルクを上回る値から目標トルクを下回る値に変化する。つまり、実トルクは目標トルクを跨ぐ。そのため、ＥＣＵ２０は、符号Ｂ４で示す期間において得られた実トルクにハンチングが生じていると判定する。この場合、ＥＣＵ２０は、得られた実トルクを、ハンチングが生じていた際の実トルクとして採用する。以後、ＥＣＵ２０は、同様の手法によって、実トルクに対するハンチング判定を行う。
【００３１】
以上のハンチング判定を行うことにより、ハンチングを適切に判定することができると共に、後述する制御パラメータ決定処理によって、制御対象値を概ね目標値に設定することが可能な制御パラメータを適切に決定することが可能となる。
【００３２】
（制御パラメータ決定処理）
次に、ＥＣＵ２０が行う制御パラメータ決定処理について説明する。本実施形態では、ＥＣＵ２０は、ハンチング判定によってハンチングが生じていると判定された回数が所定回数以上となった際に、ハンチングが生じていると所定回数だけ判定された際に得られた平均化制御対象値に基づいて、適当な制御パラメータを決定する。こうする理由は、以下の通りである。
【００３３】
制御パラメータを調整するごとに平均化制御対象値が目標値を跨いで繰り返して振動（ハンチング）が発生した場合、平均化制御対象値が目標値に収束しなくなり、制御パラメータの自動適合が先に進まなくなってしまう可能性がある。この場合には、自動適合を終了させて、後から人が手動で適合したりする必要がある。ここで、上記したような繰り返しのハンチングは、例えば、平均化制御対象値を目標値に近づけるために複数の制御パラメータを調整する場合において、調整が複雑化したり、制御パラメータが相互に影響し合ったりしたために生じたことが考えられる。また、制御パラメータが１つの場合でも、外乱などによって上体が安定しなかったことが原因で、繰り返しのハンチングが発生し得る。
【００３４】
したがって、本実施形態では、ハンチングが繰り返し生じることによって制御パラメータを決定できないということを防止するために、ハンチングが生じていると判定された回数が所定回数（以下、「ハンチング繰り返し上限」とも呼ぶ。）以上となった際に、回復不能なハンチングと判断して、適当な制御パラメータを決定する。つまり、ＥＣＵ２０は、自動適合処理が先に進まなくなってしまうことを防止するために、ハンチングの傾向などに基づいて、目標値が得られる適当な制御パラメータを決定する（つまり、適合値を決定する）。
【００３５】
具体的には、ＥＣＵ２０は、以下の手順で制御パラメータを決定する。まず、ＥＣＵ２０は、ハンチングが生じていると所定回数だけ判定された際において、ハンチングの振幅が最小となる平均化制御対象値の組み合わせを選ぶ。次に、ＥＣＵ２０は、選ばれた振幅における両端点にそれぞれ対応する平均化制御対象値と目標値との差の比率を計算する。そして、ＥＣＵ２０は、計算された比率に基づいて、振幅の両端点にそれぞれ対応する平均化制御対象値が得られた際の制御パラメータから、適合値としての制御パラメータを決定する。具体的には、ＥＣＵ２０は、計算された比率によって振幅の両端点にそれぞれ対応する制御パラメータを按分し、按分によって得られた値を制御パラメータの適合値として決定する。
【００３６】
図４は、前述した制御パラメータ決定処理を具体的に説明するための図である。なお、図４では、内燃機関１におけるトルクを制御対象値の一例として用い、目標トルクを制御対象値における目標値として用いる。また、制御パラメータとして燃料噴射量を用いる。具体的には、図４（ａ）は、横軸に時間を示し、縦軸にトルクを示している。また、図４（ａ）において、実線で示すトルクは、平均化することによって得られたトルク（実トルク）を示し、一点鎖線で示すトルクは、目標トルクを示すものとする。更に、図４（ｂ）は、図４（ａ）中の点Ｃ４、Ｃ５に対応する実トルクに基づいて、適合値としての燃料噴射量を決定する方法を説明するための図である。
【００３７】
図４（ａ）より、実トルクが目標トルクを跨いで振動するハンチングが、繰り返し発生していることがわかる。ここで示す例においては、ＥＣＵ２０は、ハンチングが発生した回数が１０回に達した際に、回復不能なハンチングと判定し、適当な燃料噴射量を決定する。つまり、ハンチング繰り返し上限を「１０」とする。この場合、時刻ｔ２１において、ハンチングが発生した回数が１０回となる。この際に、ＥＣＵ２０は、計１０回発生したハンチング中の実トルクに基づいて、適当な燃料噴射量を決定する。具体的には、まず、ＥＣＵ２０は、ハンチングが生じていると１０回判定された際において（具体的には時刻ｔ１１〜ｔ２１において）、ハンチングの振幅が最小となる実トルクの組み合わせを選ぶ。この場合、端点Ｃ４、Ｃ５に対応する実トルクからなる振幅（時刻ｔ１４〜ｔ１５において得られる振幅）が最小となる。
【００３８】
次に、ＥＣＵ２０は、選ばれた振幅における両端点Ｃ４、Ｃ５にそれぞれ対応する実トルクと目標トルクとの差の比率を計算する。つまり、端点Ｃ４に対応する実トルクと目標トルクとの差（距離）、及び端点Ｃ５に対応する実トルクと目標トルクとの差（距離）の比率を計算する。これにより、図４（ｂ）に示すように、比率として「ｐ：ｑ」が得られる。次に、ＥＣＵ２０は、計算された比率に基づいて、振幅の両端点Ｃ４、Ｃ５にそれぞれ対応する実トルクが得られた際の燃料噴射量を按分する。そして、ＥＣＵ２０は、按分によって得られた値を燃料噴射量として決定する、つまり燃料噴射量の適合値として決定する。例えば、ＥＣＵ２０は、以下の式（１）に基づいて、決定すべき燃料噴射量Ｑを算出する。
【００３９】
Ｑ＝Ｑ４＋（Ｑ５−Ｑ４）×ｐ／（ｐ＋ｑ）    式（１）
なお、式（１）において、「Ｑ４」は端点Ｃ４の実トルクが得られる燃料噴射量に相当し、「Ｑ５」は端点Ｃ５の実トルクが得られる燃料噴射量に相当する。
【００４０】
［制御パラメータ調整処理］
次に、図５及び図６を参照して、本実施形態に係る制御パラメータ調整処理について説明する。この処理は、前述したＥＣＵ２０によって繰り返し実行される。なお、以下では、トルクを制御対象値の一例として用い、目標トルクを制御対象値における目標値として用いる。
【００４１】
図５は、制御パラメータ調整処理の全体処理を示すフローチャートである。まず、ステップＳ１０１では、エンジン運転条件を取得する。例えば、ＥＣＵ２０は、目標トルクや制御パラメータとしての燃料噴射量などを取得する。なお、エンジン運転条件は、人によって予め設定される。そして、処理はステップＳ１０２に進む。
【００４２】
ステップＳ１０２では、ＥＣＵ２０は、判定値を取得する。具体的には、ＥＣＵ２０は、目標トルク到達許容誤差やハンチング繰り返し上限などを取得する。目標トルク到達許容誤差は、制御パラメータの調整によってトルクを設定すべき範囲（言い換えると、目標トルクを中心として許容される範囲）を規定する値である。なお、目標トルク到達許容誤差やハンチング繰り返し上限は、人によって予め設定される。そして、処理はステップＳ１０３に進む。
【００４３】
ステップＳ１０３では、ＥＣＵ２０は、制御パラメータ（燃料噴射量など）を指令値に調整する処理を行う。つまり、ＥＣＵ２０は、トルクを目標トルクに近づけるために制御パラメータを調整する。そして、処理はステップＳ１０４に進む。ステップＳ１０４では、ＥＣＵ２０は、トルクセンサ１１からトルク検出値（検出信号Ｓ１１に対応する）を取得する。この場合、ＥＣＵ２０は、前後２点を含む計３点でサンプリングされたトルク検出値を得る。そして、処理はステップＳ１０５に進む。
【００４４】
ステップＳ１０５では、ＥＣＵ２０は、取得されたトルク検出値を平均化する。具体的には、ＥＣＵ２０は、サンプリングされた前後２点を含む３点のトルク検出値を平均化する。そして、平均化によって得られた値を「実トルク」として後の処理において用いる。このような処理を行うのは、ハンチング判定において、トルク検出値に含まれる高周波ノイズなどによる影響を除去するためである。次に、処理はステップＳ１０６に進む。
【００４５】
ステップＳ１０６では、ＥＣＵ２０は、目標トルクと実トルクとの差を計算し、保存する。そして、処理はステップＳ１０７に進む。ステップＳ１０７では、ＥＣＵ２０は、ステップＳ１０６で保存されたトルクの差が目標トルク到達許容誤差以下であるか否かを判定する。つまり、実トルクが目標トルクに到達したか否かを判定する。トルクの差が目標トルク到達許容誤差以下である場合（ステップＳ１０７；Ｙｅｓ）、処理は当該フローを抜ける。この場合には、実トルクが概ね目標トルクに到達していると考えることができるので、ＥＣＵ２０は、現在の制御パラメータを適合値として採用する。これに対して、トルクの差が目標トルク到達許容誤差より大きい場合（ステップＳ１０７；Ｎｏ）、処理はステップＳ１０８に進む。
【００４６】
ステップＳ１０８では、ＥＣＵ２０は、前回得られた実トルク（以下、「実トルク前回値」と呼ぶ。）と今回得られた実トルク（以下、「実トルク今回値」と呼ぶ。）との関係が目標トルクを跨ぐ関係にあるか否かを判定する。つまり、ＥＣＵ２０は、実トルクに対してハンチング判定を行う。実トルク前回値と実トルク今回値との関係が目標トルクを跨ぐ関係にある場合（ステップＳ１０８；Ｙｅｓ）、処理はステップＳ１０９に進む。この場合には、ＥＣＵ２０は、実トルクにハンチングが生じていると判定する。よって、ステップＳ１０９では、ＥＣＵ２０は、ハンチングカウントを「１」増やす。そして、処理はステップＳ１１０に進む。これに対して、実トルク前回値と実トルク今回値との関係が目標トルクを跨ぐ関係にない場合（ステップＳ１０８；Ｎｏ）、処理はステップＳ１１４に進む。この場合には、ＥＣＵ２０は、実トルクが目標トルクに到達前の状態にあり、ハンチングが生じていないと判定する。
【００４７】
ステップＳ１１０では、ＥＣＵ２０は、実トルク前回値と実トルク今回値との差を保存する。そして、処理はステップＳ１１１に進む。ステップＳ１１１では、ＥＣＵ２０は、実トルク前回値に実トルク今回値を代入する。つまり、実トルク前回値を更新する。そして、処理はステップＳ１１２に進む。
【００４８】
ステップＳ１１２では、ＥＣＵ２０は、ハンチングカウントがハンチング繰り返し上限以上であるか否かを判定する。つまり、ＥＣＵ２０は、ハンチングが生じていると判定された回数が所定回数以上となったか否かを判定する。ハンチングカウントがハンチング繰り返し上限以上である場合（ステップＳ１１２；Ｙｅｓ）、処理はステップＳ１１３に進む。この場合には、ＥＣＵ２０は、制御パラメータ決定処理を実行する（ステップＳ１１３）。つまり、ＥＣＵ２０は、回復不能なハンチングと判断し、適当な制御パラメータを適合値として決定するための処理を行う。そして、処理は当該フローを抜ける。なお、制御パラメータ決定処理については、詳細は後述する。
【００４９】
一方、ハンチングカウントがハンチング繰り返し上限未満である場合（ステップＳ１１２；Ｎｏ）、処理はステップＳ１１４に進む。ステップＳ１１４の処理は、ハンチングカウントがハンチング繰り返し上限未満である場合（ステップＳ１１２；Ｎｏ）、又は、前述したように実トルク前回値と実トルク今回値との関係が目標トルクを跨ぐ関係にない場合（ステップＳ１０８；Ｎｏ）に実行される。ステップＳ１１４では、ＥＣＵ２０は、目標トルクと実トルクとの差（ステップＳ１０６で保存された値）に応じて、制御パラメータを再調整する。そして、処理はステップＳ１０３に戻り、ステップＳ１０３〜Ｓ１０８の処理、又はステップＳ１０３〜Ｓ１１２の処理を再度行う。つまり、ＥＣＵ２０は、実トルクが目標トルクに近づくように、フィードバック処理を行う。なお、実トルクが目標トルクを跨いでいない場合（ステップＳ１０８；Ｎｏ）には、実トルク前回値は更新されないため、そのままの値となっている。
【００５０】
次に、図６を参照して、制御パラメータ決定処理について説明する。図６は、制御パラメータ決定処理を示すフローチャートである。この処理は、前述したステップＳ１１３の処理（図５参照）で実行される。
【００５１】
まず、ステップＳ２０１では、ＥＣＵ２０は、保存しておいた実トルク（具体的には、前述したステップＳ１１０の処理において保存された値）に基づいて、ハンチングの振幅が最小の組み合わせを選ぶ。つまり、ＥＣＵ２０は、ハンチングの振幅が最小となる実トルクの組み合わせを選ぶ。そして、処理はステップＳ２０２に進む。
【００５２】
ステップＳ２０２では、ＥＣＵ２０は、選ばれた振幅における両端点のそれぞれに対応する実トルクと目標トルクとの差の比率を計算する。つまり、ＥＣＵ２０は、選ばれた振幅の両端点を構成する２つの実トルクと目標トルクとの差における比率を計算する。そして、処理はステップＳ２０３に進む。
【００５３】
ステップＳ２０３では、ＥＣＵ２０は、計算された比率に基づいて、振幅の両端点にそれぞれ対応する実トルクが得られた際の制御パラメータを按分する。そして、ＥＣＵ２０は、按分によって得られた値を制御パラメータとして決定する。つまり、得られた値を、制御パラメータの適合値として決定する。以上の処理が終了すると、処理は当該フローを抜ける。
【００５４】
以上説明した制御パラメータ調整処理によれば、制御対象値に発生するハンチングを適切に判定することができると共に、制御対象値を概ね目標値に設定することが可能な制御パラメータ（適合値）を適切に決定することが可能となる。
【００５５】
［変形例］
上記では制御対象値としてトルクを用いる例を示したが、本発明の適用は、これに限定されない。他の例では、トルクの代わりに、エミッション（スモークやＮＯｘやＨＣなど）や、燃焼騒音や、燃費や、空燃比（Ａ／Ｆ値）などを、制御対象値として用いることができる。
【００５６】
なお、制御パラメータとして燃料噴射量を用いる場合において、例えば１サイクルで１つの気筒６ａに対して３回の燃料噴射を行う場合には、１回目の噴射、２回目の噴射、及び３回目の噴射のそれぞれにおける燃料噴射量を制御パラメータとして調整することができる。同様にして、制御パラメータとして燃料噴射時期を用いる場合には、１回目の噴射、２回目の噴射、及び３回目の噴射のそれぞれにおける燃料噴射時期を制御パラメータとして調整することができる。
【００５７】
また、制御パラメータとして燃料噴射量や燃料噴射時期などを用いることに限定はされない。他の例では、燃料噴射量や燃料噴射時期の代わりに、燃料圧力（レール圧力）や、ターボ過給機に設けられた可変ノズルの開度（ＶＮ開度）や、ＥＧＲ弁の開度や、スロットルバルブ４の開度などを、制御パラメータとして用いることができる。
【図面の簡単な説明】
【００５８】
【図１】本実施形態に係る内燃機関の制御装置が適用されたシステムの概略構成図を示す。
【図２】平均化を具体的に説明するための図である。
【図３】ハンチング判定を具体的に説明するための図である。
【図４】制御パラメータ決定処理を具体的に説明するための図である。
【図５】制御パラメータ調整処理の全体処理を示すフローチャートである。
【図６】制御パラメータ決定処理を示すフローチャートである。
【符号の説明】
【００５９】
１  内燃機関（エンジン）
３  吸気通路
４  スロットルバルブ
５  燃料噴射弁
６ａ  気筒
９  排気通路
１１  トルクセンサ
２０  ＥＣＵ
【図１】
2008215278.tif 000003
【図２】
2008215278.tif 000004
【図３】
2008215278.tif 000005
【図４】
2008215278.tif 000006
【図５】
2008215278.tif 000007
【図６】
2008215278.tif 000008