広帯域信号発生器の製作3

今まで、ドイツにお住いの DD7LP さんが設計した、広帯域信号発生器(ADF4351 評価基板を利用)を作っていました。
・初号機は、ユニバーサル基板で基本機能のみ動作
・2号機は、プリント基板を設計した改良型
を製作しました。

しかし、欲しかった以下の機能を搭載していませんでした。
・外部標準信号(10 MHz)の取り込みと自動切換え・表示機能
・RF アンプ回路の電源切替機能
・MCU のリセット機能
今回は、これらの機能を備えた改良型プリント基板を製作します。

なお、以下で記載している信号発生器の著作権は DD7LP さんに帰属します。商業利用など個人で製作する以外での利用は認められていません。
The copyright of the signal generator described below belongs to DD7LP. Any use other than personal production, such as commercial use, is not permitted.

今回の記事を書くために製作したプリント基板とメタルマスクは、PCBWay さんに提供を受けています。よろしければ、下のリンクのクリックにご協力ください。

ADF4351 評価基板

この信号発生器の心臓部である評価基板で使用している ADF4351 は、アナログ・デバイセズ社の VCO 内蔵 広帯域シンセサイザ IC です。

ADF4351 評価基板の例、販売店の HP より引用

その主な機能は、以下のとおりです。

・出力周波数範囲:35 MHz ~ 4 400 MHz
・低位相ノイズ
・電源電圧:3.0 V ~ 3.6 V
・プログラマブルな出力パワー・レベル(4段階)
・3線式シリアル・インターフェース(SPI)
・高速ロック・モード(周波数ロックが早い)

スゴイ広帯域ですね。(理想を言えば、0 からスイープして欲しいですが。)

DD7LP 信号発生器の情報

この ADF4351 評価基板を使った製作例を探してみました。
すると、キャラクタ式の LCD とタクトスイッチを使った信号発生器が見つかりました。
しかし、出来れば信号発生器はノブを回して周波数を制御できる方が使いやすいですね。

新しくプログラムを作らなければダメかな?私の能力じゃ無理そうかも・・・と諦めかけた時に、希望どおりの信号発生器を見つけました。
製作者は「DD7LP」さんで、製作はすでに8年前の2017年ですね。

DD7LP さんのドイツ語のブログを拝見しました。(Google 翻訳は便利ですね。)

この信号発生器は、下の写真のとおり TFT 液晶を使いカラーで情報が表示されて、ノブで周波数などの調整が出来ます。

DD7LP さんの信号発生器の製作データは、全て GitHub で公開されていました。
公開名は「AD4351-PLL-Syntesizer-35-4400Mhz-DD7LP-2」です。(こちらは英語です。)

このページの解説に書かれている、製作に必要なデータを解説するリンク先の「http://www.darc-husum.de/Frequenzsynthesizer.html」は、リンクが切れていました。
インターネット・アーカイブの「Wayback Machine」でこのアドレスを検索してみました。

リンク先で DD7LP さんは「私たちは、このプロジェクトの完成したソフトウェアを、作成者に帰属した上で、関係者が無料で非商業的に使用できるように喜んで提供します。このプロジェクトは DIY アマチュア無線を促進することを目的としています。」(Google 翻訳)と書かれていました。
製作に必要な全てのデータの公開に感謝します。

前回の基板

前回製作した KiCad の基板です。
プリント基板は、現在、使用しているケースに入るサイズに収めました。

実際のプリント基板です。
初めて PCBWay さんでオーダーしましたが、それぞれのパターンもしっかり出来ていました。

新しい基板の作図

ケースに新しく穴開けなどの加工はしたくないので、コネクタなどの位置は同じ場所に配置します。
また、上で記載した3つの改善事項を盛り込みます。

追加で、余った在庫部品を処分するために採用した特殊な DC ジャックをやめて、秋月電子などで販売している標準的な DC ジャックに交換します。
前回の作図では急遽追加した RF アンプは、グランドパターンが周りの回路と同一だったためデジタル回路と切り離しました。

作図するまでは、外部クロックの切替回路などを追加すると、同じサイズの基板には入りきらないのではないかと思っていましたが、余裕で入りました。

