2020年8月30日 (日)

dsPICでSSBトランシーバー(ケースイン)

 

カテゴリ<SDR> [SSB 7MHz トランシーバー 自作]

各ブロックやリニアアンプが完成したので、これをケースに収納し、最終仕上げします。 受信時のシステムからのノイズや、リニアアンプ出力における不要輻射の確認など、ケースインしないと確認が出来ませんので、やっと、ここまでたどり着いたという状況です。

まずは、トランシーバーの外観と、中の構造のみ紹介です。 動作テストや確認結果は随時書き足していきます。

Dsp_trx_comp1

今回は、中古の測定器ではなく、アイデアルの汎用ケースを買い、これに詰め込みました。 このトランシーバーは電池で動作させ、屋外で使う事を前提に設計してきましたが、それにしては、少し大き過ぎました。 しかし、リュックに入らないサイズではないので、我慢する事にします。

Dsp_trx_comp6

Dsp_trx_comp2

パネルレイアウトで失敗があります。 TUNEダイアルの左側にSPAN切り替えのSWが有り、そのインジケーターとして、黄色のLEDを付けたのですが、斜め上から見えません。 正面からなら見えるのですが、使いにくい。 対策として、LED用の穴を良く見える位置に、もう1個明け、新たにLEDを追加する事にします。

Dsp_trx_comp5

Dsp_trx_comp4_2

全ての回路を収納し、天面にビス止めされたスピーカーで7MHzを聞いてみました。 すると、スピーカーBOXの条件が良くなったのか、低音が良く出るようになった為、全体として、こもるような音質になってしまいました。 これは、了解度の面で非常に不利で、音量を上げないと良く聞き取れない音質になっていました。

Normal

Box

左上がこもった音のスペクトルです。右は、バラックの検討段階で、聞いていたミニスピーカーBOX(プラスチック製)の時のスペクトルです。 ソースは同じではありませんが、右側の方の500Hz付近はかなり落ち込んでいます。 Hi-Fi音を追求するには、左上の特性が必要ですが、了解度を確保するには、500Hz以下の成分を、適当に落とす必要がありそうです。 そこで、スピーカーの周波数特性だけを落とす為、C10を4.7uFから0.022uFに変更しました。 バラックの時は、ゲインが20dBほど低い状態でしたので、高S/Nの了解度でしたが、ノイズが増えた現状では、バラックの状態の了解度までには到達しませんが、かなり聞きやすくなりました。

 

10W出力時の消費電流が4Aを少し超える状態で、移動運用に使う予定のリチウムイオン電池に対して、負荷が重すぎます。 そこで、QRPモードを追加する事にします。 方法は、送信時のdsPICのDA出力をアナログアンプで増幅しますが、この途中でレベルを3dB落とす事にします。 このゲインダウンで、最大出力が5Wになりますので、消費電流を3A以下に抑えられる見込みです。

全体の回路を接続し、未調整の状態で、出力は16Wくらい出ていますので、これを最大10Wとになるようにドライバーのアイドル電流を調整した状態で4Aの消費電流となり、QRPモードの5Wの時は2.8Aくらいの消費電流となりました。

Dspictrx_cw_splias

次に、気にしていたスプリアスの確認です。

左のスペクトルは、CWを送信した時のリニアアンプ入力部分のスプリアスです。4MHz付近に-30dB、6MHz付近に-37dBくらいの大きなスプリアスがあります。 このスプリアスの原因は、DDS Si5351Aが出しているもので、完全に不適合です。

もっと早い時点で見ておけば良かったのですが、前回のダイレクトコンバーショントランシーバーでは全く問題が無かったので、安心していたのがいけなかったようです。

Dspout24mhz

Dspout17mhz

左上が、Si5351Aの24MHz出力、右上が17MHzの出力です。 本信号の近傍に、-46dBくらい、さらに広範囲に渡り、-50dBより大きなスプリアスが連立しています。このキャリアを使い、ミキサーを構成する為、最終的に取り出された7MHzの信号は、前述のごとく、全く許容できない状態になってしまいました。 DDSの出力端子として、CLK0とCLK1を使っていますので、CLK0とCLK2を使ったり、周波数割り当てを逆にしたりしてみましたが、結果は同じでした。

前回のダイレクトコンバーショントランシーバーと何が違うのか確認してみると、前回は28MHzのみを出力し、かつ1/4に分周して利用するものでしたが、今回は2つの周波数を同時に発生させます。 そこで、24MHzと17MHzを単独で発生させてみました。

24mhzonly

17mhzonly

上の画像は24MHzと17MHzを単独で発生させた時のスプリアスデータです。 スペクトルの数が極端に少なくなりました。 24MHzのスプリアスレベルは、2波同時発生時と同等です。 一方17MHzは、スプリアスを-60dB以下に抑えています。 ただし、インターネットで紹介されているスプリアスデータは30MHz付近では-70dBくらいのものが多く、今回の回路では、平均より10dB以上悪化しているのが現状です。 また、Si5351Aで送信機のLOを構成する場合は、マルチ出力(2波または3波の同時出力)は使用できないというレポートが多い事に気づきます。

Lsbfnosignal

Lsbfullpower

左上はLSB無信号送信時のリニアアンプ出力でのスプリアス、右上は、同じくLSBフルパワー出力時のスプリアスです。無信号時に発生するスプリアスは、LO1とLO2のスプリアスがMIXしただけのスプリアスですが、フルパワー時は、このスプリアスにLO2とサブキャリアをMIXした時のLO2のスプリアスが加わります。 即ち、LO2のスプリアスは2重に効いてくる事になります。 

Cwfullpower

Lsbfullpower

CWとLSBそれぞれフルパワー時のスプリアスを比較してみました。レベルに若干の差はありますが、発生している周波数は、どちらも同じでした。 この比較は、LSBは、マイクアンプからDSPの入力までのアナログ回路が動作するのに対して、CWはDSPのADCの出力がカットされており、アナログ回路の信号は一切使っていない状態です。 すなわち、スプリアスの原因のほとんどがddsのスプリアスであり、送信出力が、アナログ前段に回り込んだものでは無いという事が言えます。

この問題の対策として、SDR-3は、Si5351Aのクリスタル周波数を27MHzにしたり、アンプ出力に通常置くLPFをBPFにしたりして、切り抜けているのではと推測します。 私の基板では、基本のスプリアスが多く、特に、周波数を可変すると、キャリア近傍の200KHz以内に、不適合のスプリアスが見え、BPFだけでは対策不可能です。 また、あいにく27MHzのクリスタルも持ち合わせていません。

 

24mhz_lo2_xtalosc

Xtalosc24mhz

 

そこで、24MHzのクリスタルを使い、コルピッツ発振回路を組んでみました。

左上がその回路図。右上のスペクトルが、24006348Hzを発振させた時のもので、さすがクリスタル。 高調波以外、余計なスプリアスは一切ありません。 発振周波数が、クリスタルフィルターの特性から決められた 24006766Hzに対して、418Hzほど足りませんが、クリスタルに直列に入るコンデンサをトリーマに変えて、ぴたりと合わせる事にします。 また、CW時に、LO2を950Hz低い方へシフトするのは止めて、CW受信時のみ、LO1の周波数を950Hzだけずらす事にします。 ただ、今回実験したのは、オープンの回路状態で、実際にアナログ基板に実装したわけではありません。 最終状態で、確認が必要です。 これで、LO2のスプリアスは目途が立ちました。

クリスタル発振回路の中で、最大面積を占有するのは、クリスタルそのものです。 基板上で、これを収納するスペースを確保するために、ミキサーに使っていた74LVC2G66とキャリアの反転に利用していた74LVC1G00を廃止し、手配したけど使い道が無かった、74LVC1G3157に変更し、スペースを確保する事にしました。

Dds_onlylo1

Newmixer0909

24MHzのLO2の周波数は20Pのトリマーを追加し、24006766Hzに調整しました。 上のコルピッツ回路で、2000くらいから8000くらいまで可変できます。 ここでも自作の周波数カウンターは大活躍です。 そして、左の画像のごとく、Si5351Aをずらして、クリスタル発振回路を収容できました。

多分、ミキサーの変換効率などが変わってしまいましたので、送信モードの各モードに於けるレベル設定はやり直しとなる事でしょうが、それらは、スプリアスの確認が終わった後にします。

左下のスペクトルがLO1(17MHz)を50MHzスパンで見たスペクトルです。右は同じ周波数を10MHzスパンでみたものです。 Si5351Aの出力を1波だけにし、かつ、ICの表面に銅箔を張り付け、バイパスコンデンサを最短で配線した結果、17MHzの両端に並んでいた沢山のスプリアスも数がかなり少なくなりました。残念ながら、最大レベルは-60dBくらいで変わらずです。

Lo1_50mspan

Lo1_10mspan

Lsb_ampin

Lsb_ampout

Lsb_50mhzspan

左上のスペクトルは、リニアアンプ入力部のスプリアス、右上がリニアアンプ出力のスプリアスです。 入力に4.5MHz付近の高いスプリアスがあり、それがそのまま出力にも出ていますが、リニアアンプの4.5MHzのゲインが高い為、レベルが3dBくらい上昇しています。 また、9MHz付近のスプリアスは、入力では-60dBくらいですが、出力部では-50dBくらいまで増加しています。 これもリニアアンプの周波数特性だろうと思われますが、後6dBくらいは落としたいところです。 左の1枚は50MHzスパンのスペクトルです。 4.5と9それに14MHzのスプリアスがNGです。 対策を考える事にします。

第1ミクサーの出力をQ6で増幅した後、広帯域のまま、リニアアンプへ出力していました。 このコレクタの負荷を7MHzの共振回路にして、スプリアスを落とそうとしましたが、ゲインが上がり過ぎて発振してしまい、抵抗でダンプすると、発振は止まりますが、フィルター効果は無くなってしまいます。 結局、また元の広帯域アンプに戻しました。  代わりに、DSPの出力バッファであるIC4の送信側出力ラインを0.047uFにてGNDへ落とす対策が有効でした。 4.5MHzと9MHz両方が-50dB以下に収まりました。 4.5Mと9MはSi5351Aが出しているのでは無く、dsPICが出しているものでした。  14MHzは終段のLPFの回路定数を見直し、これも-50dB以下にできました。

7mhzlpf_data

Sprias_taisaku0913

上が、定数変更したLPFの定数と、その特性です。

左が、これらの対策を実施した後のスプリアスデータです。 4.5MHzは-58dBくらいまで、9MHzは-70dBくらいまで、14MHzの第2高調波は-56dBくらいまで落ちました。 第3高調波以上は-60dB以下に抑えています。

LPFの計算は以下のURLで行いました。

https://keisan.casio.jp/exec/user/1257655844

ここまでの状態で、TSSへ保証認定依頼を出す事にします。

 

dsPICが時々動作しなくなる問題が出続けていました。 そこで、怪しい設定や、メモリーの設定などを見直しました。

dsPIC側で取った修正

・MPLAB X IDEに設定していました固定小数点オプションの指定は削除しました。

・configの記述が間違っていましたので、修正しました。

・TAP_Numのメモリーをstaticからconstに修正。

・メモリーの配置をリンカーに任せていますが、関連するメモリーの並びを整然となるように、記述順序を変更。

・CW及びAMのキャリアレベルの見直し。

・TAP係数の編集時に置いていたディレーやCAST変数の中継を廃止。

・AGC、TXoutの信号強度を16bitから10bitに圧縮して出力

 

PIC16F側で取った修正

・AGCカーブ補間処理の廃止、Sメーターカーブの見直し。

・TXoutのLCD表示レベルを拡大。

・CW受信時のオフセット周波数設定をLO2からLO1に変更。

・電源電圧をLCDに表示。これに伴い、i/o割り当て変更。電圧表示の更新は、2秒間隔とします。

・AGCのリカバリタイムをソフトでもカバー出来るようにしました。 しかし、アタックタイムの遅れによる応答特性の悪さの改善には不足で、これは今後の課題となりました。

・RIT ON状態で送信した時、周波数がずれるバグを修正。

 

Elekeyのモニター音の周波数を950Hzから700Hzに変更。 これは、CRフィルター2段による高調波除去でも、音の濁りがひどい為、モニター音のみ聞きやすい周波数に変更したもの。

ハード的には、以下の修正を行いました。

・クリスタルフィルターの周りのミキサーを含めて、シールドケースで覆いました。

・電池運用時の電圧監視機能を追加。 このハード対応の為、AN端子を使う必要が生じましたので、i/oポートが壊れて未使用となっていたRC1ポートの出力ポートを調べた結果、生きていました。 そこで、LCDのE端子をRA2からRC1に移し、AN2を電源電圧測定用に変更しました。

・アナログ回路とDSPICのレベル配分の最適化を行った結果、パワーが出すぎます。 よって、リニアアンプのコレクタからベースへ設けた負帰還回路の抵抗を220から100Ωに変更。 

 

Dspictrx_front_2

Dspicssbtrxtop_2

Dspicssbtrxleft

Dspicssbtrxright

Lsbcarusb

左は、リニアアンプ出力に於ける1KHz変調のLSBスペクトルです。 キャリア漏れや、USB漏れが出ていますが、いずれも新スプリアス規制をクリアしています。 もう少し、トライしたら、すべて-60dB以下にできそうですが、 実運用上では大差ありませんので、これで良しとします。

下に2信号特性を示します。一番左が、6.6Wpep、真ん中が8Wpep、右が10Wpepの出力の時です。 2信号特性を論議する定格出力の1/3の出力で、IMD-30dBくらいです。 良くはありませんが、悪くもないという状態ですので、これも良しとします。 

2tone3w

2tone4w

2tone5w

この波形データはリニアアンプのTRがMRF477の時のデータで、電源装置の故障から、このトランジスター式リニアアンプが壊れてしまい、ルネサスのFET 2SK2796Lに交換した後の2信号特性と、さらにスプリアス対策を行った最終状態は以下の通りです。  左下は10Wpep時の2信号特性、右下は50MHzスパンの送信スプリアスです。

Sdr10wpep

10w_pa_2sk2796l_sp



 

TSSへ提出したブロックダイアグラム5_dspic_sdr_trx_block.pdfをダウンロード

TSSの審査が5日間で終了し、即、総通へ変更申請を行い、こちらも1週間で審査終了となり、晴れてON AIR出来る事になりました。

いざ、ON AIRしようとしても、先日の台風通過で垂直DPは半分たたんだまま。 台風シーズンが過ぎるまで、伸ばす気は有りませんので、臨時にツェップアンテナを張ってトライする事にしました。

このツェップをリグに接続したら、軒並み+30dBくらいのS表示となり、RF ATTをONしても時々歪みます。 今まで、半分たたんだ垂直DPで受信し、RFゲインやAGCを合わせていたのですが、フルサイズの水平系ツェップを張った途端、受信信号が強力に上昇したものでした。 結局、このツェップをベースに再度RFゲインやAGC特性を再調整する事にしましたが、 解決手段を見いだせず、Q15のゲインを手動で可変する事にしました。 

9月下旬の土曜日、10Wの出力と、ツェップアンテナで、念願の1st SSB QSOに成功。音質も、メーカー製と変わらないとのリポートをいただきました。 さらに、CWによる1st QSOも成功し、残りはAMだけになりました。 AMはSSBのレベル設定に合わせ、オーバー変調にならないように、キャリアレベルを決めた結果、無変調で2.6W出力になっていました。 

次の日の日曜日、AMによるQSOが成功し、一応全モードによる交信が出来ました。 ただ、時々、送信から受信に切り替えた時、音が出なくなるというトラブルが継続していまして、この現象が発生したら、電源をOFF/ONして正常になります。対策が必要ですが、まだアイデアは有りません。

もしかしたら、PTT SWのチャタリング ?   データを取ってみました。

Rxtotx_noc

Txtorx_noc

予想通り、ひどいチャタリングです。 マイクに付属したSW、本体のトグルSWいずれも、あきれるくらいチャタリングしていました。

以下、0.1uFのコンデンサをマイコンのi/o端子とGND間に接続したものです。

Rxtotx_addc

Txtorx_addc

この対策で、しばらく運用してましたが、たまに送信から受信に切り替わったとき、無音になるとか、受信から送信に切り替えた時、送信音声が大きく歪んで、全く了解できなくなるなどの異常が起こっていました。 いずれの異常状態も、dsPICをresetすると、正常になります。 PTTswのチャタリング対策はマイコン入力端子にコンデンサを追加しただけでは不十分なのかも知れません。 そこで、PTTswのチャタリングを吸収できるソフト変更を実施しました。 また、この不安定なPTTswを割り込みルーチンの中で参照する記述も見つかりましたので、SENDflg参照に変更しました。 

Idspictrxfront8

 しばらく、QSOに使っていますと、AGCの効きに不満が出てきます。 アタックタイムが長いのが災いして、少し強い局の音声の頭が歪ます。 これが最初の1回だけなら我慢できるのですが、数秒ごとに歪んで聞こえます。 ふたつのマイコンのDAとAD、DAを繋いだ信号処理では、ダメなようです。 そこで、現在の方法に見切りを付け、dsPICのPWMによるDAの出力をそのままアナログ回路で、カット&トライする事にしました。 この変更で、頭の歪は大幅に改善されましたが、AGCで音量が一定になる範囲(AGCレンジ)が狭いのは、改善さされませんでした。 

この最大の原因は、信号強度を表すデータは16bitですが、DACのデータは10bitしかなく、上位のbitデータがPWM出力されていない事でした。 PWM方式のDACは16bitのデータでも出力可能ですが、bit数を上げるほど、PWMの出力周期が長くなり、AGCのアタックタイムが長くなって、音声の頭で歪むという問題がありますので、PWM DACのbitは10bitに設定して、PWM出力用にレジスタへデータを送る前に信号強度を表す16bitデータを6回右シフトして10bitに圧縮してやると、AGCレンジが飛躍的に改善しました。 その上で、RF ATTを連続可変出来、かつこれをフロントパネル面で操作できるようにし、歪が発生する信号に対しては、マニュアルで可変する事にしました。 これに伴い、20dB ATTもRF3段目に置いた可変ATTも廃止しました。 AGCのループ内にPIC16Fのマイコンが入らなくなりましたので、PIC16Fに有った、AGC電圧の変化カーブを調整する、補間機能は廃止しました。 その上で、Sメーター用の補間機能を見直し、TS-850とほぼ同等のS表示が出来るように再設定しました。

強入力信号の頭で音声が歪むという問題に対して、AGCをかける回路をRF初段の1石のみとし、RF2段目、IF段のAGCは廃止しました。そして、外部ATTの可変が急峻過ぎるので、ゲインの変化がブロードになるように、ATT用可変抵抗の可変範囲を狭くしまた。 また、強入力が急に加わったとき、一瞬音量が下がる事を防止する為に、AGCアタックタイムを遅らせる目的でdsPICのPWM出力に入れてあった560Ωと1mHのコイルはショートしました。 送信時に受信のRFやIF段が生きているのは、都合が悪いので、2段のRFアンプと2nd IFアンプの初段のFETにミューティングを追加しました。 これらの対策でも、音声の先頭で歪むという現象は完全には対策出来ませんでしたが、+40dB以下の信号の場合、歪は気にならなくなりました。 +40dBを超えるローカル局の場合、ATTを絞る事によりOKとなりました。 (強入力が有った時、一瞬音が消える原因は、FIRフィルターによるデータの遅延でした。対策はここで行っています。)

しばらく実際に使用した感じは、了解度がTS-930SやTS-850Sより良い事に気づきました。 その理由は、感度が市販モデルよりやや低い事と、スピーカーの特性に合わせた、スピーカーアンプの周波数特性にあるようです。 特に、AMはTS850Sを受信機とした100W PWM機と交互に使う機会があるのですが、その聞きやすさは、断然、この自作機の方に軍配があがります。

 

メンテ中にDC電源が壊れ、いきなり57Vが印加され、リニアアンプのファイナルが壊れてしまいました。幸い壊れたのは、リニアアンプだけで、受信部やDSP周りは生きていました。 この壊れたDC電源は自作品ですが、過去にも、何度も壊れて57Vが出力される事故を起こしていますので、またいつ壊れるか判りません。 そこで、5.6Vのツェナーダイオードを3本直列にし、16.8Vのツェナーを作り、この電圧以上の電圧が印加されたら、5Aのヒューズが飛ぶようにプロテクタを入れました。 壊れたリニアアンプのTRは2SK2796LというFETに交換し、MRF477より、リニアリティが向上しました。

 

これらを網羅した、配線図とソースファイルは以下です。 QRP SWによるレベル設定を半固定抵抗に変え、かつdsPIC内で定義したCWとAMのキャリアレベルを修正しました。 SSBの定格出力が10Wのとき、AMの出力は、SSB出力の1/4である2.5Wに設定する必要がありますが、dsPICの中で、簡単にレベル変更出来るのはデータシフトによる+6dBか-6dBで、それ以外のレベルにしようとすると、計算をして、丸めるという操作が必要となり、面倒です。 その事もあり、アンプのリニアリティが向上した為、レベルをシフトだけで調整可能な、3Wに設定しました。

100Wのリニアアンプ接続時は問題無かったのですが、200Wのリニアアンプを繋ぐと、マイクアンプへRFの回り込みが発生しましたので、マイクアンプの入力にCRのフィルターを入れ、かつ、コネクタのHOTとGNDの接続が間違っていましたので、修正しました。

7000KHzと7200KHzの送信出力に大きな差があり、電力比で1.7倍くらいで、7000KHz側が大きくなっていました。 これは、7195KHzでMAX10Wに調整した後、周波数を7000KHzにすると、17Wを出る計算になりますが、実際には、7100KHz付近で10Wに調整しており、7195KHzで予想する出力が出ないと悩んでいた原因がこれでした。 出力差が生じるのは、Mixerで7MHzを作った後、7MHzのLPFを通しますが、最大ピークを示す周波数が7000KHz以下になっていたことでした。 この対策として、C24 680Pを490P(390P+100P)に変更し、バンド内でほぼフラットになるように修正しました。

 

前回作成したHDSDRダイレクトコンバーショントランシーバーでIMDや占有帯域幅を確認してみました。 これで測定する場合、必ずHDSDRの受信のAGCをOFFにして測定します。 AGCがONのままだと、受信強度に関係なく IMDが20dBくらいに固定されてしまいます。

Sc4wpep7002300

Sc04wpepnoise  

左は4Wpep時の2tone特性です。 変調周波数は700Hzと2300Hzです。 帯域内に発生した2次IMDは42dBくらいを示していますが、帯域外になる3次IMDは50dBくらいを示しています。

右はホワイトノイズによる変調です。 赤のラインがキャリア周波数になります。一応、きれいに3KHzの帯域内に収まっています。 この測定を最初行った時、200Hz-2800Hzのフィルターでしたが、3000Hz以上に若干の漏れが認められましたので、SSB用のFIR BPFの遮断周波数を250Hz-2750Hzに変更しました。 下のファイルもこの新しいBPFに修正してあります。

dsPICのRA4が過電流により壊れました。 従い、KYEinの入力はRB4に変更しました。

AGC回路の変更に伴い、3.3Vの電源ラインを変更しましたら、7193KHz付近で強力なビートが出るようになりました。 ミキサーとローカルオシレターと2nd IFアンプが結合して、発振を起こしたみたいです。 対策として、各電源ラインに個別にフェライトビーズを挿入しました。 この自作品の中で使っているビーズは、すべて村田S/SのBLM18タイプで100MHz 1KΩと言われるものです。

2ndif_lpf_data


夜になると、7200KHz以上のAM放送局が混信する原因が判りました。クリスタルフィルターを通過した後、9.8KHz台の2nd IFに変換された信号は、dsPICのADコンバーターへ入力されますが、この入力成分の中には、クリスタルフィルターで十分に減衰量を確保出来なかった、AM放送局の信号も含まれており、これが、ナイキスト周波数以上の成分であることから、エイリアシングノイズを発生させ、放送内容は判らないものの、混変調のような音で、混入しているものでした。 そこで、左に示すようなLPFを2nd IFアンプの前に追加し、この妨害を軽減させる事にしました。エイリアシングが発生する周波数は19KHz以上の成分になりますが、13KHzまでは有効な成分ですので、10KHz±3KHzを出来るだけフラットで通過させた後、19KHz以上を急激に減衰させるため、かなり複雑なLCフィルターになりました。

2ngif_lpf_unit_2

左の写真がそのフィルターユニットですが、3.3mHのチップインダクタとCH特性のチップコンデンサで構成し、基板の空いているところに実装し、配線しました。 2nd IFアンプの位置とかなり離れましたが、周波数が100KHz以下の範疇ですので、弊害はないようです。

以下のファイルの最終更新日 2021年12月26日 

配線図 SSB_generator10.pdfをダウンロード

配線図 SDR-TRX10.pdfをダウンロード

SSB_generator_10.cをダウンロード

7MHz_dspSSB_TRX_10.cをダウンロード

float_TapUSB301_BPF_BL.hをダウンロード

float_TapLSB301_BPF_BL.hをダウンロード

float_TapCW301_BPF_HM.hをダウンロード

float_TapAM301_BPF_BL.hをダウンロード

float_TapAUDIO201_BPF_BL.hをダウンロード

float_Tap950_BPF.hをダウンロード

elekey_950HzMonitor.cをダウンロード

 

これらのテキストファイルを編集する場合、MPLAB X上でデバッグする時は、MPLAB内蔵のエディタを使いますが、それ以外の通常編集では、サクラエディタを常用しております。 日本語仕様のこのエディタは直感的に分かり易く、もう10年近くも使っており、他のエディタへ変更できませんね。 IEをEdgeに変更したら、Edgeが勝手にテキストファイルとして開いてしまい、見にくいのなんの。 Edge側の言い訳は、セキュリティ対策で、外部アプリを起動してファイルを開く機能を制限した結果との事で、一度、PCのどこかに保存した後でなければ、サクラエディターでは開けないとの事。 不便になりました。

 

