autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

Самодельный летающий дрон с камерой, который следует за вами на автопилоте (на основе arduino)

В наши дни дроны — это очень популярные игрушки. На рынке можно найти профессиональные летающие дроны и дроны для любителей. У мастера, автора данной статьи, есть четыре беспилотника (квадрокоптеры и гекскоптеры), потому что он любит все, что летает, но 200-й полет не так интересен и становится скучно, поэтому он решил создать свой собственный дрон с некоторыми дополнительными возможностями. Мастер любит программировать на Arduino и проектировать схемы и гаджеты, поэтому он начал его строить. В самоделке использован контроллер полета MultiWii, основанный на чипе ATMega328, который также используется в Arduino UNO, поэтому программирование довольно простое. Этот беспилотник может быть подключен к смартфону на Android, который отправляет свои данные GPS на беспилотник, который сравнивает эти данные с его собственным сигналом GPS, а затем начинает следовать за телефоном. Поэтому, если двигаться по улице, дрон будет следует за вами. Конечно, есть много недостатков, однако дрон следит за телефоном, снимает видео, а также имеет ультразвуковой датчик расстояния, чтобы избежать препятствий в воздухе. Это особенности самодельного беспилотника.

Шаг 1: Основные свойства

Дрон работает почти полностью автоматически, вам не нужно управлять им, потому что он следует за вашим телефоном, который обычно находится всегда с вами, ультразвуковой датчик помогает обходить деревья, здания и другие препятствия, а GPS выдает очень точные данные о местоположении, но давайте посмотрим, что мы имеем в итоге:

— Аккумулятор 1000 мАч, хватает на 16-18 минут непрерывного полета;
— ультразвуковой датчик, чтобы избежать препятствий в воздухе;
— Модуль Bluetooth для получения данных с телефона;
— Микроконтроллер на основе Arduino;
— встроенный гироскоп;
— регулируемая максимальная высота (5 м);
— при низком заряде батареи, дрон автоматически падает на телефон; (желательно держать телефон в руках)
— затраты на постройку дрона около 100 долларов;
— можно запрограммировать на что угодно;
— с помощью GPS можно отправить беспилотник по любым координатам;
— дизайн в стиле квадрокоптера;
— оборудован 2-мегапиксельной видеокамерой 720p HQ;
— весит 109 г;

Шаг 2: Подбор деталей и инструментов

Инструменты:

— Паяльник;
— Клей-пистолет;
— резец;
— Кусачки;
— Супер клей;
— Двухсторонняя клейкая лента;
— Резинки;

Электронные компоненты:

— MultiWii 32kB Flight Conroller;
— Модуль последовательного GPS;
— Серийный I2C конвертер;
— Модуль Bluetooth;
— Ультразвуковой датчик;
— Кусок жесткой пластмассы;
— Соломинки из кафе;
— зубчатая передача;
— Двигатели;
— Пропеллеры;
— Винты;
— L293D Motor Driver (это был неудачный выбор драйвера, будет исправлено во второй версии);
— 1000 мАч литий-ионный аккумулятор;

Шаг 3: Сборка пропеллеров

Мастер купил эти пропеллеры с моторами на Алиэкспресс, они являются запасными частями для дрона Syma S5X, но они оказались полезными и для данной самоделки.

Шаг 4: Принципиальная схема

Всегда смотрите на схему во время работы и будьте осторожны со связями.

Шаг 5: Пайка двигателей к драйверу управления

Теперь вам нужно спаять все кабели от двигателей до ИС драйвера двигателя L293D. Посмотрите на картинки, они говорят гораздо больше. Вы должны подключить черный и синий провода к заземлению и положительные провода к выходам 1-4. L293D может управлять этими двигателями, но мастер рекомендует использовать силовые транзисторы, потому что этот чип не может работать со всеми четырьмя двигателями при высокой мощности (более 2 А).

Шаг 6: Сборка рамы

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

Шаг 7: Добавление проводов к драйверу L293D

