Квадрокоптер на Arduino

Квадрокоптер на Arduino Вертолеты
Содержание
  1. На что обратить внимание?
  2. Digitrode
  3. Ryze technology: новый игрок на рынке
  4. Автономный и интеллектуальный?
  5. Безопасность
  6. Вход bec для питания квадрокоптера
  7. Выбираем тип и размер квадрокоптера
  8. Выбор датчиков.
  9. Дальнейшая модернизация квадрокоптера на arduino
  10. Другие проекты контроллеров для квадрокоптеров
  11. Компьютерное зрение
  12. Немного теории
  13. Несколько советов новичкам
  14. Особенности квадрокоптеров
  15. Относительно дешевый quadcopter на arduino с управлением от телефона, планшета, пк
  16. Планы на будущее
  17. Подключение к контроллеру
  18. Программное обеспечение
  19. Развертывание
  20. Сборка
  21. Собираем все воедино
  22. Сокет для микроконтроллера
  23. Схема проводки
  24. Управление моторами
  25. Фишки новой модели
  26. Шаг 3: делаем раму
  27. Шаг 4: устанавливаем все компоненты (esc и моторы на раму)
  28. Шаг 5: контроллер полёта
  29. Шаг 6: соединяем esc и ресивер с контроллером полёта
  30. Шаг 7: настройка контроллера полёта (загрузка скетча)
  31. Шаг 8: установка электроники в кейс и монтаж
  32. Шаг №1. делаем корпус

На что обратить внимание?

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

Например, для управления полетным контроллером сейчас достаточно готовых решений. Если же вы сразу решите писать что-то свое, то высок риск повреждения квадрокоптера. Причина в том, что математика полета составляет минимальную часть всего кода программы, а для управления квадрокоптером без барометра и системы GPS требуется хорошая практика (особенно она понадобится при некорректной реакции дрона Arduino на управляющие команды, что происходит почти всегда).

Digitrode

Управлять квадрокоптером – это веселое и интересное занятие. Интереснее может быть только создание своей системы управления такой игрушкой на базе какой-нибудь популярной платформы, например, Arduino. Чем и занялся энтузиаст под ником Dzl. Первым делом он разобрал пульт дистанционного управления для того, чтобы посмотреть, какая радиосистема в нем используется.

Смотрите про коптеры:  Краткая история роботов: Разбор |

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

Радиосвязь обеспечивалась небольшим дискретным радиомодулем. После дополнительного анализа и поиска в интерненте выяснилось, что модуль основан на микросхеме передатчика BK2421, работающего в диапазоне 2.4 ГГц. Сегодня, в принципе, большинство дешевых игрушек с радиоуправлением основаны на этом модуле.

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

Благодаря «прослушке» с помощью Arduino UNO стал понятен порядок инициализации и режим связи. имеется порядок инициализации.

Не вдаваясь в подробности низкоуровневой коммуникации, при включении пульта и квадрокоптера происходит следующее:

1. Пульт передает свой уникальный сетевой адрес или ID

2. Квадрокоптер принимает эту передачу, подтверждает ее и начинает прослушивать канал с данными от этого ID

3. После подтверждения пульт начинает передавать пакеты данных каждые 20 мс

Можно управлять одновременно несколькими квадрокоптерами, назначив им разные адреса. Передача ID проходит по одному фиксированному каналу, и данные передаются по одному из 12 случайных каналов. Квадрокоптеры автоматически сканируют радиоканалы, пока не найдут данные.

Данные передаются в пакете, состоящем из 8 байт, в следующем формате:

Байт 0 = throttle (газ) 0-255 Байт 1 =Yaw (рыскание) 0-255 Байт 2 =Yaw_trim (подстройка Yaw) 0-128 Байт 3 = Pitch (тангаж) 0-255 Байт 4 = Roll (крен) 0-255 Байт 5 = Pitch_trim (подстройка Pitch) 0-128 Байт 6 = Roll_trim (подстройка Roll) 0-128 Байт 7 = Fly/run 0=fly, 16=run

Затем была создана базовая станция, которая должна связываться квадрокоптерами. В качестве модулей использовались RFM-70, содержащие ту же микросхему BK2421. Следует отметить, что выводы BK2421 толерантны к 5 В, поэтому дополнительные резисторы для 3.3 В можно не ставить.

