2016-10-03 17:54 | カテゴリ:PIC応用回路

PIC16F1938を無事書き込みできるようになったので、このPICに装備されている静電容量検知モジュールの動作を確認してみました。

原理は、一言でいうと、指で触ったり、指を近づけたりしたことによる変化するピンの静電容量を、一定電流で充放電する事にかかる時間変化から、一定時間内にその回数をカウントし、カウント値をチェックして、触れたか否かをソフト側で判断するものです。
検知入力ピンが接続されたパッドに指を置くと、容量性負荷が増加し容量検知モジュールで充放電周波数シフトが生じることを応用したものです。

ブレッドボード


続きは、、、



PICのマニュアルや、先人の方々のWEBを見ますと、回路的には、単にピンに金属パッドを付けただけの簡単なHWで行けそうですが、処理ソフト、つまり、タッチされたかされていないかを判定する所が難しいようです。
というわけで、簡単な回路をブレッドボード上に組んで、上記のカウント値をLCDに表示させて、数値の変化を確認してみることにしました。

このタッチセンサーのテストをするには、計測した数値を確認するためにLCD表示器が無いと難しいと思います。
LCD表示部

また、私は、PICにプログラムを書き込んで再々テストするに際して、こんなソケット付きのアダプターを使用しています。
搭載されているのは、PIC16F1938です。

PIC16F1938.jpg

さて、とりあえず、CPSの初期設定をして、ソフトで500msecのDelayの条件でカウント値がどの様になるかをテストしました。
CPSの発振をTMR1に内部接続してカウントさせ、それをLCDに表示してみました。
2CH分をカウントします。

500msec

27000から29000程の値になっています。
これは、先ほどのブレッドボードにジャンパー線を付けただけのものです。
この値は、安定したものではなく、一定の範囲でどんどん変化しています。

次に、4CHを表示できるように改良してみました。
また、計測時間は、500msecから、TMR0のオーバーフロー割込みでゲートをかけるやり方で、13msecほどにしました。

4CH

配線異なる2

この二つの写真は、何もタッチしていない場合の変化です。
概ね1%くらいは変化しています。

タッチ部

CH1に触ってみました。
ビニル被覆の上からで、導線には触っていません。

4CH

4CHタッチ

CH0 にタッチすると、
766->736に変化しました。
約4-5%の変化です。
他のCHでも、タッチしていなくても、プラスマイナス1-2の変化はあります。

被覆リード線の上からのタッチですので、例えば銅板を1cm四方位に切って、それに配線し、タッチした場合は、また異なる数値を示すと思います。
そうでないと、タッチとアンタッチの差が5%程度であるとすれば、判定がちょっと難しいと思われます。
とれと、タッチした際に取得した計測一回目の数値は、タッチし続けていると2回目計測以降徐々に下がっていきます。
TMR0で繰り返し13msec毎に連続計測すると4CH分で付属の処理も含めると、一回のスキャンで1/10秒程度です。
動作の確実性を高めると複数回のスキャンも必要ですので、タッチの瞬間から実際の動作まで、かなりタイムラグが生じそうです。

この辺りも、センサー部を金属+薄いプラスティックカバーの例で、どの程度まで実用になるかもちょっと検討してみたいです。

なお、プログラムはもう少し後に説明を加えてご紹介したいとおもいます。

【ジャンル】:趣味・実用 【テーマ】:電子工作
コメント(2)

管理者のみに表示する