Crius Hobby MultiWii

penkerton
penkerton:

Короче я не пойму как это работает, никакой логики.
Сегодня решил снова взяться за коптер. Теперь графики ОК, но дизармит через раз почему-то и моторы не реагируют на питч и ролл (в ГУИ все ОК).
Да и не пойму как мне активировать переключатель AUX2, ни один рычажок не хочет реагировать (хотя на пульте все настроил). с AUX1 все шикарно.

Выяснил, что ПИТЧ и РОЛЛ управление (именно моторами, ГУИ в порядке) отключается при включении LEVEL. Но это же не правильно? Да и при включенном LEVEL коптер вроде как должен выравниваться в горизонт, а у меня сохраняет положение, если его наклонить.
С дизармом и AUX2 вопрос по прежнему висит.

lenz
Mihbay:

В прошивке, в вкладке output
ищите строки

#ifdef HEX6
   motor[0] = PIDMIX(-1/2,+1/2,+1); //REAR_R
   motor[1] = PIDMIX(-1/2,-1/2,-1); //FRONT_R
   motor[2] = PIDMIX(+1/2,+1/2,+1); //REAR_L
   motor[3] = PIDMIX(+1/2,-1/2,-1); //FRONT_L
   motor[4] = PIDMIX(+0  ,-1  ,+1); //FRONT
   motor[5] = PIDMIX(+0  ,+1  ,-1); //REAR

меняете на

#ifdef HEX6X
motor[0] = PIDMIX(-4/5,+9/10,+1); //REAR_R
motor[1] = PIDMIX(-4/5,-9/10,+1); //FRONT_R
motor[2] = PIDMIX(+4/5,+9/10,-1); //REAR_L
motor[3] = PIDMIX(+4/5,-9/10,-1); //FRONT_L
motor[4] = PIDMIX(-4/5 ,+0 ,-1); //RIGHT
motor[5] = PIDMIX(+4/5 ,+0 ,+1); //LEFT

А для квадра это актуально или только для гексы?

matrus3
lenz:

А для квадра это актуально или только для гексы?

Только для гексы.

mahowik
Mihbay:

В прошивке, в вкладке output
ищите строки

#ifdef HEX6
   motor[0] = PIDMIX(-1/2,+1/2,+1); //REAR_R
   motor[1] = PIDMIX(-1/2,-1/2,-1); //FRONT_R
   motor[2] = PIDMIX(+1/2,+1/2,+1); //REAR_L
   motor[3] = PIDMIX(+1/2,-1/2,-1); //FRONT_L
   motor[4] = PIDMIX(+0  ,-1  ,+1); //FRONT
   motor[5] = PIDMIX(+0  ,+1  ,-1); //REAR

меняете на

#ifdef HEX6X
motor[0] = PIDMIX(-4/5,+9/10,+1); //REAR_R
motor[1] = PIDMIX(-4/5,-9/10,+1); //FRONT_R
motor[2] = PIDMIX(+4/5,+9/10,-1); //REAR_L
motor[3] = PIDMIX(+4/5,-9/10,-1); //FRONT_L
motor[4] = PIDMIX(-4/5 ,+0 ,-1); //RIGHT
motor[5] = PIDMIX(+4/5 ,+0 ,+1); //LEFT

Миша, ты посоветовал людям заменить HEX6 на HEX6X 😉
а надо HEX6X на HEX6X

uv3dut
Mihbay:

В прошивке, в вкладке output

Теперь понятно, спасибо.

serenya:

Crius Hobby MultiWii

Вот не поленился человек, залез в дебри темы, сделал ссылку а по ссылке то нет ответа на поставленный вопрос.
Сергей у меня к вам просьба - читать внимательнее…

uv3dut:

интересно подробнее описанная процедура, пошагово

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

mahowik:

а надо HEX6X на HEX6X

Надеюсь это была опечатка или недопечатка 😃

После изменения кода PID-ы в гуи оставить по умолчанию или надо поднастроить?

mahowik
uv3dut:

Надеюсь это была опечатка или недопечатка

в общем я уже не знаю, что вы считаете опечаткой, а что правдой 😃

для HEX6 и HEX6X должно быть так:

#ifdef HEX6
    motor[0] = PIDMIX(-9/10,+4/5,+1); //REAR_R
    motor[1] = PIDMIX(-9/10,-4/5,-1); //FRONT_R
    motor[2] = PIDMIX(+9/10,+4/5,+1); //REAR_L
    motor[3] = PIDMIX(+9/10,-4/5,-1); //FRONT_L
    motor[4] = PIDMIX(+0  ,-4/5,+1); //FRONT
    motor[5] = PIDMIX(+0  ,+4/5,-1); //REAR
  #endif
  #ifdef HEX6X
   motor[0] = PIDMIX(-4/5,+9/10,+1); //REAR_R
   motor[1] = PIDMIX(-4/5,-9/10,+1); //FRONT_R
   motor[2] = PIDMIX(+4/5,+9/10,-1); //REAR_L
   motor[3] = PIDMIX(+4/5,-9/10,-1); //FRONT_L
   motor[4] = PIDMIX(-4/5 ,+0 ,-1); //RIGHT
   motor[5] = PIDMIX(+4/5 ,+0 ,+1); //LEFT
  #endif
Mihbay

