October 15, 2014

Super Sylphide 進捗状況(79) -- あらちょっとすごいロガー (NinjaScan Slim2) 実装

先日記事を書いた『あらちょっとすごいロガー』ことNinjaScan-Slim2ですが、実装してみました。

NinjaScan-Slim2_impl.jpg
表と裏

あらちょっとすごいロガーは、ちょっとすごいロガーや、もうちょっとすごいロガーからソフト的に大きく変更しなければならない部分がありました。後者では慣性センサにInvensense MPU-6000、地磁気センサにFreescale MAG3110を使っていたのですが、前者では慣性センサと地磁気センサが統一されたInvensense MPU-9250を使うことにしたためです。MPU-9250では、地磁気センサ部として旭化成 AK8963が内臓されており、それが内部のI2Cバスで接続されているため、地磁気センサにアクセスするにはMPU-9250内のレジスタを介して間接的に行う必要があります。結果、動作確認をとれたコードがmpu9250.cになります。

コードが動くまでの過程を思い返してみると、MPU-9250本体のデータシートだけでは不十分で、AK8963のデータシートを参照する必要がありました。特に地磁気データが格納されているのは6byteなのですが、さらに1byteのステータス情報も読みださないと、データが更新されないという部分で嵌りました。このことに気付いたのは、mbed用に実装されたMPU-9250のコードを参照(334行目付近)したときでした。情報は多いに越したことはありません。

※次の進捗は、あらちょっとすごいロガー Rev.Bです。

22:41 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/918