<<< etheli.com Home Page

ArduPlane V3.3/V3.4 etMod_DiffSpoilersFix Patch:
Fixed differential spoilers support, added elevon offset

Update:  This patch has been merged into the ArduPlane master code and is part of ArduPlane v3.6.0 and newer.

In v3.2 - v3.5.0 of ArduPlane, differential spoilers are non-operational (see issue #1032).  This 'etMod' patch fixes them so they operate as described in the ArduPlane docs when ELEVON_MIXING=0 and ELEVON_OUTPUT>0 (mixing done in flight controller).  All flight modes are supported.  This functionality is used on flying wings with "split elevons" using two servos on each side (as shown in the 47" Popwing above).  The 'etMod' patch also adds the parameters described below.

Added parameter:  DSPOILR_RUD_RATE  "Differential spoilers rudder rate"
Sets the amount of deflection that the rudder output will apply to the differential spoilers, as a percentage. The default value of 100 results in full rudder applying full deflection. A value of 0 will result in the differential spoilers exactly following the elevons (no rudder effect).

Added parameter:  MIXING_OFFSET
The offset for the Vtail and elevon output mixers, as a percentage. This can be used in combination with MIXING_GAIN to configure how the control surfaces respond to input. The response to aileron or elevator input can be increased by setting this parameter to a positive or negative value. A common usage is to enter a positive value to increase the aileron response of the elevons of a flying wing. The default value of zero will leave the aileron-input response equal to the elevator-input response.

Notes:  The new parameter DSPOILR_RUD_RATE allows the rudder effect to be "toned down."  Otherwise it can be too easy to apply too much rudder-spoiler control and stall the wing.  The new parameter MIXING_OFFSET allows the elevon mixing on a wing to be tuned so that the "aileron" effect is greater than the "elevator" effect.  Flying wings are usually pitch-sensitive while being difficult to roll, so this tuning is desirable.  I have successfully tested this patch (applied to ArduPlane v3.2 on APM2) in the 47" Popwing, in Manual, Stabilized, and GPS-guided flight modes.

I've applied this modification to the ArduPlane v3.3.0 (released) version.

The firmware file for APM2 with this patch applied is here:  ArduPlane_v3.3.0rel_APM2_etMod_DiffSpoilersFix_20150715.hex

The firmware file for Pixhawk with this patch applied is here:  ArduPlane_v3.3.0rel_pixhawk_etMod_DiffSpoilersFix_20150715.px4

The firmware file may be uploaded to the flight controller using the Mission Planner (under "Install Firmware" | "Load custom firmware").

Note:  These firmware files should be considered beta-test releases and are to be used at your own risk.

Here is sample set of parameters for testing the new functionality:


The four servos are plugged into RC1, RC2, RC5 and RC6.  One thing to watch out for is that the RC5_MIN, RC5_MAX, RC6_MIN and RC6_MAX parameters can be modified when a radio calibration is performed.  If this happens, they should be restored to values like the ones above.  The above parameter set is in this Pixhawk_etMod_DiffSpoilersFix_testSet_20150715.param file, which may be loaded into the flight controller on the "Config/Tuning" | "Full Parameter List" screen via the 'Load' and 'Write Params' buttons.  (If the servos look like they are randomly twitching, make sure the flight mode is not set to RTL.)

Complete source code:  ardupilot-ArduPlane_v3.3.0rel_etMod_DiffSpoilersFix_20150715.zip
Set of modified files:  ArduPlane_v3.3.0rel_etMod_changes_20150715.zip

This patch has been submitted as diydrones/ardupilot Pull Request #2935.

Update:  I've applied this modification to the ArduPlane v3.4.0 (released) version.

The firmware file for Pixhawk with this patch applied is here:  ArduPlane_v3.4.0rel_pixhawk_etMod_DiffSpoilersFix_20150930.px4

Complete source code:  ArduPlane_v3.4.0rel_etMod_DiffSpoilersFix_20150930.zip

(The older v3.2.3 modification is here.)

If you have questions/comments or find this patch useful, please let me know.

Click here to contact me

Back to etheli.com home page

ET Heli