【Betaflight】【tricopter】トライコプターの作り方! 3つのモーターで飛ぶ方法
setup!
betaflightでトライコプターを作りました
- 経緯
3インチ機飛ばしてたらノーコンで墜落。モーター水没で1つつぶしてしまいました。。
クワッドコプター...つまり4つのモーターのうち1つを失ったわけです。
新しいモーターを付ければ治るのですが...噂によるとドローンって3つのモーターでも飛べるらしいと聞いたので、この際トライコプターにしてしまおう!!と思って作業開始!!!
- 必要なもの
- 組み立て
- betaflight設定
- resource mapping
- 機体モデルの選択
- ヨー制御の方向正常確認 事前準備
- ヨー制御の方向正常確認 機体の加速度センサーに対応しているか
- ヨー制御の方向正常確認 プロポのヨー操作が正しく反映されているか
- PIDチューン
- サーボの動作範囲の設定 値の概要
- サーボの動作範囲の設定 値の調整
- お疲れさまでした!!
必要なもの
①Yフレーム
②サーボモーター
③ヨーイングモーターチルト機構
①Yフレーム
今回、いずれ使う時が来るかな?とちょっと前に買っていた
を引っ張り出しました
このフレーム、Y4フレーム(後ろの上下にモーターを付けて4つのプロペラで飛ぶ)ですが、プレートを1つ外せば問題なくトライコプターフレームとなります
②サーボモーター
どこのご家庭にも転がっているマイクロデジタルサーボモーターを使います
9gの軽さで1.8kgのトルクを持ってます。
昔ラズパイで遊んでた時に電子部品セットに入ってました(笑)
このサーボモーターでも十分動きますが、樹脂ギアじゃなくてメタルギアが良い、トルクももっと欲しいぞって人はこっちの方がいいかもしれません(私もいつか買い替えたい)
↓↓↓
③ヨーイングモーターチルト機構
トライコプターは羽の枚数が奇数のため、そのままでは反トルクを打ち消せずその場でピルエット(スピン)してしまいます。
じゃあどうやって、なんでトライコプターって飛べるの?というと
1つのモーターをサーボモーターで傾けることでヨー軸方向に推力を起こし、反トルクで生まれるスピンと釣り合うようにして機体を安定させています
つまり、サーボモーターで角度を変えられるモーター台座が必要ということです。
このパーツをどうやって入手するかですが...5インチ用などは海外ユーザーさんが売っているようですが、今回は11XXモーター用に欲しかったので売ってないというかこの世に存在しないです。
売ってないのなら自分で作るしかないので設計して作りました
(せっかく作ったので欲しい方には1セット800円ほどでお売りします。11XXモーター用です。ご入用の方は@walkunaikeraにDMください)
**設計Tips**
・モーター台座と回転軸は近い方が良い。離れると遠心力が強くなりサーボに負担が増して機体の安定性が落ちる
・上下パーツはこのようにコの字を合わせる方が軸のゆがみが少なくなり回転の制度が良くなる。コの字とT字で合わせると片方の足が1本なので不安定
組み立て
もうESCは1つ使わないので配線取っちゃいます
サーボをFCにつなげます
・制御用の線は空いているTXに接続。今回はTX2が空いていたのでここへ
・サーボの必要電圧のポートに(SG90の場合5V)接続
。GNDに接続
サーボとモーターをフレームに組み付けます
完成!!
2インチ機なので軽いです
**組み立てTips**
・クアッドコプターと違い重心の位置に繊細であり、注意が必要。3つのモーターの中心に重心が来るように組むように意識すること。
・とにかく安定感を重視するべき。バッテリーは機体の上にマウントした方が安定した。
betaflight設定
ここからはbetaflight設定です。
ネットで調べても情報少なくて地獄でした
resource mapping
外したモーターのマッピングを解除。
resource MOTOR 4 NONE
サーボモーターをマッピングします。今回使ったFCのTX2のコードは「A02」でした
あらかじめ「A02」が設定されているリソースをすべてNONEで解除したのち
resource SERVO 1 A02
でサーボモーターを割り付けました
(今回は「A02」でしたが、実施の際はお使いのFCのサーボをつないだTXポートのコードで適宜読み替えてください)
MOTOR 4が無いこと、SERVO 1が追加されていることが確認できました
機体モデルの選択
設定タブの機体形状をトライコプターにします
簡単ですね
ヨー制御の方向正常確認 事前準備
まず、アームしてないときでもサーボが効くように設定します
CLIにて
set tri_unarmed_servo = ON
これで、アームしなくても機体のヨー方向の傾きと、プロポのヨー操作でサーボが動くようになります。
ヨー制御の方向正常確認 機体の加速度センサーに対応しているか
まず、機体がヨー方向に外因的に動かされとき、そこに対応してサーボが正しい方向に傾くかを検証します。
機体は水平にして、手でヨー軸に機体を回します。
回した方向に抵抗するように風を送る方向にサーボが傾いていればOKです
時計回りの方向に動かされた場合、サーボは後ろから見て右に傾き、風を左方向に向かって送ることで姿勢を維持しようと抵抗します
反時計回りの場合はその逆です
もし逆方向に動いている場合はサーボの効き方向を逆転させる必要があります。
CLIにて
smix reverse 5 2 r
と打って逆転させましょう。
ちなみに、5はヨーのサーボスロット、2はヨーの入力ソースを表し、rで逆方向を指定しています。
各番号が何を意味しているかはコチラを参照ください
以降出てきますが、ヨーのサーボスロットが5であることは覚えておいてください。
(また後述しますがbetaflightのGUIにて、モータータブでは関係ない番号で動いていても、サーボタブでヨーの設定するときはやっぱり5番に対して行います)
ヨー制御の方向正常確認 プロポのヨー操作が正しく反映されているか
プロポのヨー軸スティックを倒し、サーボが正しい方向に傾くかを検証します。
写真はmode2でやってます
右に倒すとサーボは左に倒れます
左に倒すとサーボは右に倒れます
もし逆の場合はCLIにて
rxrange
で現在の設定値を確認。rxrange 2の設定が「rxrange 2 1000 2000」であった場合は
rxrange 2 2000 1000
「rxrange 2 2000 1000」であった場合は
rxrange 2 1000 2000
と打ってヨー軸の操作を逆転させましょう
PIDチューン
こちらまだ私が詰めれてないのでなんとも言えませんが、先人の話によると、Iを極端に下げるとよいらしいです
サーボの動作範囲の設定 値の概要
いよいよ大詰めです
betaflightのサーボタブを開きます(Expertモードを有効にしてください)
注目すべきはヨーのサーボである5番です
①がニュートラルでのサーボの傾きの値。つまり中心をどこにするか(デフォルト1500)
②が最小傾き(デフォルト1000)
③が最大傾きです(デフォルト2000)
サーボの動作範囲の設定 値の調整
まず第一に、②③で設定されているデフォルト値では飛びません!!こんなに傾く範囲が広いとサーボがグワングワン動いて一瞬で墜落します。
①の1500を中心に上下200ずつくらいになるように
②に1300
③に1700
あたりで設定しましょう。
設定したらホバリングさせてみます。
以下様子を見ながらトライアンドエラーで設定してみてください。
■浮かない。ある程度浮かすとサーボが震えて墜落する
→②最小値・③最大値の幅をもっと狭めてみる
■浮くけどヨーをプロポで入力しても全然機体が回らない
→②最小値・③最大値の幅をもっと広げてみる
■浮いたら勝手に回転しだした
→回転方向に応じて、①の中央値を上下させてまっすぐホバリングするように調整
この中央値に伴って②と③の値も同じ分だけシフトすること
-
お疲れさまでした!!
ここまで来て、少なくとも私の機体は飛ぶことができました
いざ作ってみて、トライコプターの情報が本当に無くて愕然としました
結構ドローン制作にも慣れたと思ってたのに、組み立て→設計→ソフトチューンに4日かかりました...こんなに機体制作に時間取られたのは久しぶりだし、組み立てたのに飛ばない!!設定分からない!!というような初心者気分を味わってしまいました(笑)
ほんっと情報なさすぎなので、この記事を書こうと思った次第です。無いよりはある方がマシ、いい入門資料になったんじゃないかと自負しております(面倒くさくて画像を全然編集していないですが💦)
みなさんも是非作ってみてください。
私は次はバイコプターでも作ってみようかな...