Ameba Arduino: [RTL8195AM] Realtek Quadcopter – Realtek IoT/Wi-Fi MCU Solutions

Notice: Undefined index: HTTP_ACCEPT in /home/n/newavtjc/radiocopter.ru/public_html/wp-content/plugins/realbig-media/textEditing.php on line 823

Основной процессор

8051 vs AVR vs PIC vs ARM: Семейство микроконтроллеров составляющее основу большинства современных контроллеров полёта. Arduino основан на AVR (ATmel), и сообщество, похоже, сосредоточено на MultiWii, как на предпочтительном коде. Microchip является основным производителем чипов PIC. Трудно утверждать, что одно лучше другого, всё сводится к тому, что может делать программное обеспечение. ARM (например, STM32) использует 16/32-битную архитектуру, при этом десятки используют 8/16-битные AVR и PIC. Поскольку одноплатные компьютеры становятся все менее и менее дорогостоящими, ожидается появление полётных контроллеров нового поколения, которые могут работать с полноценными операционными системами, такими как Linux, или Android.

ЦП: Обычно их разрядность кратна 8 (8-бит, 16-бит, 32-бит, 64-бит), что в свою очередь указывает на размер первичных регистров в ЦП. Микропроцессоры могут обрабатывать только установленное (максимальное) количество бит в памяти за один раз (такт). Чем больше бит может обработать микропроцессор, тем более точной (и более быстрой) будет обработка. Например, обработка 16-битной переменной на 8-битном процессоре происходит куда медленней, чем на 32-битном. Обратите внимание, что код также должен работать с правильным количеством бит, а на момент написания этой статьи лишь немногие программы используют код, оптимизированный для 32 бит.

Смотрите про коптеры:  Интеграл и его применение с примерами решения

Рабочая частота: Частота, на которой работает основной процессор. Также по умолчанию её называют «тактовой частотой». Частота измеряется в герцах (циклов в секунду). Чем выше рабочая частота, тем быстрее процессор может обрабатывать данные.

Программная память/Флэш: Флэш-память — это место, где хранится основной код. Если программа сложная, она может занимать много места. Очевидно, что чем больше память, тем больше информации она может хранить. Память также актуальна при хранении данных в полёте, таких как координаты GPS, планы полёта, автоматическое движение камеры и т.д. Код, загруженный на флэш-память, остается на чипе даже после отключения питания.

SRAM: SRAM расшифровывается как «Статическая память с произвольным доступом» и представляет собой пространство на чипе, которое задействуется при выполнении расчетов. Данные, хранящиеся в оперативной памяти, теряются при отключении питания. Чем выше объём оперативной памяти, тем больше информации будет «легко доступно» для расчетов в любой момент времени.

EEPROM: электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ) обычно используется для хранения информации, которая не изменяется во время полёта, например настройки, в отличие от данных, хранящихся на SRAM, к которым могут относиться показания датчика и т.д.

Дополнительные порты Ввода/Вывода: большинство микроконтроллеров имеют большое количество цифровых и аналоговых портов ввода и вывода, на контроллере полёта некоторые используются под датчики, другие для связи, либо для общего ввода и вывода. К этим дополнительным портам могут быть подключены RC сервоприводы, системы подвеса, зуммеры и многое другое.

Аналого-цифровой преобразователь (A/D converter/АЦП): Если датчики используют бортовое аналоговое напряжение (обычно 0-3.3В или 0-5В), аналого-цифровой преобразователь должен преобразовать эти показания в цифровые данные. Как и в случае с процессором, количество бит, которое может быть обработано АЦП, предопределяет максимальную точность. С этим связана тактовая частота, с которой микропроцессор может считывать данные (количество раз в секунду), чтобы убедиться, что информация не потеряна. Тем не менее, трудно не потерять часть данных во время такого преобразования, поэтому чем выше разрядность АЦП, тем более точными будут показания, но при этом важно, чтобы процессор смог справиться с той скоростью, с которой отправляются данные.

Ameba arduino: [rtl8195am] realtek quadcopter – realtek iot/wi-fi mcu solutions

Skip to content
Youtube

Components you will need for your quad

