(57)【要約】【課題】内燃機関の空燃比制御装置において、空燃比がオープン制御されるリーン運転時にノッキングを防止する。【解決手段】リーン運転時に希薄空燃比となるように空燃比学習値ＬＡＬＰＨＡに基づいて燃料噴射弁１００からの燃料噴射量を算出するリーン運転時空燃比オープン制御手段１０５と、ノッキングを検出するノッキング検出手段１０６と、検出されるノッキングの強さに応じた補正値βＥＴＡに基づいて目標点火時期を設定する目標点火時期設定手段１１１と、を備え、ノッキングの強さに応じた点火時期の補正値βＥＴＡがリタード側補正リミッタ値βＬに一致する点火時期最大補正時間ｔｃが所定値ｔ１を越えた場合にリタード側補正リミッタ値βＬをリタード側に補正するリーン運転時目標点火時期補正手段１１３とを備える。【選択図】      図１７
2004308663.tif 000002
【特許請求の範囲】
【請求項１】
機関の空燃比を検出する空燃比検出手段と、
ストイキ運転時に理論空燃比に近づけるように空燃比フィードバック補正係数αおよび空燃比学習値ＬＡＬＰＨＡに基づいて燃料噴射量を算出するストイキ運転時フィードバック制御手段と、
機関運転状態のエリア別の空燃比学習値ＬＡＬＰＨＡを記憶する空燃比学習値記憶手段と、
空燃比フィードバック補正係数αに基づいて空燃比を理論空燃比に近づけるように空燃比学習値ＬＡＬＰＨＡを更新する空燃比学習値更新手段と、
リーン運転時に希薄空燃比となるように空燃比学習値ＬＡＬＰＨＡに基づいて燃料噴射量を算出するリーン運転時空燃比オープン制御手段と、
ノッキングを検出するノッキング検出手段と、
検出されるノッキングの強さに応じた補正値βＥＴＡに基づいて目標点火時期を設定する目標点火時期設定手段と、を備える内燃機関の空燃比制御装置において、
点火時期の補正値βＥＴＡがリタード側補正リミッタ値βＬに一致する点火時期最大補正時間ｔｃが所定値ｔ１を越えたかどうかを判定する判定手段と、リーン運転時に点火時期最大補正時間ｔｃが所定値ｔ１を越えた場合にリタード側補正リミッタ値βＬをリタード側に補正するリーン運転時目標点火時期補正手段と、を備えたことを特徴とする内燃機関の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の空燃比制御装置の改良に関するものである。
【背景技術】
【０００２】
従来の内燃機関に備えられる空燃比制御装置として、例えば特許文献１に開示されているように、理論空燃比によるストイキ運転と希薄空燃比によるリーン運転を切換えて行い、ストイキ運転時に空燃比のフィードバック制御と共にいわゆる空燃比の学習制御を行うことで、製品毎のバラツキや経時変化による空燃比の制御誤差を修正し、その学習結果に基づいてリーン運転時の空燃比をオープン制御するものがある。この場合、通常のＯ2センサによりリーン空燃比制御を行うことが可能になる。
【特許文献１】特開昭６１−８７９３５号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、このような従来の内燃機関の空燃比制御装置にあっては、混合気が理論空燃比よりリーン側となるようにオープン制御されるリーン運転時に、例えばキャニスタから大量の蒸発燃料が吸気通路に導入されるような場合に、ノッキングの発生を抑えられない可能性がある。
【０００４】
本発明は上記の問題点を解消し、内燃機関の空燃比制御装置において、空燃比がオープン制御されるリーン運転時にノッキングを防止することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載の内燃機関の空燃比制御装置は、図１７に示すように、機関の空燃比を検出する空燃比検出手段１０１と、ストイキ運転時に理論空燃比に近づけるように空燃比フィードバック補正係数αおよび空燃比学習値ＬＡＬＰＨＡに基づいて燃料噴射弁１００からの燃料噴射量を算出するストイキ運転時フィードバック制御手段１０２と、機関運転状態のエリア別の空燃比学習値ＬＡＬＰＨＡを記憶する空燃比学習値記憶手段１０３と、空燃比フィードバック補正係数αに基づいて空燃比を理論空燃比に近づけるように空燃比学習値ＬＡＬＰＨＡを更新する空燃比学習値更新手段１０４と、リーン運転時に希薄空燃比となるように空燃比学習値ＬＡＬＰＨＡに基づいて燃料噴射弁１００からの燃料噴射量を算出するリーン運転時空燃比オープン制御手段１０５と、ノッキングを検出するノッキング検出手段１０６と、検出されるノッキングの強さに応じた補正値βＥＴＡに基づいて点火プラグ１１０の目標点火時期を設定する目標点火時期設定手段１１１と、を備える内燃機関の空燃比制御装置において、点火時期の補正値βＥＴＡがリタード側補正リミッタ値βＬに一致する点火時期最大補正時間ｔｃが所定値ｔ１を越えたかどうかを判定する点火時期最大補正時間判定手段１１２と、リーン運転時に点火時期最大補正時間ｔｃが所定値ｔ１を越えた場合にリタード側補正リミッタ値βＬをリタード側に補正するリーン運転時目標点火時期補正手段１１３と、を備える。
【発明の効果】
【０００６】
本発明によれば、空燃比を空燃比学習値ＬＡＬＰＨＡに基づいてリーン側にオープン制御するリーン運転時に、例えばキャニスタから大量の蒸発燃料が吸気通路に導入されて、点火時期を点火時期補正値βＥＴＡがリタード側補正リミッタ値βＬにある範囲で遅角制御するだけではノッキングの発生を十分に抑えられない場合、リタード側補正リミッタ値βＬを補正してリーン運転時の目標点火時期をリタード側に設定することにより、ノッキングの発生を抑えることが可能となり、リーン運転が行われる領域を拡大し、燃費の低減がはかれる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態を添付図面に基づいて説明する。
【０００８】
図１に示すように、機関１の吸気通路２のスロットルバルブ６より下流側に各気筒毎に燃料噴射弁３が設けられる。各燃料噴射弁３は、マイクロコンピュータを内蔵したコントロールユニット４から機関回転に同期して出力される駆動パルス信号により開弁駆動されて、所定圧力に調節された燃料を噴射する。
【０００９】
機関１は吸気弁が開かれるのに伴って吸気通路２からシリンダに混合気を吸入し、この吸気をピストンで圧縮して、点火プラグ６で着火燃焼させ、排気弁が開かれるのに伴って排気が排気通路１１に排出され、これらの各行程が連続して繰り返されるようになっている。
【００１０】
図示しない燃料タンクから発生する蒸発燃料を処理する装置として、キャニスタ７が設けられている。キャニスタ７は密閉容器内に活性炭等の吸着剤を充填したもので、燃料タンクに発生した蒸発燃料を吸着する。
【００１１】
キャニスタ７とスロットルバルブ６より下流側の吸気通路２を連通するパージ通路８にはパージコントロールバルブ９が介装される。パージコントロールバルブ９はコントロールユニット４から機関１の運転中に所定の条件で出力されるデューティ信号により開弁するようになっている。機関１が始動され、その後の運転中に、パージ条件が成立すると、パージコントロールバルブ９が開き、機関１の吸入負圧がキャニスタ７に作用し、キャニスタ７の吸着剤に吸着された蒸発燃料が離脱し、この離脱した蒸発燃料を含むパージガスがパージ通路８を通って吸気通路２に導入され、機関１のシリンダ内で燃焼処理される。
【００１２】
排気通路１１の途中には三元触媒１２が設置され、排気中の未燃焼ＨＣ、ＣＯを酸化するとともに、ＮＯｘを還元する。
【００１３】
燃料噴射弁３からの燃料噴射量等を制御するコントロールユニット４には、エアフロメータ５で検出される吸入空気量Ｑａと、クランク角センサ１４で検出されるクランク角度および機関回転数Ｎｅと、排気通路１１の三元触媒１２より上流側に設置されたＯ2センサで検出される空燃比の検出信号等を入力する。
【００１４】
コントロールユニット４は、運転条件に応じて理論空燃比による運転（以下ストイキ運転という）と、希薄空燃比による運転（以下リーン運転という）とを切換える。
【００１５】
ストイキ運転時に混合気が理論空燃比となるようにフィードバック制御することにより、機関１の発生出力を高めるとともに、三元触媒１２での転化効率を最大限に維持するようになっている。
【００１６】
リーン運転時に混合気が理論空燃比よりリーン側となるようにオープン制御することにより、機関１の燃費を低減するようになっている。
【００１７】
リーン運転時の燃焼安定性を確保するため、各燃料噴射弁３の上流側の吸気通路２にスワールコントロールバルブ１５が設置される。スワールコントロールバルブ１５はその一部に切欠きを有し、その全閉位置に保持されることにより、燃焼室に流入する吸気の流速を高め、燃焼室内にスワールを生起する。
【００１８】
スワールコントロールバルブ１５は、ダイヤフラムアクチュエータ１６によって開閉駆動される。コントロールユニット４からの信号で電磁弁１７を通電すると、スワールコントロールバルブ１５より下流側の吸気通路２に生じる吸入負圧がダイヤフラムアクチュエータ１６に導かれ、ダイヤフラムアクチュエータ１６を作動させて、スワールコントロールバルブ１５が閉弁するようになっている。
【００１９】
コントロールユニット４は、エアフロメータ５で検出される吸入空気量Ｑａと、クランク角センサ１４で検出されるクランク角度および機関回転数Ｎｅと、排気通路１１の三元触媒１２より上流側に設置されたＯ2センサ１０で検出される空燃比の検出信号等を入力する。
【００２０】
図２のフローチャートはコントロールユニット４において実行される燃料噴射量を演算するルーチンを示しており、これは一定周期毎に実行される。
【００２１】
まず、Ｓ１０１では吸入空気量Ｑａと機関回転数Ｎｅを読込む。
【００２２】
続いて、Ｓ１０２では、吸入空気量Ｑａと機関回転数Ｎｅとから、次式にしたがって理論空燃比（ストイキ）に対応する基本燃料噴射量Ｔｐを演算する。
【００２３】
Ｔｐ＝Ｋ×Ｑａ／Ｎｅ …（１）
ただし、Ｋは定数である。
【００２４】
続いて、Ｓ１０３では、後述する図６のルーチンによってリーン運転が許可されているかどうかを判定する。
【００２５】
リーン運転が許可されていない場合は、ストイキ運転のため、Ｓ１０４からＳ１０６を実行する。
【００２６】
Ｓ１０４では、空燃比フィードバック制御（λコン）を行うため、Ｏ2センサ１０からの信号に基づき、周知の比例積分制御により空燃比フィードバック補正係数αを図１０に示すように設定する。すなわち、Ｏ2センサ１０からの信号に基づいてリッチ・リーンを判定し、リッチからリーンへと反転するときは空燃比フィードバック補正係数αを所定の比例分Ｐだけ増大させ、引き続くリーン時には空燃比フィードバック補正係数αを所定の積分分Ｉづつ増大させる。そして、リーンからリッチへの反転時に空燃比フィードバック補正係数αを所定の比例分Ｐだけ減少させ、引き続くリッチ時には空燃比フィードバック補正係数αを所定の積分分Ｉづつ減少させる。
【００２７】
Ｓ１０５では、後述する図４、図５に示すルーチンによりベース学習マップまたは通常学習マップから検索され必要に応じて更新される機関運転状態（Ｎｅ，Ｔｐ）のエリア別の学習値ＬＡＬＰＨＡを参照する。
【００２８】
Ｓ１０６では、基本燃料噴射量Ｔｐと空燃比フィードバック補正係数αと学習値ＬＡＬＰＨＡとから、次式にしたがってストイキ運転のための燃料噴射量Ｔｉを演算する。
Ｔｉ＝Ｔｐ×α×ＬＡＬＰＨＡ×ＣＯＥＦ＋ＬＲＮＴＳ …（２）
ただし、ＣＯＥＦは機関１の冷却水温等をパラメータとした各種補正係数の和である。ＬＲＮＴＳは無効噴射パルス幅Ｔｓの学習値であり、図示しないルーチンによって求められる。
【００２９】
一方、リーン運転が許可された場合は、リーン運転のため、Ｓ１０７〜Ｓ１０９を実行する。
【００３０】
Ｓ１０７では、空燃比フィードバック制御を停止して、オープン制御を行うため、空燃比フィードバック補正係数αを現在値または基準値（１．０）にクランプする。
【００３１】
Ｓ１０８では、後述する図９のルーチンにしたがってベース学習マップから検索された機関運転状態のエリア別の学習値と、通常学習マップから検索された機関運転状態のエリア別の学習値とから、補正用の学習値ＬＡＬＰＨＡを選択する。
【００３２】
Ｓ１０９では、基本燃料噴射量Ｔｐと空燃比フィードバック補正係数α（クランプ値）と学習値ＬＡＬＰＨＡとから、次式にしたがって、リーン運転の目標リーン空燃比（この例では２２）を得るための燃料噴射量Ｔｉを演算する。
【００３３】
Ｔｉ＝ＤＭＬ×Ｔｐ×α×ＬＡＬＰＨＡ×ＣＯＥＦ＋ＬＲＮＴＳ …（３）
ただし、ＤＭＬはリーン運転時の空燃比補正係数であり、例えばＤＭＬ＝１４．７／２２として、空燃比をリーンに設定する。
【００３４】
こうして燃料噴射量Ｔｉが演算されると、このＴｉに相応するパルス幅の駆動パルス信号が機関回転に同期した所定のタイミングで燃料噴射弁３に出力され、燃料噴射が行われる。
【００３５】
図３〜図５は学習ルーチンを示している。
【００３６】
ここでは、燃料噴射量補正用の機関運転状態のエリア別の学習値をベース学習値（パージガス非導入時対応学習値）と通常学習値（パージガス導入時対応学習値）との２種記憶することとして、学習値記憶手段として、ベース学習マップと通常学習マップとを有しており、ストイキ運転時に空燃比学習制御を行い、学習値の更新を行うのに先立って、学習マップの選択を行う。
【００３７】
Ｓ２０１では、始動後初期化したか否かを判定し、ＮＯの場合のみＳ２０２へ進んで、ベース学習収束フラグＦＢＳＬＴＤ、通常学習収束フラグＦＬＲＮＴＤ、ベース学習カウンタＣＢＳＬＴＤ、通常学習カウンタＣＬＲＮＴＤをそれぞれ０にリセットする。すなわち、始動直後に１度だけこれらの初期化を行う。
【００３８】
Ｓ２０３では、ベース学習収束フラグＦＢＳＬＴＤの値に基づき、ベース学習（パージガス非導入時対応学習）が収束した（ＦＢＳＬＴＤ＝１）か否かを判定する。
【００３９】
ＦＢＳＬＴＤ＝０（ベース学習未収束）の場合は、ベース学習を行うため、Ｓ２０４へ進んで、学習マップ、学習マップの格子（Ｎｅ格子、Ｔｐ格子）、学習収束カウンタ及び学習領域指定フラグをベース学習用のものにセットする。すなわち、ベース学習マップ：ＴＢＳＬＭ、ベース学習マップＮｅ格子：ＴＢＳＬＮ、ベース学習マップＴｐ格子：ＴＢＳＬＰ、ベース学習収束カウンタ：ＣＢＳＬＴＤ、ベース学習領域指定フラグ：ＦＢＬＭＡＤの選択を行う。
【００４０】
尚、学習マップは、図１１に示すように、機関回転数Ｎｅと基本燃料噴射量Ｔｐとによる機関運転状態のエリア（０〜Ｆ）毎に、学習値と学習収束カウンタとを割り当ててある。また、学習領域指定フラグは、図１２に示すように、機関運転状態のエリア（０〜Ｆ）に対応して設けられ、各エリアの学習カウンタの中で学習収束判定に使用するものについて、１にセットされている。
【００４１】
次のＳ２０５では、選択されたベース学習マップから現在の機関運転状態（Ｎｅ，Ｔｐ）のエリアに対応する学習値ＬＡＬＰＨＡの検索を行う。
【００４２】
次のＳ２０６では、後述する図５の学習値更新ルーチン（学習値更新手段）に従って、学習値ＬＡＬＰＨＡの更新を行う。
【００４３】
ここで、図５の学習値更新ルーチンについて説明する。これが学習値更新手段に相当する。
【００４４】
Ｓ３０１では、学習値更新条件（すなわち、空燃比フィードバック制御中で、水温Ｔｗが所定値以上など）が成立しているか否かを判定し、ＹＥＳの場合のみＳ３０２〜３０５を実行する。
【００４５】
Ｓ３０２では、空燃比フィードバック補正係数αの平均値Ｍαを次式により算出する。
【００４６】
Ｍα＝（α1＋α2）／２          ４）
尚、α1は最新にリーンからリッチに反転したときの直前の空燃比フィードバック補正係数、α2は最新にリッチからリーンに反転したときの直前の空燃比フィードバック補正係数である（図１０参照）。
Ｓ３０３では、空燃比フィードバック補正係数αの平均値Ｍαの基準値（１．０）からの偏差に基づき、次式に従って、学習値ＬＡＬＰＨＡを更新する。
【００４７】
ＬＡＬＰＨＡ＝ＬＡＬＰＨＡ＋（Ｍα−１．０）×ＧＡＩＮ …（５）
ＧＡＩＮは所定値で、０＜ＧＡＩＮ＜１である。
Ｓ３０４では、更新後のＬＡＬＰＨＡを選択中の学習マップの所定位置に格納する。
【００４８】
Ｓ３０５では、更新したエリアに対応する選択中の学習収束カウンタ（ＣＢＳＬＴＤｉ又はＣＬＲＮＴＤｉ）をカウントアップして、学習値更新ルーチンを終了する。
【００４９】
図３〜図４のルーチンに戻って、Ｓ２０７では、例えば図１２に示すようなベース学習領域指定フラグＦＢＬＭＡＤによって指定された全ての領域（図１３(a)参照）において、学習収束カウンタＣＢＳＬＴＤｉが所定値以上であるか否かを判定し、ＹＥＳであれば、ベース学習は収束したと判断し、Ｓ２０８でベース学習収束フラグＦＢＳＬＴＤ＝１として、本ルーチンを終了する。
【００５０】
尚、ベース学習を早く収束させるためには、図１３(b)のように全運転領域を少ない数（１つでも可）の学習領域でカバーするようにベース学習マップの格子を設定し、その領域だけを学習領域として指定する。オーバーリーンを防止するガード値としてベース学習値を使用し精度を必要としない場合はこのようにすることでリーン運転に早く移行できる。
【００５１】
Ｓ２０３での判定でＦＢＳＬＴＤ＝１（ベース学習収束）であれば、通常学習（バージガス導入時対応学習）を行うため、Ｓ２０９へ進む。
【００５２】
Ｓ２０９では、学習マップ、学習マップの格子（Ｎｅ格子、Ｔｐ格子）、学習収束カウンタ及び学習領域指定フラグを通常学習用のものにセットする。すなわち、通常学習マップ：ＴＬＲＮＭ、通常学習マップＮｅ格子：ＴＬＲＮＮ、通常学習マップＴｐ格子：ＴＬＲＮＰ、通常学習収束カウンタ：ＣＬＲＮＴＤ、通常学習領域指定フラグ：ＦＬＲＭＡＤの選択を行う。
【００５３】
次のＳ２１０では、選択された通常学習マップから現在の機関運転状態（Ｎｅ，Ｔｐ）のエリアに対応する学習値ＬＡＬＰＨＡの検索を行う。
【００５４】
次のＳ２１１では、前述の図５の学習値更新ルーチンに従って、学習値ＬＡＬＰＨＡの更新を行う。
【００５５】
次のＳ２１２では、通常学習領域指定フラグＦＬＲＭＡＤによって指定された全ての領域（図１３(a)参照）において、学習収束カウンタＣＬＲＮＴＤｉが所定値以上であるか否かを判定し、ＹＥＳであれば、通常学習は収束したと判断し、Ｓ２１３で通常学習収束フラグＦＬＲＮＴＤ＝１として、本ルーチンを終了する。 通常学習指定領域として、例えば図１３(a)に示すように指定すると、リーン運転時の空燃比精度が高くなるが、図１３（b）に示すように平地定常走行領域のみを指定すると、パージ開始、リーン運転開始を早めることができる。
【００５６】
図６はリーン運転許可判定ルーチンを示している。
【００５７】
Ｓ４０１では、機関回転数Ｎｅ、基本燃料噴射量Ｔｐ及び水温Ｔｗ等に基づいて予め定めたリーン運転条件か否かを判定し、ＹＥＳの場合にＳ４０２へ進む。Ｓ４０２では、ベース学習収束フラグＦＢＳＬＴＤ＝１か否かを判定し、ＹＥＳの場合にＳ４０３へ進む。
【００５８】
Ｓ４０３では、通常学習収束フラグＦＬＲＮＴＤ＝１か否かを判定し、ＹＥＳの場合にＳ４０４へ進む。
【００５９】
Ｓ４０４では、図７の累積パージ量算出ルーチンにより算出される始動後の累積パージ量ＰＲＧＱが所定値以上か否かを判定し、ＹＥＳの場合にＳ４０５へ進む。
【００６０】
Ｓ４０５では、リーン運転を許可する（リーン運転許可フラグセット）。
【００６１】
Ｓ４０１〜４０４での判定のいずれかでＮＯの場合は、Ｓ４０６へ進んでリーン運転を不許可とする（リーン運転許可フラグリセット）。
【００６２】
始動後の累積パージ量ＰＲＧＱが所定値以上のときのみリーン運転を許可するのは、パージガス濃度が非常に濃いままリーン運転に移行してノッキングを生じないようにするためである。
【００６３】
ここで、図７の累積パージ量算出ルーチンについて説明する。
【００６４】
このルーチンは０．１ｓｅｃ毎に実行される。
【００６５】
Ｓ５０１では、スロットル開度ＴＶＯ及び機関回転数Ｎｅを検出する。
【００６６】
Ｓ５０２では、次式によって、スロットル開口面積ＡＴＶＯを算出する。ＡＴＨはスロットル径である。
【００６７】
ＡＴＶＯ＝ＡＴＨ×（１−cosＴＶＯ） …（５）
Ｓ５０３では、マップを参照し、機関回転数Ｎｅとスロットル開口面積ＡＴＶＯとから吸入負圧Ｂｏｏｓｔを算出する。
【００６８】
Ｓ５０４では、マップを参照し、吸入負圧Ｂｏｏｓｔから０．１ｓｅｃ当りのパージ量△ＰＲＧＱ(cc)を算出する。
【００６９】
Ｓ５０５では、次式のごとく、０．１ｓｅｃ当りのパージ量△ＰＲＧＱを積算することにより、累積パージ量ＰＲＧＱを求める。
【００７０】
ＰＲＧＱ＝ＰＲＧＱ＋△ＰＲＧＱ …（６）
尚、累積パージ量ＰＲＧＱは始動毎にクリアされる。
【００７１】
図８はリーン運転時学習値選択ルーチンを示しており、図２の燃料噴射量演算ルーチンのＳ１０８にて実行される。
【００７２】
Ｓ６０１では、ベース学習マップを参照し、現在の機関運転状態（Ｎｅ，Ｔｐ）のエリアに対応する学習値ＬＡＬＰＨＡの検索を行い、これをベース学習値ＢＳとする。
【００７３】
Ｓ６０２では、通常学習マップを参照し、現在の機関運転状態（Ｎｅ，Ｔｐ）のエリアに対応する学習値ＬＡＬＰＨＡの検索を行い、これを通常学習値ＬＲとする。
【００７４】
Ｓ６０３では、ベース学習値ＢＳと通常学習値ＬＲとを比較し、ベース学習値ＢＳの方が所定値ＳＬ以上に大きい（ＢＳ−ＳＬ≧ＬＲ）か否かを判定する。
【００７５】
ＹＥＳの場合、すなわち、ベース学習値ＢＳの方が大きい場合は、Ｓ６０４へ進んで、ベース学習値ＢＳを補正用の学習値ＬＡＬＰＨＡとする。
【００７６】
ＮＯの場合、すなわち、通常学習値ＬＲの方が大きい場合は、Ｓ６０５へ進んで、通常学習値ＬＲを補正用の学習値ＬＡＬＰＨＡとする。
【００７７】
このようにベース学習値ＢＳと通常学習値ＬＲとを比較し、大きい方、すなわち、よりリッチな空燃比になる方を、補正用の学習値ＬＡＬＰＨＡとして採用する。但し、ベース学習領域を、前述のように全運転領域に対して１つの学習値でカバーするように設定したときは、通常学習値ＬＲが採用される機会を多くすることで、空燃比制御の精度を確保するのがよく、そのため、Ｓ６０３において、ベース学習値ＢＳと通常学習値ＬＲとを比較する際に、余裕代としてＳＬを設定してある。
【００７８】
図９はキャニスタパージ制御ルーチンを示している。
【００７９】
Ｓ７０１では、水温、λコン、燃料カットなどに基づき、所定のキャニスタパージ条件か否かを判定し、ＹＥＳの場合にＳ７０３へ進む。
【００８０】
Ｓ７０３では、アイドルスイッチがＯＦＦ（非アイドル運転時）か否かを判定し、ＹＥＳの場合にＳ７０４へ進む。
【００８１】
Ｓ７０４では、キャニスタパージを実行すべく、パージコントロールバルブ９をＯＮにして開弁させる。これにより、機関１の吸入負圧がキャニスタ７に作用する結果、新気導入口から導入される空気によってキャニスタ７の吸着剤に吸着されていた蒸発燃料が脱離され、この脱離した蒸発燃料を含むパージガスがパージ通路１０を通って吸気通路２のスロットルバルブ６下流に吸入され、この後、機関１のシリンダ内で燃料処理される。
【００８２】
Ｓ７０１〜Ｓ７０３での判定のいずれかでＮＯの場合は、キャニスタパージを停止すべく、パージコントロールバルブ９をＯＦＦにして閉弁させる。
【００８３】
始動後、学習を開始するまでは、学習値は１．０に固定されている。図１４及び図１５の例では、学習制御無しのベース空燃比はややリーン側にある。学習が開始されると、先ず、ベース学習を行う。これにより空燃比はストイキに補正される。
【００８４】
ベース学習が収束した時点で、通常学習に切り替わり、同時にキャニスタパージを開始する。パージ開始直後の非常に濃いガスによって一時的に空燃比はリッチ化するが、学習が進行するのに伴いストイキに補正される。
【００８５】
通常学習が収束した時点からリーン運転が可能になるが、このときに参照される学習値はｔ0 （図１４参照）以前ではベース学習値ＢＳ、ｔ0 以降は通常学習値ＬＲとなる。これにより、例えば、パージガスによってリッチ化している最中に学習し、通常学習値ＬＲベースの要求値より小さくなったときにリーン運転に移行しても、学習値としてはベース学習値ＢＳを用いるために、リーン運転で空燃比をオープン制御しているときにパージガス濃度が濃くなってオーバーリーンを生じることがなくなる。
【００８６】
図１において、１８はノッキングセンサである。ノッキングセンサ１８は、シリンダブロックに取付けられ、シリンダブロックに生じる振動からノッキング強度に相当する信号を出力するようになっている。なお、ノッキングセンサとして、点火プラグ６等に取付けられたシリンダ内圧力センサを用いてもよい。
【００８７】
コントロールユニット４は、ノッキングセンサ１８からの信号に応じて、ノッキングを起こさないように点火時期を遅角側に補正する制御を行う。図示しないルーチンでは、予め設定されたマップに基づきノッキングセンサ１８からの信号に応じてノッキングを起こさないように点火時期を遅角側に補正する点火時期補正値βＥＴＡを検索する。点火時期補正値βＥＴＡはリタード側補正リミッタ値βＬに制限される範囲内でノッキング強度に応じて点火時期を進角するように設定されている。
【００８８】
しかしながら、混合気が理論空燃比よりリーン側となるようにオープン制御されるリーン運転時に、例えばキャニスタ７から大量の蒸発燃料が吸気通路２に導入されるような場合に、ノッキングセンサ１８の信号に応じて点火時期を遅角制御するだけでは、ノッキングの発生を抑えられない可能性がある。
【００８９】
これに対処して本発明は、混合気が理論空燃比よりリーン側となるようにオープン制御されるリーン運転時に、ノッキングセンサ１８からの検出信号に基づいてノッキング発生時を判定し、ノッキング発生時にリーン運転時の目標点火時期をリタード側に補正する。
【００９０】
図１６は、リーン運転時におけるノッキング発生時に目標点火時期をリタード側に補正するルーチンを示しており、これは所定周期毎に繰り返し実行される。
【００９１】
まず、Ｓ１でリーン運転が行われているかどうかを判定する。リーン運転時にＳ２に進んで、図示しないルーチンでノッキングセンサ１８からの信号に応じて、算出されるノッキングを起こさないように点火時期を遅角側に補正する点火時期補正値βＥＴＡを検索する。
【００９２】
続いてＳ３において、点火時期補正値βＥＴＡがリタード側補正リミッタ値βＬになっていることを判定すると、Ｓ４に進んで、点火時期補正値βＥＴＡがリタード側補正リミッタ値βＬに一致する点火時期最大補正時間ｔｃをカウントする。
【００９３】
Ｓ５において、カウントされた点火時期最大補正時間ｔｃが所定値ｔ１以上になるかどうかを判定する。点火時期最大補正時間ｔｃが所定値ｔ１以上になった場合、Ｓ６に進んで、リタード側補正リミッタ値βＬを所定量だけリタード側の値に補正する。
【００９４】
このように、空燃比を空燃比学習値ＬＡＬＰＨＡに基づいてリーン側にオープン制御するリーン運転時に、例えばキャニスタ７から大量の蒸発燃料が吸気通路２に導入されて、ノッキングセンサ１８の信号に応じて点火時期を点火時期補正値βＥＴＡがリタード側補正リミッタ値βＬにある範囲で遅角制御するだけではノッキングの発生を十分に抑えられない場合、リタード側補正リミッタ値βＬを補正してリーン運転時の目標点火時期をリタード側に設定することにより、ノッキングの発生を抑えることが可能となり、リーン運転が行われる領域を拡大することができる。
【産業上の利用可能性】
【００９５】
本発明は、内燃機関の空燃比制御に適用できる。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施の形態を示すシステム図。
【図２】同じく燃料噴射量演算ルーチンのフローチャート。
【図３】同じく空燃比学習ルーチンのフローチャートの前半部分。
【図４】同じく空燃比学習ルーチンのフローチャートの後半部分。
【図５】同じく学習値更新ルーチンのフローチャート。
【図６】同じくリーン運転許可判定ルーチンのフローチャート。
【図７】同じく累積パージ量算出ルーチンのフローチャート。
【図８】同じくリーン運転時の学習値選択ルーチンのフローチャート。
【図９】同じくキャニスタパージルーチンのフローチャート。
【図１０】同じく空燃比フィードバック補正係数の設定の様子を示す図。
【図１１】同じく学習マップについて示す図。
【図１２】同じく学習領域指定フラグについて示す図。
【図１３】同じく指定領域の例を示す図。
【図１４】同じくリーン運転時の参照学習値と空燃比について示す図。
【図１５】同じく学習値の変化とリーン運転許可判定について示す図。
【図１６】リーン運転時におけるノッキング発生時に目標点火時期を補正するルーチンを示すフローチャート。
【図１７】請求項１に記載の発明を示すクレーム対応図。
【符号の説明】
【００９７】
１    機関
３    燃料噴射弁
４    コントロールユニット
５    エアフロメータ
１０  Ｏ2センサ
１４  クランク角センサ
１００  燃料噴射弁
１０１  空燃比検出手段
１０２  ストイキ運転時空燃比フィードバック制御手段
１０３  空燃比学習値記憶手段
１０４  空燃比学習値更新手段
１０５  リーン運転時空燃比オープン制御手段
１０６  ノッキング検出手段
１０７  ノッキング時空燃比制御切換手段
１０８  ノッキング時目標空燃比補正手段
１１０  点火プラグ
１１１  目標点火時期設定手段
１１２  点火時期最大補正時間判定手段
１１３  リーン運転時目標点火時期補正手段
１２０  パージコントロールバルブ
１２１  パージ量制御手段
１２２  ノッキング時パージ量補正手段
【図１】
2004308663.tif 000003
【図２】
2004308663.tif 000004
【図３】
2004308663.tif 000005
【図４】
2004308663.tif 000006
【図５】
2004308663.tif 000007
【図６】
2004308663.tif 000008
【図７】
2004308663.tif 000009
【図８】
2004308663.tif 000010
【図９】
2004308663.tif 000011
【図１０】
2004308663.tif 000012
【図１１】
2004308663.tif 000013
【図１２】
2004308663.tif 000014
【図１３】
2004308663.tif 000015
【図１４】
2004308663.tif 000016
【図１５】
2004308663.tif 000017
【図１６】
2004308663.tif 000018
【図１７】
2004308663.tif 000019