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

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しましょう!!









2022年5月23日月曜日

DDS & PLL Tester

 無線関連の自作を行っているが、最近DDSやPLLを使用することが増えてきている。そんなときトラブルが発生したとき、原因調査でDDSやPLLが壊れていないか調べることがある。
 今までは、ブレッドボードで試験回路を作って調べていた。マイコン制御であるため、試験プログラムもいくつか作っていた。ということで、各種DDS,PLLを簡便に試験できるテスターを作ってみた。

【 HardWare 】
 ハードウェアといっても、ユニバーサル基板にArduinoとTFT-LCD、DDS等を乗せるためのpinソケットだけの簡単なものである。
唯一の特徴はタッチパネル付きのLCD(2.8inch)を使用したことでしょうか。

【 SoftWare 】
 今回のスケッチは、過去作成したものに継ぎ足しで作ったのでわかりにくいと思うがご容赦。 
 単純にDDS,PLLを選択し、リファレンスクロックと出力周波数をテンキーで入力することにより動作するという単純なものである。





【 Device 】
 試験できるDDS、PLLは以下のもの。
 DDS       AD9833,AD9834,AD9850,AD9851
                AD9833はサイン波、三角波、方形波を選択できる
   PLL        Si5351
                Si5351はCLOCK0,CLOCK1,CLOCK2を選択できる

【 操作 】
    (1) タッチパネルDeviceを選択
  (2) Ckockを入力しEキーをタッチ
            0を入力しEキーを押すと規定値が設定される
            AD9833-25MHz,AD9834-75MHz,AD9850-125MHz,AD9851-30MHz
            Si5351-25MHz
  (3) 出力周波数を入力しEキーを押す
            0を入力しEキーを押すと規定値が設定される
            出力周波数は 1MHz
  (4) 信号が出力される
    (5) RestartでTOPに戻る。


 以上簡単な構成である。スケッチで最も面倒なのは、タッチパネルのキャリブレーションと思う。ALL BAND TRANSCEIVERで説明しているので参考にされたい。

 スケッチ、回路図(PDF)     Sketch & Schematics

以下に回路図と各種DEVICEの画像を乗せておく。















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月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


2017年12月25日月曜日

RF Analyzer Ver2.01 AD9851 version

 最近RFアナライザーに関して、「AD9851は使えないか?」との問い合わせが何件か有ったのでAD9851バージョンを作ったので公開します。

 基本的にはAD9850と殆ど同じである。違いは使用できる周波数上限が高くなることである。
 今回使用したのは中国製のDDSユニットで写真のTYPE-Bである。もちろんTYPE-Aでも使用可能である。中国製ユニットは以前に比べて高くなっているようだが、まだ入手可能であり、ICを個別に買うより安価であることは間違いない。また一時期人気が有ったのでお持ちの方も多いと思う。また最近の発振ICとしてはSI5351PLLが人気で秋月でも安価に購入できることからVFO等はこれらが使われるようになりDDSは一頃より人気が無いかもしれない。しかしRFアナライザーでは少しでもスプリアスが少なくサイン波であることからDDSを採用している。


 このユニットの問題点は、基板上に構成されているLPFの特性が非常に悪く出力レベルが周波数が高くなるにつれて大きく減衰してしまうことである。Ver1のAD9850ユニットでも同じである。そのためこの出力は使わず、ダイレクト出力を使用しLPFを別途付け加えている。それでも高域では少し下がる傾向にある。もう少し見直したいが、配線上の問題もあり、実際に組み込んだ状態で最終調整することとしている。
 より精度を上げるためにはALCを付加するといい。写真のTYPE-Cが塩見さんが作られたALC対応のDDS基板である。
 これについては塩見さん(soltec工房)が作られて良い結果が出ている。

 回路は先に述べたようにVer1と同じで、LPFの定数が変更になっただけである。


 実機テストは仮設テストベンチでおこなった。


 動作表示


 スケッチ及び回路図はダウンロードコーナーにUPしてある。

I recently made an AD 9851 version because there were several inquiries about RF analyzer, "Can I use AD 9851?", So I maked it.

