« 東広島市鏡山公園 | メイン | 7MHz D級アンプ QRO計画 1 »

2017年1月22日 (日)

LCメーターの製作

[PIC 自作]

アナログのCメーターはすでに自作してあり、重宝していましたが、インダクタンスを測る場合、アンテナアナライザにコイルとコンデンサを直列に接続し、共振周波数を読み取った後、計算で算出していました。 もう少し簡単にインダクタンスを測定できないかとWEB検索していると、沢山の記事が見つかりました。 既知のコンデンサ1個と、正確な周波数カウンターを利用して、マイクロコンピューターで自動測定するもので、かなり以前より、世界中で製作されているようです。

そこで、これらの製作記事を頼りに私も作ってみる事にしました。 マイコンはピン数は28本もあれば十分なのですが、今回はジャンク箱で遊んでいた40ピンのPIC16F1939です。

まずは、LCメーターに使用されるフランクリン発振回路の予備検討です。 校正時のLとCの組み合わせは100uHと1000PFが一般的で、WEB上でもこの定数の回路が多数存在します。 そこで、このLCと74HC04の回路で一番広帯域に発振する定数を確かめてみました。

下に回路図を示します。

Franklinosc この回路状態でC3にパラレルにコンデンサを追加して、安定に発振させられるC1,C2,R2を調べました。 C3に最大0.55uFのコンデンサをパラレル接続したとき、正常に発振するR2の値は580Ωでした。0.55uFが追加された場合、R2は580Ω以下でもOKでしたが、逆に1000PFだけの場合、580Ω以下では発振停止してしまいます。 そこで、選んだ抵抗値は820Ωとしました。 この段階では、まだ周波数カウンターは接続されていません。

500khz

50khz

左が100uHと1000PFの基準共振時の約500KHzの発振波形です。 右は0.068uFのコンデンサを接続した時の、約60KHzの波形です。 見ての通りオシロの同期がうまくかからず、2重に写っていますが、周期にムラが有っても、周波数カウントには影響ないと考えていました。 しかし、いざカウンターが動作するようになると、とんでもない周波数(1MHz以上)をカウントします。 波形の縦線の部分を拡大してみると、数MHzの寄生振動を伴っていました。 これでは、全く使い物にはなりません。 

WEB上で、インバーターはアンバッファ品が良いというのは、この性かも知れません。

そこで、インバーターをアンバッファ品に替えて実験してみました。 結果は0.1uFくらいまでは、安定に発振しますが、0.22uFくらいから発振周波数が1MHzオーバーとなります。 そして、この程度のレベルが限界に近いというのが、WEB上にも散見されます。 しかし、せっかく、作り始めた事もあり、なんとかこの最大容量を拡大できないか検討する事にしました。

Franklinosc1

従来からの変更点は正帰還回路にシリーズに入っていた抵抗R2を20KΩの半固定VR2に変えた事。 CMOS発振回路の出力に負荷容量としてC6を追加した事です。

VR2の値は4.7KΩくらいで微調整が必要でした。 C6は大きくすると、発振周波数の低下を招きますが、高容量のコンデンサを接続しても寄生振動が起こりにくくなります。 ただし、大きくなるほど、LとCによる共振周波数と実際の発振周波数と差が生じ、真のLCの値を表示しなくなります。

Cout_freq

上のグラフはC6を変化させた時の発振周波数の変化を表しています。 仮にC6が0PFの時の発振周波数が真のLC共振周波数とすると

100PFのとき発振周波数は0.116%ずれます。これは。コンデンサに換算すると0.232%の誤差となります。 1000PFの時は、発振周波数が1.78%とずれ、コンデンサの容量換算で3.58%の誤差です。 しかし、コンデンサの容量変化と周波数の変化は、ほぼ直線に変化していますので、帰還系の条件は発振周波数にあまり影響しないと思われます。  という事は、この負荷容量込みでキャリブレーションを行えば、そこそこの精度が得られると考えられる訳です。

C6を1000PFとして、キャリブレーションをしてみました。 

マイラーコンデンサの場合、6.6uFまでは正常に測れました。 電解コンデンサは1uFまでは測れましたが、その次に4.7uFを掴んだら発振周波数は0となっていました。  最少容量は、1PFでも測れます。ただし、正しいのかは?です。

また、コイルは、100uHの表示のあるものが94.77uH、3.3mH誤差kと表示のあるチップインダクタを測ると3.62mHと出ました。 なんとか誤差内です。

ここまでの検討で、そこそこの精度は出ていると思われますので、条件付で完成品に仕上げる事にします。 条件とは、コイルは確認できた最高インダクタンスを15mH、コンデンサは電解コンデンサは除外して、最高6.6uFとします。

使用した1000PFのコンデンサの温度係数は、通常のCH特性(0+/-60ppm)より特性の良いC0G特性(0+/-30ppm)のセラミックでMURATA製です。 

一方、中国製の100uHのコイルの温度係数は未知です。 使われている磁性体がフェライトのようですから、多分+1000ppmくらいと思われますので、これをカーボニルの+50ppmくらいに変更しないと安定しないと考えます。 そこで、カーボニルコアで100uHくらいのコイルを手作りする事にしました。 

