Frequency Lock Loop & LED 2桁FC



◇ HP for English version
Up-dated 2003.6.1 //Revised2003.9.6//Revised2005.1.3

●VFO周波数安定化用FLL(Frequency Lock Loop) & LED 2桁リグ周波数表示用カウンター

・CQ誌1983年10月号P405/JA2DRFに74LS93(8分周器)+4013(D-FF) +CA3140(OPamp)を使ったVFO周波数安定化用PLLが発表されていましたが、本器は、それのPIC版です。◇その回路をちょっと見てみる

・本PIC版のソフトウェア論理は、基本的には周波数カウンターですので、ついでにIF周波数をオフセットさせた周波数表示もできるようにしました。

・1kHz台と0.1kHz台の2桁です。
・自作VFOでもVXOでもそのツマミには、目盛があるでしょうから、10kHz台は読める。だから1kHz以下を表示すれば、不便を感じないでしょう。



・左側;将来製作予定の7MHzCWトランシーバ(IF=10.17MHz)のVFOのテスト中。17,106.2kHz発振。FCカウンターの表示は、6.2kHz。青い線がVFOのバリキャプへの電圧(4.8V)フィードバック用。

・中央;その信号を周波数カウンタで監視している。17,106.09kHz。

・右側;アミドンT68-#2(赤)トロ活VFO。昔は、VFOの安定度はもう少し良かったような気がするが,腕が鈍ったのか、空芯タイトボビンのコイルにしないと安定度はあがらないのか?自走ドリフトで良く動く。Hi

・実測
 ・自走ドリフト 15:50(17,107.70kHz)→ 16:05(17,107.56kHz) // 140Hz/15分
 
・FLL時ドリフト 15:35(17,107.09kHz) → 15:50(17,107.10kHz) // 10Hz/15分
・FLL時ドリフト16:05(17,107.06kHz)→17:05(17,106.99kHz)→19:05(17,107.23kHz) //170Hz/3時間

●回路図Circuit

・TD7104P(プリスケーラ÷8、÷1)+2SC1906 がプリアンプで あとは、PIC16F84A-P20でカウント、7segmentLEDを2個直接ドライブ。


・8分周のプリスケーラTD7104Pを使っているが、PIC単体で35MHz以上までカウントするので、20MHz以下の手作りVFOの場合は、不用。
・Rb.1を2.4kΩで接地すれば、PIC内部では、1の掛算をするのでプリスケーラが無い状態となる。
・8分周のプリスケーラTD7104Pを使う場合は、「VXOで144MHz用局発を作ったが、VXO単体ではドリフトが大きくて・・」という場合でしょう。

●製作上の注意点

・VFOは機械的にしっかりしていて、ドリフト特性の良いものであることが大前提です。決して不安定なVFOを安定化させるものではありません。
・VFOのドリフトは、2秒間で40Hz以下でないと理論的にロックが外れます。また、フラフラするドリフトは、ロック外れの原因で、一定方向のドリフトでないとうまく行きません。

・OP-amp CA3140の積分回路のR(47MΩ)と2.2μFは、VFO特性に合わせてTry & Adjust が必要です。今回のテストの場合は、R=10MΩでは、周波数のフィードバックがオーバシュート気味で受信機で聞くと フラフラしすぎている感じでした。
・47MΩ、10MΩの抵抗は、秋葉 千石地下で売っていました。47MΩは150円。

●PIC-FLLのロジック

・まだまだ改善の余地はあると思いますが、一応ロックしているようなので、公開します。
・@gate time=1.0secで周波数カウントする。それをレジスターvfo[3]-vfo[0]//32bitに入れる。
・A16進数→10進数変換後、1kHz台、0.1kHz台をそれぞれ dsp[1]、dsp[0]に代入。

・B1秒前(前回)に計測した周波数が oldv[3]-oldv[0]に入っているので、X=vfo-oldv の引き算をする。