Every quad will have to include the elements listed below in order to fly. Here is a short summation of each of the various parts of a quad, and we will cover these in more detail as the article goes on:

  • Frame– The “backbone” of the quadcopter. The frame is what keeps all the parts of the helicopter together. It has to be sturdy, but on the other hand, it also has to be light so that the motors and the batteries don’t struggle to keep it in the air.
  • Motors– The thrust that allows the quadcopter to get airborne is provided by Brushless DC motors and each of them is separately controlled by an electronic speed controller or ESC.
  • ESCs – Electronic Speed Controller is like a nerve that delivers the movement information from the brain (flight controller) to the arm or leg muscles (motors). It regulates how much power the motors get, which determines the speed and direction changes of the quad.
  • Propellers – Depending on the type of a quad you build, you can use 9 to 10 or 11-inch props (for stable, aerial photography flights), or 5-inch racing props for less thrust but more speed.
  • Battery – Depending on your setup maximum voltage level, you can choose from 2S, 3S, 4S, or even 5S batteries. But, for a standard for a quad that is planned to be used for aerial filming or photography (just an example), you will need a 11.4 V 3S battery. You could go with the 22.8 V 4S if you are building a racing quad and you want the motors to spin a lot faster.
  • Arduino board –The choice of the specific model depends on the type of the quadcopter you want to build. Whether you are building for aerial photography, racing, freestyle, or more. We will talk about the right choice of board further down the article.
  • IMU – A board that is basically (depending on your choice) a sum of various sensors that help your quad know where it is and how to level itself.
  • RC Controller – The choice of the transmitter depends on the choice of the protocol you are going to use and the signal receiver that is onboard the drone.

These are the basic components of a drone. Read on for a more detailed description of each component:

General “quad science”

As the name suggests, a quad drone is basically a flying vehicle with four electric motors and four propellers. When compared to other RC flying vehicles, the quad, as well as other multi-rotors, comes with the most stable platform, all thanks to its different design, and the direction and the difference between the four thrusts that it generates.

This stability is why quads are perfect for aerial surveillance and filming. They come in all shapes and sizes. From the small ones that can fit in the palm of your hand, to the big ones that are capable of lifting serious filming equipment and gimbals.

You would be surprised by just how much weight the bigger drones can carry!

Now, unlike the traditional helicopter, the quad relies on its four rotors to generate uplifting thrust by working together. Every single rotor lifts around a quarter of the overall weight, which allows us to use smaller and less expensive motors. You basically control the movement of the quad by changing the amount of power each motor delivers to its propellers.

The motors are positioned in every corner of an imaginary square. On one diagonal, you have two motors that rotate in a clockwise direction, while the remaining two, on the opposite diagonal, rotate counterclockwise. If this wasn’t the case, the quad would only spin around like a traditional helicopter when the tail rotor dies.

In order for the balance to be maintained, the quad relies on the data it gathers from internal sensors, and adjusts the power it sends to each motor so that the entire drone is leveled. To keep balanced all of the time, the quad uses an advanced control system, which usually makes the adjustments autonomously, and this is where your Arduino board and your programming come into play.

Usually, each quad comes capable of performing four types of movement: Altitude, Roll, Yaw, and Pitch. Each of these movements is controlled by the amount of thrust each rotor produces. This is why you will need to program your remote control so that it knows how much power to give and to which rotor to give it.

Every quadcopter comes with a microcontroller board with sensors on it, in your case – the Arduino board. This board, together with the components you choose, controls the motors. It is up to you to choose how self-controlling you want your quad to be.

Quads, as with all drones, are highly customizable, and you can truly build one that represents your interests. This is a major appeal of the DIY process to many enthusiasts. Whether you are interested in photography, video, drone racing, or just flying for fun, you’ll find that a quadcopter can offer something for you.

How to program your arduino flight controller

An Arduino flight controller also requires some computer programming to get working. Now that we are done the building and the soldering, we can get into the coding aspect. This section contains a step-by-step guide of what you need to do to get your Arduino flight controller started.

First, you need to download the MultiWii 2.4. Then, when you extract it, you will get this:

Enter the MultiWii folder, and look for MultiWii icon and run it:

Use the Arduino IDE to find the “Arduino File” or Multiwii file with “.ino”. Any “CPP file” or “H file” are the support files for our Multiwii Code so don’t open those. Just use the Multiwii.ino file.

When you open the file, you will find many tabs such as Alarms.cpp, Alarms.h, EEPROM.cpp, EEPROM.h and many more. Find the “config.h”

Scroll down until you find ‘The type of multi-copter” and then by deleting the “//” you mark this as defined and running. Quad X because we are assuming that you are using the “X” rotor configuration on your quad.

Now scroll down and look for “Combined IMU Boards” and activate the type of Gyro Acc Board you are using. In our case, we used the GY-521 so we activated that option.

If you decide to add other sensors such as a barometer or an Ultrasonic sensor, all you have to do is to “activate” them here and they will be running.

Next is the “Buzzer pin”:

There, you need to activate the Flight indicator options (the first 3 ones):

Now, you need to flash the code to your Arduino.

Unplug the Arduino board from the Flight controller and then connect it to your computer using USB. Once out of the FC and connected to your computer, you will find TOOLS and select the type of your Arduino board (in our case Arduino Nano).

