Instructions for connecting a PPM-Sum receiver are here. Follow the pirate step by step! How to set up an additional toggle switch on a mission planer

APM supports various GCS.

The following options are currently available for download:

  • APM Mission Planner: Windows. This utility allows you to configure the autopilot, plan a route, monitor and control the flight.
  • HappyKillmore GCS: Windows. This is a full-fledged GCS supporting multiple autopilots, developed in conjunction with the DIY Drones team and is fully APM compatible.
  • QGroundControl: Powerful, customizable GCS from the team that developed the MAVLink protocol used in APM. Support Linux, Windows, Mac.

APM Mission Planner

  • ARTIFICIAL HORISON - an artificial horizon, remember that it is reversible in relation to the roll of the aircraft.
  • AIR SPEED - air speed, if there is a sensor.
  • GROUND SPEED - ground speed
  • BATTERY STATUS - battery status
  • ALTITUDE - altitude, blue mark - rate of descent
  • GPS STATUS - state of the satellite navigation module
  • CURRENT AUTOPILOT MODE - autopilot operating mode, RTL means return to the launch point.
  • DISTANCE TO CURRENT WAYPOINT ">" CURRENT WAYPOINT NUMBER - distance to the next point, number of the next point
  • СROSSTRACK ERROR AND TURN RATE Track following error and turn rate
  • HEADING DIRECTION - course
  • BANK ANGLE - bank
  • WIRELESS TELEMETRY CONNECTION - quality of telemetry communication depends on the number of lost packets
  • GPS TIME - time received from the satellite navigation system
  • RED LINE - direction of the aircraft axis, heading
  • GREEN LINE - destination course, including exchange rate correction
  • BLACK LINE - the course received from the satellite navigation receiver, often cannot be trusted
  • YELLOW LINE - direction to the next waypoint (in this case, the plane is in a circle above this point)

APM Mission Planner is a program that allows you to configure and control UAVs based on APM.

Details on how to use it here.

Autopilot modes

Ardupilot has a number of built-in flight modes, and will have even more as it develops. Ardupilot can act as a simple flight stabilization system or perform complex automatic piloting. Flight modes are controlled by radio or using logic embedded in the events.pde file.

To configure the correspondence of the switches on the radio transmitter to the autopilot modes, you should configure "Flight Modes" using the "Mission Planner" program or via text terminal: (Setup/Modes).

Modes:

Manual control. Channels from the radio receiver are transmitted directly to the drives.

STABILIZE

Stabilization mode, in this mode, roll and pitch control are assisted by the autopilot; if you release these handles, the plane will automatically return to level flight. The throttle is controlled directly from the receiver.

FLY BY WIRE_A

The autopilot deflects the aircraft exactly to the angles of deflection of the roll and pitch control levers, the throttle is controlled manually, but is limited to the values ​​​​defined in the THR_MIN and THR_MAX parameters, by default THR_MIN = 0. but if you wish, you can increase this value, but you should understand that if you activate FLY BY WIRE_A mode (even on the ground) then the motor will start. This mode is great for teaching beginners how to fly.

FLY BY WIRE_B

Requires an airspeed sensor, the autopilot automatically controls the dive and throttle to achieve a constant flight level, the flight level can be changed using the pitch lever. The mode is great for testing altitude control settings.

Automatic following to pre-programmed points, allows for customization to allow manual steering. When the mode is interrupted, the mission continues, follows to the next point, if all points are passed once, it switches to RTL mode; to repeat the route, a restart of the controller / radio command is required

The plane automatically returns to the launch point and stands in a circle at a certain altitude; manual taxiing is allowed.

The plane stands in a circle at the current position determined by the satellite navigation system data. This makes it possible to compensate for wind drift.

* "Steering": Let's assume that a model airplane is flying in one of the automatic modes and a situation arises that requires an urgent maneuver. You can use the roll and pitch controls to perform a maneuver, and once the controls are released the aircraft continues to steer automatically.

Additional modes

Automatic takeoff can be specified during mission planning and activated by selecting the AUTO mode. Automatically maintains takeoff pitch and horizontal roll position. In the latest firmware versions, it is possible to configure the use of the rudder and steering wheel drive during takeoff and landing. The gas control method is determined by the firmware version. Gas is limited by the THR_MAX parameter. The aircraft maintains this mode until the altitude specified during mission planning is reached, and then enters the automatic waypoint phase.

