Assan GA-250 User manual

OlliW's Alternative Firmware for the Assan GA250 Gyro, v0.16
OW 7. June 2012
1. Introduction
2. Overview of the Parameters
3. Installing the Gyro
4. The Parameter Gain Input Function
5. The Controller Parameters
6. Understanding the Controller Parameters
7. Optimizing the Gyro Performance
8. Further Resources
1. Introduction
In order to simplify language, the GA250 loaded with the alternative OlliW firmware will be
called GA250-OW. Sometimes the values of some parameters are irrelevant for the current
working mode and can be ignored. If that's the case, the parameter is said to be inactive.
The single most important comment to make is maybe that with the alternative firmware the
GA250 doesn't function like any other gyro. The basic goal of a gyro is to make the heli's tail
more controllable, and the basic principles are always the same, e.g., in all gyros this is achieved
by implementing what is called a controller. Hence many aspects of how gyros are supposed to
be used, set up, operated, and so forth are valid for any gyro, but other aspects can be very
different and special to a particular gyro. This appears to be a trivial statement, but experience
shows that often problems arise just because things which are valid for gyro XYZ are assumed to
be also valid for gyro ABC. The comment is in particular at place for the GA250-OW as it, on
top of its home-brewed features, implements a controller which even at a fundamental level
seems to be different from what is used in commercial gyros. Many things, of course do hold for
any gyro, also the GA250-OW, and your previous knowledge on gyros is not worthless.
A second important comment is that this is NOT a tutorial on gyros per se. There are many
excellent writings and videos on the net, and it is assumed that the gyro basics are understood by
the reader. This manual focuses on those aspects which are particular to the GA250-OW.
A third important comment is that for testing the piro stop behavior DO NEVER EVER LET THE
RUDDER STICK JUST GO! For almost any transmitter the stick will "oscillate" around center
before it really stops (check it yourself by watching the stick). The gyro assumes that this is an
intended command and will try hard to get the tail to follow it exactly. The tail will thus bounce
at stops just because that's what you, or the transmitter, told the tail to do! I do test piro stops by
pulling/pushing the stick with my fingers at the base of the rudder stick.
2. Overview of the Parameters
At first, the number of parameters may look frightening. The large number comes in part because
in earlier stages of the development some internal parameters were made available for test
purposes but were not removed. So, some of the parameters you may never have to touch, and
they may disappear in future firmware versions. Another increase in parameter number comes
from providing special functions, such as special rudder mid detection schemes, or fixed wing
application and fixed-pitch heli support. Most of you won't be interested in these options. At the
- 1/9 -

end of the day, the large majority of you will only need to look at those parameters, which are
listed in the main tab of AvrConfig. The parameters can be categorized as follows:
controller parameters setup parameters
Version Number:
This single field gives the version of the installed firmware.
Setup Parameters:
With these parameters the gyro is matched to your heli. Adjusting these parameters is, so to say,
part of the installation of the gyro in your heli, and normally they have to be adjusted only once
(as long as the heli mechanics is not changed). The setup parameters are:
- Gyro Orientation
- Servo Type
- Servo Direction
- Servo Mid
- Servo End Right, Servo End Left
Controller Parameters:
This set of parameters adjusts the behavior of the gyro (or built-in controller in fact). Obviously,
once the setup parameters are set, the controller parameters are the important ones to play with.
The nine parameters in this section are listed below. However, IMPORTANTLY, not all of them
are always active! Which ones are active and hence need only be considered depends on your
choice for the parameter Gain Input Function and the method for debouncing piro stops.
- Gain Input Function
- Gyro Mode
- Rate Gain
- PID Gain
- PID I
- Debounce CCW, Debounce CW
- De-/Acceleration Limit Right, De-/Acceleration Limit Left
+ gain as set via the transmitter
- 2/9 -

