MultiWii

Covax

Как говорится, почувствую нашу любовь, я это про качетсво пропеллеров EPP.
Это много раз уже писалось теми, кто решил съэкономить пару-тройку баксов и купить вместо APC, EPP.

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

gena_g

В версии 1.7 ввели на акселерометр интегральную составляющую. Поставте I=0 на level и получите режим стабилизации как в 1,6

Volver
Covax:

Парни,
дошел у меня процесс к заливке скетчей в ардуинку, и выяснилась давно известная вам вещь:
в прошивках 1.7, и prebiz и pretor, фактически нерабочий автолевел… залил я pretor, откалибровал, коптер стоит спокойно, запускаю моторы, поднимаю уровень до 1300, все нормально, все моторы практически на одинаковом уровне. включаю автолевел и на тебе, 1 и 3 моторы сразу улетают кудато в околомаксимум, и если начинать наклонять коптер туда сюда, все уровни двигателей просто зашкаливают, выключаешь автолевел - все опять тишь да гладь. Залил сразу же 1.6 - там все просто супер, включаешь автолевел - значения не меняются! только если начинаешь наклонять коптер, тоесть все в проше работает как надо.
Олег Сайбериан, если ты на короткой ноге с Алексом и нормально можешь обьяснить по английски что в 1.7 автолевел нормально не работает, обьясни пожалуйста, а то он помоему забил на автолевел и занимается портированием сенсоров разных на multiwii…

Резюме: парни не ставте прошу старше 1.6 пока не выйдет нормальная версия.

У меня вначале, когда автолевел в полете переключал, его дергало, приходилось ловить. После того, как уменьшил Р автолевела до 9 его стало меньше бросать при перелючении. Потом начал триммировать (как это делается, наверное, знаете). И уже на 3-м акке он спокойно переключается в воздухе. Если взлетаешь с автолевелом, то намного легче, у меня практически не дрейфует, а если переключаешь в воздухе, то есть небольшой дрейф (каждый раз в разную сторону).

Т.о. думаю - дело в софт триме. Настройте его правильно и будет вам счастье.

Вот инструкция по стикам narod.ru/…/MultiWiiStickConfiguration1pre7.pdf.htm…

Update: Кстати, автолевел в версии 1,6 не идет ни в какое сравнение с автолевелом в 1,7 (после настройки софт трима, в 1,7 он практически сам висит)

Covax
Volver:

Потом начал триммировать (как это делается, наверное, знаете).

Субтримировать аппу ты имеешь ввиду, чтобы значения были 1500 по всем каналам?

Volver:

Т.о. думаю - дело в софт триме. Настройте его правильно и будет вам счастье.

Алил, обьясни, что ты имеешь ввиду под софт тримом и чего там софт тримировать?

Volver
Covax:

Алил, обьясни, что ты имеешь ввиду под софт тримом и чего там софт тримировать?

для триммирования нужно увеличить расходы элерона и элеватора до 125%

так вот, проверяете держа в руках, если при переключении в автолевел его кидает (например) направо, то:

  1. выключаете моторы (дисарм), поднимаете левый стик (газа) до упора вверх (руддер по центру)
  2. правым стиком двигаете от центра и налево (т.е. в ту сторону, куда вы его хотите триммировать) и обратно, повторяете это столько раз, сколько нужно, т.к. каждое движение стика от центра и до упора в одну из сторон и обратно в центр - это 1 клик софт трима. На ардуино про мини при этом за каждый “клик” 1 раз мигает какой-то диод (у меня сидуино, и нифига ничего не мигает).

В предыдущем посте инструкция - посмотрите.

Covax

