(57)【特許請求の範囲】
【請求項１】
ガス濃度センサに付設され、電源からの電力供給により通電されるヒータと、
前記ヒータへの通電を所定の制御デューティ比にてオン・オフ制御するヒータ制御手段とを備えるヒータ制御系に適用され、
前記ヒータに並列に接続され、ヒータの両端電圧を前記所定の制御デューティ比によるオン・オフ制御に伴うヒータ通電時並びに非通電時に検出する電圧検出手段と、
前記ヒータに直列に接続され、ヒータに流れる電流を同じく前記所定の制御デューティ比によるオン・オフ制御に伴うヒータ通電時並びに非通電時に検出する電流検出手段と、
前記検出したヒータ通電時の電圧及び電流とヒータ非通電時の電圧及び電流とからなる４つの値を各々に所定のしきい値にて大小比較し、該比較した４つの値のうちいずれが正常時の値と異なるか、それら４つの値の組み合わせに応じて故障の有無を判定すると共に当該ヒータ制御系を構成する回路中の故障箇所を特定する故障判定手段と
を備えることを特徴とするガス濃度センサに用いるヒータ制御系の故障判定装置。
【請求項２】
前記故障判定手段は、前記ヒータの電源側，グランド側電気経路と前記ヒータとを結ぶ電気経路が開放されるような故障を特定するものである請求項１に記載のガス濃度センサに用いるヒータ制御系の故障判定装置。
【請求項３】
前記故障判定手段は、前記ヒータと前記電圧検出手段とを結ぶ電気経路が開放されるような故障を特定するものである請求項１に記載のガス濃度センサに用いるヒータ制御系の故障判定装置。
【請求項４】
前記ヒータ制御手段のデューティ信号により、前記ヒータとグランド側との間の電気経路を断続する半導体スイッチング素子を設け、
前記故障判定手段は、前記ヒータのグランド側の電気経路が短絡される故障を特定するものである請求項１に記載のガス濃度センサに用いるヒータ制御系の故障判定装置。
【請求項５】
前記ヒータ制御手段のデューティ信号により、前記電源、ヒータ及びグランドを結ぶ電気経路を断続する半導体スイッチング素子を設け、
前記故障判定手段は、前記半導体スイッチング素子のオン・オフ切換えが不能となる故障を特定するものである請求項１に記載のガス濃度センサに用いるヒータ制御系の故障判定装置。
【請求項６】
前記ガス濃度センサをエンジン排気管に配設し、ガス濃度センサの測定結果からガス濃度を検出するガス濃度検出システムに適用されるものであって、
エンジン始動に伴う前記ヒータの通電当初において、ヒータの制御デューティ比を１００％とする全通電手段と、
前記全通電手段によるヒータ通電の開始前に、ヒータの両端電圧と電流値とを検出すると共に、その検出後、ヒータ通電を開始して両端電圧と電流値とを検出する初期値検出手段とを備え、
前記故障判定手段は、前記初期値検出手段により検出された電圧及び電流の各値に応じて故障判定を実施する請求項１〜請求項５のいずれかに記載のガス濃度センサに用いるヒータ制御系の故障判定装置。
【請求項７】
請求項６に記載のヒータ制御系の故障判定装置において、
前記初期値検出手段による電圧及び電流の各検出値に応じて故障発生の旨が判定された場合、ヒータの両端電圧と電流値とが検出可能な最小時間だけヒータ通電を遮断するよう制御デューティ比を設定する手段と、
該設定された制御デューティ比にてヒータ通電を制御し、その状態でヒータ制御系の故障発生の旨が所定時間以上継続して判定されれば、最終的に故障発生であることを確定する手段と
を備えるガス濃度センサに用いるヒータ制御系の故障判定装置。
【請求項８】
前記ヒータ制御手段による制御デューティ比を所定の下限ガード値若しくは上限ガード値にて制限するようにした請求項１〜請求項７のいずれかに記載のガス濃度センサに用いるヒータ制御系の故障判定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ガス濃度センサに用いるヒータ制御系の故障判定装置に関するものである。
【０００２】
【従来の技術】
自動車への応用をはじめとするガス濃度検出装置において、ガス濃度センサを用いた同検出装置が提案されており、その一例として空燃比センサを用いた空燃比検出装置が知られている。
【０００３】
つまり、近年の車載用エンジンでは、エンジンに吸入される混合気の空燃比（排ガス中の酸素濃度）を広域に且つリニアに検出するリニア式空燃比センサが適用されており、この種のセンサとして例えば限界電流式空燃比センサでは、空燃比（酸素濃度）を精度良く検出するためにセンサ素子の温度を所定の活性温度に維持する必要がある。そのため、通常はセンサにヒータを付設し、同ヒータの通電を所定のデューティ比信号にて制御している。
【０００４】
また最近では、自動車の排出ガスに関するこの種のセンサについて、ヒータ制御系の機能を監視することが法的に規定されつつあり、この規定は今後さらに強化される傾向にある。こうした状況下において、特開平５−１９５８４３号公報の「酸素測定センサのヒータの機能能力を監視する方法及び装置」といった技術が提案されている。同公報の装置では、酸素測定センサのヒータに印加される電圧をヒータ通電時及び遮断時に測定し、その測定した電圧の差が所定範囲外となった時に故障信号を出力するように構成されていた。
【０００５】
【発明が解決しようとする課題】
ところが、上記従来の装置では、ヒータに印加される電圧値（電源電圧）に基づき故障の有無を判定することが主たる構成となっており、ヒータ制御系の故障箇所や故障モードを特定することに関しては未だ不十分であった。従って、故障発生後に修理工場等に持ち込まれた自動車は、故障原因が何でありどこを修理すればよいかを調査するために、制御回路の検査やハーネス検査（導線やコネクタの検査を含む）等の様々な調査が強いられることになる。そのため、保守や点検に煩雑な作業や多大な時間を要し、メンテナンス性が悪いという問題点があった。
【０００６】
本発明は、上記問題に着目してなされたものであって、その目的とするところは、ヒータ制御系の故障発生時においてその旨を正確に判定すると共に、故障箇所を特定することができるガス濃度センサに用いるヒータ制御系の故障判定装置を提供することである。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載の発明ではその特徴として、ガス濃度センサに付設され、電源からの電力供給により通電されるヒータと、前記ヒータへの通電を所定の制御デューティ比にてオン・オフ制御するヒータ制御手段とを備えるヒータ制御系に適用される故障判定装置として、ヒータに並列に接続され、ヒータの両端電圧を所定の制御デューティ比によるオン・オフ制御に伴うヒータ通電時並びに非通電時に検出する電圧検出手段と、ヒータに直列に接続され、ヒータに流れる電流を同じく所定の制御デューティ比によるオン・オフ制御に伴うヒータ通電時並びに非通電時に検出する電流検出手段と、前記検出したヒータ通電時の電圧及び電流とヒータ非通電時の電圧及び電流とからなる４つの値を各々に所定のしきい値にて大小比較し、該比較した４つの値のうちいずれが正常時の値と異なるか、それら４つの値の組み合わせに応じて故障の有無を判定すると共に当該ヒータ制御系を構成する回路中の故障箇所を特定する故障判定手段とを備える。
【０００８】
上記構成によれば、ヒータ通電時の電圧及び電流と、ヒータ非通電時の電圧及び電流とからなる４つの値を検出し、各々に所定のしきい値と比較判定することで、既存の装置では不十分であったヒータ制御系の故障箇所の特定が可能となる。つまり、ヒータ制御系の故障発生時においてその旨を正確に判定すると共に、故障箇所を細部にまで特定することができるようになる。かかる場合において、故障発生の旨が判定された際には、例えば故障警告灯（ＭＩＬ：Malfunction indicator light ）が点灯され、この警告に従い故障発生の車両が修理工場等に持ち込まれる。そして、上記故障箇所の特定結果を用いることにより、実際の修理までに要する故障箇所の特定作業が大幅に簡素化できるようになる。その結果、メンテナンス性や作業性が向上するという効果も得られる。
【０００９】
因みに、上記の如く特定される故障情報は、電源の遮断後にもそのデータを保持するバックアップメモリ等に記憶され、修理工場等において随時ダイアグチェッカにて読み出される。
【００１０】
また、上記請求項１の発明は、次の請求項２〜請求項５のように具体化される。すなわち、
・請求項２に記載の発明では、前記故障判定手段は、前記ヒータの電源側，グランド側電気経路と前記ヒータとを結ぶ電気経路が開放されるような故障を特定する。
・請求項３に記載の発明では、前記故障判定手段は、前記ヒータと前記電圧検出手段とを結ぶ電気経路が開放されるような故障を特定する。
・請求項４に記載の発明では、前記故障判定手段は、前記ヒータのグランド側の電気経路が短絡される故障（ＧＮＤショート）、すなわち半導体スイッチング素子のオン・オフにかかわらず、ヒータが通電されっ放しとなる故障を特定する。
・請求項５に記載の発明では、前記故障判定手段は、電源、ヒータ及びグランドを結ぶ電気経路を断続するための半導体スイッチング素子のオン・オフ切換えが不能となる故障、すなわち常時オンの故障或いは常時オフの故障を特定する。請求項２〜５の構成によれば、発生頻度が比較的高い故障、又は優先度が比較的高い故障についてその故障箇所を特定することが可能となる。
【００１１】
故障形態の事例を図４の回路図を用いて簡単に説明すれば、
・上記請求項２では、図４のＡ，Ｃ，Ｄ，Ｆ，Ｇ各部の断線といった故障が検出できる。
・上記請求項３では、図４のＢ，Ｅ各部の断線といった故障が検出できる。
・上記請求項４では、図４のＤ，Ｅ，Ｆ各部の短絡といった故障が検出できる。
・上記請求項５では、トランジスタ２６のオン故障又はオフ故障が検出できる。
【００１２】
請求項６に記載の発明では、エンジン始動に伴う前記ヒータの通電当初において、ヒータの制御デューティ比を１００％とする全通電手段と、前記全通電手段によるヒータ通電の開始前に、ヒータの両端電圧と電流値とを検出すると共に、その検出後、ヒータ通電を開始して両端電圧と電流値とを検出する初期値検出手段とを備え、前記故障判定手段は、前記初期値検出手段により検出された電圧及び電流の各値に応じて故障判定を実施する。
【００１３】
つまり、エンジンの低温始動時には、ガス濃度センサ（例えば空燃比センサ）をいち早く活性化させるべくヒータの制御デューティ比が１００％に設定され、当該ヒータが継続的に通電される（１００％通電される）。この場合、１００％通電が実施されていると、故障が発生していてもヒータ非通電時の電圧及び電流が検出できず、正確な故障判定が不可能になる。これに対し上記構成では、通電開始前にヒータ非通電時の電圧及び電流を検出しておくことで、ヒータ通電時の電圧及び電流と、ヒータ非通電時の電圧及び電流とからなる４つの値を検出することが可能となり、既述のような所望の故障判定が実施できる。
【００１４】
請求項７に記載の発明では、前記初期値検出手段による電圧及び電流の各検出値に応じて故障発生の旨が判定された場合、ヒータの両端電圧と電流値とが検出可能な最小時間だけヒータ通電を遮断するよう制御デューティ比を設定する手段と、該設定された制御デューティ比にてヒータ通電を制御し、その状態でヒータ制御系の故障発生の旨が所定時間以上継続して判定されれば、最終的に故障発生であることを確定する手段とを備える。この場合、請求項６の発明に比べて、より正確な故障判定が可能になる。つまり、最初に故障発生の旨が判定された際に、その判定結果を仮の判定結果とし、その後、ヒータの両端電圧と電流値とが検出可能な最小時間だけヒータ通電を遮断することで、エンジン始動当初の一時的な故障判定時にも故障の誤判定を回避することができる。
【００１５】
請求項８に記載の発明では、前記ヒータ制御手段による制御デューティ比を所定の下限ガード値若しくは上限ガード値にて制限するようにしている。この場合、ヒータの通電状態或いは非通電状態が継続されることがないため、ヒータ通電時の電圧及び電流と、ヒータ非通電時の電圧及び電流とからなる４つの値を常に検出することが可能となり、既述のような所望の故障判定を実施することができる。
【００１６】
【発明の実施の形態】
以下、この発明を空燃比検出装置に具体化した一実施の形態を図面に従って説明する。なお、本実施の形態における空燃比検出装置は、自動車に搭載される電子制御ガソリン噴射エンジンに適用されるものであって、同エンジンの空燃比制御システムにおいては空燃比検出装置による検出結果に基づいてエンジンへの燃料噴射量を所望の空燃比に制御する。以下の記載では、ガス濃度センサとしての限界電流式空燃比センサについて、同センサに付設されたヒータの通電制御手順、並びにヒータ制御系の故障判定手順を詳細に説明すると共に、それらの処理を実現するための具体的構成について説明する。
【００１７】
図１は、本実施の形態における空燃比検出装置の概要を示す構成図である。図１において、空燃比検出装置は限界電流式空燃比センサ（以下、Ａ／Ｆセンサという）３０を備えている。Ａ／Ｆセンサ３０は、エンジン１０のエンジン本体１１から延びる排気管１２に取り付けられており、マイクロコンピュータ（以下、マイコンという）２０から指令される電圧の印加に伴い、排気ガス中の酸素濃度に比例したリニアな空燃比検出信号（センサ電流信号）を出力する。マイコン２０は、各種演算処理を実行するための周知のＣＰＵ２０ａ，ＲＯＭ２０ｂ，ＲＡＭ２０ｃ、バックアップＲＡＭ２０ｄ等により構成され、所定の制御プログラムに従いヒータ制御回路２５及びバイアス制御回路４０を制御する。なお前記バックアップＲＡＭ２０ｄは、マイコン２０への電源遮断後にも内部の記憶情報を保持することのできるメモリとして構成されている。
【００１８】
ここで、マイコン２０から出力されるバイアス指令信号Ｖｒは、Ｄ／Ａ変換器２１を介してバイアス制御回路４０に入力される。その時々の空燃比（酸素濃度）に対応するＡ／Ｆセンサ３０の出力は、バイアス制御回路４０内の電流検出回路５０にてセンサ電流として検出され、その検出値はＡ／Ｄ変換器２３を介してマイコン２０に入力される。マイコン２０は、Ａ／Ｆセンサ３０のヒータ３３を所定の制御デューティ比信号によりＯＮ・ＯＦＦ制御する。そして、ヒータ３３のＯＮ・ＯＦＦに伴うヒータ電圧及びヒータ電流は、後述するヒータ制御回路２５にて検出され、その検出値はＡ／Ｄ変換器２４を介してマイコン２０に入力される。また、マイコン２０には、故障発生の旨を自動車の搭乗者に知らしめるための故障警告灯４２が接続されており、この警告灯４２は、後述する故障判定処理の判定結果に応じて点灯又は消灯される。
【００１９】
図２は、Ａ／Ｆセンサ３０の概略を示す断面図である。図２において、Ａ／Ｆセンサ３０は前記排気管１２の内部に向けて突設されており、同センサ３０は大別して、カバー３１、センサ本体３２及びヒータ３３から構成されている。カバー３１は断面コ字状をなし、その周壁にはカバー内外を連通する多数の小孔３１ａが形成されている。センサ素子部としてのセンサ本体３２は、空燃比リーン領域における酸素濃度、若しくは空燃比リッチ領域における未燃ガス（ＣＯ，ＨＣ，Ｈ2 等）濃度に対応する限界電流を発生する。
【００２０】
センサ本体３２の構成について詳述する。センサ本体３２において、断面コップ状に形成された固体電解質層３４の外表面には、排気ガス側電極層３６が固着され、内表面には大気側電極層３７が固着されている。また、排気ガス側電極層３６の外側には、プラズマ溶射法等により拡散抵抗層３５が形成されている。固体電解質層３４は、ＺｒＯ2 、ＨｆＯ2 、ＴｈＯ2 、Ｂｉ2 Ｏ3 等にＣａＯ、ＭｇＯ、Ｙ2 Ｏ3 、Ｙｂ2 Ｏ3 等を安定剤として固溶させた酸素イオン伝導性酸化物焼結体からなり、拡散抵抗層３５は、アルミナ、マグネシャ、ケイ石質、スピネル、ムライト等の耐熱性無機物質からなる。排気ガス側電極層３６及び大気側電極層３７は共に、白金等の触媒活性の高い貴金属からなりその表面には多孔質の化学メッキ等が施されている。なお、排気ガス側電極層３６の面積及び厚さは、１０〜１００ｍｍ^2（平方ミリメートル）及び０．５〜２．０μｍ程度となっており、一方、大気側電極層３７の面積及び厚さは、１０ｍｍ^2（平方ミリメートル）以上及び０．５〜２．０μｍ程度となっている。
【００２１】
ヒータ３３は大気側電極層３７内に収容されており、その発熱エネルギによりセンサ本体３２（大気側電極層３７、固体電極質層３４、排気ガス側電極層３６及び拡散抵抗層３５）を加熱する。ヒータ３３は、センサ本体３２を活性化するに十分な発熱容量を有している。
【００２２】
上記構成のＡ／Ｆセンサ３０において、センサ本体３２は理論空燃比点よりリーン領域では酸素濃度に応じた限界電流を発生する。この場合、酸素濃度に対応する限界電流は、排気ガス側電極層３６の面積、拡散抵抗層３５の厚さ、気孔率及び平均孔径により決定される。また、センサ本体３２は酸素濃度を直線的特性にて検出し得るものであるが、このセンサ本体３２を活性化するのに約６００℃以上の高温が必要とされると共に、同センサ本体３２の活性温度範囲が狭いため、エンジン１０の排気ガスのみによる加熱では素子温を活性領域に制御できない。そのため、本実施の形態では、ヒータ３３への供給電力をデューティ制御することにより、センサ本体３２を活性温度域にまで加熱するようにしている。なお、理論空燃比よりもリッチ側の領域では、未燃ガスである一酸化炭素（ＣＯ）等の濃度が空燃比に対してほぼリニアに変化し、センサ本体３２はＣＯ等の濃度に応じた限界電流を発生する。
【００２３】
センサ本体３２の電圧−電流特性（Ｖ−Ｉ特性）について図３を用いて説明する。図３によれば、Ａ／Ｆセンサ３０の検出Ａ／Ｆに比例するセンサ本体３２の固体電解質層３４への流入電流と、同固体電解質層３４への印加電圧とがリニアな特性を有することが分かる。かかる場合、電圧軸Ｖに平行な直線部分がセンサ本体３２の限界電流を特定する限界電流検出域であって、この限界電流（センサ電流）の増減はＡ／Ｆの増減（すなわち、リーン・リッチ）に対応している。つまり、Ａ／Ｆがリーン側になるほど限界電流は増大し、Ａ／Ｆがリッチ側になるほど限界電流は減少する。
【００２４】
このＶ−Ｉ特性において電圧軸Ｖに平行な直線部分（限界電流検出域）よりも小さい電圧域は抵抗支配域となっており、その抵抗支配域における一次直線部分の傾きは、センサ本体３２における固体電解質層３４の内部抵抗（以下、これを素子インピーダンスＺｄｃという）により特定される。この素子インピーダンスＺｄｃは温度変化に伴い変化し、センサ本体３２の温度が低下するとＺｄｃの増大により上記傾きが小さくなる。
【００２５】
図４は、ヒータ制御回路２５の構成を示す回路図である。同図において、ヒータ３３の一端は定格１２ボルトのバッテリ電源＋Ｂに接続され、他端は半導体スイッチング素子を構成するｎチャネルＭＯＳトランジスタ（以下、ＭＯＳ２６という）のドレインに接続されている。ＭＯＳ２６のゲートはドライバ２７を介してマイコン２０に接続され、ソースはヒータ電流検出用抵抗４１を介して接地されている。要するに、マイコン２０の制御デューティ比信号によりＭＯＳ２６がＯＮ・ＯＦＦ動作し、そのＭＯＳ２６のＯＮ・ＯＦＦ動作によりヒータ３３の通電動作が制御されるようになっている。
【００２６】
電圧検出手段としてのヒータ電圧検出回路２８は、オペアンプ２８ａと抵抗２８ｂ〜２８ｅとからなる差動増幅回路により構成されており、ヒータ３３の両端電圧Ｖｈを計測しその計測結果をＡ／Ｄ変換器２４を介してマイコン２０に出力する。なお、ヒータ両端電圧Ｖｈは、ヒータ３３のバッテリ側の電圧Ｖｐｏｓと、ＧＮＤ側の電圧Ｖｎｅｇとの差に相当する（Ｖｈ＝Ｖｐｏｓ−Ｖｎｅｇ）。ここで、抵抗２８ｂ及び抵抗２８ｅはその抵抗値が等しく（この抵抗値をＲ１とする）、抵抗２８ｃ及び抵抗２８ｄはその抵抗値が等しい（この抵抗値をＲ２とする）。
【００２７】
電流検出手段としてのヒータ電流検出回路２９は、オペアンプ２９ａと抵抗２９ｂ〜２９ｅとからなる差動増幅回路により構成されており、ヒータ電流検出用抵抗４１により検出されるヒータ電流Ｉｈを電圧信号に変換しその結果をＡ／Ｄ変換器２４を介してマイコン２０に出力する。因みに、ヒータ電流検出用抵抗４１の抵抗値は、ヒータ電流Ｉｈに影響を与えないよう極めて小さい値に設定され、それによりヒータ３３の昇温性能が損なわれないようになっている。
【００２８】
そして、ヒータ通電時（ＭＯＳ２６のＯＮ動作時）及びヒータ非通電時（ＭＯＳ２６のＯＦＦ動作時）において、ヒータ制御系に何ら故障が発生していなければ、上記ヒータ制御回路２５は以下の如くヒータ両端電圧及びヒータ電流を検出する。つまり、ヒータ通電時には、ヒータ両端に印加される電圧（以下、ヒータオン電圧Ｖｏｎという）がヒータ３３の電源電圧ＶＢとほぼ等しい値（ハーネス等の抵抗成分の電圧降下分だけ低い値）となると共に、その際にヒータ３３に流れる電流（以下、ヒータオン電流Ｉｏｎという）が電源電圧ＶＢをヒータ抵抗値Ｒｈで割った値となる。具体的には、ＶＢ＝１２ボルトであれば、ヒータオン電圧Ｖｏｎは、
Ｖｏｎ＝（Ｒ１／Ｒ２）・Ｖｈ
という数式から「約１１ボルト」となる。また、Ｒｈ＝２オームであれば、ヒータオン電流Ｉｏｎは、
Ｉｏｎ＝ＶＢ／Ｒｈ
という数式から「約５アンペア」となる。すなわち、ヒータ電圧検出回路２８の出力（オペアンプ２８ａの出力電圧）が「約１１ボルト」となると共に、ヒータ電流検出回路２９の出力（オペアンプ２９ａの出力電圧）の電流換算値が「約５アンペア」となる。
【００２９】
また、ヒータ非通電時には、ヒータ両端の電位差が無くなるため、その際にヒータ両端に印加される電圧（以下、ヒータオフ電圧Ｖｏｆｆという）が「ほぼ０ボルト」となる。またこのとき、ヒータ電流検出用抵抗４１の両端の電位差が無くなるためにヒータ３３に流れる電流（以下、ヒータオフ電流Ｉｏｆｆという）が「０アンペア」となる。すなわち、ヒータ電圧検出回路２８の出力（オペアンプ２８ａの出力電圧）が「ほぼ０ボルト」となると共に、ヒータ電流検出回路２９の出力（オペアンプ２９ａの出力電圧）の電流換算値が「ほぼ０アンペア」となる。
【００３０】
一方、ヒータ制御系において、ハーネス故障（導線の断線やコネクタの接触不良）等、何らかの故障が発生した場合には、上記したＶｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆが正常値とは異なる値となり、その値はヒータ制御系の構成上、いずれの箇所でどのような故障が発生したかに応じて相違する。そこで、本実施の形態では、故障発生箇所、及びその内容（以下、故障モードという）を以下の（１）〜（１０）に区分して解析し、その解析結果を図１５を参照しつつ個々に説明する。図１５には、故障箇所及び故障モード毎に各々に対応するＶｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆの値が示されている。
【００３１】
（１）図４のＡ部開放の場合
断線等による「Ａ部開放」の故障時において、ヒータ通電時（ＭＯＳ２６のＯＮ動作時）には、ヒータ３３の両端電位は共にＧＮＤレベルでありヒータ両端の電位差は発生しない。従って、ヒータオン電圧Ｖｏｎが「０ボルト」になる。またこのとき、バッテリ電源＋Ｂ、ヒータ３３及びＧＮＤを結ぶ電気経路が遮断されるため、ヒータ３３に電流が流れず、ヒータオン電流Ｉｏｎが「０アンペア」になる。この場合、ヒータ制御系の正常時と比較すれば、Ｖｏｎ，Ｉｏｎが大きく相違することになる。
【００３２】
因みに、オペアンプ２８ａの非反転入力端子が抵抗２８ｅを介してＧＮＤに接続されると共に、オペアンプ２８ａは抵抗２８ｂにより負帰還をかけている。そのため、ヒータ非通電時（ＭＯＳ２６のＯＦＦ動作時）には、オペアンプ２８ａの反転入力端子がＧＮＤレベルとなり、オペアンプ２８ａの出力電圧がＧＮＤレベルである、「０ボルト」となる。すなわち、ヒータオフ電圧Ｖｏｆｆが正常時と同様に「０ボルト」となる。また、ヒータオフ電流Ｉｏｆｆは、正常時と同様に「０アンペア」となる。
【００３３】
（２）図４のＢ部開放の場合
断線等による「Ｂ部開放」の故障時において、ヒータ通電時（ＭＯＳ２６のＯＮ動作時）には、オペアンプ２８ａの非反転入力端子がＧＮＤレベルとなり、ヒータオン電圧Ｖｏｎは「０ボルト」となる。またこのとき、図４の回路図から明らかなようにＢ部が開放されてもヒータ電流は正常に流れるため、ヒータオン電流Ｉｏｎは正常時と同じ値となる。なお、ヒータ非通電時（ＭＯＳ２６のＯＦＦ動作時）のヒータオフ電圧Ｖｏｆｆ，ヒータオフ電流Ｉｏｆｆは共に正常時と同様の値となる。つまり、Ｖｏｎだけが正常値に対して大きく異なり、これにより故障判定が可能になると共に、前述のＡ部開放の故障との判別も可能となる。
【００３４】
（３）図４のＣ部開放の場合
断線等による「Ｃ部開放」の故障時において、ヒータ通電時（ＭＯＳ２６のＯＮ動作時）には、オペアンプ２８ａの非反転入力端子がヒータ電源電圧ＶＢの電位となると共に、その反転入力端子が０ボルトとなる。詳細には、
Ｖｏｎ＝（Ｒ１／Ｒ２）・ＶＢ
という数式からＶｏｎ値が求められる。このとき、ヒータオン電圧Ｖｏｎは、電源電圧ＶＢの電位に相当する電圧値、すなわち「１２ボルト」となる。ここで、このＣ部開放時には、バッテリ電源＋Ｂ、ヒータ３３及びＧＮＤを結ぶ電気経路が遮断されており、ＭＯＳ２６がＯＮされてもヒータ電流が流れない。そのため、ハーネス等の電圧降下がなく、ヒータオン電圧Ｖｏｎが正常時よりも高い値となる。また、ヒータオン電流Ｉｏｎは電気経路の遮断により「０アンペア」となる。
【００３５】
一方、ヒータ非通電時（ＭＯＳ２６のＯＦＦ動作時）において、ヒータオフ電圧Ｖｏｆｆは、電源電圧ＶＢと抵抗分圧値（Ｒ１／（Ｒ１＋Ｒ２））との積から求められる。つまり、
Ｖｏｆｆ＝｛Ｒ１／（Ｒ１＋Ｒ２）｝・ＶＢ
という数式からヒータオフ電圧Ｖｏｆｆが求められ、具体的には「９ボルト」程度の値となる。また、ヒータオフ電流Ｉｏｆｆは「０アンペア」となる。こうしたＣ部開放の故障の場合、Ｉｏｎ，Ｖｏｆｆが正常値に対して大きく異なり、それにより故障判定可能となる。
【００３６】
（４）図４のＤ部開放の場合
断線等による「Ｄ部開放」の故障時には、前述したＣ部開放の故障時と同様に、Ｖｏｎ＝１２ボルト，Ｉｏｎ＝０アンペア，Ｖｏｆｆ＝９ボルト，Ｉｏｆｆ＝０アンペアとなる。因みに、ヒータ３３自身が破損するといった故障が発生した場合にも同様の検出結果が得られる。
【００３７】
（５）図４のＥ部開放の場合
断線等による「Ｅ部開放」の故障時において、ヒータ通電時（ＭＯＳ２６のＯＮ動作時）には、
Ｖｏｎ＝｛Ｒ１／（Ｒ１＋Ｒ２）｝・ＶＢ
という数式からヒータオン電圧Ｖｏｎが求められる。具体的には、Ｖｏｎが「９ボルト」程度の値となる。ここで、このＥ部開放時には、ヒータ３３の通電が可能であるため、ヒータオン電流Ｉｏｎは正常通りに検出される（Ｉｏｎ＝５アンペア）。
【００３８】
一方、ヒータ非通電時（ＭＯＳ２６のＯＦＦ動作時）において、ヒータオフ電圧Ｖｏｆｆは、上記ヒータオン電圧Ｖｏｎと同様に、
Ｖｏｆｆ＝｛Ｒ１／（Ｒ１＋Ｒ２）｝・ＶＢ
という数式から求められ、具体的には「９ボルト」程度の値となる。また、ヒータオフ電流Ｉｏｆｆは「０アンペア」となる。こうしたＥ部開放の場合、Ｖｏｆｆが正常値に対して大きく異なり、それにより故障判定が可能となる。
【００３９】
（６）図４のＦ部開放の場合
断線等による「Ｆ部開放」の故障時には、バッテリ電源＋Ｂ、ヒータ３３、ＭＯＳ２６及びＧＮＤといった電気経路が遮断される。そのため、ヒータ３３の通電・非通電（ＭＯＳ２６のＯＮ・ＯＦＦ）に関係無く、ヒータ電圧及び電流値がＭＯＳ２６のＯＦＦ時の値と同等になる。つまり、Ｖｏｎ＝０ボルト，Ｉｏｎ＝０アンペア，Ｖｏｆｆ＝０ボルト，Ｉｏｆｆ＝０アンペアとなる。この場合、Ｖｏｎ，Ｉｏｎが正常値に対して大きく異なり、それにより故障発生の判定が可能となる。
【００４０】
（７）図４のＧ部開放の場合
断線等による「Ｇ部開放」の故障時にも上記（６）のＦ部開放の場合と同様に、バッテリ電源＋Ｂ、ヒータ３３、ＭＯＳ２６及びＧＮＤといった電気経路が遮断される。そのため、ヒータ３３の通電・非通電（ＭＯＳ２６のＯＮ・ＯＦＦ）に関係無く、ヒータ電圧及び電流値がＭＯＳ２６のＯＦＦ時と同等になる。つまり、Ｖｏｎ＝０ボルト，Ｉｏｎ＝０アンペア，Ｖｏｆｆ＝０ボルト，Ｉｏｆｆ＝０アンペアとなる。この場合、Ｖｏｎ，Ｉｏｎが正常値に対して大きく異なり、それにより故障発生の判定が可能となる。
【００４１】
（８）図４のＤ，Ｅ，Ｆ−ＧＮＤ間短絡の場合
この「Ｄ，Ｅ，Ｆ−ＧＮＤ間短絡」の故障時には、ヒータ３３の通電・非通電（ＭＯＳ２６のＯＮ・ＯＦＦ）に関係無く、ヒータ電圧がＭＯＳ２６のＯＮ時の値とほぼ同等になる。但しかかる場合には、ハーネス等による抵抗分の電圧降下がなく、ヒータ両端に電源電圧ＶＢと同じ電圧が印加されることになる。つまり、Ｖｏｎ＝１２ボルト，Ｖｏｆｆ＝１２ボルトとなる。また、ヒータ電流検出用抵抗４１の両端の電位差が無くなるため、Ｉｏｎ＝０アンペア，Ｉｏｆｆ＝０アンペアとなる。この場合、Ｉｏｎ，Ｖｏｆｆが正常値に対して大きく異なり、それにより故障判定可能となる。
【００４２】
なお因みに、Ｉｏｎ，Ｖｏｆｆが正常値に対して大きく異なることは、既述のＣ部又はＤ部開放の故障時と同じであるが、各々のＶｏｆｆを比較すれば、これらＣ部又はＤ部開放の故障と、Ｄ，Ｅ，Ｆ−ＧＮＤ間短絡の故障とを区別することができる。これを以下に説明すれば、Ｃ部又はＤ部開放時には、電源電圧ＶＢと抵抗分圧値（Ｒ１／（Ｒ１＋Ｒ２））との積にてＶｏｆｆ値が求められる。これに対し、Ｄ，Ｅ，Ｆ−ＧＮＤ間短絡時には、オペアンプ２８ａの反転入力端子がＧＮＤレベルとなり、オペアンプ２８ａの出力、すなわちＶｏｆｆ値が「Ｒ１／Ｒ２×ＶＢ」として求められる。従って、Ｃ部開放及びＤ部開放時のＶｏｆｆよりＤ，Ｅ，Ｆ−ＧＮＤ間短絡時のＶｏｆｆの方が高い電圧値となり、この両者のＶｏｆｆ値を判別するしきい値電圧を設定すれば、Ｃ部又はＤ部開放とＤ，Ｅ，Ｆ−ＧＮＤ間短絡とを区別することが可能となる。
【００４３】
（９）ＭＯＳ２６の常時ＯＮの場合
「ＭＯＳ２６の常時ＯＮ」の故障時には、ヒータ３３の通電・非通電に関係無く、ヒータ電圧及び電流値がヒータ通電時の値と同等になる。つまり、Ｖｏｎ＝１１ボルト，Ｉｏｎ＝５アンペア，Ｖｏｆｆ＝１１ボルト，Ｉｏｆｆ＝５アンペアとなる。この場合、Ｖｏｆｆ，Ｉｏｆｆが正常値に対して大きく異なり、それにより故障発生の判定が可能となる。
【００４４】
（１０）ＭＯＳ２６の常時ＯＦＦの場合
「ＭＯＳ２６の常時ＯＦＦ」の故障時には、ヒータ３３の通電・非通電に関係無く、ヒータ電圧及び電流値がヒータ非通電時の値と同等になる。つまり、Ｖｏｎ＝０ボルト，Ｉｏｎ＝０アンペア，Ｖｏｆｆ＝０ボルト，Ｉｏｆｆ＝０アンペアとなる。この場合、Ｖｏｎ，Ｉｏｎが正常値に対して大きく異なり、それにより故障発生の判定が可能となる。
【００４５】
次に、上記の如く構成される本実施の形態の装置について、その作用を説明する。
図５はヒータ制御ルーチンを、図６は図５のサブルーチンであるイニシャル処理ルーチンを、図７〜９はヒータ制御系の故障判定ルーチンを、それぞれに示すフローチャートであり、図５及び図７〜９の各ルーチンは、マイコン２０内のＣＰＵ２０ａにより所定間隔（例えば、１２８ｍｓｅｃ周期）のタイマ割り込みにて起動される。但し、図７〜９のルーチンは図５のルーチンの直後に実行されるようになっている。
【００４６】
図５のヒータ制御ルーチンにおいて、ＣＰＵ２０ａは、先ずステップ１０１でイニシャルフラグＸＩＮＴが「０」であるか否かを判別する。このイニシャルフラグＸＩＮＴは、ＩＧキーのＯＮ操作時に要するイニシャル処理が実施されたか否かを示すものであって、ＸＩＮＴ＝０はイニシャル処理が未実施であることを、ＸＩＮＴ＝１はイニシャル処理が実施済であることを、それぞれ表す。ＸＩＮＴ＝０である場合、ＣＰＵ２０ａはステップ１２０に進み、図６に示すイニシャル処理を実施した後、本ルーチンを一旦終了する。
【００４７】
ここで、図６のイニシャル処理ルーチンについて説明する。このイニシャル処理は、ヒータ３３の通電制御が開始される前に、先ず以ってヒータオフ電圧Ｖｏｆｆ及びヒータオフ電流Ｉｏｆｆを検出し、その後、ヒータ３３を通電（ＯＮ）させてヒータＯＮ時の電圧値及び電流値を検出するものである。詳細には、ＣＰＵ２０ａは、先ずステップ１２１で前記ヒータ電圧検出回路２８及びヒータ電流検出回路２９の各々の出力値に基づいてヒータオフ電圧Ｖｏｆｆ及びヒータオフ電流Ｉｏｆｆを検出する。また、ＣＰＵ２０ａは、ヒータ３３を通電させ、その状態で所定時間だけ待機する（ステップ１２２，１２３）。この待機時間は、ヒータ通電後に電圧及び電流値が収束するのに要する時間であり、具体的には２００μｓｅｃ程度であればよい。
【００４８】
所定時間の待機後、ＣＰＵ２０ａはステップ１２４でヒータオン電圧Ｖｏｎ及びヒータオン電流Ｉｏｎを検出し、続くステップ１２５でイニシャルフラグＸＩＮＴに「１」をセットする。さらにその後、ＣＰＵ２０ａは、ステップ１２６で全通電フラグＸＺＮに「１」をセットして図５のルーチンに戻る。ここで、全通電フラグＸＺＮは、後述する全通電制御が実施されるか否かを示すものであって、ＸＺＮ＝１は全通電制御が実施されることを、ＸＺＮ＝０は全通電制御が実施されないことを、それぞれ表す。
【００４９】
一方、上記イニシャル処理ルーチンでイニシャルフラグＸＩＮＴがセットされると、それ以降は、図５のステップ１０１が毎回肯定判別される。そして、ＣＰＵ２０ａは、ステップ１０２で故障発生フラグＸＦＡＩＬが「０」であるか否かを判別する。この故障発生フラグＸＦＡＩＬは、ヒータ制御系における故障の有無の判定結果を示すものであって、ＸＦＡＩＬ＝０はヒータ制御系の故障有りを、ＸＦＡＩＬ＝１はヒータ制御系の故障無しを、それぞれ表す。なお上記フラグＸＦＡＩＬは、後述する図７〜図９の故障判定ルーチンにて操作される。そして、故障発生フラグＸＦＡＩＬが「１」であれば、ＣＰＵ２０ａはステップ１０２を否定判別してそのまま本ルーチンを終了する。つまり、ヒータ３３の通電制御を実施しない。
【００５０】
また、故障発生フラグＸＦＡＩＬが「０」であれば、ＣＰＵ２０ａはステップ１０３に進み、素子インピーダンスＺｄｃがセンサ本体３２の半活性状態を判定するための所定の判定値（本実施の形態では、２００オーム程度）以下であるか否かを判別する。なおここで、素子インピーダンスＺｄｃは下記のように検出される。つまり、素子インピーダンスＺｄｃの検出時には、図１０に示すように、Ａ／Ｆセンサ３０の印加電圧を一時的に正方向及び負方向に変化させる。そして、この電圧変化時における正負いずれか一方の電圧変化量ΔＶと電流変化量ΔＩとから素子インピーダンスＺｄｃを算出する（Ｚｄｃ＝ΔＶ／ΔＩ）。但し、この算出法は一例であって、正負両側の電圧及び電流の変化量に基づき素子インピーダンスＺｄｃを検出したり、負の印加電圧Ｖｎｅｇ（限界電流検出域にかからない電圧）を印加した時のセンサ電流Ｉｎｅｇから素子インピーダンスＺｄｃを検出したりしてもよい（Ｚｄｃ＝Ｖｎｅｇ／Ｉｎｅｇ）。
【００５１】
例えばエンジン１０の低温始動時等、素子温が低い場合にはＺｄｃ＞２００オームとなり、ＣＰＵ２０ａはステップ１０４に進んで故障仮フラグＸＴＥＭが「１」であるか否かを判別する。ここで、故障仮フラグＸＴＥＭは、エンジン始動時においてヒータ制御系の故障発生の旨が一時的に仮判定されると「１」に操作されるものであり、その操作は後述する故障判定ルーチンにより実施される。
【００５２】
そして、ＸＴＥＭ＝０の場合、すなわちエンジン始動時に故障発生の旨が仮判定されていない場合、ＣＰＵ２０ａはステップ１０５に進み、ヒータ３３の「全通電制御」を実施する。この全通電制御では、ヒータ３３への制御デューティ比信号が１００％に維持され、センサ活性化の促進が優先的に実施されることになる。
【００５３】
一方、ＸＴＥＭ＝１の場合、すなわちエンジン始動時に故障発生の旨が仮判定されている場合、ＣＰＵ２０ａはステップ１０６に進み、ヒータ３３の「９８％デューティ制御」を実施する。この９８％デューティ制御では、故障発生の仮判定時においてヒータオフ電圧Ｖｏｆｆ及びヒータオフ電流Ｉｏｆｆが継続的に検出できるよう、Ｄｕｔｙ＝２％程度のヒータＯＦＦ時間が設定されている。こうしてＶｏｆｆ，Ｉｏｆｆを検出することで、後述する故障判定ルーチンによる故障判定が実施可能となる。その後、ＣＰＵ２０ａは、ステップ１０７で全通電フラグＸＺＮに「１」をセットして本ルーチンを一旦終了する。
【００５４】
ヒータ通電の開始後、ヒータ３３の加熱作用により素子温が上昇し（或いは、当初から素子温が高く）、前記ステップ１０３が肯定判別されると、ＣＰＵ２０ａはステップ１０８に進み、前記の全通電フラグＸＺＮを「０」にクリアする。また、ＣＰＵ２０ａは、続くステップ１０９で素子インピーダンスＺｄｃがフィードバック（Ｆ／Ｂ）制御を開始するための所定の判定値（本実施の形態では、４０オーム程度）以下であるか否かを判別する。ここで、ステップ１０９の判定値は、センサ本体３２の活性状態を判定するものであって、目標インピーダンス（本実施の形態では、３０オーム）に対して「＋１０オーム」程度の値として設定されている。
【００５５】
Ａ／Ｆセンサ３０の活性化完了前であって、ステップ１０９が否定判別された場合、ＣＰＵ２０ａはステップ１１０に進み、「電力制御」によりヒータ３３の通電を制御する。このとき、図１１のマップに示すように素子インピーダンスＺｄｃに応じて電力指令値が決定され、その電力指令値に応じてヒータ通電のための制御デューティ比が算出される。
【００５６】
一方、Ａ／Ｆセンサ３０の活性化が完了し、前記ステップ１０９が肯定判別された場合、ＣＰＵ２０ａは、ステップ１１１で「素子インピーダンスＦ／Ｂ制御」を実施する。この素子インピーダンスＦ／Ｂ制御では、以下の手順にてヒータ通電のためのデューティ比Ｄｕｔｙが算出されるようになっている。なお本実施の形態では、その一例としてＰＩＤ制御手順を用いることとする。
【００５７】
つまり、先ずは次の式（１）〜（３）により比例項ＧＰ，積分項ＧＩ，微分項ＧＤを算出する。
ＧＰ＝ＫＰ・（Ｚｄｃ−ＺｄｃＴＧ）            ・・・（１）
ＧＩ＝ＧＩi-1 ＋ＫＩ・（Ｚｄｃ−ＺｄｃＴＧ）  ・・・（２）
ＧＤ＝ＫＤ・（Ｚｄｃ−Ｚｄｃi-1 ）            ・・・（３）
上式において、「ＫＰ」は比例定数、「ＫＩ」は積分定数、「ＫＤ」は微分定数を表し、添字「ｉ−１」は前回処理時の値を表す。
【００５８】
そして、上記比例項ＧＰ，積分項ＧＩ，微分項ＧＤを加算してヒータ通電のためのデューティ比Ｄｕｔｙを算出する（Ｄｕｔｙ＝ＧＰ＋ＧＩ＋ＧＤ）。但し、こうしたヒータ制御手順は、上記のＰＩＤ制御に限定されるものではなく、ＰＩ制御やＰ制御を実施するようにしてもよい。
【００５９】
その後、ＣＰＵ２０ａは、ステップ１１２で上記の素子インピーダンスＦ／Ｂ制御により設定されるデューティ比Ｄｕｔｙが所定の下限ガード値よりも大きいか否かを判別する。デューティ比Ｄｕｔｙの下限ガードは、高負荷運転時など、排気温が高くヒータ通電が不要な場合にもＤｕｔｙを「０％」にしないように制限するものであり、具体的には下限ガード値を「１％」程度に設定しておけばよい。こうしてヒータ通電が不要な場合にも微小デューティにてヒータ通電を行なわせることで、如何なる運転状態下でもヒータオン電圧Ｖｏｎ及びヒータオン電流Ｉｏｎを検出することができ、後述の故障判定ルーチンによる故障判定が実施可能となる。
【００６０】
そして、デューティ比Ｄｕｔｙが下限ガード値未満となる場合、ＣＰＵ２０ａはステップ１１３でデューティ比Ｄｕｔｙを下限ガード値（１％）で制限した後、本ルーチンを終了する。また、デューティ比Ｄｕｔｙが下限ガード以上であれば、ＣＰＵ２０ａはそのまま本ルーチンを終了する。
【００６１】
次に、ヒータ制御系の故障判定処理について説明する。なお本実施の形態の故障判定処理では、ヒータオン電圧Ｖｏｎ、ヒータオン電流Ｉｏｎ、ヒータオフ電圧Ｖｏｆｆ及びヒータオフ電流Ｉｏｆｆに基づき、前記図１５に示されるヒータ制御系の各種故障を判別するものであるが、これらＶｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆは基本的にヒータ３３の通電制御信号の「ＯＦＦ→ＯＮ」の立ち上がり時に同期して検出される。但し、ＩＧキーのＯＮ操作時だけは、前述のイニシャル処理に従いＶｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆが検出されるようになっている。
【００６２】
図１２は、ヒータ３３の通電制御信号に対応するＶｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆの検出タイミングを説明するためのタイムチャートである。同図中のタイムアップカウンタは４ｍｓｅｃ周期でカウントアップされ、そのカウント値は「０」〜「３２」の範囲内で推移する。このとき、タイムアップカウンタが「０」にクリアされるタイミングと、ヒータ３３の通電制御信号の立ち上がりのタイミングとが同期している。そして、タイムアップカウンタのカウント値が「０」にクリアされる直前、すなわちカウント値＝３１（図中の▼のタイミング）でヒータオフ電圧Ｖｏｆｆ及びヒータオフ電流Ｉｏｆｆが検出され、カウント値が「０」にクリアされた直後、すなわちカウント値＝１（図中の▽のタイミング）でヒータオン電圧Ｖｏｎ及びヒータオン電流Ｉｏｎが検出されるようになっている。Ｖｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆの検出値は、随時マイコン２０内のＲＡＭ２０ｃに記憶保持される。
【００６３】
また、図中の「Ｖｔｈ」は、ヒータ３３のオン電圧及びオフ電圧Ｖｏｎ，Ｖｏｆｆの適否を判定するためのしきい値電圧であり、「Ｉｔｈ」は、ヒータ３３のオン電流及びオフ電流Ｉｏｎ，Ｉｏｆｆの適否を判定するためのしきい値電流である。これらしきい値Ｖｔｈ，Ｉｔｈは予め設定されており、具体的には、Ｖｔｈ＝５ボルト、Ｉｔｈ＝１．５アンペアとする。
【００６４】
以下、上記の如く検出されるＶｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆに応じた故障判定処理を図７〜図９のフローチャートを用いて説明する。さて、ヒータ制御系の故障判定ルーチンがスタートすると、ＣＰＵ２０ａは、先ず図７のステップ２０１でイニシャルフラグＸＩＮＴが「１」であるか否かを判別する。そして、ＸＩＮＴ＝１であることを条件に、ＣＰＵ２０ａは、ステップ２０２でＲＡＭ２０ｃ内のＶｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆの最新値を読み込む。
【００６５】
その後、ＣＰＵ２０ａは、ステップ２０３で前記読み込んだＶｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆの値と所定のしきい値Ｖｔｈ，Ｉｔｈとからヒータ制御系が正常であるか否かを判別する。ここで、同ステップでは、次の４条件が全て成立するか否かが判別される。すなわち、
・Ｖｏｎ＞Ｖｔｈ、
・Ｉｏｎ＞Ｉｔｈ、
・Ｖｏｆｆ＜Ｖｔｈ、
・Ｉｏｆｆ＜Ｉｔｈ、
が全て成立するか否かを判別する。この場合、ヒータ制御系が正常であれば、上記４条件が全て成立し（図１５参照）、ＣＰＵ２０ａはステップ２０３ａで故障仮フラグＸＴＥＭを「０」にクリアした後、本ルーチンを終了する。
【００６６】
一方、前記ステップ２０３の条件が不成立であれば、ヒータ制御系に何らかの故障が発生している可能性が高いとしてステップ２０４以降の処理を実施する。以下、順を追って説明する。ＣＰＵ２０ａは、ステップ２０４で次の４条件が全て成立するか否かを判別する。すなわち、
・Ｖｏｎ＜Ｖｔｈ、
・Ｉｏｎ＜Ｉｔｈ、
・Ｖｏｆｆ＜Ｖｔｈ、
・Ｉｏｆｆ＜Ｉｔｈ、
が全て成立するか否かを判別する。この場合、前記図４のＡ部、Ｆ部又はＧ部開放、或いはＭＯＳ２６の常時ＯＦＦといった故障が発生していれば、ステップ２０４が肯定判別される。つまり、前記図１５に示すように、Ａ部、Ｆ部又はＧ部開放、或いはＭＯＳ２６の常時ＯＦＦといった故障発生時には、Ｖｏｆｆ，Ｉｏｆｆの値が正常値であるのに対し、Ｖｏｎ，Ｉｏｎの値が正常値よりも小さく、しきい値Ｖｔｈ，Ｉｔｈを下回ることになる（Ｖｏｎ＝０ボルト，Ｉｏｎ＝０アンペア）。ステップ２０４が肯定判別された場合、ＣＰＵ２０ａは、ステップ２０５でその時の故障箇所及び故障モード（Ａ部、Ｆ部又はＧ部開放、或いはＭＯＳ２６の常時ＯＦＦの故障情報）をバックアップＲＡＭ２０ｄに記憶させる。
【００６７】
また、前記ステップ２０４の条件が不成立であれば、ＣＰＵ２０ａはステップ２０６に進み、次の４条件が全て成立するか否かを判別する。すなわち、
・Ｖｏｎ＜Ｖｔｈ、
・Ｉｏｎ＞Ｉｔｈ、
・Ｖｏｆｆ＜Ｖｔｈ、
・Ｉｏｆｆ＜Ｉｔｈ、
が全て成立するか否かを判別する。この場合、前記図４のＢ部開放といった故障が発生していれば、ステップ２０６が肯定判別される。つまり、前記図１５に示すように、Ｂ部開放といった故障発生時には、Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆの値が正常値であるのに対し、Ｖｏｎの値だけが正常値よりも小さく、しきい値Ｖｔｈを下回ることになる（Ｖｏｎ＝０ボルト）。ステップ２０６が肯定判別された場合、ＣＰＵ２０ａは、ステップ２０７でその時の故障箇所及びモード（Ｂ部開放の故障情報）をバックアップＲＡＭ２０ｄに記憶させる。
【００６８】
また、前記ステップ２０６の条件が不成立であれば、ＣＰＵ２０ａは図８のステップ２０８に進み、次の４条件が全て成立するか否かを判別する。すなわち、・Ｖｏｎ＞Ｖｔｈ、
・Ｉｏｎ＜Ｉｔｈ、
・Ｖｏｆｆ＞Ｖｔｈ、
・Ｉｏｆｆ＜Ｉｔｈ、
が全て成立するか否かを判別する。この場合、前記図４のＣ部又はＤ部開放、或いはＤ，Ｅ，Ｆ−ＧＮＤ間短絡といった故障が発生していれば、ステップ２０８が肯定判別される。つまり、前記図１５に示すように、Ｃ部又はＤ部開放、或いはＤ，Ｅ，Ｆ−ＧＮＤ間短絡といった故障発生時には、Ｖｏｎ，Ｉｏｆｆの値が正常値であるのに対し（但し、Ｖｏｎは１２ボルトであり、ほぼ正常な値）、Ｉｏｎの値が正常値よりも小さく、しきい値Ｉｔｈを下回る（Ｉｏｎ＝０アンペア）。また、Ｖｏｆｆの値が正常値よりも大きく、しきい値Ｖｔｈを上回る（Ｖｏｆｆ＝９ボルト又は１２ボルト）。
【００６９】
またさらに、ステップ２０８が肯定判別された場合、ＣＰＵ２０ａは、ステップ２０９でその時の故障がＣ部又はＤ部開放によるものか、或いはＤ，Ｅ，Ｆ−ＧＮＤ間短絡によるものかを区別する。詳しくは、Ｃ部又はＤ部開放、或いはＤ，Ｅ，Ｆ−ＧＮＤ間短絡といった故障の発生時には、いずれの場合にもＶｏｆｆの値がしきい値Ｖｔｈ（＝５ボルト）を越えるが、既述したようにＣ部又はＤ部開放時のＶｏｆｆの値は、Ｄ，Ｅ，Ｆ−ＧＮＤ間短絡時のＶｏｆｆの値よりも低い値となる。前者の場合のＶｏｆｆは９ボルト程度であり、後者の場合のＶｏｆｆは１２ボルト程度である。そこで、これら両値の間に第２のしきい値電圧Ｖｔｈ２を設定し（Ｖｔｈ２＝１０．５ボルト程度）、このしきい値電圧Ｖｔｈ２とＶｏｆｆとの大小比較を行う。
【００７０】
つまり、ＣＰＵ２０ａは、ステップ２０９でＶｏｆｆ＜Ｖｔｈ２が成立するか否かを判別する。そして、Ｖｏｆｆ＜Ｖｔｈ２であれば、ＣＰＵ２０ａはステップ２１０に進み、Ｃ部又はＤ部開放による故障が発生しているとみなし、その旨の故障情報をバックアップＲＭ２０ｄに記憶させる。また、Ｖｏｆｆ≧Ｖｔｈ２であれば、ＣＰＵ２０ａはステップ２１１に進み、Ｄ，Ｅ，Ｆ−ＧＮＤ間短絡による故障が発生しているとみなし、その旨の故障情報をバックアップＲＡＭ２０ｄに記憶させる。
【００７１】
一方、前記ステップ２０８の条件が不成立であれば、ＣＰＵ２０ａはステップ２１２に進み、次の４条件が全て成立するか否かを判別する。すなわち、
・Ｖｏｎ＞Ｖｔｈ、
・Ｉｏｎ＞Ｉｔｈ、
・Ｖｏｆｆ＞Ｖｔｈ、
・Ｉｏｆｆ＜Ｉｔｈ、
が全て成立するか否かを判別する。この場合、前記図４のＥ部開放といった故障が発生していれば、ステップ２１２が肯定判別される。つまり、前記図１５に示すように、Ｅ部開放といった故障発生時には、Ｖｏｎ，Ｉｏｎ，Ｉｏｆｆの値が正常値であるのに対し（但し、Ｖｏｎは９ボルトであり、ほぼ正常な値）、Ｖｏｆｆの値だけが正常値よりも大きく、しきい値Ｖｔｈを上回ることになる（Ｖｏｆｆ＝９ボルト）。ステップ２１２が肯定判別された場合、ＣＰＵ２０ａは、ステップ２１３でその時の故障箇所及びモード（Ｅ部開放の故障情報）をバックアップＲＡＭ２０ｄに記憶させる。
【００７２】
前記ステップ２１２の条件が不成立であれば、ＣＰＵ２０ａはステップ２１４に進み、次の４条件が全て成立するか否かを判別する。すなわち、
・Ｖｏｎ＞Ｖｔｈ、
・Ｉｏｎ＞Ｉｔｈ、
・Ｖｏｆｆ＞Ｖｔｈ、
・Ｉｏｆｆ＞Ｉｔｈ、
が全て成立するか否かを判別する。この場合、前記図４のＭＯＳ２６の常時ＯＮといった故障が発生していれば、ステップ２１４が肯定判別される。つまり、前記図１５に示すように、ＭＯＳ２６の常時ＯＮといった故障発生時には、Ｖｏｎ，Ｉｏｎの値が正常値であるのに対し、Ｖｏｆｆ，Ｉｏｆｆの値が正常値よりも大きく、しきい値Ｖｔｈ，Ｉｔｈを上回ることになる（Ｖｏｆｆ＝１１ボルト，Ｉｏｆｆ＝５アンペア）。ステップ２１４が肯定判別された場合、ＣＰＵ２０ａは、ステップ２１５でその時の故障箇所及びモード（ＭＯＳ２６の常時ＯＮの故障情報）をバックアップＲＡＭ２０ｄに記憶させる。また、前記ステップ２１４の条件が不成立であれば、ＣＰＵ２０ａはそのまま本ルーチンを終了する。
【００７３】
上記一連の故障判定に従い故障発生の旨が判定された後（ステップ２０５，２０７，２１０，２１１，２１３，２１５の処理後）、ＣＰＵ２０ａは図９のステップ２１６〜２２１の処理を実施する。詳細には、ＣＰＵ２０ａは、ステップ２１６で全通電フラグＸＺＮが「１」であるか否か、すなわち今現在、ヒータ３３の全通電制御（又は、９８％Ｄｕｔｙ制御）が実施されているか否かを判別する。ＸＺＮ＝０であり、ヒータ３３の電力制御又は素子インピーダンスＦ／Ｂ制御が実施されている場合、ＣＰＵ２０ａはステップ２１６を否定判別して直ちにステップ２２０に進む。ＣＰＵ２０ａは、ステップ２２０で故障発生フラグＸＦＡＩＬに「１」をセットすると共に、続くステップ２２１で故障警告灯４２を点灯した後、本ルーチンを終了する。故障警告灯４２の点灯により、故障発生の旨が自動車の搭乗者に警告されることになる。
【００７４】
一方、ＸＺＮ＝１であり、ヒータ３３の全通電制御（又は９８％Ｄｕｔｙ制御）が実施されている場合、ＣＰＵ２０ａは前記ステップ２１６を肯定判別してステップ２１７に進み、故障仮フラグＸＴＥＭに「１」にセットする。その後、ＣＰＵ２０ａは、ステップ２１８でカウンタＣＺＮを「１」インクリメントし、続くステップ２１９でカウンタＣＺＮが所定の判定値ＫＣ以上であるか否かを判別する。この判定値ＫＣは、故障発生を確定させるために必要な時間であり、本実施の形態では「３秒」程度に相当するカウント値である。
【００７５】
ＣＺＮ＜ＫＣの場合、ＣＰＵ２０ａはそのまま本ルーチンを終了する。また、ＣＺＮ≧ＫＣの場合、ＣＰＵ２０ａはステップ２２０に進む。ＣＰＵ２０ａは、ステップ２２０で故障発生フラグＸＦＡＩＬに「１」をセットすると共に、続くステップ２２１で故障警告灯４２を点灯した後、本ルーチンを終了する。
【００７６】
因みに上記図７〜図９の故障判定ルーチンにおいて、ヒータ３３の通電開始当初に故障の旨が判定されず、且つ全通電制御が実施されている場合には、Ｖｏｆｆ，Ｉｏｆｆの検出が不可能となる。そのため、かかる場合には、全通電制御が終了され、電力制御又は素子インピーダンスＦ／Ｂ制御が開始されるまでは故障判定の処理が一時的に中断される（但し、全通電制御中であってもＶｏｆｆ，Ｉｏｆｆが検出できれば、故障判定の実施が可能となる）。
【００７７】
なお、本実施の形態では、前記図５のヒータ制御ルーチンが請求項記載のヒータ制御手段に相当し、図７〜図９の故障判定ルーチンが故障判定手段に相当する。また、図５のステップ１０５の処理が全通電手段に相当し、同図５のステップ１２０及び図６の処理が初期値検出手段に相当する。
【００７８】
図１３及び図１４は、エンジン１０の低温始動時におけるヒータ通電の制御動作と、ヒータ電流の推移と、各種フラグの操作の様子とを示すタイムチャートであり、図１３はヒータ制御系に何ら故障が発生していない場合を、図１４は故障が発生している場合を示す。
【００７９】
図１３において、時間ｔ１ではマイコン２０に電源が投入され、時間ｔ１〜ｔ２の期間にてイニシャル処理が実施される（前記図６のフロー参照）。この場合、ヒータオフ電圧Ｖｏｆｆ，ヒータオフ電流Ｉｏｆｆが検出された後に、ヒータオン電圧Ｖｏｎ，ヒータオン電流Ｉｏｎが検出される。そして、この最初のＶｏｆｆ，Ｉｏｆｆ，Ｖｏｎ，Ｉｏｎの各値を用いて故障判定が実施される（前記図７〜図９のフロー参照）。このヒータ通電の開始当初には、ヒータ抵抗が小さいためヒータ電流が比較的大きいが、暖機に伴いヒータ電流が正常な値（５アンペア）に収束していく。
【００８０】
時間ｔ２では、イニシャルフラグＸＩＮＴに「１」がセットされると共に、全通電フラグＸＺＮに「１」がセットされる。その後、時間ｔ２〜ｔ４の期間では、ヒータ３３の全通電制御が実施される。すなわち、ヒータ通電の制御デューティ比Ｄｕｔｙが１００％で維持される。この全通電制御に要する時間は、Ａ／Ｆセンサ３０の冷間状態の度合に応じて異なるが、最長で約７秒程度の時間である。そして、時間ｔ４では全通電フラグＸＺＮが「０」にクリアされ、それ以降、ヒータ３３の電力制御及び素子インピーダンスＦ／Ｂ制御が実施される（前記図５のフロー参照）。
【００８１】
また、同図１３において、イニシャル処理で検出したＶｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆにより故障発生の旨が仮判定された場合には、図の破線で示すように時間ｔ２で故障仮フラグＸＴＥＭに「１」がセットされ、デューティ比Ｄｕｔｙの２％をＯＦＦ時間とする、「９８％Ｄｕｔｙ制御」が実施される（図５のステップ１０６）。かかる場合、この故障発生の判定が一時的なものであれば、図の時間ｔ３で故障仮フラグＸＴＥＭが「０」にリセットされ（図７のステップ２０３ａ）、ヒータ通電が９８％Ｄｕｔｙ制御から全通電制御に切り換えられる（図５のステップ１０５）。
【００８２】
一方、図１４では、通電開始当初から前記図１５に示す各種故障のいずれかが発生している。この場合、時間ｔ１１〜ｔ１２のイニシャル処理で検出したＶｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆの各値を用いて故障判定が実施され、故障発生の旨が仮判定される。そして、時間ｔ１２では故障仮フラグＸＴＥＭ等がセットされると共に、カウンタＣＺＮのカウントアップが開始される（図９のステップ２１７，２１８）。
【００８３】
時間ｔ１２以降、９８％Ｄｕｔｙ制御の実施中に故障発生の旨が解消されないと、カウンタＣＺＮの値が所定の判定値ＫＣに達する時間ｔ１３で故障発生フラグＸＦＡＩＬに「１」がセットされる（図９のステップ２２０）。この際、故障箇所や故障モードといった故障情報がバックアップＲＡＭ２０ｄ内に記憶されると共に、故障警告灯４２が点灯される。そして、それ以降のヒータ通電が停止される。
【００８４】
上記の如く全通電制御が本来、実施される期間において９８％Ｄｕｔｙ制御を実施し、強制的にヒータ非通電の動作を行わせるため、故障発生の仮判定時にＶｏｆｆ，Ｉｏｆｆの各値の検出が可能となる。従って、ヒータ制御系の故障が正確に把握でき、センサ過昇温といった不都合を招くこともない。
【００８５】
なお、上述のように故障警告灯４２が点灯されると、この警告に従い故障発生の車両が修理工場等に持ち込まれる。そして、バックアップＲＡＭ２０ｄ内に記憶されている故障情報をダイアグチェッカ等にて読み出せば、煩雑な作業を要することもなく故障箇所が容易に特定され、その時々の故障に応じた修理作業が行われる。
【００８６】
以上詳述した本実施の形態によれば、以下に示す効果が得られる。
（ａ）本実施の形態では、ヒータ通電時の電圧及び電流Ｖｏｎ，Ｉｏｎと、ヒータ非通電時の電圧及び電流Ｖｏｆｆ，Ｉｏｆｆとからなる４つの値を各々に所定のしきい値Ｖｔｈ，Ｉｔｈにて大小比較し、該比較した４つの値のうち、いずれが正常時の値と異なるかに応じて故障の有無を判定すると共に故障箇所を特定するようにした。上記構成によれば、既存の装置では不十分であったヒータ制御系の故障箇所の特定が可能となる。つまり、ヒータ制御系の故障発生時においてその旨を正確に判定すると共に、故障箇所を細部にまで特定することができるようになる。かかる場合において、上記故障箇所の特定結果を用いることにより、実際の修理までに要する故障箇所の特定作業が大幅に簡素化できるようになる。その結果、メンテナンス性や作業性が向上するという効果も得られる。
【００８７】
（ｂ）また本実施の形態では、前記図１５に示されるような各種故障を発生箇所毎又はモード毎に特定することで、実機に対応する故障判定が実現できるようになる。
【００８８】
（ｃ）エンジン始動に伴うヒータ３３の通電当初において、全通電制御の開始前に、ヒータオフ電圧Ｖｏｆｆとヒータオフ電流Ｉｏｆｆとを検出すると共に、そのＶｏｆｆ，Ｉｏｆｆの検出後、ヒータ通電を開始してヒータオン電圧Ｖｏｎとヒータオン電流Ｉｏｎとを検出するようにした（前記図６のイニシャル処理）。そして、当該検出したＶｏｆｆ，Ｉｏｆｆ，Ｖｏｎ，Ｉｏｎの各値に応じて故障判定を実施するようにした。この場合、ヒータ３３の全通電制御が実施されていると（Ｄｕｔｙ＝１００％であると）、故障が発生していてもＶｏｆｆ，Ｉｏｆｆが検出できず正確な故障判定が不可能になるが、通電開始前にＶｏｆｆ，Ｉｏｆｆを検出しておくことで、Ｖｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆからなる４つの値を検出することが可能となる。その結果、既述のような所望の故障判定を実施することができる。
【００８９】
（ｄ）また、ヒータ通電の開始当初に故障発生の旨が判定された場合、Ｖｏｆｆ，Ｉｏｆｆが検出可能な最小時間だけヒータ通電を遮断するべく、「９８％Ｄｕｔｙ制御」を実施し（前記図５のステップ１０６）、その状態でヒータ制御系の故障発生の旨が所定時間以上継続して判定されれば、最終的に故障発生であることを確定するようにした（前記図９のステップ２１６〜２２１）。この場合、エンジン始動当初の一時的な故障判定時にも故障の誤判定を回避することができ、より正確な故障判定が可能になる。
【００９０】
（ｅ）さらに、本実施の形態では、制御デューティ比Ｄｕｔｙを所定の下限ガード値（１％）にて制限するようにした（前記図５のステップ１１２，１１３）。この場合、例えばエンジン１０の高負荷運転時など、排気温が高くヒータ通電が不要になる場合（Ｄｕｔｙ＝０％になる場合）にも、ヒータオン電圧Ｖｏｎ及びヒータオン電流Ｉｏｎを確実に検出することができる。従って、Ｖｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆからなる４つの値を常に検出することが可能となり、既述のような所望の故障判定を実施することができる。
【００９１】
（ｆ）また、以上のようにヒータ制御系の故障が正確に把握できれば、Ａ／Ｆセンサ３０の正常なる活性状態が維持できる。その結果、精度の高い空燃比Ｆ／Ｂ制御が実施できるようになり、エミッションが低減されると共に、排ガス規制に関する法規制にも適切に対応できることとなる。
【００９２】
なお、本発明の実施の形態は、上記以外に次の形態にて実現できる。
上記実施の形態では、ヒータ制御系の故障判定ルーチン（図７〜図９）において、
・Ｖｏｎ＞Ｖｔｈ、
・Ｉｏｎ＜Ｉｔｈ、
・Ｖｏｆｆ＞Ｖｔｈ、
・Ｉｏｆｆ＜Ｉｔｈ、
という４条件が成立する故障時に（前記図８のステップ２０８がＹＥＳとなる場合に）、Ｖｏｆｆの値を第２のしきい値電圧Ｖｔｈ２と大小比較し、Ｃ部又はＤ部開放による故障と、Ｄ，Ｅ，Ｆ−ＧＮＤ間短絡による故障とを判別するようにしていたが（図８のステップ２０９〜２１１）、この構成を変更してもよい。例えばステップ２０９の処理を省略し、ステップ２０８が肯定判別された場合には、「Ｃ部又はＤ部開放、或いはＤ，Ｅ，Ｆ−ＧＮＤ間短絡」による故障が発生したと結論付けるようにしてもよい。
【００９３】
また、故障判定する箇所又はモードを前述の実施の形態（図１５参照）よりも減らし、ＣＰＵ２０ａによる演算負荷の軽減を図るようにしてもよい。具体的には、故障の発生頻度や優先順位を考慮し、図４におけるＥ部開放、Ｆ部開放、Ｇ部開放及びＭＯＳ２６の常時ＯＮ，常時ＯＦＦといった故障の全て若しくはその一部を故障判定の対象から外してもよい。要するに、図４におけるＡ部開放、Ｂ部開放、Ｃ部開放、Ｄ部開放及びＤ，Ｅ，Ｆ−ＧＮＤ間短絡といった故障を必須の故障判定の対象とする。この場合、発生頻度の高い故障、又は優先度の高い故障が適切に判定できるようになる。但し、故障の原因の大半が半導体スイッチング素子のＯＮ・ＯＦＦ不能によるものであると解析される場合には、故障判定の対象を当該スイッチング素子のＯＮ・ＯＦＦ故障に限定することも可能である。
【００９４】
上記実施の形態では、エンジン１０の低温始動当初においてヒータ３３の全通電制御を実施していた。すなわち、ヒータ３３を１００％通電により加熱させるようにしていた。この構成を変更し、ヒータ３３の制御デューティ比を例えば「９８％」の上限ガード値にて制限するようにしてもよい。この場合、上述した図５のヒータ制御ルーチンのように、センサ活性前に「全通電制御」と「９８％通電制御」とを区別して実施する必要がなくなる。こうした構成によれば、制御デューティ比の上限及び下限が「１％〜９８％」の範囲内で制限されることとなり、Ｖｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆの各値が常に検出できるようになる。但し、上記上限及び下限ガードによるデューティ比の制限は、本発明において必須要件ではなく、適宜省略して具体化できる。
【００９５】
また、上記実施の形態では、ヒータ通電の開始当初において故障発生を仮判定し、その状態が所定時間以上経過した際に故障発生を確定させるようにしていたが（前記図９のステップ２１６〜２２１）、こうした仮判定の処理をヒータ通電の開始当初以外にも適用してもよい。この場合、故障発生の旨の誤判定が防止できるようになる。また逆に、演算処理の簡素化のために、仮判定の処理を削除して具体化することも可能である。
【００９６】
ヒータ制御回路２５の構成を以下のように変更してもよい。
図１６に示すヒータ制御回路２５は、前記図４の一部を変更したものであり、具体的にはヒータ電流検出回路の構成を変更している。図１６のヒータ電流検出回路４５は、オペアンプ４５ａと、同オペアンプ４５ａの非反転入力端子に接続された抵抗４５ｂ，４５ｃ及び定電圧電源Ｖｃｃ（５ボルト）と、反転入力端子に接続された抵抗４５ｄ，４５ｅとからなる差動増幅回路により構成されている。そして、当該検出回路４５は、ヒータ電流検出用抵抗４１により検出されるヒータ電流Ｉｈを電圧信号に変換しその結果をＡ／Ｄ変換器２４を介してマイコン２０に出力する。かかる構成では、前記図４の構成とは異なり、ヒータ電流Ｉｈが大きくなるほどオペアンプ４５ａの出力が小さくなるような出力特性を有する。
【００９７】
図１７のヒータ制御回路は、電圧検出手段及び電流検出手段をＡ／Ｄ変換器２４及びマイコン２０にて構成するものである。同構成では、ヒータ３３のバッテリ側電位が抵抗４６ａ，４６ｂを介してＡ／Ｄ変換器２４の「ＣＨ１」に入力され、ヒータ３３のＧＮＤ側電位が抵抗４６ｃ，４６ｄを介してＡ／Ｄ変換器２４の「ＣＨ２」に入力される。また、ヒータ電流検出用抵抗４１のヒータ側の電位がＡ／Ｄ変換器２４の「ＣＨ３」に入力される。そして、マイコン２０は、前記Ａ／Ｄ変換器２４のＣＨ１，ＣＨ２，ＣＨ３に取り込まれた信号に基づいてヒータ３３の両端電圧（Ｖｏｎ，Ｖｏｆｆ）及びヒータ電流（Ｉｏｎ，Ｉｏｆｆ）を検出する。
【００９８】
またその他の形態として、前記図４、図１６、図１７を組み合わせてヒータ制御回路を構成したり、ヒータ電流ローサイド検出の構成や或いはヒータ電流ハイサイド検出の構成を適用したりすることも可能である。これらの回路構成は、エンジン毎の設計思想等に応じて適宜選択的に用いられる。
【００９９】
ヒータ通電時の電圧及び電流の検出値（Ｖｏｎ，Ｉｏｎ）を比較判定するためのしきい値と、ヒータ非通電時の電圧及び電流の検出値（Ｖｏｆｆ，Ｉｏｆｆ）を比較判定するためのしきい値とを別個に設けるようにしてもよい。つまり、本実施の形態の構成では、ヒータ制御系の正常時には、Ｖｏｎ＝１１ボルト，Ｉｏｎ＝５アンペア，Ｖｏｆｆ＝０ボルト，Ｉｏｆｆ＝０アンペア若しくはその付近の値となる。そこで例えば、
・ヒータ通電時のしきい値電圧（Ｖｔｈｏｎ）を「９ボルト」程度に、
・ヒータ通電時のしきい値電流（Ｉｔｈｏｎ）を「４アンペア」程度に、
・ヒータ非通電時のしきい値電圧（Ｖｔｈｏｆｆ）を「２ボルト」程度に、
・ヒータ非通電時のしきい値電流（Ｉｔｈｏｆｆ）を「１アンペア」程度に、
それぞれ設定する。そして、
・Ｖｏｎ＞Ｖｔｈｏｎ、
・Ｉｏｎ＞Ｉｔｈｏｎ、
・Ｖｏｆｆ＜Ｖｔｈｏｆｆ、
・Ｉｏｆｆ＜Ｉｔｈｏｆｆ、
の４条件が成立する場合にのみヒータ制御系が正常である旨を判定し、それ以外の場合には、上記４つの検出値（Ｖｏｎ，Ｉｏｎ，Ｖｏｆｆ，Ｉｏｆｆ）が上記４つのしきい値に対して如何なる大小関係にあるかに応じてヒータ制御系の故障箇所及びモードを図１５を参照しつつ特定する。かかる構成によれば、より一層適確な故障判定が実施できるようになる。
【０１００】
上記実施の形態では、コップ型のＡ／Ｆセンサに本発明を具体化したが、積層型のＡ／Ｆセンサに具体化してもよい。
上記実施の形態では、限界電流式空燃比センサ（Ａ／Ｆセンサ）に本発明を具体化したが、他のガス濃度センサに具体化して実現することも可能である。例えば空燃比が理論空燃比（ストイキ）に対してリッチかリーンかで異なる電圧信号（起電力）を出力するＯ2 センサにて本発明を具体化してもよい。要は、活性化のためにヒータによる加熱が必要なガス濃度センサ、例えばＮＯx ，ＨＣ，ＣＯ等のガス濃度を検出するためのセンサであれば、本発明が適用できる。
【図面の簡単な説明】
【図１】発明の実施の形態における空燃比検出装置の概要を示す構成図。
【図２】Ａ／Ｆセンサの詳細な構成を示す断面図。
【図３】Ａ／Ｆセンサの出力特性を説明するためのＶ−Ｉ特性図。
【図４】ヒータ制御回路の構成を示す回路図。
【図５】ヒータ制御ルーチンを示すフローチャート。
【図６】イニシャル処理ルーチンを示すフローチャート。
【図７】ヒータ制御系の故障判定ルーチンを示すフローチャート。
【図８】図７に続き、ヒータ制御系の故障判定ルーチンを示すフローチャート。
【図９】図７及び図８に続き、ヒータ制御系の故障判定ルーチンを示すフローチャート。
【図１０】素子インピーダンスの検出法の一例を説明するための波形図。
【図１１】電力制御時において、素子インピーダンスに応じた電力指令値を求めるためのマップ。
【図１２】ヒータの通電制御信号に対応するヒータ両端電圧及びヒータ電流と、それら各値の検出タイミングを説明するためのタイムチャート。
【図１３】エンジン始動時における制御動作を説明するためのタイムチャート。
【図１４】エンジン始動時における制御動作を説明するためのタイムチャート。
【図１５】各種故障の形態と、正常時及び故障発生時におけるヒータ電圧及びヒータ電流の各値とを説明するための図。
【図１６】他の実施の形態において、ヒータ制御回路の構成を示す回路図。
【図１７】他の実施の形態において、ヒータ制御回路の構成を示す回路図。
【符号の説明】
１０…エンジン、１２…排気管、２０…マイコン（マイクロコンピュータ）、２０ａ…ヒータ制御手段，故障判定手段，全通電手段，初期値検出手段を構成するＣＰＵ、２０ｄ…バックアップＲＡＭ、２４…Ａ／Ｄ変換器、２６…半導体スイッチング素子としてのＭＯＳ（ｎチャネルＭＯＳトランジスタ）、２８…電圧検出手段を構成するヒータ電圧検出回路、２９…電流検出手段を構成するヒータ電流検出回路、３０…ガス濃度センサとしてのＡ／Ｆセンサ（限界電流式空燃比センサ）、３３…ヒータ、４１…電流検出手段を構成するヒータ電流検出用抵抗、４２…故障警告灯、＋Ｂ…バッテリ電源。
【図１】
0004110603.tif 000002
【図２】
0004110603.tif 000003
【図３】
0004110603.tif 000004
【図４】
0004110603.tif 000005
【図５】
0004110603.tif 000006
【図６】
0004110603.tif 000007
【図７】
0004110603.tif 000008
【図８】
0004110603.tif 000009
【図９】
0004110603.tif 000010
【図１０】
0004110603.tif 000011
【図１１】
0004110603.tif 000012
【図１２】
0004110603.tif 000013
【図１３】
0004110603.tif 000014
【図１４】
0004110603.tif 000015
【図１５】
0004110603.tif 000016
【図１６】
0004110603.tif 000017
【図１７】
0004110603.tif 000018