MultiWii 用のGPSユニットを入手。
こんばんは。
昨日土曜日は子供の小学校の運動会でした。女房は今年はPTA役員になっているので会場の設営やら何やらで出ずっぱりとなっており、私一人で保護者席へ弁当やレジャーシート、テントを持ち込んで準備をしていました。他の学校ではあまり例がないかもしれませんが、何故かうちのチビの学校では保護者がレジャー用の日除けテントを持ち込むのが慣例化しています。準備中、ふと気がつくと近くの席に結構綺麗なお母さんがいて「美人だな~♪」と思っていたのですが、昼のお弁当の時に女房が戻ってきて、実はその美人お母さんがバレンタインにうちのチビにチョコをくれた子のお母さんであることが判明。驚きました。やっぱり父兄会、今後は私が出ることにしようかな(笑)。
さて、本題です。なかなか自由に遠出できる時間が取れず、飛行もままならないZion4-450 ですが、ちょこまかと関連の買い物だけは続けています。今回はenRouteさんに、長らく品切れが続いていたMultiWiiで使用できるGPSユニットとI2Cインターフェース変換ボードが入荷していたので、通販で取り寄せてみました。これまでは全て店頭での買い物だったので、通販を利用するのは初めてですね。で、金曜日に届いたのがこちら。

ただ、届いたボードのうちGPSユニットの方はホットスタート用の電池が基板から外れかかっていました。パッケージ写真でも電池部分がまくれ上がっているのがわかりますが、電池の片方の電極が基板上のパターンから外れて浮いています。ショートはしていないようですが、あまり気分のいいものではありませんね。enRouteさんでパッケージングする前、メーカー出荷時からこのような状態だったような感じですが、交換を依頼するのも面倒なので、自分でハンダ付けし直しておきました。画像の電池左側のハンダ付け部分のうち、艶のあるほうが私が直した部分です。このような場合、パターンが細かいので、ハンダ付けに自信がない場合は素直に交換してもらったほうがいいと思います。

MultiWii SE V2.0と同じCRIUS製のGPSユニットとシリアル-I2Cインターフェース変換ボードです。MultiWii SE V2.0の場合、GPSユニットを直接ボードにはつなげません。ボード上のI2Cインターフェースに変換ボードを介して接続する必要があります。MultiWii Proだと直接繋げるみたいですけどね。同様のGPSユニットはホビキンさんあたりでも販売していて結構安い(20ドル弱)と思いますが、肝心のI2Cインターフェース変換ボードがありません。この変換ボードが今回、enRouteさんに入荷していたので、多少の割高は承知でGPSユニット共々注文してみました。
CRIUSのGPSユニットに搭載されているモジュールはu-blox社製のNEO-6Mです。こちらのサイトに詳しい情報が掲載されていましたので参考にさせて頂きました。こちらの情報によると、MultiWii本体のインターフェースのボーレートが115200、I2Cインターフェース変換ボードのボーレートも同じく115200なのに対し、GPSユニットに設定されたデフォルトのボーレートは9600であるため、これを変更する必要があるみたいです。また、データの更新間隔であるリフレッシュ・レートもデフォルトでは1Hz、すなわり1秒間に1回ですが、これでは空モノのラジコンの制御には遅すぎるので少なくとも5Hz、できれば上限一杯の10Hzまで上げてやった方が良いようです。
変更にはu-blox社のサイトからGPS評価ソフトウェア「u-center」をダウンロードしてきてインストールする必要があるとのことで、早速インストールしてみました。GPSユニットのPCへの接続ですが、MulitWii SE V2.0の設定用に購入したFTDIシリアルーUSB変換ボードを経由して接続することが出来ます。

昨日土曜日は子供の小学校の運動会でした。女房は今年はPTA役員になっているので会場の設営やら何やらで出ずっぱりとなっており、私一人で保護者席へ弁当やレジャーシート、テントを持ち込んで準備をしていました。他の学校ではあまり例がないかもしれませんが、何故かうちのチビの学校では保護者がレジャー用の日除けテントを持ち込むのが慣例化しています。準備中、ふと気がつくと近くの席に結構綺麗なお母さんがいて「美人だな~♪」と思っていたのですが、昼のお弁当の時に女房が戻ってきて、実はその美人お母さんがバレンタインにうちのチビにチョコをくれた子のお母さんであることが判明。驚きました。やっぱり父兄会、今後は私が出ることにしようかな(笑)。
さて、本題です。なかなか自由に遠出できる時間が取れず、飛行もままならないZion4-450 ですが、ちょこまかと関連の買い物だけは続けています。今回はenRouteさんに、長らく品切れが続いていたMultiWiiで使用できるGPSユニットとI2Cインターフェース変換ボードが入荷していたので、通販で取り寄せてみました。これまでは全て店頭での買い物だったので、通販を利用するのは初めてですね。で、金曜日に届いたのがこちら。

