コメを噛め

コメを噛め

rerofumi の電子工作メモ

hatena bookmark

前回、テスト回路とオシロで静電容量の変化を確認することができたので、今度はそれをマイコンで読み取る実験。

PSoC Designer 5.0 のプロジェクト: touch_test2.zip

モジュールは時間計測用の16bit counter のみ。
放電後、カウンタをリセットして充電を開始。監視するピンを立ち上がりの割り込み有効に設定しておいて、電圧が一定上に上がってきたところで割り込みがかかるようにしておく。
ピン割り込みが来たらカウンタを止めて値をよむことで(オーバーヘッドもりもりだけど)充電にかかった時間がそれなりにわかるといった仕組み。もし、カウンタがオーバーしたら回路が接続されていないということでフェイル処理を行う。
後は割り込みの度にピンを変えていくことで時分割に複数の入力を読み取っていくといったコードを書いてみた。

結果、ちょいと失敗。
いや、前回のオシロ計測時の波形で変だなと思ったのをそのままにしないで解決しておくべきだった。何が変かというと、充電完了時の電圧が2.5Vだったことなのだよね。
これってオシロ自体が 1MΩ の負荷として、電荷をGNDに落としていたということだったんだよな。なので、あのようなゆっくりとしたスロープになっていた。実際にテストするカーとソフトを作ってオシロを外してみたら、ものすごい勢いであっという間に充電されてしまって計測が困難な状態にww
結局本当の速度は35us とかで PSoC のM8コアで割り込みだのなんだのじゃ間に合わん速度になってしまった。

まー、でもpull-up抵抗を 2M, 4M と変えたり、オシロがつながっていたときみたいに 1M をピンとGNDの間につないだりとかして電流をコントロールすればテストコードで十分計測できたので今回は良しとしよう。

Leave a Reply