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

2022年8月2日火曜日

NK-28AM 28MHz AM Transceiver (CB modify)

 

NK-28AM

 最近28MHzAMが結構話題になっている。そんな時、断捨離中に物置にCB機があった。
これなら簡単に改造できると思い改造することとした。とはいっても回路図もなく、結構難儀をした。色々NET検索をしたら、幸いにも回路図や、PCBパターン図、サービスマニュアルが入手できた。

【STARKERⅦ】
 このCB機はUNIDEN製でアメリカ仕様のようである。
送受信回路は概ね標準委近い回路である。その中でも色々工夫がされている。参考になるところも多い。
 VFOはPLL(uPD2816C)CB専用であり、CH数、CH9などが設定されている。この為流用はできない。ここはDDSに変更した。
 受信部は、第一中間周波数10.695MHz、第二中間周波数は455kHzと標準的。第一が10.695MHzとなっているのは、PLL基準が10.24MHzなので、455KHzにダウンコンバートするためこの周波数となっている。
 uPD2816Dの入力はせいぜい2MHz程度のため、VCOの出力をこのレベルに落とす工夫がされている。まず、uPD2816Cから基準の1/2(5.12MHz)が出ているので、これの3倍高調波(15.36MHz)を作りVCOとMIXし1MHz台を作り出している。
 受信はVCOを第一ミクサーに直接入力。送信はVCOにやはり基準の10,24MHzを入力し作り出している。これにより1クリスタルで全てを作り出している。お見事。
 送信は 2SC2076-2SC1957-2SC1306と定番。受信回路では、本格的(?)なノイズブランカ、ANLがあり、さらにAMスケルチ(Sメータレベルを利用)も着いている。
 さらに送受信は、リレーを使用せずダイオードスイッチで全て行っている。特にスピーカーの切り替えは、マイクのトークスイッチで、送信時スピーカーのコールド側を切るという技が使われている。最初音が出ない、故障かと思ったが、マイクを接続しておかないと音は出ないのである。賢い。
 以上概略である。

Block Diagram

メイン回路図

VFO回路図

【Modify】
 さて改良であるが、PLLが流用できそうもないので、DDSを使ったVFOとした。至ってシンプルなものである。特に説明は不要と思われるが、改造の要点をまとめておくのでBlock Diagramと参照頂ければと思う。

  1. DDSは、Arduino nanoでAD9850を制御。ロータリーエンコーダーで周波数変更。周波数ステップは、100Hz,1kHz,10kHz,100kHzの4段でUP,DOWNスイッチで変更。AMなのでkHzとした。VFOはA,Bの2チャンネル。電源OFF時の周波数も含めてEEPROMに書き込んでいる。
  2. 表示回路は、MAX7219を使用した7セグメント8桁で周波数を表示。0.96inchOLEDでVFO A/B周波数とステップを表示した。でも小さくて読めない。(老眼では)
  3. DDS出力を受信第一ミクサー(2SK19)に直接入力(-7dBm)。送信ではミクサーTA7310に10dBアッテネーター経由(-17dBm)で入力し10.24MHzとミックスして目的周波数を作っている。
  4. 送受信の同調回路は、概ねコアの調整でOKであった。ファイナル2SC1306のコレクタに入っている100pFだけ撤去した。
  5. メーターランプをLED化した。
  6. 概ね元の機能は維持しているが、ΔTUNEのみ無効となっている。AMということと、DDS化したので不要と思われる。

リンク
  回路図、arduinoスケッチ
  受信風景 (YouTube)

 【感想】
 受信は意外に高感度であり、音質もよい。内部ノイズも少なく、アンテナを外すとほとんど何も聞こえない。
 送信は4W強。Eスポさえ出れば十分使える。必要ならばリニアを接続すればいい。
結構実用機に仕上がった。

各局 28MHz AMでQSOしましょう!!









2021年8月9日月曜日

ALL BAND TRANSCEIVER (5)

今回はこのTRANSCEIVERの中枢であるコントローラーについて簡単に解説します。

Microprocessor 

 今回のコントローラーは、以前BlogにUPしたVFO Ver8.0を基にカスタマイズしています。
 MPUは、Arduino Due を使用しました。今回のプロジェクトでは、ALL BANDで多機能であるため、I/Oが多く、十分なメモリ容量でスピードが速いものを必要としました。
 主な仕様は以下の通り


Specification
Microcontroller AT91SAM3X8E
Operating Voltage : 3.3V
Input Voltage (recommended) : 7-12V
Input Voltage (limits) : 6-20V
Digital I/O Pins : 54 (of which 12 provide PWM output)
Analog Input Pins : 12
Analog Outputs Pins : 2 (DAC)
Total DC Output Current on all I/O lines : 130 mA
DC Current for 3.3V Pin : 800 mA
DC Current for 5V Pin : 800 mA
Flash Memory : 512 KB all available for the user applications
SRAM : 96 KB (two banks: 64KB and 32KB)
Clock Speed : 84 MHz

