昔はラジオは貴重品だった 1973年製造か

手持ちのラジオ NATIONAL RF-541 である

IMGP5697

昭和48年位の製造と思われ、現在も完動品である

音質は、6センチスピーカで良く言うとマイルドであり耳にやさしい感じであるが、やっぱり、ポケッタブルラジオとホーブルラジオの中間であり、それなりである

感度は必要十分であり現在でも申し分ない、周囲にインバータ回路等のノイズ元が無ければ十分に実用である

同調ダイアルは糸掛け式でチューニング感覚は普通であり、違和感は無い

(最近の安物ラジオはバリコン直結が多いので、それらとは一線を画す)

IMGP5698

リアバネルに、AMとFMの切替SWがある

 

IMGP5699

裏蓋を開けた所である

電源は006Pの9V電池を使用する

電流を測ってみたが、普通に聞ける音量で電圧8.5Vの時に10mA程度であった 従って当時の006P電池でも連続5時間以上は聞けたと思う 又このラジオはDC入力端子があるのでACアダプタでも使える実用品である

1970年代のラジオらしく、見えるトランジスタは4個は、懐かしきゲルマニュームトランジスタである

オーディオ用トランスも2つ使用している、バーアンテナも容積は大きいのである

AM,FM合わせて9個のIFTで搭載されており、製造時の調整もそれなりに大変だったのであろうと予想する

普通のポータブルラジオであるが当時の価格は8千円位だろうか、1973年の初任給換算を現在に適用すると、8千円 ✕ 2.3倍 = 1万8千円 である

やっぱり昔のラジオは貴重品だったのである

このラジオも当時を伝える文化財である、大切に次の世代に渡したい

 

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の代わりに使う事は可能ではないかと思うのである

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

 

送信出力と測定器の直接接続は厳禁 要 CMカップラ

送信機は固定機で10W-200W程度(一部の高級機で400W)の出力がある

10Wでもハンダ付けが十分に出来る電力である、400Wあれば寒冷地でもコタツで暖が取れる電力である

反面、測定器の入力信号は極めて敏感であり、たとえ10Wでも送信出力を加えたら殆ど壊れると思われる

送信出力をそのまま測定器に接続するのは厳禁である (出力計等は除く)

送信時の周波数などを計測する場合は計測器の許容入力範囲まで、出力を減衰させるか、出力の一部を取り出す等の手段で、計測器側に合わせる必要がある

IMGP5687

写真のCMカップラーは比較的電力の高い出力から、-20dBの電力取り出すものである
例えば100Wの送信出力から、このCMカップラで1Wの出力を取り出す事が出来る

<数年前に大先輩の矢花氏からケースを頂いたので作ってみた 2MHz-350MHzまでフラットな特性で十分に使えるものが出来た>

内部写真を見ると、巻線を巻いたフェライトコアに同軸ケーブルを通した単純な構造ではある

IMGP5688

送信機の出力を何らかの測定をする際には、とても便利なアダプタである

高周波を測定するのであれば是非揃えるべきアイテムである

ほかの自作例はこちら

 

高周波測定器の入力耐圧は大体MAXで1W程度で、実際の入力は1mW以下である

私の場合は、5W耐圧の-20dbアッテネータをこの後に接続する事で、取り出す電力量は-40dBとしている

IMGP5689

<5W耐圧の-20dbアッテネータ >

 

-40dBは1万分の1なので、100Wから10mWの電力となる
スペクトルアナライザ等を使う場合は、更に可変アッテネータで0.1mW程度の電力に減衰させて使用する
高周波信号の計測は奥深いのであるが、アマチュアと言えど入力許容電力を超えてはならない

 

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へ続く

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

3つ目の要素開発は、クロックに水晶発振子または水晶発振器を使用した場合の、周波数ズレの対策である

水晶発振子を使用した場合は、数10PPM程度の周波数誤差が想定され、水晶振動子にコイルとトリマコンデンサを接続して調整しても調整しきれない場合もある
クロックに校正済のOCXOが使えれば、測定精度は著しく向上するがコストの問題で非現実的である、安価なTCXOでも良いが、簡単に入手可能な20MHzのモノが見当たらないし、組立時に発振周波数の確認と較正は必要である

IMGP5672

<写真は今回使用する、水晶発振子 SG-636-20MHz>

機材の中に組込むのであれば、特に送信時などはあっと言う間に、周囲温度は上昇するため、温度補償は必須である

 

要素開発編4へ続く

直読型周波数カウンタの制作 要素開発編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に続く