Note from the translator: In early versions of the firmware, starting with the ardupilot mini (ardupilot legacy), throttle control during the takeoff phase was truly manual, which corresponds to the description in the English version of Wikipedia, which is logical and safe. However, in arduplane2.6.8, current at the time of translation, the logic value is set to use full throttle at this stage.

An automatic landing can be set during mission planning and activated when the last waypoint is reached. The gas is controlled by the autopilot. When entering the radius of the last point, the current course of the aircraft is recorded, and when it reaches a height of 3 m above the height specified for the landing point (or 2 seconds before reaching the coordinates of the landing point), the gas is turned off. Roll and pitch control tactics are determined by the presence of an airspeed sensor, parameter settings and firmware version.

in the latest firmware the RUDDER_STEER parameter has appeared. If enabled, the ailerons work to maintain the horizon during takeoff and landing, the rudder (and the steering wheel, if any) are deflected to control the course

And I didn’t write reviews, partly due to lack of time, partly because of the situation in Ukraine :(
In general, it was a free evening and I decided to write a review on my favorite controller, since there was a large amount of video material on setup and assembly. But I think I will write at the minimum, for that there will be a lot of videos, it’s not for nothing that I did so much work: ) Well, let's begin.
The AWP controller is today the most multifunctional and inexpensive, it is used most often on multicopters (Arducopter firmware) and on airplanes (Ardupilot firmware) and also supports a car and a helicopter, in general, here are the platforms that the controller supports: The AWP has the largest number of flight modes from of all controllers on the market, the ability to control the drone using a smartphone or tablet, which opens up enormous functionality: creating a flight task, control, switching modes, monitoring and telemetry with all the data, and much more... The disadvantage of this controller is that it does not fly out of the “box”, but requires knowledge and serious training. But in my videos I tried to explain as simply and in detail as possible from A to Z, I hope it will help beginners, and it will be useful to people who have decided to master an automated workplace.
This article and video will discuss connecting the controller to a quadcopter; in the future there will be the same video course on Ardupilot, that is, on installation on an airplane.

In April, a complete set appeared on Banguda for a tempting $137, which at that time was probably the lowest price for such a set.
Of course, I expected a trick for such a price, but the toad nodded approvingly and did not disappoint her later, the kit turned out to be of high quality, and everything worked right away. The parcel arrived very quickly, not even two weeks had passed.
The delivery set included: an automated workplace controller already with a box, a damper pad for the controller, a GPS module with a magnetometer in the case and with a stand, 433 MHz radio telemetry, Minimosd and Power Module, not bad for that amount :) (video with unboxing and packaging above in at the beginning of the article) The only thing that is not included in the kit, and will be needed for flashing the OSD, is an FTDI programmer, you can buy it there on Banguda,

The first thing it is advisable to do is flash the PPM-encoder, this will immediately save us from further dancing with a tambourine. In any case, it is always advisable to upload the latest PPM-encoder firmware for proper processing during a false save. Instructions for the firmware:



:

You can also immediately upload the correct config to the GPS module, even though the GPS worked fine in this set, I still played it safe. Instructions for setting up GPS:



:

Let's start assembling, connecting and flashing the controller itself. More details in this video:

After connecting and flashing, you need to configure the quadcopter PIDs.
Easy adjustment of the PID value of Pitch and Roll using the knob on the equipment:


More advanced PID tuning using Autotune mode:

After setting up the PIDs, it's time to connect radio telemetry. Details about using telemetry with a smartphone or tablet, as well as about flight modes and False settings:

Now, after all the settings, you can connect the Power Module, but we will only use it as a current sensor. Video about setup and connection:

Before connecting the OSD and using the quadcopter for FPV flights, it is worth thinking about the correct power supply of the controller. Since all failures of the workstation occur precisely because of poor power supply. Details about the correct power supply of the controller:


Well, or if it is not possible to organize power supply like I have, buy any VEC for 5 volts, although it will not be 100% reliable. And I do not recommend powering it from any Power Module that is positioned as an automated workstation, just use it as a current sensor.

It's time to connect MinimOSD. Details about the firmware, configuration and connection:

Now you can fly and be happy :)
I hope you liked my version of the article: Few books - Many films :)
Having gone through all the settings step by step according to my video instructions, you will probably take off. I think the video material will be enough for you to comprehend the zen of the workstation controller, and a whole day to review everything.
Let's like those who liked the work done on the video tutorials, and also so that I have an incentive to make a similar course on Ardupilot.

