ホーム >> 無線ブログ集 >> JJ1LFO ~線無きことかな~

無線ブログ集

  メイン  |  簡易ヘッドライン  

リンク 単体表示


link JJ1LFO ~線無きことかな~ JJ1LFO ~線無きことかな~ (2024/11/23 6:36:07)

現在データベースには 22 件のデータが登録されています。

feed CW Decoder を M5Core2 (M5Unified) に移植してみた (2024/9/26 11:11:00)

DSC_1859-01.jpeg たまたまデンマークの OZ1JHM Hjalmar Skovholm Hansen さんの、Arduino CW Decoder 

" A VERY simpel CW decoder EASY BUILD " ページを訪れて、試してみたくなってしまった。

Arduino Uno互換ボードへの移植

手始めに、Arduino Uno 互換のCPUボードと10個のセンサモジュールが一体になった、
Grove Beginner Kit for Arduino  で動かしてみた。

元のソースから、
データ線 4 bits の20桁4行 LCD を使うようになっていたのを
で使えるようにして。

  • 入力のADCのサンプリング周波数を起動時に自動計測

Beginner Kit 搭載の
を使うように PIN 定義を変更しただけで。
特に問題もなく、簡単に移植できました。

動作している動画

M5Core2 への移植

Grove Beginner Kit for Arduino  では実用するには大きすぎるので、LCD も Mic 入力も搭載している M5Core2 に移植を試みる。


M5Stack シリーズでは、私の持っている M5Core2 より通常の M5Stack系の方が普及していそうなので。
仕様の異なるハードウェアのM5Stack製品間を共通のAPIで使用できるライブラリ M5Unified を利用して作成すれば多くの人に使ってもらえそう。
M5Unified に関しては公式ページよりも、こちらの M5Unified入門 ページの方が分かりやすいかも。

改造点

表示
  • スクロール・テキスト領域に、デコードした文字を表示。
  • 下記の強度表示領域の左側に、WPM を表示。
  • トーン信号強度を GREEN 、検出閾値の強度を DARKGRAY、検出したと判断したら YELLOW で描画する領域。これは追加してみると無線機音量や無線機との距離の目安や、パラメータ調整にもかなり便利でした。

OZ1JHMさんの decoder11.ino は GPL なので、
"This program is a modified version of "OZ1JHM CW Decoder VER 1.01”, 
originally developed by Hjalmar Skovholm Hansen."

という文章を表示する起動時 Splash も追加。


ほぼ初めて M5Unified を使いまいしたが、高機能な  LovyanGFX  をラッピングした M5GFX でチラつきのないスプライト処理などが簡単に扱えて非常に便利。
ただ高機能なゆえ、M5Unified の公式ページのドキュメントだけでは分かりにくい部分もあり、
結局 [Arduinoフォルダ]/libraries/M5GFX/src/ で Header などを眺めるのが確実。 

Goertzel Algorithm
M5Stackシリーズに搭載されている ESP32 では浮動小数点演算機能が搭載されているので、元々の float による演算でも早くて負荷は軽いのですが。
他の CPU や固定小数点 DSP でも利用しやすいように、固定小数点演算化しました。
また、得られる信号強度を演算サンプル数で正規化してサンプル点の大小によらず一定の値が得られるようにしました。

Mic 入力
Mic 入力は Arduino 版の analogRead() による ADC ではなく、
M5Core2 の PDM 出力 Mic を M5.Mic.record() でデータを取得。
少しハマったのは record() 関数で指定したバッファは常にデータ転送で上書きされていくので、
スタック領域ではなく、静的なデータ領域に確保して転送が完了したらすぐに
他のバッファにコピーしておかないと不連続なデータになってしまうようです。

無線機スピーカの音量や、無線機スピーカとの距離に気を使わなくてすむように、
Mic 入力に AGC ( A utomatic G ain C ontrol) 処理を追加しました。

動作動画




所感

 M5Core2 に小さくまとまりMic 入力で配線接続の手間のなくなったので、かなり実用的になったと思う。

シンプルなアルゴリズムにも拘らず、弱くてノイズの多い受信音でも結構な解読性能を示します。
ただ当然ながら、文字間の短いつながりかけた符号や粘っている符号には歯が立ちません。
またノイズすれすれの受信信号では、人間の耳の解読性能にはるかに届きませんね。
送信符号の打ち間違いでも、人間の耳の場合は脳が勝手に補完できちゃったりするし。

検出強度と符号との相関を見たり、ML的な学習を行うことで解読性能は上がりそうな気もしますが。
このシンプルなアルゴリズムとはけた違いに演算負荷が増えてしまうでしょう。
M5 シリーズのような ESP32 ではなんとかなっても、通常の Arduino Uno などでは動かなそう。
そこまでする?という話になるのかな。

個人的には M5Unified の使い方を習得出来たのが一番の収穫でした。

ToDo

  • 和文モールス符号に対応。 ホレ ラタ で英文/和文自動切換え?
  • 検出 Tone 周波数の自動追従を追加したい。
  • Mic AGC の最大ゲイン調整機能を追加した方がいいかな?












feed CQ ham radio 2024年 4月号 に EFHW アンテナの記事が掲載されました。 (2024/3/19 12:00:00)
本日発売の CQ ham radio 2024年 4月号   に、
当ブログに書いた [ 移動用マルチバンド EFHW アンテナをつくってみた ] を 4 ページに凝縮した。

~HFマルチバンドワイヤーアンテナ~
移動運用にぴったり EFHWアンテナの製作

という記事が掲載されました。

DSC_1642-01-01-01-01.jpeg


マルチバンド EFHW アンテナがそれほど一般的でない日本でも、もっと普及すると嬉しいな。


feed 航空機用ヘッドセットを IC-705 や PC で使えるようにしてみた (2024/3/10 21:46:00)
DSC_1640-02-01.jpeg 航空機用ヘッドセットをヤフオクで安く仕入れたので。
IC-705 で無線機用として使ったり、PC で Web ミーティング等に使えるようにしてみた。

David Clark Model H10-13.4 について