プリント基板のオーダー

このプリント基板は、前回と同じ PCBWay さんにオーダーしました。
注文方法は以前の記事にも記載していますが、少し前の記事なので修正して再掲します。
(今回の基板は PCBWay さんから提供を受けているので、以下で記載している金額は予想金額です。)

PCBWay さんへオーダー

現在、PCBWay さんでは初回のプリント基板製作代($5分)が無料になるキャンペーンを行っています。
KiCad で設計する手間はかかりますが、通信販売でユニバーサル基板を購入する程度の金額でプリント基板が手に入るので、是非、お試しください。
(さらに自宅リフローすると、その手軽さに自作基板がやめられなくなりますよ。)

まず、ユーザー登録を行います。
この際に、送付先住所は日本語で入力できます。英語表記より到着までの日数が早くなるので、是非、日本語で登録しましょう。

続いて、KiCad で設計したデータを zip 形式で圧縮して準備しておきます。

製作する基板は、10 cm 四方以内で設計します。
このサイズなら、10枚までなら $5 なので初回無料の範囲内です。

データ送信

「Upload Gerber files」を押します。

開いた画面の「ガーバーファイルを追加」を押して、Zip に圧縮した基板のデータを送信します。

枚数の変更

自動で基板のサイズが読み込まれて反映されます。
必要に応じて、基板枚数を10枚にします。(標準は5枚になっています。)
10枚までなら、基本料金の $5 です。

追加オプション

その他のオプションは、特殊な基板を製作する時以外は、通常は変更しなくても大丈夫でしょう。
(今回は、一番下の方にあるメタルマスクも追加しました。)

基板のオーダー

注文枚数とオプションの設定が終わったら、画面右の「カートに追加」を押します。

「カートに追加」の次へ進めないとき

「カートに追加」を押すとこんな画面が出ますが、私の環境では一番下に「了解する」ボタンが出ませんでした。

マウスのホイールでスクロールすると窓の下部分が表示されるので、「Agree」を押してカートに進みます。

カート内の処理

カートの画面では、輸送方法を変更しました。
一番早くて丁寧な DHL の送料は $29.21(約4,200円)ですが、輸送日数が同じ(2~4日)の OCS が $9.77(約1,400円)なので、こちらを選びます。

オーダーする品目は、基板代 $5 とメタルマスク代 $10、送料が $9.77 と手数料に $1 が加わり、$25.77 ですが、初回割引が -$5 なので $20.77(約3,000円)になります。
メタルマスクを頼まずに基板だけなら $10.77(約1,500円)なので、少し高めのランチ代ぐらいですね。(下の画像は、前回の物を再利用しています。)

オーダーすると2日で基板とメタルマスクの製造が完了しました。

工場から出荷された荷物は出国側の税関を通過し、航空便で日本に到着後に税関検査が終了して、佐川急便で東京から北海道まで届きました。その間、4日でした。
合計で6日ですね。
「プリント基板が作りたいなぁ。」と週末に思い付いたら、次の週末には実際にプリント基板の組み立てが出来る速さです。
ユニバーサル基板で部品配置に苦労する必要もなく、極楽な週末電子工作が行えますね。

荷姿

プリント基板などが到着した時の荷姿です。
佐川急便で届きました。
箱に傷もなくキレイな状態で届きました。

DHL は取り扱いが丁寧なイメージですが、今回利用した OCS + 佐川急便は安価で、同じぐらい迅速でキレイに荷物が届きました。

箱の内部です。
しっかりと梱包材に包まれて送られてきました。内容物が痛むようなことは無いと思います。
(今回、送料を節約するために、2種類の基板とメタルマスクを1度に注文しています。)

内容品

基板は、しっかりと梱包材に包まれてシールされ乾燥剤が入った状態です。

メタルマスクは、曲がらないように2枚の板に挟まれていました。

基板です。
今回は極小の部品は使っていませんが、注文どおりにキレイな基板が届きました。
文字の印刷もネジ穴の加工も指定どおりに仕上がっており、この値段なら次回もオーダーしてみようと思いました。

しかし、今回も私の設計のミスが3か所ありました。

製作

到着したプリント基板には、3つの間違いがあったので組み立て前に修正します。

