(57)【要約】【課題】静電容量式センサが異常状態にあるか否かを検出することができる静電容量式センサの異常検出装置を提供する。【解決手段】コンデンサを構成するレベル検出部に波形が正弦波形状をなす測定信号を入力し、出力される検出信号の信号値を変動周期の一周期分、サンプリング位相ごとに取得する。信号値の取得順が連続しつつ、信号値の平均値を挟む２つの信号値Ｄ，Ｅのうち、平均値に近い信号値Ｄを中近値とし、その中近値と、平均値よりも中近値側にある極値である信号値Ａとの位相差を求める。求めた位相差が９０度に測定誤差を加えた値以上であれば（また、極値（Ａ，Ｇ）間の位相差が１８０度に測定誤差を含む範囲から逸脱すれば）、検出信号に歪みが生じているとして、静電容量式センサの異常を検出する。【選択図】図５
2010025825.tif 000002
【特許請求の範囲】
【請求項１】
コンデンサを構成する一対の電極間に被測定物を介在させ、前記電極間に電圧が周期的に変動する正弦波波形をなす測定信号を入力し、その出力として得られた検出信号の波形の状態に基づいて前記被測定物の状態を検出する静電容量式センサが異常状態にあるか否かを検出する静電容量式センサの異常検出装置であって、
前記測定信号の波形の変動周期に基づいて定められた当該変動周期よりも短い一定間隔の位相であるサンプリング位相ごとに、前記検出信号の信号値を取得するサンプリング手段であって、前記測定信号の前記変動周期の一周期に対して４点以上のサンプリング位相に対応した前記検出信号の信号値を取得するサンプリング手段と、
取得した複数の前記検出信号の信号値のうち、当該検出信号の信号値の極値を特定する極値特定手段と、
複数の前記検出信号の各信号値の平均値を算出する平均値算出手段と、
前記検出信号の信号値のうち、前記サンプリング手段による検出信号の信号値の取得順が連続しつつ前記平均値を挟む２つの信号値を選び、その２つの信号値のうち前記平均値に近い信号値を中近値として特定する中近値特定手段と、
予め、９０度、または９０度に前記サンプリング位相を加えた和のいずれか一方を第１判定位相差として定め、前記中近値の位相と、前記極値のうち、前記平均値に対して前記中近値と同じ側にある前記極値の位相との位相差である第１位相差を、前記第１判定位相差と比較する位相差比較手段と、
前記位相差比較手段による比較の結果、前記第１位相差が前記第１判定位相差以上である場合に、前記静電容量式センサに異常が生じたと判定する異常判定手段と、
を備えたことを特徴とする静電容量式センサの異常検出装置。
【請求項２】
予め、１８０度から前記サンプリング位相を引いた差を第２判定位相差として定めるとともに、１８０度に前記サンプリング位相を加えた和を第３判定位相差として定め、
前記前記異常判定手段は、前記位相差比較手段による比較の結果、前記第１位相差が前記第１判定位相差より小さかった場合に、さらに、前記極値間の位相差である第２位相差を前記第２判定位相差および前記第３判定位相差と比較し、前記第２位相差が前記第２判定位相差以下である場合、または、前記第２位相差が前記第３判定位相差以上である場合に、前記静電容量式センサに異常が生じたと判定することを特徴とする請求項１に記載の静電容量式センサの異常検出装置。
【請求項３】
前記極値特定手段は、前記極値の特定を行う際に、位相の異なる２つの信号値がともに同値で前記極値を示す場合、前記サンプリング手段による前記検出信号の信号値の取得順において先に取得した信号値を前記極値として特定することを特徴とする請求項１または２に記載の静電容量式センサの異常検出装置。
【請求項４】
前記極値特定手段は、前記極値の特定を行う際に、位相の異なる２つの信号値がともに同値で前記極値を示す場合、前記サンプリング手段による前記検出信号の信号値の取得順において後に取得した信号値を前記極値として特定することを特徴とする請求項１または２に記載の静電容量式センサの異常検出装置。
【請求項５】
前記異常判定手段は、
前記位相差比較手段による比較の結果、前記第１位相差が前記第１判定位相差以上である場合、または、前記第１位相差が前記第１判定位相差より小さく、且つ、前記第２位相差が前記第２判定位相差以下である場合、あるいは、前記第１位相差が前記第１判定位相差より小さく、且つ、前記第２位相差が前記第３判定位相差以上である場合に、前記静電容量式センサに異常が発生したと仮に判定する仮判定手段と、
前記仮判定手段によって前記静電容量式センサが異常状態にあると仮に判定された回数を計数する計数手段と、
を備え、
前記計数手段により計数された仮判定回数が予め定められた基準回数に達した場合に、前記静電容量式センサに異常が発生したと判定することを特徴とする請求項１乃至４のいずれかに記載の静電容量式センサの異常検出装置。
【請求項６】
前記サンプリング位相が９０度の約数であるとともに、前記第１判定位相差が９０度であることを特徴とする請求項１乃至５のいずれかに記載の静電容量式センサの異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンデンサを構成する一対の電極間に被測定物を介在させ、両電極間の静電容量に基づき被測定物の状態を検知する静電容量式センサが異常状態にあるか否かを検出する静電容量式センサの異常検出装置に関するものである。
【背景技術】
【０００２】
従来、コンデンサを構成する一対の電極間に被測定物を介在させ、両電極間の静電容量の測定結果に基づいて被測定物の状態を検知する静電容量式センサが知られている。このような静電容量式センサの例として、液体の濃度を検知する濃度センサ、液体の劣化状態を検知する劣化センサ、水位（液位）を検知する水位センサ、気体の湿度を検出する湿度センサ等が挙げられる。
【０００３】
例えば、オイルの劣化状態を検知する劣化センサでは、オイル内に浸漬した一対の電極板によりコンデンサを構成する。その電極板間に電圧が周期的に変動する正弦波波形をなす測定信号を入力すると、その出力として得られるコンデンサを通過した電流を電流電圧変換した検出信号は、測定信号と同じ周波数の正弦波波形となる。この検出信号はコンデンサの静電容量に応じて波形の振幅が変化するので、振幅を測定することにより両電極間の静電容量を測定できる。オイルは、劣化状態に応じてその誘電率が変化するので、測定した静電容量に基づきオイルの劣化状態を判定することができる（例えば、特許文献１参照。）。
【０００４】
ところで、このような静電容量式センサを用いて被測定物の状態を検知するには、測定信号の生成回路と検出信号のサンプリング回路および解析回路とを設ける必要がある。その一方で、各種回路を有する電装部品には低廉化が求められており、そのためにはこうした信号の処理回路に汎用のマイクロコンピュータを用いることが望ましい。特許文献１では、検出信号から取得する電圧のサンプリング点を減らしつつ、得られたサンプリング点に対し数学的手法を用いて解析を行うことで、マイクロコンピュータに対する負荷が小さい処理ながら正確に検出信号の振幅の算出を行っている。
【特許文献１】特開２００４−２１９１５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、静電容量式センサに異常が生じた場合、検出信号の波形は正常時の波形に対して歪みを生じ得るが、特許文献１ではセンサの異常を検出できず、検出信号の波形がどのような形状であっても取得したサンプリング点を基に波形の振幅を求めるため、被測定物の実際の状態とは異なる状態を検知してしまう虞があった。
【０００６】
本発明は上記問題点を解決するためになされたものであり、静電容量式センサが異常状態にあるか否かを検出することができる静電容量式センサの異常検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る発明の静電容量式センサの異常検出装置は、コンデンサを構成する一対の電極間に被測定物を介在させ、前記電極間に電圧が周期的に変動する正弦波波形をなす測定信号を入力し、その出力として得られた検出信号の波形の状態に基づいて前記被測定物の状態を検出する静電容量式センサが異常状態にあるか否かを検出する静電容量式センサの異常検出装置であって、前記測定信号の波形の変動周期に基づいて定められた当該変動周期よりも短い一定間隔の位相であるサンプリング位相ごとに、前記検出信号の信号値を取得するサンプリング手段であって、前記測定信号の前記変動周期の一周期に対して４点以上のサンプリング位相に対応した前記検出信号の信号値を取得するサンプリング手段と、取得した複数の前記検出信号の信号値のうち、当該検出信号の信号値の極値を特定する極値特定手段と、複数の前記検出信号の各信号値の平均値を算出する平均値算出手段と、前記検出信号の信号値のうち、前記サンプリング手段による検出信号の信号値の取得順が連続しつつ前記平均値を挟む２つの信号値を選び、その２つの信号値のうち前記平均値に近い信号値を中近値として特定する中近値特定手段と、予め、９０度、または９０度に前記サンプリング位相を加えた和のいずれか一方を第１判定位相差として定め、前記中近値の位相と、前記極値のうち、前記平均値に対して前記中近値と同じ側にある前記極値の位相との位相差である第１位相差を、前記第１判定位相差と比較する位相差比較手段と、前記位相差比較手段による比較の結果、前記第１位相差が前記第１判定位相差以上である場合に、前記静電容量式センサに異常が生じたと判定する異常判定手段と、を備えている。
【０００８】
本発明によれば、正弦波波形をなす測定信号を静電容量式センサに入力し、出力される検出信号の波形の形状が正弦波に対して歪んでいる場合に、静電容量式センサに異常が生じたと判定することができる。具体的に、まず、測定信号の変動周期の一周期において、検出信号の信号値をサンプリング位相ごとに４点以上サンプリングし、取得順に連続しつつ平均値を挟む２つの信号値のうち平均値に近い方を中近値とする。また、信号値の極値、すなわち極大値および極小値を特定し、平均値に対して中近値と同じ側にある極値を選び、その極値の位相と中近値の位相との位相差を第１位相差として求める。検出信号の波形に歪みがなく、測定信号と同じく正弦波であれば、検出信号も正弦波をなすため、第１位相差は９０度となる。
【０００９】
もっとも、サンプリング位相の大きさによっては、第１位相差が、測定タイミングのずれに伴う誤差（測定誤差）を含み、必ずしも９０度とはならない場合がある。こうした測定誤差を許容するため、９０度にサンプリング位相を加えた和を第１判定位相差とし、第１位相差が第１判定位相差以上となった場合に、静電容量式センサに異常が生じたと判定するのである。このような異常判定は検出信号のサンプリングを行った結果をもとにソフトウェア的な解析により簡易に行うことができるので、静電容量式センサの異常を検出するための新たな構成を必要としない。つまり、静電容量式センサによる被測定物の状態検出の際に入力される測定信号と、その出力の検出信号とを用いた既存の構成で、静電容量式センサに異常が生じたか判定することができる。
【００１０】
次に、予め、１８０度から前記サンプリング位相を引いた差を第２判定位相差として定めるとともに、１８０度に前記サンプリング位相を加えた和を第３判定位相差として定めるものとする。本発明における前記前記異常判定手段は、前記位相差比較手段による比較の結果、前記第１位相差が前記第１判定位相差より小さかった場合に、さらに、前記極値間の位相差である第２位相差を前記第２判定位相差および前記第３判定位相差と比較し、前記第２位相差が前記第２判定位相差以下である場合、または、前記第２位相差が前記第３判定位相差以上である場合に、前記静電容量式センサに異常が生じたと判定してもよい。
【００１１】
このように、第１位相差が第１判定位相差より小さい場合に、第２位相差を、さらに第２判定位相差および第３判定位相差と比較し、その比較結果をもって検出信号の波形に歪みが生じていないかを確認すれば、より精度よく、静電容量式センサにおける異常発生の有無を検出することができる。具体的に、検出信号の波形に歪みがなく、測定信号と同じく正弦波であれば、検出信号も正弦波をなすため、第２位相差は１８０度となる。そこで、上記同様に測定誤差を許容し、１８０度からサンプリング位相を差し引いた第２判定位相差を下限とし、１８０度にサンプリング位相を加えた第３判定位相差を上限とする位相の範囲内に第２位相差が収まらなければ、検出信号の波形に歪みが生じた、すなわち、静電容量式センサに異常が生じたと判定するのである。このように、第１位相差が第１判定位相差より小さく、１／４周期分の検出信号の波形からは歪みが検出できなかった場合でも、さらに１／２周期分の検出信号の波形をもって検出信号の歪みの有無の検出を行うことで、静電容量式センサにおける異常発生の有無をより正確に検出することができる。
【００１２】
ところで、検出信号の信号値のサンプリングを行ったタイミングやサンプリング位相の大きさによっては、平均値より大きい値側の極値（極大値）や平均値より小さい値側の極値（極小値）が、同値で２箇所、検出される場合がある。そこで、本発明における前記極値特定手段は、前記極値の特定を行う際に、位相の異なる２つの信号値がともに同値で前記極値を示す場合、前記サンプリング手段による前記検出信号の信号値の取得順において先に取得した信号値を前記極値として特定するとよい。あるいは、前記極値特定手段は、前記極値の特定を行う際に、位相の異なる２つの信号値がともに同値で前記極値を示す場合、前記サンプリング手段による前記検出信号の信号値の取得順において後に取得した信号値を前記極値として特定してもよい。すなわち、極大値を示し位相の異なる２つの信号値があり、先に取得した信号値を極大値として設定したならば、極小値についても、極小値を示し位相の異なる２つの信号値のうち、先に取得した信号値を極小値として設定すればよい。あるいは、極大値を示し位相の異なる２つの信号値があり、後に取得した信号値を極大値として設定してもよく、この場合には、極小値についても、極小値を示し位相の異なる２つの信号値のうち、後に取得した信号値を極小値として設定すればよいのである。
【００１３】
また、本発明における前記異常判定手段は、前記位相差比較手段による比較の結果、前記第１位相差が前記第１判定位相差以上である場合、または、前記第１位相差が前記第１判定位相差より小さく、且つ、前記第２位相差が前記第２判定位相差以下である場合、あるいは、前記第１位相差が前記第１判定位相差より小さく、且つ、前記第２位相差が前記第３判定位相差以上である場合に、前記静電容量式センサに異常が発生したと仮に判定する仮判定手段と、前記仮判定手段によって前記静電容量式センサが異常状態にあると仮に判定された回数を計数する計数手段と、を備えてもよい。そして、前記計数手段により計数された仮判定回数が予め定められた基準回数に達した場合に、前記静電容量式センサに異常が発生したと判定するとよい。このようにすれば、静電容量式センサが異常状態にあるか否かを複数回の判断により行うことができるので、一時的な異常状態を検出してしまうことにより異常判定がなされてしまうことを防止し、静電容量式センサの異常判定に対する信頼性を高めることができる。
【００１４】
なお、本発明では、前記サンプリング位相が９０度の約数であるとともに、前記第１判定位相差が９０度であることが望ましい。サンプリング位相を９０度の約数とすれば、測定誤差を生じにくくすることができるので、第１位相差については９０度との比較をもって、また、第２位相差については１８０度との比較をもって、検出信号の波形に歪みが生じているか否かを検出することができる。したがって、静電容量式センサにおける異常の発生の有無の判断を精度よく行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を具体化した静電容量式センサの異常検出装置の一実施の形態について、図面を参照して説明する。ここでは、静電容量式センサの一例として尿素水溶液のレベル（液位）を検出するレベルセンサ１００を挙げ、そのレベルセンサ１００に搭載され、レベルセンサ１００の異常を検出するための回路（異常検出回路２０）およびプログラム（後述する異常検出プログラム）からなるシステムを、本発明に係る異常検出装置の一例として説明する。まず、本発明の一実施の形態として、レベルセンサ１００の異常を検出するための異常検出回路２０の電気的な構成について、図１，図２を参照して説明する。図１は、レベルセンサ１００の異常を検出するための異常検出回路２０の電気的な構成を示す図である。図２は、レベル検出部１０の模式的な構造を示す図である。なお、レベルセンサ１００の異常を検出する回路（異常検出回路２０）は尿素水溶液のレベルを検出するための回路と共用されており、このレベル検出のための回路構成やプログラムについては公知であるため、その説明（後述）については簡略化する。
【００１６】
図１に示す、本実施の形態のレベルセンサ１００は、自動車のディーゼルエンジンから排出される排気ガスの浄化に用いられる尿素水溶液１６（図２参照）のレベルを検出するためのセンサとして用いられるものである。レベルセンサ１００は尿素水溶液１６に浸されてレベルを検出するためのレベル検出部１０を有し、このレベル検出部１０は、一対の電極間に介在する尿素水溶液１６のレベルに応じて両電極間の静電容量が変化するコンデンサを構成する。図２に示すように、レベル検出部１０は、円筒状の外筒電極１１と、その外筒電極１１の内部にて外筒電極１１の軸線方向に沿って同心的に配置される円筒状の内部電極１２とから構成される。内部電極１２の表面上には誘電率の高い絶縁被膜（図示外）が塗布されている。なお、内部電極１２は円筒状でなく、中実状であってもよい。
【００１７】
次に、図１に示すように、レベルセンサ１００は、レベル検出部１０に電圧を印加する回路において異常が生じたか否かを検出するための異常検出回路２０を備える。異常検出回路２０は、マイクロコンピュータ３０、波形生成回路４０、検出抵抗５１および差動増幅回路５０等を有する。マイクロコンピュータ３０は、公知の構成のＣＰＵ６０，ＲＯＭ７０，ＲＡＭ８０や、図示しない各種入出力ポートを備え、尿素水溶液１６のレベルの検出結果をＥＣＵ（エンジン制御装置）に対し出力する。ＣＰＵ６０は、レベルセンサ１００の制御（本実施の形態においては、異常検出回路２０の制御）を司る。ＲＯＭ７０には、後述する異常検出プログラムや、異常検出プログラムで使用される各種変数の初期値、閾値等が記憶されている。ＲＡＭ８０には、異常検出プログラムの実行時に、異常検出プログラムで使用される各種変数やカウント値、データなどが一時的に記憶される。また、レベル検出部１０への測定信号の入力結果として得られる検出信号のサンプリングによって取得される信号値（電圧値）も記憶される。また、ＲＯＭ７０やＲＡＭ８０は、レベルセンサ１００にて実行される他のプログラムと共用されるものであり、図示しないが、それらのプログラムで使用される記憶エリアも有している。
【００１８】
次に、図１に示す、波形生成回路４０は、マイクロコンピュータ３０の複数の出力ポートを利用して、電圧変化が正弦波波形をなす測定信号を生成する回路である。具体的に、波形生成回路４０は、概略、マイクロコンピュータ３０の複数の出力ポートにそれぞれ抵抗値の異なる抵抗器の一端を接続し、各抵抗器の他端を、ローパスフィルタの入力に接続した構成をなす。マイクロコンピュータ３０の各出力ポートの出力電圧は、例えば０Ｖおよび＋５Ｖの二値的な電圧であるが、各出力ポートのオン・オフを適宜組み合わせると、各抵抗器を介して合成される出力電圧を、０Ｖ〜５Ｖの範囲で段階的に切り替えることができる。したがって、マイクロコンピュータ３０の各出力ポートのオン・オフのタイミングを調整し、予め定められた順序および周期にて切り替えることにより、正弦波の軌跡をたどる階段状の電圧波形を有した信号を出力することができる。なお、各抵抗器の一端を、それぞれトランジスタを介してバッテリに接続し、マイクロコンピュータ３０の出力ポートで各トランジスタのオン・オフを制御し、各抵抗器でバッテリ電圧を降圧させて合成し、安定した出力電圧を得てもよい。このように生成した階段状の信号を、ローパスフィルタを通過させてスムージングすれば、電圧が滑らかに変動する正弦波波形の測定信号を生成することができる。本実施の形態では、一周期を８分割した１／８周期（進角４５度）ごとにマイクロコンピュータ３０の各出力ポートのオン・オフを所定のパターンにしたがって切り替えて階段状の信号を作成しスムージングして正弦波波形をなす測定信号を生成している。なお、この波形生成回路４０については、特開２００３−１１０３６４号公報にも記載されているため、波形生成回路４０の詳細についての説明はここまでとする。
【００１９】
波形生成回路４０の出力は、検出抵抗５１を介してレベル検出部１０の内部電極１２に接続されており、外筒電極１１側は接地されている。そして検出抵抗５１の両端には差動増幅回路５０が接続されている。レベル検出部１０の内部電極１２の電位は、波形生成回路４０から出力される測定信号によって印加される電圧に応じて変動するが、その変動幅（すなわち振幅）が外筒電極１１と内部電極１２との間の静電容量によって左右される。内部電極１２の電位は検出抵抗５１を流れる電流に比例し、検出抵抗５１の両端に現れる電位差として現れるので、差動増幅回路５０では電流電圧変換して得た信号を検出信号とし、マイクロコンピュータ３０へ出力している。
【００２０】
ここで、尿素水溶液１６のレベル（水位）を検出する方法について簡単に説明する。図２に示すように、被測定物としての尿素水溶液１６が収容されたタンク１５内にレベル検出部１０を配置したとき、外筒電極１１と内部電極１２との間には、尿素水溶液１６に満たされる部位と空気層の残る部位とが生ずる。尿素水溶液１６は導電性を有するため、外筒電極１１と内部電極１２との間の静電容量は、尿素水溶液１６の介在する部位において形成される、絶縁被膜を誘電体とするコンデンサと、尿素水溶液１６が介在しない部位において形成される、絶縁被膜および空気層を誘電体とするコンデンサとの合成容量となる。このため、外筒電極１１と内部電極１２との間の静電容量は、尿素水溶液１６のレベルに応じ変化を生ずるものとなる。
【００２１】
図１に示す波形生成回路４０で生成された正弦波波形をなす測定信号がレベル検出部１０に入力されると、外筒電極１１と内部電極１２とからなるコンデンサは、周期変動する測定信号の電圧値と、内部電極１２側の電位との電位差に応じて充放電を行う。したがって、波形生成回路４０とレベル検出部１０との間に設けられた検出抵抗５１を流れる電流の向きや大きさが変化し、この検出抵抗５１の両端の電位差を差動増幅回路５０で検出して得られる検出信号は、もとの測定信号と同じ周波数で変動する正弦波波形をなす。コンデンサの静電容量に変化が生ずると、検出抵抗５１を流れる電流の最大値や最小値にも変化が生ずることとなるため、レベルセンサ１００では、検出信号の振幅をもとにタンク１５内における尿素水溶液１６のレベルの検出を行う。
【００２２】
ところで、異常検出回路２０において電子部品の不具合やノイズ等の影響により異常が生じた場合、回路上に意図しなかった浮遊容量などが生じ、正常時の検出信号（以下、「基準信号」という。）に対し、サンプリングした検出信号の位相に大きな歪みを生ずることがある。そこで本実施の形態では、後述する異常検出プログラムの実行にしたがって検出信号の位相の歪みの有無を確認し、レベルセンサ１００に異常が発生しているか否かの検出を行う。
【００２３】
以下、図３〜図６を参照し、異常検出プログラムの動作について説明する。図３は、本実施の形態の異常検出プログラムのフローチャートである。図４は、極値取得処理のサブルーチンのフローチャートである。図５は、検出信号に歪みが生じた場合の波形形状の一例を示すグラフである。図６は、検出信号に歪みが生じた場合の波形形状の一例を示すグラフであり、図５とは異なるタイミングで信号値のサンプリングが行われた場合の例を示したものである。なお、フローチャートの各ステップについては「Ｓ」と略記する。
【００２４】
まず、異常検出プログラムの実行において使用される変数やフラグ、カウンタ等について説明する。「異常状態」フラグは、異常検出プログラムでレベルセンサ１００に異常が発生したと判定された場合に立てられるフラグであり、フラグ成立後はレベル検出が行われないように異常検出プログラム実行の終了判定に用いられる。「サンプリング回数」カウンタは、検出信号の信号値（電圧値）をサンプリング（取得）した回数を計数するためのカウンタで、サンプリングの終了タイミングを図るのに用いられる。変数「極大値」および「極小値」は、サンプリングした検出信号の信号値から求められる最大値および最小値をそれぞれ記憶する変数で、総じて「極値」ともいう。変数「極大位相」および「極小位相」は、それぞれ極大値および極小値として求められた信号値がサンプリングされた位相を記憶する変数である。変数「平均値」は、サンプリングした検出信号の信号値の平均値の算出結果を記憶する変数で、サンプリングした検出信号の信号値のうち中近値（後述）を特定するのに用いる。変数「中近値」は、取得順に連続しつつ平均値を挟む２つの信号値のうち、平均値に近い値を有する信号値を記憶する変数である。また、中近値として求められた信号値がサンプリングされた位相は、変数「中近位相」として記憶される。「異常仮発生回数」カウンタは、レベルセンサ１００に異常が発生したと仮に判定した回数を計数するカウンタであり、異常仮発生回数が予め定められた設定値（例えば５回）に達すると、レベルセンサ１００に異常が発生したと判定される。
【００２５】
変数「位相差Ｘ」は、中近位相と、平均値よりも中近値側にある極値（極大値または極小値）の位相（極大位相または極小位相）との位相差を記憶する変数である。変数「位相差Ｙ」は、極値間の位相差（極大位相と極小位相との差）を記憶する変数である。定数「判定位相差Ｋ」は、９０度に測定誤差として含み得るサンプリング位相（本実施の形態では４５度）を加えた値を記憶した定数である。なお、判定位相差Ｋは、９０度としてもよい。また、定数「判定位相差Ｍ」は、１８０度から測定誤差として含み得るサンプリング位相（本実施の形態では４５度）を差し引いた値を記憶した定数である。定数「判定位相差Ｎ」は、１８０度に測定誤差として含み得るサンプリング位相（本実施の形態では４５度）を加えた値を記憶した定数である。なお、判定位相差Ｋ，Ｍ，Ｎが、それぞれ、本発明における「第１判定位相差」，「第２判定位相差」，「第３判定位相差」に相当する。
【００２６】
ここで、本実施の形態の異常検出プログラムでは、上記したように、ＣＰＵ６０の指示により生成した測定信号をレベル検出部１０に入力し、出力される検出信号のうち狙いの位相において信号値を取得する。そして狙いの位相をサンプリング位相分ずらし、同処理を繰り返し行って、検出信号一周期分の信号値を取得している。サンプリング位相の大きさによっては、検出信号の信号値を取得するタイミングのずれに伴う誤差（測定誤差）を生ずる場合がある。本実施の形態では、このような測定誤差を見込んだ上で、レベルセンサ１００の異常発生の有無について判断できるように、判定位相差Ｋ，Ｍ，Ｎを設定している。
【００２７】
次に、異常検出プログラムの動作について説明する。本実施の形態の異常検出プログラムは、レベルセンサ１００で尿素水溶液１６のレベル検出を行うにあたって、レベルセンサ１００で実行されている制御プログラム（図示外）からコールされるサブルーチンである。図３に示す、異常検出プログラムがコールされると、まず、異常状態フラグが参照され、以前の異常検出プログラムの実行の際に、既にレベルセンサ１００に異常状態が検出されていないか確認される（Ｓ１１）。そして検出されている場合（異常状態フラグが成立している場合）にはそのまま異常検出プログラムを終了し、制御プログラムに戻る（Ｓ１１：ＹＥＳ）。異常状態が検出されていなければ（Ｓ１１：ＮＯ）、初期化が行われ（Ｓ１３）、サンプリング回数カウンタ、サンプリング位相、極大値、極小値、中近値、平均値、極大位相、極小位相、および中近位相がリセットされる。なお、異常状態フラグと異常仮発生回数カウンタはリセットされず、その値が持ち越される。
【００２８】
次のＳ１５において、予め定められたサンプリング位相ごとに、検出信号一周期分の信号値のサンプリングが行われる。マイクロコンピュータ３０において、測定信号の生成タイミングと検出信号のサンプリングを行うタイミングを同期させ、測定信号を基準に設定したタイミングにて検出信号の信号値（電圧値）のサンプリングが行われる。具体的には以下の手順にて検出信号のサンプリングが行われる。まず、マイクロコンピュータ３０において測定信号の生成を開始し、開始したタイミングを基準に設定された第１のタイミングに検出信号のサンプリングを行い、得られた信号値を検出信号の現在の位相（初回の位相を０度とし、以降はサンプリング位相を加えた位相とする。）と関連付けてＲＡＭ８０に記憶する。次に、第１のタイミングに、予め定められたサンプリング位相（本実施の形態では４５度）分ずらしたタイミングを第２のタイミングに設定する。そして同様に測定信号の生成を開始し、開始したタイミングを基準として第２のタイミングに検出信号のサンプリングを行い、得られた信号値を現在の位相（２回目であるので初回の位相（０度）にサンプリング位相（４５度）を加えた位相（すなわち４５度））と関連付けてＲＡＭ８０に記憶する。以下同様に、サンプリング位相ごとに検出信号のサンプリングを行い、測定信号の一周期分における検出信号の信号値を取得する。本実施の形態ではサンプリング間隔が４５度であるので、サンプリングを８回行えば、測定信号の一周期分における検出信号の信号値を得られる。なお、Ｓ１５において、差動増幅回路５０を介して検出信号の信号値を取得するＣＰＵ６０が、本発明における「サンプリング手段」に相当する。
【００２９】
次のＳ１７では、極値取得処理のサブルーチンがコールされる。図４に示す、極値取得処理のサブルーチンでは、まず、検出信号の信号値のうち最初に取得された信号値が極大値および極小値として設定され、各変数に上書きされる（Ｓ５１）。また、その信号値に関連付けられた位相が、極大位相および極小位相として設定される。次いで、２番目に取得された信号値が着目される（Ｓ５３）。着目された信号値が極大値以下の値であればそのままＳ５９に進み（Ｓ５５：ＮＯ）、極大値より大きければ（Ｓ５５：ＹＥＳ）、その信号値で極大値が上書きされるとともに、その信号値の位相が極大位相として設定されて（Ｓ５７）、Ｓ５９に進む。Ｓ５９では同様に、着目された信号値が極小値以上の値であればそのままＳ６３に進み（Ｓ５９：ＮＯ）、極小値より小さければ（Ｓ５９：ＹＥＳ）、その信号値で極小値が上書きされるとともに、その信号値の位相が極小位相として設定されて（Ｓ６１）、Ｓ６３に進む。このＳ５３〜Ｓ６１の処理は、サンプリングされた一周期分（本実施の形態ではサンプリングの回数で８回分）の全ての信号値に対し行われる。このため、まだ着目していない信号値があれば、Ｓ５３に戻る（Ｓ６３：ＮＯ）。
【００３０】
具体例を挙げて説明すると、図５に示すように、Ｓ５１において、測定信号の位相を基準に設定された第１のタイミングに得られた信号値Ａが、極大値ならびに極小値として設定される。また、極大位相、極小位相はともに信号値Ａの位相（ここでは便宜上０度とする。以下同様とする。）が設定される。Ｓ５３で、第２のタイミングに取得された信号値Ｂが着目され、Ｓ５５，Ｓ５７で、Ａ＜Ｂなので極大値が信号値Ｂに、極大位相が信号値Ｂの位相（４５度（便宜上））に更新される。Ａ＜Ｂなので極小値および極小位相は更新されない。３周目には極大値が信号値Ｃに、４周目には極大値が信号値Ｄに更新される。このようにして一周期分の信号値が順に着目されて、図５の例の場合は、極大値が信号値Ｇ（極大位相２７０度（便宜上））に、極小値が信号値Ａ（極小位相０度（便宜上））が設定される。そしてサンプリングされた一周期分の全ての信号値について着目され、極値の更新が終わると、図４に示すように、極値取得処理のサブルーチンを終了し、異常検出プログラムのメインルーチンに戻る（Ｓ６３：ＹＥＳ）。なお、Ｓ５１〜Ｓ６３の処理によって検出信号の極値（極大値および極小値）を特定するＣＰＵ６０が、本発明における「極値特定手段」に相当する。
【００３１】
図３に示すように、次のＳ１９では、サンプリングされた検出信号一周期分の全ての信号値の平均値が演算され、ＲＡＭ８０に記憶される（Ｓ１９）。そして、サンプリングされた一周期分の全ての信号値から、サンプリング順が連続しつつ平均値を挟む２つの信号値が特定され、その２値のうち、平均値に近い値を持つ信号値が、中近値として設定される。さらに、中近値に設定された信号値の位相が中近位相として設定され、中近値とともにＲＡＭ８０に記憶される（Ｓ２１）。具体的に、図５において、連続しつつ平均値を挟む２つの信号値は信号値Ｄと信号値Ｅであり、そのうち平均値に近い値は信号値Ｄである。したがって、中近値には信号値Ｄが設定され、中近位相には１３５度（便宜上）が設定される。なお、Ｓ１９の処理によって検出信号の平均値を算出するＣＰＵ６０が、本発明における「平均値算出手段」に相当し、Ｓ２１の処理によって検出信号の中近値を特定するＣＰＵ６０が、本発明における「中近値特定手段」に相当する。
【００３２】
次に図３に示すように、Ｓ２３において、中近値の位相（中近位相）と、極値（極大値および極小値）のうち、値の大小が平均値よりも中近値側にある極値の位相（極大位相または極小位相）との位相差Ｘが求められる。具体的に、図５において、中近値として設定された信号値Ｄは、平均値より値が小さい。平均値より小さな極値は極小値であるため、ここでは、中近位相（１３５度（便宜上））と極小位相（０度（便宜上））との位相差Ｘ（この場合１３５度（便宜上））が算出される。さらに、図３のＳ２３では、極値（極大値および極小値）間の位相差Ｙ（極大位相と極小位相との位相差）も求められる。具体的に、図５において、極値の位相は、極大位相が１３５度、極小位相が０度（ともに便宜上）であり、位相差Ｙとして１３５度（便宜上）が算出される。
【００３３】
図３に示すように、次のＳ２５では、位相差Ｘが判定位相差Ｋより小さいか否かが確認される。測定信号は正弦波であり、レベルセンサ１００に異常がなければ検出信号も正弦波となるため、正常な検出信号であれば、平均値から極値までの位相差が９０度となる。判定位相差Ｋは上記のように、測定誤差を考慮した上でのしきい値であり、位相差Ｘが判定位相差Ｋ（９０度に測定誤差の許容値としてのサンプリング位相（４５度）を加えた位相差）以上であれば（Ｓ２３：ＮＯ）、検出信号に歪みが生じていると判断される。異常検出回路２０において電子部品の不具合が生じたりノイズ等が混入したりするなど、レベルセンサ１００に異常が生じたと仮に判断されて、異常仮発生回数が１加算される（Ｓ３５）。このとき、異常仮発生回数が設定値（例えば５回）未満であれば（Ｓ３７：ＮＯ）、そのまま異常検出プログラムを終了して制御プログラムに戻り、次回のレベル検出の際には、今回加算された異常仮発生回数のまま、レベルセンサ１００の異常状態の検出が行われる。なお、Ｓ２５において位相差Ｘを判定位相差Ｋと比較するＣＰＵ６０が、本発明における「位相差比較手段」に相当する。
【００３４】
異常検出プログラムの２周目の実施においても、上記同様に、新たに検出信号の信号値のサンプリングが行われ、極値および中近値、ならびに位相差Ｘ，位相差Ｙが求められる（Ｓ１１〜Ｓ２３）。ここで、例えば、検出信号の信号値のサンプリングが行われたタイミングが異常検出プログラムの１周目のときと異なったりすると、信号値同士の関係にも変化が生ずる。具体的に、図６において、連続しつつ平均値を挟む２つの信号値は信号値Ｅと信号値Ｆであり、そのうち平均値に近い値は信号値Ｆである。したがって、中近値には信号値Ｆが設定され、中近位相には２２５度（便宜上）が設定される。また、信号値Ｆは平均値より値が大きく、位相差Ｘは、中近値である信号値Ｆの中近位相と、極大値である信号値Ｈの極大位相（３１５度（便宜上））との位相差より求められ、９０度（便宜上）となる。
【００３５】
図３に示す、Ｓ２５において、位相差Ｘが判定位相差Ｋより小さければ（Ｓ２５：ＹＥＳ）、次は、極値間の位相差Ｙをもって異常判定が行われる。すなわち、位相差Ｙと判定位相差Ｍおよび判定位相差Ｎとの比較がなされ（Ｓ２７，Ｓ２９）、位相差Ｙが判定位相差Ｍ以下である場合（Ｓ２７：ＮＯ）、または位相差Ｙが判定位相差Ｎ以上である場合には（Ｓ２７：ＹＥＳ，Ｓ２９：ＮＯ）、レベルセンサ１００に異常が生じたと仮に判断されて、異常仮発生回数が１加算される（Ｓ３５）。なお、Ｓ２５において位相差Ｘが判定位相差Ｋ以上であった場合、またはＳ２７において位相差Ｙが判定位相差Ｍ以下であった場合、あるいはＳ２９において位相差Ｙが判定位相差Ｎ以上であった場合に、レベルセンサ１００に異常が発生したと仮に判定するＣＰＵ６０が、「仮判定手段」に相当する。また、Ｓ３５で異常仮発生回数を１加算するＣＰＵ６０が、「計数手段」に相当する。
【００３６】
異常仮発生回数が設定値に達しないうちは（Ｓ３７：ＮＯ）、制御プログラムからレベル検出のため異常検出プログラムがコールされる度に、上記一連の処理による異常発生の有無の検出が行われる。Ｓ２５〜Ｓ２９において上記のようにレベルセンサ１００に異常が生じたと仮に判断されるうちは、異常仮発生回数が加算されていく。そして、異常仮発生回数が設定値に達すると（Ｓ３７：ＹＥＳ）、レベルセンサ１００に異常が発生したと断定され、異常状態フラグが成立されて（Ｓ３９）、異常検出プログラムが終了する。以後、制御プログラムから異常検出プログラムがコールされても、異常状態フラグが成立しているので（Ｓ１１：ＹＥＳ）、レベルセンサ１００の異常発生の検出やレベル検出は行われない。なお、Ｓ２５において位相差Ｘが判定位相差Ｋ以上であった場合、またはＳ２７において位相差Ｙが判定位相差Ｍ以下であった場合、あるいはＳ２９において位相差Ｙが判定位相差Ｎ以上であった場合に、Ｓ３５〜Ｓ３７の処理を行い、その結果に応じＳ３９にて異常状態フラグを成立させて、レベルセンサ１００に異常が生じたと判定するＣＰＵ６０が、本発明における「異常判定手段」に相当する。
【００３７】
一方、レベルセンサ１００に異常がなければ検出信号が正弦波をなし、極値（極大値と極小値）間の位相差Ｙは１８０度となる。位相差Ｙが、測定誤差を考慮した上での下限値である判定位相差Ｍより大きく、上限値である判定位相差Ｎより小さければ（Ｓ２７：ＹＥＳ，Ｓ２９：ＹＥＳ）、レベルセンサ１００に異常は生じていないと判断される。すると異常仮発生回数のリセット後に（Ｓ３１）、尿素水溶液１６のレベルの検出が行われ（Ｓ３３）、その後、異常検出プログラムが終了されて、制御プログラムに戻る。
【００３８】
なお、本発明は各種の変形が可能なことはいうまでもない。本実施の形態では検出信号の信号値の位相（現在の位相）を、初回に取得したときを基準（すなわち位相０度）に決定し、以降はサンプリング位相を加えた上で、信号値と関連付けて記憶したが、測定信号の位相を基準にして検出信号の信号値と関連付けて記憶してもよい。
【００３９】
また、本実施の形態では、検出信号の歪みの判定を位相差の比較によって行ったが、サンプリング順位の比較によって行ってもよい。一例として、本実施の形態のように、サンプリング位相が４５度の場合には、極値と中近値とのサンプリング順位の差が２で、極値間のサンプリング順位の差が４であれば、検出信号が正弦波であるとみなすことができる。サンプリング位相が３０度であるなら、極値と中近値とのサンプリング順位の差が３で、極値間のサンプリング順位の差が６であればよい。
【００４０】
また、サンプリング位相を４５度として検出信号一周期分の信号値の取得を、８回のサンプリングにより取得した。このサンプリング位相は検出信号一周期よりも短ければよいが、短いほど精度の高いサンプリングを行える反面、検出信号一周期分のサンプリングにかかる時間が増えることとなる。正弦波であれば極大値、中近値および極小値の位相が９０度ずつずれることから、サンプリング位相を９０度の約数とすれば、測定誤差を考慮しなくともよく、サンプリングにかかる時間の増加を抑制できるとともに、検出の精度を高めることができる。この場合、位相差Ｘは９０度と比較し、位相差Ｙを１８０度と比較すればよい。
【００４１】
本実施の形態では、Ｓ２５〜Ｓ２９で、位相差Ｘや位相差Ｙが、検出信号が正弦波であるとみなせる条件を満たさなかった場合、異常仮発生回数を加算し、その異常仮発生回数が設定値に達したら、レベルセンサ１００に異常が発生したと判定したことにより、誤判断による異常判定をなくし、判定の信頼性を高めることができた。もちろん、異常仮発生回数のカウントを行わず、Ｓ２５〜Ｓ２９のいずれかがＮＯであれば即座にレベルセンサ１００に異常が発生したと判定してもよい。
【００４２】
また、レベルセンサ１００に搭載した異常検出回路２０は、レベル検出を行う回路とは別途設けてもよい。また、レベルセンサ１００とは別体に設け、例えばレベルセンサとＥＣＵとの間にて中継するように配置させてもよい。
【００４３】
ところで、図７に示すように、レベルセンサ１００に異常がなく検出信号が正弦波を示す場合、サンプリングが行われるタイミングによっては、同値の２つの信号値が極値を示す場合がある。具体的に、図７では、信号値Ｂと信号値Ｃが同値であり、ともに極大値を示す。また、信号値Ｆと信号値Ｇも同値であり、ともに極小値を示す。こうした場合に、例えば、極大値として信号値Ｂが設定され、極小値として信号値Ｇが設定されてしまうと、位相差Ｙが２２５度（便宜上）となり、異常検出プログラムのＳ２９において、異常と判定されてしまう虞がある（図３参照）。本実施の形態では、極値取得処理（図４参照）において、サンプリングした信号値を取得順に着目し、Ｓ５５およびＳ５９において、着目した信号値が極値を更新した場合にのみ、その信号値を新たな極値として設定している。これにより、例えば信号値Ａから信号値Ｈへ向けて順に着目して極値の設定が行われた場合、極大値には信号値Ｂ、極小値には信号値Ｆが設定されることとなり、上記のような問題は生じない。もちろん、Ｓ５５およびＳ５９において、着目した信号値が極値と同値であった場合に、その信号値を新たな極値として設定し直してもよい。この場合、Ｓ５５では、着目した信号値が極大値以上である場合にＳ５７へ、そうでなければＳ５９へ進み、Ｓ５９では、着目した信号値が極小値以下である場合にＳ６１へ、そうでなければＳ６３へ進むようにすればよい。また、極値の特定の際に、信号値の着目する順番を、信号値の取得順とは逆の順番に行ってもよい。具体的に、図７では、信号値Ｈから信号値Ａへ向けて順に着目してもよい。
【図面の簡単な説明】
【００４４】
【図１】レベルセンサ１００の異常を検出するための異常検出回路２０の電気的な構成を示す図である。
【図２】レベル検出部１０の模式的な構造を示す図である。
【図３】本実施の形態の異常検出プログラムのフローチャートである。
【図４】極値取得処理のサブルーチンのフローチャートである。
【図５】検出信号に歪みが生じた場合の波形形状の一例を示すグラフである。
【図６】検出信号に歪みが生じた場合の波形形状の一例を示すグラフであり、図５とは異なるタイミングで信号値のサンプリングが行われた場合の例を示したものである。
【図７】正常な検出信号の波形形状を示すグラフであり、サンプリングのタイミングによっては２つの信号値が同値の極値を取る例を示したものである。したものである。
【符号の説明】
【００４５】
１１    外筒電極
１２    内部電極
１６    尿素水溶液
２０    異常検出回路
６０    ＣＰＵ
１００    レベルセンサ
【図１】
2010025825.tif 000003
【図２】
2010025825.tif 000004
【図３】
2010025825.tif 000005
【図４】
2010025825.tif 000006
【図５】
2010025825.tif 000007
【図６】
2010025825.tif 000008
【図７】
2010025825.tif 000009