Для подключения одного и более квадрокоптеров к Arduino была написана специальная библиотека. Эта библиотека должна работать с любыми платами Arduino на базе чипов ATMEGA88 — ATMEGA328P. И в конце видео работы:

Ryze technology: новый игрок на рынке

Tello – это совместное произведение DJI и Intel с молодым стартапом Ryze Technology из того же Китая. Основана компания была в 2023 году. Пока что предприятие нацелено на изготовление дронов, оснащённых камерой, а также с арсеналом всевозможных «умных» функций и возможности обучения. Компания ставит целью повысить интерес молодёжи к современной технике.

В разработке дрона Tello молодому стартапу помогли именитые «гиганты»: от DJI был взят контроллер полёта, а от Intel – установлен мощный процессор. Вся эта мощь умещается в небольшом корпусе, который можно брать с собой куда угодно. Tello умеет «учиться»: владелец получит возможность программировать дрон, причём по заверениям разработчиков это будет настолько легко, что с программированием справятся не только подростки, но даже дети!

Нельзя сказать, что Tello – это продукт от DJI, хотя дрон и похож визуально на Spark. Всё-таки DJI и Intel – скорее партнёры, участвовавшие в разработке квадрокоптера. Кроме того, DJI будут предлагать Tello для покупки в своём онлайн-магазине.

Автономный и интеллектуальный?

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

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

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

Ну и конечно, вся эта система должна хорошо управляться и просто программироваться. Так мы приходим к мысли: а не реализовать ли мозговой центр коптера на базе смартфона? Удобнее всего использовать устройство на базе Android, поскольку под эту ОС имеются удобные средства разработки и программные компоненты, такие, например, как Intel Integrated Performance Primitives (Intel IPP) или OpenCV.

Безопасность

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

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

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

Вход bec для питания квадрокоптера

Все, кроме одного контакта питания BEC (cистема питания приемника и квадрокоптера от силовой батареи и отключении мотора при достижении порогового напряжения) должны быть отключены. Порой на форумах люди заявляют, что несколько источников питания может вызывать неполадки из-за разницы в напряжениях (что очень похоже на правду, так как на них действительно разные регуляторы напряжения, хоть и очень маленькие).

По сути эти источники питания BEC 5 В надо убрать или использовать в других целях. Например, можно предусмотреть дополнительный источник питания для контроллера, если первый перестал работать. Остальные BEC можно использовать для серводвигателей видеокамеры.

Выбираем тип и размер квадрокоптера

При сборке квадрокоптера выберите подходящий размер аппарата. Бывают такие:

  • Мини квадрокоптер – маленькая модель, с небольшим радиусом действия. Помещается в ладонь, подходит для полетов в помещениях.
  • Трикоптер — модель беспилотника,у которого только три пропеллера. Это делает его легче и маневреннее, однако теряется крутящий момент. Вместо этого используется механизм наклона заднего ротора. Сложно сделать своими руками.
  • Обычный квадрокоптер – простой и недорогой беспилотник. Диагональный размер в среднем 35 см (без пропеллеров). Состоит из минимального набота деталей с целью уменьшения веса устройства. Характеризуется большой скоростью передвижения и маневренностью.
  • Складной квадрокоптер берут в поездки, путешествия, когда важен размер и вес устройства. Складная рама облегчает транспортировку устройства. В самостоятельном изготовлении сложен.
  • Большой квадрокоптер – самый дорогой и тяжелый тип беспилотника. Способен летать на дальние расстояния, оборудован емким аккумулятором, несет сложное фото- и видеооборудование. Делайте самостоятельно только если уже владеете навыками изготовления подобных устройств.

Выбор датчиков.

Для управления квадрокоптером необходим акселерометр и гироскоп. Этого будет достаточно, если вы стоите устройство с простой конструкцией для полетов на небольшое расстояние. Для постройки сложного аппарата с множеством модулей, функций, поддержкой GPS придется установить дополнительные датчики. Для первой модели мы рекомендуем выбрать плату MPU-6050 — она содержит все необходимые датчики.

Дальнейшая модернизация квадрокоптера на arduino