Припаяйте провода к оставшимся контактам микросхемы. Это поможет подключить контакты Arduino к входам / выходам. Теперь пришло время построить схему.

Шаг 8: Схема

Все модули включены в комплект контроллера полета, который мастер заказывал заранее, так что просто нужно соединить их вместе. Bluetooth идет к последовательному порту, сначала GPS в преобразователе I2C, затем в порту I2C. Теперь данную схему можно установить на свой дрон.

Шаг 9: Крепление электрической цепи к раме

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

Шаг 10: Соединение двух цепей

Входные контакты поступают на D3, D9, D10, D11, остальные должны быть подключены к контактам VCC и GND.

Шаг 11: Батарея …

Мастер использовал несколько резиновых лент, чтобы прикрепить батарею к дрону. Держится довольно крепко.

Смотрите про коптеры:  Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Шаг 12: Ультразвуковой датчик

Датчик гидролокатора закреплен на дроне резиновой лентой и подключен к контактам D7 и D6 контроллера MultiWii.

Шаг 13: Программирование чипа

Вы должны использовать модуль Serial FTDI для программирования чипа. В комплект чипа входит модуль программатора.

Шаг 14: Программное обеспечение

Мастер не знает, загружено ли программное обеспечение на чип или нет, но здесь он объясняет, что делать. Сначала загрузите официальную библиотеку MultiWii на свой компьютер. Извлеките файл .zip, затем откройте файл MultiWii.ino. Выберите «Arduino / Genuino UNO» и загрузите его на свой чип. Теперь ваш микроконтроллер имеет все предустановленные функции. Гироскоп, свет, Bluetooth и даже маленький ЖК-дисплей (который не используется в этом проекте) работает с загруженным кодом. Но этот код можно использовать только для проверки работоспособности модулей. Попробуйте наклонить дрон, и вы увидите, что моторы будут вращаться из-за гиросенсора. Нам следует изменить код контроллера, чтобы дрон следовал за телефоном.

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

GitHub — ссылка на программное обеспечение

Шаг 15: Изменение кода

Мастеру пришлось изменить код датчиков и контроллера, который давал подсказки для ATMega328, но теперь модуль Bluetooth выдает три GPS-координаты, и в зависимости от них движется дрон.

Вложения

Шаг 16: Приложение для телефона

Мастер использовал приложение SensoDuino, которое можно загрузить из плей маркет гугла. Подключитесь к дрону через Bluetooth и включите GPS TX и регистрацию данных. После этого приложение телефона готово.

Шаг 17: Камера

В качестве камеры использована дешевая китайская камера. Эта камера использовалась во многих проектах мастера и всегда показывала отличные результаты. Весит она всего 15 г и может снимать хорошее видео.

Шаг 18: Тестирование …

Расстояние соединения составило около 8 м, что более чем достаточно для такого беспилотника, как этот.

Autopilot controller for quadcopters на алиэкспресс — купить онлайн по выгодной цене

Перед покупкой сравните цены на autopilot controller for quadcopters, прочитайте реальные отзывы покупателей, ознакомьтесь с техническими характеристиками.

Закажите autopilot controller for quadcopters онлайн с доставкой по России: товары с пометкой Plus доступны с ускоренной доставкой и улучшенными условиями возврата.

На Алиэкспресс autopilot controller for quadcopters всегда в наличии в большом ассортименте: на площадке представлены как надежные мировые бренды, так и перспективные молодые.

Бортовая электроника

Основной компонент, который мы разрабатывали самостоятельно, — плата стабилизации. Изначально она была основана на платформе Arduino Uno, потом заменили на более мощную Due, что позволило увеличить частоту ПИД-регуляторов с 40Гц до 66.(6)Гц.

Пропеллеры коптера приводятся в движение компактными бесколлекторными двигателями в связке со стандартными контроллерами оборотов — ESC. Мы используем ESC с изменённой прошивкой.

