Arduino 3DOF Head Tracker

COuldnt you use a dual axis Gyro only and skip the accelerometer?

Gyro = expensive, complicated and drifts
Accelerometer = cheap, simple does not drift

The point was to only use gyro on the axis that can only be detected by the gyro, for everything else use the accelerometer.

You may be interested to know about the Kalman filter, I have used kalman filters to remove the noise and drift from the gyros and merge the readings with the angle computed from the accelerometers.

There is code available for 6DOF computation in the Arduino Helicopter Autopilot thread.
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1229733416

This may help - may not... depends how much headache you are prepared to put up with! It's certainly not simple, but the results are spectacularly improved.

Hope that helps,

Hey,

I've been following your thread with interest! I've started to look a little bit into the Kalman filter. Right now the problem is the gyro axis is orthogonal to the accelerometer axes, so there is nothing to correct the gyro with, unless I add a compass as well... So without the "merging" part, the Kalman filter is not much more useful than a simple high-low pass filter... Saying that, it might be possible to bring some of the accelerometer data in for correction when the tilt or roll of the head is large enough, so I might need to see how you did it in arduino code sometime!

Also I think your PPM reading thing will be useful too, for my own autopilot/OSD thing!

Thanks,
-Z-