仕入れたのは David Clark Model H10-13.4 という型式。
航空機用ヘッドセットとしては古くから定番のようで、映画やドラマでパイロットが薄緑色の耳当てのこのヘッドセットをしているのを良く見かけますね。


周りの騒音レベルの高い航空機で使用する為、

マイク

型番 M-7A  という、カーボンマイク互換のパッシブ・ノイズキャンセリング ・マイク。
マイク表面と裏面音圧の差動性による単純な構造のパッシブ方式ですが、周囲雑音のキャンセリング効果は大きい。
充分な性能を発揮させるには、口にかなり接近させて使うのがポイント。
DSC_1641-01-01.jpeg M-7A 表面

DSC_1642-02-01.jpeg M-7A 裏面

ヘッドフォーン

防音効果と大きな騒音から耳を保護するイヤーマフの遮音効果を発揮する、耳を完全に覆う形の完全密閉型。
通信機から距離が伸びて配線の抵抗値が上がっても音圧が下がらないように、ヘッドフォーンの入力インピーダンスは最低 150 Ωと一般的なヘッドフォーンより高めに設定されています。
また、左耳には音量を低減できる音量つまみがあります。完全に消音にはできませんが、音量を耳元で調節できます。

ちなみにヘッドフォーンはモノラルです。別にステレオ対応版にした  H10-13 S という製品もあります。

装着感

見た目は少し大げさで、完全に耳を覆うヘッドセットですが。
耳当てやヘッドバンドのクッションが良くできてるのか、長時間装着していても蒸れたりせずに快適な装着感は、さすが定番の航空機用ヘッドセットと感じさせます。

しかし、ケーブル自体は大丈夫なのですがプラグの樹脂部分が加水分解してボロボロと落ちてきました。
補修部品の入手は確立 できているとはいえ、材質はもっと改良した方が良いと思う。

製作

IC-705 & PC 用に ヘッドセットを改造してみた 」で作成した変換アダプターを利用できるようにして、無線機用の PTT スイッチを設ける変換ボックスを製作する事とする。

また、H10-13.4 ヘッドフォーンの音圧特性は2 ~ 3.5 kHz あたりに大きなピークがあり 5.5 kHz を過ぎたあたりから急激に減衰します。
この特性は、AM/FM/SSB 等の音声信号では歯切れが良く了解度向上に寄与していると思われますが。
IC-705 の CW では、AGC 制御方式を原因とする CW 復調音歪があり、ゼロインした600 Hz トーンの奇数倍高調波になる 1,800 Hz (3倍), 3,000 Hz (5倍)歪成分が強調されて耳につき、ザラついたというかカサついた聞きづらい復調音になってしまいました。
最初は H10-13.4 の不具合かと疑ったのですが、これは IC-705 の CW 復調音自体が原因でした。この対策の為にヘッドフォーン側に Hi-Cut フィルタを設けます。
(この IC-705 CW 復調音の課題については、くわしく検証して別記事で投稿予定。)

変換ボックスを製作するにあたり一番問題となったのは、H10-134 のマイク側プラグが一般的な 1/4inch (6.3 mm) フォーンプラグではなく、見た目はそっくりだが少し直径が細い 0.206inch (5.2 mm) の PJ-068 という規格のプラグが採用されていること。
上がマイクの PJ-068 プラグ
下がスピーカの1/4'' 標準フォーン・プラグ

PJ-068 プラグは軍用機器や航空機用機器では一般的なようだが、現代の民生機器では殆ど採用例がなく秋葉原の部品屋を探し回っても PJ-068 プラグに対応する JJ-033A ジャックを見つける事ができず。
なんとか 航空機用品店の通販 で JJ-033A ジャックを入手しました。
入手が簡単ではなく価格も高いのは痛い。

回路

製作した回路

変換ボックス
H10-13.4 ヘッドフォーンのインピーダンスが 150 Ωと一般的なヘッドフォーンに比べると高いため、4~32 Ωあたりのインピーダンスが前提の IC-705 の SP Jack や PC の SP 出力では音がかなり小さくなってしまう。
充分な音量を得るために、1次側 600 Ω:2次側 10 Ωの山水トランジスタ用小型トランス ST-45 で1次側のセンタータップ 150 (=600*0.5^2) Ω を使って昇圧し音量を確保しました。

また前述の IC-705 CW 復調音の歪成分を軽減する為に、中点 OFF の単極双投トグルスイッチと無極性電解キャパシタ 1uFと2.2 uF で、弱 - 切 - 強 切替の Hi-Cut 回路も追加しています。

IC-705 無線機用変換ケーブル
マイク M-7A Data Sheet によると DC 8~16 V から抵抗を通して電源供給が必要。
IC-705 ではセットモード MENU>>SET>外部端子 MIC端子8V出力 を ON にして使用。

PC SP/MIC 用変換ケーブル
PC の MIC 端子からは 5V 程度の電圧しかかかっていませんが、
実際には問題なく使えています。
PC のステレオのSP出力をモノラル信号にする為に抵抗ミックスしています。

加工・組立

変換ボックスのケースには TAKACHI YM-80  W80 x H30 x 50 mm を採用。
JACK類、SW類を穴あけして取り付け、Hi-Cut用の電解キャパシタも含め空中配線で接続。
ST-45 トランスは、結束バンドベースをケースに貼り付けて結束バンドで固定しています。
PTT スイッチは 千石電商 で色んなプッシュスイッチの動作を比較し。
押した時に確実にクリック感があり、かつ重すぎない NKKスイッチズ LP01-15CCKNS1R にしました。

使ってみて

Hi-Cut スイッチが無いと少し聞き辛い音だった IC-705 の CW 復調音もマシになり、
装着感の良さと併せて長時間の運用でも集中できて快適です。
周りの音がかなり遮音されるので音量を必要以上に上げなくて良いのも、耳が疲れにくい要因と思われます。
(逆に周りから呼ばれても気が付かない場合が。。。)

