2018-01-04 07:28 AM
Hi everyone,
I'm using the lsm6dsl for acceleration measurement. But I'm getting big stationary offsets and I was wondering is that normal?
Here are measurements from 5 different boards and all of them were carefully positioned to be exactly at the same place.
xyz
-159-411110
-7-781037
86701100
10-981089
171221162
Is this normal operation?
In datasheet Linear acceleration zero-g level offset accuracy is specified at ±40 mg (typ), but my measurements are as much as 6 times that.. Am I doing someting wrong?
In the datasheet they say that sensors are all factory calibrated before they go out of factory, but I do not see any register or anything with calibration values. Only ones for user calibration.
I hope my message was clear, sorry for my English.
Thanks
Martin
2018-01-04 10:52 AM
Hmm, it is not normal operation. Can you please share your sensor configuration, schematic would be also usefull if it is posible to share.
The sensor are factory calibrated, but the calibration values are no accessible for user.
2018-01-05 02:42 AM
Here is my schematic and LSM6DSL initialization routine in attachment. I'm using ST code for IKS01A2 nucleo expansion board.
________________ Attachments : LMS6DSL_schematic.PNG : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HyBt&d=%2Fa%2F0X0000000b4o%2Fy5FQwF90kQmhTfXXLzEF58LpJbrbbUFrbLuULyxi6B4&asPdf=falseimu_config.c.zip : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HyDZ&d=%2Fa%2F0X0000000b4k%2FIjTfHGiDMDE169.pnkSDBZlBPg2tUukMIHtDIo6s83k&asPdf=false2018-01-05 04:33 AM
The schematics is OK and the code seems good as well.
The problem could be in the layout. Did you design the boards by yourself? Don't you have tracks of vias under the sensor?
One more question, are the values mentioned above stable or is there some significant noise.
2018-01-05 06:34 AM
Yes I did. There is ground polygon under the sensor as you can see from photos in attachment. A line on the bottom side (close to pins) is for a buzzer but it was not powered at the time of reading accelerator data.
Readout is pretty stable. Sometimes the values change by +/- 1 but that is it. It just has that big static offset.
________________ Attachments : pcb-top side.PNG : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HyDU&d=%2Fa%2F0X0000000b4l%2F3yPXRuCAX.BMgrE3hSO4eU_dUOcLoNVbykL7.UOPHL8&asPdf=falsepcb-top layer only.PNG : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HyCD&d=%2Fa%2F0X0000000b4j%2F0278C4wIyAmc_lpF4M94ErpA5iR9RtxySqTNglGSLy0&asPdf=false2018-01-12 05:55 AM
The layout is not fully adherent to ST recommendations (please check the
) and it can introduce some additional offset.I see mainly the problem with not symmetrical design.
You can use out MotionAC library to calibrate the accelerometer and reduce the offset by software. The MotionAC library is aprt of
package.