ラベル PSN Receiver の投稿を表示しています。 すべての投稿を表示
ラベル PSN Receiver の投稿を表示しています。 すべての投稿を表示

2021年7月24日土曜日

ALL BAND TRANSCEIVER (4)

 今回の ALL BAND TRANSCEIVER で色々な課題があった。今回解説するBAND,MODEの制御もその一つである。
 タッチパネルで選択したBANDやMODEは数値化され制御を行う。具体的には変数 [BAND] 変数[MODE]に選択した数値情報が収納される。

 上図でPHOT1でBANDをタッチ、PHOTO2で希望BANDをタッチすると変数[BAND]にBAND番号が収納される。この変数を2進数にして各BITのHigh,Lowを調べI/Oに出力をしている。
全部で14BANDなので4BITバイナリーでD14,15,16,17に出力している。
sketchでは、
void DIO_BAND_set(){
  int bitdata = 0;
  int port_num = 0;
  for (int j=0; j<=3; j++){      // ポートをLowにリセット
    digitalWrite(14+j,LOW); 
  }
  for (int j=0; j<=3; j++){  
   bitdata = bitRead(band,j); // 変数[band]の各Bitを調べる。
    if (bitdata == 1){
     digitalWrite(14+j,HIGH);   // 1なら当該ポートをHighにする
    }
    else{
      digitalWrite(14+j,LOW); // 1以外なら Lowとする。
    } 
  }
}

Modeも同様にしてD18,19,20,21に出力している。

 Aruduino DueのD14-21ポートに出力されたBAND,MODE情報は、以降の処理に使いやすいように(FXMA108)で3.3Vから5Vにレベル変換をしている。
 BAND情報はD14-17から出力されレベル変換後TC4515デコーダーを使用し、各BAND個別信号を出力している。このTC4515はActiv Low 選択された信号がLow、それ以外がHighとなる。このためPNPデジタルトランジスタ(RN2201)を利用し選択された受信用BPFに電源を供給するようにしている。
 送信も同様にBPF選択を行っている。送信ではさらに TD62084というSink Driverで出力のLPFリレーを制御するようにいている。

MODEも同様であるが、選択数が少ないのでデコーダーに74HC238(3INー8OUT)を使用いた。これはActiv HighなのでNPNデジタルトランジスタ(DTC144)を使用しColinsフィルター切替を行っている。

尚、BAND情報は、Linear と Transverterのためにバッファ(74HC125)経由でDINコネクタに出力している。

 さすがにALL BAND TRANSCEIVERともなると、フィルタ、BPF、LPFの切り替え処理が非常に煩雑となることを実感した。今回極力手持ち部品を使用したため、どうも一貫性のない回路となった感じである。ご容赦願いたい。

今回は、あまり日の当たらない部分の解説なので、少々つまらなかったもしれませんが、備忘録としてUPしておくこととした。

DE JA2NKD Ryuu







 




2018年10月28日日曜日

50MHz Receiver for PSN-Transmitter

 前回ブログで紹介したdsPICによる送信機が完成したところで、QSOの為には受信機が必要だ。新しく作るのもいいのだが、早くQSOを行いということから、以前ブログで紹介した7MHz受信機を50MHz用に改造することにした。

改造の要点は、

  • 50MHzPSN送信機とトランシーブする
  • そのため送信時に受信周波数の2倍のVFO出力が出来るように改造する
  • RFアンプと混合器を7MHzから50MHz用に改造する
  • 受信機をコントロールしているArduinoのスケッチを改良しトランシーブ対応とする。
【RF&MIXER】
 回路はごく標準的なもので、RFアンプに2SK439(2SK241)、混合器に3SK73を使用。
CQ出版の鈴木氏の「無線機の設計と製作入門」を参考とした。混変調等を考えると少し弱いかと思うが、昨今50MHzも空いていることから増幅度優先で採用した。

【VFO】
 受信時は中間周波数とUSB,LSBの周波数分シフトした発振となっているが、送信時は目的周波数の2倍の周波数が必要となる。この受信機にはSi5351を使用しているので、この周波数にも対応が出来る。
 送信機にもVFOを内蔵しているが、設定をEXT-VFOとすると受信機側で自動的に2倍の周波数を出力するようにスケッチを改良している。また送信機のVFOを使用するときは送信時に受信機VFOの発振を停止している。

【Arduino】
 スケッチはVFOのところに記したようにVFO周波数コントロール部分を書き換えた。
ここで一番問題になるのは受信時と、送信周波数がぴたりと同じでなければならない。
 PSN送信機では出力周波数の2倍の周波数が必要です。このため誤差も2倍になる。
そのためには本来Si5351の基準クロックである25MHzの精度がかぎとなる。然しながらここに使われているクリスタルは汎用のもので制度は求められない。このためスケッチに誤差補正分を演算している。といっても単純に誤差分を足したり引いたりと原始的手法で対応している。十分エージングを行い、誤差分を書き込んだ。そのため広い周波数範囲ではまだ誤差が発生すると思われるが、SSBのみの範囲では十分対応が出来ている。

【送受切替】
 送信時にHiとなる信号と、外部VFOを使用する場合にHiとなる信号を送信機から受信機のArduinoに取り込み上記のような制御を行っている。この辺りはもう少しスマートな制御回路としたかったが、既に有る7MHz受信機を改造したため、多少雑な処理を行った。

【運用】
 これで送信機、受信機がそろった。最近はトランシーバーが主流であるが、久々のセパレートタイプも趣があり気に入っている。
 受信感度もFT-991と比較して遜色がない。課題としてはAGCがある。増幅怒涛が変わったことから時定数の見直しが必要のようである。これについては暫く様子を見てから手直しをする予定。
 数曲との交信を行ったが、周波数がズレていると言うレポートも無いので、送受信時の誤差は許容範囲に収まっているようだ。各局とも音質については非常に良いとの評価でさすがPSNであると実感した。また、「初めてPSNの信号を聞きました」というコメントもあった。フィルターを使わないSSBでこれほど簡単に高品質のSSBが出来上がったことに満足している。当分はメインの装置となりそうである。

 今回詳細説明はしていないので、疑問点や質問があればコメントまたはメールでも頂ければ幸です。聞こえていましたらQSOお願いいたします。

Let's enjoy homebrew.
73's
JA2NKD Ryuu