487249_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

487249_ja-JP

487249_ja-JP

MAG3110オフセットジャンプ<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

親愛なるコミュニティの皆様

駐車場の占有状況を監視するために 磁力計 MAG3110 を使用しています。

占有率を計算するアルゴリズムは、駐車場が空いているときの RAW の測定値に従う値を計算します。軸のRAW測定に追従できるように温度補正機能を備えています。

一般情報

  • CTRL_REG1 = 0x1A:

pastedImage_58.png

  • CTRL_REG3 = 0xA0:

pastedImage_62.png

データの取得はサイクルごとに行われます(サイクル時間は 8 [秒] から最大約 1 分まで)。この「スリープ期間」の間に、マイクロコントローラはセンサの電源をオフにします。

一般的な順序は次のとおりです。

割り込みを有効化(ブート割り込みを検出するため)、センサの電源をオン、10[ms]待機(データシート仕様)、割り込みを無効化、CTRL_REG2の設定、CTRL_REG1の設定、測定タイマーの開始、割り込みを有効化(測定の準備が完了したことを検出)、ウォッチドッグタイマーを120[ms]に設定(100[ms] + 20%のマージンの)、レジスタの読み取り、センサの電源をオフ、割り込みおよび汎用レジスタ制御を無効化(初期状態に戻す)。この手順は各サイクルごとに実行されます。

質問

この機会にいくつか質問させていただきます。

  1. まれにしか起こらないことですが、長期間にわたって一部のセンサーの「オフセット」値が急上昇することに気づきました (これは 1 つの軸から 3 つの軸すべてまで発生する可能性があります)。これにより誤検出が発生し、アルゴリズムが反応して、変化が車の存在によって引き起こされたのではないことを理解するのに時間がかかります。オフセットの急上昇は、センサを「汚染」する過剰な磁場によって引き起こされる可能性があることに気づきました。しかし、一部のセンサーでは、この急上昇を引き起こすような強い磁場は発生していないはずです。他に考えられる原因は何でしょうか?AUTO_MRST_EN はこの種の効果 (オフセット ジャンプ) を軽減します。「手動」アクション Mag_RST は、AUTO_MRST_EN と同じ結果になりますか、それとも過剰な磁場にさらされた場合の方が「良い」(異なる方法で動作する) でしょうか?ジャンプの例:146671_146671.pngOffset_Jump_Example.png
  2. センサーの電源は、MAG3110 のオン/オフを切り替える MOSFET によって管理されます。MOSFET がスイッチがオンになったときに、まれに電流ピークが観測されました (数 [us] の間 >100 [mA])。これらの短い電流ピークによってオフセットジャンプが発生する可能性がありますか?
  3. センサーの電源を切ることをお勧めしますか?そうであれば、TM = 1、AC = 0 (ASIC はスタンバイ モードを終了し、プログラムされた ODR および OSR 設定に基づいて 1 つの測定サイクルを実行し、I2C データ レジスタを更新してスタンバイ モードに再度入ります)が、磁力計をオフにする場合に最適ですか?電源をオフにする場合に最も推奨される構成はありますか?
  4. 工場出荷時の校正には温度補正が含まれています。磁場の変化があまりない場所でデータを分析すると、3つの軸の測定値が温度によって変化しているのがわかります。おそらく、約300のデルタ(温度変化約50度)の変化が見られるかもしれません。例:

146669_146669.pngTemperature _Vs_Measures.png

サポートとご愛顧に感謝いたします。

デニス G.

磁気センサRe: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは、ダン。

金属物体なし」のCASE、TCO は一定であるSO、傾き (変動) はほぼ同じになります。例えば、X軸のTCOが0.36 uT/°Cで磁場が50 uT(周囲温度25°C )の場合、((40-25)*0.36+50)となります。=> 40°Cで55.4 uT 、((-20-25)*0.36+50)=>-20°C で 33.8 uT 。これはデバイスの m セルに対する温度の影響です。

この法則は、「金属物体がある場合」の場合には実際には機能しません。つまり、m セルの TCO はまったく同じですが、残念ながら強磁性体の磁気の強さも温度によって変化します