AD9851it is almost the same as AD9850. The difference is that the upper frequency limit.

This time I used a DDS unit made in China and it is TYPE-B of the photograph. Of course it can be used with TYPE-A. Chinese-made units seem to be getting higher than before, but they are still available and it is cheaper than buying an IC individually. Since I had popularity for a while, I think that there are many homebrewer that they have. Also, as a recent oscillation IC, SI5351 PLL is popular and can be purchased cheaply, VFO etc  used these and DDS may not be popular from that time. However, the RF analyzer adopts DDS since it is a sin wave with little spuriousness at all.

 The problem with this unit is that the characteristics of the LPF formed on the board are very poor and the output level greatly attenuates as the frequency increases. This also applies to the AD9850 unit of Ver1. Therefore, this output is not used, and direct output is used and LPF is added separately. Still it tends to go down a little in the high region. Although I would like to review a little more, there are problems on the wiring, and I am going to make final adjustments in the state actually incorporated.

 For better accuracy, you should add ALC. TYPE-C of the photo is ALC-compliant DDS board made by Mr.Shiomi.
As for this, Mr. Shiomi (soltec koubou) was made and good results have come out.

 As described above, the circuit is the same as Ver1, and the constant of LPF is changed only.

Sketches and circuit diagrams are uploaded to the download corner.

Let's enjoy Homebrew.

73's
JA2NKD


2017年10月4日水曜日

6BAND 6.1 SSB Transceiver

 かなり以前から、ebayやaliに気になるキットが出ている。youtubeにも色々投稿されている。それは6BAND6.1 SSBと言われているキットである。チップ部品を使用しており非常にコンパクトで且つ6バンド(3.5,7,10,14,21,28MHz)で値段も数千円であり、思わずポチってしまった。といってももう半年も前のことである。
今回重い腰をあげ、老眼鏡をはめて作り始めた。

 詳しい仕様等も判らず資料もついていない。販売商品ページにリンクが有り、そこにある資料を参照しろということのようだ。
 回路図を眺めてみると定番のSA602を3個使用したもので特段特殊ではないようだ。
 受信はFETアンプ1段(回路図では省略されているようだ)ミクサーにSA602(実際はSA612が入っている)そのあと1段IFアンプ(FET)、クリスタル5個のフィルター、さらにFETのIFアンプ1段し、SA602(SA612)で検波。送信はSA602(SA612)で変調しフィルタに入りFETアンプ1段増幅しSA602(SA612)でVFOとミックスし目的周波数を得る。入出力にはバンドパスフィルタがあるが、どうも今一。

 取敢えず部品配置表とにらめっこでチップ部品を取り付ける。しかしここで問題発生。示された配置表と基板が少し違う。どうもバージョンの違いのようだ。回路図とマニュアル(G0CWA著 )を見ながら順を追ってつけていく。
 次の問題 送られてきた部品のFET(BF998)は基板のパタンに合わない。ここにはBF998Rを使う必要がある。これは非常に大きな問題である。幸いお世話になっているJA2GQPさんからインフォメーションがあったので新たにAliに手配しておいた。さらにリレーが4個使われているが、これが中古取り外し品である。
 このようなキット販売が許されるのも中華ならではかも知れない。
 一通り部品がついたら試験である。

 受信は取敢えず7MHzで信号が入感、しかしモガモガ。BFOの周波数が合っていない。VFOが15MHzでIF8MHzなのでLSB受信の為には8MHzの下側7.9985MHzとする必要があるが、VXOコイルがマニュアル通りだと下がりきらない。仕方なく巻き直す。7Kコイルの溝に5回x5溝とした。これでも7.5uHしかなかったが、何とか7.9987KHzとなたのでOKとしている。経験的には10uH以上必要と思う。これで快調に復調できるようになった。
 フィルターはバリキャップを使用し可変となっている。フィルタ単体で試験してみると波形はリップルが大きい。聞いてみて特に問題は無く聞こえているので、今のところオリジナルのままとしている。AGCはAFボリュームの出力側から取られているので、ボリュームを回すとレベルも変化してしまう。またSメータ出力が無いので外部にAGC回路を別途儲けAGCとSメータ出力としている。
 送信は各バンド多少の差異はあるが-30dBm~-25dBm程度であった。またキャリア漏れもあるが、調整が出来ない。
 入出力のBPFもピークはでるものの、どうも旨くマッチングしていない感じである。
