2008年10月30日木曜日

29MHz FMトランシーバー(7)

AVRのコントロール

 今回PLLのコントロール、エンコーダー、液晶表示及びスイッチの取り込みをPLLでおこなった。
PLLについてはすでに(2)で解説しているので、ここではそれ以外を中心に解説する。

(1)AVRの種類
  コンパイラにBASCOM-AVRを使用しているため4KBまでのプログラムが可能であるが、あまり複雑なプログラムにはまだ慣れていないので、安く入手できる「ATTiny2313-20」を採用した。これは2KBまでである。






(2)プログラムの流れ
  1)イニシャルセット
    初期設定で変数の宣言、IN、OUTのポート等の設定などを行う。
    初めて電源を立ち上げた場合、前回OFF時のデータが保存されていないため、でたらめとなっ    てしまう。そのため、初めて電源立ち上げる時はメインスイッチONで立ち上げることによりすべてメインチャンネル周波数が書き込まれる。まあリセットスイッチのような役目である。
    PC9256のデータシートを読むと電源ON時の書き込みは不安定のようで2回同じ操作をするように書いてあったのでCall Pllwを2回行っている。

  2)メインルーチン
    メインCHスイッチの割り込みを許可し、割り込みがあればメイン設定サブルーチンにいく。
    ロータリーエンコーダの入力判定を行う。
    以後この繰り返し

(3)サブルーチン
    繰り返し命令は、サブルーチンとしている。
  1)Mainch
    メインCHスイッチをONにしたときの処理でPLL周波数を29.3MHzに設定し液晶に表示する

  2)Mainch1
    メインスイッチをウォッチしOFFとなったら、以前の周波数に設定してメインに戻る

  3)encod
   エンコーダ処理サブルーチンでエンコーダをまわした時に周波数をUP,DOWN
   10KHzステップ
   液晶表示処理が遅いためか、早回しで取りこぼしがある。実用上は問題ないが。

  4)Pllw
   PLL周波数書込みサブルーチン
   この部分は以前に説明したので省略

  5)Lcdw
   液晶書込み
   もう少し凝った表示にしたいが、メモリ不足


以上AVRのプログラムを解説したが、作りっぱなしなのでおかしなところがあるかもしれない。
まあはじめてのPLLとしてはどうにか実用となった。

課題として、OFFバンド判定が必要である。これが無いと認定が通らない。
BASICでは、このAVRではメモリが不足。mega48にする必要がある。



以上29MHzFMトランシーバーの製作記録でした。
次は29MHzと50MHzの2バンドトランシーバーを目指し、要望のあるローカルが作成できるレベルに標準化したいと思っている。

いつごろになるか・・・・・・・・・


ご質問等は、コメントまたは、ホームページの掲示板等でお願いします。

2008年10月26日日曜日

29MHz FMトランシーバー(6)

付属回路

受信部と送信部の基本部分ができたので、次は付属回路。

1)マイクアンプ
 当初マイクアンプIC(TA2011)を使って作ったが、既製品VCOとの相性が悪かった(前出)ので、今回は簡単なトランジスタアンプとなっている。コンプレッションもかけていない単純なアンプ。したがって過変調ではデビュエーションが大きくなりすぎる可能性がある。ゲインを適当に調整し、ローカルにモニターしてもらい問題のない範囲の増幅度とした。



2)Sメータ回路
 MC3357のフィルタ部分からコンデンサーで取り出しトランジスタ2段増幅しダイオードで整流しメータを振らせている。1段でも十分だと思う。所詮FMなので一定部分で飽和してしまうのでローカル局を受信したとき振り切れに調整した。弱い局に対して有効なSメータとなっている。


3)AFアンプ
 定番のLM386。特に解説の必要もない。ただ送受信切り替えでポップ音がでる。直流部分を切り替えているので当然である。これを解消するためには、入力信号(AF)をミューとするような回路を組み込む必要がある。結構厄介である。今回は簡単製作なのでこのまま。いづれ勉強してみることとする。


4)送信フィルタ

 28MHzはTVIの出安い周波数なので、しっかりしたフィルタが必要となる。今回はアツデンPCS5800の回路を物まねした。3段(5次)で2倍、3倍の極付き(エリプティックLPF)なのでばっちりきいている。-50dB以上確保している。








5)送受切り替え
 簡単製作ということで単純にリレーでアンテナ回路と送受電源切り替えを行っている。


6)組み込み
 ユニバーサル基板を5枚使っているので、積み重ねて組み込んでいる。今回使用したケースで精一杯。慣れていない人は大きめのケースとしましょう。


7)総合性能

 受信感度はばっちりであるが、前にも書いたように混変調、感度抑圧を受ける。トップのIPポイントが低いので致し方ない。昔ほど局がいないのであまり問題にはならないが、Eスポシーズンはがさがさしてします。このあたりは要改良
 送信は4W弱。音質も問題ない。ローカルQSOおよびEスポ時の更新には十分。必要であればリニアで増幅すればよい。
 まあ、久々の完成品であるが、初期の目標は達成できた。


