Crius Hobby MultiWii

SovGVD

хорошо держится для комнаты… рекомендую выйти на улицу и попробовать - будет летать как по маслу
… надо тоже P задрать будет, летает стабильно, но вяло немного, до осциляции точно далеко, но это после перепрошивки новеньких HK blueseries регулей (8 штук запечатанных лежат и ждут своего спаривания с программатором 😍)

Richard_Ferlow
SovGVD:

надо тоже P задрать будет

P - это скорость реакции на стики ? до каких значений задрать можно ? =)

skyrider
Mihbay:

по Pitch P аж 18 пришлось ставить

Думал только у меня на гексе так, в руках при попытке отклонить по питчу при маленьком Р сопротивляется очень вяло, задрал Pitch P до 17, в безветренную погоду если завесить коптер передатчик можно на землю положить на пару минут спокойно, но если дует ветерок или спуск с высоты (даже не быстро) начинает немного колбасить. Для полетать нормально, для поснимать не пойдет, надо крутить пиды дальше, где можно подглядеть хорошо работающие пиды для гексы прошитой 2.0 ?

SovGVD
Richard_Ferlow:

это скорость реакции на стики?

это скорость реакции системы на влияния (например завал на одну сторону)… вот тут годная инструкция по настройки

Richard_Ferlow
SovGVD:

. вот тут годная инструкция по настройки

Мне вот неясно - вот коптер в руках крутит все пропеллеры, как я увеличивайте значение коэффициента Р до тех пор, пока не ощутите, что довольно сложно противостоять реакции коптера. это делать буду ? это же его посадить нужно и подключиться к нему компом…а вообще диапазоны мин-макс как узнать какие там ?

Mihbay
skyrider:

Думал только у меня на гексе так, в руках при попытке отклонить по питчу при маленьком Р сопротивляется очень вяло, задрал Pitch P до 17, в безветренную погоду если завесить коптер передатчик можно на землю положить на пару минут спокойно, но если дует ветерок или спуск с высоты (даже не быстро) начинает немного колбасить. Для полетать нормально, для поснимать не пойдет, надо крутить пиды дальше, где можно подглядеть хорошо работающие пиды для гексы прошитой 2.0 ?

у меня ролл стоит P7 d40 и сопротивляется достаточно, старался подогнать питч под ролл так настроек не хватает, ну уже сопротивление становится похожим на ролл при P17-20 d40-60 но вот бы 25 попробовать так прога же не дает! только до 20 можно, такое ощущение что из за того что на питч работает по 2 луча а на ролл по три луча на сторону, в прошивки не выставили увлечение оборотов двигателя для питч, ну или что то типа того, получается что по питчу просто мощности не хватает, я не совсем понимаю как программа написана, но смысл должен быть такой, например если при зависании у нас двигатели работают на 1000 оборотов то при возмущении от внешних воздействий мозги поднимают мощность на движках в противоположном направлении к примеру на 10% на питч и ролл, но на ролл у нас работает 3 движка на сторону, получается что ему хватает а вот на питч нужно чтоб не на 10% поднимал а на 20%. и это делать не настройками пид а именно где то в программе прошивки, должны быть такие настройки, и если их изменить то потом уже можно будет уровнять пиды питч и ролл,
обратите внимание на видео там видно как по ролл сопротивляется просто отменно, а по питч далеко не сражу и это при P15 D60, а вот ставишь P20 уже практически перестает колбасить и начинает вести себя как ось ролл

www.youtube.com/watch?v=CoYzKpX29Gw

SovGVD
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
  #endif
  #ifdef HEX6X
    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(-1  ,+0  ,-1); //RIGHT
    motor[5] = PIDMIX(+1  ,+0  ,+1); //LEFT

PIDMIX(ROLL, PITCH, YAW);
теория микширования (англ полная версия)

кстатии реально по роллу 50% задано, хотя в теории должно быть 87% для обычной гексы (вперд и назад по одному лучу и по 2 в бока)

Mihbay

ну вот походу оно и есть мощность переднего левого и переднего правого движка делится на 2, может попробовать поставить делить на 1.5

SovGVD

а может поэтому у меня и крутит странно гексу =) надо будет померить и прикинуть реальные значения
чисто теоретически должно быть

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

… ну или моторы боковые ближе к центру сдвигать

Mihbay

если я не ошибаюсь то у вас гексу сейчас закручивает именно когда сопротивляется внешним воздействиям? может нужно так?
motor[0] = PIDMIX(-0.87,+0.87,+1); //REAR_R
или так
motor[0] = PIDMIX(-1/1.5,+1/1.5,+1); //REAR_R
просто получается что на понижение у вас стоит -0.87 а на увлечение +1\2 в итоге ерунда)) это только предположения

