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

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

Что такое квадрокоптер?

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

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

Кроме того, у квадрокоптеров существует такое понятие как “pitch” (“тангаж”) – поворот вокруг продольной оси. Для того, чтобы стабилизировать полет квадрокоптера, два пропеллера вращаются в одно направлении (по часовой стрелке), а два – в противоположном направлении (против часовой стрелки).

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

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

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

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

Помните, мы ведь ориентируемся на бюджет в 60 $. А стоимость одного безщеточного двигателя, который можно использовать в нашей конструкции квадрокоптера, колеблется в диапазоне от 20 $ до 60 $! Кроме того, использование этих моторов предполагает установку дополнительных контроллеров – speedcontrollers.

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

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

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

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

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

Базовые понятия

Квадрокоптеры бывают разные, но всех их объединяют четыре несущих винта:

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

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

Мы будем летать на раме квадрокоптера формы «X», потому что она мне больше нравится внешне. У каждой конструкции свои плюсы и свое предназначение. Кроме квадрокоптеров есть и другие мультикоптеры. Даже если не считать экзотические варианты, все равно их видов — целая куча!
Квадрокоптер на Arduino своими

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

Углы тангажа, крена и рыскания (pitch, roll, yaw) — углы, которыми принято определять и задавать ориентацию квадрокоптера в пространстве.
Квадрокоптер на Arduino своимиВикипедии это не совсем точно. Полет квадрокоптера в необходимом направлении достигается изменением этих трех углов. Например, чтобы полететь вперед квадрокоптер должен наклониться за счет того, что задние моторы закрутятся чуть сильнее передних:
Квадрокоптер на Arduino своими
Газ квадрокоптера — среднее арифметическое между скоростями вращения всех моторов. Чем больше газ, тем больше суммарная тяга моторов, тем сильнее они тащат квадрокоптер вверх (НЕ ВПЕРЕД!!! «Тапок в пол» здесь означает наискорейший подъем). Обычно измеряется в процентах: 0% — моторы остановлены, 100% — вращаются с максимальной скоростью. Газ висения — минимальный уровень газа, который необходим, чтобы квадрокоптер не терял высоту.

Смотрите про коптеры:  Как построить коптер полезная нагрузка 20 кг. Квадрокоптеры с большой грузоподъемностью. WLToys Future Battleship Rescue V999HB с подъемным краном - Правсила

Газ, тангаж, крен, рыскание — если вы можете управлять этими четырьмя параметрами, значит вы можете управлять квадрокоптером. Их еще иногда называют каналами управления. Если вы приобрели двухканальный пульт, с квадрокоптером вам не совладать. Трехканальный скорее подойдет для маленьких вертолетов: без управления креном летать можно, но на квадрокоптере — не удобно.

Режимов полета существует много. Используется и GPS, и барометр, и дальномер. Но мы хотим реализовать базовый — режим стабилизации (stab, stabilize, летать в «стабе»), в котором квадрокоптер держит те углы, которые ему задаются с пульта не зависимо от внешних факторов. В этом режиме при отсутствии ветра квадрокоптер может висеть почти на месте. Ветер же придется компенсировать пилоту.

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

Скоростью вращения моторов управляет

полетный контроллер (контроллер, мозги)

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

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

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

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

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

«Протокол» общения между регулятором и мотором нам не так важен, как «протокол» общения между полетным контроллером и регулятором, ведь нам предстоит из контроллера программно управлять регулятором. Бывают регуляторы, управляемые по i2c, но наиболее распространенные управляются сигналом прямоугольной формы с минимумом 0 вольт и максимумом 3-5 вольт (его называют ШИМ или PWM, а некоторые утверждают, что правильнее — PPM. Подробнее, например, здесь).

«Протокол» — это громко сказано: чтобы дать команду мотору вращаться с максимальной скоростью контроллер должен отправлять импульсы длительностью 2 миллисекунды, перемежающиеся логическим нулем длительностью 10 — 20 миллисекунд. Длительности импульса в 1 миллисекунду соответствует остановка мотора, 1.

При всей кажущейся простоте, здесь кроется засада: полетные контроллеры бывают разные с разными настройками, регуляторы бывают разные, и минимум (1 мс) и максимум (2 мс) — не универсальны. В зависимости от множества факторов диапазон 1-2 мс может на деле оказаться 1.1 — 1.9 мс.

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

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

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

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

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

Итак: во время калибровки радио полетный контроллер запоминает диапазоны приемника по всем каналам управления; во время калибровки регуляторов диапазон полетного контроллера заносится во все регуляторы.

