(57)【要約】【課題】フィードバック制御量を算出する手段がむだ時間補償機能を有している空燃比制御装置において、制御量のハンチングを防止しつつ、その制御量の制限を実施する。【解決手段】空燃比センサ値と目標空燃比とから、その両者の差に応じて値が変化する偏差情報を算出する入力値演算部５３と、前記偏差情報を入力とし、その入力値が０となるように、燃料噴射量を決定するための空燃比フィードバック制御量（以下単に、制御量）を算出するフィードバック制御器５５とを備え、更に、その制御器５５がむだ時間補償器６５を有している空燃比制御装置では、入力制限値設定部７１が、制御器５５への入力値の制限値である入力制限値を、制御器５５で算出された制御量と制御量制限値との差に応じて、その差の絶対値が小さいほど０に近い値となるように設定する。そして、入力値制限実施部７３が、制御器５５への入力値を、前記入力制限値を超えないように制限する。【選択図】図５
2009150257.tif 000002
【特許請求の範囲】
【請求項１】
燃料噴射手段を有する内燃機関の空燃比を検出する空燃比検出手段により検出された信号に基づく検出値と目標空燃比とから、該検出値と該目標空燃比との差に応じて値が変化すると共に、該検出値と該目標空燃比とが一致すると値が０になる偏差情報を算出する偏差算出手段と、
前記偏差算出手段により算出された偏差情報を入力とし、その入力値が０となるように、前記燃料噴射手段から噴射させる燃料噴射量を決定するためのフィードバック制御量を算出すると共に、前記燃料噴射手段からの燃料噴射量の変化が前記空燃比検出手段の検出値の変化に現れるまでの遅れ時間であるむだ時間の影響を排除するむだ時間補償手段を有したフィードバック制御量算出手段とを備え、
前記フィードバック制御量算出手段により算出されるフィードバック制御量に基づき燃料噴射量を決定し、その燃料噴射量だけ前記燃料噴射手段から燃料を噴射させるための内燃機関の空燃比制御装置であって、
前記フィードバック制御量算出手段により算出されたフィードバック制御量が、そのフィードバック制御量の制限値である制御量制限値に近づいている程度を検出し、その近づき程度に応じて、前記フィードバック制御量算出手段への入力値の制限値である入力制限値を、前記近づき程度が大きいほど０に近い値となるように設定する入力制限値設定手段と、
前記フィードバック制御量算出手段への入力値を、前記設定された入力制限値を超えないように制限する入力値制限手段と、
を備えていることを特徴とする空燃比制御装置。
【請求項２】
請求項１に記載の空燃比制御装置において、
前記入力制限値設定手段は、前記算出されたフィードバック制御量と前記制御量制限値との差を、前記近づき程度として検出すること、
を特徴とする空燃比制御装置。
【請求項３】
請求項１に記載の空燃比制御装置において、
前記入力制限値設定手段は、前記偏差算出手段により算出された偏差情報が、連続して正又は負になっている継続時間を計測し、その計測値に基づいて前記近づき程度を検出すること、
を特徴とする空燃比制御装置。
【請求項４】
請求項１ないし請求項３の何れか１項に記載の空燃比制御装置において、
前記入力制限値設定手段は、前記入力制限値を、前記むだ時間に応じても変化させるようになっており、前記むだ時間が大きい場合には、前記むだ時間が小さい場合よりも、前記近づき程度が小さい段階で前記入力制限値が０に近い値となるように、前記入力制限値を設定するようになっていること、
を特徴とする空燃比制御装置。
【請求項５】
請求項１ないし請求項３の何れか１項に記載の空燃比制御装置において、
前記入力制限値設定手段は、前記入力制限値を、前記燃料噴射手段から前記空燃比検出手段までの内燃機関制御系の固有角速度に応じても変化させるようになっており、前記固有角速度が小さい場合には、前記固有角速度が大きい場合よりも、前記近づき程度が小さい段階で前記入力制限値が０に近い値となるように、前記入力制限値を設定するようになっていること、
を特徴とする空燃比制御装置。
【請求項６】
燃料噴射手段を有する内燃機関の空燃比を検出する空燃比検出手段により検出された信号に基づく検出値と目標空燃比とから、該検出値と該目標空燃比との差に応じて値が変化すると共に、該検出値と該目標空燃比とが一致すると値が０になる偏差情報を算出する偏差算出手段と、
前記偏差算出手段により算出された偏差情報を入力とし、その入力値が０となるように、前記燃料噴射手段から噴射させる燃料噴射量を決定するためのフィードバック制御量を算出すると共に、前記燃料噴射手段からの燃料噴射量の変化が前記空燃比検出手段の検出値の変化に現れるまでの遅れ時間であるむだ時間の影響を排除するむだ時間補償手段を有したフィードバック制御量算出手段とを備え、
前記フィードバック制御量算出手段により算出されるフィードバック制御量に基づき燃料噴射量を決定し、その燃料噴射量だけ前記燃料噴射手段から燃料を噴射させるための内燃機関の空燃比制御装置であって、
前記フィードバック制御量算出手段により算出されたフィードバック制御量が、そのフィードバック制御量の制限値である制御量制限値に達したか否かを判定する判定手段と、
前記判定手段により前記フィードバック制御量が前記制御量制限値に達したと肯定判定されると、前記フィードバック制御量算出手段への入力値を強制的に０に設定するフィードバック制御停止手段とに加えて、
更に、前記フィードバック制御停止手段が前記入力値を０に設定した場合に、前記判定手段が前記判定に用いる制御量制限値を、該判定手段により肯定判定され易くなる方向に変化させる制御量制限値変更手段を備えていること、
を特徴とする空燃比制御装置。
【請求項７】
請求項６に記載の空燃比制御装置において、
前記制御量制限値を前記内燃機関の運転状態に応じて設定する制御量制限値設定手段を備えると共に、
前記判定手段は、前記フィードバック制御停止手段が前記入力値を０に設定していない場合には、前記制御量制限値設定手段により設定された制御量制限値を前記判定に用いるようになっており、
前記制御量制限値変更手段は、前記フィードバック制御停止手段が前記入力値を０に設定した場合には、前記制御量制限値設定手段により設定された制御量制限値を前記判定手段により肯定判定され易くなる方向に所定のルールで変化させて、その変化させた値を前記判定手段が前記判定に用いる制御量制限値として設定すること、
を特徴とする空燃比制御装置。
【請求項８】
請求項６又は請求項７に記載の空燃比制御装置において、
前記制御量制限値変更手段は、前記制御量制限値を、オフセット量の加算によって変化させること、
を特徴とする空燃比制御装置。
【請求項９】
請求項６又は請求項７に記載の空燃比制御装置において、
前記制御量制限値変更手段は、前記制御量制限値を、ゲインの乗算によって変化させること、
を特徴とする空燃比制御装置。
【請求項１０】
請求項６ないし請求項９の何れか１項に記載の空燃比制御装置において、
前記制御量制限値変更手段は、前記制御量制限値を変化させる変化量を、前記むだ時間に応じて変えるようになっており、前記むだ時間が大きい場合ほど前記変化量を大きくすること、
を特徴とする空燃比制御装置。
【請求項１１】
請求項６ないし請求項９の何れか１項に記載の空燃比制御装置において、
前記制御量制限値変更手段は、前記制御量制限値を変化させる変化量を、前記燃料噴射手段から前記空燃比検出手段までの内燃機関制御系の固有角速度に応じて変えるようになっており、前記固有角速度が小さい場合ほど前記変化量を大きくすること、
【請求項１２】
請求項１ないし請求項５の何れか１項に記載の空燃比制御装置において、
前記フィードバック制御量算出手段により算出されたフィードバック制御量が、前記制御量制限値に達したか否かを判定する判定手段と、
前記判定手段により前記フィードバック制御量が前記制御量制限値に達したと肯定判定されると、前記フィードバック制御量算出手段への入力値を強制的に０に設定するフィードバック制御停止手段と、
前記フィードバック制御停止手段が前記入力値を０に設定した場合に、前記判定手段が前記判定に用いる制御量制限値を、該判定手段により肯定判定され易くなる方向に変化させる制御量制限値変更手段と、
当該装置の動作モードを、前記入力制限値設定手段及び前記入力値制限手段が機能し、前記判定手段、前記フィードバック制御停止手段及び前記制御量制限値変更手段が機能しない第１の動作モードと、前記判定手段、前記フィードバック制御停止手段及び前記制御量制限値変更手段が機能し、前記入力制限値設定手段及び前記入力値制限手段が機能しない第２の動作モードとの何れかに、前記内燃機関の運転状態に応じて切り替える動作モード切替手段と、
を備えていることを特徴とする空燃比制御装置。
【請求項１３】
請求項１２に記載の空燃比制御装置において、
前記動作モード切替手段は、前記むだ時間が規定値よりも大きい場合には、当該装置の動作モードを前記第１の動作モードに設定し、前記むだ時間が前記規定値よりも大きくない場合には、当該装置の動作モードを前記第２の動作モードに設定すること、
を特徴とする空燃比制御装置。
【請求項１４】
請求項１２に記載の空燃比制御装置において、
前記動作モード切替手段は、前記燃料噴射手段から前記空燃比検出手段までの内燃機関制御系の固有角速度が規定値よりも小さい場合には、当該装置の動作モードを前記第１の動作モードに設定し、前記固有角速度が前記規定値よりも小さくない場合には、当該装置の動作モードを前記第２の動作モードに設定すること、
を特徴とする空燃比制御装置。
【請求項１５】
燃料噴射手段を有する内燃機関の空燃比を検出する空燃比検出手段により検出された信号に基づく検出値と目標空燃比とから、該検出値と該目標空燃比との差に応じて値が変化すると共に、該検出値と該目標空燃比とが一致すると値が０になる偏差情報を算出する偏差算出手段と、
前記偏差算出手段により算出された偏差情報を入力とし、その入力値が０となるように、前記燃料噴射手段から噴射させる燃料噴射量を決定するためのフィードバック制御量を算出すると共に、前記燃料噴射手段からの燃料噴射量の変化が前記空燃比検出手段の検出値の変化に現れるまでの遅れ時間であるむだ時間の影響を排除するむだ時間補償手段を有したフィードバック制御量算出手段とを備え、
前記フィードバック制御量算出手段により算出されるフィードバック制御量に基づき燃料噴射量を決定し、その燃料噴射量だけ前記燃料噴射手段から燃料を噴射させるための内燃機関の空燃比制御装置であって、
前記フィードバック制御量算出手段により算出されたフィードバック制御量が、そのフィードバック制御量の制限値である制御量制限値に達したか否かを判定する判定手段と、
前記判定手段により前記フィードバック制御量が前記制御量制限値に達したと肯定判定されると、前記フィードバック制御量算出手段への入力値を強制的に０に設定するフィードバック制御停止手段とに加えて、
更に、前記フィードバック制御停止手段が前記入力値を０に設定した場合に、前記フィードバック制御量算出手段により算出されるフィードバック制御量が、それまでの変化方向とは逆方向に変動しても、前記入力値が０に設定された状態を維持させる状態保持手段を備えていること、
を特徴とする空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の空燃比制御装置に関するものである。
【背景技術】
【０００２】
例えば自動車の内燃機関においては、排気ガスの浄化や燃費向上等を目的として、空燃比フィードバック制御（単に、空燃比制御とも呼ばれる）が行われている。空燃比フィードバック制御では、内燃機関の排気通路に設置されている空燃比センサがリッチ状態を検出している時はインジェクタからの燃料噴射量を減少させて空燃比をリーン側に移行させ、逆に空燃比がリーン状態を示している時には燃料噴射量を増加させてリッチ側に移行させるようにして、排気通路での空燃比を目標空燃比に一致させるようにしている。
【０００３】
そして、こうした空燃比フィードバック制御を行う空燃比制御装置では、例えば空燃比センサの検出値と目標空燃比との差を入力とするフィードバック制御器が備えられており、そのフィードバック制御器は、入力値が０となるように（即ち、空燃比センサの検出値が目標空燃比と一致するように）、燃料噴射量を決定するためのフィードバック制御量を算出するフィードバック制御量算出手段として機能する。そして更に、空燃比制御装置では、内燃機関の運転状態に応じて算出された基本燃料噴射量を、フィードバック制御器で算出されたフィードバック制御量により補正して最終的な燃料噴射量を決定し、その燃料噴射量だけインジェクタから燃料を噴射させる。
【０００４】
また、フィードバック制御器としては、積分計算によってフィードバック制御量を算出する演算部だけでなく、インジェクタからの燃料噴射量の変化が空燃比センサの検出値の変化に現れるまでの遅れ時間であるむだ時間の影響を排除するむだ時間補償器（むだ時間補償手段）を有したものが知られている（例えば、特許文献１参照）。そして、むだ時間補償器を有したフィードバック制御器（以下、むだ時間補償機能付きのフィードバック制御器ともいう）では、そのむだ時間補償器によるむだ時間補償機能により、むだ時間を考慮してフィードバック制御量が算出される。
【０００５】
一方、内燃機関の始動時には、空燃比センサの検出値が非常にリッチになる場合がある。始動時には、壁面付着燃料量が不足しており大量に燃料を噴射する必要があるため、空燃比がリッチになり易いためである。また、冷間の始動時においては、空燃比センサが十分に活性していない場合があり、その空燃比センサ自体が実際の空燃比よりもリッチな値を示す可能性があるためである。
【０００６】
そして、このような場合に空燃比フィードバック制御を行うと、燃料噴射量を減少させるためにフィードバック制御量が減らされ続けることとなり、やがて空燃比センサの検出値が急激に増大して（リーン方向に変化して）目標空燃比を上回ってしまった場合に、すぐにフィードバック制御量を増やして空燃比センサの検出値を下げることができず、その結果、空燃比の大きなオーバーシュートを引き起こしてしまう。このため、空燃比を目標空燃比に追従させるのに長時間を要してしまうこととなる。
【０００７】
そこで、こうした問題を解決するための方法としては、フィードバック制御量に対する制限値を設け、算出されたフィードバック制御量がその制限値に達した際にフィードバック制御を停止して、フィードバック制御量が制限値を超えないようにすることで空燃比のオーバーシュートを抑制する、というものがある（例えば、特許文献２参照）。
【特許文献１】特開２００３−１７２１８３号公報
【特許文献２】特開２００７−３２５０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、フィードバック制御量算出手段としてのフィードバック制御器において、フィードバック制御を停止させるには、そのフィードバック制御器への入力値を０に固定すれば良い。このため、フィードバック制御量の制限を実施して空燃比のオーバーシュートを防止するには、算出されたフィードバック制御量が制限値に達したら、フィードバック制御器への入力値を強制的に０に設定する、という構成を採ることが考えられる。
【０００９】
しかしながら、むだ時間補償機能付きのフィードバック制御器では、入力値が０以外から瞬時に０に変化すると、出力値であるフィードバック制御量が、それまでの増減方向とは逆方向に変化することが既知である。
【００１０】
このため、むだ時間補償機能付きのフィードバック制御器を備えた空燃比制御装置において、フィードバック制御量の制限を実施するために上記構成を採ったならば、以下の新たな問題が生じてしまう。
【００１１】
即ち、むだ時間補償機能付きのフィードバック制御器に対して、フィードバック制御量が制限値に達した際に入力値を０に強制設定すると、むだ時間補償によりフィードバック制御量が逆方向に動き、その結果、そのフィードバック制御量が制限値から外れ、再び「入力値＝０」の強制設定が解除されて制御が開始される。そして、制御が開始されると、再びフィードバック制御量が制限値の方向に動き出し、制限値に達した際にまた入力値が０に強制設定されて制御が停止する。このように、むだ時間補償機能付きのフィードバック制御器を備えた空燃比制御装置において、フィードバック制御量を制限値に制限しようとすると、制限実施と制限解除が繰り返されることとなり、フィードバック制御量がハンチング（脈動）してしまうといった問題が生じる。そして、このようなフィードバック制御量のハンチングは、燃料噴射量のハンチングに繋がり、エミッションの悪化や内燃機関の安定動作の悪化といった問題を引き起こすこととなる。
【００１２】
そこで、本発明は、フィードバック制御量を算出する手段がむだ時間補償機能を有している空燃比制御装置において、フィードバック制御量のハンチングを防止しつつ、そのフィードバック制御量の制限を実施可能にすることを目的としている。
【課題を解決するための手段】
【００１３】
請求項１の空燃比制御装置では、空燃比検出手段により内燃機関の空燃比が検出され、偏差算出手段が、空燃比検出手段からの信号に基づく検出値と目標空燃比とから、該検出値と該目標空燃比との差に応じて値が変化すると共に、該検出値と該目標空燃比とが一致すると値が０になる偏差情報を算出する。そして、偏差算出手段により算出された偏差情報を入力とするフィードバック制御量算出手段が、その入力値が０となるように、内燃機関の燃料噴射手段から噴射させる燃料噴射量を決定するためのフィードバック制御量（いわゆる空燃比フィードバック制御量）を算出するが、そのフィードバック制御量算出手段は、むだ時間（即ち、燃料噴射手段からの燃料噴射量の変化が空燃比検出手段の検出値の変化に現れるまでの遅れ時間）の影響を排除するむだ時間補償手段を有している。そして、この空燃比制御装置では、フィードバック制御量算出手段により算出されるフィードバック制御量に基づき燃料噴射量を決定し、その燃料噴射量だけ燃料噴射手段から燃料を噴射させることで、空燃比を目標空燃比に制御する。
【００１４】
つまり、この空燃比制御装置は、フィードバック制御量を算出するフィードバック制御量算出手段がむだ時間補償機能を有している空燃比制御装置である。
そこで特に、請求項１の空燃比制御装置では、入力制限値設定手段及び入力値制限手段を設けている。
【００１５】
入力制限値設定手段は、フィードバック制御量算出手段により算出されたフィードバック制御量が、そのフィードバック制御量の制限値である制御量制限値に近づいている程度を検出し、その近づき程度に応じて、フィードバック制御量算出手段への入力値の制限値である入力制限値を、前記近づき程度が大きいほど（つまり、フィードバック制御量が制御量制限値に近づいているほど）０に近い値となるように設定する。そして、入力値制限手段は、フィードバック制御量算出手段への入力値を、入力制限値設定手段により設定された入力制限値を超えないように制限する。
【００１６】
このような請求項１の空燃比制御装置によれば、フィードバック制御量算出手段で算出されるフィードバック制御量が制御量制限値に近づくにつれて、そのフィードバック制御量算出手段への入力値が徐々に０へ向けて制限されていくこととなるため、フィードバック制御量は制御量制限値に緩やかに近づいていくこととなる。よって、フィードバック制御量のハンチングを防止しつつ、そのフィードバック制御量の制限を実施することができる。つまり、フィードバック制御量を制限して、空燃比のオーバーシュートを防止できるだけでなく、フィードバック制御量のハンチングも抑制することができ、延いては、燃料噴射量のハンチングも防止することができる。その結果、内燃機関の動作が安定しエミッションの悪化も抑制できる。更に、本装置によれば、ハンチングが発生してしまう従来技術に比べて燃料噴射量が安定するため、空燃比のオーバーシュートを抑制する効果も高い。
【００１７】
尚、「空燃比検出手段からの信号に基づく検出値」とは、空燃比検出手段による検出信号相当であって空燃比制御装置内にて処理可能な信号に変換されたものを意味するものであるが、空燃比検出手段による検出信号がそのまま空燃比制御装置内にて処理可能であればそのものであっても良い。以下の解決手段においても同様である。
【００１８】
ところで、請求項２に記載のように、入力制限値設定手段は、フィードバック制御量算出手段により算出されたフィードバック制御量と制御量制限値との差を、前記近づき程度（フィードバック制御量が制御量制限値に近づいている程度）として検出するように構成することができる。この構成によれば、近づき程度を簡単に検出することができる。
【００１９】
また、請求項３に記載のように、入力制限値設定手段は、偏差算出手段により算出された偏差情報が、連続して正又は負になっている継続時間を計測し、その計測値に基づいて前記近づき程度を検出するように構成することもできる。つまり、偏差情報が連続して正又は負になっているということは、空燃比検出手段の検出値が目標空燃比よりも連続してリーン又はリッチになっているということであり、算出されるフィードバック制御量が連続して同じ方向に変化しているということであるため、その継続時間から、前記近づき程度を推定することができる。
【００２０】
そして、この構成によれば、近づき程度を検出するために、フィードバック制御量そのものを使わないため、制限を実施するのにフィードバックループが発生せず、演算周期遅れの影響を受けないようにすることができる。
【００２１】
次に、請求項４の空燃比制御装置では、請求項１〜３の空燃比制御装置において、入力制限値設定手段は、入力制限値を、前記むだ時間に応じても変化させるようになっており、むだ時間が大きい場合には、むだ時間が小さい場合よりも、前記近づき程度が小さい段階で入力制限値が０に近い値となるように、その入力制限値を設定するようになっている。
【００２２】
そして、この構成によれば、下記の効果が得られる。
まず、むだ時間補償機能を有したフィードバック制御量算出手段では、入力値が０以外から０にされた制御停止時の振る舞いとして、むだ時間が大きい場合ほど、出力値であるフィードバック制御量が逆方向へ大きく戻ることとなる。
【００２３】
そこで、むだ時間が大きい場合には、むだ時間が小さい場合よりも、前記近づき程度が小さい段階（即ち、算出されるフィードバック制御量が制御量制限値から離れている早期の段階）で入力制限値が０に近い値となるようにすることで、フィードバック制御量算出手段の入力値を早めに制限して、フィードバック制御量をより緩やかに制御量制限値へ近づけていくことができ、その結果、フィードバック制御量のハンチングを効果的に抑制することができるようになる。
【００２４】
逆に、むだ時間が小さい場合には、むだ時間が大きい場合よりも、前記近づき程度が大きくなってから（即ち、算出されるフィードバック制御量が制御量制限値へとより近づいてから）入力制限値が０に近い値となるようにすることで、フィードバック制御量が制御量制限値へとより近づくぎりぎりまで、制限をかけない通常のフィードバック制御を実施することができるようになる。
【００２５】
一方、請求項５の空燃比制御装置では、請求項１〜３の空燃比制御装置において、入力制限値設定手段は、入力制限値を、燃料噴射手段から空燃比検出手段までの内燃機関制御系の固有角速度に応じても変化させるようになっており、固有角速度が小さい場合には、固有角速度が大きい場合よりも、前記近づき程度が小さい段階で入力制限値が０に近い値となるように、その入力制限値を設定するようになっている。
【００２６】
そして、この構成によっても、請求項４の空燃比制御装置と同様の効果を得ることができる。つまり、燃料噴射手段から空燃比検出手段までの内燃機関制御系（いわゆるプラントモデル）では、固有角速度が小さいほど、むだ時間が大きくなる傾向がある。そこで、請求項５の空燃比制御装置では、むだ時間の代わりに、固有角速度に応じて入力制限値を変えるようにしている。
【００２７】
尚、別の構成として、固有角速度の代わりに、上記内燃機関制御系の減衰率に応じて、その減衰率が大きい場合には、減衰率が小さい場合よりも、前記近づき程度が小さい段階で入力制限値が０に近い値となるように、その入力制限値を設定するようにしても良い。内燃機関制御系では、減衰率が大きいほど、むだ時間が大きくなる傾向があるからである。また更に、固有角速度と減衰率との両方に応じて入力制限値を変化させるように構成しても良い。つまり、固有角速度が小さく減衰率が大きい場合ほど、前記近づき程度が小さい段階で入力制限値が０に近い値となるように、その入力制限値を設定するように構成しても良い。
【００２８】
次に、請求項６の空燃比制御装置も、その前提構成は請求項１の空燃比制御装置と同じであり、フィードバック制御量算出手段がむだ時間補償機能を有している空燃比制御装置である。
【００２９】
そして、請求項６の空燃比制御装置は、判定手段及びフィードバック制御停止手段に加えて、更に制御量制限値変更手段を備えている。
判定手段は、フィードバック制御量算出手段により算出されたフィードバック制御量が、そのフィードバック制御量の制限値である制御量制限値に達したか否かを判定する。
【００３０】
そして、判定手段によりフィードバック制御量が制御量制限値に達したと肯定判定されると、フィードバック制御停止手段が、フィードバック制御量算出手段への入力値を強制的に０に設定して空燃比フィードバック制御を停止させる。
【００３１】
すると、制御量制限値変更手段が機能して、判定手段が前記判定に用いる制御量制限値を、該判定手段により肯定判定され易くなる方向に変化させる。
このため、フィードバック制御量が制御量制限値に達してフィードバック制御量算出手段への入力値が０に強制設定された際に、むだ時間補償機能によってフィードバック制御量がそれまでとは逆方向に動いても、判定手段により肯定判定される状態、即ち、フィードバック制御量算出手段への入力値が０に強制設定される制御停止状態が継続されて、フィードバック制御量がハンチングしてしまうことが防止されることとなる。
【００３２】
よって、このような請求項６の空燃比制御装置によっても、請求項１の空燃比制御装置と同様に、フィードバック制御量のハンチングを防止しつつ、そのフィードバック制御量の制限を実施することができるようになる。
【００３３】
次に、請求項７の空燃比制御装置では、請求項６の空燃比制御装置において、制御量制限値を内燃機関の運転状態に応じて設定する制御量制限値設定手段が備えられている。
そして、判定手段は、フィードバック制御停止手段がフィードバック制御量算出手段への入力値を０に設定していない場合には、制御量制限値設定手段により設定された制御量制限値を前記判定に用いるようになっている。
【００３４】
そして更に、制御量制限値変更手段は、フィードバック制御停止手段が前記入力値を０に設定した場合には、制御量制限値設定手段により設定された制御量制限値を判定手段により肯定判定され易くなる方向に所定のルールで変化させて、その変化させた値を判定手段が前記判定に用いる制御量制限値として設定する。
【００３５】
このような請求項７の空燃比制御装置によれば、フィードバック制御量が制御量制限値設定手段により設定された制御量制限値に達して、フィードバック制御量算出手段への入力値が０に強制設定される制御停止状態が継続するようになった後、制御量制限値設定手段により設定される制御量制限値が、制御量制限値変更手段による変化方向とは逆の方向に変化すれば、判定手段が前記判定に用いる制御量制限値（即ち、制御量制限値変更手段により変化された制御量制限値）が、判定手段により肯定判定され難くなる方向に変化することとなる。
【００３６】
このため、制御停止状態が継続するようになった後、制御量制限値設定手段により設定される制御量制限値が、制御量制限値変更手段による変化方向とは逆の方向に大きく変化すれば、判定手段が肯定判定しなくなり、制御停止状態が解除されることとなる。よって、制御停止状態を解除するための特別な手段を設ける必要がなく有利である。
【００３７】
ところで、請求項８に記載のように、制御量制限値変更手段は、制御量制限値を、オフセット量の加算によって変化させるように構成することができる。
また、請求項９に記載のように、制御量制限値変更手段は、制御量制限値を、ゲインの乗算によって変化させるように構成することもできる。
【００３８】
次に、請求項１０の空燃比制御装置では、請求項６〜９の空燃比制御装置において、制御量制限値変更手段は、制御量制限値を変化させる変化量を、前記むだ時間に応じて変えるようになっており、むだ時間が大きい場合ほど前記変化量を大きくするようになっている。
【００３９】
つまり、前述したように、フィードバック制御量算出手段への入力値が０に設定される制御停止時には、むだ時間が大きい場合ほどフィードバック制御量は逆方向へ大きく戻るため、むだ時間に応じて制御量制限値の変化量の大きさを決めるようにしている。
【００４０】
そして、この構成によれば、制御量制限値を変化させる変化量のマージンを必要以上に大きく設ける必要がなくなる。特に、請求項７の構成においては、制御停止状態を必要以上に継続させてしまうことがなく、制御停止状態が適切なタイミングで解除されるようにすることができる。
【００４１】
一方、請求項１１の空燃比制御装置では、請求項６〜９の空燃比制御装置において、制御量制限値変更手段は、制御量制限値を変化させる変化量を、燃料噴射手段から空燃比検出手段までの内燃機関制御系の固有角速度に応じて変えるようになっており、その固有角速度が小さい場合ほど前記変化量を大きくするようになっている。
【００４２】
そして、この構成によっても、請求項１０の空燃比制御装置と同様の効果を得ることができる。つまり、前述したように内燃機関制御系では、固有角速度が小さいほど、むだ時間が大きくなる傾向があるため、むだ時間の代わりに、固有角速度に応じて制御量制限値の変化量を変えるようにしても良い。
【００４３】
尚、別の構成として、固有角速度の代わりに、上記内燃機関制御系の減衰率に応じて、その減衰率が大きい場合ほど制御量制限値の変化量を大きくするようにしても良い。前述したように内燃機関制御系では、減衰率が大きいほど、むだ時間が大きくなる傾向があるからである。また更に、固有角速度と減衰率との両方に応じて制御量制限値の変化量を変化させるように構成しても良い。つまり、固有角速度が小さく減衰率が大きい場合ほど制御量制限値の変化量を大きくするように構成しても良い。
【００４４】
ところで、請求項１の空燃比制御装置では、フィードバック制御量算出手段への入力値を制限することから、空燃比フィードバック制御の動作（換言すれば、フィードバック制御量の変化）が緩慢になる傾向がある。このため、内燃機関制御系の特性自体が緩慢で空燃比フィードバック制御の動作も緩慢で構わない場合に特に有効である。
【００４５】
また、請求項６の空燃比制御装置では、むだ時間が大きい領域では制御量制限値の変化量を大きく設定して制御停止状態を維持する必要がある。すると、フィードバック制御量の制限がきつくなり、かえって空燃比の検出値を目標空燃比に近づけ難くなる可能性がある。
【００４６】
そこで、請求項１２の空燃比制御装置では、請求項１の空燃比制御装置の手法と、請求項６の空燃比制御装置の手法とを、内燃機関の運転状態に応じて切り替えるようにしている。
【００４７】
即ち、請求項１２の空燃比制御装置では、請求項１〜５の空燃比制御装置において、請求項６の空燃比制御装置と同様の、判定手段、フィードバック制御停止手段及び制御量制限値変更手段に加え、更に、動作モード切替手段を備えている。そして、動作モード切替手段は、当該装置の動作モードを、内燃機関の運転状態に応じて、第１の動作モードと第２の動作モードとに切り替える。第１の動作モードは、請求項１の空燃比制御装置と同様に機能する動作モードであり、入力制限値設定手段及び入力値制限手段が機能し、判定手段、フィードバック制御停止手段及び制御量制限値変更手段が機能しない動作モードである。また、第２の動作モードは、請求項６の空燃比制御装置と同様に機能する動作モードであり、判定手段、フィードバック制御停止手段及び制御量制限値変更手段が機能し、入力制限値設定手段及び入力値制限手段が機能しない動作モードである。
【００４８】
そして、このような請求項１２の空燃比制御装置によれば、内燃機関制御系の特性自体が緩慢で空燃比フィードバック制御の動作も緩慢で構わない場合は第１の動作モードにし、むだ時間が小さく空燃比フィードバック制御の動作を迅速にしたい場合は第２の動作モードにする、といった切り替えを行うことができ、フィードバック制御量の制限をより効果的に行うことが可能となる。
【００４９】
具体的には、請求項１３に記載のように、動作モード切替手段は、むだ時間が規定値よりも大きい場合には、当該装置の動作モードを第１の動作モードに設定し、むだ時間が規定値よりも大きくない場合には、当該装置の動作モードを第２の動作モードに設定するように構成することができる。
【００５０】
また、請求項１４に記載のように、動作モード切替手段は、燃料噴射手段から空燃比検出手段までの内燃機関制御系の固有角速度が規定値よりも小さい場合には、当該装置の動作モードを第１の動作モードに設定し、固有角速度が規定値よりも小さくない場合には、当該装置の動作モードを第２の動作モードに設定するように構成することもできる。つまり、むだ時間の代わりに、固有角速度に応じて動作モードを切り替えるようにしても良い。
【００５１】
尚、別の構成として、固有角速度の代わりに、上記内燃機関制御系の減衰率に応じて動作モードを切り替えるようにしても良い。つまり、減衰率が規定値よりも大きい場合には、当該装置の動作モードを第１の動作モードに設定し、減衰率が規定値よりも大きくない場合には、当該装置の動作モードを第２の動作モードに設定するように構成することもできる。また更に、固有角速度と減衰率との両方に応じて動作モードを切り替えるようにしても良い。つまり、固有角速度が小さく減衰率が大きいと判定した場合には第１の動作モードにし、そうでない場合には第２の動作モードにする、というように構成しても良い。
【００５２】
また、請求項１２の空燃比制御装置においては、請求項６の空燃比制御装置と同様に、請求項７〜１１に記載の構成を適用することができる。
次に、請求項１５の空燃比制御装置も、その前提構成は請求項１の空燃比制御装置と同じであり、フィードバック制御量算出手段がむだ時間補償機能を有している空燃比制御装置である。
【００５３】
そして、請求項１５の空燃比制御装置は、請求項６の空燃比制御装置と同様の判定手段及びフィードバック制御停止手段に加えて、更に状態保持手段を備えている。
判定手段は、フィードバック制御量算出手段により算出されたフィードバック制御量が、そのフィードバック制御量の制限値である制御量制限値に達したか否かを判定する。
【００５４】
そして、判定手段によりフィードバック制御量が制御量制限値に達したと肯定判定されると、フィードバック制御停止手段が、フィードバック制御量算出手段への入力値を強制的に０に設定して空燃比フィードバック制御を停止させる。
【００５５】
すると、状態保持手段が機能して、フィードバック制御量算出手段により算出されるフィードバック制御量が、それまでの変化方向とは逆方向に変動しても、そのフィードバック制御量算出手段への入力値が０に設定された状態を維持させる。
【００５６】
このため、フィードバック制御量が制御量制限値に達してフィードバック制御量算出手段への入力値が０に強制設定された際に、むだ時間補償機能によってフィードバック制御量がそれまでとは逆方向に動いても、フィードバック制御量算出手段への入力値が０に強制設定される制御停止状態が継続されて、フィードバック制御量がハンチングしてしまうことが防止される。
【００５７】
よって、請求項１５の空燃比制御装置によっても、フィードバック制御量のハンチングを防止しつつ、そのフィードバック制御量の制限を実施することができるようになる。
尚、請求項４の入力制限値設定手段が用いるむだ時間や、請求項１０の制御量制限値変更手段が用いるむだ時間や、請求項１３の動作モード切替手段が用いるむだ時間や、前述の固有角速度や減衰率は、本来の空燃比制御に用いる制御パラメータとは別に求めるようにしても良いが、その制御パラメータと同じ値を用いれば、余計な計算をする必要がなく、また空燃比制御と同調させ易いため有利である。
【発明を実施するための最良の形態】
【００５８】
以下に、本発明が適用された実施形態の空燃比制御装置としてのエンジン制御装置（以下、エンジンＥＣＵという）について説明する。
［第１実施形態］
図１に示すように、本実施形態のエンジンＥＣＵ１は、車両に搭載された内燃機関としてのガソリンエンジン３を制御するための処理を実行するマイコン（マイクロコンピュータ）５と、マイコン５からの制御信号に従って各種アクチュエータを作動させる駆動回路７と、各種信号をマイコン５に入力させる入力回路９とを備えている。
【００５９】
具体的には、マイコン５には、エンジン３の吸気管１１に設けられた吸入空気量センサとしてのエアフロメータ１３からの信号、吸気管１１に設けられたスロットル弁１５の開度を検出するスロットル開度センサ１７からの信号、吸気管１１内の圧力を検出する吸気管圧力センサ１９からの信号、エンジン３の冷却水温を検出する水温センサ２１からの信号、エンジン３の排気管２３に設けられた空燃比センサ２５からの信号、エンジン３のクランク軸２７の回転に応じてクランク角センサ２９から出力されるクランク軸回転信号（以下、クランク信号という）、及び車両のイグニッションスイッチやスタータスイッチ（図示省略）といった各種スイッチのオン／オフ状態を表すスイッチ信号などが、入力回路９を介して入力される。入力回路９は一般的なものであり、センサ信号等の信号を、アナログ・ディジタル変換を行う、ノイズ除去を行う、波形整形を行うなど所定の信号処理を施しマイコン５にて入力信号を処理可能な信号へと変換するといったことを行う。
【００６０】
そして、マイコン５は、入力回路９を介して入力される上記各信号に基づいてエンジン３の状態を検出すると共に、その検出結果に基づいて駆動回路７に制御信号を出力することにより、スロットル弁１５の開度を変えるスロットルモータ３１、各気筒の点火プラグに通電して着火させるための点火コイル３３、及び各気筒に燃料を噴射するインジェクタ３５、といった各種アクチュエータを制御してエンジン３を作動させる。
【００６１】
次に、マイコン５がインジェクタ３５からの燃料噴射量を決定するために行う燃料噴射量演算処理の内容について図２を用い説明する。尚、図２において、ＥＣＵ１内に記載している各部は、マイコン５がプログラムを実行することで実現される機能手段である。
【００６２】
図２に示すように、ＥＣＵ１では、マイコン５により、吸気量推定部４１、基本噴射量演算部４３、空燃比フィードバック制御量演算部４５、フィードフォワード制御量演算部４７、及び最終噴射量演算部４９が実現されている。
【００６３】
吸気量推定部４１は、エアフロメータ１３の検出値を基本として、さらにその他の各種センサ値を考慮して、エンジン３の吸入空気量を推定する。
基本噴射量演算部４３は、推定された吸入空気量にエンジン３の緒元より定まる係数を乗じることで、基本燃料噴射量を計算する。
【００６４】
空燃比フィードバック制御量演算部４５は、空燃比センサ２５の検出値が、吸入空気量等に基づき設定される目標空燃比と一致するように、燃料噴射量を決定するための空燃比フィードバック制御量を計算する。
【００６５】
フィードフォワード制御量演算部４７は、吸入空気量や水温センサ２１による水温検出値やクランク角センサ２９からのクランク信号に基づき検出されるエンジン回転数等のエンジン状態量をもとに、燃料噴射量を決定するためのフィードフォワード制御量を計算する。
【００６６】
最終噴射量演算部４９は、基本燃料噴射量に空燃比フィードバック制御量とフィードフォワード制御量を乗じ、さらにエンジン状態によって調整した値を最終噴射量として算出する。
【００６７】
そして、エンジンＥＣＵ１のマイコン５は、最終噴射量演算部４９で算出した最終噴射量に基づきインジェクタ３５を駆動し、そのインジェクタ３５から最終噴射量だけ燃料を噴射させる。
【００６８】
次に、本実施形態で最も特徴的な部分である空燃比フィードバック制御量演算部４５について説明するが、その前に、比較のために、本発明が適用されていない参考例の空燃比フィードバック制御量演算部４５’について図３を用い説明する。
【００６９】
図３（Ａ）に示すように、空燃比フィードバック制御量演算部４５’は、目標空燃比演算部５１、入力値演算部５３、フィードバック制御器５５、制御量制限値演算部５７、制御量判定部５９、及び制御停止切替部６１を備えている。尚、これら各部５１〜６１も、マイコン５がプログラムを実行することで実現される機能手段である。
【００７０】
目標空燃比演算部５１は、前述した各センサの検出値に基づいてエンジン状態が最適となるように目標空燃比を算出する。
入力値演算部５３は、空燃比センサ２５の検出値（検出される実空燃比であり、以下、空燃比センサ値という）と目標空燃比とから、下記の式１により、空燃比センサ値と目標空燃比との偏差情報であって、フィードバック制御器５５への入力値を算出する。このため、フィードバック制御器５５への入力値は、空燃比センサ値と目標空燃比との差に応じて値が変化すると共に、その両者が一致すると値が０になる。
【００７１】
入力値＝（１／目標空燃比）−（１／空燃比センサ値）  …式１
制御量制限値演算部５７は、水温センサ２１による水温検出値及びエンジン始動後の経過時間等に基づいて、空燃比フィードバック制御量の制限値である制御量制限値を算出する。例えば、冷却水温が低くて所定値未満の場合やエンジン始動後の経過時間が所定時間未満の始動直後の場合には、制御量制限値を１に近づけることで制限を厳しくし、冷却水温が高くて所定値以上の場合やエンジン始動から所定時間がたった際は、制御量制限値を１から離れた値（０又は１より大きい所定値）に近づけることで制限がかかりにくくする。尚、エンジン始動後の経過時間は、クランク角センサ２９からのクランク信号が入力され始めてからの経過時間として計測される。
【００７２】
制御量判定部５９は、フィードバック制御器５５で算出された空燃比フィードバック制御量が、制御量制限値演算部５７で算出された制御量制限値に達したか否かを判定する。
制御停止切替部６１は、制御量判定部５９により空燃比フィードバック制御量が制御量制限値に達していないと判定されている場合には、入力値演算部５３により算出された入力値（偏差情報）をフィードバック制御器５５に入力させるが、制御量判定部５９により空燃比フィードバック制御量が制御量制限値に達したと判定された場合には、フィードバック制御器５５への入力値を強制的に０に設定して、空燃比フィードバック制御を停止させる。
【００７３】
フィードバック制御器５５は、入力値が０となるように（即ち、空燃比センサ値が目標空燃比と一致するように）、且つ、燃料を噴射してからその噴射の影響が空燃比センサ値に現れるまでのエンジン制御系のむだ時間を考慮にいれて、空燃比フィードバック制御量を計算する。つまり、フィードバック制御器５５は、むだ時間補償機能付きのフィードバック制御器である。
【００７４】
このため、フィードバック制御器５５は、図３（Ｂ）に示すように、入力値から積分計算によって空燃比フィードバック制御量を算出する制御部６３だけでなく、むだ時間補償手段としてのむだ時間補償器６５と、当該フィードバック制御器５５への入力値からむだ時間補償器６５の出力値を引いた値を、制御部６３へ空燃比フィードバック制御量を算出するための入力値として入力させる減算部６７とを有している。
【００７５】
制御部６３は、空燃比センサ値が目標空燃比と一致するにように、入力値が正の場合には燃料噴射量を増やすために空燃比フィードバック制御量を増大させ、入力値が負の場合は燃料噴射量を減らすために空燃比フィードバック制御量を減少させる。
【００７６】
むだ時間補償器６５は、例えばスミス法によるむだ時間補償制御を実行するためのものであり、局所フィードバックを行うことにより、インジェクタ３５から空燃比センサ２５までのエンジン制御系であるプラントに含まれるむだ時間の影響を補償する。
【００７７】
具体的には、むだ時間補償器６５は、むだ時間を含まないプラントモデル６５ａと、むだ時間を含むプラントモデル６５ｂと、減算部６５ｃとを含んで構成されている。
そして、むだ時間を含まないプラントモデル６５ａは、現在の空燃比フィードバック制御量で燃料噴射量を決定して燃料を噴射した場合に、むだ時間が経ってから空燃比センサ値が幾つになるかを予測し、その予測値の逆数を出力する。
【００７８】
また、むだ時間を含むプラントモデル６５ｂは、過去の（むだ時間だけ前の）空燃比フィードバック制御量から現在の空燃比センサ値を予測し、その予測値の逆数を出力する。
また、減算部６５ｃは、むだ時間を含まないプラントモデル６５ａの出力値から、むだ時間を含むプラントモデル６５ｂの出力値を減算し、その減算値を、当該むだ時間補償器６５の出力値として上記減算部６７へ出力する。
【００７９】
そして、このようなむだ時間補償器６５を有したフィードバック制御器（むだ時間補償機能を有したフィードバック制御器）５５では、計算した空燃比フィードバック制御量を用いて燃料噴射を実施した場合の空燃比センサ値の逆数を、むだ時間がある場合とない場合で推定し、その偏差を用いて空燃比フィードバック制御量を調整することとなる。例えば、「プラントモデル６５ａの出力値−プラントモデル６５ｂの出力値」が正の場合には、むだ時間だけ経過した後に空燃比センサ値の逆数（燃空比の値）が増大することが想定されるため、制御部６３への入力値が当該フィードバック制御器５５への入力値よりも減少して、空燃比フィードバック制御量を減少させることとなる。
【００８０】
尚、図示は省略しているが、フィードバック制御器５５は、むだ時間補償器６５が演算に用いるむだ時間を算出するためのむだ時間算出部を備えている。そして、そのむだ時間算出部は、例えば、エンジン３の吸入空気量やエンジン回転数等の運転状態とむだ時間との関係を示すデータテーブルから、実際に検出した運転状態に対応する値を検索する、といった手順でむだ時間を算出する。また、こうしたむだ時間補償機能付きのフィードバック制御器５５については、例えば特許文献２に詳しく記載されている。
【００８１】
一方、こうしたむだ時間補償機能付きのフィードバック制御器５５では、入力値が０以外から瞬時に０に変化すると、出力値である空燃比フィードバック制御量が、それまでの増減方向とは逆方向に変化する。
【００８２】
例えば、空燃比フィードバック制御量を増やす方向に制御している場合、フィードバック制御器５５への入力値が正の値となり、むだ時間補償器６５の出力値も正の値となって、空燃比フードバック制御量を徐々に増やしていくこととなるが、その状態で、フィードバック制御器５５への入力値が急に０になったとすると、制御部６３への入力値は、むだ時間補償器６５の出力値の分だけ急に負方向へ変化するため、その制御部６３が算出する空燃比フィードバック制御量が、それまでとは逆の減少方向へ変化することとなる。
【００８３】
次に、参考例の空燃比フィードバック制御量演算部４５’を備えたエンジンＥＣＵの作用について、図４のタイムチャートを用い説明する。尚、図４においては、「制限あり（従来技術）」と記載した点線が、参考例の空燃比フィードバック制御量演算部４５’を備えたエンジンＥＣＵの作用を表しており、「制限なし」と記載した点線は、図３（Ａ）の制御量制限値演算部５７、制御量判定部５９及び制御停止切替部６１を設けずに、入力値演算部５３で算出される入力値をそのままフィードバック制御器５５へ入力する構成の場合（即ち、空燃比フィードバック制御量の制限を実施しない場合）を示している。そして、このことは、後述する図８及び図１２についても同様である。
【００８４】
図４に示すように、例えば、空燃比センサ値が目標空燃比よりも小さくなった場合（１段目参照）、入力値演算部５３からフィードバック制御器５５への入力値は負となり（２段目参照）、そのフィードバック制御器５５で算出される空燃比フィードバック制御量は、燃料噴射量を減らすために１よりも減少していく（３，４段目参照）。
【００８５】
そして、空燃比フィードバック制御量が減少し続けて制御量制限値に達し、そのことが制御量判定部５９により判定されると、制御停止切替部６１が、フィードバック制御器５５への入力値が強制的に０にして、空燃比フィードバック制御を停止させることとなる（２，３段目参照）。
【００８６】
ここで、フィードバック制御器５５への入力値が０に切り替えられると、むだ時間補償器６５の作用により、空燃比フィードバック制御量がわずかに増大することとなる（３段目参照）。
【００８７】
その結果、空燃比フィードバック制御量は制御量制限値を上回り、再び、フィードバック制御器５５へ入力値演算部５３で算出される０でない値が入力されて、空燃比フィードバック制御が再開されることとなる（２，３段目参照）。
【００８８】
しかし、未だ空燃比センサ値は目標空燃比を下回っているため、フィードバック制御器５５への入力値は負の値となり、空燃比フィードバック制御量は減少して、再び制御量制限値に達し、その結果、制御量判定部５９及び制御停止切替部６１により、フィードバック制御器５５への入力値が再び０に設定される。
【００８９】
このように空燃比フィードバック制御量が増加と減少を繰り返してハンチングし、それが最終の燃料噴射量のハンチングを引き起こすこととなる（３，４段目参照）。そして、燃料噴射量のハンチングにより、エミッションの悪化や内燃機関の安定動作の悪化といった問題を引き起こすこととなる。
【００９０】
但し、もし、空燃比フィードバック制御量の制限を実施しないとすると、図４において「制限なし」と記載した点線で示すように、空燃比フィードバック制御量がどんどん減らされ続けるため、その後、空燃比センサ値が急激に増加して目標空燃比を上回ってしまった場合に、すぐに空燃比フィードバック制御量を増やして空燃比センサ値を下げることができず、空燃比センサ値の大きなオーバーシュートを引き起こしてしまう。このようなオーバーシュートは、空燃比フィードバック制御量の制限を行うことで改善される。
【００９１】
そこで次に、上記のような空燃比フィードバック制御量のハンチングを防止しつつ、その空燃比フィードバック制御量の制限を実施可能な本実施形態の空燃比フィードバック制御量演算部４５について、図５を用い説明する。
【００９２】
図５（Ａ）に示すように、空燃比フィードバック制御量演算部４５は、図３（Ａ）の空燃比フィードバック制御量演算部４５’と比較すると、制御量判定部５９及び制御停止切替部６１に代えて、入力制限値設定部７１及び入力値制限実施部７３を備えている。尚、それら各部６３，６５も、マイコン５がプログラムを実行することで実現される機能手段である。
【００９３】
入力制限値設定部７１は、フィードバック制御器５５で算出された空燃比フィードバック制御量が、制御量制限値演算部５７で算出された制御量制限値に近づいている程度を検出し、その近づき程度に応じて、フィードバック制御器５５への入力値の制限値である入力制限値を、前記近づき程度が大きいほど（つまり、空燃比フィードバック制御量が制御量制限値に近づいているほど）０に近い値となるように設定する。
【００９４】
そして、入力値制限実施部７３は、入力値演算部５３からフィードバック制御器５５への入力値を、入力制限値設定部７１で設定された入力制限値を超えないように制限する。
尚、図５（Ｂ）に示すように、空燃比フィードバック制御量演算部４５のフィードバック制御器５５も、図３に示した空燃比フィードバック制御量演算部４５’のフィードバック制御器５５（図３（Ｂ））と同様に、むだ時間補償機能を有したフィードバック制御器である。
【００９５】
次に、空燃比フィードバック制御量演算部４５に相当するマイコン５の処理について、図６のフローチャートを用い説明する。尚、図６の処理（即ち、空燃比フィードバック制御量演算部４５としての処理）は、エンジン３のクランク軸２７が所定角度回転する毎に実行される。
【００９６】
マイコン５が図６の処理を開始すると、まずＳ１１０にて、エンジン３の冷却水温やエンジン回転数等の運転状態に基づいて目標空燃比を算出する。尚、このＳ１１０の処理が目標空燃比演算部５１に相当する。
【００９７】
そして、次のＳ１２０にて、前述の式１によりフィードバック制御器５５への入力値を算出する。尚、このＳ１２０の処理が入力値演算部５３に相当する。
次にＳ１３０にて、水温検出値やエンジン始動後の経過時間等に基づいて下側の制御量制限値と上側の制御量制限値を算出する。下側の制御量制限値は、１よりも小さい減少方向の空燃比フィードバック制御量に対する制限値であり、１よりも小さい値である。また、上側の制御量制限値は、１よりも大きい増加方向の空燃比フィードバック制御量に対する制限値であり、１よりも大きい値である。尚、このＳ１３０の処理が制御量制限値演算部５７に相当する。また、Ｓ１３０では、後述のＳ１９０で算出されている最新の空燃比フィードバック制御量が１未満の場合には、下側の制御量制限値だけを算出し、最新の空燃比フィードバック制御量が１未満でない場合には、上側の制御量制限値だけを算出するようにしても良い。
【００９８】
そして、次のＳ１４０にて、後述のＳ１９０で算出されている最新の空燃比フィードバック制御量と、上記Ｓ１３０で今回算出された制御量制限値との偏差を、下記の式２により算出する。
【００９９】
偏差＝空燃比フィードバック制御量−制御量制限値  …式２
尚、Ｓ１４０では、最新の空燃比フィードバック制御量が１未満である場合には、その空燃比フィードバック制御量とＳ１３０で算出された下側の制御量制限値との偏差を求め、最新の空燃比フィードバック制御量が１未満でない場合には、その空燃比フィードバック制御量とＳ１３０で算出された上側の制御量制限値との偏差を求める。また、このＳ１４０で算出される偏差が、空燃比フィードバック制御量の制御量制限値への近づき程度に相当している。
【０１００】
次にＳ１５０にて、上記Ｓ１４０で算出した偏差の絶対値が規定値よりも大きいか否かを判定し、偏差の絶対値が規定値よりも大きければ、そのままＳ１９０に移行する。そして、この場合のＳ１９０では、上記Ｓ１２０で算出された入力値に基づいて、フィードバック制御器５５としての演算を行うことにより、空燃比フィードバック制御量を算出する。そして、その後、当該空燃比フィードバック制御量演算部４５としての処理を終了する。
【０１０１】
一方、上記Ｓ１５０にて、偏差の絶対値が規定値よりも大きくないと判定した場合には、Ｓ１６０に進み、Ｓ１４０で算出された偏差に応じて入力制限値を算出する。
ここで、図７に、入力制限値の設定例を示す。図７に示すように、本実施形態では、Ｓ１４０で算出される偏差の絶対値が小さいほど（即ち、空燃比フィードバック制御量の制御量制限値への近づき程度が大きいほど）、入力制限値を０に近い値となるように設定して、フィードバック制御器５５への入力値（即ち、Ｓ１９０の演算で空燃比フィードバック制御量を算出するのに用いられる入力値）に対する制限を厳しくするようにしている。そして、偏差の絶対値が０の場合に、入力制限値がちょうど０となるようにしている。
【０１０２】
次にＳ１７０にて、Ｓ１２０で算出された入力値が、Ｓ１６０で算出された入力制限値に達しているか否かを判定する。
より具体的に説明すると、最新の空燃比フィードバック制御量が１未満である場合には、Ｓ１６０にて、図７の右側に示すように、最新の空燃比フィードバック制御量から下側の制御量制限値を引いた正の値の偏差に基づいて、０以下の値となる入力制限値が算出されることとなるため、Ｓ１７０では、Ｓ１２０で算出された入力値が、その入力制限値（≦０）以下になったか否かを判定する。また、最新の空燃比フィードバック制御量が１未満でない場合には、Ｓ１６０にて、図７の左側に示すように、最新の空燃比フィードバック制御量から上側の制御量制限値を引いた負の値の偏差に基づいて、０以上の値となる入力制限値が算出されることとなるため、Ｓ１７０では、Ｓ１２０で算出された入力値が、その入力制限値（≧０）以上になったか否かを判定する。
【０１０３】
そして、Ｓ１７０にて、入力値が入力制限値に達していないと判定した場合には、そのままＳ１９０に移行する。よって、この場合のＳ１９０においても、上記Ｓ１２０で算出された入力値に基づいて、フィードバック制御器５５としての演算を行うことにより、空燃比フィードバック制御量を算出することとなる。
【０１０４】
これに対し、Ｓ１７０にて、入力値が入力制限値に達していると判定した場合には、Ｓ１８０に進んで、その入力値に上記Ｓ１６０で算出した入力制限値を代入し、その後、Ｓ１９０に進む。つまり、フィードバック制御器５５への入力値を入力制限値に制限する。そして、この場合のＳ１９０では、入力制限値を入力値として、フィードバック制御器５５としての演算を行うことにより、空燃比フィードバック制御量を算出することとなる。
【０１０５】
尚、上記Ｓ１４０，Ｓ１６０の処理が入力制限値設定部７１に相当し、上記Ｓ１７０，Ｓ１８０の処理が入力値制限実施部７３に相当する。
次に、以上のような空燃比フィードバック制御量演算部４５を備えたエンジンＥＣＵ１の作用及び効果について、図８のタイムチャートを用い説明する。尚、図８においては、「制限あり（実施形態）」と記載した線が、本第１実施形態のエンジンＥＣＵ１の作用を表している。
【０１０６】
図８に示すように、例えば、空燃比センサ値が目標空燃比よりも小さくなった場合（１段目参照）、入力値演算部５３で算出されてフィードバック制御器５５に入力される入力値は負となり（２段目参照）、そのフィードバック制御器５５で算出される空燃比フィードバック制御量は、燃料噴射量を減らすために１よりも減少していく（３，４段目参照）。
【０１０７】
ここで、本第１実施形態では、フィードバック制御器５５で算出される空燃比フィードバック制御量が制御量制限値に近づくにつれて、入力制限値設定部７１及び入力値制限実施部７３の作用により、フィードバック制御器５５への入力値が徐々に０へ向けて制限されていくため、算出される空燃比フィードバック制御量は制御量制限値（この例では、下側の制御量制限値）に緩やかに近づいていくこととなる（２，３段目参照）。
【０１０８】
よって、空燃比フィードバック制御量のハンチングを防止しつつ、その空燃比フィードバック制御量の制限を実施することができる。つまり、空燃比フィードバック制御量を制限して、空燃比のオーバーシュートを防止できるだけでなく、空燃比フィードバック制御量のハンチングも抑制することができ、延いては、燃料噴射量のハンチングも防止することができる（４段目参照）。
【０１０９】
その結果、エンジン３の動作が安定しエミッションの悪化も抑制できる。更に、ハンチングが発生してしまう上記参考例の空燃比フィードバック制御量演算部４５’を設けた場合と比べて、燃料噴射量が安定するため、空燃比のオーバーシュートを抑制する効果も高い（１段目参照）。
【０１１０】
また、図示は省略するが、空燃比センサ値が目標空燃比よりも大きくなって、空燃比フィードバック制御量が１より増加していく場合にも、同様の効果が得られる。
尚、本第１実施形態では、空燃比センサ２５が空燃比検出手段に相当し、入力値演算部５３（Ｓ１２０）が偏差算出手段に相当し、フィードバック制御器５５（Ｓ１９０）がフィードバック制御量算出手段に相当している。そして、入力制限値設定部７１（Ｓ１４０，Ｓ１６０）が入力制限値設定手段に相当し、入力値制限実施部７３（Ｓ１７０，Ｓ１８０）が入力値制限手段に相当している。
［第１実施形態の変形例１］
ところで、空燃比フィードバック制御量の制御量制限値への近づき程度は、前述した式２の偏差として直接求めるのではなく、空燃比フィードバック制御量が制御量制限値に近づく方向に動き続けている状態の継続時間から求めることもできる。
【０１１１】
そこで、変形例１として、その処理のフローチャートを図９に示す。
図９の処理は、図６におけるＳ１４０に代えて行われる処理である。そして、図９の処理では、まずＳ２１０にて、今回のＳ１２０で算出されたフィードバック制御器５５への入力値が０未満であるか否かを判定する。
【０１１２】
そして、今回のＳ１２０で算出された入力値が０未満ならば（Ｓ２１０：ＹＥＳ）、次のＳ２２０にて、入力値が負になっている継続時間の計測値である負側継続時間に、当該図９の処理を前回行ってから現在までの経過時間を加算し、次のＳ２３０にて、入力値が正になっている継続時間の計測値である正側継続時間を０にリセットする。
【０１１３】
そして、次のＳ２４０にて、今回のＳ２２０で算出した負側継続時間を、空燃比フィードバック制御量と今回のＳ１３０で算出された下側の制御量制限値との偏差に換算する。
具体的には、負側継続時間がいくつで下側の制御量制限値がいくつならば、空燃比フィードバック制御量と下側の制御量制限値との偏差はいくつである、といった関係を示すデータマップを実験やシミュレーション等により準備しておき、そのデータマップに、今回のＳ２２０で算出した負側継続時間と、今回のＳ１３０で算出した下側の制御量制限値を当てはめることにより、空燃比フィードバック制御量と下側の制御量制限値との偏差を求める。尚、このＳ２４０で求められる偏差は、図７の右半分に示すように正の値となる。
【０１１４】
つまり、Ｓ１２０で算出された入力値が０未満で負になっているということは、空燃比センサ値が目標空燃比よりも連続してリッチになっているということであり、算出される空燃比フィードバック制御量が連続して減少方向に変化しているということであるため、その状態の継続時間である負側継続時間から、空燃比フィードバック制御量と下側の制御量制限値との偏差を推定するようにしている。そして、このＳ２４０で偏差を求めた後、当該図９の処理を終了する。
【０１１５】
また、上記Ｓ２１０にて、今回のＳ１２０で算出された入力値が０未満でないと判定した場合には、Ｓ２５０に移行して、正側継続時間に、当該図９の処理を前回行ってから現在までの経過時間を加算し、次のＳ２６０にて、負側継続時間を０にリセットする。
【０１１６】
そして、次のＳ２７０にて、今回のＳ２５０で算出した正側継続時間を、空燃比フィードバック制御量と今回のＳ１３０で算出された上側の制御量制限値との偏差に換算する。
具体的には、Ｓ２４０の処理と同様に、正側継続時間がいくつで上側の制御量制限値がいくつならば、空燃比フィードバック制御量と上側の制御量制限値との偏差はいくつである、といった関係を示すデータマップを実験やシミュレーション等により準備しておき、そのデータマップに、今回のＳ２５０で算出した正側継続時間と、今回のＳ１３０で算出した上側の制御量制限値を当てはめることにより、空燃比フィードバック制御量と上側の制御量制限値との偏差を求める。尚、このＳ２７０で求められる偏差は、図７の左半分に示すように負の値となる。
【０１１７】
つまり、Ｓ１２０で算出された入力値が０未満でなく正になっているということは、空燃比センサ値が目標空燃比よりも連続してリーンになっているということであり、算出される空燃比フィードバック制御量が連続して増加方向に変化しているということであるため、その状態の継続時間である正側継続時間から、空燃比フィードバック制御量と上側の制御量制限値との偏差を推定するようにしている。そして、このＳ２７０で偏差を求めた後、当該図９の処理を終了する。
【０１１８】
尚、Ｓ１２０で算出された入力値が０未満であって図９のＳ２４０の処理が行われた場合、図６のＳ１６０では、そのＳ２４０で求められた正の値の偏差に基づいて、図７の設定特性により０以下の値となる入力制限値を算出することとなる。また、Ｓ１２０で算出された入力値が０未満でなく図９のＳ２７０の処理が行われた場合、図６のＳ１６０では、そのＳ２７０で求められた負の値の偏差に基づいて、図７の設定特性により０以上の値となる入力制限値を算出することとなる。
【０１１９】
以上のような変形例１によれば、空燃比フィードバック制御量の制御量制限値への近づき程度を検出するために、空燃比フィードバック制御量そのものを使わないため、制限を実施するのにフィードバックループが発生せず、演算周期遅れの影響を受けないようにすることができる。
［第１実施形態の変形例２］
一方、上記第１実施形態では、入力制限値を、空燃比フィードバック制御量の制御量制限値への近づき程度（空燃比フィードバック制御量と制御量制限値との偏差）のみに応じて変化させたが、変形例２として、更にエンジン制御系のむだ時間によっても入力制限値を変化させると一層良い。
【０１２０】
具体的に説明すると、図６のＳ１６０では、図１０に示すように、入力制限値を、Ｓ１４０で算出された偏差（以下、制限量対制限値偏差ともいう）だけでなく、エンジン制御系のむだ時間に応じても変えるようにし、特に、むだ時間が大きい場合には、むだ時間が小さい場合よりも、制御量対制限値偏差の絶対値が大きい段階（換言すれば、上記近づき程度が小さい段階）で入力制限値が０に近い値となるように、その入力制限値を設定すれば良い。また、入力制限値の設定に用いるむだ時間としては、フィードバック制御器５５のむだ時間補償器６５が演算に用いるむだ時間であって、前述のむだ時間算出部で算出されるむだ時間を用いれば良い。
【０１２１】
そして、このように構成すれば、下記の効果が得られる。
まず、フィードバック制御器５５では、入力値が０になった制御停止時には、むだ時間が大きい場合ほど、出力値である空燃比フィードバック制御量がそれまでとは逆方向へ大きく戻ることとなる。
【０１２２】
そこで、むだ時間が大きい場合には、むだ時間が小さい場合よりも、空燃比フィードバック制御量が制御量制限値から離れている早期の段階で入力制限値が０に近い値となるようにすることで、フィードバック制御器５５の入力値を早めに制限して、空燃比フィードバック制御量をより緩やかに制御量制限値へと近づけていくことができ、その結果、空燃比フィードバック制御量のハンチングを効果的に抑制することができるようになる。
【０１２３】
逆に、むだ時間が小さい場合には、むだ時間が大きい場合よりも、空燃比フィードバック制御量が制御量制限値へと一層近づいてから入力制限値が０に近い値となるようにすることで、空燃比フィードバック制御量が制御量制限値へとより近づくぎりぎりまで、制限をかけない通常の空燃比フィードバック制御を実施することができるようになる。
［第１実施形態の変形例３］
また、上記変形例２において、むだ時間の代わりに、インジェクタ３５から空燃比センサ２５までのエンジン制御系の固有角速度に応じて、入力制限値を可変設定するようにしても良い。具体的には、エンジン制御系では、固有角速度が小さいほど、むだ時間が大きくなる傾向があるため、固有角速度が小さい場合には、固有角速度が大きい場合よりも、制御量対制限値偏差の絶対値が大きい段階で入力制限値が０に近い値となるように、その入力制限値を設定するように構成すれば良い。そして、このように構成しても、上記変形例２と同様の効果を得ることができる。
【０１２４】
また、固有角速度の代わりに、エンジン制御系の減衰率に応じて、入力制限値を可変設定するようにしても良い。具体的には、エンジン制御系では、減衰率が大きいほど、むだ時間が大きくなる傾向があるため、減衰率が大きい場合には、減衰率が小さい場合よりも、制御量対制限値偏差の絶対値が大きい段階で入力制限値が０に近い値となるように、その入力制限値を設定するように構成すれば良い。
【０１２５】
また更に、固有角速度と減衰率との両方に応じて入力制限値を変化させるように構成しても良い。つまり、固有角速度が小さく減衰率が大きい場合ほど、制御量対制限値偏差の絶対値が大きい段階で入力制限値が０に近い値となるように、その入力制限値を設定するように構成しても良い。
【０１２６】
尚、エンジン制御系の固有角速度や減衰率は、例えば、むだ時間の算出手法と同様に、それらとエンジン３の吸入空気量やエンジン回転数等の運転状態との関係をデータテーブル化しておき、そのテーブルから、実際に検出した運転状態に対応する値を検索する、といった手順で算出するように構成することができる。また、固有角速度や減衰率としては、フィードバック制御器５５の制御部６３で空燃比フィードバック制御量を算出するために用いられる制御パラメータとしての固有角速度や減衰率と同じ値を用いることができる。このようにすれば、余分な計算をする必要がなく、また空燃比制御と同調させ易いため有利である。そして、これらのことは、後述する他の実施形態及び変形例についても同様である。
［第２実施形態］
次に、第２実施形態のエンジンＥＣＵについて説明する。尚、第１実施形態と同じものについては、第１実施形態と同じ符号を用いる。
【０１２７】
第２実施形態のエンジンＥＣＵ１は、第１実施形態と比較すると、空燃比フィードバック制御量演算部４５が異なっており、それに相当する処理として、図１１の処理が行われる点が異なっている。尚、図１１において、第１実施形態の図６と同じ処理については同一のステップ番号を付しているため、説明は省略する。
【０１２８】
そして、図１１に示すように、マイコン５は、Ｓ１３０で制御量制限値を算出した後、Ｓ３１０に進み、後述するＳ３５０又はＳ３７０でオン／オフされる制御停止判定フラグを参照して、制御停止中であるか否かを判定する。尚、制御停止判定フラグがオンされていれば、制御停止中であると判定する。また、制御停止中とは、フィードバック制御器５５への入力値（空燃比フィードバック制御量を算出するための入力値）が強制的に０に設定された状態のことである。
【０１２９】
このＳ３１０にて、制御停止中でないと判定した場合には、Ｓ３４０に移行して、Ｓ１９０で算出されている最新の空燃比フィードバック制御量がＳ１３０で算出された制御量制限値に達しているか否かを判定する。より具体的に説明すると、最新の空燃比フィードバック制御量が１未満である場合には、その空燃比フィードバック制御量が下側の制御量制限値以下になったか否かを判定する。また、最新の空燃比フィードバック制御量が１未満でない場合には、その空燃比フィードバック制御量が上側の制御量制限値以上になったか否かを判定する。
【０１３０】
そして、このＳ３４０にて、空燃比フィードバック制御量が制御量制限値に達していないと判定した場合には、Ｓ３５０に進んで、制御停止判定フラグをオフし、その後、Ｓ１９０に進む。よって、この場合のＳ１９０では、Ｓ１２０で算出された入力値に基づいて、フィードバック制御器５５としての演算を行うことにより、空燃比フィードバック制御量を算出することとなる。
【０１３１】
一方、上記Ｓ３４０にて、空燃比フィードバック制御量が制御量制限値に達していると判定した場合には、Ｓ３６０に移行して、フィードバック制御器５５への入力値を０にし、続くＳ３７０にて、制御停止判定フラグをオンした後、Ｓ１９０に進む。よって、この場合のＳ１９０では、「入力値＝０」として、フィードバック制御器５５としての演算を行うことにより、空燃比フィードバック制御量を算出することとなる。このため、空燃比フィードバック制御が停止した状態となる。
【０１３２】
また、上記Ｓ３１０にて、制御停止中であると判定した場合には、Ｓ３２０に進んで、制御量制限値に加算すべきオフセットを算出する。
このオフセットは、フィードバック制御器５５への入力値を０にした制御停止時の空燃比フィードバック制御量の逆戻り量を考慮して、適切に設定する。
【０１３３】
具体的に説明すると、現在算出されている最新の空燃比フィードバック制御量が１未満である場合には、今回のＳ１３０で算出された下側の制御量制限値を上昇させるためのオフセットであって、正の値のオフセットを算出する。また、現在算出されている最新の空燃比フィードバック制御量が１未満でない場合には、今回のＳ１３０で算出された上側の制御量制限値を下降させるためのオフセットであって、負の値のオフセットを算出する。更に、むだ時間が大きくエンジン制御系の動作が緩慢な領域では、制御停止時における空燃比フィードバック制御量の逆戻り量も大きくなるため、本実施形態では、むだ時間が大きい場合ほど、オフセットの絶対値（即ち、制御量制限値の変化量）を大きくするようにしている。尚、むだ時間としては、前述のむだ時間算出部で算出されるむだ時間を用いれば良い。
【０１３４】
次にＳ３３０にて、現在算出されている最新の空燃比フィードバック制御量が１未満である場合には、今回のＳ１３０で算出された下側の制御量制限値に、Ｓ３２０で算出された正の値のオフセットを加算した値を、Ｓ３４０の判定で用いる下側の制御量制限値として設定する。また、現在算出されている最新の空燃比フィードバック制御量が１未満でない場合には、今回のＳ１３０で算出された上側の制御量制限値に、Ｓ３２０で算出された負の値のオフセットを加算した値を、Ｓ３４０の判定で用いる上側の制御量制限値として設定する。
【０１３５】
そして、このようなＳ３３０の処理を行った後、Ｓ３４０へ進む。よって、この場合には、Ｓ３１０にて制御停止中でないと判定される場合よりも、制御量制限値にオフセットが加算される分、Ｓ３４０にて空燃比フィードバック制御量が制御量制限値に達していると肯定判定され易くなる。
【０１３６】
つまり、本第２実施形態の空燃比フィードバック制御量演算部４５は、図３（Ａ）に示した参考例の空燃比フィードバック制御量演算部４５’に対して、図１１のＳ３１０〜Ｓ３３０，Ｓ３５０，Ｓ３７０の処理を行う部分を追加したものである。
【０１３７】
次に、以上のような第２実施形態のエンジンＥＣＵ１の作用及び効果について、図１２のタイムチャートを用い説明する。尚、図１２においては、「制限あり（実施形態）」と記載した線が、本第２実施形態のエンジンＥＣＵ１の作用を表している。また、図１２も、前述した図４及び図８と同様に、空燃比センサ値が目標空燃比よりも小さくなった場合を表している。
【０１３８】
図１２に示すように、空燃比フィードバック制御量が減少していって、Ｓ１３０で算出された制御量制限値（この例では下側の制御量制限値）に達するまでは、参考例の空燃比フィードバック制御量演算部４５’を備えたエンジンＥＣＵと同じであるが、空燃比フィードバック制御量が制御量制限値に達して、そのことが図１１のＳ３４０で判定され、図１１のＳ３６０によりフィードバック制御器５５への入力値が０に強制設定されると、図１１のＳ３１０〜Ｓ３３０の処理により、Ｓ１３０で算出される制御量制限値にオフセットが加算され、その加算後の制御量制限値がＳ３４０での判定に用いられることとなる。
【０１３９】
このため、空燃比フィードバック制御量が制御量制限値に達してフィードバック制御器５５への入力値が０に強制設定された際に、むだ時間補償機能によって空燃比フィードバック制御量がそれまでとは逆方向（この例では増加方向）に変動しても、図１１のＳ３４０で“ＹＥＳ”と肯定判定される状態、即ち、フィードバック制御器５５への入力値が０に強制設定される制御停止状態が維持されて、空燃比フィードバック制御量のハンチングが防止されることとなる。
【０１４０】
また、その後、図１１のＳ１３０で算出される制御量制限値が、Ｓ３３０でのオフセット加算によって変化する方向とは逆の方向（この例では減少方向）に変化すれば、オフセット加算後の制御量制限値であって、上記Ｓ３４０での判定に用いられる制御量制限値が、その判定により肯定判定され難くなる方向に変化することとなる。よって、制御停止状態が継続するようになった後、上記Ｓ１３０で算出される制御量制限値が、Ｓ３３０でのオフセット加算によって変化する方向とは逆の方向に大きく変化すれば、図１１のＳ３４０で肯定判定されなくなり、制御停止状態が解除されることとなる。
【０１４１】
尚、図示は省略するが、空燃比センサ値が目標空燃比よりも大きくなって、空燃比フィードバック制御量が１より増加していく場合にも、同様の作用及び効果が得られる。
以上のような第２実施形態のエンジンＥＣＵ１によっても、第１実施形態と同様に、空燃比フィードバック制御量のハンチングを防止しつつ、その空燃比フィードバック制御量の制限を実施することができ、エンジン３の動作を安定にしてエミッション悪化も抑制できる。
【０１４２】
また、本第２実施形態において、図１１のＳ３２０では、制御量制限値を変化させるオフセットの絶対値を、むだ時間が大きい場合ほど大きくするようになっている。つまり、フィードバック制御器５５への入力値が０に設定される制御停止時には、むだ時間が大きい場合ほど空燃比フィードバック制御量の逆戻り量が大きくなるため、むだ時間に応じて制御量制限値の変化量であるオフセットの大きさを決めるようにしている。このため、制御量制限値を変化させる量のマージンを必要以上に大きくすることなく、制御停止状態が適切なタイミングで解除されるようにすることができる。
【０１４３】
尚、本第２実施形態では、Ｓ１３０の処理が制御量制限値設定手段に相当し、Ｓ３４０の処理が判定手段に相当し、Ｓ３６０の処理がフィードバック制御停止手段に相当し、Ｓ３２０，Ｓ３３０の処理が制御量制限値変更手段又は状態保持手段に相当している。
［第２実施形態の変形例１］
図１１のＳ３２０，Ｓ３３０では、制御量制限値にオフセットを加算することで、その制御量制限値を変化させるようにしたが、ゲインを乗算することによって制御量制限値を変化させるようにしても良い。
【０１４４】
例えば、Ｓ３３０では、１と制御量制限値との差をゲインの分だけ縮める処理を実施すれば良い。具体的には、１より小さい下側の制御量制限値をＳＬとし、ゲインをＧ（但し「０＜Ｇ＜１」）とすると、「１−（１−ＳＬ）×Ｇ」の値を、変更後の制御量制限値とすれば良く、また、１より大きい上側の制御量制限値をＳＨとし、ゲインをＧ（但し「０＜Ｇ＜１」）とすると、「１＋（ＳＨ−１）×Ｇ」の値を、変更後の制御量制限値とすれば良い。
【０１４５】
また、この例の場合、Ｓ３２０では、ゲインＧの値を、むだ時間が大きい場合ほど、そのゲインＧの値が小さくなるように設定すれば良い。ゲインＧの値を０に近づけるほど、制御量制限値の変化量が大きくなって、その変更後の制御量制限値が１に近づくからである。
［第２実施形態の変形例２］
また、図１１のＳ３２０，Ｓ３３０で制御量制限値を変化させる変化量（前述のオフセットやゲイン）は、前述したエンジン制御系の固有角速度に応じて変えるようにしても良い。具体的には、固有角速度が小さいほど、むだ時間が大きくなる傾向があるため、固有角速度が小さい場合ほど制御量制限値の変化量を大きくするように構成すれば良い。
【０１４６】
また、固有角速度の代わりに、エンジン制御系の減衰率に応じて、制御量制限値の変化量を変化させるようにしても良い。具体的には、減衰率が大きいほど、むだ時間が大きくなる傾向があるため、減衰率が大きい場合ほど制御量制限値の変化量を大きくするように構成すれば良い。また更に、固有角速度と減衰率との両方に応じて制御量制限値の変化量を変化させるようにしても良い。つまり、固有角速度が小さく減衰率が大きい場合ほど制御量制限値の変化量を大きくするように構成しても良い。
［第３実施形態］
ところで、第１実施形態の図６の処理では、フィードバック制御器５５への入力値を制限することから、空燃比フィードバック制御の動作（換言すれば、空燃比フィードバック制御量の変化）が緩慢になる傾向がある。このため、エンジン制御系の特性自体が緩慢で空燃比フィードバック制御の動作も緩慢で構わない場合に特に有効である。
【０１４７】
また、第２実施形態の図１１の処理では、むだ時間が大きい領域では制御量制限値の変化量を大きく設定して制御停止状態を維持する必要がある。すると、空燃比フィードバック制御量の制限がきつくなり、かえって空燃比センサ値を目標空燃比に近づけ難くなる可能性がある。
【０１４８】
そこで、第３実施形態のエンジンＥＣＵでは、空燃比フィードバック制御量演算部４５に相当する処理として、図６の処理と図１１の処理とが、エンジン３の運転状態に応じて切り替えて行われるようにしている。尚、第３実施形態の説明において、第１実施形態と同じものについては、第１実施形態と同じ符号を用いる。
【０１４９】
即ち、第３実施形態のエンジンＥＣＵ１において、マイコン５は、エンジン３のクランク軸２７が所定角度回転する毎に、図１３の処理を実行する。そして、図１３の処理を開始すると、まずＳ４１０にて、前述したむだ時間算出部としての処理により、むだ時間を算出する。次にＳ４２０にて、むだ時間が規定値よりも大きいか否かを判定し、むだ時間が規定値よりも大きければ、Ｓ４３０に進んで、図６の処理（図１３中では第１の処理）を実行する。また、むだ時間が規定値よりも大きくないと判定した場合には（Ｓ４２０：ＮＯ）、Ｓ４４０に移行して、図１１の処理（図１３中では第２の処理）を実行する。
【０１５０】
そして、このような第３実施形態のエンジンＥＣＵ１によれば、エンジン制御系の特性自体が緩慢で空燃比フィードバック制御の動作も緩慢で構わない場合は図６の処理を行い、むだ時間が小さく空燃比フィードバック制御の動作を迅速にしたい場合は図１１の処理を行う、といった切り替えを行うことができ、空燃比フィードバック制御量の制限をより効果的に行うことが可能となる。
【０１５１】
尚、本第３実施形態では、Ｓ４２０の処理が動作モード切替手段に相当している。そして、図６の処理が行われる場合の動作モードが、第１の動作モードに相当し、図１１の処理が行われる場合の動作モードが、第２の動作モードに相当している。
【０１５２】
また、むだ時間の代わりに、前述したエンジン制御系の固有角速度に応じて動作モードを切り替えるようにしても良い。具体的には、Ｓ４１０にて、エンジン制御系の固有角速度を既述した手順で算出し、Ｓ４２０にて、その固有角速度が規定値よりも小さいか否かを判定する。そして、固有角速度が規定値よりも小さい場合には、Ｓ４３０に進み、固有角速度が規定値よりも小さくない場合には、Ｓ４４０に進むように構成すれば良い。
【０１５３】
また、固有角速度の代わりに、エンジン制御系の減衰率に応じて動作モードを切り替えるようにしても良い。具体的には、Ｓ４１０にて、減衰率を既述した手順で算出し、Ｓ４２０にて、その減衰率が規定値よりも大きいか否かを判定する。そして、減衰率が規定値よりも大きい場合には、Ｓ４３０に進み、減衰率が規定値よりも大きくない場合には、Ｓ４４０に進むように構成すれば良い。
【０１５４】
また更に、固有角速度と減衰率との両方に応じて動作モードを切り替えるようにしても良い。つまり、固有角速度が小さく減衰率が大きいと判定した場合には図６の処理を行い、そうでないと判定した場合には図１１の処理を行うように構成しても良い。
【０１５５】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【０１５６】
例えば、フィードバック制御器５５へは、「目標空燃比−空燃比センサ値」の値が、入力値として入力されるように構成しても良い。但し、この場合には、入力値が増加すると、出力値である空燃比フィードバック制御量が減少する、という入出力関係になる。
【図面の簡単な説明】
【０１５７】
【図１】第１実施形態のエンジンＥＣＵを表す構成図である。
【図２】燃料噴射量演算処理の流れを表すブロック図である。
【図３】参考例の空燃比フィードバック制御量演算部を説明するためのブロック図である。
【図４】参考例の空燃比フィードバック制御量演算部を備えたエンジンＥＣＵの作用及び問題を説明するためのタイムチャートである。
【図５】第１実施形態の空燃比フィードバック制御量演算部を説明するためのブロック図である。
【図６】第１実施形態の空燃比フィードバック制御量演算部に相当する処理のフローチャートである。
【図７】入力制限値の設定例を説明するための説明図である。
【図８】第１実施形態のエンジンＥＣＵの作用及び効果を説明するためのタイムチャートである。
【図９】第１実施形態の変形例１を説明するためのフローチャートである。
【図１０】第１実施形態の変形例２を説明するための説明図である。
【図１１】第２実施形態の空燃比フィードバック制御量演算部に相当する処理のフローチャートである。
【図１２】第２実施形態のエンジンＥＣＵの作用及び効果を説明するためのタイムチャートである。
【図１３】第３実施形態を説明するためのフローチャートである。
【符号の説明】
【０１５８】
１…エンジンＥＣＵ、３…エンジン（内燃機関）、５…マイコン、２５…空燃比センサ、３５…インジェクタ、４１…吸気量推定部、４３…基本噴射量演算部、４５…空燃比フィードバック制御量演算部、４７…フィードフォワード制御量演算部、４９…最終噴射量演算部、５１…目標空燃比演算部、５３…入力値演算部、５５…フィードバック制御器、５７…制御量制限値演算部、６３…制御部、６５…むだ時間補償器、６５ａ…むだ時間を含まないプラントモデル、６５ｂ…むだ時間を含むプラントモデル、６５ｃ，６７…減算部、７１…入力制限値設定部、７３…入力値制限実施部
【図１】
2009150257.tif 000003
【図２】
2009150257.tif 000004
【図３】
2009150257.tif 000005
【図４】
2009150257.tif 000006
【図５】
2009150257.tif 000007
【図６】
2009150257.tif 000008
【図７】
2009150257.tif 000009
【図８】
2009150257.tif 000010
【図９】
2009150257.tif 000011
【図１０】
2009150257.tif 000012
【図１１】
2009150257.tif 000013
【図１２】
2009150257.tif 000014
【図１３】
2009150257.tif 000015