TFT Color LCD with Touch panel


 今回のコントローラーで一番苦労したところが、タッチパネルのコントロールであった。
LCDは、ドライバーがILI9341でSPIインターフェース。これにタッチパネルが付いたものである。

Specification
Display Color    RGB 65k color
Screen size       3.2inch
Driver              ILI9341
Resolution        320x240 pixel
Interface          4 wire 
SPI 
Touch panel     Resistive touchscreen
Touch Driver    TSC2046

Arduino Due周りの結線図を再度掲載する。DueとLCDの接続を赤くしてある。

 特に苦労した部分について簡単に記載します。

USB Port
Dueは2つのUSBポートがある。一つはPrograming Portで主にプログラムの書き込み、消去等にしよう。もう一つはNative Portで主にユーザープログラムで使う。
 今回は筐体背面に両方のポートを付けた。Programing用とCAT通信用としている。
 CATはメーカーによってコマンドが違うためどれかに決める必要がある。今回はHamLogの周波数設定程度なので、Yaesu FT-991,Kenwood TS-2000に対応できるようにした。(コンパイル時に選択)
 スケッチは、mainルーチンで外部からUSB経由でシリアル信号を受信したかチェックし、文字列を判読し、情報を返信する単純なスケッチである。以下は参考スケッチです。

---------------------------------------------------------
byte CATbyte = 0;

void setup(){

    SerialUSB(38400);}

void main(){


CATbyte = SerialUSB.available();
if (CATbyte >0){CATset();}

}

//----- CAT Controll(FT-991) -------------------------
void CATset(){
  String CATinput = SerialUSB.readStringUntil(';');
  SerialUSB.flush();
  if (CATinput == "FA"){
    SerialUSB.print("FA");
    String freqtcat = freqt;
    int mojicat=(freqtcat.length());
    if (mojicat <9){
      for (int i=9; i > mojicat; --i){
        SerialUSB.print("0");
      }
     }
    SerialUSB.print(freqtcat);
    SerialUSB.print(";");
  }
  if(CATinput == "MD0"){
    String modecat = String(mode);
    SerialUSB.print("MD0");         
    SerialUSB.print(modecat);
    SerialUSB.print(";");   
  }
  else{
   SerialUSB.print("?;");
  }
}
----------------------------------------------------------

Touch panel
 タッチパネルの処理には非常に苦労をした。製作までにかなりの時間を要したが、逐一記載すると非常に大変なので、結果だけを書くことにする。

タッチパネルには今回抵抗膜方式のもので、タッチしたときの抵抗変化で位置を特定する方式である。タッチパネルのドライバーはTSC2046、LCDはILI9341、MPUはArduino Due。
 初めにタッチパネルのキャリブレーションが必要である。押した位置の抵抗値をLCDのPixelに変換する。これにより位置判断が可能となる。
 キャリブレーションのスケッチは以下のライブラリーのサンプルスケッチにある。
https://github.com/marekburiak/ILI9341_due
[ uTouchCalibration.ino]が目的のスケッチである。
 55行を今回のハードウェアに変更する。
   URTouch  myTouch(30, 28, 26, 24, 22);
            ↓
   URTouch  myTouch(6,5,4,3,2);

 73行を使用するLCDの方向に合わせる。(90 or 270)
tft.setRotation(iliRotation270); // landscape
 

これをDueに書き込むと右の画面が表示される。画面のどこかをタッチすると次の画面が表示される。




この画面で左上ハイライトされた+をタッチする。中央の[PRESS]が[HOLD]に代わり[RELEASE]に変わる。すると今度は左中央がハイライトする。同じようにタッチして8か所すべてが終了すると最終の情報画面に変わる。


CAL_X
CAL_Y
CAL_Z
これがキャリブレーションで得られた情報である。




 この情報はIDEのシリアルモニタにも出力される。
 
ここで、今回使うタッチパネル用ライブラリー
http://www.rinkydinkelectronics.com/library.php?id=93にあるURTouchを使用する。


このライブラリー内にある[URTouchCD.h]をエディターで開きオリジナルのXYZをコメントアウトし、シリアルモニタのXYZをコピー&ペーストし保存する。
 これで使用するLCDのキャリブレーションが終了する。LCDを変更した場合はそのたびにキャリブレーションが必要となる。


参考スケッチ
実際のスケッチの抜きだしなのでよくわからないかもしれない。mainルーチンでパネルが押されたかどうか検出しx,y情報をサブルーチンに渡し処理を行う。URTouchライブラリーのexampleスケッチなど参考にしてください。

