MultiWii

GaD=
Art_Nesterov:

Это все понятно. Но с таким КВ моторов вы рискуете разорвать пропеллеры.

И еще, я на калькуляторе прикинул подобные моторы, вы превышаете максимальную мощность моторов почти в 2 раза. Это точно не есть гуд.

Думаю это не та тема что бы это обсуждать.

limon_spb

Знаю, что поднимаю очень старый пост, но он - большой и очень полезный для новичков и не только в мультивие. Мне кажется, есть небольшая неточность вот тут:

tda2030:

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

Это - не совсем период времени в течении которого суммируется ошибка. Это - коэффициент при сумме (при интеграле). А уже сумма ведется от самого момента взлета до текущего момента.
Это видно, если глянуть на код или на общую формулу PID-регулятора:

интеграл берется за время от нуля до текущего момента t и при нем стоит интегральный коэффициент, обозначенный тут как Ki
Да, модуль этой суммы потом иногда ограничивается сверху, но это уже другой коэффициент и с временем он тоже не связан.
Какая я зануда =)

GrafSher
limon_spb:

Какая я зануда =)

“Папа, ты сейчас с кем разговаривал?”(с)

Vadimus_ca

Был старый коллекторный квадрик Blade mQX, с камерой 808 висел почти на 70 процентах газа - в общем, думал тяжеловата она для него.

У него то ли небыло акселерометров, толи они не использовались прошивкой -а я стал разбалован комфортом полетов на WL V222 - в общем, поменял я его мозги на вот эти:

C ним старый mQX получил новые полетные режимы, летать начал изумительно - в общем, апгрейд того явно стоил.
Попробовал я опять прицепить камеру. На удивление, с новым контроллером он висел уже на 50%!

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

Возможно, что с нагрузкой растут вибрации и акселерометры сходят с ума (компас у него “софтовый”), или под возросшую массу неправильные пиды.
Еще версия - правый передний и левый задний лучи имеют недостаточную жесткость (есть надколы) - их можно градусов на 10 отклонить вокруг продольной оси. Новые заказаны, но Китай неблизко…
Могут ли не справляться ключи моторов?

Подскажите, в чем может быть проблема?
Залита сборка MW 2.2 для коллекторников.

k0der

кто использует сборку с LCD? там можно тока пиды настраивать? есть где мануал?

тигромух
Vadimus_ca:

C ним старый mQX получил новые полетные режимы, летать начал изумительно - в общем, апгрейд того явно стоил.

Хм, а у меня наоборот, V929 с этой платой стал летать значительно хуже. Я списал на то, что коллекторники подустали, забросил его и занялся мелкотой на БК.
А какую частоту PWM вы поставили?

По вашей проблеме, попробую попасть пальцем в небо: MPU6050_LPF_xx. Или действительно пиды крутить.

romeo84

Пользую CRIUS MultiWii Standard Edition Flight Controller MWC SE v2.5
вот такой (goodluckbuy.com/crius-multiwii-standard-edition-fl…)

Работет отлично на квадрике. Появилась одна проблема. После переворота в акро-режиме резко включаю режим стабилизации горизонта, после чего коптер 10-15 секунд не может нормально стабилизироваться: упорно держит небольшой угол, причём чем резче был переворот, тем больше угол и дольше он “приходит в себя”. Что это может быть? На двух коптерах с разными платами стабильно такое замечал. Я думаю, это дешёвенький акселометр сходит с ума после резких телодвижений. Было такое у кого-нибудь?

тигромух
romeo84:

Было такое у кого-нибудь?

Поведение один в один (или точь в точь 😃 ) на вот такой плате.
Только не в acro, а в horizon режиме.
Недавно попробовал диагональный флип. Вия после него так перекосило, что стабилизироваться так и не смог. В итоге уронил 😦

dROb
romeo84:

Пользую CRIUS MultiWii Standard Edition Flight Controller MWC SE v2.5
вот такой (goodluckbuy.com/crius-multiwii-standard-edition-fl…)

Работет отлично на квадрике. Появилась одна проблема. После переворота в акро-режиме резко включаю режим стабилизации горизонта, после чего коптер 10-15 секунд не может нормально стабилизироваться: упорно держит небольшой угол, причём чем резче был переворот, тем больше угол и дольше он “приходит в себя”. Что это может быть? На двух коптерах с разными платами стабильно такое замечал. Я думаю, это дешёвенький акселометр сходит с ума после резких телодвижений. Было такое у кого-нибудь?