Помимо программы для полетного контроллера необходима еще одна программа: интерфейс настройки полетного контроллера. Чаще всего им является программа для PC, которая соединяется с полетным контроллером по USB и позволяет пользователю настраивать и проверять полетную программу, например: запускать калибровку радио, настраивать параметры стабилизации, проверять работу датчиков, задавать маршрут полета на карте, определять поведение мультикоптера при потере сигнала и многое другое. Мы свой интерфейс настройки будем писать на C и Qt в виде консольной утилиты. Вот она, если заглянуть в будущее:

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

Поэтому полетный контроллер должен обеспечивать хоть какую-то безопасность: механизм armed/disarmed. Состояние квадрокоптера «disarmed» означает, что моторы отключены и даже команда полного газа с пульта не имеет никакого эффекта, хотя питание подано.

Состояние «armed» квадрокоптера означает, что команды с пульта выполняются полетным контроллером. В этом состоянии квадрокоптеры взлетают, летают и садятся. Квадрокоптер включается и должен сразу попасть в состояние disarmed на тот случай, если невнимальельный пилот включает его, когда стик газа на пульте находится не в нуле.

Чтобы перевести коптер в состояние «armed» пилоту необхоимо сделать какой-то заранее оговоренный жест стиками пульта. Часто этим жестом является удержание левого стика в правом нижнем углу (газ = 0%, рыскание = 100%) втечении пары секунд. После этого полетный контроллер делает хотя бы минимальную самопроверку и при ее успешном прохождении “армится” (к полету готов!)

О моторах, аккумуляторах, регуляторах, пропеллерах

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

И все же для общего понимания полезно знать основные моменты.

Аккумуляторы

Среди любителей и профессионалов многороторных систем наиболее распространены литий-полимерные аккумуляторы, как основные источники питания бортовой электроники и моторов. Их различают по емкости, напряжению и максимальной токоотдаче. Емкость, как обычно, измеряется в ампер-часах или миллиампер-часах. Напряжение измеряется в количестве «банок» аккумулятора. Одна «банка» — в среднем 3.7 вольт. Полностью заряженая «банка» — 4.2 вольта. Наиболее распространеты аккумуляторы с количеством банок от трех до шести. Максимальная токоотдача измеряется в амперах, а маркируется, например вот так: 25C. C — емкость аккумулятора, 25 — множитель. Если емкость равна 5 амперам, то такой аккумулятор может отдавать 25 * 5 = 125 ампер. Конечно же параметр токоотдачи лучше брать с запасом, но, в основном, чем он больше, тем дороже аккумулятор. Пример маркировки: 25C 3S 4500mah.

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

Моторы, пропеллеры, регуляторы

Основной параметр бесколлекторного мотора — его kv. Это количество оборотов в минуту на каждый вольт поданного напряжения. Наиболее распространены моторы с kv от 300 до 1100. Kv ближе к 1000 обычно выбирают для малых квадрокоптеров (1-2 килограмма плюс 500 граммов полезной нагрузки) и ставят на них пластиковые пропеллеры до 12 дюймов в диаметре. На больших мультикоптерах (для поднятия хорошей и тяжелой фото-видео техники) или на долголетах (для рекордов по времени полета) обычно стоят моторы с низким kv (300-500) и огромными карбоновыми пропеллерами (15 — 20 дюймов в диаметре). Kv — не единственный важный параметр мотора: часто можно встретить целые таблицы зависимости мощности мотора и тяги от подаваемого напряжения и типа установленного пропеллера. Кроме того, каждый мотор рассчитан на свой диапазон напряжений (количество банок аккумулятора) и на свой максимальный ток. Если производитель пишет 3-4S, не стоит использовать его с 5S аккумуляторами. Это же касается и регуляторов.

Смотрите про коптеры:  Видеопередатчики FPV: технические характеристики. Какой купить? - Все о квадрокоптерах | PROFPV.RU

Если мотор рассчитан на ток до 30А, то регулятор стоит рассчитывать на ток до 30 10А, чтобы не допускать перегревов. Некачественные или неподходящие регуляторы могут вызвать так называемые «срывы синхронизации» и остановку мотора в полете, и вы узнаете еще один мультироторный термин: “поймал планету.” Еще один важный момент — толщина и качество проводов. Неправильно рассчитанное сечение провода или плохой коннектор могут привести к пожару в воздухе.

Как видите, нюансов очень много. Я не перечислил даже половины, поэтому самому подобрать комплектующие для первого мультикоптера довольно трудно.