3. Installing the Gyro
3.1. Direction of Gyro Action
The correct direction of gyro action is obviously important. Otherwise the heli will go into an
uncontrolled spin. As regards the electronics, the gyro action is determined by three factors, the
parameters Gyro Orientation and Servo Direction in the GA250-OW, as well as the
normal/reverse setting for rudder in your transmitter. Their correct adjustment can be achieved
by strictly going through step by step the following recipe. This should be done on the
workbench (with throttle hold, and main blades removed):
1) Set the parameter Gyro Orientation according to whether the gyro is installed with the top
face showing up (Gyro Orientation = upside up) or down (Gyro Orientation = upside down).
2) Set the parameter Servo Direction such that by moving by hand the tail to the left and right
the tail rotor shows the correct counter action.
3) Finally set the direction of the rudder stick in your transmitter (normal/reverse) such that
moving the rudder stick leads to the correct action of the tail blades.
Comment: If your heli starts spinning although these steps were strictly followed, then the
mechanics is not set up correctly. For instance, the tail rotor may spin in the wrong direction.
Tip #1: It can be helpful to set the gyro into heading hold mode, since then the reaction of the
tail blades is most easily observed.
Tip #2: For TRex-type helicopters, the following video may be helpful for accomplishing steps
(2) and (3): http://www.youtube.com/watch?feature=player_embedded&v=QvI-nW9XcvU (the
movie is in German, but it should be self explanatory).
3.2. Servo End Points
The next step is to adjust the servo end points such that the tail bridge doesn't bind (maybe you
want to leave 0.5 mm space) but on the other hand the maximal travel range is available to the
gyro. Servo End Right determines the maximal travel range for the rudder stick moved to the
right, and Servo End Left that for the rudder stick moved to the left.
It seems that some folks adjust the servo end points according to their desired piro rates. For
some gyros this may be an appropriate strategy, but it's not for the GA250-OW. With the
GA250-OW the piro rate is exclusively determined by the rudder signal, and should be adjusted
by the range-limit and/or dual-rate functions in the transmitter. The piro rate could also be
adjusted via the parameter Rudd Rate, which does exactly the same as range-limit/dual-rate in
the transmitter. In fact, Rudd Rate just multiplies to the adjustments in the transmitter.
3.3. Servo Midpoint
The "correct" adjustment of the neutral (hover) servo horn position is an issue of much
discussion and controversy. The arguments go from "servo mid doesn't matter at all in HH
mode" to "servo mid hast to be adjusted in rate mode for proper gyro operation". Both arguments
are both true and incorrect. The GA250-OW isn't different to other gyros in this point, and you
may follow whatever procedure you like. I recommend the following canonical procedure:
1) Set all rudder trimmings etc on the transmitter to zero and/or mid.
2) Mount the servo horn on the tail servo such as to come closest to a 90° orientation. Try
- 3/9 -

different horns to achieve that.
3) Fine-tune by adjusting Servo Mid such as to obtain 90° orientation of the servo horn.
4) Switch the gyro into rate mode and fly your heli at the desired head speed. Move the tail servo
and/or adjust the link length such that the tail is steady in hover. However, no need to overdo
here, minimizing the tail drift is sufficient, the goal is to avoid a too off mechanical setup.
Comment #1: Strictly adhere to point (1).
Comment #2: If your tail shows a small drift but you are too lazy to change the mechanical
setup, then you might think that it's a good idea to adjust Servo Mid a bit. This doesn't harm, but
in heading hold mode there is absolutely NO advantage of doing this, it's irrelvant.
Sometimes a more involved setup is of advantage. It needs some understanding and is hence
suggested only to experienced pilots. On a TRex450 there is a significant asymmetry in the tail
mechanics: The servo horn needs to turn much less for the pitch slider to move the same distance
to the left than to the right. Also, the maximum turn needed to push the tail slider to the left end
is only about half of that for moving it to the right end. This asymmetry can be accounted for by
not choosing 90° for the servo horn, but rather have it tilted towards the direction in which it has
to be turned less for the full pitch slider range (TRex450: tilted towards the main frame).
4. The Parameter Gain Input Function
The parameter Gain Input Function determines what the GA250-OW does with a signal at the
gain plug. The behavior of the gyro does in fact depend strongly on this setting. The Gain Input
Function parameter can be set to one of four values:
1) Gain Input Function = set gain & mode
This is the standard setting and most of you will want to choose this option. In this setting, the
gyro expects to see a signal at the gain plug (which implies that at start up the gyro will wait
during initialization until it detects a valid gain signal). The signal at the gain plug is interpreted
as the gyro's gain and sets the gyro into rate or heading hold mode, exactly as you know it for
commercial gyros. The relation of the gain signal and the gyro's gain and mode is as follows:
1920 μs (100%)
|
| gyro is in heading hold mode, 51.5% = lowest gain, 100% = largest gain
|
1532 μs (51.5%)
| undefined condition
1508 μs (48.5%)
|
| gyro is in rate mode, 48.5% = lowest gain, 0% = largest gain
|
1120 μs (0%)
The parameters Gyro Mode, Rate Gain and PID Gain are inactive, i.e., are overridden by what
the gain input signal says.
2) Gain Input Function = toggle mode
In this setting, the gyro expects to see a signal at the gain plug, as before, but this signal will
- 4/9 -