移動運用をする為に、リチウムイオン電池パックを作りました。

 

配線図や最新のソフトは以下のページからダウンロードできます。 

dsPICでSSBトランシーバー(AGCの改善)へ続く。

 

200Wのリニアアンプが完成し、200Wの出力が得られる時の、このトランシーバーの出力は4Wとなりました。 そこで、QRPモードにおけるCWやSSBのピーク出力を5Wから4Wに修正しました。

リニアアンプを2band化したところ、7MHzのリニアの感度が下がり、最終的にはCWで7Wの出力に修正しました。

このトランシーバーの後に繋ぐ予定の200Wリニアアンプの記事はこちら。

 

同じような構成で160mバンド用SSB送信機を作成しています。(2021年12月スタート)

INDEXへ戻る

2020年8月11日 (火)

dsPICでSSBトランシーバー(10Wリニアアンプ)

カテゴリ<SDR> [7MHz 自作]

dsPICをSSBジェネレーターとしたトランシーバーが、ほぼ期待通りに動き始めましたので、次は、これに接続するリニアアンプの検討です。 以前、HDSDR用のトランシーバーを製作したとき、MOS-FET IRFI510による10Wアンプを作っていますが、この時の電源電圧は18Vでした。 今回は、DC12Vで10Wの出力が得られるリニアアンプの検討です。

前回の経験から、MOS-FETによるリニアアンプのノウハウは理解していますので、まず、2SK2796Lにてトライしてみました。

2sk2796_vg_id

Tk2q60d_vg_id

2SK2796LのVgs対Idsの特性は左上のグラフデータのごとく、かなり急峻に立ち上がっています。 これは、100Wリニアアンプを検討した時のFKI10531と似た特性ですが、前回は35Vの電源でしたが、今回は12V電源です。 もしかしたらいけるかな?とトライしましたが、アイドル電流を調整中に熱暴走してあっけなく壊れました。 (この2SK2796Lは後述しますが、MRF477より良い結果が得られました。) 次に、このVgs対IdsがかなりなだらかなTK2Q60Dでトライしました。 熱暴走は起こりませんが、最大出力は3.5Wでした。 Rds 3.2Ωが効いて、出力はターゲットに届きませんでした。

MOS-FETによるリニアアンプは電源電圧を高くしないと、効率よくパワーが出てくれないようです。 そこで、トランジスタによるリニアアンプにトライする事にします。

ジャンク箱をかき回すと、3種類のトランジスタが見つかりました。 2SC1969  2SC1791  MRF477  いずれも、2石ペアです。 この中で、2SC1969だけは、放熱フィンがコレクタとなっており、放熱板に取り付けるとき、絶縁する必要があります。他の2品種はフィンがエミッタとなっており、放熱板にビス止めするとき、絶縁が不要です。 そこで、まず、2SC1791でトライします。

この2SC1791は175MHzで6W出せるVHF用のパワーTRです。 放熱板に取り付け、バイアス電流を1石当たり100mAに調整すべく、1mAから次第に大きくしていったのですが、50mAくらいになった途端、異常発振が起こり、Icは3Aくらいまで上昇し、DC電源のプロテクタが働いてしまいました。 結局、一度も増幅することなく、2石ともショート状態で壊れてしまいました。

1時間くらい落ち込んだ後、気を取り直して、 トランジスタをMRF477に変更しました。

10w_power_amp0

当初、2SC1792用のバイアス回路で、トライしたのですが、半固定抵抗を最大にしてもアイドル電流が2Aを超えてしまいます。 そこで、D2のRB521Sをショートして、再度電源ONすると、バイアス電流を可変する事が出来るようになりました。 このTRのデータシートによると、アイドル電流は1石当たり50mAと有りましたので、2石で100mAに調整した後、TS930Sから7MHzの入力を加えてみました。

最初に、5MHz、10MHz付近での異常発振です。 コレクタからベースへ,、お決まりのCRによる負帰還をかけて、発振はとまりましたが、7MHzを中心に+/-2MHzくらいで、ノイズフロアが異常に上昇します。 そのレベルは-30dBくらいです。 このTRのデータシートでは、ベースGND間に10Ωの抵抗を挿入し、入力をダンプしていますので、同様に、入力トランスの出力端を10Ωでダンプし、入力にコモンモードチョークを挿入すると、-50dBくらいまで改善しました。 このノイズフロアはTS-930Sでは-60dBくらいありますので、そこまでは減衰させる必要があります。 

10w_power_amp1

 そこで、ベースにシリーズ抵抗を挿入し、改善具合を調べてみました。

Rb10ohrm

Rb5ohrm_2

左上が10Ω、右上が5Ωのデータになります。この抵抗を大きくすると、ゲインが下がりますので、その分、このアンプのドライバー段に負荷がかかる事になりますが、明らかに10Ωの方が良好です。 動作は安定しましたが、ゲインが落ちてしまいましたので、コレクタからベースへ戻す負帰還抵抗を100Ωから220Ωに変更しました。 すると、また、ノイズフロアの上昇が発生しますので、10Ωはさらに22Ωへ変更しました。 そして、入力トランスの2次側に挿入した10Ωのダンプ抵抗を外してみたところ、ノイズフロアの増加はなくゲインが2dBくらいアップしました。 10Wの出力時の入力は0.5Wとなり、ドライバーの検討がやりやすくなりました。

上のスペアナデータでは、高調波が多く発生しておりますが、これは、LPFやシールド構造を検討して、対策可能ですので、後で対応する事にします。

10w_pa01_2

上の写真が、とりあえず安定に動作したリニアアンプのファイナル部分です。 これから、出力が1W程度のドライバーアンプを検討します。

Dspic_power_amp2

上の回路図が、1Wクラスのドライバーを追加したパワーアンプユニットです。 ドライバーの石はRD16HHF1 一石で構成しています。 このFETは12Vの電源で10W以上の実力がありますが、リニアリティを確保するために軽く使っています。 アイドル電流は、データシートより少し少ない400mAに合わせてあります。 AB級で動作していますが、最大出力状態でも0.65Wくらいの出力しかなく、通常はA級増幅です。 この状態で、ファイナルの出力は13W有ります。 少し出すぎですが、そのままです。

ドライバーの出力トランスは、受信部分で使用したTDKのコア2個を、ビニールテープで固定し、1次:2T 2次:3Tで自作しました。

Power_ampunit2

RD16HHF1には、銅板による放熱板を付けてあり、かつ、温度補償用のダイオードをシリコングリスでくっつけてあります。 ただ、1分くらいの13W出力テストで、あっちっちですから、ドライバーの構造を大幅変更し、ファイナルと同じ放熱板を使う事にしました。 二つの放熱板の間に、30mm角のファンが取り付けられています。

Idsp_pwr_unit2

Idsp_pwr_unit1

バラックの基板状態で、動作テストすると、スプリアスがかなり多く、最悪値で-45dBくらいになっています。 これは、各ブロックをシールドBOXで囲んだり、電源ラインのフィルターなどを検討する必要がありますが、それらは、ケースを確保し、実装設計の時、考える事にします。

13W出力時の全消費電流は4Aくらいです。 MRF477のデータシートには、40%の高効率と書いてありますが、ドライバー段や、30mm角のファンの電流を差し引いたとしても33%くらいの効率です。 多分、40%の効率は、最大PEP出力40Wの時なのでしょう。 電池運用で4Aはきついですから、QRPモードを設定する必要があるかもしれません。

 

2021年3月

メンテの為、パワーアンプをいじっていましたら、DC電源が壊れて、いきなり57Vが印加されました。 この事故の為、リニアアンプのMRF477がオープン状態で壊れてしまいました。 せっかく、使いこなしたTRでしたが、もう有りません。 そこで、このアンプの最初に実験した、2SK2796Lで、再トライする事にしました。 このFETのVg対Id特性は、最初に示したように、素晴らしいリニアリティを確保しています。 そしてCiss=180PF、Td-off=35ns、Rds=0.12Ωと、HFのアンプにも十分使えるSpecです。 前回諦めた理由は熱暴走でしたので、熱暴走が起こりにくくするため、ソースに0.1Ωの抵抗を追加する事にしました。 すると、12Vの電源でアイドリング電流を各0.15A(合計0.3A)にした後、入力を加えると、18Wの出力が得られ、14W出力までは、リニアリティを確保した範囲に収まります。 かつ、ゲインが6dBくらいアップしました。 ゲインはドライバー段のRD16HHF1のアイドリング電流を減らして合わせこみました。

MICアンプのリミッターが働いたレベルで10WのSSB信号が出るようにし、CWやAMはキャリアレベルを調整して、10Wと3W出力に設定しました。QRPの場合、CWにて4Wになるようゲインを調整してあります。

2sk2796amp_1

Sdr10wpep

10w_pa_2sk2796l_sp

ソースに追加した0.1Ωの抵抗は200Wアンプに使った3W品の為、FETより大きくなりましたが、なんとか実装できました。FETは11x16mm t=1mmの銅板に半田付けし、温度補償用ダイオードと一緒に、プラスチックビスで放熱板に止めてあります。 銅板と放熱板の絶縁はマイカ板とシリコングリスで処理しました。

下の2信号特性とスペクトルは10Wpep出力時のデータです。ピークがつぶれだすのは14Wを過ぎた出力からで、それ以下の出力で良好なリニアリティを確保しています。また、スプリアスは第3高調波が規定値ぎりぎりですが、一応スペック内です。

入力トランスの2次側センタータップのGND接続はなしとしました。 終段のFETゲートに加わるRF電圧のレベルの差が小さくなります。 この結果、T7は不要になるのですが、改造が面倒なので、そのままです。  また、リニアアンプ側の電源に挿入されていたラインフィルターは、この部分で1.5Vも電圧ダウンを起こしていましたので、廃止しました。 受信回路の電源に挿入されたラインフイルターはSWing電源を使用した時のノイズ除去に効果がありましたので、残しています。

温度の変化でパワーが増減しますので、ドライバーのソースに1Ωの抵抗を追加し、安定度の改善を行っています。 この抵抗追加に伴い、RD16HHF1のソースも放熱板からマイカとシリコングリスで絶縁しました。

変更された配線図は以下です。

10wpa_2sk2796

この2SK2796Lをプッシュプルで使う時は、特性が揃ったものを使用しないと、この記事のようなデータは得られない事が後日判りました。

dsPICでSSBトランシーバー(ケースイン) へ続く。

 INDEXに戻る

2020年7月26日 (日)

dsPICでSSBトランシーバー(CW,AMモード追加)

カテゴリ<SDR>