Основные проблемы с маленьким квадрокоптером — его стоимость и вес. Можете поискать моторы побольше и помощнее, но это особо не улучшит его характеристики. Что вам действительно поможет, (если вы готовы отдать больше денег) — это безщеточные (вентильные) моторы.

Для уменьшения веса конструкции лучше всего использовать именно Arduino Uno, так как к этой модели контроллера можно снять «прошитый» чип микропроцессора и установить его непосредственно на вашу ProtoBoard. В результате вы выиграете около 30 грамм веса, что немало при таких масштабах.

Программа для Arduino, которая написана и представлена в предыдущем разделе, может быть легко расширена и обогащена дополнительным функционалом. Самое главное, что на этом этапе квадрокоптер уже может автоматически стабилизировать полет. Если вы хотите настроить дистанционное управление, можете посмотреть в сторону трансмиттеров/ресиверов или bluetooth модулей. В общем, основа у вас теперь есть, а пространства для дальнейшей модернизации — еще больше.

Другие проекты контроллеров для квадрокоптеров

Ниже приведены несколько других проектов контроллеров для квадрокоптеров на базе Arduino.

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

Для питания сенсоров используется 3.3 В постоянный ток от Arduino Nano.

Контроллер, выполненный в круглом форм-факторе. Контроллер можно использовать на три- и квадрокоптерах.

Еще один круглый контроллер. Может использоваться для три- и квадрокоптеров. Можно подключить видеокамеру. Предусмотрена стабилизация тангажа и крен.

Предусмотрена проверка питания. Если питание отсутствует, подается сигнал на динамик. Можно запитать плату от отдельного BEC. На контроллере установлен светодиод для отслеживания состояния и питания.

Есть интересные серийные контроллеры для квадрокоптера на Arduino. Например, в пердставленом ниже тоже используется круглый форм-фактор плат. Этот контроллер можно использовать для три- квадро-, гексакоптера. Поддерживаются все фичи MultiWii версии 1.6. Кроме того, на плате есть встроенный регулятор 3.3 вольт.

Компьютерное зрение

Очевидно, что без системы компьютерного зрения интеллектуальное устройство не может считаться таковым. Наш коптер должен уметь не просто снимать фото, но и анализировать их – для этого воспользуемся возможностями OpenCV.

– это open source библиотека для программного анализа изображений, лежащая в основе бесчисленных реализаций систем компьютерного зрения и виртуальной реальности. Изначально разработанная Intel, сейчас она доступна для множества аппаратных платформ и ОС.


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

OpenCV не является библиотекой, напрямую доступной Java под Android. Это нативная библиотека, обычно используемая из программ на С , так что нам понадобится Android NDK. Съемка изображений и визуализация будет выполнена на Java, для взаимодействия между Java и C будем использовать JNI.

В результате, в вашем проекте будут:Основной Java файл « Src/MainActivity.java »Файл разметки XML « Res/layout/activity_main.xml » и манифестДва Makefile « Jni/Android.mk » and « Jni/Application.mk »Код cpp « Jni/ComputerVision_jni.cpp » и хедер « Jni/ComputerVision_jni.h »

В отличие от Java, C должен быть скомпилирован под определенный процессор. Настройка производится путем редактирования переменной APP_ABI в файле Application.mk. Если у вас смартфон на платформе Intel, корректным значением будет x86. Дальше NDK все сделает сам.

Немного теории

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

Перемещение дрона на Arduino и любом другом контролере осуществляется за счет изменения трех параметров:

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

Arduino – небольшая по габаритам плата (сравнима со спичечным коробком), имеющая собственный микропроцессор и память. На нем есть большое количество контактов для подключения компонентов, а возможность загрузки программы позволяет управлять ими по заданному определенному алгоритму.

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

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

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

Не потребует Arduino и наличия при сборке паяльника, так как вполне можно обойтись макетной доской и набором перемычек, что одновременно упрощает работу, позволяет быстро исправить какие-то недочеты и ошибки при сборке.

Несколько советов новичкам

