<1.第1の実施の形態>
図2は、本発明を適用したタッチセンサの第1の実施の形態の構成例を示す図である。
図2に示す構成のうち、図1の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図2のタッチセンサ10の構成は、主に、マイクロコンピュータに端子P3が設けられ、その端子P3と端子P0間に既知の容量からなるコンデンサCbが接続されている点が図1の構成と異なる。
詳細には、図2のマイクロコンピュータ11は、図1のマイクロコンピュータ1と同様に、CPU、RAM、および、ROMなどからなり、CPUが、ROMに記憶された所定のプログラムを必要に応じてRAMに展開して、実行することにより各種の処理を実行する。
より具体的には、マイクロコンピュータ11は、マイクロコンピュータ1と同様に、プログラムを実行することにより、端子P0乃至P2に対して出力信号としてHi、Lowの信号を出力したり、HiZを設定したりする。また、マイクロコンピュータ11は、プログラムを実行することにより、マイクロコンピュータ1と同様に、必要に応じて端子P2の入力信号の電圧を測定し、測定結果に応じた処理を実行する。さらに、マイクロコンピュータ11は、プログラムを実行することにより、端子P3に対して出力信号としてLowの信号を出力したり、HiZを設定したりする。
端子P3は、コンデンサCbの充電を制御する端子である。端子P3がLowに制御されるとき、コンデンサCbは、コンデンサCaと並列に接続されることになり、端子P0より印加される電圧での充電が許可される。一方、端子P3がHiZ(高インピーダンス状態)に制御されるとき、コンデンサCbの充電は許可されない。
コンデンサCbの一方の端部は、抵抗Rを介して直列に接続されたコンデンサCs,Cxに接続され、他方の端部は端子P3に接続されている。コンデンサCbは、端子P3の状態に応じて、端子P0より印加される電圧で電荷を充電する。また、コンデンサCbは、コンデンサCaと同様に端子P1により抵抗Rを介して電荷を放電する。従って、コンデンサCbが電荷を充電している場合、コンデンサCs,Cxは、コンデンサCaおよびCbに充電された電荷により、充電される。
以上のように、タッチセンサ10は、端子P3を制御することにより、コンデンサCaにコンデンサCbを並列接続したり、その並列接続を解除したりすることができる。その結果、タッチセンサ10は、コンデンサCsおよびCxに電荷を充電するコンデンサの容量として、コンデンサCaの容量、および、コンデンサCaとCbの容量の和のうちのいずれかを選択することができる。その結果、コンデンサCsおよびCxに電荷を充電するコンデンサの容量を最適化することができる。
図3は、図2のタッチセンサ10の概念を説明する回路図である。
スイッチSW1乃至SW4は、それぞれ端子P0乃至P3の動作状態を端的に示したものである。すなわち、端子P0がHiに制御されると、スイッチSW1は、ONの状態とされる。その結果、電源Vccが、充電電圧VccでコンデンサCaを充電したり、充電電圧VccでコンデンサCaおよびCbを充電したりする。一方、端子P0が、HiZに制御されると、スイッチSW1がOFFの状態とされる。
また、端子P1が、Lowに制御されると、スイッチSW2は、ONにされ、HiZに制御されると、OFFに制御される。
さらに、端子P2が、Lowに制御されると、スイッチSW3はONにされ、HiZに制御されるとOFFにされる。また、端子P2が、Hiに制御されると、比較器CompがコンデンサCxの充電電圧と、参照電圧Vrefとを比較し、比較結果を出力する。尚、比較器Compは、マイクロコンピュータ11により実現される機能であり、実際の比較回路ではない。
また、端子P3が、Lowに制御されると、スイッチSW4はONの状態とされる。その結果、電源VccによるコンデンサCbの充電が許可される。一方、端子P3がHiZに制御されると、スイッチSW4はOFFの状態とされる。
尚、図3において、Va,Vb,Vs,Vxは、それぞれ、コンデンサCa,Cb,Cs,Cxの充電電圧を表している。
次に、図4を参照して、図2のマイクロコンピュータ11により実現される機能について説明する。
制御部31は、マイクロコンピュータ11の動作の全体を制御する。具体的には、制御部31は、スイッチ動作部32を制御して、端子P0乃至P3の動作を制御させる。また、制御部31は、計測部33により計測されたコンデンサCxの静電容量の計測結果に基づいて、人体が接触したか否かを判定し、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、またはスピーカなどからなる出力部34を制御して、人体が接触した、または、接触していないという判定結果を提示させる。
スイッチ動作部32は、内蔵するタイマ32aを参照して、所定の時間間隔毎に、端子P0乃至P3の動作を制御する。より詳細には、スイッチ動作部32は、所定の時間間隔毎に端子P0乃至P2をHi、HiZ、またはLowに所定のパターンで周期的に繰り返し切替える。また、スイッチ動作部32は、計測部33から供給される判定結果に基づいて、所定のタイミングで端子P3をHiZまたはLowに切り替える。さらに、スイッチ動作部32は、所定のパターンで周期的に繰り返される端子P0乃至P3の動作が1周期終了する度に計測部33にその信号を供給する。
端子P0は、スイッチ動作部32よりHiの信号が供給されると、図3のスイッチSW1がONにされた状態となり、端子P0は、電源VccによりコンデンサCaを充電電圧Vccで充電させるか、コンデンサCaおよびCbを充電電圧Vccで充電させる。
また、端子P0は、スイッチ動作部32によりHiZ状態にされると、図3のスイッチSW1がOFFにされた状態となり、電源VccからコンデンサCaおよびCbへの電源供給を停止させる。
端子P1は、スイッチ動作部32よりLowの信号が供給されると、図3のスイッチSW2がONにされた状態となり、コンデンサCaおよびCbに充電された電荷を、抵抗Rを介して徐々に接地点から放電させると共に、コンデンサCsの充電電荷を接地点から瞬時に全量放電させる。
また、端子P1は、スイッチ動作部32によりHiZの状態にされると、図3のスイッチSW2がOFFにされた状態となり、コンデンサCaと、コンデンサCs,Cxの合成コンデンサとを並列に接続した状態にするか、コンデンサCa,Cb、および、コンデンサCs,Cxの合成コンデンサを並列に接続した状態にする。
端子P2は、スイッチ動作部32よりLowの信号が供給されると、図3のスイッチSW3がONにされた状態となり、コンデンサCxに充電された充電電荷を放電させる。また、端子P2は、スイッチ動作部32よりHiZの状態にされると、図3のスイッチSW3がOFFにされた状態となり、コンデンサCxの充電電荷を保持する。さらに、端子P2は、スイッチ動作部32よりHiの信号が供給されると、コンデンサCxの充電電圧Vxを計測部33に供給する。
端子P3は、スイッチ動作部32よりLowの信号が供給されると、図3のスイッチSW4がONにされた状態となり、電源VccによるコンデンサCbの充電を許可する。また、端子P3は、スイッチ動作部32よりHiZの状態にされると、図3のスイッチSW4がOFFにされた状態となり、電源VccによるコンデンサCbの充電を許可しない。
計測部33は、カウンタ33a、比較部33b、および判定部33cにより構成される。計測部33のカウンタ33aは、スイッチ動作部32より端子P0乃至P3の1周期分の動作が終了する度に供給されてくる信号に基づいて、周期の回数nをカウントする。また、カウンタ33aは、充電電圧Vxが参照電圧Vrefを下回るまでの回数nを平均で求めるため、充電電圧Vxが参照電圧Vrefを下回るまでの回数nを求めた回数m、並びに、m回分の回数nの総和Nをカウントする。
比較部33bは、図3における比較器Compに対応する構成であり、端子P2より供給されてくる充電電圧Vxと、参照電圧Vrefとを比較し、充電電圧Vxが参照電圧Vrefと一致したか、または、充電電圧Vxが、参照電圧Vrefより小さくなったとき、即ち充電電圧Vxが参照電圧Vrefを下回ったとき、そのときのカウンタ33aの回数n、コンデンサCaの静電容量またはコンデンサCaおよびCbの静電容量、コンデンサCsの静電容量、抵抗R、および電源Vccの充電電圧Vccに基づいて、コンデンサCxの静電容量を計算し、コンデンサCxの計測結果として制御部31に出力する。
また、比較部33bは、充電電圧Vxが参照電圧Vrefを下回った場合、そのときのカウンタ33aの回数nを判定部33cに供給する。
判定部33cは、端子P2より供給されてくるコンデンサCxの最初の充電電圧Vxに基づいて、コンデンサCxの寄生容量が大きいかどうかを判定し、その判定結果をスイッチ動作部32に供給する。また、判定部33cは、比較部33bから供給される回数nに基づいて、タッチセンナ10の周囲の温度が高温であるかどうかを判定し、その判定結果をスイッチ動作部32に供給する。
次に、図5のフローチャートを参照して、図2のタッチセンサ10による人体検知処理について説明する。この人体検知処理は、例えば、タッチセンサ10の電源がオンにされたとき開始される。
ステップS1において、タッチセンサ10は、動作状態を初期化する。ステップS2において、タッチセンサ10は、コンデンサCbの充電を制御する充電制御処理を行う。この充電制御処理の詳細については、後述する図6を参照して説明する。
ステップS3において、タッチセンサ10は、コンデンサCxの静電容量を計測する計測処理を行う。この計測処理の詳細については、後述する図10を参照して説明する。
ステップS4において、制御部31は、計測部33より供給されたコンデンサCxの静電容量に基づいて、人体が電極Dに接触しているか否かを判定する。より詳細には、人体の静電容量は、11pF近傍の値であるので、制御部31は、計測部33より供給されたコンデンサCxの静電容量が11pF近傍の値であるか否かを判定することにより、人体が電極Dに接触しているか否かを判定する。
ステップS4において、人体が接触していると判定された場合、ステップS5において、出力部34は、人体が接触していることを提示し、その処理は、ステップS2に戻る。そして、以降の処理が繰り返される。
一方、ステップS4において、人体が接触していないと判定された場合、ステップS6において、出力部34は、人体が接触していないことを提示し、その処理は、ステップS2に戻る。そして、以降の処理が繰り返される。
次に、図6のフローチャートを参照して、図5のステップS2の充電制御処理について説明する。
ステップS21において、計測部33は、カウンタ33aのカウンタnを0に初期化する。ステップS22において、スイッチ動作部32は、端子P0の出力をHiにし、電源VccでコンデンサCaを充電する。すなわち、端子P0の出力がHiに制御されることにより、図3で示されるスイッチSW1がONの状態となり、電源VccよりコンデンサCaに電力が供給され、コンデンサCaが充電電圧Va=Vccで充電される。
ステップS23において、スイッチ動作部32は、タイマ32aに基づいて、所定の時間だけ、端子P0乃至P2をHiZ状態にし、コンデンサCa,Cs,Cxの充電状態を保持する。すなわち、端子P0乃至P2がHiZ状態に制御されることにより、図3で示されるスイッチSW1乃至SW3がOFFの状態となり、コンデンサCa,Cs,Cxが充電された状態で保持される。
このとき、コンデンサCaと、コンデンサCs,Cxの合成コンデンサとは、並列回路が形成されることになるため、コンデンサCaの充電電圧Vaは、コンデンサCs,Cxの充電電圧Vs,Vxの和に等しい状態となる。さらに、コンデンサCs,Cxの充電電圧VsとVxは、コンデンサCs,Cxの容量の逆数比の関係となる。
ステップS24において、計測部33のカウンタ33aは、カウンタnを1だけインクリメントする。
ステップS25において、スイッチ動作部32は、タイマ32aに基づいて、所定の時間だけ、端子P0をHiZ状態にすると共に、端子P1,P2の出力をLowにし、コンデンサCa,Cs,Cxに充電された電荷を放電する。このとき、コンデンサCs,Cxに充電された電荷は、瞬時に接地部を介して放電されることになるが、コンデンサCaに充電された電荷は、抵抗Rを介してスイッチSW2より接地部に放電されることになるため、電荷の放電がゆっくりと進むことになり、所定の時間内では、コンデンサCaに充電されていた電荷の一部のみが放電される。
ステップS26において、スイッチ動作部32は、タイマ32aに基づいて、所定の時間だけ、端子P0乃至P2をHiZ状態にし、コンデンサCa,Cs,Cxの充電状態を保持する。すなわち、端子P0乃至P2がHiZ状態に制御されることにより、図3で示されるスイッチSW1乃至SW3がOFFの状態となり、コンデンサCaに充電されている電荷(ステップS25の処理により一部が放電された状態で残されている電荷)がコンデンサCs,Cxに移動し、コンデンサCa,Cs,Cxが充電された状態で保持される。
ステップS27において、スイッチ動作部32は、タイマ32aに基づいて、所定の時間だけ、端子P2の出力をHiにし、比較部33bに所定の時間だけ端子P2からコンデンサCxの充電電圧Vxを供給させる。
ステップS28において、計測部33の比較部33bは、端子P2から供給されるコンデンサCxの充電電圧Vxを測定する。
ステップS29において、カウンタ33aは、カウンタnが1であるか否か、すなわち、ステップS28で測定された充電電圧Vxが最初の充電電圧Vxであるか否かを判定する。ステップS29でカウンタnが1であると判定された場合、すなわち、測定された充電電圧Vxが最初の充電電圧Vxである場合、比較部33bは、その充電電圧Vxを判定部33cに供給する。
そして、ステップS30において、判定部33cは、充電電圧Vxに基づいて、コンデンサCxの寄生容量が大きいかどうかを判定する。
具体的には、コンデンサCxの寄生容量が大きい場合、充電電圧Vxは小さくなり、コンデンサCxの寄生容量が小さい場合、充電電圧Vxは大きくなる。従って、判定部33cは、充電電圧Vxが所定の閾値より小さい場合、ステップS29でコンデンサCxの寄生容量が大きいと判定し、充電電圧Vxが所定の閾値以上である場合、ステップS29でコンデンサCxの寄生容量が小さいと判定する。そして、判定部33cは判定結果をスイッチ動作部32に供給し、処理はステップS31に進む。
また、ステップS29において、カウンタnが1ではないと判定された場合、すなわち、測定された充電電圧Vxが最初の充電電圧Vxではない場合、ステップS30の処理はスキップされ、処理はステップS31に進む。
ステップS31において、計測部33の比較部33bは、計測されたコンデンサCxの充電電圧Vxが、参照電圧Vrefを下回ったか否かを判定する。ステップS31で充電電圧Vxが参照電圧Vrefを下回っていないと判定された場合、その処理は、ステップS24に戻る。すなわち、ステップS31において、充電電圧Vxが参照電圧Vrefを下回ったと判定されるまで、ステップS24乃至S31の処理が繰り返され、カウンタnの値が、その繰り返し処理回数に応じてインクリメントされる。
ステップS31において、充電電圧Vxが参照電圧Vrefを下回ったと判定された場合、ステップS32において、判定部33cは、そのときのカウンタnに基づいて、タッチセンサ10の周囲の温度が高温であるかどうかを判定し、判定結果をスイッチ動作部32に供給する。この判定方法の詳細については後述する。
ステップS33において、スイッチ動作部32は、判定部33cから供給されるステップS30およびステップS32の判定結果に基づいて、寄生容量が大きいか、または、タッチセンサ10の周囲の温度が高いか否かを判定する。ステップS33で寄生容量が大きいか、または、タッチセンサ10の周囲の温度が高いと判定された場合、ステップS34において、スイッチ動作部32は、端子P3の出力をLowにし、コンデンサCbの充電を許可する。そして、充電制御処理は終了し、処理は図5のステップS3に進む。
一方、ステップS33で寄生容量が大きくなく、タッチセンサ10の周囲の温度が高くないと判定された場合、ステップS35において、スイッチ動作部32は、端子P3をHiZ状態にする。これにより、コンデンサCbの充電は許可されない。そして、充電制御処理は終了し、処理は図5のステップS3に進む。
すなわち、上述の処理をまとめると、まず、ステップS22の処理により、例えば、時刻t0から時刻t1までの間、図7の第1ステップの処理が実行される。つまり、図3のスイッチSW1がONの状態にされる。これにより、図8で示されるように、時刻t0から時刻t1までの間、コンデンサCaが充電電圧Va=Vccで充電される。尚、図8では、このとき、スイッチSW2,SW3がOFFとなっており、コンデンサCx,Csは抵抗Rを介して充電されるが、スイッチSW2,SW3は、ONにされてもよい。
スイッチSW2,SW3がOFFとなっている場合、コンデンサCs,Cxは、直列に接続されるので、Va=Vs+Vxが成り立つことになる。また、充電電圧Vs,Vxの比率は、Vs:Vx=1/Cs:1/Cxとなる。
尚、図8において、上部のグラフは、太い実線が、コンデンサCaの充電電圧Vaを示し、点線がコンデンサCxの充電電圧Vxを示す。但し、このグラフにおいて、V_hiは、図7の第1ステップの処理により、抵抗Rを介して充電されたコンデンサCxの充電電圧を示している。
また、グラフの下には、端子P2の動作タイミングを表すタイミングチャートが示されており、計測は、端子P2を介して計測部33によりコンデンサCxの充電電圧Vxが計測される状態を示し、HiZは、高インピーダンス状態、すなわち、端子P2が出力を行っていない状態を示し、OUT_Lは、Lowに設定された状態を示している。
端子P2のタイミングチャートの下には、端子P1の動作タイミングを表すタイミングチャートが示されており、HiZは、高インピーダンス状態、すなわち、端子P1が出力を行っていない状態を示し、OUT_Lは、Lowに設定された状態を示している。端子P1のタイミングチャートの下には、端子P0の動作タイミングを表すタイミングチャートが示されており、HiZは、高インピーダンス状態、すなわち、端子P0が出力を行っていない状態を示し、OUT_Lは、Lowに設定された状態を示している。
また、端子P1のタイミングチャートの下には、スイッチSW1乃至SW3の動作タイミングを表すタイミングチャートがそれぞれ示されている。尚、スイッチSW1の動作は、端子P0に連動して、端子P0がHiに設定されたときのみ、ONの状態にされ、それ以外のときオフの状態である。また、スイッチSW2,SW3の動作は、端子P1,P2に連動して、端子P1,P2がLowに設定されたときのみ、ONの状態にされ、それ以外のときOFFの状態である。また、図8上で示される各種の処理タイミングは、マイクロコンピュータ11で実装されるプログラムにより、例えば、図8上で同一のタイミングであっても、処理の手順により多少前後することがあるが、動作全体からみて十分無視できるレベルである。
次に、例えば、時刻t1から時刻t2までの間、ステップS23の処理により、図7の第2ステップの処理が実行される。すなわち、図3のスイッチSW1乃至SW3がOFFの状態にされる。これにより、図8で示されるように、時刻t1から時刻t2までの間、コンデンサCaの充電電圧VaはVccのまま維持され、コンデンサCxの充電電圧VxはV_hiのまま維持される。尚、図8には図示されていないが、時刻t1から時刻t2までの間、コンデンサCsの充電電圧も維持される。
そして、例えば、時刻t2から時刻t3までの間、ステップS25の処理により、図7の第3ステップの処理が実行される。すなわち、図3のスイッチSW1がOFFにされ、スイッチSW2,SW3がONにされる。これにより、時刻t2から時刻t3までの間、コンデンサCx、Csに充電されていた電荷の全量が放電されると共に、コンデンサCaに充電されていた電荷が抵抗Rを介してゆっくりと一部のみが放電される。その結果、図8で示されるように、時刻t2から時刻t3までの間、コンデンサCxに充電されていた電荷の全量が放電されて、コンデンサCxの充電電圧は0となり、コンデンサCaの充電電圧は徐々に低下する。
次に、例えば、時刻t3から時刻t4までの間、ステップS26の処理により、図7の第4ステップの処理が実行される。すなわち、図3のスイッチSW1乃至SW3がOFFにされる。これにより、時刻t3から時刻t4までの間、時刻t2から時刻t3までの間に抵抗Rを介して電荷が放出された後のコンデンサCaに残っている電荷によりコンデンサCs,Cxが充電され、コンデンサCa,Cs,Cxが充電状態で維持される。その結果、図8で示されるように、時刻t3から時刻t4までの間、コンデンサCaの充電電圧Vaは、Vccよりも低い電圧で維持され、これに伴って、コンデンサCxの充電電圧Vxも、V_hiより低い電圧で維持される。ただし、コンデンサCs,Cxの充電電圧Vs,Vxの比率は一定のまま維持される。
そして、例えば、時刻t4において、ステップS27の処理により、図7の第5ステップの処理が実行される。すなわち、図3のスイッチSW1乃至SW3はOFFのままであるが、端子P2にコンデンサCxの充電電圧が供給される。従って、図8で示されるように、時刻t4では、コンデンサCaの充電電圧VaとコンデンサCxの充電電圧Vxは維持され、ステップS28の処理により、コンデンサCxの充電電圧Vxが計測される。尚、図8には図示されていないが、時刻t4において、コンデンサCsの充電電圧も維持される。
そして、ステップS29およびS30の処理により、1回目に計測された充電電圧Vxに基づいて判定部33cで判定が行われる。その後、計測された充電電圧Vxが、参照電圧Vrefを下回らない限り、ステップS24乃至S31の処理、すなわち、図7の第3ステップの処理乃至第5ステップの処理が繰り返される。
すなわち、図8で示されるように、ステップS24乃至S31の処理が、図8における時刻T1(=時刻t2)からT2(=時刻t5)までの間に実行された後、同様の処理が、時刻T2から時刻T3までの間、時刻T3から時刻T4までの間、時刻T4から時刻T5までの間、・・・に繰り返される。
その結果、図8に示されるように、第3ステップ乃至第5ステップの処理がなされる度に、コンデンサCaの充電電圧Vaが減少すると共に、コンデンサCxの充電電圧Vxも減少し、コンデンサCxの充電電圧Vxが参照電圧Vrefを下回る。
そこで、コンデンサCxの充電電圧Vxが参照電圧Vrefに減少するまでに繰り返される第3乃至第5ステップの処理の回数n(以下、繰り返し回数nという)に基づいて、タッチセンサ10の周囲の温度が高いかどうかを判定することができる。
すなわち、コンデンサCaの容量は、例えば、図9に示すような温度特性を有している。ここで、タッチセンサ10が、−30℃から80℃までの環境耐性を要するものとすると、基本的に、温度が高いほどコンデンサCaの容量は少なくなるものと考えられる。また、コンデンサCaの容量が小さいほど、1回の第3乃至第5ステップの処理による充電電圧Vaの減少度合いは大きくなる。従って、1回の第3乃至第5ステップの処理によるコンデンサCxの充電電圧Vxの減少度合いも大きくなるため、繰り返し回数(放電回数)nは、温度が低い場合に比べて小さくなる。
また、図示は省略するが、タッチセンサ10の周囲の温度が高い場合、マイクロコンピュータ11の温度特性により、参照電圧Vrefが高くなる。従って、この温度特性によっても、タッチセンサ10の周囲の温度が高い場合、繰り返し回数nは小さくなる。
以上により、繰り返し回数nが所定の閾値より小さい場合、タッチセンサ10の周囲の温度は高いと判定し、繰り返し回数nが所定の閾値以上である場合、タッチセンサ10の周囲の温度は高くないと判定することができる。
次に、図10のフローチャートを参照して、図5のステップS3の計測処理について説明する。
ステップS51において、計測部33のカウンタ33aは、カウンタN,mを0に初期化する。ステップS52において、カウンタ33aは、カウンタnを0に初期化する。ステップS53において、カウンタ33aは、カウンタmを1だけインクリメントする。
ステップS54において、スイッチ動作部32は、端子P0の出力をHiにし、電源VccでコンデンサCaを充電するか、または、コンデンサCaおよびCbを充電する。すなわち、端子P0の出力がHiに制御されると、図6のステップS34で端子P3がLowにされている場合、コンデンサCbの充電が許可されるので、コンデンサCaおよびCbが充電される。一方、ステップS35で端子P3がHiZ状態にされている場合、コンデンサCbの充電が許可されていないので、コンデンサCaだけが充電される。
ステップS55乃至S60の処理は、図6のステップS23乃至S28の処理と同様であり、ステップS55乃至S60の処理では、上述した図7の第1乃至第5のステップの処理が行われる。
そして、ステップS61において、計測部33の比較部33bは、図6のステップS31の処理と同様に、計測されたコンデンサCxの充電電圧Vxが、参照電圧Vrefを下回ったか否かを判定する。
ステップS61で充電電圧Vxが参照電圧Vrefを下回っていないと判定された場合、その処理は、ステップS56に戻る。すなわち、ステップS61において、充電電圧Vxが参照電圧Vrefを下回ったと判定されるまで、ステップS56乃至S61の処理が繰り返され、カウンタnの値が、その繰り返し処理回数に応じてインクリメントされる。
ステップS61において、充電電圧Vxが参照電圧Vrefを下回ったと判定された場合、ステップS62において、計測部33の比較部33bは、前回までの繰り返し回数nの総和Nに今求められた繰り返し回数nを加算し、新たな総和Nを計算する。
ステップS63において、計測部33はのカウンタ33aは、繰り返し回数nを求めた回数を示すカウンタmが、予め設定されたカウンタmの上限値M以上であるか否かを判定し、カウンタmが上限値M以上ではないと判定された場合、その処理は、ステップS52に戻る。すなわち、カウンタmが上限値M以上となるまで、ステップS52乃至S63の処理が繰り返されることになる。
ステップS63において、カウンタmが上限値M以上であると判定された場合、ステップS64において、計測部33の比較部33bは、繰り返し回数nの総和NをMで除算することにより、繰り返し回数nのM回分の平均値をcountとして求める。
このように、繰り返し回数nのM回分の平均値がcountとして求められるので、例えば、1回の測定で、リップルノイズなどが発生した場合においても正確に処理回数を求めることが可能となる。尚、リップルノイズの発生の有無を検出させ、リップルノイズが検出されなかった場合、Mを1とするようにして、平均値を求めるための繰り返し処理を少なくすることで、処理速度を向上させるようにしても良い。
ステップS65において、計測部33の比較部33bは、繰り返し回数nの平均値count、コンデンサCa,Cb,Csの容量、ステップS55,S57,S58の処理を実行した所定時間t、電源Vccの充電電圧Vcc、および、参照電圧Vrefに基づいて、コンデンサCxの静電容量を計算し、制御部31に出力し、計測処理を終了する。
以下に、コンデンサCxの静電容量の計算方法について説明する。
まず、上述したように、コンデンサCxの充電電圧VxとコンデンサCsの充電電圧Vsの和が、コンデンサCaの充電電圧Vaであるので、図8に示したように、図7の第3乃至第5ステップの処理が繰り返されることにより、コンデンサCaの充電電圧Vaが減少するとき、コンデンサCxの充電電圧Vxも、コンデンサCaの充電電圧Vaと一定の比率を維持したまま減少し続けることになる。
従って、例えば、図11で示されるように、コンデンサCxの最初の充電電圧Vxと、参照電圧Vrefとの差が大きいほど、繰り返し回数nは多くなり、逆に、コンデンサCxの最初の充電電圧Vxと、参照電圧Vrefとの差が小さいほど、繰り返し回数nは少なくなる。
具体的には、図11は、コンデンサCbの充電が許可されていない場合の、図8と同様のグラフおよびタイミングチャートを示している。但し、図11の左部は、タッチセンサ10に何もタッチされておらず、コンデンサCxの容量が小さい場合について示しており、図11の右部は、タッチセンサ10に人体などの誘電体がタッチされており、コンデンサCxの容量が大きい場合について示している。
図11の左部に示されるように、タッチセンサ10に何もタッチされておらず、コンデンサCxの容量が小さい場合のコンデンサCxの充電電圧Vxの最初の充電電圧Vx=V_hiは、図11の右部に示されるように、タッチセンサ10に誘電体がタッチされており、コンデンサCxの容量が大きい場合の最初の充電電圧Vx=V_lowに比べて大きく、参照電圧Vrefとの差は大きくなる。
従って、図11の左部においては、繰り返し回数nは7回(時刻T1乃至T8)であるのに対して、図11の右部においては、繰り返し回数nは5回(時刻T1乃至T6)であり、繰り返し回数は少なくなる。
結果として、例えば、コンデンサCsの静電容量が12pF、抵抗Rが10kΩ、コンデンサCaの静電容量が0.1μF、および、図11の時刻t1以降における時間t(=時刻t(i+1)−時刻ti)が2μSである場合には、コンデンサCxの静電容量に応じて、図12に示すように、繰り返し回数nの平均値countは変化する。
尚、図12においては、横軸が、平均値countを示し、縦軸が電圧を示している。また、図12においては、細線がコンデンサCaの充電電圧Vaを示し、太線がコンデンサCxの静電容量が10pFの場合の充電電圧Vxの変化を示し、点線がコンデンサCxの静電容量が11pFの場合の充電電圧Vxの変化を示している。
図12では、コンデンサCxの静電容量が11pFの場合、コンデンサCxの充電電圧Vxが参照電圧Vref(=Vcc/2)に減少するまでの繰り返し回数nの平均値countは100回となっている。これに対して、コンデンサCxの静電容量が10pFの場合、平均値countは、コンデンサCxの静電容量が11pFの場合に比べて多い200回となっている。
そこで、以上のような性質に基づいて、上述した図7の第3ステップの処理および第5ステップの処理の繰り返し回数nの平均値countからコンデンサCxの静電容量が求められる。
具体的には、図3におけるコンデンサCa、抵抗R、およびスイッチSW2の関係は、図13で示される閉回路として表すことができる。コンデンサCaは、充電電圧Va=Vccで充電されているものとする。
スイッチSW2がONの状態にされると、コンデンサCaの充電電圧Vaは、図14で示されるように、スイッチがONにされた状態が継続している時間tの経過と共に減衰していく。この関係は、以下の式(1)のように表すことができる。
Va=Vcc×e^(−(スイッチSW2のON時間)/(Ca×R))
・・・(1)
ここで、「^」は指数を表す。スイッチSW2のON時間は、上述した図7の第3ステップの処理の処理時間が時間Tで一定である場合、平均値count×時間Tであると考えることができる。従って、時刻t1以降において、(時刻t(i+1)−時刻ti)は、時間tであるとすると、上述の式(1)は、以下の式(2)で表されることになる。
Va=Vcc×e^(−(count×t)/(Ca×R))
・・・(2)
一方、図15で示されるように、図7の第5ステップの処理においては、スイッチSW1乃至SW3がOFFにされているのでコンデンサCaの充電電圧Vaは、コンデンサCs,Cxの充電電圧Vs,Vxの和になると共に、充電電圧Vs,Vxの比率は、Vs:Vx=1/Cs:1/Cxである(ここで、Cs,Cxは、コンデンサCs,Cxの静電容量である)。
従って、コンデンサCxの充電電圧Vxは、以下の式(3)で示される。
Vx=Vcc×((1/Cx)/((1/Cx)+(1/Cs))
×e^(−(count×t)/(Ca×R))
・・・(3)
結果として、コンデンサCxの充電電圧Vxが参照電圧Vrefと一致する場合、以下の式(4)が成立することになる。
Vref=Vcc×((1/Cx)/((1/Cx)+(1/Cs))
×e^(−(count×t)/(Ca×R))
・・・(4)
以上の関係からコンデンサCxの静電容量は以下の式(5)により求められることになる。
Cx=Cs×((Vcc/Vref×e^(−(count×t)/(Ca×R)))−1)
・・・(5)
式(5)より、例えば、コンデンサCsの静電容量が10pF、抵抗Rが10kΩ、コンデンサCaの静電容量が0.1μF、および、時間tが2μSであった場合、コンデンサCxと平均値countの関係は、図16で示されるような関係となる。図16においては、コンデンサCxの静電容量が8pF近傍である場合、1pF当たり平均値countにして約20回分の分解能で静電容量Cxが求められることになる。
ただし、計測処理においては、繰り返し処理により、コンデンサCxの充電電圧Vxを減少させて、参照電圧Vrefと一致した条件で、上述した式(5)によりコンデンサCxの静電容量が求められることになるので、最初の充電時に、コンデンサCxの充電電圧Vxが、参照電圧Vrefよりも大きいことが前提となる。従って、参照電圧Vrefは、以下の式(6)を満たす必要がある。
Vref/Vcc<(1/Cx)/((1/Cx)+(1/Cs))
・・・(6)
また、コンデンサCxと平均値countの関係は、図16に示されたような関係であるので、平均値countが小さい場合、コンデンサCxの静電容量の差に応じた平均値countの差が小さくなり、人体が接触したことを検知することができないことがある。
従って、コンデンサCxの寄生容量が大きく、コンデンサCxの最初の充電電圧Vxが小さい場合や、タッチセンサ10の周囲の温度が高く、コンデンサCaの容量が小さくなったり、マイクロコンピュータ11の参照電圧Vrefが上昇したりする場合に、人体が接触したことを確実に検知するためには、平均値countを大きくする必要がある。そして、平均値countを大きくするための方法としては、コンデンサCsおよびCxに電荷を充電するコンデンサの容量を大きくする方法がある。
しかしながら、コンデンサCsおよびCxに電荷を充電するコンデンサの容量が大きい場合、平均値countが多くなるので、計測処理の時間は長くなり、消費電流も大きくなる。従って、コンデンサCxの寄生容量が大きい場合やタッチセンサ10の周囲の温度が高い場合のように平均値countが人体の接触の検知が困難なほど少なくない場合、コンデンサCsおよびCxに電荷を充電するコンデンサの容量が小さい方が、高速に静電容量を検出することができ、消費電流を削減することができる。
そこで、タッチセンサ10では、電源Vccを充電するコンデンサとして、コンデンサCaのほかに、コンデンサCbを設け、コンデンサCbの充電を制御することにより、コンデンサCsおよびCxに電荷を充電するコンデンサの容量を、コンデンサCaの容量、または、コンデンサCaとCbの容量の和のいずれかから選択可能にしている。これにより、コンデンサCsおよびCxに電荷を充電するコンデンサの容量を、最適化することができる。その結果、静電容量の計測の応答速度を無駄に低下させることなく、コンデンサCxの寄生容量が大きい、タッチセンサ10の周囲の温度が高いといった環境に対する耐性を向上させることができる。
図2のタッチセンサ10では、図3に示したように、スイッチSW1とSW2が抵抗Rを挟むように配置されたが、スイッチSW1が抵抗RとスイッチSW2が接続される位置に接続されるようにしてもよい。即ち、端子P1が、端子P0と端子P1の両方の機能を有するようにしてもよい。
<2.第2の実施の形態>
図17は、本発明を適用したタッチセンサの第2の実施の形態の構成例を示す図である。
図17に示す構成のうち、図2の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図17のタッチセンサ50の構成は、主に、マイクロコンピュータに端子P4が設けられ、コンデンサCaの代わりに、端子P4と端子P0間に接続されるコンデンサCcが設けられている点が図2の構成と異なる。
詳細には、図17のマイクロコンピュータ51は、図2のマイクロコンピュータ11と同様に、CPU、RAM、および、ROMなどからなり、CPUが、ROMに記憶された所定のプログラムを必要に応じてRAMに展開して、実行することにより各種の処理を実行する。
より具体的には、マイクロコンピュータ51は、マイクロコンピュータ11と同様に、プログラムを実行することにより、端子P0乃至P2に対して出力信号としてHi、Lowの信号を出力したり、HiZを設定したりする。また、マイクロコンピュータ51は、プログラムを実行することにより、マイクロコンピュータ11と同様に、必要に応じて端子P2の入力信号の電圧を測定し、測定結果に応じた処理を実行する。さらに、マイクロコンピュータ51は、プログラムを実行することにより、端子P3およびP4に対して出力信号としてLowの信号を出力したり、HiZを設定したりする。
端子P3は、コンデンサCbの充電を制御する端子である。端子P3がLowに制御されるとき、コンデンサCbは、端子P0より印加される電圧での充電が許可される。一方、端子P3がHiZ(高インピーダンス状態)に制御されるとき、コンデンサCbの充電は許可されない。
端子P4は、コンデンサCcの充電を制御する端子である。端子P4がLowに制御されるとき、コンデンサCcは、端子P0より印加される電圧での充電が許可される。一方、端子P4がHiZに制御されるとき、コンデンサCcの充電は許可されない。
コンデンサCbの一方の端部は、抵抗Rを介して直列に接続されたコンデンサCs,Cxに接続され、他方の端部は端子P3に接続されている。コンデンサCbは、端子P3の状態に応じて、端子P0より印加される電圧で電荷を充電する。また、コンデンサCbは、端子P1により抵抗Rを介して電荷を放電する。
コンデンサCcの一方の端部は、抵抗Rを介して直列に接続されたコンデンサCs,Cxに接続され、他方の端部は端子P4に接続されている。コンデンサCcは、端子P4の状態に応じて、端子P0より印加される電圧で電荷を充電する。また、コンデンサCcは、端子P1により抵抗Rを介して電荷を放電する。
以上のように、タッチセンサ50は、端子P3およびP4を制御することにより、コンデンサCb,Cc単独、または並列に接続されたコンデンサCbとCcに電荷を充電させることができる。その結果、タッチセンサ50は、コンデンサCsおよびCxに電荷を充電するコンデンサの容量として、コンデンサCbの容量、コンデンサCcの容量、または、コンデンサCbとCcの容量の和のいずれかを選択することができる。このように、タッチセンサ50では、図2のタッチセンサ10に比べて、コンデンサCsおよびCxに電荷を充電するコンデンサの容量の選択肢が増えるため、その容量をより最適化することができる。
<2.第3の実施の形態>
図18は、本発明を適用したタッチセンサの第3の実施の形態の構成例を示す図である。
図18に示す構成のうち、図2や図17の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図18のタッチセンサ70は、図2のタッチセンサ10のマイクロコンピュータ11を図17の端子P4を有するマイクロコンピュータ51に代えて、図17のコンデンサCcを追加したものである。
従って、タッチセンサ70は、端子P3およびP4を制御することにより、コンデンサCa,Cb,Cc単独、もしくは、並列に接続されたコンデンサCaとCb、コンデンサCaとCc、またはコンデンサCa,Cb、およびCcに電荷を充電させることができる。その結果、タッチセンサ70は、コンデンサCsおよびCxに電荷を充電するコンデンサの容量として、コンデンサCaの容量、コンデンサCbの容量、コンデンサCcの容量、コンデンサCaとCbの容量の和、コンデンサCaとCcの容量の和、コンデンサCa,Cb、およびCcの容量の和のいずれかを選択することができる。
このように、タッチセンサ70では、タッチセンサ10や50に比べて、コンデンサCsおよびCxに電荷を充電するコンデンサの容量の選択肢が増えるため、その容量をより最適化することができる。
尚、以上においては、未知のコンデンサCxの静電容量を求めることにより、人体の接触非接触を計測する例について説明してきたが、静電容量の変化に基づいて、計測できるものであれば、その他の計測装置に応用しても良く、例えば、圧力に応じて電極間距離が変化することにより、静電容量が変化するような構成を設けるようにすることで、静電容量の計測により圧力を計測する圧力センサを構成するようにしても良い。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
図19は、図2のマイクロコンピュータ11、図17や図18のマイクロコンピュータ51の電気的な内部構成をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU101は、パーソナルコンピュータの全体の動作を制御する。
また、CPU101は、バス104および入出力インタフェース105を介してユーザからキーボードやマウスなどからなる入力部106から指令が入力されると、それに対応してROM(Read Only Memory)102に格納されているプログラムを実行する。あるいはまた、CPU101は、ドライブ110に接続された磁気ディスク121、光ディスク122、光磁気ディスク123、または半導体メモリ124から読み出され、記憶部108にインストールされたプログラムを、RAM(Random Access Memory) 103にロードして実行する。これにより、上述した図2のマイクロコンピュータ11、図17や図18のマイクロコンピュータ51の機能が、ソフトウェアにより実現される。その結果、必要に応じて、処理結果が出力部107に出力される。さらに、CPU101は、通信部109を制御して、外部と通信し、データの授受を実行する。
プログラムが記録されている記録媒体は、図19に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク121(フレキシブルディスクを含む)、光ディスク122(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク123(MD(Mini-Disc)を含む)、もしくは半導体メモリ124などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM102や、記憶部108に含まれるハードディスクなどで構成される。
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。