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

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

 

 

 

 


    

       

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







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)

2013年6月19日水曜日

28-50MHz AM/FM Transceiver (8) 完成

外観(FRONT)
CQ誌にAMの話題が掲載される前から作り始めたのだが、やっとのことで取り敢えず完成した。といっても課題も残っているが。
 当初計画は以下の様であった。
【特徴】
・ミクサーにアクティブ(受信)、パッシブ(送信)を使用
・VFOにDDS(最初はPLLの予定であったが)を使用
・AM変調にICを使用した低電力での変調
・送信パワーアンプに三菱パワーFETを採用


外観(BACK)

【計画仕様】
周波数:28.000-29.7MHz 50.000-54.000MHz
モード:AM・FM
出  力:5W(AM,FM)







最終的な性能は、以下の様になった。

 周波数: 28.000-29.7MHz 50.000MHz-54MHz
 モード:  AM,FM
 出力:  28Mhz帯 2.5W(AM、FM) 50MHz帯2W(AM,FM)
 電源:  受信時 28MHz帯AM 0.37A FM 0.44A
            50MHz帯AM 0.44A FM 0.40A
      送信時 28MHz帯AM(無変調)1.46A FM(無変調)1.44A
            50MHz帯AM(無変調)1.32A FM(無変調)1.30A

 AM,FMの電流変化等は、リレーのON、OFF切り替えによる変化である。
28,50MHzの送信時の電流変化は、リレーのON,OFFと出力段の電流変化が主なものである。

50MHz出力スペクトラム
28MHz」出力スペクトラム












【課題】

  • AM変調は低電力変調で行っているが、その後の回路はリニアである必要がある。ピーク時においては、無変調時の4倍のパワーが必要である。その為リニア動作を確保するために、最終的出力は、終段のRD15HVF1のMAXである9W近くの1/4である2W程度に絞る必要があった。実際の交信ではやはり出力10W程度は欲しい。特にノイズの多いときには2Wではきつい。リニアアンプをつけるか、終段をプシュプル等にしてパワーアップを検討していきたい。
  • AM受信にはLA1135Nを使用した。このICはステレオチューナーやカーラジオ等に使用されていたもので、高機能である。AGC、Sメーター回路が入っており、出力の歪みも少なく良い音がしているような気がする。AGCは、高周波用、IF用とあり色々応用できそうである。またSメーター回路は80dBのリニアリティーがある。このICの1クラス上のLA1137Nでは100dB取れるとの事である。今回あまり詳しくは実験しなかったが、LA1137Nも入手してあるので今後いろいろ応用してみたいと思う。7MHzAMであれば、このICにオーディオアンプをつなげばできてしまう。
  • VFOには中華製DDS基板(AD9851を)を使用した。基準発振素子やLPFに問題があるものの価格の安さは魅力である。信号純度が気になるが、これがどう影響するかは実際に使って見なければ分からないと思い、今回採用した。今のところ音質についてのクレームはない。
  • 送信高調波は、スペアナの画像を見るとギリギリ-50dB(28,50MHzともに)であった。-60dBは確保したいところだからもう一歩といったところか。
  • 受信スプリアスは、28MHz帯で、28.13(S2)。29.09(S2.5),29.7(S7) 50MHz帯で50.47(S0)、50.92(S0)、51.02(S0)、51.09(S1)、51.39(S4)、51.83(S1)、52.62(S1)、53.02(S3.5)となった。これらの原因が、DDSなのか、MIXER関係なのか分析していく必要があるが、実使用においてはあまり問題にならない(私だけかもしれないが)。計算が面倒である。今後の課題だ。
  • FMデビエーションが±2.5KHzとスーパーナローとなっているが、もう少し広げたい。このためには10.695MHzのVXO回路をもう少し検討する必要がある。暇を見て実験してみる。
  • メモリーは9チャンネルと電源OFF前の状態保存を行っている。次回電源ON時いは前回OFFの時の状態でONするようにしている。固定メモリーは周波数とモードを保存している。今後VFOの2チャンネル化やメモリー周波数をVFOへ移行するようなモードやRIT回路などを組み込みたい。今回はハードスイッチが限られているので組み込まなかった。少ないスイッチで多機能を使用するようにスイッチモード変更等も検討していきたい。この辺りはセンスで使い勝手が変わるので十分検討する必要がある。あまり欲張らないこと。SSBであればこの辺のことが重要になってくると思う。
  • 終段の三菱高周波用FETについてもさらに追求が必要である。プシュプル、パラレル等も実験してみたい。バイアス電流が大きいことが気に入らないもののそこそこ使えるFETだと思う。固定用ならば「有」だと思う。
  • 今回2バンドAM,FMと欲張ったが、結構大変であった。切り替え回路やバンド毎のレベル調整等。いろいろ勉強になった。機能を追及するならば単一周波数、モードが作りやすいことは言うまでも無い。でもSSBオールバンド位は挑戦してみたい。

以上まだまだ課題が多いが、取り敢えず完了とする。参考として回路図とLCD表示を掲載しておく。

回路図は、記録と記憶により描いているので100%ではない。あくまでも参考としてください。

次は何をつくろうかな?



受信回路図
送信、DDS、MPU回路図

LCD表示(参考)

2013年5月26日日曜日

28-50MHz AM/FM Transceiver (7)

いよいよ肝であるVFOとMPU部分である。

