MultiWii FAILSAFE

FALESAFE

FAILSAFEとは電波障害などで操作不能となったときに自動で発動させる機能です。
受信機からMultiWiiに入るch1~ch4の信号のパルス幅を見張っていて一定の基準を満たすと発動します。

外で飛ばすときは必ず最初にテストします。
FAILSAFEの設定は義務です。

MultiWiiの場合(ソフトウェアのバージョンは2.3です)

FAILSAFE

①#define FAILSAFE
をアンコメント(//を取る)

②あとは機体に合わせた設定を。
#define FAILSAFE_DELAY 10 // フェイルセイフが発動するまでの時間です。10は0.1秒です。
#define FAILSAFE_OFF_DELAY 200 // フェイルセイフ発動からモーターストップするまでの時間です。200は20秒です。着地してから止まるとは限らないので注意しましょう。長めに設定したほうがいいかもしれません。
#define FAILSAFE_THROTTLE (MINTHROTTLE + 200) // フェイルセイフ時MINTHROTTLE  に設定してある値+200で降下してきます。あまり高い値にすると飛んでいきます(笑)

#define FAILSAFE_DETECT_TRESHOLD 985//なんじゃこりゃ!?教えて!
ch1~ch4の信号のパルス幅を見張っていて、1チャンネルでも985μsec以下になるか、パルスが来なくなると、フェールセーフ処理を開始します。

MultiWii基本設定へ

4 comments

  • >#define FAILSAFE_DETECT_TRESHOLD 985
    config.hの数行前に書いてありますが、受信機からFCに入る、ch1~ch4の信号のパルス幅を見張っていて、1チャンネルでも985μsec以下になるか、パルスが来なくなると、フェールセーフ処理を開始します。(FAILSAFE_DELAY時間待って、信号が回復しないと降下を開始し、着地せずともFAILSAFE_OFF_DELAY時間後にはモーター停止します)

    • Y.Mitaさん
      教えてくださってありがとうございます!
      なるほどそういうことでしたか!
      修正します。
      送受信機によって変えろということでしょうか?
      Y.Mitaさんはいくつに設定していますか?

  • >送受信機によって変えろということでしょうか?
    正確に言うと、違います。

    送受信機がフェールセーフ機能を持っている場合、そのフェールセーフをご自身が、どう設定したかで異なります。
    更に送受信機によってはフェールセーフ機能を持たないものもあります。

    もし、フェールセーフ機能を持っている送受信機をお使いならば、まずは送受信機のフェールセーフ機能を設定してください。
    一般的にはフェールセーフが動作した時に維持したい信号状態、エルロン、ラダー、エレベータは中立でスロットルは最スローの状態をプロポから出力して、受信機で記憶したり、プロポに出力状態を記憶したりします。
    お勧めは各舵は中立状態で、スロットルは最スローからプロポのエンドポイントを修正(例えばー-100%→140%設定)して、更に低い状態を受信機やプロポに記憶させます。その状態の信号をMultiWiiConf画面で信号の値を見て、通常使うエンドポイントを修正していない(例えば-100%状態)スロットルの値との中間値をconfig.hに設定します。
    値をMultiWiiConf上で確認したら、プロポのエンドポイント設定は忘れずに通常使用状態に戻してください。
    こうすれば、電波が届かなくなって、受信機がフェールセーフ状態になると例えば、スロットル信号が-140%を出力し、FCはフェールセーフ状態であることを検出できて、フェールセーフ処理に入れます。
    config.hを設定したら、FCに書き込み後、プロペラを外すか、ESCを動作させない状態で、MultiWiiConfで各信号を確認しながら途中でプロポの電源を切って動作を確認してください。
    >Y.Mitaさんはいくつに設定していますか?
    使っていません。
    理由は幾つかありますが、今使っている受信機の接続方法がフェールセーフをサポートしていないのと、飛んでいく様な設定になっていないためです。