I'm planning to buy +76 Add to favorites I liked the review +45 +110

In the comments, people complained that the electronic part was not clear. Following the wishes, I decided to expand on this topic in more detail. Since the volume is quite large, I decided not to overload that diary, but to issue it as a separate article with step-by-step instructions for installing firmware on Megapirate. At the moment this is the firmware I like the most. By the way, megapirate supports options for airplanes, cars, and helicopters. Support for several flight modes has been implemented, a simple option for each mode and flight along a route specified by GPS points. Of all these goodies, I'm currently interested in stable flight. Well, maybe later I’ll dabble in the simple mode. This is when, at the start, the copter remembers the compass readings, and when flying, it doesn’t matter where the front of the copter is, where the back is - it itself transforms the direction of flight. Let’s say, you tilt the aileron stick forward. And the copter flies forward, regardless of whether it is located sideways or in front of you!

The history of the firmware is as follows - there is a team of developers of the Ardukopter project. They released it. Previously, on the site they said that Crius AllInOnePro was enough (it seems on Parkfly), but later they stopped supporting the “third-party” board. The goal of the Megapirate project is to adapt these firmware for cheaper sensors and boards, to make the firmware more universal, while maintaining all the advantages. One of the developers, our compatriot, you can search for him on another modeling forum under the nickname "Sir Alex".
Our task in this article is minimal - to find, configure the firmware and program the flight controller to it. That is, we will not fully understand flight modes or firmware code - this is all beyond the scope of the article. We download, configure, compile, configure the copter's sensors - this is our entertainment program.
One more note. If you are the happy owner of boards supported by Ardukopter, skip this whole procedure with Megapirate, go straight to Mission Planner, and you can upload the firmware directly from the Internet. To do this, do not click Connect, but select the port and speed, Initial Setup - Install Firmware, look at the pictures, and select your frame type by clicking on the corresponding picture. The firmware itself will be downloaded from the Internet and uploaded to the controller. After this you can connect to the board. Next - as described below in the MP instructions (calibration of sensors and sticks).

IMPORTANT ADDENDUM:
This article describes the currently outdated manual method of loading firmware into the controller. This article is probably of interest now: “how to RELIABLY do everything with your own hands.” There is a FlashTool program (description, download from here), with which the process of setting up the firmware and “uploading” it to the controller is simpler. You just need to select in the program the type of your controller, the type of RC channel layout, the presence and type of GPS... and click the Update button. The program itself will download the current version of Megapirate, configure it itself, and upload it to the controller itself. Hint: immediately after flashing the firmware, check the correct channel layout on the “radio calibration” tab. And only after that calibrate the sensors. The process of flashing the controller using the FlashTool program is well described by another person.
The article below is also generally valid; you can still do everything yourself. (05/21/2014)

Preparation. Let's start by searching for programs. We will need:
1) Arduino IDE (Arduino IDE, hereinafter IDE)
2) The firmware itself, for example this one. You need to select the firmware carefully, reading the list of problems found or solved with it. It's a very creative process. Older firmware versions can be found. Release firmware for this summer and newer can be found. At the time of writing, the sensors in my board were not supported by the available release firmware, I had to take the beta version HERE (look for the "Download ZIP" button on the right).
3) Mission Planner program (Mission Planner, hereinafter MP). The program updates itself from the Internet.
You will also need the Internet, download something in the process (if you don’t have it installed), more on that below. (I’m not talking about the brains under the skull, having workers is a must)))

Settings all this goodness.
So, all the programs have been downloaded, let's start shamanizing. Let's unpack the downloaded archive to the root of drive C, for example "c:\arduino\". Next, go to the “C:\Arduino\libraries” directory and delete everything there. Exactly EVERYTHING, all the folders, down to one. that is, our libraries directory remains absolutely clean for now.
Next, unpack the file with the megapirate firmware. Let the entire contents of the archive be located in the "C:\ardupilot-mpng\" directory. Next, go to the folder "C:\ardupilot-mpng\libraries", take EVERYTHING from there, and copy all the folders to the folder "C:\Arduino\libraries". We copied the project libraries into the Arduino environment; they are necessary for successful compilation of the project. You also need to take the “pde.jar” file from the “C:\ardupilot-mpng\” folder and copy it to the “C:\Arduino\lib\” folder, overwriting the one already there with a new one. I’ll explain why below.
If you connect the controller board to the computer without installing the driver, you will see something like this:


