cancel
Showing results for 
Search instead for 
Did you mean: 

Field value 'recoil' upon metallic object proximity - LIS3MDL on X-NUCLEO-IKS01A1 and LSM303AGR on X-NUCLEO-IKS01A2

GGeor.4
Associate II

Base assumptions:

1.    Testing equipment – X-NUCLEO-L053R8 base board with X-NUCLEO-IKS01A1 and X-NUCLEO-IKS01A2 expansion boards.

2.    Magnetometer devices under consideration - LIS3MDL on X-NUCLEO-IKS01A1 and LSM303AGR on X-NUCLEO-IKS01A2.

3.    Magnetometer initialization parameters – 50 Hz sampling rate, random parameter set (applies to any combination of parameters – low and high output data rate and/or full scale, different operating modes, etc.).

4.    Magnetometer (and expansion board) positioning – completely static (the device is being tested with the expansion board being positionally fixed).

5.    Magnetometer calibration – Completely static positioning before testing implies no need of explicit calibration.

Testing data

1.    Four (4) tests performed by placing monolithic metallic object in sensor’s proximity and then removing it.

2.    Output data – three (3) field axes (X, Y and Z) and overall field strength (denoted as norm(Field) on the diagram). Detection parameter is to be discarded. Sampling rate is measured in ms (milliseconds), while field sampling data is represented in gauss.

3.    Overall testing diagram chart could be seen below:

0690X0000060R1SQAU.jpg

Problem description

1.    Let’s consider the 3-rd test from the testing data (the one enclosed by two black vertical lines on the diagram):

0690X0000060R1XQAU.jpg

2.    Test data is being zoomed in on the diagram for clarity.

0690X0000060R1hQAE.jpg

3.    Let’s consider the Z-axis only (colored green on the diagram), as the test is done by placing object OVER the sensor and then removing it. When the object is placed over the sensor, the magnetometer detects the field change and then recoils back to its initial value (the value before placing the object over) for some time (the process is being encircled with the bigger black circle on the diagram). Similar thing happens when removing the object away from the sensor – parasitic field recoil appears for some time and then the sensor stabilizes to actual field values (encircled with the smaller circle on the diagram).

The issue with these two processes is strongly related with eventual metallic object proximity detection. As the detection is performed by monitoring the signal level differences (to some average value) at a particular moment, these field recoils are causing false positive object detections/removals. No matter if signal sampling normalization is applied (simple median, LSM, angular or absolute offsets, etc.) or not (raw axis data from the sensor) – these parasitic recoils can’t be smoothed and false positive detections are always present.

0690X0000060R1mQAE.jpg

Issue description

Am I missing some mechanism for sensor tuning or signal normalization? Is it normal to have such field recoils in these sensors?

I inspected different charts from mobile devices sensor monitoring applications and such field recoils (field switches back to its initial value) are missing while performing the same exact test procedure. That fact leads me to the conclusion that something is wrong with my setup and/or boards, but I can't find what am I possibly missing.

1 REPLY 1
GGeor.4
Associate II

The problem was not related to any sensor - it stemmed from incorrect mktime() function, which led to incorrect sample timestamps.