Now find “Serial Port” and activate the COM Port that the Arduino Nano is connected to (in our case, COM3).

Finally, click on the arrow and upload the code, and wait for the code to be transferred.

When the upload is finished, unhook the Arduino from USB, insert it back to its place in the FC board, and connect a 5V battery so that the entire FC is powered up, and then wait until the LED on the Arduino is red. That means it has finished booting and that you can connect it to your computer again.

Now, find the Multiwii 2.4folder, then the MultiwiiConfig, and locate the folder that is compatible with your OS. In our case, it is the “application.windows64”.

Now start the MultiwiiConf application:

How to solder everything together

Here’s the order which you should solder all your pieces together:

The first thing you need to do is to take the female headers and solder them to the prototype board. This will house your Arduino board.

Solder them right in the center so that there’s room for the rest of the headers for the MPU, Bluetooth module, Receiver, and the ESCs, and leave some space for some additional sensors you may decide to add in the future.

The next step is soldering the Receiver and ESCs male headers right from the Arduino female headers. How many male ESC header rows you will have, depends on how many motors your drone will have.

In our case, we are building a quadcopter, meaning there will be 4 rotors, and an ESC for each. That further means there will be 4 rows with each having 3 male headers.

The first header in the first row will be used for the Signal PID, the second for the 5V (though, this depends on your ESCs having a 5V pin or not, if not, you will leave these headers empty), and the third header will be for the GND.

When the ESCs are finished being soldered, you can move on to the Receiver headers’ soldering part. In most cases, a quad has 4 channels. These are Throttle, Pitch, Yaw, and Roll. The remaining free channel (the fifth one), is used for Flight mode changes (the Auxillary channel).

Part #1 – frame

Although it might be tempting to buy a preassembled frame kit, building the frame on your own can help you kick start your true DIY process. The Frame of your quadcopter has to possess strength, but it also has to be flexible enough to compensate for the vibrations the motors produce. It needs to have the following parts:

  • Center Holding Plate – for mounting the electronics.
  • Arms – there are four arms on a quad.
  • Motor Brackets – you need four of them so that you can connect the motors on each arms end.

The frame can be made of aluminum, carbon fiber or wood but the material that is mostly used for the arms is aluminum.

More precisely, the square hollow rails of the arms are made of aluminum. They are relatively lightweight, rigid and cheap. But, since they are not known as great compensators for the motor vibrations like carbon fiber ones are, they can confuse the sensors.

Carbon fiber offers much better absorption of the motor vibrations and is the most rigid one. But, it is also the most expensive one. Carbon fiber is the superior choice, but this very much depends on your personal budget.

Wood boards are also better for motor vibration absorbtion, but are quite fragile and can break easily in the event of a crash. You can also opt for a frame that is pre-made and only needs assembling, and you can find out more about those in our article about frame kits.

Check out our suggestions for the best-premade frames which you can use as a base for your project:

Part #2 – brushless motors

These motors are almost the same thing as traditional DC motors, but the shaft on them doesn’t come with a brush, which is there to change the direction of the power that goes through the coils. When buying these motors, you need to check their technical data.

The most important ones are the “Kv-rating“, which tells you the number of RPMs the motor is capable of generating with a certain amount of electric power.

Also, you will need motors that rotate counter-clockwise, so that they counteract the props torque effect. For a better understanding of this topic, we suggest checking out our article about drone motors.

For the motors(or rotors),we would suggest these models:

Part #3 – propellers

Propellers generate thrust, and each motor needs one in order for the quad to fly. Make sure that you buy the proper rotating pairs of propellers for clockwise and counterclockwise rotation. They can be bought in various pitches and diameters.

You have to choose the propellers according to the size of your frame, and once you have decided which propellers you will use, only then you can choose your motors. Propellers are standardized, and here are the most used ones for quads:

  • 5 pitch, 8 diameter – Small quads
  • 8 pitch, 9 diameter – Small quads
  • 5 pitch, 10 diameter – Medium-sized quads
  • 7 pitch, 10 diameter – Medium-sized quads
  • 5 pitch, 12 diameter– Provide plenty of thrusts and are great for quads that are larger

Since aerodynamics is just more than confusing and difficult to understand if you are not an Engineer in Aerodynamics, we will explain a few important terms in a few words.

First, the larger the diameter and pitch are, the more thrust will the propeller produce. It will need more power, but the quadcopter will be capable of lifting more weight. For high RPM motors, you need smaller or mid-sized propellers. For low RPM motors, you need the larger propellers so that they can keep the quad in the air at lower speed.

Second, to achieve the perfect balance between the motors and propellers, you first need to decide what you will use the quad for. For example, if you want to build a stable and powerful enough quad to lift filming and photography equipment, you should use a motor with less RPM’s and more torque, and longer or higher pitched propellers.

