TRIO TS-520 用 直読周波数カウンタ DG-5

TRIO DG-5

FG-5

 

TS-520シリーズ用、直読周波数カウンタである この周波数カウンタの素晴らしい点はTS-520本体のバンド切替えに連動して周波数表示がされることである
当時としては、画期的な直読周波数カウンタと思う
また、一般の周波数カウンタとして、100KHz~40MHzまで100Hz単位で計測出来る

このカウンタは、TS-520本体のリアパネルから以下の3つ周波数を入力して、現在の送受信周波数を表示する
・HET  TS-520のバンド毎の局部発振周波数
・VFO  発振周波数
・CAR  キャリア発振周波数

表示周波数の計算概要は次の通りである

表示周波数 = HET周波数 –  (VFO周波数 +  CARキャリア周波数)

 

さて、TS-520で件の直読型周波数カウンタは使えるのだろうか?
DG-5の機能である本体の局部発振とキャリア周波数の読取りが出来ないので、本体のバンド切替え連動は出来ない
FT-101と同様に、各バンド毎にオフセットメモリを設定して、切換えることで代用に使えるとは思うのである

TS-520は昔保有していたのであるが、使わないので差し上げたのである
実機があれば実際に動作を試してみたいのであるが、また出物が有れば探してみたい

DG-5は外観も薄型でTS-520の上に置いても違和感の無いデザインである
当時はアナログVFOのデジタル直読が出始めた頃である
とてもカッコ良くて当時は憧れたものである

 

YAESU FT-101E で周波数カウンタを使ってみる (送信編)

ケースに入れた、直読型周波数カウンタをYAESU FT-101E で送信してみたのである

当然の事ながら、送信前のセレモニーでひと通りのファイナル調整を行う

送信してみると、ある程度の出力で表示周波数が変化してしまうのである

IMGP5693

<7.195MHzで送受信>

IMGP5694

<送信すると7.638MHzと表示される>

この周波数カウンタには、HOLDモードがあるので送信時に、HOLD端子をグランドレベルに落とす事で回避はされるのである

そうは言っても気になるのである

 

IMGP5695

<受信時の FT-101E のVFO出力のスペクトラム 入力は-30dBの外部アッテネショーンしてある>

9.005MHzのVFO周波数と約-40dBで内部IF周波数が乗っている

IMGP5696

<送信時の FT-101E のVFO出力のスペクトラム>

9.005MHzのVFO周波数と、-15dB位で7.195MHzの送信キャリアが乗っている

 

送信時については、周囲の配線の状況で、測定すべき周波数以外の信号がノイズとして乗って来るのであった

本来の解決方法としてはバンドパスフィルターを挿入するのが正攻法であるが、FT-101 の専用機となってしまうので、悩ましい所ではある

送信時にカウンターをHOLDモードにして、表示を固定してする事で、使ってみたいと思っている

(送信時のQRHはモニター出来なくなるが…)

 

 

 

 

YAESU FT-101E で周波数カウンタを使ってみる (受信編)

ケースに入れた、直読型周波数カウンタをYAESU FT-101E で使ってみたのである
FT-101E のリアバネルのVFO 出力端子に、VFOの発振出力が出力されている

FT-101 の送受信周波数計算は少し面倒ではある

ざっくり各バンド毎に表すと以下の通りである

  • 160m   10.7MHz  –  VFO発振周波数  (1.5MHz-2MHz)
  • 80m     12.7MHz  –  VFO発振周波数  (3.5MHz-4MHz)
  • 40m     16.2MHz  –  VFO発振周波数  (7MHz-7.5MHz)
  • 20m     23.2MHz  –  VFO発振周波数  (14MHz-14.5MHz)
  • 15m     30.2MHz  –  VFO発振周波数  (21MHz-21.5MHz)
  • 10m     37.2MHz  –  VFO発振周波数  (28MHz-28.5MHz)

 

ちなみに、VFOの発振周波数は 9.2MHz~8.7MHzであり、VFO発振周波数が9.2MHzの時がダイアル上では一番低いダイアル位置となる

例えば、7.195MHzを送受信する場合は、VFO発振周波数は9.005MHzである

上の表にから、 16.2MHz –  9.005MHz =  7.195MHz  となる

周波数カウンタで7MHzの受信周波数を直読する場合は、オフセット周波数の16.2MHzから測定周波数を減算する事で直読が出来る

この辺りのFT-101の仕組みは別の機会に書きたいと思っているのである

実際に使って見た写真である

IMGP5692

 

FT-101Eの場合もR-4Aと同様SSBを受信してゼロイン後に

表示周波数が受信周波数と同じになる様にオフセット調整を行う

