非職業的技師の覚え書き

JK1EJPの技術的検討事項を中心に記録を残します。

13TR-FT8トランシーバ (1)局部発振器

13TR-FT8 デジタルトランシーバ着荷

13TR-FT8 デジタルトランシーバ は、JL1KRA局OMが下記「CRkits共同購入プロジェクト」にて頒布されているFT8専用(海外DX用7,074MHz専用)のトランシーバ です。「アナログにデジタルを楽しみたい方、ブラックボックスの無い無線機が好きな方へ」という推薦文に共感して共同購入をお願いしました。海外DX用7,074MHzのみという仕様により13個のトランジスタ(2N4401のみ)で安価なキットを実現するとともに、製作後の運用もチャレンジを鼓舞されるキットです。

機械加工環境のない非職業的技師には加工済みのケースが付いているのがありがたいです。「ブラックボックスの無い」利点を生かすために、一気呵成ではなく機能を学びながら、膨大な数のディスクリート部品を組付けていきたいと思います。

f:id:amat49:20210918223154p:plain

頒布内容

まずマクロな視点を得るために、回路図(http://jl1kra.sakura.ne.jp/13TR-T4D%2040m%20SSB.pdf)から機能モジュールを読み取ります。TXとRXで共用されている水晶フィルタや混合器等のモジュールでは、両者で信号の流れが逆になることに注意しつつ、まずTXの機能モジュールを考えると下記のような構成になっているのではないかと思いました。

f:id:amat49:20210918223658p:plain

全回路とLO部

f:id:amat49:20211010132710p:plain

全回路とLO部(Ver. 2)

f:id:amat49:20220101130204p:plain

全回路とLO部(Ver. 3)

最初に左下点線枠内の局部発振器(LO)から学びたいと思います。組付けてしまうと試行錯誤が簡単にはできなくなってしまうため、LTspice回路シミュレータで事前調査を行い、組立途中の測定ポイントを検討したいと思います。

 

トランジスタ技術2021年10月号

横道にそれますが、トランジスタ技術2021年10月号の特集は「無償PSpiceLTspice 回路動作フル解析ツール」でした。以前、LPFの設計検討にLTspiceを使いましたが見様見真似でしたので、使い方を見直してみたいと思い購入しました。GUIPSpice for TIの黒基調の方が私の好みですが,directive(指示命令)を回路図に書いていくLTspiceの使い勝手も捨て難いという感想です。

局部発振器(LO)のLTspiceシミュレーション検討

回路図

LTspiceに入力した局部発振器(LO)の回路図を下記に示します。

f:id:amat49:20210918235354p:plain

局部発振器(LO)のLTspice入力回路図

コルピッツ型発振回路ですね。水晶発振器をベースとGNDの間に接続し、GNDとの間にトリマーコンデンサを入れて周波数調整を可能にしています。周波数調整環境は必要になるようです。非職業的技師は下記経験を生かして、30Hz程度のRBWで測定できそうなUSBドングル型SDR(SDRplay)を用いた近接界アンテナ方式の適用を検討する予定です。

発振回路はエミッタフォロワ(エミッタ電圧がベース電圧に追従)のトランジスタが2段接続になっているようです。エミッタフォロワは入力インピーダンスが高く、出力インピーダンスが低くなるということですので、混合器から発振回路への影響を緩衝するための構成でしょうか。

要のトランジスタ(2N4401)のモデルはLTspiceに標準で備わっていました。別途モデルを準備する必要があるのは、電源接続間違い防止用のダイオードD7(1N4007)と水晶発振器X5です。
ダイオードD7(1N4007)のモデルはメーカ(onsemi)の下記ホームページからPSpice用のモデルファイルを入手しました。

まず、LTspiceのライブラリに組み込もうと試行錯誤をしましたが、上手く行きませんでした。そこで、回路図と同じディレクトリにモデルファイルを置いて、".lib"指示命令(directive)でLTspiceに認識させる方法で対応しました。モデルファイル(1N4007.REV0.LIB)はテキストファイルのため、Text Editorで中を調べることができます。モデル名"D1n4007"を確認し、回路図のダイオードの名前をこのモデル名にします。これで、".lib"指示命令で取り込んだモデルとリンクされます。

水晶発振器X5は等価回路の5つの素子値(Ls、Cs、Rs、Cp)を設定します。添え字の"s"は直列素子を表し、"p"は並列素子を表します。X5には変数名を設定して、変数値は".param"指示命令で回路図上に置きます。
ところが、7,074MHzの水晶の等価回路素子値は探しても見つかりません。そこで、見つかった8MHz水晶の等価回路素子値をベースにして、7,074MHzを発振するように逆算して"Ls"を調整しました。具体的には、直列発振周波数と並列発振周波数の中間が7,074MHzになるように追い込みました。正しい方法かどうかは自信がありません。
後はC46のトリマーコンデンサで調整することになると思います。こちらも変数名"Ct"を設定して、変数値は".param"指示命令で回路図上に設定することにし、暫定として半値の25pFを置きました。

電源ON(シミュレータ上の)

シミュレーションを10ms走らせた結果を下記に示します。電圧の測定点は回路図上の4点です。

f:id:amat49:20210923103559p:plain

局部発振器のLTspsiceシミュレーション結果

この回路モデルが正しいと仮定して、気づきは以下の通りです。

  1. R9の電圧降下0.82Vから消費電流は17.5mA(= 0.82V / 47Ω)。
    回路が動作しなかった場合のチェックの指針です。

  2. Q4のエミッタ電圧に対して後段のQ5は約1V低い。
    トランジスタ2N4401のデータシート記載のVBE("Base−Emitter Saturation Voltage")が0.75~0.95Vdcであることを反映している。エミッタフォロワなので電圧差はVBEで決まる。

  3. 発振の電圧Peak-to-Peakは約8V(1~9V)。
    電圧変化のダイナミックレンジは思ったより広く使っている印象です。

  4. マクロ的に顕在化した発振開始までに3ms(3/1000秒)弱を要する。
    ミクロ的な発振は電源ONをトリガーとして始まっていると思うのですが、ビッグバンのようにインフレーションして顕在化するまでに時間がかかるという印象です。実際は一瞬ですから、コンデンサチャージの時定数等を考えればこうなるのかもしれません。シミュレーションとしては待ちがもどかしいですね。

  5. 発振が定常状態に到達するまでに10msを要する。
    高電圧側の振幅はすぐに定常状態に到達するのに対して、低電圧側の振幅が定常状態に到達するのに時間を要します。この非対称はどこから来るのでしょうか。高電圧側の振幅が定常状態に到達した時点でコレクタ電圧(赤V(n003))がドロップし、その後にゆっくりと回復していきます。この回復時定数と、低電圧側の振幅が定常状態に到達するまでの時定数が同じに見えます。やはり、コンデンサチャージの時定数でしょうか。

定常状態

定常状態に到達した10ms直前の発振波形を拡大した図を下記に示します。

f:id:amat49:20210919134300p:plain

定常発振状態の拡大

気付きは以下の通りです。

  1. LTspiceのTD計測機能を使った周波数測定結果は7,035MHz。
    C46トリマの影響を検討する必要もありますが、micro秒を測って発振周期を割り出す方法はシミュレーション計算点分解能から見ても精度が足りていないと思われます。今回は".meas"指示命令を利用して、9.9980ms以降に7Vになった最初の立ち上げ時刻と10msまでの間の最後の立ち上げ時刻を計測し、その2usの間に14回振動していることから周波数を7.035MHz(= 14 / (0.01 - 0.00999801))と計算しました。右拡大図から、最後に7Vになった時刻は明らかに0.01秒ではないため、測定精度が出ていません。

  2. 正弦波振動ではない。
    Q4のエミッタ電圧に対して後段のQ5は、立下りよりも立ち上がりの方が位相が遅れ、非対称です。立ち上がりの時定数も大きいように見えます。この非線形非対称はどこから来るのでしょうか。
    この時、コレクタ電圧が少しドロップしています。Q4が立ち上がりでコンデンサの電力を消費したために、Q5の立ち上がりに回る電力供給が遅れたという感じでしょうか。立下りは電力供給が関係しないため遅れが発生せず、綺麗な正弦波になっているという推測の是非は。

水晶発振器は綺麗な正弦波になるという思い込みがありましたが、そうではないかもしれないとLTspiceが気付かせてくれました。実際に回路を組んで確認しないと是非は分かりませんが、今までは実回路の波形が歪むとプローブ等の責任にしていました。ミキサ自体はON/OFF波形で動作させる例もあるため、波形の歪自体は問題にならないと思われます。発振周波数の確認は重要です。

発振周波数

LTspiceの測定機能で周波数を高精度に測定する方法が分からなかったため、計算データをExportしてプログラム(python)で処理することにしました。上記チャートの4項目をファイル出力すると、266万行(208MByte)になりました。ファイルを開くだけで大変です。10msの中の定常状態に到達した最後の1msだけ抜き出すと、38万行(30MByte)に縮小しました。

f:id:amat49:20210919165600p:plain

LTspice data

最初はFFTで発振周波数を求めるつもりだったため、データのサンプリング間隔を調べました。上図の下段に各データ点のサンプリング間隔を示します。横軸はデータ点カウントであり、時間ではないことに注意する必要があります。

回路計算のサンプリング間隔は約8倍以上変動することが分かりました。挙動が安定している箇所は疎らに、不安定な箇所は密に計算しているようです。上段のエミッタ電圧と比較すると、低電圧領域では計算間隔が長くデータ点が疎らで、昇圧するにつれて計算間隔が短くなり、前段のQ4の電圧がピークに到達した箇所で稠密になった後は一息ついて、Q4の電圧が下降を開始する時にまた稠密になることを繰り返しています。やはり、高電圧側振幅のところで複雑な計算が必要な現象が生じているようです。

FFTが使えないので、安定している低電圧側振幅の下降エッジで2Vしきい値を通過する時刻をサンプリングしました。9~10msの間に振動は7,032回生じていました。正確な時刻間隔で割ると、周波数は7.03197730956062MHzになりました。前記のLTspice測定機能で求めた7,035MHzと同様に水晶の7,074MHzより小さくなっています。C46トリマーコンデンサ(25pF)があると、発振周波数は小さくなると推測されます。(訂正1) 理想状態を扱っているため、C46は無効にすべきかもしれません。

訂正

訂正(2021/10/10)
  1. C46トリマーコンデンサの値を変更したシミュレーション結果によると、C46の容量を大きくすると発振周波数は大きくなるようです。
  2. 「全回路とLO部」の回路図に示した機能解釈を修正し、Ver.2としました。
    「AF増幅器」を上に移し、以前の「AF増幅器」を「Tx/Rx電源切換器」に変更しました。
    Tx時にのみTxAF信号ラインからSBMへの信号ラインを活性化する「Tx信号活性化器
    」を追加しました。
訂正(2021/12/31)
  1. 組み立てを完了し、回路図を読解した最終結論として「全回路とLO部」の回路図に示したトランジスやダイオードの機能解釈を修正しVer.3としました。
    全ての素子の機能を考察しました。水晶フィルタと混合器の間のトランジスタはTXもRXも「緩衝増幅器」とし、水晶フィルタの右のアンテナ側のトランジスタは「RF増幅器」としました。ただし、「増幅」というより「インピーダンス整合」が主たる役割かもしれません。
  2. 回路図のLPFを「LPF改」として第二高調波トラップ用のコンデンサ129pFを追記しました。ただし、未熟な組立スキルが反映された弊局組立個体特性に合わせたチューニング結果であり、動作を保証するものではありません。