SovGVD

у меня она начинает крутиться как волчок на старте, если не инвертированно направление вращения YAW… как вариант я тупо моторы неправильно заставил вращаться
а вот про миксы вот тут готовая табличка с коэффициентами code.google.com/p/ardupirates/wiki/motormixing после Hexa classic mode
… и странная надпись “NOTE: The current NG code, is not using the 87% on roll, but 100%; in this case it is like the all four left and right motors were a bit farther away from center (13%).” - видимо чтобы моторы крутились на полном ходу и выдавали максимальную тягу, когда надо

VitaliyRU

Вчера наночь глядя мучал изделие. Нашел еще одну дыру в ВИИ, так никто не строит 😃)
Вий чувствителтеный к развесовке например, а аффтры даже предлагают триммировать в акром моде. А должно быть пох на постоянное возмущающие воздействие.
Попробую сегодня вечером “наскоком” исправить, должно в ветер намного луче работать начать.

SovGVD
Mihbay:

получается что на понижение у вас стоит -0.87 а на увлечение +1\2 в итоге ерунда

какой понижение/увеличение? это оси X, Y и Z и грубо говоря координаты расположения моторов

VitaliyRU:

Вий чувствителтеный к развесовке например

вроде бы нет… не раз видео видео, когда на multiwii навешивают на край груз и он продолжает ровно лететь

Mihbay
SovGVD:

какой понижение/увеличение?

точняк это я ступил, посмотрел сейчас таблицу, FrontRight CCW PIDMIX(-1/2 это питч, +1/2 это ролл,+1 яав) вот и получается что по питч у нас в стандарте идет 50% а по ролл стоит 100%

motor[4] = PIDMIX(+0 ,-1 ,+1); //FRONT
motor[5] = PIDMIX(+0 ,+1 ,-1); //REAR

SovGVD
Mihbay:

PIDMIX(-1/2 это питч, +1/2 это ролл,+1 яав)

нет
#define PIDMIX(X,Y,Z) rcCommand[THROTTLE] + axisPID[ROLL]*X + axisPID[PITCH]*Y + YAW_DIRECTION * axisPID[YAW]*Z
PIDMIX (roll, pitch, yaw) - оси вращения

VitaliyRU
SovGVD:

вроде бы нет… не раз видео видео, когда на multiwii навешивают на край груз и он продолжает ровно лететь

Вот как раз это вчера и изучал. Мой последнее время стабильно не висел в акром моде(висел как бы маятником, рывками) да и назад дрейфовал. Весь моск поломал в чем дело. Оказалось крепление аака на пару ММ назад сползло. Я еще в коде обратил внимание. Разность в тяге моторов может быть только тогда(DI не трогаем для простоты, только P) когда есть угловая скорость. Т.е. что-то превешивает(акк не ровно висит) начинается вращение назад, P исправило до 0й угловой скорости, но выровняло обороты винтов его опять перевешивает и все по новой. Ну а засчет I и появляется “маятник”, т.к. I возращает ошибку накопленную P. Просто для P больше нуу, 6 это слабо заметно, а у меня P 4 и масса 70 грамм всего - ой как заметно.

Mihbay

ну я это и имел ввиду только там есть еще команды {PITH} {ROLL} где по питч работают 2 движка на сторону а на ролл 3 именно поэтому и стоит 0
BackCCW = - ( 1 * Pitch) - ( 0 * Roll) + Yaw так как при питче нам не нужна компенсация по ролл

SovGVD
VitaliyRU:

Мой последнее время стабильно не висел в акром моде

а с чего он должен висеть в акро?

VitaliyRU
SovGVD:

а с чего он должен висеть в акро?

Он висеть должен ровно столько, сколько не удрейфовал по своим делам гирик 😃
И в LEVEL он тоже на гирике висит, а аксель компенсирует ошибку(в т.ч. и о которой я говорю) гирика, да еще и с задержкой огромной.
Сколько видео с вием не видел, мало у кого висит, обычно болтается кое как. И все жалюуться что вий очень капризный - ну дак еще бы. В одном моторе подшипник чуть устал - все вий больше не работает.
У меня есть blade mpcx весть 45 грамм. Так ему ветер ваще пофиг, только вверх вниз подбрасывает. Вот там следанно так как я описал. Если на хвост подвесить гирьку и приземлится, то тарелка автомата перекоса будет наклонена вперед. А с вием бы ровно стояла.
Впрочем я не спора для, а делюсь соображениями.

SovGVD

ну тогда хорошо бы патч увидеть, чтобы посмотреть как гекса станет летать

VitaliyRU
SovGVD:

ну тогда хорошо бы патч увидеть, чтобы посмотреть как гекса станет летать

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