FT-101E の場合、3.5MHz,7MHz,14MHz,21MHz,28MHzなどをバンドメモリにそれぞれオフセット周波数を登録し、バンド毎にメモリの切替が必要になる

純正品のYC-601でもこの仕様は変わらないのである、従ってYC-601の代わりに使う事は可能ではないかと思うのである

送信については別の問題が有るので次回に..

 

DRAKE R-4A で周波数カウンタを使ってみる

ケースに入れた、直読型周波数カウンタをDRAKE R-4A で使ってみたのである
R-4AのリアバネルのINJ端子に、PTO(VFO)の発振出力と各バンド毎の水晶との発振出力の混合周波数が出力されている (プリミックス出力)
<プリミックス主力は、PRE-SELECTを同調周波数に合わせないと出力されないので注意>

INJ端子から出力されるプリミックス周波数は受信周波数に5.645MHzを加算した周波数である

周波数カウンタで受信周波数を直読する場合は、測定周波数から5.645MHzを減算する事で直読が出来る
しかし、実際の問題としては、各バンド毎の水晶発振子の発振周波数に幾らかのズレが生じているため、各バンド毎に補正が必要である

(バンドを切替えた時に、マーカを使ってVFOの校正を行うのは主にこの理由)

R4-A_BLOCK

<R-4Aのブロック図の1stIF付近を参照>

 

今回の直読型周波数カウンタは、バンドメモリに7つのオフセット周波数を登録する事が出来る
バンドメモリを活用して、R-4Aで使用するために5.645MHzをバンドメモリに登録する
R-4Aは受信モードによって、プリミックス出力の周波数が変動しないため、オフセットを合わせるだけで周波数直読が可能である

IMGP5686
写真はR-4Aで3.559MHzを受信時の様子

  •   表示周波数 =  計測周波数  –  オフセット周波数
  •  オフセット周波数  =  5.645060MHz

 

SSBを受信してゼロイン後に、表示周波数が受信周波数と同じになる様に
オフセット調整を行う事で、誤差の少ない受信周波数の直読が可能となる実際に使って見ると、周波数変動(QRH)が可視化され、その修正も非常に簡単である

更に高度な使いこなしとして、バンド毎に校正した周波数を直読する場合は、3.5MHz,7MHz,14MHz,21MHz,28.5MHzで5つのバンドメモリに5,645MHzを登録し、それぞれのバンド毎にオフセット調整を行う事で、直読精度は更に向上する

実際に使ってみると、とても便利である

これで、メイン受信機であるR-4Aを更に快適に使う事が出来るのである

FT-101E で使ってみるに続く…

直読型周波数カウンタの制作 活用編1

部品の調達と組立

今回の直読周波数カウンタで、特別な部品は無いのである
只、この部品は最初からバンドメモリの切替に利用を前提としていた
12接点のロータリSWである、なおこのロータリSWは使用接点数でストッパーを掛ける事によって8接点で使用している
このロータリSWの代わりに普通のボリームでも使用出来るが、バンド切替であるのでやっぱりロータリSWの方が使い勝手は良い
このロータリSWの端子に抵抗を取付て、クリック付き8接点VRとして今回は用いている
その他のスイッチ類も一般的なものである

IMGP5679

 

水晶発振器は安かったので、10個パック300円の表面実装タイプを使用した
常温で使用するので、ゲートタイムの補正機能があれば十分と考える

アンプ回路も、一般的な2SK141と2SC1815である

 

ケースは色々と考えたのであるが、私の加工技術が未熟であるため、金属パネルを綺麗に直線に切り抜きが出来ない
従って、今回は安易に100均のミニカー等のディスプレイケースを用いた
自分用であるため、周波数測定入力は2系統とし、スイッチで切り替えられる様にした
電源は、9VのACアダプタのコネクタを付けて対応している

IMGP5684

<FRONT >

IMGP5681

<REAR>

フリーハンド加工であるため超適当ではあるが、何となくそれっぽい雰囲気にはなった

IMGP5683

R-4Aの上に載せた、周波数カウンタである

思ったほど、違和感は無い(自分的に)

 

次に続く…

直読型周波数カウンタの制作 要素開発編4

とりあえずの、ファームウェア概要である

最近の機器の場合は、商品なり制作物の仕様の大半が、搭載されるファームウェアによって実現される
そして開発費用のかなりの部分がファームウェア開発費となっていると思う
ファームウェアの開発規模も昔に比較すると巨大なものとなっており、その生産性と品質の向上にトップエンジニアが日夜努力をしている

この直読型周波数カウンタについては、自分が自分のために開発しているファームウェアである
従って、自由に仕様が決められるのであり、ファームウェア検査も自分自信が行う甘々の検査である

で、前置きはともかく本題に入ろう

