現時点では、LSM303DLHC加速度計/磁力計/温度計で遊んでいます。
これはそのデータシートです: http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00027543.pdf
すべてが順調に機能していますが、出力値の解釈方法がわかりません。データシート(9ページ)には、私の構成での線形加速度感度について「1 mg/LSB」(いいえ、ミリグラムではありません:D)のようなものがあります。それは一体何を意味するのでしょうか?温度センサーの出力変化(8 LSB /°C)および磁気ゲイン設定(1100 LSB /ガウス)でも同じですが、逆の場合のみです。
たとえば、この加速度計の出力をどうするか:16384?それが私の測定された重力加速度です。
今、私はトリックを得ました。このMEMSには、知っておく必要のあるものがいくつかありますが、データシートには記載されていません。
その情報を使用して、LSM303DLHCを使用することができます。しかし、一体誰がこれを発明したのでしょうか? 「新しい加速度計、磁力計、温度計を1つのパッケージに組み込み、データシートで言及せずに単語の長さとエンディアンを混ぜてユーザーを台無しにしましょう。」
LSB /ユニットまたはユニット/ LSBは、生のセンサーデータを乗算する必要がある係数(感度と呼ばれます)です。センサーAにはX、Y、およびZレジスタがあり、各レジスタに入ってくる値をLSB /ユニットまたはユニット/ LSB係数で除算/乗算する必要があるとします。これは、データシートに、特定のフルスケールで、これほどの感度(LSB/unitまたはUnit/LSB)があることが記載されているためです。
lSB /ユニットの場合:
x lsbは-1単位を意味します
1 lsbは-1/xユニットを意味します
値lsb(レジスタの値)=(1/x)*(レジスタの値)-ここに nitary メソッドを適用します。
同様に、Unit/LSBについても感度を乗算する必要があります。
加速度計、磁力計、温度センサーを構築することも、1つのモジュールでジャイロメーターを構築することもできますが、顧客/ユーザーが1つのセンサーのみを必要とする場合はどうなりますか?
Rgds、Rp
データシートは、アクセラレーションレジスタの解釈に関して明確に明確ではありません。 Genesis Rockのソリューションは、それが12ビットであると想定しています。 (別の解決策は、ゲインが1 mg/LSBではなく16 mg/LSBであると想定することですが、加速度の最後の4ビットが常にゼロであるように見えるため、前者の解決策の方が理にかなっています)。
ただし、温度と加速度の両方について、最上位の12ビットのみを考慮に入れると。最後の2ビットも常にゼロなので、有効な解像度は10ビットになり、混乱を招きます。
また、データシートに指定されていない未知のオフセットがない限り、温度測定値の意味を理解できません。
他の人が同じ結果を得ていることを確認してほしい。
加速度計の12ビット出力に関しては、制御レジスタ4に高解像度フラグがあります。デフォルトではオフになっており、高解像度の意味についての情報はありません。 16ビット出力が可能になると思います。また、制御レジスタ4には、加速度計出力のエンディアンを設定するフラグがあります。デフォルトではリトルエンディアンです。データシートは全体的にかなり脆弱です。
シンプルで恥ずかしい事実は、どの回答も質問のターゲットに達していないということです。
結果は、データシートで提供される別のパラメーターである感度に埋もれています。たとえば、2000 dps感度のFXAS21002Cは62.5 mdps/LSB(= 0.0626 dps/LSB)です。ゼロオフセットは25 LSBであるため、dps単位の値は0.0625 * 25 = 1.5625 dpsです
同じIMUの250 dpsの感度は7.825 mdps/LSB(= 0.007825 dps/LSB)であり、オフセットも25 LSBであるため、計算では0.0078125 * 25 = 0.1953 dpsの実際の値が公開されます。
例はここにあります: https://learn.adafruit.com/comparing-gyroscope-datasheets/overview