Решая заняться созданием квадрокоптера на Arduino, обратите внимание на следующие советы:

  • Не усложняйте первую конструкцию, устанавливая экшен-камеру. Вашей задачей остается создание дрона, который сможет взлететь и уверенно держаться в воздухе, а не упасть на землю, сломавшись при первом полете. Если же последнее произойдет, то легко можно разбить экшен-камеру, а это большие расходы.
  • Не гонитесь за большими масштабами, так как на первый раз достаточно создать небольшой рабочий Arduino дрон, над конструкцией которого можно будет дальше работать, совершенствуя и усложняя.
  • Сократите до минимума количество дополнительных элементов и соединений, так как большое число датчиков и всевозможных контролеров не всегда повышает надежность дрона в полете. Значительно лучше создать базовую конструкцию и постепенно ее усложнять, добавляя новые функции и возможности. Это будет значительно разумней и позволит в будущем проектировать «специализированные» дроны.
  • Если вы хотите изготовить квадрокоптер Arduino с камерой, то вам потребуется основание достаточно больших размеров, что снижает устойчивость всей конструкции.

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

3.6 / 5 ( 7 голосов )

Особенности квадрокоптеров

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

Вот почему его необходимым компонентом является модуль стабилизации. Конечно, стабилизатор можно сделать программным, написав кучу кода на C или Java. Но гораздо проще купить за несколько долларов карту-стабилизатор, подключаемую непосредственно к Pololu и управляющую четырьмя серво приводами устройства. Всё остальное можно сделать с помощью простых команд типа ± altitude, ± speed/, ± inclination и ± direction.

Если вы создаете квадрокоптер, имейте в виду: эта карта здорово упростит вам жизнь. Все, что вам требуется – провести ее начальную калибровку и потом забыть о ней.

Относительно дешевый quadcopter на arduino с управлением от телефона, планшета, пк

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

Что вам понадобится для того, чтобы собрать и запустить в воздух свой квадрокоптер:

Ноутбук или компьютер с Processing[/b], скачать можно от сюда. Что такое “Processing”? Вот, что пишет об этом википедия :

Processing — открытый язык программирования, основанный на Java. Представляет собой лёгкий и быстрый инструментарий для людей, которые хотят программировать изображения, анимацию и интерфейсы.Используется студентами, художниками, дизайнерами, исследователями и любителями, для изучения, прототипирования и производства. Он создан для изучения основ компьютерного программирования в визуальном контексте и служит альбомным программным обеспечением (имеется в виду то, что каждый *.pde файл визуальной оболочки Processing’а представляет собой отдельное изображение или анимацию, и т. д.) и профессиональным производственным инструментом.

