Трикоптер на Crius MultiWii контроллере

в 16:35, , рубрики: arduino, crius, diy или сделай сам, multiwii, open source, трикоптер, метки: , , ,

Трикоптер на Crius MultiWii контроллере
Вдохновившись статьей с rcexplorer о простой постройке коптера (вот тут мой перевод), сделал и себе небольшой летающий агрегат с 3мя моторами, но с другими мозгами и алюминиевой основой лучей вместо дерева.

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

Рама

Рама делается очень просто. Берем кусок стеклотекстолита или другого аналогичного тонкого и прочного материала, вырезаем две детали центральной части нужного размера и, скрепив получившиеся детали двух сторонним скотчем, сверлим в них 6 отверстий под крепление лучей: по 2 отверстия на луч, а каждый луч под углом 120 градусов. При этом желательно заранее рассчитать расстояние от оси мотора до центра соединения лучей, иначе могут быть проблемы с будущей настройкой полетного контроллера.
Если не знаете где найти стеклотектолит, то всегда можно заказать на сайте taydaelectronics.com, один квадрат размером 6 на 6 дюймов стоит чуть больше $1, но требуется купить хотя бы 5 штук, чтобы уложиться в минимальный вес посылки.
Трикоптер на Crius MultiWii контроллере
Теперь нам понадобится легкий и прочный алюминевый профиль. Так как по магазинам мне было ходить лениво, а время терпело, то заказал комплект из 4 лучей, длинной 25см каждый с сайта GoodLuckBuy.
Я обычно прикидываю расположение и размеры в inkscape, потом оставляю контур, распечатываю и наклеиванию на заготовку.
Трикоптер на Crius MultiWii контроллере
На момент постройки у меня был только маленький обрезок фольгированного стеклотекстолита, поэтому получилось два прямоугольника размером 65 на 85 мм. В которых позже было проделано еще 4 отверстия для крепления подвеса с аккумулятором и камерой.
Трикоптер на Crius MultiWii контроллере
В итоге получилась вот такая рама, скрепленная пластиковыми болтами и гайками, которая к тому же не плохо складывается (позже так красиво не будет, но всё равно компактно)

Поворотный механизм

Самое сложное и проблемное место трикоптера — это поворотный механизм заднего мотора, служащий для компенсации вращения, а так же для поворота. Вот как раз из-за него долго не решался строить «трешку», а очень хотелось в виду экономичности и возможности легко складывать раму для транспортировки. Как и в статье Девида, я взял вот такие штуки:
Трикоптер на Crius MultiWii контроллере
А вот с сервой вышла ошибка (хотел немного поэкономить, а вышло что пришлось покупать два раза), поэтому первый вариант механизма вышел довольно большим и тяжелым.
Трикоптер на Crius MultiWii контроллере
Поэтому рекомендую сразу брать серву BMS-385DMAX, указанную в статье Девида.
Заметьте, чтобы стяжка, держащая поворотный механизм не слетела, следует немного отогнуть профиль. Так же рекомендую прикрутить небольшую деревяшечку, в углубление белого блока механизма, а так же использовать 2х сторонний скотч или клей.
Трикоптер на Crius MultiWii контроллере

Регуляторы скорости, моторы и пропеллеры

По традиции (да и в наличии дома было) регуляторы скорости HobbyKing BlueSeries 30A и моторы 20-22L. Регуляторам скорости пришлось удлинить провода питания, чтобы удобно вывести разъем питания, да и чтобы достало до аккумулятора. И конечно надо немного изменить настройки регуляторов скорости, включив Brake, увеличив Timing до High и убрав плавное ускорение (на разных регуляторах скорости различные параметры, но в целом ставить всё так, чтобы было быстрее).
Трикоптер на Crius MultiWii контроллере
Пропеллеры разнонаправленные, согласно вращениям моторов: передний левый вращается по часовой стрелке, передний правый против часовой, а задний в зависимости от ваших настроек (напоминаю что для смены направления вращения достаточно поменять любые 2 провода от регулятора скорости до мотора местами).

Подвес, аккумулятор и стойки

Подвес в данном случае это просто фанерка, вырезанная под ширину аккумулятора. На фанерку клеится липучка (другая часть на аккумуляторе) и заодно продевается дополнительная липучка для надежного крепления аккумулятора.
Трикоптер на Crius MultiWii контроллере
К подвесу через стяжки прикреплены силиконовые трубочки, к раме так же на стяжках приделаны силиконовые трубочки, а потом скрепляются между собой для гашения вибрации на камере.
Трикоптер на Crius MultiWii контроллере
Чтобы коптер не приземлялся на батарейку (что крайне опасно), из остатков текстолита можно выпилить 3 небольших прямоугольника и, просверлив в них отверстия, закрепить на лучи стяжками.
Трикоптер на Crius MultiWii контроллере
При относительно жестком приземлении стяжки отваливаются, гася большую часть энергии падения, поэтому аккумулятор не страдает (проверено в падении с 7 метров об асфальт).