This means that you are connecting the boards to the computer for the first time. If you open START - SETTINGS - SYSTEM PROPERTIES - DEVICE MANAGER, you will see something like this: "CP2102 USB..."
Then download this driver and unzip it somewhere. We are interested in the CP210xVCPInstaller_x86 file (as a rule, this is it if we have an x86 processor), and install the driver. If everything went fine, then go to the system properties - device manager - and see the installed device.

Open its properties and set the port speed to 115200.

You need to pay attention to the COM port number. As a rule, this is COM3, if you have not installed anything before, remember the number of your COM port. Next we close it all. The device is ready for flashing.
Open the Arduino environment (remember? - IDE, file arduino.exe) and configure it.
ATTENTION.Every time you start Arduino IDE it will prompt update. Do this NO NEED, since some libraries work specifically with this version of the IDE.

We select the com port (which we recently installed), select your type of board (if you have a mega, then we are looking for 2650, but maybe you even have an Arduino Uno, or mini), ....

Programmer type....

And the HAL type is MegapirateNG (this is why we rewrote the “pde.jar” file, otherwise this item is not in the menu). As they write below, you need to restart the IDE environment.
Addition. Here some people have problems compiling the project. You may need to configure the project's home directory. To do this, click menu file > settings > sketches folder location> put "C:\ardupilot-mpng\". After this it should compile without errors.

Now setting up the firmware.
Open the IDE environment, open the file "ArduCopter.pde", located in the folder "C:\ardupilot-mpng\ArduCopter\".

Now we are looking for a triangle on the right, like this (on the right!!!)

open the list of open project files, select the file "APM_Config.h". We look for the line “//#define FRAME_CONFIG HEXA_FRAME” in it (about the 21st line from the top) and edit it so that it looks like this “#define FRAME_CONFIG QUAD_FRAME”. A little clarification is required here. All lines starting with the characters "//" are commented out and do not work. That is, we uncommented the frame type and corrected it from a hexacopter to a quadcopter (from six to four motors). Frame options are shown right below. It is possible to make some additional edits for your specific controller, but I can’t predict all the options and I don’t know the firmware code. I can only give a link to a forum or website where you can ask for help in case of difficulties.
(or, for example, for the red Hobbyking AllInOnePro Mega board, you need to define the board type in "APM_config.h" "#define MPNG_BOARD_TYPE HK_RED_MULTIWII_PRO")
I think there are enough edits, you can flash it. Press the “right arrow” button (see the previous figure, the button on the left) and wait. The project will first be compiled and then uploaded to the board. If there are errors, they will be written at the bottom of the IDE and highlighted in orange. If you have a board connected, drivers are installed, the IDE itself is configured and you haven’t edited anything extra, the firmware will fly onto the board. UVF.

Now setting stitched flight controller.
We close everything and install the Mission Planer (MP). When starting, it may ask you to update.

We allow it. After that, he may ask you to install Microsoft Net Framework 4.0 (let's leave this to the conscience of the lazy programmers who created the MP). You can download the Framework installer from here. After downloading, run the installation and reboot the system. Perhaps the MP (let him hiccup!) will ask you to download and install the 4.5 framework as well. Answer YES to his question, the Microsoft page will open, click "update my PC". After pumping out and installing the next megabytes (agrrrr), the MP should start. God bless. I have not conducted experiments, perhaps MP will be able to start if you only have .Net Framework 4.5 installed - I don’t know. But when I first started, he clearly told me: “I want framework version 4.0.”

Now the crucial moment (how many more there will be))). In the upper right part of the program, select the COM port number (the following are screenshots from another computer, my COM port number seemed to have changed), and the speed is 115200. Click the “Connect” button next to it. The inscription “Connecting Mavlink” will appear and inside the window “Timeout 29”, then “Timeout 28” - a countdown. If it counts to 0, you did something wrong, and the program does not see your controller. Check the COM port number and speed - both in the program and in the device manager. Maybe your Arduino firmware has not gotten into the board - check everything again. The program should start reading different parameters, as in the screenshot below:


If your program has connected to your scarf, we breathe a sigh of relief - all that remains is to calibrate the sensors and control sticks.