100uhcoil

アミドンのカーボニルコアT37-2に0.3φのUEWを約150回巻いて100uHのインダクタを作り基板に実装しました。

左の基板はそのコイルを実装した状態です。基板に両面テープで張り付けてあります。

コイルが+50ppmの温度係数なら、コンデンサは-50ppmの温度係数でなければなりませんので、実働状態では、発振周波数がドリフトします。 特に暖房(多分冷房も)が動作中に、電源ONした直後はキャリブレーションした直後でもオープン状態の静電容量が0PFとなりません。 使用しながら、対策を考える事にします。

良く使われるPPコンデンサの温度特性は-25ppmくらいですから、0ppmのC0Gコンデンサより良い結果が得られそうです。 そこで、ネット通販を探し廻りましたが、サイズと価格が折り合わず、とりあえず現状としております。 仮に大きな温度係数を持つコイルやコンデンサの場合でもキャリブレーションした直後は原理的に正確に測定できます。 この安定度の追及はコンデンサを接続しない状態で、どのくらいの時間0PFを表示し続けるかで実用出来るかどうかが判断できます。

現状では2分間通電した後、キャリブレーションを行い0PFを表示し続けるのは約30秒です。 そして、30秒過ぎたあたりから0.03PFの表示になり、これが次のステップである0.07PFの表示になるまで90秒くらいあります。 という事は90秒以内なら0.03PFの誤差で容量を測れるという事ですから、実用上は全く問題有りません。

左側の3個の黄色の箱は回路切り替え用のリレーですが、手持ちの24V品を使った関係で、5Vから24Vに昇圧するDC/DCも実装してあります。 実際のリレーは2個しか使っていなく、3個目は予備です。

LCDの表示は、pFとμF、μHとmHの単位自動切り替えで、あまり細かい表示はしない事にしました。

下に、それぞれの表示例を示します。

C221

C223

L101_2

L332

ここまでの回路状態でケースに組み込む為、組み立て図の作図を開始したところ、用意したケースに収まりません。ケースはエレキーやCメーターに使用したタカチの同一サイズですが、高さが足りず、LCDやテスト端子を実装できません。

Lc_1939

最大の原因は、左の40PIN DIPのマイコン基板です。 もともと、以前、アンテナアナライザーの予備検討をした時の基板で、もう出番は終了していたものでしたが、今回のLCメーターの検討にちょうどよさそうでしたので、ジャンクボックスから拾い上げたものでした。

そこで、このPICマイコンを28PINのPIC16F1938に換える事にしました。 しかし、DIPのままで28PINに変えても、大きく改善は出来ませんので、同時にSOPに換え、アナログ回路基板に同居させることにします。 さらに、場所や高さ制限で厄介者でした24VのDC/DCも基板をサイズダウンさせます。

Lcm_1938このようにして作り直した基板が左の写真です。 ここまでサイズダウンすると、なんとかケースに収まりそうです。

PICマイコンを変更した回路図LC_Meter2.pdfをダウンロード

当初キャリブレーション時の周波数チェックはノーマル時を先にやり、キャリブレーション時の周波数チェックを後で行っていましたが、何回かテストすると、順序はこの逆、すなわち、キャリブレーションの周波数を先にチェックし、ノーマル時の周波数チェックを後からやる方が、キャリブレーション直後のオープン状態での容量が0PFになる確率が高くなる事が判りました。 従い、マイコンソフトもそのように修正しました。

ソースコードLC_Meter1938.cをダウンロード

Lcmeter_box

一応使えるようになりましたので、ケースに収納しました。 消費電流はリレーの電源が影響して、Cx測定時115mA、Lx測定時12mA、キャリブレーションピーク時230mAとなっています。 DC電源で使う分には問題は無いのですが、いざ使おうとすると、最初に電源の心配をせねばなりません。

以前作ったアナログのCメーターは電池式で、すでに2年以上経過していますが、いまだに電池交換した事が有りません。 今回のLCメーターも少なくとも1年は電池交換しなくても良いような電源回路を考える事にします。

校正用リレーを5V品に変えて、L/Cの切り替えをメカニカルスイッチに変更して、今まで5Vから24Vを作っていたDC/DCを3Vから5Vを作るDC/DCに変えた結果、Cx/Lx測定時16mA、校正時65mAまで抑える事ができました。校正時の65mAは1.2秒くらいの時間しか流れませんので、メカニカルの電源スイッチを追加する事により、かなり長期間電池交換なしで使えると思われます。

この状態の回路図LC_Meter3.pdfをダウンロード

また、PICのソフトも変更しました。LC_Meter1938_3.cをダウンロード

Battlcjpg

左は、リレーを5V品に変えた基板です。

今回採用したリレーは、以前5W QRP CW送信機のアンテナ回路切り替えに使ったあまり品で、内部に永久マグネットが入っているOMRON製の省電力でON出来るタイプです。 サイズも従来品の1/5くらいになりましたので、基板上の配置は見ての通りかなりすっきりしました。

