HOI-LINK HR を作ろうぜ

これはプロポを USB 経由でPCに接続する、高分解能な無線ドングル。

プロポは USB-HID で接続され、PC側の扱いはそんなに難しくない。
中華のプロポはファームアップ用途で USB 端子が大体ついており、そこにつなぐと使える。
Futaba のヤツはめんどくさいらしく、無線ドングルのニーズが高いらしい。
無線ドングルは売られているものもあるし、古いFCを再利用(set usb_hid_cdc = on)とかがある。
かなりニッチな、ドローン用プロポ接続状況はそんな感じ。

プロポの受信機は SBUS という規格で接続されるのだが、こちらは 11bit 通信する。
しかしながら、一般的な無線ドングルからは 8bit に低分解能化されているらしい。
ということから、ほいほい堂さんで 11bit を再現するデバイスの作成記事がある。
■HOI-LINK高分解能化
http://www.hoihoido.com/blog/wp/?p=4118
さらに HOI-LINK HR として販売もされてる。
https://nonsaya.thebase.in/items/30961376
詳しく説明されているので一読。
ありがたいことに、ほいほい堂さんでは、ソースもHexも配布されています。
これを使って私も作ってみました。
販売とかされているものなので、作成ガイドはどうかなと思い、ほいほい堂さんに確認したところ、快諾いただいたので今回まとめてみました。
アチコチの加工とか、あれやこれや悩むことを考えたら、買ったほうがよさげです。
でも作ると楽しいですし、理解も進むし、改造とかもできるし、受信機を選べるなどのメリットがあるので作ってみてはどうでしょう。
おもしろいぜ。

部品構成については大きく分けて3つ。
1.PIC
PIC焼くのなんてプレステのレッドハンド以来っすよ。(おっさんホイホイ)
こちらは、ほいほい堂さんでも開発に使われたコチラを使います。
■AE-PIC18F14K50
http://akizukidenshi.com/catalog/g/gK-05499/
これのいいところは、USB周りとオシレータ周りが実装されているというところで、自作組はラクでいいです。
これにファームを焼き付けるのですが、「PICKit3」というのを使います。
純正は5000円するみたいですが、アマゾンでパチが2000円ぐらいで売られています。
Microchip というメーカのものなのですが、回路図も公開してて海賊版上等な姿勢らしいです。よく知らんですが。
動かないこともあるかもしれないので、そのあたりは自己判断で。
とりあえず私はガンガン動いています。

2.SBUS 反転回路
SBUSは100MHzの反転信号(Inverted)で通信する。
マイコンとかラズパイとかに入れるときは、UnInverted(反転しない←ややこし)にする必要がある。
反転回路は、ほいほい堂さんにあるとおり、2SC1815と、51KΩ、5.1kΩ の3つあればできます。
受信機が UnInverted SBUS を出力できれば、この回路は必要ないです。
NewBeeDrone の BeeCieverV2 とかできますね。
あれは D16 と SFHSS も使えるし小型なので余ってればよいかも。
それ以外も基板からチョクに信号をとることも可能です。
https://oscarliang.com/uninverted-sbus-smart-port-frsky-receivers/

3.受信機
SBUS のものなら、なんのプロトコルでもいけると思います。
とりあえず手持ちにあった XM+ で構成してみました。
Frsky の近距離で切れちゃう問題にあたったので、なんか工夫がいるかも。

では早速作ってみましょう。
1.PICの焼付
PICKit3 を利用します。
こちらから該当の MPLAB X IDE をダウンロードしてインストールしましょう。
https://www.microchip.com/mplab/mplab-x-ide
コンパイラあるとソースからビルドできますが、Hex焼くだけなら IDE だけでOK。
Hex はほいほい堂さんで配布されている 6/15版を使います。
http://www.hoihoido.com/blog/wp/?p=4118
ソースも公開されていますし、ビルドして焼くのが正当派ですが、まあまずは Hex を焼いてみっか。