次回 AVRのソフトに関してまとめる予定

2008年10月5日日曜日

29MHz FMトランシーバー(5)

送信部


 送信部の構成は、TA7358で水晶10.7MHzを発振させPLLからの40MHz近辺の信号をミキシングし29MHzを作っている。その後3段増幅して最終3.5W出力となっている。


 当初10.7MHzの水晶発振に変調をかけようと実験したが、思うようにディビエーションがとれず、PLLに直接変調することとなった。水晶固体の特性にもよること、また10.7MHzという周波数で±5KHzは厳しい。変調用に使ったバリキャップはそのままとして周波数アジャストとして使っている。




 TA7358の使い方であるが、本来7,8pinが発振回路で1,2,3pinが増幅回路として使うのが本来であるが、7,8pinにPLLから入力しバッファとして使いミキサーに入れ、1,2,3pinで水晶発振としている。これは水晶発振の出力に同調回路をいれ高調波を削除したいためである。3pinに10.7MHzのコイルを入れているが、3次高調波(32.1MHz)が十分除去できなかった。この周波数は29MHzに極めて近いため後段でも除去しきれないため、やむなくFM用セラミックフィルタを追加した。最初からフィルタだけで構成すれば部品点数が減らせた。(次期製作のときに忘れないように)



 この部分を作っているときに、PLLの注入レベルを色々変えてみたが、-20dBm程度がいいようであった。この辺りももう少し色々実験をしてみたい。



 TA7358からの出力はコイル同調で29MHz帯を取り出し3段増幅して3.5Wを出している。2段では1Wが精一杯だろう。高能率ナFETであれば2段で5Wは可能かもしれない。取敢えず手持ち部品ではこの構成が一番リーズナブルな用である。



 増幅部はすべてリニアアンプとした。今後SSB機等の為の実験でもあること、出力高調波への影響を考慮した。サンハヤトの基板(ICB-88SEG)1枚でここまで作りこめたのは非常に満足である。



出力は、LPF(後ほど解説)を通すのは言うに及ばずである。



ワンポイント

  ・ 増幅部のトランジスタベース回路で、バイアス供給の為にRFCを使用しているが、最初適当にコイルを巻いて作ったが、結構性能に影響する。しっかり計算すること。



次回は、その他回路及びAVRプログラミングについて書く予定。

2008年10月3日金曜日

29MHz FMトランシーバー(4)

受信部



 受信部フロントエンドにはQRP機でよく見かけるTA7358を使用。

 RF AMP部はベース接地AMPとなっている。入力インピーダンスはかなり低く、コイルのホットエンドに直接接続をするとミスマッチとなる。コイルにタップを設ければよいが、巻きなおすのも面倒なので、コンデンサー分割し入力に接続している。



 その他回路は標準的なものである。

 IFと検波は定番MC3357を使用。未だにセカンドソースが入手可能である。このように息が長いということは、基本思想が優れている証拠だと思う。ただIFのリミッティング性能は今一歩との評価もある。



 スケルチ回路はには結構悩まされた。回路例などを参考に作ってみたが、なかなか満足がいくようにはならない。これはフィルタや、ディスクリミネータコイルなどの部品との相関が高く、それに合わせて定数を検討する必要があるようだ。以前ディスクリミネータにセラミックを使い結構満足がいくものが出来たが、今回は今一だったので、コイルに変更し、スケルチのノイズアンプの定数を回路図のようにした。
80点程度の出来である。



 音声出力には特にフィルタも入れていないせいか、高音域が強めで、多少きんきんした音となっている。この辺りはもう少し検討が必要と思うが、我慢できる範囲なのでそのままにしている。

 この辺りは再度実験を行っていきたい。MC3357シリーズは、3359、3361などファミリーも多いのでこれらも機会があれば試してみる。



 受信部全体の性能としては、感度は申し分ないが、強い信号による、混変調、感度抑圧等がある。移動用機器にはいいと思う。300m弱のローカルが電波を出すとすぐにわかるのは便利なのか、問題なのか・・・・・

2008年9月17日水曜日

29MHz FMトランシーバー(3)

PLLコントロール回路
 コントロールは、Atmel AVR(ATtiny2313-20PU)を使用

  • PLL TC9256のコントロール
  • 液晶表示
  • エンコーダ
  • MAIN切替スイッチ
を処理している。

  Z80アセンブラは20年前に卒業してしまっており、すっかり忘れている。PICアセンブラも挫折気味。そんなことから
