先日LPFを組み込んだ秋月ユニバーサル基板Bタイプに、送信部を実装しました。定K型2段LPFに続いてインピーダンス変換トランス、E級フライホイール、MOSFET、IR4427と7400ドライバ段、キーイング用電源制御回路、アンテナ切り替え用リレーと駆動回路を実装しました。VN-4002のコントロール部(2200m用ファームウエアに変更)から、送信信号出力、キーイング信号出力、PTT出力を接続して2200m用CW送信機が完成です。キーイングの電源制御には回路図のDMG3415パラではなく2SJ334というPchMOSFETを使用しました。60V30Aでオン抵抗が29mΩと小さく、このPAの電源制御には余裕です。(ただしディスコンマークが・・・)アンテナ切り替えについては、アンプの出力が大きいためVN-4002の回路は使えません。ここはオーソドックスにコントロール部のPTT信号でリレーを制御し切り替えを行っています。リレーは秋月の安い小型リレーです。アンテナ端子にダミーロードを繋げ送信し、市販のリグで信号を受信しました。受信アンテナは20cmほどのフェライトバーにコイルを巻き、エアバリコンで同調回路を設けたバーアンテナです。(そうしないと受信できません。2200mの電波はそうそう漏れないのです。一応50Ωに変換して出力していますセミブレークインに設定していますが、時折カチッカチッとリレーの小気味良い動作音が聞こえてきます。電源電圧9Vでおよそ13Wの出力、効率は約75%でした。フライホイールのLのコアも2つ重ねにしたのでこの程度の出力では他のコイル含め発熱はありません。20W以上にするとLPFのコイルが暖まってくるのでWSPR2間欠送信程度なら耐えられそうですがQRSS,DFCW30は10W程度に減力しないとちと厳しいかもしれません。コンパクトにおさまりました。余裕があるので基板を起こすときにはVSWR、電流検出回路を追加しようと考えています。基本的な諸動作は問題なさそうなので、次は専用のコントロール部を、さらにその次は受信部へ進めることにします。電子工作2017年9月17日日曜日2200m版E級増幅回路実装テスト完了160m版に引き続き2200m版E級ファイナル回路を実装しました。IR4427を使用しました。秋月で1個100円の安価なもので出力は最大1.5A流せるものです。スイッチング速度がやや遅いため160m版では採用しませんでしたが、2200mでは問題ないと思われたため導入してみました。4427は他のチップメーカーからも出ているようで、汎用のMOSFETドライバということですから入手にもそう困らないでしょう。最初の74HC00はSi5351Aの出力3.3Vを5Vにレベル変換し、後に続くトランスをドライブするため2段目を3パラ接続して出力を得ています。この部分はインバーターの7404や他バッファへの置き換えが可能です。トランスは136kHzという周波数の信号を伝達するためインダクタンスを大きくとりますが、160m版よりひとまわり大きなコアで製作しても充分でした。トランスによって180度位相差の信号2対を生成し、ダイオードで負電圧部分をクリップしIR4427ドライバの入力に各々接続してその出力でMOSFET(FKI06269)のゲートを駆動します。MOSFETのドレインソース間のCと、ドレインから出力トランスの間のLでE級ネットワークを形成します。目的の20W出力を得るために出力トランスのインピーダンス比を決定しています。MOSFETから見た負荷抵抗からE級ネットワークの素子定数を計算して実装し、オシロスコープでドレイン電圧とゲート電圧を観察して各定数のを微調整しました。ドレイン電圧曲線はちょうど回路図の定数でゼロボルト点は至適です。次にLPFを実装しました。インダクタに最初高AL(11.5)のダストコアT68-1を2つ重ねたものを使用しましたが挿入損失が2,3dBほどと大きく、20W以上の出力を入れると出力が6割まで小さくなるのに加え、その損失分コアが発熱してしまいます。そのため良く使用される#2材のT68-2を2つ重ねとして新たに巻きなおしました。その際やや線径を細くしてなるべく巻き線がダブらないように巻きました。定K型のハーフウエーブフィルタですね作成したLPFをAPB-3のネットワークアナライザで測定してみました。プッシュプル出力なので2次高調波レベルが低く、このくらいの特性で充分?まずLPF装着なしの測定結果を。プッシュプル出力の特徴として偶数次高調波の低減が見られます。次にLPFを通した出力波形です。偶数次、奇数次ともに-70dBcを確保しており充分すぎるくらいです。電源電圧12Vでの出力は約22W、効率は74%程度になりました。効率を上げたいところですが、20W超える出力でもMOSFETは放熱器は必要ない程度にしか熱くなりません。いうわけで2200m用の送信部回路は固まりました。コイルサイズは大きいもののなんとかコンパクトに収めていきたいところです。電子工作2017年9月8日金曜日160m版(2200m版)E級プッシュプルドライブ回路の決定版!片側MOSFETのランダム破壊問題はプログラムの修正で解決、ゲート駆動電圧をもとの5Vに戻し13.8V電源でも問題なく動作するようになりました。不安要素が残っていました。それは送信中に、信号入力が何らかの理由で途絶えた場合片方のゲートがONのままになってMOSFETをこわしてしまう、ということです。回路では片方にインバータを通すので、信号入力がLOレベルの場合ドライブ出力はHIになります。そこで、間にNANDをはさみキーイング信号で制御することにより常時ドライブレベルがHIになるのを防いでいるのですが、キーイング中に送信信号入力が途絶える(たとえば、発信元のSi5351aが何かの拍子で突然壊れるとか)とインバータを通した側のドライブ出力はHIのままとなってその側のMOSFETを道連れにしてしまいます。対応策としては、Si5351a出力を常時監視して必要なときに信号が途絶えた場合キーイング信号をカットする、とか電流監視によるMOSFETへの電源供給カットなどが考えられますが、いかんせん複雑になる割には確実とはいえません。考えた結果たどり着いたのはトランスを使う方法でした。MOSFETのスイッチングドライブとして絶縁トランスによるゲートドライブ法はとくに珍しいものではありませんが、利点はドライブ側とMOSFET側の絶縁のほかにプッシュプル構成でもドライブ信号入力が停止した場合、両方のゲートがオフになるということです。これなら余計な制御信号に頼る必要がなく信頼性も上がります。そのトランスをどこに置くかということですが、既存の回路に組み込むとするなら、1.ロジック回路の前、Si5351a出力直後、2.MOSFETのゲート直前、3.ロジック回路の途中、これら3パターンが考えられます。実験した結果、1.はSi5351aの出力電流が小さいためトランスを通した後電圧が思うように上がらないためロジック回路をうまく駆動できず、駆動できてもデューティー比の変化が大きくE級動作が出来なくなります。2.の場合はトランスの1次2次巻き数比でゲート駆動電圧を5V以上に持ち上げることが出来る利点もありますが、やはりデューティー比が変化してしまうことが懸念されます。といことで3.のロジック回路の間に挟むような回路にしてみました。既存のロジック回路にトランスを組み込みドライブ回路をブレッドボードで仮組み実験トランスは43材の小型メガネコア、1次2次巻き数比1:4としました。1N60はゲルマではなくショットキータイプで、データシートを読むと汎用の1N4148よりも高速スイッチングが可能なようです。最初電圧クリップ目的で4.7Vのツエナーダイオードを並列に繋げましたが、ツエナーダイオードの速度が思ったよりも遅くてデューティー比が変わってしまったためはずしましたが、ピーク電圧は6V程度におさまっていたのでこのままとしました。ドライブ出力波形を観察してみると、まず負荷なし状態でSi5351aからの信号が停止した瞬間のドライブ出力を見てみると、思惑通り両方のドライブ出力はLOになっています。1000pF容量負荷でを繋げたときの波形も大きな乱れはなさそうです。実際にMOSFET(FKI10531)のゲートにこのドライブ出力を繋げて動作テストを敢行しました。元のドライブ段の出力をはずしてブレッドボード上のドライブ出力を繋げますまずは電源電圧を13.8Vとしたゲート電圧とドレイン電圧の同時観測波形です。多少リンギングが見られますがE級動作として見て良さそうです。ピークのドレイン電圧は52.8Vに達しています。(VDDの約3.83倍)次に、両方のFETのドレイン電圧の同時観察波形です。電圧の差もほとんどなくタイミングも問題なさそうです。出力は20Wほど(LPF通過後)、電流は1.7A程度で効率は84%前後になりました。最後に電源電圧を変化させ、出力と電流、効率の変化をプロットしてみました。効率は電圧が上がるとやや低下しますが、ほぼ84%前後を確保しています。7.4V付近では出力が5W程度となり、リチウムイオン電池2つ直列、もしくはニッケル水素充電池6本直列でちょうど5WのQRP出力が得られそうです。これで一応E級プッシュプルアンプのドライブ回路が固まりましたが、このロジック回路からインバータを廃することで安全性がさらに増すと考えられるので、3ステートバッファICひとつだけで新たに構成させようかと目論んでいます。徒然2017年9月1日金曜日STM32開発環境の立ち上げとmcHFファームウエア改造(日本の保証認定用)先日mcHFのLPF改造について書きましたが、今度はいよいよファームウエアに手を入れることにしました。日本の技適保証認定の認定判断基準として、この類のトランシーバについてはエレクラフト社のKX3の例にあるように,日本では未だ開放されていない60mバンドの送信を禁止する措置を何らかの形で施さない限り認定はおりないのが現状です。Radio)ソフトウエアとしてフリーでソースコードが提供されています。このコードを改造して対応させれば保証認定が通る可能性が高まります。取り急ぎ今回の対応点は、60mバンド送信不可にする(バンド切り替えのリストから60mバンドをスキップさせる)ことと、40mバンドのバンド幅修正(300kHzをResion3の200kHz幅にする)です。DSP部分はまったく手を入れる必要はないので、該当コードさえ見つければ改造はそれほど難しくないでしょう。いうわけで、今後STM32の開発もやりたいのでまず開発環境を構築してみました。OSを使い続けて久しい私にとって導入しやすいフリーの開発環境はEclipseというIDEにgccコンパイラの組み合わせになります。少々古めの記事ですが、こちらの記事が非常に参考になりました。Eclipseを導入するに当たっては、Pleiadesが非常に便利です。Eclipse本体に様々な環境をセットで導入できます。Tools)、OpenOCDをインストールすればSTM32の実行ファイルのビルドまでできるようになります。詳しくはリンク先を参考にしてください。MPUは専用のブートローダも必要ですが、新しいブートローダ3.4.0をインストールすればビルドしたファームウエアをUSBメモリ経由で更新可能になります。いうわけで、必要な環境が整ったところでUHSDRのスナップショットからソースコードをダウンロードしてEclipseにインポートします。手直しした箇所は2つです。ここに各バンドのハンド幅が定義されています。続いては、60mバンド選択スキップ処置は、このUiDriver_ChangeBand()関数の中で、バンドボタンUPとDOWN時それぞれの処理に60mバンドをスキップさせるように書き加えます。改造したコードをビルドし生成されたfw_mchf.binという実行ファイル(workspaceフォルダ内のDebugMCHFフォルダに生成)をUSBメモリにコピーし、mcHF本体にUSBメモリを挿してBAND-ボタンを押しながらPOWERボタンを押すとブートローダが起動してUSBメモリにコピーされたfw_mchf.binファイルをプログラムメモリに転送してファームウエアを書き替えてくれます。書き替え後のmcHF動作をご覧ください。バンド切り替えも60mバンドは選択されず、メインダイヤルで60mバンドに合わせても送信できなくなります。これで変更申請の保証認定申し込みをしようと思います。