Arduino Software (IDE)[/b]
Андроид-устройство[/b], которое поддерживает режимUSB-хоста[/b](проверено на MotorolaXoom.
А так же паяльник, прямые руки, ножницы.

Что надо для изготовления рамы

Рама квадрокоптер делается из бамбуковых шашлычных палочек

Крепления двигателей к раме делаются из палочек для коктейля.

Изолента- используется для крепления платы приемника, электродвигателей к раме. Нитки нужны для скрепления деталей перед склейкой. Цианакриловый клей. Резинка для крепления аккумулятора к раме.

Список электроники для квадрокоптера.

Все эти детали могут быть повреждены во время пробных запусков или во время полетов, поэтому заказывайте с запасом. Ссылки даны для примера. Есть много поставщиков.
Лопасти для вертолета
Двигатели. Я не нашел двигатели с размерами 4х7 мм на Алиэкспресс нашел вот такие. Моторы должны быть без щеточные.

Плата приемника эта плата содержит все компоненты- гироскоп, акселометр, ESC (система курсовой устойчивости), CPU который все эти компоненты объединяет. Литий полимерный аккумулятор:1 x 240mah 1S ‘LiPo. Можно использовать разные аккумуляторы с меньшей или большей емкости. Если вы решите построить октакоптер, то вам понадобиться более емкая батарея.

Список аппаратного контроля квадрокоптера.

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

Arduino DUE[/b]или аналогичный, он будет использоваться для связи вашего Андроид-устройства и A7105. Автор использовал именно эту плату Arduino потому, что она имеет USB подключенный к последовательному порту и может работать с 3.3в логикой, хотя можно применить преобразователь уровней 5-3.3в.

Макетная плата-на ней вы будете монтировать радио модуль и подключать его к Arduino. Резистор 22кОм- значение его не особо критично. Провода для соединения радио модуля. OTG переходник для вашего андроид устройства.

OTG
Hubsan-пульт дистанционного управления-это не обязательно, но удобно.

Создание каркаса.

Каркас изготавливается из бамбуковых палочек, скрепленных крест на крест с трубочками от коктейлей. Все это склеивается вместе супер клеем.
1: Распечатайте шаблон SVG в прикрепленном файле. Он сложнее, чем должен быть, но также используется для строительства октокоптера. Шаблон нужен, чтобы сделать правильный квадрат.

2. Отрежьте нитку по длине вашего предплечья.

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

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

5. Возьмите еще две палочки для канапе и закрепите их как в предыдущем шаге , только на расстоянии 4 пальцев от ранее прикрепленных. Точное расстояние не важно, вы исправите его далее.

6. Положите шаблон на ровную поверхность, лучше использовать стекло.

7. Разместите ваши связанные вместе палочки, как показано на фото.

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

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

9. Повторите все тоже самое для второго кронштейна.

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

11. Обрежьте палочки примерно на длину 2 см с обеих сторон.

12. Отрежьте 4 палочки по 1.5 см , склейте их вместе квадратом, особо прочная склейка не нужна, это будет кронштейн для платы и батареи питания.

Следующий этап состоит из пайки ваших 4 моторов к плате 4Х приемника. Первое, что надо – это припаять провода питания на нижнюю часть платы. Далее мы будем ссылаться на эту ориентацию (плата лежит на “спине”)

Как подключать моторы.

На Hubsan х 4 платах есть контактные площадки для подключения светодиодов и моторов. Те, что для светодиодов имеют обозначение LED, туда НЕНАДО подключать моторы. Контакты для моторов помечены ve[/b]и–ve.[/b]

Возьмите один из ваших 4 моторов с черным и белым проводами и припаяйте их кЛЕВЫМ НИЖНИМ[/b]контактам платы, белым проводом к левому контакту пары. Возьмите мотор с красным и синим проводами и припаяйте его кЛЕВЫМ ВЕРХНИМ[/b]контактам, красным проводом к левому контакту пары.. Возьмите мотор с черными и белыми проводами и припаяйте их кПРАВЫМ ВЕРХНИМ[/b]контактам, черным проводом к левому контакту. Возьмите мотор с красным и синим проводами и припаяйте его кПРАВЫМ НИЖНИМ[/b]контактам, красным проводом к левому контакту пары.

В схеме подключения белый провод это черная пунктирная линия. Провода надо закрепить каплей горячего клея. Закрепите моторы двумя полосками изоленты шириной 5мм. Не стоит особо волноваться по поводу одинакового расположения моторов по высоте. После того,как моторы закреплены, надо надеть на оси пропеллеры. Используйте белый пропеллер для “переда”с противоположной стороны от проводов батареи) и чёрный пропеллер для”зада”. Это не так просто, как кажется, так. как одни лопасти сделаны для вращения по часовой стрелке, а другие , для вращения против часовой стрелки. На лопастях есть обозначения. Используйте лопасти с буквой “А[/b]” для левого верхнего и правого нижнего моторов. С буквой “В[/b]”, соответственно, для правого верхнего и левого нижнего моторов. Теперь вы можете прикрепить батарею к нижней части платы, автор использует для этой части резинку. Если у вас есть оригинальный hubsan контроллер, вы сможете поднять квадро в воздух. Если вертолёт трясёт в воздухе, значит, моторы стоят не строго вертикально. Подкладывая кусочки свернутой бумаги, можно выравнять моторы.

Сборка радиоуправления на arduino.

Этот пункт проекта расскажет как управлять вертолетом с помощью Андроид устройства,через последовательный порт Arduino.

Вам нужны 6 контактов на плате А7105. Слева GND. Справа-SDIO, SCK, SCS, GND, VCC.

Припаяйте жесткий одножильный провод, длиной 2 см, к каждому указанному выводу. Вставьте А7105 в макетную плату, так как показано на фото. Соедините выводы GND на плате arduino и два на А7105. Соедините вывод 3.3V на Arduino c выводом VCC на плате А7105. На разъеме SPI Arduino, соедините вывод MOSI с одним из выводов резистора , другой конец резистора соедините с пином SIDO на А7501.

По этой ссылке можно посмотреть где находится вывод MOSI
Вывод SCK Arduino c выводом SCK А7105 , SCS с платы А7105 на пин 10 Arduino . Синий резистор на фото не является частью проекта.

Arduino софт

Нижеследующий скетч использует хакнутую версию PhracturedBlue’s hubsan X4 и A7105 оригинал кода можно посмотреть здесь.

Подключить Ваш DUO к компьютеру через ‘Programming Port’. Скачайте зип фаил, загрузите скетч в Arduino и выгрузите его в DUO. Этот скетч обрабатывает команды с последовательного порта и преобразует их в команды платы управления вашего квадрокоптера. Этот скетч связывается с платой Hubsan по радио без последовательного порта, так что, если включите ваш коптер, а затем Arduino, и огни на коптере перестанут моргать, значит все в порядке.

Программное обеспечение для Андроид

Это программноеобеспечениедает вам простой контролер полета на базе андроид устройства. Для управления используется акселерометр и сенсорный экран вашего устройства. Планшет или телефон будет обмениваться данными с Arduino через порт USB.

Установка софта:
1 Надо разрешить отладку по USB и разрешить установку приложений не google play. Скачать приложение можно здесь
2Подключитесвое устройство через переходник OTG к Arduino, он будетзапитыватьсяот вашего телефона или планшета, поэтому проверьте, чтобы аккумулятор был полностью заряжен.
3 Подключите аккумулятор к коптеру и положите его на плоскую поверхность. Если огни перестали моргать, значит все в порядке.
4 Большой палец левой руки медленно сдвиньте по экрану, пропеллеры должны начать вращаться. Уберите палец и пропеллеры остановятся.
5 Проделайте все тоже самое, только разместите большой палец правой руки тоже на экране. Это позволит вам управлять вертолетом с помощью акселерометра, наклоняя ваше устройство вперед/назад, влево/вправо. Перемещая большой палец правой руки влево или вправо, вы будете закручивать вертолет влево или вправо вокруг оси. Если убрать правую руку с экрана, вертолет должен выровняться, не зависимо от положения акселерометра. Попробуйте. Перемещайте палец левой руки до тех пор, пока вертолет не взлетит. Помните – если убрать оба пальца- моторы остановятся.

Программное обеспечение для ПК
В архиве программа, которая управляет коптером через последовательный порт. Управляется коптер с помощью курсорных кнопок, и кнопок “A”/”Z”- дроссель. Автор сделал попытку заставить следовать коптер за объектом определенного цвета, но это пока не работает. Обещал выкладывать обновления.

Планы на будущее

Установите OpenCV Manager и ваш APK файл из Eclipse. Запустите его и пройдите все шаги настройки. Оно будет определять круги в поле зрения и руководить перемещением смартфона в центр круга заданного диаметра.

На тестовом смартфоне мы получали и обрабатывали снимок каждые 8 сотых секунды – 12.5 кадров в секунду. Это доказывает, что компьютерное зрение для коптера – вещь совершенно реальная даже при ограниченных временных и финансовых ресурсах.

Возможности дальнейшего развития очень широки. OpenCV – это open source библиотека, портированная на многие платформы. Вдобавок, Intel IPP заменяет некоторые низкоуровневые вызовы OpenCV и ускоряет ваш код, вставляя функции, хорошо оптимизированные под процессоры Intel. Вы можете сохранить переносимость кода – в дальнейшем, возможно, вам понадобится более мощный смартфон.

Ну а что делать дальше – вам подскажут

. Там написано очень подробно, как самому построить летающий аппарат и чему его научить.


Теперь некоторые более конкретные ссылки:

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

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

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

  • Arduino
  • Двигатели
  • Транзисторы

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

На первом этапе следует подсоединить 4 ШИМ выхода (обозначены ~) к транзистору. Затем подсоедините коннекторы к движкам, подключенным к питанию. В нашем случае мы используем аккумулятор на 5В, но подойдет и аккумулятор на 3-5В.

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

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

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

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

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

ПИД-регулятор (назначение и настройка)

Proportional Integral Derivate (PID) или Пропорционально-интегрально-дифференцирующий регулятор (ПИД) — часть программного обеспечения полётного контроллера, которое считывает данные с сенсоров и вычисляет, как быстро должны вращаться моторы, чтобы сохранить желаемую скорость перемещения БЛА.

Разработчики готовых к полёту БЛА как правило оптимально настраивают параметры ПИД-регулятора, поэтому большинство RTF беспилотников отлично пилотируются прямо из коробки. Чего не скажешь про кастомные сборки БЛА, где актуально использование универсального полётного контроллера подходящего для любой мультироторной сборки, с возможностью регулировки значений PID до тех пор, пока они не будут соответствовать требуемым характеристикам полёта конечного пользователя.

Развертывание

OpenCV – библиотека, используемая бесконечным количеством Android приложений, при этом версия библиотеки ими может использоваться разная. Как разработчик, вы можете связать свое приложение с конкретной версией OpenCV, но есть вариант получше. Воспользуйтесь менеджером зависимостей под названием «OpenCV Manager».

Сборка

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

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

Следующим шагом идет установка батареи. Используйте два аккумулятора Zippy Compact по 3700 мА·ч. Крепить их необходимо по диагонали сразу к двум лучам. Используйте для этого широкий пластиковый ремешок и скотч. Крестовина в центральной части также подойдет для установки аккумуляторов. Между крестовиной и контрольной панелью имеется пространство, туда просуньте ремешок для крепления аккумуляторов.

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

Собираем все воедино

Итак, в результате первого этапа конструирования автономного квадрокоптера, мы имеем следующую аппаратную цепочку:

смартфон <> micro USB-USB адаптер <> кабель USB-mini USB <> Pololu Maestro card <> 4 кабеля JR <> карта стабилизации <> кабели JR <> серво приводы <> двигатели

В случае более простого устройства цепочка будет покороче:смартфон <> micro USB-USB адаптер <> кабель USB-mini USB <> Pololu Maestro card <> кабели JR <> серво приводы <> двигатели

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

Сокет для микроконтроллера

Для того, чтобы передавать данные по GPS или использовать ультразвуковой датчик расстояния с Arduino Nano, UNO или Pro Mini, нам понадобится дополнительный микроконтроллер. Он будет обрабатывать данные с GPS или сонар модулей и передавать их на плату контроллера полета через I2C.

Очень удобная фича – встроенный сокет для легкого подключения по I2C для периферийных устройств.

2 дополнительных контакта для моторов (для гексакоптера) показаны на риунке ниже.

Схема проводки

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

Управление моторами

Итак, центр управления выбран, теперь надо подключить к нему моторы. Мы выбрали

стоимостью порядка 5 долларов, он подключается по USB и вдобавок имеет Bluetooth интерфейс. С помощью этой карты будут управляться стандартные серво приводы. С помощью Pololu Maestro servo controller и смартфона сравнительно несложно переделать управляемый летательный аппарат в автономный.

С помощью нескольких строк кода и стандартных Android USB средств мы будем контролировать серво моторы и, таким образом, движение коптера. Еще несколько строк кода – и мы получим доступ к GPS, камере и передаче данных по сети.Вызовем controlTransfer из UsbDeviceConnection:

import android.hardware.usb.UsbDeviceConnection;
// …
private UsbDeviceConnection connection;
// …
connection.controlTransfer(0x40, command, value, channel, null, 0, 5000);

Контроллер позволяет управлять серво приводами, устанавливая конечную позицию, скорость и ускорение – все, что нужно для плавного перемещения. Аргумент command может принимать одно из трех значений:

public static final int USB_SET_POSITION = 0x85;
public static final int USB_SET_SPEED = 0x87;
public static final int USB_SET_ACCELERATION = 0x89;

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

Фишки новой модели

Квадрокоптер Tello относится скорее к дронам для развлечения (фандронам), чем к категории дронов с камерой. Этот малыш умеет совершать забавные трюки и сальто в воздухе, что доставит массу удовольствия пилотам младшего возраста. Tello можно без опаски запускать с ладони и сажать на неё в автоматическом режиме. Причём запуск можно произвести лёгким подбросом квадрокоптера в воздух.