DDS回路図
【VFO】
 VFOにはDDSを採用した。すでに幾つかのサイトで紹介されている中華製DDS基板である。多少問題もあるようであるが、価格から見れば使わない手はない。今回はAD9851を使用している。AD9850でも可能であるが、上限に近いことや基準発振器に問題がありそうなことからこちらとしたのである。この基板でもスプリアス等は気になるところであるが、取り敢えず採用してみて問題があるようならそのとき検討することとしている。

 尚基板上のローパスフィルタは、AD9850の基板と同じく問題があるのでLとCは交換している。この基板にはLPF付きと何も付いていない出力と2系統の出力がある。そこでLPF付きの出力を受信用VFOとし受信MIXに送っている。何も付いていない出力には外部にLPFを付加して送信用に使用している。どちらも出力は-6dBmである。

 スプリアスや信号の純度に関しての実際の使用感については、次回報告する予定。
 この基板の詳細については、NET上に幾つか報告されているので参照願います。

MPU回路図
【MPU】
 DDSのコントロール、液晶表示のコントロール、ロータリーエンコーダー及び各種スイッチのコントロールにMPU(Atmel ATmega168)を採用した。開発言語は、BASCOMのBASICである。

 今回の特徴的な部分は、Power-ONのコントロールである。AFボリュームのスイッチでONとなるが、スイッチをOFFしたときにいきなり電源OFFするのではなく、終了処理をCPUで行った後電源OFFとなるようにしてある。
 終了処理とは、現在値をCPUのROMに書き込むことである。これを立ち上げ時に読み込み、次回Power-ONの時、前回終了時の周波数、モード、エンコーダーステップで立ち上げることができる。状態変化があった時点でROMに書き込めばよいと思うが、ROMの書き込み回数の保証が10万回となっているため、これを回避する手段として、電源OFF時にこのような処理を行っている。 もっとスマートにできる方法があると思うが、私の能力では、このような回路しか浮かばなかった。

 ロータリーエンコーダーは、今回光学式のものを使ってみた。これは、以前廉価なメカニカルの場合取りこぼしが多かった為である。結果としては、やはり光学式のほうがメカニカル式より取りこぼしが少なかった。少々高いのが問題ではあるが。
 分解能は25P/R。もう少し細かいほうが良いのだが、FM,AMならばそんなに国はならない。SSBであれば数百欲しいところである。
 スイッチは5個(周波数ステップ、バンド切り替え、モード切替、VFO/メモリー切り替え、メモリー書き込み)である。




 いよいよ次回完成報告とする予定である。


2013年5月15日水曜日

28-50MHz AM/FM Transceiver (6)

 ここのところ引越等大きく環境変化があり、工作は休業状態であったが、やっとのことで落ち着いてきた。まだ完了ではないが、どうにか工作が出来るまでになってきた。
 2ヶ月も工作をしていないと、前回までのことをかなり忘れている。
一応送受信が出来る状態であったが、変調に問題があった。
FM変調では変調度(デビュエーション)が小さい。AM変調ではマイナス変調で音の歪みが大きい(多い)ようである。今回はこれの対策を行うこととした。

FM改造回路図
【FM変調改造】
FM変調では変調度(デビュエーション)が小さく、モニタすると音が小さい。波形を見ると周波数変化が±1KHzがやっとであった。スーパーナローで±2.5KHzは必要である。オーディオ信号を大きくしてもこれ以上広がらない。根本的に見直す必要がある。
 そこで変化量を上げるためにバリキャップダイオードを直列に2個使用し変化量を稼ぐようにした。また、発振用FETをトランジスタに変更した。これによりどうにか安定して±2.5KHzの変化量を確保できた。この辺りは多分に手探りであった。機会を見て再度水晶発振回路を検討してみる予定。最終回路は図を参照願います。

改造前
改造後

【AM変調改造】
 AM変調は予想通りマイナス変調で、音質が歪っぽい。最初トランシーバーのラジケータを見ていたのだが、音声を入れればプラスに振れるのでマイナス変調とは思っていなかった。しかし熱伝対式POメータでみてみたら見事にマイナスに振れる。これはピーク検出と平均電力の違いであることに気づいた。
 ファイナルアンプへの直接変調の場合、マイナス変調の原因はオーバーモジュレーション、励信電力不足等であるが、低電力での変調の場合は、まずどの段階で発生しているのかを調べていく必要がある。今回の場合、まず変調用IC TA7069での波形を見てみるが問題ない。続いてミクサー。ここも問題なかった。結果リニアアンプ部分で発生していた。その波形は写真のようなものである。ピークでの波形が見にくい形となっている。波形として見たのはこれが初めてである。
この時の出力はMAX4Wで変調最大で2W程度まで落ちる。
 今回のリニアのMAX性能は10W弱である。4W出力時に100%変調した場合。電圧で倍 従って電力で4倍の能力が要求されることになる。それは16Wである。従って最大能力を超えることになる。
 従って今回その対策はどうするかといえば、最大出力能力を上げることは無理であることから、入力レベルを下げることになる。最終的には2W出力時まで下げる必要があった。2Wで4倍8Wでリニアアンプ能力内に収まる。このため最終的にはバンドパスフィルタとリニアアンプ部の間に3dB程度のアッテネータを入れることになる。

AM改造前出力波形
2W出力時波形


 さてAMで2W出力はどうなのだろう。実用的にはどうかである。実際に別のトランシーバーでローカル局に協力を頂き試してみたが、ノイズレベルとの兼ね合いで大きく影響している。基本的にノイズはAM成分が多いため、これが重なってくるとかなりきつくなってくる。同じ出力であれば、SSB,FMのほうが圧倒的に有利となる。ならば何でこんなもの作っているのであろう。といったらオシマイダ。

次回はいよいよVFO(DDS)とコントロール回路となる。