MULTICOPTERに挑戦(multiwii)

2013/04/01~ multiwiiのコントローラーを使ったマルチコプターの製作記事を書いていきます・・・ 

1、クワッドコプター(quadcopter)


ラジコン技術でmultiwiiを使ったマルチコプターの特集が組まれていたので興味があり勉強していたところクラブ仲間からクワッドコプターのキットの 製作を頼まれました。RCイーテックから発売された限定キットです。マルチコプターについてネットでいろいろ調べてみましたが最近はブログが多く大変読みづらいのでホームページとして纏めてみることにしました。 ソフトのインストール方法や詳しい設定などは基本的にラジコン技術11、12、1、2月号の記事を読んでください。

キット スペック
■フレーム HJ450  ■モーター A2208 1400KV  ■アンプ ZTW 12A BEC 1A  ■プロペラ 8×4.5  ■フライトコントローラー Multiwii LITE (旧バージョン)
キットではフライトコントローラーが古いタイプのコントローラーだったので新しいタイプのMultiwii SE V2.0に変更して組み立てました。


フレームの組み立て
フレーム HJ450はネットでよく見る構造です。プレートとアームを2.5mmのネジ止めで簡単に組み立てることができます。下面のプレートには電源配線がプリントされた基板となっています。 組み立て説明書が無かったので電源基板となるプレートの表裏をどちら側にするか迷いましたが、半田付けがやり易いように配線を半田付けする側を下面としました。 アームとプレートの組立てるときアームのネジ穴がわずかですがプレートの穴とづれているものがありネジがすんなりと入らない物がありました。 組み立てた感じですが少しアームが柔らかいように感じます。 機体の前後方向はカメラなどの装備を載せやすいようにするのに下面のプレートの長手方向が前後になるようにしました。 写真では赤いアーム側が前方になります。

モーター/アンプの取付
モーターとアンプはコネクター・ピンが半田付けされていないタイプなので2.0mmのオス・メスピンの半田付けが必要でした。合計24本のピンの半田付けが必要で少し面倒でした。 モーターはフレームに直接4本のネジで固定できます。アンプの取付位置ですがネットを見るとアームの下面に取り付けている写真を見かけますが、アンプからコントローラーに接続する線の長さが短めなので下面からでは届かなくなるのでクーリング効果の良い上面に付けました。 アンプからの電源線を基板に半田付けとバッテリーへのコネクターを配線して半田付けは終わりです。フレームの下面プレートが電源基板となっているのは配線がすっきりしてよい物です。 ただ、まったく説明が無いので電流が何アンペアまで流せるのか分からないのが残念です。他のメーカーのプレートを見ると20AがMAXのようです。

フライトコントローラー(FC)の取付
MULTIWII FLIGHT CONTROLLER(MWFC)はMultiwii SE V2.0にしたので少し小型になりました。2mmの航空ベニヤでマウントプレートを作りバルサのマウントにプラスチックネジで留め、 マウントプレートをスポンジ両面テープで固定しています。
フライトコントローラーの取付位置ですがネットで見るとコントローラーを保護する目的で上下プレートの間に取り付けられているのを見ます。今回は設定の変更などがしやすいように上面に取り付けました。




multiwiiファームウエアの書き込み&設定
ソフトウエアのインストールと設定はラジコン技術の記事を読みながら順番に進めていけばできましたが、設定のポイントやチョットうまくいかなかったことなどをまとめてみます。
私のパソコンはwindows7のノートパソコン(ACER ASPIRE 5750)ですがArduino IDE,FTDI ドライバー、winGUIのインストールと作動は問題なくできましたがMULTIWII CONFIG TOOL はJAVAをダウンロードしてインストールする必要があり、作動しても表示がギクシャクして使い物になりませんでした。 (64ビット版のパソコンですが32ビット版のjavaでしか作動しなかった)

①config.hとdef.hの書き換え
このキットを組み立てたときはmultiwiiのver.は2.1でmultiwii SE V2.0のボードは登録されていなかったのでhobby robot factoryさんの作ったconfig.hとdef.hに書き換えてから各項目をラジコン技術に従いconfig.hを設定しました。
ver2.2はmultiwii SE V2.0が登録されているのでデフォルトからの変更箇所は下記の行のみです。
#define QUADX
#define HK_MultiWii_SE_V2 // Hobbyking board with MPU6050 + HMC5883L + BMP085
//#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
#define I2C_SPEED 400000L //400kHz fast mode, it works only with some WMP clones
#define RCAUXPIN8
#define MPU6050_LPF_42HZ

モーターARMの方法がmultiwiiのバージョン2.1ではデフォルトでラダーステックまたはスロットルスティックでARMにできましたが、2.2ではラダースティックのみになっています。スロットルスティックも使いたい場合はconfig.hのスロットルスティック行をアクティブにします。
#define ALLOW_ARM_DISARM_VIA_TX_ROLL

②Arduino IDEでの書き込み
multiwiiボードへの書き込みですが書き込む前にツールを選びシリアルポートとマイコンボードの選択が必要です。シリアルポートが複数ある場合FTDIのつながっているポートを選びます。マイコンボードはMULTIWII SE V2.0の場合Arduino Nano/W ATmega328を選びます。最初、これを選択しないでエラーがでました。

③winGUIの表示
私はパソコンの表示を見やすいようにディスプレーの表示を125%に設定しています。しかし、このままwinGUIを起動すると一部の画面が表示されない状態になりました。winGUIを起動する前にディスプレーの表示を100%に戻しておく必要がありました。
注意事項として、終了するときは、かならずdisconnectをクリックしてから終了すること!!

④受信機の接続
6チャンネル分を接続をします。スロットルchから受信機への電源を供給するので向きを間違えないこと。
ラジコン技術にはフタバSBUS受信機をSBUS接続できるようなことが書いてありましたが、ネットでいくら調べてもでmultiwii se v2.0のボードにはそのまま接続することは出来ないようです。

⑤送信機の設定
winGUIを起動してスロットル、エレベーター(PITCH)、エルロン(ROLL)、ラダー(YAW)の各チャンネルの表示を見ながらまず正しい方向に動くか確認しながらリバース設定、次にサブトリム(1500μs)、最後にトラベルアジャスト(1000-2000μs)の設定を行います。 この順番が効率がよいです。プロポの調整の非常に重要な部分です。必ずきちんと設定してください。 AUX1,AUX2 SWを操作して必要によりリバース設定、3ポジションSWの設定、トラベルアジャスト(エンドポイント)の調整を行います。

⑥winGUIで動きを確認
プロポのラダースティック又はスロットルスティックを操作してモーターをARMにして4つのモーター出力が1000から1150なること、スロットルフルハイで1850、エルロン・エレベーター・ラダースティックを操作して 各モーター出力が正しくアップ・ダウンすることを確認すること。ここでしっかり確認していれば初フライトであわてないで済みます。 ジャイロ・ACC・MAG・BARセンサーの動きも確認しましょう。キャリブレーションも行います。

⑦AUX1とAUX2の割り当て
sbus受信機が使えると思っていたのに使えなかったので2CH分しか使えません。どの機能を割り振るか迷うところです。モーターのARMはスティック操作として、とりあえず、AUX1に3ポジションSWを使い、midにacc、hiにhead free modeを割り当てました。AUX2は2ポジションSWだったのでALTHOLDを割り当てました。

⑧multiwiiのバージョンの変更
multiwiiのバージョンを変更した場合、accとmagの再キャリブレーションが必要です。バージョンを2.2に書き換えたら青のLEDが点滅するようになりました。最初、意味がわからずトラブルかと思いましたがキャリブレーションが必要なとき(エラー)点滅するようです。


アンプのキャリブレーションと回転方向の確認
送信機のトラベルアジャストを終わらせてから、キャリブレーションを行います。ZTW製のアンプのスロットル・レンジのキャリブレーションはスロットル・フル・ハイでバッテリーを接続してアイドルに戻すことによりキャリブレーションできるタイプのアンプなので各アンプをそれぞれ受信機と接続して設定を行いました。 multiwiiを設定して1度に4個を設定する方法もありますが、今回は個々に実施しました。モーターの回転方向が各ポジションで合っているかも確認します。

プロペラとプロペラ・アダプター
セット付属のプロペラは、トラッキングがずれている品質の悪い物があり予備のプロペラも無かったのでそのままつけてホバリングしてみましたがプロペラの音が大きいので早めに切り上げましたが後で、モーターを手で廻した時ベアリングにガタが出ているのがわかりました。 もともとベアリングの品質が悪かったのかプロペラの振動でベアリングがいかれたのかわかりませんが、あまりにも早い損傷です。 プロペラは消耗品かもしれませんがもう少し品質の良い物を選んでもらえると良いのですが。
結果、すぐにオークションでプロペラ・セットを2組注文しました。届いたプロペラはキット付属のプロペラと同じ物でした。ちょっとがっかり。プロペラのバランスをとりトラッキングのよさそうなプロペラを取り付けました。
モーターに付属していたプロペラ・アダプターはプロペラ軸径が5㎜の物で精度が良く変心などはありませんでした。

フライト
基本モードのジャイロだけで浮き上がる時、傾くようなこともなくあっけなくホバリングできました。少し操舵したあとに揺れますが問題なくフライトできます。PIDの調整はせずにそのままフライトすることにしました。 ACCモードも安定しています。ただ、風があると流されてしまうのでずっとあて舵をしていないといけません。 外では風がありトリムの確認ができないので室内で行うことにしました。安定しているのを確認できたので室内でできましたがヘリの操縦ができない人はこの大きさの機体を1箇所で止めておくことはできないので風の無い時に屋外でやるほうが安全です。
ACCのトリムはスティック操作で行います。操作方法を覚えておきましょう。モーターDISARMでスロットルフルハイで行います。
機体の操縦に慣れてきたので上空飛行を行いましたがACC モードでは水平に戻そうとするのでエレベーター・ダウンのあて舵を打ったまま飛行させなければならないので非常に疲れます。 ヘリを飛ばせる人なら基本モードのジャイロだけで十分です。3軸ジャイロで安定しているので非常に飛ばしやすいです。 風のあるときの定点ホバリングも同様にジャイロだけの方が楽です。
ALTHOLDモードも試しましたがある範囲で一定の高度をうまく保つ時と大きく変化するときがあるので使い分けが必要です。
HEADFREEモードは機体の向きがわからなくなったとき自分の元に戻すときに有効ですが、風があるとあて舵を打ちながらの操作とHEADFREEモードだということを常に意識して操作する必要があります。 風があるときはちょっと使いづらいでした。
室内でのホバリング時、アンプの発熱状況を確認したところBEC電源を供給しているアンプの発熱が大きいことがわかりました。夏場はきつそうな感じを受けました。屋外でのフライトでは今は寒いのと走らせたときはクーリング効果が良いのそれほど熱くは感じません。 夏場には注意が必要です。
プロペラは品質が悪ので飛ばしていると音も大きく良い物と交換した方が良いと感じました。 プロペラとモーターのベアリング交換が必要です。

クワッドコプターは前後方向の視認性が悪いので前後にオレンジ色と白色のピンポン玉を3mmの竹ひごで取り付けました。アームの足の部分にちょうど3mmの穴が開いていたので竹ひごを通すのにピッタリでした。 さらに前方にLEDをつけて曇り空でもわかりやすくしました。

GPS
hobby robot factoryさんからオークションで購入したNEO-6M GPS Module(HOLYBRO HOBBY製、HOBBY KING販売)をつけることになりました。GPSユニットとI2C NAV ボードがセットになっていてソフトがインストール済み、配線もそのまま接続できるように変更してあるものです。 multiwiiのconfig.hをGPSを使えるように変更するだけで使えるようになります。本当に簡単に作動させることができます。
multiwii ver2.2のconfig.hの変更箇所は3行です
//#define GPS_BAUD 115200 ------シリアル接続の設定なので無効にします
#define UBLOX ---------シリアル接続の設定なので不要(2013/6/24変更)
#define I2C_GPS
#define MAG_DECLINIATION -7.1f ------私の地域の磁気偏角値です、 http://magnetic-declination.com/で調べます。
千葉や東京などは"-7f"ぐらいの値を入れます
(2013/7/5追記)GPSの設定方法を変更しました。詳しい設定方法は別のページに纏めましたのでI2C GPSの設定をお読みください。

最初、パソコンに繋いでGPSのデーターが表示されるのを待っていましたが、なかなか表示されず正常に作動しているのか不安でした。室内でパソコンに繋いで確かめていたので、 一旦パソコンから取り外しGPSが良く受かるように外に持って行きバッテリーを接続して受信を待ちました。 GPS ユニットのPOWER&3D FIX LEDが点滅しI2C NAV ボードのLEDが早い点滅を始めたのでGPSが受かったようです。パソコンに繋いで確認したらGPSデーターが表示されるようになり、無事、作動を確認できました。
後でネットで調べたらコールド・スタートとホット・スタートというのがあり初めて受信するときはコールド・スタートと言って衛星を順番に受信していくので時間がかかり、 一度受信できれば次回は(あまり時間がたっていなければ)ホット・スタートになり衛星データーを覚えているのですぐに受信が完了することがわかりました。
winGUIでreturn to homeとposition holdをAUX SWに設定してフライト・テストです。 まずはposition holdを確認し次にreturn to homeを確認しました。機体を離しSWを入れると向きを変え戻ってきます。元のポジションに戻ってくるとモーターをARMした時の方角に機体を 向けます。すばらしいの一言でした。風のある日に飛ばすと思わぬ方向に飛んで行き姿勢がわからなくなることがあります。離れて姿勢を見失っても安全に戻ってくることが確認できました。

アンプのBEC容量が1AしかないのでGPSを取り付けたときのアンプの発熱状況は厳しい物があります。別電源を用意する必要があります。

multiwii フライトコントローラーとソフトは素晴しいものです。PID値をまったく変更しなくても安定して飛ばすことができました。 4000円程度のコントローラーでこんなことができるとは今までではまったく考えられないことです。 アクロだけの人はジャイロと加速度センサーだけの安価な製品でも十分に楽しめます。

ここまでで私の製作と調整は終わりで所有者に引き渡しました。

TRICOPTERの製作につづく・・・



 


NEXT



メインページに戻る