キットとしての再現性はお世辞にも良いとはいえない。

 取敢えずこの状態でVFO,リニアを付けてトランシーバーとして組んでみた。

VFOには以前紹介したマルチバンドVFO(NKD_VFOVer3)を使用。殆どオリジナルのままであるが、6バンドに変更している。詳しくはリンクのページを参照してください。

 リニアは私定番の三菱パワーFET(RD00HHS1,RD06HHF1)を使用し5Wを目指す。
しかしキットからの出力が-30dBm程度なのでこの2段ではまだ20dBくらい不足している。しかしストレート3段アンプも発振等怖い感じである。現状キットからの直接入力で1W以下しか得られない。MMICアンプを追加しようか悩むところである。
 出力用LPFは、3.5MHz,7MHz、10-14MHz、21-28MHzの4回路としコンパクト化した。

 Arduino nanoを使ったコントロール回路は、NKDVFOVer3のものをそのまま使用しているが、BAND情報、MODE情報をキットに引き渡すことと、LPF切替のために使うことから 3 to 8 Demultiplexer(BAND情報用)と 2 to 8 Demultiplexer(MODE情報用)のあとにデジタルトランジスタを使用して出力させている。ちょっと大げさかもしれないがキットの切替信号入力にはフォトカップラーが使用されており結構な電流を流すようになっているためである。

 少々雑に記したが、課題をまとめると
1.FETにはBF998Rが必要で別途手配を要す。
2.VXOコイルの定数見直し
3.BPFの定数見直し
4.中古リレーは新品としたい。(現時点では鈴商で入手可能 @250)
5.キャリア漏れがある
6.フィルターのリップルが多い
7.送信出力レベルが低い(-25~35dBm)
8.Sメータ出力がないこととAGCが今一なので改良
9.まともな回路図、部品配置図がない(見つからない)






 最終目標の5W出力が得られていないが、受信部は完成し快調に受信できている。非常にコンパクトに出来ており再現性がよければいいキットになると思うが、現状では製作のハードルが高いと言わざる負えない。まだまだ手を入れる必要があるが、時間が掛かるので、現状でブログアップすることとした。

Because it is hard to write in English, only the assignment is shown below.
Please send me a comment or e-mail if there is something you do not understand.

1. BF998R is required for FET and it is necessary to arrange separately.
2. Constant review of VXO coil
3. Constant review of BPF
4. I would like to use used relays as brand new.
5. There is a career leak
6. There are many filter ripples
7. Transmission output level is low (-25 to 35 dBm)
8. Since there is no S meter output and AGC is now one, improvement
9. There is no decent circuit diagram, parts layout diagram (not found)

At the present time, the final target of 5 W output has not been obtained. I am going to improve it in the future, but since it takes time, I blogged up the present situation

73's
DE JA2NKD

 
 

2017年5月30日火曜日

BitX40 added DDS VFO

 BitXトランシーバーは世界中でベストセラーとなっているQRP SSBトランシーバーのようだ。ネット検索やYou Tubeでも多くがヒットする。もともとは20m(14MHz)のようであるが40mやマルチバンドへの改造も見けられる。Hendrick QRP-kits(現在Pasific Antennaという名前に変わっている)で今も販売されている。QRPerの方々には周知のことと思う。たまたまebayを見ていたらBitXの基板や部品が販売されており、40m対応基板もあった。そこで当然ポッチした。非常に格安であった。基板はVer3Bタイプである。
 最近ではVer4でチップ部品を使った完成基板が販売されている。これを購入すれば簡単にSSBトランシーバーが出来る。作ることが楽しいのであえて基板購入とした。
Front
暫く多忙で手付かずであったが、やっと製作にかかれた。どうせ作るのなら自分が作成したDDSVFOを組み合わせるのが良かろうとスタート。
 回路図等はNETで入手できると思うので省略している。製作過程で何箇所か改良する必要があったので、その内容を中心に書いている。

