Crius Hobby MultiWii
У меня коптер полетел без танцев с бубнами только на прошивке 2.0 a0, (немного поиграв с пидами)
Большое человеческое спасибо Алексею и Александру!
попробовал вентилятором имитировать ветер, так он его даж не заметил
Хороший тест, отлично можно настроить до полетов, но если коптер для снимать видео без тестов в поле не обойтись.
таким образом у меня получилось
roll 15 - 0.020- 100
pitch 17- 0.020- 100
А LEVEL какие у Вас пиды, вроде они тоже влияют.
Сегодня ветер дует 4-5 метров, спецом вытащил гексу на поле с нетбуком, отстроил пиды, получилось так
roll 17 - 0.020- 40
pitch 19- 0.040- 60
летает практически идеально, немного потряхивает в момент сильных порывов ветра. Так вот, на борту стояла гопрошка на подвесе и писала,
те движения которые делал стиками подвес отрабатывает отлично, а вот потряхивания от ветра подвес отрабатывать не успевает,
и по записи с борта трясло чаще чем было видно со стороны, нужно тоже попробовать патч на гексу от mahowik и крутить пиды заново.
Михаил, касательно этого модуля, LLC на борту это хорошо, к CRIUS подцепится без доработок, можно его брать?
upd: по поводу альтернативных прошивок, сейчас летаю исключительно на MultiWii2_0_alexmos_r23 т.к. летает хорошо и отлично работает сонар, до этого летал исключительно на MultiWii_1_9_a2 - на этой прошивке впервые увидел адекватно работающий баро, так что респект и уважуха Алексею и Александру ака alexmos и mahowik.
ну уменя не много другой модуль. но сейчас ремзиби уже такие не делает с ставит модули как показали вы, лично у меня стоит без всяких доработок, пока работает нормально.
на борту стояла гопрошка
может кинули бы видос посмотреть, я сейчас борюсь именно с мелкими поддергиваниями, так как подвес не сможет это убрать по любому, а картинку портит прилично, поэтому я натянул пиды на максимум, терь осталось протестить это дело
я сейчас борюсь именно с мелкими поддергиваниями, так как подвес не сможет это убрать по любому, а картинку портит прилично, поэтому я натянул пиды на максимум, терь осталось протестить это дело
Такая тонкая настройка сильно завсисит от регулей. У меня стояли RC Timer 10A, коптер вел себя очень четко, и пиды настроить было вообще не проблема (коптер отлично висел с ПИД в очень широком диапазоне). Но т.к. они сбоили часто, поменял их на регули HK BluSeries 12A - началсь вот такие подергивания как у вас, и пидами не убирается. Проблема в том, что для преодоления LPF-фильтра в регулях, надо повышать D-часть. Но при этом мозг становится очень чувствителен к вибрациям и высокий D работает во вред. По опыту людей, перепрошивка регулей кардинально меняет их работу, может и вам поможет.
надо повышать D-часть
А она же отрициательная в ВИЙ и наоборот “успокаивает”, в чем наколка?
По сути, Вы копеечным криусом утерли нос амбициозным NAZA`м и проч.
Давайте не будем сравнивать назу и вий… две большие разнины 😃
А она же отрициательная в ВИЙ и наоборот “успокаивает”, в чем наколка?
Ну в идеальном мире так и было бы. Но в реальности - D-часть это производная показаний гироскопа, и если он шумит - то его производная шумит на порядок сильнее. В итоге этот шум становится больше полезного вклада D-части, и моторы дергает сильнее чем стабилизирует. Почитайте про ПИД-регулирование, там это все описано.
ндаа… иногда печальна… upd: по поводу 2.0_а0
А что печально то?
Вчера исправил все выкосы моторов(в мелко размере это все же проблема). И идеально точно развесил коптер. На гирике висел в комнате 4х4(не трогая стика) пол минуты(даже с P 4.5 всего), я был уверен, что это с включенным акселем, а оказывается он не включился.
Еще раз понаблюдал подвешивая монетки, что бы его перевешивало. В итоге всегда занимает положение такое если б к центру давлений(если такой термин применим в данном случае) сделать жесткий кранштейн и за это место подвесить, что в общем - то логично. Т.е. подвесил 3 грамма, с пелечем 5 см. Он наклоняется на пару градусов и так и висит(с горизонтальной скоростью конечно) всегда. В общем накскоком это конечно не вылечить.
Но в реальности - D-часть это производная показаний гироскопа,
Это очевидно. Я не понял фразы - “увеличть D” что бы преодолеть LPF регуля.
Но при этом мозг становится очень чувствителен к вибрациям и высокий D работает во вред.
Ну в идеальном мире так и было бы. Но в реальности - D-часть это производная показаний гироскопа, и если он шумит - то его производная шумит на порядок сильнее. В итоге этот шум становится больше полезного вклада D-части, и моторы дергает сильнее чем стабилизирует. Почитайте про ПИД-регулирование, там это все описано.
Алексей совершенно прав, Д часть преумножает шум и так уже шумного сенсора, если мы имеем классик ПИД регуль с одинокой производной. Это ее свойство - т.е. возьмите разность шумных данных и на выходе получите белый шум 😃.
НО в частном случае (давайте на примере 2.0 версии) все чутка иначе и Д работает практически как в идеальном мире 😃 Дело не в какой нить одной феньке, а выстраданном практикой комплексном решении разработчиков вия:
- внутренний НЧ фильтр гиры 20/42/98гц режет паразитные вибрации моторов и шум самой гиры.
-
- НЧ фильтр на данные гиры в ИМУ
for (axis = 0; axis < 3; axis++)
gyroADCp[axis] = gyroADC[axis];
timeInterleave=micros();
annexCode();
if ((micros()-timeInterleave)>650) {
annex650_overrun_count++;
} else {
while((micros()-timeInterleave)<650) ; //empirical, interleaving delay between 2 consecutive reads
}
#if GYRO
Gyro_getADC();
#else
WMP_getRawADC();
#endif
for (axis = 0; axis < 3; axis++) {
gyroADCinter[axis] = gyroADC[axis]+gyroADCp[axis];
// empirical, we take a weighted value of the current and the previous values
gyroData[axis] = (gyroADCinter[axis]+gyroADCprevious[axis]+1)/3;
gyroADCprevious[axis] = gyroADCinter[axis]/2;
if (!ACC) accADC[axis]=0;
}
- в конечном ПИД регуле берется не просто производная, а усреднение последних 3-х производных, т.е. считай еще + один НЧ фильтр
delta = gyroData[axis] - lastGyro[axis]; // 16 bits is ok here, the dif between 2 consecutive gyro reads is limited to 800
lastGyro[axis] = gyroData[axis];
deltaSum = delta1[axis]+delta2[axis]+delta;
delta2[axis] = delta1[axis];
delta1[axis] = delta;
if (abs(deltaSum)<640) DTerm = (deltaSum*dynD8[axis])>>5; // 16 bits is needed for calculation 640*50 = 32000 16 bits is ok for result
else DTerm = ((int32_t)deltaSum*dynD8[axis])>>5; // 32 bits is needed for calculation
Таким образом Д часть по гиро получается довольно чистой и совсем не шумной. И я получал только пользу от высокого Д в виде уменьшения скорости работы системы (добавления плавности), в диапазоне до 50-ти… 100-ню как Михаил не пробовал, т.к. на моем конфиге при Д=50 это уже даже не субмарина получалась, а жук в сметане 😃
Проблема в том, что для преодоления LPF-фильтра в регулях, надо повышать D-часть.
Я не понял фразы - “увеличть D” что бы преодолеть LPF регуля.
Я так понял Алексей говорил про синхронизацию скорости системы (посредством регулирования Д части) со скоростью отработки регулей, иначе будут осцилляции…
Таким образом Д часть по гиро получается довольно чистой и совсем не шумной. И я получал только пользу от высокого Д в виде уменьшения скорости работы системы (добавления плавности), в диапазоне до 50-ти… 100-ню как Михаил не пробовал, т.к. на моем конфиге при Д=50 это уже даже не субмарина получалась, а жук в сметане
У меня от D 40 и больше ничего не меняется. Пробовал и 100 тоже. Ни плавность не растет ни осциляции. Если D <30. Начинается перерегулирование и расколбас.
С кодом выше пробовал разбираться, смысл понятен 😃
Вообще мне казалось это наследие именно вийных “дачиков”. И с появлением внутреннего LPF надобность отпала. С какой версии интересно это место принципиально не менялось.
Я так понял Алексей говорил про синхронизацию скорости системы (посредством регулирования Д части) со скоростью отработки регулей, иначе будут осцилляции…
Я это понял как то, что у регулей на входе тоже LPF и регуль не все мелкие управляющие воздействия принимает, но не понял подему D увеличивать, оно же еще “мельче” мелкие управляющие воздействия сделает. А как синхронизировать “скорость регулирования”(я так понял ты это имел ввиду) с мотором_с_регуляторм не зная оборотов мотора не понятно 😦.
может кинули бы видос посмотреть, я сейчас борюсь именно с мелкими поддергиваниями, так как подвес не сможет это убрать по любому, а картинку портит прилично, поэтому я натянул пиды на максимум, терь осталось протестить это дело
Да там смотреть то особо и нечего, взлетел, посмотрел на поведение, сел, крутанул пиды, взлетел и посмотрел что получилось, сел, крутанул в обратную сторону и сравнил…
Через дешейкер или другой стабилизатор не прогонял, видео техническое
народ, кто с подвесом летает на криусе? адекватно работает? или как будто с замедлением или недолетом/перелетом… т.е. можно ли добиться чтобы камера оставалась идеально горизонту или это утопия?
тут в принципе видно как работает подвес, плата криус се
Ну да, я в курсе про LPF на D-часть, но он сдвигает фазу слегка (отодвигает реакцию). Возможно, для коптера это и не принципиально, т.к. эта задержка все равно меньше транспортной задержки (между командой и реакцией). Но говоря про шумы, я имел ввиду не только внутренние шумы датчика, но и паразитную вибрацию, которую видят гиры. Т.е. будет ли работать высокий D или нет - сильно зависит от способа установки платы. Для этого есть LPF 20/42/98 - но он совсем уж “затупляет” гиру.
Это очевидно. Я не понял фразы - “увеличть D” что бы преодолеть LPF регуля.
Напрмер, есть прямоугольный фронт управления. LPF в регуле его сгладит и сделает пологим. Чтобы опять фронт стал прямоугольным, нужно компенсировать работу фильтра, сделав выброс в самом начале. Именно это делает D.
Наконец дошли руки, начал собирать FPV-систему, заодно и c GPS поковырялся. Если вдруг у кого-то модуль такой, как на картинке (от Remzibi OSD): www.goodluckbuy.com/images/…/sku_77664_2.jpg - есть одна засада - в один прекрасный момент он может перестать работать. У меня он не заработал с самого начала. И к компу вешал, и к OSD - один хрен. Совершенно случайно нашел причину - села резервная батарейка. А если на ноге BACKUP нет хотя бы 1В, то чип не заводится. Китайцы забыли бросить на нее резистор для подзарядки, пришлось паять самому ( можно паять 30 - 60К) с ноги 3.3В стаба на + батарейки. Кстати, в нем стоит mtk3329 и нормально прошивается прошивкой 10Hz 115200.
Напрмер, есть прямоугольный фронт управления. LPF в регуле его сгладит и сделает пологим. Чтобы опять фронт стал прямоугольным, нужно компенсировать работу фильтра, сделав выброс в самом начале.
Это я именно так и понял.
Именно это делает D.
Но у вия
axisPID[axis] = ITerm+PTerm-DTerm
Т.е. D сглаживает фронт от P
тут в принципе видно как работает подвес, плата криус се
Вроде хорошо, но у прошки угол широкий и бочка - может не сильно заметно…
я вешал старый фотик с довольно узким углом и очень сильно заметно что подвес то перелетает, то недолетает, то вообще криво остановится может, хотя коптер хорошо и ровно висит при этом… а сервы какие?
кстатии достал в полки квадрик, у которого прошитые регули… в общем сегодня буду на гексе все 6 штук перешивать =) летает невероятно ровно и отзывчиво
а сервы какие?
сервы мелкие, цифровые с метал. шестернями, те что рекомендованы производителем подвеса, EMAX ES08MD servos, подвес от пана ждакуба, сервы все равно имеют мелкий люфт, посему на каждую ось повесил по инсулиновому шприцу.
Наконец дошли руки, начал собирать FPV-систему
немного оффтопа: я тоже созрел на ФПВ уж 😃 какой комплект взял себе? приемо-передатчик, камера, аппа, телеметрия, очки/монитор… обо всем если можно и со ссылками 😃
www.oszone.net/10415/XP_Mode я про это.
пробовал на другом компе с хр - так же вылетает. поставлю сейчас Windows XP Mode на семерку, но это уже извращенство какое то)
пробовал на другом компе с хр - так же вылетает. поставлю сейчас Windows XP Mode на семерку, но это уже извращенство какое то)
поставил - за час ни разу не вылетела оболочка, чудеса
тут в принципе видно как работает подвес
Работает хорошо, еще бы сделать, что бы в кадр не лезло все. А какой это именно подвес?
Работает хорошо, еще бы сделать, что бы в кадр не лезло все.
Ну это уже следующий этап
А какой это именно подвес?
Все ребят спешу поделится! 19 часов мучился с прошивками контроллеров, все аккуратно чтоб не спалить, а потом еще 5 часов чтоб найти причину почему 1 из 6 не запускался со всеми когда подключен к вию, так как с приемника все стартовали одновременно, короче победил, подлетнул дома. Так даже офигел, висит как прибитый, тряски даже возле самого пола нет от собственной подушки, вечером на полетушки тестить!
в чем была проблема с моторами?