MCU-89 Tuch SW [ 2ch ]


 以前電気を逃がす方法で[タッチスイッチ]を試しましたが、低周波を発振させる「ICメーカーが紹介している方法」を試してみました。
 やはり思った以上に面倒です、以前かなり手こずったのでStop状態でしたが動くと結構面白いです、タイマー0とタイマー1を使っているので、タイマーを使う用途には向きません。
 常時SWのチエックをしているので、他の作業が出来ません。発振をさせっぱなしで…もっとうまい方法があるのかもしれませんが工夫しないと「タッチスイッチ専用の動作」になります。
 まあそれでも良いですけど。

回路図

[ 動 作 ]

 発振回路を自己発振させます。この発振周波数を内臓カウンターで調べるのですが幾つか方法があります、作ったのはサンプルの様にタイマー1でカウント(調べる)します。基準時間(ゲート)はタイマー0を使っています。

1] 発振の強さは内臓発振器の電流で調整出来ます。
2] 基準時間(ゲート)はタイマー0を使います、これも通常の割り込みと同じように設定しました。約4mSecです。
3] その時間を測定するのはタイマー1で16bitでカウントします。これを16回測定して平均化します。
4] 予めSWを入れた時に「触らない状態をカウントし、標準カウント値として記憶」しておきます。
5] 測った値と標準値を比べ1割以上減っていれば「タッチした」と判定します。ここでは結果をLEDを光らせて表示させました。(90%から97%にすれば少し感度は上がる)

[ 問題点 ]

 とりあえず1チャンネルでは問題なく動きました。
 次に2チャンネル化をすると片方を触ると両方反応して混乱状態になりました。これは端子が接近しているために、A端子のつもりがB端子が近いので周波数が変わるのか反応してしまいました(1チャンネルでは問題なかっのに…)。
 そこで、感度調整や周波数を変更したりしましたがうまく行きません、悶々とする。

 結局使っていないチャンネルはアナログ入力を止めて出力として0を出力させました、つまり接地状態にして見ました。するとこれでうまく作動するようになりました。
 Soft負担が増えますが動かない事には話になりませんから。
 まだまだ色々と合わせ込む必要があります、結構これってアナログ動作なので微妙な調整が必要です。
 実験して思ったことは、しっかり「タッチ部分を作ってから」の方が良さそうです。一応動いていますがこれからも微調整は必要!

 それとたぶん「入力端子は保護回路が入っているのだろう」と想定し、保護回路を入れていません。まあ自分で使うのですから良いでしよう!といいながら少し気になる。
プログラム]はこれです。


[ 応 用 ]

 作ったのはPIC12F1822の8ピンです。ピン数を増やせませんがやはりSW専用として使う程度でしょうか。まあ安いのでそんな使い方も可能かもしれません。簡単な使い方では2チャンネルでしょう。
 という事でそこそこ使えそうなので発表しておきます。
 製作時間は前に少しやっていたのでそれほど掛かっていませんが、メカSWの方が簡単の様です。ただ何万回も動かすような場合メカ的劣化が無いので、電子スイッチの方が有利で安定した動きになると思います。

 金属部分をお菓子の袋ぐらいな厚みのプラスチック上から触っても、タッチSWの反応をするので濡れた手でも仕え、便利かも…。

 もしかして温度が変わると標準値が変わるかも知れないので、その辺も対応させる必要があります。5-10分ごとに標準値を変更するとか(今回はやっていませんけど)。

作成 [2012/11/6] 


     [MAIN MENU へ戻る]

inserted by FC2 system