MultiWii
Система стабилизации многороторных систем (на момент написания данного текста возможно управление трикоптером, “+” и “Х” квадкоптером, а также 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
В этих обсуждениях есть ВСЯ необходимая для понимания и повторения информация, рассмотрены разные проблемы и методы их решения. Не ленитесь пользоваться поиском!
Физические схемы подключения элементарны и не представляют сложностей для повторения.
Подключение опционального NK к WMP
Схема подключения в трикоптере
“+” Квадкоптер
Для простоты подключения элементов, существуют различные вспомогательные платы.
Из готовых следует отметить плату от мастера пилотажа Warthox
Также существует большое количество плат не доступных коммерчески, но доступных бесплатно в виде разводки и картинок. Их список также доступен по ссылкам, указанным выше.
Ну наконецто 😃
От себя добавлю: покупка клонов WM+ и нунчак лотерея еще та, закупайтесь в проверенных местах, а для этого придется всетаки перелопатить все указанные ссылки хотя бы поиском.
Кстати, ссылка на репозиторий всех версий кода для multiwii.
Из доступных к заказу в РФ ищите carduino nano, freeduino с USB интерфейсом. Из-за границы seeeduino. Желательно сразу на Атмеге 328 и выше!
Леонид спасибо за тему и подробный фак.
от меня метод настройки ПИДов
выставляем экспоненты, расходы, так чтобы моторы запускались
начинаем настройки PID
изначально все по нулям.
начинам увеличивать Р до момента появления осциляций. я настраивал держа в руке на весу. иногда для принудительного возникновения осциляций нужно с хорошей амплитудой и резко наклонять коптер. далее настраиваем I и D , Увеличиваем но без явного фанатизма. советую проверять на предмет возникновения осциляций. если при резких кренах коптер начинает прыгать и моторы обрубаются- уменьшить P.
если у вас есть нунчак, причиной осциляций может быть сильно завышенное автовыравнивание. советую так же начинать с минимума.
если в комнате коптер летает хорошо а на улице дергается- уменьшать либо чувствительность либо автовыравнивание.
хорошей “аэродинамической трубой” для выявления дерганий у меня служит пылесос. включаем его и летаем выходящим из него воздухом
лотерея еще та, закупайтесь в проверенных местах
Нет гарантий. Сегодня в этом месте одни платы, завтра другие…
У меня плата - вообще не рассматриваемая на 560 страницах форума . Но работает …
от меня метод настройки ПИДов
Что сделали? А были против…
сильно против WII? был против в начальной стадии постройки коптеров. потом подрос повзрослел понял что надо расти дальше. кстати безмозглый вариант мне нравился больше
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-ю атмегу, при условии отключения в программе настройки через ЛСД дисплей. Более ранние прошивки не проверял.
rcopen.com/forum/f123/topic156768/1774
Перемычку для работы нунчака на плате WMP поставил? На моей плате 1 с 3 контактом.
Спасибо Сергей!! Слона то я и не заметил 😃
Пошел курить форум дальше, на тему:
Почему уровни акселерометра на разной высоте в окне просмотра,
Нормально ли что cycle time в районе 6000 независимо от скорости I2C…
Вот хороший магазинчик на ebay по ардуинам платкам и аксессуарам к ней.
shop.ebay.com/ge-th2009/m.html
Почему уровни акселерометра на разной высоте в окне просмотра,
Нормально ли что cycle time в районе 6000 независимо от скорости I2C…
ACC_PITCH, ACC_ROLL должны быть по нулям, ACC_Z в районе 200
6000 нормально, можно понизить на свой страх и риск выставив частоту 400khz и снизить задержку interleaving_delay с 3000 до 2000 или даже 1000.
Питание WMP & Nunchak - 5 вольт? А ардуины легко делать и самому.
А вот AlexInParis мне ответил, что cycle time выше 4500 - это плохо.
Мне помог переход на питание 3.3В со стандартных 5В.
Подскажите кто знает, такого ардуино нано будет достаточно для WMP + BMA020?
А вот AlexInParis мне ответил, что cycle time выше 4500 - это плохо.
Мне помог переход на питание 3.3В со стандартных 5В.
Тоесть просто перешел и цикл уменьшился ничего не меняя в скетче? У меня такой фокус прошел только уменьшив INTERLEAVING_DELAY до 1200. Сейчас у меня цикл 2300 с копейками при частоте 400khz и 3.3v. Когда сильно трясу платку то цикл разово может поднятся до 3700 .
Подскажите кто знает, такого ардуино нано будет достаточно для WMP + BMA020?
Алил, конечно подойдет, только за теже деньги можно купить Кардуино Нано 328, уже в Москве, с возможностью замены если что. Парни находятся в районе Шуваловского, можно договорится о самовывозе и не платить за доставку.
Тоесть просто перешел и цикл уменьшился ничего не меняя в скетче?
Практически да.
Почему уровни акселерометра на разной высоте в окне просмотра,
Нормально ли что cycle time в районе 6000 независимо от скорости I2C…
Видимо приемник не подключали… После процедуры обнуления-нормализации - придет в норму.
От скорости I2C практически не зависит.
Цикл с акселлерометром около 6000. Без оного - около 3000
Практически да.
Всмысле практически, были еще какието доработки? )) А версия скетча какая?
Практически да.
С 12- пина ушли?
Т.е уменьшили время цикла все же снижением питания или уходом от принудительных сбросов нунчака?
С 12- пина ушли?
Т.е уменьшили время цикла все же снижением питания или уходом от принудительных сбросов нунчака?
нунчак и wm+ прохо работают под 5v, поэтому если есть возможность перейти на 3.3v переходите, у меня ни разу не зависла система на этом напряжении.
Изначально это было 1.5, поигрался с таймингами, действительно ушел с 12 пина на 3.3В постоянного питания.
Что именно повлияло - сказать не берусь, да и разбираться-тестировать не хочется. Работает - и фиг с ним: “летать надо, а не думать, как оно летает”
Цитата Сообщение от Volver Посмотреть сообщение Подскажите кто знает, такого ардуино нано будет достаточно для WMP + BMA020? Алил, конечно подойдет, только за теже деньги можно купить Кардуино Нано 328, уже в Москве, с возможностью замены если что. Парни находятся в районе Шуваловского, можно договорится о самовывозе и не платить за доставку.
Спасибо, в Москве удобнее )) просто в названии той ардуины увидел v3.0 и подумал, что питание ровно 3 вольт, сейчас уже почитал описания и все стало на свои места ))))
Уйти с 12-го пина не есть хорошо. Об этом AlexInParis писал.
Т.е получается что может быть причина в нестабильной работе от 5 вольт. И ардуинка сбрасывала нунчак по 12 пину. Хотя там и не 5, а чуть выше
4-х. Но в этом случае правильно бы было погасить напряжение просто одним-двумя диодами.
Попробовать нужно.
Работает - и фиг с ним: “летать надо, а не думать, как оно летает”
Не узнаю Леонида 😃 Сейчас так же летаете на 1.5 или на 1.6 перешли?
Уйти с 12-го пина не есть хорошо. Об этом AlexInParis писал… В этом случае правильно бы было погасить напряжение просто одним-двумя диодами.
так и делают, но на 3.3v вероятность фриза ничтожна, да и делают на pro mini где нет 3.3v и писал Алекс про питание 5V 😉
Не узнаю Леонида
Тут я больше о теории распинаться не буду, хватит, довысказывался
Через пару часиков попробую диодами. Если не даст меньшее время цикла, значит дело не в понижении напряжения, а в банальном отключении сбросов нунчака.
И еще… Если б нестабильность работы от 5-ти вольт давала увеличение цикла, то у всех бы он был разный.
Но читая форум - у всех он в районе 6000 мкс.
Так что думаю что дело не в этом. Нужно смотреть программу. Возможно в ней принудительный сброс в каждом цикле нунчака.
А насколько я помню - его перезапуск отнимает где-то 18 мс.
Сергей, с interleaving_delay в скетче поиграйтесь, и найдите для себя наиболее оптимальное значение. Я жду не дождусь платку с bma020, интересно сколько с ней будет время цикла, ведь wm+ и bma020 будут работать параллельно.
//gyro+nunchuk: we must wait for a quite high delay betwwen 2 reads to get both WM+ and Nunchuk data. It works with 3ms
//gyro only: the delay to read 2 consecutive values can be reduced to only 0.65ms