Temperature for Gyroscope

Our gyroscope keeps becoming overheated seconds after turning it on, and we believe this is causing it to drift. We think that coding it to adjust for any drifting due to temperature change will fix this issue. We know that there is a specific algorithm that does this for us, and we were wondering if someone could give us the algorithm and/or convert it to LabView code for us to use.
Thanks.

Would it be a better idea to figure out why it is overheating, and then prevent that from happening?

We have never had an issue with a gyroscope overheating. That doesn’t sound like normal behavior.

Relevant: http://xkcd.com/1172/

On a serious note, are you able to send any photos of your gyroscope mount and the proximity to any heat sources?

Your Gyro shouldn’t be overheating… Which one are you using? That might help narrow down what might be wrong with it.

Rephrasing the question: Our gyroscope is drifting and we thought that it might be caused by overheating. We would like to know either why it is overheating or what other causes this might have. If possible, could you also include any algorithms that might helps us with this problem?











Are you using just a gyro or also an accelerometer and then filtering the data? Drift is common if you are only using a gyro.

We only use a gyro.

If you only use a gyro, you can get quite a bit of drift. Gyros work well with low rates of change and accelerometers work well with high rates to change. If you use both, you can get a good number. To do this filtering and combination, there are a number of algorithms. A Kalman filter may be overkill but it will get the job done. Something a bit simpler would be a complimentary filter.

Here are some references to help you out:
Kalman Filter:



http://blog.tkjelectronics.dk/2011/06/guide-gyro-and-accelerometer-kalman-filtering-with-the-arduino/

Complimentary Filter:
http://www.hobbytronics.co.uk/accelerometer-gyro


http://www.pieter-jan.com/node/11

Also look at IMUs such as the nav6 and navX. They handle all the filtering for you which may be better if you don’t have much experience with filtering. There’s also lots of sample code for the RoboRIO.

Nav6: http://www.kauailabs.com/store/index.php?route=product/product&product_id=50
NavX: http://www.kauailabs.com/store/index.php?route=product/product&product_id=56

Do the other analog inputs on the roboRio have something plugged into them?

Earlier this season my team had a similar issue where the gyro would drift steadily when the robot was stationary and would jump 10-20 degrees whenever we drove the robot quickly. At first, we set a deadband on the gyro in the code, which helped, but did not fully resolve the issue. We then printed the values of the other analog inputs on SmartDashboard and found that when we drove the robot, those values would oscillate wildly, which we assumed made noise one the gyro’s signal. To stop this, we plugged in jumper wires going from the ground to the signal of each unused analog input port to keep them at a constant value, and that fixed the drift for us.

If you google the data sheet for your gyro, it will tell you how much drift can be caused by temperature. They usually have a graph that let’s you see the bias vs temperature which is usually a linear relationship.

An accelerometer will only help fix the drift in the roll and pitch angles, which are probably not helpful for you in FRC.

There are some filters which continuously estimate the bias though. One way you could do this is to apply a high pass filter that would filter out the bias. This will not solve all of your problems but may help some.

Your best bet is to try and think of a way to avoid relying on the heading for long periods of time.

On my arduino i accidentally wired 5v to ground and ground to 5v on an ultrasonic sensor and it got really hot X_X oops. I hope that isnt your problem.

I doubt that’s their problem, because if they did wire it backwards, I don’t think you would be able to read the gyro data for very long, if at all.

Sorry to hear about your ultrasonic sensor though. Did it survive or is it toasted?

I would say it is possible that if the gyro was damaged, all you get is noise (assuming the sensor is analog) since the roboRIO will read something. And since the roboRIO just integrates this value it would take off and may even look like ‘drift’ if you assume the gyro is working. This possibility does match the original description, especially since it gets hot ‘seconds after turning it on’.

When you say the gyro gets hot, how hot are you talking about?