最近は PC の Web ミーティングでも使用していますが、こちらもキッチンの換気扇が回っているような周囲雑音が大きい場合でもマイクのノイズキャンセル効果が効いてクリアな送話音で良い感じです。

さすが航空機用ヘッドセットだけあって、かなり実用的。
新品ではお値段が張りますが、安く手に入れば是非おすすめします。

ただ手軽に持ち出すには少し大きいので、移動運用には前に作った
IC-705 & PC 用に ヘッドセットを改造してみた 」のヘッドセットを持ち出す事になりそうです。

feed QRP ANTENNA TUNER の挿入損失を NanoVNA-H で測ってみた (2023/11/9 19:00:00)
自作した QRP ANTENNA TUNER  のロスがどの程度あるのか、 NanoVNA-H で挿入損失を測定してみた。

知りたいポイント

  •  一体、どの程度の挿入損失があるのか?
  • 周波数帯により得手、不得手があるのか?
  • 同じ周波数ならインダクタンスが少ない方でマッチングする方が損失が少ないと想定されるが、本当か?

測定

方法

QRP ANTENNA TUNER と NanoVNA-H を図のように接続し。
SWR が一番下がるつまみの位置での、NanoVNA-H の S21 Gain を測定する。

結果

3.5 / 7 / 14 / 21 / 28 / 50 MHz帯での、つまみの位置と測定結果。
Left/Right VC : 0 容量大 ~ 10 容量小
Inductor : A インダクタンス大 ~ L インダクタンス小

考察

HF 帯では、0.5 dB 以下なので挿入損失はほぼ問題なし。(負荷が純粋な 50 Ohm という条件だが)

やはり、同じ周波数ではインダクタンスが小さくバリコンの容量が大きくなる設定の方が、損失が少なくなる。
損失の大部分がインダクタンスで発生している為と考えられる。

VHF の 50 MHz 帯で損失が大きくなるのはインダクタンスの T106-2 トロイダルコアの損失が増える為か。

挿入損失を NanoVNA-H 直結で測っているため、TUNER の負荷が 50 Ohm の場合の結果でしかない。
実際にはアンテナのインピーダンスが純粋な 50 Ohm ではないから TUNER を使う訳なので、
実運用時の負荷が 50 Ohm から大きく外れている場合で挿入損失がどうなるのか興味あるところ。
また、無線機の出力に比べて大変小さい NanoVNA-H の出力での測定であるので、実際の 5~10 W で使っている時の損失とどの程度の違いが出るのかも気になる。




feed 何故か突然、Arduino IDE で Sketch を Upload したら M5Core2 が再起動を繰り返して立ち上がらくなってしまった (2023/11/3 16:23:00)

M5Core2.jpeg

つい先日までは、Windows x64 Arduino IDE 2.2.1 で M5Core2 に正常に Sketch を Upload 出来ていたのだが。

Arduino IDE 2.2.1 を再インストールして再設定していたら何故か突然、
M5Core2 に Sketch を Upload したら M5Core が再起動を繰り返してしまって、正常に立ち上がらくなってしまった。

症状

IDE の Output ウィンドウでは
   :     :
