30 May 2012

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

DIY
ВНИМАНИЕ, статья устарела, но её всё еще можно использовать в ознакомительных целях

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

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

Рама


Рама делается очень просто. Берем кусок стеклотекстолита или другого аналогичного тонкого и прочного материала, вырезаем две детали центральной части нужного размера и, скрепив получившиеся детали двух сторонним скотчем, сверлим в них 6 отверстий под крепление лучей: по 2 отверстия на луч, а каждый луч под углом 120 градусов. При этом желательно заранее рассчитать расстояние от оси мотора до центра соединения лучей, иначе могут быть проблемы с будущей настройкой полетного контроллера.
Если не знаете где найти стеклотектолит, то всегда можно заказать на сайте taydaelectronics.com, один квадрат размером 6 на 6 дюймов стоит чуть больше $1, но требуется купить хотя бы 5 штук, чтобы уложиться в минимальный вес посылки.

Теперь нам понадобится легкий и прочный алюминевый профиль. Так как по магазинам мне было ходить лениво, а время терпело, то заказал комплект из 4 лучей, длинной 25см каждый с сайта GoodLuckBuy.
Я обычно прикидываю расположение и размеры в inkscape, потом оставляю контур, распечатываю и наклеиванию на заготовку.

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

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

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


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

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

Поэтому рекомендую сразу брать серву BMS-385DMAX, указанную в статье Девида.
Заметьте, чтобы стяжка, держащая поворотный механизм не слетела, следует немного отогнуть профиль. Так же рекомендую прикрутить небольшую деревяшечку в углубление белого блока механизма, а так же использовать 2х сторонний скотч или клей.


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


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

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

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


Подвес в данном случае это просто фанерка, вырезанная под ширину аккумулятора. На фанерку клеится липучка (другая часть на аккумуляторе) и заодно продевается дополнительная липучка для надежного крепления аккумулятора.

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

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

При относительно жестком приземлении стяжки отваливаются, гася большую часть энергии падения, поэтому аккумулятор не страдает (проверено в падении с 7 метров об асфальт).

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


Не так давно на сайте goodluckbuy появился очень дешевый полетный контроллер с atmega328p и набором датчиков: гироском+акселерометр для Lite версии и дополнительные барометр и компас для Standart версии. Lite версию взял по двум причинам: цена (на момент покупки разница была в 2 раза) и бессмысленность других датчиков (курс прекрасно держит и без компаса, а удержание высоты с прыжками +-2 метра на датчике bmp085 меня не вдохновляют).

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

Крепим плату и сопутствующее оборудование (приемник) к раме с помощью вспененной липкой ленты. Держит очень прочно, а заодно и вибрации немного устраняет. (только антенну не крепите так, если собираетесь далеко летать).
Вес коптера около 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 для вашей системы.

Так как наш поворотный механизм использует серву, у которой есть свойства сгорать при сильных нагрузках, то лучше узнать и установить пределы отклонений сервы. Для этого стиком 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 камеру.
ps: если есть какие то вопросы — задавайте, буду обновлять статью по мере возможности.
Tags:трикоптерmultiwiicriusopen source
Hubs: DIY
+40
15.8k 204
Comments 35