以下、図面を参照して発明を実施するための形態について説明する。各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。
本開示において、故障とは、断線等により流体センサが動作不能となる場合だけでなく、異物の付着等によりセンサ出力が変動して流体の流れを誤検出する場合を含む。
<第1実施形態>
[流体センシング装置の概略構成]
図1は、第1実施形態に係る流体センシング装置の概略構成を例示する図である。
図1において、流体センシング装置100は、流体センサ110と、マイクロプロセッサ(以下、マイコンという)120と、アナログフロントエンド(AFE)回路130とを有する。流体センサ110は、ヒータ111と、温度差検出部112とを含むセンサチップである。ヒータ111は、発熱により、後述するメンブレン20t上の流体(空気やガス等)を加熱して温度分布を生じさせる加熱部である。温度差検出部112は、少なくとも1方向について、ヒータ111の上流側と下流側との間に生じる温度差を検出し、温度差に応じた信号値を出力する。
マイコン120は、AFE回路130を介した流体センサ110の駆動制御や、流体センサ110からの出力信号に基づく演算処理を行う演算制御装置である。なお、マイコンに代えて、デジタル信号処理(DSP)回路を用いてもよい。
AFE回路130は、マイコン120からの制御に基づいて、ヒータ111を駆動する。本実施形態では、AFE回路130は、ヒータ111を構成する発熱抵抗体40(図2参照)に一定電流を流す定電流駆動によりヒータ111を駆動する。
また、AFE回路130には、温度差検出部112から入力されるアナログの出力信号をデジタル信号に変換するADC(Analog-to-Digital Converter)131が設けられている。
流体センシング装置100は、例えば、空調機器の流れ制御や、自動車のエンジン内の空気の流れ制御等に用いられる。
図2は、マイコン120が有する機能を示す機能ブロック図である。
マイコン120には、流れ算出部121、ヒータ制御部122、計時部123、立ち下がり時間計測部124、及び故障判定部125が構成されている。マイコン120は、例えば、図示しないメモリに記憶されたプログラムを読み込み、読み込んだプログラムに基づいた処理を行うことにより、各機能部を実現する。
詳しくは後述するが、流れ算出部121は、温度差検出部112の出力信号に基づいて流体の流れ(流量、流速、方向など)を算出する。ヒータ制御部122は、ヒータ111のオン/オフ等の制御を行う。計時部123は、指定された時点からの経過時間を計測するタイマー機能である。立ち下がり時間計測部124は、ヒータ111をオフ(加熱を停止)とした後における温度差検出部112の出力信号の立ち下がり時間を計測する。故障判定部125は、立ち下がり時間計測部124により計測された立ち下がり時間に基づいて、流体センサ110の故障判定を行う。
[流体センサの構造]
次に、流体センサ110の構造について説明する。図3は流体センサ110の構造を例示する図であり、図3(a)は平面透視図、図3(b)は図3(a)のA-A線に沿う断面図である。
流体センサ110は、半導体基板10と、積層構造部20と、X軸温度検出体30,31と、Y軸温度検出体32,33と、発熱抵抗体40と、測温抵抗体50と、配線60~69と、ボンディングパッド(以下、パッドという)80~89とを有する。
半導体基板10は、開口部10xを有する枠状のシリコン基板である。積層構造部20は、複数の絶縁膜が積層されたものであり、開口部10xを塞ぐように半導体基板10上に設けられている。積層構造部20の平面形状は、例えば、正方形である。積層構造部20において、開口部10x上の領域を、メンブレン(薄膜構造部)20tと称する。積層構造部20の厚みは、0.5~5μm程度である。
メンブレン20tの平面形状は、例えば、正方形である。メンブレン20tは、半導体基板10と接していないため、熱容量が小さく、温度が上昇し易い。メンブレン20tの上面が、検出対象である流体の流れを検出するための検出面である。
なお、図3では、積層構造部20の直交する2つの辺に平行な軸をX軸及びY軸としX軸及びY軸に直交する方向をZ軸としている。
積層構造部20には、X軸温度検出体30,31と、Y軸温度検出体32,33とが設けられている。また、積層構造部20の上部には、配線60~69とパッド80~89が設けられている。発熱抵抗体40、X軸温度検出体30,31、Y軸温度検出体32,33、及び測温抵抗体50は、それぞれ垂直配線を介して所定の配線に接続されている。
X軸温度検出体30,31は、メンブレン20tの中心を通るX軸方向の線上に形成されている。Y軸温度検出体32,33は、メンブレン20tの中心を通るY軸方向の線上に形成されている。X軸温度検出体30,31は、X軸方向に関する温度差を抵抗値の差として検出する。Y軸温度検出体32,33は、Y軸方向に関する温度差を抵抗値の差として検出する。各温度検出体30~33は、酸化バナジウム等により形成された抵抗体であり、温度差検出部112に含まれる。
X軸温度検出体30は、配線62を介してパッド83に接続され、配線63を介してパッド82に接続されている。X軸温度検出体31は、配線64を介してパッド84に接続され、配線65を介してパッド85に接続されている。
パッド82とパッド84は、外部で接続される。また、パッド83とパッド85は、それぞれ外部でGNDと電源に接続される。これにより、X軸温度検出体30,31がGNDと電源との間に直列に接続され、パッド82,84の接続部から中間電位が得られる。
Y軸温度検出体32は、配線67を介してパッド87に接続され、配線66を介してパッド86に接続されている。また、パッド86は、配線69を介してY軸温度検出体33に接続され、Y軸温度検出体33は配線68を介してパッド88に接続されている。
パッド87とパッド88は、それぞれ外部でGNDと電源に接続される。これにより、Y軸温度検出体32,33がGNDと電源との間に直列に接続され、パッド86から中間電位が得られる。
発熱抵抗体40は、配線60を介してパッド80に接続され、配線61を介してパッド81に接続されている。パッド80とパッド81との間に電圧を印加すると、発熱抵抗体40に電流が流れて発熱する。発熱抵抗体40は、白金(Pt)、ニクロム(NiCr)、ポリシリコン(p-Si)等から形成される。
測温抵抗体50は、パッド80とパッド89との間に接続されている。測温抵抗体50は、白金(Pt)、ニクロム(NiCr)、ポリシリコン(p-Si)等から形成される。
X軸温度検出体30,31及びY軸温度検出体32,33は、発熱抵抗体40に対して点対称に配置されている。具体的には、発熱抵抗体40は、メンブレン20tの中心に配置されている。本実施形態では、各温度検出体30~33は、発熱抵抗体40からの距離が等しい位置に配置されている。
このように、流体センサ110は、加熱により生じる検出面上の温度分布を検知して流体の流れに応じた信号値(上記構成では中間電位)を出力するセンサ素子である。
[回路構成]
次に、温度検出体を含んで構成されるブリッジ回路について説明する。図4は、ブリッジ回路の構成を例示する回路図である。
図4において、第1ブリッジ回路90は、X軸温度検出体30,31と、基準抵抗91,92と、センサアンプ93とを有する。第2ブリッジ回路95は、Y軸温度検出体32,33と、基準抵抗96,97と、センサアンプ98とを有する。
X軸温度検出体30,31は、GNDと電源との間に直列に接続されており、パッド82とパッド84との接続部から第1中間電位X1が得られる。基準抵抗91,92は、流体センサ110の外部に設けられおり、検出対象である流体の影響を受けにくい構成である。基準抵抗91,92は、上記各温度検出体30~33と同様、酸化バナジウム等で形成された抵抗体である。基準抵抗91,92は、GNDと電源との間に直列に接続されており、両者の接続部から第1基準電位X0が得られる。
センサアンプ93は、正入力端子がX軸温度検出体30,31の接続部に接続されており、負入力端子が基準抵抗91,92の接続部に接続されている。すなわち、センサアンプ93には、第1中間電位X1と第1基準電位X0とが入力され、両者の差分値(X1-X0)を増幅した増幅信号である第1センサ出力信号Vxを出力する。第1センサ出力信号Vxは、X軸温度検出体30,31の抵抗値の差に対応した信号である。
Y軸温度検出体32,33は、GNDと電源との間に直列に接続されており、両者の接続部であるパッド86から第2中間電位Y1が得られる。基準抵抗96,97は、流体センサ110の外部に設けられおり、流体の影響を受けにくい構成である。基準抵抗96,97は、上記各温度検出体30~33と同様、酸化バナジウム等で形成された抵抗体である。基準抵抗96,97は、GNDと電源との間に直列に接続されており、両者の接続部から第2基準電位Y0が得られる。
センサアンプ98は、正入力端子がパッド86に接続されており、負入力端子が基準抵抗96,97の接続部に接続されている。すなわち、センサアンプ98には、第2中間電位Y1と第2基準電位Y0とが入力され、両者の差分値(Y1-Y0)を増幅した増幅信号である第2センサ出力信号Vyを出力する。第2センサ出力信号Vyは、Y軸温度検出体32,33の差に対応した信号である。
上述のADC131は、第1ADC131xと第2ADC131yとを有する。第1ADC131xには第1センサ出力信号Vxが入力される。第2ADC131yには第2センサ出力信号Vyが入力される。第1ADC131xは、第1センサ出力信号Vxをデジタル信号に変換して出力する。第2ADC131yは、第2センサ出力信号Vyをデジタル信号に変換して出力する。
ヒータ111をオンとした状態において、X軸方向への流体の流れがない場合には、第1センサ出力信号Vxの信号値は、理想的にはゼロとなる。X軸方向へ流体が流れている場合には、第1センサ出力信号Vxは、X軸方向への流体の流れに応じた値となる。
同様に、ヒータ111をオンとした状態において、Y軸方向への流体の流れがない場合には、第2センサ出力信号Vyの信号値は理想的にはゼロとなる。Y軸方向へ流体が流れている場合には、第2センサ出力信号Vyは、Y軸方向への流体の流れに応じた値となる。
なお、温度検出体や基準抵抗の抵抗値は、温度や経年劣化でドリフトが生じるので、通常、第1センサ出力信号Vx及び第2センサ出力信号Vyは、ヒータ111がオフで、かつ流体の流れがなくてもゼロにはならず、オフセットが生じる。
以上のように第1及び第2ブリッジ回路90,95は、上述の中間電位と基準電位との差を出力する回路であるが、必ずしも設ける必要はなく、中間電位をセンサ出力信号として扱うことも可能である。
[流体検出動作]
次に、流体センシング装置100の流体検出動作について説明する。流体検出動作は、マイコン120の制御に基づいて行われる。流体検出動作を開始するにあたって、まず、マイコン120は、AFE回路130を介してヒータ111を定電流駆動し、発熱抵抗体40に一定電流を流すことにより、発熱抵抗体40を発熱させる。これにより、メンブレン20tの温度が上昇し、検出面上に存在する流体が加熱されて、温度分布が形成される。
そして、マイコン120は、ADC131を動作させ、上述の温度差検出部112から、デジタル化された第1センサ出力信号Vx及び第2センサ出力信号Vyを取得する。流れ算出部121は、第1センサ出力信号Vxに基づいて、検出面上におけるX軸方向への流れ(例えば流速)を算出する。また、流れ算出部121は、第2センサ出力信号Vyに基づいて、検出面上におけるY軸方向への流れ(例えば流速)を算出する。
検出面上の流体が、X軸方向及びY軸方向のいずれの方向にも流れていない場合には、温度分布は、メンブレン20tの中心を基準としてほぼ均等である。この場合、X軸温度検出体30の抵抗値とX軸温度検出体31の抵抗値とがほぼ等しいので、第1中間電位X1は、GNDと電源の中間の電位(第1基準電位X0)とほぼ等しくなる。同様に、この場合、Y軸温度検出体32の抵抗値とY軸温度検出体33の抵抗値とがほぼ等しいので、第2中間電位Y1は、GNDと電源の中間の電位(第2基準電位Y0)とほぼ等しくなる。したがって、検出面上の流体が流れていない場合には、Vx≒0、Vy≒0となる。
一方、検出面上の流体が流れている場合には、検出面上の温度分布に、流体の流れに応じた偏りが生じる。X軸方向に流体が流れている場合、X軸温度検出体30とX軸温度検出体31とに抵抗値の差が生じて、第1中間電位X1が変化する。このとき、第1基準電位X0は変化しないので、第1センサ出力信号Vxが変化する。同様に、Y軸方向に流体が流れている場合、Y軸温度検出体32とY軸温度検出体33とに抵抗値の差が生じて、第2中間電位Y1が変化する。このとき、第2基準電位Y0は変化しないので、第2センサ出力信号Vyが変化する。
なお、流れ算出部121は、第1センサ出力信号Vx及び第2センサ出力信号Vyのそれぞれの大きさや正負の関係に基づき、流体が流れる方向(流向)、流量、流速などを算出してもよい。流れ算出部121は、第1センサ出力信号Vx及び第2センサ出力信号Vyと、流向、流量、流速などとの関係をテーブルとして予め記憶しておき、このテーブルを各値の算出時に用いてもよい。
[故障検出動作]
次に、流体センシング装置100の故障検出動作について説明する。故障検出動作は、マイコン120の制御に基づいて行われる。この故障検出動作では、主として、流体センサ110のメンブレン20t上への異物の付着による故障を検出する。具体的には、メンブレン20t上への異物の付着により熱容量が変化し、センサ出力信号(第1センサ出力信号Vx及び/又は第2センサ出力信号Vy)の時定数が変化することに基づいて故障を検出する。なお、故障検出動作では、マイコン120は、センサ出力信号の信号値を正の値として取り扱う。
図5は、故障検出動作を説明するフローチャートである。図6は、故障検出動作時における第1センサ出力信号Vxの変化を例示するグラフである。本実施形態では、第1センサ出力信号Vxに基づいて故障検出を行う。
以下、図5及び図6を参照しながら故障検出動作時のマイコン120の処理を説明する。
マイコン120は、外部から故障検出動作の開始コマンドを受信する(ステップS1)。この開始コマンドは、ユーザに操作される図示しない操作部から送信される。マイコン120は、開始コマンドを受信すると、ヒータ制御部122によりヒータ111をオンとし、発熱抵抗体40の加熱を開始させる(ステップS2)。これにより、第1センサ出力信号Vxが立ち上がり始める。
なお、上述のオフセット及び流体の流れがない理想状態では、ヒータ111により生じる温度分布が均等となるので、第1センサ出力信号Vxは立ち上がらない。しかし、通常、オフセットや流体の流れが完全になくなることはないため、ヒータ111をオンとするとともに第1センサ出力信号Vxが立ち上がる。
この後、マイコン120は、発熱抵抗体40を所定時間加熱させる(ステップS3)。この所定時間は、発熱抵抗体40の温度が上昇して飽和するのに十分な時間である。マイコン120は、所定時間が経過した後、ヒータ制御部122によりヒータ111をオフとし、発熱抵抗体40の加熱を停止させる(ステップS4)。これにより、第1センサ出力信号Vxが立ち下がり始める。
マイコン120は、ヒータ111をオフとするとともに、計時部123により計時を開始する(ステップS5)。立ち下がり時間計測部124は、計時中に、流体センサ110からAFE回路130を介して第1センサ出力信号Vxを取得する(ステップS6)。この第1センサ出力信号Vxの取得は、ステップS6~S8が繰り返されることにより、一定時間ごとに行われ、第1センサ出力信号Vxの信号値は図示しないメモリに記憶される。
立ち下がり時間計測部124は、第1センサ出力信号Vxを取得すると、立ち下がり時間計測部124により、今回取得した信号値と前回取得した信号値との差分値を算出する(ステップS7)。具体的には、立ち下がり時間計測部124は、今回の信号値から前回の信号値を減算した値である差分値ΔVxを算出する。
立ち下がり時間計測部124は、差分値ΔVxを算出すると、差分値ΔVxが閾値以下であるか否かを判定する(ステップS8)。第1差分値ΔVxが閾値以下でない場合には(ステップS8;No)、処理がステップS6に戻り、立ち下がり時間計測部124は、再度、第1センサ出力信号Vxを取得する。
一方、立ち下がり時間計測部124は、第1差分値ΔVxが閾値以下となった場合には(ステップS8;Yes)、計時部123による計時を終了させる。なお、この閾値は、第1センサ出力信号Vxが十分に立ち下がった場合における信号値の変動幅に対応する値とすることが好ましい。
この後、立ち下がり時間計測部124は、計時部123が計時を開始してから計時が終了するまでの時間を算出し、算出値を立ち下がり時間Tfとする(ステップS10)。
そして、故障判定部125は、立ち下がり時間計測部124により算出された立ち下がり時間Tfを基準時間Trefと比較する(ステップS11)。故障判定部125は、立ち下がり時間Tfが基準時間Tref以下である場合には(ステップS11;No)、流体センサ110が正常であると判定する(ステップS12)。一方、故障判定部125は、立ち下がり時間Tfが基準時間Trefより大きい場合には(ステップS11;Yes)、流体センサ110が故障していると判定する(ステップS13)。なお、図6において、Tf(w/o)は正常時の立ち下がり時間を表し、Tf(w)は異常時の立ち下がり時間を表している。
基準時間Trefは、実験等により、正常時の立ち下がり時間Tfと故障時の立ち下がり時間Tfとを判別可能な値に、予め設定されている。
本故障検出動作では、第1センサ出力信号Vxに基づいて故障判定を行っているが、第2センサ出力信号Vyに基づいて故障判定を行ってもよい。さらに、第1センサ出力信号Vxと第2センサ出力信号Vyとの両方に基づいて故障判定を行ってもよい。この場合、例えば、上記ステップS5以降を、第1センサ出力信号Vxと第2センサ出力信号Vyとのそれぞれに対して行い、少なくともいずれか一方が故障と判定された場合に、流体センサ110が故障していると判定すればよい。
また、ステップS1において、マイコン120は、外部から入力される開始コマンドに応じて故障検出動作を開始しているが、タイマーなどに基づいてマイコン120が自動的に故障検出動作を開始してもよい。
[効果]
センサ出力信号の時定数τは、概略的に下式(1)で表される。
τ=C/G ・・・(1)
ここで、Cはメンブレン20tの熱容量(J/K)であり、Gは熱コンダクタンス(W/K)である。
上式(1)により、メンブレン20tに異物が付着した場合には、異物により熱容量Cが増加して時定数τが大きくなることにより、立ち下がり時間Tfが長くなることがわかる。
例えば、メンブレン20tの平面形状を一辺が600μmの正方形、メンブレン20tの厚みを1μm、密度を2200kg/m3、比熱を745J/kg・Kとした場合、異物が付着していない場合の熱容量Cは、5.9×10-7J/Kと算出される。この場合の時定数τは、約30msである。
メンブレン20tに付着する異物は、例えば砂粒である。例えば、この砂粒の重量を1μgとした場合、この砂粒を含めたメンブレン20tの熱容量Cは、1.3×10-6J/Kと算出される。この場合の時定数τは、約68msである。
このように、重量が1μgと小さな異物が付着した場合でも時定数τが2倍以上の値となり、立ち下がり時間Tfが大きく変化することがわかる。
したがって、本実施形態の流体センシング装置100によれば、基準時間Trefを適切に設定することにより、従来検出することができなかった異物の付着による故障の検出が可能となる。
なお、上記時定数τの変化によりセンサ出力信号の立ち上がり時間も変化するため、原理的には、立ち上がり時間に基づいて故障検出を行うことも可能である。しかし、ヒータ111がオンとされた後の立ち上がり期間は、加熱により温度分布が形成される期間であるので、流速に変動がある場合に、流速の変動による影響を受けて、センサ出力信号が変動し易い。このため、立ち上がり時間を精度よく求めることは困難である。
図7は、センサ出力信号の流速の変動による影響を概略的に例示するグラフである。このグラフに示すように、流速が変動している状況下では、立ち上がり期間にセンサ出力信号が変動し易いので、立ち上がり時間を精度よく求めることは難しい。これに対して、立ち下がり期間では、流速の変動による影響が少なく、センサ出力信号が変動し難いので、立ち下がり時間Tfを精度よく求めることができる。
したがって、上記実施形態に示すように、センサ出力信号の立ち下がり時間Tfに基づいて故障判定を行うことにより、精度よく故障検出を行うことができる。
また、流速に応じてセンサ出力信号の立ち上がり時間及び立ち下がり時間Tfが変動することが考えられる。立ち上がり時間は、流速がゼロの場合が最も短く、流速が大きくなると長くなり、一定の範囲内(例えば20~40ms)で変動すると考えられる。逆に、立ち下がり時間Tfは、流速がゼロの場合が最も長く、流速が大きくなると短くなり、一定の範囲内で変動すると考えられる。
このため、基準時間Trefは、流体センサ110が正常で、かつ流速がゼロの場合の立ち下がり時間Tfに基づいて設定すればよい。すなわち、基準時間Trefは、正常時の最大立ち下がり時間より長く、故障時の立ち下がり時間Tfより短い範囲内に設定されていればよい。最大立ち下がり時間Tfmを、出荷検査時等に測定し、この測定結果を用いて基準時間Trefを設定すればよい。これにより、風速の変動により立ち下がり時間Tfが変化した際に、上記故障検出動作によって故障と誤判定されることが防止される。
以上のように、本実施形態の流体センシング装置100によれば、異物の付着による故障の検出が可能であるので、検出対象は、異物の付着による故障の懸念が少ない清浄な空気や不活性ガスなどに限られない。また、流体センシング装置100は、センサチップやマイコンといった一般的な構成で実現可能あるので低コストで製造可能であり、安価である。このため、流体センシング装置100は、様々な用途で、様々な分野に適用可能である。例えば、IoT(Internet of Things)と呼ばれる分野では、多数のセンサを設置することが求められるので、流体センシング装置100はIoT分野に好適である。
このように、流体センシング装置100は、故障検出が可能であって、かつ安価であるので、故障の発生が少ない高価なセンサよりも有用性が高いと言える。
<第1実施形態の変形例>
以下に、第1実施形態に係る流体センシング装置の各種変形例を示す。各変形例において、第1実施形態と同様の構成部については、同一の符号を付し、説明は省略する。
[立ち下がり時間計測部]
立ち下がり時間計測部124の変形例について説明する。立ち下がり時間計測部124による立ち下がり時間Tfの計測方法は、図5に示す方法に限られず、各種変形が可能である。
第1実施形態では、立ち下がり時間計測部124は、今回取得した信号値と前回取得した信号値との2つの信号値の差分値に基づいて、立ち下がり時間Tfを求めているが、3以上の信号値に基づいて立ち下がり時間Tfを求めてもよい。例えば、今回取得した信号値と前回取得した信号値との差分値と、前回取得した信号値と前々回取得した信号値との差分値とが共に閾値以下となった場合に、計時部123による計時を終了させて立ち下がり時間Tfを求めてもよい。
また、必要に応じて複数の信号値の平均化を行ってもよい。例えば、移動平均により信号値の変化を平滑化したうえで、立ち下がり時間Tfを求めてもよい。
また、立ち下がり時間計測部124は、差分値によらずに、センサ出力信号の信号値が所定値まで低下したことを判定することにより、立ち下がり時間Tfを求めてもよい。この所定値は、例えば、予め設定された固定値である。なお、ヒータ111をオンとする前にセンサ出力信号の信号値を初期値として取得しておき、この初期値を当該所定値としてもよい。すなわち、ヒータ111をオフとした状態におけるセンサ出力信号の信号値を当該所定値としてもよい。
さらに、センサ出力信号の低下率に基づいて立ち下がり時間Tfを求めることも可能である。図8は、図5に示すフローチャートの変形例を示す図である。図8に示すフローチャートは、図5のフローチャートにおいて、ステップS6~S8を、ステップS20~S22で置き換えたものである。ステップS1~S3及びS11~S13については図示を省略している。
本変形例においては、立ち下がり時間計測部124は、ヒータ111がオフとされ(ステップS5)、計時部123により計時が開始された(ステップS5)直後に、第1センサ出力信号Vxを取得して、取得した信号値を初期値Vx(0)として図示しないメモリに記憶する(ステップS20)。なお、この初期値Vx(0)は、ヒータ111をオフする前に取得しておいてもよい。
立ち下がり時間計測部124は、計時が開始された後、第1センサ出力信号Vxを取得して、取得した信号値を現在値Vx(t)としてメモリに記憶する(ステップS21)。立ち下がり時間計測部124は、メモリに記憶された初期値Vx(0)と現在値Vx(t)とを用いて、下式(2)に基づいて、低下率Rfを算出する(ステップS22)。
Rf=(Vx(0)-Vx(t))/Vx(0) ・・・(2)
立ち下がり時間計測部124は、算出した低下率Rfを所定値R0と比較し、低下率Rfが所定値R0より大きいか否かを判定する(ステップS23)。ここで、所定値R0は、例えば、時定数の算出に用いられる値である「0.632」とする。但し、所定値R0はこの値に限られず適宜変更してよい。
立ち下がり時間計測部124は、低下率Rfが所定値R0以下である場合には(ステップS23;No)、処理をステップS21に戻し、再び第1センサ出力信号Vxを取得する。一方、低下率Rfが所定値R0より大きくなった場合には(ステップS23;Yes)、立ち下がり時間計測部124は、計時部123による計時を終了させる(ステップS9)。
この後、立ち下がり時間計測部124は、計時部123が計時を開始してから計時が終了するまでの時間を算出し、算出値を立ち下がり時間Tfとする(ステップS10)。以下のステップは、図5に示すフローチャートと同様である。
[温度検出体の配置]
次に、温度検出体の配置に関する変形例について説明する。第1実施形態では、X軸温度検出体30,31及びY軸温度検出体32,33を、それぞれメンブレン20tの中心(ヒータ111)からの距離が等しい位置に配置しているが、少なくとも1つの温度検出体を当該位置からずらしてもよい。
図9は、1つのX軸温度検出体30を、破線で示す第1実施形態の位置からずらした例を示す図である。この例では、ヒータ111からX軸温度検出体30までの距離L1は、ヒータ111からX軸温度検出体31までの距離L2よりも長い。したがって、流体の流れがなく、温度分布が均一である場合においても、X軸温度検出体30,31の間に温度差による抵抗値の差が生じる。上述の流れ算出部121は、この温度差を考慮してX方向に関する流体の流れを算出すればよい。
このように、図9に示す例では、流体の流れがなくても、ヒータ111をオンとすることによりX軸温度検出体30,31の間に温度差が生じ、第1センサ出力信号Vxが上昇する。したがって、立ち下がり時間計測部124は、流体の流れがない状況下でも、第1センサ出力信号Vxに基づいて、立ち下がり時間Tfを確実に計測することができる。
なお、X軸温度検出体30,31に限られず、Y軸温度検出体32,33をヒータ111からの距離が異なる位置に配置してもよい。
[故障検出用の温度検出体]
第1実施形態では、流れ検出用の温度検出体(X軸温度検出体30,31及びY軸温度検出体32,33)を用いて故障検出を行っているが、故障検出用の温度検出体を別途設けてもよい。
図10は、故障検出用の温度検出体200,210の配置例を示す図である。この例では、故障検出用の温度検出体200,210は、メンブレン20tの中心を通るY軸方向の線上に形成されている。温度検出体200,210と、図示しない2つの基準抵抗とセンサアンプとにより、図4と同様のブリッジ回路が構成される。立ち下がり時間計測部124は、このブリッジ回路から出力されるセンサ出力信号に基づいて立ち下がり時間Tfを算出すればよい。
また、故障検出を確実に行うために、故障検出用の温度検出体200,210の一方の位置をずらし、メンブレン20tの中心に対して非対称に配置することが考えられる。
図11は、故障検出用の温度検出体210を、図10に示す位置からずらし、温度検出体200,210の配置を非対称とした例を示す図である。この例では、ヒータ111から温度検出体210までの距離を、ヒータ111から温度検出体200までの距離よりも大きくしている。この場合、流体の流れがなくても、ヒータ111をオンとすることにより温度検出体200,210の間に温度差が生じるので、立ち下がり時間計測部124は、立ち下がり時間Tfを確実に計測することができる。
なお、故障検出用の温度検出体200,210は、Y軸方向に限られず、X軸方向に配置してもよい。また、X軸方向とY軸方向との両方に故障検出用の温度検出体を設けてもよい。
[ヒータの故障検出]
第1実施形態では、故障検出として、メンブレン20t上への異物の付着を検出しているが、これに加えてヒータ111の故障を検出することも可能である。
図12は、ヒータ111の故障検出を可能とした流体センシング装置100aの概略構成を例示する図である。流体センシング装置100aでは、AFE回路130がヒータ111を定電流駆動する際の出力電圧がモニタ電圧Vmとしてマイコン120に入力される。マイコン120には、アナログのモニタ電圧Vmをデジタル信号に変換するためのADC300が設けられている。
マイコン120は、出荷検査時等、正常時にヒータ111をオンとした場合に得られるモニタ電圧Vmの信号値を保持している。マイコン120は、ヒータ111をオンとした場合に得られるモニタ電圧Vmの信号値を、正常時の信号値と比較することにより、断線等のヒータ111の故障を検出することができる。
図13は、図12に示す流体センシング装置の変形例を示す図である。図13において、流体センシング装置100bでは、モニタ電圧Vmをデジタル信号に変換するADC300がAFE回路130内に設けられている。本変形例では、ADC300によりデジタル化されたモニタ電圧Vmは、AFE回路130からマイコン120に入力される。ヒータ111の故障検出動作については上記と同様である。
また、第1実施形態では、ヒータ111の駆動方式を定電流駆動としているが、これに代えて定電圧駆動としてもよい。図14は、ヒータ111を定電圧駆動する場合の電圧印可方式を例示する図である。
この例では、直列接続されたヒータ111としての発熱抵抗体40と検出抵抗としての測温抵抗体50とにおいて、発熱抵抗体40側にGNDを接続し、測温抵抗体50側に定電圧電源を接続する。具体的には、図3(a)において、パッド81をGNDに接続し、パッド89を定電圧電源に接続する。モニタ電圧Vmはパッド80から得られる。このモニタ電圧Vmは、図12または図13に示すADC300でデジタル化される。ヒータ111の故障検出動作については上記と同様である。
図15は、ヒータ111を定電圧駆動する場合のその他の電圧印可方式を例示する図である。この例では、直列接続された発熱抵抗体40と測温抵抗体50とにおいて、測温抵抗体50側にGNDを接続し、発熱抵抗体40側に定電圧電源を接続する。具体的には、図3(a)において、パッド89をGNDに接続し、パッド81を定電圧電源に接続する。モニタ電圧Vmはパッド80から得られる。このモニタ電圧Vmは、図12または図13に示すADC300でデジタル化される。ヒータ111の故障検出動作については上記と同様である。
また、図14及び図15に示す例では、発熱抵抗体40と測温抵抗体50との接続部であるパッド89に生じるモニタ電圧Vmに基づいてヒータ111の故障検出を行っているが、測温抵抗体50に生じる電位差に基づいてヒータ111の故障検出を行うことも可能である。
図16は、検出抵抗としての測温抵抗体50に生じる電位差に基づいてヒータ111の故障検出を行う例を示す図である。同図において、コンパレータ400が設けられている。コンパレータ400は、一方の入力端子がパッド89に接続され、他方の入力端子がパッド80に接続されている。
この例では、図3(a)に示すパッド81はGNDに接続されている。コンパレータ400は、「0」または「1」のデジタル信号を出力する。例えば、コンパレータ400は、ヒータ111が正常な場合には「0」を出力し、ヒータ111が故障してパッド80の電位が変化した場合には「1」を出力する。この例では、ADC300を設ける必要はない。コンパレータ400の出力信号は、マイコン120に直接またはAFE回路130を介して入力されればよい。マイコン120は、コンパレータ400から「1」を表す出力信号が入力された場合に、ヒータ111を故障と判定する。
[その他の故障検出]
その他の故障検出として、温度差検出部112の故障を検出することも可能である。具体的には、ヒータ111がオフの場合のセンサ出力信号(第1センサ出力信号Vx及び第2センサ出力信号Vy)の信号値を、出荷検査時等の正常時に取得しておき、信号値が正常時から一定以上変化した場合に、温度差検出部112が故障したと判定すればよい。ヒータ111がオフの場合に故障判定を行うことで、流体の影響を受けることなく故障判定を行うことができる。
また、メンブレン20tの割れにより生じる断線を、ヒータ111の故障判定、または温度差検出部112の故障判定の結果に基づいて検出することも可能である。
なお、第1実施形態では、温度差検出部112を、温度検出体と基準抵抗とを含むブリッジ回路により構成しているが、必ずしも基準抵抗を設ける必要はない。温度差検出部112は、ヒータ111の上流側と下流側との間に生じる温度差を検出し、温度差に応じた信号値を出力するものであればよい。
<第2実施形態>
次に、第2実施形態に係る流体センシング装置について説明する。本実施形態に係る流体センシング装置は、流体の流れがない状況下においてもより確実に故障検出を行うことを可能とするものである。
図17は、第2実施形態に係る流体センシング装置100cの構成を示す図である。図17において、流体センシング装置100cは、流体センサ110と、AFE回路130を有するセンサ基板500と、マイコン120とを有する。流体センサ110は、センサ基板500上に実装されている。
流体センサ110は、第1実施形態と同様の構成である。図17では、流体センサ110の構成要素のうち、X軸温度検出体30,31及びY軸温度検出体32,33のみを図示している。また、図17では、図4に示した第1及び第2ブリッジ回路90,95を構成するための基準抵抗91,92,96,97については図示を省略している。
各温度検出体30~33は、酸化バナジウム等により形成された抵抗体である。温度検出体30~33は、それぞれほぼ同一の抵抗値を有し、抵抗値は、例えば200kΩである。
AFE回路130は、第1実施形態と同様の構成であり、Σ型ADCを内蔵している。
センサ基板500には、4つの固定抵抗501~504と、4つのスイッチ511~514と、2つのオペアンプ521,522が設けられている。
固定抵抗501~504は、故障検出動作時に、センサ出力信号にオフセットを与えるために用いられる。固定抵抗501~504は、それぞれほぼ同一の抵抗値を有し、抵抗値は、例えば1kΩである。固定抵抗501~504は、温度検出体30~33に対して、抵抗値が十分に小さく、かつ温度依存性(温度変化に対する抵抗値の変動量)が小さい。
固定抵抗501は、第1中間電位X1を取得するためにパッド82,84の接続部に接続された第1出力配線531に、スイッチ511を介して接続されている。同様に、固定抵抗502は、第1出力配線531に、スイッチ512を介して接続されている。固定抵抗501は、スイッチ511がオンとされた場合に、第1出力配線531とGND(AFE回路130のCOM0端子)との間に、温度検出体30と並列に接続される。固定抵抗502は、スイッチ512がオンとされた場合に、第1出力配線531と電源(AFE回路130のVREF端子)との間に、温度検出体31と並列に接続される。
固定抵抗503は、第2中間電位Y1を取得するためにバッド86に接続された第2出力配線532に、スイッチ513を介して接続されている。同様に、固定抵抗504は、第2出力配線532に、スイッチ514を介して接続されている。固定抵抗503は、スイッチ513がオンとされた場合に、第2出力配線532とGND(AFE回路130のCOM1端子)との間に、温度検出体32と並列に接続される。固定抵抗504は、スイッチ514がオンとされた場合に、第2出力配線532と電源(AFE回路130のVREF端子)との間に、温度検出体33と並列に接続される。
スイッチ511~514のオン/オフは、AFE回路130により制御される。本実施形態では、スイッチ511及びスイッチ513はGPO0端子により制御され、スイッチ512及びスイッチ514はGPO1端子により制御される。すなわち、スイッチ511及びスイッチ513は同時にオン又はオフとされる。同様に、スイッチ512及びスイッチ514は同時にオン又はオフとされる。
なお、AFE回路130は、スイッチ511~514をそれぞれ独立にオン/オフ制御してもよい。スイッチ511及びスイッチ513は、互いに異なる出力配線に接続されており、互いに影響を与えないことから、本実施形態では回路の簡略化のために、同時にオン/オフする構成としている。スイッチ512及びスイッチ514についても同様の理由により同時にオン/オフする構成としている。
オペアンプ521は、第1出力配線531に接続されており、第1出力配線531を介して流体センサ110から出力される第1センサ出力信号Vxをインピーダンス変換してAFE回路130に入力する。同様に、オペアンプ522は、第2出力配線532に接続されており、第2出力配線532を介して流体センサ110から出力される第2センサ出力信号Vyをインピーダンス変換してAFE回路130に入力する。
AFE回路130には、ADCの他に、ADCによりA/D変換されたセンサ出力信号のデータを一時的に格納するためのメモリ、演算処理部、シーケンサ、不揮発性メモリ、I2C等の通信インターフェース等が内蔵されている。
マイコン120は、AFE回路130のシーケンサに故障判定用のシーケンスを書き込むことに故障判定を行う。
[故障検出方法]
次に、本実施形態における故障検出方法について説明する。図18は、スイッチ511~514をそれぞれオンとした場合における等価回路を示す図である。図18(A)は、スイッチ511をオンとした場合における等価回路を示す。図18(B)は、スイッチ512をオンとした場合における等価回路を示す。図18(C)は、スイッチ513をオンとした場合における等価回路を示す。図18(D)は、スイッチ514をオンとした場合における等価回路を示す。
図18(A)に示すように、スイッチ511をオンとした場合、固定抵抗501が温度検出体30と並列に接続されることにより、第1出力配線531に生成される第1センサ出力信号を「Vxu」と称する。
図18(B)に示すように、スイッチ512をオンとした場合、固定抵抗502が温度検出体31と並列に接続されることにより、第1出力配線531に生成される第1センサ出力信号を「Vxd」と称する。
図18(C)に示すように、スイッチ513をオンとした場合、固定抵抗503が温度検出体32と並列に接続されることにより、第2出力配線532に生成される第2センサ出力信号を「Vyu」と称する。
図18(D)に示すように、スイッチ514をオンとした場合、固定抵抗504が温度検出体33と並列に接続されることにより、第2出力配線532に生成される第2センサ出力信号を「Vyd」と称する。
以下、図18(A)に示す第1センサ出力信号Vxuに基づく故障判定方法について説明する。第1センサ出力信号Vxuは、下式(1)で表される。
Vxu=Vref[(RcRxd)/((RxuRxd)+Rc(Rxu+Rxd))] ・・・(1)
ここで、Vrefは、VREF端子から供給する電源電圧(基準電圧)である。Rxdは、温度検出体30の抵抗値である。Rxuは、温度検出体31の抵抗値である。Rcは、固定抵抗501の抵抗値である。
Rxd≒Rxuであり、Rc≪Rxd及びRc≪Rxuであることから、第1センサ出力信号Vxuは、下式(2)のように近似される。
Vxu≒Vref(Rc/Rxu) ・・・(2)
ここで、抵抗値Rcは温度依存性を有しないが、抵抗値Rxuは温度依存性を有するとする。抵抗値Rxuの抵抗温度係数をTCRとした場合、ヒータ111のオン/オフによる第1センサ出力信号Vxの変化量ΔVxuは、下式(3)で表される。
ΔVxu≒-Vref(Rc/Rxu)TCR・ΔT ・・・(3)
ここで、変化量ΔVxuは、ヒータ111をオンとした場合における第1センサ出力信号Vxuの値から、ヒータ111をオフとした場合における第1センサ出力信号Vxuの値を減算した値である。ΔTは、ヒータ111がオフの状態からオンとした場合における上昇温度である。
仮に、スイッチ511がオフである場合には、温度検出体30と温度検出体31とがほぼ同じ温度特性を有するので、流体の流れがない状況下では、ヒータ111がオンとされても、温度検出体30と温度検出体31との間で抵抗値の差がほとんど生じず、第1センサ出力信号Vxにほとんど変化が生じない。
これに対して、本実施形態では、流体の流れがない状況下であっても、スイッチ511をオンとすることにより、上式(3)で示されるように、第1センサ出力信号Vxuは、固定抵抗501が並列接続された温度検出体30の温度特性には依存せず、温度検出体31の温度特性に応じて変化する。したがって、本実施形態では、流体の流れがない状況下であっても、立ち下がり時間Tfに基づいた故障判定を精度よく行うことができる。
この第1センサ出力信号Vxuに基づく故障判定の他に、第1センサ出力信号Vxdに基づく故障判定、第2センサ出力信号Vyuに基づく故障判定、第2センサ出力信号Vydに基づく故障判定がそれぞれ行われる。これらの4回の故障判定のうち、少なくとも1つにより故障が判定された場合に、センサ110が故障していると判定される。
また、本実施形態では、立ち下がり時間Tfに基づいた故障判定の他に、ヒータ111をオン/オフした場合における第1センサ出力信号Vxu,Vxd及び第2センサ出力信号Vyu,Vydのそれぞれの振幅値に基づいた故障判定も行われる。
[故障判定フロー]
以下に、具体的な故障判定フローについて説明する。図19は、故障判定動作時にマイコン120が実行する処理を示すフローチャートである。図20は、故障判定動作時のヒータ111及びADCの動作タイミングを示すタイミング図である。
図19に示すように、故障判定動作を開始する際に、マイコン120は、まずAFE回路130をアイドル状態とし(ステップS30)、AFE回路130のシーケンサに故障判定用シーケンスを書き込む(ステップS31)。ここでは、AFE回路130は、まず、図18(A)に示したように、スイッチ511をオンとした状態で第1センサ出力信号Vxuに基づいて故障判定を行うための故障判定用シーケンスをシーケンサに書き込む。
AFE回路130に故障判定用シーケンスが書き込まれると、AFE回路130は、図20に示すように、ヒータ111のオン/オフ制御を行うとともに、ADCを制御して、所定のタイミングで第1センサ出力信号VxuをサンプリングしてA/D変換を行い、A/D変換後のデータをAFE回路130内のメモリに格納する。
具体的には、図20に示すように、AFE回路130は、時刻t0においてヒータ111をオフからオンに切り替えるとともに、ADCを有効状態(enable)から無効状態(disable)とする。そして、AFE回路130は、所定の時間(例えば、500ms)の間、ヒータ111をオン状態とし、時刻t1にヒータ111をオフとする。また、AFE回路130は、ヒータ111をオフとする時刻t1の直前にADCを有効状態とする。そして、AFE回路130は、ヒータ111をオフとした状態で、時刻t1から所定のサンプリング間隔で第1センサ出力信号VxuをサンプリングしてA/D変換を行うようにADCを動作させる。時刻t1~t8は、サンプリングを行うタイミングを表している。なお、本実施形態では、ヒータ111をオンとする時刻t0においてもサンプリングを行う。
また、本実施形態では、サンプリング間隔は等間隔ではなく、ヒータ111をオフとした直後においてサンプリング間隔を短くし、時間が経過するほどサンプリング間隔を長くしている。例えば、t1=0msとした場合、t2=6.25ms、t3=12.5ms、t4=18.75ms、t5=31.25ms、t6=43.75ms、t7=96.875ms、t8=600msである。AFE回路130内のメモリには、時刻t0~t8でサンプリングされ、A/D変換されたデータが格納される。
図19に戻り、マイコン120は、AFE回路130による上記のシーケンスが終了するまでの待機する(ステップS32)。マイコン120は、AFE回路130によるシーケンスが終了すると、AFE回路130のメモリに格納されたデータを読み出す(ステップS33)。
マイコン120は、読み出したデータに基づき、ヒータ111をオフとした後の第1センサ出力信号Vxuの立ち下がり時間Tfと、ヒータ111をオン/オフすることによる第1センサ出力信号Vxuの振幅値Aとを算出する(ステップS34)。本実施形態では、マイコン120は、時刻t1~t8でサンプリングされたデータに基づき、時定数τの2倍に相当する時間を立ち下がり時間Tfとして算出する。より具体的には、マイコン120は、時刻t8のデータ値を定常値とし、時刻t1のデータ値が定常値の86.5%に達するまでの時間を立ち下がり時間Tfとして算出する。このようにして算出される立ち下がり時間Tfが概ね20msであることから、上記のようにヒータ111をオフとした後、20msが経過する前後のサンプリング間隔を短くしている。
また、マイコン120は、振幅値Aについては、例えば、時刻t0のデータと時刻t1のデータとの差分を取ることにより算出する。なお、時刻t1のデータと時刻t8のデータ(定常値)との差分値を振幅値Aとしてもよい。
次に、マイコン120は、算出した立ち下がり時間Tfと振幅値Aとに基づき、故障判定を行う(ステップS35)。立ち下がり時間Tfについては、第1実施形態と同様に、基準時間Trefと比較し、立ち下がり時間Tfが基準時間Trefより大きい場合に、流体センサ110が故障していると判定する。振幅値Aについては、振幅値Aが所定の閾値以下である場合に、流体センサ110が故障していると判定する。
マイコン120は、故障判定を終了すると、終了判定を行う(ステップS36)。具体的には、マイコン120は、図18(A)~(D)に示す全てのパターンについて故障判定が終了したか否かについて判定する。マイコン120は、故障判定を行っていないパターンが存在する場合には(ステップS36:NO)、故障判定用シーケンスを変更して、処理をステップS30に戻す。マイコン120は、全てのパターンについて故障判定が終了した場合には(ステップS36:YES)、処理を終了する。
[実験例]
以下に、第2実施形態に係る流体センシング装置100cによる故障判定に関する実験例について説明する。
(実験例1)
図21及び図22は、流体センサ110が正常である場合における出力信号の変化を例示する図である。図21は、第1センサ出力信号Vxu,Vxd及び第2センサ出力信号Vyu,Vydのそれぞれについて、時刻t0~t8においてサンプリングされたデータをプロットしたものである。図22は、ヒータ111をオフとした後の出力信号について、時刻t1の電圧値を「0」とし、時刻t8の電圧値を「1」とするように規格化したものである。なお、図22中の破線は、規格値「1」に対して86.5%となる電圧値を示している。
図23は、流体センサ110が正常である場合における立ち下がり時間Tfの算出値を例示する図である。図23は、図21及び図22に基づく算出値を示している。立ち下がり時間Tfは、前述のように時定数τの2倍に相当する時間としている。立ち下がり時間Tfの算出値は、19~20msであった。
(実験例2)
図24及び図25は、流体センサ110に異物として土が付着した場合における出力信号の変化を例示する図である。図24は、第1センサ出力信号Vxu,Vxd及び第2センサ出力信号Vyu,Vydのそれぞれについて、時刻t0~t8においてサンプリングされたデータをプロットしたものである。図25は、ヒータ111をオフとした後の出力信号について、時刻t1の電圧値を「0」とし、時刻t8の電圧値を「1」とするように規格化したものである。なお、図25中の破線は、規格値「1」に対して86.5%となる電圧値を示している。
図26は、流体センサ110に異物として土が付着した場合における立ち下がり時間Tfの算出値を例示する図である。図26は、図24及び図25に基づく算出値を示している。立ち下がり時間Tfは、前述のように時定数τの2倍に相当する時間としている。立ち下がり時間Tfの算出値は、95~130msであった。
このように、流体センサ110に異物として土が付着した場合に、立ち下がり時間Tfが大幅に長くなることから、立ち下がり時間Tfに基づく故障判定が可能であることがわかる。
(実験例3)
図27及び図28は、流体センサ110に異物として水が付着した場合における出力信号の変化を例示する図である。図27は、第1センサ出力信号Vxu,Vxd及び第2センサ出力信号Vyu,Vydのそれぞれについて、時刻t0~t8においてサンプリングされたデータをプロットしたものである。図28は、ヒータ111をオフとした後の出力信号について、時刻t1の電圧値を「0」とし、時刻t8の電圧値を「1」とするように規格化したものである。なお、図28中の破線は、規格値「1」に対して86.5%となる電圧値を示している。
図29は、流体センサ110に異物として水が付着した場合における立ち下がり時間Tfの算出値を例示する図である。図29は、図27及び図28に基づく算出値を示している。立ち下がり時間Tfは、前述のように時定数τの2倍に相当する時間としている。立ち下がり時間Tfの算出値は、34~270msであった。
このように、流体センサ110に異物として水が付着した場合に、立ち下がり時間Tfが大幅に長くなることから、立ち下がり時間Tfに基づく故障判定が可能であることがわかる。また、図21に示すように流体センサ110が正常である場合における振幅値Aが約1.1mVであったのに対し、実験例3では、図27に示すように振幅値Aは約0.2~0.4mV程度に低下することから、振幅値Aに基づく故障判定も可能であることがわかる。
<第2実施形態の変形例>
第2実施形態では、4つの温度検出体30~33のそれぞれに対応するように4つの固定抵抗501~504を設けているが、固定抵抗を1つのみとし、この1つの固定抵抗が、マルチプレクサ等により、温度検出体30~33のそれぞれに選択的に並列接続されるように構成してもよい。
また、第2実施形態では、第1出力配線531及び第2出力配線532にオペアンプ521,522がそれぞれ接続されているが、これらのオペアンプ521,522は必須ではない。
また、第2実施形態では、AFE回路130のシーケンサにより流体センサ110の故障判定制御を行っているが、ファームウェア等により流体センサ110の故障判定制御を行ってもよい。
以上、本発明の好ましい実施の形態について詳説したが、本発明は、上述した実施の形態に制限されることはなく、本発明の範囲を逸脱することなく、上述した実施の形態に種々の変形及び置換を加えることができる。