Для питания всей системы используется литий-полимерный аккумулятор (3S). Из соображений безопасности мы решили сделать систему мониторинга напряжения на аккумуляторе. В штатном режиме использования аккумуляторов система ведёт себя достаточно стабильно. Однако на начальных этапах работы мы наблюдали эффекты, вызванные неоптимальным использованием батарей:

  • Вздувшиеся аккумуляторы. Причина в перезаряде и длительном хранении разряженных аккумуляторов. Производители рекомендуют не разряжать силовые аккумуляторы ниже значения 3,3В на каждую банку батареи, что в нашем случае даёт минимальное допустимое напряжение в 9,9В.
  • Выключение моторов при низком напряжении. Это особенность реакции большинства прошивок ESC на низкое напряжение, которая может привести к серьёзной аварии — в первый момент выключается только один мотор, остальные продолжают работать.

Для наших целей ESC было решено перепрограммировать. Благодаря использованию прошивки tgy (от SimonK) мы добились уменьшения задержки системы на пути от центрального контроллера до двигателей. В результате компоненты ПИД и угловая скорость стали более синусоидальными, а поведение всей системы приблизилось к поведению математической модели.

Для измерения динамических параметров используются следующие датчики:

  • 6-осевой акселерометр-гироскоп InvenSense MPU-6050
  • 3-осевой компас Honeywell HMC5883L

Воспроизводимость результатов

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

Грабли


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

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

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене
Другая опасность — влияние побочных вибраций от моторов на autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной ценеautopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

Как выбрать полетный контроллер с gps, osd, функции автопилота "возврат домой", держание позиции по gps

Вы уже ознакомились с общими понятиями о полетных контроллерах. Теперь рассмотрим варианты полноценных полетных контроллеров с GPS, OSD, автопилотом способным вернуть коптер домой и другими функциями.

Смотрите про коптеры:  Основы фотографии с квадрокоптера

Сложный много модульный полетный контроллер способен превратить Ваш мультикоптер в беспилотный летательный аппарат.

Ниже, в таблице, перечень самых популярных, полетных контроллеров.

Сюда не включены FY-DoS, DJI A2, Zero Tech по причине высокой цены и низкой популярности. Для первого коптера лучше выбрать «что-нибудь» популярное и «по дешевле».

На сегодняшний день самые покупаемые контроллеры это DJI Naza-M Lite и APM ardupilot mega.

Популярность DJI Naza-M Lite обеспечена тем, что это фактически не Lite версия, а полноценная Naza M v2 в которой программно отключены все дополнительные функции. Т.е. Lite версия пере-прошивается в полноценную.

Достоинства Naza: оснащена 32 битным процессором STM32 позволяющий эффективнее использовать внутреннюю шину данных. Наза работает стабильнее и надежнее, проще в настройке.

Недостатки — это высокая цена самого контроллера и модулей, поэтому можно найти не мало материала в интернете о том, как установить дешевые модули.

APM — популярен своей доступностью по цене и широченным диапазоном возможностей. В отличии от назы APM оснащен всего лишь 8 битным процессором Atmel 2560, но разрядность процессора напрямую никак не отражается на поведении мультикоптера, а играет важную роль в развитии и модернизации полетного контроллера. Технически из за низкой разрядности (8 бит) шина данных, в которой передаются данные от датчиков, переполнена и на сегодняшний день APM 2.5 — 2.8 не может позволить себе развитие и расширение (т.е. новые прошивки). Последняя прошивка — это ArduCopter 3.2.1, все новые прошивки рассчитаны на 32 разрядного «брата» — Pixhawk.

Достоинства — дешевая цена контроллера и модулей. Модули:

модуль питания (Power Module) передает данные об аккумуляторе — вольтаж, потребляемый ток, позволяет рассчитать длительность полета,

APM PM

GPS модуль используется в таких фукнциях, как авто полет по ранее заданным точкам, возврат домой, полностью автоматизированный полет от взлёта до посадки, удержание позиции — это возможность коптера оставаться на одном месте несмотря на ветер или другие факторы,