言語はBASCOMーAVRを使用。JA9TTTさんのホームページで基本を勉強しどうにか完成。
 このデモ版は2Kワード(4KByte)までであり2313はフルにプログラミングできる。こんな言語が無料で使用できるのはありがたい。しかし生成されるコードはアセンブラに比べ大きいのは致し方ない。最近はmegaシリーズも秋月で販売されているので、この問題はそんなに大きな問題ではなくなってきた。やはり簡便にソフトが作れる方が良い。

最初にPLLコントロール
 TC9256はシリアル制御である。CLOCK、PERIOD、DATAの3線をAVRと繋ぐ。
   TC9256     ATiny2313
   DATA(5)--------RB0(12)
   CLOCK(4)-------RB1(13)
   PERIOD(3)------RB2(14)

コマンドは、以下のようにしている。

1)TC9256のレジスタ設定準備

  TC9256のモードは4種類ある
   LFモード  直接分周方式     0.5~20MHz
   HFモード  パルススワロー方式 1~40MHz
   FMLモード パルススワロー方式 30から150MHz
   FMHモード 1/2+パルススワロー方式 30~130MHz

   使用周波数 29.000MHz~29.7MHz
   受信第一IF 10.7MHz
   PLL出力   29.000+10.7=39.7MHz
            29.700+10.7=40.4MHz
            39.7~40.4Mhzとなる。 HFモードは40MHzまでであるが、これで設定することとした。
            レジスタは「FM=0 MODE=1」
   ステップ    10KHz
   分周数    39.7MHz÷10KHz=3970
           40.4MHz÷10KHz=4040となり 分周数=「3970~4040」分周

  リファレンスカウンタの設定
   使用水晶は入手しやすい4.5Mhz レジスタは「OSC1=1 OSC2=0」となる
   基準周波数 10KHz レジスタは「R0=0 R1=1 R2=0 R3=1」となる

2)レジスタの書き込み
   BASCOM-AVRでのシリアルOUT命令は「Shiftout」を使用
   関係部分を抜粋すると以下のようになる
   
   Config Portb.0 = Output    'clock出力
   Config Portb.1 = Output
   'data出力
   Config Portb.2 = Output
   'period出力

   Declare Sub Pllw            'PLL書き込みサブルーチン

   Dim Cm01 As Byte           'PLL書き込みコマンド(d0H)のアッパー格納 
   Dim Cm02 As Byte           'PLL書き込みコマンド(d0H)のロワー格納
   Dim Pll1 As Long            'PLLレジスタ1
 分周数格納3970~4040
   Dim Pll2 As Byte            'PLLレジスタ2 PLL設定レジスタ格納

   Cm01 = &B00001101 'd0H upper部分「d」の2進数
   Cm02 = &B00000000 'd0H lower部分「0」の2進数
   Pll2   = &B01101010   '
「OSC2=0 OSC1=1MODE=1 FM=0」「R3=1 R2=0 R1=1 R0=0」の順番に並べたもの
   Pll1   = 40000             '分周数 29.3MHz+10.7MHz=40MHz÷10KHz=40000

   Set Portb.2                          'PERIOD→H
   Set Portb.1                          'CLOCK→H
   Set Portb.0                          'DATA→H
   Reset Portb.2                        'PIREOD→L 転送開始
   Shiftout Portb.1 , Portb.0 , Cm02 , 2 , 4 , 1  'レジスタ書き込みモードL送出
   Set Portb.2                          'PERIOD→H
   Shiftout Portb.1 , Portb.0 , Cm01 , 2 , 4 , 1  'レジスタ書き込みモード送出
   Shiftout Portb.1 , Portb.0 , Pll1 , 2 , 16 , 1   'PLLデータ(分周数)送出
   Shiftout Portb.1 , Portb.0 , Pll2 , 2 , 8 , 1    'PLL各種設定レジスタ送出
   Set Portb.0                          'DATA→H
   Reset Portb.2                        'PERIOD→L 転送終了

PLL書き込みのワンポイント

   ・アイドル状態でPERIOD,CLOCK,DATAは(H)レベルとする
   ・データ転送開始後PERIOD信号がLの期間にクロック立下りが8回を超えてはいけない。
    ということでd0Hを2分割して送出している。
   ・ データはLSB(ゼロビットから)から送出でPLLデータは立ち上がりで検出(下の赤字部分)

    Shiftoout Portb.1 , Portb,0 , Cm01 , 2 , 4 , 1

これで一応PLLの設定完了。PLLがロックされた瞬間は感激!!

次回はその他のプログラムを説明する。

注意:プログラムは参考であり、責任は取れませんのでご了解願いたい。質問が有ればコメントに記載してください。



2008年9月15日月曜日

29MHz FMトランシーバー(2)

