MCU 80:Touch SW


[ Touch SWの実験 ]

 PICの最近IC・PIC12F1822など1000番台のICが出回り高性能になりました。その中の一つ静電容量を使った「タッチ スイッチ(the capacitive sensing module)」があります。これを動作させるにはかなりSOFTを作らないと作動しません。また量もあるのでメモリーも食います。
もっと簡単に「タッチSW」が出来ないか、調べると幾つかWeb上にあるのですが、売り物で肝心のSoftは出ていません。そこで何とか出来ない物かと思っていた時アイデアが浮かびました。

 メーカーで公開しているSoft(考え方)を見ると指で触ると、人体との容量が変化しこれを発振器に接続してその変化を周波数カウンターで調べ「標準より変化していればSWが押された」と判定するもの。
 これらを作動させるにはSoftにかなり精通していないと出来ない代物です。アマチュアが簡単に実行して利用するには面倒で出来ません(不可能ではありませんが)。

交流でなく直流でも動く…

 もしかして、容量が減るというのは「電気が逃げること」ですから「直接触れれば電機は逃げる(流れる)のでは!」と思いました。

★ICメーカーの物は交流(低周波)動作です、静電容量を使って接触させると発振周波数が減り、その変化を測定して接触したと判定しています。結構ややっこしいことをしています。

★これに対し、初めコンデンサーに電圧を加え充電すると電圧は上昇します。次に、指で触れることで人体を通して幾分放電し電圧は低下します。この電圧を少し時間を経過した点で測定すれば判定出来そうです。

A.なにもなければ電圧低下はありません、ので電圧は充電された電圧に近いはずです。
B.指に接触している場合は電流が流れコンデンサーの電圧が低下して行くはずです。

 コンデンサーの端子電圧を検出し「電圧の有無からSWの判定が出来る」という仕組みです。
携帯ムービーで[実験中(190KB)]を映しました(部品の脇を触っています:タッチするとLEDが点灯する)。

全体に簡単構造!たいていのMCUで…!

 原理は簡単なので古いICでも使えそうです。10年程度前に使った AVRのAT90S2313やPICのPIC16F84 など、ポートが余っていればTouch SW用として利用可能かもしれません。
 今回は前に使った状態がそのままにしてあったので[PIC18F1320]これを使った。

Soft処理@ 基本手順表

No項 目
@
端子を出力にする。
A
端子に[1]を出力する。これでコンデンサーに充電が始まる。
B
適当な時間続ける。端子は電源電圧になる。
C
端子を入力にする。
D
適当な時間をとる。
E
端子を測定する。
端子がオープン状態であれば、電源電圧に近く[1]になる。
端子に指がタッチされていれば、端子の電圧は低下しているので[0]になる。
(本当はコンパレーターを使う所だが、入力端子が持っているスレッショルドを利用して判定する。実験の結果作動した。)
F
判定結果の処理(ここではLEDを付け@に戻している)。

 上記で動けばたいていのICで作動することになる。
 ただし、メーカーで発表しているものは「低周波発振方式で接近するだけで動作する感度を保てる」が、これは直流動作をさせているので必ず「SWをタッチ」させる必要がある。間に薄いプラスチックなどは入れられない。

 実験量が少ないので、完全に動作させるには皆さんの追実験をお願いします。
[やって見て動いたら掲示板にレポートをよろしく。]

メリットに付いて

A.たいていのIC(MCU)で動作する。
B.Softが簡単でそれほど量がない。
C.感度が低いので、端子は延長出来る。
 (実験ではワニ口クリップに60cmのビニールが付いている、の先端を触るとLEDを点灯/消灯が出来た。悪乗りして、1mの線で試すと作動した、少し不安定になったので100PFを1000PFに変更し感度を下げた。)

mcu_803.gif(2618 byte)

ハード部品に付いて

 充電時間はR・Cによって決まる。インピーダンスを高くする為[C}を小さくする、ここでは100PFにした。これ以下で少し感度は上がる。Rの方はあまり影響はないが4.7KΩにした。
 Dは1S1588など汎用のダイオードで良く、外部からの電圧保護用でICを破壊から守るのに必要です。

 充電時間のタイミングは10mSecを仮に使いました。動けばもっと短くても良いと思います。
 測定用のタイミングも10mSecを使いました。これから色々実験をしたいと思いますが、これでも作動しています。
 当地は50Hz地帯です(1サイクル=20mSec)から、電源ノイズが影響するので後10mSecのチエックを入れています(この辺はSoftをのぞいて下さい)。これを入れないと信号が点滅する(分かり難いかな!:ループで使う場合ですよー)。

 

 タッチ板(センサー部)ですが、絶縁する必要があります。結露する所などは、電気が漏れるので異常動作するかもしれません注意します。

Softに付いてA

 実験では1bit分(約30mSec Max)ですが8bit並べれば一気に8端子の測定が可能です。
 PICのリセット端子は内部構造が他と異なるのでタイミングが変わります、混乱して面倒ですから使わないようにします。
 それと、1-2個でしたらメカSWの方が簡単です、「1日何十回も使う場合、動く所がないので長持ちする」かなー…程度でしようか。

 

今回使ったSoftはここです(簡単過ぎてごめんなさい!)。ループにしたのでLEDが触った時だけ点灯して見える(上のムービー:ピンクのラインの所)。
[ RA1=SW RB1=LEDの配線 ]

 スピード処理をしてないので、クロック30KHzぐらいで使うとすごく省エネ! かも。


2011/10/24


 [MENU] [MAIN MENU]

inserted by FC2 system