したがって、おそらく 2 つの異なるケースで同じ動作は発生しないでしょう。

アンソニー

Re: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは、アンソニー。

質問が 1 つあります。2 つの異なる温度 (摂氏 +40 度 / -20 度) で金属物体がある場合とない場合の大きさの変化を測定する場合、+40 度での変化は -20 度での変化と同一であるべきでしょうか。

Re: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは、ダン。

あなたが見ている現象はごく普通で、私たちはこれを温度係数オフセットと呼んでいます。

温度による磁気ドリフトを回避するには、MAG3110 の TCO (軸ごとに 1 TCO) を特性評価する必要があります。TCO はデバイスごとに異なるため、各磁力計に対して 1 回限りの校正を行わずに、生の測定値に直接補正式を適用することはできません。

センサをキャリブレーションするには、2 つの異なる温度 (DIE_TEMP レジスタ) で 3 軸の温度と磁場 (OUT_x_x レジスタ) を記録する必要があります。

pastedImage_2.png

温度勾配が大きいほど、TCO の計算精度は向上します。

次に、パラメータ計算に次の式を使用します。

pastedImage_3.png

TCO パラメータの特性を明らかにしたら、それを MCU フラッシュに登録することをお勧めします。

最後に、生の測定値(B_raw はオフセット補正データにもなります)ごとに、以下の数式を適用できます。

pastedImage_4.png

磁気値を補正するには、DIE_TEMP レジスタ値も取得する必要があることに注意してください。

以下に、この方法を使用して得られたキャリブレーション効果の改善の例を示します。

pastedImage_5.png

お役に立てれば幸いです。

車両検出システムの場合、オフセットキャリブレーション (HardIron) と TCO も使用できません。実際のところ、非常に短い時間間隔で磁気の変化を検出すればいいだけです。磁場のベクトル振幅 (VECM) ( sqrt(x²+y²+z²) ) を使用すると、長いドリフト (温度の影響) と急速な磁気ドリフト (車両の存在) を検出できるはずです。つまり、データ レートがたとえば 0.5Hz である VECM (以前の VECM - 現在の VECM) の 2 回の測定間で磁気値に大きな変化がない場合、そこに車は存在しません。このアルゴリズムは非常にシンプルで効率的であり、オフセットや温度ドリフトを気にする必要がありません。しかし、それは別の考え方です。

すてきな一日を、

アンソニー

Re: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは、アンソニー。

私はMAG3110を使用して車両検出システムを開発しています。MAGの起動時にデバイスが自動調整され、オフセットが設定されるようにしましたが、MAGを13〜41℃の温度(チップによって報告される)にさらすと、3軸の値が以下のように変化し始めます。

pastedImage_1.png

これは普通ですか?これを補うために NXP が提供している計算式はありますか?

よろしくお願いいたします。

ダン

Re: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは、アンソニー。

指定されたセンサーとそのシリコンの特性に依存するのは理にかなっています。

サポートいただきありがとうございます、助かりました

よろしくお願いいたします。

デニス G.

Re: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは、デニス。

申し訳ありませんが、データシートに記載されているレジスタ以外のレジスタにはアクセスできません。

Z 軸の TCO については、グラフでは非常に小さいように見えるので、これは良いことです。しかし、これは幸運なことです。つまり、別のサンプルをテストすると、おそらく異なる動作が得られるでしょう。これは工場の調整ではなくシリコンに依存します。

アンソニー

Re: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは、アンソニー。

例をありがとうございます。

ある種の TCO は、 各センサの RAW 測定値と長期間の温度 を使用して、ゲートウェイから すでに 計算されています。

工場出荷時の校正について:

MAG3110 は、感度と感度の温度係数が工場で校正されています。すべての工場校正係数

測定が行われる前にASICによって自動的に適用され、結果はレジスタ0x01~0x06に書き込まれます。

ご指摘のとおり、温度係数オフセットについては、最終組み立てチェーンで各磁力計ごとに特性評価し、ファームウェアで補正することができます。

