最終更新時間:2008年01月11日 21時55分14秒
[公開:any]
[容量計,AVR,ATmega168,LCメーター]
「AVRを使ったコンデンサー容量計の製作」で実際に作成しました。(2008-08-30)
「LCメーターの製作」で作ったLCメーターでは、電解コンデンサ等の極性のあるコンデンサが測定できません。また、1μF以上の容量の大きなコンデンサを測定することもできないので、AVRを使って容量計をテスト作成してみます。
以前、作ったLCメーターは、フランクリン発振回路の発振周波数の変化からインダクタンスやキャパシタンスを測定しています。コンデンサの静電容量(キャパシタンス)は、実測から1μF程度までは測定できますが、それ以上はうまく測定できません。(発振周波数が低くなりすぎるためだと思われる。)
また、極性を持つコンデンサの測定は出来ないため、電解コンデンサの測定にも使えません。
コレまでのところ、特別、必要というわけではありませんが、CR回路の過渡現象を使った容量計の製作記事をインターネットでいくつか目にしたので、AVRのアナログコンパレータ機能とタイマー機能を使って実験してみました。
コンデンサ容量の測定原理は、コンデンサの充電時間(ある電圧からある電圧に達するまでの時間)を測定し、その時間を容量に換算する方式とします。
今回は、あらかじめ容量誤差の小さなコンデンサ1μFが抵抗を介して0.96Vから2.5Vに達するまでの時間を基準として、測定コンデンサの充電時間を基準時間で除算することにより容量を求めています。
実験回路は、以下です。
作成したプロクラムの動作シーケンスは以下のとおり。
・・という具合で、なんとか使えそうです。
問題は、CR回路の抵抗値が固定されている現状では、大きな容量のコンデンサの充電に時間がかかることです。1000μFの場合は15秒程度かかります。
コンデンサの容量に応じて抵抗値をスイッチで手動切替にするか、プログラムで自動切換えにするなどの工夫が必要です。