2012年4月21日土曜日

コンデンサの容量計(Cメータ)の作成

今の天気 晴れ、気温 5度。
ここもやっと春だよ、暖かい・・・synctonです、こんばんは。

SWAS-G/LFO作成中なのですが発振周波数が思ったより高く(予定の10倍)なってしまって原因がつかめないまま色々調査やテストをやっているのですが、発振周波数に直接関係してくるコンデンサの容量を測定する機材を持っていません。
そこでコンデンサの容量計を作ってみようかと思っています。
とりあえず手元にある PSoC マイコンで出来ないかと色々検索してみると、いくつかのやり方があるみたいです。
  1. コンデンサに充電または放電する時間から求める方法
  2. 交流インピーダンスから求める方法
  3. CR発振器の発振周波数から求める方法
1の充放電の時間から求める方法は直感的にわかりやすかったので、さっそく以下のサイトを参考に実装を試みてみました。
PSoC容量計:ここは「はじめてのPSoCマイコン」の著者:桑野雅彦さんのサイトのようです。
これを参考に実装してみましたが、ダウンロードしたプロジェクトファイルが PSoC Designer 4 用で今使用中の 5.2 とは少し違うようで上手く実装できません。

2の方法は「はじめてのPSoCマイコン」第八章 交流インピーダンスの測定テクニックとインピーダンス&容量&湿度計の製作に載っていたのですが難しすぎて手も足も出ませんでした。

そこで3の発振周波数から求める方法にしてみました。
タイマーIC555を使用して矩形波を作成し、 PSoC(CY8C29466-24PXI) マイコンで周波数を測定しコンデンサの容量を算出することにしました。
周波数カウンタは Cypress の PSoC アプリケーション・ノート[AN2283] を参考に実装。発振器の部分は以前LFO作成で使用した回路から不要部分を削除して作ってみました。