-
Notifications
You must be signed in to change notification settings - Fork 2
Reversing
http://ardupilot-mega.googlecode.com/svn/ArduPilotMegaImages/dipswitches.jpg
All aircraft and radios are different, and if you're familiar with setting up RC, you know that it's often necessary to reverse servo direction. That's true for APM, too, with the added complication that you need to set up your aircraft correctly for both manual (RC) flight and autopilot-controlled flight.
The process is as follows:
- First set up your aircraft for RC flight. With APM in manual mode, make sure all the control surfaces go the right way when you move your RC sticks. If any don't, reverse that channel at your RC transmitter.
- Now put APM in stabilize mode (I'm assuming you've already done the APM setup, including radio configuration) and move the aircraft around, observing how the control surfaces move. They should move in a direction that would return the aircraft to level flight. So when you put the nose down, the elevator should go up. For ailerons, as you tilt the plane so it would be banking to the left, the right aileron should come up and the left down. If any don't, you can reverse that channel at APM with either the DIP switches or via software with MAVLink.
Note: the rudder is a little hard to observe on the ground, since it mostly moves to counteract inertial forces in the air. But it when you roll the plane, the rudder should move slightly in the same direction as the ailerons to return the plane to level flight. So when the aircraft's ailerons move to bank the plane left, the rudder should turn slightly to the left, too (that's called a "coordinated turn"). If it's moving in the opposite direction, reverse it.
You can easily reverse servos or choose elevon mode with the built-in DIP switches on the APM shield.
http://ardupilot-mega.googlecode.com/svn/ArduPilotMegaImages/dipswitches.jpg
First, you need to tell it whether you are flying a regular configuration aircraft (with ailerons and/or rudder) and one with elevons (delta wing or flying wing). The fourth DIP switch determines that mode.
Here's an example for my Skyfun delta wing, which uses elevon mixing:
http://ardupilot-mega.googlecode.com/svn/ArduPilotMegaImages/elevons.jpg
If you're still having trouble -- for instance, ROLL is functioning properly but PITCH is reversed, or vice versa -- try swapping the servo cable channels.
Once manual control is setup correctly with your RC transmitter, then there are eight combinations of the three reverse switches possible. Two of these combinations will produce the correct servo output in manual mode, however, only one will both produce the correct servo output in manual mode and map the transmitter inputs correctly to roll/pitch commands in the autopilot-controlled modes, such as Stabalize. It takes a little trial-and-error to find the right combination, but here's a tutorial:
- First, set it up in manual mode by setting up elevon mixing on your RC transmitter. It matters which elevon is plugged into which channel! For me on the Skyfun, the left wing ailerons should be plugged into Ch1 and the right wing is Ch2
- Now that it's working in manual, go through the regular setup process in the Mission Planner to teach APM your radio settings.
- Move the elevon select DIP switch to the top position. Reset the board.
- Now put your toggle in stabilize mode and move the plane around to test. You'll probably have to reverse something. On the Skyfun, I had to reverse Elevon Ch1. Just change one thing at a time!
- If ROLL is functioning properly but PITCH is reversed, or vice versa, try swapping the servo cable channels.
Reminder: if you are flying in Elevon mode, your RC transmitter must be set up to do elevon mixing, too. Elevon mode only works with transmitters that can support that (almost all do).
Throttle reversing is still set up in the config file – we did not want someone flipping a dip switch and having their throttle go to full!
If you need to reverse your throttle channel, change the following line in your {{{APM_Config.h}}} file to "ENABLED":
{{{# define THROTTLE_REVERSE DISABLED}}}