Полетный контроллер Crius Lite

Не так давно на сайте goodluckbuy появился очень дешевый полетный контроллер с atmega328p и набором датчиков: гироском+акселерометр для Lite версии и дополнительные барометр и компас для Standart версии. Lite версию взял по двум причинам: цена (на момент покупки разница была в 2 раза) и бессмысленность других датчиков (курс прекрасно держит и без компаса, а удержание высоты с прыжками +-2 метра на датчике bmp085 меня не вдохновляют).
Трикоптер на Crius MultiWii контроллере
После покупки рекомендую отковырять всё лишнее и пополоскать платку в спирте, так как почти всем китайцы оставили много токопроводящей грязи которая замыкает контакты и может просто убить контроллер.
Трикоптер на Crius MultiWii контроллере
Крепим плату и сопутствующее оборудование (приемник) к раме с помощью вспененной липкой ленты. Держит очень прочно, а заодно и вибрации немного устраняет. (только антенну не крепите так, если собираетесь далеко летать).
Вес коптера около 800 грамм, время полета с 2.2Ah аккумулятором и камерой до 200 грамм около 10 минут, при этом запаса мощности еще около 40-50%.
На этом железная часть заканчивается и начинается игра с софтом.

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

После первого подключения платы выяснилось что залитая прошивка довольно старая, да еще и с перепутанными осями датчиков, т.е. летать на такой можно даже и не пытаться. Поэтому скачиваем Arduino IDE и новую прошивку (не качайте dev!), а еще лучше порт от mahowik с кучкой улучшений.

Настройка

Открываем через Arduino IDE скетч-прошивку. Вся конфигурация описана в файле config.h (подробнее о большинстве параметров и настройках можно прочитать тут, в данной статье многие мелочи опущены). Для трикоптера выставляем тип рамы #define TRI, тип платы датчиков #define CRIUS_LITE и фильтр для гироскопа #define ITG3200_LPF_42HZ. А теперь в настройках Arduino IDE выбираем любую 328p ардуинку и заливаем полученный скетч.
Запускаем MultiWiiConf для вашей системы.
Трикоптер на Crius MultiWii контроллере
Так как наш поворотный механизм использует серву, у которой есть свойства сгорать при сильных нагрузках, то лучше узнать и установить пределы отклонений сервы. Для этого стиком YAW на пульте управления отклоняйте серву влево и вправо и запомните максимальное и минимальное значение SERVO в её крайних положениях, после чего введите эти значения в файле config.h

/* you can change the tricopter servo travel here */
#define TRI_YAW_CONSTRAINT_MIN 1340
#define TRI_YAW_CONSTRAINT_MAX 1855

И заново загрузите скетч в контроллер. Теперь можно попробовать взлететь, но учтите, что коптер будет вращаться, поэтому оттримируйте канал YAW на пульте, чтобы не было вращений при взлете и полетах, а потом снова зайдите в MultiWiiConf, посмотрите это значение в поле SERVO и поменяйте его в

#define TRI_YAW_MIDDLE 1630 // tail servo center pos. - use this for initial trim; later trim midpoint via LCD

ВНИМАНИЕ! В новой прошивке (2.0 и выше) подобное триммирование сделано через LCD экранчик или терминал, если у вас нет ни того ни другого, то придется немного поменять код в Output.ino

  #ifdef TRI
    motor[0] = PIDMIX( 0,+4/3, 0); //REAR
    motor[1] = PIDMIX(-1,-2/3, 0); //RIGHT
    motor[2] = PIDMIX(+1,-2/3, 0); //LEFT
    servo[5] = constrain(TRI_YAW_MIDDLE + YAW_DIRECTION * axisPID[YAW], TRI_YAW_CONSTRAINT_MIN, TRI_YAW_CONSTRAINT_MAX); //REAR
  #endif

Готовый файл конфигурации для моего трикоптера nekaka.com/d/sgNj8AXp2Y — возможно кому то пригодится.
Теперь можно настраивать PID, добавлять управление подвесом камеры и т.д., а так же добавить поддержку GPS с функциями удержания позиции и возвратом домой.

Заключение

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

Съемка велась с 2х аппаратов: квадрокоптер с камерой GoPro и мой трикоптер с бортовой FPV камерой, картинка с которой записывалась на земле на старую miniDV камеру.

Автор: SovGVD

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js