↑ 15MHZ受信バンドを表示
TS520S/Vに接続する、外部デジタル表示器の実機製作

TS520S/Vに接続する、3入力周波数カウンタ基板の製作です。

これでTS520の送受信周波数をデジタル表示するのが目的です。
それを実現するために、とりあえす必要と思われる必要最小限の回路と、
そのPICプログラムを、事前実験的に作ってみます。
せっかく購入した20ピンPIC、16F1829を使ってみたかったと言うのもあります・・・
これで目途が付いたなら実用?基板を製作してみようかなっと目論んでいます。


参考文献
PIC16F1829データシート Microchip
TS520S取扱説明書 KENWOOD

↑ TS520 HET回路出力部および、
  VFO出力部 回路抜粋



↑ TS520 CAR発振回路及び
  出力部回路抜粋
TS520本体から与えられる信号源は、下記の通り

①HET出力(クリスタル・コンバータの局部発振周波数)
 29MHZバンド- 37.995MHZ
 28.5MHZバンド- 37.395MHZ
 28MHZバンド- 36.895MHZ
 21MHZバンド- 29.895MHZ
 15MHZバンド- 23.895MHZ ※参考文献の記載(23.395MHZ)はミスプリと思われる
 14MHZバンド- 22.895MHZ
 7MHZバンド- 15.895MHZ
 3.5MHZバンド- 12.395MHZ
 1.9MHZバンド- 10.695MHZ

②VFO出力
 5.5~4.9MHZ

③CAR出力
 1)送信時キャリア出力
  TUNE- 3.395MHZ
  CW  - 3.395MHZ
  USB - 3.3965MHZ
  LSB - 3.3935MHZ

 2)受信時キャリア出力
  TUNE- 3.395MHZ
  CW  - 3.3943MHZ (注1)
  USB - 3.3965MHZ
  LSB - 3.3935MHZ

受信経路

ANT-MIX-(8.895MHZ~8.295MHZ)-MIX-IF(3.395MHZ)-復調-AF
     ↑                  ↑            ↑
     ①                  ②            ③

運用周波数
 F=①-②-[3.395MHZ]

注1)
本体回路図より、CWモード用水晶発振子は、3.395MHZ用のみです。
この水晶発振子を送信・受信にて発振し使用している。
送受切替時には発振回路内の固定コンデンサを切替しているのみです。
それにより、受信時はCAR水晶発振周波数を3.395MHZより、
約700HZ程下方変化させている。
モードをTUNEにすると、受信時でも送信時周波数となります。

↑ TS520S/V 背面コネクタ

一番上が約14V直流出力2ピンコネクタ
黄色いRCAピンが接続されている、
画像右側がCAR出力
画像中央がHET出力
画像左側がVFO出力
さて、TS520シリーズなら何でも良いのかと思ったら・・・

当局在庫のTS520X/Dを見てみると、背面に出力端子が無いような・・・ 
まずは、実験に使用したのはTS520Vで、これはちゃんと出力端子があります。
出力端子はそれぞれRCAタイプとなっています。
また、同位置に2ピンコネクタがあり、約14Vが出力されています。

TS520S/Vの回路図を眺めていて気が付いた事は、
VFOとCAR出力端子直前に、直列に680Ωの抵抗が挿入されており、その後、
並列に680Ωの抵抗も入っています。
結果的に出力は減衰され、出力インピーダンスは高くなっていると思われます。
HET出力は専用バッファからダイレクトに出力されています。
よって、HET出力は低インピーダンス出力と思われます。
何か50Ωのケーブルに拘る必要は無い様な感じですが・・・
接続ケーブルには、故VHSビデオに付属していたビデオケーブルでも使ってみるかな。

オシロで観てみると、意外と出力は大きく、0.4Vpp~0.6Vpp程度あります。
よって、RFアンプのゲインは少ない方が良さそうです。
1石分程度のアンプでもアッテネータが必要かも。


↑ メイン基板 回路図
この回路図中のすべての部品が基板に
配置されている訳ではありません。



↑ メイン基板
画像左上がRFアンプ部分
画像左下がアナログスイッチ部分
上からHET入力、VFO入力、CAR入力
画像中央がPIC1829
回路の構想およびメイン基板作製

構成要素
① 3入力切替、アナログスイッチ(PICでコントロールできる事)
② HF帯用RFアンプ
③ PIC周波数カウンタ
④ 秋月SPI接続8桁7セグ表示モジュール、DFR0090

①は、ただのダイオードスイッチで構成しました
 PICでコントロール可能なアナログスイッチとなっています。