Дополнительные факторы, влияющие на эксплуатационные характеристики мотора

При выборе электромотора для квадрокоптера обязательно проверяйте его технические характеристики. Учитывайте все то, что мы обговорили выше. Вот, к примеру, модель Micro Brushless Outrunner  18-11 2000KV.

  • KV — 2000
  • Вес — 10 гр.
  • Макс.потребление тока — 5,5 А
  • Сопротивление — 0
  • Макс. вольтаж — 7 В
  • Мощность — 0
  • Вал — 2 мм
  • Длина — 22 мм
  • Диаметр — 18 сс
  • Общая длина — 30 мм
  • Рекомендуемые лопасти — 7″ х 5″
  • Рекомендуемая мощность — 7,4 В
  • Тяга — 130 гр. / 5000 об/мин

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

  • Максимальная тяга
  • Потребление тока
  • Эффективность
  • Вес

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

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

  • Тяга
  • Время отклика
  • Температура
  • Балансировка и вибрация

Тяга — это на сколько быстро мотор может увеличивать/изменять скорость вращения. Это влияет на точность управления и отзывчивость квадрокоптера во время полета. Большая тяга дает мгновенный отклик, т.к. скорость вращения меняется так же мгновенно. Большая тяга, так же позволяет ставить лопасти побольше (если рама конечно позволяет), правда в ущерб батарее.

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

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

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

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

Какие бывают размеры пропеллеров

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

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

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

На фото 7-дюймовый пропеллер
На фото 7-дюймовый пропеллер

Наиболее популярным пропеллером считается 5-дюймовы пропеллер, для которого подходят двигатели в диапазоне размеров 2204-2307.

Конфигурация пропеллеров

Пропеллеры бывают:

  • 2-лопастные;
  • 3-лопастные;
  • 4-лопастные;
  • 5-лопастные.
2-лопастной пропеллер
2-лопастной пропеллер

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

Увеличение числа лопастей компенсирует размер пропеллера, особенно в микросборках, ведь если на маленький дрон на раме 100 мм поставить 2-лопастные пропеллеры, он вряд ли будет адекватно летать и это приведет к большим оборотам двигателей и их перегреву. Именно поэтому в микросборках всегда 4-лопастные пропеллеры, а в дронах чуть больше — 3-лопастные.

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

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

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

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

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

Математика стабилизации, пид-регуляторы (pid)

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

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

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

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

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

Будем рассматривать квадрокоптер в двумерном пространстве, где у него есть только один угол — угол крена, и два мотора: левый и правый.

В полетный контроллер непрерывно поступают команды с земли: «крен 30 градусов», «крен -10 градусов», «крен 0 градусов (держать горизонт)»; его задача — как можно быстрее и точнее их выполнять с помощью моторов с учетом: ветра, неравномерного распределения веса квадрокоптера, неравномерного износа моторов, инерции квадрокоптера и т.п.

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

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

Уровень газа поступает из приемника в контроллер. Обозначим его Квадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своими

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

Здесь P — коэффициент пропорциональности. Чем он больше, тем сильнее будет реакция, тем резче квадрокоптер будет реагировать на отклонение от требуемого угла крена. Эта интуитивно понятная и простая формула описывает работу пропорционального регулятора.

За несколько десятков миллисекунд (несколько итераций цикла обработки) под воздействием пропорционального регулятора квадрокоптер вернется в требуемое (в данном случае горизонтальное) положение. Все это время ошибка Квадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своими

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

И вот пропорциональный регулятор превращается в пропорционально-дифференциальный (пропорциональное слагаемое и дифференциальное):

Ошибку Квадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своимиКвадрокоптер на Arduino своими

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

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

где T — текущий момент времени.
Пришло время записать окончательную формулу пропорционально-интергрально-дифференциального регулятора:

где Квадрокоптер на Arduino своимиКвадрокоптер на Arduino своими

Существует несколько ее вариаций, например, можно ограничить модуль интегрального слагаемого, чтобы он не превысил определенный допустимый порог (мы так и будем делать).

Моторы для drone racing формата 2204

Формат 2204 устанавливается на рамы квадрокоптеров 200-300 размера и предназначены для использования с пропеллерами 5-6 дюймов.

Eachine Racer 250 Drone Spare Part BG2204 2300KV Brushless Motor CW/CCW – в продаже моторы прямого и обратного вращения (выбирается при заказе).Эти моторы устанавливаются на квадрокоптер Eachine Racer 250, поставляются без гайки. 