Ребят за свою невнимательность прошу прощения, действительно когда я описывал процедуру, скопировал не тот блок, Действительно нужно
#ifdef HEX6X изменять на #ifdef HEX6X, так как #ifdef HEX6 это для тех у кого схема +, поэтому прислушивайтесь больше к mahowik он более внимателен чем я)))

uv3dut
Mihbay:

#ifdef HEX6X изменять на #ifdef HEX6X, так как #ifdef HEX6 это для тех у кого схема +

Вот я понял правильно а для кого то лишний или не достающий “Х” - это уже ошибка и на самом деле правильно.

mahowik:

для HEX6 и HEX6X должно быть так:

Попробую (раз все нахваливают), отпишусь.

uv3dut

Изменил код как описано выше, в гуи ПИД-ы остались прежними П- 12 И- 0,035 Д- 40 по элеронам и РВ, rate по yaw сделал 100.
Рама с НК hobbyking.com/…/__24175__H550_V2_Glass_Fiber_Hexco… , вес с акком 5000 вышел в кило пятьсот, моторами в низ.
Раньше подёргивался какподраненный, щас всё четко, поднимается при плавном старте как на ниточке. По ощущениям ход газа стал меньше (т.е. раньше висение было чуть ниже середины - теперь чуть выше) зато как-то стало плавнее.
Респект Александру и Михаилу.

Mihbay

а вот как я полетал вчера, это с новыми миксами,
на моей гексе.
пиды поставил P 10 I 0.030 d 50
летал спецом и медленно и по быстрей, и снижения есть достаточно быстрые, но на видео из за ширика не все осознается. но вроде картинка получилась более менее, то есть если отстабить то вообще огонек будет, но ютуб сволочь херит качество😵

www.youtube.com/watch?v=kQAr7Luqf5Y

MAFia

Доброго всем времени суток! Построил квадр(+) на MultiWii SE (правда не Crius, а ZMR). Все залил, подключил и обнаружил вот такую фигню: квадр стоит горизонтально, pitch и roll по нулям, с пульта комманды по Pitch, Roll, Yaw нет трогаю (их значения примерно 1500), а значения двигателей отличаются. Переднего и легого на 200 мкс больше, чем заднего и правого. Из-за этого даже взлететь не могу, жутко уносит.
Скриншот проблемы:

В чем причина?

MAFia
serenya:

Регули калибровали?

Можно сказать и так… Но ведь какое это отношение имеет к PWM сигналам, которые выдает сам multiwii? Вот если бы он выдавал на все двигатели одинаковые сигналы, а они вели себя по-разному, тогда другое дело, а так… Однозначно проблема в проге. Хотел было жестко прописать к сигналам этих двигателей +230 в проге, но… нехорошо как-то…

leprud
MAFia:

а значения двигателей отличаются

Pitch и Roll субтриммерами надо довести до 1500, ну deadband в скетче не мешало бы увеличить до 10.
А так нормально все, тем более, что коптер стоит не по калиброванному горизонту (ACC roll = -4)

penkerton
penkerton:

Выяснил, что ПИТЧ и РОЛЛ управление (именно моторами, ГУИ в порядке) отключается при включении LEVEL. Но это же не правильно?

Сам нашел решение. Если вдруг кому интересно и может пригодится:
“It happens when the eeprom doesn’t clear properly.”
Что делать: rcgroup

Мне помогло.

MAFia
leprud:

Pitch и Roll субтриммерами надо довести до 1500, ну deadband в скетче не мешало бы увеличить до 10.
А так нормально все, тем более, что коптер стоит не по калиброванному горизонту (ACC roll = -4)

Странно, я калибровал аксель. И Pitch, и Roll полосочки горизонтальны. Что касается Pitch с аппы, недосмотрел, а вот Roll 1503 мне кажется нормально, эта погрешность 0.1% от всего диапозона. К тому же, строго выставить в 1500 не получается, после движения стиком, значения гуляют ±4 (у меня Turnigy 6ch) Ну, пойду аксель калибровать

MAFia

Калибровка акселя, компаса, установка DeadBand ничего не дали. Хотя после калибровки компаса значения изменились: передний двигатель больше заднего на 200 (примерно), левый и правый равны. И вот еще момент, который я забыл упомянуть сразу: эта разница не появляется сразу, сразу после подачи газа значения равны, а спустя несколько секунд одни увеличиваются, другие уменьшаются. Явно, тут работает ПИД, но коптер ведь горизонтален. Никак не пойму.

leprud

Такое еще из-за I может быть. Пробуйте взлететь

MAFia

Постепенно разбираюсь… Вроде из-за компаса. При разных положения по оси Z, ведет себя по-разному. К примеру, если смотрит на север, то больше правый и передний, если на юг - правый и задний итд. Это странно, т.к во-первых, компас выключен, во-вторых загружал для MultiWii Lite, без компаса, все равно была разница в сигналах к двигателям, только не изменялась.

MAFia

УРА!!! Получилось!!! Залил MultiWii 1.9 и оттриммировал аксель. Спасибо, leprud, за сообщение #4499

Дополнение #1:
Рано радовался. Настройки слетают после выключения. Откалибровал, одел винты, запускаю держа в руке. Два запускаются позже. Включаю конфиг - опят разница! WTF?!