ただ、届いたボードのうちGPSユニットの方はホットスタート用の電池が基板から外れかかっていました。パッケージ写真でも電池部分がまくれ上がっているのがわかりますが、電池の片方の電極が基板上のパターンから外れて浮いています。ショートはしていないようですが、あまり気分のいいものではありませんね。enRouteさんでパッケージングする前、メーカー出荷時からこのような状態だったような感じですが、交換を依頼するのも面倒なので、自分でハンダ付けし直しておきました。画像の電池左側のハンダ付け部分のうち、艶のあるほうが私が直した部分です。このような場合、パターンが細かいので、ハンダ付けに自信がない場合は素直に交換してもらったほうがいいと思います。

MultiWii SE V2.0と同じCRIUS製のGPSユニットとシリアル-I2Cインターフェース変換ボードです。MultiWii SE V2.0の場合、GPSユニットを直接ボードにはつなげません。ボード上のI2Cインターフェースに変換ボードを介して接続する必要があります。MultiWii Proだと直接繋げるみたいですけどね。同様のGPSユニットはホビキンさんあたりでも販売していて結構安い(20ドル弱)と思いますが、肝心のI2Cインターフェース変換ボードがありません。この変換ボードが今回、enRouteさんに入荷していたので、多少の割高は承知でGPSユニット共々注文してみました。
CRIUSのGPSユニットに搭載されているモジュールはu-blox社製のNEO-6Mです。こちらのサイトに詳しい情報が掲載されていましたので参考にさせて頂きました。こちらの情報によると、MultiWii本体のインターフェースのボーレートが115200、I2Cインターフェース変換ボードのボーレートも同じく115200なのに対し、GPSユニットに設定されたデフォルトのボーレートは9600であるため、これを変更する必要があるみたいです。また、データの更新間隔であるリフレッシュ・レートもデフォルトでは1Hz、すなわり1秒間に1回ですが、これでは空モノのラジコンの制御には遅すぎるので少なくとも5Hz、できれば上限一杯の10Hzまで上げてやった方が良いようです。
変更にはu-blox社のサイトからGPS評価ソフトウェア「u-center」をダウンロードしてきてインストールする必要があるとのことで、早速インストールしてみました。GPSユニットのPCへの接続ですが、MulitWii SE V2.0の設定用に購入したFTDIシリアルーUSB変換ボードを経由して接続することが出来ます。

接続する場合、GPSユニット付属のケーブルとFTDIインターフェース基板、双方ともピンコネクタのメスがインターフェスになっていますので、両者の間をブレッドボード用のピンケーブルで繋ぎます。ここで注意するのは両方のピンの並びが同一ではない点です。
GPSユニットの方は4ピンで、上から
GND(グラウンド、電源マイナス)
RXD(受信)
TXD(送信)
VCC(電源プラス)
となっています。一方FTDIインタフェースの方は6ピンで、基板裏側左から
DTR(制御線)
RXI(受信)
TXO(送信)
5V(電源プラス)
CTS(制御線)
GND(グラウンド、電源マイナス)
となっています。ピン数が違いますが、FTDIのほうの2本の制御線は使いません。双方の基板の表示を良く見ながら、対応するピン同士を接続していきます。まず最初に電源プラス同士とマイナス同士を間違えないように繋ぐといいでしょう。これを間違えるとユニットを壊す恐れが大きいので注意してください。また、双方の送受信の端子ですが、GPSのTXDをFTDIのRXI、GPSのRXDをFTDIのTXOに繋ぐようにします。TX同士、RX同士を繋いでしまうと通信が出来ません。
接続完了後、FTDIインターフェス基板をPCに接続し、u-centerを起動しました。MultiWii SE V2.0で苦労したのとは裏腹に、非常にあっけなく認識しました。やはり、メーカーから評価用として配布されているソフトですから動作が確実なようです。

画面左上にはモザイクで消してありますが(笑)、緯度・経度・高度の情報が表示されています。緯度・経度はともかく、高度はかなりいい加減ですね。超高層マンションじゃあるまいし、154.8mもありません。実際は海抜を入れても70mくらいだと思います。おそらく鉄筋の建物の中だから正確に計算できていないんじゃないでしょうか。衛星そのものは10個以上捉えているようですが、この表示も接続後すぐに出てきました。ハンダ付けしなおした電池によるホットスタートにも問題はないようですね。電源が完全に切れた状態からの、いわゆるコールドスタートだと衛星を捕捉できるようになるまで数分間かかるようです。
続いて情報画面(左側の部分)を開いてボーレートを115200、リフレッシュレートを10Hzに変更、保存してみました。ボーレートを変更すると情報を受信しなくなるので、u-center側でも同様にボーレートを115200に変更します(デフォルトは9600)。変更するとすぐに再び情報を受信するようになり、更新も0.1秒で高速で行うようになりました。一度FTDIのUSB接続を切り離し、暫く置いてからもう一度接続しましたが、115200のボーレート、10Hzのリフレッシュ・レートはしっかり保存されていました。
さて、こうなると駄目だろうとわかっていてもMultiWiiの基板に接続したくなります。さすがに壊しまではしないだろう・・・と実際に接続してみました。

