MultiWii_1_9_a1: Лечу на стоке :)

Имея уже не малый опыт в MultiWii рискну выложить модифицированную 1.9 прошивку, которая по идее поднимет вашу птЫчку на стоке.

Были поставлены (и достигнуты) цели:

  1. Плавная динамика коптера в полете (предустановленные ПИДы), а также умеренный отклик с аппы (предустановленные рэйт и экспо). Т.е. это больше для новичков и FPV, чем для крутых АКРО перцев.
  2. Низкая чувствительность к вибрациям, а потому борьба с ними мат. путем, т.е. на резинках плату с сенсорами вешать не хотелось.
    Возможность использования не дорогих пропов соот-но. Сейчас вполне себе летаю на этих hobbyking.com/hobbyking/store/uh_viewItem.asp?idpr… (не без балансировки конечно же).
  3. Компенсация косяков дешевой аппы (аля HK6). Типа отсутствие экспо-тротл и уплывание от центра/нуля.
  4. Предсказуемый стаб. мод.
  5. Рабочий альт-холд как мин +/-1…1.5м
  6. Хелп мод если зарулился - simple mode (head free mode) от меня 😃 www.multiwii.com/forum/viewtopic.php?f=7&t=925

Предварительные требования/условия:

  • гира ITG3200/3205 (хотя по идее и WMP прокатит т.к. гиры менее чувствительны к вибро)
  • аксель bma020/180, ADXL345 либо любой другой имеющий диапазон как мин.+/-8g (если нунчак, то придется скорее всего вешать на резинки)
  • знаки осей сенсоров корректны
    www.multiwii.com/faq#How_should_be_the_sensor_axis…
  • аппа по всем стикам настроена на диапазон ~1100…1900
  • стики в центре на 1500
  • регули калиброваны (при прямом подключении с приемника)
  • MINTHROTTLE установлен в значение при котором моторы уверенно вращаются на мин. оборотах

Отличия от родной 1.9 прошивки:

  • THROTTLE_EXPO (от alexmos) для апп которые его не имеют, либо имеют но кривой. По умолчанию отключен. Для настройки нужно замерить тротл при отрыве от земли и вписать в THROTTLE_HOVER. При корректной настройке легко позволяет держать высоту с пульта. Подробности в коде, либо смотрите поиск по теме.
  • DEADBAND = 30 - помогает держать ролл/питч/яв в нуле. Опять же для апп типа HK6. Для хорошо отстроенных турниджи, спектрумов и т.д. подозреваю что хватит 10-ти, но при перепадах температур в 20-30 градусов не в курсе как они держат ноль.
  • MAXTHROTTLE = 1900 вместо 1850, т.к. регули калибруются с аппы на 1900 и выше как правило и чтобы не иметь “недомощности” на движках ставим хотя бы в 1900.
  • для более простой настройки аппы и возможности триммов особенно зимой на морозе:
    MINCHECK = 1150, MAXCHECK = 1850
  • ПИДы и рейт установлены для плавных мягких полетов как в акро, так и стаб. модах. Увеличен “I” (с нуля) для YAW, отлично держит нос!
  • прописал свои ПИДы для альт холд. Удавалось держать высоту +/-50см 1-2мин. не трогая тротл… а летать вообще песТня! 😃
  • ITG3200_LPF_42HZ - НЧ фильтр на гиру 42гц (на моем вибро-коптере дает лучший результат)
  • GYR_CMPF_FACTOR увеличен в 340.0f - ИМУ тогда больше смотрит на гиру чем на аксель, в итоге уменьшаем чувствительность к вибро.
  • MG_LPF_FACTOR = 4 - сглаживаем шум магнетометра
  • добавлен float LPF (~2…3hz) для акселя
  • т.к. на диапазоне +/-8g для акселя проблема с вибро решаема, TRUSTED_ACCZ включен по умолчанию для правильной калькуляции в ИМУ и использования асс Z для увеличения точности ALT HOLD.
    Тут можно сделать простой тест. Прижмите коптер к полу и плавно увеличивая газ до максимума, проверьте не просдает ли Z ось. Только берегите пальцы плз., т.к. тест надо проводить с пропами на борту. У меня (при +/-8g) просядает примерно на 70-80% газа, но это уже не рабочая зона, потому не страшно. Если же просядает в рабочей зоне, надеюсь у вашего акселя есть +/-16g, т.е. курите даташит, либо остатся резинко-демпфирование 😉
    www.multiwii.com/forum/viewtopic.php?f=8&t=849&sta…
  • для BMA020 выбран диапазон +/-8g, внутренний LPF 25hz, acc_1G тотже (255), но дискретность в 4 единицы, НО флоат ACC НЧ фильтр позволяет поднять разрешение, т.е. уменьшить дискретность на малых промежутках времени, что нам и нужно для стабилизации… одним словом BMA020 оказался крепким орешком, но мы его победили 😃
  • для BMA180 диапазон изменен на +/-8g, а внутренний LPF с 10hz на 20hz (т.к. 10hz мало для для интегратора который в ALT HOLD)
    #define UPDATE_INTERVAL 25000 // 40hz update rate (20hz LPF on acc)
    note: ДЛЯ BMA180 ИЗМЕНЕНИЯ ДЕЛАЛ ПО ДАТАШИТУ, НО ЗА НЕИМЕНИЕМ СЕГО СЕНСОРА НЕ ТЕСТИЛ! Но пока собирался выложить, примерно тоже самое уже появилось в дев прошивке, т.е. проверено 😉
    code.google.com/p/multiwii/source/…/Sensors.pde
  • для ADXL345 надо бы понизить внутренний LPF до ~20hz… надо смотреть даташит
  • добавлен head free mode подвешен на GPSHOME бокс в UI www.multiwii.com/forum/viewtopic.php?f=7&t=925
  • калибровка магнитометра с пульта: trottle(max) + yaw(max) + pitch(min)
  • калибровка акселя в полете (закоментированна т.к. висит хардкодом на AUX1>1700). Полезно зимой, т.к. при перепадах температур в 20-30 град. все безбожно уплывает.
  • мелочи типа калибровка магнитометра 50сек вместо 30…

Рекомендации:

Стаб. мод:

  • все аксели плывут при перепадах температур. bma020 к примеру на 20% при выходе на улицу в -10С, потому дайте птиЧке остыть мин 10-15. Отлетайте один пак в акро к примеру, периодически выполняя калибровку гиры.
    К bma180 это не относится, либо относится в меньшей степени, т.к. у него внутрях есть температурный сенсор и соот-но компенсация по нему…
  • остыли? калибруем и триммируем аксель

Альт-холд:

  • для корректной работы (точнее для компенсации невысокой точности барометра) также требует ACC, потому ACC должен быть откалиброван.
  • если барометр не под колпаком, чтобы защитить от ветра и потока от винтов наклейте на него пористый кусочек паралона. Только чур клей в дырку не лить )))
  • 7652
Comments
Covax

Вы профессор! (с)

  • гира ITG3200/3205 (хотя по идее и WMP прокатит т.к. гиры менее чувствительны к вибро)
    Саш, а куда смотреть, если у меня ITG 650,ICZ655? Ты в плане гир что именно поменял?
tda2030

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

О результатах отпишусь 😃

зы. уже отписался в теме 😃 rcopen.com/forum/f123/topic221574/3881

mahowik
Covax;bt67064

Вы профессор! (с)

  • гира ITG3200/3205 (хотя по идее и WMP прокатит т.к. гиры менее чувствительны к вибро)
    Саш, а куда смотреть, если у меня ITG 650,ICZ655? Ты в плане гир что именно поменял?

Серега, 3200/3205 хорош тем, что можно внутренний LPF включать, но это актуально в не значительной степени, и то для вибро конфигов типа моего. Сам знаешь “половина” мультивистов мучается именно со стаб. модом а не акро… Зная тебя, коптеры ты делаешь аккуратно и на г-пропах с ХК не летаешь, потому с ITG 650,ICZ655 на твоих конфигах все будет чик-пок! 😉 Для тех у кого не чик-пок, можно пробовать сунуть доп. НЧ фильтр, либо вешать на резинки уж, но надо осторожно т.к. с помощью таких подвесов вибрации могут стать угловыми ускорениями и ситуация тогда только усугубится…

Covax

Спасибо родной)

int=

Спсибо! 😃
Летит просто отменно!!!

mahowik

спасибо! приятно что время потрачено не зря! 😃
напишите пожалуйста конфигурацию вашу для статистики…

Mihbay

Александр я тоже заказал платку, жду, Мне сказали что вы очень хорошо знаете эти мозги, Что первым делом хотелось бы узнать перспективы развития GPS в MultiWii SE, а то я еще не опытный в полетах, а терять птичку, как то не хочется, тем более что заказал подвес для камеры и GoPro 2, уж больно хочется чтоб она сама возвращалась при потере сигнала или потери из виду. И вообще на сколько реально ли это?

mahowik

деталей не знаю… все тут www.multiwii.com/forum/viewtopic.php?f=8&t=649

cylllka

Хм, спасибо Александр за труд! Нужно будет попробовать эту прошивку. Правда у меня вполне нормально летала стоковая 1,9

eria

Ребята в ходе эксплуатации выяснилось что у меня на трёхе сильно вялый YAW что надо в пидах подкрутить что бы это исправить, я то даже развороты тренероваться не могу начать?

uv3dut

Испробовал на HEX6X с платой Crius Hobby MultiWii Lite Version (Gyro + Acc only).
Полетела сразу без доп настроек. (потом поднял в GUI значения PID по pich и roll P=12)
На стоковой не удалось запустить гексу…
Спасибо Александр! Просто как представлю сколько Вами было потрачено времени… и не зря.