Не думаю, что это сильно зависит от дешевости вашего датчика. Думаю, что это ошибка в расчетах Мультивия (или наоборот дешевость или погрешность гироскопа). При резких движениях сигнал датчика акселерометра не может быть использован как сигнал горизонта, поэтому положение в пространстве рассчитывается по гироскопам. По возвращению “в горизонт”, Ваш коптер имеет некую ошибку (скорее всего по оси вращения), и, пока горизонт не будет перерасчитан по акселю - будут использоваться значения горизонта, рассчитанные по гироскопу.

Грубо говоря, Ваш коптер перевернулся на 360 градусов, а по расчетам Мультивия, всего на 340. При неполных вращениях этого не заметно, т.к. погрешность компенсируется обратным ходом,

romeo84
dROb:

Не думаю, что это сильно зависит от дешевости вашего датчика. Думаю, что это ошибка в расчетах Мультивия (или наоборот дешевость или погрешность гироскопа). При резких движениях сигнал датчика акселерометра не может быть использован как сигнал горизонта, поэтому положение в пространстве рассчитывается по гироскопам. По возвращению “в горизонт”, Ваш коптер имеет некую ошибку (скорее всего по оси вращения), и, пока горизонт не будет перерасчитан по акселю - будут использоваться значения горизонта, рассчитанные по гироскопу.

Грубо говоря, Ваш коптер перевернулся на 360 градусов, а по расчетам Мультивия, всего на 340. При неполных вращениях этого не заметно, т.к. погрешность компенсируется обратным ходом,

Да, дело всего скорее в прошивке. Использую MultiWii_2_2. Попробовал сделать два переворота одновременно, в итоге после перевода в режим удержания горизонта коптер скривило так, что не смог удержать => воткнул в дерево. (оффтоп - как его теперь от туда достать… высокая сосна, самый верх:)) )

kostya-tin

походу это беда многих мультивиев. сам летаю на AIOP v2 с RCtimerа, и сам неоднократно замечал этот глюк. если в ручную выровнять квадрик после флипа и включить стабилизацию, то коптер начинает уносить. где то секунды 2-3 его удержать и уже можно отпускать. летаю на MahoWii RC3

dROb
kostya-tin:

походу это беда многих мультивиев. сам летаю на AIOP v2 с RCtimerа, и сам неоднократно замечал этот глюк. если в ручную выровнять квадрик после флипа и включить стабилизацию, то коптер начинает уносить. где то секунды 2-3 его удержать и уже можно отпускать. летаю на MahoWii RC3

Давно не лазил в код мультивия, но мне кажется это можно поправить. Видится мне, это из-за неверных коэффициентов для определенных гироскопов (и где-то они там в коде вроде прописываются). Проверить можно, например, следующим образом. Крутануть на 45 градусов, остановить, и смотреть - доплывает ли через несколько секунд горизонт или стоит как вкопанный. Если доплывает - надо вносить коррективы.
Вообще то причины могут быть и другие - например включен неверный режим гироскопа (например включена высокая точность, где нужна высокая скорость), но я сомневаюсь. Мне кажется такое поведение можно выправить некими постоянными коэффициентами.

UPDATE:
Интересует похожий, но несколько с другой стороны вопрос. Что делать, если наоборот, горизонт начинает уплывать при ровном полёте с одинаковым наклоном. Т.е. летим ФПВ, вперед, секунд 15. Отпускаем ручку в центр, и видим что горизонт уплыл назад (т.е. коптер вместо висения - поплыл назад). Через 3 секунды горизонт устаканивается.
я аналогичный вопрос задавал давно, но вроде не было ответа хорошего.

kostya-tin

кстати, такой вариант тоже у себя замечал, думал может в развесовке причина, но скорее всего, что не в ней

WETErok

предположу что проблема в комплементарном фильтре. В нем положение гироскопов корректируется акселерометром, акселерометр большую часть времени должен показывать в верх, нормаль к поверхности земли. Когда делается флип или долгое равномерное движение в одну сторону ось Z акселерометра уже не вертикальная к земле. То есть акселеромтер корректирует гироскоп неверными значениями в результате угол горизонта уплывает. И требуется какоето время что бы восстановить ось Z акселерометра и значения гироскопа.
www.poprobot.ru/theory/complementary_filter

Vadimus_ca
тигромух:

Хм, а у меня наоборот, V929 с этой платой стал летать значительно хуже. Я списал на то, что коллекторники подустали, забросил его и занялся мелкотой на БК.
А какую частоту PWM вы поставили?