ONLY be used to set the gyro into rate or heading hold mode. The gyro's gain is not set by the
gain signal, instead it is determined by the parameter Rate Gain if the gyro is in rate mode or
PID Gain if it's in heading hold mode. The relation of gain signal and gyro mode is as follows:
1920 μs (100%)
|
| gyro is in heading hold mode, the gain is determined by the parameter value PID Gain
|
1532 μs (51.5%)
| undefined state
1508 μs (48.5%)
|
| gyro is in rate mode, the gain is determined by the parameter value Rate Gain
|
1120 μs (0%)
The parameter Gyro Mode is inactive and overridden by whatever the gain input signal says.
3) Gain Input Function = not used
In this setting, any signal at the gain plug is ignored and it can even be totally absent. The gyro is
set into rate or heading hold mode by setting the parameter Gyro Mode to rate or heading hold,
respectively. The gyro's gain is not set by the gain signal, instead it is determined by the
parameter Rate Gain if the gyro is in rate mode or PID Gain if it's in heading hold mode.
4) Gain Input Function = pitch
In this setting, the gyro expects to see a signal at the gain plug, as before in (1) and (2), however
this signal will be interpreted as to represent the pitch of the main blades. This options allows for
a torque pre-compensation as known e.g. from FBL units.
5. The Controller Parameters
It is important to understand that not all controller parameters are active at all times. The GA250-
OW can be set into different working modes, and which parameters are active/inactive depends
on the working mode. As the inactive parameters can totally be ignored, this implies that in
practice you usually don't have to deal with all controller parameters but only a subset of them!
Of the possible working modes only the three basic ones are described.
5.1. Rate Mode
This is the simplest working mode, and what it is should be obvious. In this mode only one
parameter is relevant, namely the gyro gain.
Active Controller Parameters:
- gyro gain (set either via the transmitter or via Rate Gain)
This sounds simple, however, the actual gain used by the gyro is NOT necessarily determined by
the value in the parameter field Rate Gain. If this isn't clear, please reread section 4! Most of
you will have chosen Gain Input Function = set gain & mode. Then the gyro gain is
determined by your transmitter setting, and the parameter Rate Gain is inactive. Hence, with
Gain Input Function = set gain & mode, there is only one "knob" to turn, namely the gain
setting in your transmitter (which has to be in the range 0-48.5% for rate mode). If you have
chosen a different setting for Gain Input Function, then, and only then, the actual gain is
determined by the parameter Rate Gain, and you have to set Gyro Mode = rate.
- 5/9 -