Короче, будем работать.
Вернулся я на 1.7 pretor, буду всетаки ее добивать. Пока без моторов и пропов.
Мне вот что не нравится в ней:
Взлетел я виртуально на автолевеле, все нормально, все моторы практически ровно и на одном уровне работают.
Наклоняем коптер туда сюда и ставим на место (создаем типа ветренную погоду, потом безветрие). Двигатели на разных уровнях при отсутствии внешнего воздействия! Начинаем чуточку наклонять коптер в стороны уменьшая дисбаланс в моторах (так будет делать коптер в полете сам), тоесть он угомонится только через какоето время. Может я многое требую от техники, но в старых прошивках такого не было. Я даже не представляю, будет ли летать с 1.7 коптер в ветер или нет, его все время будет колбасить. У ПИлота_Саши кстати как раз такая ситуация на видео. И еще, в стаб моде коптер не сильно то реагирует на стики, быстро на автолевеле не полетаешь… Стаб мод превратился именно в Hold position какойто… А при I у автолевела 0, как правильно заметил Гена Грабовский, коптер отлично выравнивает уровни моторов.

Ха, еще момент, виртуально стартую моторы (коптер стоит на месте), довожу уровень до 1400, стики не трогаю, уровень правых моторов подростает. Тость автолевел сам по себе не работает, нужно будет аппой доводить до состояния висения. Ну какой же это автолевел тогда… Автолевел это стики бросил и он висит, а не живет своей жизнью.

Volver
Covax:

И еще, в стаб моде коптер не сильно то реагирует на стики… вот вообще сюрприз… Стаб мод превратился именно в Hold position какойто…

Так и есть, это как сравнить мелкий классический верт (с фикс. шагом, например мср) - режим гиро и коаксиальный Мсх - автолевел, т.е. в автолевел моде реакция на стики слабее чем в гиро режиме.

Covax

Да она не то чт слабее, както очень слабее 😃 Лудано, будем разбираться, в 1.7 много всего интересного, так что беру свои слова обратно про нерабочее состояниее прошивки, она просто другая, к ней надо привыкать и понимать принцип ее работы. Алил, спасибо за гель! действительно с ним как-то по другому.

tusik

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

Musgravehill
tusik:

подключать нунчак параллельно вию

wbb.multiwii.com/viewtopic.php?f=8&t=145 сам не пробовал. Возможно, будет конфликт из-за одинакового адреса шины. Тогда подключать 3205-3200 и нунчак отдельно. Кстати, в случае неверной ориентации можно в коде поменять оси местами или знак сменить.

Covax:

Двигатели на разных уровнях при отсутствии внешнего воздействия

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

По-поводу itg3205 —> 3200. В покое показания были “-5”, смог победить в разделе калибровки calibratngG: “adc[pitch] = adc[pitch] - zeroADC[pitch]” сменил на: “adc[pitch] = adc[pitch]” либо “adc[pitch] = adc[pitch] - zeroADC[pitch] + 50”. С zeroADC[***] перекашивало выход почему-то. Теперь в покое всегда и Акк и Гиро = 0. Вчера полетал с 3205-3200, вполне нормально, иногда подрагивает. Но на правый ESC почему-то всегда идет более слабый сигнал. Попробую поставить новый мотор.

Covax
Musgravehill:

В ветер или при снижении (автолевел) коптер наклоняется и выравнивается секунды 3. Приходится помогать стиками. Думаю, виноваты коэффициенты ПИД. Полетные режимы очень разные, а коэффициенты не меняются и подобраны не идеально.

Поэтому I 0.045 у автолевела слишком большой помоему, я поставил 0.010, отлично выравниваются, буду чуть повышать уже в поле.

У меня задумка повесить включение автолевела не на тублер, а на ручку hover trottle и чтобы от ее кручения не только включался автолевел, а и менялось значение I автолевела, попробую сегодня глянуть прошивку, как такое сделать. Если кто может помочь в осуществлении идеи, присоединяйтесь!

Syberian
Covax:

в прошивках 1.7, и prebiz и pretor, фактически нерабочий автолевел