最初に動作モードは以下の3点である
1.通常計測モード
a.電源を投入するとこのモードとなる
b.入力信号の周波数を計測し、選択されたバンドメモリのオフセット周波数と計測周波数を演算して表示をする
c.バンドメモリの0-7で8メモリである

<バンドメモリ0はオフセット周波数は0Hzで、計測周波数がそのまま表示される>

IMGP5675

写真は、10MHzを入力

・バンドメモリ7番の オフセット周波数は-455KHz

・表示周波数は 10MHz – 0.455MHz = 9.555MHz

 

2.較正モード
a.Funcボタンを押しながら電源を投入するとこのモードとなる
b.バンドメモリのオフセット周波数は演算されない
c.計測した周波数を選択したバンドメモリにオフセット周波数として登録できる
d.電源OFFで解除

IMGP5677

写真は、10MHzを入力

・バンドメモリ7番の オフセット周波数は-455KHz だがオフセット演算はしない

・表示周波数は 10MHz

・ここでFuncボタンを押すと、バンドメモリ7番に表示している周波数がメモリされる

 

3.オフセット修正モード
a.Modeボタンを押しながら電源を投入するとこのモードとなる
b.通常計測モードと同等であるが、FuncボタンとModeボタンでオフセット周波数を5Hz単位で加減出来る
c.電源OFFで解除
*古い無線機や受信機では第一局発の水晶発振周波数がズレている事が多いのでこのモードで調整を行う想定である

IMGP5678

写真は、10MHzを入力

・バンドメモリ7番の オフセット周波数は-455KHz

・表示周波数は 10MHz – 0.455MHz = 9.555MHz

・ここでFunc/Modeボタンで、バンドメモリに記録されているオフセット周波数を5Hzステップで修正出来る

 

 

実際にファームウェアを実装してみると、4Kwordでのプログラミングは厳しいのである
コードの共通化や、コードの見直しを行い4Kwrodに押し込める(なんか大昔を思い出してしまうのである)
今風のエレガントなコードからかけ離れてしまったコードが残念である 自分の非力さを改めて思い知ったのであった

直読型周波数カウンタの制作 活用編1へ続く

直読型周波数カウンタの制作 要素開発編2

2つ目の要素開発項目は、16F88自体での周波数カウント方法である

ポイントは内蔵タイマをどの様に使って周波数数カウントし、限界値(最大測定周波数)が要求仕様に入っているかを確認する事である
LCDが動作しているので、周波数をカウント出来れば単体で、テストが出来る様になる
今回は、timer0とtimer1を試して比較してみた

PICではtimerと呼び名が付いているが、オーバフロー時または設定したカウンタ値に到達したら、割り込みが発生するフリーランカウンタである

入力に一定周期のバルスを入力すると当然タイマーとなるのである
入力周波数をカウントするのに、どのTimerが良いか検討した

1.timer0

16F88のtimer0は入力信号と内部クロックの信号が同期となっている

・入力はシュミットトリガでは無い

・カウントのON/OFFが制御出来無い

従って原理的にCPUクロック(20MHz)以上のカウントは出来ない

2.time1

16F88のtimer1は入力信号と内部クロックの信号が同期を非同期に設定することが可能

・カウントのON/OFFが制御出来る

・入力はシュミットトリガ

CPUクロックに非同期入力なので、カウンタロジックの限界値までカウントが可能

3.time2

・カウントのON/OFFが制御出来る

・内部クロックのみ入力可能なので、外部信号のカウントには使用出来ない

当然ながら信号の周期数カウントにはTimer1を使用する事にした

次にゲートタイムの測定用timerであるが、timerのon/offが制御出来るので、timer2を使用することなった

この辺りの構成は、結局稲垣氏の周波数カウンタVer7と全く同じであり、稲垣氏の着眼点に敬意を表するのである

ちなみに私の実験ではtimer1のプリスケーラなしで、60MHzのカウントが出来た

timer1のカウント入力は簡単に確認出来、次にtime2を使用して、1秒と0.1秒のゲートタイムタイムにする
この辺りは、基本フローを紙に書き出して、タイミングと処理内容を整理して、ファームウェア実装を行い、周波数の計測が出来ることを確認した
ゲートタイムの評価は、Timer1の入力設定でクロック信号の1/4を利用する
この場合測定周波数が20MHzの1/4である5MHzになる筈である

一旦はこれで、基本機能評価が出来る用になったのである

 

IMGP5671

要素開発編3へ続く

 

直読型周波数カウンタの制作 要素開発編1

要素開発とは、なかなか聞き慣れない方も多いと思う

一般的には製品を作る中で、必要な技術を確立させることである