②はマイクロワット計の製作実験で製作済み、結構広帯域なアンプです。
  NFBを掛けてないので、フラットではありませんが、100MHZ程度まで使用可能です。
  当HPで公表していなかったかも・・・(不完全な下書きは存在する)
③当局初使用のPICです。
  基本プログラムはPIC16F688周波数カウンタで実験済み、
  そこから移植し、タイミング変更しています。
④の制御プログラムは当HP内別項で実験済み
 丸ごと転用しています。
 LEDが大きく見易く、自由に制御可能なのがgood

と言う訳で、予備実験的なつもりですから、実用性は置いといて、
まずは簡単かつ必要な最小限回路で製作してみる事に。
回路図は左記の様に1つのPICですべてを行う形にしました。
因みに当初、ロータリースイッチはRC3,RC4,RC5,RC6への結線のみで、
4接点しか接続していませんでした。
回路図上のRC7,RB7は未接続でした。
こんなお手軽基板でも動作実験は可能と思われます。

PIC16F1829について
これは当局部品箱在庫にある、20ピンの16F690を使用するつもりでしたが、
16F1829を秋月で購入しちゃったので、使ってみる事に・・・
16F1828でも良かったのですが、価格が大して変わらないうえにメモリは多いので、
16F1829の方を購入しました。
それで、マニュアルをざっと眺めてみると、微妙にF1823/F1828とは違いがありました。
I/Oピンでは入力レベルの切替レジスタがありました。
各ピンにおいて、TTL/ST(注1)の切替が可能な様です。
他にもあるかもしれません。
今回はこのレジスタは弄らない(デフォルトのまま)の方が良さそうです。
また、ピン配列が16F690と同じなので、基板そのままで交換できます。
もちろん、プログラムの変更は必要ですが。

メイン基板
秋月のユニバーサル両面基板(中)を使用しました。
大きめの基板なので、部品配置にはけっこう余裕があります。
なので、ICSP回路と端子も取付ましたけど・・・意外とめんどくさ
結局、秋月のPickit2互換ボードでPICへ書き込みしています。
ピン数が多いので、ソケットへの着脱に注意しないと、ピンが折れたりします。
最初ラジオペンチで引き抜いたら、IC表面を傷つけてしまいました・・・ (-_-;)
その後はIC引き抜き器を使用して、ソケットから着脱しています。

注1)TTL/ST
基本的にPICの入力ピンはTTL互換、出力はCMOS同等となっています。
ただ、RA2/T0CKIはシュミットトリガ(ST)となっています。
これをレジスタ「INLVLx」で指定可能となりました。
PIC16F1829用ソースファイル

16f1829_tsdp01.asm


HEXファイル

16f1829_tsdp01.HEX

使用ツール

MPLAB IDE Ver8.92

Pickit 2 Ver2.61(最終版)
デバイスファイルも最終版
Pickit2でPIC16F1829を自動認識しません
手動で認識させます

秋月 AE-PICPGM USB ライタ
PICの主なプログラム

詳細はソースファイルをご参照ください、なるべく丁寧にコメントしたつもりです。

周波数カウンタルーチン
PICではポピュラーな、タイマ0(T0CKI)を使用した外部周波数カウンタです。
カウントゲートのON/OFFはPIC16F688基板同様74HC00(NAND)を通して、
RA0出力ポートで行います。
RF入力アナログスイッチ切替は、RC0-2出力ポートから直接行います。
プリスケーラ残ビット掃出しも74HC00を通して、RA1出力ポートで行います。
よって、PICは自由に3波入力それぞれの周波数をカウントできます。
秋月の高精度発振器を使用できるよう、X'TALは12,8MHZを使用。
もちろんプログラムも12.8MHZに合わせてあります。
PIC16F688基板であった、RF入力無での1HZ表示するバグは修正してあります。
意外とつまらない所にありました・・・
RFゲートに使用している、74HC00のNAND1において、RFゲートONによって
1パルスカウントしてしまう様でした。(ゲートOFF時は大丈夫でした)
OPTION_REGのTMR0SEによる、T0CKIソースエッジの選択は、↑↓どちらにしても
このバグに関しては影響は無かったです。
RFゲートをONしてから、すぐにTMR0クリアする事で解決しています。
これによるRFカウントへの影響は、2サイクル分不感になる事ですが、
その辺は、タイミング微調整すればOKと思われます。