5.2. Heading Hold Mode with Debounce
This is the standard mode, and likely used by most of you. Besides gain two new "knobs" come
additionally into play, namely the parameters PID I and Debounce CCW/Debounce CW. These
can't be set via the transmitter but only via the respective parameter fields.
Active Controller Parameters:
- gyro gain (set either via the transmitter or via PID Gain)
- PID I
- Debounce CCW, Debounce CW
If you have chosen Gain Input Function = set gain & mode, which is assumed here, the actual
gyro gain is determined by your transmitter setting, and the parameter PID Gain is inactive.
There are two debounce parameters for optimizing the CCW and CW piro stops independently.
However, it is possible to link them by setting Debounce CW = 0. Then the value of Debounce
CCW is internally used for Debounce CW, and changing Debounce CCW simultaneously
changes Debounce CW. A value of 30 inactivates the respective debounce parameter.
In this working mode, the parameters De-/Acceleration Limit Right and De-/Acceleration
Limit Left are active, but should actually not be used, i.e., should be set to their default (30/0).
5.3. Heading Hold Mode with De-/Acceleration
This mode had been used until v0.15 of the firmware, and should be considered deprecated since
v0.16. However, it is the "textbook" solution to the heading hold problem and hence still
available, for anyone to test. In contrast to mode 5.2 the debounce parameters are not used but
De-/Acceleration Limit Right and De-/Acceleration Limit Left (the parameters Debounce
CCW and Debounce CW are still active but should not be used and set to their default, 30/0).
Active Controller Parameters:
- gyro gain (set either via the transmitter or via PID Gain)
- PID I
- De-/Acceleration Limit Right, De-/Acceleration Limit Left
If you have chosen Gain Input Function = set gain & mode, which is assumed here, the actual
gyro gain is determined by your transmitter setting, and the parameter PID Gain is inactive.
There are two de-/acceleration parameters for optimizing the piro stop behavior for rudder stick
to the right or left, respectively. However, it is possible to link them by setting De-/Acceleration
Limit Left = 0. Then the value of De-/Acceleration Limit Right is used for De-/Acceleration
Limit Left, and changing De-/Acceleration Limit Right simultaneously changes De-
/Acceleration Limit Left. A value of 30 inactivates the respective de-/acceleration parameter.
6. Understanding the Controller Parameters
According to chapter 5.2, there are actually only three parameters to tune in heading hold mode
(or four parameters if CCW and CW piro stops shall be tuned independently), but what is the
meaning of these parameters? An attempt is made to explain them in simple terms, without
becoming (hopefully) too technical.
6.1. Gain
For a gyro two pieces of information about the tail are relevant, namely (i) what is the desired
yaw rate and (ii) what is the actual yaw rate. The desired yaw rate is determined by you via the
rudder stick. The actual yaw rate is measured by the gyro via a built-in sensor. The major aim of
the gyro is simply to send out commands to the tail servo such as to get the actual and desired
- 6/9 -

yaw rates to coincide. Clearly, they usually won't exactly coincide because of all sorts of
disturbances (wind, pitch pumps, etc.), and there will be a difference between desired and actual
yaw rate. The gain setting determines how aggressively the gyro reacts to a difference between
desired and actual yaw rate. In the most extreme case of very large gain, the gyro would, when it
detects a difference, pull the servo to the maximum left or right end point in order to bring the
tail as fast back to the desired yaw rate as it's possible. However, this is a bit too aggressive, and
the tail would permanently swing back and forth. If the gain is too large then the tail will
permanently wag. On the other hand, in the case of small gain the gyro would very cautiously
change the servo position just by tiny bits, and it therefore takes for long until the gyro manages
to get desired and actual yaw rate to coincide. If the gain is too low then the tail will respond
very slowly upon disturbances. Obviously, choosing a gain in between such that the tail responds
quickly yet doesn't wag is optimal.
You can compare the situation to driving a car, with you (the driver) being the gyro. If you detect
a deviation from the desired direction, you pull the steering wheel. If you would do that very
aggressively, i.e., whenever you detect a minor deviation would always pull the wheel as much
as it's possible to the left or right, then the car would go zig-zag. On the other hand, if whenever
you detect a deviation from the desired path you would only pull the wheel very gently then you
most likely would crash into the roadside. So, in between is optimal. You, the driver, are smarter
than a gyro and have learned to adapt your "gain" properly. A heli gyro needs to be told.
6.2. PID I
In heading hold mode we do not want the gyro to only stop any undesired yaw, but want it to in
fact hold the tail in a fixed position. In order to be able to do so, however, the gyro needs a sort
of memory, such that it can recall what the desired position was before a disturbance (wind gust,
pitch pump, etc) occurred. Such a memory is available in heading hold mode, and enabled by the
parameter PID I. As before for gain, the gyro could react aggressively to a difference between
the actual tail position and its memory of it, or could do so slowly. The value of PID I determines
how aggressively the gyro takes into account its knowledge about previous tail positions. The
consequences of too large or too small value of PID I are similar to that for gain. If the value of
PID I is too large then the tail will permanently wag, and if it is too small then the previous
position of the tail will be resumed only slowly after a disturbance.
In the driving-a-car picture, you may consider driving in a huge desert providing nothing to
orient at the horizon. For orientation you may resort to your sense of balance (= rate mode).
After a disturbance you may get the car back driving on a straight line, but you may not go into
the same direction as before. Alternatively you may watch your compass (= heading hold mode).
However, in either case if you turn the steering wheel too wildly upon a deviation from your
desired path then you will go zig-zag (= gain and/or PID I too large). If you decide to first follow
your sense of balance and only after a while to take into account the compass reading (= gain OK
but PID I too small), then you get back on track but your path would be offset by a bit. Ideally,
you react to both your sense of balance and compass in a balanced way (= gain and PID I OK).
As you see, the consequences of both too large gain and PID I are rather similar, i.e., tail wag,
and it is therefore that adjusting these two parameters is not "simple" in as much as a pure trial-
and-error approach may not lead to optimal behavior.
6.3. Debounce CCW/CW
With gain and PID I adjusted properly, the gyro will do great in rejecting disturbances such as
wind gusts or pitch pumps, i.e., the tail will hold well. However the tail will not behave well
upon sudden piro stops, but show a more or less pronounced back bouncing. Why? Well, if you
quickly move the rudder stick to center you tell the gyro that you want to have the tail stop at
- 7/9 -