If you want good performance propellers we recommend you to get any of these:

Part #4 – esc (electronic speed controller)

The device that is in charge of controlling the speed of the motors is a cheap controller board, used only for motors. It comes with an input for a battery, and has a motor output with three phases, so you will need four of them for each motor.

When buying the proper ESC, you need to pay attention to the max level of the current that comes from the source. Choose a controller with 10A or higher.

Also, you need to check how programmable it is, meaning that you need to buy an ESC that will allow you to change the signal frequency range to the value you want.

When it comes to ESCs (Electronic Speed Controllers), we would suggest these models, which are great and stable:

Part #6 – imu (inertial measurement unit)

This unit is in charge of measuring the quad’s orientation, velocity, and the force of gravity. This allows the electronics to control the amount of power sent to motors, in order to adjust the motors’ speeds. The unit comes equipped with a 3-axis gyroscope, and a 3-axis accelerometer. This combination is known as the 6DOF IMU.

Here’s a good option for building a quad: KNACRO 6508 IMU MPU6050 MPU-6050 6DOF 

The gyroscope is there to read the values of angular velocity, while the accelerometer is in charge of measuring acceleration and force, meaning that it can feel the downwards gravity. Since it comes with three-axis sensors, it can sense the orientation of the quad.

Part #7 – flight controller

You can either choose to use a controller board that’s only purpose is to control a quadcopter, or you can choose an Arduino UNO. This is a general purpose microcontroller that allows you to build your own flight controller by buying the parts you want to install, and assembling the controller on your own.

If you are interested in getting started with electronics and coding, the Arduino UNO is the best possible board you can use. It is the most reliable and robust platform, and it allows you to literally play with it any way you want.

It comes with:

  • 14 digital input/output pins (6 of them can be used as outputs for PWM)
  • 6 analog inputs
  • a 16 MHz quartz crystal
  • a USB connector
  • a power jack
  • an ICSP header
  • a reset button

You can use the USB cable to connect it to a computer, a battery, or an AC/DC adapter to power it up.

The best thing about this board is that it allows you to mess with it and not worry about destroying it. The worst thing you can do to it is fry the chip, which luckily can be replaced with only a couple of dollars.

You can program the “UNO” with the Arduino Software. To get the details which will help you get started with your Arduino UNO Flight Controller, please go to the last section of the post.

Wrap up

Building a drone all on your own can be a complicated and arduous process. However, it is also guaranteed to come with its own sets of rewards and satisfactions. It is very easy to go to the store and buy a drone that is ready to fly, but people who build drones from scratch don’t do it for this reason.

We are hoping that this article helped you and gave you a better insight to what each part of the quadcopter does. Now you should know how to select the right parts for your quadcopter. If you manage to build your own quadcopter and everything goes well, you can check out our other article about how to fly a quad to get more tips.

Additionally, here is a video series that shows how to put all the parts together and build an Arduino Quadcopter from scratch. If you are a visual learner, this should be a nice supplement to this article that you can reference if you are ever stuck in any stage of building your quadcopter:

Feel free to leave a comment or give us some feedback on this post. Happy building!

Дополнительные соображения

Функциональность: Производители полётных контроллеров, обычно, стараются предоставить как можно больше функций — либо включены по умолчанию, либо приобретаются отдельно в качестве опций/дополнений. Ниже приведены лишь некоторые из множества дополнительных функций, на которые вы, возможно, захотите взглянуть при сравнении контроллеров полёта.

Демпфирование: даже небольшие вибрации в раме, обычно вызываемые несбалансированными несущими винтами и/или моторами, могут быть выявлены встроенным акселерометром, который, в свою очередь, отправит соответствующие сигналы на главный процессор, который предпримет корректирующие действия. Эти незначительные исправления не нужны или не желательны для стабильного полёта, и лучше всего, чтобы контроллер полёта вибрировал как можно меньше. По этой причине между контроллером полёта и рамой часто используются виброгасители/демпферы.

Корпус: защитный корпус вокруг контроллера полёта может помочь в различных ситуациях. Помимо того, что корпус выглядит более эстетично, чем голая печатная плата, корпус часто обеспечивает некоторый уровень защиты элект. элементов, а также дополнительную защиту в случае краша.

Монтаж: Существуют различные способы установки контроллера полёта на раму, и не все контроллеры полёта имеют одинаковые варианты монтажа:

  1. Четыре отверстия на расстоянии 30.5мм или 45мм друг от друга в квадрате.
  2. Плоская нижняя часть для использования с наклейкой.
  3. Четыре отверстия в прямоугольнике (стандарт не установлен).