今回、単3アルカリ電池2本により3VのDC電圧を5Vに昇圧しますが、R314を11KΩのままとした為、実際は4.75Vにしか昇圧されません。 しかし、回路はこの電圧で十分動作しますので、このままとしてあります。

Lcmeter0203b

また、このDC/DCコンバーターのICの最低電源電圧保障値は1.8Vですが、電源を昇圧した4.75Vから取れば、最低入力DC電圧として0.9Vまで動作します。 しかし、アルカリ電池でも1セル当たり0.9V以下になると電池の内部抵抗が急激に上昇し、電池2本の場合、1.8V以下になると、4.75Vは維持できません。 このDC/DCのIC資料では、ICの電源は昇圧した後から取れとなっていますが、両面基板の改造が面倒なので、入力側から取っています。

従来、LCDの下の行が余っていたので、何も役に立たない発振周波数を表示させていましたが、電池の電圧表示に変えて、少しは役に立つ表示としました。

その後、このLCメーターを重宝しておりましたが、AM送信機の検討中に、インダクタの値が実際値より小さく表示されるのではないかと言う懸念がありました。 そこで、アンテナチューナーに使用していたステアタイトボビンに巻かれたコイルを、このLCメーターとNFのLCメーターで比較してみました。 約8μHのコイルですが、NFとこの自作機の間で約10%の差がありました。 原因を推定すると、LCの共振回路を構成する回路の接続端子を含めた浮遊インダクタと浮遊容量がかなり大きい事が原因と思われます。

この問題を対策する為、一度消した周波数カウンタの値をLCDに表示するように変更して観察すると、明らかにおかしな数値が得られます。 C測定モードで、測定端子オープン時の周波数と、L測定モードで測定端子ショート時の周波数は同じでなければなりませんが、約0.38%差があります。 そして、C測定モードの時の周波数がL測定モード時より低くなります。 

Tp1

回路の実装状態を考察した結果、LCの切り替えスナップSWから測定端子を含めたワイヤーが持っている浮遊容量の影響であろうと考えられます。 左の回路の赤で囲んだ配線になります。 L=0測定時はこの配線はGNDに接続され、回路が持つ浮遊容量は無視されますが、C校正時はオープン状態ですから、浮遊容量が共振回路にパラに加わり、周波数が下がるようです。 LCメーターのKITで基板にリレーやコイル、スイッチ、接続用端子などを直付けしていますが、このような構造なら浮遊容量を小さく出来、多分この問題は大きくならないのではと思われます。 

Cns3まず、OSC回路からLC切り替えSWまでの回路を確認したところ、測定端子のGND側が別ルートでおおきく迂回していました。 そこで、このGNDラインを発振回路に最短で接続する為、今まで2Pであったコネクタを4Pに変えました。

この変更だけで、C測定モードに置ける端子オープン時の周波数が0.2%くらい変わりました。 しかし、まだC測定モード端子オープン時とL測定モード端子ショート時の周波数差は解消しません。

下の写真は左から、コネクタを4Pに変更した基板、真ん中はLC SWの周りのハーネス接続状態、右はハーネスをコネクターに挿入した状態です。 見ての通り、浮遊容量がかなり大きいと想像できます。

Lcmpwb1_2

Lcmswwire

Lcmwpcb

このLCメーターのケース加工状態では浮遊容量削減はほぼ不可能です。 そこで、C校正とL校正を独立させ、測定する前に必ず校正させるソフトに変更する事にしました。

Nocal

LC SWを切り替える度に、左のような表示をLCDで行い、校正を促します。 また、L校正モードで端子をショートし忘れた場合、あるいはC校正モードで端子をオープンにしていない場合、いつまで経ってもこのNo Caliblationの文字が消えないようにソフトを変更しました。 要は、L、Cいずれも測定前に必ず校正(CAL)を行わないと測定できないソフトに変更したものです。

変更後のソースファイルLC_Meter1938_4.cをダウンロード

また、サンプルのLとCをNFのLCメーターで測り、8uHのコイル(ステアタイトボビンに巻かれたコイル)のインダクタが最も近い値を示すようにCcalの値を修正しました。修正したCcalは990pFとなりました。 これは、使用した基準のコンデンサが990Pであったという事ではなく、周辺の浮遊容量や浮遊インダクタを統合した結果、基準コンデンサの値が990PFと等価で有ったという意味です。

Sampl

Cal_8uh

左上がサンプルL、Cで、白いボビンに巻かれたコイルが公称8uHのコイルでHFのアンテナチューナーに使われたいたものです。 右上の表の黄色の部分にその実測値を示しますが、自作LCメーターの値はCrefを990pFに設定した時のもので、NFのLCメーターに対して誤差0.13%です。その他のデータは、Crefを990pFに固定したまま、自作LCメーターで測定した値とNFのLCメーターが出した値を表示しています。 CもLも値が小さくなると誤差が大きくなりますが、私が使うには十分過ぎる精度が得られています。

Frefwave

左は、校正時の基準周波数発振波形で約495KHzです。

最終回路図LC_Meter4.pdfをダウンロード

INDEXに戻る