以下、本発明を具体化した液体状態検知装置の一実施の形態について、図面を参照して説明する。まず、図1,図2を参照して、一例としての液体状態検知センサ100の構造について説明する。図1は、液体状態検知センサ100の一部切欠縦断面図である。図2は、セラミックヒータ110のヒータパターン115を示す模式図である。なお、液体状態検知センサ100においてレベル検知部70(外筒電極10および内部電極20から構成されるコンデンサ)の長手方向を軸線O方向とし、液体性状検知部30が設けられる側を先端側、取付部40が設けられる側を後端側とする。なお、外筒電極10および内部電極20が、それぞれ、本発明における「第1電極」および「第2電極」に相当する。
本実施の形態の液体状態検知センサ100は、ディーゼル自動車の排気ガス中に含まれる窒素酸化物(NOx)の還元に使用される尿素水溶液の状態、つまりは尿素水溶液のレベル(液位)、温度、およびその溶液に含まれる特定成分としての尿素の濃度を検出するためのセンサである。図1に示すように、液体状態検知センサ100は、円筒形状を有する外筒電極10、およびその外筒電極10の内部にて外筒電極10の軸線O方向に沿って設けられた円筒状の内部電極20から構成されるレベル検知部70と、内部電極20の先端側に設けられた液体性状検知部30と、液体状態検知センサ100を尿素水タンク98(図3参照)に取り付けるための取付部40とを備えて構成される。
外筒電極10は金属材料からなり、軸線O方向に延びる長細い円筒形状を有する。外筒電極10の外周上にて周方向に等間隔となる3本の母線上には、各母線に沿ってそれぞれ複数の細幅のスリット15が断続的に開口されている。また、外筒電極10の先端部11において、上記スリット15が形成された各母線上には、後述する内部電極20との間に介在されるゴムブッシュ80の抜け防止のための開口部16がそれぞれ設けられている。さらに、外筒電極10の後端側の基端部12に近い位置で、スリット15が形成された各母線とは異なる母線上には、1つの空気抜孔19が形成されている。また、外筒電極10の先端部11は、後述する液体性状検知部30のセラミックヒータ110の径方向周囲を、そのセラミックヒータ110を覆って保護するプロテクタ130ごと包囲するように、開口部16の位置よりさらに軸線O方向先端側に延長されている。そして最先端部(図中最下部)は開口されており、液体性状検知部30を構成するプロテクタ130が開口側から視認可能な状態となっている。
次に、外筒電極10は、基端部12が金属製の取付部40の電極支持部41の外周に係合した状態で溶接されている。取付部40は液体収容容器としての尿素水タンク98に液体状態検知センサ100を固定するための台座として機能し、取り付けボルトを挿通するための取り付け孔(図示外)が鍔部42に形成されている。また、取付部40の鍔部42を挟んで電極支持部41の反対側には、後述する尿素水溶液のレベル、温度、尿素濃度などを検出するための回路や、図示外の外部回路(例えば自動車のエンジン制御装置(ECU))との電気的な接続を行うための入出力回路等が搭載された回路基板60などを収容する収容部43が形成されている。なお、この取付部40を介し、外筒電極10は接地されている。
回路基板60は、収容部43の内壁面の四隅より突出する基板載置部(図示外)上に載置されている。収容部43はカバー45に覆われ保護されており、そのカバー45は、鍔部42に固定されている。また、カバー45の側面にはコネクタ62が固定されており、コネクタ62の接続端子(図示外)と回路基板60上のパターン(後述する入出力回路部290)とが配線ケーブル61によって接続されている。このコネクタ62を介し、回路基板60とECUとの接続が行われる。
取付部40の電極支持部41には収容部43内に貫通する孔46が開口されており、この孔46内に、内部電極20の基端部22が挿通されている。本実施の形態の内部電極20は軸線O方向に延びる長細い円筒形状をした金属材料からなる。この内部電極20の外周面上には、PTFE、PFA、ETFE等のフッ素系樹脂やエポキシ樹脂、ポリイミド樹脂などからなる絶縁被膜23が形成されている。絶縁被膜23は、このような樹脂をディッピングもしくは静電粉体塗装により内部電極20の外表面上に塗布し、熱処理することにより、樹脂コーティング層の形態で形成される。この内部電極20と外筒電極10との間で、尿素水溶液のレベルに応じて静電容量が変化するコンデンサを形成してなるレベル検知部70が構成されている。
内部電極20の軸線O方向後端側の基端部22には、内部電極20を取付部40に固定するためのパイプガイド55とインナーケース50が係合されている。パイプガイド55は、内部電極20の基端部22の端縁寄りに接合された環状のガイド部材である。インナーケース50は内部電極20と外筒電極10とが確実に絶縁されるように内部電極20を位置決め支持する鍔付き筒状の樹脂製部材であり、先端側が取付部40の電極支持部41の孔46に係合する。インナーケース50には径方向外側に向かって突出する鍔部51が形成されており、インナーケース50が電極支持部41に係合される際には、収容部43側から電極支持部41の孔46に挿通される。そして、鍔部51が収容部43内の底面に当接することで、インナーケース50が孔46内を通り抜けることが防止される。また、内部電極20は、収容部43側からインナーケース50の内側に挿通されるが、パイプガイド55が鍔部51に当接することで、インナーケース50からの脱落が防止される。
さらに、インナーケース50の外周と内周とには、それぞれ、Oリング53とOリング54とが設けられている。Oリング53は、インナーケース50の外周と取付部40の孔46との間の隙間を密閉し、Oリング54は、インナーケース50の内周と内部電極20の基端部22の外周との間の隙間を密閉している。これにより、液体状態検知センサ100が尿素水タンク98(図3参照)に取り付けられた際に、尿素水タンク98の内部と外部とが収容部43を介して連通しないように、その水密性および気密性が保たれる。なお、取付部40の鍔部42の先端側の面には図示外の板状のシール部材が装着され、液体状態検知センサ100を尿素水タンク98に取り付けた際に、鍔部42と尿素水タンクとの間の水密性および気密性が保たれるようになっている。
そして、内部電極20の取付部40への組み付けの際には、2枚の押さえ板56,57によって、パイプガイド55がインナーケース50の鍔部51に対して押圧される。絶縁性の押さえ板56は、パイプガイド55との間に押さえ板57を挟み、パイプガイド55を押圧した状態で、ネジ58によって収容部43内に固定される。これにより、パイプガイド55に接合された内部電極20が電極支持部41に固定されることとなる。押さえ板56,57には中央に孔59が開口されており、内部電極20の電極引出線52と、後述するセラミックヒータ110との電気的な接続を行う2本のリード線90(図1では一方のリード線90のみを表示している。)を内包する2芯のケーブル91とが挿通され、それぞれ回路基板60上のパターンに電気的に接続されている。回路基板60のグランド側の電極(図示外)は取付部40に接続されており、これにより、取付部40に溶接された外筒電極10がグランド側に電気的に接続される。
次に、内部電極20の先端部21に設けられた液体性状検知部30は、本実施の形態では尿素水溶液の温度および含有される尿素の濃度の検出を行う検知素子としてのセラミックヒータ110と、セラミックヒータ110を支持すると共に、内部電極20の先端部21に装着される絶縁性樹脂製のホルダ120と、ホルダ120から露出されたセラミックヒータ110の周囲を覆って保護するプロテクタ130とを備えて構成される。
図2に示すように、セラミックヒータ110は、絶縁性セラミックからなる板状のセラミック基体111上にPtを主体とするヒータパターン115を形成し、対となるセラミック基体(図示せず)で挟んだ状態でヒータパターン115を埋設した状態で形成したものである。発熱抵抗体114を構成するパターンの断面積を、電圧印加のための両極となるリード部112,113のパターンよりも小さくするようにして、通電時、主に発熱抵抗体114において発熱が行われるようにしている。また、リード部112,113の両端には、それぞれセラミック基体111の表面に貫通するスルーホール(図示外)が設けられており、2本のリード線90との接続を中継する2つのコネクタ119(図1では共に一方のみを表示している。)のそれぞれと電気的に接続されている。
次に、図1に示すように、セラミックヒータ110を支持するホルダ120は、外径が段違い状2段に構成された円筒形状を有し、小径となる先端側にて、発熱抵抗体114の埋設された側(図2参照)を露出した状態のセラミックヒータ110を、接着剤からなる固定部材125,126で固定している。そして大径側となる後端側が内部電極20の先端部21に装着されており、その内部電極20の外周面とホルダ120の内周面との間にシールリング140が介在され、内部電極20の内部の水密性および気密性が確保されている。
ところで、ホルダ120の装着前に、セラミックヒータ110のコネクタ119にはケーブル91の2本のリード線90の芯線がそれぞれ加締めまたは半田付けにより接合される。さらに絶縁性の保護部材95により、コネクタ119とリード線90とが接合部位ごと覆われ保護される。そして、2つのリード線90は筒形状の内部電極20内を挿通され、上記回路基板60に接続されている。
次に、プロテクタ130は、有底円筒形状に形成された金属製の保護部材である。開口側がホルダ120の小径部分の外周に嵌合されている。また、プロテクタ130の外周上には液体流通孔(図示外)が開口されており、プロテクタ130の内外での尿素水溶液の交換が行われる。
そして、このような構成の液体性状検知部30は、内部電極20の先端部21にホルダ120を介し装着され、さらにゴムブッシュ80によって、外筒電極10内で弾性的に支持される。ゴムブッシュ80は円筒形状を有し、その外周面上に形成された突起部87が、外筒電極10の開口部16に係合されて固定される。また、ゴムブッシュ80の外周面と内周面とのそれぞれには、軸線O方向に沿った複数の溝(図示外)が溝設されている。液体状態検知センサ100が尿素水タンク98に取り付けられた際に、この溝を介し、ゴムブッシュ80の先端側に流入する尿素水溶液と、後端側に流入する尿素水溶液との液交換や気泡抜きが行われる。このゴムブッシュ80により、液体性状検知部30とレベル検知部70とが絶縁された状態で一体に構成されている。
次に、図3および図4を参照して、液体状態検知センサ100の電気的な構成について説明する。図3は、液体状態検知センサ100の電気的な構成を示すブロック図である。図4は、RAM300の記憶エリアの概念的な構成を示す図である。
図3に示すように、液体状態検知センサ100は液体収容容器としての尿素水タンク98に取り付けられ、一対の電極(外筒電極10および内部電極20)を備えたレベル検知部70と、発熱抵抗体114が埋設されたセラミックヒータ110を備えた液体性状検知部30とが、尿素水タンク98に収容された状態検知対象の液体としての尿素水溶液に浸漬される。液体状態検知センサ100は、回路基板60上にマイクロコンピュータ220を搭載し、レベル検知部70の制御を行うレベル検知回路部250と、液体性状検知部30の制御を行う液体性状検知回路部280と、ECUとの通信を行う入出力回路部290とが接続されている。
マイクロコンピュータ220は公知の構成からなるCPU221,ROM222,RAM300を備える。CPU221は液体状態検知センサ100の制御を司る。ROM222には図示外の各種記憶エリアが設けられ、後述する状態検知プログラムや(1)〜(5)の式、各種変数の初期値、閾値等が所定の記憶エリアに記憶されている。同様に、RAM300にも後述する図4に示す各種記憶エリアが設けられており、状態検知プログラムの実行時にはプログラムの一部や各種変数、タイマーカウント値などが一時的に記憶される。
入出力回路部290は、液体状態検知センサ100とECUとの間での信号の入出力を行うため、通信プロトコルの制御を行う。また、レベル検知回路部250は、マイクロコンピュータ220の指示に基づき、レベル検知部70の外筒電極10と内部電極20との間に交流電圧を印加し、レベル検知部70をなすコンデンサを流れた電流を電圧変換し、さらにA/D変換を行ってマイクロコンピュータ220に出力する回路部である。
次に、液体性状検知回路部280は、マイクロコンピュータ220の指示に基づき、液体性状検知部30のセラミックヒータ110に定電流を流し、発熱抵抗体114の両端に発生する検出電圧をマイクロコンピュータ220に出力する回路部である。液体性状検知回路部280は、差動増幅回路部230、定電流出力部240、スイッチ260から構成される。
定電流出力部240は、発熱抵抗体114に流す定電流を出力する。スイッチ260は、発熱抵抗体114への通電経路上に設けられ、マイクロコンピュータ220の制御に従ってスイッチの開閉を行う。差動増幅回路部230は、発熱抵抗体114の一端に現れる電位Pinと他端に現れる電位Poutとの差分を検出電圧としてマイクロコンピュータ220に出力する。
次に、RAM300の記憶エリアについて説明する。図4に示すように、RAM300には、レベル変動値記憶エリア301、電圧値記憶エリア302、電圧差分値記憶エリア303、正常電圧差分値記憶エリア304、濃度換算値記憶エリア305、タイマーカウント値記憶エリア306、フラグ記憶エリア307、カウンタ値記憶エリア308等が設けられている。
レベル変動値記憶エリア301には、レベル検知部70からの出力がレベル検知回路部250においてA/D変換された、尿素水溶液のレベルを示す検出値(A/D変換値)と、後述する状態検知プログラムに従って繰り返しレベル検知が行われる中で得られたレベル検出値の最大値および最小値とが記憶される。また、液体性状検知部30の出力(すなわち電位Pinと電位Poutとの差分)が検出電圧として差動増幅回路部230を介しマイクロコンピュータ220に入力されるが、電圧値記憶エリア302には、尿素濃度測定開始後、10msec後の電圧値Vmおよび700msec後の電圧値Vnが記憶される。なお、電圧値Vmの記憶エリアには5つの記憶エリアが設けられており、後述する状態検知プログラムに従って繰り返し検出される電圧値のうち最新の5回分の電圧値が記憶され、それ以前に検出された電圧値は破棄される。
電圧差分値記憶エリア303には、電圧値記憶エリア302に記憶された最新の電圧値Vmと電圧値Vnとの差分値ΔVmnが記憶される。正常電圧差分値記憶エリア304には、状態検知プログラムにおいて、検出された尿素水溶液の濃度に異常がないと判断された際の電圧差分値ΔVmnが記憶される。この正常電圧差分値記憶エリア304にも5つの記憶エリアが設けられており、上記同様、最新の5回分の電圧差分値ΔVmnが記憶される。濃度換算値記憶エリア305には、電圧差分値ΔVmnから算出された濃度換算値Cnが記憶される。
タイマーカウント値記憶エリア306には、状態検知プログラムで使用される2種のタイマーT1,T2の初期値の記憶エリアが設けられており、タイマーのリセット時に、別途実行されるタイマープログラム(図示外)のカウント値が記憶される。なお、後述する状態検知プログラムにおいて、所定の時間(例えば1sec)の経過の確認が行われる場合には、リセット時に記憶されたタイマーT1,T2の初期値と、その時点でのタイマープログラムのカウント値との差が、上記所定の時間に相当する値よりも大きいか否かを判断することによって行われる。
フラグ記憶エリア307には、状態検知プログラムで使用される正常検知フラグおよび静止状態フラグの値が記憶される。カウンタ値記憶エリアには、濃度異常カウンタ、空焚きカウンタおよび異種液体カウンタそれぞれのカウント値が記憶される。
また、RAM300には図示外の各種記憶エリアが設けられており、上記各パラメータを使用する状態検知プログラムも、所定の記憶エリアに読みこまれて実行される。
次に、本実施の形態の液体状態検知センサ100により、尿素水溶液のレベル、温度および尿素濃度を検知する原理について説明する。まず、図5を参照し、レベル検知部70において尿素水溶液のレベルを検知する原理について説明する。図5は、外筒電極10と内部電極20とのギャップ間に満たされた尿素水溶液の水面近傍の拡大断面図である。
液体状態検知センサ100(図1参照)は、尿素水溶液を収容した尿素水タンク98(図3参照)に、その底壁側に外筒電極10および内部電極20の先端側を向けた状態で組み付けられる。つまり液体状態検知センサ100のレベル検知部70は、尿素水タンク98内で容量の変化する尿素水溶液の変位方向(尿素水溶液のレベルの高低方向)を軸線O方向とし、外筒電極10および内部電極20の先端側が尿素水溶液の容量の少ない側(低レベル側)となるように、尿素水タンク98に組み付けられる。そして、外筒電極10と内部電極20とのギャップ間の静電容量を測定し、両者間に存在する尿素水溶液が軸線O方向においてどれだけのレベルまで存在しているか検知している。これは周知のように、径方向の電位の異なる2点間において、その径の差が小さくなるほど静電容量の大きさが大きくなることに基づく。
すなわち、図5に示すように、尿素水溶液で満たされていない部分においては、ギャップ間で電位差の生じる部位の距離は、外筒電極10の内周面と絶縁被膜23との間に介在する空気層の厚みに相当する距離(距離Yで示す)と、絶縁被膜23の厚みに相当する距離(距離Zで示す)との合計の距離(距離Xで示す)となる。一方、尿素水溶液が満たされた部分において、ギャップ間で電位差の生じる部位の距離は、尿素水溶液が導電性を示すため外筒電極10と尿素水溶液との電位がほぼ等しくなることから、絶縁被膜23の厚みに相当する距離Zとなる。
換言すれば、尿素水溶液で満たされていない部分におけるギャップ間の静電容量は、電極間の距離がYで空気を誘電体(不導体)とするコンデンサの静電容量と、電極間の距離がZで絶縁被膜23を誘電体とするコンデンサとを直列に接続したコンデンサの合成の静電容量といえる。また、尿素水溶液で満たされた部分におけるギャップ間の静電容量は、電極間の距離がZで絶縁被膜23を誘電体とするコンデンサの静電容量といえる。そして両者を並列に接続したコンデンサの静電容量が、レベル検知部70全体の静電容量として測定されることとなる。
ここで距離Zと比べ距離Yは大きく構成されているため、空気を誘電体とする電極間の単位当たりの静電容量は、絶縁被膜23を誘電体とする電極間の単位当たりの静電容量よりも小さい。このため、尿素水溶液で満たされていない部分の静電容量の変化よりも尿素水溶液で満たされた部分の静電容量の変化の方が大きく、外筒電極10および内部電極20からなるコンデンサ全体としての静電容量は、尿素水溶液のレベルに比例する。
このような尿素水溶液のレベルの測定は、レベル検知回路部250を介してレベル検知部70に接続されたマイクロコンピュータ220にて行われ、得られたレベル情報信号は、入出力回路部290から図示外のECUに対して出力される。
次に、図6〜図8を参照し、液体性状検知部30を構成するセラミックヒータ110において、尿素水溶液の温度と、尿素水溶液に含まれる特定成分としての尿素の濃度を検出する原理について説明する。図6は、尿素濃度が32.5wt%、温度が25℃の尿素水溶液を例に、発熱抵抗体への定電流の通電を開始してから時間の経過と共に発熱抵抗体自身の温度上昇に伴い、その抵抗値に対応した電圧値が上昇する様子を示すグラフである。図7は、発熱抵抗体の電圧値変化ΔVと尿素水溶液の尿素濃度とが比例関係にあり、かつ、温度依存性があることを示すグラフである。図8は、発熱抵抗体の電圧値変化ΔVと尿素水溶液の尿素濃度との関係を、尿素水溶液の温度により補正したところ、補正された濃度(換算濃度)と尿素濃度とがほぼ一致することを示すグラフである。
通電後間もない時期の発熱抵抗体自身の温度は、発熱がまだ大きくなされていないため、その発熱抵抗体の周囲に存在する液体の温度とほぼ同一である。そして図6のグラフに示すように、発熱抵抗体へ定電流を流し始めた後(ただし、通電開始後、電流値が安定となるまで約10msecを要する。)より、時間の経過と共に発熱抵抗体自身の温度が連続的に上昇していくことが示される。
このことから、発熱抵抗体への通電後の抵抗値に対応した電圧値と、周囲に存在する尿素水溶液の温度との相関関係を予め確認しておけば、尿素水溶液の温度を測定することが可能である。以下に、発熱抵抗体への通電後の抵抗値と、その周囲に存在する尿素水溶液の温度との関係を表す式を示す。
RT=R0(1+α0T)・・・(1)
なお、RTは、T℃における発熱抵抗体の抵抗値を示すが、発熱抵抗体への通電を開始した際において、発熱抵抗体の周囲の液体の温度もT℃である。また、R0は、0℃における発熱抵抗体の抵抗値(Ω)を示す。α0は、0℃基準の温度係数を示すが、発熱抵抗体を構成する材料によって決まるものである。従って、(1)の式から、発熱抵抗体の抵抗値が周囲の温度に比例することがわかる。
また、オームの法則より、
RT=VT/I・・・(2)
で示されるが、発熱抵抗体には定電流が流されるため、電流値I(A)は一定である。すなわち、発熱抵抗体の電圧値VT(本実施の形態では、差動増幅回路部230より出力される電圧値(V))は、(2)の式から抵抗値RT(Ω)に比例し、(1)の式から周囲の温度に比例することがわかる。
次に、発熱抵抗体への通電が継続された場合、発熱抵抗体自身の温度は周囲に存在する液体に奪われるが、それら液体の熱伝導率によって発熱抵抗体の奪われる熱量は異なる。つまり、周囲に存在する液体の熱伝導率に応じて発熱抵抗体の温度上昇率は異なってくる。また、液体に含まれる特定成分の濃度によって、液体の熱伝導率が異なることが知られている。このことから、発熱抵抗体を液体に浸漬させ、その液体を一定時間加熱した場合、発熱抵抗体の抵抗値変化の度合いが求まれば周囲の液体の熱伝導率の違いを見いだすことができ、液体の濃度を得ることができる。
このことは、図7のグラフに示される。例えば、温度25℃の尿素水溶液に浸漬した発熱抵抗体に700msec通電した場合、尿素水溶液の尿素濃度が0wt%のときには発熱抵抗体の抵抗値変化に対応した電圧値変化は1220mVとなり、16.25wt%,32.5wt%のときにはそれぞれ1262mV,1298mVとなる。すなわち、尿素水溶液の尿素濃度が高くなるに従って熱伝導率が低くなり、発熱抵抗体は熱が奪われにくくなるので温度上昇率が大きくなり、その結果、発熱抵抗体の抵抗値変化が大きくなって、その抵抗値変化に対応した電圧値変化(図中ΔVで示す。)が大きくなることが示される。
このように、尿素水溶液の尿素濃度と発熱抵抗体の抵抗値変化(電圧値変化)との間には、図7に示されるような比例関係があることがわかる。以下に、発熱抵抗体の周囲の尿素水溶液の尿素濃度と、発熱抵抗体の抵抗値変化に対応した電圧値変化ΔVとの関係を表す式を示す。
ΔV=aTC+bT・・・(3)
なお、ΔVは発熱抵抗体の通電開始後の抵抗値に対応した電圧値と、通電後一定の検出時間(例えば700msec)経過した後の抵抗値に対応した電圧値との差(mV)を示す。また、Cは尿素水溶液中の尿素濃度(wt%)を示す。aTは、尿素水溶液の温度T℃におけるΔV−C直線の傾きを示し、bTは、尿素水溶液の温度T℃におけるΔV−C直線の切片を示す。
一方、尿素水溶液に含まれる尿素の濃度が同一であっても、尿素水溶液の温度が異なると、発熱抵抗体の温度上昇率(すなわち、電圧値変化ΔV)が異なる。つまり、発熱抵抗体の温度上昇率は、尿素水溶液の温度に対する依存性がある。
このことは、上記同様、図7のグラフに示される。例えば、発熱抵抗体に700msec通電し、尿素濃度が32.5wt%、温度が25℃の尿素水溶液を加熱した場合、発熱抵抗体の抵抗値変化に対応した電圧値変化ΔVは1298mVとなるのに対し、同濃度で温度が80℃の尿素水溶液に対して発熱抵抗体に700msec通電した場合、電圧値変化ΔVは1440mVとなる。すなわち、尿素水溶液の尿素濃度が一定である場合、尿素水溶液の温度が低いほど発熱抵抗体の抵抗値変化が小さくなって、抵抗値変化に対応した電圧値変化ΔVが小さくなることが示される。
このように、尿素水溶液の尿素濃度と発熱抵抗体の抵抗値変化(電圧値変化ΔV)との関係には、尿素水溶液の温度に対する依存性があることがわかる。従って、(3)の式に、(1),(2)の式から求まる尿素水溶液の温度によって補正(キャリブレーション)を行うことで、正確な尿素濃度の算出を行うことができる。以下に、尿素水溶液の温度により補正を行うための式を示す。
aT=a25+x(T−25)・・・(4)
bT=b25+y(T−25)・・・(5)
なお、a25は、尿素水溶液の温度が25℃の場合におけるΔV−C直線の傾きを示し、xはその直線の傾きの温度補正係数である。同様に、b25は、尿素水溶液の温度が25℃の場合におけるΔV−C直線の切片を示し、yはその直線の切片の温度補正係数である。
なお、上記(3),(4),(5)に示される式に相応した補正値を実験等によって求めたところ、a25=2.3,b25=1.223,x=0.015,y=2.45が得られた。これらの値を用いれば、補正により得られる尿素水溶液の濃度(換算濃度)と、実際の尿素濃度とが、ほぼ一致することが図8に示された。
本実施の形態の液体状態検知センサ100では、このような原理に基づいて、尿素水溶液のレベル、温度および尿素濃度の検知が行われる。以下、図3,図4,図9〜図14を参照して、状態検知プログラムについて説明する。図9〜図12は、状態検知プログラムのメインルーチンのフローチャートである。図13は、静止状態判定サブルーチンのフローチャートである。図14は、空焚きおよび異種液体を判別するための閾値Q,Rを説明するためのグラフである。なお、フローチャートの各ステップを「S」と略記する。
ECUからの指示に基づき尿素水溶液の状態検知が行われる際には、ROM222に記憶された状態検知プログラムがRAM300の所定の記憶エリアに読みこまれ、実行される。図9に示すように、まず、イニシャライズが行われ(S1)、図4に示すRAM300の各記憶エリアの変数やカウント値等が全てリセットされる。次いで、初期値の設定が行われ(S2)、RAM300のレベル変動値記憶エリア301の検出値,レベル最大値,最小値、電圧値記憶エリア302の電圧値Vn、電圧差分値記憶エリア303の差分値ΔVmnに、ROM222に記憶された初期値が書き込まれる。一例として、測定される尿素水溶液のレベルがA/D変換によって65536段階で液位を示すデジタル値に変換される場合であれば、レベル変動値記憶エリア301のレベル最大値には0が記憶され、レベル最小値には65535が記憶される。
次に、タイマーT1のリセットが行われ(S3)、別途実行されているタイマープログラム(図示外)のカウント値が参照されて、その値がタイマーT1の初期値として、タイマーカウント値記憶エリア306に記憶される。同様に、タイマーT2のリセットも行われ(S4)、タイマープログラムのカウント値がタイマーT2の初期値として、タイマーカウント値記憶エリア306に記憶される。
そしてS5では、タイマーT2のリセット時より1secが経過するまで待機が行われる(S5:NO)。なお、この判断処理ではタイマープログラムのカウント値が参照され、そのカウント値とS4で記憶されたタイマーT2の初期値との差分が1secに相当する値よりも大きいか否かによって、1secが経過したか否かの確認が行われる。1secが経過すると(S5:YES)、上記したレベル検知の原理に基づき、レベル検知回路部250を介してA/D変換されてマイクロコンピュータ220に入力されるレベル検知部70からの出力が、尿素水溶液のレベルの検出値として、RAM300のレベル変動値記憶エリア301に記憶される(S6)。
次のS11では、レベル変動値記憶エリア301に記憶されたレベルの検出値がレベル変動値記憶エリア301のレベル最大値と比較され、大きい場合には(S11:YES)、検出値をレベル最大値として記憶することでレベル最大値の更新が行われ(S12)、S13に進む。検出値がレベル最大値以下である場合にもS13に進み(S11:NO)、S11と同様にレベルの検出値とレベル最小値との比較が行われる。そして検出値がレベル最小値以上であればレベル最小値の更新は行われず、レベル最小値よりも小さい場合には(S13:YES)、検出値をレベル最小値として記憶することでレベル最小値の更新が行われて(S14)、S15に進む。
S15では、予め実験等により作成されROM222に記憶された換算式もしくはテーブル等を用い、S6でレベル変動値記憶エリア301に記憶されたレベルの検出値が尿素水溶液の実際のレベルを示す出力値として換算される。このレベル換算値は、液体状態検知センサ100からECUに出力される(S15)。
そして、S3におけるタイマーT1のリセット時より59secが経過したか否かの確認が行われ(S16)、経過しないうちはS4に戻り(S16:NO)、S4〜S15が繰り返し実行される。タイマーT1のリセット時より59secが経過すると(S16:YES)、図10に示す、S21へと進む。なお、S4〜S15の処理を繰り返し実行し、尿素水溶液のレベル最大値および最小値を更新してレベル変動値記憶エリア301に記憶させるCPU221が、本発明における「レベル信号記憶手段」に相当する。
S21では、S4と同様のタイマーT2のリセットが行われ(S21)、そのときのタイマープログラムのカウント値がタイマーT2の初期値として記憶される。そしてマイクロコンピュータ220からスイッチ260に制御信号が送信され、スイッチ260が閉じられて、定電流出力部240から発熱抵抗体114への通電が開始される(S22)。前述したように、発熱抵抗体114への通電開始後、電流値が安定となる時間として10msecが設定されており、次のS23では、S21におけるタイマーT2のリセット時より10msecが経過したか否かの確認が行われ、経過しないうちは待機が行われる(S23:NO)。この待機時間としての10msecが経過すれば(S23:YES)、差動増幅回路部230により発熱抵抗体114の検出電圧の測定が行われ、その検出電圧がマイクロコンピュータ220に入力されて、電圧値Vmとして、電圧値記憶エリア302に記憶される(S24)。
次のS25では電圧値記憶エリア302の電圧値Vmの記憶エリアが参照され、電圧値の記憶個数が5個、すなわち、S24における検出電圧の測定が5回以上行われたか否か確認される(S25)。電圧値のサンプリングが5回未満であれば(S25:NO)、そのままS27に進み、電圧値Vmに基づいて後述する温度換算が行われる。
一方、5周目以降のS25では、電圧値記憶エリア302の電圧値Vmの記憶エリアにおいて電圧値の記憶個数が5個となっているため、サンプリングが5回以上行われたと判断されて(S25:YES)、S26に進む。なお、上記したように、測定された検出電圧の値は最新の5つの電圧値まで電圧値Vmの記憶エリアに記憶されるため、状態検知プログラムの6周目以降のS24では、最も古い電圧値が上書きされることとなる。そしてS26では、電圧値記憶エリア302の電圧値Vmの記憶エリアに記憶された最新5つの電圧値から、最大値と最小値を除く3つの電圧値の平均値を算出する処理が行われる(S26)。
S27では、S26の処理が行われた場合にはS26で算出された電圧値Vmの平均値をVTとし、また、S26の処理が行われなかった場合には電圧値記憶エリア302の電圧値Vmの記憶エリアに記憶された最新の電圧値をVTとし、(1),(2)の式に基づく計算が行われ、発熱抵抗体114の周囲の尿素水溶液の温度Tが求められる。算出された温度は温度情報信号として、入出力回路部290からECUに対して送信される(S27)。
次に、図11に示すS34では、S21におけるタイマーT2のリセット時より700msecが経過したか否かの確認が行われ(S34)、経過しないうちは待機が行われる(S34:NO)。700msecが経過すると(S34:YES)、上記同様、発熱抵抗体114の検出電圧が測定されて、電圧値Vnとして電圧値記憶エリア302に記憶される(S35)。この電圧測定が終了すれば、マイクロコンピュータ220からスイッチ260の制御信号が出力され、発熱抵抗体114への通電が停止される(S36)。そしてこの電圧値Vnと、S24で記憶された電圧値Vmの最新の値との差分が算出され、差分値ΔVmnとして、電圧差分値記憶エリア303に記憶される(S37)。
このようにして算出された差分値ΔVmnを用い、上記した尿素濃度検出の原理に基づいて、濃度換算が行われる。すなわち、差分値ΔVmnについてS27で求められた尿素水溶液の温度Tを用いて(3)〜(5)の式に基づく計算が行われ、尿素水溶液に含まれる尿素の濃度換算値Cnが求められる。そして、濃度換算値記憶エリア305の濃度換算値Cnの記憶エリアに記憶される(S38)。なお、S37において算出したΔVmnに基づいてS38にて濃度換算値Cnの算出を行うCPU221が、本発明における「濃度検出手段」に相当する。
次の図12に示すS51,S52,S71の各判断処理が行われることによって、検知された尿素水溶液の状態が異常であるか否かの判定がなされる。なお、S51,S52,S71の各判断処理を行うことによって尿素水溶液の状態が異常であるか否かを判定するCPU221が、本発明における「異常検出手段」に相当する。
まず、S51において、電圧差分値記憶エリア303に記憶された差分値ΔVmnと、予め実験等により決定されROM222に記憶された、尿素水溶液の尿素濃度の取りうる値に基づく電圧値変化ΔVの最大値(図14に一例として示した閾値Q)とが比較される(S51)。そして差分値ΔVmnが閾値Q以上であればS71に進む(S51:NO)。
S71では、差分値ΔVmnと、予め実験等により決定されROM222に記憶された、発熱抵抗体114の周囲が空気である場合に取りうる電圧値変化の最小値(図14に一例として示した閾値R)との比較が行われる(S71)。差分値ΔVmnが閾値Rよりも大きければ(S71:YES)、尿素水タンク98が空である状態、すなわち空焚き状態と検出され、S72〜S77の処理が行われる。なお、この場合、差分値ΔVmnは、図14に例示するように、閾値Rより大きい、例えば大きさGの値をとる。
S72では、図13に示す、静止状態判定サブルーチンが実行される(S72)。まず、フラグ記憶エリア307の正常検知フラグに0がセットされ(S101)、次に、レベル変動幅の算出が行われる(S102)。この処理では、レベル変動値記憶エリア301に記憶されたレベル最大値とレベル最小値との差分値がレベル変動幅として算出される。そして、そのレベル変動幅と、予め実験等により決定されROM222に記憶された、尿素水溶液が静止状態にあるとみなせる場合に取りうる尿素水溶液のレベルの変動幅の最大値(閾値J)との比較が行われる(S103)。このとき、レベル変動幅が閾値Jより大きければ(S103:YES)、尿素水溶液は静止状態にないとして、フラグ記憶エリア307の静止状態フラグに0がセットされる(S111)。一方、レベル変動幅が閾値J以下であれば(S103:NO)、尿素水溶液が静止状態にあるとして、フラグ記憶エリア307の静止状態フラグに1がセットされる(S112)。そして、メインルーチンに戻る。なお、静止状態判定サブルーチンを実行することによって、尿素水溶液が静止状態にあるか否かを判定するCPU221が、本発明における「静止状態判定手段」に相当する。
図12に示す、状態検知プログラムのメインルーチンに戻ると、S73において静止状態か否かの判定が行われ、静止状態フラグが1で静止状態であると判定されている場合には(S73:YES)、カウンタ値記憶エリアの空焚きカウンタに2が加算される(S75)。一方、静止状態フラグが0で静止状態にないと判定されている場合には(S73:NO)、空焚きカウンタに1が加算される(S74)。その後S76に進み、空焚きカウンタの値が参照され、予め設定されROM222に記憶されたカウント上限値としての閾値H(本発明における「異常確定値」に相当し、例えば10が設定される。)未満であればそのままS90に進み(S76:NO)、S3におけるタイマーT1のリセット時より60secが経過するまで待機が行われ(S90:NO)、60secが経過すると(S90:YES)、S2に戻る。なお、S74,S75および後述するS63,S64,S83,S84の処理を行うことによって、空焚きカウンタ、濃度異常カウンタおよび異種液体カウンタのカウント値を加算するCPU221が、本発明における「カウンタ手段」に相当する。また、S73および後述するS62,S82の判断処理を行うことによって、尿素水溶液が静止状態にある場合とない場合とで、各カウンタに加算するカウント値を異なる値に設定するCPU221が、本発明における「設定値変更手段」に相当する。
そして、状態検知プログラムのメインルーチンが繰り返し実行されるにつれて空焚きカウンタが加算されていき、その値が閾値H以上となった場合には(S76:YES)、空焚き状態が発生したと判断され、空焚きを報知する報知信号が入出力回路部290を介してECUに送信される(S77)。その後、上記同様、S90を経てS2に戻る。なお、S76および後述するS65,S85の判断処理を行うことによって、空焚きが生じた状態、濃度異常とされる状態、または異種液体が混入された状態が生じたか否か判定を行うCPU221が、本発明における「異常判定手段」に相当する。また、S77および後述するS66,S86の処理で、ECUに対し、空焚きの状態、異種液体が混入した状態、濃度が異常である状態の報知信号を送信するCPU221が、本発明における「報知手段」に相当する。
次に、上記したS71において、差分値ΔVmnが閾値R以下の値であった場合(S71:NO)、発熱抵抗体114の周囲の液体が尿素水溶液ではない(例えば、軽油である。)と検出され、S81〜S86の処理が行われる。なお、この場合、差分値ΔVmnは、図14に例示するように、閾値Q以上、かつ、閾値R以下の、例えば大きさFの値をとる。
S81では、図13に説明した静止状態判定サブルーチンが実行され、静止状態フラグに1または0がセットされる(S81)。そして同様にS82において静止状態か否かの判定が行われ、静止状態であれば(S82:YES)、カウンタ値記憶エリアの異種液体カウンタに2が加算され(S84)、静止状態でなければ(S82:NO)、異種液体カウンタに1が加算される(S83)。その後S85に進み、異種液体カウンタの値が参照され、上記した閾値H未満であればそのままS90に進む(S85:NO)。一方、異種液体カウンタの値が閾値H以上となっていた場合には(S85:YES)、尿素水タンク98に異種液体が混入された状態が発生したと判断され、異種液体を報知する報知信号が入出力回路部290を介してECUに送信される(S86)。その後、上記同様、S90を経てS2に戻る。
一方、上記したS51において、差分値ΔVmnが閾値Q未満であった場合(S51:YES)、S52に進む。なお、この場合の差分値ΔVmnは、図14に例示するように、閾値Qより小さい、例えば大きさEの値をとる。
S52では、S38において濃度換算値記憶エリア305に記憶された濃度換算値Cnの最新値と、予め実験等により決定されROM222に記憶された、発熱抵抗体114の周囲の液体が水である場合に取りうる濃度の最大値(図示外の閾値W)との比較が行われる(S52)。濃度換算値Cnが閾値W以下であれば(S52:NO)、尿素水タンク98に収容された尿素水溶液の尿素濃度に異常が生じている状態であると検出され、S61〜S66の処理が行われる。
S61では、図13に説明した静止状態判定サブルーチンが実行され、静止状態フラグに1または0がセットされる(S61)。そして同様にS62において静止状態か否かの判定が行われ、静止状態であれば(S62:YES)、カウンタ値記憶エリアの濃度異常カウンタに2が加算され(S64)、静止状態でなければ(S62:NO)、濃度異常カウンタに1が加算される(S63)。その後S65に進み、濃度異常カウンタの値が参照され、上記した閾値H未満であればそのままS90に進む(S65:NO)。一方、濃度異常カウンタの値が閾値H以上となっていた場合には(S65:YES)、尿素水溶液中の尿素濃度が異常である状態(例えば、尿素水タンク98に水が入れられた状態)と判断され、濃度異常を報知する報知信号が入出力回路部290を介してECUに送信される(S66)。その後、上記同様、S90を経てS2に戻る。
また、上記したS52において、濃度換算値Cnが閾値Wよりも大きかった場合(S52:YES)、尿素水タンク98に収容された尿素水溶液が、特定の異常状態、すなわち、空である状態、異種液体が混入された状態、または尿素濃度が異常とされる状態のいずれの状態でもないと判断される。このとき、正常検知フラグの確認が行われるが(S53)、この判断処理が初めて行われた場合には正常検知フラグは0であるので(S53:NO)、正常検知フラグに1が設定されて(S54)、S56に進む。
なお、尿素水溶液が特定の異常状態にあると判定された場合には(S51:NOまたはS51:YES,S52:NO)、図13の静止状態判定サブルーチンのS101にて正常検知フラグが0に設定される。このため、状態検知プログラムのメインルーチンが繰り返し実行される際に、尿素水溶液が特定の異常状態にないと2度以上連続して判定された場合には(S51:YES,S52:YES)、前回のS54の処理によって正常検知フラグに1が記憶されていることとなる(S53:YES)。この場合、カウンタ値記憶エリア308に記憶された濃度異常カウンタ、空焚きカウンタ、異種液体カウンタがそれぞれリセットされる(S55)。
そして、尿素水溶液中の尿素濃度が正常であるとして、差分値ΔVmnが正常電圧差分値記憶エリア304に記憶される(S56)。次のS57では正常電圧差分値記憶エリア304の差分値ΔVmnの記憶エリアが参照され、電圧差分値の記憶個数が5個、すなわち、S56における正常な差分値ΔVmnの記憶が5回以上行われたか否か確認される(S57)。差分値ΔVmnのサンプリングが5回未満であれば(S57:NO)、そのままS59に進み、差分値ΔVmnに基づく濃度換算等が行われる。
ところで、S56では、上記同様、正常な差分値ΔVmnの最新の5つの値までが正常な差分値ΔVmnの記憶エリアに記憶される。状態検知プログラムが繰り返し実行される際に、尿素水溶液中の尿素濃度が正常と6回以上判定された場合には、最も古い電圧差分値が上書きされることとなる。
一方、電圧差分値の記憶個数が5個以上の場合には、正常な差分値ΔVmnのサンプリングが5回以上行われたとして(S57:YES)、正常電圧差分値記憶エリア304の最新5つの差分値ΔVmnから、最大値と最小値を除く3つの電圧差分値の平均値を算出する処理が行われる(S58)。
S59では、S58の処理が行われた場合にはS58で算出された差分値ΔVmnの平均値をΔVとし、また、S58の処理が行われなかった場合には正常電圧差分値記憶エリア304の差分値ΔVmnの記憶エリアに記憶された最新の差分値をΔVとし、S38と同様に上記した尿素濃度検出の原理に基づいて、濃度換算が行われる。すなわち、正常な差分値ΔVmnについて、S27で求められた尿素水溶液の温度Tを用いて(3)〜(5)の式に基づく計算が行われ、尿素水溶液に含まれる尿素の濃度換算値が求められる。そして換算値として算出された尿素濃度は濃度情報信号として、入出力回路部290からECUに対して送信される(S59)。その後、S90を経てS2に戻り、状態検知プログラムが繰り返し実行される。
なお、本発明は各種の変形が可能なことはいうまでもない。例えば、状態検知プログラムでは、S27において尿素水溶液の温度を(1),(2)の式に基づいて算出し、S38,S59において尿素濃度を(3)〜(5)の式に基づいて算出したが、予め実験等によりテーブルを作成し、ROM222の所定の記憶エリアに記憶させ、S27,S38,S59でそれぞれ参照することによって求めてもよい。
また、S5,S16,S23,S34,S90におけるそれぞれの待機時間は一例に過ぎず、実験等により最適な待機時間を求め設定してもよい。また、濃度異常カウンタ、空焚きカウンタおよび異種液体カウンタの閾値Hは、本実施の形態では一例として10としたが、実験等により最適な閾値を設定するとよい。また、静止状態である場合にそれらのカウンタを2加算し、静止状態にない場合には1加算としたが、加算する値も同様に実験等によりそれぞれ最適な値(両者の最適な比)を設定するとよい。もちろん、閾値やカウンタの加算値の設定を共に変更し、より適切な異常状態の判定を行えるようにしてもよい。
また、尿素水溶液が静止状態にあるときには本実施の形態と同様に尿素水溶液の濃度異常について判定を行い、静止状態にない場合、異常状態の判定そのものを行わないようにしてもよい。具体的な例としては、S62,S73,S82の各処理でNOと判断された場合に、いずれもS90に進むようにすればよい。このように、異常状態と誤判定される虞のある場合に異常状態の判定そのものを行わなければ、異常状態の判定精度をより高めることができる。
また、S51,S71では差分値ΔVmnを閾値Q,Rと比較して、空焚きが生じている状態もしくは異種液体が混入された状態の判定を行ったが、S38で算出された濃度換算値Cnを閾値との比較に用いてもよい。同様に、S52では、差分値ΔVmnを閾値との比較に用い、尿素水溶液中の尿素濃度が異常であるか否かを判定してもよい。
また、静止状態判定サブルーチンでは、S4〜S16において繰り返し検出された尿素水溶液のレベルの最大値および最小値の差分値を求めたレベル変動幅に基づいて、尿素水溶液が静止状態にあるか否かを判定したが、さらに、尿素水溶液の尿素濃度の変動幅に基づく判定を行ってもよい。図15,図16にその判定方法の一例を示す。図15は、状態検知プログラムの変形例として、メインルーチンに追加する一連の処理を示すフローチャートである。図16は、静止状態判定サブルーチンの変形例を示すフローチャートである。なお、本実施の形態の静止状態判定サブルーチンと同内容の処理は、ステップ番号を同一のものとして示した。
なお、図示しないが、RAM300の電圧値記憶エリア302には、電圧値Vpの記憶エリアが設けられ、電圧差分値記憶エリア303には、差分値ΔVmpの記憶エリアが設けられている。また、濃度換算値記憶エリア305には、濃度換算値Cpの記憶エリアが設けられており、さらに、濃度換算値Cnの記憶エリアは2つ設けられているものとする。そして最新の2回分の濃度換算値Cnが記憶され、それ以前に算出された濃度換算値は破棄されるものとする。この最新2回分の濃度換算値Cnは、後述する図16に示す静止状態判定サブルーチンの変形例において、長期濃度変動幅に基づく静止状態の判定を行うために用いられる。
図15に示す一連の処理は、状態検知プログラムのS27(図10参照)と、S34(図11参照)の間に挿入され、後述する図16に示す静止状態判定サブルーチンの変形例において、短期濃度変動幅に基づく静止状態の判定を行うために用いられる。図15に示すように、まず、S31では、図10のS21におけるタイマーT2のリセット時より500msecが経過したか否かの確認が行われ(S31)、経過しないうちは待機が行われる(S31:NO)。500msecが経過すると(S31:YES)、本実施の形態と同様に発熱抵抗体114の検出電圧が測定されて、電圧値Vpとして電圧値記憶エリア302に記憶される(S32)。そして、この電圧値Vpと、S24で記憶された電圧値Vmの最新の値との差分が算出され、電圧差分値記憶エリア303の差分値ΔVmpの記憶エリアに記憶されて(S33)、図11のS34に進む。この一連の処理により、液体状態検知センサ100が尿素水溶液の尿素濃度の検出を行うタイミングより少し前のタイミング(本変形例では200msec前)に、尿素濃度のサンプリングが行われることとなる。
なお、図11のS38では、上記したように差分値ΔVmnを用いて濃度換算値Cnが求められるが、さらに、差分値ΔVmpを用いて濃度換算値Cpが求められ、濃度換算値記憶エリア305の濃度換算値Cpの記憶エリアに記憶される。
そして、図16に示す静止状態判定サブルーチンの変形例では、S103においてレベル変動幅が閾値J以下であった場合(S103:NO)、ただちに静止状態フラグを1とはせず、S104,S105における短期濃度変動幅による静止状態判定と、S106,S107による長期濃度変動幅による静止状態判定とが行われる。
まず、S104では、短期濃度変動幅の算出が行われる(S104)。この処理では、濃度換算値記憶エリア305に記憶された濃度換算値Cn,Cpの差分値が求められる。すなわち、発熱抵抗体114への通電開始後500msec後と、700msec後との短期間における濃度変動幅を差分値として得る。そして、この差分値(短期濃度変動幅)と、予め実験等により決定されROM222に記憶された、短期間において尿素水溶液が静止状態にあるとみなせる場合に取りうる尿素水溶液の尿素濃度の変動幅の最大値(閾値K)との比較が行われる(S105)。このとき、短期濃度変動幅が閾値Kより大きければ(S105:YES)、尿素水溶液は静止状態にないとして、静止状態フラグに0がセットされる(S111)。
一方、短期濃度変動幅が閾値K以下であれば(S105:NO)、さらに、長期濃度変動幅の算出が行われる(S106)。この処理では、濃度換算値記憶エリア305に記憶された濃度換算値Cnの前回の値と最新の値との差分値が求められる。すなわち、60sec前に検出された尿素水溶液の尿素濃度と、最新の尿素濃度との濃度の変動幅を差分値として得る。そして、この差分値(長期濃度変動幅)と、予め実験等により決定されROM222に記憶された、長期間において尿素水溶液が静止状態にあるとみなせる場合に取りうる尿素水溶液の尿素濃度の変動幅の最大値(閾値L)との比較が行われる(S107)。このとき、長期濃度変動幅が閾値Lより大きければ(S107:YES)、尿素水溶液は静止状態にないとして、静止状態フラグに0がセットされる(S111)。そして、長期濃度変動幅が閾値L以下であれば(S107:NO)、尿素水溶液が静止状態にあるとして、静止状態フラグに1がセットされる(S112)。その後、メインルーチンに戻ればよい。
なお、上記した静止状態判定サブルーチンの変形例では、レベル変動幅に基づく静止状態の判定、短期濃度変動幅に基づく静止状態の判定、長期濃度変動幅に基づく静止状態の判定を、この順に行う例を示したが、判定の順序は任意に変更してもよい。
また、回路基板60は、レベル検知部70および液体性状検知部30からの出力を中継する回路基板として設け、マイクロコンピュータ220等を搭載した外部回路と接続し、その外部回路の制御によって、レベル検知および温度・濃度検出が行われるようにしてもよい。
また、S25やS57では、平均値を取るための電圧値Vmや正常な差分値ΔVmnのサンプリングを5回としたが、5回に限定するものではない。また、それらの平均値を求める処理において、最大値および最小値を除く処理を省いてもよい。