Dropbox

剥きプロ Naked GoPro への道、GoPro RECコントロールをLED_Stripで行う

剥きプロの録画開始、停止を送信機から行うアイデアは私が剥きプロに挑戦を始めた時には既知のアイデアで、それはFCのブザーポートをpinioにアサインして行うものでした。現在でもこの手法に違いはありません。ただし、私はどうしてもブザーを付けないと不安なので当初はリモートでのコントロールはあきらめて本体の押しボタンで行うようにしていました。

[ BECボードの登場 ]
-> まだ発売から日がたっていませんがBECボードv1.1が出荷され始めたようです。REC信号周りも変更があるようですが、今のところ詳細は不明です。以下の記述はV1.0に基づく話しです。

BetaFPVから登場したBECボードは剥きプロを簡単にする強力な味方です。その解説ページには、このリモートでの録画コントロールの設定の仕方が書かれています。基本的に設定の方法は既に知られているブサーポート(buzz-)を使う方法と同じです。ただし使うFCのポートがLED_Stripになっています。ブザーを外さなくても良いのはありがたいとぱかりに設定して飛ばしてみました。録画の状態は本体のLEDで確認しないといけませんが、RCで録画開始、停止出来るのはとても便利なことを痛感しました。

ところが、Facebookにてこの構成に物言いが付きました。曰く、BECボードを使っていてもbuzz-でコントロールすべきだというものです。ごく簡単に言うとGoProのRECボタンの配線にはGoProの論理回路の駆動電圧である1.8Vが何かしらの抵抗を通して現れるようになっています。一方のLED_StripはFCの駆動電圧である3.3Vがやはり抵抗を通して出ています。ふたつの異なる電圧を直接ではないにしろ相互に接続しては行けないと言うことです。RECボタンを押す動作はFCの3.3VがGNDに落ちて0Vになった時に働くので目的の動作は行なえます。BetaFPVも何の策も無しにLED_Stripを使わせようとしているわけではありませんでした。BECボード上に1KΩの抵抗を用意して、それを通してFCとGoProを接続するようにしていました。これは、何というか少しはマシになっているのか、あまり変わっていないのか良く分からない対策です。もともと生の電圧が出ているわけではなくてプルアップ抵抗を通したものです。それに対して加算される抵抗値が1KΩというのは大きな差が無い気もします。かといって、この抵抗値を大きくすると本来の目的であるスイッチとしての機能が損なわれるのは間違いないです。

LED_Stripを使っていて何かしら不具合が起こるのかどうかは分かりませんが、やはりオススメするわけには行きません。

[ それでもLED_Stripが使いたい ]
どうすれば良いかは知っていました。それはトランジスタなどでスイッチを作り間に入れることにより3.3Vと1.8Vを直接接続しないようにすることです。回路図はOscar LiangさんがUARTピンを利用してブザーを鳴らすための回路として紹介しているものを利用しました。トランジスターは米粒のように小さいBC857B、回路図中でBaseに接続される抵抗が2.2KΩになっていますが1KΩを使用しました。

簡易スコープで測定してRCのスイッチ操作でFC側は3.3Vと0Vに切り替わることを確認、GoPro側はGoProを外した状態ではスイッチを操作しても0Vのままです。期待通り3.3VがGoPro側に漏れることがないことが確認出来ました。GoProを接続した状態で計測するとスイッチがオフの時は1.8V、オンだと0.5Vくらいでした。これは、もっと0Vに近いことを期待していたのですが、とりあえず動作はするので、このまま実績を作ってみます。1.8Vの回路においてLowの信号は出力側としては0.4V以下にしないといけません、また入力側は0.63V以下をLowとみなすことによりマージナルをとっています。測定ポイントで0.5Vというのは恐らくは動作しますが、推奨された電圧ではありません。またBECボードには抵抗が入っているのでGoProから見ると測定した0.5Vより少しだけ高い電圧になっているはずです。

トランジスターを別のものに変えたり何かしら回路的な工夫で0V近くを実現したいとも思っています。もし実現したら回路図を発表いたします。

もしこの回路が調子が悪い場合、GoProにはbuzz-を使用して、この回路をOsacr Liangさんのページで紹介されている通りにLED_Stripからブザーを鳴らすために使用するというのも悪くないと思います。

剥きプロ Naked GoPro への道、GoPro Lite搭載95Xの製作

BetaFPV GoPro Lite Caseが入手出来たのとほぼ同時にDJI Digital FPVシステムとしては初めてのnanoサイズカメラCaddx Nebulaが到着したので、その両方を搭載した95Xを製作しました。マウントを自作した以外はいたって普通に組み立てた機体です。

BetaFPV 95X Frame
BetaFPV F4 AIO FC 12A V2
GEPRC GR1105 5000KV
EMAX Avan Rush
TBS Crossfire Nano RX
Caddx Nebula + Vista
BetaFPV GoPro Lite Case
Naked GoPro Hero6 Black

プッシャーとノーマルと迷ったりCaddx Vistaの置き場所で試行錯誤をして苦労していますが、出来上がりはごく普通の置き方になりました。FCの下に余裕があるのでブザーと受信機は下に入れています。アンテナを取り付けるパーツも3Dプリンターでの自作も考えましたが耐久性を考えてタイラップでの固定にしました。

BetaFPVのサイトの情報に従ってRECボタンをLED_Stripから操作できるようにしました。送信機から録画開始、停止がコントロール出来るのはとても便利なのですが、この接続そのものにFaceBook上で物言いがつきました。6パックほど飛ばして問題は発生してはいませんが、とりあえず設定方法の紹介はやめておきます。現在、対策をするための部品を調達しているので、良い結果が出たら改めてお知らせします。

GoPro標準のマウント方式を採用したので頑張ればHero5 Sessionなども積めます。

一度くらいネタで飛ばすかも知れませんが、重いので本気では飛ばしません。

3Dプリンター用のSTLファイルはThingiversのサイトで公開しています。

ハードなマウントはどんなものかと思いましたが、まったく問題なかったです。

剥きプロ Naked GoPro への道、BetaFPV BEC Boardの安全性

訂正) 最初、電子回路的な説明に大幅な間違いがあったので訂正しておきます。最初のを読んで疑問を持たれた方、忘れてください。m(_ _)m

BetaFPV GoPro Liteを95Xフレームに載せての飛行は快適でかつ安定しているのでかなり気に入っています。BECボードのおかげで簡単に配線できるリモートでの録画開始停止も使ってみるとやめられない便利さなのですが、何時ものようにFacebookのNaked Goproグループを眺めていたら気になる書き込み(リンク先は、このグループに加入しないと見えません)がありました。

もとの話題はBECボードを使うとGoProのメインボード壊すんじゃない?という問いかけでした。これに対してレスの中で2つの事が語られています。おそらく最初に始まった討論は質問に対する本命の答えではありませんでしたが、大変気になることなのでtwitterで呟いてみると日本の剥きプロな人たちからの反響もあり色々と調べたり考えたりしました。まずはそれについて調べたことを書きます。その後、本命の問題は詳細はわかりませんが少しだけ書いておきます。

[ GoProのRECボタンのコントロールにbuzz-以外を使って良いのか? ]
もともと剥きプロTipsのひとつにRECボタンをRCからコントロールする手法があります。そこにはRECボタンをFCのbuzz-に接続すべしと書かれていました。何故、buzz-かというと他のUARTやLED_StripはプロセッサーのI/Oそのものですがブザーは大きな電流をオフ、オンするためにトランジスタのスイッチが組み込まれています。これが電気的にはGoProのRECボタンを押すことと等価であるためです。これはとても理にかなった方法です。

ところがBetaFPV BECボードの説明によるとLED_Stripに繋げば良いよと書かれています。わたしも素直にそれを信用してLED_Stripで録画開始、停止をコントロールするようにして2日ほど飛ばしていました。ところが、先のFaebookの書き込みによるとLED_Stripを使うとGoProを壊すかも知れないのでbuzz-を使うべしとのことでした。ちょっと心配になり調査を開始。

BECボードの商品写真と手元にあるBECボードが違っている!
LED_Stripを使うなんてとんでもないと言っていた人は現物は持っていなくて商品写真から配線を解析していました。それによると単純にGoProのRECボタンがBECボード上のRECボタンを及びFCに接続するための配線に直結されています。確かにそれは良くないです。というのはGoPro側はRECボタンに1.8VほどのVCC電圧でプルアップしていてそれがボタンを押すことによってGNDに落ちて0Vになることを検知しています。ところがLED_Strip側もオンの状態ではプルアップ電圧3.3Vが出ていてオフだとGNDに落ちるようになっています。GNDに落ちた状態ではいくらかの電流がGoProからFCに流れ込みます。想定されているより少し多い電流がI/Oピンから内部のトランジスタに流れますが、おそらくは問題ありません。FC側が3.3Vになっている場合、FC側の電圧が高いので何かしらの電流がGoPro側に流れ込みます。結果としてRECボタンを検知しているトランジスターには想定より大きな電圧が直接かかります。またプルアップ抵抗を通して、おそらくはVCC電圧もいくらか引き上げることになります。あと、FCから流れ出す電流の分だけ3.3Vのレギュレーターの負荷が想定より増えます。このように信号線の両側が電圧を出すような接続は真っ当なエンジニアは絶対にやりません。

BetaFPVもこのことを知らないはずは無いのでLED_Stripを使っても良いための仕掛けをBECボードに施しているはずだと考えて調べてみると手元にあるボードは商品写真と違っていることが分かりました。

この写真の中央付近にある小さな黒い部品が追加されています。これはおそらくチップ抵抗器で計測したところ約1Kオームのものでした。RECボタンの配線はこの抵抗器を通してFCに接続されるように改良されていました。確かに直結よりはGoProに流れ込む電流を制限することは出来そうです。

なんにせよ計測が大事ということで格安スコープDSO201で調べてみることにしました。

といいつつ、計測は目的のところまでは達せず。GoPro側が1.8V、FC側はRCの操作で3.3Vと0Vを切り替えられることまでを確認しました。そのあと実構成の電圧を計測するつもりでしたが、次に紹介する問題の関連でGoProを壊す可能性があるので取りやめました。

GoPro側の電圧が1.8V近くに落ち着いていれば影響が少ないと考えることも出来ますが完全に安全性を判断できるかというと何とも言えません。1Kオームの抵抗により電圧の差は小さくなり均衡すればGoProに流れ込む電流が小さくなるのは間違いありません。といっても流れ込む電流が無くなることはありません。またもともと供給出来る電力はかなり小さいものなので、それで直ぐにGoProボードを壊すことは無いのかも知れません。

選択肢は、
1) もしbuzz-が使えるのならそちらを使う。
2) 多少のリスクを承知した上でLED_Stripあるいは他のI/Oピンを使ってみる(わたしはバッテリー6本の実績あり)。
3) RCからのリモートコントロールを諦める。
4) 真面目にトランジスターでスイッチ回路を作って組み込む。
です。私的には、まずは3番にしておいて、4番目に挑戦するという方向で進みたいと思います。

先のスレッドでLED_Stripは使ったらいかんと言っていた人に1Kオームの抵抗が入っているけどどう思うと問いかけてみました。彼の答えは、1Kオームでまずまずの電圧にさげられるのかもしれんが、わたしならやはりbuzz-を使うと言っていました。

[ BECボードの接続が悪いとGoProを壊す!? ]
先のFacebookのスレッドにてフランス人の有名なFPV映像クリエイターのFinckが、結局のところLED_Strip使わなければ良いの?と書き込みました。それに対する答えがちょっと驚きです。BECボードがきちんと刺さっていない状態で通電するとGoProのボードが壊れるとのことでした。現在のBECボードにはV1.0と印刷されていますが、対策を施したV2が出来ているようです。

当面は、というか誤動作しないためにもしっかりとBECボードが固定できるようにしないといけません。GoPro Liteケースは大丈夫な気がします。umma85などでBECボード単体で使用する場合は自分で何かしら工夫しないといけません。ちょっとテストするだけだからといってバラ組で電源を上げるのは厳禁ですね。

剥きプロ Naked GoPro への道、BetaFPV GoPro Lite Case, BEC board

BetaFPVが剥きプロニストの強い味方になりました。BEC Board, GoPro Lite CaseそれにGoPro剥いちゃいましたなGoPro Liteそのものを発売開始しました。ただし、GoPro剥いちゃいましたは、最初からかなりの品薄状態です。

早速、GoPro Lite Caseと単体のBEC Boardを入手しました。BEC Boardはケースの方にも付属しています。

BEC BoardはGoProのメインボードと2つのコネクターで接続します。

BEC Board上にはVBATから5Vを作り出すレギュレーターと2つのスイッチそれとLEDが載っています。これでGoProメインボードには一切ハンダ付けをする必要がなくなります。付属のコネクターからは3本のリード線が出ています。VBATに接続する電源線と録画開始、停止をリモートでコントロールするための配線です。

とても便利なBECボードは剥きプロの難易度を引き下げ信頼性の向上に役立ちます。ただひとつ残念なのはマイクロフォンが無くなるため無音のビデオになってしまうことです。これに対応するハックも出てくるかも知れませんがBetaFPVが対応品を販売してくれるのを望みます。

剥きプロのハックのひとつでバッテリーを繋いだらすぐに電源をオンにするジャンパーがあります。これもBECボード上で行えます。

ケースも良くできています。全面はカーボンであとはTPUでできています。

組み立て方はBetaFPVのウェブサイトと下のYouTubeビデオを参考にしました。

GoProLiteにはHero6用のNDフィルターが取り付けられます。

簡単に取り付けられますが、簡単に外れてしまうので要注意です。あと、後ろかの光が写り込んでしまいます。NDフィルターの質にもよるかもですが、黒いビニールテープで穴をふさいでみました。

機体への搭載も完了しテスト飛行も行いました。リモートでの録画開始停止も含めての実装の様子は後で紹介いたします。

2つの事柄について語ってみます。ひとつ目はGoProによる電波障害による墜落、ふたつ目はその墜落によるGoProメインボード破壊です。

わたしのumma85で不可解な墜落を2回経験しました。BlackBoxが無いので確実なことは言えませんが受信機が電波を失ってfailsafeに入ったように思えます。ひとつ確実なのは100mくらいの距離でもRSSIがかなり落ち込む状態であったことです。

– GoPro Hero6のWiFiは2.4GHzでオンのまま使用。(5.8GHzはVTXとぶつかるかもしれないので避けていた)
– 受信機はXM+でFCの上、GoProメインボードとの間に設置。

最初の墜落の後で簡単な実験を行いました。室内にてGoProの電源オフとオンで飛ばしてみてRSSIを見ていると明らかに違いました。GoProをオフにすると室内ではRSSIが90を切ることはまったくありませんでしたが、GoProの電源をオンにすると80を切ることもありました。

ここまで分かっていながら近距離ならばと飛ばしていて2回目の墜落になりました。その時にGoProのメインボードが壊れてしまい電源が上がらなくなったので、この問題の実践的追求は出来ていませんが考えうる対策を列挙してみたいと思います。

– 2.4GHzをやめて900MHzシステムに移行する。日本では難しいですが、海外ならばかなり有効な手段かも。わたしも墜落後にTBS Tango2が到着したので屋外機はすべてCrossfireに移行するところなので、この回避策を試すことになります。

