2016-06-16 4:24 AM
Hi,
the self test procedure described in AN4602 starts automatically by setting bit 0 to '1' in CTRL_REG1 register, but it is not well explained how to check if the self test passes or fails.If the self test passes, the device performs the calibration by itself? #lis3mdl #selftest #lis3mdl #self-test #lis3mdl-temperature-calibration #calibration2016-06-30 8:50 AM
Hello,
How to check if self test passed. According to AN4602 page 19 (see: Figure 6):Self-test enable bit and wait 60 ms.ZYXDA bit in STATUS_REG and then read all axes - do it once and discard it.ZYXDA bit in STATUS_REG and then read all axes - do it 5 times and calculate average value for each axis.ST_min(X-axis) <= abs( OUT_X_AVERAGE ) <= ST_max(X-axis)ST_min(Y-axis) <= abs( OUT_Y_AVERAGE ) <= ST_max(Y-axis)ST_min(Z-axis) <= abs( OUT_Z_AVERAGE ) <= ST_max(Z-axis)2016-07-03 9:55 AM
Hi Martin,
thanks for your reply. I've successfully performed the self test feature by following the procedure described in the AN4602 as you wrote in your post. I'm testing the device but I noticed a remarkable drift of the magnetic values respect to temperature. According to the AN4602 and the device datasheet, the magnetometer should have a built-in digital compensation block to avoid the magnetic drift in temperature...isn't it? It seems do not work properly... I think to calibrate the device with an external algorithm, perhaps by using the self test feature to obtain known values of the magnetic data...any ideas to help me?We’re moving the ST Community to a new platform to give you a better and more reliable community experience.