Retracts

How to make a sequencer (it's easy!)

Introduction to sequencers

Sequencers are used to orchestrate the motions of multiple servos. They may be used in multiple applications for example retractable undercarriages, swing wing systems, turbine startup sequences, and bomb dropping mechanisms.

In this article I describe a generic method for creating a sequencer in Ethos. Unlike other methods you might see on YouTube, it doesn't rely on delays and logical switches. Instead, it uses an intuitive time based system.

The method is both simple and flexible, supporting multiple servos and complex motions.

Simple timebase method

The method uses just two generic elements:

So let's get started with a real life example...

Example: undercarriage sequencer

As an example, we'll create a sequencer for a retractable undercarriage. We'll use two servos - one the door and one for the gear.

Operation as follows:

Sound tricky? Well no, it's actually pretty simple! In the following sections we'll build a complete solution.

Create the time base

The timebase is driven by the retract switch SF and feeds the gear and door mixers. Here's how:

Create a FreeMix. Set the source to retract switch SF. Set the output to CH4. Set slow-up and slow-down to 6 seconds (same speed in both directions).

FreeMix: Name=Timebase, Source=SF, Weight=100%, Slow↑↓=6 secs Output=CH4

timebase

Timebase mix with slow action (Ethos 1.5). The slow values are shown incorrectly, they should be 6 secs for our example.

Note: If using Ethos 1.5, there is no preset 'slow' option. Instead, create a 'slow' action inside the FreeMix. You can optionally delete the 'weight=100%' action (it's applied by default).
If using 1.4, just set the 'slow' options in the FreeMix.

Create mixers for door and gear

Now create two FreeMixes for the door and gear. The source of each mix is the timebase channel (CH4). Each mix has a single output:

FreeMix: Name=Door Source=CH4:Timebase, Weight=100%, Output=CH1

FreeMix: Name=Gear Source=CH4:Timebase, Weight=100%, Output=CH2

If you try it, you'll see that both outputs follow the timebase, that is to say they ramp between -100% and +100% over 6 seconds as SF is switched. In order to follow an irregular motion, we need to add a couple of curves...

Create the motion curves

Finally, create the curves describing the motions of the door and gear. These will be inserted into the door and gear mixers.

The curve axes are as follows:

Each segment of the curve will describe a movement, pause or jump. The steeper a segment, the faster the movement. A horizontal segment generates a pause. A vertical segment generates a jump.

To create a vertical segment in a curve, disable Easy mode, then set identical x-values for the segment end points.

Here are the curves for our example. Note that the curves are delineated in red:

door curve

SF↓: doors open at ~1.5 secs, then close at ~4.5 secs.

gear curve

SF↓: gear drops at 3 sec mark (while doors are open).

Now insert the motion curves into the corresponding mixers

FreeMix: Name=Door Source=CH4:Timebase, Weight=100%, Curve=CV:Door, Output=CH1

FreeMix: Name=Gear Source=CH4:Timebase, Weight=100%, Curve=CV:Gear, Output=CH2

And ... voilá, that's it!

Adjusting the servo limits and centres

The servo directions, travels and centres should be adjusted in the Outputs menu. The mixer weights should remain unchanged at +100%.

Maintaining sync at startup

It's important that the retract switch and servos are in sync when the radio is switched on, otherwise the servos will jump suddenly potentially causing a clash. (This is not a limitation of this particular sequencing method... it's because our radios cannot know the actual position of a servo.)

To maintain sync, always (a) put the u/c in a given state (retracted or deployed) before switching off, and (b) put the retract switch in the corresponding state when the radio is switched on - this can be done via Ethos' switch checks.

Video example: 'Crazy crow' sequencer

Here's an example which demonstrates the flexibility of the technique. The video shows a sequencer driving four sets of outputs with a mixture of slow and instantaneous movements, as well as pauses. Keep an eye on the timebase in CH9, shown at bottom right. This one is not for flying :-)

Video (.mp4)