Sensor calibration in MP.
It is recommended to clear the EEPROM before calibrating sensors. This is the memory where settings (variable values) are saved. To do this, go to the Terminal (screenshot towards the end of the article), so we write Setup, then Erase. After erasing the EEPROM, you can go calibrate the sensors.

Go to the "INITIAL SETUP" tab, then "Mandatory Hardware" (in the "Install Firmware" tab - don't click anything, otherwise you'll have to load the firmware into the IDE again), straight into Compass (we've already selected the Frame Type and uploaded it to the controller via IDE) - we will calibrate the compass (magnetometer). To do this, check both the Compass boxes - Enabled (activated) and Auto Dec (if suddenly you can’t calibrate it automatically, you can try to manually enter these magic declination numbers, to know them, and what is this magnitude? and what is it for your area. ...). Click the Live Calibration button. Next, the program will warn us that within 60 seconds we will need to rotate our quad (or whatever you have assembled) along all axes. Everyone deciphers for themselves what it means “on all axes”, I rotate it like this:
1) two full turns in the horizontal plane, as the quad stands clockwise
2) two full turns in the horizontal plane, as the quadric stands counterclockwise
3) I turn the quad with its left side down, and turn it two full turns in the horizontal plane, clockwise
4) I twist two full turns in the horizontal plane, counterclockwise
5) I align the quad back, turn it right side down, and twist it two full turns in the horizontal plane, clockwise
6) twist two full turns in the horizontal plane, counterclockwise
7) I align the quad back, turn it nose down, and twist it two full turns in a horizontal plane, clockwise
8) I twist two full turns in the horizontal plane, counterclockwise
9) I align the quad back, turn it nose up, and twist it two full turns in a horizontal plane, clockwise
10) twist two full turns in a horizontal plane, counterclockwise
11) I turn the quadric over with its belly up, and turn it two full turns in a horizontal plane, clockwise
12) twist two full turns in a horizontal plane, counterclockwise
If you noticed, I always turn “there” first, and then just “back”. I do this because I don't have a radio modem and the board is connected to the computer via a cord. To prevent it from twisting, I first twist it and then unwind it.
After that, I put the board back on its feet and wait for the remaining time. Typically 5-10 seconds. I admire the inscription Calibration Succesfully, which means the calibration was successful. After this, on the first tab FLIGHT DATA - the cardinal directions should be shown correctly.

UPD: The calibration procedure is somewhat different from the one I described earlier. A sphere appears there, on which each point displays the reading taken from the sensors. To avoid trying to paint the entire sphere until we lose our pulse, let's do this: Mentally define the six edges of our controller: top, bottom, front, back, right, left. And we rotate the copter around these edges. I pick up the laptop, hold the copter at arm's length, and spin around me. Then I change the position of the copter with the other axis up and spin again. It is necessary that all 6 axes be “captured” by the controller. The procedure is not limited in time, the number of readings is also unlimited. I took about 700-800 readings and drew 6 circles on the screen. After pressing the button (even if the program complains that there are not enough samples), the program will count your taken samples and give its verdict on your “dance with the copter”. If there are not enough readings (or they were crowded in only one area), it will say “calibration failed” - start calibration again. If the result is “calibration succesfull”, then everything is fine (even if you cursed, nevertheless the calibration was successful).
It is useful to uncheck the “Auto declination” checkbox before starting calibration and still manually enter the degrees-minutes of magnetic declination for your area. You can view these magical numbers on the website by clicking on the “Declination WebSite” link directly from the Mission Planner.

