View Full Version : Discussion heading lock gyro?
jeff262
Jan 04, 2006, 05:53 PM
i'm just curious what a heading lock gyro has in it what a standard gyro doesn't just wonding if a cheap gws gyro could be turned into a heading lock gyro
any info would be great..
thanks jeff
Project
Jan 04, 2006, 11:36 PM
a HH gyro is different from a yaw rate gyro in the sense it has a better holding ability. I think a HH gyro has some sort of cpu inside it that will measure the distance moved and correct it. A yaw rate gyro will depend on mixing and movement. Basically Rudder/throttle is mixed in proportion and a yaw rate gyro will only sense the movement, and exert a force to correct it. Not 100 percent sure. But the difference is that a HH will not windmill in the wind. A yaw rate tail will turn towards the direction of the wind moves
Mr.RC-CAM
Jan 04, 2006, 11:45 PM
Yes, a cheap GWS rate gyro could be turned into a HH gyro. One problem is that the temperature stability of their piezo sensor is not good enough for hassel free HH operation.
Phil Cole
Jan 05, 2006, 02:14 AM
As to what a heading hold gyro has that a rate gyro doesn't:
The error output (obtained by mixing rudder output from the receiver with the gyro element's output) that would be PWMed and applied to the tail rotor servo is integrated first.
The integrator is set to its initial condition when the gyro is power up. It measures the outputs from the gyro element and the receiver for a while, to let them stabilise, assuming that the model and rudder sticks are not moving.
Dan Baldwin
Jan 05, 2006, 10:42 AM
I programmed a PIC to turn a non HH gyro into a HH gyro, and put it on a SS. Every scan time I would add or subtract the error (difference from center of incoming pulse) from an error register, and the contents of that error register were use to calculate the pulse length sent to the servo. It worked, although it had a tendency to oscillate at higher speeds. I was planning on implementing derivitive (as in PID) to eliminate the oscillation, but I never got around to it. It also had a tendendy to drift very slowly.
Dan
willfly
Jan 06, 2006, 09:42 PM
Yaw rate will act as long as there is error signal
AVCS HH gyro integrates all the error and acts to correct it.
I wonder if a cheap 1 axis magnetometer can be used to obtain heading hold.
sp1nm0nkey
Jan 07, 2006, 05:14 AM
The difference is that a Rate gyro tries to correct by measuring how fast the tail is moving in the opposite direction, and a HH gyro figures out where the tail is, and moves the tail back to the same place no matter how far it goes off. The reason converting a cheapy gyro won't work as well is because they drift really bad, which shows up as a slow pirouette with HH gyros.
Willfly: Magnetometers would go all whacky when inverted or even just tilted a bit.
Any idea what AVCS actually means, i.e. what's the difference between an AVCS heading hold gyro, and a standard heading hold gyro?
Norman Adlam
Jan 07, 2006, 09:52 AM
Guys,
The info above has confused me (it all seems to complicated - or maybe that is me! :o )
My understanding (from years ago) was :-
o A Yaw rate (standard) gyro detects any rate change around it's sensitive axis, and feeds a corresponding correction signal to the servo to dampen this! The problem with this is it not only corrects a tail change due to torque from the engine etc that swings the tail, but also detects the tail moving even if it has been signalled by the user. The net effect is that the tail is damped, even if the user wants it to swing rapidly - hence limiting rapid maneouvres etc!
o A HH gyro compensates for any rate change - when there is NO user signal, but otherwise allows the user signal to take precedent. Net result was that the normal gyro effect only applies when it ISN'T being overridden by the user.
In other words, there is nothing magically special with a HH gyro to make it HH! :rolleyes:
Am I wrong?
Cheers,
Norman Adlam
Jan 07, 2006, 09:59 AM
The difference is that a Rate gyro tries to correct by measuring how fast the tail is moving in the opposite direction, and a HH gyro figures out where the tail is, and moves the tail back to the same place no matter how far it goes off.
Errr,
This seems to be a 'black magic' statement to me! I don't understand how any gyro 'figures out where the tail is'! :confused:
I understand ( :o ) that even HH gyro's prime sensing element are vibrating piezo xtals, who can only detect a rate of change (the xtal element twists etc, and produces a voltage as it does). This must mean that ALL gyros can only know that a change has occurred AFTER there is a change. By boosting the sensitivity etc, and remembering the amount of error voltage produced, then a HH gyro could then correct the same amount - thus putting the tail back to where it was (but it never knows for sure!) :D
Cheers,
jeff262
Jan 07, 2006, 12:28 PM
well it seems that Dan Baldwin has found the best way to convert to a heading lock gyro even if it has a drift its better then the eradict tail movments of a non heading hold gyro. just curiuos if Dan would be interested in selling a programmed pic
Dan Baldwin
Jan 07, 2006, 12:53 PM
Guys,
The info above has confused me (it all seems to complicated - or maybe that is me! :o )
My understanding (from years ago) was :-
o A Yaw rate (standard) gyro detects any rate change around it's sensitive axis, and feeds a corresponding correction signal to the servo to dampen this! The problem with this is it not only corrects a tail change due to torque from the engine etc that swings the tail, but also detects the tail moving even if it has been signalled by the user. The net effect is that the tail is damped, even if the user wants it to swing rapidly - hence limiting rapid maneouvres etc!
o A HH gyro compensates for any rate change - when there is NO user signal, but otherwise allows the user signal to take precedent. Net result was that the normal gyro effect only applies when it ISN'T being overridden by the user.
In other words, there is nothing magically special with a HH gyro to make it HH! :rolleyes:
Am I wrong?
Cheers,
Yes, you're wrong. There is something magically special about HH gyros. If you were to hook up a standard gyro to the rudder of your plane and turn everything on, then turn the plane in yaw, you will see that while the plane is being turned, the rudder will deflect, trying to slow or stop the motion. As soon as the motion stops, the rudder returns to center. If you do the same thing with a HH gyro, the rudder will deflect AND STAY DEFLECTED until the plane is returned to the original position.
Jeff262
I would be glad to send you a programmed PIC, but keep in mind that it is very rough, and unfinished. It would only be useful for experimentation, probably not for actual use on a plane or helicopter. If there was enough interest, I could polish it up a bit and make it work better.
Dan
Norman Adlam
Jan 07, 2006, 02:44 PM
Yes, you're wrong. There is something magically special about HH gyros. If you were to hook up a standard gyro to the rudder of your plane and turn everything on, then turn the plane in yaw, you will see that while the plane is being turned, the rudder will deflect, trying to slow or stop the motion. As soon as the motion stops, the rudder returns to center. If you do the same thing with a HH gyro, the rudder will deflect AND STAY DEFLECTED until the plane is returned to the original position.
Dan
Hi, Dan,
OK, you've got me interested now, especially as you suggested a nice simple scenario! :D I'll give it a try with one of my HH gyros, and see if what you say is what happens. (I tend to stick with non-HH mode, as I'm use to flying with normal gyro's - before these HH fancy things became easily available! :D )
If it's true, then I still don't understand what the 'magic' is which would enable the gyro to get back to the original position (apart from storing the original error signal, then comparing the compensation that has been affected by the gyro, as a result of using that error signal, and eliminating it when the stored error signal has been 'used up'! Even then, that would suggest that you would always come back to the first initialisation position of the HH gyro! :eek: )
Cheers,
P.S. Interesting in the things that we just use, and take for granted! :)
Comatose
Jan 07, 2006, 02:46 PM
Numerical integration isn't black magic. Throw in temperature compensation and run the whole thing in a position control loop. Increment/decrement the desired position by the stick position each feedback cycle.
You end up with a double integral in the transfer function, so you have to structure your controller carefully to maintain good stability, but thats about it.
Mr.RC-CAM
Jan 07, 2006, 03:17 PM
It's all about integrating the error signal over a period of time, then using that for servo correction. FWIW, the rc-cam.com "Pan-Cam" PIC can be used as crude HH converter for rate gyros (just install it in between the gyro and servo). But, it lacks the required optimizations to offer the performance that is needed. And like I mentioned earlier, the temperature stability of the cheap piezo sensors is problematic in this app.
At best, you could take a $30 piezo gyro, and a little microcontrolller based adapter, to create what would have the meager performance of those eBay $50 HH gyros. It's just not an attractive market for a firm to get into unless they sold the board for pennies. As a DiY project, it definately would be of interest, so hopefully Dan publishes his design after a bit of polish. :)
Dan Baldwin
Jan 07, 2006, 04:18 PM
I expect to have a little time free time in the near future, so I'll dig up the old source code and see if I can get it to the point where it can be used as a DIY project.
Dan
Eddy
Jan 12, 2006, 07:49 PM
Is there a way to modify a HH gyro so it will always remember its origainal "0" position?
In other words, if I am hovering a give the heli right input and let go of the stick the heli will go back to a hover in the "0" position or very close to it but in its new location?
TMorita
Jan 13, 2006, 04:53 AM
Guys,
The info above has confused me (it all seems to complicated - or maybe that is me! :o )
...
o A HH gyro compensates for any rate change - when there is NO user signal, but otherwise allows the user signal to take precedent. Net result was that the normal gyro effect only applies when it ISN'T being overridden by the user.
In other words, there is nothing magically special with a HH gyro to make it HH! :rolleyes:
Am I wrong?
Cheers,
I think that's wrong.
Effectively, an HH gyro produces a yaw rate which is determined by the command signal, and automatically compensates for an external factors.
Say, for example, the command signal says "turn the craft at 10 degrees per second". The heading hold gyro hold a yaw rate of 10 degrees per second regardless of rotor torque or wind or other factors.
Toshi
TMorita
Jan 13, 2006, 04:58 AM
Hi, Dan,
OK, you've got me interested now, especially as you suggested a nice simple scenario! :D I'll give it a try with one of my HH gyros, and see if what you say is what happens. (I tend to stick with non-HH mode, as I'm use to flying with normal gyro's - before these HH fancy things became easily available! :D )
If it's true, then I still don't understand what the 'magic' is which would enable the gyro to get back to the original position (apart from storing the original error signal, then comparing the compensation that has been affected by the gyro, as a result of using that error signal, and eliminating it when the stored error signal has been 'used up'! Even then, that would suggest that you would always come back to the first initialisation position of the HH gyro! :eek: )
Cheers,
P.S. Interesting in the things that we just use, and take for granted! :)
Dan is correct.
The difference between a yaw rate gyro and a HH gyro is: a HH gyro maintains an internal "virtual position" of the tail where it should be, and automatically moves the physical tail to match the position of the virtual tail.
Basically, yaw rate gyro contains an angular accelerometer and some simple circuits, but a heading hold gyro contains an angular accelerometer and an embedded microprocessor.
Toshi
Norman Adlam
Jan 14, 2006, 10:55 AM
Dan is correct.
The difference between a yaw rate gyro and a HH gyro is: a HH gyro maintains an internal "virtual position" of the tail where it should be, and automatically moves the physical tail to match the position of the virtual tail.
Basically, yaw rate gyro contains an angular accelerometer and some simple circuits, but a heading hold gyro contains an angular accelerometer and an embedded microprocessor.
Toshi
Hi, Toshi!
Thanks for the input! I still have a have a question then.
At power up (initialisation) time, the gyro must record it's initial virtual tail position. That isn't the position that you wish to return to (otherwise you'd be fighting the tail continuously! :rolleyes: ), when flying. Basically, it must have to change its reference position many times during flight.
How does it decide when / what the 'new' virtual tail position is, in order to use that as it's reference?
Cheers,
Eddy
Jan 14, 2006, 11:06 AM
Does anyone have any ideas on my question?
Dan Baldwin
Jan 14, 2006, 01:13 PM
Hi, Toshi!
Thanks for the input! I still have a have a question then.
At power up (initialisation) time, the gyro must record it's initial virtual tail position. That isn't the position that you wish to return to (otherwise you'd be fighting the tail continuously! :rolleyes: ), when flying. Basically, it must have to change its reference position many times during flight.
How does it decide when / what the 'new' virtual tail position is, in order to use that as it's reference?
Cheers,
When a HH gyro first powers up, it checks the pulse coming from the receiver, and uses that pulse width as "hold this position". Any time the pulse width is longer or shorter because you moved the stick, the gyro slews (changes) the locked position. If you have a heli in hover, and it is holding the tail rotor in the present position, if you give it a tail rotor input from the stick, the heli will rotate, and when you release the stick, wherever the heli is in rotation becomes the new locked position. The more you move the tail rotor stick on the transmitter, the faster the gyro will slew, and the faster the heli will rotate.
Eddie
As far as I know all HH gyros change the home position with stick inputs, so I don't believe that there are any that will return to the old position when you release the stick.
Of course I could be wrong.
Dan
TMorita
Jan 15, 2006, 05:57 AM
When a HH gyro first powers up, it checks the pulse coming from the receiver, and uses that pulse width as "hold this position". Any time the pulse width is longer or shorter because you moved the stick, the gyro slews (changes) the locked position. If you have a heli in hover, and it is holding the tail rotor in the present position, if you give it a tail rotor input from the stick, the heli will rotate, and when you release the stick, wherever the heli is in rotation becomes the new locked position. The more you move the tail rotor stick on the transmitter, the faster the gyro will slew, and the faster the heli will rotate.
Eddie
As far as I know all HH gyros change the home position with stick inputs, so I don't believe that there are any that will return to the old position when you release the stick.
Of course I could be wrong.
Dan
Most gyros assume 1.520 msec is the center rudder position. AFAIK, the only HH gyros that calibrates the center position at powerup are Futabas.
Toshi
Hell-e-Guy
Jan 16, 2006, 01:18 PM
As i understand, the non HH gyro limits the yaw rate to some low limit by integrating the output of the piezo sensor (measures angular acceleration), giving a limit to the angular speed (first integration with respect to time) as long as no stick movement is detected and overrides it. Any movement slower that this low limit will be ignored by the gyro thus causing the known drift...
The HH gyro integrates this drift and eliminates it. This second integration gives the "sense" of heading hold as the second integration with respect to time means
a constant angle.
Please correct me if I am wrong...
TMorita
Jan 17, 2006, 08:58 PM
As i understand, the non HH gyro limits the yaw rate to some low limit by integrating the output of the piezo sensor (measures angular acceleration), giving a limit to the angular speed (first integration with respect to time) as long as no stick movement is detected and overrides it. Any movement slower that this low limit will be ignored by the gyro thus causing the known drift...
The HH gyro integrates this drift and eliminates it. This second integration gives the "sense" of heading hold as the second integration with respect to time means
a constant angle.
Please correct me if I am wrong...
A yaw rate gyro just does:
x = ky + z
where:
x = tail servo position
k = gain
y = current tail movement
z = transmitter rudder channel
Toshi
shoutchen
Jan 17, 2006, 10:31 PM
Here is a simplification....in helicopter context
a rate gyro puts out a signal that tells the yaw rate. ( Dooooh!!)
That is degrees per second. A "typical" (CPU based) rate gyro takes that signal and puts it through some filtering and gain ( through op-amps...) to generate a nice CPU friendly signal so the CPU can measure the yaw rate with an A/D converter channel. The CPU then measures the width of the tailrotor PPM pulse from the RX, and then generates an output pulse for the tail rotor signal that is longer or shorter, depending on whether the yaw is in one direction or the other. A rate gyros gain control basically controls how much correction to add to the signal for a given amount of yaw. The "gain pot" would be read by the CPU and the output pulse to the tail rotor
changed accordingly. more gain means add, subtract more time to the pulse width....
In a practical application, this S/W is probably embedded in a PID algorithm.
(More over simplification )
The earliest gyros ( non CPU) did all this more or less with op amps, one shots, etc.
(More over simplification )
The gyro's "centering pot" makes it so if your tail rotor input signal (rudder)is "neutral", and no yaw rate is detected, then no correction is added. That pot usually manipulates the signal from the gyro to the CPU ( in the op-amp circuits) so when the gyro is not rotating, the circuit puts out the gyro
"reference voltage", which should be fixed when no yaw is detected by the gyro. Some gyros also read the reference voltage output of the gyro
with an A/D channel on the CPU in case the reference voltage does not follow the spec. closely or drifts with temperature, operating voltage, etc.
Some really ambitious circuits read the reference voltage and use a programmable pot in the op amp circuits, instead of a screwdriver settable one...to try to keep the reference voltage at the spec value.
(More over simplification )
A HH gyro works a little differently. It reads the yaw rate, then applies a correction . it repeats that over and over but tries to keep the SUM ( hence.. integral) of the yaw rates equal to zero.
(More over simplification )
It also does things like provide "less" correction if yaw is demanded. If you are off the "rudder" heading hold is on. If you are "on the rudder" you are "demanding yaw" to happen so correction is applied so that a constant yaw rate is held, instead of zero yaw rate...(HH). The more you are "on the rudder", the higher the constant yaw rate that the gyro tries to maintain.
In a practical application, this S/W is probably embedded in yet another, but of course slightly different PID algorithm.
The only difference in the modern cheapy rate and HH piezo gyros can amount to just the software in the CPU , running a different control algorithm. then again software means $$$...
To answer eddie's question...
Maybe, if you are armed with enough knowledge
to build and program an HH gyro, you could substitute something
like a honeywell solid state compass chip for the piezo gyro.
Then, your error signal could be the difference in the compass heading when you let off the sticks , and the compass heading then you got on the sticks... instead of the sum of the yaw rates.
The new S/W could then apply correction to minimize the error, like with a normal HH gyro....
Steve H
Hell-e-Guy
Jan 18, 2006, 02:18 AM
Steve, great explanation !
Do you know what is hardware is used ? A CPLD/FPGA or a DSP?
Toshi, I didn't understand the formula you wrote, as i didn't see any negative feedback...or am I missing something ?
shoutchen
Jan 18, 2006, 02:41 AM
Most gyros of the hobby piezo variety
use a relativley cheap ( < $5) simple 8 pin microcontroller
such as a Microchip PIC to do the job. You only need a few I/O pins
and not a lot of computational power to run a PID loop.
Steve H
TMorita
Jan 18, 2006, 03:40 AM
Steve, great explanation !
Do you know what is hardware is used ? A CPLD/FPGA or a DSP?
Toshi, I didn't understand the formula you wrote, as i didn't see any negative feedback...or am I missing something ?
Why would you need negative feedback?
Toshi
Hell-e-Guy
Jan 18, 2006, 06:25 AM
Toshi,
I think that negative feedback is needed in order to "counteract" the unwanted torque.
Dan Baldwin
Jan 18, 2006, 11:08 AM
In Toshi's formula y is the negative feedback. Perhaps a better way of expressing it would be x = z - ky, or servo output pulse = pulse from transmitter - (yaw rate X gain). In the experiments that I've done with my rate gyro, the gyro tries to fight all yaw movements including those being commanded from the transmitter. If you moved the stick such that the heicopter would yaw at a rate of 30 degrees/second without a gyro, with a rate gyro it might only yaw at a rate of 20 degrees/second. It makes the tail rotor (or rudder) stick less sensitive to commands in addition to correcting for unwanted movements. It's an old gyro, and they may be different now.
Dan
shoutchen
Jan 18, 2006, 11:55 AM
Dan,
It seems a smart gyro could sense the pulse width of the neutral rudder channel upon gyro initialization at power up and not "fight" if the signal wandered outside of the neutral position far....That would mean you are demanding yaw...
The problem is that there are cases where the rudder channel pulse width is nowwhere near neutral and you are not demanding yaw. The revolution mixing of a TX could modify the rudder pulse width outside of neutral to counteract the main rotor torque, and you could be off the sticks.
In that case, the gyro could only know if yaw was being demanded from the user if it knew both the revolution mixing curve and the rudder neutral point on power up.
That is impractical on a "separate" gyro, but a 3 in 1 board might be able to do it, since the CPU has all the info needed...
There may be other reasons that may be impractical...
Steve H
TMorita
Jan 18, 2006, 03:46 PM
Dan,
It seems a smart gyro could sense the pulse width of the neutral rudder channel upon gyro initialization at power up and not "fight" if the signal wandered outside of the neutral position far....That would mean you are demanding yaw...
...
Steve H
Would only work if revo mix were applied after the gyro, and not before, yes.
Toshi
TMorita
Jan 18, 2006, 03:53 PM
In Toshi's formula y is the negative feedback. Perhaps a better way of expressing it would be x = z - ky, or servo output pulse = pulse from transmitter - (yaw rate X gain). In the experiments that I've done with my rate gyro, the gyro tries to fight all yaw movements including those being commanded from the transmitter. If you moved the stick such that the heicopter would yaw at a rate of 30 degrees/second without a gyro, with a rate gyro it might only yaw at a rate of 20 degrees/second. It makes the tail rotor (or rudder) stick less sensitive to commands in addition to correcting for unwanted movements. It's an old gyro, and they may be different now.
Dan
Nope, the new yaw rate gyros still work the same.
Increased gain = decreased piro rate.
Toshi
vBulletin® Copyright ©2000-2009, Jelsoft Enterprises Ltd.