2014年12月7日日曜日

EMOTO 103LB Display

 EMOTOのローテータ表示部が壊れたため、Arduino UNOで表示部を製作した。モータコントロール部は、正常動作していたので、コントロール機能はなく、位置表示のみとした。LCDは、公開済のI2C制御方式とし、配線量を減らした。故障した103LBの機械式表示部は、全て取り外し、電源とコントロールスイッチのみ流用。
 コントローラ内部写真である。機械式表示器で使っていた、PCB、歯車、ポテンションメータなどを外し、Arduino UNOとPower PCBを組み込んだ。
   全体の回路図。I2Cを含め書いて有るので見通しが良いと思う。













Program

ローテータの位置情報(600Ωのポテンションメータ)をADCで読み、角度変換のみである。個体差が有る所は、AD値のRock to Rock(0~360°で1023~171)である。現物合わせ的な処理となっている。(やっつけ仕事)

//////////////////////////////////////////////////////////////////////
//  EMOTO 103LB control display program ver.1.0
//
//    Copyright(C)2014.JA2GQP.All rights reserved.
//
//                                                  2014/12/5
//                                                  JA2GQP
//////////////////////////////////////////////////////////////////////

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for
                                        // a 16 chars and 2 line display
int val=0;
int ang=0;
float wk1,wk2,wk3;

void setup()
{
  lcd.init();                          // initialize the lcd
  lcd.backlight();                    // LCD backlight on
  lcd.setCursor(5,1);
  lcd.print("JA2GQP");
}

void loop()
{
// analog read
  val=analogRead(0);               // Current position read
  delay(100);

// 0-360 degree convert
  wk1=val;
  wk1=1023.0-wk1;                 // AD max
  wk2=360.0/(1023.0-171.0);      // Per 1 degree resolution
  wk3=wk1*wk2;
  ang=wk3;

// angle display
  lcd.setCursor(3,0);
  lcd.print("    ");
  lcd.setCursor(3,0);
  lcd.print(ang);

// Orientation check
  switch(val){
      case 169:
      case 170:
      case 171:
      case 172:
      case 173:
        lcd.setCursor(0,0);
        lcd.print("N");
        break;
      case 276:
      case 277:
      case 278:
      case 279:
      case 280:
        lcd.setCursor(0,0);
        lcd.print("NW");
        break;
      case 382:
      case 383:
      case 384:
      case 385:
      case 386:
        lcd.setCursor(0,0);
        lcd.print("W");
        break;
      case 489:
      case 490:
      case 491:
      case 492:
      case 493:
        lcd.setCursor(0,0);
        lcd.print("SW");
        break;
      case 595:
      case 596:
      case 597:
      case 598:
      case 599:
        lcd.setCursor(0,0);
        lcd.print("S");
        break;
      case 702:
      case 703:
      case 704:
      case 705:
      case 706:
        lcd.setCursor(0,0);
        lcd.print("SE");
        break;
      case 808:
      case 809:
      case 810:
      case 811:
      case 812:
        lcd.setCursor(0,0);
        lcd.print("E");
        break;
      case 915:
      case 916:
      case 917:
      case 918:
      case 919:
        lcd.setCursor(0,0);
        lcd.print("NE");
        break;
      case 1023:
        lcd.setCursor(0,0);
        lcd.print("N");
        break;
      default:
        lcd.setCursor(0,0);
        lcd.print("   ");
  }
 
// Limit check
  switch(val){
      case 169:
      case 170:
      case 171:    
        lcd.setCursor(11,0);
        lcd.print("R-OVR");           // Right over
        break;
      case 1023:
        lcd.setCursor(11,0);
        lcd.print("L-OVR");           // Left over
        break;
      default:
        lcd.setCursor(11,0);
        lcd.print("     ");
  }

}


2014年11月11日火曜日

STM32F0 DISCOVER Case

program writerと使うべく、STM32F0ボードをケースに収納した。ケースは、秋月電子 P-00358 95x65x23である。書込み用I/Fケーブルと押しボタンSWの穴がある。
基板固定は、ホットボンドのみ。
背面の様子。    

2014年10月25日土曜日

SoftRock RxTx Ensemble Kit(2)

送信部の組み立ても終わり、自作ケースに収納した。プリント基板を使い、オリジナルを模造して艶消しの黒色塗装をした。ケースで注意すべき所は、アースによるループを作らない事だ。全てアースから浮かせてある。(オリジナルと同じ)


Softrock RxTx Ensemble 40m/30m/20mを実装した様子。

送信部組み立て後、不具合が発生し回収。
不具合
 1.PA段のバイアス電流が43mA。
    (基準値 55mA)
 2.g4zfqサイトの試験は、7.05Mhz
   500mW。(期待値 1W以上)  
不具合回収
 1.バイアス電流55mAに調整。
  (R41に100オーム並列に接続した)
 2.T3コイル巻き直し。
  (メガメコアの巻き方による)