Tello имеет целый ряд предустановленных функций для фото- и видеосъёмки (например, Circle Mode, 360 Grad, Up-and-Away). Стабилизация изображения производится цифровым образом, не механически. За это отвечает встроенный 14-ядерный процессор от Intel. Квадрокоптер снимает 5 Мп фото. Кроме того, Tello совместим с VR-очками. И при этом его вес – всего 80 гр.!

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

Шаг 3: делаем раму

Я использую старую алюминиевую антенну, мягкое дерево и алюминиевую пластину (лопасть вентилятора), чтобы сделать каркас. Отрежьте 4 куска алюминиевого бруска по 20см. Размер центральной пластины составляет около 11 * 18 см…. Деревянное крепление для двигателя имеет длину около 10 см и диаметр 4,5 см (там, где установлен двигатель).

Закрепите алюминиевые стержни с помощью центральной пластины с помощью винтов и вставьте крепление двигателя под алюминиевые стержни. Ваша рама готова (см. видео).

Шаг 4: устанавливаем все компоненты (esc и моторы на раму)

Теперь прикрепите моторы к деревянному креплению с помощью винтов и гаек (любых типов) и соедините с ними провод ESC (произвольно), зафиксируйте ESC с помощью изоленты или стяжек, в моем случае это изолента (дешевле, чем стяжки). После подключения всех моторов и ESC отрежьте провода ESC ve и –ve и подключите все ESC с помощью проводов или PDB. Я использую провода, потому что в моей раме нет места для ESC. Всё готово.

Шаг 5: контроллер полёта

На основе Ардуино Уно и MPU6050, создайте контроллер полёта.

Мой контроллер основан на Joop Brokking’s YMFC-AL и его автоуровневом квадрокоптере. Соедините все согласно диаграмме.

Шаг 6: соединяем esc и ресивер с контроллером полёта

*** Не соединяйте BEC-провод ESC (5 вольт), соединяйте лишь сигнальный провод*** Запитывайте ресивер от 5вольтового источника Ардуино

Соединение ESC:

  • Цифровой пин-4 к ESC1 (правый передний CCW)
  • Цифровой пин-5 к ESC2 (правый задний CW)
  • Цифровой пин-6 к ESC3 (левый задний CCW)
  • Цифровой пин-7 к ESC4 (левый передний CW)

Соединение ресивера:

  • Цифровой пин-8 к каналу 1 ресивера
  • Цифровой пин-9 к каналу 2 ресивера
  • Цифровой пин-10 к каналу 3 ресивера
  • Цифровой пин-11 к каналу 4 ресивера

Шаг 7: настройка контроллера полёта (загрузка скетча)

*** На этом этапе не подключайте лётную батарею

Теперь загрузите Arduino IDE и приложенный скетч и извлеките файл. Вы найдете схемы YMFC-Al, файл Readme, код калибровки ESC, код настройки и код контроллера полета.

Arduino IDEСкетч контроллера полета

Сначала загрузите код и откройте последовательный монитор на 56000b и следуйте инструкциям в видеоЕсли ошибки не возникло, загрузите скетч калибровки ESC после загрузки кода. Поставьте передатчик на полную мощность и подключите летную батарею после нескольких звуковых сигналов, выключите дроссель (я думаю, что этот метод работает не для всех типов и марок ESC, но у меня это работает отлично).

После загрузки скетча калибровки ESC загрузите скетч контроллера полета и Ваш FC готов.


Файлы

Шаг 8: установка электроники в кейс и монтаж

После завершения всех работ по соединению электрокомпонентов, положите всю электронику в коробку и завершите всю проводку. Теперь установите винты CCW на двигатели CCW и винты CW на двигатели CW. Вы готовы к полету.

Самое сложное в создании этого квадрокоптера — настройка PID. Я сломал 2 пары пропеллеров и коробку с электроникой, пытаясь научиться летать на ней.

Шаг №1. делаем корпус

Проектируем на SolidWorks и распечатываем на 3D-принтере корпус будущего дрона. В качестве прототипа можно взять одну из существующих моделей квадрокоптеров, а если есть навыки, то лучше доработать параметры корпуса за счет сот, которые снижают общий вес устройства.

Обратим внимание, что желательно передние лучи или пропеллеры выполнить другим цветом.

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

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

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