(57)【要約】【課題】ブローバイガス通路にリークが検出された時の吸気管の詰まりの学習を禁止し、該リークが修復された時に吸気量制御が適正な状態で開始されるようにする。【解決手段】内燃機関の吸入空気量を制御する装置は、内燃機関へ吸入される空気量を調節するための制御弁を備える。制御装置は、アイドル運転中の内燃機関の回転数をフィードバック制御するためのフィードバック補正量に基づいて、内燃機関の吸気管の詰まり度合いを表す詰まり係数を算出する。制御装置は、該詰まり係数に基づいて上記制御弁の開度を設定し、該設定された制御弁の開度に制御弁を制御する。内燃機関から吸気管まで接続されるブローバイガス通路のリークが検出されたならば、詰まり係数の算出を禁止する。詰まり係数が更新されないので、リークに起因した吸気量増大を、詰まりが解消されたと誤って判断されることが防止される。【選択図】図９
2005076595.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の吸入空気量を制御する装置であって、
前記内燃機関へ吸入される空気量を調節するための制御弁と、
アイドル運転中の前記内燃機関の回転数をフィードバック制御するためのフィードバック補正量に基づいて、前記内燃機関の吸気管の詰まり度合いを表す詰まり係数を算出する詰まり係数算出手段と、
前記制御弁の開度を、前記詰まり係数に基づいて設定する設定手段と、
前記制御弁の開度を、前記設定された開度に制御する制御手段と、
前記内燃機関から前記吸気管まで接続されるブローバイガス通路のリークを検出する検出手段と、
前記ブローバイガス通路のリークが検出されたならば、前記詰まり係数の算出を禁止する禁止手段と、
を備える、吸気量制御装置。
【請求項２】
前記詰まり係数算出手段は、さらに、
前記詰まり係数の前回値との差が所定範囲内に収まるように、該詰まり係数の今回値を算出する、請求項１に記載の内燃機関の吸気量制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブローバイガス通路のリークに応じて、吸入空気量を制御する装置に関する。
【背景技術】
【０００２】
内燃機関に連結された吸入通路に設けられた制御弁が、長年の使用により潤滑油成分や燃焼生成物が付着し、いわゆるカーボン詰まり（デポジット）を生じることが知られている。下記の特許文献１には、スロットル弁をバイパスする通路に設けられたバイパス弁の詰まり度合いに応じて、吸入空気量を補正する手法が記載されている。
【０００３】
この手法によると、該バイパス通路に、オン／オフされることにより吸入空気量を増減するための開閉弁がさらに設けられる。第１の目標エンジン回転数において、開閉弁が閉じている時のバイパス弁の開度Ｄ１と、開閉弁が開いている時のバイパス弁の開度Ｄ２とを学習する。バイパス弁の開度をＤ２に固定した時に開閉弁を閉じると、エンジン回転数が低下する。その後、開閉弁を開き、バイパス弁の開度Ｄ３を学習する。Ｄ１からＤ２へ変化させた時とＤ２からＤ３に変化させた時とにおいて吸入空気量の変化が同じになるように、バイパス弁の開度に対する吸気量特性を書き換える。バイパス弁の経時変化に応じて吸気量特性を書き換えることにより、吸入空気量を制御する精度を向上させる。
【０００４】
一方、エンジンの燃焼室からクランクケースに漏れ出すブローバイガスを吸気系に還流することにより、ブローバイガスの大気への放出を防止することが行われている。下記の特許文献２には、ブローバイガスを吸気系に還流するための通路すなわち配管のリーク（外れ、破れを含む）を検出する手法が記載されている。この手法によると、エンジンに実際に吸入される空気量と、制御装置が算出する所望の吸入空気量との間に、所定値より大きい差が生じたとき、リークが発生したと判断する。
【特許文献１】登録実用新案第２５５８１５３号公報
【特許文献２】特開２００２−１３００３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の手法によると、ブローバイガス通路にリークが生じることによって吸入空気量が増大したとき、吸入通路に設けられた制御弁の詰まりが解消したと誤って判断され、吸気量特性が書き換えられてしまう。その結果、ブローバイガス通路のリークを修復した時、不適切な吸気量特性に基づいて吸気量制御が開始されることになる。これは、エンジンの運転状態を不安定にする。
【０００６】
また、リークの発生に即時に応答して吸気量特性が書き換えられると、エンジンに実際に吸入される空気量が所望の吸入空気量に適合したと判断され、両者の間に差が生じなくなる。したがって、このような吸気量特性の即時の書き換えは、リークの検出を困難にするおそれがある。
【０００７】
したがって、ブローバイガス通路のリークを検出した場合には、吸気量特性の書き換えを禁止することができる制御装置が必要とされている。また、ブローバイガス通路のリークを確実に検出することができるように、吸気量特性を書き換える速度を調整することのできる制御装置が必要とされている。
【課題を解決するための手段】
【０００８】
この発明の一つの側面によると、内燃機関の吸入空気量を制御する装置は、内燃機関へ吸入される空気量を調節するための制御弁と、アイドル運転中の内燃機関の回転数をフィードバック制御するためのフィードバック補正量に基づいて、内燃機関の吸気管の詰まり度合いを表す詰まり係数を算出する詰まり係数算出手段と、制御弁の開度を詰まり係数に基づいて設定する手段と、制御弁の開度を該設定された開度に制御する制御手段と、内燃機関から吸気管まで接続されるブローバイガス通路のリークを検出する検出手段と、ブローバイガス通路のリークが検出されたならば、詰まり係数の算出を禁止する禁止手段と、を備える。
【０００９】
この発明によれば、内燃機関から吸気管に至るブローバイガス通路にリークが検出された時には、吸気管の詰まり係数の算出が禁止される。吸気管の詰まり係数が更新されないので、吸気管の詰まりが解消されたという誤判定に基づく吸気量特性の変更が防止される。従って、ブローバイガス通路のリークが修復された時、適切な吸気量特性に基づいて吸気量制御を開始することができる。
【００１０】
この発明の一実施形態によると、詰まり係数の前回値との差が所定範囲内に収まるように、該詰まり係数の今回値を算出する。
【００１１】
この発明によれば、詰まり係数の更新幅が所定範囲内に抑制されるので、吸気量特性が瞬時に大きく変化することが防止される。吸気量特性が書き換えられる速度が抑制されるので、ブローバイガス通路のリークを的確に検出することができる。
【発明を実施するための最良の形態】
【００１２】
次に図面を参照して、この発明の実施の形態を説明する。図１は、内燃機関のアイドル回転数制御装置の全体的な構成を示すブロック図である。エンジン１０は、たとえば４気筒の自動車エンジンである。
【００１３】
吸気管１２にはスロットル弁１４が配置されている。スロットル弁１４は、電子制御装置（Electronic Control Unit, ECU）６０からの制御信号に応じてアクチュエータ１８によって駆動される。ＥＣＵ６０は、図に示さないアクセルペダル開度センサからの出力に応じて、スロットル弁１４の開度を制御する制御信号をアクチュエータ１８に送る。この方式は、ドライブバイワイヤ方式と呼ばれており、他の方式には、ワイヤ１６をアクセルペダルに接続してアクセルペダルにより直接的にスロットル弁を制御する方式がある。スロットル弁１４の近くにスロットル弁開度センサ２０が設けられており、スロットル開度θTHに応じた信号を出力する。
【００１４】
スロットル弁１４とエンジン１０の吸気弁との間に、気筒ごとに燃料噴射弁２４が設けられている。燃料噴射弁２４は、燃料ポンプ（図示せず）に接続され、該燃料ポンプを介して燃料タンク（図示せず）から燃料の供給を受ける。燃料噴射弁６は、ＥＣＵ５からの制御信号に従って駆動される。
【００１５】
エンジン１０のクランクケース（図示せず）と吸気管１２との間には、配管すなわちブローバイガス通路２５が設けられている。ブローバイガス通路２５は、エンジン１のクランクケースに漏れ出すブローバイガスを吸気管１２に還流する。ブローバイガス通路２５がクランクケースに接続される部分には、ＰＣＶ（Positive Crankcase Ventilation）弁２６が設けられている。
【００１６】
吸気管１２のスロットル弁１４の下流には吸気管圧力センサ３２および吸気温センサ３４が備えられ、それぞれ吸気管内絶対圧ＰＢおよび吸気温ＴＡを示す電気信号を出力する。
【００１７】
エンジン１０のカムシャフトまたはクランクシャフトの付近に気筒判別センサ(ＣＹＬ)４０が設けられており、たとえば第１気筒の所定クランク角度位置で気筒判別信号ＣＹＬを出力する。また、ＴＤＣセンサ４２およびクランク角センサ(ＣＲＫ)４４が備えられており、前者は、各気筒のピストン上死点(TDC)位置に関連した所定のクランク角度位置でＴＤＣ信号を出力し、後者は、ＴＤＣ信号よりも周期の短いクランク角度（たとえば30度）でＣＲＫ信号を出力する。
【００１８】
エンジン１０には排気管４６が接続されている。燃焼によって生じた排出ガスは媒装置５０で浄化され、外部に排出される。触媒装置５０の上流には広域空燃比(ＬＡＦ)センサ５２が設けられ、リーンからリッチにわたる広範囲において排出ガス中の酸素濃度に比例する信号を出力する。
【００１９】
自動車の車輪を駆動するドライブシャフトの付近に車速センサ５４が配置され、ドライブシャフトの所定回転ごとに信号を出力する。また、車両には大気圧センサ５６が設けられ、大気圧に応じた信号を出力する。
【００２０】
これらのセンサの出力は、ＥＣＵ（電子制御装置）６０に送られる。ＥＣＵ６０は、マイクロコンピュータで構成されており、演算を行うプロセッサＣＰＵ６０ａ、制御プログラムおよび各種データのリスト、テーブルを格納するＲＯＭ６０ｂ、およびＣＰＵ６０ａによる演算結果などを一時記憶するＲＡＭ６０ｃを有する。各種センサの出力は、ＥＣＵ６０の入力インターフェース６０ｄに入力される。入力インターフェイス６０ｄは、入力信号を整形して電圧レベルを修正する回路、およびアナログ信号からディジタル信号に変換するA/D変換器を備えている。
【００２１】
ＣＰＵ６０ａは、クランク角センサ４４からのＣＲＫ信号をカウンタでカウントしてエンジン回転数ＮＥを検出し、また、車速センサ５４からの信号をカウントして車両の走行速度ＶＰを検出する。ＣＰＵ６０ａは、ＲＯＭ６０ｂに格納されたプログラムに従って演算を実行し、出力インターフェース６０ｅを介して燃料噴射弁２４、スロットル弁・アクチュエータ１８などに駆動信号を送る。
【００２２】
代替的に、電気的に開閉駆動される上記のスロットル弁１４の代わりに、機械式のスロットル弁を用いてもよい。この場合、スロットル弁をバイパスする通路に、ＥＣＵからの制御信号に応じて開閉駆動される電磁バルブが設けられる。電磁バルブの開度を制御することにより、エンジンへの吸入空気量を調整することができる。
【００２３】
図２は、本願発明の一実施形態に従う機能ブロック図である。フィードバック制御部７１は、アイドル運転中にエンジン回転数を目標回転数に収束させるようにスロットル弁の開度を制御するフィードバック制御を実施する。フィードバック制御として、たとえばＰＩＤ制御が用いられる。フィードバック制御部７１は、スロットル弁の開度を制御するための制御量ＩＣＭＤＴＨを算出する。この算出は、たとえば、式（１）に従って行われる。
【００２４】
ＩＣＭＤＴＨ＝（ＩＦＢ＋ＩＬＯＡＤ）×ＫＩＰＡ＋ＩＰＡ    （１）
【００２５】
ここで、ＩＦＢはフィードバック補正量（フィードバックゲイン）であり、ＰＩＤ制御を用いる場合には、該フィードバック補正量には比例ゲイン、積分ゲインおよび微分ゲインが含まれる。ＩＬＯＡＤはエンジンに加わる電気負荷、空調装置のコンプレッサ負荷、パワーステアリング負荷、自動変速機がインギヤかどうかに応じて設定される負荷補正項である。ＫＩＰＡおよびＩＰＡは、それぞれ、大気圧に応じて設定される補正係数および補正項である。
【００２６】
学習値算出部７３は、上記の積分ゲインに基づいて、第１の学習値ＩＸＲＥＦＮおよび第２の学習値ＩＸＲＥＦＤＢＷを算出する。
【００２７】
ここで、図３を参照して、これらの学習値の時間的推移の一例を説明する。点線で示す第１学習値（ＩＸＲＥＦＮ）は、上記の積分ゲイン（ＩＡＩＮ）を平滑化した値である。実線で示す第２学習値（ＩＸＲＥＦＤＢＷ）は、第１の学習値をさらに平滑化した値である。図３は、吸気管（スロットル弁を含む）が経年使用後に詰まることにより、第１の学習値および第２の学習値が変化していく様子を示している。詰まりがひどくなるほどエンジンへの吸入空気量が減少するので、第１および第２学習値は増加する。
【００２８】
このように、アイドル運転中にエンジン回転数をフィードバック制御するための積分ゲインＩＡＩＮを用いて第２の学習値を算出することにより、吸気管の詰まりがどのように変化しているかを調べることができる。
【００２９】
図２に戻り、詰まり係数算出部７４は、第２の学習値ＩＸＲＥＦＤＢＷに基づいて、詰まり係数ＫＴＨＣを算出する。詰まり係数ＫＴＨＣは、吸気管がどの程度詰まっているかを示す。詰まり係数ＫＴＨＣが大きくなるほど、詰まりがひどいことを表す。一実施形態では、詰まり係数ＫＴＨＣは、前回の運転サイクルで算出された詰まり係数ＫＴＨＣとの差が所定範囲内に収まるように算出される。
【００３０】
スロットル開度算出部７２は、制御量ＩＣＭＤＴＨおよび詰まり係数ＫＴＨＣに基づいて、目標スロットル開度ＴＨＩＣＭＤを算出する。目標スロットル開度ＴＨＩＣＭＤに収束するように、スロットル弁の開度は制御される。こうして、吸気管の詰まりに応じた開度に、スロットル弁が制御される。詰まりがひどいほど、スロットル弁の開度が大きくされ、所望の空気量がエンジンに吸入されるようにする。
【００３１】
リーク検出部７５は、ブローバイガス通路２５のリーク（破れ、外れを含む）を検出する。この検出は、任意の適切な手法を用いて行うことができる。リーク検出部７５は、ブローバイガス通路２５のリークを検出したならば、フラグＦ＿ＰＣＶをセットする。詰まり係数算出部７４は、フラグＦ＿ＰＣＶがセットされたならば、詰まり係数ＫＴＨＣの算出を禁止する。
【００３２】
ブローバイガス通路２５にリークが生じると、吸入空気量が増大する。詰まり係数の算出を継続すると、この吸入吸気量の増大は詰まり解消により生じたものと誤って判断される。このような誤った判断を回避するため、ブローバイガス通路２５にリークが検出された時には、詰まり係数ＫＴＨＣの算出を禁止する。
【００３３】
図４を参照して、詰まり係数ＫＴＨＣを算出する手法を具体的に説明する。図４は、エンジンに吸入すべき空気量に対して設定すべきスロットル開度ＴＨＩＣＭＤを示すマップである。説明の便宜上、左右の縦軸が同じである点に注意されたい。
【００３４】
参照番号８１は、吸気管に詰まりが生じていないときのスロットル特性を示す。吸気管の詰まりがひどくなるにつれ、スロットル特性は矢印８２の方向にシフトする。参照番号８３は、スロットル弁が、制御できる限界の詰まり状態にあると判断された時のスロットル特性を示す。
【００３５】
基準値ＩＸＲＥＦＢＡＳＥは、予め決められている。基準値ＩＸＲＥＦＢＡＳＥは、典型的には、吸気管に詰まりが生じている可能性があると判断することのできる空気量に基づいて決められる。すなわち、エンジンに吸入すべき空気量が該基準値ＩＸＲＥＦＢＡＳＥを超えると、吸気管に詰まりが生じている可能性があることを示す。
【００３６】
基準値ＩＸＲＥＦＢＡＳＥにおけるスロットル開度の下限値はＴＨＸであり、これを基準下限値と呼ぶ。基準値ＩＸＲＥＦＢＡＳＥにおけるスロットル開度の上限値はＴＨＭＡＸであり、これを基準上限値と呼ぶ。詰まり係数ＫＴＨＣは、基準下限値ＴＨＸおよび基準上限値ＴＨＭＡＸにより規定される範囲内の値をとる。この実施例では、基準下限値ＴＨＸに対応する詰まり係数ＫＴＨＣの値はゼロであり、基準上限値ＴＨＭＡＸに対応する詰まりＫＴＨＣの値は１であるように、詰まり係数ＫＴＨＣは規定される。ＫＴＨＣの値が大きくなるほど、吸気管の詰まりがひどいことを表す。
【００３７】
エンジンに吸入すべき空気量は、典型的に、制御量ＩＣＭＤＴＨにより表される。前述したように、制御量ＩＣＭＤＴＨは、積分ゲインを含むフィードバック補正量に基づいて算出される。しかしながら、吸気管の詰まり度合いを反映しているのは、該積分ゲインに基づいて算出された第２の学習値である。したがって、詰まり係数を算出するため、詰まり係数算出部７４は、該第２の学習値ＩＸＲＥＦＤＢＷに基づいて、該マップを参照する。
【００３８】
スロットル特性８１および８３から、第２の学習値ＩＸＲＥＦＤＢＷに対応する上限値ｔｈｄｂｗｍａｘと下限値ｔｈｄｂｗｘが算出される。前回の運転サイクルで算出された詰まり係数ＫＴＨＣＬＡＳＴを用いて、第２の学習値ＩＸＲＥＦＤＢＷに対応するスロットル開度が、上限値ｔｈｄｂｗｍａｘと下限値ｔｈｄｂｗｘの間のどこにあるかが算出される。その結果、点８５が求められ、該点に対応するスロットル開度の値がｔｈｄｂｗｃｍｄと算出される。
【００３９】
次に、今回の運転サイクルについての詰まり係数ＫＴＨＣを算出するため、スロットル開度ｔｈｄｂｗｃｍｄが、基準下限値ＴＨＸと基準上限値ＴＨＭＡＸの間のどこにあるかを調べる。前述したように、詰まり係数ＫＴＨＣは、基準値ＩＸＲＥＦＢＡＳＥにおけるスロットル特性８１の値をゼロ、スロットル特性８３の値を１．０と規定されている。したがって、スロットル開度ｔｈｄｂｗｃｍｄに対応する詰まり係数ＫＴＨＣを、基準上限値ＴＨＭＡＸおよび基準下限値ＴＨＸに基づく比例計算により算出することができる。詳細な算出式は後述される。こうして、参照番号８６によって示されるような大きさを持つＫＴＨＣが算出される。
【００４０】
次に、図５を参照して、目標スロットル開度ＴＨＩＣＭＤを算出する手法について説明する。図５は、図４に示されるマップと同じである。スロットル開度算出部７２は、フィードバック制御部７１によって算出された制御量ＩＣＭＤＴＨに基づいて該マップを参照する。
【００４１】
スロットル弁の開度が実際に制御されることとなる目標スロットル開度は、詰まりだけでなく、他の要因を考慮して算出される必要がある。したがって、前述の式（１）に示されるように、エンジン負荷等を考慮して算出された制御量ＩＣＭＤＴＨに基づいて、該マップを参照する。
【００４２】
スロットル特性８１および８３により、制御量ＩＣＭＤＴＨに対応する上限値ＴＨＩＣＭＤＣおよび下限値ＴＨＩＣＭＤＸを算出する。詰まり係数算出部７４によって算出された詰まり係数ＫＴＨＣを用いることにより、該詰まり係数に応じた目標スロットル開度ＴＨＩＣＭＤを、上限値ＴＨＩＣＭＤＣおよび下限値ＴＨＩＣＭＤＸに基づく比例計算によって算出することができる。詳細な算出式は後述される。
【００４３】
次に図６〜図８を参照して、第２の学習値を算出するプロセスを説明する。このプロセスは、所定時間間隔ごとに実行される。
【００４４】
ステップＳ１０１において、車両の状態が学習許可領域にあるかどうか、すなわち車両の状態が学習値の算出に適しているかどうかを判定するサブルーチンを実施する。該サブルーチンは、図７を参照して説明する。
【００４５】
ステップＳ１０３において、なんらかのデバイスの故障を示すフラグが１にセットされているかどうかを判断する。このフラグが１にセットされていなければ、ステップＳ１０５に進む。このフラグが１にセットされているときは、予め決められたデフォルト値を第１の学習値ＩＸＲＥＦＮにセットし（Ｓ１１７）、学習値を算出する間隔を定めるカウンタに初期値をセットして（Ｓ１１９）、このルーチンを抜ける。
【００４６】
ステップＳ１０５において、学習許可フラグが１にセットされているかどうかを判断する。学習許可フラグは、ステップＳ１０１で実施されるサブルーチンでセットされるフラグである。学習許可フラグが１にセットされているならば、ステップＳ１０７に進む。学習許可フラグが１にセットされていなければ、カウンタに初期値をセットして（Ｓ１１９）、このルーチンを抜ける。
【００４７】
ステップＳ１０７において、カウンタの値を１だけ減らす（デクリメントする）。ステップＳ１０９において、カウンタの値がゼロに達しているかどうかを判断し、ゼロに達していなければこのルーチンを抜ける。
【００４８】
再びこのルーチンに入った時にステップＳ１０９においてカウンタがゼロに達したならば、カウンタに初期値をセットし(Ｓ１１１)、第１の学習値を算出するステップＳ１１３に進む。ここで、第１学習値ＩＸＲＥＦＮは、式（２）に従い算出される。
【００４９】
ＩＸＲＥＦＮ = 
ＩＡＩＮ × 平滑化係数 ＋ ＩＸＲＥＦＮ(n-1) ×（1−平滑化係数）
（２）
【００５０】
前述したように、ＩＡＩＮは、ＰＩＤフィードバック制御の積分ゲインである。ＩＸＲＥＦＮ(n-1)は、前回のサイクルで算出された第１の学習値である。平滑化係数は、たとえば、０．７である。この実施形態では、平滑化係数を用いて学習値を求める。しかしながら、他の実施形態では、積分ゲインＩＡＩＮの移動平均を学習値としてもよい。こうして算出された学習値は、ＲＡＭ６０ｃ（図１）に記憶される。
【００５１】
ステップＳ１１５において、第２の学習値を算出するサブルーチン（図８）を実行する。
【００５２】
図７を参照して、図６のステップＳ１０１で実行される学習許可領域を判定するプロセスを説明する。ステップＳ１２１において、車両がアイドル回転数をフィードバック制御するモードにあるかどうかを、車両の運転モードを示すステータスコードに基づいて判断する。この判断ステップの答えがＮｏのとき、すなわちオープンループ制御するモードであるときは、学習許可フラグをゼロ（不許可）にセットして（Ｓ１３７）、このルーチンを抜ける。この判断ステップの答えがＹｅｓのときは、ステップＳ１２３に進み、エンジン始動から所定の時間が経過したことを示すフラグが１にセットされているかどうかを判断する。このフラグが１にセットされていないときは、学習許可フラグをゼロにセットして(Ｓ１３７)、このルーチンを抜ける。こうして、エンジン始動直後はエンジンの状態が安定していないので、学習を禁止する。
【００５３】
エンジン始動から所定の時間が経過していると判断されたならば、ステップＳ１２５に進み、吸気管圧力ＰＢが所定値より大きいかどうかを判断する。吸気管圧力ＰＢは、エンジンの負荷を反映している。吸気管圧力ＰＢが所定値より大きいことは、エンジン負荷が大きいことを意味し、学習値の算出に適さないので、ステップＳ１３７を経てこのルーチンを抜ける。吸気管圧力ＰＢが所定値以下であれば、ステップＳ１２７に進み、ゲージ圧ＰＢＧＡ、すなわち大気圧ＰＡと吸気管圧力ＰＢとの差、が所定値より大きいかどうかを判断する。ゲージ圧ＰＢＧＡが所定値より大きいことは、高負荷を意味し、学習値の算出に適さないので、学習許可フラグをゼロにセットして（Ｓ１３７）、このルーチンを抜ける。
【００５４】
ゲージ圧ＰＢＧＡが所定値以下であれば、ステップＳ１２９に進み、エンジン回転数ＮＥの変動が所定値より大きいかどうかを判断する。回転数ＮＥの変動が所定値より大きいときは、学習値の算出に適さないので、学習許可フラグをゼロにセットして(Ｓ１３７)、このルーチンを抜ける。回転数ＮＥの変動が所定値以下であれば、ステップＳ１３１に進み、今回のサイクルで算出されたエンジンの目標回転数ＮＯＢＪと前回のサイクルで算出された目標回転数ＮＯＢＪとの差が所定値より大きいかどうかを判断する。目標回転数ＮＯＢＪの偏差が大きいことは、エンジン回転が安定していないことを意味し、学習値の算出に適さないので、学習許可フラグをゼロにセットして（Ｓ１３７）、このルーチンを抜ける。
【００５５】
目標回転数ＮＯＢＪの偏差が所定値以下であれば、ステップＳ１３３に進み、エンジン水温ＴＷが所定値より低いかどうかを判断する。エンジン水温ＴＷが所定値以下のときは、エンジンが不安定で学習値の算出に適さないので、学習許可フラグをゼロにセットして（Ｓ１３７）、このルーチンを抜ける。エンジン水温ＴＷが所定値以上であれば、学習許可フラグを１にセットし（Ｓ１３５）、このルーチンを抜ける。
【００５６】
次に図８を参照して、図６のステップＳ１１５で実施される第２の学習値を算出するプロセスを説明する。ステップＳ１４１において吸気管圧力ＰＢが所定値以下であるかどうかを判断する。前述のように、吸気管圧力ＰＢはエンジン負荷を示しており、この値が小さいことはエンジン負荷が小さいことを意味する。吸気管圧力ＰＢが所定値以下であるならば、ステップＳ１４３に進み、図６のステップＳ１１３で算出された第１の学習値のうち、ステップＳ１４９で更新される最大値と、ステップＳ１５１で更新される最小値との差が所定値以下であるかどうかを判断する。これは、ステップＳ１５９で設定されるタイマで決められる所定期間における第１の学習値の最大値と、該所定期間における第１の学習値の最小値との差が所定値以下の状態で第２の学習値を算出するためである。こうすることにより、エンジンの運転状態が安定している領域での学習値を得ることができる。
【００５７】
ステップ１４３の答えがＮｏならば、ステップＳ１５７に進み、第１の学習値の現在値を、ＩＸＲＥＦＮ最大値およびＩＸＲＥＦＮ最小値にセットする。ステップＳ１５９においてタイマに所定値をセットして、このルーチンを抜ける。ステップＳ１５９のタイマの作用については、後述する。
【００５８】
次にこのルーチンに入ったとき、ステップＳ１５７でＩＸＲＥＦＮ最大値およびＩＸＲＥＦＮ最小値が同じ値に設定されているから、Ｓ１４３の判断ステップの答えはＹｅｓになる。したがって、プロセスはステップＳ１４５に進み、図６のステップＳ１１３で算出された第１の学習値ＩＸＲＥＦＮが、ステップＳ１５７で設定されているＩＸＲＥＦＮ最大値より大きいかどうかが判断され、大きければ、第１の学習値の現在値でＩＸＲＥＦＮ最大値を置き換える（Ｓ１４９）。この判断ステップの答えがＮｏのときは、ＩＸＲＥＦＮ現在値がＩＸＲＥＦＮ最小値より小さいかどうかが判断され（Ｓ１４７）、小さければ、ＩＸＲＥＦＮ現在値でＩＸＲＥＦＮ最小値を置き換える（Ｓ１５１）。これらの最大値、最小値の更新プロセスを終了すると、ステップＳ１５９で初期値に設定されるタイマが０になっているかどうか、すなわちＩＸＲＥＦＮ最大値とＩＸＲＥＦＮ最小値との差が所定値以下である状態がタイマで設定された期間続いたかどうかを判断する（Ｓ１５３）。タイマが０になっているとき、ステップＳ１５５に進み、第２の学習値を算出する。タイマが０になっていないときは、該ルーチンを抜ける。
【００５９】
ステップＳ１５５では、第２学習値ＩＸＲＥＦＤＢＷが、式（３）に従って算出される。
【００６０】
ＩＸＲＥＦＤＢＷ = 
ＩＸＲＥＦＮ × 平滑化係数 + ＩＸＲＥＦＤＢＷ(n-1) × (1 − 平滑化係数)
（３）
【００６１】
平滑化係数は、たとえば０．７であるが、第１の学習値の平滑化係数とは異なる値を使用してもよい。
【００６２】
次に、図９を参照して、詰まり係数ＫＴＨＣを算出するプロセスを説明する。このルーチンは、所定の時間間隔で実行される。
【００６３】
ステップＳ２０１において、フラグＦ＿ＫＴＨＣＩＮＩの値を調べる。フラグＦ＿ＫＴＨＣＩＮＩは、運転サイクル（エンジンの始動から停止まで）が開始される時はゼロに初期化されている。したがって、最初にこのルーチンを実行するときは、プロセスはステップＳ２０３に進み、現在の詰まり係数ＫＴＨＣを、ＫＴＨＣＬＡＳＴとして保存する。すなわち、前回の運転サイクルで最後に算出された詰まり係数が、ＫＴＨＣＬＡＳＴとして保存される。
【００６４】
ステップＳ２０５およびＳ２０７において、基準値ＩＸＲＥＦＢＡＳＥに基づいて図４に示されるマップのスロットル特性８３および８１を参照し、スロットル開度の基準上限値ＴＨＭＡＸおよび基準下限値ＴＨＸを求める。前述したように、基準値ＩＸＲＥＦＢＡＳＥにおいて、スロットル開度がＴＨＸである時の詰まり係数ＫＴＨＣの値はゼロであり、スロットル開度がＴＨＭＡＸである時の詰まり係数ＫＴＨＣの値の値は１である。ステップＳ２０９において、フラグＦ＿ＫＴＨＣＩＮＩに１をセットし、詰まり係数の初期処理が終了したことを示す。
【００６５】
次にこのルーチンに入ったとき、フラグＦ＿ＫＴＨＣＩＮＩの値は１であるので、ステップＳ２１１に進み、フラグＦ＿ＰＣＶの値を調べる。フラグＦ＿ＰＣＶは、ブローバイガス通路２５（図１）のリークが検出された時に値１にセットされるフラグである。フラグＦ＿ＰＣＶの値が１ならば、ステップＳ２１３に進み、前回の運転サイクルで算出された詰まり係数ＫＴＨＣＬＡＳＴを、今回の運転サイクルについての詰まり係数ＫＴＨＣにセットする。こうして、ブローバイガス通路のリークが検出された時は、詰まり係数ＫＴＨＣの更新処理が禁止される。
【００６６】
ステップＳ２１１の判断ステップの答えがＮｏならば、ステップＳ２１５〜Ｓ２２４に示される、詰まり係数ＫＴＨＣを更新するプロセスを実施する。ステップＳ２１５において、図８のステップＳ１５５で算出された第２の学習値ＩＸＲＥＦＤＢＷに基づいて、図４に示されるようなマップのスロットル特性８３を参照し、上限値ｔｈｄｂｗｍａｘを求める。同様に、ステップＳ２１７において、第２の学習値ＩＸＲＥＦＤＢＷに基づいて、図４に示されるようなマップのスロットル特性８１を参照し、下限値ｔｈｄｂｗｘを求める。
【００６７】
ステップＳ２１９において、前回の運転サイクルで算出された詰まり係数ＫＴＨＣＬＡＳＴを用いて、第２の学習値ＩＸＲＥＦＤＢＷに対応するスロットル開度ｔｈｄｂｗｃｍｄを、式（４）に従い算出する。図４を参照して説明したように、点８５に対応するスロットル開度ｔｈｄｂｗｃｍｄが、式（４）により算出される。
【００６８】
スロットル開度ｔｈｄｂｗｃｍｄ＝
ＫＴＨＣＬＡＳＴ×ｔｈｄｂｗｍａｘ
＋（１−ＫＴＨＣＬＡＳＴ）×ｔｈｄｂｗｘ                        （４）
【００６９】
ステップＳ２２１において、式（５）に示されるように、スロットル開度ｔｈｄｂｗｃｍｄが、基準上限値ＴＨＭＡＸおよび基準下限値ＴＨＸの間のどこにあるかを算出することにより、暫定詰まり係数ｋｔｈｃｔｍｐを算出する。
【００７０】
暫定詰まり係数ｋｔｈｃｔｍｐ＝
（ｔｈｄｂｗｃｍｄ−ＴＨＸ）／（ＴＨＭＡＸ−ＴＨＸ）      （５）
【００７１】
第２の学習値ＩＸＲＥＦＤＢＷが大きくなるほど、暫定スロットル開度ｔｈｄｂｗｃｍｄが大きくなり、よって暫定詰まり係数ｋｔｈｃｔｍｐも大きくなる。
【００７２】
ステップＳ２２３において、前回の運転サイクルで算出された詰まり係数ＫＴＨＣＬＡＳＴに対して、更新が許容される範囲を設定する。具体的には、前回の運転サイクルで算出された詰まり係数ＫＴＨＣＬＡＳＴに所定値を加算することにより、該許容範囲の上限値ｋｔｃｈｍａｘを算出し、該詰まり係数ＫＴＨＣＬＡＳＴから所定値を減算することにより該許容範囲の下限値ｋｔｈｃｍｉｎを算出する。
【００７３】
ステップＳ２２４において、暫定詰まり係数ｋｔｈｃｔｍｐを、更新許容範囲で制限する。暫定詰まり係数ｋｔｈｃｔｍｐが上限値ｋｔｈｃｍａｘを超えたならば、詰まり係数ＫＴＨＣは該上限値ｋｔｈｃｍａｘにセットされる。また、暫定詰まり係数ｋｔｈｃｔｍｐが下限値ｋｔｈｃｍｉｎを下回ったならば、詰まり係数ＫＴＨＣは該下限値ｋｔｈｃｍｉｎにセットされる。こうして、詰まり係数ＫＴＨＣの更新幅を制限する。
【００７４】
図１０を参照して、目標スロットル開度ＴＨＩＣＭＤを算出するプロセスを説明する。このルーチンは、所定の時間間隔で実行される。
【００７５】
ステップＳ２３１において、前述した式（１）に従い、制御量ＩＣＭＤＴＨを算出する。ステップＳ２３３およびＳ２３５において、制御量ＩＣＭＤＴＨに基づいて図５に示されるマップのスロットル特性８３および８１を参照し、制御量ＩＣＭＤＴＨに対応する上限値ＴＨＩＣＭＤＣおよび下限値ＴＨＩＣＭＤＸを算出する。
【００７６】
ステップＳ２３７において、式（６）に示されるように、前回の運転サイクルで算出された詰まり係数ＫＴＨＣＬＡＳＴを用いて、上限値ＴＨＩＣＭＤＣおよび下限値ＴＨＩＣＭＤＸに対して比例計算を行う。こうして、目標スロットル開度ＴＨＩＣＭＤが算出される。
【００７７】
目標スロットル開度ＴＨＩＣＭＤ＝
ＫＴＨＣＬＡＳＴ×ＴＨＩＣＭＤＣ
＋（１−ＫＴＨＣＬＡＳＴ）×ＴＨＩＣＭＤＸ
（６）
【００７８】
ここで、前回の運転サイクルで算出された詰まり係数ＫＴＨＣＬＡＳＴを用いるのは、今回の運転サイクルでは、詰まり係数ＫＴＨＣの更新が所定の時間間隔で実行されており、値がまだ定まっていないからである。また、吸気管の詰まりは、短期間で変動するものではないので、前回の運転サイクルで算出された詰まり係数を用いても、適切な目標スロットル開度を算出することができる。
【００７９】
図１１を参照して、ブローバイガス通路のリークを検出するプロセスを説明する。このルーチンは、所定の時間間隔で実行される。
【００８０】
ステップＳ３０１において、ブローバイガス通路の異常を検出するための条件が成立しているかどうかを調べる。この条件には、たとえば、エンジンの運転状態が安定していることを含むことができる。エンジンの運転状態は、エンジン水温、車速、空燃比等のパラメータに基づいて判断することができる。
【００８１】
ステップＳ３０３において、エンジン１の総吸入空気量ＱＴＯＴＡＬを、式（７）に従い算出する。
【００８２】
ＱＴＯＴＡＬ＝ＴＩＭ×２ＮＥ×ＫＣ／σＡ          （７）
ただし、ＫＣ＝ＫＴＱ×σＧ×１４．７
σＡ＝［１．２９３／（１＋０．００３６７ＴＡ）］×（ＰＡ／ＰＡ０）
【００８３】
ここで、ＴＩＭは基本燃料噴射時間であり、ＫＣは、燃料噴射時間ＴＩＭを吸入空気量に変換する係数であり、σＡは空気の密度を示す。ＫＴＱは燃料噴射時間を燃料量（体積）に変換する係数であり、σＧは燃料の密度を示し、１４．７は理論空燃比を示す。ＴＡは、吸気温センサ３４（図１）により検出される吸気温であり、ＰＡ、大気圧センサ５６（図１）により検出される大気圧を示し、ＰＡ０は基準大気圧（＝１０１．３ｋＰａ）を示す。
【００８４】
ステップＳ３０５において、式（８）に従い、スロットル弁１４を介してエンジン１０に吸入される空気量ＱＢＰを算出する。
【００８５】
ＱＢＰ＝ＩＣＭＤＴＨ×ＫＩＱ                  （８）
【００８６】
ＫＩＱは、制御量ＩＣＭＤＴＨを空気量に変換するための係数である。
【００８７】
ステップＳ３０７において、総吸入空気量ＱＴＯＴＡＬからスロットル吸気量ＱＢＰを減算することにより、ブローバイガス通路２５の外れ等に起因して吸入される空気量に対応するリーク空気量ＱＬを算出する。
【００８８】
ステップＳ３０９において、ゲージ圧ＰＢＧに基づいて所定のマップを検索し、リーク判定しきい値ＱＴＨを算出する。該マップは、ゲージ圧ＰＢＧが高くなるほど（すなわちエンジン負荷が高くなるほど）リーク判定しきい値ＱＴＨが減少するように設定されている。
【００８９】
ステップＳ３１１において、ＱＬ＞ＱＴＨであるならば、リークが有ると判断し、フラグＦ＿ＰＣＶに１をセットする（Ｓ３１５）。ＱＬ≦ＱＴＨであるならば、リーク無しと判定し、フラグＦ＿ＰＣＶにゼロをセットする（Ｓ３１３）。
【００９０】
図１１に示される、ブローバイガス通路のリークを検出する処理は一例である。前述したように、他の適切な手法を用いて、ブローバイガス通路のリークを検出してもよい。
【００９１】
図１２を参照して、本願発明の一実施形態に従う、ブローバイガス通路にリークが生じた時の吸気量制御の効果を説明する。
【００９２】
参照番号９１は、吸気管に詰まりがある場合のスロットル開度の変化を示し、参照番号９２は、吸気管に詰まりが無い場合のスロットル開度の変化を示す。吸気管に詰まりが生じると、吸入空気量が減少するので、スロットル開度は増加する方向に制御される。
【００９３】
時間ｔ１から時間ｔ２にわたり、参照番号９１に示されるようにスロットル開度が制御されており、時間ｔ２において、ブローバイガス通路２５に外れが生じたとする。
【００９４】
参照番号９３は、従来の手法に従うスロットル開度の変化を示す。ブローバイガス通路２５に外れが生じたので、吸入空気量が急激に増大する。この吸入空気量の増大により、詰まりが解消したと誤って判断される。その結果、詰まり係数ＫＴＨＣの値は小さくされ、よってスロットル開度は小さくされる。
【００９５】
このような状態でブローバイガス通路２５の外れが修復された時、詰まりが実際には解消されていないにもかかわらず、スロットル開度は、参照番号９３に示されるような小さい値に設定されている。これは、吸気量不足を招き、エンジンの運転状態を不安定にする。
【００９６】
本願発明によれば、ブローバイガス通路２５の外れが検出された時、詰まり係数の更新が禁止される。詰まり係数が更新されないので、スロットル開度は、参照番号９４に示されるように推移する。ブローバイガス通路２５の外れを修復した時、適正なスロットル開度に基づいて吸気量制御を実施することができる。
【００９７】
図１１に示される一例を参照して説明したように、典型的には、エンジンに実際に吸入される空気量（図１１の例では、ＱＴＯＴＡＬ）と、所望の空気量（図１１の例では、ＱＢＰ）との間に差が生じたとき、ブローバイガス通路にリークが生じたと判断される。一方、制御装置は、詰まり係数を用いることにより、実際に吸入される空気量が所望の吸入空気量に一致するようにスロットル弁を制御しようとする。
【００９８】
しかしながら、ブローバイガス通路にリークが生じたことに即時に応答して詰まり係数が更新されると、制御装置は、詰まりが解消したと誤って判断する。その結果、制御装置は、実際に増大した吸入空気量に適合するように、参照番号９３のようにスロットル開度を瞬時に大きく変更してしまう。制御装置は、このスロットル開度の変更により、実際に吸入される空気量が所望の空気量に適合したと判断しているので、この吸入空気量増大がリークに起因することを見極めることができない。したがって、ブローバイガス通路に外れが生じたにもかかわらず、リーク無しと判断されるおそれがある。
【００９９】
本願発明によれば、図９のステップＳ２２４に示されるように、詰まり係数ＫＴＨＣの更新幅が抑制される。詰まり係数ＫＴＨＣの更新幅を抑制することにより、詰まり係数が更新されたとしても、参照番号９５に示されるようにスロットル開度を推移させることができる。すなわち、吸入空気量の増大により、詰まり係数ＫＴＨＣは減らされるよう更新されるが、その更新量が抑制されるので、スロットル開度の減少量も抑制される。したがって、外れが生じた時、エンジンへの実際の吸入空気量は増大するが、この吸入空気量の増大分に適合するようにはスロットル開度は必ずしも変更されない。その結果、エンジンに実際に吸入される空気量と、所望の吸入空気量との間に差が生じ、リークが発生したことを的確に検出することができる。
【０１００】
本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンにも適用が可能である。
【図面の簡単な説明】
【０１０１】
【図１】この発明の一実施例に従う、内燃機関、過給機および制御装置を概略的に示す図。
【図２】この発明の一実施例に従う、吸気量制御装置の機能ブロック図。
【図３】この発明の一実施例に従う、吸気管の詰まりに応じた第１および第２の学習値の時間的変化を示す図。
【図４】この発明の一実施例に従う、詰まり係数を算出するためのマップ。
【図５】この発明の一実施例に従う、目標スロットル開度ＴＨＩＣＭＤを算出するためのマップ。
【図６】この発明の一実施例に従う、第１の学習値を算出するプロセスのフローチャート。
【図７】この発明の一実施例に従う、学習許可領域を判断するプロセスのフローチャート。
【図８】この発明の一実施例に従う、第２の学習値を算出するプロセスのフローチャート。
【図９】この発明の一実施例に従う、詰まり係数を算出するプロセスのフローチャート。
【図１０】この発明の一実施例に従う、目標スロットル開度を算出するプロセスのフローチャート。
【図１１】この発明の一実施例に従う、ブローバイガス通路のリークを検出するプロセスのフローチャート。
【図１２】この発明の一実施例に従う、吸気量制御の効果を説明するための図。
【符号の説明】
【０１０２】
１０  エンジン
１７  スロットル弁
２５  ブローバイガス通路
６０  ＥＣＵ
【図１】
2005076595.tif 000003
【図２】
2005076595.tif 000004
【図３】
2005076595.tif 000005
【図４】
2005076595.tif 000006
【図５】
2005076595.tif 000007
【図６】
2005076595.tif 000008
【図７】
2005076595.tif 000009
【図８】
2005076595.tif 000010
【図９】
2005076595.tif 000011
【図１０】
2005076595.tif 000012
【図１１】
2005076595.tif 000013
【図１２】
2005076595.tif 000014