A few months ago, intrepid MITERers discovered that a number of Honeywell GG480 “Golden Gnat” rate gyroscopes had been released to the surplus market. Taking the opportunity of a sale at Electronic Goldmine, we snagged a box of 10 just in case we ever decide to make cruise missiles…uhh, animatronic teddy bears.
Yeah.
That’s it.
The box proceeded to sit in the same spot for the entire summer because nobody could figure out what wires to connect to where. Like all the cool electronic components I have had the luck to deal with, datasheets are nowhere to be found, and I don’t possess the course 6 testicular fortitude to find out.
Recently, information has been slowly surfacing regarding how these gyros function. The most active discussion is on the RCGroups DIY Cruise Missile Unmanned Aerial Vehicle forum. Using this as a springboard, and armed with everything that the Intergoogles could supply me, I decided to attempt an extraction of useful data from the units so I can finish my cruise missile DIY balancing vehicle by IAP.
Here’s a picture of the little buggers. Each gyro is a gold-plated cylinder about an inch across and two inches long. They are single-axis gyros.
I used the free circuit that Electronic Goldmine supplied to drive the gyro rotor. I made one change to the frequency of oscillation, to bring it to about 750Hz, because faster is better…to a degree. Interestingly enough, if the input frequency is too high, the gyroscope takes forever to spool up. It turns out that the 500 to 700Hz range brought the spinup time to around 5 seconds. I’m fairly certain higher rotation speeds improve the sensitivity.
These things are neat. You can actually hear the rotor spinning internally – it sounds like a tiny, gold-plated cylindrical hard drive.
I had an adventure getting the halfbridge output to work because it turns I was inserting the PNP output transistor backwards. And here I thought that PNP BJTs and P-channel MOSFETs just worked with opposite input signals. Nope, it turns out they conduct backwards too. This is going to fuck with my mind so much, because I’m emotionally traumatized by plugging things in backwards.
The two outputs of the circuit create a square wave at the half bridge output and a what-the-fuck wave behind the capacitor which looks like wants to be a sine wave badly but just can’t manage it.
The nature of a capacitative circuit, in which voltage lags behind current by 90 degrees, says to me that the gyro rotor is like a single phase, capacitor start/run induction motor. It wants a sinusoid voltage input at one terminal, and a delayed voltage input of the same frequency at the other. Alternatively, it resembles a bipolar stepper motor drive.
Either way, it wants two inputs – everything seemed to operate fine with square-what-the-fuck-wave drive.
And here is an output signal.
According to RCGroups sleuths, the gyro is built around a variable differential transformer. Essentially this means it will return you a scaled and phase-shifted version of your input signal depending on movement of the transformer core, which is connected to (usually) a measuring tool. They are known for being obsessively sensitive. In this case, the variation comes from what I presume is the displacement of the rotor when the case is rotated.
The input (channel 1) sine wave is 10 volts p2p at 5000 Hz, and the output (channel 2, really fuzzy) is roughly 0.4 volts p2p.
So this is how the signal varies.
At maximum positive angular velocity (Ω), the sine wave increases in magnitude to a point of saturation. The ch2 phase, relative to ch1, remains the same.
At maximum negative Ω, the magnitude decreases to another point of saturation, but the phase flips. Notice that the peak of the output is now on the other side of the peak of the input.
At a certain negative Ω, the output is flat. The output wave does not time-shift at all, it just flips across the X-axis after going to complete zero.
A video is worth (one thousand * frames per second * number of seconds of video length) words, so here’s a video of me wiggling the gyro. Watch the fuzzy output.
Well, this is certainly troublesome. To use the gyro properly, I would have to monitor both the phase AND the magnitude, because certain output magnitudes correspond to the same Ωs in opposite directions. Worse yet, it’s not like the signal is centered around zero or anything – zero is actually some negative Ω.
Not very useful, so I started playing around with frequencies and what not. Here’s where I discovered that the gyro won’t do anything with a 24,000Hz input on the rotor. I’d need a VFD or something to get it that fast.
But an interesting phenomenon occured at a VDT input frequency of about10,000Hz (with the rotor back at the usual 700hz frequency). I noticed that the -Ω saturation magnitude began decreasing with increasing input frequency. At around 10Khz, maximum -Ω resulted in a totally flat response. The maximum +Ω voltage increased corresponingly.
Hey, this is something useful. A nominal magnitude at zero Ω, a high magnitude at maximum +Ω, and zero at maximum -Ω. If you rectified the sine wave, you’d get a constant Ω=0, +Ωmax, and -Ωmax voltage with linear variations with Ω in between.
Unfortunately, the intervals seemed to be unequal. That is, the voltage difference from Ω=0 to +Ωmax was higher than Ω=0 to -Ωmax. Further observation of the frequency response showed that these intervals changed as the frequency was increased. So I tried to find the frequency where the voltage swing would be approximately equal.
The magical frequency was around 18Khz. At this point, the voltage deviations from Ω=0 were (to my eyes and MITERs’ ancient oscilloscope) essentially equal in both directions. The output sine wave no longer flipped, nor did it reach zero, but it only deviated from the rest amplitude slightly.
Here’s a video where channel 1 is initially suppressed so the full range of the voltage swing is variable.
I threw an op-amp at the roughly .5 volt p2p output signal so it was in a more useful range.
So now I know that at about 18Khz sine wave input, the output of the gyro is a sine wave of a certain magnitude at rest. Moving the gyro about its sensitive axis changes the magnitude positively or negatively to relatively equal voltage limits above and below the rest voltage, but the output is still a sine wave.
This is now alot more useful to me, because the signal can be rectified into a positive DC voltage, then the “zero voltage” subtracted from that. Then, a positive angular velocity will yield a positive DC voltage, and a negative one vice versa. And zero volts should be zero movement. There’s probably a less Byzantine way of reading the signal, but that’s a first-order guess using my limited EE knowledge.
So, the bottom line is, so far…
A +/- 15 volt power supply and something that generates and accepts sine waves is needed.
Black wire: Ground. Legit ground.
Red wire: One rotor input. According to the Interwebs, this should be a 400 to 700hz square(sine?) wave.
Green wire: Other rotor input. One of the two should be capacitatively coupled to the other. Here I assume that depending on which lead gets the capacitor, the rotor spins in opposite directions.
Blue: Signal ground. I tied it to Legit Ground™
Yellow wire: VDT input, referenced to Blue.Takes a sine wave.
White wire: VDT output. A chopped and screwed version of your input appears here. Intepretation is an exercise left to the EE-gifted.
First person to build a cruise missile cool gyroscopically-guided thing wins!
Also, comments, corrections, and additional information is welcome and encouraged. I don’t doubt at all that I misinterpreted or abused something, so please point it out!
Hey, excellent write up! I’ve been looking for more detailed info on how to use these. Working on a simple ground robot, and need a good gyro for navigation. Right now I’m using the guts of a Wii Motion Plus, which works pretty well for only $20, about one degree per minute of drift. Do you know what kind of performance this golden gnat gets? Is it much better than a degree a minute after integration? Thanks!
Uhh, that I wouldn’t be able to tell you. A better place to ask would be http://www.rcgroups.com/forums/showthread.php?t=1097552&page=4, where some of the guys did more dissection work also