(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路中に配設されて排気通路中の排気ガス成分を検出する空燃比センサ出力値と、目標空燃比とに基づいて燃料噴射量をフィードバック制御するためのフィードバック補正係数を演算する内燃機関の空燃比制御装置において、
内燃機関の回転速度変動を検出する回転速度変動検出手段と、
前記回転速度変動検出手段により検出される内燃機関の回転変動に基づいて前記フィードバック補正係数に対するガード値を設定するガード値設定手段と、
前記ガード値設定手段は、前記燃料噴射量を減量側に補正する前記フィードバック補正係数に対するリーン側ガード値、及び／または、前記燃料噴射量を増量側に補正する前記フィードバック補正係数に対するリッチ側ガード値とを備え、
前記ガード値設定手段は、前記回転速度変動検出手段によって回転速度変動が所定値よりも大きい場合は、前記ガード値設定手段により設定される前記リッチ側ガード値及び／または前記リーン側ガード値を、前記回転速度変動に応じて前記フィードバック補正係数の基準値に対する偏差が小さくなるよう設定することを特徴とする内燃機関の空燃比制御装置。
【請求項２】
前記ガード値設定手段は、前記回転速度変動検出手段により検出される回転速度変動が前記所定値よりも小さい場合は、前記ガード値設定手段により設定される前記リッチ側ガード値及び／または前記リーン側ガード値を、前記フィードバック補正係数の基準値に対する偏差が徐々に大きくなるように設定することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
内燃機関の空燃比制御装置に係り、特に、空燃比のガード値を内燃機関の回転速度変動量に基づいて設定する制御装置に関する。
【０００２】
【従来技術】
従来より、内燃機関の燃焼空燃比を目標空燃比にて制御するために、空燃比を検出するためのセンサ出力値と目標空燃比との偏差に基づいて燃料噴射量を制御し、空燃比を目標空燃比に追従させ精度良い空燃比制御を行う技術が広く知られている。このような制御では、通常、燃焼の空燃比を検出するセンサとして、酸素濃度に応じて空燃比を出力するＯ２センサ、或いは酸素濃度に応じて空燃比をリニアに出力するＡ／Ｆセンサ等が知られている。
【０００３】
【発明が解決しようとする課題】
ところが、空燃比を精度良く制御するための空燃比フィードバック制御は、空燃比を検出するセンサが正しい値を出力しない限り成立しない制御である。すなわち、空燃比を検出するセンサが一時的に空燃比出力値を誤った値を出力した場合には、この誤った出力値と目標空燃比との偏差に基づいて燃料噴射量の補正を行うために、例えば、実空燃比は理論空燃比近傍であるのに対してセンサ出力値が大きくリッチを示した場合、フィードバック補正係数が燃料噴射量を減量する補正値に設定されてしまい、実空燃比は大きくリーンになってしまう。同様に、センサ出力値が大きくリーンを示した場合、フィードバック補正係数が燃料噴射量を増量する補正値に設定されてしまい、実空燃比は大きくリッチになってしまう。
【０００４】
何れの場合であっても、センサ出力値が実空燃比とは異なる値を示すために、空燃比を目標空燃比から大きく外れてしまうという虞がある。
【０００５】
本発明は、上述の課題に鑑みてなされたものであり、センサ出力値が実空燃比とは大きく異なる場合であっても、実空燃比が目標空燃比からずれることを抑制することのできる内燃機関の空燃比制御装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
そこで、請求項１の発明のように、内燃機関の排気通路中に配設されて排気通路中の排気ガス成分を検出する空燃比センサ出力値と、目標空燃比とに基づいて燃料噴射量をフィードバック制御するためのフィードバック補正係数を演算する内燃機関の空燃比制御装置において、内燃機関の回転変動に基づいて、フィードバック補正係数に対するガード値を設定する。
【０００７】
これにより、実空燃比が目標回転速度からずれたことにより、回転速度変動が生じた場合に、本発明では回転変動に基づいてフィードバック補正係数に対するガード値を設定するので、燃料噴射量を大きく補正することが抑制されて、実空燃比が目標空燃比からずれることを抑制することができる。
【０００８】
また、請求項１の発明では、上述のガード値として、燃料噴射量を減量側に補正するフィードバック補正係数に対するリーン側ガード値、及び／または、燃料噴射量を増量側に補正するフィードバック補正係数に対するリッチ側ガード側を備える。
【０００９】
これにより、空燃比センサ出力値がリッチ側に誤った出力値を出力した場合にも、リーン側に誤った出力値を出力した場合にも、実空燃比が目標空燃比からずれることを抑制することができる。
【００１０】
また、請求項１の発明では、ガード値設定手段は、回転速度変動が所定値よりも大きい場合は、回転速度変動に応じて、リッチ側ガード値及び／またはリーン側ガード値をフィードバック補正係数の基準値に対する偏差が小さくなるよう設定する。
【００１１】
これにより、回転速度変動が大きくなった場合には、フィードバック補正係数に対するリッチ側ガード値及び／またはリーン側ガード値を小さく設定する。このとき、例えば、空燃比センサの出力が実空燃比に比してリッチ側の出力値を出力した場合であっても、回転変動が大きくなると、燃料噴射量を補正するためのフィードバック補正係数に対するガード値を小さく設定するので、フィードバック補正係数はガード値を越えた値には設定されない。すなわち、燃料噴射量が誤って大きく減量補正されることが抑制されるので、実空燃比が目標空燃比からずれることが抑制される。
【００１２】
また、同様に、請求項２の発明のように、ガード値設定手段は、回転速度変動が請求項１の所定値よりも小さい場合は、リッチ側ガード値及び／またはリーン側ガード値をフィードバック補正係数の基準値に対する偏差が徐々に大きくなるように設定する。
【００１３】
このように、回転速度変動が小さい場合には、フィードバック補正係数に対するガード値を徐々に大きくなるように設定すると良い。
【００１４】
【実施の形態】
＜第１の実施の形態＞
以下、この発明を具体化した本実施の形態を図面に従って説明する。図１は、本実施の形態にかかるエンジン制御装置を示す全体構成図である。
【００１５】
図１において、エンジン１は火花点火式の４サイクル多気筒内燃機関からなり、その吸気ポートと排気ポートにはそれぞれ吸気管２と排気管３とが接続されている。吸気管２には、図示しないアクセルペダルに連動するスロットル弁４が設けられると共に、吸入空気の量を検出するためのエアフローメータ５が配設されている。スロットル弁４の開度はスロットルセンサ２０により検出され、同センサ２０によればスロットル全閉の状態も併せて検出される。
【００１６】
エンジン１の気筒を構成するシリンダ６内には図の上下方向に往復動するピストン７が配設され、同ピストン７はコンロッド８を介して図示しないクランク軸に連結されている。ピストン７の上方にはシリンダ６及びシリンダヘッド９にて区画された燃焼室１０が形成され、燃焼室１０は吸気バルブ１１及び排気バルブ１２を介して前記吸気管２及び排気管３に連通している。シリンダ６（ウォータジャケット）には、エンジン冷却水の温度を検出するための水温センサ１７が配設されている。
【００１７】
排気管３には２つの触媒コンバータ１３，１４が配設されており、これら触媒コンバータ１３，１４は、排ガス中のＨＣ，ＣＯ，ＮＯｘといった三成分を浄化するための三元触媒からなる。上流側の触媒コンバータ１３は、下流側の触媒コンバータ１４に比べてその容量が小さく、エンジン始動直後の暖機が比較的早い、いわゆるスタートキャタリストとしての役割を持つ。なお、上流側の触媒コンバータ１３は、エンジン排気ポート端面から約３００ｍｍ程度の位置に設けられる。
【００１８】
触媒コンバータ１３の上流側には、限界電流式積層空燃比センサからなる積層Ａ／Ｆセンサ１５が設けられ、同積層Ａ／Ｆセンサ１５は排ガス中の酸素濃度（或いは、未燃ガス中の一酸化炭素の濃度）に比例して広域で且つリニアな空燃比信号を出力する。また、触媒コンバータ１４の下流側には、理論空燃比（ストイキ）を境にしてリッチ側とリーン側とで異なる電圧信号を出力するＯ２センサ１６が設けられている。本実施の形態では、積層Ａ／Ｆセンサ１５の出力と目標空燃比とに基づいて空燃比フィードバック制御を実施する。フィードバック制御については、従来より知られる制御で良く、たとえば、実空燃比のセンサ出力値と目標空燃比との偏差に応じて燃料噴射量を補正するためのフィードバック補正係数を演算する。また、触媒コンバータ１４の下流側に配設されるＯ２センサの出力値に基づいて触媒コンバータ１４の上流側目標空燃比を補正するようにしても良い。
【００１９】
電磁駆動式のインジェクタ１８には図示しない燃料供給系から高圧燃料が供給され、インジェクタ１８は通電に伴いエンジン吸気ポートに燃料を噴射供給する。本実施の形態では、吸気マニホールドの各分岐管毎に１つずつインジェクタ１８を有するマルチポイントインジェクション（ＭＰＩ）システムが構成されている。シリンダヘッド９に配設された点火プラグ１９は、図示しないイグナイタから供給される点火用高電圧により発火する。
【００２０】
この場合、吸気管上流から供給される新気とインジェクタ１８による噴射燃料とがエンジン吸気ポートにて混合され、その混合気が吸気バルブ１１の開弁動作に伴い燃焼室１０内に流入する。燃焼室１０内に流入した燃料は、点火プラグ１９による点火火花にて着火され、燃焼に供される。
【００２１】
吸気バルブ１１を所定のタイミングで開閉させるための吸気側カム軸２１と、排気バルブ１２を所定のタイミングで開閉させるための排気側カム軸２２とは、図示しないタイミングベルト等を介してクランク軸に駆動連結される。吸気側カム軸２１には油圧駆動式の吸気側可変バルブタイミング機構２３が設けられ、排気側カム軸２２には同じく油圧駆動式の排気側可変バルブタイミング機構２４が設けられている。
【００２２】
吸気側及び排気側可変バルブタイミング機構２３，２４はそれぞれ、吸気側及び排気側カム軸２１，２２とクランク軸との間の相対的な回転位相を調整するための位相調整式可変バルブタイミング機構として設けられ、その動作は図示しないソレノイドバルブによる油圧制御に従い調整される。すなわち、吸気側及び排気側可変バルブタイミング機構２３，２４の制御量に応じて、吸気側及び排気側カム軸２１，２２がクランク軸に対して遅角側或いは進角側に回動し、その動作に合わせて吸気及び排気バルブ１１，１２の開閉時期が遅角側或いは進角側に移行する。
【００２３】
吸気側カム軸２１には、同カム軸２１の回転位置を検出するための吸気側カム位置センサ２５が設けられ、排気側カム軸２２には、同カム軸２２の回転位置を検出するための排気側カム位置センサ２６が設けられている。
【００２４】
電子制御装置（ＥＣＵ）３０は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、バックアップＲＡＭ３４等からなるマイクロコンピュータを中心に構成されている。ＥＣＵ３０は、前記したエアフローメータ５、Ａ／Ｆセンサ１５、Ｏ２センサ１６、水温センサ１７、スロットルセンサ２０及びカム位置センサ２５，２６の各々の検出信号を入力し、各検出信号に基づいて吸入空気量Ｑａ、触媒上流側及び下流側の空燃比（Ａ／Ｆ）、エンジン水温Ｔｗ、スロットル開度、カム位置などのエンジン運転状態を検知する。またその他に、ＥＣＵ３０には、７２０°ＣＡ毎にパルス信号を出力する基準位置センサ２７と、より細かなクランク角毎（例えば、３０°ＣＡ毎）にパルス信号を出力する回転角センサ２８とが接続され、ＥＣＵ３０は、これら各センサ２７，２８からのパルス信号を入力して基準クランク位置（Ｇ信号）及びエンジン回転数Ｎｅを検知する。
【００２５】
ＥＣＵ３０は、上記の如く検出した各種のエンジン運転状態に基づき、インジェクタ１８による燃料噴射の制御や、点火プラグ１９による点火時期の制御や、可変バルブタイミング機構２３，２４による吸排気バルブ１１，１２の開閉時期の制御を実施する。
【００２６】
以上のような構成において実施される本発明に係るフィードバック補正係数に対するガード処理プログラムを図２乃至図６と図９の図面を用いて詳細に説明する。まず、空燃比フィードバックプログラムについて、図８のフローチャートを用いて簡単に説明する。まず、ステップＳ３０１では、フィードバック条件が成立するか否かが判定される。このフィードバック条件は、例えば、Ａ／Ｆセンサ１５の活性状態や、過渡運転状態として、加減速運転状態（燃料カットや燃料増量補正等）ではない等の条件である。フィードバック制御を実行する条件として、上述の条件をすべて満足するときのみ、ステップＳ３０２へ進む。この条件を満足しないときには、ステップＳ３０９へ進み、フィードバック補正係数ＦＡＦに１を設定し、本ルーチンを終了する。
【００２７】
一方、ステップＳ３０２では、内燃機関の運転条件として、エンジン回転速度Ｎｅ、吸気管圧力Ｐｍ、エンジン冷却水温Ｔｈｗ等を検出する。そして、ステップＳ３０３では、上述の運転条件に基づいて、目標空燃比を演算する。つぎに、ステップＳ３０４にて、Ａ／Ｆセンサ１５により排気管３中の実空燃比を検出する。
【００２８】
ステップＳ３０５では、ステップＳ３０３にて演算された目標空燃比と、ステップＳ３０４にて検出された実空燃比との偏差に基づいて空燃比を制御するための空燃比フィードバック補正係数ＦＡＦが演算される。そして、ステップＳ３０６にて、フィードバック補正係数と、後述するフィードバック補正係数ＦＡＦに対するガード（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）とを比較する。
【００２９】
フィードバック補正係数ＦＡＦが、ガード領域内ＦＡＦｇａｒｄＬ＜ＦＡＦ＜ＦＡＦｇａｒｄＲであれば、フィードバック補正係数ＦＡＦは、目標空燃比と実空燃比とに基づいて設定された値のまま、本ルーチンを終了する。
【００３０】
一方、ステップＳ３０６にて、フィードバック補正係数ＦＡＦが後述するガード値ＦＡＦｇａｒｄＬよりも小さければ、ステップＳ３０７に進み、フィードバック補正係数ＦＡＦをＦＡＦｇａｒｄＬに設定し、本ルーチンを終了する。一方、ステップＳ３０６にて、フィードバック補正係数ＦＡＦが後述するガード値ＦＡＦｇａｒｄＲよりも大きいときには、ステップＳ３０８へ進み、フィードバック補正係数ＦＡＦにガード値ＦＡＦｇａｒｄＲを設定し、本ルーチンを終了する。
【００３１】
図２のフローチャートは、本発明のメインプログラムであり、まず、ステップＳ１００にて、実行条件が成立しているか否かを判定する。ここで、実行条件はフィードバック制御が成立する条件であり、例えば、Ａ／Ｆセンサ１５の活性状態や、過渡運転状態として、加減速運転状態（燃料カットや燃料増量補正等）ではない等の条件である。フィードバック制御を実行する条件として、上述の条件全て満足するときのみ、ステップＳ１１０へ進む。一方、フィードバック制御を実行する条件を一つでも満たさない場合には、そのまま本ルーチンを終了する。
【００３２】
実行条件が成立し、ステップＳ１１０に進むと、内燃機関のエンジン回転速度に基づいて、回転速度の変動量（以下、ラフネス検出値と称する。）を演算により求める。この演算は、図３のフローチャートに示すラフネス検出値演算プログラムによって行われる。このプログラムは、例えば、図示しないエンジンのクランク軸の回転位相が３０°ＣＡ毎に起動され、ラフネス検出値演算が実行される。このプログラムが起動されると、まず、ステップＳ１０１にて内燃機関のクランク軸角度３０°ＣＡ毎に回転角速度ω（ｎ）を演算し、ＲＡＭ３３に保存する。ここで、回転角速度ω（ｎ）の演算は、例えば、３０°ＣＡ経過するのに要した時間をタイマによりカウントし、カウント値に基づいて１秒当たりの回転角度として回転角速度ω（ｎ）を演算する。
【００３３】
そして、ステップＳ１０２では、ＲＡＭ３３に保存されている４回前の回転角速度ω（ｎ−４）と前回の回転角速度ω（ｎ）を呼び出し、ステップＳ１０３へ進む。ステップＳ１０３では、回転角速度の平均値Δωａｖｅ（＝（ω（ｎ−４）−ω（ｎ））／４）を演算する。ステップＳ１０４では、前回の回転速度と今回の回転速度の偏差Δω（＝ω（ｎ−１）−ω（ｎ））を演算し、ステップＳ１０５へ進む。ステップＳ１０５では、ステップＳ１０３にて演算したΔωａｖｅと、ステップＳ１０４にて演算したΔωとに基づいて、ラフネス検出値Δωｇａｒｄ（＝Δωａｖｅ−Δω）を演算する。
【００３４】
このラフネス検出値Δωｇａｒｄを図４に示されるタイムチャートを用いて説明する。１８０°ＣＡ毎の回転角速度偏差Δω（ｎ）が図中○にて、平均角速度偏差Δωａｖｅは図中△にて示されている。ラフネス検出値は、この平均角速度偏差Δωａｖｅから１８０°ＣＡ間の回転角速度偏差Δωを差し引いた値であり、この値が基準値（Δωａｖｅ）から大きくずれるときにはエンジンの変動量が大きいことを示し、この値が、基準値（Δωａｖｅ）からずれの小さいときはエンジンの変動量が小さいことを示す。また、回転速度が落ち込む側の変動は、ラフネス検出値Δωｇａｒｄとして負の値が、一方、回転速度が突出する側の変動は、ラフネス検出値Δωｇａｒｄとして正の値が演算により算出される。
【００３５】
以上のように、ラフネス検出値の演算プログラムによって、ラフネス検出値Δωｇａｒｄが演算されると、再び図２のメインルーチンのステップＳ１２０へ戻る。そして、ラフネス検出値Δωｇａｒｄに基づいて空燃比のガード値に対するガード補正値ＲＶＣｇａｒｄ（ｎ）を演算する。このガード補正値ＲＶＣｇａｒｄ（ｎ）の演算は、図５に示すマップにより演算される。図５のマップによれば、ラフネス検出値Δωｇａｒｄが大きくなる（回転速度の落ち込みが大きくなる）ほど、フィードバック補正係数ＦＡＦ値に対するガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）を、フィードバック補正係数ＦＡＦ値の基準値（例えば、１）に対して小さくなるような補正値（図５中の実線）を設定する。
【００３６】
つぎに、ステップＳ１３０では、補正値ＲＶＣｇａｒｄ（ｎ）が所定値ＣＯＥＦ１以下であるか否かを判定する。ここで、所定値ＣＯＥＦ１よりも小さいと判定された場合、すなわち、ラフネス検出値Δωｇａｒｄ（ｎ）がエンジン回転速度の変動量（落ち込み）が大きいことを示す場合、ステップＳ１４０へ進みフィードバック補正値に対するガード値に対する最終補正値ＬＲＶＣｇａｒｄ（ｎ）にステップＳ１２０にて演算されたガード補正値ＲＶＣｇａｒｄ（ｎ）を入力してステップＳ１６０へ進む。
【００３７】
一方、補正値ＲＶＣｇａｒｄ（ｎ）が所定値ＣＯＥＦ１よりも大きい場合、ラフネス検出値Δωｇａｒｄ（ｎ）がエンジン回転速度の変動量（落ち込み）が小さいことを示す場合、ステップＳ１５０へ進む。ステップＳ１５０では、フィードバック補正値に対するガード値を徐々に大きくしていくための所定値ＣＯＥＦ２が最終補正値ＬＲＶＣｇａｒｄ（ｎ）として設定されて、ステップＳ１６０へ進む。
【００３８】
ステップＳ１６０では、フィードバック補正値ＦＡＦに対するガード値としてリーン側のフィードバック補正値に対するガード値ＦＡＦｇａｒｄＬ（ｎ）は、前回のガード値ＦＡＦｇａｒｄＬ（ｎ）にステップＳ１４０、若しくは、ステップＳ１５０にて設定された最終補正値ＬＲＶＣｇａｒｄ（ｎ）を減算して求められる。同様に、リッチ側のフィードバック補正値に対するガード値ＦＡＦｇａｒｄＲ（ｎ）は、前回のガード値ＦＦｇａｒｄＲ（ｎ）に最終補正値ＬＶＣｇａｒｄ（ｎ）を加算して求められる。
【００３９】
以上のようにして得られるフィードバック補正値に対するガード値ＦＡＦｇａｒｄＬ（ｎ），ＦＡＦｇａｒｄＲ（ｎ）を、Ａ／Ｆセンサ１５の出力値が誤っている場合の空燃比制御に用いた場合について、図６のタイムチャートを用いて説明する。なお、このタイムチャートにおいては、リアＯ２センサのサブフィードバック制御が行われない例について説明する。
【００４０】
まず、図６（ａ）は、Ａ／Ｆセンサ１５の出力値を示している。Ａ／Ｆセンサ１５の出力値は、図中ポイントＡまでは、実空燃比と同一のＡ／Ｆ出力値を出力しており、図中のＡ点からＢ点までは、図中点線で示すように実空燃比とは異なるＡ／Ｆ出力値を出力する。（図中のＢ点以降では、Ａ／Ｆ出力値は省略している。）このようにＡ／Ｆセンサ１５の出力値が誤った場合、従来技術のフィードバック補正係数ＦＡＦは、図中のＡ点までは、通常のフィードバック制御として、Ａ／Ｆセンサ１５の出力値がリーン・リッチ切り替り時には、ＦＡＦ値のスキップ制御が行われ、Ａ／Ｆセンサ１５の出力値がリッチ若しくは、リーン出力の場合には、ＦＡＦ値の積分制御が行われる。このようにして、空燃比を目標空燃比（理論空燃比）に制御する。ここで、図中のＡ点以降において、Ａ／Ｆセンサ１５の出力値が大きくリッチになると、フィードバック制御は、リッチな空燃比を目標空燃比（理論空燃比）に追従させようとして、燃料噴射量を減量補正するためにＦＡＦ値を小さくしてしまう。そして、図中の斜線部の空燃比フィードバック補正係数ＦＡＦのガード値（固定値：従来）に設定される。このため、燃料噴射量は、ＦＡＦ値の補正によって大きく減量補正されてしまい、実空燃比は大きくリーンとなってしまう。
【００４１】
また、図中のＢ点にて、Ａ／Ｆセンサ１５の出力値が正常の値に戻った場合には、リーンな空燃比を出力するので、ＦＡＦ値は、大きくスキップされて燃料噴射量を大きく増量補正する値に制御される。以上のように、従来技術では、大きく燃料噴射量が変更されるので、図６（ａ）の一点鎖線にて示すように実空燃比は大きく乱れてしまう可能性がある。そこで、本実施の形態では、図６（ｂ）に示すようにラフネス検出値Δωｇａｒｄを図３のラフネス検出値演算ルーチンから求め、このラフネス検出値Δωｇａｒｄに基づいて、図６（ｃ）に示すようにＦＡＦ値のガードに対する最終補正値ＲＶＣｇａｒｄを設定する。この最終補正値ＲＶＣｇａｒｄは、ラフネス検出値Δωｇａｒｄが大きいほど、ＦＡＦ値に対するガード値がフィードバック補正係数ＦＡＦ値の基準値（例えば、１）に対して小さくなるように補正する。
【００４２】
すなわち、実空燃比が目標空燃比（理論空燃比）から大きく外れることで、ＦＡＦ値が燃料噴射量が大きく減量補正すると、実空燃比はリーンとなって、ラフネス検出値Δωｇａｒｄは大きくなる。ところが、本実施の形態では、この最終補正値ＲＶＣｇａｒｄの設定を、ラフネス検出値Δωｇａｒｄが基準値（例えば、１）に対して大きくなる場合には、ＦＡＦ値のガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）がフィードバック補正係数ＦＡＦ値の基準値（例えば、１）に対する偏差が小さくなるように補正する。そして、ラフネス検出値Δωｇａｒｄが小さい場合には、徐々にＦＡＦ値のガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）がフィードバック補正係数ＦＡＦ値の基準値（例えば、１）からの偏差が大きくなるように補正される。
【００４３】
以上のようにラフネス検出値Δωｇａｒｄに応じて、フィードバック補正係数ＦＡＦ値に対するガード値を補正するので、図６（ｄ）に示すように、燃料噴射量を誤って補正するＦＡＦ値がガードＦＡＦｇａｒｄＬに設定される。ＦＡＦ値がガード値ＦＡＦｇａｒｄＬに設定されると、燃料噴射量を大きく減量補正することが防止されるので、図６（ａ）に示すように実空燃比が大きく目標空燃比（理論空燃比）から大きく外れることが防止される。また、Ａ／Ｆセンサ１５の出力値が実空燃比とは、ことなり大きくリーン側にずれた場合でも、本実施の形態によれば、回転速度変動に応じてガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）を補正するので、フィードバック補正係数ＦＡＦ値が誤って燃料噴射量を増量補正することが抑制され、実空燃比が目標空燃比（理論空燃比）から大きく外れることが抑制される。
【００４４】
以上のように、本実施の形態では、Ａ／Ｆセンサ１５の出力値が実空燃比から大きく外れても、ラフネス検出値Δωｇａｒｄに基づいてガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）を補正するので、フィードバック補正係数ＦＡＦ値は、誤って燃料噴射量を補正することが抑制され、ゆえに、実空燃比が目標空燃比から大きく外れることが抑制される。
【００４５】
なお、本実施の形態においては、ラフネス検出値が大きくなった場合、特に、回転変動量が落ち込んだ場合にのみガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）と基準値１との偏差を小さくするように設定したが、ラフネス検出値Δωｇａｒｄにより、回転速度変動として落ち込みと突出とのどちらかが検出された場合に、ガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）と基準値１との偏差を小さくするように設定しても良いし、回転速度変動として落ち込みと突出との両者でも良い。
【００４６】
本実施の形態において、回転速度変動検出手段は図３のフローチャートに、ガード値設定手段は図２のフローチャートに相当し、それぞれ機能する。
【００４７】
＜第２の実施の形態＞
第１の実施の形態では、図５に示すラフネス検出値Δωｇａｒｄに応じて演算される補正値により、フィードバック補正係数ＦＡＦ値に対するガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）を設定していた。本実施の形態では、フィードバック補正係数ＦＡＦ値に対するガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）の設定方法を以下に説明する異なる手法にて実施する。以下では、図７のフローチャートに示すガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）演算プログラムについて、第１の実施の形態にて用いられた図２のフローチャートと同一の処理ステップには同一の符号を付して、異なる部分について説明する。
【００４８】
まず、図７のフローチャートにおいて、ステップＳ１００にて、実行条件が成立するか否かを判定し、成立しない場合にはそのまま本ルーチンを終了する。一方、成立する場合には、ステップＳ１１０以降の処理を実施する。ステップＳ１１０の処理では、内燃機関のエンジン回転速度の変動量として、第１の実施の形態同様にラフネス検出値Δωｇａｒｄを演算する。そして、ステップＳ２００にて、ラフネス検出値Δωｇａｒｄから所定値ＣＯＥＦ３を減じた値を演算する。ラフネス検出値Δωｇａｒｄは、回転速度Ｎｅが落ち込む場合には負の値が算出される。本実施の形態では、回転速度Ｎｅの落ち込みに対してガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）を補正するために、ステップＳ２１０ではラフネス検出値Δωｇａｒｄから所定値ＣＯＥＦ３（負の値）が減じた値が負の値である場合には、ステップＳ２２０へ進む。
【００４９】
ステップＳ２２０では、図８のマップを用いて、（Δωｇａｒｄ―ＣＯＥＦ３）に応じたガード補正値ＲＶＣｇａｒｄ（ｎ）を演算する。このマップによれば、（Δωｇａｒｄ―ＣＯＥＦ３）が大きいほど、大きな補正値ＲＶＣｇａｒｄ（ｎ）が設定され、ステップＳ２４０に進む。ステップＳ２４０では、フィードバック補正係数ＦＡＦ値に対するガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）を補正するための最終補正値ＬＲＶＣｇａｒｄ（ｎ）に設定し、ステップＳ１６０へ進む。一方、ステップＳ２１０にて、（Δωｇａｒｄ―ＣＯＥＦ３）が正の値であると判定されると、ステップＳ２３０にて、ガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）を徐々に大きくする、すなわち、ＦＡＦ値の基準値（例えば、１）に対する偏差が大きくなるように、所定係数ＣＯＥＦ４を最終補正量ＬＲＶＣｇａｒｄ（ｎ）に設定して、ステップＳ１６０へ進む。
【００５０】
ステップＳ１６０では、ステップＳ２３０、若しくはステップＳ２４０にて設定された最終補正値ＬＲＶＣｇａｒｄ（ｎ）に基づいて、第１の実施の形態同様にフィードバック補正係数ＦＡＦ値に対するガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）を設定する。以上のように、本実施の形態であっても、第１の実施の形態同様に、Ａ／Ｆセンサ１５の出力値が実空燃比から大きく外れても、ラフネス検出値Δωｇａｒｄに基づいてガード値（ＦＡＦｇａｒｄＬ，ＦＡＦｇａｒｄＲ）を補正するので、フィードバック補正係数ＦＡＦ値は、誤って燃料噴射量を補正することが抑制され、ゆえに、実空燃比が目標空燃比から大きく外れることが抑制される。
【００５１】
本実施の形態において、ガード値設定手段は図７のフローチャートに相当し、機能する。
【図面の簡単な説明】
【図１】本発明の概略構成図
【図２】本発明の第１の実施の形態に係るフィードバック補正係数ＦＡＦ値に対するガード値演算プログラム
【図３】本発明のラフネス検出値演算プログラム
【図４】エンジン回転角速度ω（ｎ）に基づいてラフネス検出値を演算するためのタイミングチャート
【図５】本発明の第１の実施の形態に係るラフネス検出値Δωｇａｒｄと補正値ＲＶＣｇａｒｄとの特性を示す図
【図６】Ａ／Ｆセンサ出力が実空燃比に比してリッチ側の出力を行った場合の従来技術と本発明とを示すタイミングチャート
【図７】本発明の第２の実施の形態に係るフィードバック補正係数ＦＡＦ値に対するガード値演算プログラム
【図８】本発明の第２の実施の形態に係るラフネス検出値Δωｇａｒｄと補正値ＲＶＣｇａｒｄとの特性を示す図
【図９】本発明の第１の実施の形態における空燃比フィードバック制御のプログラム
【符号の説明】
１…内燃機関としてのエンジン、
２…吸気管、
３…排気管、
１９…点火プラグ、
１１…吸気バルブ、
１２…排気バルブ、
１８…インジェクタ、
１９…点火プラグ、
２０…スロットルセンサ、
２７…基準位置センサ、
２８…回転角センサ、
３０…ＥＣＵ。
【図１】
0004144275.tif 000002
【図２】
0004144275.tif 000003
【図３】
0004144275.tif 000004
【図４】
0004144275.tif 000005
【図５】
0004144275.tif 000006
【図６】
0004144275.tif 000007
【図７】
0004144275.tif 000008
【図８】
0004144275.tif 000009
【図９】
0004144275.tif 000010