PLL回路


 PLLは、東芝TC9256を使用する。(1)でも書いたようにこのICは非常に多機能である。その特徴を簡単に紹介しよう。




  • 2モジュラスプリスケラーを内蔵しており、150MHzまで対応。プリスケラを使用しないモードで20MHzまで対応
  • 2つの並列出力位相比較器、水晶発振器、を内臓
  • 基準発信用水晶は3.6MHz、4.5MHz、7.2MHz、10.8MHzから選択
  • 基準周波数は0.5KHz、1K、2.5K、3K、3.125K、3.9062K、5K、6.25K、7.8125K、9K、10K、12.5K、25K,50K,100Kの15種類が選択できる。
これを見ると2mまではこのICでほとんど用が足りてしまう。SSBのように基準周波数分解能がさらに低い場合は少々細工がいるが。 さて今回は29MHzのFMトランシーバーであるから
  • 29.000MHz~29.700MHz IF=10.7MHz STEP=10KHz
  • PLLは39.7MHz~40.4MHz
となる
 TC9256の設定はパルススワロー方式のSWHを選択する。このモードは周波数範囲1~40MHzと少しオーバースペックとなるが、十分対応できている。基準発振器は手持ちの4.5MHzを使用。 VCOは最初手持ちのミニサーキットのPOS50を使用したのだが、FM変調で音声がかなり歪んでしまい、うまく駆けられなかったためディスクリートに変更した。多分コントロール回路の内部インピーダンスがかなり低くミスマッチしていたものと思われる。 回路的には一般的なトランジスタによる発振回路とFETによるバッファ回路の2段。トランジスタには2SC3778というft=2GHzを使っているが、手持ちの関係であり、一般的なVHF用トランジスタであれば何でもいいと思う。 PLL出力に入るLPFは、ディスクリートのアクティブLPF。回路の基本は、データシートにあるものであるが、定数はJK1XKPさんにご指導いただいた。 その他、KXPさんから、電源回路に気をつけるようにとのご指導で、PLLIC電源、VCO電源、AVRと全てを別々の定電圧電源ICとして供給するようにしている。特にVCOにはリプルフィルタを設けている。
ワンポイント ・ VCO、PLLIC等は電源を別回路としノイズが混入しないようにする
    ・ VCOは特にリプルフィルタを入れる
    ・ ロードロップタイプ3端子定電圧電源等のOUT側は0.1uF程度では発振する場合があるので10uF程度の電解コンデンサーを設ける。



     コントロール回路は、Atmel AVR(ATINY2313-20PU)を使い液晶表示、エンコーダ、MAIN-CHスイッチ処理を行っている。
    これに関しては次回とする。

     製作に当たっては、一品物であること、実験しながらの製作ということで、基板を興さずユニバーサル基板を活用している。
     使用している基板は、  高周波部分用として、サンハヤトの高周波用メッシュアース基板 ICB-88SEGを使用した。これは片面が全面メッシュアースとなっているのでアース回路を引き回さずに済み高周波回路製作には便利。
    その他一般回路は、同サイズのICB-87を使用。これは、最終的に組上げるとき積み木細工が出来るためである。
    写真は、POS50を使って実験したときのもので、VCOをディスクリートに変更してからの写真は撮り忘れてしまった。悪しからず。

    続く


    2008年9月13日土曜日

    29MHz FMトランシーバー(1)

     ローカルでは最近29MHzのFMで交信している。過去にはAZDENなど29MHzFM機もあったが、アマチュア無線人口の減少とともに専用機が販売されなくなっている。29MHzくらいならばなんとか自作が可能と思い、久々に製作してみた。
     

     NETを検索して情報を収集し簡単に安く出来る構成を検討。低価格ICを活用したPLLトランシーバーとした。MIXERにはTA7358 IFにはMC3357 AFはLM386 PLLはTC9256 こんな構成となった。


     まず最初に
    PLL部分を作る。
    TC9256はJK1XKPさんのホームページで紹介されているのを見て、気に入ってしまったICである。
     非常に多機能であり、VHFまで使える。もともとAM,SW,FMラジオ用に開発されたものの様であるが、非常に欲張った機能を持っている。是非皆さんも一度このICのデータシートを見てみてください。きっと気に入るはず。
     ただ一つだけ私にとって高いハードルがあった。それはこのICがシリアル制御であること。つまりマイコン等による制御が必要だということ。一世を風靡したMC145163などは、パラレル制御であり、サムホイールスイッチやロジックICで制御できるが、どうしても配線や、回路が多くなることが欠点である。ここは一番このハードルを越える覚悟でTC9256を使ってみる。

    TC9256の入手先:啓誠
    株式会社 データシート:TC9256

     そのハードルを越えるにはマイコンの習得が不可欠。JK1XKPさんはPICを使用している。これを参考にするのが一番早道。でもそこはへそ曲がりの私。さらにNETを眺めているとJA9TTTさんがAVRを紹介されていた。一丁これに挑戦してみるかとAVRを使う事とした。

    続く