こんにちは、
当社製品では MMA8451Q / MMA8452Q を使用する予定であり、ボードが適切に動作することを確認するためにセルフテストを実装する必要があります。
残念ながら、セルフテストを有効にした後に読み取られた値をどのように解釈するかについての情報は見つかりません。私が見つけた最良のものはhttps://community.nxp.com/t5/Sensors/MMA8452Q-Self-Test/mp/300598/highlight/true#M696です。TomasVaverka氏はこう述べています。
十分に明確でなくて申し訳ありませんが、この手順では XYZ ベクトルを計算する必要はなく、次のように、セルフテストが有効になっている場合と無効になっている場合のすべての軸の加速度出力の差を計算するだけです。XST = XST_ON − XST_OFF
YST = YST_ON − YST_OFF
ZST = ZST_ON − ZST_OFF
これらのセルフテストの変化が ±4g モードで 50 カウントを超える場合、テストは合格とみなされます。
そしてスレッドの後半で
±2gモードで100カウントです。
50/100 カウントという値はどこから来たのでしょうか?
情報をいただきまして誠にありがとうございます。
こんにちは、ヨハン。
はい、±4g の範囲では最小しきい値は +25 LSB です。セルフテストの出力結果は、選択した範囲に応じて明らかに変化します。
よろしくお願いいたします。
トーマス
こんにちは、トーマス。
セルフテスト手順と測定されたデルタ値は正しいです。前述の最小デルタ値 +50 LSB は、±2g の範囲で有効です。
データシートの一般的なデルタ値と、ベースライン値を読み取る前の 4g への切り替えが実際に正しく、+50 LSB が実際に 2g 範囲の値である場合、4g モードの正しいしきい値は何ですか?半分だけですか?
ありがとうございます
ヨハン
こんにちは、ヨハン。
データシートに指定されている標準的なデルタ値は±4gの範囲であり、FS[1:0] = 0b01に相当します。「FS[1:0]を0に設定する」は明らかに間違いです。申し訳ありません。
セルフテスト手順と測定されたデルタ値は正しいです。前述の最小デルタ値 +50 LSB は、±2g の範囲で有効です。
よろしくお願いいたします。
トーマス
ご返信ありがとうございます。現在のセルフテストの実装は次のようになります。
残念ながら、データシートではテスト値の解釈方法が矛盾しています。データシートの6ページ:
私の理解では、+44、+61、+392 は、セルフ モードを有効にした後に達成される一般的なデルタ値 (ST_ON - ST_OFF) です。ただし、「FS[1:0]を0に設定する」は4gモードではなく2gモード(23ページの表16による)を意味します。上記の手順 1 と 2 の間に XYZ_DATA_CFG で 4g モードを有効にすると、6 ページの標準列にリストされている値の範囲内の値のみを取得できます。
MMA8452Q: Baseline values: x=-507, y=8, z=24
MMA8452Q: Self-test values: x=-463, y=76, z=386
MMA8452Q: Delta: dx=44, dy=68, dz=362しかし、これらのデルタ値は、2g の 100 カウントは言うまでもなく、4g の 50 カウントの範囲外になっています。
正しいしきい値をどこで見つければよいのか、少しわかりません。データシートにはそれについて何も記載されていません。
よろしくお願いいたします。
ヨハン
こんにちは、ヨハン。
データシートでは、表 2 (セルフテスト出力の変化) にこれらの値が指定されています。
しかし、数年前に当社の PE チームから得た情報によると、MMA8452 セルフテストの最小合格値はすべての軸で +50 LSB であるということでした。これは、最終テストで部品が合格しなければならない制限です。明確に言えば、これはセルフテストが開始されたときの静止時の読み取りからのデルタ出力です。
よろしくお願いいたします。
トーマス