Сообщество: поскольку вы создаете кастомный дрон, участие в онлайн-сообществе может значительно помочь, особенно, если вы столкнулись с проблемами или хотите получить совет. Получение рекомендаций от сообщества или просмотр отзывов пользователей, касательно качества и простоты использования различных контроллеров полёта, может также быть полезным.

Аксессуары: Для полноценного использования продукта, помимо самого контроллера полёта, могут потребоваться сопутствующие элементы (аксессуары или опции). Такие аксессуары могут включать, но не ограничиваются ими: модуль GPS и/или GPS антенна; кабели; монтажные принадлежности; экран (LCD/OLED);

Как еще можно модернизировать квадрик

Узким местом коптера являются его коллекторные движки. Если поискать, можно найти чуть более крупные и более мощные моторы, чем предложены в нашей статье, но значительного выигрыша в характеристиках не произойдет.

Впрочем, у нас была цель собрать недорогой квадрокоптер своими руками, и именно поэтому использовались дешевые моторы. Бесколлекторные двигатели заметно дороже, но зато они дадут вам заметно большую мощность и надежность. К ним придется докупить еще и контроллеры скорости, но это действительно эффективная модернизация.

Выбор платы Arduino Uno обусловлен тем, что с нее можно довольно легко снять чип и поставить его на ProtoBoard. Это позволяет уменьшить вес дрона на 30 грамм, но придется включить в схему дополнительные конденсаторы. Подойдет и плата Arduino Pro Mini.

Что касается программы Arduino, то ее можно сравнительно легко изменить и дополнить новыми функциями. Главное, что с ее помощью дрон способен в автоматическом режиме стабилизовать свое положение.

На квадрокоптер могут быть установлены дополнительные модули, например, плата приемника, что позволит организовать дистанционное управление дроном.

Необходимые детали и узлы

Прежде чем приступить к сборке квадрокоптера своими руками, необходимо обзавестись всеми необходимыми деталями. Мозгом нашей самоделки станет полетный контроллер Arduino Uno. Его возможностей более чем достаточно для того, чтобы управлять беспилотником.

Помимо микроконтроллера, нам понадобятся:

  • Аккумулятор (лучше несколько) на 3.7В
  • Плата MPU-6050 (на ней установлены гироскоп и акселерометр)
  • Транзистор ULN2003A
  • Коллекторные двигатели с полым ротором 0820
  • Провода

Необходимо сделать несколько замечаний. Так как мы собираем дешевый самодельный дрон, то наш выбор пал на коллекторные движки с полым ротором (так называемые coreless motors). Они далеко не так надежны, как бесколлекторные двигатели, но зато гораздо дешевле стоят. Кроме того, можно обойтись без дополнительных контроллеров скорости.

Зато невозможно обойтись без гироскопа и акселерометра. Гироскоп необходим для того, чтобы квадрокоптер мог удерживать заданное направление движения, тогда как акселерометр используется для измерения ускорения. Без этих устройств управлять коптером было бы гораздо сложнее (если вообще возможно), так как именно они предоставляют данные для сигнала, регулирующего скорость вращения винтов.

Мы не указали в списке необходимых деталей раму. Ее можно приобрести, а можно распечатать на 3D принтере каркас, лучи и крепления для двигателей. Второй вариант нам кажется более предпочтительным, тем более, что в интернете можно без труда найти проекты квадрокоптера.

Распечатанная на принтере рама окажется не только легкой, но и прочной. Но если доступа к 3D принтеру нет, раму можно заказать.

Питание

Часто в спецификации полётного контроллера описываются два диапазона напряжений, первый из которых представляет собой диапазон входного напряжения самого контроллера полёта (большинство работает при номинальном напряжении 5В), а второй — диапазон входного напряжения основного микропроцессора (3.3В или 5В).

Поскольку контроллер полёта является встраиваемым устройством, вам необходимо обратить внимание только на входящий диапазон напряжения контроллера. Большинство контроллеров полёта мультироторных БЛА работают при напряжении 5В, так как это напряжение вырабатывает BEC (для получения дополнительной информации см. раздел «Силовая установка»).

Повторим. В идеале не нужно запитывать контроллер полёта отдельно от основной батареи. Единственное исключение — если вам нужна резервная АКБ на случай, когда основная батарея отдаёт столько энергии, что BEC не может вырабатывать достаточно тока/ напряжения, вызывая тем самым отключение питания/сброс. Но, в таком случае вместо резервной батареи часто используют конденсаторы.

Подключение к контроллеру

Для того, чтобы управлять коптером, нам необходимо получить контроль над моторами, подключив их к Arduino. Контроллер дает на выходе лишь небольшое напряжение и силу тока, поэтому подключение двигателей напрямую лишено смысла. Вместо этого можно поставить несколько транзисторов, позволяющих увеличить напряжение.

