« BB並木とフェンス | トップページ | アジアカップ2回戦 »

2019年1月23日 (水)

磁気センサの使い方

先日のニセモノ地磁気センサの動作が、どうも気に入らない。
HMC5883Lと書かれているのに、搭載されているのはQMC5883という詐欺モジュールのことだ。こいつはQMC5883用のライブラリを使えば正しく動作する。

出回っているライブラリと、そのサンプルコードを見ると、動作中にキャリブレーションもしているようだ。
私はチップの個体差に応じて手動で調整していたが、サンプルコードだと内部でキャリブレーションを行なうため、個体差は問題にならない。
これは便利そうだ。ライブラリをハックすることにした。

地磁気センサは、自分が向いている方向を磁北からのズレとして値を返す。
ノイズで値が安定しないことがあるが、数回スキャンして平均値を使うのが定番の対策だ。これはわかる。
センサの感度にはバラツキがある。手持ちのモジュールごとに感度を調整するために、センサの最小値と最大値を調べ、その値を360等分しているようだ。

解説があるわけではないので、私の勝手な推測である。
昔のスマホは、購入直後に一度、8の字に回す作業が必要だったが、あれと同じだ。
同じ処理を入れて、はやぶさ君に反映させたところ、どの詐欺モジュールでも正しく動くようになった。
詐欺モジュールをたくさん買ってしまったので助かった。

« BB並木とフェンス | トップページ | アジアカップ2回戦 »

電子工作」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 磁気センサの使い方:

« BB並木とフェンス | トップページ | アジアカップ2回戦 »

最近のトラックバック