430MHzレピーターを復活させよう

レピータ・コントローラの製作

普通のトランシーバと、PICを使って本格的なレピータを製作する


 レピータ・コントローラ3の製作は、こちら 

CQ誌 2000年11月号 特集・430MHzレピータを復活させよう、で紹介したレピータ・コントローラについて紹介します。
数回に渡りバージョンアップを繰り返し現在はバージョン3になっています。
以下の、使用方法や注意事項をお読みの上、ご利用頂ければ幸いです。

レピータ・コントローラの特徴

  • 一般のトランシーバを2台使用しレピータ化するアダプタ
  • PIC16F84(PIC16F628)を使用し、主要な回路は秋月のキットで製作できる
  • レピータとして、正規のライセンスが下ろせる機能を持たせる
  • CW IDの送出が可能
  • LCDにより、各種パラメータや、動作状況が分かる
  • コールサイン、各種パラメータをパソコンからRS232Cを使用して変更できる
  • 88.5Hzのトーンスケルチは、使用するトランシーバに内蔵した物を使用
  • AX25 によるビーコンの送出が可能(ver.3)
  • DTMFによる制御が可能(ver.3)
  • 双方向レピータとして使用可能(ver.3)
最終更新日 : 2001.12.19
プログラムのダウンロード
レピータコントローラ3のプログラムはこちら
旧版(PIC16F84)のプログラム等の公開は、混乱を招きそうなので停止致しました
回路の製作と、アセンブルとプログラムの書き込み方法
以下は、旧レピータコントローラの解説です
回路の製作について
PIC周辺回路は、秋月のキット「AKI-PIC18キャリーボード・キット」が使えます。もちろん、部品を調達して自分で組んだ方が安上がりです。PIC18マイコンモジュールには「PIC16F84」タイプを使って下さい。回路図は自分で組む事を前提とし、必要な部品のみ書かれています。
回路は、CQ誌掲載のものと少し異なります。この回路図には、DTMFを処理するためのLC7385が書かれていますが、現時点では使用しておりません。すでに、プログラム・メモリが一杯で、DTMFの処理が可能かどうか不透明ですので、ソケットだけ付けておくか、まだ、取り付けなくても良いでしょう。私は、AKIPIC18ボードのフリー部分にソケットだけ載せています。また、プッシュSWが2つとLEDも搭載されています。
回路図の変更について(2000.12.23)
色々実験を重ね、より安定するように、仕様と回路図の変更をしました。ここでは、詳細と変更理由について解説します。具体的には新版(2000.12.23)の回路図をご覧下さい。「NEW」と書かれた部品が新規に追加されたものです。
受信機のトーンスケルチの論理を反転する回路へ変更
トーンスケルチの論理が正論理の場合、受信機の電源を切るとスケルチONと認識されてしまう場合があるので、トランジスタで反転しCPUへ入力する回路に変更した。回路は、IC−375に合わせた定数になっている。このトーンスケルチは、出力インピーダンスが高めで。かつ、スケルチOFFでも0.5Vほどの電圧が出てしまう場合がある。また、負荷抵抗が100kΩ未満だと、受信回路が正常に動作しない場合があるので、カット&トライで最適化した定数になっている。他機種の場合は、変更する必要があるかもしれない。
PTT回路の誤動作防止
レピータコントローラの電源をOFFにした場合に、送信機のPTTがONになってしまう場合があるため、抵抗を1本追加し安定動作するようにした。
リセット回路の変更
秋月のマイコンモジュールは、リセット回路が脆弱で、電圧立ち上がりの遅い大容量電源では誤動作する現象が見られた。また、これを繰り返すと、PICの内部プルアップ回路にダメージを与えるようで、スイッチ入力(SQLテスト SETUP)が上手くできなくなる現象も見られたため、リセット回路を見直した。かなり、時定数の遅い設定にしたため電源のON/OFFを10秒以上の間隔で行わないと誤動作する。基板上のD1,D2,180Ωは除去する。
その他の変更
プルアップ回路のダメージを追ってしまった場合の対処として、外付けプルアップ抵抗を追加した。CW-IDをモニターできるように圧電サウンダでモニタ回路を追加した。
回路図の変更について (2001.1.9)
使用する受信機と送信機の相性によっては、受信レベルが足らない場合があるようです。また、受信機の特性によっては、受信音が堅くなってしまう場合もあるようです。IC375+PCS7300Dの組み合わせでは、このような不具合が見られましたので、バッファをアンプに変更とLPFの追加をしてみました。現時点では、機材が無いのでテストできていませんが、従来と比べると、500Hzでのレベルは5倍、1KHzでのレベルは2.5倍程度の特性を持っています。実際に使用してみてから、改めてレポートします。
アセンブルとプログラムの書き込み方法
ソースファイル(ASM)は、マイクロチップ社のMPLAB(ver.5.11.02)でアセンブルしました。このアセンブラは、マイクロチップのホームページから無償でダウンロードできます。
実行ファイル(HEX)は、AKI-PICプログラマ(旧版)で書き込みを確認しました。その他のプログラマを使用する場合は、EEPROMもメモリアドレスをソースレベルで変更する必要があるかもしれません。
装置の使用方法
以下は、旧レピータコントローラの解説です
スイッチの役割
SW1 (PORTB bit1)
SETUP用 このSWを押しながら電源を入れ、3秒以上SWを押したままにする。起動時にLCDに表示されるのは設定されたコールサインだが、SETUPモードに入ると、LCDにSETUPと表示され、RS232Cを使った各種パラメータの設定が可能になる。
SW2 (PORTB bit2)
テスト用 トーンスケルチON/OFFを、RIGに接続しなくても、このSWでテストすることができる。このSWは押すとLOWレベルになり、IC375のトーンスケルチとは論理が逆になるため、このSWでテストする時は、SETUPのSQLを「1」に設定しておく必要がある。
LED (PORTB bit3)
送信用RIGのPTT並列接続されている。このLEDが付けば送信中である事を意味する。
LCD画面の表示の意味
LCD画面の表示
左上(JS1RSV)はID送出用コールサインを意味する。
左下から、「RX」はトーンスケルチがON(受信中)を意味する。
その次の3桁の数字(020)は、タイムアウト・タイムのカウントダウン・カウンタで表示は1秒単位だが、表示は10秒単位に変化する。デフォルトは3分で180秒で、表示は180→010へと変化し000で停波する。
真ん中の「ID」はID送出時のモニタ用、これが表示されている時は、CW−IDの送出中。
その次の3桁の数字(000)は、ID送出のカウントダウン・カウンタで表示は1秒単位だが、表示は10秒単位に変化する。デフォルトは10分で600秒で、表示は600→010と変化し000でIDを送出する。
右側の「TX」は送信用RIGのPTTがONになっていることを示す。LEDも点灯する。
その次の2桁の数字(00)は、ハングアップ・タイマのカウントダウン・カウンタで表示は0.1秒単位。デフォルトは3秒で、表示は30→01と変化し00で送信を停止する。
SETUPモードの使い方
SETUP画面の表示
Windows付属のハイパーターミナルなどの通信ソフトを使用して設定です。通信速度は9600bps、8ビット、パリティー無し、ストップビット1、フロー無しに設定して使用する。設定の内容は以下の通りである。バックスペースなど制御コードは使用できない。英小文字は自動的に英大文字に変換される。使用できるキーは、英小・大文字、数字のみ。
CALL : レピータのコールサイン設定、通常6文字以下で最後にENTERで設定。
HANGUP : ハングアップ・タイム設定、設定可能な値は0〜99までで、単位は100m秒
TIMEOUT : タイムアウト・タイム設定、設定可能な値は0〜99までで、単位は10秒、通常は3分(18)
ID : ID送出間隔設定、設定可能な値は0〜99までで、単位は10秒、通常は10分(60)
MODE : タイムアウトのモード指定、Aモード=0、Bモード=1の2種類を設定できる。
SQL : スケルチの論理設定、正論理=0、負論理=1、基板のSWでテストするときは負論理を使用。
CW-ID の詳細設定
IDに使われるCWのトーンの周波数と通信速度は、PICのメモリサイズの関係でSETUPモードでは設定できない。しかし、アセンブルしなおせば、これらのパラメータを変更できる。変更箇所は以下の通り、ただし、コメントにあるトーンの周波数や通信速度は必ずしも正しくないので、各自の好みで調整すること。
;        CW発生用設定
TONE_FREQ1  equ    78      ;発振周波数 800Hz(78) 定時間ID
CW_SPEED1    equ    60     ;通信速度 60wpm
TONE_FREQ2  equ    78     ;発振周波数 800Hz(78) 送信時ID
CW_SPEED2    equ    40     ;通信速度 90wpm
レピーターのタイミング系パラメータ解説
ハングアップ・タイム
受信信号が途絶えてから、実際にレピーターが送信を停止するまでの時間で、この間は無変調になる。特に規程は無いが、レピータ局の開設時に記入して申告しなくてはならないので、安易には変えられない。0秒なら、全くハングアップが無いことになる。レピータコントローラの最大値は9.9秒になっている。
タイムアウト・タイム
連続的な送信を禁止するため、連続して送信できる時間を3分程度で規定している。これも、申請時に申告が必要なパラメータである。このシーケンスには、下記の説明にあるようなモードA、モードBと、それ以外のモードCがあり、モードCの場合は、別途シーケンスの内容を記述して申告することになっている。
モードA
ハングアップ時の送信を含めて、全ての送信時間をタイムアウト・タイムのカウントの対象にするモード。連続的にQSOするには、ハングアップ・タイムが終わってから、再使用しないと、使用中にレピータの送信が止まってしまうことになる。
モードB
ハングアップ・タイムを、タイムアウト・タイムのカウントの対象にしないモード。1回の送信が3分以下であれば、アクセス中にレピータの送信が止まることは無いが、結果的にレピータが連続送信してしまうかもしれない。
ID送出間隔
CW−IDを送出する間隔は10分程度と規程されている。レピータコントローラのカウンタは、CW−ID送出完了直後から、送出開始直前までの時間設定となっていて、CW−IDの送出時間が計算されていないため、設定値を「60」とすると10分を少し越えてしまう。「58」程度にする方が、真に10分間隔となって良いかもしれない。また、レピーターが送信開始する毎にCW−IDを送出する。この時のCW−IDは、少し速めのCW速度になっている。


 レピータ・コントローラ2 への改造 

