Hi pacman,
Yes, without doing any changes, all angles are accurate to +/- 2 degrees for all the Freescale accelerometers, however, our applications engineers have just finished some very detailed work on the accuracy that can be achieved with our accelerometers.
The issue is that thermal stresses during soldering result in a zero g offset of up to 30mg in each axis and also cause a 1% change in gain = 10mg in each axis. As a rough estimate of angle accuracy, 1mg error equals 1 mradian (trigonometry) angle error which is 1/57 deg angle error = 0.02 deg.
An additional source of error is the slight rotation of the accelerometer package on the circuit board caused by the pick and place machine. We see about 0.5 deg error from that source.
Because the calibration changes during soldering, the customer has to perform a re-calibration on the final product. This involves placing the final product at multiple orientations and calculating 12 additional new calibration parameters which must then be stored in non-volatile memory and applied by an external uC. We have an application note AN4399 that explains how to do this. We recommend the 12 point algorithm that corrects for a 3x3 gain matrix and 3x1 offset vector.
AN4399: http://cache.freescale.com/files/sensors/doc/app_note/AN4399.pd
Freescale's measurements on MMA845x family, MMA8652 and FXOS8700 accelerometers indicate that after application of this algorithm, the resulting error is 3mg RMS in each axis. That corresponds to an RMS angle error of 0.17 deg RMS.
The MMA8652 (link to datasheet below) has a basic resolution of 1mg but remember that it is possible to resolve to far better than this by averaging multiple measurements. I would therefore propose the MMA8652 with the suggestion of averaging with a time constant of 100 measurements at 100Hz=1sec.
MMA8652 datasheet: http://cache.freescale.com/files/sensors/doc/data_sheet/MMA8652FC.pdf
Have a great day,
Jose Reyes
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------