MultiWiiでしっかり認識されるとI2Cボードの赤LEDの点滅が3回で止まり、MultiWii上の青LEDの点滅が始まるらしいのですが、I2Cボードの赤LEDはずっと点滅を続けています。MultiWii上のLEDの変化はありません。MultiWii Configを起動して各デバイスの情報をモニターします。

やっぱり、GPSからの情報は表示されません。考えてみれば、まだ繋がってもいないデバイスへのインターフェースが最初からOpenされたままではエラーの原因にもなりかねません。ポン付けで使えるわけがありませんよね。ここは正攻法どおり、MultiWiiのファームウェアのconfig.hを書き換えてI2C-GPSの接続を有効にし、コンパイル直してMultiWiiに再度書き込んでやる必要があるようです。
GPSユニットの方は4ピンで、上から
GND(グラウンド、電源マイナス)
RXD(受信)
TXD(送信)
VCC(電源プラス)
となっています。一方FTDIインタフェースの方は6ピンで、基板裏側左から
DTR(制御線)
RXI(受信)
TXO(送信)
5V(電源プラス)
CTS(制御線)
GND(グラウンド、電源マイナス)
となっています。ピン数が違いますが、FTDIのほうの2本の制御線は使いません。双方の基板の表示を良く見ながら、対応するピン同士を接続していきます。まず最初に電源プラス同士とマイナス同士を間違えないように繋ぐといいでしょう。これを間違えるとユニットを壊す恐れが大きいので注意してください。また、双方の送受信の端子ですが、GPSのTXDをFTDIのRXI、GPSのRXDをFTDIのTXOに繋ぐようにします。TX同士、RX同士を繋いでしまうと通信が出来ません。
接続完了後、FTDIインターフェス基板をPCに接続し、u-centerを起動しました。MultiWii SE V2.0で苦労したのとは裏腹に、非常にあっけなく認識しました。やはり、メーカーから評価用として配布されているソフトですから動作が確実なようです。

画面左上にはモザイクで消してありますが(笑)、緯度・経度・高度の情報が表示されています。緯度・経度はともかく、高度はかなりいい加減ですね。超高層マンションじゃあるまいし、154.8mもありません。実際は海抜を入れても70mくらいだと思います。おそらく鉄筋の建物の中だから正確に計算できていないんじゃないでしょうか。衛星そのものは10個以上捉えているようですが、この表示も接続後すぐに出てきました。ハンダ付けしなおした電池によるホットスタートにも問題はないようですね。電源が完全に切れた状態からの、いわゆるコールドスタートだと衛星を捕捉できるようになるまで数分間かかるようです。
続いて情報画面(左側の部分)を開いてボーレートを115200、リフレッシュレートを10Hzに変更、保存してみました。ボーレートを変更すると情報を受信しなくなるので、u-center側でも同様にボーレートを115200に変更します(デフォルトは9600)。変更するとすぐに再び情報を受信するようになり、更新も0.1秒で高速で行うようになりました。一度FTDIのUSB接続を切り離し、暫く置いてからもう一度接続しましたが、115200のボーレート、10Hzのリフレッシュ・レートはしっかり保存されていました。
さて、こうなると駄目だろうとわかっていてもMultiWiiの基板に接続したくなります。さすがに壊しまではしないだろう・・・と実際に接続してみました。

MultiWiiでしっかり認識されるとI2Cボードの赤LEDの点滅が3回で止まり、MultiWii上の青LEDの点滅が始まるらしいのですが、I2Cボードの赤LEDはずっと点滅を続けています。MultiWii上のLEDの変化はありません。MultiWii Configを起動して各デバイスの情報をモニターします。

やっぱり、GPSからの情報は表示されません。考えてみれば、まだ繋がってもいないデバイスへのインターフェースが最初からOpenされたままではエラーの原因にもなりかねません。ポン付けで使えるわけがありませんよね。ここは正攻法どおり、MultiWiiのファームウェアのconfig.hを書き換えてI2C-GPSの接続を有効にし、コンパイル直してMultiWiiに再度書き込んでやる必要があるようです。
スポンサーサイト