【回路の特徴】
 回路を見てみると非常に特徴のある回路だ。多くのキットがSA602,SA612といったICを多用しているのに比べ、BitXでは殆どがバイポラートランジスタで構成されている。AGCを除けばAFアンプのLM386だけがICである。
 その次に特徴的なのは、送受信用アンプを入出力逆にしてコンデンサーで接続し、切り替えはダイオードを通しコレクタに電源を供給している。回路の一部(Fig1)を載せておくので見ていただければ理解できると思う。これは入力容量と出力容量が合成されるので高い周波数では難しいと思われるが、14MHzあたりまでは問題なく動作させられるようだ。さらにトランジスタ増幅回路には同調回路が無く、コレクタ負荷は総て抵抗となっている。このことによる増幅度やイメージ混信等が気になるところである。出来上がりで評価したい。
 受信部の構成は、BPF+RF1段+ダイオードDBM+IFAMP+X'talフィルタ+IFAMP+SBM検波+AFプリアンプ+PAアンプとなっている。
 送信部は、マイクアンプ+SBM変調+RFアンプ+X'talフィルタ+RFアンプ+DBM+RFアンプ+RFアンプ+ドライバーアンプ+ファイナルアンプ+LPFとなっている。
Block

【製作&改良】
 製作の過程で幾つか問題が発生したため、オリジナルから変更している。

  1. BPF
     入力部分のバンドパスフィルタについてオリジナルではBitX20から変更する場合、100pF+27pFと指定している。この通りに製作したが同調点が無かった。コイルを測ってみると2.3uH~3.61uHであった。計算しなおすと161pFとなるので、100PF+68PFに変更した。(Fig.3)これでピークが現れた。これをスタガ同調調整でバンド内均一となるように調整した。-3dB帯域で380kHzとなった。この調整にはスペアナ等があると簡単である。しかしスペアナは高価である。小生作のRFアナライザーがお勧めである。是非製作してみてください。(宣伝 笑)
  2. AGC
     AGCはオリジナル回路を使用しているが、マニュアル通りAFボリュームの1次側から取り出すとどうもおかしくなる。どう調整してもうまく聞こえない。AGCへの入力レベルが強すぎる感じがした。そこで前段アンプのベースから取り出してみた。これによりどうにかうまくAGCが制御できるようになった。(Fig.4)AFによるAGC検出は初めてであり、尚且つIF1段のみの制御である。これには当初から予想されたことであるが、今一歩である。どうにか使用できる範囲に調整することが出来たが、超スーパーローカル局を受信すると完全にIFがOFFとなってしまう。やはりダイナミックレンジが取れていない。回路上致し方ない。そこでTOPにアッテネーターをつけようと思いスイッチを用意した。実際にはまだ付けていないが。
  3. マイクアンプ
     送信試験をしたところ、マイクゲインを上げていくと発振することが判明。高周波の回り込みではないようだが、原因不明。そこで、マイクアンプを2段から1段に変更したところ発振は収まった。ゲインも十分のようである。最新のBitX40Ver4では1段になっているところを見ると、同じような症状があったのかもしれない。(Fig.2)
  4. キャリア漏れ
     キャリアヌル調整をしたが、どうも今一。調整用ボリューム、トリマーはかなりクリティカルで完全なヌルには調整できなかった。エキサイター最終試験でも辛うじて-40dBであった。ここは見直しをしたいところであるが、大幅な改造となるので原回路のままとしている。
  5. DDS VFO
     オリジナルはLC発振のVFOでバリキャップで同調を取るようになっている。周波数が3MHzと低いのでそこそこの安定度にはなると思うが、ここは当初から小生作ArduinoコントロールのDDS VFOを採用することに決めていた。
     このVFOはDDS周波数=送受信周波数+キャリア周波数となっているが、BitX40ではDDS周波数=キャリア周波数ー送受信周波数であるため、スケッチ変更している。
     このTFTLCDにはSメーターも表示できるが、今回Sメーターはアナログメーターとした。特に意味はないが、何か受信している気分がいい。送信インジケータは表示させている。
     ここで少々厄介な周波数合わせが必要だ。X'talフィルタは10MHz水晶であるが、実際の中心周波数はこれになっていない。調べる必要が有る。これもRFアナライザー等で調べてみると、9996800Hzであった。従ってキャリア発振は9998300Hzとなる。この数値もスケッチに反映させてやらないと表示周波数がずれてしまう。
     実際には、綺麗に受信できるところにキャリア周波数を調整し、その周波数を測定し1500Hzずらせばフィルタ周波数が推測できる。この当たりが少々難しいところである。デジタル表示であるがゆえに難しくなっている。アナログVFOであればこの当たりは凡そでOKとなるところではあるが。
  6. LPF
     動作試験で出力が1W程度しか出てこないことから色々調べてみたが、最終的に出力のLPFがおかしいと判断。もともと20m用の設計を7MHzに変更するようにしているため無理があるようだ。これを設計しなおし付け替えたところ5W(口笛7W)出力できるようになった。(回路図は用意していないが、定K型LPF両端のコンデンサーは450pF(430pF+22pF)、中間900pF(820pF+82pF)、コイル1.1uH T50-2 15t))
