Arduino для квадрокоптера своими руками

Как собрать квадрокоптер самому – простая инструкция для начинающих как сделать дрон на Ардуино своими руками

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

Рама состоит из алюминиевой антенны (штанги), лопасти вентилятора из алюминиевого плафона и дерева. Arduino UNO наряду с MPU6050 (гироскоп + Accle) используется в качестве контроллера полёта.

Шаг 1: Материалы

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

Ссылки на Амазон:

Список со ссылками на banggood:

Ссылки на gearbest:

Шаг 2: Установка моторов

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

Шаг 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вольтового источника Ардуино

  • Цифровой пин-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, код настройки и код контроллера полета.

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

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

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

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

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

Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.

Источник

Квадрокоптер на Ардуино своими руками

Квадрокоптер – отличный вариант проведения свободного времени. Можно купить Arduino дрон в ближайшем магазине или заказать в Китае, но есть альтернатива в виде сборки его своими руками. Да, это вполне реально сделать даже при отсутствии особых навыков и большой денежной суммы, ведь простейшие модели обойдутся вам в сумму 70-80 долларов США. Подобная сумма вполне подъемна даже для бедного студента, который сможет собрать отличный дрон своими руками.

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

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

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

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

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

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

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

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

Что нам понадобится?

Перед началом работы нужно подготовить следующие комплектующие:

  • комплект проводов (лучше разноцветных для упрощения монтажа);
  • литиевые аккумуляторы (напряжение 3.7В);
  • транзистор ULN2003A Darlington Transistor (подойдут более мощные аналоги);
  • контролер Arduino Uno;
  • плата MPU-6050 (совмещает в себе функции акселерометра и гироскопа).

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

Как собрать программируемый квадрокоптер на Ардуино Уно своими руками?

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

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

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

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

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

Шаг №2. Подключение Arduino

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

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

Шаг №3. Скетч для Arduino

После подключения к Arduino платы MPU-6050 необходимо загрузить скетч I2C scanner code, куда вставляется код программы. Обратим внимание, что на этом этапе пригодятся хоть минимальные познания в программировании на Arduino, поэтому при отсутствии даже них стоит сделать небольшую паузу и разобраться с особенностями.

Теперь откройте серийный монитор Arduino IDE (он находится в разделе Tools на вкладке Serial Monitors) и убедиться в наличии подключенного 9600. Если все предыдущие этапы были выполнены верно, то будет обнаружено устройство I2C с присвоенным адресом 0х69 или 0х68, который нужно записать. Теперь можно загрузить один из скетчей, который будет постоянно обрабатывать информацию с акселерометра и гироскопа. В интернете подобных скетчей для Arduino достаточно много, поэтому выбирайте любой, но ориентируйтесь на отзывы пользователей. После скачивания подобного скетча проведите его разархивирование. Затем опять перейдите в Arduino IDE и зайдите по адресу sketch-import libraty-add library, куда нужно будет добавить папки с вашими скетчами.

Теперь обязательно откройте файл MPU6050_DMP6. Если у вас был присвоен адрес 0х69, то обязательно нужно расскоментировать строку после #includes, так как по умолчанию присваивается 0х68. На этом этапе уже можно получить первые значения с гироскопа и акселерометра. Для этого загрузите программу и откройте с 115200 окно серийного монитора, следуя дальнейшим инструкциям.

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

Шаг №4. Установка программы для Arduino и подключение

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

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

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

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

Шаг №5. Модификация дрона

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

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

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

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

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

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

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

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

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

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

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

Источник