CapSense

CapSenseライブラリの資料が少ないため実験をしてみた
タッチの条件はプリント基板上にタッチ用のパッドを設置し、レジストをかけた状態を想定
実験ではジャンプワイヤの被覆の上からタッチした
目的は軽いタッチでも複数のボタンを簡単に判別できる条件を探すこと
2014-11-21 6-50-08

CapSense

回路図

Eagle Schematic
CS-sample
Filename : cs-sample.sch (320 KB)
Caption :

実験結果

    • R=1MΩ
      軽くタッチしただけでは数値が上がらない
      少し強めにタッチすると25程度まで上がるが、隣のスイッチも反応してくるのでご検出が多い
      そもそも反応しない(数値が上がらない)場合がある

      意識して少し強めにタッチすると完全に検出できる
    • R=2.2MΩ
      数値による上昇が分かりやすく、ボタンへのタッチが判別しやすい結果となった
    • R=4.4MΩ (2.2Mx2)
      ボタンへの距離が1cm以内から反応が始まる。
      すべてのボタンが反応するので、ボタンの判別ができない

      サンプル数を30→10に減らすとボタンが識別できるデータになった

          long total1 =  cs_4_2.capacitiveSensor(10);
          long total2 =  cs_4_6.capacitiveSensor(10);
          long total3 =  cs_4_8.capacitiveSensor(10);

      サンプルを50に増やすとボタンは識別できるようになるが、ボタンごとに定常時の数値が違うため、スケッチが複雑になりそう

  • タッチ回路の上をLEDのラインが横切った場合
    CameraZOOM-20141121140715956
    I/Oと影響を受けるとボタンが押されているようなデータが返ってくる
  • 受信ピン2,6,8の隣のI/Oを操作しただけ(LEDや抵抗を接続しない)でも影響がある

実験2 近くのピンの出力を変化させた場合

  • D13出力、R=2.2MΩ ・・・ ボタン判別可能

    D9~D13までは影響がなかった。ピンアサインを見るとセンサーピン(D8)と離れている
  • D7出力、R=2.2MΩ ・・・ ボタン2(D6)の横のD7を変化させると、D6にもろに影響が出る

    D7出力とセンサーピンD6はすぐ隣のため影響が出たと思われる → 他のセンサピンはとなりで出力しても影響がない
    OnBoard3[初代]の回路ではD6とD7のラインが0.55mmと近づき、わずかに並走している場所がある

    併走区間はわずか0.5mmでも大きな影響となって現れる

  • D5出力・・・D5の変化はD6に影響しない

    D5とD6のラインは直行している
  • D3出力・・・D3の変化はセンサ入力D2,D6,D8に影響しない

    D2とD3のラインは交差している
  • D1出力・・・D1の変化はセンサ入力D2に影響しない
    OnBoard3[初代]の回路ではD1とD2のラインは交差していない

    実験結果より、センサピンの隣で出力を変化しても良いが、センサピンと出力ピンの配線が並走すると影響を受ける。最悪でも直行させること。これはサイプレスのCapSense入門にも掲載されている。

サイプレス CapSense入門によるアドバイス

  • センサーの配線は300mm以内
  • センサーの配線の幅は7mil(0.18mm)より太くしない
  • センサーの配線をハッチドグランドで囲み、クリアランスは10-20mil(0.25-0.51mm)
  • センサーの配線をLED,PWM,I2C等の通信線、スイッチング線から隔離
  • RF干渉・ESD保護のため直列抵抗(560Ω)をコントローラピンの10mm以内に配置
    抵抗が小さい方が良いがRFのブロック効果が低下
  • センサーの配線を最短に
  • センサーに接続されているピンはまとめてコントローラに接続されるように配置
  • コントローラとセンサーのベタグランドは接続されていること
実験用スケッチ
CapacitiveSensorTest
Filename : capacitivesensortest.ino (2 KB)
Caption :