LCメータ


【LCメータの概要】
PIC16F19xxファミリの液晶制御モジュールの使用例として、液晶パネルを表示に使った
LCメータを製作しました。
コンデンサ容量とコイルインダクタンスを、ほぼ無調整で正確な測定ができますので
実用的に使えます。
液晶パネルを使ったことで消費電流は少なくできましたから、電池でも十分長時間の
使用が可能となりました。
完成したLCメータの外観は下図のようになります。基板そのままで使うことにしました。
電源には006Pの9Vの電池を使っています


【全体構成と仕様】

 製作するLCメータの全体構成は下図のようにしました。
この測定方式ではアナログコンパレータを使った発振回路が必要になるのですが、
これをPICマイコン内蔵のコンパレータで構成しています。
 液晶パネルには市販品で3マルチプレクス駆動の4 1/2桁のものがありましたので
これを使っています。このお陰で28ピンのPICマイコンでピン数が足りますので、
PIC16F1936を使いました。

 電源はすべて5Vで動作させることとし、9Vの電池で駆動することにします。
クロックは正確な周波数が必要ですので4MHzのクリスタル発振としています。

リレーが1個、自己較正用に必要となりますが、5V動作の小型のもので十分です。
リセットスタートのときだけ1回だけ動作し、後はオフのままですので、余分な電流消費
にはなりません


こうして製作するLCメータの機能仕様は下表のようにするものとします。

項 目  仕 様  備 考 
電源 006P型の9V電池
消費電流:常時約1mA
リセット開始時0.1秒間のみ40mA消費する
測定項目 スイッチで下記を切り替え
@コンデンサ容量
  1pF〜2μF
Aコイルインダクタンス
  0.1μH〜2mH
自動較正機能内蔵

精度約±2%

精度約±2%
表示出力 液晶パネル 4 1/2桁
表示内容
 コンデンサ容量の場合
   19.999   (単位pF)
 コイルインダクタンス
   1999.9   (単位μH)
基板に直接実装
液晶テスト ジャンパ切替によりテストモード
 0000から9999まで繰り返し表示
奇数の場合他のセグメントをすべて表示
【LC測定原理】
このLCメータの測定方法は、世の中でよく知られている方法で、オペアンプによるLC発振回路を
構成して、その発振周波数を測定することで計測しています。

 まず発振回路でリセット直後の較正時には下図のような構成で2つの周波数を測定します。
最初C1とL1という元となる発振回路の周波数f1を測定します。
次にリレーをオンにしてCcalコンデンサを並列接続して周波数f2を測定します。
この2つの周波数とCcalの値が既知であれば、図中の式で、C1とL1の値が求められます。



 次に実際に測定する場合には下図のコンデンサCxの測定かコイルLxの測定かにより、
いずれかの接続構成となります。LxとCxの回路切り替えは手動スイッチで行います。
 これで周波数f3またはf4を測定すれば、図中の式から2つの周波数とC1かL1を元にして
CxまたはLxの値を求めることができます。

 このようにCcalの値を基準にして測定しますから、このコンデンサの容量さえ正確に
わかっていれば測定精度は高精度になります。
電源オンごとに毎回較正しますから、温度変化や経年変化もCcalによる影響のみとなります。
 正確なコンデンサはなかなか入手し難いですが、±2%程度のフィルムコンデンサであれば
入手可能だと思います。
市販のLC測定器が借りられれば、Ccalの容量を測定した値で作成すれば、さらに高精度の
測定が可能となります


【液晶パネルの使い方】
本製作で入手した液晶パネルは、Vartronix社のもので、型番がVIM-503というものです。
このセグメント構成とピン配置は下図となっています。図からわかるように、
3マルチプレクス構成となっている4 1/2桁のセグメント表示です。
ピンは上下両方にあるのですが、実際に使われているのは下側の15ピンだけで、
上側は何も接続されていません。


 セグメントとしては12セグメントですから、28ピンのPICマイコンで十分です。
そこで、この接続を下図のようにしました。この接続はプリント基板作成時に
最もパターンが通し易い配置にしているだけです。セグメントの順序などは
気にしないで接続しています。


この2つの接続構成からExcelで作成したLCDDATAnレジスタの設定値は
下図
のようになりました。
この表の作成方法は簡単で、桁ごとに制御する必要があるセグメントだけ
表の中に0と1で記入します。最後にレジスタごとの設定値として左側の欄
のように16進数として記入します。これでLCDDATAnレジスタの設定値が
桁ごとに決まります。あとは全桁のORをとってレジスタにセットするだけです。



【回路図と組み立て】
全体構成図に基づいて作成した回路図が下図となります。




PICマイコンにはDIPタイプのPIC16F1936を使いました、低消費電力にするためには
PIC16LFタイプが良いのですが、液晶パネルが5V電源でないと十分なコントラストが
出ませんでしたので、5V対応のPIC16Fタイプを使いました。

較正時の較正用コンデンサのオンオフはリレーを使っています。電気的に余分な要素のない
メカニカルな接点で切り替えるのが最良であるためです。
手元にあるものを使いましたので2接点のものを使っていますが、1接点のもので問題なく使えます。
リレーの駆動には、5Vで40mA程度が必要ですので、トランジスタを追加して駆動しています。
リセット直後の較正時にのみリレーがオンとなるようにしています。

発振回路用のコンパレータには、PICマイコン内蔵のものを使い、入力を外部ピンとしています。
出力は内部でパルス数をカウントするための、周波数カウンタ用のタイマに接続しています。

コイル測定とコンデンサ測定の切り替えはトグルスイッチを使って切り替えるようにしています。
較正用と基本発振用のコンデンサには同じ2%誤差の1000pFのフィルムコンデンサを使っています。
基本発振用のコイルには汎用の100μHのチョークコイルを使っています。

JP1のジャンパをオンオフすることで、通常の計測モードと液晶パネルのテストモードとを
切り替えられるようにしました。
システムクロックには高精度にするため、4MHzのクリスタル振動子を使いました。

製作が完了した基板の部品面と、はんだ面の写真が下記となります。





【プログラム】
LCメータのプログラムはLCMeter2.cという1個だけのソースファイルで構成されています。
このプログラムの全体構成は下図のようになっています。
初期化で必要なモジュールの初期設定をします。この中でLCDドライバの初期化も行います。

この初期化の最後で計測の較正をします。リレーをオンにして接続を切り替え、
基準コンデンサを接続して発振周波数を計測して基準値を求めます。

その後メインループに入ったらジャンパがオフかをチェックし、オフの場合はテストモードに入り、
オンの場合は通常計測モードに入ります。
テストモードではLC切り替えスイッチの状態により、数値の表示の液晶表示器の表示テストか、
発振周波数を計測して周波数を表示するテストを実行します。

通常計測モードの場合も、LC切り替えスイッチにより、コンデンサの容量測定か、コイルの
インダクタンス測定かを実行し、変換した結果を液晶表示器に表示します。
それぞれの計測時に発振周波数を計測しますが、このときタイマ2の割り込みで1秒という時間を
生成してタイマ1のカウントの開始、停止を行っていますので、周波数計測には1秒という時間を
必要とします。




LCメータのプログラムは下記からダウンロードできます。プロジェクト一式が
含まれています。

  ★★ 「LCメータ」のプログラムダウンロード ★★