blog

2019/05/28 19:43

さて、前回プロポの設定が済んだところで、BetaFlight4.02の左側のタブで上から一通り設定を確認して行きましょう。


正直、僕も正確にわかっていない部分が書いていてどんどん出てくるので、可能な限り調べて間違った事を書かないように書いて行きたいと思います。



左側のタブで、一番上のスパナのマークがSetupタブ。


こちらはこれといって設定する事はないと思いますが、以前の失敗談で使用しているFCでフラッシュすべきファームウェアがOMNIBUSF4なのに、OMNIBUSF4SDをフラッシュしてしまった事がありました。


一通り設定が完了し、テストまで気づかずに行ってしまったのですが、離陸の瞬間に飛び跳ねるわひっくり返るわの大暴走。


調べてみると俗に「タスマニアデビル」と呼ばれる症状だそうで、主な原因はプロペラ回転方向付け間違え、モーター回転方向の設定ミスなどという事ですが、その時そこは問題なし。


このSetupタブで確認して、実際の機体とFCが認識している前後左右がおかしな事になっている事がわかり、それがきっかけで結局ファームウェアフラッシュのミスだったという事がわかりました。


ファームウェアのフラッシュの際にも書きましたが、このタブを開いたら機体をぐるぐる回してみて、念のため確認しておきましょう。


あと、全て設定が終わったら機体を水平な場所に置き、Calibrate Accelerometerを押してキャリブレートしましょう。



その下のコネクタマークがPortsタブ、これは前回受信機との接続で設定しました。


追加の機器が無ければこんな形でOKと思いますので、今回はこれで進めます。



次の歯車マークがConfigurationタブ。


Betaflight Configuratorと言う位ですから、これはかなりメインな設定になってきますね。


特にCLIを使いこなせていない段階の僕みたいな人には凄く大事ですので、上から一通り見ていきたいと思います。


まず写真左側のMixerですが、上の箱でマルチコプターのタイプを選択します。


レースでもフリースタイルでも、QuadXが大体メジャーかなと思いますが、空撮機でモーターが6個のヘキサコプターなんだとか、そういう場合は変更が必要です。


次に下のMotor direction is reversedと書いてあるスイッチみたいなのはモーターの逆回転仕様にしたい場合はチェックします。


僕は現状これはOFFにしていて、つまり普通回転にしていますが逆回転も人気の設定ですよね。


ちなみに、確かブラシモーターのTinywhoopなんかはこれをONにしただけでモーターの回転方向が変わったかと思うのですが。。


ブラシレスモーターの場合はこれをONにしただけで自動でモーターの回転方向が逆になるという訳ではなく、ESCの方の設定で回転方向は決めてあげないといけないので、最低限どっちの回転方向で行くかだけはちゃんと把握しておきましょう。


次に写真右側ESC/Motor Featuresの部分。


一つ目のESC/Motor protocolはプロトコルを選択するところで、色々プロトコルがありますがお使いの機器が対応しているプロトコルをマニュアルで確認して使いたいものを選択しましょう。


ちょっと色々使い比べて細かく検証した訳でもないので、あまり詳しく説明できませんが今回僕はDSHOT600でいきます!


その下のMOTOR_STOPのスイッチは、アームした際にモーターが回転せず、スロットルをあげてはじめて回る設定で、僕はあまり便利さを感じないのでOFFにしています。


その下、Motor idle Throttle Valueと言うのがアイドル状態のモーターの回る量の設定なのですが、この数値が背面飛行時の滞空時間に影響しそうな話で、凄く大事なんじゃないかと。


今回計算方法をちゃんと調べてみました。


https://github.com/betaflight/betaflight/wiki/DSHOT-ESC-Protocol


上記URLにやり方がズバリ書いてあるのですが、簡単に言えばBetaFlight GUIの左側上から8番目、Motorsのタブのマスタースライダーで4つモーターが全て回る最小のポイントを特定し、その数値に30を足し、それから1000を引き、さらにそれを10で割ると。



