Measure the elevon throw
The build specifies 25 degrees of elevon travel at ArduPilot’s servo endpoints, and the SITL model uses that value. The slow-flight findings on the parameters page depend on it. This procedure measures the throw on the built aircraft and puts the measured number into the model.
You need a steel rule or calipers, the flight pack, the radio, and a GCS on a laptop. The elevon chord is 41 mm at the middle of the elevon, 506 mm from the centreline. It is 49 mm at the root end and 33 mm at the tip end.
WARNING: Remove all five propellers before you connect the pack. A servo test can arm the motors.
- Remove the propellers.
- Put the aircraft on a flat bench, wings level.
- Connect the pack, then connect the GCS.
- Set the mode to MANUAL. In MANUAL the sticks move the elevons directly.
- Find the middle of the right elevon, 506 mm from the centreline. Mark it with tape.
- With the sticks at centre, measure the height of the trailing edge above the bench at the mark. Record it as the neutral height.
- Pull the pitch stick fully back. Measure the trailing-edge height again. The difference is the up rise.
- Push the pitch stick fully forward. Measure again. The difference is the down rise.
- Do steps 5 to 8 on the left elevon.
- Convert each rise to degrees with the table, or with angle = asin(rise / 41 mm).
| Rise at the 41 mm chord | Throw |
|---|---|
| 3.6 mm | 5 degrees |
| 7.1 mm | 10 degrees |
| 10.6 mm | 15 degrees |
| 14.0 mm | 20 degrees |
| 17.3 mm | 25 degrees |
If the two elevons differ by more than 2 degrees, adjust the linkage before you go on.
Put the number into the model
Section titled “Put the number into the model”MIXING_GAIN limits each axis to that fraction of the servo travel, so a full pitch stick in MANUAL gives 0.75 of the mechanical throw with the build’s setting. The mechanical throw at full servo travel is the measured up rise in degrees divided by MIXING_GAIN.
- Open
tools/sitl_model.py. - Set
ELEVON_MAX_DEGto the mechanical throw divided by 0.8. SITL treats 500 microseconds as full travel, and ArduPilot’s servo range is 400 microseconds each way. For the build’s 25 degrees this is 31.25, the current value. - Run
make checkinsim/. The cruise trim in the table changes a little. - Fly the Q_assist drill on the Fly it in SITL page. Note the speed at which the nose drops.
- Record the measured throw and that speed on the parameters page.
If the nose drops above 14 m/s, Q_ASSIST_ALT stays as the safety net. If it drops below 14 m/s, the speed assist works as the guide intends, and Q_ASSIST_ALT is a second layer.
Source: docs/elevon-throw.md in the repo. Edit it there; this page is generated.
Comments
Comment on the whole page here, or on one section or step with the button beside it.