Community news, upcoming events and general discussions
Threads: 36 Posts: 88
Get technical support from the community
Threads: 1427 Posts: 7608
Threads: 18 Posts: 64
Tell us how to make XDK better!
Threads: 36 Posts: 119
Share and discuss community member projects
Threads: 81 Posts: 350
I am using accelerator data to measure the tilt (roll & pitch) however the data fluctuates a lot even though the device is stable and I tested it on many places, many flat surfaces. I read the X, Y, Z as 25, 25, 1025 in average. They change +5-5 between 20 and 30 for X and Y and 1020 and 1030 for Z.
So I am curious there's something wrong with callibration.
How shall I interpret this?
I am reading the data via Virtual XDK by the way.
Thanks in advance.
Hi Meliksah, There seems to be nothing wrong in your data. Under perfect conditions (perfectly flat table) your accelerometer should read 0g in X-Axis, 0g in Y-Axis and 1g in Z-Axis (influence of the Earth's gravitation).
The values you read are in the raw (also called LSB) format from the sensor. A value of 1024 corresponds to 1g (which is by the way a value that is very close to the one you get for the Z-Axis). A value of 25 corresponds to 0.024g which is a small offset (2.4% of 1g). A peak-to-peak variation of 5LSBs is normal in most sensors.
MEMS are not perfect and the consumer grade sensors built into the XDK or mobile phones have errors of around 3-10% for the equivalent measurement range. The sensor values will also fluctuate some LSBs because of influences like thermal noise, quantization noise, mechanical effects and electical noise that may be coupled into the device.
The Bosch Sensortec devices in your XDK have been calibrated in production and conform to similar specs (please see the datasheets for more information). Best Regards, Francisco
Dear Francisco thank you for your response.
I want to ask a few more and consult you:
- Even though I tested the device on perfect flat platform in laboratory environment where flatness test is carried out, I still read X and Y as around 25 so I thought it must be calibration issue.
- Since my aim with accelerometer is to calculate "pitch" and "roll" and return them within Virtual XDK mobile app, replacing existing X and Y parameters for acclerometer, I thought I can apply Kalman filter/equivalent to smooth out the noise and THEN return the formulized calculated roll and pitch values.
My issue is I could not find the X, Y and Z variables of accelerometer under VirtualXDKDemo project, so that I could apply Filter + roll-pitch formula just before returning it.
Can you help me with where to find X/Y/Z or, give me advice about the need to measure "roll" and "pitch?