Для составления схемы нам необходимы:

Все это собирается на монтажной плате и соединяется коннекторами.

На первом этапе следует подсоединить 4 ШИМ выхода (обозначены

) к транзистору. Затем подсоедините коннекторы к движкам, подключенным к питанию. В нашем случае мы используем аккумулятор на 5В, но подойдет и аккумулятор на 3-5В.

Транзисторы должны быть заземлены, а земля на плате Arduino должна быть подключена к земле аккумулятора. Двигатели должны вращаться в правильном направлении, то есть работать на подъем коптера, а не на его крен.

Переключив контакт двигателя с напряжения 5В на транзистор, вы увидите, что ротор изменит направление вращения. Единожды совершив настройку, больше возвращаться к изменению направления вращения ротора не придется. Теперь нас интересует скорость.

Запустив и проверив акселерометр, мы устанавливаем нашу схему на ProtoBoard. За ее неимением, можно использовать и обычную монтажную плату, предварительно напаяв на ней рельсы для контроллера.

Перед тем, как припаивать акселерометр к плате, необходимо выполнить его калибровку на горизонтальной поверхности. Это поможет добиться более точной работы сенсора в будущем.

Режимы полёта

Ниже приведён список самых популярных режимов полёта, тем не менее не все из них могут быть доступны в полётных контроллерах. «Режим полёта» — это способ, посредством которого полётный контроллер использует сенсоры и входящие радиокоманды для обеспечения стабилизации и полёта БПЛА.

  • ACRO — обычно режим по умолчанию, из всех имеющихся сенсоров, контроллером полёта задействуется только гироскоп (беспилотник не может автоматически выравниваться). Актуален для спортивного (акробатического) полёта.

  • ANGLE — стабильный режим; из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп и акселерометр. Углы ограничены. Будет удерживать беспилотник в горизонтальном положении (но без удержания позиции).

  • HORIZON — сочетает в себе стабильность режима «ANGLE», когда стики находятся вблизи центра и перемещаются медленно, и акробатику режима «ACRO», когда стики находятся в крайних положениях и перемещаются быстро. Контроллером полёта задействуется только гироскоп.

  • BARO (Altitude Hold) — стабильный режим; из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр и барометр. Углы ограничены. Барометр используется для удержания определенной (фиксированной) высоты, когда с аппаратуры управления не подаются никакие команды.

  • MAG (Heading Hold) — режим блокировки курса (направления компаса), беспилотник будет сохранять Yaw ориентацию. Из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр и компас.

  • HEADFREE (CareFree, Headless, Безголовый) — исключает отслеживание ориентации (Yaw) дрона и тем самым позволяет перемещаться в 2D направлении согласно перемещению стика управления ROLL/PITCH. Из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр и компас.

  • GPS/Return to Home — автоматически использует компас и GPS, чтобы вернуться к месту взлёта. Из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр, компас, и модуль GPS.

  • GPS/Waypoint — позволяет беспилотнику автономно следовать по предварительно установленным GPS точкам. Из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр, компас, и модуль GPS.

  • GPS/Position Hold — удерживает текущую позицию с помощью GPS и барометра (если доступен). Из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр, компас, и модуль GPS.

  • Failsafe (аварийный/отказоустойчивый режим) — если другие режимы полёта заданы не были, беспилотник переходит в режим Acro. Из всех имеющихся сенсоров, контроллером полёта задействуется только гироскоп. Актуален при сбоях в программном обеспечении беспилотника, позволяет восстановить контроль над БЛА посредством ранее предустановленных команд.

Связь

Управление посредством радиосвязи обычно включает в себя RC передатчик/RC transmitter (в беспилотном хобби — радиоаппаратура управления/пульт) и RC приёмник (RC receiver). Для взаимодействия с БПЛА пользователю потребуется как минимум четырёх (и более) канальный RC передатчик. По умолчанию первые четыре канала связаны с:

  • Throttle/Elevation (взлёт и снижение)
  • Yaw (вращение вокруг своей оси влево и вправо)
  • Pitch (движение вперёд и назад)
  • Roll (движение влево и вправо)

Все остальные имеющиеся каналы могут быть задействованы для таких действий как:

  • Арминг (Arming или Arm)/Дизарминг (Disarming или Disarm) — постановка/снятие с охраны моторов.
  • Управление подвесом (панорамирование вверх/вниз, вращение по часовой стрелке/против часовой стрелки, зуммирование)
  • Смена режимов полёта (ACRO/ANGLE и т.д.)
  • Активировать/Задействовать полезную нагрузку (парашют, зуммер или другое устройство)
  • Любое другое применение