«Как выбрать» и «что необходимо знать о GPS» модулях. Существует несколько популярных моделей GPS модулей производителя ublox:

— NEO-6M — 11$, самый дешевый, популярный модуль, со скоростью обновления 5 Гц (5 раз в секунду)

— LEA-6H — 44$, отличается от NEO более высокой скоростью обновления данных 10Гц (10 раз в секунду), более точным позиционированием благодаря антенне большего размера и экранированию, которое делает модуль более тяжелым, но это того стоит,

— NEO-7M — 38$ это модуль нового поколения (по отношению к двум предыдущим), частота обновления 10 ГЦ для GPS, 1 ГЦ для ГЛОНАСС. Так же поддерживает QZSS и Galileo, но это не так важно, главное — это более стабильная работа, минимальное количство глитчей, более точное позиционирование,

— NEO-M8M — самый свежий модуль, 8го поколения, поддерживающий GPS, Uлонасс, Galileo, Beidou, QZSS и sbas

OSD (on screen display) вывод телемерических данных (скорость, высота, заряд аккумулятора и д.р.) через канал видео передатчика FPV,

minimosd

Радиомодем (так же известно как радиомодуль APM, модуль радиотелеметрии) устройство для соединения полетного контроллера APM (или PIXHAWK), через Mission Planner, по радиоканалу. Работает на частоте 915 Мгц или 433Мгц.

APM radio

Калибровка пид

Для углов autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной ценеautopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной ценеautopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

Хотя такой подход не самый эффективный (мы не знаем «срок годности» коэффициентов количественно и считаем их константами), на практике задача стабилизации коптера в полёте была нами решена. Правда, возникла проблема с управлением, но об этом позднее.

Матчасть

Определим невязку — разницу между требуемым и реальным значением некоторой величины:

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

 — требуемое значение величины (угол с джойстика),

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

 — текущее значение величины (угол с датчика).

Зададим момент сил для угла autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

где

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

 — пропорциональная,

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

 — интегральная,

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

 — дифференциальная составляющие.


Знак минус говорит о том, что при положительных

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

воздействие направлено против отклонения.

В чём смысл этой формулы? Напишем уравнение динамики, положив autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной ценеautopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

 — момент инерции.