ちなみにこれがMotorsのタブで、使い方は必ず配線が間違っていない事とプロペラが付いていない事、あとはモーターに何かが触れていない事を確認した上でバッテリーを機体に接続し、右下のI understand the risks,ホニャララという文章のところにあるスイッチをONにします。


すると左側のスライダーでモーターを回せるようになるので、モーターを回して使う訳です。


今回のような作業の場合、Masterの丸い部分をクリックしPCのキーボードの上下ボタンで1ずつ数値を上げられるので、それでポチポチ上げてモーターの回り方を確認します。


このブログの手順通りにやっている方はまだモーターを回す準備が整っていない気がするので、安全のため一通り設定できるまでやらないで欲しいのですが、自分で先回りしてやってみた結果今回は1009で全てのモーターが回ったので1009+30-1000=39、39÷10=3.9と。


この3.9と言うのを入力すれば良い訳ですね!


当然数値は使用しているパーツと設定で変わってくると思います。



Configurationタブに話を戻して、少し画面を下にスクロールしてもらうと左側にSystem Configurationの区画が出てきます。


Gyro update frequencyとPID loop frequencyというのがあって、これはつまりジャイロをアップデートする周波数とPIDのループの周波数という事でしょう、直訳ですが。


何言ってんだかわからない方向けに、あまり詳しくないながらも頑張って解説すると、ジャイロと言うのはドローンのシステムにおいて欠かす事の出来ないセンサーで、基本的にはフライトコントローラーに搭載されています。


このジャイロセンサーがドローンの傾きとか、そういうのを色々計測する事でドローンの状態を把握しています。


それに対して、パイロットがプロポでドローンに右向け、下向け、上昇しろとかあれこれ無理な指示をする訳ですが、そのコマンドが無線でデジタル的に一瞬で到達するのに対して、ドローンは物理的なものなのでどうしてもコマンドを受けてからそのコマンドを現実世界で達成するまでに遅れが出てしまいます。


そういった遅れ以外にも木の葉にプロペラがかすったり、風に吹かれたりしてコマンドされているものとは無関係に、強制的に姿勢が変更されてしまう状況でドローンは飛行しているので、コマンドとジャイロの計測値には開きが出来てしまい、その差はエラーと呼ばれています。


そのエラーを感知してコマンドされた通りの姿勢に復帰させるのがPIDと言う感じです。


Gyro update frequencyもPID loop frequencyも周波数なので、その周波数でずっと連続的に働いている、その周期の速さの設定がここです。


大体こんな感じでイメージ出来たでしょうか、Gyro update frequencyとPID loop frequencyは同じか、PID loop frequencyの方が低い数値にならないといけないという話なのですが、それはジャイロの計測でエラーが判明するよりも早い速度でPIDが動いていては良くないという事かと思います。


今回僕はどちらも8Kで設定しますが、FCとESCのスペックによって対応している数値が変わり、かつ、ややこしい事に使用するフィルターの数や設定によってFCの処理能力が追いつかなくなってしまう場合もあるので、この数値はケースバイケースということになります。


特に、少し古いFCやESCを使用している方は要注意です。


毎度お伝えしていますが、今回僕の使用しているパーツはマイクロエイリアンの組み立てブログで使用しているもので、パーツリストは下記のURLでご確認頂けます。


BetaFlightセットアップ<1>下準備

https://dayscape.theshop.jp/blog/2019/04/30/182144


先程の画像の一番下の細いグレーの帯の一番右に、CPU Load:11%と書いてあるのですがこれが現状のFCのCPU使用率で、今後設定を進めて行くとCPU Loadが上がる可能性があるのですが、多分これくらい余裕があれば大丈夫だと思います。