固定値判別ルーチン(TS520専用)
時間が前後してしまいますが、実はこれは後で付け加えたルーチンです。
これにはHET用とCAR用があります。
このルーチンは演算ルーチンからコールされることを想定しています。
呼ばれた時、100msゲートのデータを取得しない流れだった場合、
専用の10msゲートのデータを取得しに行きます。
そのデータから、CAR用ルーチンでは変調モードとIF周波数固定値を返します。
HET用ルーチンでは、各運用バンドを判別、対応したHET固定値を返します。
返す固定値は100msゲートのデータに合わせてあります。
単純なルーチンですが、これのおかげで表示フィーリングが格段に向上しました。
これが無いと本基板は、ただの事前実験基板で終わっていました。

演算ルーチン
VFO/HET/CAR、3つのカウントデータは演算処理し、運用周波数データとします。
基本的にカウントデータは100msゲートの物を対象としています。
32ビット、16ビットの2つの減算ルーチンで処理します。
その後32ビットBCD変換処理をし、表示モジュール処理ルーチンへと行きます。

↑ 当初のバラックでの実験 



↑ モードLEDは4種類(下小基板)




↑ 電源はAVRから5Vを供給


当初の実行モードは4種類

回路図上のRC7,RB7は未接続で、4つの実行モードで構成されていました。
①運用周波数モード
標準動作モードとなります。
0.1秒間隔でHET/VFO/CARを順次カウントします。
それらを演算処理後、運用周波数を表示します。
表示は7桁しか使わず、最小単位は10HZです。
②HET周波数モード
1秒間隔でHET周波数をカウント、表示します。
表示は8桁まで使用、1桁目(最小単位)1HZ
③VFO周波数モード
1秒間隔でVFO周波数をカウント、表示します。
表示は8桁、1桁目(最小単位)1HZ
④CAR周波数モード
1秒間隔でCAR周波数をカウント、表示します。
表示は8桁、1桁目(最小単位)1HZ
高精度オシレータ使用の場合、TS520内部X'TALの校正にも使用できます。



基本動作試験

デバッグ用プログラムを用意して、実験基板のテストをしてみました。
単独入力では、SSGからの入力で80MHZまでカウントしています。
しかし、50MHZを超えると、感度がどんどん悪くなります。
タイマ0へのメイン処理ループが13サイクル程ですので、大雑把な計算上、
63MHZ以上では取りこぼしが発生する可能性があります。
また、74HC00の対応速度の問題もありますが、意外と高速で動いてくれます。
この回路による無線工作用カウンタとしては、60MHZ程度が実用範囲と思われます。
ここでは40MHZまで安定に動作すれば問題無です。
RFアンプも適当な配線の割に、広帯域で安定に動作しています。
シールド等これと言った発振対策は何もしていません。
以前実験製作の回路と比べて、はるかに安定感があります。



デバッグ用プログラム一覧
DEBUG01:8桁7セグLEDモジュールの動作試験用
DFR0090コントロールで、0から1つずつインクリメントしていきます。
これが動作しないようでは、以後の実行してのデバッグができません。

DEBUG02:タイマ0プリスケーラ残ビット取得ルーチン
74HC00のコントロールおよび該当ルーチンの動作確認用
32パルスをRA2(TOCKI)に注入します。
LEDに「32」と表示されればOKです。

DEBUG03:周波数カウンタ基本ルーチンの確認用
プリスケーラを動作させてない状態での周波数カウント実験
RFアンプと74HC00コントロールの一部動作確認用
2MHZ程度まで正確に周波数表示すればOKです。

DEBUG04:周波数カウンタルーチンの確認用
全てのハードウエア動作確認用
アナログスイッチの選択LEDが点灯している入力にRF信号を入れます。
他の入力ではカウントしない事を確認。
また、40MHZ以上まで安定かつ正確に周波数表示すればOKです。

↑ TS520Vとの接続

 黄色のビデオケーブルを利用
TS520Vとの接続および動作試験

接続
HET端子はTS520S/VのHET出力端子
VFO端子はTS520S/VのVFO出力端子
CAR端子はTS520S/VのCAR出力端子
それぞれケーブルで接続します。
今回は使わなくなったビデオケーブル(黄)を流用しています。
電源はリグからではなく、今回は実験用安定化電源から供給します。

ロータリースイッチ
OPE 運用モード
    リグの実際の運用周波数を表示します。
    計測は100msで、周波数表示は10HZの桁までで、7桁表示となります。
HET 第一局部X'TAL発振回路からの入力単独表示モード
VFO VFO出力の周波数単独表示モード
CAR キャリア発振回路からの出力を単独表示モード
    3種それぞれ1秒ゲートタイムで割と正確に表示します。

使用感

運用モードでの話になりますが、結構もっさりしています・・・
VFOダイヤルを動かすと、その周波数変化に表示が付いて行けません。