AE-PIC18F14K50 と PICKit3 と PC を接続。
コネクタは左詰めで右端が1本余ります。
焼くためのポイントは電源供給。
AE-PIC18F14K50 の MiniUSB をつないで 5v くれてやればよさそうですが、これでは焼けない。
VDDとGNDにチョクで電源を入れてやりましょう。
手持ちにあったブレッドボード向けの 5v 供給 MicroUSB をつかってみた。
みんな持ってる 5v BEC とかでもいいと思う。

焼付作業です。
MPLAB X IDE で、File → Import → Hex で Hexファイルを指定。
その後、こちらのように対象 PIC の種類と焼くツールを指定。

こちらのボタンを押すとサックリ焼いてくれます。

右下にログが出ますが、赤字が出てると焼付失敗です。
基盤構成してからつながらないとヘコむので、がんばって焼き切りましょう。

こんな感じになると焼けているハズです。

2.反転回路の作成
焼けたなら配線ですね。配線は主に反転回路です。ココが一番手間。
Uninverted なレシーバーならこのあたりは必要なく、PICにそのままつないで終わり・・だと思います。(試してない)
PIC側の配線は VDDとGNDとSBUS(UnInverted)の3ヶ所です。

反転回路に必要なのは、トランジスタ 2SC1815 と、抵抗51kΩ、抵抗5.1kΩ の3つです。
http://akizukidenshi.com/catalog/g/gI-06475/
http://akizukidenshi.com/catalog/g/gR-16513/
http://akizukidenshi.com/catalog/g/gR-16512/
fritzingでいい感じに書けなかったですが、トランジスタの E(GND)を一列横にずらして、端子を4列に並べると使い勝手がよいかもしれんです。
私も実際のはそうしています。

3.動作確認
ブレッドボードの試作回路を作りました。
数作るときには PIC の確認するとかにも使えます。
動いたらハンダしてフリスクにまとめました。
この手の電子工作はフリスクに入れ込むのがよくあります。
基盤はフリスクサイズのが秋月電子で売られています。
http://akizukidenshi.com/catalog/g/gP-12188/
60円のと70円のがあって、60円はタダのハンダ穴が並んでて、70円はブレッドボード的な接続になっています。
これ店頭でも横に並んでて、間違えて混在購入とかして、チョイチョイ間違えて悩んだりあります。
よくチェックしましょう。

上が試験用。フリスクは高さがギリで要工夫。

色々悩んだ結果、後日のファームアップデートに対応できるように、基盤を二分割した。

あとは PC に接続して、デバイスに「HOI-LINK」が出ていることを確認しましょう。
受信機のバインドを忘れないでやって、あとはシミュレータで再設定すればOKです。

で、実際使ってどうか。
私は一緒に充電できるのもあって、有線USB接続でずっと使ってきた。
これは 11bit なのか、はたまた 8bit なのかわからないのですが、まあ変わらない操作感でした。
7/29 の夜にあった WTWONLINE はコレでやっていたのですが、タイムに貢献できていないのは参加者の皆様が知っている。
複数作って周囲のドローンシミュ廃人に配布して確認してみようと思っています。

繰り返しになりますが、素晴らしい情報を公開いただいた、ほいほい堂さんに感謝いたします。
改良版にも大いに期待しております!

追加作成中。慣れると簡単に作れます。反転回路とケース加工以外は。

8/2追記。
ほいほい堂さんから情報いただきました。
上記の記事は最短で動かす方法をいろいろ試した結果で説明していますが、正しくはブートローダーを焼いて、その後ファームを焼くのが正道とのことです。
ほいほい堂さんで説明されています。
http://www.hoihoido.com/blog/wp/?p=1764
ブートローダーを焼くと、USBからファームの焼き込みができたりします。
一発目のブートローダー焼き込みにはPICKit3等の焼き込みツールが必要なので、必要な道具はおなじです。
時間できたらブートローダー版もやってみます。