旧版レピータ・コントローラはPIC16F84Aで製作しましたが、プログラムメモリが1KBしかなく追加機能の拡張ができません。そこで、PIC16F628へ変更することで、より多機能化を目指すことにしました。

最終更新日 : 2002.10.20

PIC16F84Aマイコンモジュールの改造

その1
PIC16F84AマイコンモジュールのCPUをPIC16F628へ変更
します。まず、マイコンモジュールキットを製作する時から、CPUを基板に直付けするのではなく、基板にはソケットを介して取り付けるようにしておく必要があります。もし、直付けしてしまった場合は、連結ソケットを取り外さねばならないので極めて困難です。新しくキットを作り直した方が賢明でしょう・・・ なお、クロックはセラロックの10MHzを使用します。

その2
RS232C関連のピンが変更になります。J1とJ2を取り外し、ADM232の9pinをPIC16F628の7pinへ、ADM232の10pinをPIC16F628の8pinへ、それぞれ繋ぎます。注意点は、J1とJ2をジャンパピンを使わず、基板上で短絡してしまった場合は、その配線をカットしなくてはなりません。

※ 新たにマイコンモジュールを製作する場合は、以上のことに気をつけて製作しましょう。

AKI-PIC18キャリーボードキットの改造&製作

旧レピータ・コントローラの回路図からの変更は、今まで、RB1,RB2に接続していた配線をRA3,RA4へ配線し直し、RA3,RA4に接続していた配線をRB1,RB2へ繋ぎ替えます。具体的には、2個のSWとSQL入力の部分と、RS232CのTX/RX部分を入れ替える形になります。