– GoProのWiFiをオフにする。もしWiFiが干渉しているのであれば、これで根本原因を取り除くことができます。わたしは、ほぼGoProの設定を変更しないのでこの方法も悪くはないかもしれません。

– FaceBookに書かれていたことですが、剥き出しのGoProボードはWiFiに関わらず電波干渉を起こすので受信機やアンテナの位置を調整すべしとの事です。これは一理あります。WiFi電波の干渉にしても受信機やアンテナの設置方法で影響を小さくすることが出来るかも知れません。かなり多くの人が問題なく飛ばしているようですし、これも有力な回避策かも知れません。おそらくRSSIの数値を見ながら調整すれば良いので割と簡単に出来そうです。

2回目の墜落でGoProの電源が上がらなくなりました。

シールドの一部がメインボードにありますが、これが機体のどこかに当たって凹んでいます。これを取り除いてみると下のチップが欠けていました。これはレアケースかも知れませんが、次に組み立てる時は何かしら対策を取りたいと考えています。おそらくは以下の対策のどれか、もしくは組み合わせになると思います。
– シールドのレールを取り除いてしまう。
– シールドが落ち込んでチップを傷つけないように、ところどころに詰め物をする。
– 墜落でumma85の上部構造が落ち込んだ時にGoProメインボードが機体フレームに直接当たらないようにどこかにバンパーを設置する。

ただいまBetaFPV GoProLite+Caddx Nebula+95Xに取り組んでいるのでumma85の復活が何時になるかは不明で、これらの対策が実践的にどうなるのかは現時点ではわかりません。

Caddx Nebula Nano / DJI digital FPV用のnanoサイズカメラ

以前から噂されていたDJI digital FPVシステム向けの新しいカメラです。nanoサイズなのでVistaとの組み合わせでより小型の機体に載せることが出来るので期待していました。

販売はNebula単体とVistaとの組み合わせがあります。カメラ単体を購入してDJI Airunitに接続することも出来るようです。DJIカメラと比べて少し安くなるのも嬉しいことです。解像度はDJIのものより少し劣って720Pになりますが、飛ばすことだけを考えるとゴーグルはもともと720Pですしほぼ問題なしです。

Goggleでの設定項目の多くは変更できないようになっています。変更可能なのはFocusモードだけです。画面サイズが16:9固定なのは良いとして、画質に関する設定は将来的に変更可能にしてほしいです。

実際に飛ばしてみると、薄くフラットな色合いに驚きましたが画面は十分に見易く飛行は快適でした。DJIカメラ搭載機と交互に飛ばすと画面の明るさの調整を頻繁に行う必要がありますが、もしかするとDJIカメラより飛ばしやすいかも知れません。

ひとつumma85で忘れ物です。暗いところでしかわからないようですが、カメラモジュールの後ろ側に強い光があるとセンサーに捉えられてしまうそうです。対策は簡単で何か黒いものでカメラモジュールの後ろをカバーすれば良いです。

BetaFPV F4 2-4S AIO FC 12A V2のUART6の修正

BetaFPV F4 2-4S AIO Brushless Flight Controller 12A V2 (BLHeli_S)はWhoop FCながらUARTが3個、それにBlackBox Logが取れるのが特徴です。肝心のUARTについて問題があったので覚え書きとして書いておきます。

購入して構成を見たところPortsは以下のようになっていました。

UART6は、実番号ではないようです。どうもSoftserialでアサインされている模様。ということでCLIでresourceを見ると以下のようになっています(アサインされているポートのみ抜粋)、

resource SERIAL_TX 1 A09
resource SERIAL_TX 2 A02
resource SERIAL_TX 11 B03
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 A03
resource SERIAL_RX 11 B03