exactly the current tail position, and the gyro will store this position in its memory. However, no
heli can stop its tail immediately, within zero time, that's physically just not possible. Hence the
tail will go a bit further, i.e., will overshoot. But the gyro wants to bring the tail to the position it
got told, i.e., the position stored in its memory. Therefore the gyro will make the tail to return in
order to bring it back to exactly the position at which it was when the rudder was moved to
center. Altogether, the tail first overshoots and then returns by the same amount, which is a back
bounce. Importantly, the back bounce occurs because (i) the gyro does indeed its job and holds
the heading and (ii) physically the tail can't be stopped in zero time.
Comment: The overshoot and therewith the back bouncing will be the smaller the faster the tail
is, which is determined by the speed of the tail servo, size of the tail blades, maximum pitch
angles of the tail blades, rpm in comparison to the main blade's rpm, and so on and forth.
We have now learned that the back-bounce following piro stops is an inevitable consequence of
the heading hold mode, and there are essentially only two ways out:
1) Don't allow fast stops: One obvious approach to avoid back bouncing is simply to limit the
rate by which the rudder command can be changed. That's similar as if you are told to never
move the rudder stick back to center faster than what the tail can handle. Clearly, if the heli's tail
is slow only slow rudder stick changes could be handled, and vice versa.
2) Cheat the heading hold: Another approach is to cheat and to simply give up the heading hold
mode during a piro stop. One can then think of many schemes, which potentially could do the
trick, but finding a good one is obviously the challenge. The debounce mechanism implemented
in the GA250-OW firmware guesstimates how long the actual stop will take and cheats the
heading hold such as to produce a stop without back-bouncing.
The first method is so to say the "textbook" solution and to the best of my knowledge
implemented in most if not all commercial gyros and FBL units (and known as Delay, Accel,
Decel, Brake, etc.). The GA250-OW provides this method through the parameters De-
/Acceleration Limit Right&Left. However, the GA250-OW provides also a mechanism along
the lines of the second method, which is enacted via the Debounce CW/CCW parameters.
Using the debounce mechanism is recommended (see also chapters 5.2 and 5.3).
7. Optimizing the Gyro Performance
In this section a straight-forward three-step recipe is given, with one step for each of the three
parameters relevant in heading hold mode, for obtaining a first good setup. Further fine-tuning
afterwards might be needed.
At first, however, I find the following comment most important: If with the gyro in rate mode
your tail is not behaving exactly as it should then first get your setup right! Continuing with
adjusting the controller parameters doesn't then make any sense. Experience tells that 99% of all
tail issues are related to the mechanics and/or tail servo, and not the gyro.
1) Gyro Gain
The goal of this step is to coarsely adjust gain. Put your gyro into rate mode. Alternatively put it
into heading hold mode, but set PID I to a small value, and ensure Debounce CCW = 30,
Debounce CW = 0. Remember the comment I just made. If your heli is not behaving as it should,
it won't later on. Solve first any issues before you continue. The adjustment of gain is done as for
any other gyro and you can follow any available description. Increase and/or decrease gain.
When you get tail wag the gain is too high. Lower it a bit. Also do some piros and other
- 8/9 -