HET/VFO/CARと0.1秒づつカウント、結局0.3秒ごとに表示が変化するので、
最初から覚悟はしていましたが、それがもっさりの原因となっています。
CAR取得をやめて、HET/VFOの2つカウントにするとよっぽどいいかも・・・
基本的にはHET/CARカウントは別PICで行い、メインPICはVFOカウントと、
分別した方が実用的な操作感触となりそうです。

予定通り、このままではあまり実用性がありません。
基本的なプログラムは作成できましたので、これは使用していきます。
さて、2PIC構成の本基板でも作製するかな・・・・


↑ アクリル板にSW・LED類取付



↑ 板に基板を取付
  配線をしていますが・・・ごちゃごちゃ



↑ 電源基板 14V→5V

 TS520S/Vの背面直流出力からの、
接続を想定しています。
ここではAVRから14Vを入力しています
放熱器が小さいので、発熱します



これでこの実験が終わってはつまらない・・・

このままこの実験基板がジャンク箱行きではアマチュア無線家とは言えない・・・
なにか面白い方法が無いかと、スカスカの頭を振ってみました・・・
運用モードの場合、HET/CARは水晶発振で、周波数調整さえきっちり行えば、
固定値で演算しても、何とか許されるのでは? アマチュアですし・・・
せっかく1秒ゲートの、調整用モードもある事ですしね。
もちろん、測定値での演算よりは表示周波数誤差は増えますけど・・・

と言う妥協的発想で、固定値判別ルーチンを作ってみる事に。
それは水晶発振である、HETとCARが対象となります。
VFOは10HZの分解能とカウント速度が欲しいので、100msゲートタイムのまま
後は短時間でHETとCARの周波数情報を取得できれば良い事になります。
そこで、10msゲートタイムルーチン作ってみました。
実験的にこのゲートタイムで、VFO/HET/CARと連続測定してみました。
実際は、表示を目で追えないので、3種測定1秒ウエイトと言ったサイクルですが。
この速度で高速切替してもアナログSWは、追従してきているようです。
もちろん分解能が、かなり落ちますが、ちゃんと測定し、表示ができています。
HET/CAR各水晶発振の周波数判別には十分な精度です。

結果、全体スピードに対して、感覚的には影響は殆ど無いと思われます。
また、バンド判別のみならず、変調モードも判別できます。
よって、7セグLEDの余り桁(8桁目)に変調モード表示を追加しました。
このルーチンを使用して、運用モードを改良してみました。



改良運用モードの実験、実行モードは全6種類

改良運用モードでは下記の3種類を用意してみました

運用モードA
VFO/HETは、それぞれ100msゲートでカウント、その測定データを使用。
CARは固定値を使用で、演算ルーチンで処理、表示させました、
すると・・・
表示のレスポンスはイマイチですが、まあこんなもんでしょうか?
最初の運用モードよりは、遥かにストレスを感じ無くなりました。
この辺が妥協点でしょうか・・・当局なりのメインモードです。

運用モードB
VFOは100msゲートでカウント、その測定データを使用。
HET/CAR共は固定値を使用で、演算ルーチンで処理、表示させました、
すると・・・
VFOダイヤル回転に対しての表示のレスポンスは、概ね良好です。
操作にストレスはほとんど感じず、良好なフィーリングです。
見かけは一番良好なのですが・・・う~ん・・・
HETの実測値と固定値とのわずかなズレがちょっと気になりますけど。
それを我慢すれば、実用性のある操作感です。

運用モードC
VFO/HET/CAR、それぞれ100msゲートでカウント、その測定データを使用。
周波数表示も変調モードでずれます。
最初の運用モードそのままで、勿論、もっさり表示で使う気になりません。

以上の変更により、ロータリースイッチは6接点の使用となりました。
当初存在していた外部PICとのデータ通信用ポートを、そのスイッチ用に変更、
シリアル通信ルーチンは削除しました。
これはもう一つのPICカウンタでHET/CARを測定、それを受信するつもりでした。
以上の変更に関して、基板上ハードウエアの変更はありません。
プログラムの変更のみです。
回路図上ではロータリーSW周囲が追加されてますが、実際は基板外での配線追加です。

↑ 運用モードOPA

14MHZバンド、TUNEでの画像



↑ HET周波数モード(29.1MHZバンド)



↑ VFO周波数モード



↑ CAR周波数モード
整理

そんなこんなで、プログラムもちょっと肥大化してきました・・・
この回路でも妥協できるポイントができました。
一旦この辺でまとめたいと思います。

