MAVLINKHUD

Overview

The THR parameter group configures the global Throttle behaviors for the vehicle. It defines safety limits, deadzones, and automated management logic.

Key Concepts

1. Failsafe (THR_FAILSAFE)

One of the most important safety settings. If the signal from the RC receiver drops below a certain threshold (THR_FS_VALUE), the autopilot triggers a Radio Failsafe.

2. Limits (THR_MIN, THR_MAX)

Defines the allowable range of motor power.

  • THR_MIN: The lowest throttle level allowed in flight (ensures motors don't stop).
  • THR_MAX: The absolute ceiling for throttle output.

3. Slew Rate (THR_SLEWRATE)

Limits how fast the throttle can change (percentage per second).

  • Purpose: Prevents mechanical stress and battery current spikes from instantaneous throttle jumps.

Developer Notes

  • Library: libraries/AP_Motors, libraries/AP_Vehicle.
  • Context: THR_MIN is critical for ArduPlane to ensure the motor stays running during an auto-landing or glide if an ICE engine is used.

THR_MIN: Minimum Throttle

Description

Minimum throttle percentage used in all modes except manual, provided THR_PASS_STAB is not set.

Values

  • Range: -100 to 100
  • Units: %
  • Default: 0

Description

This parameter sets the "Floor" for the autopilot's throttle output.

  • Plane:
    • 0: Motor stops when throttle is cut.
    • > 0 (e.g. 10): Motor idles at 10% whenever armed, preventing the engine from quitting in flight (common for gas engines).
    • < 0: Allows Reverse Thrust (if supported by ESC/Prop).
  • Rover:
    • Determines the minimum speed for autonomous driving.
  • Safety: Ensure this is not set so high that the vehicle moves when armed on the ground.

THR_DZ

PWM
Default 30
Range 0 300

Throttle Deadzone (THR_DZ)

Description

THR_DZ defines the "Idle Area" in the middle of your throttle stick when flying in modes like AltHold, Loiter, or PosHold.

In these modes, the autopilot tries to maintain a steady altitude. When the stick is near the center, the drone holds its height. If you push the stick above or below this deadzone, the drone starts to climb or descend. THR_DZ ensures that tiny movements or "jitter" in your transmitter sticks don't cause the drone to slowly drift up or down.

Tuning & Behavior

  • Default: 30 PWM (e.g. if center is 1500, the deadzone is 1470 to 1530).
  • Recommendation: If your drone starts climbing or falling the moment you let go of the stick, increase this value to 40 or 50.
  • Physics: This parameter only affects stick input interpretation; it does not change the motor's physical response.

THR_FAILSAFE

Default 1
Range 0 2

Throttle Failsafe Enable (THR_FAILSAFE)

Description

THR_FAILSAFE is the master switch for RC signal loss protection on ArduPlane.

  • 0: Disabled. The plane will not react to a loss of radio signal. (Highly Dangerous).
  • 1: Enabled (Standard). Triggers a failsafe action (like RTL) if the throttle signal drops below THR_FS_VALUE or if the receiver reports a lost link.
  • 2: Enabled (No Action). Ignores RC inputs if a failsafe is detected but does not trigger an autonomous return-to-launch.

Tuning & Behavior

  • Default: 1 (Enabled).
  • Requirement: Requires THR_FS_VALUE to be calibrated correctly.
  • Safety: Always test your failsafe behavior on the ground (with propellers removed) by turning off your transmitter and verifying the flight mode changes to RTL.

THR_FS_VALUE

PWM
Default 950
Range 925 1100

Throttle Failsafe PWM Threshold (THR_FS_VALUE)

Description

THR_FS_VALUE defines the "Signal Lost" voltage for your radio receiver.

Most receivers are configured to pull the throttle channel to a very low value (e.g. 900) if the link is broken. This parameter tells the autopilot: "If the throttle drops below 950, assume the radio is off and start the failsafe routine."

Tuning & Behavior

  • Default: 950.
  • Setup: Turn off your transmitter and see what the throttle PWM value is in the GCS. Set this parameter to about 10-20 units above that value, but well below your normal idle throttle (usually 1100).

THR_PASS_STAB

Default 0
Range 0 1

Throttle Pass-Through in Stabilize (THR_PASS_STAB)

Description

THR_PASS_STAB is a specialized setting for ArduPlane, primarily used for combustion (gas/nitro) engines.

Normally, ArduPilot clamps the throttle between THR_MIN and THR_MAX. For a gas engine, your "Min" throttle is usually set to a fast idle. If you wanted to kill the engine using a switch on your transmitter, the autopilot's clamping would normally prevent you from reaching the "cutoff" PWM. Enabling this parameter allows the autopilot to ignore its own limits and pass the raw stick signal directly to the motor in non-GPS modes.

  • 0: Disabled (Default). Autopilot limits apply in all modes.
  • 1: Enabled. direct control in Stabilize, FBWA, and Acro.

Tuning & Behavior

  • Default: 0.
  • Usage: Enable this if you have a "Throttle Cut" safety switch configured on your transmitter that needs to pull the PWM below the idle threshold.

THR_SLEWRATE

%/s
Default 100
Range 0 500

Throttle Slew Rate (THR_SLEWRATE)

Description

THR_SLEWRATE prevents the autopilot from "slamming" the throttle.

If you are using a large gas engine or a high-torque helicopter motor, changing from 0% to 100% throttle instantly can cause mechanical failure or strip gears. This parameter forces the throttle to ramp up or down smoothly over a specific time.

  • 100: Allows the throttle to move from 0% to 100% in exactly one second.
  • 0: Unlimited (Instant response).

Tuning & Behavior

  • Default: 100 (Heli) or 0 (Multicopter).
  • Recommendation: For large electric motors or combustion engines, set to 50 or 100 to ensure a smooth power transition.
  • Note: This is separate from the MOT_SPOOL_TIME which only applies at the moment of arming. THR_SLEWRATE applies throughout the entire flight.

THR_SUPP_MAN

Default 0
Range 0 1

Throttle suppress manual passthru (THR_SUPP_MAN)

Description

This parameter changes the behavior of the "Throttle Suppression" feature in ArduPlane. Normally, when the autopilot suppresses the throttle (e.g., because the aircraft is on the ground or in a landing flare), the motor output is forced to 0 (Idle/Off). Enabling this parameter allows the pilot's manual throttle stick to override this suppression, keeping the engine running at the stick-commanded speed.

The Mathematics

$$ \text{Throttle}{\text{out}} = (\text{Suppressed}) ? \text{Throttle}{\text{stick}} : \text{Throttle}\_{\text{auto}} $$

The Engineer's View

Defined in ArduPlane/Parameters.cpp.

  • Target Audience: Gas/Nitro planes where 0 throttle might kill the engine, or for pilots who want manual idle control during auto-takeoff waits.

Tuning & Behavior

  • Default Value: 0 (Disabled)
  • 1: Enable manual pass-through during suppression.