Next we will calibrate the accelerometer. Click Accel Calibration, uncheck "AC 3.0+" if we have an old type of sensors. If you make a mistake with your choice, it’s okay, press the DISCONNECT button in the right corner, then CONNECT, and come back here again. After the showdown with a check mark, click Calibrate Accel, we will be given commands one by one, and we must carry them out. The commands will be like this:
1) Place the aircraft level. The first calibration step is very important - it is responsible for the horizontal flight of your copter. You can align the copter in advance using a level (regular bubble, construction or laser) - the plane of the motors/propellers must be horizontal.
2) Place it on your left side. We place the quad on the left side (with the left rays down) - we prop it up with something or simply hold it motionless with our hands, and wait for the next command.
3) Place on your right side. We place the quad on the right side (right rays down) - prop it up with something or simply hold it motionless with our hands, wait for the next command.
4) Place the nose up. We put the quad on its “butt” (with its back rays down) - prop it up with something or just hold it motionless with our hands, wait for the next command.
5) Place nose down. We place the quad “face down” (front rays down) - prop it up with something or just hold it motionless with our hands, wait for the next command.
6) Place it backwards)))) We put the quad “on its head” (chassis up) - prop it up with something or just hold it motionless with our hands, wait for the next end of the torment.
The result may be the message Calibration failed - failure. This means we disobeyed the commander (or, when I wrote from memory, I mixed up points 3 and 4). There is only one way out - we carefully read the Busurman commands and execute them until we receive the message “Calibration succesful”. After this, on the first tab FLIGHT DATA - the horizon and roll/pitch should be reflected correctly when the quad is tilted. (some people get confused when the quad lies in front of the monitor, the quad tilts to the right side, while on the monitor it falls to the left - ahh, what to do?))))) - EVERYTHING IS CORRECT, THIS IS THE WAY IT SHOULD BE.

Now calibrate the radio. Megapirate has such a cool and convenient feature. We display all trims (subtrims are also possible) to zero, and click on the “Calibrate” button (it will be instead of the “Completed” button - I have already done the calibration on the screenshot). The program will warn us that all sticks must be moved to maximum positions. Click OK, and rotate all the sticks to the maximum positions, both up and down, press the OK button. Next, the program will tell us that we need to put all the sticks in the middle and the gas to minimum. We do this and click OK. All. The endpoints are configured. We do not turn the end points on the remote control, otherwise we will need to recalibrate again in the same way.

One more comment is needed for the top screenshot. Do you see something calibrated on channel 5 too? I installed the flight mode switch. Now I have a three-position switch - these are the first three flight modes (see screenshot below), the “Gear” toggle switch (which is above the trainer) is a “shift” of the three-position switch to the other three flight modes. You can read how to do this for Turniga 9.x on this Busurman site.
On the next tab, Flight Modes, you can define flight modes in a convenient order. Don't forget to click Save Modes.

That's basically it - the most important thing has been done. On the first tab, in the “actions” section, we can set the quadric’s GPS point “home” (where it can return if the connection is lost, if there is a safety lock configured), we can set “zero altitude”, on the FLIGHT PLAN tab - you can set a flight plan , simply by sticking GPS points on the map. (don’t accidentally send your quad to Antarctica)))) If suddenly your quad crashes to an unknown GPS point in flight, don’t panic, switch the flight mode to one of the manual ones!

Do not forget before the flight, after any operations with the remote control settings or after calibrating the radio in the MP, you need to calibrate the speed controllers to the new throttle values. Calibrating the regulators separately in the gas channel of the receiver will not work. We need a range of values ​​at the flight controller output. This is done like this:
1. Turn off the board power, turn on the remote control (if it was turned off)
2. Set the gas to maximum and turn on the board.
3. We wait until the controller boots up, turn off the board (this is necessary).
4. Turn on the board, wait for the controller to load - the controller should enter the gas range calibration mode. It looks like alternately lighting all three LEDs.
5. Turn the gas stick on the equipment to minimum. You will hear a peak.
6. Turn off the board, that’s it - the regulators are calibrated.

In principle, the basic settings for takeoff were made. There are a few more magical settings that are worth making.
The first is a more subtle calibration of the compass, so to speak, in operation. The fact is that when rotating, the engines create interference in the E/M field, interference in the power wires, careless installation of power cables that did not generate noise, but under load became a source of interference for the compass..... Go to the TERMINAL menu, click Connect button. Now we can give commands directly to the board processor in text mode. The invitation to enter commands ends with the firmware version and the bracket “]” After which we enter commands on the keyboard. We can write help and a list of commands will be displayed. Enter "setup" - enter the settings mode. You can also type help and see a list of installation commands. We need "compassmot". Lines with measurements of results begin to run. We give the gas, hold the quad with one hand so that it doesn’t fly away from us, with the other we give the gas - we spin the engines to the maximum ( AKHTUNG, TB - WE'RE AFRAID OF SCREWS ), wait 5 seconds, and turn off the meat grinder out of harm’s way (gas to minimum and disarm), press Enter on the keyboard. That's it, the compass correction for propeller speed has been entered. A meticulous reader will say - remove the screws, you fool! And he will be wrong. In my quad, without propellers, at maximum speed the correction was 5 conditional parrots, with installed screws - 22!!! (your copter will have different numbers) Do you want perfectionism or flying?
To avoid holding the meat grinder with your hands, it makes sense:
1. You can rearrange the propellers so that when spinning up the copter tends to the ground and not take off. This advice will work for most, but not everyone. But this advice does not apply if your propellers are too close to the beam (low motor and long propellers) - at maximum speed the propeller can hit the beam (I had this happen).
2. Tie the copter to a surface (for example, to a heavy stool, to a table), tie a heavy weight/dumbbell. I think your copter won’t lift more than two kilograms (those who lift it don’t have such questions))).
3. If the frame allows, and the propellers are far enough from the center, you can place a stool on top of the copter, loading it with books or a 5-liter bottle.
3. Dangerous advice - you can hold a friend above his head with outstretched arms, holding his legs. I hold it by pressing the central part to the ground. This is a really dangerous action, propellers cut flesh very easily, especially carbon ones. I warned you!