部品番号の配置ミス

10 MHz 基準信号入力部の D1 の文字が R12 のパターンと重なっていました。
KiCad では、こういった重なりをチェックしてくれるので、検査合格で安心していたのですが基板注文前に再確認しないとダメですね。

SMA コネクタのサイズ

KiCad の内蔵フットプリントから選んだ SMA コネクタが、一般的な SMA コネクタと違う物でした。(少し大きい)
ダイソーで購入した「ケガキ針」でグランドパターンを露出して対応しました。

DC ジャック端子の形状

前回使用した特殊な DC ジャックではなく、一般的な DC ジャックを KiCad の部品から選んで配置しました。
ところが、この部品も秋月電子などで入手できる DC ジャックと端子の配置が違っていました。
でも、位置が合わない端子は、通電時には使わない端子なので、ジャック側の端子を加工して取り付けました。

高周波アンプの解体

今回の信号発生器の高周波アンプ部は、素人には難しい RF 回路の設計を動作確認が取れている市販の高周波アンプ基板から部品を取り外して使います。
以前、おじさん工房さん設計の周波数カウンタ RFC-5 でも使った高周波アンプ基板です。

中央のシールドを半田ごてで温めて取り外します。

この後、SMA コネクタを半田ごてで加熱して取り外した後に、ヒートプレートで加熱して SMD 部品を取りました。

自宅リフロー

今回も、メタルマスクを注文したので、クリームはんだの塗布は簡単に終了しました。
クリームはんだを塗布した基板に、部品を乗せます。

安価(500円位)で購入したヒートプレートで加熱します。
リフローは、今回も簡単に終了しました。

その他の部品の取り付け

自宅リフローで、表面実装の部品は取り付け終わりました。

Arduino Nano と端子類を実装します。
リセットスイッチは90℃横向きタイプが直付け出来ますが、今回は通常のタクトスイッチを使用しました。

LCD

液晶表示部です。
aitendo で入手した LCD で、型番は「M018C7735S」、サイズは 1.8 インチです。
基板上のジャンパで電源を 5 V と 3 V に切り替え出来ます。今回は J2 ショートで 5 V で使用しました。
「D_LED」端子をグランドにつなぐとバックライトが点灯しますが、ちょっと明るすぎるので 100Ω程度の抵抗を入れました。
(他の LCD を使う場合は、コントローラ IC に ST7735 を使用していて、解像度が 128 X 160 ドットで、インターフェースが SPI の LCD なら使用可能だと思われます。)

aitendo LCD に端子を付けました。
バックライト LED 用の抵抗は写真撮影のために出ていますが、この後、絶縁しました。

ロータリーエンコーダ部

ロータリーエンコーダ基板です。
基板上に SMD のコンデンサを使ったのでコンパクトに出来ました。
このロータリーエンコーダは、軸に押し込み式のスイッチが付いています。

ケース・パネル

ケースの前面パネルは 3D プリンタで作りました。
すでに数回、同じようなフタを作っているので、簡単に出来ました。
(この後、リセットスイッチ用の穴を手で開けました。)

組み立て

フタ部分に、ロータリーエンコーダ基板と LCD、電源スイッチを取り付けます。

基板の4隅にポストを付けて、プリント基板部は完成です。
この上に評価基板を載せます。

完成した基板部と正面パネルの配線を接続します。

出来上がった部品をケースに収めて完成です。

Arduino 用スケッチのコンパイル

前回の製作記事でも記載していましたが、この周波数カウンタ用のプログラムを書き込む際の注意事項を再掲します。

この周波数カウンタの製作に必要な各種データは、GitHub に公開されていますが、2017年の情報です。そのためか、現在の最新の Arduino IDE で GitHub で公開されているスケッチをそのまま使用するとエラーになります。
このエラーは、当時とは異なる最新のライブラリを使用している為だと思われます。

以下の「Wayback Machine」で保存されている2017年7月版の圧縮ファイル内に、当時のライブラリが同梱されたファイルがあるので、このライブラリを登録すると最新の Arduino IDE v.2.3 でも、エラーなくコンパイルできました。(Linux 版 Arduino IDE で検証済み)