- 9/9 -
maneuvers. The tail should not wag in any kind of flight conditions.
2) PID I
The goal of this step is to adjust the parameter PID I. Put your gyro into heading hold mode and
set Debounce CCW = 30, Debounce CW = 0. Increase PID I stepwise. You may have to reduce
gain a bit in order to avoid tail wag (with increasing PID I the acceptable gain tends to get
smaller). Do left and right piro stops. The tail will back bounce. For too low PID I the back
bouncing will be slow, which feels as if the tail is slowly pulled back shortly after the tail has
stopped. For too large PID I the tail will do two or more back bounces. The goal is to adjust PID
I (and gain) such that you get one, quick back bounce. It can be very pronounced, this doesn't
matter. The point is to find an as large as possible PID I while obtaining one fast back bounce.
You may have to play a bit with the gyro gain to find a best result. However, don't overdo, it
doesn't matter much if PID I is 9.5 or 10.
3) Debounce CCW/CW
The goal of this step is to adjust the parameters Debounce CCW and Debounce CW. Start from
Debounce CCW = 30, Debounce CW = 0 (see chapter 5.2). Lower first Debounce CCW in steps
(usually until below 15 nothing is happening). Do CCW piro stops. The tail will back bounce,
but with lower and lower value of Debounce CCW the back bounce should become shorter and
shorter. If Debounce CCW is too small, the tail will start to jump a bit ahead after the stop. Find
the best value for Debounce CCW. Now do CW piro stops. If you find that they need to be
improved, set Debounce CW to the same value as Debounce CCW, and start from there. The tail
may now show some very small wags at each stop. Reduce gain a bit.
4) Pre-Flight Tests
Go flying and adjust your gain until there is no wagging in any flight situation. Usually,
adjustments based on test maneuvers such as piros or pitch pumps lead to slightly too large gain.
Tip #1: If the gain is adjusted via the transmitter (see chapter 4), the GA250-OW invokes a gain
stabilizer, which is needed to avoid noise and jitter from the gain input channel. However, it
results in a rejection of small gain changes, which can be confusing. It is hence recommended
that whenever the gain is changed in the transmitter to flip forth and back once the gain switch at
the transmitter. This will ensure correct gain setting in any situation.
Tip #2: Remember my third comment in the introduction: For testing piro stop behavior do
never ever let the rudder stick just go.
Tip #3: If in step (2) a pronounced asymmetry of the CW and CCW piro stops is observed, then
it may be worthwhile to check the mechanics carefully, and to play with the servo mid position
and servo end points (playing with the servo end points symmetrized the piro stop behavior on
my TRex-type 450). Also, other tail blades sometimes do miracles.
8. Further Resources
The firmware and further information is found on the project web page:
http://www.olliw.eu/2011/ga250-gyro-firmware/. The excellent "Idiot's Guide to Olliw's GA250
Firmware" by Holger Banko is also recommended (available from Holger or
http://www.olliw.eu/uploads/OlliW-FW-Idiots-Guide-1.2.pdf). Thanks to heroic work by Mick
Steidl also the German translations of this and Holger's document are available here
http://www.olliw.eu/uploads/Anleitung-GA250-OW-v016-v120607.pdf and here
http://www.olliw.eu/uploads/OlliW-Gyro-Bauanleitung-1.4_DE.pdf, respectively. Thanks guys!
Other manuals for GA-250
3
Table of contents
Popular Science Education Product manuals by other brands

Quanser
Quanser SRV02 Series user manual

Horizon Fuel Cell Technologies
Horizon Fuel Cell Technologies Renewable Energy Education Set Assembly guide

National Instruments
National Instruments NI ELVIS quick start guide

ARBOR SCIENTIFIC
ARBOR SCIENTIFIC Pendulum Lab quick start guide

KOKEN
KOKEN LM-092 instruction manual

Radio Shack
Radio Shack Science Fair Goofy-Lite 28-130 instruction manual