SETUP手順

SETUPボタン(SW1)を押しながら電源を入れるとSETUPモードになる。
RS232Cインターフェースで通信ソフト(ハイパーターミナルなど)を使って設定が可能。
通信ソフトの設定は「9600bps データ長8ビット ストップビット1ビット フロー制御無し」で行う。
CALL1: DE JS1RSV 定間隔送出IDの設定、「DE」を含め送出する文字列のすべてを設定する。「スペース」や「/」も送出可能。最大15文字まで。
CW TONE1: 78 定間隔送出ID用CWのトーン周波数設定、数値が大きい程、低い音になる。
CW SPEED1: 40 定間隔送出ID用CWの速度設定、数値が小さい程、早くなる。
CALL2: DE JS1RSV 送信時送出IDの設定、「DE」を含め送出する文字列のすべてを設定する。「スペース」や「/」も送出可能。最大15文字まで。
CW TONE2: 78 送信時ID用CWのトーン周波数設定、数値が大きい程、低い音になる。
CW SPEED2: 25 送信時ID用CWの速度設定、数値が小さい程、早くなる。
HANGUP(.1S): 10 ハングアップ・タイム設定、設定可能な値は0〜99までで、単位は100m秒
TIMEOUT(10S): 18 タイムアウト・タイム設定、設定可能な値は0〜99までで、単位は10秒、通常は3分(18)
ID(10S): 60 ID(CALL1)送出間隔設定、設定可能な値は0〜99までで、単位は10秒、通常は10分(60)
MODE(0=A,1=B): 1 タイムアウトのモード指定、Aモード=0、Bモード=1の2種類を設定できる。
SQL(0=P,1=N): 1 スケルチの論理設定、正論理=0、負論理=1、基板のSWでテストするときは負論理を使用。

双方向モード用SETUPの変更点(2002.10.20)
MODE(0=A,1=B) 廃止 MODEの替わりにTRESタイマを追加。
TRES(.1S): 0 タイムアウトタイムをリセットする時間の指定、詳細は下記参照。設定値は0〜99まで、単位は100m秒。
SLEEP(.1S): 99 タイムアウトタイムで強制切断したあと、レピータの動作を停止する時間の指定。設定値は0〜99まで、単位は100m秒。

