KX3のPC 接続用 ACC1は、RS-232C レベルの電圧レベルを想定している(正確には、0VとVCCの負論理になってるけど)

これをBluetooth化してみたという話。

部品

使ったのは

RN-42 は1500円と、余り安くはないのだけれど、国内技適マークがついており合法的に使える。また、シリアル経由または、接続済みBluetooth経由で内部設定を変更できるモードがあり、簡単に柔軟な設定ができる。

ロジック変換には3.3Vレギュレーター付きのちょうど良いのがあったので、これにしてみた。

実際のところ、負の電圧はいらないので真面目にRS-232C変換する必要はなく、単に電圧と論理変換さえできればいいので、ICを使う必要はないけど、面倒なのでこれにした。

レギュレーターの耐圧が14Vなので、13.8V だとギリギリすぎるのと、ドロップ電圧が大きくて結構発熱してしまう。本当ならKX3内部のスイッチングで降圧された3.3Vに接続できたらいいのだけれど、良い方法がない。40mA 流すと 0.42Wは熱に変わってしまってエコではない。

製作

ただ繋ぐだけなのでデータシート見つつ半田付けしたら普通に動いてくれた。

デフォルトだと115200baudになっているので、screen /dev/tty.xxx 115200 で接続した後に、以下のコマンドで設定しなおす。(38400baudに)

// <CR> は改行

// コマンドモードに入る (GPIO5 が10Hzで点滅するようになる)
$$$<CR>
// ボーレート設定
SU,38.4<CR>
// 設定確認
D<CR>
// 再起動
R,1<CR>
// コマンドモードを抜ける
---<CR>

(エコーされないので、ローカルエコーを有効にしたほうがわかりやすい。コマンドモードに入ってから + を送るとエコーが有効になる)

これはどうやら電源を切っても記憶されているようなので、最初の一度だけで良い。

最初、ボーレートの設定方法がわからず、GPIO7をプルアップして9600baudに固定してみたが、上記の方法で自由にボーレートを設定できるので、GPIO7は何もしなくてよい。GPIO7 をプルアップした場合、ソフトウェア設定に関わらず強制的に9600baudに固定される。マイコンとか別途繋いだ場合、設定はボーレート強制したほうが安定するとか、そういう用途に使えそう。

GPIO5 は接続が完了すると出力がゼロになるので、LEDを繋いでいても接続中は電流が流れずエコ。ただ、これは対応するデバイスファイルを open しタイミングで消えるので、ペアリングしただけではチカチカしたまま。

使用感

デバイスを指定すれば自動的にペアリングされ、/dev/tty.xxx に勝手にデバイスファイルが作られるので、それを指定して普通にシリアル通信すればよく、特に Bluetooth だからといって難しいことはない。

遅延がちょっとあって、ケーブル直と完全に同じ使用感という感じではない。

メリット

  • シリアルケーブルがいらない
  • ホストPCのUSBポートを占有しない
  • PC との GND の分離

デメリット

  • KX3側での消費電力増
  • 遅延

無線化できるメリットはあるにはあるけど、めっちゃ便利というほどでもない。サイドに繋いでいるケーブル類の殆どの無線化できたら便利だろうけど、難しい。数本繋いでいるうちの1本ケーブル減ったくらいでは嬉しさがあんまりないなという感じ。

可能なら

電源をスイッチング降圧にしたいが、スイッチングだと

  • デカい
  • ノイズ対策が必要

というのが厳しい。0.6W ぐらいならリニアレギュレータで我慢するほうがいいかもしれない。

あと、丁度いい小型のケースを見つけるのが難しい。今回は aitendo のプラケース (22x11x43)を使ってみたが、aitendo は在庫が安定してないので、タカチの SW-30B (20x18x30) か SW-40B (30x20x40) がいいかもしれない。

RS-232C をモジュール基板でやってるのも無駄なので、表面実装の適当な Vth 低い FET でやるようにできるとよさそう。

追記

SQ,16 というコマンドをうちこむとレイテンシが改善されるらしい。やってみたけどちょっとマシになる程度

$$$
SQ,16 // low latency 優先モードになる (スループットが落ちる) SQ,0 でデフォルト
GQ // 現在のモード
  1. トップ
  2. tech
  3. KX3 ACC1の無線化 (シリアルポートのBluetooth化)
  1. トップ
  2. ham
  3. KX3 ACC1の無線化 (シリアルポートのBluetooth化)

オリジナルのツェップアンテナはハシゴフィーダーを使うが、なぜハシゴなのかよくわかっていなかった。

要は、エンドフェッドでインピーダンスが高いワイヤーへの給電に、同調型のハシゴフィーダーを使うことで、インピーダンス変換を行うということのようだ。

ハシゴフィーダーを同調型として使うことで、平衡経路であるハシゴフィーダー上からは、位相が反対の定在波が立ち打ち消しあって電波がでないが、インピーダンスは長さによって (伝送路インピーダンスとは異なった) 変化する値になり、ちょうどいい長さに調整することで給電できる。このとき、定在波が立っているのでケーブルの伝送路インピーダンスは直接関係なくなる。

同軸の場合、不平衡経路なので、経路上から電波が出てしまい意図した挙動にならない。

ツェップライクと呼ばれるアンテナでは給電にLC共振回路を使って間接的にエレメントに給電している。ハシゴフィーダーの変わりに集中定数で解決している。

ハシゴフィーダーのメリット

  • 損失が少ない (7D同軸の10分の1程度)
  • インピーダンスマッチングを兼ねられる
  • 細かい線路インピーダンスは無視できるので自作可能

デメリット

  • 雨や周辺環境の影響を受けやすい
  • 同調型で使う場合、長さに制約がある
  • 必然的にでかい
  • 耐久性があまりない
  1. トップ
  2. tech
  3. ハシゴフィーダー
  1. トップ
  2. ham
  3. ハシゴフィーダー

重要なこと: SWR が下がっていれば同調していると考えていいが、SWRが高いからといって同調していないというわけではない。

というのも、リアクタンス成分がゼロ (=共振) でも抵抗成分がミスマッチだとSWRは高くなるから。

正しいアンテナの調整方法は

  1. まずアンテナ系を共振状態にする
    • リアクタンス成分をゼロに近づける
    • アンテナの流さ・コイルなど
  2. インピーダンスを50Ωにあわせる
    • トランスで変換するか、アンテナの角度調整・ATUで強制マッチ

アンテナが共振状態であれば、あとはマッチングすれば電波は飛ぶ。SWR 計だけだとインピーダンスがどうなっているのかわからないので、詳しく見るにはアンテナアナライザーが必要。

SWR の最小値が見つかるならば、そこは同調点と考えていい。その場合、最低点におけるSWRの高さはインピーダンスの抵抗成分のミスマッチによるものになるので、確かに同調しているならばATUで最後だけあわせこんでも問題ない (はず)

  1. トップ
  2. tech
  3. アンテナの合わせかた、またはSWRが高くても飛ぶアンテナ
  1. トップ
  2. ham
  3. アンテナの合わせかた、またはSWRが高くても飛ぶアンテナ