2012/01/22

MPU-6050のテスト

SparkFunに並んでいたのでInvenSenseの6軸(加速度・ジャイロ)センサMPU-6050を買って試用してみました。
SparkFunの商品紹介ページにある写真の通り、届いたチップはRev.Cで、最新のRev.Dではありませんでした。
型番の最後にはESの文字も見えます。

実装したMPU-6050


電装系に載せていたジャイロセンサIMU-3000とピン互換性があるので、貼りかえるだけで基板への実装は終わりです。
同時に不要になった加速度センサLIS3LV02DLの除去も行なっています。

下の図に読み出しのテストの様子を示します。

MPU-6050・地磁気センサAMI304との通信の様子


LIS3LV02DLに巻き込まれて不可能だった6軸+温度/地磁気3軸のバーストリードができるようになったので、読み出しにかかる時間は4msから0.9msまで短縮できました。

今のところおかしな挙動はなく、安定してセンサの値が読み取れています。
また、読み出しの高速化にともなって他の処理に割ける時間が増えたため、システム全体の安定性も上がったように思います。

InvenSenseからはMPU-6050のSPI版MPU-6000や、MPU-60X0の進化版(?)のMPU-61X0、さらに地磁気も1チップに納めたMPU-9150もアナウンスされているので、手に入るようになったらそちらも試してみようと思います。

3 件のコメント:

  1. 初めまして。愛媛大 二宮翔会電装班です。
    突然ながら、MPU-6050のデータフォーマット形式について質問があり、投稿させていただきました。

    二宮でも三軸ジャイロ+加速度が欲しいという要望があり、MPU-6050がAmazonで900円程度と安かったので試しに購入しています。

    二宮では私が初心者ゆえ、マイコンはArduinoです。
    http://playground.arduino.cc/Main/MPU-6050
    に従いましてサンプルプログラムを動作させたところ

    MPU-6050
    Read accel, temp and gyro, error = 0
    accel x,y,z: -568, -256, 15176
    temperature: 35.000 degrees Celsius
    gyro x,y,z : 678, -94, -3,

    このような値が取れました。
    ブレッドボード上に仮配線し、水平な机の上で動作させた様子です。

    しかし、値は分かったものの、このデータ形式がどのようになっているか分からず、有意な単位に換算することが出来ません。私自身、三軸ジャイロ+加速度センサは初めてで、どのような単位の値を記録すれば今後有用なのかもわかりません。

    大変不躾なお願いではございますが、上記の件アドバイス頂けないでしょうか。宜しくお願いいたします。

    twitterID:buttyo_kunyです。もしTwitterされてましたら、こちらからでも構いません。お返事頂けないでしょうか。

    返信削除
  2. まず一般的な話ですが、この類のセンサのセンサ生データと物理量の換算係数はたいていデータシートに記載があります。
    メーカーサイトからMPU-6050のデータシートが消えているので、適当に検索してデータシートを見つけて確認してください。

    このセンサは加速度・ジャイロのレンジを変更可能です。
    まずサンプルプログラムを読んでレンジの設定を確認し、データシートの換算係数を使って物理量に直すという流れで物理量を取得します。
    計算の際に適当に単位を変換すればよいので、記録する単位は好みのものを使えばよいと思いますが、加速度をm/s^2で、ジャイロの値をrad/sを記録するのが標準的かと思います。

    データシートに記載されている換算係数には誤差が含まれているので、正確な値が必要な場合は校正作業を行います。
    校正作業の様子は、
    http://hpaavio.blogspot.jp/2012/04/mpu-6050.html
    を参考にしてください。
    このページにコメントがありますが、MPU-6050はチップのリビジョンによって加速度のレンジの設定可能な範囲が変わるので、そのあたりにも気を付けてください。

    返信削除
  3. TOIDA様
    早速のアドバイス、ありがとうございました。
    こちらのMPU-6050はRev.Dのようです。

    データシートはPS-MPU-6000A.pdfで検索すると拾えました。
    実は投稿前データシートにも一度目を通していたのですが、今までDCモータードライバIDやホール素子くらいしか経験のない私のとってなかなか難しく、何を言っているのかよくわかりませんでした。したがってレンジ切り替えの話も全く知りませんでした。

    今一度データシートに目を通してみようと思います。

    校正につきましても、URLご教授頂きありがとうございました。

    このチップが二宮の機体に乗る日は先かもしれませんが、じっくり取り掛かろうと思います。また疑問点があれば質問させて下さい。宜しくお願い致します。

    返信削除