「https://web.archive.org/web/20190909215536/http://www.darc-husum.de/Projekt%20ad4351%203-17%20fertig.zip」

具体的に圧縮され同梱されているライブラリは、以下のとおりです。

ライブラリ名年月日備考
ACROBOTIC_SSD1306-1.0.12017.3.31
Adafruit_QDTech-master2014.3.22
Adafruit-GFX-Library-master2016.8.23
Adafruit-ST7735-Library-master2016.5.27
Rotary-master2013.10.13
SD-master2016.5.27使用しない?

DD7LP 周波数シンセサイザの操作方法

この信号発生器は、電源を入れるとプリセットされた「144.9 MHz」で動作が開始されます。
初期画面の信号レベルは「-4 dBm」で、周波数ステップは「10 kHz」になっています。

1 ADF4351 が指定した周波数にロックすると「LOCK」と表示されます。
2 オシレータが内部発振だと「REF.int」と表示されます。外部標準信号が入力されるとクロックが自動で切り替わり、赤文字で「REF.ext」と表示されます。
3 出力レベルです。ステップ切替エンコーダのスイッチを押すと「-4」「-1」「+2」「+5」の順に切り替わります。
4 周波数増減のステップ数です。ステップ切替エンコーダを回すと10 kHz、100 kHz、1 MHz、10 MHz、100 MHz、1 kHz の順に切り替わります。最小ステップは IC の制限で 1 kHz です。
5 出力周波数です。周波数エンコーダを回すとステップ数で設定された値毎に増減します。
また、周波数エンコーダのスイッチを押すとプリセットされた周波数に切り替わります。
プリセット周波数は、144.9 MHz に始まって 432.9 MHz、1296.9 MHz、2320.9 MHz、3400.9 MHz、2880.4 MHz、3456.3 MHz、3435.5 MHz、4277.1 MHz、35.0 MHz、50.1 MHz と切り替わります。

動作確認

前回の製作で、評価基板が広帯域(測定出来たのは 35 MHz ~ 3 GHz)で動作することは確認できています。
今回は、外部標準信号を入れた時の周波数の安定状態と RF アンプの(簡単な)増幅の確認を行います。

ちなみに、10 MHz の外部標準信号の自動切替回路はこのようになっています。
回路図の中央の線は、Arduino Nano に入力されて外部信号の有無を検出します。
右端の 10 MHz OUT は、通常は内蔵の TCXO の出力が、外部信号がある場合は外部からの 10 MHz が ADF4351 評価基板にクロックとして供給されます。

外部標準信号

信号源として、ji1udd さんの GPSDO を利用
周波数カウンタは、おじさん工房さんの RFC-7 を使いました。

内蔵 TCXO で 35 MHz を出力

RFC-7 で計測した結果です。信号源は GPSDO 10 MHz を使用しました。
誤差は +26.8 Hz でした。(内蔵 TCXO のズレです。)

外部標準信号を利用(信号入力で自動切換え)
外部信号利用時には、右上の表示が赤文字で「REF.ext」に切り替わります。

RFC-7 で計測した結果は、+0.007 Hz でした。
ちゃんと外部信号に切り替わっていますね。

RF アンプ

RF アンプが正常に増幅しているか確認します。
しかし、広帯域なスペアナなどは持っていないので、オシロスコープで見られる範囲の出力波形の振幅を見るだけです。

信号発生器を 100 MHz にセットしました。
本体の前面から通常の出力が、後方から増幅された信号が出力されます。

チャンネル1が通常出力(-4 dBm)、チャンネル2が増幅(+15 dBm 程度)出力です。
増幅結果が少な目な感じです。

オシロスコープで、ちゃんと波形が見られる上限の 200 MHz です。
今度は、ちゃんと増幅されているようです。

まとめ

外部クロックが自動切換えで入力できるようになったので、出力信号の周波数が正確になりました。
また、MCU をリセットできるようになったので、LCD の表示がおかしくなった場合の対応が可能になりました。
これで、ADF4351 を利用した広帯域信号発生器の製作は終了です。

非常に使いやすい信号発生器を製作するために必要な全ての情報を公開して下さった「DD7LP」さん、ありがとうございます。

コメント