В сравнении с V222 (дальнейшее развитие V929) переделанный mQX летает как минимум не хуже, я бы сказал поживее.

PWM 32Hz.

тигромух:

MPU6050_LPF_xx

Попробовать поставить следующий/предыдущий?

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

Еще вопрос - в режиме horizon, можно ли задать максимальный угол крена?

Taatarenkoff
Vadimus_ca:

Еще вопрос - в режиме horizon, можно ли задать максимальный угол крена?

Нет. В этом режиме он не ограничевается.

Vadimus_ca

А есть режим с таким ограничением?

UPD Похоже, я не правильно понял значение режимов Horizon/Angle.
Получается - Horizon это Angle с переходом в Acro при больших отклонениях ручки крена.

А я вчера еще не мог понять, как моя дочь (7 лет) умудрилась в Horizon перевернуть коптер вниз винтами 😃

djsatan

Через 3 секунды горизонт устаканивается.

Мудрил мудрил,думал что у меня уже Вии помер после 15-20 прошивки,оказалось всё просто,какой то баг записывается и причина тому USB 3.0 к которому подконекчен FTDI. Сменил юсб и всё стало чётенько. КСтати баг с уходом горизонта происходил не в первый полёт а именно после второго арма (почему не знаю)

П.С интересует подключение дешёвого сонара HC-SR04 которого нет в списке.
Что нужно дописать и куда что бы он появился в конфиге ? И на какие разьёмы его вешать ?

Taatarenkoff
Vadimus_ca:

Похоже, я не правильно понял значение режимов Horizon/Angle.
Получается - Horizon это Angle с переходом в Acro при больших отклонениях ручки крена.

Да. Всё верно. Angle (раньше был LEVEL) - угол ограничен то ли 45 то ли 50 градусов.

romeo84
dROb:

Не думаю, что это сильно зависит от дешевости вашего датчика. Думаю, что это ошибка в расчетах Мультивия (или наоборот дешевость или погрешность гироскопа). При резких движениях сигнал датчика акселерометра не может быть использован как сигнал горизонта, поэтому положение в пространстве рассчитывается по гироскопам. По возвращению “в горизонт”, Ваш коптер имеет некую ошибку (скорее всего по оси вращения), и, пока горизонт не будет перерасчитан по акселю - будут использоваться значения горизонта, рассчитанные по гироскопу.

Грубо говоря, Ваш коптер перевернулся на 360 градусов, а по расчетам Мультивия, всего на 340. При неполных вращениях этого не заметно, т.к. погрешность компенсируется обратным ходом,

Блин, надо что-то с этим делать. Вся вкусность левел-мода в том, чтобы после нереальных флипов выровнять коптер, если зарулишься.

  1. Валяется Наза-М Лайт, попробую её впихать вместо мультивии и на ней такое сотворить, интересно, как она себя поведёт.

Ну а что касается мультивия:
2. Попробую отключить лоу-пасс фильтр на 10 герц на гиро (#define MPU6050_LPF_10HZ).

  1. Попробую пошаманить с настройками комплиментарного фильтра
// **************************************************
// Simplified IMU based on "Complementary Filter"
// Inspired by 
//
// adapted by ziss_dm : 
//
// The following ideas was used in this project:
// 1) Rotation matrix: 
// 2) Small-angle approximation: 
// 3) C. Hastings approximation for atan2()
// 4) Optimization tricks: 
//
// Currently Magnetometer uses separate CF which is used only
// for heading approximation.
//
// **************************************************

//******  advanced users settings *******************
/* Set the Low Pass Filter factor for ACC
   Increasing this value would reduce ACC noise (visible in GUI), but would increase ACC lag time
   Comment this if  you do not want filter at all.
   unit = n power of 2 */
// this one is also used for ALT HOLD calculation, should not be changed
#ifndef ACC_LPF_FACTOR
  #define ACC_LPF_FACTOR 4 // that means a LPF of 16
#endif

/* Set the Gyro Weight for Gyro/Acc complementary filter
   Increasing this value would reduce and delay Acc influence on the output of the filter*/
#ifndef GYR_CMPF_FACTOR
  #define GYR_CMPF_FACTOR 600
#endif

Что думаете?
Неужели никто до сих пор не решил данную проблему… грош цена тогда такому режиму стабилизации. Очень обидно будет, если это проблема железа и софтово его не поправить.

Flutter
romeo84:

грош цена тогда такому режиму стабилизации.

Крутой мужик.