I have been trying to get a fusion filter to work on my two 1042s and finally went back to a really basic test. The results seem to indicate the gyros on both of these are really inaccurate.
I mounted the 1042 on a servo so the shaft of the servo is horizontal and the 1042 perpendicular to the shaft. This causes the x and y accelerations to change but not the z acceleration. I determined the servo rotation for 90 degrees by positioning the x and y accelerations to 0 and 1.0. Of course, when x = 1 the y = 0 and the reverse. The servo rotates through the 90 degrees in around 5 seconds.
I then watch the z gyro using the Spatial Full program to see the angle measured. I also have my own program to do the same thing. The accumulated angle is less that 90 degrees. This occurs with both 1042s. One set of data I have from my program accumulates an angle of 84 degrees with sampling at 52 msecs.
When I go in the reverse direction that value is different. But values are somewhat consistent when moving in the same direction, but different in opposite directions.
The 1042s do not drift 6 or so degrees in 5 seconds so that is not the cause. The random output also would not cause this much difference.
I then tried with a 1042 mounted in parallel with the servo shaft to see the angle on a different axis. I did not get the 1042 aligned as nicely but the 90 degree rotation was still reporting a number of degrees less and the return rotation was similarly off by a few degrees.
One set of data from my program is in a spreadsheet on Google Drive: https://drive.google.com/folderview?id= ... =drive_web
It is the file Phidget 1042 Data in both Excel and Google formats.
That data is a single rotation of 90 degrees. The two right most columns simply duplicate the accumulation of the z gyro to verify my programs calculations.
Is the 1042 really that inaccurate or am I missing something?