FT-817 周波数設定基板(PIC16F88)


スポンサーリンク





背景
FT−817の背面にはACC端子がありここに外部とやり取りするためのシリアル通信(CAT)が準備されています。取説によれば、このCATを使うとFT−817の電源をON/OFFしたり、周波数を設定することができます。
今回は、FT-817のCATコマンドのうち周波数設定コマンドを使ってPS/2キーボードから入力した周波数をFT-817にセットする基板を製作しました。FT-817はフロントパネルのBAND UP DWNボタンとVFOダイヤルで周波数を変更するのは、FT-817の小ささから困難な場合があります。
周波数入力のヒューマンインターフェイスとしてPS/2キーボードを使用することにしました。入力は数字のみなのでPS/2のテンキーを使うことにしました。PS/2インターフェイスは電源と2本の信号線の合計4本の線で、多数の押しボタン入力の代わりになるので非常に便利な機器です。

サンワサプライ製のNT-9PPK というPS/2テンキーボードを使用しました。
電子工作 PS/2テンキー

電子工作 PS/2テンキー
このキーボードで周波数を入力し、Enterを押すことによってFT-817の周波数を変更します。入力中の周波数数はキャラクタLCDに表示する予定です。


回路図
回路図は以下の通りになります。基本的にFT-817 外部モニター(PIC16F88)と同じです。
電子工作 FT−817周波数設定
CPUはマイクロチップのPIC16F88を使っています。16F88は18ピンPICの中で比較的入手容易なもののなかでメモリー容量も大きく応用範囲が広く、良く使っています。PICのポートAには2行タイプのLCD SC1602BS(秋月)を接続、外部発振20MHzで動作させています。
USARTにはFT-817と接続するために端子台を用意してあります。また、PS/2キーボード接続のために端子台X2にPS2Clock、PS2Dataを接続しています。PS/2インターフェイスは33Kオームの抵抗でプルアップしておきます。

電源用の3端子レギュレータは1Aのものを使っています。PS/2インターフェイスを使う場合は、最大275mAをPS/2で使われる場合があるので0.1Aのレギュレータでは容量不足になる可能性があります。

FT-817とシリアル通信する場合は、FT−817側がTTLレベルなのでRS232C用のレベル変換ICを使う必要はありません。ただ、FT−817にリニアアンプを使うなど高出力環境で使う場合はフェライトコア、パッチンコア等でコモンモード対策をしたほうが良いと思われます。


基板
製作した基板はしたの写真になります。
電子工作 16F88 FT-817周波数設定基板
中央にPIC16F88を置いて、2P、3P、5Pの端子台はそれぞれ電源、CATインターフェイス、PS/2インターフェイス用です。
2×7のピンヘッダはLCD用のコネクタです。ブルーのVRはLCDのコントラスト調整用です。
ほとんどのパーツが秋葉原(秋月、千石)で購入できるものです。



基板にLCDとPS/2コネクタを接続した写真です。


プログラム
プログラムはmikroC Pro Ver3にてコーディングしました。mikroCは、PIC用コンパイラとしては使いやすいソフトで愛用しています。

UART:
FT-817のCATはストップビットが2なのでPICの設定で、9ビット目を有効にして9ビット目のデータをセットしておく必要があります。UARTの初期化時に

UART1_Init(9600);
TXSTA.TX9 = 1;
TXSTA.TX9D = 1;

としておけばUART1_Write(char ch)関数でFT−817へ文字を送信することができます。

起動するとキーボードからの入力待ち状態になり、数字とピリオド(小数点)キーの入力を待ちます。
電源投入直後は、テンキーがNumLock状態になっていないので一度NumLockキーを押す必要があります。
Enterキーが入力されると、入力された文字列を解析しFT-817に対して周波数の設定をします。

スポンサーリンク

操作方法
基板に、PS/2キーボードとCATインターフェイスを介してFT−817と接続します。FT−817の電源投入後基板の電源を投入します。
基板電源投入直後にLCDに一瞬「Welcome!」と表示された後に「Enter Frequency」と表示されます。
16F88 FT-817 周波数設定基板

次に、PS/2キーボードのNumLockボタンを1回押します。数字キーか小数点キーでないのでLCDに「Invalid key」と表示されます。
16F88 FT-817 周波数設定基板
このNumLockボタンによって、PS/2キーボードの上の数字の刻印が有効になります。

次に、QSYしたい周波数を入力します。
14.12000MHzにQSYした場合は、キーボードから
14.12+「Enter」
14.120+「Enter」
14.1200+「Enter」
14.12000+「Enter」
014.120+「Enter」
のように入力します。

小数点はMHz部分に一箇所だけ入力します。



LCDから入力される文字列の条件は、
1:少数点が1つある。(MHz部分) ただし、ソフトウエアでは小数点が2個以上あるかチェックしていません。
2:小数点の左側の文字数は1−3文字のいずれか
3:小数点の右側の文字数は1−5文字のいずれか


以下のような入力は、入力不可能です。
14+「Enter」    //少数点がない
14.+「Enter」   //小数点以下の数字がない
14.120000+「Enter」   //小数点以下の数字が6ヶある。


周波数入力中はLCDにキーボードから入力された文字が表示されます。
16F88 FT-817 周波数設定基板

周波数を入力し、Enterを押すとLCDに「Frequency done」と表示されFT−817の周波数が変更されます。
電子工作 FT−817 周波数設定基板


周波数変更後はすぐに、LCDは入力待ちの以下の表示になります。
16F88 FT-817 周波数設定基板


たとえば、14+「Enter」と入力間違いをしたときは下のように「Frequency failed」と一瞬表示され
すぐに入力待ちの画面に遷移します。
電子工作 FT-817 周波数設定基板


PS/2キーボード(テンキー)に関して、
PS/2キーボードから入力可能な文字は数字(0−9)、小数点、BSの3種類です。それ以外の入力は受け付けないようになっています。
また、テンキーは電源投入直後はNumLockがOFFになっているので、必ず電源投入直後最初にNumLockを押さなければなりません。
ソフトウエアからキーボードへコマンドをおくることができないためこのような制約がでてきます。

配布用基板   配布用基板の説明

スポンサーリンク

戻る
TOPへ