-------------------------------------------------------------
void main(){
  if (myTouch.dataAvailable())
    {
    myTouch.read();
    int x = myTouch.getX();
    int y = myTouch.getY();
    ProcessKeyTouch(x, y);  
}

//----- Touch -----------------------------------------------
void ProcessKeyTouch(int x, int y)
{
//  SerialUSB.end();
  ucg.setFont(ucg_font_fub11_tr);
  if (x >= 5 && x <= 5+key_width){               // Menu
    if (y >= 210 && y <= 210+key_height){
      key_rows = 2;
      menu_sub();
    }
  }
  if (x >= 5+1*80 && x <= 5+1*80+key_width){       // Band Set
    if (y >= 210 && y <= 210+key_height){
      key_rows = 3;
      band_set();
    }
  }
  if (x >= 5+2*80 && x <= 5+2*80+key_width){    // Step UP
    if (y >= 210 && y <= 210+key_height){
      fstepmem=fstepmem+1;
      fstepset();
    } 
  }
  if (x >= 5+3*80 && x <= 5+3*80+key_width){    // Step Down
    if (y >= 210 && y <= 210+key_height){
      fstepmem = fstepmem-1;
      fstepset();
    } 
  }
  if (x >= 5 && x <= 67){        // VFO
    if (y >= 10 && y <= 30){
     key_rows = 1;
     vfo_menu();  
    } 
  }
  if (x >= 77 && x <= 122){      // Mode
    if (y >= 10 && y <= 30){
      key_rows =2;
      mode_menu(); 
    } 
  }
  while(x != -1 ){
      myTouch.read();
      x = myTouch.getX();
      //y = myTouch.getY();  
  }
}

一部省略して書いたので少々わかりにくいかもしれませんが、ご容赦

以上 これでALL MODE TRANSCEIVERの解説は終了の予定。質問や、聞きたいことなどご要望があれば追記するかもしれません。メールまたはコメントにてお知らせください。

DE JA2NKD Ryuu


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







 




2021年7月4日日曜日

ALL BAND TRANSCEIVER (3)

 ALL BAND TRANSCEIVER (3)

送信部


❶ マイクアンプ  
  マイクアンプは、コンプレッサーTA2011SとOPAMP(LM741)を切り替えるようになっている。またSSB送信試験用に1kHz発振回路を組み込んでいる。これで口笛による調整から解放される。この3回路をOPAMP(NJM7043)でミキシングしSSBはPSN回路に、FMはFMキャリア回路に送っている。
 
❷ AF-PSN回路 
以前blogに掲載した50MHzPSN送信機と同様の回路で dsPIC33FJ64GP802を使用し位相のずれたAFを作っている。このdsPICのソフトはTJ-Labの上保さんの作成されたものであるが、非常に優秀である。
 
❸ 直交変調器
 これも50MHzPSN送信機と同様MAX2452を使用している。特に調整回路がないのでキャリアバランス等の調整は行っていない。AFレベルを調整しても効果がなかった。何とか40dB程度である。他にも直交変調器のICはあるようだが、ほとんどがGHz用であり、HFに使えそうなものは見つからない。またDBMやスイッチを使ってディスクリートで組むこともできるが、回路規模が大きくなってしまう。その点MAX2452は外付け部品もなく簡単である。また運用してモニターしいただいているが、おおむね音質はよく、キャリア、逆サイド等は認められないとの評価をいただいている。この直交変調器にSi5351によるVFOを直接入力している。このVFOの周波数は運用周波数の2倍を入力している。50MHzであれば100MHzとなる。これで全バンド ダイレクトにSSBができる。
 
❹ 前置増幅器 
MAX2452の出力は非常に小さいのでMMIC(MSA-0886)で25dB程度増幅している。

❺BPF
直交変調器で出来たSSB信号をBPFを通すことによりスプリアスを除去させている。BPFは「トロイダル・コア活用百科」の2ポールBPFを使用した。

 ❻前置増幅器
 目的出力を得るにはまだ低いので再度MMIC(MSA-0886)で再度25B程度増幅する。オールバンドにはMMICが得意だ。
 
❼プリアンプ 
ファイナルをドライブするため100mW程度に増幅する必要がある。三菱の高周波パワーFETRD00HHS1を使用している。アイドリングは50mA

❽パワーアンプ
RD16HHF1プッシュプル。出力は10W以下なので十分すぎるが、全バンド安定して増幅するために採用した。ドライブレベルを調整し概ねMAX 8W 程度の出力としている。バンド差が大きく出てくるかと思ったが、意外にそろっている。

❾LPF
λ/4 5次LPFで「トロイダル・コア活用百科」を基本として設計している。

❿FMキャリア水晶発振器
ジャンク水晶67.18235MHzを基本波発振させ3逓倍し67MHz台としている。これにバリアブルキャパシタダイオードにマイクアンプからのAF信号でFM変調を行っている。オーバートーン発振ではほとんど変調がかからないので注意。

⓫FM用ミクサー
⓫の水晶発振信号とVFOを混合し目的のFM信号としている。以降はSSBと教養である。

⓬オシレータ回路
今回周波数の安定度、正確性を確保するためにオシレーター回路に拘った。必要とする周波数は、70.455MHzの第一中間周波数を455kHzに落とす70MHz、455kHz前後のSSBキャリア信号及びVFOである。
 70MHzhDDSAD9851を使用している。このDDSクロックは10MHzのTCXOを基準としてVCXO30MHzを PLLを組み安定化し供給している。またVFO(Si5351)用のクロック25MHzも30MHzクロックのAD9851で作っている。455kHzキャリアは10MHz基準のAD9850から作り出している。これらはすべて固定周波数なのでArduino-nanoを使用しコントロールしている。10MHzは外部からGPS基準信号等が入力できるようにしている。詳細は下部回路図を参照願いたい。こだわりのOSCである。

⓬VFOコントローラー
 今回はマルチバンドトランシーバーなので以前blogに掲載したタッチパネル付きVFOコントローラーを基本として採用している。ただこのトランシーバー用にカスタマイズしている。
 コントローラーにはAruino-Dueで、メモリー容量、スピード、I/O数等十分な性能がある。難点はどうしても大きいことであろう。特徴としてtっちパネルを採用し、多機能でありながら機械的スイッチの数を大幅に減らすことが可能となった。

⓭CATコントロール
Arduino-DueはUSBを2回路積んでいる。1個はプログラミング用、もう一つは外部機器との通信に使用できる。これを利用しパソコンと接続し「Turbo HAMログ」でデータ入力時に周波数を自動的に表示できるようにした。基本的な通信g理解できたので、トランシーバーを外部からコントロールできるようにすることも可能である。今後発展させていきたい。

 以上オールバンドトランシーバーの概要です。詳細については 省略させていただきます。

DE JA2NKD









 

 

2021年6月28日月曜日

ALL BAND TRANSCEIVER(2)

 Appearance(front)

Do you notice anything when you look at the appearance?
Most frequency knobs such as transceivers made by manufacturers are attached to the right side. My transceiver is on the left. Because I'm left-handed.

Frequency nob    Rotary encoder 100als/r
Switches
    Lock      Frequency lock
    Turbo    Multiplies the frequency step by 10.
    ATT       Preamplifier Off
    AGC      Slow/Fast
    Tune     Test transmission (1kHz modulation)
    COMP    Compressor ON/OFF

Volume
    AFGAIN    Audio Gain
    SQL         FM Squelch
    MIC         Mic gain
    CLAR       Clarifier(rit)  Rotary encoder 25pls/r

LCD             3.2inch TFT-LCD with touch-panel
                   driver ILI9340 320x240

 Appearance(back)
ANT-1    
2 Antenna connector
ANT-2   Can be selected for each band
TRV      To transverter
IF         IF OUT(Not use)
10MHz IN    External reference frequency input(10MHz)
USB-U        Arduino Due USB (nativ port)  for CAT control
USB-P        Arduino Due USB (proglaming port)
AUX           External modulation Input
REC            Audio Output
KEY            CW KEY
SPEAKER    AF 8 ohm 2W

Circuit overview
The receiver is a double super heterodyne with a first IF 70.455MHz and a second IF 455kHz. The filter is a Collins mechanical filter 
     (SSB 2.4kHz, CW 500Hz, AM 6kHz).
The transmitter is a PSN direct transmitter using dsPIC and MAX2452.
The VFO controller used Aruino-Due & 3.2inch TFT-LCD with touch panel.

The following explanations will be written in Japanese. 
My English is poor. Sorry.

受信部

① BPF&LPF
ALL-BANDとなると各種フィルターがバンド毎に必要になり、製作が大変である。幸いオークションでICOM IC730のRF基板ジャンクを入手し流用した。この基板は1.9-28MHzの9バンドなので、50MHzBPFとゼネラルカバー受信(0-60MHz)用のLPFを自作し追加した。 
 
② RF amp
2SC1426を使用したNFBアンプで凡そ10dB程度増幅する。2SC1426は50mAバイアス電流を流しIP3を改善するようにしている。パネルにあるスイッチでON/OFFができるようにしている 。
 
③ 1st Mixer
このMixerでVFOと混合し第一中間周波数70.455MHzに変換している。 
MixerにはSL6440CというICを使用した。このICはIP3が高く、尚且つ変換ゲインがあるという優れものである。難点としてはSNが少し悪いことと、電流が50mA程度流れる。HF固定機で使う分には問題ない。VFO入力は結構クリティカルで大きすぎると極端に歪み始める。-10dBm - 0dBm当たりで調整が必要。スペクトラムアナライザーがあると簡単に調整できる。

④ MCF(70.455kHz)
第一中間周波数70.455kHzのフィルターで、帯域幅は15kHzである。オークションで入手。この谷も45MHzあたりのフィルターも時々見かける。2素子1組のものである。

⑤ Post Amp
Mixer後1段軽く増幅している。使用した素子は3SK291デュアルゲートFETである。回路はごく普通の回路。(回路図省略)

⑥ 2nd Mixer
uPC1037Hを使用したダブルバランスドMixer。外付け部品が少なく扱いやすい。最近秋月で互換性のある日本無線のNJM2594が入手できる。70.455MHzに70MHzを注入し一気に455kHzに変換する。FT-900でも同じ周波数構成を行っている。 
 
⑦ Collins Filter
今回の目的である「いつかはコリンズ」フィルター
SSB用    2.4kHz    562-8694-010 
CW用     500Hz      562-8693-010 
AM用    6kHz        562-8695-010 
クリスタルフィルターに比べてスカート特性等は非常に綺麗である。切れ音質ともにさすがコリンズと思えた。気のせいであろうか?(AM用フィルターの特性を以下に示す)
 
Colins Filter 6kHz

⑧IF Amp 
IFAmpはAD603 2段増幅で80dB増幅とした。回路はJA9TTTさんの記事等を参考にしている。非常に安定してうまく動作している。AGC等は周波数の違いもあることからカットアンドトライで決めた。
 
⑨ SSB,CW Detector 
 検波回路には2ndMixerと同じuPC1037Hを使用。キャリア周波数はDDSで作成しモードで変更するようにしている。
 
⑩ FM IF
DET FMIF増幅と検波は定番のMC3361を使用。周波数変換部を使用せず、中間周波455kHzをFM用フィルタ(CFWLB455F +-6kHz)を通してMC3361に入力している 
 

⑪AF Amp
AFアンプはOPアンプで増幅したのちuPC575C2という一昔前のメーカーリグに多用されていたICを使用。LM386と比べると2Wで余裕があり、音質もいい。


TO be continued

 

 

 

 


    

       

2021年6月21日月曜日

ALL BAND TRANSCEIVER(1)

 Nowadays, SDR is the mainstream.

But I like analog systems. Since I first started amateur radio 50 years ago, I've always wanted "Collins". Recently, the "Collins Filter" has finally been discontinued.

Covid-19 occurred two years ago, and from last year, "Stay home" began to be shouted. This allows you to spend a lot of time on homebrew. On this occasion, I decided to make a transceiver using the "Collins filter" that I had longed for for many years.

For VFO, I used the touch panel type VFO controller that I posted on my blog before.

It was finally completed two years after it started. But the pandemic has not yet converged.


Specifications

Receiver
Circuit Type                    SSB/CW/FM/AM: Double conversion  Super heterodyne
Sensitivity                      SSB:2.4kHz CW:500Hz FM:12kHz AM:6kHz
Intermediate frequency  1st:70.455MHz,2nd:455kHz
Frequency range            Ham band (1.9,3.5,7,10.14,18,21,24,28,50)
                                    General (0-60MHz Receive only)
Audio Output                 2W into 8 Ohms

Transmitter
Modulation types            SSB(J3E),FM(F3E),CW
Power Output                5-8W
FM Deviation                 ±5kHz
Microphone Impedance  600 Ohms

Others
Power Consumption       Rx 1.0A    Tx 3.7A  (Maximum)
Supply Voltage              13.8V
Dimensions                   W:430mm  H:100mm  D:450mm
VFO                             Si5351 PLL
Controller                    Arduino Due
LCD                            3.2inch TFT with Touch Panel

Internal View


Block diagram

Video(YouTube)    https://youtu.be/toFvZ_4qtKs

I will upload the commentary to the blog little by little in the future.

DE JA2NKD


2020年8月8日土曜日

TRIO TR-5000 External VFO

 ※ 2020.08.30 Corrected the schematic

TRIO(KENWOOD)TR-5000  1968年販売開始されたAM,FMトランシーバー。OMならご存じではなかろうか。
受信はVFO,送信はクリスタルというスタイル。当時はこれでも結構QSOができた時代である。最近ではクリスタルの特注も難しい(特にHC-6Uタイプは)。
SDRが主流となってきた昨今いまさらAM,FMとも思うが、ノスタルジアだろうかAM通信もまだまだ愛好家が頑張っています。SDRではだれが作っても同じ性能のものになってしまいます。アナログ機器は作り手によって性能が大きく変わる。そこが楽しい。
 そんなことで、今回物置からTR-5000を引っ張り出し、外部VFOを製作しました。
ただの外部VFOでは面白くないので、周波数表示と送受信トランシーブVFOとした。


【構想】
・できるだけ本体は改造しない。
・トランシーブ操作
・周波数表示
・Arduino nano
・Si5351




【回路】
 受信用VFOの出力コイル2次側からFET(2SK241)ソースフォロワーで取り出す。出力は-25dBmくらいなので、MMIC(SGA-6386)で0dBm程度まで増幅する。これをさらに増幅、波形成型し74HC90で1/10に分周しArduinoによる周波数カウンターに入力する。
 カウンターの入力回路はJE1UCI冨川OMがICOM BEACONエレクトロニクス工作室No.134で発表されている回路を使用させていただいた。この回路は感度もいい。調整は2SC1815のコレクタ電圧を2.5Vにする。
 Arduinoに入力された信号はゲートタイム1秒でカウントし、LCDに表示する。また送信時(PTT ON)にカウントした周波数から送信周波数を計算し、Si5351PLLで送信出力を生成し外部VFO入力(外部クリスタル)に出力する。例えば
受信周波数 50.600.000の場合 VFO=50.6-41.58+1.65=10.67MHz
カウンタ入力=10.67/10=1.067MHz
なので表示数は(1.067*10)+39.93000=50.600MHzとなる。
送信周波数は24逓倍なので 50.6/24=2.108333MHzとなる。(Si5351出力)
 これで受信周波数によるトランシーブ操作VFOとなる。
 一つ問題がある。Arduinoの基準クロックは16MHzであるが、正確ではない。またSi5351の基準クリスタル25MHzも正確ではない。そこで、この補正を行うため、ロータリーエンコーダーを使いキャリブレーションできるようにしてる。
 操作は、運用周波数を受信し、CALスイッチをONにし、エンコーダーでメーターの振れが最大になるようエンコーダーを回す。これで送受信が一致して運用できる。電源を入れて1回操作をすれば大きくずれることはない。AM,FMなので問題ない。
 また、プログラムの中でカウンタの補正も行っている。既知の周波数を入力し表示周波数を見る。この比率で補正計算を行っている。
 例えば正確な10MHzを入力し10.00500MHzとなったら、計数0.9995を補正値とする。
 古い機器を再生させようと思っているOM諸氏の参考になれば幸い。

Arduino Sketch & Schematics(tr5000_counter.zip) Download
73's







2020年3月25日水曜日

熊本シティースタンダード(Tachikawa_Version)

熊本シティースタンダードと冠するのはおこがましく、OM諸氏からお怒りをいただくかもしれないが、イメージを手っ取り早くご理解いただけるかなと思い敢えて付けさせていただいた。
 熊本シティースタンダード(以下熊本標準)といっても、これをご存じの方はかなりのOMさんだと思う。1981年7月号のCQ Ham Radioに掲載されたJA6BI田縁OMの「モノバンドSSBトランシーバー」が自作Hamに広がるきっかけだろう。これに呼応して秋月電子で「KUMAMOTO STANDARD SSBジェネレーターボードキット」として販売された。これに挑戦されたOMも多いないのではないでしょうか。
 それまでSSBトランシーバーの自作は難しいものだと思っていたのが、一気に実現可能なものになったと思う。私もこのキットを購入して自作した一人である。昨今ちらほら再現されている方があるようだ。しかしながら当時入手できたパーツも時代とともにディスコンとなり、同じものを作るのは難しくなってきた。また、最近のSDR等高機能なものが主流となってきているが、やはりアナログの機械には愛着がある。そこで今回熊本標準を基本に現代版を作ってみようとスタートした。

【コンセプト】
 今回のプロジェクトの基本コンセプトは熊本シティースタンダードの現代版と位置づけている。従って基本構成は標準方式に準じている。これを現代版とするため
・現在国内で購入できるパーツを使用
・当時よりは少しは高性能にしたい
・基本はアナログ回路
このコンセプトに製作することとした。

【構成】
Block Diagram
左図に熊本標準とTachikawa_Versionのブロック比較を載せた。色付きの部分が主に変更しているところ。マイクアンプ、DBM、AGC、IF_AMP、Linear_AMP部分








【SSBジェネレーター】
Generator_Schematics
 受信部は、熊本標準では、中間周波増幅2段であるが、やはりAGCのダイナミックレンジ不足は否めなかったので、今回は3段とした。
 使用するFETは、熊本標準が3SK45であるが、今回は秋月で購入できる3SK294を使用した。このFETは3SK45のようなデプレッションタイプではなく、エンハンスメントタイプである。つまりG1のバイアスがプラス域となっている。
 クリスタルフィルタは、熊本標準では
Generator
CB機用のものが当時格安で入手出来ていたが、現在では特注となって非常に高価なものになる。今回は安価に入手できるクリスタルでラダー型フィルタを使用した。ラダー型フィルターに関してもJA6BI OMがHam Journalに詳しく解説されていたので自作派の方にはなじみ深いと思う。今回はサトー電気等で入手できる10.695MHzのクリスタルを選択し6段とした。
 AGCはIF出力コイルのホット側から取り出し、エミッタフォロワーを経由して検波し、1段目のオペアンプで直流増幅し、Sメーター出力を取り出すとともに2段目のオペアンプの反転入力に入れ、電圧オフセットを行いAGC出力としG2にかけている。尚、RFアンプにもAGCが掛けられるよう端子に出力している。
 3SK294は非常に高性能であるが、G1のバイアス調整が非常にクリティカルであるため、ボリュームで電圧調整できるようにし、中間周波増幅各段に供給するようにしている。また、AGCのダイナミックレンジを広くとりたいことから、かなり電流を多く流れるセッティングとしている。このことで受信時の消費電流が大きめとなってしまっている。移動運用等の電池駆動では少々つらいかもしれない。
 AFはお決まりのLM386で、NFBを掛けてノイズを抑えている。
 復調は、熊本標準ではダイオードDBMであるが、今回は秋月で購入できるNJM2594を使用した。このICはuPC1037H互換となっている。
 送信部は、マイクアンプとしてオペアンプを使用。これを受信と同じくNJM2594により変調をかけている。マイク入力レベルでひずまないようレベル調整が重要である。
 変調出力を2SK192で増幅しフィルターに入力している。
 NJM2594は、入力端子に電圧をかけることによりキャリアバランスをとることができるので、ボリュームで最低レベルとなるように調整する。データシートでは標準-40dBとなっており、一般的なレベルであるが、もう一息下げたいところである。
 キャリア発振は、熊本標準同等の回路である。水晶はフィルターと音字10.695MHzの推奨を使用。LSBの場合はフィルタより高い周波数なのでコンデンサーで簡単に調整できるが、USBの場合はフィルタ周波数より低くなるので、コイル等で少しVXO的にする必要がある。

【コンバーター】
Converter & Linear
今回は50MHzとした。構成は熊本標準とほぼ同等。
 周波数変換もダイオードDBMと同じ。これはジェネレーターから出てくる送信信号のレベルが高いため、NJM2594ではオーバー入力となるためである。
 RFアンプはIFと同様3SK294である。これはIFと同じAGCを使用するためであり、やはりG1のバイアスがクリティカルであるため半固定抵抗で調整している。
 送信リニアアンプには
Converter ,Linear,Counter
AFT05MS004NT1を採用した。このFETについてはこの前のBlogに掲載したものであり、非常に高性能なものである。+10dBm入力で5Wが期待できる。今回の構成では少しドライブが低いため、口笛MAXで3Wとなった。もう1段追加すれば5Wにすることができるが、無理に追加するまでもないと思い、このままとした。
出力にはお決まりのLPFを追加しスプリアス抑制をしている。

【VFO】
VXO_Schematics
VFOは、今どきはDDSかSi5351PLLと売るところであるが、熊本標準に倣って敢えてVXOで製作した。
 VXOに使用するクリスタルのみが入手しずらいものである。現在特注で製作できるところはアロー電子だけと思われる。
 幸いにもジャンク箱に13.2MHzのクリスタルがあったのでこれを3逓倍し39.5MHz付近としてIFと合成し50MHzを生成してい
VXO
る。基本波で発振させVXOとし、約30kHz可変とした。これ以上では自励発振に近づき安定度がすこぶる悪くなる。
可変範囲は50.16-50.27MHzとなった。概ねSSBバンドで使用できる。
 また、参考にZL2PD作のSi5351PLL(一部アレンジしているが)を使用したVFOの回路図を載せておいた。非常にコンパクトで、よくできており気に入ったものである。興味のある方は、氏の記事を参照願います。勿論拙作のarduinoVFOでもいい。(笑)

【製作】
 筐体はセッツ金属のSB-11(現行品)を使用した。しっかりした筐体でモンバンドトランシーバーには使い勝手が良いケースと思う。上下2段とし、下部にジェネレーターとVXO
、上段にコンバーター、リニア、リレー等を乗せた。
 また、今回周波数表示に秋月の周波数カウンターキットを使用した。このキットはIF周波数シフトがソフトで設定できるため、直読とするところがいい。ただ、基盤が少々大きいこと、7segLEDが大きくパネルに収まらないため、手持ちの小型LEDに変更した。詳細は秋月電子で調べていただくこととしてここでは、省略させていただく。
 試作なので各基板はユニバーサル基板を使用して製作した。できればプリント基板としたいところであるが、苦手である。
 主要部品購入先は、
  秋月電子 (FET,OPAMP、NJM2594、カウンターキット)
  サトー電気(クリスタル、FCZコイル)
  マルツ  (AFT05MS004NT1)

【使用感】
 今回のジェネレータは、3段IFであることから結構AGCダイナミックレンジが取れているため、聞きやすく仕上がった。また、内部ノイズも非常に小さくアンテナ入力を外すとAFボリュームを上げても気になるようなノイズ音はしない。今まで製作したものの中ではトップクラスである。
 送信はMAX 3W QRPとしてはちょうどよいかもしれない。ローカルにモニタしていただいたところ、以前製作したPSN送信機と比較すると、まあ普通の音とのこと。合格点はいただけるとのことであった。
 今回は熊本標準を意識したので、特殊なものは使わないこととしたが、現行パーツでそれなりに製作できたことは、非常に満足であった。
 やはりアナログは難しいし、面白い。40年近く前の回路であるが、現在でも自作派では標準ではないだろうか。デジタル器機では味わえない満足感を感じるのは、私だけではないと思う。敢えて熊本スタンダード(Tachikawa-Verion)としたことをお許しいただきたい。尚、Tachikawaとは私のHomeシティーのことです。

Let's enjoy homebrew.
DE JA2NKD 

2019年5月21日火曜日

UHF Transceiver using DRA818 module


久々の投稿になってしまいました。何もしていないわけではありませんが、投稿に至る完成品がありませんでした。
 今回はお世話になっているJA2GQP OMから紹介いただいたトランシーバーモジュールを使ったハンディートランシーバーである。
 モジュールはDORJI(中国メーカー)のDRA818Uという400-470MHz用のFMトランシーバーである。この他に140Mhz帯用もある。いろいろなトランシーバーを作っているようだ。
DRA818Uの仕様は概略以下の通り
周波数範囲:400-470MHz
チャンネルステップ: 12.5kHz,25kHz
出力:0.5W,1W
CTCSS/CDCSS: Tone
電源:3.3V-4.5V サイズ:W35.6 H:19mm


この大きさで1Wトランシーバーが入っている。中国製のトランシーバーには、これらのモジュールを使用しているようだ。内部にはDSP等デジタル化されている。
このモジュールに、AF用アンプ、マイクを付けてマイコン等で制御すればトランシーバーの完成である。

【製作】
 ハンディータイプとする。ケースはタカチのバッテリーケース付きプラスチックケースLC135H-M3を使用。コントローラーはDRAの電源範囲が3.3-4.5Vなので3.3V仕様のArduino Pro mini(3.3V 8MHz)を採用。表示にはOLED128x32(I2C)、AFアンプには秋月で仕入れたD級AMP(HT82V739)キットを使用し小型化、簡略化を図った。
 基盤には、400MHz帯であることを考慮し、メッシュアースユニバーサル基板(ICB-98DSE)をケースに合わせてカットして使用。モジュールは、基盤をくり抜き収めている。
PCB
回路は、至極簡単なので回路図を見ていただければご理解いただけると思う。
Schematics
回路図はダウンロードサイトにPDFがあります。
Inside View

内部の配置は上の図を参考に。

【Arduino】
 今回はモジュールが3.3Vなので直結できるメリットからArduino Pro mini(3.3V 8MHz)を使用した。Pro miniはUSB[返還を搭載していないので、外部に用意する必要があるが、小型でありnanoと同様に使える。
  • DRAコントロール
     DRAコントロールは「ATコマンド」で行われる。
     ”AT+DMOSETGROUP=”に続いて受信周波数、送信周波数、スケルチレベ
     CTCSSコードをテキストベースで送信する。
  • PTT
     DRAのPTT端子をLOWにすると送信。今回はPTTスイッチを一度Arduinoに取り込んで、I/Oに出力しDRAのPTTをLOWにする。
  • Squelch
     スケルチスイッチをAruduinoに取り込み、一度押すとOFF、再度押すとレベル1にセットするようにしている。最大8レベルまであるが、今のところ1で十分のようだ。
  • OLED
     OLEDはI2C仕様の128x32のものを採用。周波数表示のみである。
  • Rotaly Encoder
     Rotaly.hライブラリーを使用した標準的なもので、25kHz STEPで加減算している。
これ以外にもDRAにはいくつかのコマンドがあるが、今回はシンプルな制御としている。
スケッチはダウンロードサイトにあります。

【使用感】
  出力はLPF経由後で0.5W程度。MAX1Wであるが、電源電圧が3.6V程度なのでこれくらいだと思う。また、スプリアスを規定値に収めるためにはLPFは必須である。製作は回路図に示しているようT型の簡単なものであるが、十分効果がある。
 受信感度は、思いのほか良い。FT991と比較してもさほど差がないように感じる。
やはりこの周波数ではアンテナの効果が大きいようだ。
 STEPが25kHzなので100kHz単位でないとチャンネルプランに逸脱してしまう。
その面ではいまいち使いにくい。別会社で5kHz STEPのモジュールもあるので、機会を見て2台目を製作してみたいと思う。
 このモジュールが千数百円で入手できるとは。思えば2BANDトランシーバーが数千円で売っている。







基本はより下のノイズが気になる。後日調査予定。上側はきれいにLPFが利いている。










追記(2019.05.28):
 送信試験をおこなっていたら、変調音にノイズが入ることを確認。調査してみるとOLEDのノイズであることが判明。OLEDは結構ノイズが出るとは認識していたが、今回実際問題となった。受信音には問題なかった。
 そこでスケッチを改良し、送信時にOLEDをスリープさせ表示を消すようにした。これによりノイズは消えた。ハンディータイプなので送信時に表示がなくても問題がない。
修正スケッチはダウンロードページに追加しました。(NK430_101.ino)