デバイス上のいくつかのレジスタを読み取ることで、特定のセンサの工場出荷時のキャリブレーション係数に関する情報を取得する可能性はありますか?

一部のセンサーでは異なる動作が見られました。例えば、この例ではZ軸(青)が適切に補正されているように見えます。

Temperature_Drift.png

これは工場の校正係数に依存すると思いますか?

挨拶、

デニス G.

Re: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

デニス、

私が TCO と呼んでいるものは、実際にはオフセットではなく、uT/°C または count/°C で表された傾きです。SO、OffsetUserCorrection レジスタを使用してセンサーを調整することはできません。TCOキャリブレーションのサンプルソースファイルを添付します。

アンソニー

Re: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは、アンソニー。

  • コンデンサについては、あなたの観察に同意します。おそらく、磁力計の電源オン時にまれにピークが発生するのも、このためです (電源オフ時にコンデンサが放電されるため)。
  • 温度補正に関しては、電力消費とリソースを削減するために、「センサーデバイス」からは RAW 測定値と温度のみが送信されます。上流では必要な温度補正が行われます。デバイス上で温度補正を実行したい場合は、オフセット ユーザー補正を使用して、各軸のオフセット値 () を変更することができます (スマート アルゴリズムの機能)。

サポートとご愛顧に感謝いたします。

デニス G.

Re: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは、デニス。

  • 「先ほど言ったように、センサのオン/オフを切り替えるために MOSFET が使用されます。「VDD 接続とコンデンサが削除されました」とは、コンデンサがセンサ電源の下流にある必要があることを意味しますか?

最初のセットアップでは、キャップが取り外されるまで磁力計の電源がオフにならないため、データ収集ごとに磁力計に蓄積されたエネルギーがすべて失われます。

2 番目の構成では、1 番目の構成よりも消費エネルギーが少なくなります。

  • 温度係数オフセットについては、最終組み立てチェーンで各磁力計ごとに特性評価し、ファームウェアで補正することができます。たとえば、共有していただいたグラフでは、この MAG3110 サンプルの場合、Z 軸の TCO は約 0.6uT/°C (300 カウント/50°C) です。この問題を修正するスマートアルゴリズムを実装し(工場でのキャリブレーションを回避し)、相対的な測定で作業することもできます。

ありがとうございます

アンソニー

Re: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは、アンソニー。

ご回答ありがとうございます。参考になりました!申し訳ありませんが、以前はアプリケーションノートを見つけられなかったので、いくつかの疑問が確認されました。

文書 AN4984 )の図6に関して1つだけ言えることがあります。

pastedImage_16.png

  • 前述したように、センサのオン/オフを切り替えるために MOSFET が使用されます。「VDD 接続とコンデンサが削除」とは、コンデンサをセンサー電源の下流に配置する必要があることを意味しますか?つまり、次の構成のどちら (1 または 2) が正しいのでしょうか?

1)pastedImage_18.png

2)pastedImage_24.png

MAG_PWR は MCU の GPIO に接続されます。

MAG VCC は VDD にコネクテッドです。

  • あなたのチャートに関して質問があります。磁力計軸はカウント(LSB)ですか?

質問を正しく理解していれば、高速読み取りモードは無効になっており、完全な 16 ビット データ (OUT_X_MSB、OUT_X_LSB、OUT_Y_MSB、OUT_Y_LSB、OUT_Z_MSB、OUT_Z_LSB) が読み取られます。

よろしくお願いいたします。

デニス G.

Re: MAG3110 offset jumps<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは、デニス。

ワンショット測定における NXP 磁力計に関するアプリケーションノート ( AN4984 ) があります。あなたの疑問のいくつかに答えてくれるはずです。

データシート (2.1 表 3、5 ページ) の Tcs/TCO 行 (+-0.1 %/°C) に記載されているように、センサは工場で完全に温度校正されていません。

あなたのチャートに関して質問があります。磁力計の軸はカウント (LSB) ですか?

ありがとうございます

アンソニー

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎02-04-2026 10:41 AM
更新者: