ピックワールド(PIC World)

インフォメーション

この記事は 2014年08月12日 に以下のカテゴリに投稿されました Arduino Blog, MultiWii, マルチコプター.

この記事のタグ

, , , , , , , , , ,


マルチコプター : MultiWii Pro に GPS モジュールを接続する(3)

UBLOX NEO-6M GPS モジュールの設定が完了しましたので、次は MultiWii Pro に接続して各種の設定を行います。

最初に行うことは NEO-6M GPS モジュールと、MultiWii Pro との接続ケーブルを作ります。
MultiWii Pro のシリアルポート2に接続します。ボードの中央上側ですね。
ピンアサインは左から

GND
TX2
RX2
+5V(VCC)

となっていますので、送信する側と受信する側を接続するクロスケーブルで結線します。 TX – RX / RX – TX となるようにクロスさせて、他の結線は(+5V/GND)はおなじように結線します。

MultiWii Pro に NEO-6M GPS を接続する

MultiWii Pro に NEO-6M GPS を接続する

ケーブルの作成が完了し、接続した画像がこちらです。

MultiWii Pro + NEO-6M GPS_1

MultiWii Pro + NEO-6M GPS_1

MultiWii Pro + NEO-6M GPS_1

MultiWii Pro + NEO-6M GPS_1

USB ケーブルを使って PC と接続します。とりあえず、NEO-6M GPS モジュールのLEDランプが点灯していれば、電源は問題なく供給されています。

次に MultiWii Pro にスケッチを GPS が動作するように設定してコンパイルし、ファームウエアを転送します。現時点では MultiWii のスケッチのバージョンは Ver.2.3 です。

MultiWii.ino をダブルクリックして Arduino IDE で開きます。右上のドロップダウンリストから、Config.h を選択します。

Arduino IDE Config.h を開く

Arduino IDE Config.h を開く

以下の設定を行います。

#define QUADX                       /* ×型のクアッドコプターを指定 */
#define FFIMUv2          /* フライトコントローラは MultiWii Pro を使う */

画面中程ちょっと下までスクロールして、GPS のセクションへ

#define GPS_SERIAL 2 /* GPS との通信には MultiWii Pro のシリアル2を使う */
#define GPS_BAUD   115200 /* GPS との通信速度は 115200 bps で行う */
#define UBLOX            /* GPS のと通信で使うプロトコル(手順)は、UBLOX で行う */

少し下にスクロールして

#define MAG_DECLINATION  -7.0f

この設定は、飛行を行う地域によって異なります。東京・千葉あたりですと -7.0f で良いようです。地磁気偏角と呼ばれる物で

http://vldb.gsi.go.jp/sokuchi/geomag/php/drawing.php?id=henkakuichiran2010_1:3

に一覧表がありますので、飛行する地域の値を指定してください。
GPS が出力するデータをこの値により補正するのですが、真北と磁北にはずれがあり日本各地では 3-9 °ほどマイナス側にずれているそうです。このずれを地磁気偏角と呼び、値を補正します。

これらの変更を行い、Arduino IDE のメニューでツール -> マイコンボード -> Arduino Mega 2560 or Mega ADK を選択、同じくシリアルポートで MultiWii Pro を接続している COM ポートを指定した後、ボタンでスケッチをコンパイル/MultiWii Pro に転送します。

動作の確認は、MultiWiiWinGUI で行います。画面のPortで使用しているポートを指定し、隣のドロップダウンリストで転送速度を指定します。
Connect ボタンを押して、Realtime Data のタブを開いたのが下記の画面です。

MultiWiiWinGUI_1

MultiWiiWinGUI_1

画面左下の GPS が緑色に変わり(衛星を捕捉してしないときは赤)パケットの送信が行われている際にはその右上のランプが緑色に点滅します。衛星が捕捉出来ていれば、画面の Map をクリックすると現在地を中心とした地図も表示できます。

MultiWiiWinGUI_2

MultiWiiWinGUI_2

作業場が地下なので、ここではやっぱり衛星を捕捉出来ないんですねぇ~。まぁ当たり前なのですが・・これらのテストを行うときには野外でっとは言いませんが、窓の近くで行った方が良いです。

これで MultiWii Pro と NEO-6M GPS モジュール(ヘリモンスターで購入した品物)の接続は完了です。

ちなみにこの NEO-6M GPS モジュールと MultiWii Pro はちょうど取付穴の間隔が同じでして好都合です。下記の画像のように、2階建て構造に出来ます。他の GPS モジュールと比べるとちょっと大きいですね。

MultiWii Pro + NEO-6M GPS

MultiWii Pro + NEO-6M GPS

MultiWii Pro と NEO-6M GPS モジュールをスペーサーを使って2階建てにしていますが、手持ちの物を使ったので、金属のスペーサーです。これは、プラスチックスの物の方が良いように思われます。なぜかというと、もしもの落下などで衝撃が加わった際、余りにもがっちりしていると衝撃がもろにボードに加わることが考えられます。プラスチックスの物であれば、うまくそこがこわれて衝撃の吸収をしてくれる事もあるからです。

GPS モジュールも搭載され、台風が来ている間にフル装備状態となりました。
あとは障害物を見つけるためのセンサーぐらいかな。
細かな調整を進めないといけませんね。ボチボチ行きましょう。

投稿者のプロフィール

minorus
minorus
電子機器が大好きです。
プログラムを書くのをお仕事としていたこともあるので、両方できる PIC や Arduino を使って、いろいろな(役にあんまり立たない)ものを作っています。
実は UNIX 関連のお仕事も長かったので、Raspberry Pi もお手の物なのですけれど、これから触る機会が多くなるのかなぁ。
ボチボチ行きますが、お付き合いください。
若いころの写真なので、現時点では、まだ髪の毛は黒くてありますが、お髭は真っ白になりました。
愛車の国鉄特急カラーのカスタムしたリトルカブで、時々、秋月電子通商の八潮店に出没します。

コメントを残す

最近の投稿

最近のコメント

アーカイブ