周波数カウンタを作る 11(カウンタ基板の組み立て方)

周波数カウンタを作る企画の 11回目です。
前回、動作確認が出来たRFC-5 周波数カウンタ基板の組み立て方と操作方法をお送りします。(プリスケーラ基板の作り方は次回にします。)
今までの各回の概略は下のとおりです。

1 siliconvalley4066 さんの「STM32F103C8T6で192MHz周波数カウンタ」を見て、この企画がスタート。TTL レベルで 66 MHzまで計測
2 市販品のアンプ(20 dBm 程度)をつないで 53 Mhz まで
3 手持ちの部品でブレッドボード上に作ったアンプで 24 MHz まで
4 自作基板でプリスケーラの機能確認(1/256、1/512)
5 おじさん工房さんの RFC-5 を組み立てる。測定周波数は ~ 1.3 GHz(プリスケーラあり)
6 RFC-5 のアンプ(120 MHz まで計測可能)と他の MCU(20 Pin)で動作確認
7 カウンタの入力を切り替える実験(40 MHz 程度までは切り替え可能)
8 RFC-5 をプリント基板化する前のアンプ類の接続方法の検討
9 RFC-5 のプリント基板の製造とオーダー
10 RFC-5 のプリント基板の動作確認が終了(測定上限周波数 190 MHz)、基板の無料配布を開始

前回で周波数カウンタを作る企画の区切りとして RFC-5 周波数カウンタ基板の「無料配布」を始めました。
カウンタ基板の在庫と配布の詳細は前回の記事をご覧ください。

RFC-5 周波数カウンタ

おさらいになりますが、RFC-5 周波数カウンタは、電子工作界隈で有名な「おじさん工房」さんが製作された超小型周波数カウンタです。

RFC-5 は STM32G031J6M6 という(少し前まで秋月電子で安価で販売していた)STM32 シリーズの Cortex-M0 コアで SOP-8 の超小型 MCU を使用した、38 mm X 38 mm という極小のユニバーサル基板上に組み立てられた高性能な周波数カウンタです。
その機能は・・・

1 周波数計測範囲は単体で、~ 200 MHz 位まで
2 GPS DO などを入力とした周波数自動調整機能(1, 10, 100, 1k, 10k, 100k, 1MHz ~ 100MHz)
3 外部にプリスケーラをつないだ場合の倍率設定:x64、x128、x256、に設定できます。
4 オシレータの自動判別機能:10MHz, 13MHz, 20MHz, 26MHz を自動判別
5 表示方法の設定:無信号時の表示を「表示を消す」と「測定値のホールド」から選択

これだけの高性能な周波数カウンタが、ほんの少しの部品で製作できるように回路図とファームウエアなど全ての情報をおじさん工房さんのホームページで公開されています。
(詳細は、以下のリンクをご覧ください。)

必要な部品

今回製作したプリント基板では、RF コネクタ、スイッチと電源基板などを追加したために、オリジナルの 38 mm X 38 mm サイズからはかなり大きくなっています。
この記事では、自作基板を完成させるために必要な追加部品なども含めて紹介します。

RFC-5 には、入力アンプ部の違いで「5倍アンプ」と「20dB 低雑音アンプ」の2種類がありますが、今回の自作基板では使用する部品で作り変えることが出来るように出来ています。

5倍アンプ仕様

「5倍アンプ」仕様の部品リストです。
実際に組み立てたところ、これだけ少しの部品で作った周波数カウンタで、約 200 MHz まで計測出来ました。
信号源が十分な出力である場合には、この作例で十分だと思います。

・STM32G031J6M6:SOP8
・LCD:I2C 変換基板が付いた16文字×2行の LCD、今回は電源が 3.3 V の物を使用しています。
・オシレータ:26 MHz TCXO(20 MHz も使用可能です。)
・2SK2394:入力アンプ用の FET
・3.3 V レギュレータ
・スライドスイッチ:SK12D07VG4NSPA
・タクトスイッチ:2個
・ピンヘッダ
・充電・変圧回路基板
・BNC コネクタ

・抵抗:1 M、10 k x 3、4.7 k x 2、2.7 k、2.2 k、150Ω、0Ω
・コンデンサ:22 u、1 uF x 2、0.1 u x 3、1000 p x 2、47 pF
・フェライトビーズ

電源部分用
・47uF(1uFなどでも可)
・1uF × 2

それぞれの部品の詳細です。(AliExpress で購入した商品は、短期間で販売中止となることが多いため、リンク先は設けていません。)

STM32G031J6M6

SOP8 サイズの MCU です。
2年ほど前までは、秋月電子さんで 120円位で販売していたそうです。
私は AliExpress で購入しましたが、国内の通販(マルツなど)でも購入可能です。
(秋月電子さんでは購入者からの要望を叶えてくれるという夢のシステム「商品リクエスト入力フォーム」があります。皆さんのご協力で再販してくれるとうれしいのですが・・・)

LCD 16文字×2行、3.3 V

I2C 変換基板につながった LCD を準備します。

注意
今回の FCS-5 周波数カウンタの自作基板を組み立てる際には、LCD は 3.3 V で動作するものを使ってください。

ノイズ対策を兼ねて、基板上の配線では LCD の電源は 3.3 V の物を使っています。
(秋月などで販売している、端子が横2列のタイプを使用する方法です。)

実際に使用した部品は、
・aitendo の I2C 変換基板:IFB-I2C-8574
I2C★液晶I/Fモジュール [IFB-I2C-8574]

・aitendo の薄型 LCD:PX1602
EL薄型キャラクタLCD(16×2) [PX1602]

この2つの部品を、改造した変換基板でつなぎました。
改造の詳細は以下のリンクをご覧ください。

I2C 変換アダプタを 3.3 V で使用する場合の注意

2024年11月30日追記
この I2C アダプタで使用している変換 IC(PCF8574T)は 3.3 V に対応していますが、基板の設計は 5 V 用なので、プルアップ抵抗部分を改造しないと I2C の規格を上回る電圧が発生する可能性があることを指摘している情報を見つけました。
アマチュアが一時的に使用する場合には問題がない可能性もありますが、気になる方は変換アダプタの信号を確認してください。
現在は確認する方法がない(オシロスコープが故障中)ですが、確認でき次第記事を修正します。

TCXO

オシレータには表面実装用(5032 サイズ)の TCXO を使用しました。
これも AliExpress で購入しました。

このタイプの TCXO の裏側の端子はこのようになっています。

2SK2394

表面実装タイプの高周波回路用の FET です。
マルツの通販で購入しました。
2SK2394-6-TB-E

3.3 V レギュレータ

3.3 V レギュレータには、秋月電子の AP7333 を使いましたが、100 mA 程度の 3.3 V 出力が得られる SOT23 サイズの物なら何でも OK です。
秋月の AP7333 は10個で150円です。下の図は AP7333 の端子配置図です。

スライドスイッチ

スライドスイッチは、OLEDオシロスコープ基板と同じ SK12D07VG4NSPA を使用しました。
購入元は AliExpress です。

タクトスイッチとピンヘッダ端子

タクトスイッチとピンヘッダ用の端子などは、通常品を使いました。
部品箱の在庫などをお使いください。

充電・変圧回路基板

充電・変圧回路基板も AliExpress で購入しました。
これ1枚に USB からの給電、リチウム電池の充電と設定電圧への昇圧の3つの機能が組み込まれているので、気になって購入していた物を使いました。

電源電圧は 5 V なので、充電池を電源としなければ通常のレギュレータ出力で十分です。
消費電流も、別に組み立てるプリスケーラ基板と合体しても100 mA以下です。

BNC コネクタ

BNC コネクタは端子が90度の物を使いました。
この90度タイプには2種類ありますが、今回の基板にはセンターに端子があるのではなく、端に2つの端子があるタイプを使いました。
(aitendo さんなら、BNCF10-2.5 などです。)

抵抗

SMD の抵抗は、全て 0603(1608M)で統一しています。
必要な個数などは、
・1 MΩ
・10 kΩ x 3
・4.7 kΩ x 2
・2.7 kΩ
・2.2 kΩ
・150Ω
・0Ω(ジャンパ用)

コンデンサ

コンデンサは、容量とサイズの関係で 0603(1608M)と 1206(3216M)が混在しています。
0603(1608M)
・22 uF
・1 uF x2
・0.1 uF x 3
・1000 pF x 2
・47 pF

電源部分には、1206(3216M)を使用しました。
・47 uF(+5 V 電源のノイズ対策なので、1 uF などでも可)
・1 uF × 2

部品の配置

部品点数は少ないですが、2種類の構成を細かなチップ部品で組み立てるので、部分ごとに部品の配置を解説します。

アンプ部

アンプ部の回路図です。
BNC コネクタを含めても12個の部品だけで構成されています。

・2024年11月26日訂正
この図の C1(オリジナルでは C5)の値は「0.04uF」ではなく「1uF」です。
C4(オリジナルでは C3)の値は「2.2uF」ではなく「22uF」です。
配線図を訂正しました。

実際の基板の配置は下のとおりです。
(基板上にもシルクスクリーンで値が書かれていますが、狭くて配置が分かりにくい箇所があります。)
基板の記載に誤りがあります。
シルクスクリーンで「0.04uF」と書かれている部分は「1uF」の間違いです。
「2.2uF」と書かれている部分は「22uF」の間違いです。

MCU 部

MCU 部分のデジタル系です。(電源スイッチと電源入力用のピンヘッダは記載していません。)
配線図で使用した部品のデータは、自分で作図せずに KiCad 用に(製造会社などが)準備した部品データを使用したため、MCU とオシレータの回路図でのサイズが無駄に大きくなっています。

「外付けスイッチ基板」は次の項目で出てきますが、J10 と J11 部分で接続します。

J4 はプログラムを書き込む時のみピンヘッダを入れ替えることで MCU へ 3.3 V を供給します。(その際は電源は外すか OFF にしてください。)
通常は OFF にします。

3.3 V レギュレータの入出力部分のコンデンサは、シルクスクリーンの数字では間違って変な数字(46uF)になっていますが、実際にはどちらもデータシートどおりの 1 uF を使ってください。

プリスケーラ電源部も 46uF と書かれていますが、入手可能な 1206(3216M)サイズのコンデンサで大き目な物を使用してください。
私は動作確認時には、OLEDオシロスコープ基板でも使用した 47uF を使いました。

MCU と TCXO の配置の詳細

上図では分かりづらい MCU と VCXO の向きは、下図のとおりです。

外付けスイッチ基板

スイッチ基板は見たとおりにスイッチ以外にはチップ抵抗が1個だけです。
これならステンシルを使って、クリームはんだを塗布する必要もないぐらいですね。

ちなみにスイッチの左右は、後で出てくる RFC-5 の操作方法の部分で用途が違います。押すスイッチで設定項目が変化するので、ケースなどに組み込む場合はこの方向で取り付けてください。

20dB 低雑音アンプ仕様

「20dB 低雑音アンプ」仕様の部品リストです。
こちらを組み立てる場合の違いはアンプ部だけなので、部品一覧と追加になる部品の紹介を行います。

・STM32G031J6M6:SOP8
・LCD:I2C 変換基板が付いた16文字×2行の LCD、今回は電源が 3.3 V の物を使用しています。
・オシレータ:26 MHz TCXO(20 MHz も使用可能です。)
・2SK2394:入力アンプ用の FET
・2SC3356 x 3
・3.3 V レギュレータ
・BNC コネクタ
・スライドスイッチ:SK12D07VG4NSPA
・タクトスイッチ:2個
・ピンヘッダ
・充電・変圧回路基板

SMD 部品のサイズは 0603(1608M)
・抵抗:1M,22K,10kx2,4.7k,2.7k,2.2k,1kx2,270×2,150,47Ωx3
・コンデンサ:10u,1u,0.1ux4,1000p,22p
・フェライトビーズ(100Ω~470Ω位のチップインダクタ)

電源部分のコンデンサは、1206(3216M)を使用しました。
・47uF(1uFなどでも可)
・1uF × 2

ローノイズ電源を追加する場合
・2SC2712(オリジナルは2SC2412R)
・抵抗:100k、100、3.3Ω
・コンデンサ:1000u、120uF

2SC3356

2SK2394 を購入する際にマルツの通販に頼んでおいたチップ・トランジスタです。(リンク先
10個以上購入すると1個あたりは10円程度です。

2SC2712

このトランジスタは「ローノイズ電源」を使用する時に必要になります。
秋月電子で購入できる 2SC1815 とほぼ同じ特性のチップ・トランジスタを使いました。
40個で200円で購入できます。
(オリジナルでは 2SC2412R を使用しています。)

アンプ部の部品配置

MCU 部の部品配置は共通なので、アンプ部のみ紹介します。
まずは回路図です。

この中で、左上の部分は「ローノイズ電源」です。
ノイズ特性を測定する際に使用するので、取り付けなくても動作します。
省略する場合は、3.3 Ω(R23)部分をジャンパ(0 Ω抵抗)して下さい。
C14(オリジナルではC1)の 1 pF は試験用なので実装しないで下さい。

実際の基板の配置は下のとおりです。
(基板上にもシルクスクリーンで値が書かれていますが、狭くて配置が分かりにくい箇所があります。)

上の配線図の解説でも書きましたが、黄色の部品は「ローノイズ電源」用なので省略可能ですが、その場合は「3.3 Ω」をジャンパしてください。

「フェライト・ビーズ」と書かれた部分には 0603(1608M)サイズで数百Ωの物を使います。
秋月電子では 120Ωのチップインダクタの名称で販売しています。(25個で100円)

また、右下にある「1pF」は試験用なので、製作時には取り付けないでください。

クリームはんだの塗布

OLEDオシロスコープ基板の時と同じく、カッティングマシーンでステンシルを作ります。
厚さ 0.1 mm 程度の透明な薄いプラ板をクラフトロボで切り抜きます。
(ステンシルの作り方は、以下のリンクをご覧ください。)

ステンシルを自分で作る方は少ないと思いますが、KiCad で作った基板データからステンシル用に変換したファイルを置いておきます。
(このデータがあれば、カッティングマシン以外にも都内などではレーザーカッターなどが時間レンタルできるらしいので、格安でステンシルが作れると思います。)

出来上がったステンシルを、アルコールで洗浄・脱脂した基板に貼り付けます。
プリント基板にクリームはんだを塗布する際には、弾いて付きが悪くなるのを防ぐために必ずアルコールで拭いてから行ってください。

クリームはんだの塗布には、AliExpress で購入(300円程です。)した「クリームはんだ押し出し機」を使用しました。(写真の青い部分です。)
使い勝手はすごくいい感じです。
レバーを押し込むことで、微量のクリームはんだを楽々出すことが出来ます。
おススメです。

部品の搭載

私は目がお年頃なので、モニタ付きの電子拡大鏡を使って部品を搭載しました。
全ての表面実装部品を乗せると、こんな感じになります。(写真は5倍アンプ仕様です。)

自宅リフローとその他の部品の半田付け

クリームはんだが溶けだしたら写真を撮っている余裕がありませんでした。
今回は OLED オシロスコープ基板と違って高周波用に SMD 部品を小さくしましたが、問題なくリフローが出来ました。
ただし、加熱中に2~3個の抵抗やコンデンサが横を向くことが有りました。そんな時は焦らずにピンセットで修正すれば OK です。

その後、通常の部品を手半田で半田付けして基板の完成です。

各基板の完成

半田付けが終了した状態です。(充電・昇圧基板はまだ取り付けていません。)
今回 LED は基板に直接取り付けずに、LCD に備え付けられたものを使うためにコネクタ式にしました。

プログラムの書き込み

上列左の端子に ST-LINK/V2 をつなぎます。
ST-Link 端子は、そのまま刺せる配置になっています。(GND 側の確認が必要です。)

パソコンに ST-LINK/V2 をつなぐ前に右端に見える J4 をジャンパでつなぐと、この基板の状態で外部電源を供給しなくても書き込みが出来ます。
ジャンパを 3.3 V 側に切り替えると「STM32 Cube Programmer」で「STM32G031J6M6」が認識できました。

おじさん工房さんの RFC-5 のページの「■ソフト」項目にある「rfc-5_20220906.zip」をダウンロードします。(下のリンクをお使いください。)

圧縮ファイルを解凍すると、「bin」フォルダ内にコンパイルされた「main.hex」が入っています。

なお、初回の書き込みのみ、「おじさん工房」さんの RFC-5 の「■ソフト」項目の4行目で解説されているとおりに「初回のみ Option Bytes / User Configuration / NRST_MODE を 3 → 2 (GPIO) に変更」する必要があります(下図の左列アイコンの上から3番目の「OB」を押すと「Option bytes」画面が出てきます。)

そして必ず「Apply」を押してください。これを忘れると MCU は正しく動作しません。

「NRST_MODE」の書き換えが終わったら、左列アイコンの上から2番目を押して「Erasing & Programing」画面を表示させます。

「File path」項目で「Browse」ボタンを押すと解凍した「main.hex」の場所を指定します。
「Start Programming」ボタンを押すと書き込みが始まります。
確認画面は内容の Verify(検証)も行うので2度表示されます。

RFC-5 の動作確認

プログラムの書き込みが正常に行われると周波数カウンタが起動します。
場合によっては液晶画面に「ERROR HSE」と表示されます。
これは TCXO が正常に動作していない事を表しています。TCXO の取り付け方を再確認してください。

仮組み立て

出来上がった基板を組み合わせて動作確認をを行います。
電源を入れる前に、最低でも電源のプラスとグランド間の抵抗値を確認してください。正常ならば 300 Ω 程度の抵抗値を示すはずです。
短絡している場合は半田の不良がないか確認してください。

電源部分は、組み込む前に単体でリチウムイオン電池をつないで充電完了までの動作確認をしました。
この基板は出力電圧が可変できるので、+5 V になるように調整後に組み込みました。
今回はリチウムイオン電池は、在庫で持っていた薄型の物を使用しました。

正常に組み上がっていれば、電源スイッチを ON に切り替えると写真の様な画面が表示されるはずです。

RFC-5 の操作方法

RFC-5 は高機能な周波数カウンタですが、8 Pin の MCU を使用しているために、2つのタクトスイッチを長押しなど色々な操作方法で各種設定などの操作を実現しています。
次の項目では、RFC-5 の各種操作方法を解説します。

通常モード

周波数を測定するモードです。
周波数の入力があれば、
・1行目に測定した周波数が表示されます。
・2行目の左端はプリスケーラの倍率
 温度
 ゲート時間
が表示されます。

通常モードの操作は、
・通常押し(短い押し)で、ゲート時間が増減します。
ゲート時間は、0.1s, 0.2s, 0.5s, 1s, 2s, 5s, 10s から選べます。

メニューモード

メニューモードに入るには、左右スイッチのどちらかを「長押し」します。

メニューモードも1行目は、周波数が表示されます。
2行目には、以下で紹介する設定の項目名が表示されます。

メニューモードの操作は、
・通常押しで、設定項目の内容を +/- します。
・左 SW 長押しで、通常モードに戻ります。(設定は保存しない。)
・右 SW 長押しで、項目を選択/実行します。(設定を保存する。)

1.AUTO F.ADJ

測定周波数が、1, 10, 100, 1k, 10k, 100k, 1MHz から 1Mステップで 100MHz までの時に周波数自動調整が機能します。(GPS の 1PPS でも自動調整できます。)
調整値は 10ppb(0.01ppm) 単位です。
自動調整後、調整値を手動で +/- できます。

2.FREQ ADJ

周波数を手動で調整します。スイッチで調整値を +/- します。

3.DIGITS

周波数表示桁数を± 1 増減します。
+1 または -1 のときは、通常動作モード時 LCD 2 行目右端に +、- マークがつきます。

4.PSC DIV

外部にプリスケーラーをつないだ場合、x64、x128、x256、に設定します。
通常動作モード時、LCD 2 行目左端に倍率を表示します。

5.COMMA

3 桁ごとの区切りカンマを 10 種類から選択します。
設定は周波数表示に反映されますので好みのものを選びます。

6.DISP HOLD

測定信号がなくなった場合、表示を消すか、前の測定値をホールドして表示するか選択できます。
ホールドにした場合、周波数表示の左端に H がつきます。

7.XTAL

TCXO の周波数を表示します。
TCXO は、10MHz, 13MHz, 20MHz, 26MHz が使用でき、起動時に周波数を自動判別します。
自動判別に失敗した場合は 0 を表示します。

8.VERSION

ソフトウェアのバージョンを表示します。

次回の予定

RFC-5 用に製作したプリスケーラ基板 2種類を組み立てます。
プリスケーラ基板は、RFC-5 の BNC 部分に合体するように作っています。(電源は別に刺す必要があります。)

小さいほうの「uPB1507」を使った基板に使用する部品は、秋月電子で購入できます。
大きいほうのプリスケーラ基板に使用する「MB506」は、現在では入手が難しいかもしれません。

動作確認のために組み立てたプリスケーラ基板は両方ともに動作はしていますが、最低と最高の測定周波数を確認できていないので、その辺の確認も行います。

コメント