Writing at 0x00171e3d... (100 %)
Wrote 1453808 bytes (871259 compressed) at 0x00010000 in 13.7 seconds (effective 848.0 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...

と正常に書き込めたように表示されるのだが。

M5Core2 が正常に起動しない。


Arduino IDE のシリアルモニターを確認すると。

M5Core2 initializing...axp: vbus limit off
axp: gpio1 init
axp: gpio2 init
axp: rtc battery charging enabled
axp: esp32 power voltage was set to 3.35v
axp: lcd backlight voltage was set to 2.80v
axp: lcd logic and sdcard voltage preset to 3.3v
axp: vibrator voltage preset to 2v
touch: FT6336 ready (fw id 0x11 rel 1, lib 0x3008)

のような起動時のログメッセージが延々と繰り返し出力されている。

再起動を繰り返して立ち上がれないようである。


ググってみても、私の場合に該当するような情報は見当たらず。

Arduino IDE のアンインストールと再インストールを繰り返してみるなど、

いろいろやってみるが症状は改善せず。


原因

正常に M5Core2 に書き込める、もう一つの PC にインストールされている Arduino IDE と設定を見比べていると。
使用している BOARD MANAGER M5Stack by M5Stack のバージョンに違いが有った。
  • 2.0.7      正常
  • 2.0.8      再起動を繰り返す     

そこで、BOARD MANAGER のバージョンを 2.0.8 -> 2.0.7 にダウングレードしたら正常に戻せた。
しかし、この作業の最中に指定している使用 BOARD にも、
  • M5Stack-Core2
  • M5Core2
の2つの違いがある事に気が付いた。
BOARD MANAGER バージョン 2.0.7 では M5Stack-Core2 しかないのだが、
2.0.8 では M5Stack-Core2 M5Core2 の2種類が選択可能となっており。
再起動を繰り返していた時は、 M5Core2 を使っていた。

試しに BOARD MANAGER  M5Stack by M5Stack  のバージョンを現時点で最新の 2.0.8  に戻して、
使用 BOARD に   M5Stack-Core2  を指定してやると、正常に書き込めるように戻った。

という事で M5Core2 を書き込む時には、
BOARD の指定に BOARD MANAGER  M5Stack by M5Stack    2.0.8  で追加されている
M5Core2 を指定すると正常に書き込めず、

必ず    M5Stack-Core2  を選択しないといけない。

というオチでした。

もし、Arduino IDE で M5Core2 に正常に書き込めずに再起動を繰り返す場合は、
BOARD 指定が M5Core2 ではなく M5Stack-Core2 になっているかもご確認ください。




feed 記事一覧 (2023/2/22 11:39:47)
feed APRS I-Gate を開設したら YAAC 作者の KA2DDO Andrew さんから APRS Message が来た (2022/11/27 7:30:00)

APRS I-Gate を開設

2 エリアに居たときには、APRS が余り盛んではなかった浜松市南区で UIView32 を使って APRS I-Gate を開設して、近くの国道1号を通る移動局や市内南部にサービスしていた。

恐らく関東ではAPRS基地局が過密だろうと APRS 移動局しかやっていなかったのだが。
どうも最近では APRS 移動局の数も減っているし、D-PRS Gate 局はたくさんあるが APRS I-Gate 局や Digipeater 局も寂しい感じになっている。

そこで、久々に I-Gate を立ててみる。

RTL-SDR + Direwolf

最初は RTL-SDR USB ドングルと、Raspberry Pi 上の Direwolf で 1200 bps と 9600 bps を切り替えて I-Gate してみたが。
RTL-SDR ドングルの感度が余り良くないのに合わせて VHF アンテナのロケーションが最悪に近いのので、受信出来る局が少なすぎた。

C500 + TNC-22 + YAAC

受信感度の向上を期待して、1200bps しか送受信できないが 2 エリア時代に使っていた Standard C500 Tasco TNC-22 を引っ張り出してくる。
Direwolf は自身で TNC-2 エミュレーションはできるが、外部の TNC-2 をシリアルで接続する事が出来ないので別の APRS Client Software を探していたら、

Java で書かれており Linux/Mac/Win などマルチプラットフォームで動作する
というのを見つけた。

Windows 10 PC にインストールして設定し起動すると、OpenStreetMap を利用した地図も表示されて、こんな画面が開く。

期待していた受信感度は少し良くなって、方角によると 10 km 程度の APRS Packet を受信出来るようになった。

YAAC 作者から APRS Message が来た

しばらく YAAC を使って I-Gate を動作させていたら。
突然 APRS Message Window が開いていた。
内容を確認すると 
?VER と有ったので、どういう意味?と質問したら。
なんと YAAC の作者である KA2DDO Andrew さんからの
使用している Version を教えて欲しいという Message でした。

Mailing list へのお誘いと、近々 YACC の新しい build 181.73 も公開予定と教えて頂きました。

APRS は位置ビーコンでトラッキングするだけじゃなくて、こういう使い方も出来ると再認識。


feed 移動用マルチバンド EFHW アンテナをつくってみた (2022/9/19 17:55:00)

移動運用向けに、長いカウンターポイズ/ラジアル線不要でコンパクトにまとまり、複数バンドにオンエアー可能なEFHW アンテナを作る。

動機

IC-705 移動運用の持出用に、コンパクト軽量にまとまる手頃なアンテナが無いか物色していた。

ダイポールアンテナ

  • グランドが不要なのは大きなメリット。
  • ただし、ポールなどでワイヤーの中央を吊り上げて長い同軸ケーブルで給電する必要がある。

1/4波長垂直系アンテナ

COMET HFJ-350M  
  • オプションの拡張コイルとノンラジアル周波数拡張コイルを使えば1.8 MHz帯から 145 MHz帯まで使える。
  • バンド切替は短縮コイルのバンド毎に固定のタップをショート。
  • SWR 調整はロッド・エレメントの長さを調節しないといけない。調節時は感電しないように送信停止しないといけないのが少し面倒。
DIAMOND RMH8B
  • 7 MHz帯から 50 MHz帯まで使える。
  • 短縮コイル部の調整が無段階なので、調整が楽そう。
  • アンテナ・エレメントを電線で延長して短縮コイルを緩めて短縮率を軽減する事も出来る。
  • アンテナ接栓が BNC で機構的に弱いという評価もあるが、かなり便利そう。
1/4 波長のロングワイヤー
  • 7/21 MHz帯で約 10/3.6 m の電線さえあれば作れる。
カーボン釣り竿アンテナ

近頃巷で流行しているカーボン釣り竿そのものをエレメントとして使う方法。


ただこれらのアンテナは基本的に1/4波長の接地アンテナなので、
別にカウンターポイズ/ラジアルが必要になるのが少し面倒。
線のばら撒き方や、地面の状態によりなかなか安定しないのも悩みの種。
ダイポールでは真ん中を支えるポールや、その他のアンテナも直立させる方法も悩ましい。

色々物色していると。長いカウンターポイズ/ラジアルが不要でワイヤーの端から給電可能な。
 EFHW (End Fed Half Wave) アンテナという半波長電圧給電アンテナが、欧米では割と一般的なようです。
日本では昔からツェップ(ライク?)アンテナと呼ばれていた形式。

EFHW アンテナ

EFHW とは End - Fed - Half -Wave の略。1/2 波長アンテナ線の端点から給電する方式。

ツェップ(ライク)・アンテナ

元々、空中に在ってグランドが取れないドイツのツェッペリン飛行船で使用されていたアンテナだそう。
1/4波長の平行フィーダを使用して、半波長のエレメントの端の高インピーダンス点から電圧給電する。
飛行船からフィーダ + エレメントを垂下させるだけで良い。
1909年に、Hans Beggerow 博士が発明し 特許を取得
無線通信が始まってからさほど時間が経っていない第一次世界大戦当時に、こんなアイデアを実用していたとは感心するしかない。

1/4波長平行フィーダによる、低インピーダンスから高インピーダンスへの変換の代替として、
並列共振トランスによるインピーダンス変換で半波長ワイヤーの端から給電するツェップ(・ライク?)アンテナもある。
長い平行フィーダが不要になるのがメリット。
1928年には、オーストリアのアマチュア無線家 OE1JF, Josef Fuchs 博士の” Sendeanordnung für drahtlose Telegraphie." 特許が取得 されている。申請は1927年。
この形式と、その改良系がツェップまたはツェップ・ライク・アンテナとして有名だったと思う。
このページは、LC並列共振を利用したタイプの EFHW の解説。 
大変良く考察されていて、様々なページでも参照されている。
(特に興味深いのは、本来 0.05 波長のカウンターポイズが必要だが実際には無くても問題が無くても大丈夫な場合が多い理由が説明されている。)
例えばこんな動画
但し、これらは LC 並列共振を使うので基本的にモノ・バンド専用。

Multi-Band EFHW アンテナ

欧米では、LC並列共振トランスにより電圧給電の高いインピーダンスに整合させるのでなく。
トロイダルコアの広帯域トランスでインピーダンス変換して、基本周波数の整数倍(偶数倍じゃない!)の周波数でも使える Multi-Band EFHW アンテナも良く使われているようです。

トラップやアンテナ線を周波数に合わせて短くするタップを使ってマルチバンド化している例も多いのですが。
アンテナ線の途中に余計な部品を付けると重たくなるし、アンテナ線の展開時に邪魔になる場合も。

ダイポールアンテナのような中央からではなく、ワイヤーの端から電圧給電する EFHW ならば
ワイヤーだけで基本周波数の奇数次高調波のみならず偶数次高調波も同じように給電可能。
に詳しい解説がある。
などのページだけではなく。
YouTube でも  "multiband end fed" などで検索すると、高調波を利用したマルチバンドの EFHW に関する動画が一杯ヒットします。

基本的に海外では3.5 MHzの半波長 40m のアンテナ線に、高調波を乗せてマルチバンド化している例が多いのですが。
さすがに 40 m は長すぎるので約 20 m ならば、アンテナ線を展開後に 7/(14)/21/28 MHz帯の各バンドで使えるアンテナになりそう。

予備実験

トロイダルコアの広帯域トランスと約 20 m のワイヤーで、いろいろ実験して試してみた。

インピーダンス変換トランス

色々な資料には EFHW アンテナ給電点インピーダンス約 2.45 kOhm とあるのだが、実際に私の場合は約 4 kOhm 付近と高いようで、インピーダンス比 1:49 や 1:64 のトランスでは変換後のインピーダンスが 50 Ohm よりかなり大きくなってしまった。
2次側の巻き数をいろいろ試してみたところ、巻き数 3t : 27t = 1 : 9 のインピーダンス比 1 : 81 とかなり大きな比率が良いという結果になった。

ワイヤーの長さ

基本波とそのちょうど整数倍の高調波で共振するという事前の予想とは少し状況が異なり、
7 MHz帯に共振するようにワイヤーの長さを調整すると。
その整数倍で共振するはずの 21/28 MHz帯の共振周波数が、予想外に高い方にズレてしまった。
逆に 21 MHz帯で共振するように長くすると、7 MHz 帯がかなり下で共振してしまう。
7/21/28 MHzの各周波数帯のバランスで妥協出来る点を探そうとしたが、少し無理があるので諦めた。

単純な理論上では、正確に基本波の整数倍で共振するはずだが。
ワイヤーの太さの影響で高調波により波長の電気的長さが変わる為と思われる。
ピアノやギターの弦振動と同じようなイメージか。

この問題に対して、DL7AB さんが周波数の高いバンドの共振周波数をコイルで補正する方法を発表していた。

DL7AB さんの例はアンテナワイヤー 40 m の基本波 3.5 MHz帯での例なので、そのままは使えず。
長さ半分の 20 m のワイヤーで基本波の7 MHz帯の共振周波数に余り影響を与えず高調波の共振周波数を下げる補正コイルをいろいろ試してみた。
カットアンドトライの結果、ワイヤー先端から 2.3 m 付近に約 2.5 uH のインダクタンスを挿入することで、各バンドの共振周波数を目標とする付近に調整できた。

製作


構成

インピーダンス変換トランス

FT82-43 フェライトコアに、インピーダンス変換トランスを巻く。

多くの製作例では、
  • インピーダンス比 1:49 (巻き数比 1:7)
  • インピーダンス比 1:64 (巻き数比 1:8)
が多く見られる。
何故か巻き数比は整数倍が好まれているようだが、整数倍である必然はないように思う。

実際にやってみると電圧給電点インピーダンスはかなり高いようで。
色々試した結果、私の場合は巻き数 3:27 のインピーダンス比 1:81 に落ち着きました。

最初の 3t は1次側、2次側を密着させる為によじっておき。
入出力を離してアイソレーションを向上させる為に、長い2次側の巻き線は途中で反対側に通す W1JR 巻きで。

給電部

アンテナ・ワイヤー巻き取り部を兼ねた給電部を。
ある程度の柔軟性を持ったプラスチック板を切り抜いて作成。
  • 無線機と接続する BNC ジャック。
  • インピーダンス変換トランス。
  • アンテナ(赤)とカウンターポイズ(黒)の接続ターミナル。
  • トランスの1次側と2次側の接続/非接続を試せるトグルスイッチ。(これはどちらにしても、余り影響がありませんでした。接続したままにしてスイッチは不要でしたね。)
を取り付けて配線。
トロイダルコアのトランスは、結束バンドで固定。

プラスチック板をこのような形にしたのは、アンテナ・ワイヤーの巻取りをやりやすくするため。
ワイヤーを巻き取るときに、2つの角というか足のような部分を利用して、
互いに交差させるように所謂「8の字巻き」にして巻取ります。
また、手で保持し易いように、大きな長孔も設けています。
単純にグルグルと巻いてしまうと、巻きを解くときに捻じれが発生してしまいますが、
8の字巻きにしておくと捻じれずに絡みません。
消防ホースや音響ケーブルを扱う人達が良く使う巻き方ですね。

アンテナ・ワイヤー

アンテナ・ワイヤーは、被覆が
  • しなやかで、スベスベしていて絡みにくい。
  • 耐熱性もあり、気温が低くなっても固くならない。
太さも適当な  RSCB 0.5sq 柔軟性シリコンコード  を 20m 分、 オヤイデ電気 で購入。
被覆色は、晴天下で目立たず?汚れも気になりにくそうな青色を選定。

補正コイルは、安価な呼び径 13 外直径 24mmの塩ビ・パイプ接手を利用して
ワイヤーの先端から 2.3 m の位置に、巻き数 11T で補正コイルを仕込む。
アンテナ・ワイヤーの先端はワイヤーを巻き結びで、インシュレーターとして100均で売っていたキャンプ用のロープフックに締結。

展開方法

給電部を紐で固定。適当な柵や立木に、もやい結びで結びつける。
適当な高さの立木の枝などを利用してパラコードで、アンテナ・ワイヤーを吊り上げる。
いったんスローウェイト(要は輪っかのついた砂袋)にパラコードを巻き結びで結び付け、
適当な高さの立木の枝などに投げてパラコードを渡す。
スローウェイトの代わりに、木の切れ端や別の錘でも良いのだが。
地面で跳ね返って、怪我したり周囲の物を傷つける可能性もある。
意外に値段は張るが、スローウェイトはある程度柔らかく物を傷つけず、地面でも跳ね返らないので安全。

無事に目標の高さにパラコードを渡せたら、先端のスローウェイトを地面まで降ろして外し。
輪っかが勝手に絞まっていかない、もやい結びで作った輪っかにアンテナ・ワイヤーを通しておき。
パラコードを引っ張ってワイヤーを高く上げていく。
ワイヤーの先端は、パラコードの途中によろい結び(ハーニス・ヒッチ)で輪を作り。
ワイヤー先端のフックに引っ掛ける。
パラコードの端を自在結びで、適当な柵や立木、地面に打ったペグに結びつける。
最後に、自在結びを調節してワイヤーをピンと張る。

測定

近所の公園で、逆V字型にワイヤーを展開して IC-705 の SWR計と Nano-VNA で測定。
7 MHz帯
21 MHz帯
28 MHz帯
14 MHz帯
従事者免許が旧電信級、現第3級の為。Nano-VNA による測定のみ。
5~30 MHz

試用

試しに近所の小さい公園で人が居ないのを見計らい、アンテナを展開して FT8 してみた。
1月9日という真冬で陽が暮れると寒いので、本格的に 7 MHz帯 DX が開く前の 17:30 頃に撤収退散したのですが。
自宅に帰ってから PSK Reporter を確認すると、7 MHz帯 IC-705 5W 出力でも豪州方面や北米西海岸まで飛んでいました。

小さく軽量にまとめて持ち出せて、グランド線の引き回しに気を遣うことなしに、
それほど手間がかからず短時間でワイヤー展開/撤収作業が行え。
しかも外部アンテナ・チューナー要らずで、7/21/28 MHz帯に On Air 出来る移動用マルチ・バンド・アンテナになりました。

逆V風以外にスロープ風など展開の仕方や、給電点の高さなどをいろいろな場所で試して、
補正コイルの位置や巻き数および広帯域トランスの巻き数比を調整して完成度を高めたいですね。



feed GPS による基準周波数(時間)発生器をつくってみた (2022/9/18 20:53:00)

GPSSTDFREQ.jpg

動機

とある理由で、正確な周波数を発生させたくなった。

アナログTV時代には、放送局が厳密に管理している数10ppt精度のカラーバースト信号 3.579545 MHz を利用した秋月電子の10 MHz発生器キットもあったようだが、地上デジタルTVに移行してしまって使えない。

また大昔は、5/8/10MHzで短波の JJY というのが有り正確な周波数基準として利用できたのだが、すでに2001年に停波してしまっている。
代わりに、電波時計にも利用されている40kHz/60kHzの 長波 JJY が運用されています。
「24時間の周波数比較平均で10ppt = 0.00001ppm の精度」は魅力的ですが、
長波を受信できるバーアンテナ部品は結構いいお値段がするし、使いたい数 MHz の周波数に大きく逓倍するのも面倒そうなのでパス。

いろいろWeb を検索してみると 、GPS 受信モジュールの秒パルス機能を利用する方法が最近の流行のようだ。

実験

電子部品通販サイトを漁ったところ aitendo で、
秒パルス 1PPSの出力端子 が出ている アンテナ付き u-blox NEO-6M GPS モジュール が、千円位で売っている。
NEO-6M のデータシートによると 1PPS の精度は RMS で 30nsということなので1.0/30e-9 = 0.33ppm 位の精度は出そう。 

いろんなWebの情報によると、NEO-6M は設定アプリでデータシートに記載の「0.25 Hz to 1k Hz 」を超えた ”10 MHz” まで 1PPS 端子に出力する事もできるらしい。

ということで買ってきて、
ブレッドボードに仮組していろいろ触ってみる。
端子としては
  • VCC : 電源 2.7V - 3.6V
  • GND : グランド
  • TXD : シリアル送信(最大電圧 3.6V)
  • RXD : シリアル受信(最大電圧 3.6V)
  • PPS : 秒パルス出力(LED カソードとも接続されている)
が出ている。

PC と接続する為にUSB-シリアル通信変換モジュールも必要。
こちらは手持ちに有った、秋月電子の 超小型シリアル変換モジュール  AE-FX234X を使用。

屋内の窓際に持っていって USB ケーブルを挿すとGPSモジュールのLEDが点灯。
最初は Cold Start なので衛星を探しているが、数分でLEDが1秒に一回瞬滅するので測位完了が分かる。 

u-blox 謹製の u-center という Win アプリを使うと衛星受信状態や緯度/経度/高度/速度がリアルタイムで分かります。
この u-center のメニューから、View -> Configuration View を開き。
"TP (Time Pulse)" ではなく "TP5 (Time Pulse 5)" の項目に、
GPS にロックした時のパルス出力設定があったので、色々と設定したみたところ。
10 MHz 超までの GPS 同期パルスが出せた。
上部の設定は GPS で位置/時間情報が取得出来ないときの Time Pulse 設定で、
下に GPS Lock 時の同期パルスを出す設定がある。

PPS Time Pulse 出力周波数
GPS 同期時の PPS Time Pulse 端子の周波数設定
TP5 (Timepulse 5) Frequency Locked をいろいろ変えて観察してみると。

に説明されている通り、 48 MHz を整数で割り切れない周波数ではジッタが発生する。

  • 割り切れない周波数を設定すると、長区間の平均周波数は正確であってもジッタが発生する。
5 MHz
7 MHz
10 MHz

  • 割り切れる周波数では、揺れが無く綺麗な出力波形。
6 MHz
8 MHz

製作

回路

ブレッドボードで動作の確認ができたので回路図を作成。
  • GPS の電源は USB からの VBUS 5 V をシリーズレギュレータで 3.3 V にして使用。
  • GPS で 50 Ohm 負荷を直接駆動するのは厳しいので。インバータ 74HC04 でバッファ。
  1. 74HC04 の一個当たりの出力電流は 3.3V 電源では +- 3 mA 程度なので、2個パラ出力にすると共にアッテネータで負荷を軽くしてやる。
  2. アッテネータで電圧が小さくなるので、バルストランスを使用したBTL駆動にして電圧をかせぐと共に GND に流れ込む電流(ノイズ)を減らす。
  • BNC出力に 50 Ohm 負荷ではなく高インピーダンス負荷を同軸ケーブルで接続した時も、50 Ohm 付近の負荷インピーダンスにする為に、50 Ohm Load ON/OFF スイッチを追加。
  • パルストランスを使用した BNC 出力では、出力周波数が低くなるとインダクタンスが不足して矩形波が大きくサグるので。シングルエンド出力でバラ線を簡単に接続するため 2P のターミナルブロックも用意。
  • GPS_freq_STD_schematic.png (クリックで拡大)


部品その他

  • パルストランス
インダクタンス 2.5 mH なので、50 Ohm ラインでは 20 kHz 以上で使えそう。
  • BNCジャックと2Pターミナルブロック

実装・組立

万能基板に組み上げて、USBを接続し動作確認。
を初めて使ってみる。
GPS ユニットと USB シリアルコンバーターの LED が確認できるうえに。
普通のケースでは Micro USB 端子の穴をあけて固定するのが面倒なのだが。
この基板の上下だけをアクリル板で保護方式なら、うまくまとまる。


使用法

USBシリアルモジュールの Micro USB 端子に USB ケーブルを差すと電源が入り。
USBシリアルモジュールの青色 LED と、GPS モジュールの赤色 LED が点灯。

GPS が位置情報を取得してロックすると、BNC ジャックと 2P ターミナルブロックに矩形波が出力される。
出力周波数およそ 100 kHz 以下では、パルストランスを使用した BNC 出力端子の信号ではサグが大きくなるので、2P ターミナルブロックを使用するのが良いでしょう。

下の写真では、基板上の GPS アンテナではなく外部GPSアンテナをケーブルで接続しています。

DSC_0958-03.jpeg

周波数設定について

GPS が位置(時間)情報にロックしている時の、PPS出力の設定は。
u-center のメニュー File > View > Configuration View を開いて、
TP5(Timepulse 5) の
  • Frequency Locked [Hz]
  • Duty Locked [%]
で好きに設定できる。
色々周波数を変えて観測してみると、1 Hz から 20 MHz程度まで出力できる。
ただし、設定値により出力矩形波の状態が影響を受けるので、
用途に応じた適切な設定が必要です。

基本周波数近傍スペクトル

Spectrum Analyzer Settings

  • Vertical 10 dB/Div. Max. 130 dB
  • Horizontal 0.5 MHz/Div.

にして周波数設定による差を比較。


TP5(Timepulse 5) Settings

  • Frequency Locked: 4,000,000 Hz
  • Duty Locked: 50%

の時の 4 MHz 近傍スペクトル。

48 MHz /4 MHz は整数で割り切れるので綺麗な線スペクトルになっている。

DSC_0958-01.jpeg

TP5(Timepulse 5) Settings

  • Frequency Locked: 4,040,000 Hz
  • Duty Locked: 50%

にすると、48 MHz を整数で割り切れないので出力波形にジッタが発生するため、スプリアスが盛大に発生。

波形としてはジッタが発生するが、長区間のカウント値は正確なのでカウンタの校正などの用途には使えるかも。

DSC_0960-01-01-01.jpeg


高調波スペクトル
出力波形は矩形波なので基本周波数だけではなく、その高調波も現れる。

Spectrum Analyzer Settings

  • Vertical 10 dB/Div. Max. 130 dB
  • Horizontal 10 MHz/Div.

にして出力 Duty による違いを観測。


TP5(Timepulse 5) Settings

  • Frequency Locked: 8,000,000 Hz
  • Duty Locked: 50 %
の場合は、正負対称波形の為
基本波 8 MHz と、3, 5, 7, 9, 11, ... 倍の 奇数次 だけの高調波が含まれる。

TP5(Timepulse 5) Settings

  • Frequency Locked: 8,000,000 Hz
  • Duty Locked:  20  %
と Duty を 50 % ではない、正負非対称の設定にすると。
基本波 8 MHz と、2, 4, 6, 8, ... の 偶数次 の高調波も含まれるようになり整数次高調波が得られる。
受信周波数マーカーなどの用途にはこちらの方が便利。

出力周波数設定を記憶

GPS モジュールに u-center で設定した値を記憶させる事もできます。
Configuration View の CFG(Configuration) で、記憶させたい設定を選択し。
"Send" ボタンをクリックすると書き込んでくれます。
一度記憶させておけば記憶された設定値で起動されるので、
USB AC Adaptor やモバイルバッテリーで Micro USB 端子に電源供給さえすれば、
PC 不要のスタンドアローンで使えます。

GPS 非ロックの LED 表示

GPS モジュールの赤色 LED のカソードがモジュールの PPS 端子に接続されているので、
PPS 端子が Low の時に光ります。
私の場合、 TP5 (Timepulse) 設定のロック時の周波数設定の上にある設定を
  • Frequency 4 [Hz]
  • Duty Cycle 25.0 [%]
unlock_led.png
として、GPS が非ロック時に LED がチカチカ点滅して分かるようにして使用しています。
PPS端子が Low で点灯なので、
  • LED の点灯 Duty = 100% - Duty Cycle 設定 
となります。

IC-705 の受信周波数精度を確認してみる

実運用上で IC-705 の受信周波数ズレを実感している訳ではないが、試しに受信周波数精度を確認してみる。

8 MHz の出力周波数設定にして、その漏れを通電して暖めておいた IC-705 で受信してみる。
CW モードでサイドトーン設定と同じ音程になるように受信周波数を調整してみると。
私の個体では 8,000.03 kHz となりました。
この時の MENU>機能設定>基準周波数調整 の設定値は工場出荷調整時のままの 54.8 % 54_8_per_menu.png

次に IC-705 の受信周波数を 8,000 kHz に固定したまま、基準周波数調整の値を変えて合わせると
基準周波数調整の値は、 80 % がビッタリになりました。

ズレていたとはいえ 3.75 ppm = 30 Hz/8 MHz 程度ですから、アマチュア無線機なら出荷調整基準内で基準周波数発振器の初期変動を考慮しても許容範囲内で良品なんでしょうね。

おわりに

単にモジュールを組み合わせただけですが、校正要らずというか米国が常時校正してくれている GPS 信号を利用して、家の中で一番正確な周波数基準を獲得できました。
それも格安で出来て大満足。


feed Grove Beginner Kit for Arduino の温度湿度センサーを動くようにしてみる (2022/8/14 10:29:00)
先日、マルツ秋葉原本店に寄った際。
たまたま限定特価で売られていた Seed の Grove Beginner Kit for Arduino を衝動買い。
Auduino Uno 相当の CPU 基板と、各種センサーの基板が1枚の基板上に集積されていて入門用に最適。
この Kit 自体の詳細についてはネット上に沢山の情報が上がっているので、そちらをググってご参照下さい。

取り敢えず一通り試してみるかと。
のチュートリアル Lesson を試していったのだが、
温湿度センサーが、どうもうまく動かない!

温湿度センサーが上手く動かない?

Lesson 8: Detecting Surrounding Temperature & Humidity
の通りにやってみても。

OLED Display に、
  • Temp: 0.00C <-> nanCC の繰り返し
  • Humidity: 0.00%
としか表示されない。

試しに Initial Arduino Firmware Demo の  GroveBeginnerKitFirmwareFINAL.zip
を落としてきて Grove_Starter_Kit.ino をコンパイル、アップロードしてみても。
やはり Temp : 0 C, humid : 


これだけ明確に動作していないのだから、同じような経験している人もいるだろうと検索してみたが、中々それらしい情報にぶち当たらなかった。

搭載されている温湿度センサーが DHT20

いろいろ検索していたら  PDF のマニュアル ではなく Seed の Wiki に、しれっと
Some upgraded kit has been euqipped with DHT20. If your Humidity and Temperature Detector on the kit is black then the detector is DHT20 and the example code of it is after DHT11.

と書いてあった。

よくよく自分の Kit を確認すると、

DSC_0934-01-01-01.jpeg

やはり、カバーの色が黒の DHT20 だった。

DHT11 はカバーが青色らしい。


さっそく、  Seed の Wiki  の DHT20 用 の

 Lesson 8: Detecting Surrounding Temperature & Humidity

 コード

//Temperature and Humidity Sensor
#include "DHT.h"
#include <Arduino.h>
#include <U8x8lib.h>
#include "Wire.h"
 
#define DHTTYPE DHT20   // DHT 20
 
DHT dht(DHTTYPE);  
#if defined(ARDUINO_ARCH_AVR)
    #define debug  Serial
 
#elif defined(ARDUINO_ARCH_SAMD) ||  defined(ARDUINO_ARCH_SAM)
    #define debug  SerialUSB
#else
    #define debug  Serial
#endif
 
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
 
void setup(void) {
    debug.begin(115200);
    debug.println("DHTxx test!");
    Wire.begin();
 
    /*if using WIO link,must pull up the power pin.*/
    // pinMode(PIN_GROVE_POWER, OUTPUT);
    // digitalWrite(PIN_GROVE_POWER, 1);
 
    dht.begin();
  dht.begin();
  u8x8.begin();
  u8x8.setPowerSave(0);  
  u8x8.setFlipMode(1);
}
 
void loop(void) {
 
  float temp, humi;
  temp = dht.readTemperature();
  humi = dht.readHumidity();
 
  u8x8.setFont(u8x8_font_chroma48medium8_r);
  u8x8.setCursor(0, 33);
  u8x8.print("Temp:");
  u8x8.print(temp);
  u8x8.print("C");
  u8x8.setCursor(0,50);
  u8x8.print("Humidity:");
  u8x8.print(humi);
  u8x8.print("%");
  u8x8.refreshDisplay();
  delay(200);
}
をコンパイルしてみるが、 "DHT20" がスコープ範囲に見つからない というコンパイル・エラーが出てしまって ビルド出来ない

今度は DHT20 で検索していると、 Grove-Temperature-Humidity-Sensor-DH20 WiKi  が見つかり。
ライブラリ Grove_Temperature_And_Humidity_Sensor-master.zip  を Arduino IDE にインストールして入れ替える必要があるらしい。
が、ただ単にインストールしても古いライブラリが先に使われてしまってコンパイル・エラーが出たままに。
古いライブラリを Uninstall したら新しいライブラリが使われてコンパイルが成功。
やっと温度湿度センサー DHT20 が正常に動作した

 Initial Arduino Firmware Demo の 修正

当然、Seed の Demo も最新版ならば DHT20 に対応しているだろうと、GitHub を探し回るが DHT11 用のソースしか見つからなかった。
しかた無いので、自分で DHT20 対応に修正しました。

修正済の Source は こちら  Grove_Starter_Kit.ino

無事に Demo でも、温湿度センサーが動作しました。

おわりに

妙な所に引っ掛かってしまったが。
Seed ももう少し分かりやすく情報開示して欲しいですね。
GitHub に Initial Arduino Firmware Demo の  GroveBeginnerKitFirmwareFINAL.zip  のリポジトリが有れば、修正を Pull Request しておくのですが。うまく見つけらなかった。

私と同じように DTH20 搭載版の Grove Biginner Kit で悩んでいる方の参考になれば幸いです。





(1) 2 3 » 

execution time : 0.226 sec
サイト内検索

メインメニュー

ログイン
ユーザ名:

パスワード:



パスワード紛失


オンライン状況
86 人のユーザが現在オンラインです。 (42 人のユーザが 無線ブログ集 を参照しています。)

登録ユーザ: 0
ゲスト: 86

もっと...