MultiWii

Covax
Wishnu:

Только всё равно не понятно, если это всё правильно - почему коптер норовит прям с пола кувырок сделать? 😉

А 4ре страницы назад Олег добавил в скетч 1.7pre следующую строчку.

delta = gyroData[axis] - lastGyro[axis];
DTerm = (delta1[axis]+delta2[axis]+delta+1)*dynD8[axis]/3;
delta2[axis] = delta1[axis];
delta1[axis] = delta;
lastGyro[axis] = gyroData[axis];

if ((rcData[THROTTLE]) < MINCHECK) errorAngleI[axis]=0; // prevents side jump during the transition from idle when in autolevel mode

axisPID[axis] = PTerm + ITerm - DTerm;

SovGVD

внезапно интересная штука со сборкой wmp+нунчак из dx - переселил прошивку на обычную сидуинку (не мега, а та что с 328 чипом) - сборка работает только на 400mhz и с интерливингом 4000, время цикла 8000 (как и на меге было)… НО главное что теперь оно работает (т.е. как поверну сборку - так и в GUI оно показывает и не стрмиться быстренько к началу вернуться), специально несколько раз перезагружал контроллер - всеравно работает =) пришли пропеллеры, зарядник, отдебажена связь… надеюсь седня попытаться еще раз взлететь (пропелееров на две с половиной попытки)

зы: барона чето завести не удалось: 1) в схеме не логично подключается серва (к 8 дырке, которая не PWM ниразу и при этом в коде к этой дырке даже обращения нет, но есть к другой, которая как раз pwm), 2) моторы почему то не завелись, т.е. пискнули (как при старте multiwii) и не крутятся, магия “switch the mode channel on (stable mode) for 2 seconds (look at the flashing led), than put it in acro mode, now motors are engaged” что то не помогла или mode channel это не тоже что aux1 на multiwii

тут на сидуино интересные модули появились для связи, в том числе и Bluetooth, не требующие лишних шилдов:
seeedstudio.com/…/twig-serial-bluetooth-p-795.html - 20$, цепляется на TX RX пины
а вот еще интересная штучка - seeedstudio.com/…/twig-serial-rf-pro-p-794.html до 1км фигачит в обе стороны, на разных частотах и скорость 1.2kbps -115.2kbps

Texnik

Кто летает на квадрике с управлением от TURNIGY 9x или аналога с прошивкой от ВИТГО ? Интересует настройка микшеров.

mahowik
SovGVD:

внезапно интересная штука со сборкой wmp+нунчак из dx - переселил прошивку на обычную сидуинку (не мега, а та что с 328 чипом) - сборка работает только на 400mhz и с интерливингом 4000, время цикла 8000 (как и на меге было)… НО главное что теперь оно работает (т.е. как поверну сборку - так и в GUI оно показывает и не стрмиться быстренько к началу вернуться)

а при тестах на меге тип ардуины верный в прошивке был указан?

//#define PROMINI //Arduino type
#define MEGA

SovGVD

это то само собой =) просто неудачный клон нунчака попался (жду bma020, с ним то проблемы врядли будут)… на 100 даже не отпределяется (хотя частота вроде бы для wmp там)

mahowik
SovGVD:

просто неудачный клон нунчака попался

Ну чаки чаками, ток вот почему на разных ардуинах поведение разное?!
Провода от ардуины до WMP 2-3 см?

SovGVD
mahowik:

ток вот почему на разных ардуинах поведение разное

видимо из-за самиописного костыля для общения с i2c шиной… в бароновой прошике стандартная библиотчека - и на любой плате работало без нареканий… а с вии почему то моя версия завелась внезапно только на 328p (и че я раньше не пробовал?)
провод сантиметров 5, но раньше было 15 и эффект такой же

mahowik
Covax:

if ((rcData[THROTTLE]) < MINCHECK) errorAngleI[axis]=0; // prevents side jump during the transition from idle when in autolevel mode

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

SovGVD:

видимо из-за самиописного костыля для общения с i2c шиной… в бароновой прошике стандартная библиотчека - и на любой плате работало без нареканий…

Если есть навык, попробуйте подрубить стандартную библу в multiwii и благодарности от страдальцев вии-клонов не будет предела! 😃

SovGVD

боюсь костыль был написан не просто так и не ради желания выпендриться, а по каким то соображениям экономии процессорного времени и мои усилия просто уйдут вникуда =) лучше тогда помочь народу с управлением всякими пидами через блутузнек - пользы больше