Gyro update frequencyとPID loop frequencyは数値が高ければ高いほど、処理速度が早ければ早いほどエラーへの対応が速そうだから良いのかという話ですが、これも諸説あり、早すぎるときめ細かく計測する為により多くのノイズを拾ってしまい、追加でフィルターが必要になり、結果反応速度は落ちるのではないか、という記事も読んだ事があります。


このフィルターというのも結構重要で、BetaFlight4.02では大幅にパワーアップしているらしいので、ここはもう絶対にはじめはデフォルトでいこうと思っています。


ソフト的なフィルターは沢山かけるとフライトコントローラーの負担になってしまいますが、ノイズを減らしたい上にFCに負担をかけたくない、反応速度を犠牲に出来ない人はハード的にノイズを除去する為にキャパシターに気を使うわけですね。


今回マイクロエイリアンは軽量化のためにキャパシターを外してしまいましたが。。


しかもこの20x20mm HGLRC XJB F438はハードマウント(取り付け穴にシリコンなどでクッションがない)なので、よりノイズにさらされているはず。


もう今回はパワーアップしたフィルターに期待するしかないですね!


ご興味のある方や一瞬を争うレーサーの方には凄く重要な部分かと思いますが、まずはこの機体を飛ばしたいので、細かい事は飛ばしてみてから考える事にしましょう。


えーっと、長くなってしまいましたがその下に3つのボタンがありますね。


Accelerometer→オン


Barometer、Magnetometer→今回追加でセンサーを付けていないのでオフ


更に下のCraft nameは機体名の事で、ここで入力した名前をOSDとかで表示出来ます。


次に画像右側のBoard and Sensor Alignmentの枠内ですが、僕の場合デフォルトでこの設定になっていました。


ここはフライトコントローラーの向きを基盤に表記してある矢印通りに組み込めない場合に使用するところで、設定を変更するとFCが認識する機体の方向を変更出来ます。


試しに少し設定を変更して(忘れずに左下のボタンSave and Reboot!)、先程のSetupタブに移動し機体をグルグル回してみると、機首方向が変な事になってしまったので、やはりデフォルトのままで正しかったようです。


ここを間違えると僕みたいにタスマニアデビルになってしまいますよ!


その下のAccelerometer Trimもすぐに問題にはならないと思うので、とりあえずデフォルトの0のままにして置きます。


更に下、ArmingのMaximum ARM Angleなのですが、これはアーム可能な機体の角度の設定です。


デフォルトのままでは木に引っかかってしまった際、モーターを回して機体を揺らして何とか救出したい時などに機体が傾きすぎていてアーム出来ない状況になるので、ここは180に変更しました。


長くなってしまいました。


記事にするとなんとなくデフォルトで良いやと思っていたところも気になってしまい、調べて書くという調子で進めていますが、これ、BetaFlightは設定できる項目が多い事もあって長くなってしまいますね。


でも、凄く勉強にもなります。


ここまでも色々書いていますが、実はデフォルトからあんまり変えていないと思うので、とりあえず飛ばすという意味ではポイントだけおさえれば、そんなに難しく考える必要はないはずです。


飛ばしてから不満があれば設定を直せば良く、逆に、飛ばしてみないと入れるべき数値が何かわからない部分も沢山あると思います。


変な設定でパーツさえ壊れなければ、という事はあるので、そこは絶対注意したいところです。


パーツの故障は配線ミスの方がダメージが大きく、一瞬で壊れてしまうので電源を入れる前に必ず再度確認を。


せっかくなので記事の通り進めて行き、最終的に飛ばしてみて問題があれば再度その修正も記事にしたいと思います。


少しでも何かの参考になれば幸いです、Configurationタブがまだ終わってませんが今回はここまで!



このブログ、コメント機能などがありませんので『これ、間違ってるよ』などご指摘、ご意見ご感想または入荷して欲しい商品などがありましたら参考にさせて頂きますので、ショップのお問い合わせフォームからご連絡ください。




このブログで使用しているパーツは当店(DAYSCAPE storeでお買い求め頂けます!

是非ショップも覗いていってくださいね。