・C X>5000Hzであれば、手動でダイアルツマミが大きく回されたと判断し、OP-ampCA3140の出力ピン6の電圧VpをPIC-porta.2で測り、4V<Vp<5Vであれば、何もしないが、これを外れていれば、PIC-porta.0を Hまたは、Lにして、4V<Vp<5Vに調整する。(この調整に約1秒)

 ・PICの各入力ポートのH/Lの境値は、1.25Vでヒステリシスはないので、これを利用して2SC1815のON/OFFで電圧検出している。

・D X<5000Hzであれば、vfo[0]の0〜255の値と ロック周波数 42, 127, 213Hzを比較して最も近い値に落ち込むようにPIC-porta.1をHまたは、LにしてOP-ampCA3140の出力ピン6の電圧Vpを調整する。すなわち85Hz置きにロックする。
・例えば、vfo[0]=180であれば、最も近いのは213Hzであるので、PIC-porta.1をLにして、電圧Vpを押し上げる。

・以上の操作をして oldv[3-0]の値を 最新のvfo[3-0]の値に入れ替えて@に戻る。


・以上に加えて「Fll.asm →Fll2.asm の改善2003.9.6」を行った。
・上記Dの周波数自動調整をするときに、CWモードで運用していると チャピリが気になったので、oldv[3-0]の値と 最新のvfo[3-0]の値の差、すなわちドリフト量に比例した時間だけ、自動調整をするようにプログラムを変更した。

・例えば、偏差が25Hzであれば、gate time1秒間のうち、(25*4)/160=62.5%をONにして残りはOFF(PIC-RA1ポートをトライステート状態)。
・また、偏差が 3Hzであれば、(3*4)/160=7.5%をONにして残りはOFF.これで FLL.asmのチャピリを防止。


●基板の完成

・上が2桁LED。その下が、FLL基板。二つは14Pヘッダピン・ソケットでワンタッチ着脱。

FLLの基板の大きさは72mm幅x36mm高x25mm奥行。

・左下にIFオフセット値を読みこむためのタクトSWが見える。


●プログラムソース及び基板

プログラムは、次からダウンロードしてください。
 ◇ダウンロード Fll3.asm & Fll3.hex 自己解凍.EXE
(Revised2005.1.3 プログラムソースバグ修正。FLL2.asm→修正後FLL3.asm )
asmコードのアセンブルには、秋月のAKI-PICプログラマーCDに付属しているPa.exeが必要です。

プリント基板パターンFll.pcb は、PCBEソフト(CQ誌99年6月号、2000年6月号付録CD-ROM)を使っています。
CD-ROMをお持ちでない方の◇PCBEソフトダウンロードサイト

 ◇"Fll.pcbe" 基板パターンのダウンロード自己解凍.EXE(52kB)
印刷は、つぎのとおりです。
・レイヤー1、2、7外形、8孔 を選んで「版下印刷」で裏面配線パターンの部品面からの透視図。
・レイヤー2、3、4、5、6、、7外形、8孔 を選んで「版下印刷」で表面部品配置図。

●ファンクション説明

left
・RB7=H(open)、RB5=H、RB6=Hで起動すると普通の周波数カウンターです。この状態で、SSBジェネレータのキャリア周波数(IF)を計測表示させ、RB7のタクトSWを1回押すと、EEPROMにIFがSAVEされ、「7.3」と表示されます。
・その後電源を切り、RB5とRB6を希望のHetrodyneの組み合わせにすると、IF周波数分だけオフセットした周波数表示となります。


リグに組込んだ後、IFオフセット周波数を変更する場合どうするか??
(RB5=RB6=H 以外にセットし、ヘテロダイン表示している場合)
・リグの前面から、RB.7のタクトSWを押せる押ノブをつけておきます。例えばIF=10,123.5kHzに合わせる場合を仮定します。
@RB7のSWを押すと通常の周波数カウンタになり、1kHz台がブリンク。
ALo局発を動かして、「3.5kHz」のように1kHz以下を合わせる。
BRB7のSWをもう一度押すと「7.3」と表示され、EEPROMにSAVE。
F電源を再投入。IF=xx,xx3.5kHzでオフセット表示される。xxは、IFと異なるが、1kHz以下の表示誤差にはならない。


◇ホームページ インデックスへ戻る