(57)【特許請求の範囲】
【請求項１】
燃料タンクから蒸発するエバポガスを吸着するためのキャニスタと、前記キャニスタに吸着されたエバポガスを吸気通路へパージするためにパージ流量をパージ制御バルブにより制御するパージ制御手段とを備え、キャニスタの劣化を検出するキャニスタ劣化検出装置において、
前記吸気通路に放出されるエバポガスの濃度を検出するパージ濃度検出手段と、
所定期間内に前記パージ濃度検出手段により検出される前記パージ濃度の変動量に基づいて前記キャニスタの劣化を検出する第１のキャニスタ劣化検出手段とを備え、
前記パージ制御手段によりパージ制御が実行されている期間中に前記パージ濃度検出手段により検出されるパージ濃度の最大値を記憶するパージ濃度最大値記憶手段を備え、
前記パージ濃度の変動量は、前記パージ濃度最大値記憶手段により記憶されたパージ制御中のパージ濃度の最大値と、前記パージ濃度検出手段により検出されるパージ濃度との偏差であることを特徴とするキャニスタ劣化検出装置。
【請求項２】
前記第１のキャニスタ劣化検出手段は、所定期間内での前記パージ濃度の最大値と前記パージ濃度との偏差が所定の判定レベル以上であるときにキャニスタの劣化であると判定することを特徴とする請求項１に記載のキャニスタ劣化検出装置。
【請求項３】
前記濃度最大値記憶手段は、前記パージ濃度検出手段によるエバポガス濃度が所定濃度以上のときに、パージ濃度の最大値として記憶することを特徴とする請求項１に記載のキャニスタ劣化検出装置。
【請求項４】
前記所定期間は、前記パージ濃度検出手段により検出される前記パージ濃度が最大となってからの期間であることを特徴とする請求項１または請求項２のいずれか一つに記載のキャニスタ劣化検装置。
【請求項５】
前記パージ流量制御手段により設定されるパージ流量の積算値を算出する積算値算出手段を備え、
前記所定期間は、前記積算値算出手段により算出されるパージ流量の積算値が所定積算値となるときであることを特徴とする請求項１乃至請求項４のいずれか一つに記載のキャニスタ劣化検出装置。
【請求項６】
燃料タンクから蒸発するエバポガスを吸着するためのキャニスタと、前記キャニスタに吸着されたエバポガスを吸気通路へパージするためにパージ流量をパージ制御バルブにより制御するパージ制御手段とを設けたキャニスタ劣化検出装置において、
前記吸気通路に放出されるエバポガスの濃度を検出するパージ濃度検出手段と、
前記パージ制御バルブが開弁した状態での少なくとも２つ以上の異なるパージ流量に対して前記パージ濃度検出手段により検出されるパージ濃度に基づいて前記キャニスタの劣化を検出する第２のキャニスタ劣化検出手段を備えることを特徴とするキャニスタ劣化検出装置。
【請求項７】
前記キャニスタの劣化検出を行うための判定値を設定する判定値設定手段を備え、
前記キャニスタ劣化検出手段は、所定パージ流量異なる２つのパージ流量に対して、前記パージ濃度検出手段により検出される２つのパージ濃度の偏差が前記判定値設定手段により設定される判定値よりも大きいときに前記キャニスタを劣化であると判定することを特徴とする請求項６に記載のキャニスタ劣化検出装置。
【請求項８】
前記判定値設定手段は、前記所定パージ流量異なる２つのパージ流量のうち、所定パージ流量に対して検出される最初のパージ濃度を検出してから、前記最初の所定パージ流量とは所定パージ流量異なる所定パージ流量に対するパージ濃度を検出するまでの期間に基づいて前記判定値を設定することを特徴とする請求項７に記載のキャニスタ劣化検出装置。
【請求項９】
前記判定値設定手段は、前記所定パージ流量異なる２つのパージ流量に基づいて、前記判定値を設定することを特徴とする請求項７または請求項８のいずれか一方に記載のキャニスタ劣化検出装置。
【請求項１０】
前記パージ流量制御手段により制御されるパージ流量を所定のパージ流量に設定するパージ流量設定手段を備え、
前記所定パージ流量異なる２つのパージ流量のうち、所定パージ流量に対して検出される最初のパージ濃度を検出してから、第１の所定期間が経過したときには、前記パージ流量設定手段によってパージ流量を最初の前記所定パージ流量とは所定パージ流量異なるパージ流量に設定することを特徴とする請求項７乃至請求項９のいずれか一つに記載のキャニスタ劣化検出装置。
【請求項１１】
前記所定パージ流量異なる２つのパージ流量のうち、所定パージ流量に対して検出される最初のパージ濃度を検出してから、前記最初の所定パージ流量とは所定パージ流量異なる所定パージ流量に対するパージ濃度を検出するまでの期間が第２の所定期間以上経過した場合は、検出された最初のパージ濃度をクリアする、または、前記第２のキャニスタ劣化検出手段によるキャニスタの劣化を検出することを禁止することを特徴とする請求項７乃至請求項１０のいずれか一つに記載のキャニスタ劣化検出装置。
【請求項１２】
前記キャニスタと前記燃料タンクとの間の通路を閉塞する燃料タンク閉塞バルブを備え、
前記キャニスタ劣化検出手段により前記キャニスタの劣化判定を行っている期間中は、前記燃料タンク閉塞バルブを閉じることを特徴とする請求項７乃至請求項１１のいずれか一つに記載のキャニスタ劣化検出装置。
【請求項１３】
前記パージ濃度検出手段により検出されるパージ濃度が高いときは、前記キャニスタ劣化検出手段により行われるキャニスタの劣化検出を禁止することを特徴とする請求項７乃至請求項１２のいずれか一つに記載のキャニスタ劣化検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
【０００２】
【従来技術】
従来より、燃料タンクから蒸発する燃料を活性炭を備えるキャニスタに吸着させて、吸着させた蒸発燃料をパージ通路を介して吸気通路中に放出するエバポパージシステムが知られている。
【０００３】
エバポパージシステムを構成するキャニスタは、蒸発燃料を吸着するための活性炭と、大気からのゴミを除去するための通気フィルタとからなる。このような構成のキャニスタには、燃料タンクからの配管と、大気からの配管、そして吸気通路からの配管に接続され、それぞれの配管に配設される調整バルブを制御することで吸気通路に放出するパージ量を設定したり、大気に燃料の漏れを検出するリークチェックやキャニスタの劣化検出などを行っている。
【０００４】
【発明が解決する課題】
ところで、特表平６−５０６５１４号公報や特開平４−２６５４５７号公報に開示される技術では、キャニスタの劣化検出に関る技術が開示されている。ところが、これらの技術は、キャニスタの劣化として活性炭や通気フィルタの目詰まりなどによる通気性の低下を検出することを目的としているため、活性炭が燃料タンクから蒸発する蒸発燃料を吸着する吸着能力が低下したことを検出することができない。
【０００５】
本発明は、上述の課題に鑑見てなされたものであり、パージ濃度に基づいてキャニスタの吸着能力の低下を検出するができるキャニスタ劣化検出装置を提供することを目的とする。
【０００６】
【課題を解決すための手段】
請求項１の発明によれば、燃料タンクから蒸発するエバポガスを吸着するためのキャニスタと、前記キャニスタに吸着されたエバポガスを吸気通路へパージするためにパージ流量をパージ制御バルブにより制御するパージ制御手段とを設けたキャニスタ劣化検出装置において、前記吸気通路に放出されるエバポガスの濃度を検出するパージ濃度検出手段と、所定期間内に前記パージ濃度検出手段により検出される前記パージ濃度の変動量に基づいて前記キャニスタの劣化を検出する第１のキャニスタ劣化検出手段とを備える。
さらに、前記パージ制御手段によりパージ制御が実行されている期間中に前記パージ濃度検出手段により検出されるパージ濃度の最大値を記憶するパージ濃度最大値記憶手段を備え、前記パージ濃度の変動量は、前記パージ濃度最大値記憶手段により記憶されたパージ制御中のパージ濃度の最大値と、前記パージ濃度検出手段により検出されるパージ濃度との偏差である。
【０００７】
キャニスタの吸着能力が低下している場合には、吸着することができる蒸発燃料量が正常な吸着能力を有するキャニスタに比して減少してしまう。仮に充分にキャニスタに蒸発燃料が吸着されている状態でパージ制御が実行されると、吸着能力が低下しているキャニスタの方がパージ濃度が低下する期間が早くなる。
【０００８】
そこで、上述のように所定期間内のパージ濃度の変動量に基づいてキャニスタ劣化検出を精度よく実施することができる。
【００１０】
また、パージ制御が実行されてからパージ濃度の最大値を記憶し、所定期間内にパージ濃度がパージ濃度の最大値に比して低下した場合にキャニスタの吸着能力が低下していることを検出することができるので、精度良いキャニスタ劣化検出を実施することができる。
【００１１】
なお、このときパージ濃度の最大値の代わりに、パージ制御が開始されてから所定期間後のパージ濃度を用いても良い。
【００１２】
また、請求項２の発明のように、請求項１に記載のキャニスタ劣化検出装置において、前記第１のキャニスタ劣化検出手段は、所定期間内での前記パージ濃度の最大値と前記パージ濃度との偏差が所定の判定レベル以上であるときにキャニスタの劣化であると判定しても良い。
【００１３】
さらに、請求項３の発明のように前記濃度最大値記憶手段は、前記パージ濃度検出手段によるエバポガス濃度が所定濃度以上のときに、パージ濃度の最大値として記憶することで、精度良いキャニスタの劣化検出を行うことができる。
【００１４】
前記所定期間は、請求項４の発明のように、前記パージ濃度検出手段により検出される前記パージ濃度が最大となってからの期間であっても良いし、内燃機関が始動してからの期間であっても良い。
【００１５】
また、請求項５の発明のように、前記所定期間は、パージ流量の積算値が所定積算値となるときであっても良い。これによると、パージ制御を実施しているときには、キャニスタに吸着されている蒸発燃料が吸気通路中に供給されるためキャニスタの状態が変化するが、パージ制御を行なっていないときには、キャニスタに吸着されている蒸発燃料が変化しないので、キャニスタの状態がパージ制御を行なっているときに比して変化しない。このため、キャニスタの吸着能力の低下を精度良く判定するための所定期間を設定することができる。
【００１６】
請求項６の発明によれば、燃料タンクから蒸発するエバポガスを吸着するためのキャニスタと、前記キャニスタに吸着されたエバポガスを吸気通路へパージするためにパージ流量をパージ制御バルブにより制御するパージ制御手段とを設けたキャニスタ劣化検出装置において、前記吸気通路に放出されるエバポガスの濃度を検出するパージ濃度検出手段と、前記パージ制御バルブが開弁した状態での少なくとも２つ以上の異なるパージ流量に対して前記パージ濃度検出手段により検出されるパージ濃度に基づいて前記キャニスタの劣化を検出する第２のキャニスタ劣化検出手段を備える。
【００１７】
パージ流量は、吸気通路とキャニスタとの差圧とパージバルブの開度とから決定される。キャニスタの通気性が確保されている状態では、パージ制御実行時にキャニスタと大気とを連通するバルブが開かれている。このため、エバポパージシステム系内の圧力は、ほぼ一定に保たれる。ところが、キャニスタの通気性が低下すると、キャニスタと大気を連通するバルブが閉塞された状態と同様になるため、キャニスタの通気性が低下した状態では、所望のパージ流量が流れない。所望のパージ流量が流れないので、パージによって吸気通路へ供給される蒸発燃料量が所望の蒸発燃料に対して不足してしまうため、パージ濃度学習値は、誤学習してしまう。
【００１８】
請求項６の発明では、このパージ濃度学習値の誤学習を利用してキャニスタの通気性低下を検出しようとするものである。より詳細には、キャニスタの通気性が低下した場合に、パージ流量を供給しようとすると、パージ濃度学習値の誤学習量はパージ流量に応じて変化する。大きなパージ流量を流そうとした場合には、蒸発燃料の供給量が大きく不足してしまうためエバポガス濃度の学習値を大きく更新し、小さなパージ流量では蒸発燃料の供給量が小さく不足してしまうためエバポガス濃度の学習値を小さく更新する。そこで、２つの異なるパージ流量に対するパージ濃度の学習値に基づいてキャニスタの通気性低下を検出するので、精度良いキャニスタの劣化検出を実施することができる。
【００１９】
このとき、請求項７の発明のように、所定パージ流量異なる２つのパージ流量に対して、前記パージ濃度検出手段により検出される２つのパージ濃度の偏差が前記判定値設定手段により設定される判定値よりも大きいときに前記キャニスタを劣化であると判定する。
【００２０】
異なる２つのパージ流量に対するパージ濃度を検出し、比較してキャニスタの劣化を判定するので、精度良いキャニスタの劣化検出を行うことができる。
【００２１】
また、請求項８の発明のように、前記所定パージ流量異なる２つのパージ流量のうち、所定パージ流量に対して検出される最初のパージ濃度を検出してから、前記最初の所定パージ流量とは所定パージ流量異なる所定パージ流量に対するパージ濃度を検出するまでの期間に基づいて前記判定値を設定すると良い。２つのパージ流量に対するパージ濃度を検出する期間が長ければ、エバポパージ系の状態が変化する虞がある。そのため、検出期間が長いほど判定しにくくなるように判定値を設定すると良い。
【００２２】
請求項９の発明のように、前記判定値設定手段は、前記所定パージ流量異なる２つのパージ流量に基づいて、前記判定値を設定すると良く、キャニスタの通気性が低下するとパージ流量に応じてエバポガスの濃度が変化するためである。
【００２３】
請求項１０の発明では、請求項７乃至請求項９のいずれか一つに記載のキャニスタ劣化検出装置において前記パージ流量制御手段により制御されるパージ流量を所定のパージ流量に設定するパージ流量設定手段を備え、前記所定パージ流量異なるパージ流量のうち、所定パージ流量に対して検出される最初のパージ濃度を検出してから、第１の所定期間が経過したときには、前記パージ流量設定手段によってパージ流量を最初の前記所定パージ流量とは所定パージ流量異なるパージ流量に設定する。
【００２４】
このように、第１の所定期間が経過したときには、パージ流量を強制的に検出されたパージ流量とは所定パージ流量異なるパージ流量に設定することで、キャニスタの蒸発燃料の吸着状態が変化することなく、異なる２つのパージ流量に対するパージ濃度の濃度学習値を検出することができるので、精度良くキャニスタの劣化検出を実施することができる。
【００２５】
請求項１１の発明のように、所定パージ流量異なる２つのパージ流量のうち、所定パージ流量に対して検出される最初のパージ濃度を検出してから、最初の所定パージ流量とは所定パージ流量以上異なる所定パージ流量に対するパージ濃度を検出するまでの期間が第２の所定期間以上経過した場合は、検出された最初のパージ濃度をクリアする、または、前記第２のキャニスタ劣化検出手段によるキャニスタの劣化を検出することを禁止する。
【００２６】
すなわち、２つのパージ流量に対するそれぞれのパージ濃度を検出する期間が長いときには、前回の検出をクリア、または、キャニスタの劣化判定を禁止することで誤検出を防止することができる。
【００２７】
請求項１２の発明のように、前記キャニスタと前記燃料タンクとの間の通路を閉塞する燃料タンク閉塞バルブを備え、前記キャニスタ劣化検出手段により前記キャニスタの劣化判定を行っている期間中は、前記燃料タンク閉塞バルブを閉じる。
【００２８】
これにより、燃料タンクから蒸発する蒸発ガスの影響を防止することができるので、精度良いキャニスタの劣化検出を行うことができる。
【００２９】
なお、請求項１３の発明のように、前記パージ濃度検出手段により検出されるパージ濃度が高いときは、前記キャニスタ劣化検出手段により行われるキャニスタの劣化検出を禁止すると良い。
【００３２】
【実施の形態】
＜第１の実施の形態＞
以下、本発明の第１の実施の形態を図面に基づいて説明する。まず、図１に基づいてシステム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の上流側にはエアクリーナ１３が設けられ、このエアクリーナ１３を通過した空気がスロットルバルブ１４を通してサージタンク１５に流入し、吸気マニホールド１６からエンジン１１の各気筒に吸入される。各気筒の吸気マニホールド１６には、燃料噴射弁１７が設けられている。各燃料噴射弁１７には、燃料タンク１８内の燃料が燃料ポンプ（図示せず）により燃料配管（図示せず）を介して送られてくる。エンジン１１にて燃焼が行われると、燃焼により燃焼ガスが発生する。エンジン１１の燃焼により発生した燃焼ガスは、エンジン１１に接続された排気通路３４により大気に放出される。この排気通路３４には、燃焼ガスの空燃比を検出するために、限界電流式空燃比センサ３１（以下、Ａ／Ｆセンサと称す。）が設けられる。Ａ／Ｆセンサ３１の下流側には、燃焼ガスを浄化するための三元触媒３２が設けられる。三元触媒３２は、酸素を貯蔵する能力を有し、燃焼ガスが理論空燃比付近で制御されると、最も高率的に燃焼ガスを浄化するものである。エンジン１１で行われる燃焼は、三元触媒３２に流入する燃焼ガスが理論空燃比に制御されることが望ましく、Ａ／Ｆセンサ３１にて検出される空燃比が理論空燃比に制御されるように従来から知られる空燃比フィードバック制御が行われる。そして、三元触媒３２の下流側には、燃焼ガス中の酸素濃度を検出し、検出した酸素濃度に応じた電圧を出力する酸素濃度センサ３３が設けられる。ここで酸素濃度センサ３３により出力される電圧値に基づいて、例えば目標空燃比を補正してフィードバック制御が行われ、大気に排出される燃焼ガスのエミッションが低減されるように制御される。
【００３３】
次に、エバポパージシステム２０の構成を説明する。燃料タンク１８には、燃料タンク閉塞バルブとしてのタンクカットバルブ３０が配設されているエバポ通路２１を介してキャニスタ２２が接続されている。このキャニスタ２２内には、エバポガス（燃料蒸発ガス）を吸着する活性炭等の吸着体（図示せず）が収容されている。また、キャニスタ２２の底面部の大気連通孔には、大気に連通する大気連通管２３が設けられ、この大気連通管２３には大気開閉弁２４が取り付けられている。
【００３４】
この大気開閉弁２４は、常開型の電磁弁により構成され、通電がオフされている状態では、開弁状態に保持されて、キャニスタ２２の大気連通管２３が大気に開放された状態に保たれる。この大気開閉弁２４は、通電すると、閉弁し、大気連通管２３が閉塞された状態になる。
【００３５】
一方、キャニスタ２２と吸気管１２のサージタンク１５との間には、キャニスタ２２内の吸着体に吸着されているエバポガスを吸気管１２にパージ（放出）するためのパージ通路２５が設けられ、このパージ通路２５の途中に、パージ流量を調整するパージ制御バルブ２６が設けられている。このパージ制御バルブ２６は、常閉型の電磁弁により構成され、通電をデューティ制御することで、キャニスタ２２から吸気管１２へのエバポガスのパージ流量を制御するようになっている。
【００３６】
また、燃料タンク１８には、その内圧を検出する圧力センサ２７が設けられている。この圧力センサ２７の出力信号は、エンジン制御回路２８に読み込まれる。このエンジン制御回路２８は、マイクロコンピュータを主体として構成され、そのＲＯＭ（記憶媒体）に記憶された燃料噴射制御プログラム、点火制御プログラム及びパージ制御プログラムを実行することで、燃料噴射制御、点火制御及びパージ制御を行う。
【００３７】
次に、制御系の構成を説明する。エンジン制御回路２８は、図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、入出力回路等をコモンバスを介して相互に接続して構成されている。また、入出力回路には、図示しないスロットルセンサ、アイドルスイッチ、車速センサ、吸気管圧力センサ、冷却水温センサ、吸気温センサ等、エンジン運転状態を検出する各種センサが接続され、これら各種センサから入出力回路を介して入力される信号及びＲＯＭやＲＡＭ内に記憶されたプログラムやデータ等に基づいて、燃料噴射制御、点火制御、燃料蒸発ガスパージ制御、エバポパージシステム系３０の異常診断等を実行し、燃料噴射弁１７、図示しない点火プラグ、大気開閉バルブ２４、パージ制御バルブ２６等に入出力回路４３を介して駆動信号を出力すると共に、エバポパージシステム系３０の異常を検出した時には図示しない警告ランプを点灯して運転者に知らせる。以下、エンジン制御回路２８が実行する各種制御について説明する。
【００３８】
［空燃比フィードバック制御］
空燃比フィードバック（Ｆ／Ｂ）制御ルーチンは、図２のフローチャートに従って、例えば４ｍＳｅｃ毎の割込み処理により実行される。本ルーチンの処理が開始されると、まず、ステップＳ１０１で、フィードバック実行条件が成立しているか否かを判定する。ここで、フィードバック実行条件としては、（１）エンジン始動時でないこと、（２）燃料カット中でないこと、（３）冷却水温ＴＨＷ≧４０℃であること、（４）燃料噴射量ＴＡＵ＞ＴＡＵｍｉｎであること（但しＴＡＵｍｉｎは燃料噴射弁１７の最小燃料噴射量）、（５）排出ガスの酸素濃度を検出する酸素センサ（図示せず）が活性状態であること、等があり、これら（１）〜（５）の条件を全て満たす場合に、フィードバック実行条件が成立し、１つでも満たさない条件があれば、フィードバック実行条件が不成立となる。もし、フィードバック実行条件が不成立であれば、ステップＳ１０６に進み、空燃比補正係数ＦＡＦ（空燃比フィードバック補正量に相当）を「１．０」に設定して本ルーチンを終了する。
【００３９】
一方、フィードバック実行条件が成立している場合には、ステップＳ１０２に進み、酸素センサの出力を所定の判定レベルと比較して、それぞれ所定時間Ｈ，Ｉ（ｍＳｅｃ）だけ遅らせて空燃比フラグＸＯＸＲを操作する。具体的には、酸素センサ出力がリッチからリーンに反転してからＨ（ｍＳｅｃ）後にＸＯＸＲ＝０（リーンを意味）にセットし、酸素センサ出力がリーンからリッチに反転してからＩ（ｍＳｅｃ）後にＸＯＸＲ＝１（リッチを意味）にセットする。
【００４０】
次のステップＳ１０３で、上記空燃比フラグＸＯＸＲに基づいて空燃比補正係数ＦＡＦの値を次のように操作する。即ち、空燃比フラグＸＯＸＲが「０」→「１」または「１」→「０」に変化したときに、空燃比補正係数ＦＡＦの値を所定量スキップさせ、空燃比ＸＯＸＲが「１」または「０」を継続しているときに、空燃比補正係数ＦＡＦの積分制御を行なう。この後、ステップＳ１０４で、空燃比補正係数ＦＡＦの値の上下限チェック（ガード処理）を行い、続くステップＳ１０５で、空燃比補正係数ＦＡＦを基に、スキップ毎又は所定時間毎になまし（平均化）処理を行なって空燃比補正係数のなまし値ＦＡＦＡＶを算出し、本ルーチンを終了する。
【００４１】
［パージ流量制御］
パージ流量制御は、図３のフローチャートに従って例えば３２ｍＳｅｃ毎の割込み処理により実行される。ここで、パージ流量とは、吸入空気量に対するエバポパージシステム３０から供給される空気量の比を示すものである。処理が開始されると、まず、ステップＳ２０１で冷却水温ＴＨＷが８０℃以上であるか否かを判定すると共に、ステップＳ２０２で空燃比フィードバック中であるか否かを判定する。このとき、エンジン暖機後（ＴＨＷ≧８０℃）で且つ通常の空燃比フィードバックが実行されていれば（図２のステップＳ１０１の条件成立時）、ステップＳ２０１，Ｓ２０２が共に「ＹｅＳ」と判定され、ステップ２０５に進む。
【００４２】
このステップＳ２０３で、パージ実施フラグＸＰＲＧに「１」をセットした後、ステップＳ２０４〜Ｓ２０７で、最終パージ流量ＰＧＲ（吸入空気量に対するパージ流量の比率）を次のようにして演算する。まず、ステップＳ２０４で、吸気管圧力ＰＭとエンジン回転速度Ｎｅに基づいて図７の二次元マップから全開パージ流量ＰＧＲＭＸを読み込む。次のステップＳ２０５で、目標ＴＡＵ補正量ＫＴＰＲＧをエバポガス濃度学習値ｆｌｐｒｇで除算して目標パージ流量ＰＧＲＯを算出する（ＰＧＲＯ＝ＫＴＰＲＧ／ｆｌｐｒｇ）。
【００４３】
ここで、目標ＴＡＵ補正量ＫＴＰＲＧとは、燃料噴射量ＴＡＵを減量補正する際における最大補正量に相当する。また、エバポガス濃度学習値ｆｌｐｒｇは、キャニスタ２２内のエバポガス吸着量に対応しており、後述の処理によって推定され、随時更新されつつエンジン制御回路２８内のＲＡＭに書き込まれている。従って、目標パージ流量ＰＧＲＯは、目標ＴＡＵ補正量ＫＴＰＲＧまで一杯に燃料噴射量を減量することを想定したとき、どれだけのエバポガスをパージによって補充したらよいかに対応する。この場合、同じ運転状態であれば、目標パージ流量ＰＧＲＯはエバポガス濃度学習値ｆｌｐｒｇが大きいほど小さな値となる。尚、本実施形態では、目標ＴＡＵ補正量ＫＴＰＲＧを例えば３０％に設定している。
【００４４】
目標パージ流量ＰＧＲＯの算出後、ステップＳ２０６で、パージ流量徐変値ＰＧＲＤを読み込む。ここで、パージ流量徐変値ＰＧＲＤとは、パージ流量を瞬時に大きく変更すると、空燃比フィードバック制御の補正が追いつかず最適な空燃比を保てなくなってしまう。このことを考慮して空燃比フィードバック制御の補正が追いつかないことを避けるために設けられた制御値である。このパージ流量徐変値ＰＧＲＤの設定方法は後述するパージ流量徐変制御にて説明する。
【００４５】
このようにして全開パージ流量ＰＧＲＭＸ、目標パージ流量ＰＧＲＯ、パージ流量徐変値ＰＧＲＤが求められたら、ステップ２０９に進み、これらのうちで最小値を最終パージ流量ＰＧＲとして設定する。この最終パージ流量ＰＧＲにてパージ制御が実施される。この場合、通常はパージ流量徐変値ＰＧＲＤにて最終パージ流量ＰＧＲが制御され、このパージ流量徐変値ＰＧＲＤが増え続ければ、最終パージ流量ＰＧＲは全開パージ流量ＰＧＲＭＸ又は目標パージ流量ＰＧＲＯによって上限ガードされることになる。
【００４６】
一方、前記ステップＳ２０１でＴＨＷ＜８０℃のとき、或は、ステップＳ２０２で空燃比フィードバック中でないときには、ステップＳ２０８に進み、パージ実施フラグＸＰＲＧを「０」にクリアすると共に、続くステップＳ２０９で、最終パージ流量ＰＧＲを「０」にリセットして、本ルーチンを終了する。この最終パージ流量ＰＧＲが「０」ということは、エバポガスパージを実施しないことを意味する。つまり、エンジン１１の暖機前等、冷却水温が低い場合（ＴＨＷ＜８０℃）には水温補正によってパージ以外の燃料増量が実施され、パージ流量制御は実行されない。
【００４７】
［パージ流量徐変制御］
パージ率徐変制御は、図４のフローチャートに従って例えば３２ｍＳｅｃ毎の割込み処理により実行される。処理が開始されると、まずステップＳ３０１で、パージ実施フラグＸＰＲＧが「１」であるか否かを判定し、ＸＰＲＧ＝０の場合、つまりパージ流量制御が実行されない場合には、ステップＳ３０７に進み、パージ流量徐変値ＰＧＲＤを「０」として本ルーチンを終了する。
【００４８】
一方、ＸＰＲＧ＝１の場合には、ステップＳ３０２に進み、空燃比補正係数ＦＡＦのズレ量｜１−ＦＡＦＡＶ｜を検出する。このとき、｜１−ＦＡＦＡＶ｜＞１０％であれば、ステップＳ３０６に進み、前回の最終パージ率ＰＦＲ（ｉ−１）に「０．１％」減算した値を今回のパージ率徐変値ＰＦＲＤとする。また、｜１−ＦＡＦＡＶ｜＞１０％ではないと判定されると、ステップＳ３０３へ進む。ステップＳ３０３では、５％≦｜１−ＦＡＦＡＶ｜であるか否かが判定される。ここで、５％≦｜１−ＦＡＦＡＶ｜を満たす場合は、ステップＳ３０４へ進み、前回の最終パージ率ＰＧＲ（ｉ−１）に「０．１％」加算した値を今回のパージ率徐変値ＰＧＲＤとする。また、ステップＳ３０３が否定判定、すなわち、５％＜｜１−ＦＡＦＡＶ｜≦１０％であれば、ステップＳ３０５に進んで、前回の最終パージ率ＰＧＲ（ｉ−１) を今回のパージ率徐変値ＰＧＲＤとする。｜１−ＦＡＦＡＶ｜＞１０％であれば、ステップ３０５に進んで、パージ率を大きく変更すると補正が追いつかず、最適な空燃比を保てなくなってしまうため、パージ流量徐変値ＰＧＲＤによってこの様な問題を避けることは前述した通りである。
【００４９】
［パージ濃度学習］
パージ濃度の学習値の設定は、図５のフローチャートに従って例えば４ｍＳｅｃ毎の割込み処理により実行される。処理が開始されると、まずステップＳ４０１で、キースイッチ投入時であるか否かを判定する。キースイッチ投入時であれば、ステップＳ４０６〜Ｓ４０８で各データを初期化し、パージ濃度学習値ｆｌｐｒｇ＝１．０にリセットする。ここで、パージ濃度学習値ｆｌｐｒｇ＝１．０は、燃料蒸発ガス濃度が「０」であること（換言すればキャニスタ２３に燃料蒸発ガスが全く吸着されていないこと）を意味する。エンジン始動時には初期化により吸着量が「０」に仮定される。
【００５０】
キースイッチ投入後は、ステップＳ４０２に進み、パージ実施フラグＸＰＲＧが「１」であるか否か、即ちパージ制御が開始されているか否かを判定する。ここで、ＸＰＲＧ＝０（パージ制御開始前）の場合には、そのまま本ルーチンを終了する。一方、ＸＰＲＧ＝１（パージ制御開始後）の場合には、ステップＳ４０３に進み、車両が加減速中であるか否かを判定する。ここで、加減速中であるか否かの判定は、アイドルスイッチのオフ、スロットルバルブ１４のバルブ開度変化、吸気管圧力変化、車速変化等の検出結果によって行われる。そして、加減速中であると判定されると、そのまま本ルーチンを終了する。つまり、加減速中（エンジン運転の過渡状態）では燃料蒸発ガス濃度検出が禁止され、誤検出防止が図られる。
【００５１】
また、上述したステップＳ４０３で、加減速中でないと判定されると、ステップＳ４０４に進み、最終パージ流量ＰＲＧが所定値β％以上か否かが判定される。ここで、パージ流量ＰＲＧが所定値β％以上であるかを判定する理由は、パージ制御バルブ２６のバルブ開度が小さいときの制御精度が正確ではないため、パージ濃度を誤検出してしまう虞があるためである。最終パージ流量ＰＲＧが所定値β％以下であると判定されると、そのまま本ルーチンを終了する。一方、最終パージ流量ＰＲＧが所定値β％以上であると判定されるとステップＳ４０５へ進む。
【００５２】
ステップＳ４０５は、パージ濃度の学習値ｆｌｐｒｇを更新するためのステップであり、図６に示すサブルーチンにより実施される。以下にパージ濃度学習値ｆｌｐｒｇを更新する理由の概要を記す。
【００５３】
一般的に、燃料噴射量ＴＡＵは、エンジン１１から排出される排出ガスの空燃比を目標の空燃比になるように増減補正が行われる。燃料タンク１８内で蒸発する蒸発燃料成分を吸気通路中に放出するパージ制御もインジェクタ１７からの燃料噴射量ＴＡＵを増減するための一つの要素である。パージ流量ＰＲＧには燃料タンク１８内で蒸発する蒸発燃料成分が含まれる。そこで、この蒸発燃料成分の濃度を検出し、最終パージ流量ＰＲＧに含まれる蒸発燃料成分の燃料量に応じて燃料噴射量ＴＡＵを増減補正し、排出される排出ガスの空燃比を目標の空燃比に制御している。つまり、蒸発燃料成分の燃料量、すなわち、パージ濃度学習値ｆｌｐｒｇが正確であれば、この学習値に基づいて行われる燃料噴射量ＴＡＵの増減補正が精度良く行われるため、空燃比が変動することが無い。ところが、パージ濃度学習値ｆｌｐｒｇが実際のパージ濃度に対してズレ量が大きいと、エンジン１１に流入する全体の燃料量にパージ濃度学習値ｆｌｐｒｇのズレ量が影響してしまい、空燃比変動が生じてしまう。この空燃比変動は空燃比補正係数ＦＡＦに影響するため、空燃比補正係数ＦＡＦの変動を監視することにより、パージ濃度学習値のズレ量を検出することができる。図６のフローチャートでは、空燃比補正係数のなまし値ＦＡＦＡＶを監視することにより、逐次パージ濃度学習値ｆｌｐｒｇを更新する処理が示されている。
【００５４】
まず、ステップＳ５０１にて、空燃比補正係数のなまし値ＦＡＦＡＶが基準値（＝１）に対して所定値ω（例えば２％）以上の偏差を有するか否かを判定する。ここで、空燃比補正係数のなまし値ＦＡＦＡＶが基準値１に対して所定値ω％以上であると判定されると、ステップＳ５０５へ進む。ステップＳ５０５の処理では、前回のパージ濃度学習値ｆｌｐｒｇ（ｉ−１）に所定値αを加算して、今回の学習値ｆｌｐｒｇとする。これは、パージ濃度学習値ｆｌｐｒｇが実際のパージ濃度よりも低く設定されると、目標空燃比に対する全体の燃料噴射量が不足してしまうため、目標空燃比よりもリーン空燃比での燃焼が行われてしまう。このため空燃比補正係数ＦＡＦは、目標空燃比よりもリーン空燃比での燃焼を補正するために基準値１よりも大きな値が設定される。すなわち、ステップＳ５０１にてＦＡＦＡＶ―１≧ω％であることは、パージ濃度学習値ｆｌｐｒｇが実際のパージ濃度よりも低いので、ステップＳ５０５にて、所定値αを加算して学習値の更新を行っている。
【００５５】
一方、ステップＳ５０１にて空燃比補正係数のなまし値ＦＡＦＡＶが基準値１に対して、所定値ω％以下であると判定されると、ステップＳ５０２へ進む。ステップＳ５０２では、基準値１に対して空燃比補正係数のなまし値ＦＡＦＡＶが所定値−ω％以下であるかが判定される。ここで、所定値−ω％であると判定されるとステップＳ５０３では、前回のパージ濃度学習値ｆｌｐｒｇ（ｉ−１）から所定値κを減算して今回のパージ濃度学習値ｆｌｐｒｇとする。これは、上述のパージ濃度学習値の補正とは、逆でパージ濃度学習値ｆｌｐｒｇが実際のパージ濃度よりも高く設定されているときの補正である。
【００５６】
ステップＳ５０２にて、基準値１に対する空燃比補正係数のなまし値ＦＡＦＡＶが所定値−ω％よりも大きければ、前回のパージ濃度学習値ｆｌｐｒｇを今回の学習値として更新せずに、そのまま本ルーチンを終了する。ステップＳ５０４へ進む条件は、ステップＳ５０１，ステップＳ５０２，ステップＳ５０４と進むときであり、｜１−ＦＡＦＡＶ｜≦ω％であるときである。これは、前回のパージ濃度学習値ｆｌｐｒｇが実際のパージ濃度とほぼ一致するために空燃比のズレ量が小さくなることによる。空燃比のズレ量が小さいと、空燃比補正係数のなまし値ＦＡＦＡＶが変動しないので前回のパージ濃度学習値ｆｌｐｒｇを更新せずに今回の学習値としている。
【００５７】
前述のごとくパージ濃度学習値ｆｌｐｒｇの初期値は「１」であり、上式により、空燃比がリッチ寄りかまたはリーン寄りかに応じて燃料蒸発ガス濃度ＦＧＰＧが徐々に更新される。この場合、実際の燃料蒸発ガス濃度が高いほど（キャニスタ２２の吸着量が多いほど）、パージ濃度学習値ｆｌｐｒｇは「１」を基準に減じられる。また、パージ濃度学習値ｆｌｐｒｇは、実際の燃料蒸発ガス濃度の低下分に応じて増加させられる。
【００５８】
尚、最終パージ流量ＰＧＲが小さい場合、即ちパージ制御バルブ２６が低流量側で制御されている場合は開度制御の精度が比較的低く、燃料蒸発ガス濃度検出の信頼性が低い。そこで、ステップ４０５の所定値βをパージ制御弁３１の低開度域に設定し（例えば０％＜β＜２％）、精度の良い検出条件が揃った場合のみ、燃料蒸発ガス濃度検出を行うようにしても良い。
【００５９】
［パージ制御弁の制御］
パージ制御バルブ２６の制御は、図８のフローチャートに従って例えば１００ｍＳｅｃ毎に割込み処理により実行される。処理が開始されると、まずステップＳ６０１で、パージ実施フラグＸＰＲＧがパージ実施を意味する「１」であるか否かを判定し、ＸＰＲＧ＝０（パージ不実施）であれば、ステップＳ６０３に進み、パージ制御弁３１を駆動させるための制御値Ｄｕｔｙを「０」とする。また、ＸＰＲＧ＝１（パージ実施）であれば、ステップＳ６０２に進み、最終パージ流量ＰＧＲ及びその時点での運転状態に見合った全開パージ流量ＰＧＲＭＸに基づき、次の（１）式により制御値Ｄｕｔｙを算出する。
【００６０】
Ｄｕｔｙ＝（ＰＧＲ／ＰＧＲＭＸ）・（１００−Ｐｖ）・Ｐｐａ＋Ｐｖ
……（１）この式で、パージ制御弁３１の駆動周期は１００ｍＳｅｃに設定されている。また、Ｐｖはバッテリ電圧の変動に対する電圧補正値（駆動周期補正用の時間相当量）であり、Ｐｐａは大気圧の変動に対する大気圧補正値である。上記（４）式で算出された制御値Ｄｕｔｙに基づき、パージ制御弁３１の駆動パルス信号のデューティ比が設定される。
【００６１】
［キャニスタ劣化検出１］
次に、本発明の特徴であるキャニスタの劣化検出を示す処理を図９のフローチャートを用いて説明する。本ルーチンでは、キャニスタ２２の吸着性能が低下したことを検出する処理が記してある。キャニスタ２２の吸着能力が低下した場合、燃料タンク１８内から蒸発した蒸発燃料を吸着するための絶対量が小さくなってしまう。そのため、パージ制御を継続的に行った場合、正常なキャニスタでは、吸着されている蒸発燃料量が充分なため長い期間パージ濃度が所定濃度に維持される。ところが、蒸発燃料を吸着する能力が低下したキャニスタでは、吸着されている蒸発燃料が正常なキャニスタに比して少ないために、パージ制御が行われてから短い期間でパージ濃度が低下してしまう。本ルーチンでは、この点に着目してパージ濃度が低下する期間を検出し、その期間が短ければキャニスタの異常と判定している。
【００６２】
まず、ステップＳ７０１にてキャニスタ異常判定処理を行うための実行条件が成立しているか否かが判定される。実行条件としては、本キャニスタ劣化検出１に使用するセンサ、システム機能が正常であるとき、本キャニスタ劣化検出１の実行に影響を与える他のダイアグ実行中が実行中ではないとき、パージ濃度が所定パージ濃度範囲であるときなどである。
【００６３】
本キャニスタの劣化検出１に使用するセンサ、システム機能としては、エンジン水温を検出するための空燃比センサ３１，パージ制御バルブ２６，タンクカットバルブ３０，タンク内圧センサ２７，以下いずれも図示しない冷却水温センサ，吸気温センサ，吸気管圧力センサ，エンジン回転速度センサ，燃料残量センサなどが挙げられる。また、本キャニスタ劣化検出１の実行に影響を与える他のダイアグとしては、リークチェックやパージ制御バルブのダイアグなどが挙げられる。また、パージ濃度が所定範囲外であることを検出するためには、エンジン冷却水温，吸気温，タンク内圧力，パージ濃度学習値ｆｌｐｒｇ，燃料温度，エンジン油温，外気温のうちいずれかを組み合わせて行う。パージ濃度が所定範囲外であることは、従来より知られる方法で検出すれば良い。
【００６４】
このような実行条件を満たさなければ、ステップＳ７０２へ進み、後述する積分値ｃｐｒｇａｄをリセットし、本ルーチンを終了する。ここで、積分値ｃｐｒｇａｄをリセットする理由は、キャニスタ劣化検出１の実行条件を満たさない間は、キャニスタ２２に吸着されている燃料量が変化する虞があり、キャニスタ劣化を誤検出してしまう虞があるためである。
【００６５】
ステップＳ７０１にて、実行条件が成立したと判定されると、ステップＳ７０３へ進み、パージ実行条件を示すフラグＸＰＲＧが１であるか否かが判定される。このフラグＸＰＲＧが０の場合、すなわち、パージ実行条件ではない場合は、そのまま本ルーチンを終了させる。一方、パージ実行条件である場合は、ステップＳ７０４に進み、パージ濃度学習値ｆｌｐｒｇをエンジン制御回路２８内のＲＡＭから読み出す。そして、ステップＳ７０５では、今回読み出されたパージ濃度学習値ｆｌｐｒｇが前回までに更新されたパージ濃度学習値の最大値ｆｌｐｒｇｍａｘよりも大きいか否かが判定される。最大値ｆｌｐｒｇｍａｘよりも大きいと判定されれば、ステップＳ７０６へ進み、今回のパージ濃度学習値ｆｌｐｒｇを最大値ｆｌｐｒｇｍａｘとして更新し、ステップＳ７０７へ進む。一方、ステップＳ７０５にて、今回のパージ濃度学習値ｆｌｐｒｇが最大値ｆｌｐｒｇｍａｘよりも小さいときは、そのままステップＳ７０７へ進む。
【００６６】
ステップＳ７０７では、前回のパージ濃度の積算値ｃｐｒｇａｄ（ｉ−１）に今回のパージ濃度学習値ｆｌｐｒｇ（ｉ）を加算して、今回のパージ濃度積算値ｃｐｒｇａｄ（ｉ）とする。パージ濃度積算値ｃｐｒｇａｄは、キャニスタ２２の劣化検出を行う期間を設定するためのカウンタとしての役割を果たしている。
【００６７】
ここで、カウンタとしてパージ濃度の積算値ｃｐｒｇａｄを用いる理由を説明する。本ルーチンのステップＳ７０３において、パージ実行フラグＸＰＲＧが１か否かを判定しており、パージ制御が実行されない状態では、パージ濃度積算値ｃｐｒｇａｄが積算されることがない。これは、パージ制御が行われない状態では、キャニスタ２２の燃料吸着状態が大きく変化しないことを用いている。
【００６８】
つぎに、ステップＳ７０８にてパージ濃度の積算値ｃｐｒｇａｄが所定積算量を越えたか否かが判定される。ここで、所定積算量は、パージ制御が行われてからパージ濃度が低下しなかった場合に、キャニスタ２２の蒸発燃料吸着能力が正常であると判定できる値に設定されている。ここで、所定積算量よりもカウンタとしてのパージ濃度の積算値ｃｐｒｇａｄが大きければ、ステップＳ７１１へ進み、キャニスタ正常と判定して本ルーチンを終了する。一方、カウンタとしてのパージ濃度積算値ｃｐｒｇａｄが、所定積算値よりも小さいと判定されると、ステップＳ７０９へ進む。
【００６９】
ステップＳ７０９では、ステップＳ７０６で更新されるパージ濃度の最大値ｆｌｐｒｇｍａｘとステップＳ７０４で読み出される今回のパージ濃度学習値ｆｌｐｒｇとを比較し、２つの値の偏差がキャニスタ劣化検出のための判定値よりも大きいか否かを判定する。判定値は、図１４に示すようにパージ濃度積算値ｃｐｒｇａｄの値に応じて判定値を設定しても良い。図１４に示す図によれば、パージ濃度積算値ｃｐｒｇａｄが小さいほど、判定値も小さく設定され、パージ濃度積算値ｃｐｒｇａｄが大きいほど判定値も大きく設定されている。
【００７０】
ステップＳ７０９にて、偏差が判定値以下の場合は、依然としてキャニスタに吸着されている蒸発燃料量を安定して供給している状態なので、吸着能力を判定することができない。このため、そのまま本ルーチンを終了する。一方、パージ濃度の最大値ｆｌｐｒｇａｄと今回のパージ濃度学習値ｆｌｐｒｇとの偏差が判定値を越えていると、すなわち、カウンタとしてのパージ濃度積算値ｃｐｒｇａｄが所定積算量を越えていない状態で、キャニスタ２２に吸着されている蒸発燃料が判定値よりも大きく越えてしまったので、ステップＳ７１０へ進み、キャニスタ２２の異常であることとして本ルーチンを終了する。
【００７１】
つぎに、本実施の形態を示すタイミングチャートを図１３を用いて以下に説明する。図１３（ａ）は、キャニスタ劣化検出の実行条件を示すフラグである。この実行条件を示すフラグが成立であることを示すと、時刻ｔ0にてパージ濃度学習値ｆｌｐｒｇの検出が行われる。パージ濃度学習値ｆｌｐｒｇは、検出が開始されてから徐々に更新され、時刻ｔ1にてキャニスタ２２に吸着されている蒸発燃料量に応じた所定のパージ濃度に設定される。この間、パージ濃度学習値の最大値ｆｌｐｒｇｍａｘは、更新されつづけ、最も大きなパージ濃度学習値ｆｌｐｒｇｍａｘが図中のＡにて設定される。そして、ここから所定期間が経過したときに、パージ濃度学習値ｆｌｐｒｇが最大値ｆｌｐｒｇｍａｘに対して大きく低下したときにキャニスタ２２の異常であると判定する。
【００７２】
図中の一点鎖線は、キャニスタの吸着能力が正常な場合を示しており、実線は、キャニスタの吸着能力が低下している場合を示してある。キャニスタの吸着能力が正常であれば、一点鎖線に示されるように、時刻ｔ2では、キャニスタ２２が吸着した蒸発燃料量が多いためにキャニスタ２２が吸着されている蒸発燃料量が空になることはない。すなわち、依然として蒸発燃料が吸着されているため、パージ制御が行われることによってパージ濃度が低下することがない。ところが、キャニスタ２２の吸着能力が低下してしまった場合は、所定期間が経過する前にキャニスタ２２が吸着した蒸発燃料が空になってしまうので、図中のＢ（時刻ｔ2）までに、パージ濃度が低下してしまう。
【００７３】
このようにして、パージ濃度学習値を検出することで、燃料タンク１８から蒸発する蒸発燃料をキャニスタ２２が吸着する吸着能力の劣化を検出することができる。より詳細には、パージ制御が行われてからの最大のパージ濃度学習値ｆｌｐｒｇｍａｘを検出し、その後のパージ濃度学習値ｆｌｐｒｇを監視しつづけるため、パージ濃度学習値ｆｌｐｒｇの低下が劣化判定レベルに達したときに速やかにキャニスタ２２の吸着性能が低下したことを検出することができる。なお、図１３のタイミングチャートでは、パージ制御が実施されてからの期間で行っているが、図９のフローチャートのようにパージ濃度学習値の積算値ｃｐｒｇａｄを用いても良い。
【００７４】
なお、本実施の形態ではキャニスタの劣化検出を行う所定期間をキャニスタ異常判定の実行条件が成立してからの積算パージ流量で行っているが、キャニスタに最も蒸発ガス燃料が吸着されるのはエンジン停止後である。このため、キャニスタの劣化検出を行うための所定期間をエンジンの始動後からの所定期間としても良いし、また、これに限らずパージ濃度の最大値を検出してからの所定期間でも良い。
【００７５】
本実施の形態において、パージ濃度検出手段は図５のフローチャートに、パージ制御手段は図３と図４と図８とのフローチャートに、第１のキャニスタ劣化検出手段は図９のフローチャートに、パージ濃度最大値記憶手段は図９のステップＳ７０５とステップＳ７０６とに、それぞれ相当し、機能する。
【００７６】
＜第２の実施の形態＞
第１の実施の形態では、パージ濃度学習値ｆｌｐｒｇを監視することで、パージ濃度学習値ｆｌｐｒｇの低下を検出し、キャニスタ２２の吸着能力の低下を検出していた。本実施の形態では、パージ濃度を検出することで、キャニスタ２２の通気性の低下を検出する。通気性の低下を検出するために、本実施の形態では所定流量異なる２つのパージ流量に対して、それぞれのパージ濃度学習値を検出する。キャニスタ２２の通気性が正常な場合には、パージ流量が変化しても、パージ流量に応じて基本燃料噴射量ＴＡＵを補正するために空燃比の大きなズレは生じない。このためパージ濃度学習値が誤学習されることはない。
【００７７】
一方、キャニスタ２２の通気性が低下している状態で最終パージ流量ＰＲＧが高パージ流量に設定された場合、エンジン制御回路２８はパージを見込んで基本燃料噴射量ＴＡＵを大きく減量補正する。ところが、最終パージ流量ＰＲＧが高パージ流量に設定されたとしてもキャニスタ２２の通気性が低下している場合、目標とする最終パージ流量ＰＲＧを吸気通路へ供給することができない。このため燃焼室内に流入する燃料量が不足して、目標空燃比に対して空燃比がリーンになってしまう。空燃比補正係数は目標空燃比に対してリーンなことを補正しようとするため空燃比補正係数に応じて設定される濃度学習値が小さく設定されてしまい、パージ濃度学習値が誤学習されてしまう。本実施の形態では、上述の現象を利用してキャニスタ２２の通気性低下を検出しようとするものである。以下に、図１２を用いて詳細を説明する。
【００７８】
まず、ステップＳ７０１乃至ステップＳ７０３の処理は、第１の実施の形態における図９のフローチャートと同様のため詳細な説明は省略する。まず、ステップＳ７０１にて、本実施の形態のキャニスタ異常判定が実行条件を満たすか否かが判定される。ここで、キャニスタ異常判定の実行条件ではないと判定されるとステップＳ７０２へ進み、後述するカウンタとしての積算パージ流量ｃｐｒｇａｄをリセットして本ルーチンを終了する。一方、キャニスタ異常判定の実行条件が成立した場合は、ステップＳ７０３へすすみ、パージ制御が実行されていることを示すフラグＸＰＲＧが１であるか否かが判定される。ＸＰＲＧが１でないと判定されると、そのまま本ルーチンを終了する。一方、パージ制御が実行されていることを示すフラグＸＰＲＧが１であると判定されると、ステップＳ８０４以降の処理へと進む。
【００７９】
ステップＳ８０４とステップＳ８０５の処理では、最終パージ流量ＰＲＧとパージ濃度学習値ｆｌｐｒｇをエンジン制御回路２８内のＲＡＭからそれぞれ読み出す。そして、ステップＳ８０６ではカウンタとしての積算パージ流量の前回値ｃｐｒｇａｄ（ｉ−１）に今回の最終パージ流量ＰＲＧを加えて、今回の積算パージ流量ｃｐｒｇａｄを算出する。（この積算パージ流量ｃｐｒｇａｄは、第１の実施の形態と同様なので詳細説明は省略する。）
ステップＳ８０７では、読み出された最終パージ流量ＰＲＧが所定流量１範囲であるか否かが判定される。ここで、所定流量１範囲内であると判定されると、ステップＳ８０８へ進み、この最終パージ流量ＰＲＧに対応したパージ濃度学習値ｆｌｐｒｇがこれまで検出されたパージ濃度学習値の最小値ｆｌｐｒｇｍｉｎ１（以下、最大値ｆｌｐｒｇｍｉｎ１と称する。）よりも大きいか否かを判定する。ここで、パージ濃度学習値ｆｌｐｒｇが最小値ｆｌｐｒｇｍｉｎ１より小さければ、ステップＳ８０９へ進み、最小値ｆｌｐｒｇｍｉｎ１に今回のパージ濃度学習値ｆｌｐｒｇを設定する。すなわち、ステップＳ８０７乃至ステップＳ８０９の処理では、最終パージ流量ＰＲＧが所定のパージ流量範囲１内に設定されてからのパージ濃度学習値の最小値を更新する処理を行っている。
【００８０】
そして、ステップＳ８１０では、所定期間１が経過したか否かが判定される。ここで、所定期間１が経過したことを判定する理由は、最終パージ流量ＰＲＧが所定のパージ流量範囲１内に設定されてからのパージ濃度学習値が安定するまでの期間に設定される。ここで、最終パージ流量ＰＲＧが所定のパージ流量範囲１内に設定されてから所定期間１が経過していなければ、ステップＳ８１２を経て本ルーチンを終了する。一方、所定期間１を経過すれば、ステップＳ８１１にてキャニスタ２２の通気性を判定するためのフラグｆｒｅｆ１に１をセットし、ステップＳ８１２を経て本ルーチンを終了する。
【００８１】
つぎに、ステップＳ８０７にて設定される最終パージ流量ＰＲＧが所定流量１範囲外であったときの処理を説明する。最終パージ流量ＰＲＧが所定流量１範囲内ではないと判定されると、ステップＳ８１３へ進み、最終パージ流量ＰＲＧが所定流量２範囲内であるか否かが判定される。ここで、所定パージ流量２でないと判定されると、ステップＳ８１２を経て本ルーチンを終了する。一方、最終パージ流量ＰＲＧが所定流量２範囲内であると判定されると、ステップＳ８１４へ進む。ステップＳ８１４では、今回設定されている最終パージ流量ＰＲＧに対応するパージ濃度学習値ｆｌｐｒｇがパージ濃度学習値の最大値ｆｌｐｒｇｍｉｎ２（以下、最小値ｆｌｐｒｇｍｉｎ２と称する。）よりも大きいか否かが判定される。最小値ｆｌｐｒｇｍｉｎ２は、所定パージ流量２範囲内に設定された最終パージ流量ＰＲＧに対するパージ濃度学習値ｆｌｐｒｇの最小値である。今回のパージ濃度学習値ｆｌｐｒｇが最小値ｆｌｐｒｇｍｉｎ２より小さいと判定されると、ステップＳ８１５へ進み、最小値ｆｌｐｒｇｍｉｎ２を更新するために、今回のパージ濃度学習値ｆｌｐｒｇを最小値ｆｌｐｒｇｍｉｎ２に設定し、ステップＳ８１７へ進む。一方、今回のパージ濃度学習値ｆｌｐｒｇが最小値ｆｌｐｒｇｍｉｎ２よりも小さければ、最小値ｆｌｐｒｇｍｉｎ２を更新する必要がないので、そのままステップＳ８１７へ進む。
【００８２】
ステップＳ８１７では、最終パージ流量ＰＲＧが所定のパージ流量２範囲内に設定されてからの経過期間を判定する。ここで、設定されてからの期間が所定期間２を越えていなければ、キャニスタ２２の通気性低下を判定するためのフラグｆｒｅｆ２に１をセットし、ステップＳ８１２を経て本ルーチンを終了する。
【００８３】
つぎに、ステップＳ８１２にて行われるキャニスタ２２の通気性低下を検出するための異常判定処理を図１０の異常診断のサブルーチンを用いて説明する。本ルーチンでは、図１２にて設定された２つのパージ流量に対するパージ濃度学習値に基づいてキャニスタ２２の通気性低下を検出している。
【００８４】
まず、ステップＳ９０１とステップＳ９０２とでは、前述の２つのパージ濃度学習値が設定されたことを示すフラグｆｒｅｆ１・ｆｒｅｆ２が１であるかを判定する。この２つのフラグが２つとも１に設定されていれば、ステップＳ９０３以降の処理へ進み、キャニスタ２２の通気性低下を検出する処理に以降する。これ以外の条件では、キャニスタ２２の異常判定は行わずに本ルーチンを終了する。ステップＳ９０３では、図１２のフローチャートで設定された最小値ｆｌｐｒｇｍｉｎ１と最小値ｆｌｐｒｇｍｉｎ２との偏差を算出し、この偏差がキャニスタ２２の通気性の低下を検出するための判定値を越えたか否かを判定する。ここで、偏差が判定値を越えていなければ、キャニスタ２２の通気性は正常であるとして、本ルーチンを終了する。一方、ステップＳ９０３にて算出される偏差が判定値を越える場合には、ステップＳ９０４にてキャニスタ２２の通気性低下として、ステップＳ９０５へ進み、フェイルセーフ用の制御を実行するためのフラグｆａｉｌをセットして本ルーチンを終了する。
【００８５】
なお、フラグｆａｉｌが設定されることにより、キャニスタ２２の通気性が低下したと判定された場合のフェイルセーフモードが実施されても良い。たとえば、キャニスタ２２の通気性が低下しているため精度良いパージ制御を実施することができない。このため、最終パージ流量ＰＲＧにガード処理を行うことでパージ制御による影響を小さくするようにしても良いし、目標パージ流量への最終パージ流量ＰＲＧの追従させる方法を空燃比変動が生じないように徐々に追従させるようにしても良い。
【００８６】
つぎに、本実施の形態を図１５のタイミングチャートを用いて説明する。図１５（ａ）は本実施の形態のキャニスタ異常判定の実行条件である。時刻ｔ0にて実行条件が成立したと判定されると、図１５（ｂ）に示されるように最終パージ流量ＰＲＧの検出を行う。図１５（ｂ）では、パージ制御が開始されると共に、異常判定の実行条件が成立している状態が示してある。時刻ｔ1にて最終パージ流量ＰＲＧが所定パージ流量１範囲内に設定されると、図１５（ｃ）に示すようにパージ濃度学習値の最小値ｆｌｐｒｇｍｉｎ１の更新処理を行う。そして、パージ濃度が安定するために設定される所定期間１が経過して時刻ｔ2となると、異常診断を行うためのフラグｆｒｅｆ１をセットする。そして、図１５（ｂ）に示すように、時刻ｔ3にて最終パージ流量ＰＲＧが変更されてから、時刻ｔ3にて所定のパージ流量２範囲内に設定されると、図１５（ｃ）に示すようにパージ濃度学習値の検出が行われる。パージ濃度学習値を検出するに当たっては、所定のパージ流量２範囲内に最終パージ流量が設定されたとしてもパージ濃度学習値が誤学習されるまに所定期間２を要するため、異常診断を実行するためのフラグｆｒｅｆ２をセットするのは、時刻ｔ5に達してからである。
【００８７】
このようにして、小さなパージ流量に対するパージ濃度学習値の最小値と大きなパージ流量に対するパージ濃度学習値に対する最小値を検出することでパージ濃度が変動した場合、キャニスタ２２の通気性が低下していると判定している。
【００８８】
最終パージ流量ＰＲＧが小さい場合、エンジン制御回路２８は基本燃料噴射量ＴＡＵを小さく減量補正するのみであるためパージ濃度学習値ｆｌｐｒｇの誤学習は小さい値である。これに対して最終パージ流量ＰＲＧが大きい場合、基本燃料噴射量ＴＡＵは大きく減量補正されるためにパージ濃度学習値ｆｌｐｒｇの誤学習は大きくなってしまう。このため２つの異なるパージ流量に対するパージ濃度学習値の最小値を検出し、２つのパージ濃度学習値の偏差がキャニスタ２２の劣化を検出するたえめの判定値を越えた場合、キャニスタ２２の通気性低下を検出することができる。
【００８９】
本実施の形態において、判定値設定手段は図１１のマップに、第２の劣化検出手段は、図１２のフローチャートに、機能する。また、キャニスタの劣化を判定するための劣化判定値は、２つのパージ流量に対する期間に応じて設定されてもよく、期間が長いほど判定値は大きくなる。また、このとき期間が長くなるときにはキャニスタの劣化検出を禁止してもよいし、前回検出したパージ流量に対するパージ濃度をクリアしても良い。さらに、この期間に達したときにパージバルブを強制的に最初のパージ流量とは所定パージ流量異なるパージ流量に設定して、濃度学習値を検出するようにしても良い。
【００９０】
また、最初のパージ流量に対するパージ濃度学習値が検出されてからの所定期間は、積算値算出手段により算出されるパージ濃度の積算値により決定されても良い。これは、パージが吸気通路へ供給されている間に比して、パージが行われていないときのキャニスタの蒸発燃料吸着状態が変化しないため、劣化検出に影響がでる所定期間を精度良く設定することができる。このとき、キャニスタの劣化検出を禁止する場合には、誤検出を防止することができ、また、強制的にパージ流量を設定し、パージ濃度の学習値を検出してキャニスタの劣化を判定する場合には、キャニスタの吸着状態が大きく変化していない状態で劣化の判定を実施できるので、キャニスタ劣化検出の精度を損なうことが防止される。
【図面の簡単な説明】
【図１】本発明の概略構成図。
【図２】第１の実施の形態における空燃比フィードバック制御を示すフローチャート。
【図３】第１の実施の形態におけるパージ流量制御を示すフローチャート。
【図４】第１の実施の形態におけるパージ流量除変制御を示すフローチャート。
【図５】第１の実施の形態におけるパージ濃度学習を示すフローチャート。
【図６】第１の実施の形態におけるパージ濃度学習更新を示すフローチャート。
【図７】第１の実施の形態における吸入空気量とエンジン回転速度とにより定まる全開パージ流量マップ。
【図８】第１の実施の形態におけるパージ制御弁の制御を示すフローチャート。
【図９】第１の実施の形態におけるキャニスタの劣化検出を示すフローチャート。
【図１０】第１の実施の形態における異常診断を行うためのフローチャート。
【図１１】第１の実施の形態におけるパージ濃度偏差に基づいてキャニスタの劣化を検出するための劣化判定値を設定するための図。
【図１２】第２の実施の形態におけるキャニスタ劣化検出を示すフローチャート。
【図１３】第１の実施の形態を実施したときのタイミングチャート。
【図１４】第１の実施の形態において、パージ濃度積算値からキャニスタの劣化を検出するための劣化判定値を設定するための図。
【図１５】第２の実施の形態を実施したときのタイミングチャート。
【符号の説明】
１１…エンジン、
１２…吸気通路、
１４…スロットルバルブ、
１５…サージタンク、
２０…エバポパージシステム、
２１…エバポ通路、
２２…キャニスタ、
２３…大気連通路、
２４…大気開閉弁、
２５パージ通路、
２６…パージ制御バルブ、
２７…圧力センサ、
２８…エンジン制御回路、
２９…警告ランプ、
３０…タンクカットバルブ
【図１】
0003760782.tif 000002
【図２】
0003760782.tif 000003
【図３】
0003760782.tif 000004
【図４】
0003760782.tif 000005
【図５】
0003760782.tif 000006
【図６】
0003760782.tif 000007
【図７】
0003760782.tif 000008
【図８】
0003760782.tif 000009
【図９】
0003760782.tif 000010
【図１０】
0003760782.tif 000011
【図１１】
0003760782.tif 000012
【図１２】
0003760782.tif 000013
【図１３】
0003760782.tif 000014
【図１４】
0003760782.tif 000015
【図１５】
0003760782.tif 000016