応用編の最後として、タッチセンサ機能を実装します。
タッチセンサ機能を実装しよう!
最近はスマホが必需品になっていて、スマホの画面を当たり前のようにタッチ操作している方も多いと思います。スマホを操作するとき、どういう仕組みで指が画面にタッチしたことを検知しているのか気になったことはありませんか?
このシリーズで使っているPIC12F1822にもタッチを検知するためのタッチセンサ機能が内蔵されています。応用編の最後として、PICマイコンのタッチセンサ機能を利用したタッチスイッチを実装することにより、世の中で広く使われているタッチセンサの原理を確認してみましょう。
タッチセンサ機能の原理を理解する前に
タッチセンサを実現するための原理は何種類かありますが、多く使われているのが「静電容量方式」というものです。PIC12F1822でもこの方式が使われていて、この機能のことをPICマイコンでは「mTouch」と呼んでいます。データシートでもこの単語が使われています。
(Microchip社 PIC12F1822データシートより引用・加工)
これから、この静電容量方式のタッチセンサの原理を説明しますが、そもそも「静電容量方式」って何?、って感じですよね。ということで、「静電容量方式」を理解するための前提の知識から順を追って説明していきます。
* * * * *
このシリーズで製作しているタイマーでは「コンデンサ」という部品を実装しましたよね。PICマイコンの電源ピンのすぐ近くに接続しました。
「静電容量方式」のタッチセンサの原理を理解するには、この「コンデンサ」という部品の性質を理解するところから始まります。
「PICマイコン電子工作入門」の基礎編では、PICマイコンのすぐそばにこの「コンデンサ」を接続する理由を説明しました。とはいっても忘れてしまっていますよね。簡単に説明すると、このコンデンサという部品は電気をちょっとだけ貯めることができて、PICマイコンが急に電気を必要とした時、すぐに電気を供給できるようにPICマイコンのすぐそばに接続しました。(忘れてしまった場合はもう一度ここの記事を読んでみてください)
このコンデンサという部品のポイントは「電気を貯めることができる」という点です。これからこの「コンデンサ」という部品は、どのような仕組みで電気を貯めることができるのか、ということを説明します。
電気の性質
小学校や中学校の理科の時間で「電気のプラスとマイナスは引き合って、プラス同士、あるいはマイナス同士は反発する」って習ったことを覚えているでしょうか。
プラスチックの下敷きで髪の毛をこすると、下敷きに髪の毛が吸い寄せられる、という実験をしたことがあるかもしれません。これは、下敷きと髪の毛をこすると、下敷きがマイナス、髪の毛がプラスの電気を帯びて、プラスとマイナスが引き合うためです。
コンデンサはこの「電気のプラスとマイナスが引き合う」という性質を利用して、電気を貯めています。
コンデンサは基本的に以下のように金属板または金属の薄膜を向かい合わせにしただけの部品です。ポイントは金属同士がくっつかないようにちょっとだけ隙間を開けている点です(金属同士がくっついてしまうと単に電気を通すだけの部品になってしまいます)。
例えば、家にあるアルミホイルも金属ですので、アルミホイルを使ってコンデンサを作ることもできます(実際にアルミホイルで作ったコンデンサでラジオを製作する記事もネットで多く紹介されています)。
次に、このように向かい合わせにした金属それぞれに、電池を接続してみます。すると、電気の基本的な性質(プラスとマイナスは引き合う性質)により、それぞれの金属にプラスとマイナスの電気が貯まります。
なお電子工学の世界では、これらの電気の粒のことを「電荷」と呼んでいますで、これからは「プラスの電荷」「マイナスの電荷」などと呼ぶことにします。
コンデンサの性質
次にコンデンサの性質についてもう少し詳しくみてみます。
先ほどのコンデンサを、2通りの方法で形状を変化させるとどうなるか考えてみます。一つは、金属の面積を変えるとどうなるか、もう一つは、金属間の距離を変えるとどうなるかです。
最初に、金属の面積を大きくするとどうなるでしょうか。金属の面積を大きくすると、電荷を貯める領域が増えますので、コンデンサが貯めることができる電荷の量は増えることになります。
次に、金属間の距離を近づけるとどうなるでしょうか。電荷の性質として、プラス電荷とマイナス電荷は、距離が近いほど引き合う力が強くなります(磁石ってN極とS極を近づけていくと引き合う力がだんだん強くなりますよね。イメージとしてはそんな感じです)。そのため、金属同士を近づけると、コンデンサが貯めることの電荷の量は増えることになります。
このように、コンデンサは金属の面積や距離で貯めることができる電荷の量が変わります。
以上が基本的なコンデンサの性質です。
このコンデンサが電荷を貯めることのできる量を「静電容量」と呼んでいます。「容量」という言葉は今までの説明でなんとなく納得できると思いますが、「静電」ってわかりづらいですよね。
上の図で、電気を貯めた状態の時、電荷は静止しています。このように電気が貯まった状態(「帯電している」とも呼ばれています)状態の時の容量を意味するイメージで「静電容量」と呼ばれています。
なお、より多くの電荷を貯めることができるコンデンサのことを「静電容量が大きいコンデンサ」など、静電容量は「大きい」「小さい」と表現します。
ご参考ですが、コンデンサの静電容量は数値で表現され、単位は「F」(ファラッド)です。入門編でPICマイコンのすぐそばに接続したコンデンサは「0.1μF」(マイクロファラッド)です。当然ですが、この数値が大きいほど、より多くの電荷を貯めることができます。また、静電容量の大きいコンデンサほど、物理的な大きさも大きくなります。電子部品の通販サイトなどで確かめてみてください。
タッチセンサの仕組み
コンデンサという部品の性質と用語を理解したところで、タッチセンサの仕組みの説明に進みます。
ここからちょっと不思議な話になります。
コンデンサは2枚の金属を向かい合わせにしたもの、と説明しました。ところで、以下のように片方の金属板(または金属薄膜)だけにした場合、この1枚の金属は電荷を貯めることができるでしょうか。つまり、金属板1枚のみの場合、その金属は静電容量があるかどうか、という問題です。
直感的には、もう片方の金属がないわけだから、電荷は貯められない(=静電容量はゼロ)ですよね。
ちょっと不思議に思われるかもしれませんが、実は静電容量はあります。今までの説明からすると、もう片方の金属がないと相方の電荷がないため、この金属板は電荷を貯めることはできません。ではもう片方はどこにあるのでしょうか。
この1枚の金属は単独で存在しているわけではなく、例えば家でこの1枚の金属板を用意して実験しようとすると、この金属の周りには、実験している人や、さらにその周りに家電や家具などがありますよね。それらがもう片方の電気を貯めるものになります。
とは言っても、コンデンサは金属同士が向かい合わせの構造になって静電容量を持つわけですから、周りに人がいてもそれは金属ではありません。周りに何かあったところで金属板を1枚だけ用意しても、その金属板には電荷は貯められないって思いますよね。
人の身体は、金属ほど電気が流れませんが、ほんのちょっとだけ電気が流れます。また家電や家具などもほんのちょっとだけ電気を貯めることができます。そのため金属板ほど電荷を貯めることはできませんが、それらはもう片方の金属の役割を果たすわけです。
ここまでの説明で、1枚の金属板があれば電荷を貯めることができる、つまり静電容量を持つ、ということがわかりました。
次に、金属板の近くに人がいて、その人が金属板に近づいたらどうなるか考えてみます。
この記事の最初の方で、2枚の金属板の距離を近づけると静電容量が増えることを説明しました。金属と人の関係も同じで、人が近づくと静電容量が増えます。さらにこの状態で指を金属板に近づけるともっと静電容量が増えます。
タッチセンサはこのように人(の指)が金属に近づくと、その金属の静電容量が増えることを利用して、人のタッチを検知しています。
それでは、PICマイコンやスマホ画面は具体的にどのように静電容量の変化を検知しているのか、次回実際にPICマイコンを使って説明します。
更新履歴
日付 | 内容 |
---|---|
2017.10.22 | 新規投稿 |
2018.12.2 | 誤記訂正 |
いつもブログを拝見しております。
よく理解できない部分もある自分ですが、質問があります。
仕事で使う道具なのですがAC100Vの通る電線があります。この電線にAC電圧がなくなったのを検出する必要があるのです。また、この時間も問題になります。タイムラグがあると困るのです。(決まった値なら引くだけですので可です)
電線は1.25程度のビニール線。ビニールコードのようにくっついてはいません。ワニグチなどで被覆の外から挟んでACの切れたのを検出したいのです。
簡単にはいかないでしょうか?
よろしくお願いいたします。
jh3gpnさま、
ご質問どうもありがとうございます。
AC100Vを電線に接続せずに被覆の外から検知するには、以下のような電流センサで検知する方法があります。(この記事で説明しているような静電容量の変化では検知できないです)
https://www.amazon.co.jp/SODIAL-016490-R-磁場検出のホールセンサモジュール/dp/B00KCFTUWC/ref=sr_1_2?ie=UTF
このような非接触電流センサは、電流が流れることにより磁場が発生するので、その磁場を検知することにより電流検知をしています。そのため、電流が流れるように電線に負荷がつながっていることが前提です。また反応時間は比較的早いです。
一方で、例えば壁のコンセントのような負荷がつながっていない状態でAC100Vがきているかどうかを調べるには、どうしても電線に何かを接続して調べる必要があります。
返信ありがとうございます。
残念ながらこの記事の仕掛けでは無理ですか。
ほとんど無負荷ですし、何かを電気的に接続できない状況です。クリップで電線を挟んで検出する装置が市販されているのですが高価ですので自作を考えています。
情報どうもありがとうございます。
そのような製品が売られているんですね。無負荷の場合、電流は流れていないため磁界による検知は難しいため、クリップで挟んで検知するとなると、この記事で説明している静電容量を利用しているのではないかと思われます。
電線にクリップを挟むと、電線とクリップの間に静電容量ができますので、電線に加わっている電圧が交流の場合、静電容量を介してごくわずかの電流が流れますので、それを検知するんですかね。その場合、流れる電流は本当にごくわずかですので、相当感度の高い電流検知能力が必要になります。そのため、かなりコストがかかるのではないかと思います。
有用な情報を提供できずに申し訳ございません。