Основной “вкусностью” этих моторов является то, что они предназначены для работы как с 3S так и с 4S аккумуляторами.

  • Купить BG2204 2300KV Brushless Motor CW/CCW можно .

Ориентирован на работу с 2-3S аккумуляторами. в таблице ниже приведены базовые характеристики мотора.

  • Купить мотор KingKong 2204 2300KV можно .

Интересная концепция – в корпус мотора встроен регулятор оборотов. С этими моторами не придется тратиться на дополнительные регуляторы.Вы можете выбрать 1900, 2000 или 2300 оборотов на вольт, для Drone Racing – выбирайте последнее значение.

  • Купить ZTW Black Widow 2204 можно .

1806 – этот формат подходит для рам 150-200 размера. Некоторые ставят и на 250 рамы, но тут уже может быть недостаток тяги, хотя это зависит от полетного веса квадрокоптера.

Пропеллеры для 1806 обычно ставятся 4-5 дюймов. Часто для увеличения тяги используются 3-х лопастные пропеллеры.

DYS BE1806 2300KV – это небольшой мотор ставший стандартом для оборудования сборных рам или самодельных квадрокоптеров Drone Racing.

  • Купить DYS BE1806 2300KV можно .
  • Набор из 4-х моторов регуляторы продается .

Отличительной чертой продуктов Eachine является качество исполнения. BG1806 2300KV не является исключением, эти моторы характеризуют низкие вибрации во время эксплуатации. Вам не придется дополнительно балансировать моторы!

  • Купить Eachine BG1806 2300KV можно .

Поддерживает 3S и 4S аккумуляторы. В полях не встречал, но на зарубежных форумах отзывы весьма положительные.

  • Купить KingKong 1806V2 2280 можно .

Эти моторы шли в комплектах для сборки QAV250. Так сказать нонейм моторы. Отрицательных отзывов (если покупать по ссылке, а не на алиэкспрессе) не нашел.

  • Купить двигатель для квадрокоптера 1806 2400KV можно .

Подключение к arduino

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

Начнем сборку электросхемы. На этом этапе нам понадобятся Arduino, моторы, транзисторы (монтажная плата и коннекторы). Схема подключения приведена ниже, под необходимыми текстовыми пояснениями. Подключите четыре ШИМ выхода (отмечены на Arduino знаком ~ ) к транзистору, как это показано на рисунках.

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

После запуска акселерометра и его проверки, необходимо установить все на ProtoBoard (можно использовать монтажную плату, на которую напаять рельсы для установки на Arduino. Можно пойти по более элегантному пути и приобрести Proto Shield).

В нашем случае мы припаяли акселерометр к плате и только после этого провели калибровку. Но практика показывает, что это не совсем правильно. Для увеличения точности показаний гироскопа/акселерометра, его лучше сначала откалибровать на ровной поверхности и только потом припаять.

Подключение к Arduino 1

Размеры рамы, пропеллеров и двигателей

Размер бесколлекторных двигателей, применяемых в квадрокоптерах и радиоуправляемых моделях, обычно обозначается 4-значным числом вида AABB. Первые две цифры AA — это ширина (диаметр) статора, а две последующие BB — его высота, приведённые в миллиметрах.

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

Размер пропеллера, совместимого с конкретным двигателем, определяет диаметр его вращающегося вала. Моторы для 4″, 5″ и 6″ лопастей обычно комплектуются валом с резьбой M5. Большинство современных электромоторов являются outrunner и сконструированы так, что их вал запрессован во внешний колокол двигателя с постоянными магнитами, вращающийся вокруг неподвижного статора. Более старые модели могут иметь дополнительный адаптер для установки пропеллера.

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

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

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

Размер рамыПропеллерыРазмер двигателейЗначение KV
150 мм и менее3”1105-1305 и меньше3000 kV и более
180 мм4”18062600 – 3000 kV
210 мм5”2204-2208, 23062300 – 2600 kV
250 мм6”2204-2208, 23062000 – 2300 kV
350 мм7”22081600 kV
450 мм и более8”,9”,10” и более2212 и более1000 kV и менее

Шаг пропеллера

Шаг — это угол наклона каждой лопасти пропеллера.

Шаг это то расстояние, которое пройдет пропеллер вверх за 1 оборот в идеальных условиях.

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

Пропеллер с большим шагом будет медленно реагировать на газ, потреблять больше энергии и будет максимально эффективным на больших оборотах.

Высокий шаг применяется в пропеллерах для съемочных квадрокоптеров.

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

Низкий шаг применяется в пропеллерах для гоночных дронов (мини и микро).


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

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

Adblock
detector