dsPICを使い、SSBジェネレーターと、周辺の回路を検討し、リニアアンプ以外、目標の機能が動作するようになりました。 動作確認できたのは、LSBとUSBの送受信機能だけで、当初の構想である、CWとAMのモードはまだ実装されていませんでした。(前回の記事

次は、CWとAMモードをdsPICの中に追加します。

Modelist_2

上の表は、dsPICの中に組み込まれた、Pre BPF、MIXER、Post BPFがモードにより、どのような動作をするかまとめたものです。 例えば、LSB送信モードの時は、200-2800HzのBPFを通った後、サブキャリアとのミキサーを経て、第2IFのUSBバンドのみを通過させ、LO2(24MHz)との第2ミキサーへ供給されます。 LSB受信モードの場合、PreとPostのBPFが逆になって音声信号を復調します。

CW受信時は、SSBのときと全く同じ動作ですが、Pre及びPostのBPFがCW用の狭帯域となります。 そして、受信の時だけ、LO2の周波数を950Hz低い方へシフトします。 CW送信時は、ADCの出力は使用しませんので、Pre BPFをスキップした後、サブキャリアと直流を掛け算して、約9.8KHzのキャリアのみをミキサーで作り、Keyでon/off出来るようにした後、これをAM用のPost BPFを通して、第2ミキサーへ供給します。 CWのトーン周波数は、当初、750Hzに設定していましたが、ちょうど、スピーカーの周波数特性のディップポイントにはまり、音量が伸びません。 そこで、低周波を手でスイープさせて調べたところ、950Hz付近が一番音量が大きくなる事がわかりましたので、950Hzに変更しました。 このスピーカーの特性も一種のフィルターですから、有効活用です。

Dsp110pctmod

AMの場合、ADCの出力にDC成分を加算して、サブキャリアとミックスすれば、AM信号が得られますので、ADCのレベルとDC加算レベルを調整して、ピークがSSBのピークを越えないAM信号を作り、AM用のBPF(LSB.USB全帯域をカバーするBPF)を通した後、第2ミキサーへ供給します。 この様にしてDSPの中で計算により作られたAM信号は、後段のリニアアンプが飽和しない範囲ならオーバー変調しても帯域幅が広がらない(スプラッタが発生しない)というメリットが有り、例え包絡線検波による復調でも、歪感が少ないという特徴があります。 左上の波形は約110%の変調波形です。 オーバー変調したAM波を聞いても、モガモガ音が少しづつ増えるだけです。  一方、AM受信は、Pre BPFのAM BPFを通した後、その出力のマイナス信号をゼロにします。 ダイオードによるAM検波と同じ理屈で、キャリアの正電圧のみを取り出し、この後にあるミキサーはスキップさせます。 当然、この信号には、キャリアのエンベロープ以外に多くの高調波を含みますが、これらは、Post BPFで除去され、音声信号のみが取り出せます。 この検波方式は、理屈では判っていましたが、はたして、ダイオードによる半波整流をソフトウェアで実行して、ほんとに音声信号が得られるのか不安でした。しかし、dsPICにその仕掛けをすると、ちゃんと音声信号を復調できました。 dsPICに入力された信号の1/2の振幅しか使いませんので、SSB復調時より音量が約半分になります。 よって、AMの時だけ、DACの前でデジタル信号の振幅を2倍にしています。


各モードの送信時のdsPIC出力のスペクトルは以下のようになりました。 上から順に、LSB、USB,CW,AMです。 出力レベルは、dsPICのDACが飽和しない安全なピークレベルに合わせてあります。 これらの確認をする上で、Wave Spectraは大変有効です。

Lsb_tx1

Usb_tx1

Cw_tx1

Am_tx1

CW以外、すべて1KHzでの変調ですが、1KHzのレベルはマイクアンプのリミッターレベルより1dBくらい低いところに設定してあります。 リミッターが動作するレベルでは、歪が3%くらいになりますので、その影響が出ないようにして測定しました。 リミッターIC SA2011の歪特性は、あまり良くなく、これよりさらにレベルを下げても、1%以下にはなりません。 このリミッターICが無い時は、0.3%以下の歪になります。

 

LSBとUSBのデータから、逆サイドバンドの減衰量は-70dB以上ありますので、問題なしです。 また、サブキャリアの漏れは、USBよりLSBの方が悪いですが、それでも-70dBくらいはありますので、これも問題なしです。 最初、このSSBのPost BPFはPre BPFと同じ251タップで設定していましたが、 モードを切り替える時、dsPICをresetする事にしましたので、PreとPost BPFのTAP数を合わせる必要がなくなりました。 よって、音声帯域の BPFを201TAP、サブキャリア帯域の BPFを301TAPに変更しました。

CWは、余計な信号が全くないきれいなスペクトルです。

AMは、100%変調した時のピークレベルがSSBのピークと一致するように、キャリアレベルと変調信号のレベルを調整しました。 この状態は、SSBの最大出力が10Wの場合、AM時のキャリア出力は2.5Wになる事を意味します。

Txout_lsb

Txout_usb

Txout_am

上の波形は、7MHz RF出力で、左からLSB、USB、AMです。振幅は、オシロスコープの入力ATT値が異なりますので、無視してください。

Image_lsb左は、7MHz LSB出力時の24MHz第2ミキサーで生じた24MHz LO2のキャリア漏れと、約20KHz離れたイメージ信号です。クリスタルフィルターのDipポイントに合わせこんだイメージ信号は、約-58dBくらいのレベルになっています。 一方、LO2漏れと表示してあるスプリアスは、第2IFを作る為に加えた約24MHzのキャリアLO2の漏れです。 このミキサーは、アナログ回路によるダブルバランスドミキサーとして、動作しますが、アナログ式によるバラツキの為、-48dBくらいしか減衰していません。 クリスタルフィルターにより、LO2の減衰は-30dBくらい確保していますので、ミキサーのバランス効果は-18dBくらいしかないという事です。 これは、必ず-50dB以下にしないと新スプリアス規制に合致しませんので、対策が必要です。 対策案と実施が出来たら、追記します。

 

対策出来ました。 下は、対策したクリスタルフィルター周りの配線図です。

Counterloreak_schema

Loreaklsb

クリスタルが3個つながる回路のGNDを全体のGNDから浮かし、33PでGNDへ接続。 配線図には有りませんが、T4とT5の間にシールドの仕切りをいれました。 そして、T4とT5のバランス巻線の中点は、10Kの抵抗を介して完全独立としました。 さらに、T5のアンバランスを補正する為に100Pを追加した結果、左のスペアナのごとく、LSB(逆サイド)は-62dB程度まで、24MHzのLO漏れは-57dBくらいまで改善し、新スプリアス規制をクリアしました。  この問題は、アナログSWの2G66周りの配線が、SDR-3で使っていいるアナログSW 1G3157と違うのが原因かもしれないと、昨日、アマゾンで10個311円のこのICを発注したばかりでしたが、不要となりました。

 

当初、dsPIC33FJで不足なら、dsPIC33CHに乗り換えるつもりでしたが、その心配は全くなくなりました。

次は、この回路の中に、エレキーを追加します。 昔作った、PIC12F675をそのまま基板上に載せますが、モニタートーンの周波数は、950Hzに変更します。

Pic12f675add

モニター周波数を変更する事と、Hi-tech CのソースをXC8に置き換える為、新規にプロジェクトを作って、コンパイル、プログラム書き込みをやったのですが、ベリファイの結果、0番地のデータが違うというコメントが付いてエラーになります。 2時間くらい悩んで、判った事は、電源電圧でした。 今回のトランシーバーのメイン電圧は3.3Vです。PIC12F675も3.3Vで動作しますので、PICkit3から3.275Vを供給して書き込みをしたのがいけなかったようです。 プログラム時は5Vの電圧で行い、実際の動作は3.3Vでやれば問題なしでした。 このプログラム書き込み中に他の回路へ5Vが逆流しないように、逆流防止のダイオードを追加しました。 なにせ、前回のエレキー製作は6年前の事であり、すっかり忘れていました。  そして、このドサクサの間に、バグも発見され、それを修復しました。 しかし、バグが有りながら、どうしてまともに動いていたのか不思議です。 このオリジナルソフトはスリープモードが有りましたが、トランシーバー内蔵という事で、少しでも応答を早くする為に削除しました。 この弊害か判りませんが、電源をONした時、一瞬、トーンが聞こえます。 対策として、電源やi/o条件が安定するまで、1秒間のディレーを入れ割り込み開始を遅らせました。 また、950Hzのトーン信号がダッシュとドットで少し違うというバグも修正しました。

CWのセミブレークインを検討する為、dsPICにresetをかけた後、ADCの割り込みが発生するまでの時間を調べてみたところ、約8mSでした。従い、キーdownしてから送信状態になるまで、最低8mSはかかる為、CWの信号は、余裕を見て、11mS遅らせます。 これは、送信信号が11mS遅れるのみで、モニター音や受信音にはミリセックレベルの遅れは有りません。

Cw50ps

Cw150ps_o

Cw150ps_4

上の波形は、CWによるセミブレークイン時の最初の信号の頭切れを観測したものです。 一番上のラインがPIC12F675からのキーイング波形です。 上から3番目が、キーイング開始に伴い、モードを即送信状態にしています。 そして、上から2番目のラインが、ディレーさせたキーイング信号です。 一番下が、実際に送信される7MHzのCW信号になります。 左が、約50字/分の送信時の単点で始まる符号です。 真ん中の波形は150文字/分のコンテストスピードで長点で始まる符号、一番右は、同じく150文字/分の短点で開始した符号です。波形で見る限り、先頭の符号で頭切れを起こしている形跡は有りません。

 

送信時のミキサー出力は、Q6バッファーアンプの出力にて、3Vppあります。ここは、電源電圧11Vで動作していますので、8Vppくらいまでは、アップできますが、そこまで上げるかどうかは、後段のリニアアンプ次第です。 このアンプの動作確認を夜やっていましたら、SSBの入力信号がゼロなのに、この出力が8Vppくらいあります。 

7mhzbpf_1k

しかも、かなり変動しています。 原因を調べると、7200KHz以上にあるAM放送局のキャリアがQSBを伴いながら、漏れてきているものでした。 クリスタルフィルター前のアナログSWの受信出力が、送信側へ漏れています。 対策として、RF段のFETのAGC制御電圧をゼロにすると、トータル100dB以上の減衰が得られますので、送信時、このAGC制御電圧をFETでGNDへ落す事にしました。 

左は、このRFアンプの前にあるBPFの特性です。 配線図の中で、コイルのインダクタンスが1uHとなっていますが、1.5uHの間違いです。 この状態で、夜になると、7200KHz以上のAM放送局のQRMを受けます。 これを少しでも改善する為に、共振回路のQをもう少し上げる事にしました。 コイルインダクタンスは4.7uHか5.6uH当たりがよさそうなのですが、あいにく、Qを管理したチップインダクタは2.7uHか12uHしか手持ちしていません。 帯域が狭くなり過ぎるかもしれませんが、12uHで作り直す事にしました。

Frontend_1

7mhz_bpf BPF部分の各定数は上の回路図のようになりました。 そして、このBPFの通過特性を自作のSGとオシロで実測した結果が上のグラフです。BPFのセンター周波数が7120KH付近で、-3dBの周波数が約7000KHzと7300KHzとなっています。あと50KHzくらい低い方へシフトしたかったのですが、ここでコン尽きて諦めました。

MODEセレクタのボタンを何回か押すと、受信音が聞こえなくなるトラブルが発生し続けていました。 dsPICのソフトの問題か?、コントローラーのタイミングの問題か? と丸1日検討した結果、原因はMODEスィッチのチャタリングでした。 このチャタリングの状況をデジタルオシロでモニターすると、4個あるプッシュSWの内、MODE SWだけが、極端にチャタリングがひどい状態でした。 原因が判ると、対策は簡単で、スィッチの両端に0.47uFのコンデンサを入れ、振動を抑制して解決しました。

前回の記事で、AGCの状況は確認していたのですが、何時間も7MHzをワッチしていると、局により、最初の言葉が歪んだり、音量が急に下がり、無音になるような現象が生じます。 さらに、最大感度が低い為、音量の強弱の差が大きく、特にS7くらいの信号はS/Nは良好なのに、ボリュームを一ぱいに上げても、聞き取れないという問題もありました。 そこで、2nd IF段に約20dBのゲインのあるAGC付きアンプを追加し、弱入力時の音量をアップさせる対策を行いました。 また、AGCのアタックタイムを調整する為に半固定抵抗VR7を追加しました。

2ndif_agcamp

Addvr_agcamp

左上が2nd IFに追加したAGC付きアンプ、右上が、アタックタイム調整用のVR7を追加した回路図です。 このハード変更をした上で、デュアルゲートFETのG2の電圧を変化させた時のATT量を調べ、AGC制御電圧が最適になるようにソフトで、加工しました。

Bf1211_agc

Agcv_curve

 

左上が、FETのG2の電圧を可変した時のデータで、G2電圧をリニアに変化させると、ATT量は対数で変化する事を示しています。 このため、急に信号が大きくなると、必要以上のATTをかける為、音量が消えるという現象が現れる事が判りました。 (これは、間違いで、本当の原因はFIRフィルターによる遅延時間の為、リアルタイムでAGCがかからないのが原因でした。) 言葉の頭が歪むのは、マイコンで処理する遅延時間が影響しているようで、実際に信号が大きくなってからAGCが効き始めるまで20mSくらいの遅れが有る事によるようです。アタックタイムの改善は、現状では無理ですので、せめてATTの効き過ぎによる過渡応答を改善する為に、検出した2nd IFのレベルを圧縮する事にしました。 

S4to30dbin

右上のグラフが2nd IFのレベルをAGCアンプへ出力する間に、レベル変換するカーブです。 このカーブはソフトで、補間して作ってありますが、実際にSSB信号を聞きながら、実験的に合わせこみました。 この対策で、+30dBくらいまでの信号は自然に聞けるようになりました。 左のデータは、S4のノイズ状態から、いきなり+30dB程度の信号が入ったときのデータですが、一番上の2nd IFの信号は、クリップなしです。 しかし、+30dBを超えるような信号の場合、頭で歪ますので、その対策として、アンテナ入力に20dBのATTを追加し、これを必要によりON/OFFする事にしました。

このAGCの問題は、トランシーバーとして完成度が上がるに従い、最大の問題点となって行きました。 そして、AGCの補間処理や、追加したFETへのAGCは廃止されました。 詳細は後述します。

ここまでで、気が付いた問題点は、対策完了しました。 このトランシーバーの受信時の消費電流は、12V電源で180mAです。 これは、移動運用を電池で行う時、役立ちます。 今まで、車で行けない、山頂や電波の飛びそうな場所へ、持っていけるSSBトランシーバーが有りませんでしたので、期待が持てそうです。

ここまでできますと、次は、リニアアンプです。 すでにHDSDR用のダイレクトコンバーショントランシーバーで10Wのアンプは作っていますが、これとは別に新たに作ります。 もちろん、すでに自作した100Wリニアアンプも使えるようにします。

SSBジェネレーター回路図 SSB_generator5.pdfをダウンロード

アナログ回路図 DSP-TRX5.pdfをダウンロード

ここまでのソフトです。 以下のファイルは全て開発途中のものであり、必要により更新されます。

SSB_generator_5.cをダウンロード

float_Tap950_BPF.hをダウンロード

float_TapAUDIO201_BPF_BL.hをダウンロード

float_TapAM301_BPF_BL.hをダウンロード

float_TapCW301_BPF_HM.hをダウンロード

float_TapLSB301_BPF_BL.hをダウンロード

float_TapUSB301_BPF_BL.hをダウンロード

7MHz_dspSSB_TRX_5.cをダウンロード

elekey_950HzMonitor.cをダウンロード  

 

dsPICでSSBトランシーバー(10Wリニアアンプ)へ続く 

 

INDEXに戻る

2020年7月18日 (土)

dsPICでSSBトランシーバー(製作開始)

カテゴリ<SDR>

dsPICの、基本機能が完成しましたので、トランシーバー全体の構成を、システムコントローラーとDSPがメインのデジタルブロックと、アナログブロックのふたつに分割した回路基板として製作を開始する事にします。

システムコントローラーの役目は、送受信周波数の選択とモード設定、送受信切り替え、その他付属機能をマイコンで実現するものです。

この回路の範囲は、dsPICによるSSBジェネレーターを中心に、システムコントロールマイコン、LCD表示部、受信時のオーディオ増幅部及びAGC制御回路から構成され、トランシーバーとしてのすべてのコントロール機能を受け持ちます。対応するのはPIC16F1938 8bitマイコンです。

HDSDR用のダイレクトコンバージョントランシーバーに使った同じLCDを使いますが、このLCDに使用されているICのスペックを詳細に調べたところ、LCDは5V電源でないと動きませんが、これを制御するマイコンは3.3Vでも、正常にH/Lの制御ができる事が判りました。ただし、条件があり、LCD側へマイコンからの一方通行の制御に限られますが、LCDからの読出しは行わないので、問題なしです。

dsPIC33Fのi/oをPIC16Fメインマイコンで制御する訳ですが、片方のPICへPICKit3を接続しただけのとき、及び、メインマイコンからdsPICへResetをかけたときなど、二つのマイコンのI/Oの状態が不明の為、Lの出力端子にHの電圧が接続され過大電流が流れるのを防止する目的で、必要な端子には、通常動作で邪魔にならない程度のシリーズ抵抗を挿入し、保護してあります。 最初、この保護なしで接続した為、配線ミスも加わり、RC1の入力回路を壊してしまい、その反省からです。 従い、当初RC1に設定してあった、PTT入力は、RC5に移しました。

dsPICの出力は、DACLが受信時のオーディオ出力で、ボリュームを経由してスピーカーを鳴らします。 DACRは送信時の出力で、9.8KHzのサブキャリアで変調された信号を、次段の24MHzミキサーへ出力します。 こうする事により、アナログSWを1回路省略できます。

一方、アナログ回路は、RF回路、クリスタルフィルターを挟んだ、ふたつのミキサー回路、およびマイクアンプ、送信用バッファアンプ等で構成し、下の回路図のようにまとめました。

7mhz_dsp_trx4

Filterkit

この回路を構成するフィルター部分はブロックとして作成し、簡単な特性のチェックも行っています。

24MHzのクリスタルフィルターは前回の記事で取り上げたように、スペアナで実測したものを、左の写真のように組み替えました。 使った4個のフェライトコアはTDK HF70BB 6.4X5X3.2で、巻き数は4:4:8ですが、バイファイラの巻き線仕様はSDR-3と同じです。

受信のRFアンプの先頭に置く7MHzのBPFもブロック化し、あらかじめ、特性を確認してあります。 7MHz LPFはミキサーの前に置くものです。  

Micampf

青いコイルは40mHのインダクタですが、マイクアンプの出力に置き、3KHzのLPFを構成させます。このLPFは、この後、ADコンバーターへつながる事になりますが、ADコンバターで発生するエイリアシングを防止する為、エイリアシングが発生始める19.5KHz以上で、-50dB以上の減衰を確保します。 このフィルターとマイクアンプ全体の周波数特性は、左のグラフの青色の線になります。 そして、SSBジェネレーター内のBPFにより、実際に送信される周波数特性は、赤色のグラフになります。 700Hzより1800Hzのレベルを2dBアップさせ、少しでも了解度が向上するように細工しています。

約24MHzのLO2と約17MHzのLO1はdds IC Si5351Aで作ります。 このプログラムは、以前HDSDR用のダイレクトコンバージョントランシーバー用として作った事がありましたので、それをアレンジして、可変のLO1と固定のLO2を同時に発生させています。 この出力をそれぞれ、位相反転させ、高速アナログSW 2G66をスィッチングし、ダブルバランスドミキサーを構成しました。

ここまでの回路図には、まだリニアアンプは含まれていません。

そして、この回路図状態で、配線完了した2枚の基板が以下です。

Dsp_trx_pcb_top

Dsp_trx_pcb_back

まだ、配線が完了しただけで、配線チェックも、通電テストもやっていませんが、まず、システムマイコンを動作状態にし、DSP部分、LO、ミキサー部と、順にチェックとカット&トライを繰り返しながら仕上げていく事にします。

 

そのシステムマイコンの動作確認を行いました。 かなりの配線ミスや、配線図自身の間違いがありましたが、とりあえず、動き出しました。

Idspictop0左は、LCDとロータリーエンコーダーを接続して、動作チェック中のシステムマイコンです。 周波数表示とモード表示、RIT表示、Sメーターの数値による表示など、機能しております。 

今後、DSP部分、Si5351AによるLO回路、ミキサー回路、MICアンプなどの動作確認を少しずつ進めていく事にします。 すべての回路機能を確認できるまでは、仮のシャーシとパネルを用意し、回路の改修が簡単にできるようにしておき、完成した時点で、どのようなケースに収めるか考える事にします。

7mhz_ssb_trx1

木製の板の側面にアルミ板をねじ止めし、仮組の回路ができましたので、dsPICとSi5351Aが正常に動作できるまで確認できました。 回路図の間違いもありますが、それ以上にコネクタの1番ピンの位置が間違っているのが多いです。 幸い、基板から煙が出るほどではありませんでしたが、この間違いを修正するのは、一度挿入したコネクタのリード線を引っこ抜き、正しい順序に挿入しなおすだけなので、手間はかかりませんでした。

DDSのSi5351Aの発振周波数を周波数カウンターで確認したところ、第2LOの周波数は、24006766Hzでないとダメなところが、24006416Hzとなっていました。 そこで、ソフトの中で定義した SI5351_XTAL_FREQを 24999633Hzに修正し、ぴったり一致させました。 この校正で、第1LOの周波数も校正されますので、+/-0.1ppmの周波数誤差で、運用できます。

アナログSWの2G66の半田付けのトラブルや、1番ピンと8番ピンの逆付けなどのトラブルがありましたが、自作のSGを使い、アンテナからスピーカーまでの受信回路に信号を通す事ができました。 日を改めて、7MHzのアンテナに接続して、受信テストです。

Agc_amp

最大感度が市販のトランシーバーより悪いですから、雑音の大きさは、断然小さいのですが、とにかく聞きにくいのなんの。

原因はAGCの調整がうまくいっていないようです。 当初、AGCのアタックタイムとリカバリタイム、AGCレベルなど、すべてソフトで対応しようと意気込みましたが、半日でギブアップ。 昔ながらのアナログ回路で作ると、これが、いとも簡単に、TS930レベルの聞きやすさになりました。 左が、そのAGCアンプですが、教科書に出てくる回路と少し違います。通常は、高速に充電して、ゆっくり放電させますが、この回路は逆です。高速に放電して、ゆっくる充電させます。 ICはグランドセンスタイプのLM358ですが、レールtoレールタイプのOP-AMPではないので、出力レベルを5V確保しようとすると、電源電圧は、最低6.5V必要になります。 そこで、78L05の3端子レギュレーターのGND端子にLEDをシリーズに入れ、約1.8V電圧をかさ上げし、6.8Vの電源を作って解決しました。 

Agcv_output

しばらく、受信テストを行っていると、+40dBくらいの強い局を受信すると、音声のピークで歪ます。 原因を調べると、時定数セット用に導入したダイオード両端の0.6VのVfの為、OP-AMPがフルスイングせず、AGC電圧が2.5V以下にならない事でした。 対策として、OP-AMPにオフセット電圧を加えるようにオフセット調整用の半固定抵抗を追加しました。 

左のデータは、上から順に、dsPICの入力となる第2IFのレベル、その下がdsPICのDA出力、その下が、コントロールマイコンのDA出力です。 dsPICの出力と、コントロールマイコンの出力は、同じアナログ信号ですが、極性が180度ことなります。 そして、一番下が、デュアルゲートFETのG2をコントロールするAGC電圧となります。 このAGC電圧は0Vから5.5Vくらいまでフルスイングできるようになりましたので、実際にSSB信号を聞きながら、一番聞きやすい状態になるよう、オフセット電圧調整用のVR4を調整する事にしました。  このオフセット最適状態で、電源ONすると、音声が出始めるまで5秒以上かかります。 原因は、OP-AMPの電源がONされてから、出力が5Vになるまで、ゆっくりと上昇する事によります。 対策すると大げさな回路追加が必要ですので、そのままです。

Uew_short

トラブル発生です。電源ラインがショートして、5V 3端子レギュレーターがあっちっちです。 最初どこがショートしたのか判らず、焦りましたが、原因はRFアンプのトランスにまかれた、UEW線の被覆が破れ、これが基板に張り付けた銅箔にタッチしたものでした。 このUEW線はルーターで強力によりを入れた為、ウレタン被服に傷がついていたようで、コイルが銅箔に密着したとき、ショートしたみたいです。 対策として、トランスと銅箔の間に絶縁テープを挟み込みました。 これで、強く押し付けてもショートしなくなりました。 最初から、この部分のみ、銅箔をカットしておけば良かったと、後悔しています。

1日中、7MHzのSSBをワッチしてみましたが、HDSDRの時の了解度と、この回路の了解度は、比較にならないほど、この回路が良い事が判りました。 ただ、トータルゲインが不足しますので、ノイズと同等レベルの信号は、音量ボリュームを一ぱいに上げないと良く聞き取れません。しかし、聞こえたら、ちゃんと了解できます。

とりあえず、受信はこれくらいにして、送信の確認に入ります。

Lsb_txout

マイクアンプのベースバイアス抵抗を決定し、次の、リミッターアンプの動作確認を行い、LCRの3KHz LPFの実測による定数見直しを行った結果、リミッターが動作した時の最大値は2Vppとなり、これがそのままdsPICのADCへ印加されます。 そして、DSP内部でサブキャリアとMIXされ、第2IF、第1IFを経て、取り出された7MHzのLSB信号が左のスペアナデータです。 外部に20dBのATTが入っていますが、それでも-22dBmくらいの出力レベルが得られました。  この信号をTS930で受信してみると、きれいなSSB信号として復調されます。

送信モードに於いて、dsPICの出力をチェックすると、dsPICの入力の1/4しか有りません。 せめて、入力と出力レベルが同じにする為、DACに入力する前に、データを左シフトを1回行い、データを2倍にして、出力させ、dsPICのDAC出力につながっているOP-AMPで2倍し、元のレベルに戻す事にしました。 これは、受信時でも効果がありますので、受信時の音量不足対策にもなります。

 

このように、送信ブロックは意外とあっさりと完成してしまいました。

これから、使用頻度を上げていくと、改良事項も出てくると考えますので、出てきたら、アップデートする事にします。

以下の配線図は、いままでの対策を盛り込んだ最新バージョンです。

システムコントローラーとDSPブロック回路図 SSB_generator4.pdfをダウンロード

アナログ部分の配線図 DSP-TRX4.pdfをダウンロード

 クリスタルフィルター前後のトランスT4,T5の巻き数が間違っています。 正しくは8:4:4及び4:4:8です。

 

dsPICのソースファイルです。

SSB_generator_4.cをダウンロード

float_Tap10kAM_BPF.hをダウンロード

float_Tap10kLSB_BPF.hをダウンロード

float_Tap10kUSB_BPF.hをダウンロード

float_Tap2800BPF.hをダウンロード

コントローラーのソースファイルです。

7MHz_dspSSB_TRX_4.cをダウンロード

これらのソースは開発始めたばかりの状態ですから、完成度は低いです。

 

dsPICでSSBトランシーバー(CW,AMモード追加)へ続く

  

INDEXに戻る

2020年6月13日 (土)

dsPICでSSBトランシーバー(SSBミキサー)

カテゴリ<SDR>

dsPIC33FJにて、AD変換、デジタルLPF、DA変換の基本動作が出来るようになりましたので、このデジタルLPFを音声源信号のBPFに変え、その後ろにサブキャリアによるミキサーを追加する事にします。

サブキャリアの周波数は自由に決められる訳ではなく、ADCのサンプリング周波数に依存します。 サブキャリアの最高周波数は、サンプリング周波数の1/4で、これより1/2づつ低い周波数、1/8とか、1/16の周波数になります。

今回のADCのサンプリング周波数は39.0625KHzですから、サブキャリアは、その1/4の9.765625KHzとなります。 サブキャリアとしては、10KHzとか12KHzのようなキリの良い周波数にしたくても、dsPICのクロック条件などにより、このような半端な周波数になってしまいます。 しかし、今では、Hz単位で任意の周波数を発振させられるDDSがありますので、中途半端なサブキャリアでも、高周波IFに変換する際、キリの良い周波数に変換できますから、支障は生じません。

まず、ミキサーの前に、SSB信号として必要な音声帯域のフィルターを用意します。 今回は61TAPの200-2800HzのBPFを用意しました。

Bpf2002800

上は、ホワイトノイズを入力した時の、BPFの様子です。低域のキレが良くありませんが、最終的に、SSB信号を取り出せるようになったら、TAP数や遮断周波数をトリミングしてみるつもりです。

この後に、ミキサーを繋ぎますが、まず、サブキャリアの信号を作らねばなりません。 サブキャリアはADCのサンプリング周波数の1/4としますので、Timer3のタイミングでADCが出力するたびに、1/4サイクル分のサイン信号をADC出力に掛け算してやれば良い訳です。

一番簡単な4分割のサイン信号は{sin0度、sin90度、 sin180度、sin270度}で、これを順番に掛け算する事になります。 この数値を実数で表すと{0, 1, 0, -1}であり、HEXで表すと{0x0000, 0x7FFF、0x0000, 0x8000}となります。 この4つのデータをリング状にして、ADCがデータ出力する都度、順番に掛け算をさせる為に、リングメモリーが必要になります。 dsPIC33Fの中には、リングメモリーを2つ作る事ができますが、これは、ミキサーの前のBPFと、ミキサー後にUSBもしくはLSBを切り取るBPFで使いますので、ミキサーでは使えません。 そこで、このリングメモリはアセンブラで直接作っています。

1khz_mixing_2

1khz_mixing_wave

上のスペクトルは、1KHzの音声信号とサブキャリアをミキシングした時の、ものです。 本来はサブキャリのレベルはゼロにならなければなりませんが、ADCに直流成分が含まれており、これが為に、キャリア漏れの現象が生じているものです。 ADC入力に与える直流バイアスを調整する、多回転可変抵抗で、これをキャンセルするポイントを見つける事はできますが、かなりクリチカルです。 デジタル処理だから、調整箇所は無いと思っていましたが、これは誤算でした。 DSB信号から一方のサイドバンドだけを切り取るとき、サブキャリアは、問題ないレベルまで減少することを期待する事にします。

左上の波形は、上が、ADCの入力である1KHzです。下はサブキャリアで変調されたDSB信号です。

10khz_mixing

上のスペクトルは、ホワイトノイズを変調した時のDSB信号です。 ミキサーの前にある61TAPのBPF(ファイル名はLPFですが、実体はBPFです)の特性が、サブキャリアを中心に両サイドに広がっています。

ここまでのソフトは以下です。

SSB_generator_1.cをダウンロード

float_Tap2800LPF.hをダウンロード

FIRフィルターのDSPアセンブラの意味を以下に示します。

//FIR LPF処理
asm("mov _repeat3k_Num,W11"); //リピート回数をW11にセット
asm("mov _Tap_coef3k_adr,W10");//TAP係数格納の先頭番地をW10に格納
asm("mov W0,[W8++]");//W0のデータをW8が示すアドレスにコピーした後W8を+2する。

asm("clr A, [W8]+=2,W4,[W10]+=2,W5");//アキュムレーターAをクリアし、
          //W8が示すアドレスのデータをW4にコピー後、W8を+2する。
          //W10が示すアドレスのデータをW5にコピー後、W10を+2する。
asm("repeat W11");//次の行をW11の回数分繰り返す。
asm("mac W4 * W5, A, [W8]+=2, W4,[W10]+=2,W5");//W4とW5 を掛け算し、結果をアキュムレータ―Aに加算
           //W8が示すアドレスのデータをW4にコピー後、W8を+2する。
           //W10が示すアドレスのデータをW5にコピー後、W10を+2する。
asm("mac W4 * W5,A");//W4とW5 を掛け算し、結果をアキュムレータ―Aに加算
asm("sac A,W0");//アキュムレーターAのデータをまるめ処理してW0にコピー

asm("mov W0,W4");//W0のデータをW4にコピー

 

プログラム上は、このミキサーの後に、281 TAPのBPFを挿入し、新スプリアス対応可能なSSB信号を取り出します。 追加するBPFはPre BPFのTAP数とTAP係数が異なるだけで、そのプログラムの構成は同じですから、Pre BPFの部分をコピペして、必要な修正を行うだけで、楽勝と思っていましたが、落とし穴にはまり、一日棒に振った後、なんとか解決して出てきた出力のスペクトルは以下です。

10khlsbspectra1

約9.8KHzのキャリア周波数を持つ、LSB信号のみを取り出し成功です。 後は、Pre BPFとPost BPFの設定値を見直し、送信に耐える特性にした後、不動在庫の24MHzクリスタルを使い、クリスタルフィルターを作り、24MHzの中間周波数を作ります。

ここで、今回遭遇した落とし穴を紹介して置きます。  結論は、リングメモリーを制御するワーキングレジスタを指定した後は、そのレジスタを、他の用途に使ってはいけないという事でした。 今回、Xメモリー域とYメモリー域に、各1組、合計2組のリングメモリーを設定し、Xリングメモリーのコントロール用にW8を指定しました。 この時、Yメモリー域に配置した、TAP係数の読み出しの為にW10を使いました。 ここまでは良かったのですが、 Yメモリー域に配置したリングメモリーのコントロール用にW10を指定したら、Post BPFが動かなくなってしまいました。 結局、YリングメモリーのコントロールレジスタはW11とし、かつ、Xメモリーに配置したTAP係数の読み出しはW9を当てる事で解決しました。 (参考:W8,9はXメモリーのアドレス用、W10,11はYメモリーのアドレス用として設定されている)

今やろうとしている、この方法は、昔、リング変調器と455KHzのメカニカルフィルターでSSB信号を取り出していた時の構成を、最新のデジタル技術で出来るようにしたもので、この基本形は1999年くらいから提唱されていたようです。 「おじさん工房」が提案した、第4の方法のSSBジェネレーターの考え方も、これと同じですが、IFに変換した時のもう一方のイメージを、ラフなクリスタルフィルターでカットするというアイデアが振るっています。 そこで、次はこのクリスタルフィルターの検討になります。

LSB信号を取り出すまでのソフトは以下です。

SSB_generator_2.cをダウンロード

float_Tap-151_2800BPF.hをダウンロード

float_Tap8000BPF.hをダウンロード

このプログラムで、DSP処理にかかるFcYは463サイクルでした。 ただし、このインラインアセンブラの前後で、Cによる割り込み処理と、復帰処理がありますので、実際はこのサイクルより多くなっているはずです。 許容可能な最大サイクルは1024ですが、どのくらい余裕が有るかわ判りません。 従い、PREとPOSTのFIRフィルターのTAP数は合計で500くらいを目途に進める事にします。

 

中間周波数は25MHz付近とする事は決まっていますが、あいにく、25MHzのXtalが有りません。そこで、手持ちのXtalを使って、特性を取ってみる事にしました。

下は、特性測定用に用意したテスト回路図と、テスト治具です。

Xtal_filter_schema

Xtal_filter_testjig

そして、手動でSSGをスイープさせ、それをスペアナでMAX Holdした時のデータが以下の4枚です。 左上から順番に、16MHz, 20MHz,  24MHz  26MHzのデータとなります。

_re16mhz

_re20mhz

_re24mhz

_re26mhz

Act_re_24mhz

4つの周波数で一番適した特性は24MHzです。 そこで、このXtal Filterの特性に合致するように、第2局発(LO2)の周波数を決めたのが、左の画像です。

DSP内で作ったSSB信号のサブキャリアは9.766KHzでしたので、これを中心にして、LSB またはUSBの信号がフィルターの先頭のフラット部分にくるように配置すると、LO2の周波数は、24006.766KHzとなります。 そして、LO2により生じたイメージ信号は、グラフ右側の特性がディップした帯域にはまります。

この特性から、DSPは、LSB及びUSBを選択的に出力して、第1可変局発(LO1)とIFキャリア周波数23997KHzをMIXし、7MHz帯でLSBもしくはUSBのSSB信号を作り出す事ができます。

従い、DSPの機能は以下のブロックのような動作が実現できれば良いのですが、これが、トラブルの連続で、まだ実現出来ていません。 なんとか目途がついたら、紹介します。

Dsp_block

約1週間、格闘した結果、なんとか使えるSSBジェネレーターが出来ました。

PRE BPFもPOST BPFも251TAPとして、送信/受信の切り替え時、同じリングメモリーが使えるようにしました。 この状態で、USB信号を取り出した時のスペクトルは以下です。

Usbnoise251tapx2

Lsbout_tx

Usbout_tx

左上は、送信モードで1KHz変調のLSBを、右上は同じく1KHz変調のUSBを取り出した時のスペクトルです。

Lsbin_rx

Usbin_rx

左上は、サブキャリアに1KHzで変調されたLSBを復調した状態、右上は、同じくUSBを復調した状態です。

これまでで、一番、苦労したところは、送信/受信 および LSB/USBモードの切り替えでした。 切り替えSWを追加し、ソフトを弄り回しましたが、うまく動作しません。 結局、取った手段は、送信/受信とLSB/USBの初期設定をした上で、RESETをかけるという荒業で、なんとか使えるようになりました。 トランシーバーを構成するには、Si5351AのDDSを制御したり、周波数を表示したりするために、dsPICとは別に、メインのマイコンが必要です。 このメインマイコンからdsPICにRESETをかける事にします。  私の技量では、動作中のモード切替は不可と悟るまで1週間かかったというのが実態です。

モード切替以外にAGC電圧の取り出しを仕込みました。 出力されるDC信号は、高入力のとき、3Vが出力され、信号が次第に小さくなると、ゼロVに近づくというもので、DUALゲートのFETを使ったAGCアンプの制御電圧とは逆になります。 この電圧を利用して、Sメーター表示やAGC電圧を作るには、dsPIC側では荷が重すぎますので、これをPWMにてDA変換し、システムコントローラー側に送り、システムコントローラーは再度これをAD変換するという面倒な事を行いますが、Sメーターの振れ具合や、AGCのかかり具合を細かく調整するには、必要な処理になります。

また、システムコントローラーとなるPIC16F1938には、PWMの極性を反転する機能がありますので、処理が簡単です。ただし、以下の回路図にはまだ反映されていません。

以上の回路図 SSB_generator_3.pdfをダウンロード

ここまでのソフトです。

SSB_generator_3.cをダウンロード

float_Tap10kUSB_BPF.hをダウンロード

float_Tap10kLSB_BPF.hをダウンロード

float_Tap2800BPF.hをダウンロード

 

SSBジェネレーターが完成したので、今回のSSBトランシーバーの全体構想を練ってみました。 24MHzのクリスタルフィルターとその前後のミキサーはSDR-3を真似て、双方向回路にしてあります。 今後これをベースに少しづつ、開発を進めていく事にします。

Ssb_trx_dspic_1

 dsPICでSSBトランシーバー(制作開始)へ続く

INDEXに戻る

2020年6月 9日 (火)

ホワイトノイズ発生器

dsPICを使ったSSBジェネレーターを開発中ですが、そのなかで、デジタルフィルターも作成します。 このフィルターが完成した時の特性が、当初の狙い通りに出来ているか、確認を必要とします。 それに使えるホワイトノイズ発生器の制作です。

Whtnoise_generator 

ノイズ発生源はトランジスタのベース、エミッタ間に逆電圧をかけ、BE間がブレークダウンした時に発生する広帯域ノイズをICで40dBくらい増幅します。

Ng_pcb

上がその回路図で、左が、それを実際に組み立てた状態です。

48mm x 30mmくらいの基板に組みました。 一応100KHzくらいまではフラットであるように期待して、完成した後、勤務先のスペアナを借りて、休み時間に測定してみました。

左下が10Hzより2KHzまでをピークホールドでスキャンしたデータです。

右下は、同じくピークホールドで10Hzから100KHzまでスキャンしたデータです。 2KHz以上は、ほとんどフラットで、1KHzで-6dBくらいのレベルダウンがあります。 2KHz以下の周波数で下降しているのは、スペアナの入力の周波数特性が影響しているもので、下の方にある、低周波領域でのスペクトルは、60Hzくらいまで、ほぼフラットです。

Ng_pk2khz

Ng_pk100khz

このホワイトノイズを15TAP 3KHzのLPFを通し、Wave Spectraで表示させた時のPC画像が以下です。

3khz_lpf

Noise_off

上が、ノイズをONしたとき、下がノイズOFFのときです。 一応、3KHz付近を境に高域がカットされた傾きを示しています。 Wave Spectraにピークホールド機能があれば、きれいに見えるのでしょうが、高級スペアナのようにはいきませんね。

このホワイトノイズ発生器を実際に使っている例はこちらにあります。

しばらく重宝しておりましたが、PC上で動くWave Generatorの中にホワイトノイズとピンクノイズの発生手段があり、かつSSBの2-tone信号も出せる事から、この基板はジャンク箱行きとなりました。

INDEXに戻る

2020年6月 6日 (土)

dsPICでSSBトランシーバー(SSBジェネレーター)

カテゴリ<SDR> [DSP 自作 7MHz ]

HDSDRというフリーのSDRソフトを使った、SSBトランシーバーは完成しましたが、いざ完成すると、それはそれで、色々と不満も出てきます。  HDSDRの+/-48KHzのバンドスコープは、ワッチする場合、大変便利ですが、交信するにははなはだ、不便でなりませんでした。 とにかく了解度が悪く、交信相手に、こちらの信号は59で届いているのに、相手の信号は29から39でしかありません。 この同じ信号をTS-930で受信すると、59です。 この原因は、広帯域の受信バンドの為、S/Nが悪化していること、強レベルの隣接局によるAGCの為、ノイズフロアが常に上下している事などが考えられます。 HDSDRの機能の中に、ノイズリダクションやノイズブランカ―、オーディオ帯の周波数可変可能なBPFやノッチフィルターなど、了解度を改善する機能が満載されている理由が判るような気がします。 そして、これらの機能を駆使しても、通常の会話は了解出来ても、コールサインの確認に手間取る状態でした。

これを改善するには、多くのメーカー製トランシーバーが採用しているように、バンドスコープ用IFと復調用IFを完全に分離するしかないようです。 一方、バンドスコープ用IFと復調用IFを共用しながら、バンドスコーブの幅を必要最小限に狭めたSDRトランシーバー SDR-3 が、「おじさん工房」から商品化されております。 多分ここまで、狭めたら、受信能力の悪化は小さいと予想されますので、今度はこれを手本として、どこまで自作できるかトライする事にします。

Fir31tapgraf

このプロジェクトを開始するに当たり、そのノウハウをパクってきた元はJA1QVM OMのブログです。 これから、SDRの勉強をしようとインターネットを検索していましたら、探していた情報がそのまま出ていました。 OM Very TKS.

左のグラフは、OMの記事を真似て作った、31TAPのFIR LPFの実測データです。 ここまでできると、SSBジェネレーターに必要な300-500TAPのフィルターは簡単にできてしまうと考えましたが、300や500のTAP係数をどうやって入力するのかが最大の課題となりました。  また、メモリーの配置はリンカー任せにしないと、トラブルの連続でしたので、そこも解決しなければなりません。

Ssb_genarator_0_2

まずは、OMに習って、ハードの回路図からです。

 dsPICはdsPIC33Fj64GP802です。 これを始めた2020年6月の時点では、dsPIC33CHがメインとなっている状況ですが、この最新のdsPICに対する情報は少なく、ひと昔前の33Fで勉強し、最終的には33CHに乗せ換えるという魂胆です。 

後日、dsPIC33CHも使いましたが、SSBジェネレーター用としては使いにくく、このdsPIC33FJが最適なようです。

この回路図もOMのプログからのパクリですが、最初、VR1を固定抵抗で済ませていたところ、いざADCが動き出すと、片側からサチってしまうので、オリジナル通り、半固定抵抗に変えました。 しかし、後日、ミキサーを実装したところ、この半固定抵抗の合わせ次第で、サブキャリア漏れが大幅に悪化する事が判りました。 結局、この半固定抵抗は多回転タイプに変更し、かなりクリチカルな調整が必要なようです。  また、DACはL/R出力となっていますが、R-chはまだ配線されておりません。

dsPICでSDRを構築する、あるいは、その要素技術を公開するインターネットサイトは、沢山ある訳では無く、限られた情報を基に、自分で考えないとダメみたいです。 そして、その数少ないサイトのなかから、XC16によるプログラム例を探して、それを、今回の目的に合うようにアレンジしていくわけですが、コンパイルすると、エラーになったり、ものすごい数のワーニングが出たりします。 そこで、今まで読んだ事が無かった、XC16コンパイラのマニュアルを一通り読んでみました。 その中で、興味が沸いたのは、CCI という構文です。 これから、何年か、プログラムのコピペに耐えられようにしようとすると、従来の構文では、不都合が生じる可能性があり、後日、困るのは本人ですから、このSSBジェネレーターは、CCI 構文で進行する事にしました。 以前のXC16の構文を理解していない事が幸いし、以外と楽に乗り換えが出来ました。

まずは、CCI 準拠ですが、XC16-GCCの Option categorise:の中にあるPreprocessing and messagesを開き、その中にある、Use CCI syntaxにチェックマークを入れます。

Xc16_cci

次に、XC16(Global Options)を開き、Additonal options:の枠に -menable-fixed の文字を追加し、最後に下の方にある [Apply]を押します。 これはCCI とは関係ありませんが、 固定小数点形式の数値を使う為の処置です。  後日判明した事ですが、XC16(Global Options)ではなく、XC16-gccのOptionに記述するのが正しいようです。ただし、記事の中でも出てきますが、結局、固定小数点は使いませんでした。

Xc16_add_option

今回、構想するSSBトランシーバーの原型は、「おじさん工房」のSDR-3にあることに触れましたが、使おうとしているdsPICは、SDR-3を構成するハードやソフトにはとても及びませんので、せめて、SDR-3の構成は維持したまま、基本部分を慣れ親しんだPICで実現しようともくろみます。 従い、SSBの発生も「おじさん工房」が提案した第4の方法とします。 

まず、ADCやDACのサンプリングレートですが、ADCとDACのレートを一緒にし、余計な処理が生じないようにしようとすると、サンプリング周波数は、限られた周波数しか使用できません。

ADCのサンプリングレートはFcy=40MHzを80くらいから65535までの任意の整数で割った周波数に設定できます。 一方DACのクロックレートはfvco=160MHzから、1,2,4,8,16,32,64,128,256の8種類の数字のどれかで割り算した周波数(ACLK)をさらに256で割った周波数になります。 この条件から、DSP内部で作るミキサーのサブキャリア周波数を8KHz以上にしようとすると、ADCのクロックレートは40MHz/1024の39.0625KHzしか有りません。 これより低い周波数は、この1/2の19KHz台となり、ミキシングして得られたUSB信号がナイキスト周波数以上になってしまいます。 この39KHz台の場合、dspの処理時間は1024サイクル以下でなければならず、十分な特性のフィルターを作れない可能性がありますが、その限界が見えたら、さっさと、33CHに乗り換える事にします。

一方、DACも同じく39.0625KHzにするには、DACのクロック(ACLK)は39.0625 x 256=10MHzであれば良いので、Fvco(160MHz)を1/16に設定すれば良い事が判ります。

従い、Xtal OSCの周波数は、不動在庫している24MHzとして、これからPLL周波数の160MHzを作る事にしました。

SSB_generator_0.cをダウンロード

float_Tap.hをダウンロード

このCファイルは、後述のクロック条件の下で、ADCから入力された信号をFIRフィルター処理して、DACから出力するまでのプログラムです。 Hファイルは、TAP係数を羅列したファイルです。

実装されているTAP係数は15TAPのFIR LPF用ですが、この実装方法は後程、詳しく説明いたします。

dsPICはそのクロック周波数を高くする必要から、PLLを使いますが、この設定です。

Xtal=24MHzを1/3に分周し、8MHzにします。  この時の分周比 3がデータシートに出てくるN1となります。 そして、PLLPREの設定値は3-2=1です。

また8MHzを20倍して160MHzのPLL VCO周波数をつくりますが、20がデータシートのMとなります。 そして、PLLDIVの設定値は20-2=18です。

160MHzを2分周して80MHzのfoscを作りますが、このときの分周比 2がN2となります。 そして、PLLPOSTの設定値は2-2=0です。

foscが80MHzとなると、PIC内のシステムクロックはその1/2の40MHzとなり、これで、このdsPICは最高速度で動作する事になります。

DACのACLKはfvcoを1/16しますので、APSTSCLRの設定値は 3 になります。

dsp部分で積和演算を行うために、リングメモリが必要となりますが、その設定をX_MODset()という関数で作っています。 ここは、理屈抜きで、このように記述すればOKですが、ここで、TAP数により設定値を変える必要があります。 リングメモリーの先頭番地は、リンカーで決められますので、それをベースに計算する事にしています。従い、プログラム上からは、判りません。

initmain()のなかで、各種初期設定をおこないますが、各設定の順序は、試行錯誤した結果です。 コメントのみ変更して再コンパイルしたら、動かないとか、訳の分からないトラブルを軽減(完全になくすではありません)出来ました。 また、CAST変換がうまくいかずに、時々動かないという問題を少なくするために、デイレーを何か所かに入れてあります。 うまく動かないときは、このディレーを長くしたり、場所を変えたり、時にはPICkit3を外してみたりして、現在の状態に落ち着いています。

後日判明した事ですが、プログラムが動かなかったり、単純な再コンパイルで動作不調になる原因の一つが、リングメモリーの制御用に指定したワーキングレジスタをリンカーが勝手に他の用途に使ってしまう事にあるようです。 リングメモリーを使う時は、リンカーが勝手にワーキングレジスタを使わないようにユーザーが設定しなければならないとコンパイラの説明書に書いてありました。 具体的な方法はこちらを参照して下さい。dsPIC33CHの記事ですがdsPIC33FJも同じです。

Timer3からの割り込みの中に、DSP処理が全部はいりますが、今回は、FIR LPFを動作させるだけのプログラムがインラインアセンブラで記述されています。 ここまでは、JA1QVM OMの記事の通りです。 ただ、絶対アドレスをリンカー任せにしていますので、その記述が異なります。

XC16内で定義した変数は、その先頭にアンダバーをつけると(XC16で定義した変数がabcの場合、_abcとする)、アセンブラでも同じ変数として認識してくれますので、この手法で、XC16で得た各変数の絶対アドレスをアセンブラの中に埋め込んで、絶対アドレスの問題は解決しました。

main()処理は、main()が回っているインジケーターとしてLEDの点滅だけです。 このLEDの点滅を割り込み処理の中にいれ、DSPの速度測定をしようとすると、ADCが動かなったり、ソフトが止まったりしますので、DSPの処理時間を調べる別の方法を考えねばなりません。

次に、このプログラムにFIR係数を実装する方法を説明します。

FIRフィルターの係数計算は、色々な方法がありますが、私はここで計算した値を使っています。

2023年12月以降、edgeのバージョンによってはリンクがつながらない事があるようです。 同じでは有りませんが、緊急避難としてフィルター係数の計算を公開しているサイトが有りましたので、そこからダウンロードしたアプリの使い方を説明した記事をこちらに置いています。 使い方はこのページで紹介しているものと異なりますのでご注意下さい。

Fir_tap_make0_2

TAP数や、遮断周波数の係数を入力して、出てきた数値の後ろに[,]がつくようにチェックマークを入れておきます。 

まず、必要とする遮断周波数を正規化値として入れる必要があります。この正規化値は次のようにして求めます。

求めたい遮断周波数 / ADCのサンプリング周波数

求めたい遮断周波数が3000Hz、サンプリング周波数(ADCのクロック周波数)が39.0625KHzの場合、正規化値は3/39.0625=0.0768となります。 この係数の最大値は0.5です。

Fir_tap_make1 

これで計算した結果が上のPC画面ショットのごとく、左側に縦に羅列されますので、これをすべてコピーします。 そして、float_Tap.hというファイルの中にペーストしておきます。 また、最初の行に、TAP数(Tap_Num)を記入して置きます。

 

このようにすることで、後程、TAP数や遮断周波数を変えたTAP係数の作成が簡単に行えます。

ここに示した、プログラムファイルは、ADCのデータをとりあえず3KHzのLPFを通しただけのものです。 このプログラムを作成する上で、一番トラブったのは、CASTでした。  TAP係数はdouble形式で提供されますので、XC16の中の変数に代入するとき、floatに変換し、これを固定小数点形式に変換する必要があります。  XC16 で固定小数点は _Fract と明示する事になっていますが、いくらやってもうまくいきません。 結局、float形式を16bitのsigned intに変換する事で、DACの出力が出るようになりました。 後日、判った事ですが、極性付き整数は、極性付き固定小数点の一形式と同じで、かつこの逆も言えるという事でした。

今後、これにサブキャリアによるミキサーと、USBのみ取り出すBPFを仕込み、約10KHzのサブキャリアで変調したUSBジェネレーターを完成させることにしますが、どうやって実装するかは、全く白紙状態です。 いつになることやら!

下のスペクトルは1KHz信号を加え、DACの出力をWave Spectraで表示させたものです。

Spectra_with_15tap_lpf

dsPICでSSBトランシーバー(SSBミキサー)へ続く。

INDEXに戻る

2020年5月24日 (日)

mplab x pickit3 connection failed

<カテゴリー:PICマイコン

Pickit3_error

Windows10のPCにMPLAB X V4.20をインストールして、快適にソフト開発を行っていましたが、先日、すでに完成したソフトの中に、バグがみつかり、これを修復し、再コンパイルしようとしたら、左のショットのように、PICkit3に接続しようとした時、

connection failed

になってしまいます。 

MPLBA X そのものは、左側の Debug Toolの部分にPICkit3とそのシリアルナンバーを認識しており、頭 を抱えていました。Usb_hub_2

  インターネットで調べたら、MPLBA IPE というツールでファームウェアを更新するとか、レジストリを書き換えるとかありますが、レジストリには手を出せませんので、それ以外の方法をああでもない、こうでもないと丸一日つぶした結果、原因はUSBハブでした。 過去もUSBハブを使用していて、問題はなかったのですが、今回使ったELECOMのハブは初めてでした。

PCのUSBポートに直接PICkit3を接続すると、異常は起こりません。 

このハブはCANONのプリンターでは問題ないものの、その後、CANONのデジカメによる画像読みこみでも異常が発見され、使用を中止しました。 USBハブが無いと不便ですので、買い替える事になりました。

NGのハブ ELECOM U3H-A416B

OKのハブ BUFFALO BSH4UR0U3

  

2023年9月

その後、FTDX101Dを導入した時、FT8の受信の為にUSB接続をする必要があり、このELECOMのUSBハブを使ってみました。 単純なRS232Cベースの通信では問題なさそうです。

 

INDEXに戻る

2020年4月29日 (水)

2mスカイドアアンテナとMTU

2mのロールコールで、1局だけ、了解度がR1か2の局が最近発生し、当然、当局の電波もR1か2くらいでしか届かなくなりました。 原因は、この局との間に高層マンションが新築され、ただでさえも見通し距離外なのに、今までかろうじて、乱反射を繰り返し、届いて電波が届かなくなってしまったものです。

そこで、アンテナの位置を以前あった場所へ移す事にしました。 以前の場所は同じ局がヌルポイントで交信しにくかった場所ですが、そのヌルポイント発生の原因だった、HF用のスカイドアは撤去されていますので、大丈夫だろうと思われます。 今回8m動かすついでに、もう少しゲインのあるアンテナにして、電波通路が改善するか、実験を行う事にしました。

アンテナのゲインを最大限追及し、構造が簡単なアンテナを探したところ、スカイドアアンテナに行きつきました。スカイドアアンテナは水平偏波が主流です。 2mの伝搬は垂直が主流で、水平偏波のアンテナは好まれません。 しかし、当地、東広島市西条で、直接波で交信できる局は限られており、ほとんどの局との交信が、なんらかの反射体(ビルや山)による跳ね返った電波で交信できている現状です。 一度なんらかの原因で反射した電波は、垂直偏波か水平偏波か不確定です。 それなら、水平偏波ですが、ゲインが一番取りやすいスカイドアアンテナにすることにしたものです。

Mmana_2m_skaydoor 

上が、MMANAでシュミレーションしたアンテナの特性です。 水平偏波ですが、ゲインはMax.11.08dBiあります。 ダイポールのゲイン6.4dBiに比べて、+4.68dBもあります。

2m_skydoor

2m_skydoorphoto

MMANAで得られたデータ通りのアンテナ構造は左上のイラストのようになり、これを実際に組み立てた状態が、右上の写真です。 スカイドアアンテナの最上部のエレメントは、直径6mmのアルミパイプを使いました。垂直に降りる線は直径2mmのアルミ線です。 給電部は、間隔3cmの自作並行フィーダーで、指定の長さの先に、今回新たに作ったMTU(マニュアルチューニングユニット)をつなぎます。

最近アンテナチューナーを自作する場合、一番困るのが、バリコンの入手です。 新品は数千円以上しますし、国産では、ついに入手不可になってしまいました。 どうしてもというときはヤフオク当たりで探す事になりますが、成功するか失敗するか判らないMTUの実験に購入するには、高価すぎます。 そこで目を付けたのが、秋月でも販売している村田SSのセラミックトリーマーです。耐圧は100V位しかなく、大電力は扱えませんが、MTUのトリーマーにかかる電圧を低く抑え、50W出力でも、実力で使えるMTUに挑戦する事にしました。

ARRLのアンテナハンドブックの中に、TLWというアンテナチューナーのシュミレーターソフトがあります。 このソフトを使えば、バリコンにかかる電圧を瞬時に教えてくれますので、これでシュミレーションしてみました。 すると、アンテナのインピーダンスが50Ωの純抵抗ではないけど、リアクタンス成分が20Ω以下の場合、バリコンに加わる電圧はかなり小さくなる事がわかります。

ARRLのTLWというソフトは、Amazonで扱っているARRL Antenna Handbookを購入すると、付録のCDの中に収録されているそうです。

今回、設定したスカイドアの寸法は、この条件を加味して決め、得られたアンテナのインピーダンスは、20+j0.5くらいの形状とし、このデータでバリコンにかかる電圧を計算してみました。

2m_skydoormtu

送信機の出力を50WとしたときのコンデンサC1に加わるピーク電圧は141Vと出ました。 もうひとつのバリコンは88Vです。

村田SSのセラミックトリーマーの定格電圧は100Vですが、200Vくらいまでなら、実力で、耐えてくれます。 アンテナのインピーダンスは50+j0に合わせる事が、基本ではありますが、それでは、最大ゲインを得ることはできませんので、最大ゲインを得られる、リアクタンスゼロのアンテナ構造を採用し、50Ωでないインピーダンスを50Ωに整合させるロスの少ないアンテナチューナー(MTU)を低電圧用の安いトリーマーで作る事が可能になります。 例え、アンテナチューナーのロスの為、50+j0のアンテナのゲインより低くなったとしても、気分的にはhappyです。

2m_mtu

2m_skydoor_swr

左上が、実際に制作した、村田SSの60PFセラミックトリーマーを使ったアンテナチューナーで、3cm幅の並行フィーダーの終端に取り付けてあります。 そして、そのMTUを調整した結果が、右上のSWRカーブです。 帯域は、広くはありませんが、144から146MHzまで使用可能です。 実際に50W FMで送信してみましたが、SWRの変化は有りませんでした。

2m_lpf_mtu

しかしながら、せっかくゲインを上げたのに、MTUで19.6Wもロスるようでは、面白くありません。 そこで、MTUの型式をハイパスT型より、ローパスパイ型に変更してみる事にしました。

左のTLW計算結果はローパスパイ型でシュミレーションした、MTUのデータです。 50Wの入力に対して、MTUの出力は49.5Wあります。 ロスしたのは、たった0.5Wです。 しかも、問題になるトリマーに加わる電圧は2個とも100V以下です。

2m_mtu_pi

2m_mtu_pswri

左が、パイ型MTUに作り替えて、かつペットボトルを逆さまにして、下からMTUを押し込んだ防水タイプのアンテナチューナーです。 そして、右上が、トリマーとコイルを調整したSWR特性です。 トリマーやコイルの調整はペットボトルの側面に縦に入れた切込みから調整ドライバーをねじ込み行いました。 切込みはふさいでいませんが、たぶん雨水は入らないと思います。 入っても、ペットボトルの内側の側面を伝って、下におちますので、無害でしょう。

このMTUの下から20mの8D2Vで、リグに繋いでいます。リグ側でみたSWRは144から146MHzまで。SWR1.3以下で145MHz付近では1.0を示します。

このアンテナの成果は。次のロールコールで確認する事にします。

ロールコール当日、いざ送信しようとすると、SWRが5以上で、リグに送信プロテクトがかかります。 当然相手への信号も弱く、交信どころではありませんでした。 外は、どうしゃぶりとは言えませんが、1日中雨です。

次の日、晴れ間がでましたので、アンテナを引き倒し、アンテナアナライザーをつないだ状態で、平行フィーダーに霧吹きで水滴を吹きかけてみました。 吹きかける前は、SWR1.1でしたが、濡らす位置により、増加のレベルは異なりますが、SWR3以上になります。 2mで平行フィーダーを使ったのは、初めてでしたが、使いものにならない事が判りました。 対策として、平行フィーダーなしのアンテナに変更する事にします。

2m_skydoor_nomtu

2m_skydoor_size

2mskdr_swr2

左が、寸法図です。この縦横比でほぼ50Ωになりますので、後は、リアクタンス部分を同軸の接続位置を調整して、145MHzが最小SWRになるようにします。 この寸法で142MHzくらいから148MHzくらいまで最小周波数を移動できます。

右上のSWRカーブはシャック内で測定したSWRです。 アンテナの調整をしてから、高く上げると、共振周波数が高い方へずれますので、少し、低めに調整したのですが、高く上げた結果、あまり周波数が上がらず、144MHz当たりで、最小SWRとなってしまいました。 ただ、見ての通り、かなり広帯域ですから、そのままです。 これで雨が降っても、SWRが大幅に大きくならないことを期待したいと思います。

2m_skydoor_mating

左は、同軸取り付け部分の拡大です。 スタブのワイヤーもアルミ線ですので、同軸を半田付けできません。

そこで、アルミ線を下方向に折り曲げた直後の部分に、アルミの圧着スリーブを入れ、このスリーブでアルミ線と銅線を一緒にカシメます。 その銅線をアルミ線に軽く巻き付けながら、下へ降ろしていき、その銅線に同軸ケーブルを半田付けします。銅線の終端は、アルミ線と一緒にビニールテープで縛っておきます。

半田付けした同軸ケーブルは写真のように、一度上へ持ち上げ、同軸の切口から雨水が入らないように処理して、ポールに縛っておきます。 使用したポールは5.6m長のクラスファイバー釣り竿ですが、上部の2段は有りません。 よって3.8mくらいの全長となっています。

同軸ケーブルは、黒色ですが、RG58/Uという53Ωのきれっぱしがありましたので、これを流用しました。

このアンテナを新設した理由が、すでに使っているJポールに生じた、ローカル局間に発生したヌルポイント現象でしたが、どういう訳か、Jポールの防水対策をしたら、それが解消されてしまい、このアンテナの使い道が無くなりました。 撤去するかどうかは、もうしばらく様子を見てから決めます。

2020年9月

自作の7MHzトランシーバーを使う為に、フルサイズツェップアンテナを張る事にしました。 そのアンテナを展開する時、このスカイドアが邪魔になりますので、撤去しました。 結局1局も交信する事なく撤去されることになってしまいました。

  

INDEXに戻る

2020年3月21日 (土)

DC48V リニア安定化電源の制作

 <カテゴリ 電源>

7MHz用、100Wリニアアンプの制作途中で、壊したFETは8個。 FET破壊の原因を突き止め、安定に動作するリニアアンプを完成させるには、電圧を自由に変えられるDC電源が、どうしても必要です。 そこで、このDC電源を試行錯誤しながら作る事にしました。

今回の目標仕様は、DC48V5Aの出力が確保できる電源で、出力100Wのリニアアンプに使えるものとします。 出力電圧は48V固定ではなく、5Vから48Vまで最大電流5Aを目標とします。

この電源を作る為に、半年くらい前に、AC400VをAC200Vにダウンする1KWクラスの絶縁型トランスをローカルのOMより、いただいていました。 このトランスを, 100VAC電源に接続すると、AC48Vくらいが出力されます。 これを、ブリッジダイオードで整流し、10mAくらいの負荷電流を流すと、67Vの直流電圧が得られます。 これを安定化電源回路で5Vから48Vまで可変できるようにします。 トランス容量は1KWですが、その時の2次側定格電流は、5Aです。 従い、100VのAC電源に接続した場合、2次側の電流はMax 5Aですから、250W相当のトランスとなります。

回路が簡単で、そこそこの特性が得られる安定化電源として、MOS-FETによる回路が候補にあがります。 MOS-FETによる安定化電源はAM送信機のサブ電源として試作した事がありましたが、この時は、AM送信機の内部に実装した為、7MHzのRF信号がレギュレーター回路に回り込み、送信した途端、煙を噴いて終わった経過があります。 今回は、送信機とは別の筐体であること。 RFフィルターを、これでもかと言うくらい挿入し、なんとか実用化しようと言うものです。

Dcpower0_2 上の回路が標準的なFETを利用した安定化電源になります。 最初D7とC12は有りませんでした。 その状態で、可変抵抗を回すと、4.8Vから66Vまで出力電圧を可変できます。 次にC12を追加しました。 C12は負荷回路に対して電源側の低周波インピーダンスを小さくすることが目的で、SSBのように音声信号の強弱により負荷電流が変化する場合、電源として必要条件になります。 そして、このC12を実装した状態で電源ONすると、一応安定化された電圧が出力されます。 次に、この電圧を可変すべく、出力電圧を小さくした途端、パチと音がして、FETから煙がでます。 そして、出力は67Vに。

FETがDSショートで壊れ、ついでにD4もショートモードで壊れてしまいました。 原因は、急激に出力電圧を下げようと可変抵抗を回した結果、Q1のコレクタ電圧は下がったものの、Q2のソース電圧は、C12の残留電荷により、電圧はほとんど落ちず、VGSmax -20Vを超えてしまい、Q2の破壊に至ります。 また、出力電圧と入力電圧差が20Vを超えた状態から、出力電圧を急に上げると、FETのVGS最大電圧を一瞬超えますので、FETが破壊します。 一方D4は電圧を最小にする為に、VRを回すと、出力電圧がシリーズ抵抗なしでQ1のベースに加わり、この時の過大電流により壊れてしまいます。 Q1が小信号用なら、Q1も同時に壊れる事になります。

インターネットで保護対策を検索すると、FETのVGS対策として、D7を追加する事が判りました。 D4の対策は、出力電圧を最小にした場合でも、Q1のベースにシリーズに電流制限抵抗を入れる事と、C12が早く放電するように、放電抵抗R7を可能な限り小さくする事のようです。 

以上の対策を実施した回路が下になります。書き換えた為、REF No.が異なります。

Dcpower1 FETは秋月で2石で300円というPd 100W品を、D7は3.3V 0.5W品を使います。 D7の許容電流は150mAくらいですので、問題ないと思います。 D5,D6に1WクラスのZDを使おうとしましたが、FETのゲート、ソース間に保護ダイオードを内蔵している事が判りましたので、このダイオードは不要になります。 また、C12の放電抵抗は、500Ω 25W品にします。48V時、常時96mA流れますが、放電は早くなるはずです。

レギュレーター出力部に、10Aコモンモードタイプのラインフィルターを、また、レギュレーターの入力部にも、6Aクラスのコモンモードフィルターを入れます。

これらの部品を秋月やモノタロウへ発注しましたので、届き次第組み立てる事にします。

Avr48_0

部品が届きましたので、左の写真のごとく、旧50MHz AM送信機のシャーシへ組み込みました。 検討の途中なので、あっちこっちで空中配線がありますが、問題点がすべて解決した暁には、きれいに配線し直します。

まず、FETが発振しました。 セオリー通りFETソースからQ1のベースに1000PFを追加してあったのですが、効果なしでした。 そこで、FETのソースから、ゲートの1KΩのコモン部分に最短経路で103Zを追加したら、発振は収まりました。 しかし、まだ、出力の電圧計がフラフラと揺れます。 オシロでチェックすると、左下のようなノイズが出力端子へ出ます。このノイズは負荷が軽くても、重くても関係なしに出ます。

Avr_noise0

Avr_noise1

対策として、Q1のベースとGND間に33uFの電解コンデンサを追加してみました。 するとギザギザのノイズはなくなりましたが、大きなリップルが乗ります。 そこで、このコンデンサを次第に小さくしていくと、0.1uFの容量のとき、リップルもギザギザノイズも目立たなくなりました。 しかし、時間をおいて、しばらくエージングすると、また、再発します。 追加したコンデンサの為、高い周波数の成分は少なくなりましたが、レベルは時々2倍以上になります。 困り果て、部品をかたっぱしから交換していき、やっと判った原因は電圧調整用の可変抵抗器の接触不良でした。 オーディオの世界で言う、ガリオームの事で、これがノイズ発生源でした。 対策は、新品の巻線型可変抵抗器に交換して、完了です。 ただ、この検討の段階で、Q1の2SD1408を壊してしまい、VCEOの高い石で不動在庫になっていましたSTマイクロのMJD31Cに交換してあります。 右上がその対策後の波形です。 検討の途中で追加したC13は本来不要になったのですが、他に弊害がないので、追加したままにしてあります。

 

Avr_overview

とりあえず、実用可能な状態となりました。 実際に使っていくと、また、新たな問題が発生するかもしれませんが、その時は、その時、対策を考える事にします。 左は、完成状態の安定化電源です。 ケースが有りませんので、RFの回り込みが心配ですが、必要によりカバーを考える事にします。

この安定化電源は、4.6Vから50Vまで可変できますが、最大電流は5Aとし、保護はヒューズのみです。 

問題点を対策した配線図 DC_POWER_SUPPLY2.pdfをダウンロード

ファンは5V品なので、別にトランスを追加し、DC6Vを作り、抵抗で4Vまでダウンしてドライブしています。

Avr_3a49v

左は、49Vにて、3A負荷を接続した時のテスト風景です。 ノイズもなく、安定して動作しています。

心配したファンの騒音もなんとか無視できる状態で、一安心です。

これで、リニアアンプの検討へ復帰できます。

 

 

リニアアンプ検討に復帰したのですが、また、この記事に戻ってきました。 一応予想はしていたのですが、出力2.5Wの7MHzの信号がFET回路に回り込み、あっけなく、壊れてしまいました。 電源だけでなく、リニアアンプのファイナルFETも壊してしまい、がっくりです。

やはり、FET式の安定化電源は、送信機と一緒に使う事は無理でした。 その送信機の中に、48Vから12Vを作る安定化電源をトランジスターで作ってありますが、こちらは、なんら問題は有りません。 従い、この電源もトランジスターで作り直すことにしました。

手元に使えそうな石として、2SC5198 1石しかなく、本来は2石パラで作らないとコレクタ損失の許容値オーバーになりますが、追加手配できるまでは、1石で行く事にします。

トランジスターによる安定化電源 PWR-AMP100W_3.pdfをダウンロード

2SC5198のhfeはIc 5A のとき、最小35しかなく、ベース電流は最大で142mAは必要になりますので、ダーリントン接続のドライブTRも電力用の2SD2012としました。 ただ、このTRのVCEOは最大で60Vであり、出力を5Vまで絞ると、最大値を超えてしまいますので、代わりのTRを手配して置きます。

一応、48Vで3Aのテストは合格しましたので、とりあえず、この状態で、リニアアンプの検討を始めましたが、出力が3Wになった時、ダーリントン接続のトランジスターを含めてショートモードで壊れてしまいました。 どうも、回路が発振したような形跡がありました。 結局、また一からやり直しです。

電源の修理は、原因を究明してから、後でやる事にし、壊れたリニアアンプの終段のFETを交換して、再度、リニアアンプの検討へ復帰します。

  

電源に使うトランジスターを全部壊し、仕方なく、従来の電源でリニアアンプの検討を行い、電源電圧18Vで安定動作が得られましたので、やめとけば良いのに、また30Vの電源に接続した為、アンプのFETを壊してしまいました。 結局、また、電圧を自由に変えられる電源が必要ということを悟りましたので、三度(みたび)、電源の改善検討です。

前回のトランジスターによる電源が壊れた原因を突き止めた訳ではありませんが、トランジスターでもRFが混入してTRがショートモードで壊れるということは、よっぽど、RFを拾いやすい回路になっているようです。 一番、拾いやすいのは、安定化電源の制御回路と、制御用TRの距離が遠いという事かもしれません。制御用TRと制御回路を結んでいるワイヤーの長さは、おおかた20cmはあります。 多分、これが一番の問題だろうと判断し、回路のレイアウトを大幅に変えます。 ただ、100WクラスのTRは全部壊れてしまいましたので、手元に残っている100WクラスのMOS-FETで再制作する事にしました。

下の写真が、基板の位置を大幅に変更した全体の部品配置です。

Fet_powersupply2all

配置を大幅変更した以外に取った改善策は、制御回路の入出力に70uHのチョークコイルを追加した事。 および、放熱板に固定された2石のFETのドレイン、ソースから、放熱板に0.01uFのコンデンサでいきなりGNDへ落した事です。 放熱板そのものは、GNDにビス止めされていますので、GNDとして動作しますので、そこへ最短でパスさせる事にしました。

Fet_powersupply2

上の写真は、制御回路と制御FETのアップですが、FETとの接続は最短で行いました。

動作テストは済みましたので、後は、実際にリニアアンプに繋いでみるだけとなりました。

修正した配線図 DC_POWER_SUPPLY3.pdfをダウンロード

そして、リニアアンプへつなぎ、18Vの電圧で、パワーを上げてみました。 残念ながら、5Wの出力になった時、煙が出て、電源電圧は65Vに。 電源のFETはショート状態で壊れ、ついでにリニアアンプのFETもショートモードが壊れてしまいました。

今回の壊れ方は、入力を上げた訳ではなく、1Wの出力が、数秒間の間に勝手に5Wまで上昇したもので、明らかに、リニアアンプの熱暴走です。 今まで、電源が壊れるのは、電源回路にRFが回り込み、異常状態となり、電源が壊れて、次にアンプが壊れると考えていましたが、どうも、この順序は逆で、アンプが熱暴走した場合、電源は際限なく電流を供給しようと動作した結果、両方が壊れるのではないかと、考える事にしました。 なぜなら、送信機に内蔵した12Vの安定化電源は、熱暴走しない負荷であり、かつ、なんらかの原因で負荷電流が増えても、レギュレーターの内部抵抗の為、いくらかは不明にしろ電流制限がかかります。 壊れた電源は、その帰還ループを使い、負荷が0Ωになっても出力電圧を維持しようと動作しますので、最後は壊れるしかないという事です。

そこで、電流検出を行い、設定された電流を超えそうになったら、出力電圧を下げる、保護回路を追加する事にしました。 使用する電流センサーは秋月で扱っている、NECトーキンのTHS63Fにします。 その上で、シリーズレギュレーターはダーリントン接続の2SD2390 2石にします。

この電流センサーTHS63Fを入手し、予備検討したところ、データシートにあるアナログ出力が全く変化しません。アナログ出力端子(4番ピン)に10KΩを付けようが、openにしようが、センサー部分に電流を流そうが、ゼロにしようが、アナログ出力は1.98V一定でピクッともしません。 データシートには、センサーの電流に比例した電圧が出力されるとありますが、アナログ端子の事ではないのか?

ただ、OUT1はセンサーが感知する電流になると、HからLに変わります。 やむなく、このOUT1の電圧を使い、全体の電流制限回路をデザインする事にしました。

電流制限回路付きの安定化電源 DC_POWER_SUPPLY4.pdfをダウンロード

そして、このセンサーICとファンを動作させる5Vの電源を、シリーズレギュレーターで作り、今まで有った、5V電源用のトランスは廃止しました。

Tr_powersupply4a

Tr_powersupply4b

左上が、あたらしく基板を作り直したシャーシ全体、右上が、電流センサーを実装した基板です。

この回路で、制限する電流値は12接点のロータリーSWで行います。このロータリーSWでセンサー部分に直列に接続した抵抗値を可変する事により、連続ではありませんが、0.5Aくらいから5.5Aくらいまで可変できます。

リニアアンプを接続した時の、最大電流は8Aくらいが予測されますが、その時は、R1,10の0.1Ω2本パラを3本パラにすれば最大で8Aくらいを確保できます。

ただし、この電流値は、私が今回使ったTHS63Fの固有の特性であり、このハイブリッドICのロットのバラツキによっては、この制限電流値が±50%くらいはバラツクものと思われます。

この電源で、再度リニアアンプを検討する事にします。

リニアアンプへつないでみました。  20Vの電圧で、出力10Wくらいで、またも電源が壊れました。 シリーズトランジスターが全端子ショート状態で壊れてましたので、当然リニアアンプも壊れてしまいました。 電流制限は5Aに設定してあったのですが、間に合わなかったようです。

 

2020年4月末

ゴールデンウィーク前ですが、世の中は、新コロナウイルスで外出自粛の真っ最中。 せっかく追加した電流制限回路は、その応答速度の為、リニアアンプの熱暴走のスピードに間に合わず、電源が壊れた状態でした。 そんな中、OP-AMPを使ったバイアス回路がうまく動作して、26Vの電源で、安定動作するところまで、改善できましたので、電源電圧を26V以上に小刻みに上げられる安定化電源が、どうしても必要となりました。 前回、壊した為、シリーズトランジスターは1石しか残っていませんが、この1石を使い、電流制限を2重にかけた回路で、再検討する事にしました。

Psupply5 トランジスターの追加手配ができるまでは、1石で頑張ってもらいます。 電流検出用0.1Ω2本パラは1本に変更し、この両端にNPNトランジスターのベース、エミッタを接続し、BE間の電圧が0.6Vを超えると、このトランジスターがONし、電流が一定になるように電圧を下げるQ2を追加しました。 まだ、テストしていませんが、たぶん6A流れた時点で、電流は一定になるはずです。 前回追加した電流センサーによる電流制限回路も検出電流値を変更して、そのまま実装しました。 この回路で、センサーによる3Aの電流制限までは、ダミー抵抗でテスト出来ていますが、それ以上の電流では、まだ確認が出来ていません。 また、ロータリーSWの構造から、接点を切り替える途中で一瞬回路がopenになりますので、通電中の電流制限値の切り替えは厳禁です。

この電源回路を間違って出力ショートモードで電源ONしてしまいました。 4Aくらいで電流制限がかかったのですが、数秒後に、電源のLEDインジケーターが消えました。 調べてみると、トランスとブリッジダイオード間に挿入した10Aのヒューズが切れていました。 ヒューズを交換して、電源の負荷をオープンにして、再度電源をONすると、パンと音がして、出力電圧は60V以上に。

負荷がつながっていなかった為、電源以外の被害は有りませんでしたが、結局、電源は追加した電流制限回路が機能したのですが、その時のショート電流に耐え切れず、シリーズトランジスターが壊れてしまいました。 シリーズトランジスターが1石では不足だったみたいです。 2石でも不足かもしれません。 このトラブルは、リニアアンプがつながっていませんので、純然たる電源の問題です。 ショートした為、電流制限回路が機能して、電流は4Aで制限されましたが、この時の出力電圧は0Vです。しかし、安定化電源の入力DC電圧は下がったもののまだ48Vもあります。 この結果シリーズトランジスターには48V x 4Aの電力、192Wがかかってしまいました。 このFETのPdは100Wですが、それは無限大放熱板を付けた時の話で、実際の放熱板で、ファンを目いっぱい回したとしても50Wくらいが限界のはずです。 数秒でも、もったということは、「えらい」。 そして、私はそれに気づくのが遅い!

 

2020年のゴールデンウィークに突入しました。 ただし、今年は、新型コロナウィルスで、いつもの年とは大きく異なります。 外出自粛により、検討が進みそうです。

リニアアンプの熱暴走が起こった場合、この出力端子ショートに近い状態です。 いくら、電流制限を設けても、リニアアンプが正常動作する範囲の電流制限では、電源は壊れて当たり前ということが理解できました。

ここまで、悟るのに2週間かかりましたが、負荷がショートした時は、出力電圧をゼロにする、イワユル フの字特性の電源が必要なのです。

Avr12v1a

20V 1Aという容量で、フの字特性を有する安定化電源を常用しております。 左がその電源ですが、この電源は、昭和46年くらいに作ったものです。 すでに50年程経過しておりますが、壊れる事無く、いろいろな実験に重宝しております。 今、要求されるているのはこのような電源だろうと、フの字特性の電源に作り変える事にしました。

フの字特性付きの電源 DC_POWER_SUPPLY6.pdfをダウンロード

Pnp3tr

Ipwrspl6

この電源ではPNPの大電力トランジスターを使います。 採用したのは、2SB554というPc150WのCANタイプトランジスターで、それを3石パラにします。 最大450Wの許容損失ですが、実際の回路では、雲母の絶縁にシリコングリス塗布、さらにファンで強制空冷した上で、200W位いがMAXとなります。 この回路で、負荷ショート時、フの字特性が威力を発揮し、出力電圧、電流ともに0となります。 ただし、この特性がアダとなり、コンデンサ負荷(特に電解コンデンサ)時に、負荷ショート状態でスタートしますので、電源が立ち上がらないと言う問題に遭遇します。 この解決方法として、負荷がゼロΩでもいくばかの電流が流れるようにする事。及び、無負荷状態を作らず、邪魔にならない程度に常時電流を流しておくことが重要です。

この対策として、シリーズトランジスターのベースから、かなり高い抵抗で、コレクターに接続し、常時負荷へ電流が流れるようにする回路が例示されますが、この場合、トランジスターのhFEの関係で、一律に抵抗値が決められません。 特に、ダーリントントランジスターの場合、hFEが10,000を超える場合があり、挿入する抵抗は2MΩで小さすぎ、10MΩ以上が必要だったりしますので、シリーズトランジスタのエミッタ-コレクタ間に、kΩオーダーの抵抗を付け、負荷ゼロでも起動する最大の値を探る方が確実です。

この回路でも、最初、R2を10KΩとして、問題なく動作していましたが、ダミーとして、R7の500Ωを繋いだら、起動しなくなり、5.6kΩまで小さくした経緯があります。 そして、電源ONと出力ONは、必ず独立したSWにします。 特定のリグの専用電源なら、その負荷で常時起動する回路定数にすれば良いのですが、汎用電源の場合、負荷状態が不定ですので、出力ON/OFFスイッチはマストです。 

電源の耐性を上げる方策は、入力となる直流電圧をぎりぎり下げることです。 30V 6Aの負荷に対して、60VのDC入力は、それだけで180Wの損失が安定化電源にかかる事になります。 30V 6Aの安定化電源を得るには、6Aで32V以上の電圧があれば良いわけで、もし、この時の入力電圧が32Vなら、12Wの損失を安定化電源が背負えばよい訳です。しかし、そのような都合の良いAC電源を用意するには、スライダックスがマストです。 残念ながらスライダックスが有りませんので、無負荷時67Vのトランスを使用せざるを得ません。

ちなみに、電圧を半分にした時の最大出力可能な条件は25V 5Aでした。 30V 6Aにトライしたところ、フの字特性が働いて出力ゼロとなりました。 このフの字特性が働くのは、入力DC電圧と出力電圧の差が2Vくらいになった場合のようです。

Avr40v7a

上のグラフは今回の安定化電源(AVR)に5Ωの負荷を接続した時の電圧と、AVR自身が請け負う許容電力をシュミレーションしたものです。 5Aまでは実測データを使っています。

負荷抵抗が5Ωの場合、最大39V、7A負荷でフの字特性が現れることを示しています。 この状態でリニアアンプをドライブしてみる事にします。

リニアアンプの動作試験を行い、120Wの出力でも、RFの回り込みはなく、リニアアンプのFETがショートモードで壊れた時も、フの字のプロテクターが機能し、電源は無傷でした。

Avr_protecotorstart

この安定化電源のフの字保護回路が動作する負荷条件は、出力電圧でことなりますが、トランスのレギュレーションから推定した負荷電流は左の通りです。

2020年8月

出力電圧を12Vにして、出力ONすると、時々、出力ONのLEDがポカポカしたり消えたりします。 夏になって温度が上昇した為、Q7のゲート電圧が上がらず、Q7をON仕切らない事が原因でした。 対策として、R13を120Kから22Kに変更しました。

 

2020年11月

リニアアンプをパワーアップしようにも、現在の電源のトランス容量は250Wです。 100Wのリニアは持ちこたえても、200Wのリニアアンプは不可能です。 そこで、トランスを再検討する事にしました。

Trans2

今まで使っていたトランスは左上の大きなトランスです。容量的には1KVAですが、400V/200Vのトランスで2次側の定格電流は5Aです。これを1次側100Vで使う関係で、出力は5Aが優先され、約250Wしか無かったものでした。 一方、右上のトランスは、左のトランスを提供いただいたOMから、さらに頂いた、ステレオアンプ用のトランスです。

オーディオアンプは、定格出力が100Wx2ch=200Wで有っても、連続で出力を保証しているのは、1/3の66W以下です。200Wはせいぜい5分くらい出せたら良いというスペックですから、SSB送信機のように定格出力の70%を連続出力する能力は有りません。 しかし、それは、トランスの温度上昇からくる限界で、内部の温度が110度くらいの時です。 一方、トランスの内部に設けられた温度ヒューズは150度くらいの物が多く使われており、実際は、定格出力の30%以上でも、使う事が出来ます。 大体の目安ですが定格出力100Wx2chのアンプを100Wx2chでエージングすると、早いもので15分、遅くとも30分で温度ヒューズが飛びます。 これらの事から、SSB 200Wのリニアアンプに使った場合、70%の出力で30分間くらいは耐えるかも知れないと、淡い期待もありますので、このステレオアンプ用のとトランスへ乗せ換える事にしました。

Transreguration

上のグラフはこの二つのトランスのレギュレーションを示します。 赤のラインが1KWの従来のトランス、青のラインがステレオ用のトランスです。 レギュレーションは明らかにステレオ用が良く、40Vの電圧を維持できる負荷電流は、1KWのトランスの場合、7.2Aくらいで、288Wですが、ステレオ用は約10Aで、400Wです。 リニアアンプの効率が50%なら、200W出力できる事を意味します。

これらの事から、すでに出来上がったリニア電源にトランスを内蔵させ、かつ、電力容量をアップした安定化電源に作り替える事にしました。 トランスの巻線がセンタータップタイプでしたので、ブリッジダイオードの半分は使わない事にしました。

このステレオアンプ用トランスはパワーアンプ用の主巻線とは別に、12V電源用のサブ巻線を持っていますので、5Vのファン用電源は、このサブ巻線からシリーズレギュレーターを通して作る事にします。

400wdcpowrsupply1

400wdcpowrsupply2

左上がトランスを収納し、レイアウトを変更した内部です。右上は、このシャーシに木製のカバーをかぶせ、強度的に補強を行ったものです。左右の側面に換気用の穴を開けてあります。 35V5Aくらいでは、ほんのりと温まるだけで、問題は有りません。 また、5V定格のファンも2.5Vでドライブしていますので、騒音はほとんど感じません。

Newavr_protect

左の表は、トランス交換後のフの字特性動作開始推定電流です。

電力的には、30V出力の時、450Wの供給能力があります。 

次は、200Wリニアアンプへトライしますが、電源電圧35Vのままで、200Wを出せるような回路構成にする必要がありそうです。 ただし、上の表は、基板内や配線経路中にロスが無いとした時の数値で、実際は無負荷電圧35Vであっても、10A負荷電流で3V以上の電圧降下があります。 

最終状態の回路図:DC_POWER_SUPPLY8.pdfをダウンロード

2020年11月

200Wリニアアンプ対応の為、電流計のレンジをmax10Aからmax15Aに変更しました。

この電源を使って200Wリニアアンプの検討を始めましたが、上の表の電流でプロテクタがかかり、最大出力は140W止まりでした。  200Wリニアアンプの記事はこちら

200Wリニアアンプを検討中にファイナルのFETのドレアイン、ソース間がショート状態になり、かつ、電源の2SB554がショート状態で壊れてしまいました。

壊れたのは東芝の純正ではなく、台湾製の2ndソースでした。 ベース抵抗を4.7Ωまで小さくした事により、フノ字のプロテクタが働く電流値が上昇し、耐えられなくなって、弱いトランジスタが壊れたようです。 ベース抵抗を、2倍の10Ωに代えてトライする事にしました。 ところが、出力電圧50V、リニアアンプの電源OFFの状態で、何回か出力SWをON/OFFを繰り返すと、また2SB554がショートモードで壊れてしまいました。 何が原因か判らず、再度修理し、慎重に見守ると、リニアアンプの電源SWより電源入力端子側にある50V18000uFの電解コンデンサへのラッシュ電流で壊れる事が判りました。 壊れるのは、決まって、秋月で手配したMOSPEC製の2SB554です。 Specを調べてみました。 東芝純正の2SB554の最大ピーク電流は30Aですが、MOSPECのそれは、18Aです。 最後にリニアアンプのFETが壊れたのは、このMOSPECの2SB554がショートモードで壊れ、57VくらいのDC電圧が急に加わり熱破壊した事の様です。

このMOSPECの2SB554は予備を含めて後2石残っていますが、もう使えません。 やむなく、東芝の2SA1943(2SB554と同等Spec)に変更する事にします。

トランジスターと放熱板を絶縁する為にシリコンラバーを使いますが、このシリコンラバーだけで絶縁したものと、シリコングリスを塗ったマイカ板で絶縁したものを併用した場合、決まって、シリコンラバーで絶縁したトランジスタが先に壊れるという経験は私だけでしょうかね。 色々な解説では、シリコンラバーの熱伝導率はマイカよりはるかに良いと言われていますが?

 2021年2月

この電源を弄り回してすでに1年くらい経ちますが、その間に壊して交換した部品代はユウに5000円を超えました。 結局400Wくらいの電源を用意しようと思ったら、360Wくらいの中華製ACDCスィッチング電源と300Wくらいの連続可変可能な自作電源をシリーズにして使うのが一番良いみたいです。 そんな訳で、当電源は最大40V10Aとし、40Vでショートテストをしてもフの字特性が動作するのを確認した上で、24V20Aのスィッチング電源とシリーズにして実験に使う事にしました。 もっと電圧が必要な時は、36V10Aのスィッチング電源を買い足す事にします。

1s1652r

その対応の為、この電源がOFF状態の時、出力端子へ負の電圧がかからないようにマイナス側からプラス方向へ電流がバイパスするようにダイオードを追加しました。追加したダイオードは1S1652Rという品番のナット止め仕様のダイオードです。 定格は150V 12A。 左がその写真です。 

この状態での最新配線図です。

DC_POWER_SUPPL8.pdfをダウンロード

 

 

2023年2月

デジタル方式AM送信機の開発中に12V 8Aの負荷を1分以上継続したら、制御用のトランジスタがショート状態で壊れてしまい、出力電圧が38Vまで上昇し、開発中の送信機の電源回路やLCD、マイコン、DDS ICなどを壊してしまい、約1週間のロスと余計な労力とお金が発生しました。 

原因を確かめると、制御用のトランジスタで、2SB554がコレクタ、エミッタショートで壊れていました。 この制御用TRは3石で構成されていましたが、残りの2石は2SA1943という品番でした。 2SB554は、Vbe 0.5VでIcが10Aくらいになりますが、2SA1943はVbe 0.8Vで IC 3.5Aくらいしかなく、実質的に、2SB554 一石で全電流を処理していたことになっていました。 これは完全な構成ミスでした。 部品箱をひっくり返して探すと、未使用の2SA1943が一石見つかりましたので、壊れた2SB554と交換し、かつ、それぞれのVbeのバラツキを吸収する為に、エミッタにシリーズに0.33Ωの抵抗を入れました。

ついでに、電源ON時のラッシュ電流対策の為にリレーを追加しました。

対策後の配線図 48v_dc_power_supply9.pdfをダウンロード

 

INDEXに戻る

2020年3月 7日 (土)

SDR用 7MHz 100Wリニアアンプ

カテゴリ<SDR>

ダイレクトコンバージョン式SDRトランシーバーが完成しましたが、このトランシーバーに内蔵されているRFパワーアンプは10W出力です。 昨今のコンディションでは、QSOのチャンスもかなり低くなりますので、ストレスが生じない、100W出力まで増幅するリニアアンプを作る事にします。 条件として、電源電圧は48V以下としますが、まだ有りません。 有るのは30V10Aと12V30Aの固定電圧電源だけです。

まずは、予備検討です。

100wpaunit

上の写真は以前50WのAM送信機を作った時のPCのCPU用放熱板にマウントしたリニアアンプです。 AM50W出力アンプのピーク出力は200W有り、今回はSSBでピーク出力100Wですから、余裕で行けるだろうと踏んでトライします。 まだ強制空冷ができていませんので、1mW入力で60mW出力が得られる事を確認しただけですが、ちゃんとAB級で動作していることは確認済みです。

使用したファイナルはサンケンのN-MOS FET、FKI10531のプッシュプルで、将来200Wに対応できるように、基板は2パラ-プッシュプルに設計していますが、現在はシングルプッシュプルとなっています。 このサンケンのFETは、秋月にて、1石40円で売っている電源用で、入力容量が1530PFくらいあるにも関わらず、30MHzくらいまでスイッチング可能、Rdsが35mオーム位と、定電圧、高出力を狙うには、都合の良いスペックをもっています。

7MHz_100W_PA.pdfをダウンロード

回路図では、電源やバイアス回路、ファンドライブ回路の方が複雑になっていますが、リニアアンプ部は、簡単そのものです。 このRF入力端子から見たSWRは1.5以下です。

ファンを回しながら、検討する必要から、今回もジャンク測定器を入手し、ちゃんとケースに収めます。 用意したケースは、KEYENCEのマイクロスコープコントローラーです。 さすがに医療機器だけあって、シャーシがステンレスでできており、そのため、ステンレス用ドリルまで購入して工作する必要がありました。

100wrfamp2

真ん中で白く光っているのは、ブリキで作成した7MHzのLPFです。 すべてのユニットを並べたら隙間だらけです。 この隙間は将来200WまでQROするためにとっておきます。

電源電圧を24Vにして、終段FETのゲートバイアスを調整し、アイドル電流を100mAに合わせようとすると、いきなりドレイン電流が流れ、FETがショートモードで壊れてしまいます。 FETを交換して、慎重にゲート電圧を上げていっても、途中で電流が3A以上になり、また壊れました。 バイアス電圧を2Vに固定し、ドレイン電流が流れない状態で、キャリアのレベルを上げていくと、C級動作になります。 この場合、一応出力が得られますが、歪だらけです。 この状態から、歪がでないように少しづつバイアス電圧を上げていくと、歪は改善されますが、歪がなくなった途端、暴走が始まり、FETが壊れます。

Sdr2_fki10531_idle

手配したFKI10531はすでに3石壊してしまい、残りは2石のみです。 ここで、改めてこのFETのデータシートを見直してみました。 その中で、左のグラフデータを見つけ、今回のトラブルの原因が判りました。

このグラフデータは、VGSを変化させた時のIdの変化を示しています。

Tc25度の時に、0.1Aにアイドル電流を設定すると、すぐにジャンクション温度は上昇し始め、あっという間に75度を過ぎてしまい、Idは数Aレベルまで増加する事をを示しています。 このFETはC級やE級で使うときは問題ありませんが、AB級ではまったく使用できないFETで有る事が判った次第です。

結局、上辺のデータだけで選んだFETではAB級増幅は不可と判りましたので、FETの選定をやり直す事になりました。

5wout手持ちのMOS FETで2SK3234が有りましたので、これを実装して、終段のトランスの2次側を3ターンとして、テストしてみました。 Rdsが0.65Ωというスペックですが、アイドル電流を初期値で1石当たり、200mAに調整し、RFパワーを加えると、SSBの信号が左の波形のごとく、飽和しかかりの状態で5Wの出力となりました。この時の電源電圧は12.1V、電流は3.3A。 数秒間入力最大にすると、出力が20W を超えますが、リニアリティはあまり良くないようです。 リニアリティを改善する為に、電源電圧を30Vに変えてテストする事にしました。

30Vの電源でアイドル電流を1石当たり100mAに調整し、SDRを送信状態にした途端、電源が壊れてしまいました。 FETはドレイン ソース間ショート状態で壊れています。

SDRをSENDにした時のショックノイズでFETが壊れたみたいです。

この原因を調べないと先へ進めなくなりましたので、しばらく休止します。 この原因を確かめるには、電源電圧を12Vから徐々に上げていけるDC電源が必要ですが、手元にあるのはMax18V、Max3AのKenwood の電源か、自作のMax20V、Max1Aの電源、6Vから14Vまで可変できる30AのFT991用電源と、30V、12V固定電圧の電源しかありません。 今回は12V電源でうまく動作していたアンプをいきなり30Vに繋いだら、あっけなく壊れてしまったものでしたので、12Vから30Vまで徐々に上げていける電源が必要です。

そんな訳から、リニアアンプは一時休止し、リニア電源を作る事にします。

 

リニア電源が出来ましたので、終段のFET選定からやり直しです。

 

すでに3月の最終weekになってしまいましたが、本日、IRFP250Nを6石入手しました。 アマゾンで販売されている、中華リニアアンプに使用されているFETです。 今回はRSから1石261円+送料450円で入手しました。6石注文しましたので、336円/石になりました。

New_bias1

前回の熱暴走の反省から、バイアス回路の熱安定化回路を再検討する為、先にバイアス回路の再設計を行います。

今まで、温度検出ダイオードは1個で、全体の温度補償を行っていましたが、今までにFETが壊れた状況を思い出すと、この検出ダイオードの取り付けられていないFETが壊れる確率が高い事に気づきました。 そこで、今回は、それぞれのFETにダイオードを取り付け、それぞれのバイアス電圧が、独立して温度補償と調整ができるように変更します。 左上が、その回路図です。 また、新しいFETのゲートON電圧が高い方へ、少しずれましたので、5Vの3端子レギュレーターはダイオード2本でかさ上げを行い、6V出力としました。 このかさ上げのダイオードも周囲の温度補償としても動作します。

修正した全体の回路図 PWR-AMP100W_2.pdfをダウンロード

FETの入力容量が2000PFを超えましたので、周波数特性の補正を行う為、入力トランスの出力側に設けた22Ωの抵抗は2本パラにして、11Ωにしてあります。 下の写真は、FETを乗せ換えて、バイアス回路の変更が完了したパワーアンプ基板です。

100wamp_2

ファンやDCバイアス電源用の3端子レギュレーターは、電源電圧がMax48Vになった事より、耐圧オーバーで使えませんので、12Vの電源をディスクリート回路で作り、バイアス用6Vの電源は、この12V電源から供給するように変更しました。

 

電源電圧を20Vにしておき、アイドリング電流を片チャンネル当たり200mA(トータル400mA)として、入力にアンテナアナライザを接続すると、SWRは1.3くらいです。 出力は18mW出ています。 この時の入力は0.8mWでした。 前回はこのテストまでは良かったのですが、次に実際のSDRトランシーバーを接続したら、FETが壊れてしまいましたので、この調整状態から一度、電源電圧を10V以下まで下げて、入力レベルを上げてみる事にします。

10V電源で1Wの出力がでました。そこから、次第に電源電圧を上げていき、15Vまで上げたとき、2.5Wとなり、さらに18Vにした時、電源がパチと音がして、電圧が50V以上に。 すぐに、またパチと音がして、出力なしに。 RFが電源に回り込み、電源のFETが壊れ、その為、アンプの2石のFETも壊れてしまいました。 リニア電源をやり直しです

1weging2

リニア電源用のトランジスターは全て使い果たし、手配待ちの状態ですので、その間に、従来の電源で実験です。電圧を18Vに固定して、出力が1W になるように入力レベルも固定して、電流と出力の変化を見てみました。

 温度補償用ダイオードが従来の1N4148の場合、アイドル電流は2石合計で、100mAです。このデータを見る限り、明らかに熱暴走し始めています。 そこで、温度対Vfの変化が2倍くらいある1SS133に変えてみました。 1SS133のアイドル電流はより暴走が起こりやすい、2石合計で200mAです。 結果は、3分経過した時点で電流も出力も増加が止まりました。 

電源電圧18Vのままで、2石のプッシュプル回路のドレイン間に1000PFを追加したり、出力トランスの後に、LC共振回路を挿入したりして、18W連続出力が得られる状態になりました。 この状態での入力は0.8Wで、以前アンテナアナライザーでテストした時と同じゲインが得られています。

電源の電流制限が3Aでかかる為、この電源での最大出力は25Wでした。 そこで、30V 10Aの容量のある電源に、接続し、アイドル電流を2石合計で200mAにしておき、出力を上げていくと、30W出力になったとき、熱暴走が起こり、ファイナルのFETがまたしてもショートしてしまいました。 バイアス回路はまだ不十分でした。

しばらく、放熱板ではなく、頭を冷やす事にします。

WEB検索をしていると、電源用のFETを使ってリニアアンプを制作しているJE3PRM OMのノウハウ紹介の記事が見つかりました。OMの製作アンプと、私のアンプの構成は異なりますが、かなりのノウハウを生かす事ができそうです。 そこで、電源電圧を20V(12V20Aの電源と8V30Aの電源を直列に使った)の電源を使い、下の回路図で、5W入力時、40Wの出力を得る事ができました。(Very TKS OM)

Pa_20v_40w

この回路は、バラックに近い状態で仮組したものでした。 20Vの電源で、5.2Aの電流が流れ、40Wでしたので、約38%の効率です。100Wの目標には、まだ遠いですが、足がかりが出来た感じです。 この回路を実験する途中で、またFETが破損し、今度は楽天にて1石135円で売りが出ていたIRFP250Nを10石購入し、1石だけ交換したのですが、バイアス電圧の差が2V近くあり、PP回路がうまく動作しません。 どうやらロットのバラツキみたいです。 電源用のFETでアナログ動作をさせる場合、この問題はついて回るようです。 誰かの製作例を見ながら、そっくり同じものを作っても、性能が出ないのは、このロットのバラツキによる影響が一番かもしれません。 今回、2石とも楽天から購入したFETに交換したら、アンバランスの問題は解決しました。 

今後、さらに電源電圧を上げられるようにバイアス回路を検討する事にします。

Pwramp36w_bias

左が変更したバイアス回路です。

変更内容は、温度検出用のダイオードを2個直列に接続し、温度変化による、電圧変化が2倍になるようにしました。

そして、このバイアス供給回路を実装した上で、電源電圧を26Vまで上げて、36Wの出力が得られたのが、下の回路です。

この回路では、入力4Wのとき、4.2A流れ、36Wが連続で得られていました。 ただし、この出力が、限界で、いくら入力を増やしても、出力は増えませんでした。

Pwramp36w_tx この回路で、アイドリング電流は、両方合わせて、80mAくらい。 入力側のSWRは1.3以下。

電源電圧は22Vで出力は35Wくらいで、以降、電圧を上げても入力を上げてもほぼ飽和状態でした。

出力が飽和する原因を確かめようと通電を続けていると、3分も経過しないうちに、5Aのヒューズが切れてしまいました。 そして、AMPの片方のFETが全端子ショート状態で破壊していました。 この原因は、またしてもFETの熱暴走です。アイドリング状態では、問題ないのですが、パワーを大きくすると、例え、ソースに0.1Ωの抵抗を挿入していても、熱暴走を起こしてしまいます。 バイアス回路の再検討が必要です。

現在の1SS133を直列に接続した、バイアス回路で、1SS133がそれぞれ0.1V、2個直列で0.2V変化した時の、FETゲート電圧の変化を計算してみました。 結果は、なんと0.08Vくらいしか変化しない事が判りました。 ここは、少なくとも、1SS133が0.1V変化したら、FETゲート電圧も0.1V変化してほしいので、バイアス回路を以下のOP-AMPを使った回路に変更する事にしました。

Pa100w_bias5

 

Pa100w_bias5up

この回路のOP-AMPのゲインは6dBあり、1SS133が0.1V変化すると、出力は0.2V変化します。 多少効き過ぎかもしれませんが、この回路を実装してみました。

左が実装したときの写真です。 パワーアンプと同じ基板の上に配置されますので、高周波の回り込み対策はこれでもかというレベルで実施しました。 18Vの電源で実際に動作させた場合、問題は有りませんでした。

最初、この新バイアス回路に変更し、ソースにあった0.1Ωの抵抗はショート状態で、電源電圧26Vでトライしました。 アイドル電流は各FET50mA、合計100mAに調整しました。 残念ながら、出力トランスの2次側を2ターンの時、12Wしか出ません。 3ターンにしたら、5W出しか出ず、熱暴走が起こり、FETが壊れました。 熱暴走する前に2次側を1ターンしてみましたが、5Wしか出ませんでした。

Pa100w_amp5

そこで、ソース抵抗の0.1Ωは元に戻し、AMP部分の回路を上の回路図に変更したうえで、出力が飽和する原因を探す事にしました。 オシロで各FETのゲートやドレインの電圧波形を確認すると、PP回路のゲートやドレインの波形がかなり異なります。 どうも、同じアイドル電流では、B級動作の最適状態にならず、出力波形を見ながら、アイドル電流を決め、かつ、ドレインとGND間に挿入するコンデンサの値をアンバランスにすると、まともなプッシュプル動作に近づける事が判りました。この最良状態で、電源電圧18Vにしておき、出力が飽和する直前まで、入力を上げると、0.3W入力で16Wの出力となりました。

ドレインの電圧波形は、ピークは24Vくらいですが、min.は4Vです。この4Vはソースの0.1Ωの両端の電圧と一致します。 すなわち、プッシュプルの片方の振幅は20Vしかなく、これを出力トランスで2倍しますので、出力のピークは40Vです。これを実効値に直し、50Ωの負荷で計算すると、16Wの出力になります。 要するに、この回路では、電源電圧で、出力が決まり、少なくとも、コンベンショナルトランスの巻き数は最良状態であることが判りました。

Transdata2004

そのコンベンショナルトランスのコアについて、特性を取ってみました。

左のグラフでロスが多いとコメントしているコアが今まで使用していました、NECトーキンのコアで、赤色のテープで巻いていました。

最適候補とコメントしているコアは、北川工業のGTFC-25-15-12を6個使ったもので、全体のインピーダンスが少し低めですが、このコアに変更する事にします。

このコアは黄色のテープで巻いてあります。

100wpa_gtfccore  

出力を上げるには、電源電圧を上げて、かつ、その電圧でも熱暴走が起こらない回路を作るしかありません。 

入力のSWRが3くらいあるので、トランスの1次巻線を2ターンとして、かつ、トランスの出力抵抗を22Ωにした状態で、SWRが2くらいになりましたので、電源電圧を少しづつ上げてみました。

Amp5_vccadj25v

左の表は、その時のデータです。電源電圧は最大で26Vまで上げられますが、電源から送信機入り口までの電線による電圧降下で、最大25.1Vしか上げる事が出来ません。 それでも、40Wの出力が得られました。そして、この40W出力中でも、電流は次第に減少し、1分で10mA近くのペースで少なくなります。 熱暴走が起こっていない証拠です。ただし、3分もすると、出力は38Wくらいまで落ちます。 

2020年ゴールデンウィークに突入しました、今年は新型コロナウィルスでどこえも行けません。

ここから、フの字タイプの保護回路付きの安定化電源を使えるようになりました。

 

Fet_data

少し気になる問題があります。 上の表を作成するとき、回路が最大出力を出す為には、片方のFETのドレイン-GND間に1390PFのコンデンサを接続し、もう一方のFETのドレイン-GND間にはコンデンサは有りませんでした。 そこで、この二つのFETのゲート電圧対ドレイン電流のデータを取ってみました。No.1のFETにはコンデンサは接続されず、No.2のFETのみ1390PFが接続されています。 見ての通り、ふたつのFETの特性は大幅に異なります。 また、ゲインと表示してある数値はドレイン電流が10mAから1Aまで変化する場合のゲート電圧の差を見たものですが、No.1と2では2倍以上の差があります。

これらのFETは一括して楽天から購入したものでしたが、スィッチング用FETとしては、全く管理されていない項目ですので、この種のFETをリニアアンプに使う場合、このデータを確認して、そろったもの同士を使わないと、期待する出力は出ないという事のようです。 買ったのは全部で10石でしたが、すでに3石壊してしまいました。 残りは7石ですが、1石は不良品で、ゲート電圧を7Vまで上げても、ドレイン電流は流れませんでした。

リニア電源が出来ましたので、アンプの検討を再開しますが、まず、No.1のFETを取り外し、No.2のFETに一番近い、No.4のFETに交換する事にします。

電源電圧18Vにて、最大出力が出るように、回路定数をいじった結果、入力1Wで18W出ました。 以後、すこしづつ電源電圧を上げ、32Vでアイドル電流各0.1Aとして、入力3Wを加えた結果、32Wしか出ません。流れている電流は3.91A。 1分くらい通電すると、電源の保護回路が働き、電圧がダウン。 調べてみると、No.4のFETがドレイン、ソース間ショート状態で壊れていました。 電流は、減少方向にドリフトしている最中で、死んでしまったものです。 原因が判らないまま、No.5のFETに交換しました。

フの字特性の電源は高周波の回り込みもなく大丈夫でした。

前回、25Vの電源で40W出ていました。 今回、電源電圧を33Vまで上げましたが、30W以上出ません。 やる度に、最大パワーが下がっています。 ソースに挿入されている0.1Ωの性かもと、この抵抗をショートしてみましたが、ゲインは少し上がりましたが、最大パワーは変わりません。 考えられる原因は後ひとつ、コアです。 コアを変更してみる事にします。

Avr40v7a_2

そこで、TS-930Sに使用されていたメガネコアのインピーダンス特性を、先に測定した各コアのデータに重ねてみました。 左のグラフに示しますが、今まで検討してきたコアとは、全く異なるデータを示します。

このTS-930S用のコアは昨年作った、6m用AM送信機のパワーアンプに使っていたものですが、6mリグには戻さずに、この7MHz用リニアアンプで使ってみる事にします。

 

 

Powe_v_ts930score

左のデータは、コンベンショナルトランスのコアをTS930S用に変更し、トランスとLPFの間に、整合用のLC回路を挿入し、ソースの0.1Ωも廃止して、最大出力が得られるようにした状態で、各電源電圧ごとに、アイドル電流が各100mAになるように再調整した時の出力と効率です。 少なくとも、コアによるロスは最小となっているはずであり、かつこのコアは7MHzで180Wくらいを出力する実力があります。 従い、電源電圧を上げても、出力が上がらない原因は、FETしか考えられません。

このFETは18V前後の電源で使ったとき、最大効率が出せるけど、それ以上の電圧では、どんどん効率が落ちるのではないかと推測します。 

このリニアアンプを検討を始めて、すでに4か月以上経過しましたが、この場に及んで、FETの選択からやり直す事にします。

JE3PRM OMが紹介している、FETは、スーパージャンクションと言われるMOS FETで、従来のFETより、高耐圧で、ON抵抗が低く、Cissもかなり小さい、最新のFETのようです。 国産のFETで、同様なFETを探すと、東芝がDTMOS構造のFETとして、かなり前から製品化し、一部は秋月でも取り扱っています。 そこで、TK8Q60Wという品番のFET(1石 60円)を10石入手し、これでリニアアンプを作ってみる事にしました。

Tk8q60wdata

IRFP250Nの事も有りましたので、購入した10石のVgs対Idのデータを取ってみる事にしました。

左が、その10石のデータです。 さすがに東芝製ですね。バラツキのレベルがIRとは全く違います。 これだと、どの組み合わせでも、PP増幅のペアを作る事ができます。 ただし、Pd=80Wにしては、かなり小さなパッケージで、このデータを取る為に、0.5AのIdを流すと、あっと言う間に、触れないくらい熱くなります。 放熱板にしっかりと密着させる方法を考えなければなりません。

100wpa6_2

Itk8q60wmount

最初は、シングルのプッシュプルとして、50W出力を狙い、うまくいったら、2パラプッシュプルで、100Wを狙います。 ただし、目標とした電源電圧が48V確保できない事が判りましたので、40V以下の電源で100W出力に目標を変更します。

左の写真は、IRFP250Nを取り去り、基板と放熱板に加工を施し、このFETを取り付けた状態です。 FETは4個取り付けましたが、配線は2個だけ行い、もし、壊れたら、予備のFETに配線し直し、FETの交換の煩わしさを軽減します。

ただ、FETの足が短く、配線には難儀しそうです。

100wpaunit6

なんとか、配線完了です。 

電源電圧を落として、恐る恐る動作テストを行う事にします。

18Vの電源電圧で、テストしました。 アイドリング電流は、各100mAです。 入力3Wで13.5Wしか出ません。 1分くらい通電した後、入力をゼロにしたら、電源電圧が0.5Vくらい上昇し、電流はアイドル電流に戻る事無く、熱暴走を開始してしまいました。 バイアスの温度補償機能の応答速度が遅くて、熱暴走を阻止する事が不可能になっているようです。 結局、熱暴走を止められず、安定化電源が保護動作したのは、アンプのFETがバリバリと言った後でした。 温度センサーの位置や構造を一から見直す必要がありそうです。

100wpa_1ss133

対策として、1SS133をシリコンラバーごと銅板で丸め込み、これを、FETのドレインとシリコンラバーの間に挟み、止めた状態で、再テストしてみました。

電源電圧が16.4V、2W入力で、12W出て、入力をゼロにすると、ドレイン電流は、2秒くらいで、アイドル電流の状態に戻ります。

次に、電源電圧を22Vにして、3Wの出力まで、入力を加えたところ、熱暴走が始まり、またしても、FETはショートモードで破壊しました。 FETがショートモードで破壊しても、安定化電源のプロテクタが働き、電源は無傷です。

スーパージャンクションタイプのFETは、構造的に、ジャンクション部分から、ドレインの外側金属面までの熱抵抗が小さく、小さなドレイン面積でも、無限大サイズの放熱板を付けたら、仕様書に出てくる80WのPdを確保できますが、有限サイズの放熱板と、いくら、マイカより、熱抵抗が小さいという、シリコンラバーを介した放熱では、無理があるようです。 ここは、OMが採用しているように銅板をドレインに半田付けして、ドレインの面積を増やさないとダメなのかも知れません。

 

近くのホームセンターに1mm厚の銅板を買いに行き、現在の放熱板に取り付けられる、放熱フィンを作る事にしました。 結果は、大成功です。 52Wの出力を安定して得る事ができ、電源電圧40Vで70Wの最大出力を確認できました。

実施内容は全て、JE3PRM OMの記事の通りですが、具体的な工程を紹介します。

Fetmount1

まず、1mm厚の銅板を左の様に20mm x 28mm角に切り取り、放熱板に取り付ける為の、丸穴を開けます。 大きめのシリコンラバーを用意しますが、銅板の下に敷くサイズを確保できないときは、複数枚用意します。 さらに、ビスとドレインを絶縁する、絶縁ワッシャを用意します。 この時、ワッシャの内側の高さが0.8mm以下の物でなければなりません。 銅板に開けるふたつの穴はこのワッシャが入る大きさが必要です。 私のワッシャは4.5φの穴でOKでした。

Fetmount0

銅板をバイスでつかみ、60W以上の半田こてで、半田を少し盛ります。 また、FETのドレインの金属面にも半田メッキを行っておき、銅板上にFETを置き、銅板の半田を暖めると、その内、FETが簡単に銅板の上を滑りだします。 この状態で、FETが適当な位置で動か無いようにピンセットで押さえた後、半田こてを離し、半田が固まるまで待ちます。 このくらいの熱処理くらいでは、FETは壊れませんので、失敗したら、何度でもやり直します。

 

Fet_fin0

上は、そのようにして加工した放熱フィン付きのFETです。 右側は一発で半田付けが成功しましたが、左側は何度も失敗し、銅板面が半田メッキだらけになってしまいました。 ここで、注意したいことは、決して銅板の裏側に半田がつかないことです。 もし、誤って半田がついてしまったら、その銅板は廃棄するのが賢明です。

放熱板に止めるときは、間にシリコンラバーを挟み込みますが、もし、分割されたラバーの場合、互いに重ならないようにします。 上の写真では、放熱フィンを固定した後、銅板の端に沿って、ラバーをカッターで切り取りました。

次に、このFETに温度補償用のダイオードを半田付けします。

1ss133mount

まず、1SS133の両方の足に長さ10mmくらいの耐熱スリーブをかぶせます。 耐熱スリーブが無いときは、耐熱リード線(半田こてで電線に半田メッキをしても、被服が縮まないリード線)の導体を抜き取り、残った被服をかぶせておきます。 0.3mm厚の銅板で図のように丸め込みますが、ダイオードと銅板の間にシリコンラバーを詰め込み、ラジペンで、丸く成型しながら、締め付けていきます。 ダイオードが自由に回転しなくなるまで締め付けます。 あまり強く締めるとダイオードが割れてしまいますので、要注意です。 最初シリコングリスを塗った状態で、銅板を丸め込みました。 しかし、ダイオードが破損する事が多く、緩衝材と熱伝導を兼ねて、シリコンラバーを挟み込むようにしたものです。 1SS133を入手出来ない場合、1SS178でも代用できます。  ダイオードのリード線に延長用の耐熱リード線をハンダ付けし、その部分に2φの熱収縮チューブをかぶせ、しっかり固定します。

この出来上がった銅板によるダイオードホルダーをFETのドレインの金属部分に半田付けします。

Tk8q60w_mount

このようにして、加工したAMPの全体が上の写真です。 実装にあたっては、ドレインが放熱板にショートしていないか十分に確認します。 この実装状態でも、銅板のはしっことプリント基板のエッジがタッチしており、この修正の為に、基板をやすりで削る羽目になりました。

写真では、入力トランスの出力端に22Ωの負荷抵抗が見えますが、これは100Ωに変えてあります。 また、写真には有りませんが、ドレイン間に390PFのコンデンサを追加してあります。

さらに、コンベンショナルトランスの出力からLPFの間にあった470PFのコンデンサは廃止し、コイルは2.25uHに変更しました。 オリジナルは、LC直列回路でしたが、それじれの容量とインダクタンスをLCメーターで測定し、7100KHzのインピーダンスを計算すると、合計でプラスのリアクタンスとなりましたので、コイル単独で、同じリアクタンスが得られるようにしたものです。

PWR-AMP100W_6.pdfをダウンロード 

Tk8q60w_output

左の表が、恐る恐る入力レベルと電源電圧を上げたときの、出力データです。

電源電圧40V、入力5Wのとき、めでたく70Wの出力が得られました。

そして、この70W出力状態から入力をゼロにすると、いっきにアイドル電流の状態に、Idが減少します。

今までの回路では、このテストをすると、アイドル電流状態に戻るまで10秒i以上かかったり、最悪熱暴走していました。

また、効率も、まずまずの数値を示しています。 ソースに接続した抵抗が0.33Ωなので、もう少し悪くなるのではと、危惧しましたが、それほど悪さはしていないようです。 ただし、70Wを連続1分以上出力すると、Idが少しづつ上昇します。 その程度は5秒で10mA程度ですが、30mA上昇したところで、入力をゼロにしたところ、Idは初期のアイドル状態に数秒で戻りました。 多分、70Wくらいが、最大電力になりそうです。 さらに、このFETのSOAを確認すると、40Vの電圧のとき、2Aが最大となっていますので、2石に均等に電流が流れたとしても、このくらいが限界でしょう。

FETのPd maxは2石で160Wですが、それは無限大放熱板の時だけです。 現在は95mmの2個のファンで強制空冷していますが、実際問題として、許容できる最大Pdは1/2の80Wくらいと、推測します。効率が50%なら、80Wくらいの出力が限界となりそうです。 このAMPはSSB用ですので、1分間くらい100Wの出力が出来、70Wくらいを連続30分以上出力出来たらよいと考えますので、 今後この限界を詰めようと思います。

アンプとは、別問題ですが、電源電圧を40Vにした事により、12Vのシリーズレギュレーターの放熱板の温度がずっと触れないくらい熱くなります。これは、ちゃんと対策しないと、バイアスが狂って、アンプを破壊する原因になりそうです。

そこで、基板上の小さな放熱板からトランジスタを外し、ステンレスのシャーシに直付けしました。 これで、様子を見る事にします。

この、プロジェクトの目標は100Wのリニアアンプですが、今までのスーパージャンクションFETを使った回路では、FETのPdが160Wしかなく、常温で、80Wまで許容できるとし、かつ、アンプの効率が50%とすると、最大で、80Wしか出せません。 そこで、このFETを2パラ、プッシュプルとし、最大Pdを320Wにして、100Wの出力を得る事にします。

2parafetmount

2parafetcomp

2parapp_fetunit

2parapp_fetmount_2

上の段の左は、銅板に2石並べて半田付けしているところです。 2石の並びがずれないように、FETのTOPに両面テープを張り付けています。 両面テープの素材は紙ですので、半田こての熱で溶ける事は有りません。 右側は、2石のFETのゲートに1Ωの抵抗を挿入するために張り付けたプリント基板の短冊です。 この短冊の中に1Ωのチップ抵抗が付けられております。 この基板は両面基板となっており、裏側の銅箔で、2石のドレインを連結しています。

下段の左は、新たに作った、1SS133の温度センサーをドレインのフィンに半田付けしたところです。 銅板は、20mm x 28mmの先に使用した1石用を使用しましたが、FETを2石並べて半田付けするには、寸法的に、少し窮屈ですので、次回作るときは、20mm x 30mmくらいの銅板が良いのですが、放熱板側のタップ穴ピッチと合いませんので、写真のごとく、まとめました。 右上は、この放熱フィンを放熱板に取り付け、ドレイン以外の配線を完了した状態です。

2parapppa_schema

2parapp_paunit

出来上がった配線図とアンプユニットです。

2パラPPにしたので、コンベンショナルトランスの2次側巻線は3ターンにしてあります。 3ターンにしたので、今まで使っていました、2芯シールド線(黄色のワイヤー)がトランスの銅パイプの中を通らなくなりました。 そこで、少しロスが増えますが、50SQのKIV線に変更しました。多分、40V以下でも100Wが得られるだろうと、期待しています。

100woutdata

左が、電源電圧を上げながら測定した、出力や電流のデータです。

アイドリング電流は、各電源電圧の時に、プッシュプルの各片方ごとに100mAに合わせてあります。  パラ付けですので、個々のFETに50mAづつ流れる補償はありませんが、先に確認した、バラツキデータから、一方が100mAで、片方が0mAという事はなかろう、とみています。 C14は当初390PFのままで、測定しました。電源電圧34Vで、10W出力にして置き、最適値を探した結果1390PFと出ましたので、このコンデンサを1390PFに変更し、34.2Vの電源電圧の時、6Wの入力で、100Wでました。 なによりも、うれしいのは、390PFのとき、効率が39%だったのに、対して、1390pFの場合、効率が52%まで改善した事です。

データには有りませんが、電源電圧35Vにて、7W入力すると、120Wくらいでます。 それより出力を大きくすると、安定化電源のフの字プロテクタが動作し、電源がOFFになります。

100wpa_fan

いくら、温度補償回路を追求しても、放熱板の強制空冷はマストです。 アンプユニットを挟んで、2個のファンを動かしています。 右側の外側についているファンは、この医療機器にもともとついていたもので、95mm角厚さ25mmのものですが、長年使っていたのか、少々騒音が大きいです。 左側のファンは右側と同じサイズですが、最近、秋月より購入した安価なものですが、こちらは、かなり静かです。

このふたつのファンで、風を左から右へ抜けるように、CPU用の放熱板に吹きつけています。 70W出力中にファンを1個止めると、Idがすこしずつ上昇を始めますので、効果はバツグンです。 ただし、電流の増加は数十秒でとまり、こんどはゆっくり減少に向かいます。 この減少に向かうのは、温度補償が効き過ぎている為で、弊害として1分以上エージングすると、ゆっくりと出力も減少します。  10分くらいのエージングで、50Wの出力が42Wくらいまで落ちます。 この弊害は、壊れるよりはましですので、このままです。

やっと、リニアアンプが完成しましたので、TSSへ保証認定を依頼している間に、エージングテストをやることにします。

 

 

一応、まともに動き出しましたので、スプリアスや2信号特性を確認しました。

70woutsprias

100w_amp_lpf1

 

左上は70W出力時のスプリアス特性です。 100W出力にしたら、第2高調波を含め、さらに良くなります。右上は、7MHzのLPFの上部が開いていましたので、蓋をしました。 蓋の有り無しで、データは変わりませんでしたが、気休めです。

なお、これはFETのバラツキと考えられますが、各100mAのアイドル電流にした状態では、第2高調波が、-35dBくらいまでしか落ちていませんでした。 そのため、スペアナを見ながら、バイアス電圧をいじってみました。 結果は、一方はバイアス電圧を上げると、高調波が少なくなるのに、もう一方はバイアス電圧を下げた方が高調波は下がります。結局、両方とも100mAに調整した後、一方のバイアス電圧を下げる方向で調整し、-50dBはクリアーしています。

20wout_2tone

50wout_2tone

 

Inout

左上が40Wpep出力時の2信号特性です。 右上は、100W平均値出力時の特性で、100Wpepとは異なります。 ただ、この波形は70Wを30分くらい連続出力した後の波形です。

無信号送信状態にしておき、入力を5秒間加えて出力を測定し、直ちに入力OFF。次に入力ONまで10秒以上休むというやり方で、測定したデータが左のグラフです。 このデータを見る限り、90Wくらいまでは、リニアリティが確保されているのが判ります。 私のスペアナの分解能が悪く、IMD特性は見る事が出来ません。 測定専用のバンドスコープ付きSDR受信機を用意できたら、測ってみようとは思いますが、あまり良い特性ではないと、思われます。 ただし、変調音を聞いた感じでは、違和感は有りませんでしたので、当面はこのままです。

また、前回の調整から1か月以上経過したLO漏れとUSB漏れをチェックしましたが、いずれも -50dB以下を確保し、ドリフトはありませんでした。

リニアアンプのケース入れが完了しましたので、この状態で、エージングテストです。

Asing70w0

久しぶりに、コメットのSWRメーターとオイル冷却ダミーロードを物置から引っ張りだし、TS-930Sを信号源として、エージングテストをしました。

まず、最初に100W出力で、2分間、連続出力した後、70Wに出力を落とし、そこから、30分間、連続出力を行いました。 時間経過とともに、出力が減少しますが、これは、TS-930Sの出力が下がるのと、このリニアアンプのゲインが下がるのが原因で、下がってきたら、TS-930Sの出力を上げ、常に70W出力が出るようにしました。 最初、入力2.5Wで70W出ていましたが、2分くらい経過すると、出力が下がり始めるので、出力70Wをキープするように、TS-930Sの出力を調整しました。  30分のエージングが終了し、その時のTS-930Sの出力は3Wになっていました。 その状態で、入力を10Wまで上げてみましたが、アンプ最大出力は100Wでした。 

Ts930out

Asing70w1

左上は、70W出力時のTS-930S出力。 右上は、リニアアンプの出力波形です。 出力波形は、スペアナのデータでも判るように、完全な正弦波です。

エージング終了後、出力を可変すると、30W前後の時だけ、約5MHzと10MHzのスプリアスが発生します。 原因は、FETの電流がこの付近の値の時だけ発振するようです。 多分、FETのゲインがこの出力付近で最大となるのでしょう。 対策として、ドレインからゲートへ1000p+1Kのシリーズ回路で負帰還をかけることで解決しました。

100w_amp_cab

もともと、このケースのフロントパネルは紺色でしたので、このアンプも紺色で仕上げました。 メーターの左側に縦線が見えるのは、A4サイズのプリンターでは、パネル全体を印刷できず、この線の部分を境に分けて印刷した為です。

TSSの保証と、総通の許可が降りたら、ON AIRにトライします。

SDR_100W_TX_BLOCK.pdfをダウンロード  

10Wのトランシーバーでもコメントしましたが、サウンドカードの中のブロック図は理論的に考えられるブロックで、HDSDRの中が、このようになっているかは確認していません。

 

このテストの途中、送信から受信にした時のタイミングが、SDRより、リニアアンプの方が、かなり遅れます。 遅れは1秒以上です。 原因を調べたところ、SDR側のフォトカプラーのLEDにつながる電源ラインが、負荷となるリレーとデカップリングコンデンサの為、かなりゆっくり降下し、その間、LEDの消灯開始電圧まで、フォトカプラーの2次側TRがONしたままになっていました。 対策として、フォトカプラー内のLED両端に510Ωを並列に入れ、電源ラインが6V以下になると、LEDが消灯するようにしました。

LED消灯対策済み 7MHz_SDR2.pdfをダウンロード

  

70W 30分のエージングテストは終了しましたが、ON AIRの許可が出るまで2週間はかかりますので、ダミー抵抗に出力しながら、模擬運用を行っていますが、事故が2件発生しました。

まず、40Vでテスト送信を開始したら、どこかでスパークが起こり、明るくなったのですが、どこでスパークしたのか判りませんでした。 それでもアンプは正常に動作しており、正常にテストが終了しました。 後日、コンベンショナルトランスのメンテの為、これを取り外すと、電源が供給されるチョークコイルを通った後の、コモン部分に設けた4個の104Kの内、2個のチップコンデンサが黒焦げになっていました。 チップコンデンサが黒焦げになりましたが、オープン状態となった為、アンプは正常にに動いていたものです。 このコンデンサはDC50V耐圧のもので、ここに通常電源電圧以上の電圧は加わりません。 壊れたチップコンデンサはメーカー不明の秋月から買ったもので、壊れなかったコンデンサはRSで買ったTDK製でした。TDK製は全部使い果たし、秋月のものしか手持ちがありませんので、秋月のものに、とりあえず交換しました。 1週間後、このスパークが再発しました。 壊れたのは、また秋月から買ったチップコンでした。 今度は、村田SSのラジアルタイプ0.1uF2個に変更し、様子を見る事にします。 

35V 20Wくらいで、エージング中にアンプ入力をON/OFFしていたところ、突然、出力なしになりました。 調べると、FETと電源は正常、 バイアス電圧が2Vくらいまで下がり、FETがカットオフ状態になっていました。 この原因も入力トランスからの信号をFETのゲートに接続するとき、絶縁の為に挿入した50V 104Kのチップコンデンサが、絶縁不良を起こし3KΩ位の抵抗値を示していました。 ここでもDC50Vを超えるような電圧がかかるとは思えないのですが、壊れてしまいました。 修理は、同じ50V 104Kに交換です。

 

Biascarve

FETのゲートバイアスの温度補償が、効き過ぎの状態でしたので、左のグラフのように、温度変化に応じて、傾斜が変わるような回路を作り、その効果を確認してみました。

このカーブは、R37、R38の値をパラメーターとして、作成したものです。 グラフはVR4によるバイアスを3.5Vくらいに固定して作成しましたが、VR4を動かすと、飽和レベルが上下します。

VR4による固定バイアスを実際に動かしながら、実験した結果、従来の回路では、例えば、50W出力から、いきなり入力をOFFにした場合、即、元のアイドリング電流以下まで戻り、ひどい時は、一瞬0mAになります。 これは、高出力時、回路がB級ではなくC級で動作していたことを意味し、リニアリティの悪化につながります。

正常なバイアス状態は、出力レベルにかかわらず、常にB級もしくはAB級で動作する事ですから、入力OFFしたら即座にアイドリング電流値に戻らねばなりません。

従い、実際の調整方法は以下のようになります。

まず、R37,38を2.2KΩに固定しておき、さらにVR1,VR2最小の状態でVR4を最小電圧になるようにしておき、VR1とVR2を調整し、アイドリング電流が100mAになるように調整して置きます。 そのあと、出力を70Wくらいまで上げ、FETが十分熱くなったら、急に入力をOFFします。 すると、ドレインに流れる電流は即、アイドリング電流まで落ちるか、あるいはそれ以下になります。

同様にして、VR1,2を最小にした後、VR4による初期電圧を少しあげ(0.2V刻みくらい)、VR1,2でアイドリング電流を100mAに調整します。そして、また70W出力にした後、入力をOFFした時の電流を観察します。 

これを何回か繰り返していくと、あるVR4の電圧を超えると、入力を調整し、OFFしても,即アイドリング電流に戻らず、数秒から10秒以上遅れるようになります。 この遅れが発生するようになった場合、70W出力の時、アイドリング電流が増えていることを意味します。

そこで、VR4による電圧を少し下げて、入力OFF時、即、電流がアイドリング電流まで落ちるポイント選び、その状態に固定します。

これで、温度補償を考慮したバイアス電圧の設定は完了しましたが、場合によっては、出力レベルにり第2高調波が、規定の50dB以下に収まらない事が発生します。

もし、そのような現象が発生した場合、以下の調整を行います。

VR4は先に決めたポジションにしたまま、再度アイドリング電流をVR1,2を調整して、今度は120mAくらいに設定し、入力を次第に上げていくと、出力レベルにより第2高調波レベルが変動する現象がみられます。 この現象が現れたら、第2高調波レベルが一番高くなる出力にしておき、そのレベルが小さくなるようにVR1かVR2どちらか一方を調整します。 どちらを調整すのかは、VR1もしくはVR2をバイアス電圧が低くなる方向に回したとき、高調波レベルが下がるVRのみを調整します。 

このようにして調整した結果、100W出力で第2高調波を60dB以上低くする事ができます。 ただし、ある程度が限度で、VRを調整しても低くならないときは、LPFのATT量が不足とか、LPFの入力が出力と結合しているとか、ほかの要因が考えられます。

100wpa_bias7

この調整方法はスペアナが無くても可能です。 第2高調波である14MHzを受信して、7MHzの基本波より50dB以上低ければ問題なしです。

この調整状態で確認した2信号特性のリニアリティが以下の波形です。 80Wくらいまでなら、我慢できる波形をしています。30分エージング後の波形で、左から順に60Wpep、80Wpep、100Wpep出力時の2トーンの波形です。

30w_2tone

40w_2tone

50w_2tone_2

また、当初より有ったエージング中にゲインが低下する件も若干の改善がみられました。 入力2.2Wで70W出力があった状態で、30分エージング終了後、同じ70Wを出す為の入力は2.4Wくらいでした。 なお、30分エージング後の最大出力は入力を10Wにしても、100Wと変わりませんでした。

 

下の写真は、完成したリニアアンプの内部です。

 

100wpacomp

1週間で、TSSの認定がおりましたので、即日、総通へ、SDRトランシーバーとこのリニアアンプの追加申請を行いました。 そして、さらに1週間後、総通から審査終了のメールが届きました。 指定事項の変更はないので、即ON AIRできますが、その前にHFのアンテナの整備が必要なようです。

HFのアンテナを4か月くらい使っていなかったのですが、ベランダのMTUを調整して、いざ、送信機に繋ぐと、SWRが3以上になります。 色々試した所、同軸の長さでSWRが変わります。 また、新しい問題が出てきました。 1時間余り奮闘した結果、MTUにつながるMコネクタのゆるみが原因でした。 それを対策して、CQを出しました。 1エリアのOMさんとつながりましたが、了解度がさっぱりです。 RSの交換のみで終わってしまいました。 そのときのバンドスコープが以下です。

40m1stqso

コンディションが良い時は、左にある橙色の帯が画面いっぱいに広がるのですが、さすがに、カーソルが示す周波数帯の信号は、良く見えません。 相手の方には59で届いているみたいですけど、残念ながら、こちらの受信状況はR2くらいでした。 

ここで、送信と受信のアンバランスが問題として浮上してきました。 今後の課題です。

dsPICでSSBトランシーバー(SSBジェネレーター)へ続く。

 

実際に運用を開始すると、バイアス回路やファンモーター駆動用の12V電源のトランジスタがあっちっちになります。 この対策の為、電源回路に14VのDC出力を追加し、12V電源は電源から直接供給を受ける様に変更を行いました。 ところが、リップルが多くて、12V電圧では、ハム音が変調されますので、9Vの3端子レギュレーターをダイオードで0.6Vほどかさ上げし、9.6Vの安定化電源を作り、これでモーターとバイアス回路をまかなう事にしました。

最終状態の配線図 PWR-AMP100W_8.pdfをダウンロード

 

200Wリニアアンプの検討はこちら

 

INDEXに戻る

2020年2月27日 (木)

HDSDR用ダイレクトコンバージョントランシーバー改訂版

カテゴリ<SDR>

LOのキャリア漏れが経時変化で3日も持たないという問題に遭遇し、一時、諦めていたダイレクトコンバージョントランシーバーでしたが、既存のICミキサーを使い構成したIQミキサーの予備検討で、うまくいきそうな感触をつかみましたので、今までのSoftrockコピー品とは異なる、HDSDR用の直交復調器、および直交変調器を作成し、実用可能なSDR SSBトランシーバーの制作に再トライです。

まず、LOの漏れで失敗したQSE回路は止め、ギルバートセル回路をIC化したダブルバランスモジュレーターNJM2594を2個用意し、これでIQミキサーを構成する事にします。 このミキサーは無調整でキャリア漏れを-40dBくらいに抑える事ができ、マニュアルのバランス調整回路を追加する事により-60dB程度まで実現出来る可能性を秘めています。 問題は、2個のICで構成したIQミキサーが、直交変調器として動作するかどうかですが、これは、回路実装が終わってから、確かめる事にします。

また、チューナーの検討の途中で、90度位相の異なるキャリアの高調波成分を抑えると、受信時のノイズが10dBほど少なくなるという現象がありましたので、SoftrockのQSD回路ではなく、高速アナログSWとフィルタリングしたLOを加える事により、受信S/Nの改善を期待する回路に変更する事にします。

Sdr2_rx

 上の回路図は、S/Nを改善する為に、IQ復調回路を2G66に戻し、キャリアの高調波を少なくする為にシリーズ抵抗によるLPFを追加した回路です。 2G66の入力端子には、数PFの容量がありますので、このCとシリーズのRによりRC LPF が出来ています。

Sdr2_rx_2

Sdr2_demod

左上は、途中までマウント完了した90度位相の異なるIQキャリア発生部分と受信回路です。 このIQ復調回路に加えるキャリア(LO)の波形が右上でかなり高域をカットしました。 そして、この状態で7MHzを受信したのが、下のスペクトルです。

Sdr2_wh

 

Sdr2_rxiqbalance

ノイズレベルが-120dB付近にあります。 この日あまりコンディションが良くなく、TS930のSメーターでも一番強い局がS9くらいでしたので、従来よりかなりS/Nが良くなったのではないかとと期待しています。 このIQ復調回路に、2G66という高速アナログSWを使いましたが、74HC4066でも問題なく動作するはずです。

左のスナップは、これらの回路条件で、HDSDRの受信IQバランスの設定状態です。 Right Delayのレベルが赤色に変わるほど、バランスレベルが狂っていました。 この原因は、ノイズを削減する為に、LO供給回路にLPFを入れ、高調波を小さくしたことにより、I及びQのキャリアのレベルや位相がかなりずれてしまい、それをHDSDRの調整機能でカバーした事によります。 USB信号のリジェクションレベルは-50dBくらいです。 アナログ回路にかなりの誤差が有っても、それをカバー出来るだけの広範囲のバランス調整機能が実装されているのは有難い事です。  このRight Delayのレベルは、その後の再調整にて、赤色が消える状態で、調整可能になっています。

以下、その後の感想です。

100Wのリニアアンプが完成し、総通の許可も降り、いざQSO出来る体制ができると、受信機の性能の悪さが大変気になります。 バンドスコープでS/Nが10dBくらいのLSBを聞いても、R3です。 同じ信号をTS-930で聞くとR5です。 ダイレクトコンバーションのRXは聴感上の了解度ははなはだ悪いというのが実感できます。これを少しでも改善する為には、HDSDRをインストールしたPCにつながったサウンドカードを最低のサンプリングレートに設定する事のようです。  

一方、送信用のIQ変調回路は、NJM2594によるかなりシンプルな回路とします。 その回路図を下に示します。

Sdr2_tx_iqmod_2 ギルバートセルで構成されたNJM2594は、SoftrockのQSE回路程ではないにしろ、通常のAMPより低インピーダンスで動作し、IQ信号の入力インピーダンスは600オームくらいしかなく、その前にあるバッファーのOPアンプは低出力インピーダンスが要求されますので、秋月で手配したAD8532ARをそのまま使います。ただし、SoftlockではIC2個使っていましたが、この回路では1個でOKです。 その代わり、変調回路のICが2個使いになります。

この変調用ICの応用例では、キャリアも信号も1MHz以上のRFとして説明していますので、今回のように、信号が低周波の場合、周辺のコンデンサの容量を低周波用に修正しておく必要があります。 また、Softrockで有った、キャリアの位相を調整する為のトリーマーは付けておりません。 それぞれのICでキャリア漏れを無視できるまで、減衰できたら、位相を合わせてキャンセルさせる必要はないというのが理由です。

このようにして組んだ回路の全体が下の写真になります。

Sdr2_trxcomp_2

Sdr2_trxcompback

この基板を組むのは2回目となりますので、先に部品配置を検討することができ、かなりすっきりした配置となり、かつ、念のため、各ブロックをシールド板で囲みました。さらに、変調回路へのキャリア注入は、LO回路から同軸で結すんでおります。

Sdr2_txiq

Sdr2_lo_leak

左上が変調ICのキャリア入力波形で300mVppくらいあります。 高調波が多いですが、変調後段にはいくつもの7MHz共振回路がありますので、問題になりません。 右上は、この回路の最終段におけるDSB信号のスペクトルです。 信号周波数は8KHzですが、まだ、IQ信号を加えていませんので、USB、LSB両方の信号が出ております。大きな信号のセンターに少し出ている信号がLO漏れです。LO漏れキャンセル回路は無調整ですが、すでに-40dBくらいのキャリア漏れに抑えられていますので、完成状態で調整することにより-50dBくらいは確保できるのではないかと期待が持てます。

ここまでの配線図 SDR2-TRX.pdfをダウンロード

受信のRFアンプにデュアルゲートのFET BF1211WRを使っていますが、この便利なFETは廃番となり、入手が難しいので、東芝の3SK293による回路例も示しておきます。 また、変調回路の+Bラインに6.3V2200uFのデカップリングコンデンサが付いていますが、これはたまたま手持ちが無かったので使っているもので、100uFもあれば十分です。

Sdr2_mount1_2

Sdr2_lo_usb

左上は、IQ変調回路基板を入れ替え完了した状態です。 右上は、NJM2594のキャリア漏れキャンセル回路を調整し、かつ、HDSDR内のIQバランスを調整した状態です。 キャリア漏れは-45dBくらい、USB漏れは-52dBくらいになっています。 この状態で、電源を切り、1日放置した後、再測定してみる事にします。

Sdr2_2w

Sdr2_2sig

左上が15時間くらい経過した、朝のテスト結果です。右上は、同じ出力条件での2信号特性です。 とりあえず、半日くらいは問題ないようです。 この後、ドライヤーで温めてみましたが、大きな変化はありませんでした。

Sdr2_after5days

Sdr2_readjjpg

左上は、5日後のキャリア漏れとUSB漏れです。前回とほとんど変化はなく、期待した通りの状態を維持しております。 右上は、LO漏れを最小にすべくNJM2594に設けた半固定抵抗を微調整したもので、キャリア漏れは-51dBくらいになりました。 このキャリア漏れを再調整した事によりUSBイメージが若干悪くなりましたが、HDSDR側のキャンセル機能でノイズ以下にする事ができます。 また、出力アップ時のスプリアスは、LOとTUNEのOFF SETをゼロにしますので、許容範囲に収まります。

今後さらに確認を継続しますが、何とか使える見込みができましたので、一旦中止した100Wリニアアンプの製作を再開することにします。

Txtrable_r22

この基板のチップコンデンサの電極断線が3か所も発生し、まともに動作させるまで半日かかってしまいました。 また、トランジスタのコレクタの半田不良により、送信ができなくなるトラブルも発生しました。 左の画像で赤丸の部分ですが、写真で見る限り、半田付けされていません。 しかし、機械的には接触しているようで、動作上は、異常はありませんでした。100Wリニアアンプ検討中に、出力が出なくなるという問題に遭遇し、困っていましたが、その原因がこれでした。 回路が熱を帯びると、膨張の為、接触しなくなり、ベースバイアス電流が狂うという症状で問題が現れました。

チップ部品の半田付けは見た目以上に難しいですね。

リニアアンプにつなぐ為、出力のリニアリティをチェックしました。

Sdrout1p5w

Sdrout2w

Sdrout2p5w

Sdrout3w

左から、出力 3Wpep  4Wpep  5Wpep  6Wpepです。4Wpepまでは、リニアリティの悪化は少ないようですが、5Wpepあたりから、見える形で飽和がが始まっており、6Wpepでは、はっきりと飽和が認められます。 100Wのリニアアンプを最適に使うためには、5Wの出力のとき、70Wくらい出るのが理想かも知れません。

100Wリニアアンプと結合したとき、送信状態から受信に切り替わる場合、リニアアンプが受信になるまで、1秒以上の遅れが有りました。 その対策として、フォトカプラーのLED側に抵抗を追加しました。

LED消灯対策済み 7MHz_SDR2.pdfをダウンロード

 

100Wリニアアンプの制作に続く。

INDEXに戻る

2019年12月14日 (土)

ダイレクトコンバージョン式SDR完成(送信部)

カテゴリ<SDR>

前回までに、各基板を組み立て、動作確認と、ソフトのデバッグも一通り完了しましたので、次はリニアアンプを含めた送信ユニットの動作確認と調整です。

送信用のDC/DCにリニアアンプをつないで、いざ送信状態にすると、電源電圧が1Vくらいまで落ちてしまいます。 無負荷の場合、13Vくらいをキープしていますが、負荷がかかったとたん、電圧が落ちます。 配線ミスかと、電源基板をひっくり返して調べてみましたが、異常は有りません。 困り果て、このDC/DCの仕様書を読み直すと、DC/DCの入力部には390uF以上、出力部には、780uF以上の電解コンデンサを付けろとあります。 今までは0.1uFしか入っていませんでしたので、まず出力端に1800uFを追加しました。 この追加で正常に動きだしましたが、まだ入力部には0.1uFしか入っていません。 手持ちの電解コンデンサでサイズの小さなコンデンサは50V47uFしかなく、やむなくこれのみを追加して様子を見る事にしました。 とりあえずは5W15分間くらいの連続送信でもOKのようです。

修正した配線図 SDR-TRX_POWER2.pdfをダウンロード  

Sdr700hzmod

電源が正常になって、最初に見たのは、キャリア漏れとUSBイメージの漏れです。

LOとTUNEのOffsetを8KHzとしてトライします。

左のスペクトルは700Hzの信号で変調した時のスプリアスです。 キャリア漏れ調整用のVRを多回転タイプに変更したのが効いて、-47dBくらいに苦労せずに落とす事ができました。 VRの調整が楽になったので、逆に60Pのトリーマーの調整がクリチカルに感じられます。

USBのイメージ信号も、-53dBくらいまで落とせました。   ここは、もう少し根気を入れて調整すると-60dBも可能かも知れません。

この状態でOffset周波数をゼロとして、音声をTS930でモニターして見ました。 音質的には、かなり低音が伸びた音ですが、歪感はほとんど有りません。 歪感が無い為、かなり柔らかい音質になっており、逆に了解度を落としているような気がします。 ここは実際にON AIRしたとき、意見を聞き、MICの周波数特性を調整する事にします。

そのoffset 0 のスプリアスデータが以下の4枚です。 測定に際し、ATTが入っていますので、絶対レベルは無視して下さい。

Sdr_200kspan

Sdr_1mspan 

Sdr_10mspan

Sdr_50mspan

左上が、スパン200KHz、右上がスパン1MHz、左下がスパン10MHz、右下がスパン50MHzです。余計なスプリアスは皆無で、第2高調波の14MHzも-58dB以下、3次以降はノイズレベルに収まっています。

電源トランスと整流回路は、2A負荷時のDC電圧が、24Vくらいありますので、ファイナルとそのドライバーの電源のみを、レギュレーションを確保できる18Vまで上げました。 さらに、ファイナルのトランスの2次側ワイヤーをAWG24からAWG18に変更しました。 その状態でも出力は7Wくらいしかでませんが、アイドル電流を1.7Aまで増やすと12Wの出力がでます。 しかし、アイドル電流1.7Aは多すぎます。 ここまでアイドル電流を上げる必要があるのは、プッシュプル用のIRFI510のゲート電圧がバラツキ、両方同じバイアス電圧では、どちらかのFETにまともにアイドル電流が流れていないことになります。

この対策の為、ゲートバイアス調整回路を独立させ、FETのバラツキに合わせて、個別に調整出来るように回路変更しました。

Sdr_pamp2

上が、その変更後のパワーアンプです。バイアス調整用半固定を2個にし、1石当たり400mA、2石で800mA流れる様にしたとき、出力10Wとなりました。

TSSへ申請し、途中、IRFI510の仕様書を送れというコメントが付きましたが、1週間で認定を受ける事が出来ました。 そして、さらに1週間後に総通での審査が終了し、この増設は承認されました。

これで、電波として発射できる様になりましたので、ON AIRにトライする事にします。 

12月の午後7時ごろ、珍しく6エリアの局が1局だけ聞こえますので、試しにコールしてみました。 1回のコールで捕っていただき、以外と簡単に1st QSOが成功しました。 ただし、問題も発覚。 7200KHz以上の放送電波が混信します。 どういう理屈で混信するのか判りませんが、LOの周波数付近だけで混信し、offsetを設けた場合、混信しません。 どういうメカニズムで混信が起こるのか今後の課題となりました。

また、チューニングの為、周波数を変更する度にミューティングがかかる問題ですが、周波数可変のステップを1KHzにして、我慢する事にしました。 最近のリグの周波数がDDS制御となり、7MHzの場合、ほとんどの局がキャリア周波数をKHz単位で設定し、交信していますので、1KHzスパンの可変でも問題ないようです。 もちろんスパンを100Hzに切り替える事ができますので、SSBの場合、ほぼ全ての周波数で運用は可能です。

ただ、ワッチだけしている時の選局操作性は良く有りませんので、この場合は、LOとTUNEのシンクロを解除して、PC側のバンドスコープを見ながら、マウスで選局する事にしています。

10Wリニアアンプ 最新配線図 SDR-TRX_RF_POWER2.pdfをダウンロード

電源供給回路に有った、FETによるスイッチング回路は廃止しました。送信ON時の電源はDC/DCを直接スタンバイ信号で制御する事にしましたので、不要になった為です。

ファイナルのFETのゲートバイアス用に追加したR1,R2の抵抗は、手持ちの関係で2.4KΩにしたもので、ここは、1kΩから10KΩくらいの適当な抵抗でもOKと思います。

ドライバー段の直流動作ポイントが最適になるように、ベース抵抗を半固定抵抗に変えてあります。

Sdr_trx_comp

TSSの認定時に提出したブロックダイアグラムを添付します。

5_sdr_trx_block.pdfをダウンロード

このブロック図の中で、サウンドカードとして囲まれたブロックは、実際にHDSDRが、このようになっているのかは確かめていません。 サウンドカードにアナログのマイク入力を加えると、サウンドカードの出力から約0.3秒遅れて、ベースバンドのI信号とQ信号が出てくる事実を元に、原理的に実現できるブロックを示したもので、ここは、入力と出力の関係が合っておれば、どんなブロック図でもOKと考え提出したものです。 TSSも総通もこれで承認していただきました。

LOとTUNEのOff set周波数がゼロになった場合の2信号特性を比較しました。

Os825

Os025

上はUSB漏れが-25dBのバランス調整不完全状態での出力波形ですが、左がOffset 8KHz、右が0KHzです。 Offset ゼロの場合、かなり歪んでいます。

Os850

Os050

上は、USB漏れが-50dB以上になるようにIQバランスを調整した状態で、左が、Offset 8KHz、右がOffset 0KHzです。 右の波形は左より歪んでいますが、USB漏れ-25dBより、かなりマシな波形をしております。

Iqreadj

Iqreadj_os0

上のスペクトルは、左が、Offset 8KHzでUSB漏れを-50dB以上に調整した場合、右は同じUSB漏れで、Offsetを0KHzとした場合です。 左側に有った-43dBくらいのスプリアスは右側では、完全に消えています。 これらの結果から、SSBの変調音に歪が生じますが、ゼロオフセットで運用した方が良いという結論です。

この様な結論になる条件として、IQバランスやキャリア漏れが重要になりますが、アナログ回路の宿命として、バンドを変えると、いずれも、調整をやり直さなければなりません。 アナログ式のダイレクトコンバージョントランシーバーに、マルチバンド対応を要求するのは、無理がありそうです。 

3rd QSOも成功しましたが、出力10Wで、昨今のコンディションでは、安定したQSOは望めませんので、このトランシーバーの後に追加するリニアアンプを作る事にします。 

リニアアンプを作り始め、1月下旬には、このSDRトランシーバーを接続して、動作テストするところまで来ました。 ところが、前回の調整から、約3週間過ぎてみると、キャリア漏れが-20dBくらいまで悪化していました。 経時変化がかなり大きく、ここで、再度、キャリア漏れを最小に調整すると、IQバランスがくずれますので、IQバランスも再調整が必要となります。 最大のドリフト要因は、DCバイアスのずれで、半固定抵抗を再調整しなければなりません。 また、トリーマーも半固定VRほどでは無いにしろ、再調整が必要です。 結局、このトランシーバーは、使う前に必ず、LO漏れとIQバランスを再調整しても、3日も経つとLO漏れが-25dB程度までドリフトしてしまい、安心しては使えないものであることがわかりました。 リニアアンプも半分はできましたが、100Wで送り出すほどのSSB信号の完成度はなく、リニアの制作は中止しました。 その代わり、継時変化の少ない直交変調器に関する情報を探す事にします。

1か月近く調査、検討した結果、LO漏れを抑えられる回路の可能性がみつかりました。 

HDSDR用ダイレクトコンバージョントランシーバー改訂版 へ続く。

 

INDEXに戻る

2019年11月17日 (日)

ダイレクトコンバージョンSDR(組み立て)

カテゴリ<SDR>

DDS VFOを含め、主要な各ブロックができましたので、これを、使用可能なトランシーバーにまとめる作業です。 ケースは、ヤフオクで落札したパナソニックの周波数カウンターで、その中身を取り去り、新にSDRのトランシーバーを組み込みます。 

まずは、ケースを採寸し、JWCADで図面化し、改造内容や、新に作る部材を検討します。

Sdrtrx_frontjw 元が周波数カウンターでしたので、周波数を表示するLEDが8個並んだ表示部がありました。 ここにLCDの窓が収まるようにデザインを決め、右端の入力端子エリアはスピーカーを取り付ける為、穴をいっぱい開け、付属していたレベルメーターは、目盛板を書き換えて、電源の電流計に変更します。

今回は電源を内臓させます。 受信用は3端子レギュレーターによる12V、送信側はDC/DCコンバーターによる14Vとして、新規に作りました。 基板はエッチングではなく、アクリルカッターで銅箔を切り出した手作りです。

Sdrtrx_power_pcb_back

Sdrtrx_power_pcb_top

結構高密度ですが、50mm x 144mmの基板に収まりました。

パワーアンプ部は、ちょうど、アルミの仕切り板がありましたので、その板をシールド板として、LPFやアンテナリレーを組み込みました。 アンプはオープン状態ですが、回り込み等が発生するようなら、シールドを考える事にします。

Sdr_trx_poweramp

一応、全部のユニットをまとめたものが下のショットで、送信用のサウンドカードやUSBハブも内臓させます。

 

Sdrtrx_top0

Sdrtrx_front

Sdr_40m_trx2

パネルも、プリンターで印刷したクラフト紙を張り付けて、なんとかサマになりました。 

各ユニットの結線を行うに際し、一部コネクターの変更を実施し、以下の回路図のごとく修正しました。

直交変調回路 SDR-TRX5.pdfをダウンロード

DDS VFO SDR-TRX_VFO1.pdfをダウンロード

電源 & スピーカーアンプ SDR-TRX_POWER1.pdfをダウンロード

この電源は、送信用DC/DCが動作せず、次の記事で回路変更を実施しました。

リニアアンプ SDR-TRX_RF_POWER1.pdfをダウンロード

Usb_c_x

とりあえず、受信部の動作確認ができました。 DDS VFO側からHDSDR側のTUNEやLO周波数を可変できるのですが、周波数を可変すると、一瞬ミューティングがかかり、今どの周波数を可変しているのか判らなくなります。 通常のトランシーバーのように、SSBの音調が連続的に変化して、ゼロインできる感覚が有りません。 慣れたらOKなのか、しばらく様子を見る事にします。  配線が入り乱れていましたので、線処理をしていたところ、FT234XにマウントされているUSBソケットが銅箔ごとはぎ取られてしまいました。 SMT部品は、こういう機械的な強度を全く考慮していなく、気を付けないと、あっと言う間に壊れてしまいます。 やっとの事で、組み立てを完して、さあ、これから、送信機能を実用レベルになるように調整しようと、考えていましたが、ガックリです。 ソケットを元の状態に戻すのは不可能でしたので、USBコネクターの各端子にUSBケーブルを直付けする事にしました。 端子間ピッチが0.5mmですので、そこにケーブルをハンダ付するのは、大変で、10倍ルーぺで何度も確認しながら約2時間の作業で、なんとか動作するようになりました。 

Trx_vr1_2

LO漏れをキャンセルする半固定抵抗はクリチカル過ぎて、なかなか最適値に調整する事が出来ませんでしたので、同じ5KΩの多回転タイプに変更しました。 これで、キャリア漏れを最少にする為の調整が楽になる事を期待したいと思います。

トランシーバー化するに当たり、追加したRIT機能や、10MHzを送信モードにして10MHz標準電波でゼロビートを取り、DDSの発振周波数を校正する機能も追加しました。 もちろん、校正したデータはEEPROMに記憶されます。 バグがあるかも知れませんが、とりあえずはソフトも完成です。

7MHz_TRX_for_HDSDR-1.cをダウンロード

Offset周波数がゼロ以外のとき、送信から受信に切り替えると、HDSDRの周波数が変わってしまうというバグが見つかり、上のファイルは修正済みです。

使っているPCが8年前のモデルで、スイッチON後、なかなかアプリが動作する状態になりません。特に、OSの更新が行われる度に遅くなるような気がします。 電源ONしてからHDSDRが動作するようになるまで5分かかっていました。 そこで、年末ぎりぎりでしたが、PCをwindows  10に変更しましたので、快適に操作できるようになりました。 ロータリーエンコーダーのチャタリングにより、周波数可変が数ステップ飛ぶというバグがありましたので、対策を実施しました。 対策と言っても、エンコーダーからの割り込みが有り、処理を完了した後、2ミリ秒間次の割り込みを禁止したものですが、問題なく動作しています。 PCをWindows 10に変えたと同時にMPLABX IDEやXC8,XC16も最新バージョンをインストールしました。おかげで、トラブルは全くなしです。

Handasuitori_ng電源基板を組み立てる時、ハンダのタッチ部分を修復する為に、ハンダ吸い取り編線を部品箱から探しだし、いざ使おうとすると、フラックスが全くしみこんでいない、ただの編線でした。 2個買ったのに、2個とも同じです。 どこから買ったのか忘れましたが、多分、何に使うか判らない業者が、コピー品を作り、安く売り込んだのでしょうが、それを、売っている販売会社も使い方をしらないのでしょうね。 仕方がないので、フラックスのビンの中に編線を押し込み、フラックスをしみこませた後、半日、日光で乾燥させて自作しました。

 

さあ、次はいよいよ、送信部の調整です。 ダイレクトコンバージョン式SDR完成(送信部)へ続く。

INDEXに戻る

2019年10月 6日 (日)

SDR用LO(ローカルオシレーター) Si5351A

カテゴリ<SDR> [Si5351A VFO]

SDR用のリニアアンプも出来ましたので、次は、このSDR専用のDDS VFOの作成です。 DDSは、Si5351Aを使います。 これを制御するマイコンは、手持ちしていたPIC18F14K50という8bit品です。 

配線図 7MHzDDSi5351-0.pdfをダウンロード

HDSDRを制御する必要から、RS232Cのインターフェース付で、CATコントロールが出来るようにハードを構成しますが、まずは、DDSの部分だけの開発になります。

Si51351_pwb 左が、主要部品を実装した基板です。 使用したLCDが5V品でしたので、DDSやマイコンのVdd 3.3Vとマッチしません。 そこで、3.3V/5Vの変換ICを入れてあります。 その為、変換基板が大きく、かなりの面積をこれが占有してしまいました。

Si5351Aは、RSから5個ほど調達して有ったので、秋月からMSOP 10Pの変換基板と25MHzのクリスタルのみ購入し、マウントにトライしましたが、クリスタルがあまりにも小さくて、ハンダ付け作業が、まともにできません。 作業中にピンセットではさみそこない、どこかへ飛んで行ったりし、最初から秋月で販売している基板マウント済みのユニットを買うべきだったと反省しています。

しかし、バラで買ってしまったものを、そのまま廃棄する訳にもいかず、以下の対策でなんとかDDSが動作するようになりました。

Muntxtal

Si51351_xtal

厚みのある両面テープを小さく切ってクリスタルを基板に貼り付け動かないようにしておき、極細の銅線で、右の写真のように配線しました。 この状態にするまで2時間くらいかかっています。 動作確認は通電状態で、クリスタルが発振しているかをオシロで確かめました。

このDDS用のソースプログラムはこちらからいただきました。 PICマイコンの品種が違いますので、レジスターの設定は異なりますが、それ以外は、無修整で動いています。 (Very TKS)

使用しています、Si5351Aのクリスタル周波数が正確に25MHzでは有りませんので、そこは、実際に発振した周波数に補正します。 周波数設定を7100000Hzにして、Si5351Aから実際に出力された周波数は7099KHz台でしたので、この7099K台の数値を7100000で割り算した係数を25MHzの数値に掛け算して、プログラムの中で定義したDDS周波数は24999395Hzとなりました。 ここでもTCXOの周波数カウターは、大いに役立ちます。

周波数カウンターが無い時のDDSの校正方法はこちらで紹介していますので、参考にしてください。 この記事の中で④のLO2の項目は無視してください。

Si51351_7mhz 右がDDSの指定周波数、左が、SDRのLO用に4倍した周波数で、5Hzの誤差となっています。 見ての通り、周波数カウンターに、白い雲が表示されるようになり、その面積が次第に拡大しています。 同時にコントラストも薄くなってきましたので、この周波数カウンター用LCDは、またも交換する羽目になりました。 aitendoで買った安いLCDは、これで2個続けてNGとなりました。

久しぶりにXC8を使う為に、最新バージョン2.1をインストールしました。 ところが、割り込みの記述でエラーが出て、1時立ち往生しましたが、インターネットで情報を探し出し、なんとか切り抜ける事はできました。

PCにターミナルソフトをインストールして、このVFOとPC間をRS232CタイプのCOMポート経由で通信するPICのソフトを、XC8を使い開発始めましたが、PIC18用の専用ライブラリは、最近のXC8では機能しなくなり、USART機能を一から構築する事になりました。 受信が出来るようになったけど、送信ができないと、1週間以上悩んだあげく判った事は、ADM3202の送信入力ピンがGNDにショートしていた事によります。 使用したSUB9pin用変換基板の配線誤りでした。

VFOとPC間の通信が出来るようになりましたので、いよいよVFOとHDSDRとの通信です。

Cattohdsdr

上の説明はHDSDRの「CAT to HDSDR」のダイアログに表示されるCAT通信に関する説明です。 CATフル対応ではないですが、VFO側から周波数と送信受信の切り替え、それにモードの変更をKENWOODのCATプロトコルで制御できるという説明です。 KENWOODのCATコマンド体系は公開されていますので、そのプロトコルで通信が出来るようにPICのソフトを組みますと、VFO側から、周波数や送受信の切り替えが出来るようになりました。 ここまで実現するのに、2週間くらいかかっています。

 

VFO側から操作して、HDSDRを使った送信機能をいじりまわした結果、LO周波数とTUNE周波数に一定のオフセット周波数を持たせたまま周波数コントロールが出来ること。 オフセット周波数をマニュアルで設定できる事もわかりました。 以下HDSDR側の設定です。

Pttcatonly

まず、左の設定で、PTTの操作をCAT onlyに設定し、CTSやDCD端子を使ったPTT操作は中止しました。 この設定により、送受信の切り替えは、VFO側からと、HDSDR側からいずれも可能になります。

Selectlooffset

Setlooffset

Optionsの中の「Misc Options」の中に「Tune fixed to "LO<->Tune Offset"」にチェックマークをつけ、「set LO<->Turn Offset」を開くと、上のようなダイアログが現れますので、そこにオフセット周波数をHz単位で書き込みます。 この数値は+/-表記ができ、上の例ではLOに対してTUNE周波数が10KHz高くなる事を意味します。

今回はDDE to HDSDRの機能は使いませんが、間違ってこの機能の設定を行った場合、後で、設定を取り消しても、取り消しが出来ません。 送信と受信を切り替える都度、DDEが設定されていない、もしくはターゲットが接続されていないなどのコーションが出て、このコーションのダイアログを削除しないと、送受信が切り替わらなくなります。 この状態に陥った場合、工場出荷状態にもどすしか方法が有りません。

Dde2hdsdr_2

Reset_hdsdr_2

工場出荷状態に戻すには、Misc Optionsの中のreset to factory settingsをクリックします。

HDSDRの説明ではLOとTUNEの周波数は、10KHzのオフセット周波数でデフォルト設定されていますが、直交変調回路の検討のなかで問題にしたように、日本国内でのスプリアス規制に合致しなくなる可能性がありますので、8KHz以下のオフセット周波数に留めるべきでしょう。

今回のトランシーバーはAMもCWもモードとして設定しないので、オフセット周波数0でも問題は起こらないと考えています。 この条件は、トランシーバーとして完成した時点で再検討する事にします。

Si53531_vfo

上が、いままでの回路全体です。 トランシーバーを構成する上で、HDSDR側だけオフセット周波数を設定しても、実用にはなりません。 受信、送信周波数はHDSDRも、VFO側も、このTUNE周波数になりますが、ローカルオシレーターLOの周波数はVFOが表示する周波数よりOffset分だけ低い周波数でなければなりませんので、VFO側の表示周波数とSi53531Aの周波数の間にもOffset周波数を加味した周波数設定が必要です。 要するに、VFOの表示周波数と実際に発生するDDSの周波数は異なるという事です。

Dispoffset

これらを網羅したPICのソフトができました。   左は、そのオフセット周波数をKHz単位で表示し、かつ、ロータリーエンコーダーで +10KHzから -10KHzまで可変できます。 もちろん、この数値はHDSDRで設定した数値とは連動しませんので、かならず、手動でVFO側とHDSDR側のオフセット周波数は合わせて置く必要があります。 このような面倒さはありますが、一応単体では、理屈通り動作しております。 これから、今までに作成した各ユニットをケースの中に収めて、SSBトランシーバーにまとめる事にします。

ここまでのPICソフト Si5351A_VFO.cをダウンロード

以上で一通りの機能は出来ましたが、これをトランシーバーとしてまとめるには、機能や使い勝ってが十分ではありません。 周波数表示もHDSDRの画面ではなく、このVFO側がメインとなりますので、8文字しか表示できないLCDでは役不足です。 LCDを16文字2行のタイプに交換します。 今秋月で扱っているブルーバックのLCDの中で、8文字2行より16文字2行の方が安く売られていますので、このLCDと、USBシリアル変換ユニットを手配し、232Cの通信回路を含めてやり代える事にしました。

変更した配線図 SDR-7MHz-TRX_VFO-0.pdfをダウンロード

従来の回路からの変更は、232Cの変換アダプタをFT234Xに変更した事、RIT及びそのクリアーキーを追加した事です。 LCDは回路図上の変更はありません。 また、RIT機能などを追加する為に、Key入力が必要になりますが、すでにi/oは満杯ですので、offsetキーと合わせて、AD変換によるキーセレクトに変更しました。

そして、これに対応するソフトは、OFFset周波数とTUNE周波数をEEPROMにセーブする機能と、校正用に10MHzを発振できるようにしました。  ただし、校正機能はまだ実装していません。

7MHz_TRX_for_HDSDR-0.cをダウンロード

7mhxtrxvfo

Sdrtrxcase

これらのユニットを一つのトランシーバーとしてまとめる為に用意したケースが左の写真です。 もともとは、Panasonicの周波数カウンターのジャンク品です。 中身は、すでに燃えない粗大ゴミで廃棄してあります。 ちゃんとまとめるには、少し時間がかかりそうです。 紹介出来る時期になりましたら、ブログを更新する事にします。

ダイレクトコンバージョンSDR(組み立て) へ続く。

INDEXに戻る