L/Cメーターの製作、完成


2016年製作プロジェクトの一つ、「L/Cメーターの製作」はソフト開発に"C"を使ったことで意外と短期間で完成しました。回路は一般的な 回路ですが、自分なりにアレンジしたり、ソフトは自作したりすることで末永く使っていけるL/Cメーターに仕上がりました。

2016.5.19 2016.6.19動画追加

はじめに
 前回は基本仕様の決定と概略動作について説明しましたので、今回は詳細回路とソフトについてまとめています。

回路
 
 左図にL/Cメーターの回路図(クリックで拡大します)を示します。
 U1のLM311でインダクタンス測定、U2のLM311で1uFまでのキャパシタンス測定と555を利用したキャパシタンス測定で構成し、点線内は秋月Kitを利用。U1 LM311の発振 回路はWebで良く見かける回路です、100mH以上のインダクタンス測定時にC2を付加してLとCのバランスをとっています。
 C測定用のL2は測定精度に影響します。分布容量が小さく、直流抵抗の小さなものを選択する必要があります。一般的なマイクロインダクターは抵抗、容量とも大きく 発振周波数が理論値と一致せず、小容量時の測定誤差がでます。最初、太陽誘電製のパワーインダクターを使用しましたが、その後FT-37#75(22t巻)に変更しました。
   uF以上の容量測定用として秋月Kit Cメーターを利用、U4-6.7に接続されるコンデンサー容量で決定するパルス幅をゲートとして、U5のクロックをカウントしてパルス幅 を測定します。
 最大測定容量を100uFとしたので、U4でのパルス幅は80mS(max)程度にし、この間にカウントするクロックを16bit Timerでのカウント以下(65536)とするため、180kHz程度 に設定します。オリジナルKitではCrefはありませんが、本機ではCrefと測定値を比較することでクロックやパルス幅のばらつきをキャンセルできます。
 マイコンはPIC16F88を使用、LCDは8x2の白抜きタイプを使いました。通常LCDを4bitモードで使用する場合は、RB4〜RB7を使いますがRB6をカウンター入力として使ったので、 LCD制御はRB0〜RB3ポートを使いました。
 マイコンのクロックはX'talを使用しましたが、内部OSC 8MHzでも安定度は問題なく使えます。

 

組み立て
 
 左写真はケース内部の様子。秋月KitとL/Cメーター基板を重ねて実装、パネルSW類は以前のCメータ部品をそのまま使用しました。
 LCD部は、そのままでは光が漏れるのと、ちょっとぎらついた感じなので青系のアクリルでカバーをかけ、LCD部のみ透過するようアクリルの裏面は塗装 しました。

ソフトの説明
 ソフト開発にはCCS社のCコンパイラを使用、ソースリストはこちら。未知のLxを求める場合
 Lx={(Fref/Fx)^2-1}xLref (ここでFrefは基準Lref(100uH)時の発振周波数、Fxは未知のLとLrefの合成インダクタンス時の発振周波数)、で求められます。同様に
 Cx={(Fref/Fx)^2-1}xCref
この計算をアセンブラで作ろうとすると作る以前に挫折してしまいそうですが、Cなら lx = ((fref/fx) * (fref/fx)-1) * lref と記述すればいいので、 ソフト開発がとても楽になります。

LCD表示 はライブラリーとして別になっていたものを一本化しました。通常4bitモードで使用する場合RB4-7のポートを割り付けますが、今回はRB0-3を使用 しましたのでSWAP命令で上位と下位を入れ替えてデーターをLCDに送出します。

F-COUNTER TIMER2で0.1secゲートを作り、TIMER1で周波数をカウントします。

keisan1,2 FrefとFxからそれぞれ未知のLx,Cxを計算します。keisan2はレンジ4(1uF〜)の計算を受け持っています。

Calculat Ave 周波数カウントを5回実施しその平均値を求めています。1回の周波数測定は0.1secなので0.5sec毎にデーターを更新し、低容量測定時のばらつき 低減を狙ってみました。

  main 各ポートの初期設定、LCD初期表示、初期キャリブレーション実施後各レンジ設定に応じた処理に分岐します。分岐にはswicth文を使いました。
LCD表示では"nF"表示を止め、使い慣れているpF、uFにしています。

その他 レンジ切り替えに伴いCAL動作するようにプログラムを組みましたが、正確なCALになりませんでした。原因として、レンジ切り替えに伴う発振条件変化に伴う 安定化の時間にもう少しwaitが必要。ただあまりwaitをいれると間延びした動作になるので、今のところ必要に応じてCAL SWを押すことで対応しました。
校正、使用感
 測定精度は使用するLref、Crefによって決定される他、回路の浮遊容量などが影響します。当局の場合、+/-1%クラスのL/Cが入手出来なかったので、1uF〜100mH J級、 (1,10,100uH,1mH,100mH)と1pFから1uF J級の各容量値(1,10,100,1000pF,0.01,0.1,1uF)を測定してその誤差が平均的に+/-3%以内の誤差になるようLref Crefを決定しましたが、 実用十分な精度におさまりました。
 実際の使用状態をアップしてみました、1uH〜0.1H、1pF〜10uFまで測定しています。
 L/C Meter demo(動画 YOUTUBEへ)
 今回、動画編集はYoutube Editを使ってみましたが、使い勝手がまだ理解できておらずうまく見れていますか。

  Top Menu