メガネコアの巻き方


エッジを十分取り除く。
 
線を通す
 
楊枝で線を固定しながら、必要回数巻く
(前段階が省略してある)
この方法で巻けば、線を穴に密着させられるので、余裕を持って巻くことが出来る。 

結果

パワーが出なかった主原因であるT3コイル交換後、7.05Mhz 2.06W(1W位に抑えて使うのが良いと思う)であった。バイアス電流について色々議論が有るが、精神安定上、55mA±10%位の範囲内に入れば良いだろう。

2014年10月6日月曜日

SoftRock RxTx Ensemble Kit

 SDR Transceiver Kitを購入した。購入理由は、安価な事とSoftRockが多く出回っている為である。このKitをパソコンと組み合わせる事で、オールモード 1W トランシーバーとなる。Kitは、送料を含め$102.55(日本までの送料)である。支払いは、PayPal。注文して手元に届くまで、8日間であった。郵便物追跡は、US postのみ確認(国内追跡出来なかった)できた。PCB写真は、受信部まで組立てた状態(製作途中)。
 トランシーバー全体の構成。PCのサウンドボードは、入出力ともステレオ対応が条件。マイクとスピーカ用ドングルは、特に条件は無い(まだ、総合結線してないので、何とも云えないが)。この結線の通りであれば、PTTは画面のボタン操作。実用的な物とするには、多少、手を加える事も必要かと思う。












PCB処理ブロックは、この様になっている。製作に関するドキュメントは、細かく書いた物がHPにある。製作ドキュメントを読んでも、勉強になる。


2014年9月12日金曜日

Arduino I2C Module

LCDのパラレル通信をI2C通信に変換するModuleである。また、LCD自体にI2C機能を含めたModuleも販売されている様だ。I2Cを使えば、配線の省力化、I/Oポートの削減に有効である。Arduinoから簡単に使う事が出来る。BASCOMでも使えるが、FREE版ではメモリー制限によって厳しいかも知れない。入手先は、AliexpressでLCD I2Cで検索すれば、見つかる筈だ。価格は、US$1.2/piece位。 
Arduino UNOで試験をした。ライブラリー入手先が販売サイトに書かれてある。無論、Arduinoサイトからも入手できるが、販売サイトに書いて有る所から入手した。ダウンロードしたファイルに、回路図も含まれているが、入手したModuleと異なる。 
I2C Moduleから回路図にした。アドレス設定は、A0、A1、A2のパットで行う。初期値は、A0、A1、A2が全てOPENの為、27Hである。     












PROGRAM

ダウンロードしたプログラムに書いて有るアドレスは、20Hである。I2C Moduleにジャンパーをしない限り、プログラムを書き直さなければ、動作しない。この為、アドレスを27Hに書き換えた。

//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd

  // Print a message to the LCD.
  lcd.backlight();
  lcd.print("Hello, world!");
}

void loop()
{
}


2014年8月24日日曜日

50MHz AM TRX ケース

50MHz AM TRX Ver2基板をケースに収納。ケース本体は生基板で、上板と底板がアルミを使った。底板のアルミ板以外、廃材を活用。上板の共板としてPP板を使っているが、パンチングメタル材ではケースをエンクローズ出来ない為、PP板を使う事で、音質改善を行った。 
実装での問題は、マイクコードにRF回り込みが発生。基板のマイク入力部とマイクコネクタにパスコン(セラミックコンデンサ103)を追加した。この様な対策は、実装技術なので、回路図に現れなく、ビギナーを悩ませるかも知れないが、定石なので知っていても損はない。 

2014年8月2日土曜日

50MHz AM TRX Ver.2

50MHz AM TRXである。2012/12/17公開のTRXバージョンアップ版で、AD9850 DDS VFOを使い、1ボード化した物である。VFOは、7月公開したもので、LCDレス。受信部は、TA7853+LA1600ダブルスーパー。送信部は、TA7358を使い低電力変調し、RD06HVF1により最大キャリア4W(AM変調時 1Wキャリア出力)を得ている。送信部のバッファ段(2SC2053)出力側にT型フィルタを入れているが、スプリアス低減とQRPP対応(ファイナル段スキップ)である。バッファ段の出力は、最大キャリア出力(無変調)200mW~300mWあるので、AM変調時50mW~75mWである。VFOは、6m AMロールコールで使える様、チャンネルスイッチに50.55MHzと50.60MHzを設定した。VFOにLCDが無いが、何ら問題は起きてない。PCBは、数回トリミングした結果、ジャンパーが多いのが唯一不満。 
回路図である。終段RD06HVF1は、TS-590Sバッファ段を参考にし、ID=350mAで調整。NFB回路(470Ω+103)を入れているが、無しでも問題なく動作する筈だ。プロトタイプは、NFBなしで試験した。 
PCBサイズ 103×102。中央下の6φ穴で、7805をケースに固定(放熱)している。