Большинство пользователей (пилотов БПЛА) предпочитают именно ручное управление, это ещё раз доказывает, что пилотирование при помощи аппаратуры управления по прежнему является выбором номер один. Сам по себе RC приёмник просто передаёт поступающие от RC передатчика значения, а значит не может управлять беспилотником.

RC приёмник должен быть подключен к контроллеру полёта, который в свою очередь должен быть запрограммирован для приёма RC сигналов. На рынке очень мало полётных контроллеров, которые принимают входящие радиокоманды от приёмника на прямую, а большинство ПК даже обеспечивают питание приёмника от одного из контактных выводов. Дополнительные соображения при выборе пульта дистанционного управления включают в себя:

  • Не все RC передатчики могут обеспечить полный диапазон RC сигналов от 500мс до 2500мс; некоторые искусственно ограничивают этот диапазон, так как большинство используемых RC предназначены для радиоуправляемых автомобилей, самолётов и вертолётов.
  • Дальность/Макс. воздушный радиус действия (измеряется в футах или метрах) RC-системы — практически никогда не предоставляются производителями, поскольку на этот параметр влияют множество факторов, таких как помехи, температура, влажность, заряд батареи и другие.
  • Некоторые RC-системы имеют приёмник, который также имеет встроенный передатчик для передачи данных от датчика (например, GPS-координат), которые в последствии будут отображаться на ЖК-дисплее RC передатчика.

Bluetooth и более поздние продукты BLE (Bluetooth Low Energy) изначально предназначались для передачи данных между устройствами без заморочек сопряжения или согласования частот. Некоторые имеющиеся на рынке контроллеры полёта могут отправлять и получать данные по беспроводной связи через соединение Bluetooth, что упрощает поиск неисправностей в полевых условиях.

Управление по Wi-Fi обычно достигается посредством Wi-Fi роутера, компьютера (в том числе ноутбук, десктоп, планшет) или смартфон. Wi-Fi в состоянии справится как с передачей данных, так и с передачей видеопотока, но одновременно с этим эту технологию сложнее настроить/реализовать. Как и для всех Wi-Fi устройств, расстояние удаления ограничено Wi-Fi передатчиком.

Радиочастота (RF или РЧ)

Радиочастотное (РЧ) управление в этом контексте относится к беспроводной передаче данных с компьютера или микроконтроллера на летательный аппарат с использованием РЧ передатчика/Приёмника (или двухполосного приёмопередатчика). Использование обычного радиочастотного блока, подключенного к компьютеру, позволяет осуществлять двухполосную связь на большие расстояния с высокой «плотностью» данных (обычно в последовательном формате).

Хоть это и не тип связи, самого вопроса, как управлять дроном используя смартфон, достаточно, чтобы уделить ему отдельный раздел. Современные смартфоны это по сути мощные компьютеры, которые по случайному совпадению могут также совершать телефонные звонки.

Инфракрасное излучение (Infrared (IR))

Инфракрасная связь (то что можно найти в каждом телевизионном пульте дистанционного управления) редко используется для управления дронами, так как даже в обычных комнатах (не говоря уже об открытом пространстве) присутствует так много инфракрасных помех, что они не очень надёжны. Несмотря на то, что технологию можно использовать для управления БПЛА, не может быть предложена как основной вариант.

Сенсоры