Covax
mahowik:

попробуйте подрубить стандартную библу в multiwii

Не надо, спасибо 😃 Я не думаю что Алеквпариже отказался от нее по незнанию ))

Syberian

Если у кого-то чешуццо руки, прикрутите GPS-навигацию 😉 Всего ничего, добавить 2 ПИДа по крену и тангажу, чтобы наклоняли “тарелку” в сторону вектора искомой точки. Удержание высоты и азимута в 1.7бис уже есть.

SovGVD

чешутся и даже GPS есть и даже координаты нормально получает… и даже логирование полета на карту памяти уже не проблема… есть одно НО - никак не взлечу =)

Панкратов_Сергей

Кто то летает на версии 1.6 ? Вроде как упоминались только 1.5 и 1.7.
Если кто пробовал разные версии - что рекомендуете ?
Сегодня пробовал поднимать - в районе среднего газа - хаотическая дерганина. Виброизоляция думаю хорошая - на резинках по типу FY.
Пропеллеры и моторы балансированы - но мысли все же что от вибрации.

RW9UAO
SovGVD:

в схеме не логично подключается серва (к 8 дырке, которая не PWM ниразу и при этом в коде к этой дырке даже обращения нет, но есть к другой, которая как раз pwm)

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

SovGVD

буржуи мнят себя леонардо давинчи? =) он вроде тоже делал небольшие ошибки в своих рисунках-чертежах

Syberian
SovGVD:

даже GPS есть и даже координаты нормально получает… и даже логирование полета на карту памяти уже не проблема… есть одно НО - никак не взлечу =)

Такая же фигня 😃
GPS-код куда втыкали? Там, где IMU считается или в annex code?

SovGVD

GPS на отдельной плате, которая на себя берет отбработку и кидает данные с каналов на другую платку с multiwii (blog.sovgvd.info/…/arduino-gps-holux-m-1000.html - код для GPS, 2 либы получают данные без проблем)… у меня вот только воспрос - тупо менять параметры yaw/roll/etc (±N от того что с пульта идет) хватит для возвращения в искомую точку? или надо будет где то в коде еще правки делать?

Syberian

yaw для упрощения вычислений можно держать стабильным. Ну, или поворачиваться по азимуту.
По пич, ролл и высоте придется делать ПИДы, т.к. иначе коп будет “осциллировать” вокруг искомой точки, не останавливаясь.
Также ввести ограничение скорости перемещения, причем скорость нужно считать по вектору, а не плоскости, как выдает стандартная строка GPS. Словом, работенка творческая.
Еще нужно как-то придумать, как загонять координаты требуемых точек и программу полета (скорость на каждом отрезке, паузы, ориентацию аппарата)

А потом отпочковаться, закрыть прожект и начать продОвать его куда-нибудь 😉

mahowik
Панкратов_Сергей:

Сегодня пробовал поднимать - в районе среднего газа - хаотическая дерганина. Виброизоляция думаю хорошая - на резинках по типу FY.

вот тут есть ответ если ваш WM+ with ITG3205
rcopen.com/forum/f123/topic221574/350

Musgravehill:

Всем обладателям ITG3205 читать:

wbb.multiwii.com/viewtopic.php?f=6&t=27

Если кратко, сверхчувствительность устраняется так:

gyroADC[PITCH] = - ( ((rawADC_WMP[4]>>2)<<8) + rawADC_WMP[1] )/3;
gyroADC[ROLL] = - ( ((rawADC_WMP[5]>>2)<<8) + rawADC_WMP[2] )/3;
gyroADC[YAW] = - ( ((rawADC_WMP[3]>>2)<<8) + rawADC_WMP[0] )/3;

Делитель выбирают в диапазоне 2…6 индивидуально (Я делю на 4).

SovGVD

не всё так просто как кажется на первый взгляд =) но теория теорией, а пока не будет летать - смысла чето ковырять вообще нет
зы: не доверяю я теории, она на сферического коня в вакууме больно часто похожа

Syberian:

А потом отпочковаться, закрыть прожект и начать продОвать его куда-нибудь

я за opensource 😉 без него бы сидели и клепали прошивки кто во что горазд, да еще и без ардуинки

Syberian:

скорость нужно считать по вектору

ну это если мы сильно от плоскоти отконяемся… + просчет скорости в самой либе можно подправить, только там хитро надо от координат отталкиваться, земля то круглая