Tutorials : Analog Switches

Mike Shellim   31 December 2002

Revised 2 June 2005

Introduction

In this article, we'll take a tour analogue switches and show some of the neat things which can be done with them. First an overview.

Overview

Many functions (e.g. mixer curves, Diff, Expo etc.) have a user selectable mode which determines how they are controlled. By default, the mode is ON, meaning the function is always enabled. Or you can set the mode to OFF (always disabled).

Alternatively, the function may be controlled by a switch. Any switch in the Assign Switches screen may be specified, e.g. transfer switches (T), control switches (C), logical switches (L). Depending on whether the switch is Off or On, the function will be disabled or enabled. You can think of such a switch as applying a value of 0% (OFF) or 100% (ON). I'll leave out the % from now on when dealing with switch values.

Did you notice that we missed out Analog switches? These are special, because they can take any value between 0 and 100 depending on the position of a control or a servo. This allows you to attenuate (i.e. reduce) the effect of a function as well as simply enabling/disabling it. Because they are so powerful, we'll look at their function now.

Setting up an Analog Switch

Analogue switches are set up in the Assign Switches screen. Six analogue switches are available designated A1 - A6. Analogue switches may be based either on physical controls, or servos. We'll look at each of these types below:

Control-based analogue switches

When based on a control, the value of the analog switch is proportional to the displacement of the control. One end point is 0% and the other is 100%. This provides a means of linear attenuation. The further you move the stick, the greater (or lesser) the degree of attenuation. Most commonly, sliders E-F and the throttle stick are used for this purpose.

For example, you can use an analog switch based on the Spoiler control, to reduce the amount of aileron differential, as crow brakes are deployed. Or you can reduce the effect of the snap-flap (i.e. elevator to flap mixing) as flaps are deployed. The possibilities are endless!

Servo-based analogue switches

When the analogue switch is based on a servo, the value of the switch is the % displacement of the servo from one end of its travel. Since a servo's response can be made easily be made non-linear using the servo travel curves, this provides a method of obtaining non-linear attenuation.

You can base the analog switch on a 'phantom' servo i.e one which is not actually used. We'll use this technique to provide three settings for aileron differential - without using flight modes!

Example - 3-way differential selection

Imagine that you wish to use three different settings of aileron differential, to be selectable using a 3-position switch T1.

One solution, which doesn't involve flight modes, is to attenuate Diff via an analogue switch, based on a 'phantom' servo driven by switch T1. By setting up the travel curve, we can arrange for the switch to present any required attenuation 0% - 100% in each position.

What is a phantom servo? It's a servo which is programmable but not actually used. In our case, we'll use servo 12 (servo 12 is available for programming even though it cannot physically be used in PPM7/PPM9 mode).

Setting up

The first job is to assign the analog switch to servo 12. This is performed in the Assign Switches screen. Thereafter, the system identifies it as A112 in the menus.

We also need to have T1 select three different positions for servo 12. This is done by assigning Servo 12 to a mixer, with three FIXED VAL inputs. We arrange T1 to select one of the inputs only and disable the others.

Finally, in the Adjust Controls screen, we assign swtich A112 to the Aileron Diff mode.

Menu/Screen Task
Assign Switches Assign Analogue switch A1 based on servo 12.
Assign T1 to a three position switch.
Assign Servos Assign servo 12 to servomix, rename servomix "my_rate"
Assign Mixer Assign three separate FIXED VAL inputs to my_rate - see table below.
Servo Travel Go to servo 12. 
For each FIXED VAL input, 
(1) set the value (single point) 
(2) assign the switch T1-1, T1-2 or T1-3
Adjust Controls Change the aileron diff mode from On (or Off) to 'A112'

"My_rate" Servomix set up

"my_rate" servomix
Input# Control/Mixer Switch  Curve        Remarks
1 FIXED VAL T1-1 -50 Provides 25% rate (see special note below)
2 FIXED VAL T1-2 0 Provides 50% rate
3 FIXED VAL T1-3 50 Provides 75% rate
Channel 12 must be assigned to this mixer (no physical servo is used)
Make sure each switch position only activates one input.
Note: curve values -100 to +100 map to rates  0% to 100%.

Selecting aileron diff

Specifying A112 in the Aileron Diff screen enables 25%, 50% and 75% of the nominal Diff to be selected using switch T1.

Postscript

This technique is very flexible. For example you could base the analogue switch on a slider with a non-linear response, instead of a switch. In the following example, the servomix is altered to provide 5-point non-linear attenuation rate via the Flap lever (assumed to be a slider e.g. E or F). Again, we assign channel 12 to this mixer.

"select_rate" servomix
Input# Control/Mixer Switch  Curve        Remarks
1 FLAP ON a/b/c/d/e 5-point curve
Channel 12 must be assigned to this mixer (no physical servo is used)
Note: curve values -100 to +100 map to rates  0% to 100%.

Special Note: Mapping of servo-based analogue switches 

The position of a servo is between -100 and +100. However, analogue switches have values between 0% and 100%. The mapping is defined by the formula 

AnalogueValue% = (Servoposition + 100)/2. 

For example when the servo is in the centre position (zero), the analogue switch value is 50%.