今回の周波数カウンタ程度では、要素開発なんて大げさではある、けれど個人の趣味プロジェクトなので、偉そうに使った言葉ではある
さて、今回の制作には3つの要素開発が必要と考えた
1つ目は、16桁2行のLCDの制御である、LCDは一般に発売されているSC1602Bを利用する、SC1602Bについては一般的に動作さいてる実績が沢山あるので、今更感はあるのである

けれど、情けないことに自分の手の内(自分で理解して修正や応用が出来る)にはないのである

従って、自分でSC1602Bの初期化を含め、データのハンドシェクの一連を手の内に入れることを目的として、LCD制御部分を作成してみることにした
今回はLCDのBUSYを読出しする事で少しでも周波数測定のサイクルタイムを早くする必要があるので、とりあえず色々とやって見ることにした
取敢えずは諸先輩方のソースを色々と拝見させて頂き、大体の制御の流れを理解する
初期化処理、4bitモードでのハンドシェイク、画面クリアやカーソル処理などスクリーン制御と、1文字入力からカーソル位置によってのスクロール処理を実装した
その後に、C言語でのputc()と同等の関数を作成して、LCD表示についての処理を表示モジュールに集約してみた

とりあえずは、SC1602Bの制御は手の内に入ったと思う

IMGP5670

(写真は、キャラクターコードを順に表示しながら、スクロールしている画面、スクロールも高速である)

ちなみにLCDの制御については、PICのポートをどの様に使うかが諸先輩の嗜好が別れており面白い所である

要素開発編2に続く

 

直読型周波数カウンタの制作 仕様検討編

いままで、色々と調べて来た内容から、制作する周波数カウンタの仕様概要を決めるのである

HMY0121_4

<とりあえずの回路図である>

以下 直読型周波数カウンタの仕様概要案

1.動作範囲等

a.周波数の測定範囲は100KHzから40MHzまでとする (内蔵PreScale OFF時)

b.入力感度は3dBm以上入力インピーダンスは50KΩ以上 (40MHz時)

c.動作温度は常温とする

2.周波数計測桁数は10MHz測定時に7桁(ゲートタイム0.1秒時)とし、ゲートタイムが1秒時には8桁とする

3.測定周波数とオフセット周波数の表示は同時に行う

4.表示は16桁2行のLCDとする

5.操作系のスイッチは以下の通り

a.ゲートタイム切替  b.オフセット登録(FUNCTIONキー) c.変調モード切替(MODEキー) d.内蔵PreScreler切替 e.バントメモリ切替(ロータリーSW)

FunctionとModeキーは登録したオフセット周波数の+-の調整機能を持たせる

6.マイクロコントローラはEEPROMが256Bytesでプログラムステップ4Kwordの16F88を使用する (将来は16F1827切替を予定)

7.周波数計測の増幅器は、入力インピーダンスを高くし感度を確保するため、初段にFETを使用しPICへのT1入力へトランジスタを使用する二段アンプとする

8.ファームウェアの実装でC言語だとプログラム容量の不足が想定されるため、開発言語にはアセンブラを用いる

9.クロック信号には20MHzの水晶発振ユニットとする、精度が必要な場合は発振器を選別で対応をする
ざっくりとした仕様は上記であるが、全体のかなりの部分がファームウェアの開発に費やされることになるである

要素技術確認編へ続く

*筆者はこの回路及び記事を使用した場合の責任は負いませんのでご留意下さい

直読型周波数カウンタの制作 調査編1

欲しいものは高価なのである
R-4AFT-101等で使用出来る、直読型周波数カウンタについて調べてみた
各機種専用のメーカ純正品や、サードパーティの専用品はオークションで偶に出品されている
しかし、コレクターズアイテム価格で、とても私ごときが、おいそれと購入は出来ないのである
そこで、諸先輩方の周波数カウンタの制作実例を拝見させて頂いた
皆様色々と工夫されているのである。

お手本として、16F88を使用した稲垣氏の周波数カウンタVer7をダウンロードして組立てて見た

シンプルな回路で、ここまで出来るのは凄いことである

稲垣氏のオリジナル
(稲垣氏開発のファームウェア、周波数カウンタV7)

一般的なラジオの中間周波数である455KHzをオフセットとして測定周波数に対して足して表示する周波数カウンタの作例は多い、それ以外のオフセットについては自分で、PICファームウェアの書き換えか、PICのEEPROMの書き換えが必要である
製作例によっては、オフセット周波数書換え専用ツールがあるが、出来ればパソコン無しでオフセット登録をしたい

YC-601みたいにバンド切替SWで、オフセット周波数とオフセット演算が選択出来て、主要なバンドの周波数が直読出来ればよいのである。

現時点での要求仕様では、市販品や諸先輩の作例をそのままの利用は難しい、との結論に至ったのであった。

ここで、R-4AとFT-101などで使える、直読型周波数カウンタの仕様検討を開始することにしたい

調査編2へ続く..