С точки зрения аппаратного обеспечения, контроллер полёта по сути является обычным программируемым микроконтроллером, только со специальными датчиками на борту. Как минимум, контроллер полёта будет включать в себя 3-осевой гироскоп, но без автовыравнивания. Не все контроллеры полёта оснащаются указанными ниже сенсорами, но они также могут включать их комбинацию:

  • Акселерометр: Как следует из названия, акселерометры измеряют линейное ускорение по трем осям (назовём их: X, Y и Z). Обычно измеряется в «G (на рус. Же)». Стандартное (нормальное) значение, составляет g = 9.80665 м/с². Для определения положения, выход акселерометра может быть интегрирован дважды, правда из-за потерь на выходе объект может быть подвержен дрейфу. Самой значимой характеристикой трёхосевых акселерометров является то, что они регистрируют гравитацию, и как таковые, могут знать, в каком направлении «спуск». Это играет главную роль в обеспечении стабильности многороторного БЛА. Акселерометр должен быть установлен на контроллере полёта так, чтобы линейные оси совпадали с основными осями беспилотника.

  • Гироскоп: Гироскоп измеряет скорость изменения углов по трём угловым осям (назовём их: альфа, бета и гамма). Обычно измеряется в градусах в секунду. Обратите внимание, что гироскоп не измеряет абсолютные углы напрямую, но вы можете выполнить итерацию, чтобы получить угол, который, как и у акселерометра, способствует дрейфу. Выход реального гироскопа имеет тенденцию быть аналоговым или I2C, но в большинстве случаев вам не нужно беспокоиться об этом, так как все поступающие данные обрабатываются кодом контроллера полёта. Гироскоп должен быть установлен так, чтобы его оси вращения совпадали с осями БПЛА.

  • Инерционный измерительный блок (IMU): IMU — по сути, это небольшая плата, которая содержит как акселерометр, так и гироскоп (обычно многоосевые). Большинство из них включают трёхосевой акселерометр и трёхосевой гироскоп, другие могут включать дополнительные сенсоры, например трёхосевой магнитометр, обеспечивающий в общей сложности 9 осей измерения.

  • Компас/Магнитометр: Электронный магнитный компас способный определять магнитное поле Земли и использовать эти данные для определения направления компаса беспилотника (относительно северного магнитного полюса). Этот сенсор почти всегда присутствует, если система имеет GPS вход и доступно от одной до трех осей.

  • Давление/Барометр: Так как атмосферное давление изменяется по мере удаления от уровня моря, можно использовать сенсор давления, чтобы получить довольно точные показания высоты БПЛА. Для расчёта максимально точной высоты, большинство контроллеров полёта получают данные одновременно от сенсора давления и спутниковой системы навигации (GPS). При сборке обратите внимание, что предпочтительнее, чтобы отверстие в корпусе барометра было накрыто куском поролона, это уменьшить отрицательное влияние ветра на чип.

  • GPS:Система глобального позиционирования (GPS) чтобы определить своё конкретное географическое местоположение, использует сигналы, посылаемые несколькими спутниками обращающимися по орбите вокруг Земли. Контроллер полёта может иметь как встроенный GPS модуль, так и подключаемый посредством кабеля. GPS антенну не следует путать с самим GPS модулем, которая может выглядеть и как маленький черный ящик, и как обычная «Duck» антенна. Чтобы получить точные данные местоположения, модуль GPS должен принимать данные от нескольких спутников, и чем их больше, тем лучше.

  • Расстояние: Датчики расстояния все чаще используются на беспилотниках, поскольку GPS-координаты и датчики давления не могут рассказать вам, насколько далеко вы находитесь от земли (холма, горы или здания), либо столкнётесь ли вы с объектом или нет. Датчик расстояния, обращенный вниз, может быть основан на ультразвуковой, лазерной или лидарной технологии (ИК-сенсоры могут испытывать проблемы в работе при солнечном свете). Датчики расстояния редко входят в стандартный комплект полётного контроллера.

Скетч для arduino

Преимуществом выбранного для сборки дрона микроконтроллера является относительная простота работы с ним. Вам не придется читать специальные книги, документы и техническую документацию. Достаточно знать основы программирования Arduino, которые, как вы сейчас убедитесь, не так сложны.

Подсоединив плату MPU-6050 к контроллеру, включите его и перейдите по ссылке.

Нас интересует скетч I2C scanner code, вернее, его код.

Скопируйте программный код, вставьте в пустой скетч, после чего запустите его. Убедитесь, что подключение установлено к 9600 (для этого запустите Arduino IDE через Tools-Serial Monitor). Должно появиться устройство I2C с адресом 0×68 либо 0×69. Запишите или запомните адрес. Если же адрес не присвоился, скорее всего проблема в подключении к электронике Arduino.

Затем нам понадобится скетч, умеющий обрабатывать данные гироскопа и акселерометра. В интернете есть множество вариантов, и найти подходящий не проблема. Скорее всего, он будет в заархивированном виде. Разархивируйте скачанный архив, отройте Arduino IDE и добавьте библиотеку (sketch-import library-add library). Нам понадобятся папки MPU6050 и I2Cdev.

Открываем MPU6050_DMP6 и внимательно просматриваем код. Никаких сложных действий производить не придется, но если был присвоен адрес 0×60, то необходимо расскоментировать строку в верхней части (ее можно найти за #includes) и написать верный адрес. Изначально таv указан 0×68.

Загружаем программу, открываем окно монитора через 115200 и просто следуем инструкции. Через несколько мгновений вы получите данные с гироскопа/акселерометра. Затем следует провести калибровку датчиков.

Установите плату на ровную поверхность и запустите скетч MPU6050_calibration.ino (легко ищется в интернете). Просмотрите код, по умолчанию в нем указан адрес 0×68. После запуска программы у вас появится информация по отклонениям (offset). Запишите ее, она нам понадобится в скетче MPU6050_DMP6.

Все, вы получили функционирующие гироскоп и акселерометр.

Оцените статью
Радиокоптер.ру
Добавить комментарий