Modify
Inside1

Inside2

【動作試験】
 どうにか受信送信とも正常動作になった。今回製作途中では結構手こずった。それだけに完成すれば嬉しいものである。
 AF-AGCはあまり期待していなかったが何とか実用範囲に調整できた。ただやはり強力な局に対しては飽和し音も歪が多くなる。強力な局にあわせると弱い局がさらに聞きにくくなる。ダイナミックレンジが狭いので致し方ないと思う。強力な局に対してはATTをTOPに付けるのがベターと思う。
 送信はローカルにワッチしてもらったが、特に問題ないとの事。マイクアンプを1段にしたので浅い変調になるかと思ったが、偶然にも丁度いいとの事で、安心した。1'th交信も無事できた。「5WQRP」と言いながら更新するのもいいものだ。逆Vダイポールで何処まで富んでくれるのだろうか。楽しみである。
受信試験の様子をYouTubeにUPしてある。

Hi,every homebrewer
I made BitX40 using Ver3B-PCB.
I did modify.
  1. BPF
    Original is 100pF+27pF. But It's not good. I used 100pF+68pF
  2. AGC
    Original is connected  from AF Volume to AGC-AMP . It's not so good.
    I connected from BASE of Q4(Fig.4)
  3. Mic AMP
    Mic AMP is large gain. It's too large. I omitted Q15.(Fig.2)
  4. Carrier null
     It's so difficult to setting.  I'd like to improve, but it isn't changed while being original.
  5. DDS VFO
    It's using Arduino controlled DDS VFO(Ver2).
    VFO(Ver2) is  DDS_frequency =target_frequency + carrier_frequency.
    BitX40 is  DDS_frequency=carrier_frequency - target_frequency.
    It's need to chenge sketch for arduino.
    If you need sketch for BitX40 then send email to me.
  6. LPF
    Original LPF is not good. I changed.
    Both side C=50pF(430pF+22pF)、center C 900pF(820pF+082pF)、coil 1.1uH T50-2 15t
       Receiving Test   YouTube

Thank you 
73's
Ryuu JA2NKD
  



 

2016年10月21日金曜日

DDS VFO controller version up ( Ver3.1 Multi-band )

以前UPしたArduino_nanoを使用したDDS-VFOコントローラーVer.2をバージョンアップした。


 今回は、海外HAMからの要望でマルチバンド対応した。
当初Arduino_nanoでは、メモリー容量やI/Oの数が少ないことから無理であろうと思い、Arduino_mega256の使用を考えた。しかしmegaはメモリー容量、I/Oは十分であるものの形状が大きく今一歩気が進まなかった。
 そこで、Ver2のスケッチを改めて見直し、メモリーの節約を図ってみた。送信パワーメータを受信Sメータと兼用することにしメモリーとアナログポートを1個節約できた。
 その他にも細かいプログラミングの無駄を見つけ出し、当初フラッシュメモリー96%位であったものを何とか92%までに下げることができた。

 しかしポートに関してはアナログ入力(A7)が1個空いただけである。マルチバンドに対応する場合、バンド情報をポートに出力しフィルタ切り換え等を行う必要がある。
 ここで秘策活用である。過去にBASCOM-AVRで開発した万能VFO(旧ブログ参照)の時にやはりポートが足らず苦肉の策として、アナログ入力を利用し、入力電圧の判定でスイッチと利用したのである。AVRのアナログはデフォルトでMAX5Vを1023分解能で判別できる。
