Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

PIC16F88でコンデンサの容量を比べる

値の表記の無いチップ・コンデンサの容量を確認する必要がある。
購入時に容量は分かっているので、どのチップがどの値なのか判別が付けば良く、場合によっては値の相対的な大小が分かるだけでもいい。
普通に測定器を買っても大した値段ではないが、充電時間でも計れば比較は出来るんだろうということで、検索するとよさそうな例が見つかったので参考にさせていただいて、自作することにした。

具体的にはこちらのページの「キャパシタンスの測定」( 開発環境がmikroC )を参考にフリー版のMPLAB XC8の環境(最適化があまり効かない)で使えるように直した。

変更点1
LCD表示用のルーチンはmikroC用のものなのでMPLAB環境では全く使えない。
PIC16F84A + SC1602BS + XC8」で用いたコードを使うようにすべて書き直した。

変更点2
上のサイトの例では変数にfloatを用いたりして計算処理し、ちゃんとF(pF)に換算して測定値を表示している。
表示用にsprintfを使い、さらにfloatまで持ち出すと、XC8がフリー版という制約でPIC16F88ではメモリが足りないので、TIMER1の生の値をそのまま表示するだけとした。

変更点3
精度的ににどうなのか分からないが、容量が大きな場合は、8MHz、プリスケーラ1:1ではカウンターが足りなくなるので、プリスケーラを変更して測定できるようにした。

ブレッドボードでテスト中の様子。
20141216233012
20141216233030

とりあえず手持ちのラジアルリードなコンデンサで実測してみたら、ほとんど直線に乗った。
20141216233012-3
左が容量(pF)、右が8MHz、プリスケーラ1:1でのTimer1のカウント値だ。
0pFの56はコンデンサを接続していないときの値。
意味はよく分からないが、0-56を除けば決定係数とやらが0.999943691となったので、TIMER1の値とコンデンサの容量は直線で近似できるとみていいのだろう。
20141216233012-2
上に書いたように、「はて、22μFはどっちだったっけ?」的な用途なら十分すぎると言える。

追記
チップ・コンデンサを測ってみた。
pic16f88_chip_capacitor_graph_01
値が飛び飛びに広範囲なので対数グラフにした。
多少精度は落ちるが、ほぼ直線に乗る。
チップはブレッドボードに挿せないので、こんなものをでっち上げて、これに挟んでから測定した。
20141217220813
使ったパーツは3つ。
ブレッドボード用のジャンパー線を真ん中で切断して被覆を剥いたもの。
適当な長さの銅箔テープ2本。
布をカーテンがわりにつるすのに使うプラスチックのクリップ1つ。
ジャンパー線を銅箔にハンダ付けしてからクリップに貼り付けるだけだ。
20141218012353
こんな間に合わせの道具じゃ測定精度もクソもあったもんじゃねえと思ったが、それでも上述のとおり、値の分からなくなったコンデンサの値を購入時の記録と照らし合わせて推定するという用途には十分すぎる。
PIC16F88は200円、抵抗は6本で6円、2SC1815が5円、プリント基板を作る予定でこれが150円、LCDが500円で、合計すると900円というところか。
LCDもPICも当然使いまわすから除外すると、実質は200円というところ。
この、パーツを使いまわせるというのが自作のいいとこだと思う。
あと、こんな手抜きの装置でも用途に応じて十分に活用することが出来る点もメリットだ。

使えそうなのでプリント基板を作成した。
PIC16F88でコンデンサの容量を比べる(プリント基板作成)

このエントリーをはてなブックマークに追加

Posted under: PIC16F88


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.