MultiWii

leprud

Система стабилизации многороторных систем (на момент написания данного текста возможно управление трикоптером, “+” и “Х” квадкоптером, а также Y6 и HEX6 конфигураций). Также возможно использование как стапилизированного подвеса камеры) с открытым кодом, изначально основанная на ArduinoProMini 5V 16MHz, и использующая датчики (гироскопы и акселерометры), расположенные на аксессуарах игровой приставки Wii: WiiMotionPlus (WMP) и опционально - Nunchak (NK).
Алгоритмы стабилизации используют PID (ПИД) регулятор, совмещенный с фильтром Калмана.

Получила свою популярность за счет своей дешевизны (дешевле т.н. “безмозглых” , использующих 4 готовых модельных гироскопа), а также простоты сборки, обусловленной модульностью конструкции с широко распространенными и дешевыми модулями: Arduino (15-25$), WMP (7-25$), NK (4-15$). Смена прошивки также не требует специального оборудования и навыка работы со специализированным программным обеспечением.

Сейчас возможно использовать различные датчики совместно с исходным программным обеспечением и платами.

Официальный сайт

Основная ветка обсуждения на rcgroups
Build log от kinderkram
Основные настройки в подробностях
HOWTO

В этих обсуждениях есть ВСЯ необходимая для понимания и повторения информация, рассмотрены разные проблемы и методы их решения. Не ленитесь пользоваться поиском!

Физические схемы подключения элементарны и не представляют сложностей для повторения.

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

Подключение опционального NK к WMP

Схема подключения в трикоптере

“X” Квадкоптер

“+” Квадкоптер

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

Из готовых следует отметить плату от мастера пилотажа Warthox

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

Covax

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

Кстати, ссылка на репозиторий всех версий кода для multiwii.

Из доступных к заказу в РФ ищите carduino nano, freeduino с USB интерфейсом. Из-за границы seeeduino. Желательно сразу на Атмеге 328 и выше!

funtik26

Леонид спасибо за тему и подробный фак.
от меня метод настройки ПИДов
выставляем экспоненты, расходы, так чтобы моторы запускались
начинаем настройки PID
изначально все по нулям.
начинам увеличивать Р до момента появления осциляций. я настраивал держа в руке на весу. иногда для принудительного возникновения осциляций нужно с хорошей амплитудой и резко наклонять коптер. далее настраиваем I и D , Увеличиваем но без явного фанатизма. советую проверять на предмет возникновения осциляций. если при резких кренах коптер начинает прыгать и моторы обрубаются- уменьшить P.
если у вас есть нунчак, причиной осциляций может быть сильно завышенное автовыравнивание. советую так же начинать с минимума.
если в комнате коптер летает хорошо а на улице дергается- уменьшать либо чувствительность либо автовыравнивание.
хорошей “аэродинамической трубой” для выявления дерганий у меня служит пылесос. включаем его и летаем выходящим из него воздухом

Панкратов_Сергей
Covax:

лотерея еще та, закупайтесь в проверенных местах

Нет гарантий. Сегодня в этом месте одни платы, завтра другие…
У меня плата - вообще не рассматриваемая на 560 страницах форума . Но работает …

funtik26:

от меня метод настройки ПИДов

Что сделали? А были против…

funtik26

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

leprud

MWC (MultiWiiController) с настройками только по P каналу PID регулятора абсолютно точно повторяет поведение безмозглого варианта…
Единственно что, MEMS датчики (стоящие в WMP) значительно чувствительнее к вибрациям, чем пьезо-датчики в обычных гироскопах, поэтому требуют виброизоляции и виброразвяки.

Панкратов_Сергей

Чуть дополню:
Для плат ArduinoProMini 5V 16MHz и некоторых других, не имеющих на борту USB-адаптера, нужен еще USB-Serial adapter www.sparkfun.com/commerce/product_info.php?product… .
Для последних версий прошивок 1.5 и 1.6 можно применять и 168-ю атмегу, при условии отключения в программе настройки через ЛСД дисплей. Более ранние прошивки не проверял.

jon_bear

rcopen.com/forum/f123/topic156768/1774

Панкратов_Сергей:

Перемычку для работы нунчака на плате WMP поставил? На моей плате 1 с 3 контактом.

Спасибо Сергей!! Слона то я и не заметил 😃

Пошел курить форум дальше, на тему:
Почему уровни акселерометра на разной высоте в окне просмотра,
Нормально ли что cycle time в районе 6000 независимо от скорости I2C…

Covax

Вот хороший магазинчик на ebay по ардуинам платкам и аксессуарам к ней.
shop.ebay.com/ge-th2009/m.html

jon_bear:

Почему уровни акселерометра на разной высоте в окне просмотра,
Нормально ли что cycle time в районе 6000 независимо от скорости I2C…

ACC_PITCH, ACC_ROLL должны быть по нулям, ACC_Z в районе 200
6000 нормально, можно понизить на свой страх и риск выставив частоту 400khz и снизить задержку interleaving_delay с 3000 до 2000 или даже 1000.

Texnik

Питание WMP & Nunchak - 5 вольт? А ардуины легко делать и самому.

leprud

А вот AlexInParis мне ответил, что cycle time выше 4500 - это плохо.
Мне помог переход на питание 3.3В со стандартных 5В.

Volver

Подскажите кто знает, такого ардуино нано будет достаточно для WMP + BMA020?

Covax
leprud:

А вот AlexInParis мне ответил, что cycle time выше 4500 - это плохо.
Мне помог переход на питание 3.3В со стандартных 5В.

Тоесть просто перешел и цикл уменьшился ничего не меняя в скетче? У меня такой фокус прошел только уменьшив INTERLEAVING_DELAY до 1200. Сейчас у меня цикл 2300 с копейками при частоте 400khz и 3.3v. Когда сильно трясу платку то цикл разово может поднятся до 3700 .

Volver:

Подскажите кто знает, такого ардуино нано будет достаточно для WMP + BMA020?

Алил, конечно подойдет, только за теже деньги можно купить Кардуино Нано 328, уже в Москве, с возможностью замены если что. Парни находятся в районе Шуваловского, можно договорится о самовывозе и не платить за доставку.

leprud
Covax:

Тоесть просто перешел и цикл уменьшился ничего не меняя в скетче?

Практически да.

Панкратов_Сергей
jon_bear:

Почему уровни акселерометра на разной высоте в окне просмотра,
Нормально ли что cycle time в районе 6000 независимо от скорости I2C…

Видимо приемник не подключали… После процедуры обнуления-нормализации - придет в норму.
От скорости I2C практически не зависит.
Цикл с акселлерометром около 6000. Без оного - около 3000

Covax
leprud:

Практически да.

Всмысле практически, были еще какието доработки? )) А версия скетча какая?

Панкратов_Сергей
leprud:

Практически да.

С 12- пина ушли?
Т.е уменьшили время цикла все же снижением питания или уходом от принудительных сбросов нунчака?