今回5個のスイッチを対応できるように抵抗を決めた。誤動作の無いよう十分に電圧差を持たせている。メインループの中でアナログ値を読みに行き、対応電圧範囲内にあるか判別しスイッチが押されたと判定し、対応するサブルーチンに飛ばしている。前作を含め今のところ誤作動は経験していない。
8-Band

 バンド機能は、イニシャルデータを最初にEEPROM(専用スケッチ)に書き込み、続いてメインスケッチを書き込む。現在バンド情報出力の為のポート数が3個であるため最大8バンド(バイナリー3bit)としている。バンド情報を別の方法で出力する(例えばシリアル出力)ことができればバンド数はかなり増やすことができる。
 また、メモリーSWを押すことにより現在の周波数、モード、ステップが記憶され、バンドをメモリー機能としても使える。例えばモノバンドとして使えば8CHメモリーとなるわけである。
 さらに最後にメモリーSWを押した情報で、次回パワーオン時立ち上がるようにしている。
一度SWを押すという操作が必要ではあるが、簡便なメモリーとしても有効と思う。

Schematic

 バンド情報及びモード情報は、それぞれ3bit、2bitでポートに出力される。この出力を74HC238等のデコーダーICで個別情報に変換すれば、BPF切り替えやキャリア周波数を制御できる。
 今回マルチバンドに対応するため、周波数可変範囲をKHz台からMHz台に拡張しているため、表示の反応が少し遅くなってしまった。エンコーダーの取りこぼしは無いようなので表示の感覚だけであるが。
EEPROM DATA

 作業手順としては、
1)イニシャルデータをEEPROMに書き込む専用スケッチ(???)を編集し希望周波数、モード、ステップを編集する。
2)編集したスケッチをコンパイルしてarduinoのEEPROMに書き込む。
3)上記終了後メインスケッチ(???)を書き込む
となる。

 今回のバージョンアップでフラッシュメモリー98%となった。
回路図及びスケッチは当局ダウンロードサイトにUPしておく。
また簡単なモディファイができるよう簡単な解説を載せたいと思っている。
Youtubeに動作をUP  https://youtu.be/h2E5PaQPexQ

DDS-VFO controller Ver.2 with Arduino_nano has been upgraded. (Ver.3)

Multi-band answered with request from amatua_radio_station foreign countries this time.
Because the memory capacity and I/O were few in Arduino_nano at first, I thought it'll be impossible and considered use of Arduino_mega256. It's the memory and  I/O is enough,but it's bigger.

So I reconsidered a sketch of Ver2 once more and planned for saving of a memory. I decided to Po_meter and the S_meter were shared. frash memory and one analog port could be saved.
 It was possible also to find waste of a small programming.
 Consumption of a frash memory fell from 96% to 92%.

 Band is maximum 8 bands.
 Frequency, mode and step are stored by pushing memory SW, and a band can also be used as the memory function. For example when using mono band, it's becomes 8CH memory.
 When power on of VFO is started, it started last band-data memory_SW pushed .

 Band and mode data are output by a port by 3bit and 2bit. When changing this output to individual data by decoder IC(74HC238),  BPF and carrier-frequency can be controlled.

install sketch(Arduino IDE V1.6.5)
1) Edite sketch(vfo_v3eep.ico). That is initial band-data(frequency, mode and step.)
2) Compile & write to EEPROM in arduino-nano.
3) Edit sketch(NKDVFO22_Ver310.ico). That is main progam.
4) Compile &write to flash memorry in arduino\nano.

A skematics and a sketch is in my download site.

Sorry,my English is poor.

73's

 Youtube: https://youtu.be/h2E5PaQPexQ