В корне не согласен! Левел работает замечтательно, достаточно I поставить в 0. У меня level D=8 сейчас, настройки рол-пич-яв стоковые. Паршивка 1.7бис, с пока еще своей доделкой “анти-прыжок”.
В выходные облетал свою треху, если можно так назвать. В стаб. режиме.
Короче, я, как всегда, подолбил его об пол и плюнул. Не летит, ага, мультивий ацтой, датчики - клоны, коптеры - г****. Потом приехал знакомый вертолетчик “и тут такое началось” (с) 😁 Прикладываю видео для сравнения.
Машинка стоит в воздухе как вкопанная, и в камеру позаглядывали, и фару повключали, и на улице в ветерок поболтались…
По впечатлениям товарища, управление по газу “непривычное”. Но рулится легче вертов и его собственной гексы на руссокопе.
Еще бы, у меня экспонента стоит 0.65 😉
2 пака 5а/ч мне выжрал, еле отбился от него 😁
На висении ток 20А, с фарой 21.7А. 13 минут висит с запасом. В очках пулять в узких помещениях проблематично из-за интерференции (гаснет изображение).

Выводы из сей басни таковой: надо учиться летать денно и нощно. Часы и великие часы налета. Жаль, некуда сбросить самолетные рефлексы.
Второй вывод: надо также выкашивать передние моторы градуса на 3, т.к. летает, подняв правую лапу 😁
Третий вывод: Мултивий это ниипически круто!111
Четвертый вывод: надо встраивать MARG-алгоритм от Сиськи (RCG Ciskje), т.к. при маневрах авиагоризонт дурит конкретно.
Пятый вывод: Здоровенные GWSовские лопаты тем хороши, что не ломаются, а тупо останавливают двигатели.

Ну, хватит выводов, смотрите видос.

Раз

Два

BigDEN
SovGVD:

как бы еще через ардуинку снимать потребление тока?

я ипользую датчик ALLEGRO ACS756SCA-100B-PFF-T на 100 ампер (есть и менше)
стоил 220 р , выход по напряжению у него на аналоговый порт ардуинки и вычисляй амперы

Covax
Syberian:

В корне не согласен! Левел работает замечтательно, достаточно I поставить в 0. У меня level D=8 сейчас, настройки рол-пич-яв стоковые.

Да я уже пришел к этому выводу, спустя 30 минут после своего гневного выпада в сторону wii 😃
Олег, глянь пожалуйста идею, возможно такое осуществить?

Syberian

Можно-то все, только нужно ли? 😃 I-ветка нужна, чтобы батарейку к одному лучу вешать и потом хвастаться, что не кренится. Управление с ней получается дифференциального типа: любое отклонение “тарелки” будет постепенно сведено к нулю. Причем, при отклоненном стике! А при возврате стика в 0 , как бы сказать, “отдача замучает”.
Я уже тут писал, что нужно в режиме level не плюсовать level PID и RC command, а суммировать Angle и RC непосредственно перед ПИДом. Т.е. ручкой задавать угол “тарелки” непосредственно.
С другой стороны, IMU организован сам по себе криво, и не стоит пока его как-то преобразовывать. Путного выйдет мало. Лучше подождать MARG.

Covax

У тебя I автолевела сейчас на нуле или в каком значении?
Ну ты подскажи все-таки как повесить I на крутилку, хотя бы мельком, если не ломает 😃
Ты езе в ветер не летал? там свои замороки, поэтому все может понадобится, не хочется в поле все время лазить в ноут и корректировать I.

Я пока сам разбираюсь:
Значение I для автолевела хранится в переменной ILEVEL8,
щас придумаю как ее обработать.

Саша_пилот
Syberian:

Ну, хватит выводов, смотрите видос.

дааа, однако летает! прийдется не выкидывать а настраивать, я уже перестал верить что оно летает нормально.

а моторчики то детцл, а такие пропы таскают.

Олег, какой вес аппарата на видео летает? (с учетом батарейки.)

Covax
Саша_пилот:

а моторчики то детцл, а такие пропы таскают.

Ничего себе децл )) эти моторы тягают до 1.2кг, DT700, весят 78гр.
У Олега аппарат может пару кило сахара через границу с молдавией таскать только так 😃

SovGVD
Covax:

менялось значение I автолевела

www.arduino.cc/en/Reference/map

long custommap(long x, long in_min, long in_max, long out_min, long out_max) {
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}

соответственно например I = custommap (то_что_получаем_от_приемника, минимум_который_можем_получить_от_приемника, максимум_который_можно_получить_от_приемника, минимум_для_I, максимум_для_I);
и еще внутрь функции custommap можно запихнуть что-то вроде:

