(Betaflight 4.1、私はまだ新しい設定で撮影していません)
最後の記事- 地上からFPV Quadrocopterへ:はじめに
先日、Betaflight 4.2にアップグレードすることを決定し、私の周りの誰もが双方向DShotでフィルタリングを有効にするように助言しています。ちなみに4.1でした。
まず、フィルタリングとは何か、なぜそれが必要なのかを少し理解しましょう。
デフォルトでは、Betaflightはほとんどのモデルに適した一般的なフィルター設定を提供します。しかし、最高のパフォーマンスを達成するために、フィルタリングは、オーバードローンまたはボロボロのドローンには不十分な場合があるため、別の方法で調整できます。
MEMSジャイロスコープ
各クワッドコプターにはFC-フライトコントローラーがあり、これは基本的には頭脳です。これらのコントローラーにはデジタルチップもあり、これはしばしばジャイロジャイロスコープと呼ばれます。動きを感知するセンサーです。 MEMS(Micro Electro Mechanical System)と呼ばれる小さな電気機械装置が含まれています。
このデバイスの内部には、機械的に共振する「プラグ」があります。これらのプラグは3つの軸すべて(ピッチ、ロール、ヨー)にあり、移動(機械部品)によって電圧変動(電気部品)を作成します。
電圧の変動(変動)は、実際には、フライトコントローラによる処理のためにデジタル情報に変換されるアナログ波です。8kジャイロと言うと、1秒あたり8000回、アナログ信号がデジタルに変換され、コントローラー、ファームウェア、この場合はBetaflightによって処理されます。
ノイズ
ノイズはよく耳にする用語ですが、それは何ですか?原則として、次の23階建ての丘にあるサウンドノイズまたは騒々しい環境をすぐに想像します。
ジャイロスコープとPIDコントローラーも同様の問題に直面しています。ジャイロスコープは、フレームに取り付けられているフライトコントローラーに配置されているため、ノイズが発生します。ノイズは、モーター、プロペラ、風速、一般的なフレームノイズ、電子機器などから発生します。
PIDコントローラー
PIDコントローラーは、スティック(ユーザーのコントロール)または特定の位置(まあ、それが何であれ)に従ってクワッドコプターの位置を調整するシステムです。 PIDは、P、I、およびDの3つのパラメーターによって調整されます。残念ながら、この記事では、PIDの調整について詳しく説明しません。あなたがパイロットであるならば、あなたはすでに知っています、そしてあなたが初心者であれば、このトピックに関する別の記事があります。
このシステムは、ノイズが最小の場合に適切に機能します。それ以外の場合は、振動(振動)やモーターの過熱などの問題に直面する可能性があります。
PIDコントローラーのd項は、特にノイズに関連しています。Dは速い動きを滑らかにしますが、PIDコントローラーでDを計算すると、信号のノイズが大幅に増加します。つまり、ジャイロスコープからのノイズはD項の値によって大幅に増幅されるため、ジャイロスコープとDの2か所でフィルター処理を行っています。
このような増加の例として、次のログを示します。
最初のグラフ-ジャイロスコープ
2番目のグラフ-PID
3番目-モーター
(これらは通常のプロペラです) 、わずかに減少したろ過)
(ご覧のとおり、不良プロペラからの振動はPIDコントローラーステージで増幅され、モーターに過度のストレスをもたらします。文字通りソーセージです)
-スクリーンショット- ブラックボックスエクスプローラー。
濾過
フィルタリングプロセスは、ジャイロスコープからの信号から過剰なノイズを取り除くことです。しかし、ジャイロスコープからの信号をどれだけ保持し、どれだけの量をフィルターで除去する必要があるのでしょうか。
正直なところ、色ではわかりませんが、ベータフライトでは、ノイズ、または振動ではHzで測定されていました。1Hz-1秒あたり1回転。これは、視覚化を容易にし、これらの変数を操作するために行われます。また、乱流は技術的に「回転の変化率」と呼ばれます-回転変化の頻度。
クワッドコプターの速度は0〜30 Hzの範囲です。30Hzから80Hzを超えると、クワッドコプターが自身のストリームの乱流から揺れ動くときに、プロップウォッシュがあります。0〜80Hzの範囲の情報はPIDコントローラーにとって重要であるため、ここでは触れません。PIDtoolbox
あなたはこれらのカードを引くことができます:
ローパス
フィルター
前のグラフが示すように、ジャイロスコープからの信号には0 Hz〜1000 Hzの情報が含まれていますが、これはPIDコントローラーが認識すべきクワッドコプターの実際の動きなので、0〜80 Hzの範囲にのみ関心があります。したがって、高周波数を減衰させながら低周波数がPIDコントローラーを通過できるようにするフィルターソリューションが必要です。そのために、ローパスフィルターを使用できます。
ローパスフィルターを使用すると、低周波信号を通過させ、高周波のみを減衰させることができます。
カットオフ周波数が設定され、コントローラーはその周波数を超える信号を単純に低減します。減衰曲線クリーンなものの下ですべてをカットしないようにすることができ、ノイズの周波数が高いほど、スムーズに減衰が起こります。
パイロットは、このようなフィルターを可視ノイズと同じ周波数に設定することを間違えます。たとえば200Hzで。フィルターはノイズをスムーズに減衰するため、フィルターを設置してもあまり効果はありません。フィルターは低い周波数に設定する必要があります。おそらく80Hzでも。
このようなフィルターを低くインストールするほど、より多くのフィルタリングが行われます。
フィルタリングを設定するときに覚えておくべき簡単なことが1つあります。フィルタリングが多いほど、遅延は大きくなります。ミリ秒単位であり、重要ではないことは明らかですが、PIDコントローラーにとっては重要です。それは後でイベントに反応し始めるので、過去にクワッドコプターを位置合わせしようとします:)
ノッチフィルター
ノッチはノッチとして変換され、実際には次のようになります。
フィルターは、下にあるノイズと上にあるノイズの一部を捨てます。Betaflight 3.1以降、これらのフィルターは動的で、さまざまなノイズレベルに調整されます。
フィルターはローパスフィルターと組み合わせて使用されますが、上にあるモーターからのノイズをフィルターするために既に使用されています。
D用語のフィルタリング
上記のように、Dはジャイロスコープからのノイズを増加させることができるので、BetaflightはDフィルタリングを備えています。
Dを強くフィルタリングするかどうかは、コミュニティで明確に理解されていません。しかし、高温のモーターには規則があり、ろ過が少なく、Dが高いほど、モーターは熱くなり、燃え尽きることさえあります。しかし、反対の方向では、遅延が生じます。
RPMフィルター
つまり、実際に私が新しく使い始めたのはRPMフィルタリングです。これは、フライトコントローラが特定のモーターの正確なRPMを知ることを可能にする双方向DSHOTプロトコルを介して機能します。そして、このデータに基づいて、フィルタリングが適用されます。
(ESCは両面DHSOTをサポートしている必要があります)
3.7以降のESC用ファームウェア
モーターが高温の場合、これは問題です。高温のモーターは、モーターに多くのノイズが発生し、振動に対応しようとするため、熱が発生することがよくあります。
モーターは、古いフレーム、モーターのベルの曲がり、バランスの不均衡、ドローンの爆弾の増加など、さまざまな理由で暖かくなります。
もちろん、彼らが言うように、クリーンなビルドをして、すべてが新しいものになることをお勧めしますが、最初にフィルタリングを設定してみることができます。
まず、20 Hzのステップで、フィルタリングDを大きくすることから始めます。そのような各ステップの後に温度を確認し、最適な範囲を見つけてください。
そして、モーターの温度と振動の間でそれを探す必要があります。上記のように、フィルタリングはノイズの量を減らすように設計されていますが、遅延が発生する可能性があり、PIDコントローラーが追いつかない場合があります。そして、それがどんなに面白いものであっても、振動を引き起こすことです。しかし、これらの振動はプロップウォッシュに属していません。これは、非効率的なPID操作です。
Betaflightの最近のバージョンにはスライダーがあります。フィルター自体の値を変更しないでください。これらの「マスター」スライダーを使用してみてください。
現時点では、RPMフィルターを有効にしてこのような設定を行っていますが、フィルターをさらに減らすようにしようと思います。