(57)【特許請求の範囲】
【請求項１】
内燃機関を冷却する冷却循環経路に設けられたサーモスタットの故障を判定する故障検出手段と、
外気温度を検出する外気温度検出手段と、
前記冷却循環経路を還流する冷却水の冷却水温を検出する冷却水温検出手段とを備え、
前記故障検出手段は、前記冷却水温検出手段により検出された冷却水温に基づいて前記サーモスタットの故障を判定し、故障判定するための判定値を、始動からサーモスタットの故障が行われるまでの前記冷却水温検出手段により検出される最低実冷却水温と、前記外気温度検出手段により検出される外気温度とに基づいて設定することを特徴とする内燃機関のサーモスタット故障検出装置。
【請求項２】
前記故障判定手段は、前記実冷却水温に代えて内燃機関始動時の外気温を用いて前記判定値を設定することを特徴とする請求項１に記載の内燃機関のサーモスタット故障検出装置。
【請求項３】
前記冷却循環経路を還流する冷却水の冷却水温を推定する冷却水温推定手段と、
前記冷却水温検出手段により検出される実冷却水温と前記冷却水温推定手段により推定される推定冷却水温との偏差を算出する偏差算出手段とを備え、
前記故障検出手段は、前記偏差算出手段により算出された値と前記判定値とを比較して前記サーモスタットの故障を判定することを特徴とする請求項１または請求項２に記載の内燃機関のサーモスタット故障検出装置。
【請求項４】
前記冷却循環経路を還流する冷却水の冷却水温を推定する冷却水温推定手段と、
前記冷却水温検出手段により検出される実冷却水温と前記冷却水温推定手段により推定される推定冷却水温との偏差を積算する偏差積算手段とを備え、
前記故障検出手段は、前記偏差積算手段により積算された値と前記判定値とを比較して前記サーモスタットの故障を判定することを特徴とする請求項１または請求項２に記載の内燃機関のサーモスタット故障検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の冷却水の温度調節を行うサーモスタットの故障の有無を検出する内燃機関冷却系のサーモスタット故障検出装置に関するものである。
【０００２】
【従来技術】
一般に、水冷式の内燃機関では、内燃機関内の冷却循環経路（ウォータジャケット）とラジエータとの間で冷却水を循環させる冷却水循環経路に、冷却水温に応じて自動的に開閉するサーモスタットを設け、内燃機関の始動後に暖機運転が完了するまでは、サーモスタットを閉じて冷却水の循環を停止し、内燃機関側の冷却水温を速やかに適正温度域に上昇させる。これにより、燃費の向上、エミッションの低減を図ることができる。更に、冷却水温を適正温度に維持するために、従来技術は、内燃機関側の冷却水温が適正温度域を越えたときにサーモスタットを自動的に開いて、ラジエータ側の冷えた冷却水を内燃機関側へ循環させて内燃機関側の冷却水温を適正温度域まで低下させるようになっている。
【０００３】
ところが、内燃機関始動後の暖機運転時にサーモスタットが故障により開いたままの状態が継続すると、冷却循環経路を循環する冷却水がラジエータにより冷やされるために、冷却水温が適正温度になるのが遅延されてしまう。以下、サーモスタットが開いたままの故障を開故障という。また、サーモスタットが故障により閉じたままの状態になると、ラジエータ側の冷えた冷却水温が上昇しつづけ、内燃機関がオーバーヒートしてしまう虞がある。したがって、サーモスタットの故障が発生したときには、それを直ちに検出してドライバーに警告することが望ましい。サーモスタットの故障を検出する公知技術として、特開平１０−１８４４３３号公報がある。前記公報では、特に、サーモスタットの開故障を検出するために、内燃機関が冷間始動した後の水温挙動を検出し、冷却水温の挙動に基づいて検出している。このとき、サーモスタットが開故障であれば、正常時に比して冷却水温の挙動が大きく異なることを検出してサーモスタットの開故障を検出している。
【０００４】
【発明が解決しようとする課題】
ところが、前記公報の技術では、サーモスタットが正常であっても、内燃機関の冷却水を熱源としている空調装置（ヒータ）が作動することにより、サーモスタットの開故障と誤検出する虞がある。図６を用いて詳細を説明すると、ヒータが作動しているときは、内燃機関の冷却水温がヒータへ熱を放出するために正常時の冷却水温に比して、冷却水温の上昇が緩やかになる。このため、サーモスタットが正常であってもヒータが作動しているときの冷却水温（実水温２）と、サーモスタットが開故障時の冷却水温（実水温３）の挙動が類似したものとなり、精度良く開故障の検出をすることが困難であった。
【０００５】
また、前記公報の技術では、外気温等により判定値を補正するようにしているが、内燃機関始動後の冷却水温の挙動は、冷却水温度と外気温との差に大きく影響を受けるため、単に外気温だけで判定値を補正しても精度良くサーモスタットの開故障を検出することは困難である。
【０００６】
例えば、寒冷地においてブロックヒータを使用し、内燃機関が温まってから始動したときと、ブロックヒータを使用せずに始動したときとでは始動時の冷却水温が大きく異なる。また、寒冷地において、ガレージ内で内燃機関を始動したときと、外で内燃機関を始動したときでも始動時の冷却水温が異なる。更に、内燃機関温度が比較的高い状態、いわゆる半ソーク状態で始動したときと、冷間始動した時とでは始動時の冷却水温が異なる。このような場合、たとえ外気温が同じであっても、その後の冷却水温挙動は大きく異なってしまう。
【０００８】
冷却水温の挙動が冷却水温と外気温度とにより影響を受けても精度良くサーモスタットの故障を検出することができる内燃機関のサーモスタット故障検出装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
【００３５】
請求項１の発明によれば、内燃機関のサーモスタット故障検出装置において、サーモスタットの故障を検出するために用いられる判定値が、始動からサーモスタットの故障が行われるまでの最低の実水温と外気温度とに基づいて設定される。
【００３６】
これにより、内燃機関の冷却水温の挙動が冷却水温と外気温との差により影響を受けても、正確にサーモスタットの故障を検出することができる。
【００３７】
請求項２の発明によれば、請求項１に記載のサーモスタットの故障検出装置において、判定値が、内燃機関始動時の外気温とその後の外気温とに基づいて設定される。
【００３８】
ここで、内燃機関が停止されてから再び始動されるまでに十分な時間が（例えば８時間）経過したのであれば内燃機関始動時の実冷却水温と内燃機関始動時の外気温とはほぼ等しいと考えることができるので、内燃機関始動時の環境が変化しても、正確にサーモスタットの故障を検出することができる。
【００３９】
また、判定値を内燃機関始動時の外気温とその後の外気温とに基づいて設定するので、冷却水温の挙動が外気温変化により影響を受けても、正確にサーモスタットの故障を検出することができる。
【００４０】
請求項３の発明によれば、請求項１または請求項２に記載の内燃機関のサーモスタット故障検出装置において、実冷却水温と推定冷却水温との偏差と、判定値とによりサーモスタットの故障を検出する。そして、判定値は、外気温度と冷却水温、または、始動時の外気温とその後の外気温とに基づいて設定される。これにより、冷却水温と外気温により判定値を最適に設定できるので、正確にサーモスタットの故障を検出することができる。
【００４１】
請求項４の発明によれば、請求項１または請求項２に記載の内燃機関のサーモスタット故障検出装置において、実冷却水温と推定冷却水温との偏差を積算し、得られる偏差積算値と、判定値とによりサーモスタットの故障を検出する。そして、判定値は、外気温度と冷却水温、または、始動時の外気温とその後の外気温とに基づいて設定される。
【００４２】
これにより、例えば内燃機関の冷却水温の上昇が通常の冷間始動に比べて早い場合には、推定冷却水温と実冷却水温との偏差を積算する回数が少なくなってしまうが、このような場合においても、冷却水温と外気温とにより判定値を最適に設定できるので正確にサーモスタットの故障を検出することができる。
【００４３】
【実施例】
＜第１の実施例＞
本発明の実施例である第１の実施例を図１乃至図６に基づいて説明する。まず、図１に基づいて内燃機関１１の冷却系全体の概略構成を説明する。
【００４４】
内燃機関１１のシリンダブロックとシリンダヘッドの内部にはウォータジャケット１２が設けられ、このウォータジャケット１２内に冷却水が注入されている。このウォータジャケット１２の出口部にはサーモスタット１３が設けられ、このサーモスタット１３を通過する高温の冷却水が冷却水循環路１４を介してラジエータ１５とヒータコア３０に送られる。このラジエータ１５で放熱して温度低下した冷却水は、冷却水循環路１６を介してウォータジャケット１２内に戻される。また、ヒータコアは通常の空調装置の熱源として用いられている。従って、サーモスタット１３の開弁時には、冷却水がウォータジャケット１２→サーモスタット１３→冷却水循環路１４→ラジエータ１５、もしくは、ラジエータ１５とヒータコア３０→冷却水循環路１６→ウォータジャケット１２という経路で循環し、内燃機関１１を適温に冷却する。
【００４５】
また、ウォータジャケット１２の入口部にはウォータポンプ１７が設けられ、このウォータポンプ１７がラジエータ１５の後方に設置された冷却ファン１８と連結され、これらウォータポンプ１７と冷却ファン１８とがベルト１９を介して伝達される内燃機関動力によって一体的に回転駆動される。ウォータポンプ１７の回転により上記冷却水循環経路での冷却水の循環を促進し、冷却ファン１８の回転によりラジエータ１５の放熱効果を高め、ラジエータ１５内の冷却水の冷却を促進する。
【００４６】
内燃機関１１のシリンダブロックには、サーモスタット１３よりも内燃機関１１側の冷却水循環経路であるウォータジャケット１２内の冷却水温を検出する冷却水温センサ２０が設けられている。
【００４７】
冷却水温センサ２０の出力信号は電子制御装置２２（以下「ＥＣＵ」と略記する）に取り込まれる。このＥＣＵ２２は、マイクロコンピュータを主体として構成され、内燃機関制御とサーモスタット１３の故障診断とを行う。尚、ＥＣＵ２２は、内燃機関制御用ＥＣＵとサーモスタット１３の故障診断用ＥＣＵとに分離された２つのＥＣＵから構成しても良いし、１つのＥＣＵで内燃機関制御とサーモスタット故障診断の双方を行うようにしても良い。
【００４８】
ＥＣＵ２２には、内燃機関制御やサーモスタット１３の故障診断を行うための情報として、上述した冷却水温センサ２０からの冷却水温信号の他、内燃機関回転速度センサ２３からの内燃機関回転速度信号、吸気量センサ２４からの吸気量信号、吸気温センサ２５からの吸気温信号、車速センサ２６からの車速信号が読み込まれる。このＥＣＵ２２には、サーモスタット１３の故障を検出したときにそれを警告する異常ランプ２８と、サーモスタット１３の故障情報を記憶する書込み可能な不揮発性メモリであるバックアップＲＡＭ２９が接続されている。このバックアップＲＡＭ２９は、内燃機関停止中もバッテリ（図示せず）から電源が供給され、故障情報の記憶を保持し、修理・点検時に故障情報を読み出せるようになっている。
【００４９】
本実施例の構成において、ヒータコア３０は内燃機関１１を冷却するための冷却水路中に配設されている。このヒータコア３０は、この冷却水を熱源としているために、空調装置が使用されたときにヒータコアが冷却水の熱を奪ってしまう。本実施例においては、サーモスタットの故障検出を内燃機関の冷間始動からの冷却水温に基づいて実施しており、このように空調装置が使用され冷却水温の熱が奪われるとサーモスタットの故障を精度良く検出することができなくなる。具体的には、実際の冷却水温と推定した冷却水温に基づいてサーモスタットの故障を検出しているが、このときに空調装置が使用されると、ＥＣＵ２２が様々な信号に基づいて算出する冷却水温の推定値より、検出される冷却水温の方が小さくなってしまう。
【００５０】
図６を用いて説明すると、サーモスタット１３が正常であってもヒータコアが作動した場合には、内燃機関が冷間始動してから所定時間が経過すると、サーモスタット１３が開故障したときの冷却水温挙動のように、冷却水温が上昇するのが遅くなってしまう。このため、サーモスタット１３が正常時の冷却水温とサーモスタット１３が開故障のときの冷却水温を冷却水温の偏差でみるものでは、ヒータコア作動による冷却水温の低下をサーモスタット１３の開故障と誤検出してしまう問題がある。
【００５１】
この問題を解決し精度良くサーモスタット１３の故障を検出するためにＥＣＵ２２が行う本実施例の制御を図２のフローチャートを用いて説明する。
【００５２】
まず、ステップ１０にてイグニッション（以下ＩＧ）キーがオンで且つ内燃機関始動前であるかが判定される。ＩＧキーがオフまたは内燃機関が始動後であれば否定条件が成立し、ステップ３０に進む。ＩＧキーがオン且つ内燃機関始動前であれば、ステップ１５へ進む。ステップ１５では、始動前処理が実施される。
【００５３】
図３のルーチンは図２のメインルーチンステップ１５にてサブルーチンコールされる。始動前処理として図３のステップ１６では、始動時の冷却水温を検出し、ステップ１７に進む。ステップ１７では、内燃機関の始動時の冷却水温に応じた判定値として第１の所定値Ｃ１と第２の所定値Ｃ２を算出し、メインルーチンへ戻る。
【００５４】
メインルーチン図２のステップ２０では、エンジンが始動されたか否かが判定される。エンジンが始動されれば（スタータＯＮ）ステップ３０へ進み、始動前であれば本ルーチンを終了する。ステップ３０にて、始動時水温が所定値以下であるか否かを判定する。ここで、始動時水温が所定値以下であるかを判定するのは、冷間始動時であるかを判定している。また、この所定値はサーモスタット開弁温度よりも低い値である。そして始動時水温が所定値以上のときは、本ルーチンを終了し、始動時水温が所定値以下であるときはステップ４０に進む。ステップ４０では、後述する第１の判定が行われたか否かを示すフラグＦｆｉが０か否かを判定する。ここで、フラグＦｆｉが１であれば第１の判定が行われたことと判定してステップ１１０へ進み、フラグＦｆｉが０であればまだ第１の判定が行われていないと判断してステップ５０へ進み第１の偏差積算処理が開始される。
【００５５】
図４は、この図２のステップ５０にて実行される第１の偏差積算処理を示すルーチンであり、ステップ５０でサブルーチンコールされる。
【００５６】
図４のステップ５１にてタイマＴ１がインクリメントされる。このタイマＴ１は、第１の判定が行われるためのタイマである。そして、ステップ５２にて運転状態に応じた冷却水温の推定値が算出され、ステップ５３へ進む。ここで冷却水温の推定方法としては、内燃機関の始動時水温と経過時間とに基づいてあらかじめ記憶されているマップから読み取るようにしても良いし、演算により求めるようにしても良い。なお、冷却水温を推定するに当たり、更に内燃機関の発生熱量を考慮することが好ましい。
【００５７】
ステップ５３では、冷却水温の推定値と検出値とから冷却水温の偏差（第１の偏差＝推定値−検出値）が算出され、ステップ５４へ進む。ステップ５４では、ステップ５３にて算出された偏差に基づいて偏差の積算値（第１の偏差積算値＝前回積算値＋第１の偏差）が算出される。ステップ５５では、タイマＴ１が所定値Ｃ３を越えたかが判定される。タイマＴ１が所定値Ｃ３を越えたならば、ステップ５６にて第１の判定を開始するための第１の判定開始フラグに１を入力し本ルーチンを終了する。ステップ５５にてタイマＴ１が所定値Ｃ３以下であれば、そのまま本ルーチンを終了し、図２のメインルーチンのステップ６０へ戻る。
【００５８】
図２のメインルーチンのステップ６０では、第１の判定開始フラグが１か否かが判定される。第１の判定フラグが０であれば本メインルーチンを終了する。すなわち、タイマＴ１が所定値Ｃ３になるまで積算処理が繰り返されるようになっている。ステップ６０にて第１の判定開始フラグが１であれば、第１の判定を開始するためにステップ７０へ進む。ステップ７０では、ステップ５０の第１の偏差積算処理で算出した第１の偏差積算値が第１の所定値Ｃ１を越えたか否かが判定される。第１の偏差積算値が所定値Ｃ１以上であれば、ステップ８０にて第１の所定値Ｃ１を越えたことを示す第１の判定フラグに１をセットし、ステップ１００へ進み、第１の所定値Ｃ１以下であれば、ステップ９０にて第１の判定フラグに０をセットし、ステップ１００へ進む。ステップ１００では、第１の判定が終了したことを示すフラグＦｆｉに１をセットし本ルーチンを終了する。
【００５９】
第１の判定が終了すると第２の判定が開始される。本ルーチンのステップ４０にて第１の判定が終了したことを示すフラグＦｆｉが１であると判定されるとステップ１１０に進み、第２の偏差積算処理が実施される。
【００６０】
図５は、第２の偏差積算処理を示すルーチンであり、メインルーチン図２のステップ１１０でサブルーチンコールされる。
【００６１】
図５のステップ１１１にてタイマＴ２がインクリメントされる。タイマＴ２は、第２の判定を開始する時期をカウントするタイマである。そして、ステップ１１２にて運転状態に応じた冷却水温の推定値が算出され、ステップ１１３へ進む。ステップ１３３では、冷却水温の推定値と検出値とから冷却水温の偏差（第２の偏差＝推定値−検出値）が算出され、ステップ１１４へ進む。ステップ１１４では、ステップ１１３にて算出された偏差に基づいて第２の偏差積算値（第２の偏差積算値＝前回積算値＋第２の偏差）が算出される。ステップ１１５では、タイマＴ２が所定値Ｃ４を越えたかが判定される。タイマＴ２が所定値Ｃ４を越えたならば、ステップ１１６にて第２の判定を開始するための第２の判定開始フラグに１を入力し本ルーチンを終了する。ステップ１１５にてタイマＴ１が所定値Ｃ４以下であれば、そのまま本ルーチンを終了し、図２のメインルーチンのステップ１２０へ戻る。
【００６２】
図２のメインルーチンのステップ１２０にて第２の判定開始フラグが１か否かを判定する。第２の判定開始フラグが０であれば本ルーチンを終了し、第２の判定開始フラグが１であれば、ステップ１３０以降の第２の判定処理に進む。
【００６３】
ステップ１３０以降では、第２の判定が行われる。ここでは、第１の判定結果に基づいてヒータ作動・非作動が判定され、最終的なサーモスタット１３の故障検出が行われる。ステップ１３０では、ステップ１１０で算出された第２の偏差積算値が、第２の所定値Ｃ２より大きいか否かが判定される。第２の積算値が第２の所定値Ｃ２よりも大きければ、ステップ１４０にて第１の判定フラグが０であるか否かが判定される。ここで第１の判定フラグが１であれば、ステップ１５０にてサーモスタット１３の開故障であるとし、異常ランプを点灯し、ステップ１７０へ進む。また、ステップ１３０で第２の偏差積算値が第２の所定値Ｃ４以下であるときと、ステップ１４０で第１の判定フラグが０のときは、ステップ１６０へ進みサーモスタット１３が正常であることを示す正常判定をしステップ１７０へ進む。ステップ１７０では、本ルーチンの初期化をするために第１の判定開始フラグと第２の判定開始フラグ、フラグＦｆｉを０にセットし本ルーチンを終了する。
【００６４】
なお、本ルーチンでは、タイマＴ１・Ｔ２が所定期間（所定値Ｃ３・Ｃ４）を経過すると第１の判定と第２の判定を行っているが、推定冷却水温が第１・第２の所定水温になったら第１・第２の判定を行うようにしても良い。特に、タイマＴ１に代わって設定される所定水温は、ヒータ作動により冷却水温の挙動に影響がでる前の冷却水温に設定されるのが望ましい。所定の冷却水温に設定されることで、常に冷却水温がヒータ作動による影響を受けない期間で第１の判定をおこなうことができる。また、第１・第２の判定を開始するための所定期間または所定水温は、本ルーチンでは固定値にセットされているが、内燃機関の運転状態に応じて設定されるものでも良い。
【００６５】
第１・第２の判定の際に、第１・第２の偏差積算値を第1・第2の所定値Ｃ１・Ｃ２と比較しているが、所定値Ｃ１・Ｃ２は、運転状態に応じて設定されるものでも良い。
【００６６】
次に、本ルーチンの冷却水温の挙動を示す図を図６に示す。図６は内燃機関の冷間始動後の冷却水温を示している。それぞれ、内燃機関の運転状態により推定される冷却水温の推定値と３つの冷却水温の検出値が示されている。３つの検出値は、サーモスタット１３が正常な状態でヒータ非作動時の冷却水温（以下実水温１という）とサーモスタット１３が正常な状態でヒータが作動しているときの冷却水温（以下実水温２という）、サーモスタット１３が異常な状態の冷却水温（以下実水温３という）とである。
【００６７】
第１の判定処理は冷却水温の推定値と実水温２の偏差が大きくなるまでの期間に行われるように設定されている。すなわち、第１の判定は、冷却水温にヒータ作動・非作動の影響が出ないところで行われている。ここで、第１の偏差積算処理は内燃機関の始動後から第１の判定処理が実行されるまで行われている。つぎに、第２の判定処理が第１の判定処理の所定期間後（所定値Ｃ２）に行われる。第２の判定処理が終了すると、第１・第２の判定結果に基づいて最終的なサーモスタット１３の故障判定が行われている。このように２つの判定処理に基づいてサーモスタット１３の故障検出が行われるために、従来ではサーモスタット１３の開故障であると判定し、誤検出する虞のあった実水温２をヒータ作動による影響であると判定することができる。したがって、本発明では、ヒータ作動による冷却水温の低下をサーモスタット１３の開故障と誤判定することなく精度の高い故障検出を実施することができる。
【００６８】
なお、第１・第２の判定手段は、メインルーチンで説明したように冷却水温が所定水温に達したときに実施しても良い。また、第１の判定が実施されて、ヒータの影響が出る期間からヒータによる影響を見込んで冷却水温の推定値を補正（推定冷却水温補正手段）しても良い。これによりサーモスタット１３が正常でヒータが作動しているときは、冷却水温の推定値もヒータの影響を見込んで補正されているので、両冷却水温に偏差が出ることがない。このとき、ヒータが作動していると判定することができる。このように補正された冷却水温の推定値を判定値としての第２の所定値と比較することで、例えば、サーモスタット１３が正常でヒータが非作動な場合（図６の実水温１）は、補正された冷却水温の推定値から実水温１を差し引くと負の値となり、これをサーモスタット１３は正常であると判定すれば良い。また、サーモスタット１３が開故障である冷却水温（実水温３）は、補正された冷却水温の推定値から実水温３を差し引いたときに第２の所定値以上となるので、このときに、サーモスタット１３が開故障であるとして異常ランプ２８を点灯させるようにすればよい。
【００６９】
なお、ここで補正された冷却水温の推定値に基づいてヒータの作動判定とサーモスタット１３の故障検出を行う方法は、上記実施例で記載したように、冷却水温の推定値と実測値の偏差を積算させ、判定値と比較するものでも良く、判定値・冷却水温の推定値も運転状態に基づいて算出されるものでも良い。これにより精度良くサーモスタット１３の開故障を検出することができる。
【００７０】
本実施例において、ヒータ作動判定手段および故障検出手段は、図２のメインルーチンに、冷却水温推定手段は、図４のフローチャートのステップ５２と図５のフローチャートのステップ１１２とに、冷却水温検出手段は、図１の冷却水温センサ２０に、第１の判定手段は、図２のフローチャートのステップ７０に、第２の判定手段は、図２のフローチャートのステップ１３０に、第１の偏差積算手段は、図２のステップ５０に、第２の偏差積算手段は、図２のステップ１１０に、運転状態検出手段は、図１のエンジン回転速度センサ２３と吸気量センサ２４と吸気温センサ２５と車速センサ２６とに、相当し機能する。
【００７１】
＜第２の実施例＞
本発明の第２の実施例を説明する。本実施例では、車両の室内に室内温度センサが設けられ以下に示す方法でヒータ作動・非作動の判定が行われ、ヒータ作動判定の所定期間後に第２の判定処理が実施される。この２つの結果により最終的にサーモスタット１３の故障が検出される。図７に本実施例のメインルーチンを示す。ステップ１０からステップ３０は、第１の実施例と同様の処理をする。そして、ステップＳ４０では、ヒータ作動判定が行われたことを示すフラグＦｓｅが１か否かを判定する。フラグＦｓｅが１であれば第２の判定をするためにステップ１１０以降の処理へ進み、フラグＦｓｅが０であればステップＳ５０にてヒータ作動判定処理が行われる。
【００７２】
ヒータ作動判定処理は、図８に示されるルーチンにて実施される。ヒータ作動判定処理では、まず、ステップＳ５１にてタイマＴ３がインクリメントされる。そしてステップＳ５２にてタイマＴ３が所定値Ｃ５以上であるか否かが判定される。タイマＴ３が所定値Ｃ５以下であれば、本ルーチンを終了し、タイマＴ３が所定値Ｃ５以上であれば、ヒータが作動しているか否かを判定する処理に移る。ステップＳ５３では、室内温度センサ（図示しない）により検出される車両室内の温度と外気温度センサ（図示しない）により検出される外気温度とが検出される。そしてステップＳ５４にて、ステップＳ５３にて検出された室内・外の温度偏差（温度偏差＝室内温度−室外温度）が算出される。そしてＳ５５へ進み、温度偏差が所定値Ｃ６以上か否かが判定される。温度偏差が所定値Ｃ６以上であれば、ステップＳ５６に進む。ステップＳ５６では、室内・外の温度差が大きい、即ちヒータ作動中であると判定してヒータ作動フラグに１を入力しステップＳ５８へ進む。ステップＳ５５で、室内・外の温度偏差が所定値Ｃ４以下である場合は、ステップＳ５７にてヒータ作動フラグに０を入力し、ステップＳ５８へ進む。ステップＳ５８では、ヒータ作動判定が行われたことを示すフラグＦｓｅに１を入力し、本ルーチンを終了する。
【００７３】
図７のメインルーチンのステップＳ４０にて、ヒータ作動判定が行われたことを示すフラグＦｓｅが１であれば、ステップ１１０に進み、第２の偏差積算処理を実施する。ステップ１２０では第２の判定開始フラグが１か否かが判定される。第２の判定開始フラグが０のとき、すなわち第２の判定を行わないときは、そのまま本ルーチンを終了する。ステップ１２０にて、第２の判定開始フラグが１のとき、すなわち第２の判定を行うときは、ステップ１３０に進む。ステップ１３０では、ステップ１１０で算出した第２の偏差積算値が第２の所定値を越えたか否かを判定する。第２の偏差積算値が第２の所定値を越えたときは、ヒータ作動判定の結果を参照するためにステップＳ１４０へ進む。ステップＳ１４０にて、ヒータ作動フラグが０（ヒータ非作動）であればステップ１５０にて、サーモスタットの故障であるとして異常ランプを点灯させ、ステップＳ１７０へ進む。ステップＳ１４０にて、ヒータ作動フラグが１（ヒータ作動）であればステップ１６０にて、サーモスタットは正常であると判定し、ステップＳ１７０へ進む。ステップ１３０にて、ステップ１１０の第２の偏差積算処理で算出した第２の積算値が第２の所定値以下であるときは、ステップ１６０へ進む。ステップ１６０でサーモスタットは正常であると判定してステップS１７０へ進む。ステップＳ１７０では、フラグＦｓｅ、タイマＴ３と第２の判定開始フラグを０にセットし本ルーチンを終了する。
【００７４】
このように、車両室内の温度を検出できるものにおいては、第１の実施例の第１の判定処理にてヒータが作動しているか否かが判定でき、最終的なサーモスタット１３の故障検出へ反映することができる。例えば、第１の判定処理にてヒータが作動している場合は、禁止手段により故障検出を禁止（故障検出禁止手段）することもできる。
【００７５】
また、ヒータ作動判定処理の方法は、これに限られるものではなく、例えば、内燃機関が始動してからの室内温度の上昇速度を検出し、上昇速度が所定値よりも大きいときにヒータが作動しているとしても良い。また、内燃機関始動時の外気温度と室内温度との偏差温度を算出し、偏差温度の前回値と偏差温度の今回値とを比較して、偏差温度が徐々に大きくなることが判定されたならヒータが作動しているとしても良い。更に、内燃機関の始動時の室内温度が所定時間経過後、所定量以上上昇したらヒータ作動と判定しても良い。
【００７６】
本実施例において、第１の判定手段は、図８のステップＳ５５乃至ステップＳ５７に、第２の判定手段は、図７のステップ１３０に、ヒータ作動判定手段は、図７のステップＳ５０に、故障検出手段は、図７のステップＳ１４０とステップ１５０、１６０に、車両室内温度検出手段と室外温度検出手段とは、図８のステップＳ５４に相当し、機能する。
【００７７】
＜第３の実施例＞
第１の実施例は、図２のステップ１３０において、第２の積算値を第２の所定値と比較することによりサーモスタットの故障を検出するしている。この第２の所定値は固定値、もしくは運転状態に基づいて設定されるものであった。第３の実施例では、この所定値を運転状態ではなく、始動時の冷却水温と外気温度とに基づいて可変に設定することで、冷却水温の挙動が冷却水温と外気温度とにより影響を受けても精度良くサーモスタットの故障を検出することができる。始動されてから外気温度が変化する場合や再始動などにより比較的始動時の冷却水温が高いときにも確実にサーモスタットの故障を検出する。この判定値は、図９に示すマップにより設定される。以下、図９のマップを用いて判定値の設定方法を説明する。
【００７８】
図９のマップは、始動時の冷却水温と外気温度とに対応して設定される判定値である。例えば、始動時の冷却水温が３０℃で判定時に外気温度が０℃のときには、これら始動時の冷却水温と変化後の外気温度に対応する判定値を読み込む。この判定値のマップは、外気温度と始動時冷却水温とが低いほど判定値が大きくなり、外気温度と始動時冷却水温とが高いほど判定値が小さくなるように設定されている。
【００７９】
よって、例えば、寒冷地においてブロックヒータを使用し、内燃機関が温まってから始動したときと、ブロックヒータを使用せずに始動したときとでは始動時の冷却水温が大きく異なる。また、寒冷地において、ガレージ内で内燃機関を始動したときと、外で内燃機関を始動したときでも始動時の冷却水温が異なる。更に、内燃機関温度が比較的高い状態、いわゆる半ソーク状態で始動したときと、冷間始動した時とでは始動時の冷却水温が異なる。
【００８０】
このように、始動時の冷却水温が異なると、判定値を固定値とした場合では誤判定する可能性がある。
【００８１】
しかしながら、このような場合であっても始動時冷却水温と外気温とに基づいてサーモスタットの故障を判定する判定値を設定するので、精度良くサーモスタットの故障を検出することができる。
【００８２】
なお、上記実施例においては、判定値を設定する際に故障判定時の外気温を用いているがこれに限定されるものでない。例えば、判定時に用いる外気温度を、内燃機関の始動時から判定時までの外気温度の平均値としても良く、この場合、外気温度の変化も見込むことができるので更に精度の高い判定値を設定することができる。
【００８３】
また、始動時水温の変わりに始動からサーモスタットの故障判定が行われるまでの最低の冷却水温を用いるようにしても良い。さらに、始動時水温と始動時外気温とが等しい場合には、始動時水温の変わりに始動時の外気温を用いるようにしても良い。
【００８４】
また、外気温を検出する手段としては、外気温センサを設けても良いし、吸気温センサ出力を外気温として用いるようにしても良い。
【００８５】
以上，本実施例によれば、冷却水温の挙動が冷却水温と外気温度とにより影響を受けても精度良くサーモスタットの故障を検出することができる。
【００８６】
＜第４の実施例＞
本実施例では、実水温と推定水温とから算出される偏差積算値を外気温度と始動時冷却水温とに基づいて設定される判定値と比較することによりサーモスタットの故障を検出する。以下、図１０に示されるフローチャートに基づいて詳細を説明する。
【００８７】
このルーチンは所定タイミング毎に繰り返し行われるものである。まず、ステップ５０１にてフラグＲＥが１か否かが判定される。フラグＲＥはサーモスタットの故障検出を行うか否かを示すフラグであり、詳細はステップ５２７にて説明する。ここで、フラグＲＥが１であればそのまま本ルーチンを終了し、フラグＲＥが０であればステップ５０２へと進む。
【００８８】
ステップ５０２では、故障検出の実行条件が成立しているか否かを示すフラグｆｉｒが１か否かを判定する。フラグｆｉｒが０であれば、実行条件が成立していないと判断し、ステップ５０３へ進む。なお、フラグｆｉｒは初期値として「０」が入力されている。ステップ５０３では、始動時の冷却水温を検出し、ステップ５０４へ進む。ステップ５０４では、始動時の冷却水温が所定値以上か否かが判定される。所定値としては、例えば４０℃が設定される。始動時冷却水温が４０℃以上であれば、故障検出の実行条件を満足しないとして本ルーチンを終了する。一方、始動時冷却水温が４０℃以下である場合は、故障検出の実行条件を満足するとしステップ５０５にてフラグｆｉｒに１を立てて本ルーチンを終了する。
【００８９】
ステップ５０２にてフラグｆｉｒが１であると判定されると故障検出を実行すべく、ステップ５０６に進む。ステップ５０６では実冷却水温と外気温度を検出し、ステップ５０７に進む。ステップ５０７では各種補正係数が算出される。補正係数として算出されるものとして、例えば吸入空気量による補正項や前回の推定冷却水温に基づく補正項、回転速度による補正項、外気温度による補正項、車速に基づく補正項などが挙げられる。
【００９０】
つぎに、ステップ５０８ではステップ５０７にて算出された補正項と前回の推定水温に基づいて今回の推定水温が次式により算出される。
推定冷却水温＝前回の推定冷却水温＋（吸入空気量補正項×前回の推定冷却水温に基づく補正項×回転速度補正項）＋（実水温と外気温との偏差に基づく補正項×車速による補正項）
その後、ステップ５０９へ進む。ステップ５０９では、推定冷却水温と実冷却水温の偏差を算出し、ステップ５１０へ進む。ステップ５１０では、ステップ５０９にて算出される偏差と前回の偏差積算値（ｉ−１）とにより今回の偏差積算値（ｉ）を算出する。
【００９１】
次に、ステップ５１１ではタイマＴがインクリメントされる。タイマＴは、タイマＴが所定値に達したときにサーモスタットの仮判定や故障検出を行うためにカウントするタイマである。ステップ５１２では、タイマＴが所定値Ｄ１を越えたか否かを判定する。タイマＴが所定値Ｄ１以下であれば、仮判定タイミングではないとして本ルーチンを終了する。仮判定とは、第１の実施例での第１の判定に相当する。
【００９２】
一方、タイマＴが所定値Ｄ１以上であると、ステップ５１３へ進む。ステップ５１３ではタイマＴが所定値Ｄ２以上か否かが判定される。所定値Ｄ２は、サーモスタットの故障判定を行うタイミングを示す値である。所定値Ｄ２以下であると判定されるとステップステップ５１４へ進む。ステップ５１４では、フラグＳｅｃが１か否かが判定される。フラグＳｅｃは、仮判定が行われたか否かを示すフラグである。フラグＳｅｃが１であると判定されると、仮判定は行われているので本ルーチンを終了する。フラグＳｅｃが０であると判定されると、仮判定を行うべくステップ５１６以降の処理に進む。
【００９３】
ステップ５１６では、判定値Ｊｄｇ１が設定される。設定方法は、第３の実施例に示すものと同一である。ステップ５１７では、ステップ５１０にて算出される偏差積算値（ｉ）が判定値Ｊｄｇ１以上であるか否かが判定される。偏差積算値が判定値以上であればステップ５１９にて、フラグＪ１に１を立ててステップ５２０へ進む。また、偏差積算値（ｉ）が判定値Ｊｄｇ１以下であると判定されるとステップ５１８にてフラグＪ１に０を立ててステップ５２０へ進む。ステップ５２０では、仮判定が行われたことを示すフラグＳｅｃに１を入力して本ルーチンを終了する。
【００９４】
ステップ５１３にて、タイマＴが所定値Ｄ２以上と判定されると、すなわちサーモスタットの故障判定タイミングであると判定されるとステップ５２１に進み、以降のサーモスタットの故障判定処理を実施する。
【００９５】
まず、ステップ５２１では、判定値Ｊｄｇ２が設定される。設定方法は第３の実施例と同様であり、その判定値ｊｄｇ２は図９に示されるマップに基づいて、始動時冷却水温と外気温とから設定される。そして判定値Ｊｄｇ２が設定されると、ステップ５２２にてフラグＪ１が１であるか否かが判定される。フラグＪ１が１であると判定されるとステップ５２３へ進み、偏差積算値（ｉ）が判定値Ｊｄｇ２以上であるか否かが判定される。偏差積算値（ｉ）が判定値Ｊｄｇ２以上であると判定されるとステップ５２４にてサーモスタットが異常であることが判定され、ステップ５２８にてフラグＲｅを「１」にし、本ルーチンを終了する。このフラグＲＥが立つと、本ルーチンのステップ５０１にて常に終了するようになり、次回からサーモスタットの故障判定を行わないようになる。一方、ステップ５２３で偏差積算値（ｉ）が判定値Ｊｄｇ２以下であると判定されるとステップ５２６に進む。ステップ５２６ではサーモスタットが正常であることが判定され、ステップ５２８にてフラグＲｅを「１」にし、本ルーチンを終了する。
【００９６】
また、ステップ５２２にてフラグＪ１が０であるときは、ステップ５２５に進み、偏差積算値（ｉ）が判定値Ｊｄｇ２以上であるか否かが判定される。判定値Ｊｄｇ２以下であると判定されるとステップ５２６にてサーモスタットは正常であるとして本ルーチンを終了する。一方、偏差積算値（ｉ）が判定値Ｊｄｇ２以上であると判定されると、ステップ５２７へ進む。ステップ５２７ではサーモスタットの異常を正確に検出することが不可能であると判断する。その後、ステップ５２８にてフラグＲｅを「１」にし、本ルーチンを終了する。
【００９７】
なお、本実施例において、始動時の推定冷却水温にはディレイ時間が加えられている。つまり、所定のディレイ時間が経過してから冷却水温の推定を開始するようにしている。より詳細に説明すると、このディレイ時間が必要な理由は、始動直後はエンジン本体に熱を奪われるために冷却水温が上昇することが遅延されるためである。このことは始動時の冷却水温によっても影響されるので、始動時冷却水温が低いときにはディレイ時間を長く設定し、始動時冷却水温が高いときにはディレイ時間は短く設定されている。
【００９８】
また、本実施例中ではタイマＴを用いて判定タイミングが決められるが、冷却水温の推定値や実冷却水温によって、判定タイミングを定めても良い。つまり、所定の推定(または実)冷却水温に到達した時、サーモスタットの故障判定を実行するようにしても良い。
【００９９】
つぎに、本実施例のタイムチャートを図１１にしたがって説明する。図１１は外気温度が始動時冷却水温よりも低い場合である。これは、例えば寒冷地においてブロックヒータを使用し、内燃機関が温まってから始動した場合や、寒冷地において、ガレージ内で内燃機関を始動した場合に相当する。この時、外気温度が低いため、外気温度の影響を受けて推定水温に比べるとはるかに正常時の実冷却水温の上昇が遅くなっている。このような場合には通常時（外気温度と始動時の冷却水温とが等しく、判定タイミングまでの外気温度が一定の時）にサーモスタットが故障しているときの水温挙動に近い挙動を示すが、本実施例では始動時冷却水温と外気温により判定値を設定しているのでサーモスタットの故障を検出することができる。
【０１００】
本実施例にて、外気温度検出手段と冷却水温検出手段とは、図１０のステップ５０６に、冷却水温推定手段は、図１０のステップ５０８に、偏差積算手段は、図１０のステップ５１０に、故障検出手段は、図１０のステップ５２２乃至ステップ５２７に相当し、機能する。
【図面の簡単な説明】
【図１】本実施例の全体の構成図を示す図である。
【図２】第１の実施例におけるサーモスタット故障検出を示すメインのフローチャート。
【図３】第１の実施例における始動前処理を示すフローチャート。
【図４】第１の実施例における第１の偏差積算処理を示すフローチャート。
【図５】第１の実施例における第２の偏差積算処理を示すフローチャート。
【図６】それぞれの冷却水温を示す図。
【図７】第２の実施例におけるサーモスタット故障検出を示すメインのフローチャート。
【図８】第２の実施例におけるヒータ作動判定処理を示すフローチャート。
【図９】第３、第４の実施例における始動時の冷却水温と外気温度に基づいて設定される判定値のマップを示す図。
【図１０】第４の実施例におけるサーモスタット故障検出処理を示すフローチャート。
【図１１】第３、第４の実施例の効果を示すタイムチャート。
【符号の簡単な説明】
１１  エンジン
１２  ウォータジャケット
１３  サーモスタット
１４  冷却水循環路
１５  ラジエータ
１６  冷却水循環路
１８  ラジエータファン
２０  冷却水温センサ
２２  ＥＣＵ
２３  エンジン回転速度センサ
２４  吸気量センサ
２５  吸気温センサ
２６  車速センサ
２８  異常ランプ
２９  バックアップＲＡＭ
【図１】
0004174954.tif 000002
【図２】
0004174954.tif 000003
【図３】
0004174954.tif 000004
【図４】
0004174954.tif 000005
【図５】
0004174954.tif 000006
【図６】
0004174954.tif 000007
【図７】
0004174954.tif 000008
【図８】
0004174954.tif 000009
【図９】
0004174954.tif 000010
【図１０】
0004174954.tif 000011
【図１１】
0004174954.tif 000012