内燃機関の制御装置
【課題】 排気還流装置の故障を、比較的簡便な手法で精度よく判定することができる内燃機関の制御装置を提供する。
【解決手段】 内燃機関の排気系に設けられた空燃比センサ14の出力に応じて、空燃比を目標空燃比と一致させるように空燃比補正係数KAFが算出される。排気還流制御弁22を一定周期で開閉させ、そのとき算出される空燃比補正係数KAFに対してバンドパスフィルタ処理が施され、フィルタ処理後補正係数KAFFIL80Aが算出される。フィルタ処理後補正係数KAFFIL80Aの絶対値を積算することにより判定パラメータRT80Aが算出され、その判定パラメータRT80Aが判定閾値LT80Aを超えると、排気還流装置に漏れがあると判定される。
【解決手段】 内燃機関の排気系に設けられた空燃比センサ14の出力に応じて、空燃比を目標空燃比と一致させるように空燃比補正係数KAFが算出される。排気還流制御弁22を一定周期で開閉させ、そのとき算出される空燃比補正係数KAFに対してバンドパスフィルタ処理が施され、フィルタ処理後補正係数KAFFIL80Aが算出される。フィルタ処理後補正係数KAFFIL80Aの絶対値を積算することにより判定パラメータRT80Aが算出され、その判定パラメータRT80Aが判定閾値LT80Aを超えると、排気還流装置に漏れがあると判定される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、排気を吸気系に還流させる排気還流装置を備える内燃機関の制御装置に関し、特に排気還流装置の故障を判定する機能を有するものに関する。
【背景技術】
【0002】
特許文献1には、排気還流装置の故障を、機関の排気系に設けられた空燃比センサの出力に基づいて判定する制御装置が示されている。この装置では、排気還流を実行しているときの空燃比センサ出力の積分値IONと、排気還流を実行していないときの空燃比センサ出力の積分値IOFFとが算出され、これらの積分値の差(IOFF−ION)が、判定値ΔI以下であるときは、排気還流装置が故障していると判定される。
【0003】
【特許文献1】特開平4−101055号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記従来の装置では、空燃比センサ出力を単純に積分した積分値が判定に用いられているため、判定精度の点で改善の余地が残されていた。
【0005】
本発明はこの点に着目してなされたものであり、排気還流装置の故障を、比較的簡便な手法で精度よく判定することができる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため請求項1に記載の発明は、内燃機関の排気を吸気系に還流させる排気還流通路と、該排気還流通路に設けられ、還流する排気の流量を制御する排気還流制御弁とを有する排気還流装置を備えた内燃機関の制御装置において、前記機関の排気通路に設けられた空燃比センサと、該空燃比センサの出力に基づいて前記機関に供給される混合気の空燃比をフィードバック制御する空燃比制御手段と、前記排気還流制御弁(22)の開度(LACT)を所定周期(TEGRC80A×2)で変化させたときに前記空燃比制御手段により算出される空燃比制御量(KAF)の変動成分(KAFFIL80A)に基づいて、前記排気還流装置の故障を判定する故障判定手段とを備えることを特徴とする。
【0007】
前記故障判定手段は、前記変動成分(KAFFIL80A)の積算値(RT80AHLD,RT80A)が判定閾値(LT80A)を越えたとき、前記排気還流装置に漏れがあると判定することが望ましい。また前記故障判定手段は、前記空燃比制御量(KAF)にバンドパスフィルタ処理を施すフィルタ手段を有し、フィルタ処理後の変動成分(KAFFIL80A)に基づいて前記判定を行うことが望ましい。
【0008】
前記故障判定手段は、前記機関の運転状態に応じて前記故障判定の実行条件を判定する実行条件判定手段を備え、前記実行条件が不成立となったときに前記積算値(RT80AHLD)を保持しておき、前記実行条件が成立したときに前記保持した値(RT80AHLD)を初期値として積算演算を開始することが望ましい。
【0009】
前記排気還流制御弁(22)の開度(LACT)が増加するほど、前記機関に供給する燃料量を減少方向に補正するEGR補正手段をさらに備えることが望ましい。
【発明の効果】
【0010】
請求項1に記載の発明によれば、排気還流制御弁の開度を所定周期で変化させたときに空燃比制御手段により算出される空燃比制御量の変動成分に基づいて、排気還流装置の故障が判定される。例えば排気還流通路に漏れがある場合、排気還流制御弁の開度を所定周期で変化させると、その開度変化の周期と同一周期で空燃比制御量が変動するので、この変動成分が検出されたときは漏れが有ると判定することができる。変動成分の周期(周波数)は既知であるので、通過帯域を適切に設定したフィルタを用いることにより、正確な検出が可能となり、比較的簡便な手法で判定精度を高めることができる。
【発明を実施するための最良の形態】
【0011】
以下本発明の実施の形態を図面を参照して説明する。
図1は本発明の第1の実施形態にかかる内燃機関及びその制御装置の構成を示す図であり、例えば4気筒のエンジン1の吸気管2の途中にはスロットル弁3が配されている。スロットル弁3にはスロットル弁開度(TH)センサ4が連結されており、当該スロットル弁3の開度に応じた電気信号を出力して電子制御ユニット(以下「ECU」という)5に供給する。
【0012】
燃料噴射弁6はエンジン1とスロットル弁3との間かつ吸気管2の図示しない吸気弁の少し上流側に各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にECU5に電気的に接続されて当該ECU5からの信号により燃料噴射弁6の開弁時間が制御される。
【0013】
一方、スロットル弁3の直ぐ下流には吸気管内の圧力を検出する吸気管内絶対圧(PBA)センサ7が設けられており、この絶対圧センサ7により電気信号に変換された絶対圧信号は前記ECU5に供給される。また、その下流には吸気温(TA)センサ8が取付けられており、吸気温TAを検出して対応する電気信号を出力してECU5に供給する。
【0014】
エンジン1の本体に装着されたエンジン水温(TW)センサ9はサーミスタ等から成り、エンジン水温(冷却水温)TWを検出して対応する温度信号を出力してECU5に供給する。
エンジン1の図示しないカム軸周囲又はクランク軸周囲には、エンジン回転数(NE)センサ10及び気筒判別(CYL)センサ11が取り付けられている。エンジン回転数センサ10は、エンジン1の各気筒の吸入行程開始時の上死点(TDC)より所定クランク角度前のクランク角度位置で(4気筒エンジンではクランク角180゜毎に)TDCパルスを出力し、気筒判別センサ11は、特定の気筒の所定クランク角度位置で気筒判別パルスを出力するものであり、これらの各パルス信号はECU5に供給される。
【0015】
排気管12には、排気中のNOx、HC、COの浄化を行う排気浄化触媒16が設けられ、排気浄化触媒16の上流位置には、比例型空燃比センサ14(以下「LAFセンサ14」という)が装着されており、このLAFセンサ14は排気中の酸素濃度(空燃比)にほぼ比例した電気信号を出力し、ECU5に供給する。
【0016】
吸気管2のスロットル弁3の下流側と、排気管12の排気浄化触媒16の下流側との間には、排気還流通路21が設けられており、排気還流通路21には排気還流量を制御する排気還流制御弁(以下「EGR弁」という)22が設けられている。EGR弁22は、ソレノイドを有する電磁弁であり、その弁開度はECU5により制御される。EGR弁22には、その弁開度(弁リフト量)LACTを検出するリフトセンサ23が設けられており、その検出信号はECU5に供給される。排気還流通路21及びEGR弁22より、排気還流装置が構成される。
【0017】
図示しない燃料タンクに接続され、該燃料タンク内で発生する蒸発燃料を貯蔵するキャニスタ32が設けられている。キャニスタ32は、蒸発燃料を吸着する吸着材を内蔵している。キャニスタ32は、パージ通路31を介して、吸気管2の、スロットル弁3の下流側に接続されている。パージ通路31には、パージ制御弁33が設けられている。パージ制御弁33は、その制御信号のオン−オフデューティ比を変更することにより流量を連続的に制御することができるように構成された電磁弁であり、パージ制御弁33の作動はECU5により制御される。なお、パージ制御弁33はその弁開度を連続的に変更可能な電磁弁を使用してもよく、上記オン−オフデューティ比は、このような弁開度連続可変型の電磁弁における弁開度に相当する。パージ通路31、キャニスタ32及びパージ制御弁33により、蒸発燃料処理装置が構成される。
【0018】
エンジン1には、吸気弁の閉弁時期を通常閉弁時期と、遅角閉弁時期とに切り換えるバルブタイミング切換機構30が設けられている。バルブタイミング切換機構30の作動は、エンジン運転状態に応じてECU5により制御される。
ECU5には、大気圧PAを検出する大気圧センサ17、エンジン1により駆動される車両の車速VPを検出する車速センサ18、並びに上述した電磁弁及びECU5に電力を供給するバッテリの出力電圧VBを検出するバッテリ電圧センサ19が接続されており、これらのセンサの検出信号がECU5に供給される。
【0019】
ECU5は、上述したセンサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット(以下「CPU」という)、CPUで実行される各種演算プログラム及び演算結果等を記憶する記憶回路、前記燃料噴射弁6、EGR弁22、パージ制御弁33及びバルブタイミング切換機構30に制御信号を供給する出力回路を備えている。
【0020】
ECU5は、上述したセンサの出力信号に基づいてエンジン運転状態を判別し、エンジン回転数NE及び吸気管内絶対圧PBAに応じて設定されるEGR弁22の弁開度指令値LCMDと、リフトセンサ23によって検出される実弁開度LACTとの偏差を零にするようにEGR弁22のソレノイドに制御信号を供給する。
【0021】
ECU5のCPUは、上述したセンサの出力信号に基づいてエンジン運転状態を判別するとともに、エンジン運転状態に応じて下記式(1)により、前記TDC信号パルスに同期して開弁作動する燃料噴射弁6の燃料噴射時間TOUTを演算する。
TOUT=TIM×KCMD×KAF×KEGR×K1+K2 (1)
【0022】
ここに、TIMは燃料噴射弁6の基本燃料噴射時間であり、エンジン回転数NE及び吸気管内絶対圧PBAに応じて設定されたTIマップを検索して決定される。TIマップは、マップ上のエンジン回転数NE及び吸気管内絶対圧PBAに対応する運転状態において、エンジンに供給する混合気の空燃比がほぼ理論空燃比になるように設定されている。
【0023】
KCMDは目標空燃比係数であり、エンジン回転数NE、吸気管内絶対圧PBA、エンジン水温TW等のエンジン運転パラメータに応じて設定される。目標空燃比係数KCMDは、空燃比A/Fの逆数、すなわち燃空比F/Aに比例し、理論空燃比のとき値1.0をとるので、目標当量比ともいう。
【0024】
KAFは、空燃比補正係数であり、LAFセンサ14の検出空燃比から算出される検出当量比KACTが目標当量比KCMDに一致するように算出される。なお、LAFセンサ出力に応じたフィードバック制御を実行しないときは、「1.0」に設定される。
【0025】
KEGRは、排気還流を実行しないとき(EGR弁22を閉弁しているとき)は、「1.0」(無補正値)に設定され、排気還流を実行するとき(EGR弁22を開弁するとき)は、EGR弁22の弁開度LACTの増加(吸入空気量の減少)に対応して燃料噴射量を減少させるべく、「1.0」より小さい値に設定されるEGR補正係数である。
【0026】
K1及びK2は、それぞれエンジン運転状態に応じて演算される他の補正係数および補正変数であり、エンジン運転状態に応じた燃費特性、エンジン加速特性等の諸特性の最適化が図れるような所定値に決定される。
ECU5のCPUは上述のようにして求めた燃料噴射時間TOUTに基づいて燃料噴射弁6を開弁させる駆動信号を燃料噴射弁6に供給する。
【0027】
本実施形態では、以下に説明する手法により、排気還流装置の故障、具体的には排気還流通路21の漏れ(破れ)の有無が判定される。図2は、この判定手法を説明するための図であり、同図(a)は排気還流装置が正常である場合に対応し、同図(b)は排気還流装置に漏れが有る場合に対応する。本実施形態では、EGR弁22のリフト量LACTを図に示すように変化させ、そのときの空燃比補正係数KAFの変動成分に基づいて、漏れの有無の判定が行われる。
【0028】
排気還流装置が正常である場合には、リフト量LACTを変化させても、空燃比補正係数KAFは、常に「1.0」近傍の値をとる。リフト量LACTを増加させると、排気還流量が増加し、エンジン1の吸入空気量は減少するが、それに伴ってEGR補正係数KEGRが減少するからである。
【0029】
これに対し排気還流装置に漏れがある場合には、リフト量LACTを変化させると、図2(b)に示すように、リフト量LACTの変化に伴って、空燃比補正係数KAFも変化する。これは以下の理由による。排気還流装置に漏れがあるときは、EGR弁22のリフト量LACTを増加させると、排気と新気が混合されたガスが吸気管2に流入する。その結果、EGR補正係数KEGRによる補正が過補正となって、空燃比がリーン側にずれ、それを補正すべく空燃比補正係数KAFが増加する。したがって、リフト量LACTの変化とほぼ同一の周期で、空燃比補正係数KAFが変化することになる。
【0030】
よって、本実施形態では、リフト量LACTを変化させたときに算出される空燃比補正係数KAFに、バンドパスフィルタ処理を施すことにより、フィルタ処理後補正係数KAFFIL80Aが算出され、さらにフィルタ処理後補正係数KAFFIL80Aの絶対値を積算することにより、積算値RT80AXが算出される。そして、積算値RT80AXが判定閾値LT80Aを超えたとき、排気還流装置に漏れがあると判定される。
【0031】
図3は、この漏れ判定を含む故障診断処理を実行するモジュールを機能ブロック図として示したものであり、各ブロックの機能はECU5のCPUによる演算処理により実現される。
【0032】
図3に示す故障診断モジュールは、KAF算出部51、バンドパスフィルタ部52、絶対値積算部53、及び判定部54を備えている。KAF算出部51は、検出当量比KACTが目標当量比KCMDと一致するように、空燃比補正係数KAFを算出する。バンドパスフィルタ部52は、空燃比補正係数KAFのバンドパスフィルタ処理を行い、フィルタ処理後補正係数KAFFIL80Aを出力する。絶対値積算部53は、フィルタ処理後補正係数KAFFIL80Aの絶対値を積算し、判定パラメータRT80Aを算出する。判定部54は、判定パラメータRT80Aと、判定閾値LT80Aと比較し、判定パラメータRT80Aが判定閾値LT80Aを超えたとき、排気還流装置に漏れがあると判定する。
【0033】
図4は、上記故障診断処理のフローチャートであり、この処理は、ECU5のCPUで所定時間(例えば10ミリ秒)毎に実行される。
ステップS1では、図5及び図6に示す実行条件判定処理を実行し、ステップS2では、図8に示すEGR弁開閉制御処理を実行し、ステップS3では、図9に示すKAFフィルタ演算処理を実行し、ステップS4では、図10に示す判定パラメータ算出処理を実行し、ステップS5では、図11に示す漏れ判定処理を実行する。
【0034】
図5及び図6は、図4のステップS1で実行される実行条件判定処理のフローチャートである。
ステップS11では、実行許可フラグFGO80Aが「1」であるか否かを判別する。実行許可フラグFGO80Aは、図示しない処理で排気還流装置の故障診断が許可されたとき「1」に設定される。実行許可フラグFGO80Aが「1」であるときは、判定終了フラグFDONE80Aが「1」であるか否を判別する(ステップS12)。最初はこの答は否定(NO)であるので、ステップS13に進み、吸気温TAが所定吸気温TA80AL(例えば0℃)より高いか否かを判別する。
【0035】
ステップS11またはS13の答が否定(NO)であるとき、またはステップS12の答が肯定(YES)となったときは、ステップS16に進み、ダウンカウントタイマTC80Aを所定時間TMC80A(例えば2秒)にセットしてスタートさせる。その後ステップS32(図6)に進み、実行条件フラグFMCND80Aを「0」に設定する。
【0036】
ステップS13でTA>TA80ALであるときは、図7の前条件判定処理を実行する(ステップS14)。前条件判定処理で前条件が成立すると、前条件フラグFPRCND80Aが「1」に設定される。ステップS15では、前条件フラグFPRCND80Aが「1」であるか否かを判別し、この答が否定(NO)であるときは、前記ステップS16に進む。前条件が成立すると、ステップS15からステップS17に進み、ステップS16でスタートしたタイマTC80Aの値が「0」であるか否かを判別する。最初はこの答は否定(NO)であるので、ステップS32へ進み、実行条件フラグFMCND80Aを「0」に設定する。
【0037】
タイマTC80Aの値が「0」となると、ステップS20に進み、アップカウントタイマTCATEGRの値が所定時間TMCTEGRX(例えば10秒)以上であるか否かを判別する。アップカウントタイマTCATEGRは、排気還流の開始時点からの経過時間を計測するタイマである。ステップS20の答が肯定(YES)であるときは、バッテリ電圧VBが所定低電圧VBL(例えば10.5V)より低いか否かを判別する(ステップS22)。
【0038】
ステップS22の答が否定(NO)であるときは、第1正常フラグFOK12BFが「1」であるか否かを判別する(ステップS23)。この答が否定(NO)であるときはさらに第2正常フラグFOK12BSが「1」であるか否かを判別する(ステップS24)。第1及び第2正常フラグFOK12BF及びFOK12BSは、排気還流装置についての他の故障診断処理で正常と判定されたとき「1」に設定されるフラグである。ステップS23またはS24の答が肯定(YES)であるときは、ステップS25に進む。
【0039】
ステップS25では、減圧フラグFTKDECが「1」であるか否かを判別する。減圧フラグFTKDECは、蒸発燃料処理装置の故障診断処理において、蒸発燃料処理装置内の減圧を行うとき、「1」に設定される。ステップS25の答が否定(NO)であるときは、パージカットフラグFFMPGが「1」であるか否かを判別する(ステップS26)。パージカットフラグFFMPGは、キャニスタ32から吸気管2への蒸発燃料のパージを実行しないとき「1」に設定される。
【0040】
ステップS26の答が否定(NO)であるときは、エンジン水温TWが所定低水温TW80AL(例えば70℃)より高いか否かを判別する(図6,ステップS27)。この答が肯定(YES)であるときは、リミットフラグFKAFLMTが「1」であるか否かを判別する(ステップS28)。リミットフラグFKAFLMTは、空燃比補正係数KAFが上限値または下限値に固定された状態となったとき「1」に設定される。ステップS28の答が否定(NO)であるときは、還元モードフラグFCTRDMODが「1」であるか否かを判別する(ステップS29)。還元モードフラグFCTRDMODは、排気浄化触媒16に吸着されたNOxを還元するために空燃比のリッチ化を行うとき「1」に設定される。
【0041】
ステップS29の答が否定(NO)であるときは、第1応答劣化判定フラグFMCND61Aが「1」であるか否かを判別する(ステップS30)。第1応答劣化判定フラグFMCND61Aは、LAFセンサ14の応答劣化判定処理が実行されるとき「1」に設定される。ステップS30の答が否定(NO)であるときは、第2応答劣化判定フラグF63DSTが「1」であるか否かを判別する(ステップS31)。第2応答劣化判定フラグF63DSTは、排気浄化触媒16の下流側に配置される酸素濃度センサ(図示せず)の応答劣化判定処理が実行されるとき「1」に設定される。
【0042】
上述したステップS17,S20,S24,若しくはS27の答が否定(NO)であるとき、またはステップS18,S19,S22,S25,S26,若しくはS28〜S31の答が肯定(YES)であるときは、実行条件不成立と判定し、実行条件フラグFMCND80Aを「0」に設定する(ステップS32)。次いで、パージカット指令フラグFPGC80Aを「0」に設定し(ステップS35)、ダウンカウントタイマTKAFFILSTを所定時間TMKAFFILST(例えば4秒)にセットしてスタートさせる(ステップS36)。続くステップS41では、ダウンカウントタイマTDTH80Aを所定時間TMDTH80A(例えば2秒)にセットしてスタートさせ、積算演算フラグFRTCAL80Aを「0」に設定する(ステップS43)。その後本処理を終了する。積算演算フラグFRTCAL80Aは、図10のステップS116で参照される。積算演算フラグFRTCAL80Aが「0」であるときは、フィルタ処理後補正係数KAFFIL80Aの絶対値の積算演算が中断される。
【0043】
一方、ステップS31の答が否定(NO)であるときは、実行条件成立と判定し、実行条件フラグFMCND80Aを「1」に設定する(ステップS33)。ステップS34では、ダウンカウントタイマTVTCNDOFの値が所定時間TMKAFFILST以下か否かを判別する。ダウンカウントタイマTVTCNDOFは、バルブタイミング切換機構30により、吸気弁の閉弁時期を切り換えた時点で所定時間TMVTCNDOF(例えば5秒)にセットされスタートされる。ステップS34の答が否定(NO)であるときは、前記ステップS35に進み、TVTCNDOF≦TMKAFFILSTであるときは、パージカット指令フラグFPGC80Aを「1」に設定する(ステップS37)。その結果、パージ制御弁33が閉弁され、吸気管2への蒸発燃料の供給は停止される。これにより、吸気管2への蒸発燃料の供給に起因する誤判定を防止することができる。
【0044】
ステップS38では、ステップS36でスタートしたタイマTKAFFILSTの値が「0」であるか否かを判別する。この答が否定(NO)である間は前記ステップS41に進み、TKAFFILST=0となると、ステップS39に進み、VT変更後許可フラグFVTOBDCNDが「1」であるか否かを判別する。VT変更後許可フラグFVTOBDCNDは、吸気弁の閉弁時期が通常閉弁時期に変更された後、積算演算(判定パラメータの算出)の実行を許可するとき「1」に設定される。すなわち、通常閉弁時期に移行直後は「0」であり、移行時点から所定時間(例えば5秒)経過すると「1」に設定される。
【0045】
ステップS39の答が肯定(YES)であるときは、スロットル弁開度THの変化量DTH(=TH(n)−TH(n-1)、nは制御周期で離散化した制御時刻)の絶対値が、所定変化量DTH80AH(例えば0.5deg/TDC,「TDC」は、TDCパルスの発生時間間隔である)より大きいか否かを判別する(ステップS40)。ステップS39の答が否定(NO)またはステップS40の答が肯定(YES)であるときは、前記ステップS41に進む。
【0046】
ステップS40で|DTH|≦DTH80ATHであるときは、ステップS41でスタートされるタイマTDTH80Aの値が「0」であるか否かを判別する(ステップS42)。TDTH80A>0である間は、前記ステップS43に進み、TDTH80A=0となると、積算演算フラグFRTCAL80Aを「1」に設定する(ステップS44)。
【0047】
実行条件が成立していても(FMCND80A=1)、スロットル弁開度THの変動が大きいときは、ステップS40〜S42により、フィルタ処理後補正係数KAFFIL80Aの絶対値の積算演算が中断される。これにより、スロットル弁開度THの変動の影響による誤判定を防止することができる。
【0048】
図7は、図5のステップS14で実行される前条件判定処理のフローチャートである。
ステップS51では、車速VPが所定低車速VP80AL(例えば41km/h)より高いか否かを判別し、その答が肯定(YES)であるときはエンジン回転数NEが下限回転数NE80AL(例えば1500rpm)より高く、上限回転数NE80AH(例えば4000rpm)より低いか否かを判別する。ステップS51またはS52の答が否定(NO)であるときは、前条件不成立と判定し、前条件フラグFPRCND80Aを「0」に設定する(ステップS62)。
【0049】
ステップS52の答が肯定(YES)であるときは、遅角時期フラグFVTSONが「1」であるか否かを判別する(ステップS53)。この答が否定(NO)であって通常閉弁時期が選択されているときは、VT変更後許可フラグFVTOBDCNDが「1」であるか否かを判別する(ステップS54)。この答が否定(NO)である間は直ちに本処理を終了し、肯定(YES)となるとステップS55に進む。
【0050】
ステップS55では、EGRフラグFEGRが「1」であるか否かを判別する。FEGR=0であって、排気還流を実行できないエンジン運転状態であるときは、前記ステップS62に進む。EGRフラグFEGRが「1」であって、排気還流を実行可能なエンジン運転状態であるときは、エンジン回転数NEに応じてPB80AHテーブル(図示せず)を検索し、第1吸気圧閾値PB80AHを算出する(ステップS56)。次いで吸気圧上限値PB80AHXを、第1吸気圧閾値PB80AHに設定し(ステップS57)、吸気管内絶対圧PBAが吸気圧上限値PB80AHXより低いか否かを判別する(ステップS58)。この答が否定(NO)であるときは、前記ステップS62に進む。
【0051】
ステップS58で、PBA<PB80AHXであるときは、エンジン回転数NEに応じてPB80ALテーブル(図示せず)を検索し、第2吸気圧閾値PB80ALを算出する(ステップS59)。次いで吸気圧下限値PB80ALXを、第2吸気圧閾値PB80ALに設定し(ステップS60)、吸気管内絶対圧PBAが吸気圧下限値PB80ALXより高いか否かを判別する(ステップS61)。この答が否定(NO)であるときは、前記ステップS62に進む。ステップS61で、PBA>PB80ALXであるときは、前条件成立と判定し、前条件フラグFPRCND80Aを「1」に設定する(ステップS63)。
【0052】
ステップS53でFVTSON=1であって、遅角閉弁時期が選択されているときは、フィードバック制御フラグFAFFBXが「1」であるか否かを判別する(ステップS64)。フィードバック制御フラグFAFFBXは、LAFセンサ14の出力に応じた空燃比フィードバック制御が実行されるとき「1」に設定される。ステップS64の答が肯定(YES)であるときは、高負荷運転フラグFWOTが「1」であるか否かを判別する(ステップS65)。高負荷運転フラグFWOTは、スロットル弁3がほぼ全開とされるような高負荷運転時に「1」に設定される。
【0053】
ステップS65の答が否定(NO)であるときは、非アイドルフラグFTHIDLEが「1」であるか否かを判別する(ステップS66)。非アイドルフラグFTHIDLEは、スロットル弁開度THがアイドル判定開度THIDLE以上であるとき「1」に設定される。ステップS66の答が肯定(YES)であるときは、低温フラグFICEGRJUDが「1」であるか否かを判別する(ステップS67)。低温フラグFICEGRJUDは、吸気管2内の温度が0℃以下に低下しているとき「1」に設定される。
【0054】
ステップS64若しくはS66の答が否定(NO)、またはステップS65若しくはS67の答が肯定(YES)であるときは、前条件不成立と判定し、前条件フラグFPRCND80Aを「0」に設定する(ステップS74)。
ステップS67の答が否定(NO)であるときは、エンジン回転数NEに応じてPB80AHVTテーブル(図示せず)を検索し、第3吸気圧閾値PB80AHVTを算出する(ステップS68)。PB80AHVTテーブルは、PB80AHテーブルと比較すると、同一のエンジン回転数NEに対応する吸気圧閾値がより高くなるように設定されている。
【0055】
続くステップS69では、吸気圧上限値PB80AHXを、第3吸気圧閾値PB80AHVTに設定し、吸気管内絶対圧PBAが吸気圧上限値より低いか否かを判別する(ステップS70)。この答が否定(NO)であるときは、前記ステップS74に進む。
【0056】
ステップS70で、PBA<PB80AHXであるときは、エンジン回転数NEに応じてPB80ALVTテーブル(図示せず)を検索し、第4吸気圧閾値PB80ALVTを算出する(ステップS71)。PB80ALVTテーブルは、PB80ALテーブルと比較すると、同一のエンジン回転数NEに対応する吸気圧閾値がより高くなるように設定されている。
【0057】
続くステップS72では、吸気圧下限値PB80ALXを、第4吸気圧閾値PB80ALVTに設定し、吸気管内絶対圧PBAが吸気圧下限値PB80AXより高いか否かを判別する(ステップS73)。この答が否定(NO)であるときは、前記ステップS74に進む。ステップS73で、PBA>PB80ALXであるときは、前条件成立と判定し、前条件フラグFPRCND80Aを「1」に設定する(ステップS75)。
【0058】
本実施形態では、吸気弁の閉弁時期が遅角閉弁時期に設定されているときに(FVTSON=1)に前条件が成立し(ステップS75)、さらに図5及び図6の処理で、実行条件フラグFMCND80Aが「1」に設定されると(ステップS33)、図示しないバルブタイミング制御処理において、吸気弁の閉弁時期を通常閉弁時期に切り換える指示が出され、吸気弁の閉弁時期が通常閉弁時期に切り換えられる(遅角時期フラグFVTSONが「0」に戻される)。吸気弁の閉弁時期が遅角閉弁時期に設定されていると、排気還流の実行条件が成立するエンジン運転領域が狭くなり、排気還流装置の故障診断が実行され難くなるためである。強制的に通常閉弁時期に切り換えることにより、故障診断を確実に実行することができる。
【0059】
図8は、図4のステップS2で実行されるEGR弁開閉制御処理のフローチャートである。
ステップS81では、実行条件フラグFMCND80Aが「1」であるか否かを判別し、その答が否定(NO)であるときは、ダウンカウントタイマTEGRC80Aを所定時間TMEGRC80A(例えば1秒)にセットしてスタートさせる(ステップS82)。次いで閉弁フラグFEGRC80Aを「0」に設定し(ステップS86)、本処理を終了する。閉弁フラグFEGRC80Aが「0」であるときは、EGR弁22が開弁され、排気還流が実行される。
【0060】
実行条件フラグFMCND80Aが「1」に設定されると、ステップS81からステップS83に進み、ステップS82でスタートされるタイマTEGRC80Aの値が「0」であるか否かを判別する。この答が否定(NO)である間は直ちに本処理を終了する。TEGRC80A=0となると、ステップS84に進み、同じタイマTEGRC80Aを所定時間TMEGRC80Aにセットしてスタートさせる。
【0061】
ステップS85では、閉弁フラグFEGRC80Aが「1」であるか否かを判別する。最初はこの答は否定(NO)であるので、ステップS87に進み、閉弁フラグFEGRC80Aを「1」に設定する。
以後はタイマTEGRC80Aの値が「0」となる毎にステップS86またはS87が交互に実行され、EGR弁22が一定周期で開閉される。
【0062】
図9は、図4のステップS3で実行されるKAFフィルタ演算処理のフローチャートである。
ステップS91では、実行条件フラグFMCND80Aが「1」であるか否かを判別し、この答が否定(NO)であるときは、KAF記憶値KAFBUF80A[i](i=0〜8)をすべてその時点の空燃比補正係数KAFに設定する(ステップS92)。ここでパラメータiは、記憶アドレスを示し、i=0は今回値に対応し、パラメータiの値が増加するほど古い値であることを示す。
【0063】
さらに、変化量記憶値DKAFMED[j](j=0〜5)をすべて「0」に設定する(ステップS93)。変化量記憶値DKAFMEDは、後述する処理で算出されるKAF記憶値KAFBUF80A[i]の中央値KAFMEDFと、初期中央値KAFMEDINIとの差(KAFMEDF−KAFMEDINI、以下「中央値変化量」という)の記憶値である。またパラメータjもパラメータiと同様に、記憶アドレスを示す。すなわちj=0が今回値に対応し、パラメータjの値が増加するほど、古い値で有ることを示す。
【0064】
続くステップS94では、初期中央値KAFMEDINIを、その時点の空燃比補正係数KAFに設定し、フィルタ処理後KAF記憶値KAFFIL80A[j](j=0〜5)をすべて「0」に設定する(ステップS95)。その後、フィルタ演算フラグFKAFFILEXを「0」に設定して(ステップS96)、本処理を終了する。
【0065】
実行条件フラグFMCND80Aが「1」に設定されるとステップS91からステップS97に進み、ダウンカウントタイマTKAFBUF80Aの値が「0」であるか否かを判別する。最初はこの答は肯定(YES)であるので、このタイマTKAFBUF80Aを所定時間TMKAFBUF(例えば0.1秒)にセットしてスタートさせる(ステップS99)。次にKAF記憶値KAFBUF80A[i](i=1〜8)をKAF記憶値KAFBUF80A[i−1]に設定し(ステップS100)、KAF記憶値KAFBUF80A[0]を、その時点の空燃比補正係数KAFに設定する(ステップS101)。
【0066】
ステップS102では、KAF記憶値KAFBUF80A[i]の中央値KAFMEDFを算出する。すなわち9個(i=0〜8)のKAF記憶値をその値の大きい順に並べ、最大値から5番目の値を中央値KAFMEDFとする。この中央値を算出する処理は、9個のデータの平均値を算出する処理と同様に、高周波成分を減衰させるローパスフィルタ処理である。
【0067】
ステップS103では、変化量記憶値DKAFMED[j](j=1〜5)を変化量記憶値DKAFMED[j−1]に設定し、変化量記憶値DKAFMED[0]を、ステップS102で算出された中央値変化量(KAFMEDF−KAFMEDINI)に設定する(ステップS104)。ステップS105では、フィルタ処理後KAF記憶値KAFFIL80A[j](j=1〜5)をフィルタ処理後KAF記憶値KAFFIL80A[j−1]に設定し、ステップS106では、下記式(2)によりフィルタ処理後KAF記憶値KAFFIL80A[0]、すなわちフィルタ処理後補正係数KAFFIL80Aを算出する。
【0068】
【数1】
ここで、BHPF80A[j](j=0〜5)及びAHPF80A[j](j=1〜5)は、ハイパスフィルタ特性を実現するフィルタ係数である。
ステップS107では、フィルタ演算フラグFKAFFILEXを「1」に設定し、本処理を終了する。
【0069】
その後、ステップS97の答が否定(NO)である間は、ステップS97からステップS98に進み、フィルタ演算フラグFKAFFILEXを「0」に設定して、直ちに本処理を終了する。したがって、ステップS99〜S107によるフィルタ処理後補正係数KAFFIL80Aの算出は、所定時間TMKAFBUF毎に実行される。
【0070】
図10は、図4のステップS4で実行される判定パラメータ算出処理のフローチャートである。
ステップS111では、判定終了フラグFDONE80Aが「1」であるか否かを判別する。最初はこの答は否定(NO)であるので、ステップS115に進み、フィルタ演算フラグFKAFFILEXが「1」であるか否かを判別する。この答が否定(NO)であるときは直ちに本処理を終了する。
【0071】
図9の処理でフィルタ演算が実行され、フィルタ演算フラグFKAFFILEXが「1」に設定されると、ステップS115からステップS116に進み、積算演算フラグFRTCAL80Aが「1」であるか否かを判別する。この答が否定(NO)であるときは、積算パラメータRT80ATMPを「0」に設定し(ステップS117)、ダウンカウントタイマTWAVE80Aを所定時間TMEGRC80Aの2倍の時間、すなわちEGR弁22の開閉周期にセットしてスタートさせる(ステップS118)。その後本処理を終了する。
【0072】
積算演算フラグFRTCAL80Aが「1」に設定されると、ステップS116からステップS119に進み、ステップS118でスタートされるタイマTWAVE80Aの値が「0」であるか否かを判別する。最初はこの答は否定(NO)であるので、ステップS120に進み、積算パラメータRT80ATMPの前回値に、フィルタ処理後補正係数KAFFIL80A[0]の絶対値を加算することにより、積算演算を行う。
【0073】
EGR弁22の1周期の開閉動作が終了すると、ステップS119からステップS121に進み、下記式(3)に積算パラメータRT80ATMP及びフィルタ処理後補正係数KAFFIL80A[0]を適用し、積算ホールド値RT80AHLDを算出する。
RT80AHLD=RT80AHLD
+RT80ATMP+|KAFFIL80A[0]| (3)
ここで右辺のRT80AHLDは、前回算出値である。
【0074】
ステップS122では、積算パラメータRT80ATMPを「0」に戻し、ステップS118と同一の処理により、タイマTWAVE80Aをスタートさせる(ステップS123)。次いでカウンタCWAVE80Aを「1」だけカウントアップし(ステップS124)、そのカウンタCWAVE80Aの値が、所定回数CTWAVE80A(例えば2)と等しいか否かを判別する(ステップS125)。最初はこの答は否定(NO)であるので、直ちに本処理を終了する。EGR弁22の開閉動作が所定回数TWAVE80A実行されると、ステップS125からステップS126に進み、判定パラメータRT80Aを積算ホールド値RT80AHLDに設定し、次いで積算演算終了フラグFRTEND80Aを「1」に設定する(ステップS127)。その後本処理を終了する。
【0075】
図11の処理で、判定終了フラグFDONE80Aが「1」に設定されると、ステップS111からステップS112に進み、積算ホールド値RT80AHLDを「0」に設定する。さらにカウンタCWAVE80Aの値を「0」に設定し(ステップS113)、積算演算終了フラグFRTEND80Aを「0」に設定する(ステップS114)。その後本処理を終了する。
【0076】
図11は、図4のステップS5で実行される漏れ判定処理のフローチャートである。
ステップS131では、実行許可フラグFGO80Aが「1」であるか否かを判別する。この答が肯定(YES)であるときは、判定終了フラグFDONE80Aが「1」であるか否かを判別する(ステップS132)。最初はこの答は否定(NO)であるので、ステップS136に進み、積算演算終了フラグFRTEND80Aが「1」であるか否かを判別する。この答が否定(NO)であるときは直ちに本処理を終了する。図10の処理で積算演算が終了し、積算演算終了フラグFRTEND80Aが「1」に設定されると、ステップS136からステップS137に進み、判定パラメータRT80Aが判定閾値LT80A以下であるか否かを判別する。この答が肯定(YES)であれば、空燃比補正係数KAFの変動が小さい(図2(a)参照)ので、正常と判定し、正常判定フラグFOK80Aを「1」に設定する(ステップS139)。
【0077】
またRT80A>LT80Aであって、空燃比補正係数KAFの変動が大きい(図2(b)参照)ときは、排気還流装置に漏れがあると判定し、故障判定フラグFSD80Aを「1」に設定する(ステップS138)。
ステップS141では、判定終了フラグFDONE80Aを「1」に設定し、その後本処理を終了する。
【0078】
実行許可フラグFGO80Aが「0」であるとき、または判定終了フラグFDONE80Aが「1」であるときは、直ちに本処理を終了する。
【0079】
図12は、上述した故障診断処理を説明するためのタイムチャートである。図12(f)及び(h)において、空燃比補正係数KAF及び判定パラメータRT80Aの推移を示す破線は、漏れが有る場合に対応し、実線は正常な場合に対応する。
【0080】
時刻t1に実行条件が成立すると、吸気弁の閉弁時期が通常閉弁時期であれば直ちにパージカット指令フラグFPGC80Aが「1」に設定され(図6,ステップS37)、図12(c)に示すようにパージ制御弁33の開弁デューティDUTYが徐々に「0」まで減少する。時刻t1から所定時間TMEGRC80A経過後の時刻t2からEGR弁22の開閉制御が開始される(図12(d)(e))(図8参照)。
【0081】
時刻t1から所定時間TMKAFFILST経過後の時刻t3に、積算パラメータRT80ATMPの演算が開始される(図12(b)(h))。なお、図12(h)には、わかりやすくするため、積算パラメータRT80ATMPと、積算ホールド値RT80AHLDとを加算した積算値RT80AXの推移が示されている。
【0082】
時刻t3から時間(2×TMEGRC80A)が経過した時刻t4においてEGR弁22の開閉制御の1周期が終了する(図12(d)(g))。時刻t5に実行条件不成立となるので、通常制御に戻るが、積算ホールド値RT80AHLDは維持される(図12(h))。時刻t4からt5までの間、積算パラメータRT80ATMPは細い線で示すように増加するが、開閉制御の1周期分の積算が終了しないため、結局積算ホールド値RT80AHLDに加算されず、積算パラメータRT80ATMPは「0」に戻される(図10,ステップS116,S117)。
【0083】
時刻t6にまた実行条件が成立すると、所定時間TMKAFFILST経過後の時刻t7から、上記と同様にして積算パラメータRT80ATMP及び積算ホールド値RT80AHLDの算出が開始される(図12(h))。漏れが有る場合には、時刻t7とt8の間において、積算値RT80AX(=RT80ATMP+RT80AHLD)が判定閾値LT80Aを超える。時刻t8においてEGR弁22の開閉制御の1周期が終了し、判定パラメータRT80Aによる判定が行われる(図10,ステップS125〜S127,図11、ステップS136,S137)。その結果、破線で示す例では、漏れが有ると判定され(図12(i))、実線で示す例では正常と判定される。
【0084】
以上詳述したように本実施形態では、EGR弁22の開閉制御が行われて、空燃比補正係数KAFの変動成分に相当するフィルタ処理後補正係数KAFFIL80Aが算出され、このフィルタ処理後補正係数KAFFIL80Aの絶対値を積算することにより、判定パラメータRT80Aが算出される。そして判定パラメータRT80Aが判定閾値LT80Aを超えると、排気還流装置に漏れがあると判定される。例えば排気還流通路21に漏れがある場合、EGR弁22の開閉制御を一定周期で行うと、開閉制御周期と同一周期で空燃比補正係数KAFが変動する。ここで開閉制御周期は既知であるので、中央値算出によるローパスフィルタ処理及びハイパスフィルタ処理、すなわち両者を併せたバンドパスフィルタ処理により、漏れが有る場合の変動成分を正確に検出することができる。その結果、比較的簡便な手法で故障判定精度を高めることができる。
【0085】
本実施形態では、ECU5が空燃比制御手段、故障判定手段、フィルタ手段、実行条件判定手段、及びEGR補正手段を構成する。より具体的には、LAFセンサ14の出力に応じて空燃比補正係数KAFを算出し、前記式(1)により燃料噴射時間TOUTを算出する処理が空燃比制御手段に相当し、図4の処理が故障判定手段に相当する。また図9の処理がフィルタ手段に相当し、図5〜7の処理が実行条件判定手段に相当する。また前記式(1)に適用されるEGR補正係数KEGRをEGR弁22の弁開度LACTに応じて算出し、式(1)により燃料噴射時間TOUTを算出する処理がEGR補正手段に相当する。
【0086】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、エンジン回転数NE及び吸気管内絶対圧PBAに応じて基本燃料量TIMを算出する、いわゆるスピードデンシティ方式が採用されている例を示したが、吸気管2のスロットル弁3の上流側に吸入空気流量センサを設け、この吸入空気流量センサにより検出される吸入空気流量GAに応じて基本燃料量TIMを算出するようにしてもよい。その場合には、前記式(1)に代えて、EGR補正係数KEGRを含まない下記式(1a)により、燃料噴射時間TOUTが算出される。
TOUT=TIM×KCMD×KAF×K1+K2 (1a)
【0087】
この場合には、排気還流を実行することにより吸入空気流量が減少すると、吸入空気流量センサにより検出される吸入空気流量GAに反映されるので、吸入空気流量GAに応じて空燃比がほぼ理論空燃比となるように設定される基本燃料量TIMは、排気還流による新気の減少が反映された値となる。したがって、EGR補正係数KEGRを含まない式(1a)が用いられる。
【0088】
この変形例では、EGR弁22リフト量LACTを変化させると、排気還流量の変化に応じて基本燃料量TIMが変化し、排気還流装置が正常である場合には、空燃比補正係数KAFは、常に「1.0」近傍の値をとる(図2(a))。
これに対し排気還流装置に漏れがある場合には、EGR弁22のリフト量LACTを増加させると、排気と新気が混合されたガスが吸気管2に流入する。その結果、吸入空気量流量GAに応じて設定される基本燃料量TIMの減少量が過大となって、空燃比がリーン側にずれ、それを補正すべく空燃比補正係数KAFが増加する。したがって、図2(b)に示すように、リフト量LACTの変化とほぼ同一の周期で、空燃比補正係数KAFが変化することになる。
【0089】
また上述した実施形態では、空燃比制御量の変動成分を示すパラメータとして、空燃比補正係数KAFにローパスフィルタ処理及びハイパスフィルタ処理(バンドパスフィルタ処理)を施して算出されるフィルタ処理後補正係数KAFFIL80Aを用いたが、これに限るものではなく、例えばEGR弁22の開閉制御の1周期の期間における空燃比補正係数KAFの平均値KAFAVEを算出し、この平均値KAFAVEと、空燃比補正係数KAFとの偏差DAFを、空燃比制御量の変動成分を示すパラメータとして用いるようにしてもよい。さらに偏差DAFにフィルタ処理(ローパスフィルタ処理またはバンドパスフィルタ処理)を施したものを、空燃比制御量の変動成分を示すパラメータとして用いてもよい。
【0090】
また本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンなどの制御にも適用が可能である。
【図面の簡単な説明】
【0091】
【図1】本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。
【図2】本実施形態における排気還流装置の故障判定手法を説明するための図である。
【図3】故障判定を行うモジュールの構成を示す機能ブロック図である。
【図4】故障判定を行う処理のフローチャートである。
【図5】故障判定の実行条件を判定する処理のフローチャートである。
【図6】故障判定の実行条件を判定する処理のフローチャートである。
【図7】故障判定の前条件を判定する処理のフローチャートである。
【図8】排気還流制御弁の開閉制御を行う処理のフローチャートである。
【図9】空燃比補正係数(KAF)のフィルタ演算を行う処理のフローチャートである。
【図10】判定パラメータ(RT80A)を算出する処理のフローチャートである。
【図11】漏れ判定を行う処理のフローチャートである。
【図12】故障判定処理を説明するためのタイムチャートである。
【符号の説明】
【0092】
1 内燃機関
2 吸気管
5 電子制御ユニット(空燃比制御手段、故障判定手段、フィルタ手段、実行条件判定手段、EGR補正手段)
6 燃料噴射弁
12 排気管
14 空燃比センサ
21 排気還流通路(排気還流装置)
22 排気還流制御弁(排気還流装置)
【技術分野】
【0001】
本発明は、排気を吸気系に還流させる排気還流装置を備える内燃機関の制御装置に関し、特に排気還流装置の故障を判定する機能を有するものに関する。
【背景技術】
【0002】
特許文献1には、排気還流装置の故障を、機関の排気系に設けられた空燃比センサの出力に基づいて判定する制御装置が示されている。この装置では、排気還流を実行しているときの空燃比センサ出力の積分値IONと、排気還流を実行していないときの空燃比センサ出力の積分値IOFFとが算出され、これらの積分値の差(IOFF−ION)が、判定値ΔI以下であるときは、排気還流装置が故障していると判定される。
【0003】
【特許文献1】特開平4−101055号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記従来の装置では、空燃比センサ出力を単純に積分した積分値が判定に用いられているため、判定精度の点で改善の余地が残されていた。
【0005】
本発明はこの点に着目してなされたものであり、排気還流装置の故障を、比較的簡便な手法で精度よく判定することができる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため請求項1に記載の発明は、内燃機関の排気を吸気系に還流させる排気還流通路と、該排気還流通路に設けられ、還流する排気の流量を制御する排気還流制御弁とを有する排気還流装置を備えた内燃機関の制御装置において、前記機関の排気通路に設けられた空燃比センサと、該空燃比センサの出力に基づいて前記機関に供給される混合気の空燃比をフィードバック制御する空燃比制御手段と、前記排気還流制御弁(22)の開度(LACT)を所定周期(TEGRC80A×2)で変化させたときに前記空燃比制御手段により算出される空燃比制御量(KAF)の変動成分(KAFFIL80A)に基づいて、前記排気還流装置の故障を判定する故障判定手段とを備えることを特徴とする。
【0007】
前記故障判定手段は、前記変動成分(KAFFIL80A)の積算値(RT80AHLD,RT80A)が判定閾値(LT80A)を越えたとき、前記排気還流装置に漏れがあると判定することが望ましい。また前記故障判定手段は、前記空燃比制御量(KAF)にバンドパスフィルタ処理を施すフィルタ手段を有し、フィルタ処理後の変動成分(KAFFIL80A)に基づいて前記判定を行うことが望ましい。
【0008】
前記故障判定手段は、前記機関の運転状態に応じて前記故障判定の実行条件を判定する実行条件判定手段を備え、前記実行条件が不成立となったときに前記積算値(RT80AHLD)を保持しておき、前記実行条件が成立したときに前記保持した値(RT80AHLD)を初期値として積算演算を開始することが望ましい。
【0009】
前記排気還流制御弁(22)の開度(LACT)が増加するほど、前記機関に供給する燃料量を減少方向に補正するEGR補正手段をさらに備えることが望ましい。
【発明の効果】
【0010】
請求項1に記載の発明によれば、排気還流制御弁の開度を所定周期で変化させたときに空燃比制御手段により算出される空燃比制御量の変動成分に基づいて、排気還流装置の故障が判定される。例えば排気還流通路に漏れがある場合、排気還流制御弁の開度を所定周期で変化させると、その開度変化の周期と同一周期で空燃比制御量が変動するので、この変動成分が検出されたときは漏れが有ると判定することができる。変動成分の周期(周波数)は既知であるので、通過帯域を適切に設定したフィルタを用いることにより、正確な検出が可能となり、比較的簡便な手法で判定精度を高めることができる。
【発明を実施するための最良の形態】
【0011】
以下本発明の実施の形態を図面を参照して説明する。
図1は本発明の第1の実施形態にかかる内燃機関及びその制御装置の構成を示す図であり、例えば4気筒のエンジン1の吸気管2の途中にはスロットル弁3が配されている。スロットル弁3にはスロットル弁開度(TH)センサ4が連結されており、当該スロットル弁3の開度に応じた電気信号を出力して電子制御ユニット(以下「ECU」という)5に供給する。
【0012】
燃料噴射弁6はエンジン1とスロットル弁3との間かつ吸気管2の図示しない吸気弁の少し上流側に各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にECU5に電気的に接続されて当該ECU5からの信号により燃料噴射弁6の開弁時間が制御される。
【0013】
一方、スロットル弁3の直ぐ下流には吸気管内の圧力を検出する吸気管内絶対圧(PBA)センサ7が設けられており、この絶対圧センサ7により電気信号に変換された絶対圧信号は前記ECU5に供給される。また、その下流には吸気温(TA)センサ8が取付けられており、吸気温TAを検出して対応する電気信号を出力してECU5に供給する。
【0014】
エンジン1の本体に装着されたエンジン水温(TW)センサ9はサーミスタ等から成り、エンジン水温(冷却水温)TWを検出して対応する温度信号を出力してECU5に供給する。
エンジン1の図示しないカム軸周囲又はクランク軸周囲には、エンジン回転数(NE)センサ10及び気筒判別(CYL)センサ11が取り付けられている。エンジン回転数センサ10は、エンジン1の各気筒の吸入行程開始時の上死点(TDC)より所定クランク角度前のクランク角度位置で(4気筒エンジンではクランク角180゜毎に)TDCパルスを出力し、気筒判別センサ11は、特定の気筒の所定クランク角度位置で気筒判別パルスを出力するものであり、これらの各パルス信号はECU5に供給される。
【0015】
排気管12には、排気中のNOx、HC、COの浄化を行う排気浄化触媒16が設けられ、排気浄化触媒16の上流位置には、比例型空燃比センサ14(以下「LAFセンサ14」という)が装着されており、このLAFセンサ14は排気中の酸素濃度(空燃比)にほぼ比例した電気信号を出力し、ECU5に供給する。
【0016】
吸気管2のスロットル弁3の下流側と、排気管12の排気浄化触媒16の下流側との間には、排気還流通路21が設けられており、排気還流通路21には排気還流量を制御する排気還流制御弁(以下「EGR弁」という)22が設けられている。EGR弁22は、ソレノイドを有する電磁弁であり、その弁開度はECU5により制御される。EGR弁22には、その弁開度(弁リフト量)LACTを検出するリフトセンサ23が設けられており、その検出信号はECU5に供給される。排気還流通路21及びEGR弁22より、排気還流装置が構成される。
【0017】
図示しない燃料タンクに接続され、該燃料タンク内で発生する蒸発燃料を貯蔵するキャニスタ32が設けられている。キャニスタ32は、蒸発燃料を吸着する吸着材を内蔵している。キャニスタ32は、パージ通路31を介して、吸気管2の、スロットル弁3の下流側に接続されている。パージ通路31には、パージ制御弁33が設けられている。パージ制御弁33は、その制御信号のオン−オフデューティ比を変更することにより流量を連続的に制御することができるように構成された電磁弁であり、パージ制御弁33の作動はECU5により制御される。なお、パージ制御弁33はその弁開度を連続的に変更可能な電磁弁を使用してもよく、上記オン−オフデューティ比は、このような弁開度連続可変型の電磁弁における弁開度に相当する。パージ通路31、キャニスタ32及びパージ制御弁33により、蒸発燃料処理装置が構成される。
【0018】
エンジン1には、吸気弁の閉弁時期を通常閉弁時期と、遅角閉弁時期とに切り換えるバルブタイミング切換機構30が設けられている。バルブタイミング切換機構30の作動は、エンジン運転状態に応じてECU5により制御される。
ECU5には、大気圧PAを検出する大気圧センサ17、エンジン1により駆動される車両の車速VPを検出する車速センサ18、並びに上述した電磁弁及びECU5に電力を供給するバッテリの出力電圧VBを検出するバッテリ電圧センサ19が接続されており、これらのセンサの検出信号がECU5に供給される。
【0019】
ECU5は、上述したセンサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット(以下「CPU」という)、CPUで実行される各種演算プログラム及び演算結果等を記憶する記憶回路、前記燃料噴射弁6、EGR弁22、パージ制御弁33及びバルブタイミング切換機構30に制御信号を供給する出力回路を備えている。
【0020】
ECU5は、上述したセンサの出力信号に基づいてエンジン運転状態を判別し、エンジン回転数NE及び吸気管内絶対圧PBAに応じて設定されるEGR弁22の弁開度指令値LCMDと、リフトセンサ23によって検出される実弁開度LACTとの偏差を零にするようにEGR弁22のソレノイドに制御信号を供給する。
【0021】
ECU5のCPUは、上述したセンサの出力信号に基づいてエンジン運転状態を判別するとともに、エンジン運転状態に応じて下記式(1)により、前記TDC信号パルスに同期して開弁作動する燃料噴射弁6の燃料噴射時間TOUTを演算する。
TOUT=TIM×KCMD×KAF×KEGR×K1+K2 (1)
【0022】
ここに、TIMは燃料噴射弁6の基本燃料噴射時間であり、エンジン回転数NE及び吸気管内絶対圧PBAに応じて設定されたTIマップを検索して決定される。TIマップは、マップ上のエンジン回転数NE及び吸気管内絶対圧PBAに対応する運転状態において、エンジンに供給する混合気の空燃比がほぼ理論空燃比になるように設定されている。
【0023】
KCMDは目標空燃比係数であり、エンジン回転数NE、吸気管内絶対圧PBA、エンジン水温TW等のエンジン運転パラメータに応じて設定される。目標空燃比係数KCMDは、空燃比A/Fの逆数、すなわち燃空比F/Aに比例し、理論空燃比のとき値1.0をとるので、目標当量比ともいう。
【0024】
KAFは、空燃比補正係数であり、LAFセンサ14の検出空燃比から算出される検出当量比KACTが目標当量比KCMDに一致するように算出される。なお、LAFセンサ出力に応じたフィードバック制御を実行しないときは、「1.0」に設定される。
【0025】
KEGRは、排気還流を実行しないとき(EGR弁22を閉弁しているとき)は、「1.0」(無補正値)に設定され、排気還流を実行するとき(EGR弁22を開弁するとき)は、EGR弁22の弁開度LACTの増加(吸入空気量の減少)に対応して燃料噴射量を減少させるべく、「1.0」より小さい値に設定されるEGR補正係数である。
【0026】
K1及びK2は、それぞれエンジン運転状態に応じて演算される他の補正係数および補正変数であり、エンジン運転状態に応じた燃費特性、エンジン加速特性等の諸特性の最適化が図れるような所定値に決定される。
ECU5のCPUは上述のようにして求めた燃料噴射時間TOUTに基づいて燃料噴射弁6を開弁させる駆動信号を燃料噴射弁6に供給する。
【0027】
本実施形態では、以下に説明する手法により、排気還流装置の故障、具体的には排気還流通路21の漏れ(破れ)の有無が判定される。図2は、この判定手法を説明するための図であり、同図(a)は排気還流装置が正常である場合に対応し、同図(b)は排気還流装置に漏れが有る場合に対応する。本実施形態では、EGR弁22のリフト量LACTを図に示すように変化させ、そのときの空燃比補正係数KAFの変動成分に基づいて、漏れの有無の判定が行われる。
【0028】
排気還流装置が正常である場合には、リフト量LACTを変化させても、空燃比補正係数KAFは、常に「1.0」近傍の値をとる。リフト量LACTを増加させると、排気還流量が増加し、エンジン1の吸入空気量は減少するが、それに伴ってEGR補正係数KEGRが減少するからである。
【0029】
これに対し排気還流装置に漏れがある場合には、リフト量LACTを変化させると、図2(b)に示すように、リフト量LACTの変化に伴って、空燃比補正係数KAFも変化する。これは以下の理由による。排気還流装置に漏れがあるときは、EGR弁22のリフト量LACTを増加させると、排気と新気が混合されたガスが吸気管2に流入する。その結果、EGR補正係数KEGRによる補正が過補正となって、空燃比がリーン側にずれ、それを補正すべく空燃比補正係数KAFが増加する。したがって、リフト量LACTの変化とほぼ同一の周期で、空燃比補正係数KAFが変化することになる。
【0030】
よって、本実施形態では、リフト量LACTを変化させたときに算出される空燃比補正係数KAFに、バンドパスフィルタ処理を施すことにより、フィルタ処理後補正係数KAFFIL80Aが算出され、さらにフィルタ処理後補正係数KAFFIL80Aの絶対値を積算することにより、積算値RT80AXが算出される。そして、積算値RT80AXが判定閾値LT80Aを超えたとき、排気還流装置に漏れがあると判定される。
【0031】
図3は、この漏れ判定を含む故障診断処理を実行するモジュールを機能ブロック図として示したものであり、各ブロックの機能はECU5のCPUによる演算処理により実現される。
【0032】
図3に示す故障診断モジュールは、KAF算出部51、バンドパスフィルタ部52、絶対値積算部53、及び判定部54を備えている。KAF算出部51は、検出当量比KACTが目標当量比KCMDと一致するように、空燃比補正係数KAFを算出する。バンドパスフィルタ部52は、空燃比補正係数KAFのバンドパスフィルタ処理を行い、フィルタ処理後補正係数KAFFIL80Aを出力する。絶対値積算部53は、フィルタ処理後補正係数KAFFIL80Aの絶対値を積算し、判定パラメータRT80Aを算出する。判定部54は、判定パラメータRT80Aと、判定閾値LT80Aと比較し、判定パラメータRT80Aが判定閾値LT80Aを超えたとき、排気還流装置に漏れがあると判定する。
【0033】
図4は、上記故障診断処理のフローチャートであり、この処理は、ECU5のCPUで所定時間(例えば10ミリ秒)毎に実行される。
ステップS1では、図5及び図6に示す実行条件判定処理を実行し、ステップS2では、図8に示すEGR弁開閉制御処理を実行し、ステップS3では、図9に示すKAFフィルタ演算処理を実行し、ステップS4では、図10に示す判定パラメータ算出処理を実行し、ステップS5では、図11に示す漏れ判定処理を実行する。
【0034】
図5及び図6は、図4のステップS1で実行される実行条件判定処理のフローチャートである。
ステップS11では、実行許可フラグFGO80Aが「1」であるか否かを判別する。実行許可フラグFGO80Aは、図示しない処理で排気還流装置の故障診断が許可されたとき「1」に設定される。実行許可フラグFGO80Aが「1」であるときは、判定終了フラグFDONE80Aが「1」であるか否を判別する(ステップS12)。最初はこの答は否定(NO)であるので、ステップS13に進み、吸気温TAが所定吸気温TA80AL(例えば0℃)より高いか否かを判別する。
【0035】
ステップS11またはS13の答が否定(NO)であるとき、またはステップS12の答が肯定(YES)となったときは、ステップS16に進み、ダウンカウントタイマTC80Aを所定時間TMC80A(例えば2秒)にセットしてスタートさせる。その後ステップS32(図6)に進み、実行条件フラグFMCND80Aを「0」に設定する。
【0036】
ステップS13でTA>TA80ALであるときは、図7の前条件判定処理を実行する(ステップS14)。前条件判定処理で前条件が成立すると、前条件フラグFPRCND80Aが「1」に設定される。ステップS15では、前条件フラグFPRCND80Aが「1」であるか否かを判別し、この答が否定(NO)であるときは、前記ステップS16に進む。前条件が成立すると、ステップS15からステップS17に進み、ステップS16でスタートしたタイマTC80Aの値が「0」であるか否かを判別する。最初はこの答は否定(NO)であるので、ステップS32へ進み、実行条件フラグFMCND80Aを「0」に設定する。
【0037】
タイマTC80Aの値が「0」となると、ステップS20に進み、アップカウントタイマTCATEGRの値が所定時間TMCTEGRX(例えば10秒)以上であるか否かを判別する。アップカウントタイマTCATEGRは、排気還流の開始時点からの経過時間を計測するタイマである。ステップS20の答が肯定(YES)であるときは、バッテリ電圧VBが所定低電圧VBL(例えば10.5V)より低いか否かを判別する(ステップS22)。
【0038】
ステップS22の答が否定(NO)であるときは、第1正常フラグFOK12BFが「1」であるか否かを判別する(ステップS23)。この答が否定(NO)であるときはさらに第2正常フラグFOK12BSが「1」であるか否かを判別する(ステップS24)。第1及び第2正常フラグFOK12BF及びFOK12BSは、排気還流装置についての他の故障診断処理で正常と判定されたとき「1」に設定されるフラグである。ステップS23またはS24の答が肯定(YES)であるときは、ステップS25に進む。
【0039】
ステップS25では、減圧フラグFTKDECが「1」であるか否かを判別する。減圧フラグFTKDECは、蒸発燃料処理装置の故障診断処理において、蒸発燃料処理装置内の減圧を行うとき、「1」に設定される。ステップS25の答が否定(NO)であるときは、パージカットフラグFFMPGが「1」であるか否かを判別する(ステップS26)。パージカットフラグFFMPGは、キャニスタ32から吸気管2への蒸発燃料のパージを実行しないとき「1」に設定される。
【0040】
ステップS26の答が否定(NO)であるときは、エンジン水温TWが所定低水温TW80AL(例えば70℃)より高いか否かを判別する(図6,ステップS27)。この答が肯定(YES)であるときは、リミットフラグFKAFLMTが「1」であるか否かを判別する(ステップS28)。リミットフラグFKAFLMTは、空燃比補正係数KAFが上限値または下限値に固定された状態となったとき「1」に設定される。ステップS28の答が否定(NO)であるときは、還元モードフラグFCTRDMODが「1」であるか否かを判別する(ステップS29)。還元モードフラグFCTRDMODは、排気浄化触媒16に吸着されたNOxを還元するために空燃比のリッチ化を行うとき「1」に設定される。
【0041】
ステップS29の答が否定(NO)であるときは、第1応答劣化判定フラグFMCND61Aが「1」であるか否かを判別する(ステップS30)。第1応答劣化判定フラグFMCND61Aは、LAFセンサ14の応答劣化判定処理が実行されるとき「1」に設定される。ステップS30の答が否定(NO)であるときは、第2応答劣化判定フラグF63DSTが「1」であるか否かを判別する(ステップS31)。第2応答劣化判定フラグF63DSTは、排気浄化触媒16の下流側に配置される酸素濃度センサ(図示せず)の応答劣化判定処理が実行されるとき「1」に設定される。
【0042】
上述したステップS17,S20,S24,若しくはS27の答が否定(NO)であるとき、またはステップS18,S19,S22,S25,S26,若しくはS28〜S31の答が肯定(YES)であるときは、実行条件不成立と判定し、実行条件フラグFMCND80Aを「0」に設定する(ステップS32)。次いで、パージカット指令フラグFPGC80Aを「0」に設定し(ステップS35)、ダウンカウントタイマTKAFFILSTを所定時間TMKAFFILST(例えば4秒)にセットしてスタートさせる(ステップS36)。続くステップS41では、ダウンカウントタイマTDTH80Aを所定時間TMDTH80A(例えば2秒)にセットしてスタートさせ、積算演算フラグFRTCAL80Aを「0」に設定する(ステップS43)。その後本処理を終了する。積算演算フラグFRTCAL80Aは、図10のステップS116で参照される。積算演算フラグFRTCAL80Aが「0」であるときは、フィルタ処理後補正係数KAFFIL80Aの絶対値の積算演算が中断される。
【0043】
一方、ステップS31の答が否定(NO)であるときは、実行条件成立と判定し、実行条件フラグFMCND80Aを「1」に設定する(ステップS33)。ステップS34では、ダウンカウントタイマTVTCNDOFの値が所定時間TMKAFFILST以下か否かを判別する。ダウンカウントタイマTVTCNDOFは、バルブタイミング切換機構30により、吸気弁の閉弁時期を切り換えた時点で所定時間TMVTCNDOF(例えば5秒)にセットされスタートされる。ステップS34の答が否定(NO)であるときは、前記ステップS35に進み、TVTCNDOF≦TMKAFFILSTであるときは、パージカット指令フラグFPGC80Aを「1」に設定する(ステップS37)。その結果、パージ制御弁33が閉弁され、吸気管2への蒸発燃料の供給は停止される。これにより、吸気管2への蒸発燃料の供給に起因する誤判定を防止することができる。
【0044】
ステップS38では、ステップS36でスタートしたタイマTKAFFILSTの値が「0」であるか否かを判別する。この答が否定(NO)である間は前記ステップS41に進み、TKAFFILST=0となると、ステップS39に進み、VT変更後許可フラグFVTOBDCNDが「1」であるか否かを判別する。VT変更後許可フラグFVTOBDCNDは、吸気弁の閉弁時期が通常閉弁時期に変更された後、積算演算(判定パラメータの算出)の実行を許可するとき「1」に設定される。すなわち、通常閉弁時期に移行直後は「0」であり、移行時点から所定時間(例えば5秒)経過すると「1」に設定される。
【0045】
ステップS39の答が肯定(YES)であるときは、スロットル弁開度THの変化量DTH(=TH(n)−TH(n-1)、nは制御周期で離散化した制御時刻)の絶対値が、所定変化量DTH80AH(例えば0.5deg/TDC,「TDC」は、TDCパルスの発生時間間隔である)より大きいか否かを判別する(ステップS40)。ステップS39の答が否定(NO)またはステップS40の答が肯定(YES)であるときは、前記ステップS41に進む。
【0046】
ステップS40で|DTH|≦DTH80ATHであるときは、ステップS41でスタートされるタイマTDTH80Aの値が「0」であるか否かを判別する(ステップS42)。TDTH80A>0である間は、前記ステップS43に進み、TDTH80A=0となると、積算演算フラグFRTCAL80Aを「1」に設定する(ステップS44)。
【0047】
実行条件が成立していても(FMCND80A=1)、スロットル弁開度THの変動が大きいときは、ステップS40〜S42により、フィルタ処理後補正係数KAFFIL80Aの絶対値の積算演算が中断される。これにより、スロットル弁開度THの変動の影響による誤判定を防止することができる。
【0048】
図7は、図5のステップS14で実行される前条件判定処理のフローチャートである。
ステップS51では、車速VPが所定低車速VP80AL(例えば41km/h)より高いか否かを判別し、その答が肯定(YES)であるときはエンジン回転数NEが下限回転数NE80AL(例えば1500rpm)より高く、上限回転数NE80AH(例えば4000rpm)より低いか否かを判別する。ステップS51またはS52の答が否定(NO)であるときは、前条件不成立と判定し、前条件フラグFPRCND80Aを「0」に設定する(ステップS62)。
【0049】
ステップS52の答が肯定(YES)であるときは、遅角時期フラグFVTSONが「1」であるか否かを判別する(ステップS53)。この答が否定(NO)であって通常閉弁時期が選択されているときは、VT変更後許可フラグFVTOBDCNDが「1」であるか否かを判別する(ステップS54)。この答が否定(NO)である間は直ちに本処理を終了し、肯定(YES)となるとステップS55に進む。
【0050】
ステップS55では、EGRフラグFEGRが「1」であるか否かを判別する。FEGR=0であって、排気還流を実行できないエンジン運転状態であるときは、前記ステップS62に進む。EGRフラグFEGRが「1」であって、排気還流を実行可能なエンジン運転状態であるときは、エンジン回転数NEに応じてPB80AHテーブル(図示せず)を検索し、第1吸気圧閾値PB80AHを算出する(ステップS56)。次いで吸気圧上限値PB80AHXを、第1吸気圧閾値PB80AHに設定し(ステップS57)、吸気管内絶対圧PBAが吸気圧上限値PB80AHXより低いか否かを判別する(ステップS58)。この答が否定(NO)であるときは、前記ステップS62に進む。
【0051】
ステップS58で、PBA<PB80AHXであるときは、エンジン回転数NEに応じてPB80ALテーブル(図示せず)を検索し、第2吸気圧閾値PB80ALを算出する(ステップS59)。次いで吸気圧下限値PB80ALXを、第2吸気圧閾値PB80ALに設定し(ステップS60)、吸気管内絶対圧PBAが吸気圧下限値PB80ALXより高いか否かを判別する(ステップS61)。この答が否定(NO)であるときは、前記ステップS62に進む。ステップS61で、PBA>PB80ALXであるときは、前条件成立と判定し、前条件フラグFPRCND80Aを「1」に設定する(ステップS63)。
【0052】
ステップS53でFVTSON=1であって、遅角閉弁時期が選択されているときは、フィードバック制御フラグFAFFBXが「1」であるか否かを判別する(ステップS64)。フィードバック制御フラグFAFFBXは、LAFセンサ14の出力に応じた空燃比フィードバック制御が実行されるとき「1」に設定される。ステップS64の答が肯定(YES)であるときは、高負荷運転フラグFWOTが「1」であるか否かを判別する(ステップS65)。高負荷運転フラグFWOTは、スロットル弁3がほぼ全開とされるような高負荷運転時に「1」に設定される。
【0053】
ステップS65の答が否定(NO)であるときは、非アイドルフラグFTHIDLEが「1」であるか否かを判別する(ステップS66)。非アイドルフラグFTHIDLEは、スロットル弁開度THがアイドル判定開度THIDLE以上であるとき「1」に設定される。ステップS66の答が肯定(YES)であるときは、低温フラグFICEGRJUDが「1」であるか否かを判別する(ステップS67)。低温フラグFICEGRJUDは、吸気管2内の温度が0℃以下に低下しているとき「1」に設定される。
【0054】
ステップS64若しくはS66の答が否定(NO)、またはステップS65若しくはS67の答が肯定(YES)であるときは、前条件不成立と判定し、前条件フラグFPRCND80Aを「0」に設定する(ステップS74)。
ステップS67の答が否定(NO)であるときは、エンジン回転数NEに応じてPB80AHVTテーブル(図示せず)を検索し、第3吸気圧閾値PB80AHVTを算出する(ステップS68)。PB80AHVTテーブルは、PB80AHテーブルと比較すると、同一のエンジン回転数NEに対応する吸気圧閾値がより高くなるように設定されている。
【0055】
続くステップS69では、吸気圧上限値PB80AHXを、第3吸気圧閾値PB80AHVTに設定し、吸気管内絶対圧PBAが吸気圧上限値より低いか否かを判別する(ステップS70)。この答が否定(NO)であるときは、前記ステップS74に進む。
【0056】
ステップS70で、PBA<PB80AHXであるときは、エンジン回転数NEに応じてPB80ALVTテーブル(図示せず)を検索し、第4吸気圧閾値PB80ALVTを算出する(ステップS71)。PB80ALVTテーブルは、PB80ALテーブルと比較すると、同一のエンジン回転数NEに対応する吸気圧閾値がより高くなるように設定されている。
【0057】
続くステップS72では、吸気圧下限値PB80ALXを、第4吸気圧閾値PB80ALVTに設定し、吸気管内絶対圧PBAが吸気圧下限値PB80AXより高いか否かを判別する(ステップS73)。この答が否定(NO)であるときは、前記ステップS74に進む。ステップS73で、PBA>PB80ALXであるときは、前条件成立と判定し、前条件フラグFPRCND80Aを「1」に設定する(ステップS75)。
【0058】
本実施形態では、吸気弁の閉弁時期が遅角閉弁時期に設定されているときに(FVTSON=1)に前条件が成立し(ステップS75)、さらに図5及び図6の処理で、実行条件フラグFMCND80Aが「1」に設定されると(ステップS33)、図示しないバルブタイミング制御処理において、吸気弁の閉弁時期を通常閉弁時期に切り換える指示が出され、吸気弁の閉弁時期が通常閉弁時期に切り換えられる(遅角時期フラグFVTSONが「0」に戻される)。吸気弁の閉弁時期が遅角閉弁時期に設定されていると、排気還流の実行条件が成立するエンジン運転領域が狭くなり、排気還流装置の故障診断が実行され難くなるためである。強制的に通常閉弁時期に切り換えることにより、故障診断を確実に実行することができる。
【0059】
図8は、図4のステップS2で実行されるEGR弁開閉制御処理のフローチャートである。
ステップS81では、実行条件フラグFMCND80Aが「1」であるか否かを判別し、その答が否定(NO)であるときは、ダウンカウントタイマTEGRC80Aを所定時間TMEGRC80A(例えば1秒)にセットしてスタートさせる(ステップS82)。次いで閉弁フラグFEGRC80Aを「0」に設定し(ステップS86)、本処理を終了する。閉弁フラグFEGRC80Aが「0」であるときは、EGR弁22が開弁され、排気還流が実行される。
【0060】
実行条件フラグFMCND80Aが「1」に設定されると、ステップS81からステップS83に進み、ステップS82でスタートされるタイマTEGRC80Aの値が「0」であるか否かを判別する。この答が否定(NO)である間は直ちに本処理を終了する。TEGRC80A=0となると、ステップS84に進み、同じタイマTEGRC80Aを所定時間TMEGRC80Aにセットしてスタートさせる。
【0061】
ステップS85では、閉弁フラグFEGRC80Aが「1」であるか否かを判別する。最初はこの答は否定(NO)であるので、ステップS87に進み、閉弁フラグFEGRC80Aを「1」に設定する。
以後はタイマTEGRC80Aの値が「0」となる毎にステップS86またはS87が交互に実行され、EGR弁22が一定周期で開閉される。
【0062】
図9は、図4のステップS3で実行されるKAFフィルタ演算処理のフローチャートである。
ステップS91では、実行条件フラグFMCND80Aが「1」であるか否かを判別し、この答が否定(NO)であるときは、KAF記憶値KAFBUF80A[i](i=0〜8)をすべてその時点の空燃比補正係数KAFに設定する(ステップS92)。ここでパラメータiは、記憶アドレスを示し、i=0は今回値に対応し、パラメータiの値が増加するほど古い値であることを示す。
【0063】
さらに、変化量記憶値DKAFMED[j](j=0〜5)をすべて「0」に設定する(ステップS93)。変化量記憶値DKAFMEDは、後述する処理で算出されるKAF記憶値KAFBUF80A[i]の中央値KAFMEDFと、初期中央値KAFMEDINIとの差(KAFMEDF−KAFMEDINI、以下「中央値変化量」という)の記憶値である。またパラメータjもパラメータiと同様に、記憶アドレスを示す。すなわちj=0が今回値に対応し、パラメータjの値が増加するほど、古い値で有ることを示す。
【0064】
続くステップS94では、初期中央値KAFMEDINIを、その時点の空燃比補正係数KAFに設定し、フィルタ処理後KAF記憶値KAFFIL80A[j](j=0〜5)をすべて「0」に設定する(ステップS95)。その後、フィルタ演算フラグFKAFFILEXを「0」に設定して(ステップS96)、本処理を終了する。
【0065】
実行条件フラグFMCND80Aが「1」に設定されるとステップS91からステップS97に進み、ダウンカウントタイマTKAFBUF80Aの値が「0」であるか否かを判別する。最初はこの答は肯定(YES)であるので、このタイマTKAFBUF80Aを所定時間TMKAFBUF(例えば0.1秒)にセットしてスタートさせる(ステップS99)。次にKAF記憶値KAFBUF80A[i](i=1〜8)をKAF記憶値KAFBUF80A[i−1]に設定し(ステップS100)、KAF記憶値KAFBUF80A[0]を、その時点の空燃比補正係数KAFに設定する(ステップS101)。
【0066】
ステップS102では、KAF記憶値KAFBUF80A[i]の中央値KAFMEDFを算出する。すなわち9個(i=0〜8)のKAF記憶値をその値の大きい順に並べ、最大値から5番目の値を中央値KAFMEDFとする。この中央値を算出する処理は、9個のデータの平均値を算出する処理と同様に、高周波成分を減衰させるローパスフィルタ処理である。
【0067】
ステップS103では、変化量記憶値DKAFMED[j](j=1〜5)を変化量記憶値DKAFMED[j−1]に設定し、変化量記憶値DKAFMED[0]を、ステップS102で算出された中央値変化量(KAFMEDF−KAFMEDINI)に設定する(ステップS104)。ステップS105では、フィルタ処理後KAF記憶値KAFFIL80A[j](j=1〜5)をフィルタ処理後KAF記憶値KAFFIL80A[j−1]に設定し、ステップS106では、下記式(2)によりフィルタ処理後KAF記憶値KAFFIL80A[0]、すなわちフィルタ処理後補正係数KAFFIL80Aを算出する。
【0068】
【数1】
ここで、BHPF80A[j](j=0〜5)及びAHPF80A[j](j=1〜5)は、ハイパスフィルタ特性を実現するフィルタ係数である。
ステップS107では、フィルタ演算フラグFKAFFILEXを「1」に設定し、本処理を終了する。
【0069】
その後、ステップS97の答が否定(NO)である間は、ステップS97からステップS98に進み、フィルタ演算フラグFKAFFILEXを「0」に設定して、直ちに本処理を終了する。したがって、ステップS99〜S107によるフィルタ処理後補正係数KAFFIL80Aの算出は、所定時間TMKAFBUF毎に実行される。
【0070】
図10は、図4のステップS4で実行される判定パラメータ算出処理のフローチャートである。
ステップS111では、判定終了フラグFDONE80Aが「1」であるか否かを判別する。最初はこの答は否定(NO)であるので、ステップS115に進み、フィルタ演算フラグFKAFFILEXが「1」であるか否かを判別する。この答が否定(NO)であるときは直ちに本処理を終了する。
【0071】
図9の処理でフィルタ演算が実行され、フィルタ演算フラグFKAFFILEXが「1」に設定されると、ステップS115からステップS116に進み、積算演算フラグFRTCAL80Aが「1」であるか否かを判別する。この答が否定(NO)であるときは、積算パラメータRT80ATMPを「0」に設定し(ステップS117)、ダウンカウントタイマTWAVE80Aを所定時間TMEGRC80Aの2倍の時間、すなわちEGR弁22の開閉周期にセットしてスタートさせる(ステップS118)。その後本処理を終了する。
【0072】
積算演算フラグFRTCAL80Aが「1」に設定されると、ステップS116からステップS119に進み、ステップS118でスタートされるタイマTWAVE80Aの値が「0」であるか否かを判別する。最初はこの答は否定(NO)であるので、ステップS120に進み、積算パラメータRT80ATMPの前回値に、フィルタ処理後補正係数KAFFIL80A[0]の絶対値を加算することにより、積算演算を行う。
【0073】
EGR弁22の1周期の開閉動作が終了すると、ステップS119からステップS121に進み、下記式(3)に積算パラメータRT80ATMP及びフィルタ処理後補正係数KAFFIL80A[0]を適用し、積算ホールド値RT80AHLDを算出する。
RT80AHLD=RT80AHLD
+RT80ATMP+|KAFFIL80A[0]| (3)
ここで右辺のRT80AHLDは、前回算出値である。
【0074】
ステップS122では、積算パラメータRT80ATMPを「0」に戻し、ステップS118と同一の処理により、タイマTWAVE80Aをスタートさせる(ステップS123)。次いでカウンタCWAVE80Aを「1」だけカウントアップし(ステップS124)、そのカウンタCWAVE80Aの値が、所定回数CTWAVE80A(例えば2)と等しいか否かを判別する(ステップS125)。最初はこの答は否定(NO)であるので、直ちに本処理を終了する。EGR弁22の開閉動作が所定回数TWAVE80A実行されると、ステップS125からステップS126に進み、判定パラメータRT80Aを積算ホールド値RT80AHLDに設定し、次いで積算演算終了フラグFRTEND80Aを「1」に設定する(ステップS127)。その後本処理を終了する。
【0075】
図11の処理で、判定終了フラグFDONE80Aが「1」に設定されると、ステップS111からステップS112に進み、積算ホールド値RT80AHLDを「0」に設定する。さらにカウンタCWAVE80Aの値を「0」に設定し(ステップS113)、積算演算終了フラグFRTEND80Aを「0」に設定する(ステップS114)。その後本処理を終了する。
【0076】
図11は、図4のステップS5で実行される漏れ判定処理のフローチャートである。
ステップS131では、実行許可フラグFGO80Aが「1」であるか否かを判別する。この答が肯定(YES)であるときは、判定終了フラグFDONE80Aが「1」であるか否かを判別する(ステップS132)。最初はこの答は否定(NO)であるので、ステップS136に進み、積算演算終了フラグFRTEND80Aが「1」であるか否かを判別する。この答が否定(NO)であるときは直ちに本処理を終了する。図10の処理で積算演算が終了し、積算演算終了フラグFRTEND80Aが「1」に設定されると、ステップS136からステップS137に進み、判定パラメータRT80Aが判定閾値LT80A以下であるか否かを判別する。この答が肯定(YES)であれば、空燃比補正係数KAFの変動が小さい(図2(a)参照)ので、正常と判定し、正常判定フラグFOK80Aを「1」に設定する(ステップS139)。
【0077】
またRT80A>LT80Aであって、空燃比補正係数KAFの変動が大きい(図2(b)参照)ときは、排気還流装置に漏れがあると判定し、故障判定フラグFSD80Aを「1」に設定する(ステップS138)。
ステップS141では、判定終了フラグFDONE80Aを「1」に設定し、その後本処理を終了する。
【0078】
実行許可フラグFGO80Aが「0」であるとき、または判定終了フラグFDONE80Aが「1」であるときは、直ちに本処理を終了する。
【0079】
図12は、上述した故障診断処理を説明するためのタイムチャートである。図12(f)及び(h)において、空燃比補正係数KAF及び判定パラメータRT80Aの推移を示す破線は、漏れが有る場合に対応し、実線は正常な場合に対応する。
【0080】
時刻t1に実行条件が成立すると、吸気弁の閉弁時期が通常閉弁時期であれば直ちにパージカット指令フラグFPGC80Aが「1」に設定され(図6,ステップS37)、図12(c)に示すようにパージ制御弁33の開弁デューティDUTYが徐々に「0」まで減少する。時刻t1から所定時間TMEGRC80A経過後の時刻t2からEGR弁22の開閉制御が開始される(図12(d)(e))(図8参照)。
【0081】
時刻t1から所定時間TMKAFFILST経過後の時刻t3に、積算パラメータRT80ATMPの演算が開始される(図12(b)(h))。なお、図12(h)には、わかりやすくするため、積算パラメータRT80ATMPと、積算ホールド値RT80AHLDとを加算した積算値RT80AXの推移が示されている。
【0082】
時刻t3から時間(2×TMEGRC80A)が経過した時刻t4においてEGR弁22の開閉制御の1周期が終了する(図12(d)(g))。時刻t5に実行条件不成立となるので、通常制御に戻るが、積算ホールド値RT80AHLDは維持される(図12(h))。時刻t4からt5までの間、積算パラメータRT80ATMPは細い線で示すように増加するが、開閉制御の1周期分の積算が終了しないため、結局積算ホールド値RT80AHLDに加算されず、積算パラメータRT80ATMPは「0」に戻される(図10,ステップS116,S117)。
【0083】
時刻t6にまた実行条件が成立すると、所定時間TMKAFFILST経過後の時刻t7から、上記と同様にして積算パラメータRT80ATMP及び積算ホールド値RT80AHLDの算出が開始される(図12(h))。漏れが有る場合には、時刻t7とt8の間において、積算値RT80AX(=RT80ATMP+RT80AHLD)が判定閾値LT80Aを超える。時刻t8においてEGR弁22の開閉制御の1周期が終了し、判定パラメータRT80Aによる判定が行われる(図10,ステップS125〜S127,図11、ステップS136,S137)。その結果、破線で示す例では、漏れが有ると判定され(図12(i))、実線で示す例では正常と判定される。
【0084】
以上詳述したように本実施形態では、EGR弁22の開閉制御が行われて、空燃比補正係数KAFの変動成分に相当するフィルタ処理後補正係数KAFFIL80Aが算出され、このフィルタ処理後補正係数KAFFIL80Aの絶対値を積算することにより、判定パラメータRT80Aが算出される。そして判定パラメータRT80Aが判定閾値LT80Aを超えると、排気還流装置に漏れがあると判定される。例えば排気還流通路21に漏れがある場合、EGR弁22の開閉制御を一定周期で行うと、開閉制御周期と同一周期で空燃比補正係数KAFが変動する。ここで開閉制御周期は既知であるので、中央値算出によるローパスフィルタ処理及びハイパスフィルタ処理、すなわち両者を併せたバンドパスフィルタ処理により、漏れが有る場合の変動成分を正確に検出することができる。その結果、比較的簡便な手法で故障判定精度を高めることができる。
【0085】
本実施形態では、ECU5が空燃比制御手段、故障判定手段、フィルタ手段、実行条件判定手段、及びEGR補正手段を構成する。より具体的には、LAFセンサ14の出力に応じて空燃比補正係数KAFを算出し、前記式(1)により燃料噴射時間TOUTを算出する処理が空燃比制御手段に相当し、図4の処理が故障判定手段に相当する。また図9の処理がフィルタ手段に相当し、図5〜7の処理が実行条件判定手段に相当する。また前記式(1)に適用されるEGR補正係数KEGRをEGR弁22の弁開度LACTに応じて算出し、式(1)により燃料噴射時間TOUTを算出する処理がEGR補正手段に相当する。
【0086】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、エンジン回転数NE及び吸気管内絶対圧PBAに応じて基本燃料量TIMを算出する、いわゆるスピードデンシティ方式が採用されている例を示したが、吸気管2のスロットル弁3の上流側に吸入空気流量センサを設け、この吸入空気流量センサにより検出される吸入空気流量GAに応じて基本燃料量TIMを算出するようにしてもよい。その場合には、前記式(1)に代えて、EGR補正係数KEGRを含まない下記式(1a)により、燃料噴射時間TOUTが算出される。
TOUT=TIM×KCMD×KAF×K1+K2 (1a)
【0087】
この場合には、排気還流を実行することにより吸入空気流量が減少すると、吸入空気流量センサにより検出される吸入空気流量GAに反映されるので、吸入空気流量GAに応じて空燃比がほぼ理論空燃比となるように設定される基本燃料量TIMは、排気還流による新気の減少が反映された値となる。したがって、EGR補正係数KEGRを含まない式(1a)が用いられる。
【0088】
この変形例では、EGR弁22リフト量LACTを変化させると、排気還流量の変化に応じて基本燃料量TIMが変化し、排気還流装置が正常である場合には、空燃比補正係数KAFは、常に「1.0」近傍の値をとる(図2(a))。
これに対し排気還流装置に漏れがある場合には、EGR弁22のリフト量LACTを増加させると、排気と新気が混合されたガスが吸気管2に流入する。その結果、吸入空気量流量GAに応じて設定される基本燃料量TIMの減少量が過大となって、空燃比がリーン側にずれ、それを補正すべく空燃比補正係数KAFが増加する。したがって、図2(b)に示すように、リフト量LACTの変化とほぼ同一の周期で、空燃比補正係数KAFが変化することになる。
【0089】
また上述した実施形態では、空燃比制御量の変動成分を示すパラメータとして、空燃比補正係数KAFにローパスフィルタ処理及びハイパスフィルタ処理(バンドパスフィルタ処理)を施して算出されるフィルタ処理後補正係数KAFFIL80Aを用いたが、これに限るものではなく、例えばEGR弁22の開閉制御の1周期の期間における空燃比補正係数KAFの平均値KAFAVEを算出し、この平均値KAFAVEと、空燃比補正係数KAFとの偏差DAFを、空燃比制御量の変動成分を示すパラメータとして用いるようにしてもよい。さらに偏差DAFにフィルタ処理(ローパスフィルタ処理またはバンドパスフィルタ処理)を施したものを、空燃比制御量の変動成分を示すパラメータとして用いてもよい。
【0090】
また本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンなどの制御にも適用が可能である。
【図面の簡単な説明】
【0091】
【図1】本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。
【図2】本実施形態における排気還流装置の故障判定手法を説明するための図である。
【図3】故障判定を行うモジュールの構成を示す機能ブロック図である。
【図4】故障判定を行う処理のフローチャートである。
【図5】故障判定の実行条件を判定する処理のフローチャートである。
【図6】故障判定の実行条件を判定する処理のフローチャートである。
【図7】故障判定の前条件を判定する処理のフローチャートである。
【図8】排気還流制御弁の開閉制御を行う処理のフローチャートである。
【図9】空燃比補正係数(KAF)のフィルタ演算を行う処理のフローチャートである。
【図10】判定パラメータ(RT80A)を算出する処理のフローチャートである。
【図11】漏れ判定を行う処理のフローチャートである。
【図12】故障判定処理を説明するためのタイムチャートである。
【符号の説明】
【0092】
1 内燃機関
2 吸気管
5 電子制御ユニット(空燃比制御手段、故障判定手段、フィルタ手段、実行条件判定手段、EGR補正手段)
6 燃料噴射弁
12 排気管
14 空燃比センサ
21 排気還流通路(排気還流装置)
22 排気還流制御弁(排気還流装置)
【特許請求の範囲】
【請求項1】
内燃機関の排気を吸気系に還流させる排気還流通路と、該排気還流通路に設けられ、還流する排気の流量を制御する排気還流制御弁とを有する排気還流装置を備えた内燃機関の制御装置において、
前記機関の排気通路に設けられた空燃比センサと、
該空燃比センサの出力に基づいて前記機関に供給される混合気の空燃比をフィードバック制御する空燃比制御手段と、
前記排気還流制御弁の開度を所定周期で変化させたときに前記空燃比制御手段により算出される空燃比制御量の変動成分に基づいて、前記排気還流装置の故障を判定する故障判定手段とを備えることを特徴とする内燃機関の制御装置。
【請求項1】
内燃機関の排気を吸気系に還流させる排気還流通路と、該排気還流通路に設けられ、還流する排気の流量を制御する排気還流制御弁とを有する排気還流装置を備えた内燃機関の制御装置において、
前記機関の排気通路に設けられた空燃比センサと、
該空燃比センサの出力に基づいて前記機関に供給される混合気の空燃比をフィードバック制御する空燃比制御手段と、
前記排気還流制御弁の開度を所定周期で変化させたときに前記空燃比制御手段により算出される空燃比制御量の変動成分に基づいて、前記排気還流装置の故障を判定する故障判定手段とを備えることを特徴とする内燃機関の制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2006−257881(P2006−257881A)
【公開日】平成18年9月28日(2006.9.28)
【国際特許分類】
【出願番号】特願2005−72163(P2005−72163)
【出願日】平成17年3月15日(2005.3.15)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
【公開日】平成18年9月28日(2006.9.28)
【国際特許分類】
【出願日】平成17年3月15日(2005.3.15)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
[ Back to top ]