Secondly, there is such a procedure, automatic horizon leveling. I highly recommend setting it up! It’s done like this: when the engines are disarmed, move the rudder stick to the right all the way (like a simple arming), but wait a LONG time until the special LED lights up. For me it was a green light, for others it may be yellow. We fly up a meter and use the sticks to try to hold it in place so that it doesn’t float away. Within 20 seconds we taxi and sit down, do a disarm. During this procedure, the controller remembers the accelerometer readings and your reaction with the sticks to these readings. Turn off the board and turn it on again. After that, if you drop the sticks during the flight, the controller will align the copter with the horizon ITSELF! This feature has already saved me from a crash once (I started steering and lost the orientation of the quad in relation to me) - I threw the right stick and only worked with the gas, the quad leveled out - the crash did not take place. That is, the STABILIZE flight mode saved me. If there was an acro, the meeting with the planet would be the most welcoming (and tight hug). Perhaps the Alt Hold mode would be even more “saving” for me - this mode exists to maintain altitude. I don’t know when PANIC - you may not even think to switch the flight mode. While I fly with stabilization all the time, sometimes I manage to hang the copter beautifully against the wind - it hangs in place, and I don’t touch the sticks!

I've avoided the topic of PID tuning in this article, for three reasons. Namba one - I myself don’t understand how to configure them correctly. Namba tu - screenshots with ready-made numbers are in the diary at the link at the end. You can read about PID settings in the “original source”. Well, even before the heap - and namba free - everything flies great with the stock PIDs!

P.S. If I didn’t describe everything clearly here, look - he didn’t describe it in words, but simply filmed all the calibrations. Helped me a lot - I recommend watching it.

And finally. If you have any questions, you can try contacting 5timur5 (evil animal) mailTochkaRu. If I'm not too busy, I'll definitely answer. Comments here will be seen by me and questions will be answered only if you are lucky.

Not every assembled GPS+APM kit is capable of immediately and fully performing autopiloting, I mean RTL modes, waypoint flight or loiter. You can find many complaints and questions on the Internet “I turned on the loiter mode, and the copter flew off in an unknown direction.” I had a different situation: the plane turned on the return home, and it suddenly headed into the ground (without FPV). I downloaded the log from APM and it turned out that the GPS altitude readings changed greatly every 2-3 minutes, from the beginning 450 m then 660 m and the number of visible satellites jumped from 6 to 10, i.e. in return home mode, the flight controller relies on data from satellites, so it decided that the launch altitude (house) was 450 m, and the plane was at an altitude of 660 m (this is a city on a hill, the flight took place at an altitude of 20 m from the ground) and I decided to return it to the desired height. I tried to simply walk around the stadium with GPS+APM, then looked at the log, the recorded data was terrible, it was supposedly 2 meters underground, and then in 2 minutes I climbed up the stairs to 80 meters! The fact that the GPS module does not work normally is understandable, but I would like, without fear, to use other APM functions that are not related to it.

Therefore, when testing a new (not yet tested) APM with GPS, it will be successful to use the following modes in a certain sequence:

  1. MANUAL - nowhere without it,
  2. STABILIZE - optional if the radio control does not support a large number of modes,
  3. CIRCLE - “circular” flight mode based on data from the built-in gyroscope, barometer, accelerometer (mode without GPS available),
  4. LOITER or RTL - navigation modes to previously specified points or to the launch point,