実行モード選択スイッチ(ロータリーSW、6/12接点使用)
①運用モード
  Aモード:VFO/HETは100msゲートタイム、CARは固定値
  Bモード:VFOは100msゲートタイム、HET/CARは固定値
  Cモード:VFO/HET/CARすべて100msゲートタイム、最初のもっさりなモードです。
②HET単独表示 1秒ゲートタイム
③VFO単独表示 1秒ゲートタイム
④CAR単独表示 1秒ゲートタイム

CARはやはり、固定値が良いので、基本的に実測値は使用しない事とし、
HETは調整するのは面倒なので、実測値を標準(Aモード)としました。
レスポンスを優先する場合はBモードが感触が良いです。
この基板は安価な水晶発振子を使用しています。
これを実使用するには、高精度発振器を使用した方が良いです。
おまけで、最初のもっさりモードも残しましたが、いらないかな・・・
単独表示モードはそのまま使います。
これはあると何かと便利ですし、汎用周波数カウンタとしても使用できますしね。

運用モードの表示
①運用周波数モード
周波数表示は7桁、1桁目(最小単位)10HZ、8桁目は変調モード(U、L、C)
例)28100109HZ,USBモードの場合、
 U28.100.10
②HET周波数モード
1秒間隔でHET周波数をカウント、表示します。
表示は8桁、1桁目(最小単位)1HZ
③VFO周波数モード
1秒間隔でVFO周波数をカウント、表示します。
表示は8桁、1桁目(最小単位)1HZ
④CAR周波数モード
1秒間隔でCAR周波数をカウント、表示します。
表示は8桁、1桁目(最小単位)1HZ
外部高精度オシレータ使用の場合、TS520内部X'TALの校正にも使用できます。


TS520S/Vに接続する、外部デジタル表示器の実機製作

中間報告

この基板は本番基板を作製するための予備実験回路のつもりでした。
運用A/Bモードの良い所取りするには、もう一つ同様のPICカウンタが必要となります。
今回なぜ予備実験回路を作ったのかと言えば・・・

TS520S/VにはHET/VFO/CARの3つのRF出力端子かあります。
これを周波数カウントし、演算する事により運用周波数のデジタル表示が可能です。
HET/CARは水晶発振であまり動きませんが、VFOはバンバン動かします。
3つの周波数を短時間でカウントし、かつ分解能も上げなければりません。
分解能を上げるには、それぞれのカウント時間を長くしなければなりません。
ここに相反する2つの項目が大きく存在します。
それには1つのPICカウンタではゲート時間的に所詮無理がありました。

最初の回路構想では3つのPICカウンタで構成され、シリアル通信で接続、
HET/CAR/VFOカウンタがそれぞれ独立に動作としました。
これにより、表示レスポンスと分解能を両立する事とを目論んでいました。
ただ、同じような回路がいくつも重複してしまうのが、どうにも気に入らず、
PICカウンタを2つに減らし・・・それでもまだ重複が解決しないし、
もっさり表示覚悟で、PIC1個による3入力の周波数カウンタを考え始め、
まずは簡単な回路でどこまでできるか、ハードウエアを作ってから考えよう、
ハードは捨てたとしても、その際のプログラムは再利用可能ですしね。
それが今回の予備実験回路の製作動機となったのでした・・・

例によって、ハードウエアを製作してしまい、それに合わせてプログラミング。
それは過去に製作したプログラムを移植しただけで、簡単なものでしたが。
一番面倒だったは、クロックの変更のため、時間合わせの計算でした。
結果は予想通り、最初のプログラムでは、動作はするが、もっさり・・・でした。

さて、ここからが一番楽しいのですが、
10msゲートカウンタを使用した固定値選択ルーチンを採用する事により、
複数PICカウンタ回路と同等程度のレスポンスを何とか確保できました。 

となると、当局の基本方針から、「なるべく簡単なハードウエア」で・・・が、
ポッコリ浮上してきましたです・・・ (^^♪
ならば発振回路を変更すれば、即本基板となってしまい、お手軽です。
まずは当局のTS520で、この実験基板を使いながら、今後の事を考える事にしました。

これでデジタルディスプレイの試作は終わりますが、完結した訳ではありません。
最初の実験を行っただけですので、中間報告とさせて頂きます。
基板を板に固定しただけで、ケースにも入っていませんしね。
いずれはちゃんとした物を製作していきたいと思いますが・・・
プログラムのバグ、その他改良点は修正し次第ご報告します。

2015年05月 JA0QON
 
 ↑ 実機編へ行く
追記 2015年11月

実機編を公開しましたので、左記のボタンから行く事が出来ます。
戻る  実験・製作の記録TOPへ戻る