TRES(Time out time RESet timer)タイマの使い方
MODE=A動作の時は、HUNGUPタイマと同じ値を入れる(デフォルトは10) TRES=HANGUP。
MODE=B動作の時は、TRES=0 とする。
ハングアップ後もタイムアウトタイムのカウントを続ける場合には、HUNGUP+指定時間(0.1S単位)の数値を入れる。

もう1方のPICにレピータが使用中であることを示すための占有信号(RA2)を増設しました。占有時に5Vになります。SQL信号を入れ受信無効化、
PTT強制解除させて送信禁止させる用途に使います。詳細はこちら(準備中)
プログラムのダウンロード

PIC16F628版のプログラムはこちらです。(2001.12.19 repcon2.hex)
順次、改造してゆきますので、バグ、ご意見、ご希望がありましたらお知らせください。

CW-IDの「X」と「/」の誤りを訂正しました(2001.12.14)
送出IDを定間隔(10分)用と、送信時用の2種類設定できるようにした。それぞれ、送信内容(15文字)、トーン周波数、送出速度を設定できる(2001.12.19)

CW-IDの文字列を最大30文字に増やしました。(2002.9.25 repcon2a.hex)

レピータコントローラを2台使用し、双方向用レピータとして使用するためのオプションの追加しました。変更内容は、STEUP内容の変更占有信号出力(PORTA B2)です。CW−IDの最大文字数は29文字に減りました。


 レピータ・コントローラ3 の製作 


某所に設置されている、レピータコントローラ3

レピータコントローラ2との違いは、双方向レピータゲートウエイ機能が追加されたことです。このため、アナログ系回路とリグのコントロール回路が2系統になっています。1系統のみ使用すれば、従来のレピータコントローラと同じような動作も可能です。

2003.5.9


詳細はCQ誌2003年5月号をご覧下さい

プログラムのダウンロード
ソースリスト 2003.4.20 repcon3.asm
HEXファイル 2003.4.20 repcon3.hex


プログラムは、レピータコントローラ2のバージョンアップというより完全に作り直しています。新しいバグが潜んでいるかもしれません。何か異常な動作を発見しましたらご報告頂ければ幸いです。

補足説明と変更履歴
2003.5.9
DTMFレシーバのゲイン不足について
高速データ通信用コネクタなどから受信信号を得る場合、場合によってはゲイン不足になる場合があります。
その場合は、該当する側の、R1 or R2、を削除、R20 or R21、を10K〜47KΩ程度に交換すると改善されます。
(逆にレベル過多で、デコード不可になる場合もあるので注意)
2003.5.1
LOGINした方の周波数のみビーコンが出るように変更。(MODEで特定チャンネルだけ禁止することも可)
反対側の周波数が使われていた場合は、両方にビーコンが出るように組んである(つもり)だが、
実質的には、片側で何か出ているとDTMFの復調率が悪く認識されない場合が多い。
ゲートウエイ設定β版(repcon3a.hex)
2003.4.20
DTMFでLOGIN後にビーコンを出せる機能を追加しました。この変更で2種類のパラメータを変更しました。
ID送出間隔を「255」に設定し、MODEを「44」(ch2のみビーコン出力)に設定します。

ID送出間隔 : 0−254では、設定値×10秒の間隔でID送出します。255の場合のみ一定間隔でのID送出をしません。
MODE : bit2-3 =1の場合、LOGIN後にビーコンを送出できます。ビーコンは定間隔IDのメッセージが送出されます。

2004.1.24 α版(十分なデバッグがされていません)

DTMFパスワードの4桁化 & IDの送出を未使用時を含めた一定間隔ではなく、使用中時のみ一定間隔で送出するように変更(インターネット用ID送出)。まだ十分なデバッグなされていないα版です、頻繁にデバッグが行われる可能性もあります。何かありましたらご連絡下さい。
repcon4 PIC16F628 α版

モードSWの設定方法

bit HEX 内容 0 1
0 01 インターネット用ID送出 inet
1 02 パスワード桁数 6桁 4桁
2 04 login時ID送出フラグch1(ゲートウエイ用) 送出
3 08 login時ID送出フラグch2(ゲートウエイ用) 送出
4 10 SQL入力信号極性指定 SQL-1
5 20 SQL入力信号極性指定 SQL-2
6 40 login後自動回線切断 切断しない 自動切断
7 80 ID選択 CW AX25

※デフォルトは00(HEX)
例:CW-ID、自動切断しない、login時ID送出しない、パスワード4桁、インターネットで使用 00000011(2進) 04(16進)