Для простоты уберём интегральную составляющую (autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной ценеautopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной ценеautopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

где

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

Из модели затухающих колебаний получаем выражение для коэффициента затухания:

Из возможных решений уравнения нам подходит режим, близкий к критическому (граница апериодичности,

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

) — нет отрицательного «перелёта» графика, переходный процесс короткий. Как видно, критический режим задается всего одним соотношением на коэффициенты ПИД-регулятора.

Интегральная составляющая устраняет статическую ошибку. Пусть невязка autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной ценеautopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной ценеautopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

Более подробный анализ уравнения ПИД-регулятора можно найти в других статьях: раз, два.

Направления для развития

  • Процесс тестирования системы стабилизации можно упростить, используя более совершенный стенд. Верёвочный вариант — скорее одноразовое решение, более подходящим был бы жёсткий карданов подвес с тремя степенями свободы.
  • Существуют методики автоматизации подбора коэффициентов ПИД-регулятора. Например, основанные на двоичном поиске (метод ветвей и границ). В нашем проекте коэффициенты подбирались вручную.
  • Приложение для ПК, используемое для мониторинга и управления, было бы удобнее использовать на планшетном компьютере. В планах портировать приложение на Android или IOS.
Смотрите про коптеры:  Радиоуправляемый самолет с видеокамерой

О нас

Мы — студенты МФТИ (в своём большинстве), которые в свободное время занимаются проектом на мастерской TechnoWorks. Кроме коптера у нас живут и другие проекты: железные и программные. О них мы расскажем как-нибудь потом. А еще у нас можно придумать и реализовать свою идею (а мы поможем найти людей).

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

Первая авария


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

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной ценеautopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

т. е. величина

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

превращается в линейную комбинацию

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

и её производной. То же самое происходит с моментом сил, который также является гармонической функцией в этом примере. При определенных

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

коэффициенты линейной комбинации могут быть такими, что возникнут незатухающие автоколебания.

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене
Также результат работы составляющих ПИД приходится ограничивать по модулю. Иначе значение autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

Компромиссом является установка не слишком маленьких коэффициентов в совокупности с введением ограничения сверху на все три составляющие: пропорциональную, интегральную и дифференциальную.

Стоит сказать, что реальная коррекция в почти горизонтальном положении — около 1–2 попугаев процентов мощности моторов (полётная мощность около 60%).

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене
Рассмотрим решение уравнения второго порядка (1), которое в одном из случаев является затухающей синусоидой.

На практике действительно получается что-то похожее (пример справа). Для демонстрации коэффициенты специально ухудшены для увеличения времени затухания. Оригинальную прошивку ESC пришлось заменить, т. к. она вносила существенную задержку, из-за которой математическая модель плохо описывала реальную систему.

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене
Поскольку autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

Полёт коптера с нашей системой стабилизации

лето 2020.
зима 2020.
весна 2020

Программное обеспечение

autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене

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

В качестве динамического датчика мы использовали MPU-6050 из-за его вычислительных возможностей. Встроенный процессор (DMP) способен частично обрабатывать данные с датчиков, что позволяет разгрузить центральный контроллер. Но оказалось, что надёжных библиотек для работы с этим устройством под Arduino не существует.

Решение jrowberg’а привело к проблемам при использовании на сильно загруженном микроконтроллере. Код в примере опирается на синхронность считывания данных. FIFO-буфер датчика, в который записываются посчитанные величины, переполняется в случае несвоевременного считывания.

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

его размер 1024, что не делится на 42 — размер пакета. Поэтому, когда буфер переполняется, в начале FIFO находится часть какого-то постороннего пакета. Иными словами, начиная с определенного момента структура нарушается: начало FIFO не совпадает с началом пакета, и считать корректные данные невозможно.

Телеметрия


Дистанционное управление реализовано в двух режимах (для обеспечения более гибкого процесса разработки):

  1. С помощью модулей xBee Pro в конфигурации «коптер  ПК».
  2. С помощью выделенной радиочастоты (2.4ГГц) в конфигурации «пульт ДУ ↦ коптер».

Помимо управления через пульт ДУ происходит пересылка критических данных между коптером и ПК в режиме реального времени, для чего используются xBee Pro и приложение собственной разработки (см. скриншот). На компьютере можно видеть значение углов и угловой скорости, напряжение на аккумуляторе, мощность двигателей.

Данные, пересылаемые между коптером и ПК:

  • ПК ↦ Коптер: канал управления (ПК/пульт ДУ), мощность моторов, настройка для включения/выключения стабилизации, коэффициенты ПИД и ограничения;
  • Коптер ↦ ПК: углы, угловая скорость, компоненты autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене, autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене, autopilot controller for quadcopters на АлиЭкспресс — купить онлайн по выгодной цене, данные с джойстика (мощность 3 угла), мощности моторов, напряжение на аккумуляторе.

Благодаря датчику от InvenSense, начальная обработка данных с датчиков происходит на встроенном процессоре (DMP). Мы разгружаем плату стабилизации, которая может использовать в качестве вычислителя даже маломощный AVR-микроконтроллер.

Итоги

Главное достижение — отличная команда энтузиастов, способных работать над сложными робототехническими проектами. Мы верим, что всё дело в творческом подходе, возможности для самореализации, а также бесценном практическом опыте, которого всегда не хватает.

Мы создали новый проект системы стабилизации для мультикоптеров. Сейчас мы можем пилотировать квадрокоптер на открытом пространстве. Такие внешние факторы, как ветер, дождь и снег компенсируются автоматически благодаря ПИД-регулятору.

В настоящий момент мы усовершенствуем то, что сделали, и разрабатываем новые функции автоматизации.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector