1.はじめに 10年以上前のことになりますが、秋月電子にて「デジタル容量計キット(電子Cメーターキット)」を購入し組み立てました。オーディオ装置の修理などでコンデンサの容量抜けの確認などに重宝していました。 このキットはタイマーIC(NE555)を使った回路構成になっています。現在では販売終了となっているようです。代わりにアトメルのマイコンを使った「デジタル容量計キット」が販売されています。 マイコンを使った容量計の製作については、ELM Chan氏の「デジタル容量計」の製作ページに測定原理を含めて詳しい説明があります。 この説明を参考に、今持っているキットに加えて、PICマイコンを使った電池動作も可能なコンパクトな容量計を作ってみました。
2.回 路 製作した回路は次の通りです。
マイコンにはPIC32MX220F032Bを使いました。このマイコンはUSBマイコンですが今回はUSBの機能は使っていません。
充電抵抗Rと被測定コンデンサCxとのCR時定数を求めるためにPICに内蔵のアナログコンパレータを2個使います。 PIC内蔵のタイマーカウンターを使って40MHzのシステムクロックをカウントします。コンパレータが充電電圧を検出したタイミングでカウンターの値を読み取り、読み取ったそれぞれの値を t_0.2CR, t_0.7CR とすると、(t_0.7CR - t_0.2CR)*2 でCR時定数が求まります。 コンパレータの(-)側端子に入力する電圧は、51KΩ, 33KΩ,18KΩの3つの抵抗で電源電圧を分圧して作成しています。抵抗の実測値は、50.9KΩ, 33.19KΩ 18.34KΩで、実際の分圧値は、18.34/(50.9+33.19+18.34)=17.9%, (33.19+18.34)/(50.9+33.19+18.34)=50.3% となります。0.2CRの18.1%とは若干の差がありますが測定誤差の範疇としています。 被測定コンデンサの+側端子は、100Ωの抵抗を通じてコンパレータの(+)側入力に接続しています。時定数の計測開始の直前には、コンパレータ1の(+)側入力(RB3)を出力モードに設定し 0(GND)を出力することで被測定コンデンサを放電します。
被測定コンデンサの充電用抵抗Rは、1pFから1μFまでのコンデンサには1MΩ、1μFから1,000μFのコンデンサには1KΩの抵抗を使うように切り替えます。 被測定コンデンサの接続端子として、4ピンのピンソケットと2ピンのヘッダピンを設けました。コンデンサのリード間隔が2.54mm, 5.08mm, 7.62mmのものが直接差し込めるようにしました。ヘッダピンは、測定用のワニ口付きリード線を接続するためのものです。 測定結果の表示装置として、128x32ドットのOLEDグラフィックモジュールを使いました。32x32ドットの文字フォントを使い4桁表示を行っています。マイコンとの接続はI2Cです。SDA,SCLのプルアップ抵抗はOLEDモジュール内でプルアップされているので不要です。 測定端子までの回路の浮遊容量のキャンセルを行うためのボタンを設けています。測定開始に先立ってボタンを押すと浮遊容量を計測し、その後の計測値から浮遊容量を差し引きます。 電源は、単3乾電池2本または3V〜3.3V出力のACアダプタを使えるようにしました。電池とアダプタ回路の間に逆流防止のダイオードは設けていませんので並列接続は禁止です。 3.使い方 単3乾電池2本または3V〜3.3V出力のACアダプタを接続し電源スィッチをオンにすると容量測定が始まります。測定端子に何も繋いでいない状態では、OLEDに測定回路自体の浮遊容量が表示されます。 ここでタクトスィッチを押すと、OLEDに「Stary Capacity measuring ... 」のメッセージが表示され、数秒後に 「 0p]の表示に変わります。 ピンソケットに測定したいコンデンサを差し込むとコンデンサの容量を表示します。表示桁数は3桁です。容量の単位は、p, n, μ です。測定は停止することなく約1.5秒毎に繰り返し行っています。被測定コンデンサを差し込んで表示が安定すれば測定完了です。 4.プログラム 容量計のプログラムは、MPLAB IDE で xc32 コンパイラを使って作成しました。主なソースコードは、こちら(main.c)です。 なお、測定値の校正処理機能は未作成です。今後、精密メータとの測定結果を比較して追加する予定です。校正処理は、読み取ったカウンターの値に校正比率を乗算するだけの簡単な処理となります。 プロジェクトファイルは、こちらです。 |