11番がSOFTSERIAL1なのですが、ちょっと変なのはTXもRXもB03になっています。これでは思い通り動かない気がします。ちなみにFirmwareをオリジナルの4.1.1から4.1.6に更新し既定値で構成された後も同じでした。

試しに、このままCaddx VistaをFC上のT6, R6パッドに接続して試してみましたが動きませんでした。想像するにSERIAL_TX 11とSERIAL_RX 11には別のピンをアサインしなければならないはずです。たまたまBetaFPVのFAQにてUART6のEnableの方法を見つけました。それはもしかすると別のFCの話かもしれませんし、その内容もかなり疑問のあるものです。ただB03がTXで、それに対応するRXはB10であるということは分かりました。そこで、

RESOURCE SERIAL_RX 11 B10

というコマンドを投入して、テストしたところ正しく動くようになりました。

BetaFPVにお知らせするためにチケットをオープンしておいた。

Umma85構成とRSGO Lock Horizon


ReelSteadyGoの設定画面に”Lock Horizon”という項目があります。これは画面を水平線に固定するように安定化を行ってくれるものです。フリースタイル飛行をメインとするわたしは今まで使用したことがありませんでしたが、試してみると見事に水平を保った動画が作り出されます。撮影の目的によっては、かなり重宝しそうです。

これだけだと単純な機能紹介で済むわけですが、実はumma85の構成には問題があります。簡単なテストで確認できます。GoProの設定に「自動回転」という項目があります。これを自動にするとGoProの上下方向を自動で判別して調整してくれます。umma85で試してみると上下を判別している加速度計がメインボードに載っていることが簡単にわかります。ジャイロがどこにあるかは簡単に分からなかったのでFacebookで問いかけてみたら、ジャイロはカメラセンサーに載っているとの答えが得られました。

これではっきりしました。ReelSteadyGoを普通に使用する時にはまったく問題なし。画像の安定化はジャイロのデータでカメラの動きを検知して補正しています。ところがLock Horizonでは地球の重力を加速度センサーで検知して水平を出さねばなりません。umma85構成ではカメラとメインボードの関係が崩れてしまっているので、そのままでは正しく動作することが出来ません。

何とかしてMP4ファイルに入っている加速度センサーのデータを実際のカメラの向きに合わせて調整することが出来ればLock Horizonが使えます。そのためのツールはすでに用意されています。

https://jaromeyer.github.io/rsgopatcher/

上のサイトにMP4をアップロードするだけで簡単に調整が行われてLock Horizonが使えるようになります。ありがたいことです。あとでドネーションしておかなきゃ。

前回のumma85の制作で書き忘れたこともあり、その補足編です。

Beta85Xフレームを反対向きで使用します。ここで問題になるのがFCの取り付け方です。umma85ではフレームとFCの関係は変えません。言い換えると飛行姿勢ではFCが反転していることになります。さらに別の言い方をするとFCのUSBコネクターが上になる状態で飛行させます。

もし、USBコネクターが下にくるFCを通常の向きで構成した場合は問題はありませんが、反転させて使用する場合はBetaflight Configuratorにて調整が必要となります。

まずはGyro/Accの方向を設定しなければなりません。

わたしの使用しているGEPRC GEP-12A-F4 FCでは通常はCW 180°になっています。これを上のようにSetup画面でCW 0° flipに変更すると正しい方向に設定されます。ただしく設定出来たかどうかは最初に出るSetup画面で機体を傾けて画面上の機体の動きと一致することで確認します。

モーター番号の確認と変更も必要です。素直にモーターを接続するとモーター番号1と4, 2と3がそれぞれ入れ替わります。リソースの変更が必要となります。わたしの場合はモーターのリード線の長さに余裕があったので、リソースをいじらなくても正しくなるように接続しました。リソースを変更する場合はumma85のドキュメントを参考にしてください。

モーターの回転方向の確認および変更は通常のように行います。あと、当然のことながらペラの取付方向にもお気をつけください。