if ((nunchukPresent == 1 || accPresent == 1) && то_что_получаем_от_приемника>пороговое_значение) accMode = 1; else accMode = 0;

будет менять I на лету и включать стабилизацию

Covax

Глеб, это все не то,
Мне не автолевел нужно включать, а подмешивать значение крутилки AUX1 в значение переменной ILEVEL8, причем до того как ILEVEL8 уйдет в расчет **** PITCH & ROLL & YAW PID **** или еще куда, пока не разобрался

Volver
Covax:

Ну ты подскажи все-таки как повесить I на крутилку, хотя бы мельком, если не ломает Ты езе в ветер не летал? там свои замороки, поэтому все может понадобится, не хочется в поле все время лазить в ноут и корректировать I.

Прошу не обижаться, но мне кажется что это из той же серии, что и “не было у бабки проблем, купила козу”. 😃
Может лучше приделать LCD, чтобы было легко настраивать, там ведь в новой версии 1.претер7 есть поддержка новых дешевых LCDшек.

SovGVD
Covax:

не автолевел нужно включать

значит без этой строчки if ((nunchukPresent == 1 || accPresent == 1) && то_что_получаем_от_приемника>пороговое_значение) accMode = 1; else accMode = 0;

Covax:

а подмешивать значение крутилки AUX1 в значение переменной ILEVEL8

ну примерно тоже самое, будет что-то вроде:
defILEVEL8=ILEVEL8; - где то переопределяем, чтобы всегда было
ILEVEL8 = custommap (rcData[AUX1], 1000, 2000, минимум_для_I, максимум_для_I) + defILEVEL8; до того как оно в расчет уйдет (и хз + или нет, смотря как надо подмешивать)
и еще надо поковырять writeParams() - чтобы в память записывать новый параметр, чтобы оно вернулось после ребута ардуинки

Covax

Завистники! )) Никаких LCD, еще я буду коптер нfстраивать аппой чеpеp LCD, вот делать мне нечего! )

SovGVD:

и еще надо поковырять writeParams() - чтобы в память записывать новый параметр, чтобы оно вернулось после ребута ардуинки

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

Syberian

Попробуем…
ILEVEL8 это тысячные от 0 до 0.255
Процедурка от Глеба очень полезная в нашем случае.
Нижеуказанное вставить перед просчетом level PID после этого:
//**** PITCH & ROLL & YAW PID ****

#define i_zero 1300 // мин. уровень крутилки для I=0 (макс пусть будет 2000)
#define ilevel_max 56 // макс уровень level I

if (rcData[YAW]>=i_zero)
ILEVEL8=custommap(rc_data,i_zero,2000,0,ilevel_max);
else ILEVEL8=0;

Ну вот, обогнали… 😦

Piranha

Ага, нафлудили вон скока пока я сексом занимался с нунчаком, пойду в разрез публике- Мулти вии с нунчаком-гуано и маст дай!!! но с гирой-ласковый и предсказуемый аппарат 😃
Вкратце-протрахался ВСЮ прошлую неделю! Дергается коптер как паралитик!!Причем настройкиPID особо не сильно влияли на эту колбасню! ЧТо я тока не делал, три бубна пробил до дыр,прошивал-перепрошивал всеми прошивками, расхерачил руку до крови, на обоях теперь следы от пропеллеров, на паркете следы от валов и цанг пропеллеров, в минусе куча времени, нервов и бабла потраченного на дополнительные мозги, регули и моторы(на которые я грешил по очереди) плюсе-ТРИ коптера собранные в процессе околонаучных экспериментов которые впрочем ни один нормально не полетели до тех пор пока я не отпаял и не выкинул нах нунчак этот гребаный!!! кароче похоже что с циклом больше 3000-4000 коптер нормально не летит а чтоб добиться такого цикла на безмозглой нано/мини ардуине нужен аксель отдельный но никак не нунчак, не оно конечно летит и висит но при подпаяном нунчаке все равно присутствуют мелкие непредсказуемые подергивания и рывки(даже с отключеной стабилизацией)

Теперь я понял почему Warthox летает только с гирами без нунчаков