To avoid sudden changes in altitude in RTL mode, you need to enter the parameter into the configuration ALT_HOLD_RT=-1 meaning - maintain current altitude in flight home mode.

Perhaps not everyone knows that, starting with APM 2.5, you can install it “upside down”, or rather, you can install it on either side, this is very convenient in conditions of limited space. Parameter responsible for the position (orientation) of the APM in the AHRS_ORIENTATION space.

To install APM 2.6 upside down:

In Mission Planner - Config/Tuning - Full Parameter List - Search (find), look for AHRS_ORIENTATION and set the value AHRS_ORIENTATION=8

One of the popular FPV aircraft models today is the Bixler (Skywalker). Easy to assemble, easy to operate, easy to repair even the most complex. Having a “sloping”, semicircular fuselage bottom, the installation of the APM is very inconvenient. Most of the free space in the fuselage is usually used for batteries (main and for the video transmitter). It is especially convenient to install the APM on the Bixler upside down, under the “cabin” cover.

Before making my first flight, even in manual mode, I needed to tinker with the Ardupilot APM 2.8 setup for a long time. It should be immediately noted that this version differs from the previous 2.6 in the location of the connectors and their purpose. This is especially true for connecting an external compass.

After downloading the firmware, you can already establish a connection with the Ardupilot and make further settings via USB.

The first thing I did in setting up Ardupilot APM 2.8 was accelerometer calibration and radio transmitter calibration. These settings are one of the simplest; no problems or nuances arise there. Therefore, there is no point in describing the process in detail. All instructions are given on the developers' website:

A little less understandable, although in fact still not difficult, is the calibration of the ESC speed controllers. To pair the APM 2.8 board with the speed controllers and achieve precise control of the motors, you will need a simple sequence of actions:

First, remove the propellers from the motors for safety reasons.
The motors must be mounted on the frame, connected to the controllers, which in turn are connected to the Ardupilot board.
The APM board does not need to be connected to computers via USB or radio.

1. Turn on the radio control transmitter (at the time of calibration of the regulators, the radio control must already be calibrated). We set the throttle to maximum.
2. Take the Li-Po battery and connect it to the Power module connector to turn on the autopilot. Accordingly, this battery will also provide power to the regulators.
3. Once turned on, the APM will flash its blue and red LEDs like a police car. This indicates that it is ready for calibration the next time it is turned on. Disconnect the battery from the Power module.
4. Turn on the power again. The regulators emit a standard beep (usually the number of beeps is equal to the number of cans in the battery) and after a while emits a short beep twice, which confirms the calibration for maximum gas.
5. Lower the throttle to the minimum position. The regulators emit one long beep, confirming minimum gas calibration.
6. From this point on, the calibration of the regulators for APM 2.8 is completed and the performance of the motors can be checked.
7. Reduce the gas to minimum and turn off the power to the Ardupilot.

This procedure calibrates the regulators all at once, which is sufficient for most ESC models.

As for calibrating the compass, everything is more complicated. The APM 2.8 board has a built-in internal magnetometer, which, in principle, can be used as a main compass. But because I have an external magnetometer in the same housing with a GPS receiver, it’s better for me to use it. An important point in connecting an external compass: the APM 2.8 board has a separate connector for it directly under the connector for the GPS antenna. Therefore, we connect it there, and not into the 12C connector, as on older versions.


First, I tried to calibrate the APM 2.8 compass using the standard scheme, without thinking about the compatibility of the external and internal compass. This could not be done. Although the calibration process itself did not produce errors and the values ​​in the three-dimensional coordinate system appeared on the screen, the set of these values ​​was still completely incorrect, I would even say inadequate. For normal calibration it was necessary to disable the internal compass APM 2.8. This is done simply: you need to remove the jumper to the right of the GPS connector. Just get rid of it.
From this moment on, the internal compass stops working and only the external one is involved in calibration.
Without an internal compass, the screen shows the error Compass 1 error: 99, but this does not interfere with the calibration process of the external one.
For the first calibration, disable the Use Auto Accept checkbox at the bottom of the window to collect more values. After typing 2000 -2500 values ​​over the entire sphere, you can complete the calibration.

This completes the basic settings related to the equipment. All further work will be mainly on setting parameters for correct behavior in flight.