Crius Hobby MultiWii

Flutter

Миша, я думаю, не стоит обижаться. Конечно, неприятно, что такая работа оценена в три “спасибо”, но большинство просто не въехало, что это шаг этапный, открывающий совсем другие перспективы.
По сути, Вы копеечным криусом утерли нос амбициозным NAZA`м и проч., сэкономив и так небольшие народные денюшки.

SovGVD

чего то я пропустил кто и на что обижается =) если про 2.0 a0, то только на ней летаю и проблем не испытываю, так что респект и уважуха

uv3dut

У меня коптер полетел без танцев с бубнами только на прошивке 2.0 a0, (немного поиграв с пидами)
Большое человеческое спасибо Алексею и Александру!

skyrider
Mihbay:

попробовал вентилятором имитировать ветер, так он его даж не заметил

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

Mihbay:

таким образом у меня получилось
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.

Mihbay

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

skyrider:

на борту стояла гопрошка

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

alexmos
Mihbay:

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

Такая тонкая настройка сильно завсисит от регулей. У меня стояли RC Timer 10A, коптер вел себя очень четко, и пиды настроить было вообще не проблема (коптер отлично висел с ПИД в очень широком диапазоне). Но т.к. они сбоили часто, поменял их на регули HK BluSeries 12A - началсь вот такие подергивания как у вас, и пидами не убирается. Проблема в том, что для преодоления LPF-фильтра в регулях, надо повышать D-часть. Но при этом мозг становится очень чувствителен к вибрациям и высокий D работает во вред. По опыту людей, перепрошивка регулей кардинально меняет их работу, может и вам поможет.

VitaliyRU
alexmos:

надо повышать D-часть

А она же отрициательная в ВИЙ и наоборот “успокаивает”, в чем наколка?

Flutter:

По сути, Вы копеечным криусом утерли нос амбициозным NAZA`м и проч.

Давайте не будем сравнивать назу и вий… две большие разнины 😃

alexmos
VitaliyRU:

А она же отрициательная в ВИЙ и наоборот “успокаивает”, в чем наколка?

Ну в идеальном мире так и было бы. Но в реальности - D-часть это производная показаний гироскопа, и если он шумит - то его производная шумит на порядок сильнее. В итоге этот шум становится больше полезного вклада D-части, и моторы дергает сильнее чем стабилизирует. Почитайте про ПИД-регулирование, там это все описано.

VitaliyRU
mahowik:

ндаа… иногда печальна… upd: по поводу 2.0_а0

А что печально то?

Вчера исправил все выкосы моторов(в мелко размере это все же проблема). И идеально точно развесил коптер. На гирике висел в комнате 4х4(не трогая стика) пол минуты(даже с P 4.5 всего), я был уверен, что это с включенным акселем, а оказывается он не включился.
Еще раз понаблюдал подвешивая монетки, что бы его перевешивало. В итоге всегда занимает положение такое если б к центру давлений(если такой термин применим в данном случае) сделать жесткий кранштейн и за это место подвесить, что в общем - то логично. Т.е. подвесил 3 грамма, с пелечем 5 см. Он наклоняется на пару градусов и так и висит(с горизонтальной скоростью конечно) всегда. В общем накскоком это конечно не вылечить.

alexmos:

Но в реальности - D-часть это производная показаний гироскопа,

Это очевидно. Я не понял фразы - “увеличть D” что бы преодолеть LPF регуля.

mahowik
alexmos:

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

alexmos:

Ну в идеальном мире так и было бы. Но в реальности - D-часть это производная показаний гироскопа, и если он шумит - то его производная шумит на порядок сильнее. В итоге этот шум становится больше полезного вклада D-части, и моторы дергает сильнее чем стабилизирует. Почитайте про ПИД-регулирование, там это все описано.

Алексей совершенно прав, Д часть преумножает шум и так уже шумного сенсора, если мы имеем классик ПИД регуль с одинокой производной. Это ее свойство - т.е. возьмите разность шумных данных и на выходе получите белый шум 😃.
НО в частном случае (давайте на примере 2.0 версии) все чутка иначе и Д работает практически как в идеальном мире 😃 Дело не в какой нить одной феньке, а выстраданном практикой комплексном решении разработчиков вия:

  1. внутренний НЧ фильтр гиры 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;
    }
  1. в конечном ПИД регуле берется не просто производная, а усреднение последних 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 это уже даже не субмарина получалась, а жук в сметане 😃

alexmos:

Проблема в том, что для преодоления LPF-фильтра в регулях, надо повышать D-часть.

VitaliyRU:

Я не понял фразы - “увеличть D” что бы преодолеть LPF регуля.

Я так понял Алексей говорил про синхронизацию скорости системы (посредством регулирования Д части) со скоростью отработки регулей, иначе будут осцилляции…

VitaliyRU
mahowik:

Таким образом Д часть по гиро получается довольно чистой и совсем не шумной. И я получал только пользу от высокого Д в виде уменьшения скорости работы системы (добавления плавности), в диапазоне до 50-ти… 100-ню как Михаил не пробовал, т.к. на моем конфиге при Д=50 это уже даже не субмарина получалась, а жук в сметане

У меня от D 40 и больше ничего не меняется. Пробовал и 100 тоже. Ни плавность не растет ни осциляции. Если D <30. Начинается перерегулирование и расколбас.
С кодом выше пробовал разбираться, смысл понятен 😃
Вообще мне казалось это наследие именно вийных “дачиков”. И с появлением внутреннего LPF надобность отпала. С какой версии интересно это место принципиально не менялось.

mahowik:

Я так понял Алексей говорил про синхронизацию скорости системы (посредством регулирования Д части) со скоростью отработки регулей, иначе будут осцилляции…

Я это понял как то, что у регулей на входе тоже LPF и регуль не все мелкие управляющие воздействия принимает, но не понял подему D увеличивать, оно же еще “мельче” мелкие управляющие воздействия сделает. А как синхронизировать “скорость регулирования”(я так понял ты это имел ввиду) с мотором_с_регуляторм не зная оборотов мотора не понятно 😦.

skyrider
Mihbay:

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

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

SovGVD:

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

тут в принципе видно как работает подвес, плата криус се

alexmos

Ну да, я в курсе про LPF на D-часть, но он сдвигает фазу слегка (отодвигает реакцию). Возможно, для коптера это и не принципиально, т.к. эта задержка все равно меньше транспортной задержки (между командой и реакцией). Но говоря про шумы, я имел ввиду не только внутренние шумы датчика, но и паразитную вибрацию, которую видят гиры. Т.е. будет ли работать высокий D или нет - сильно зависит от способа установки платы. Для этого есть LPF 20/42/98 - но он совсем уж “затупляет” гиру.

VitaliyRU:

Это очевидно. Я не понял фразы - “увеличть 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.

VitaliyRU
alexmos:

Напрмер, есть прямоугольный фронт управления. LPF в регуле его сгладит и сделает пологим. Чтобы опять фронт стал прямоугольным, нужно компенсировать работу фильтра, сделав выброс в самом начале.

Это я именно так и понял.

alexmos:

Именно это делает D.

Но у вия

axisPID[axis] = ITerm+PTerm-DTerm

Т.е. D сглаживает фронт от P

SovGVD
skyrider:

тут в принципе видно как работает подвес, плата криус се

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

кстатии достал в полки квадрик, у которого прошитые регули… в общем сегодня буду на гексе все 6 штук перешивать =) летает невероятно ровно и отзывчиво

skyrider
SovGVD:

а сервы какие?

сервы мелкие, цифровые с метал. шестернями, те что рекомендованы производителем подвеса, EMAX ES08MD servos, подвес от пана ждакуба, сервы все равно имеют мелкий люфт, посему на каждую ось повесил по инсулиновому шприцу.

mahowik
alexmos:

Наконец дошли руки, начал собирать FPV-систему

немного оффтопа: я тоже созрел на ФПВ уж 😃 какой комплект взял себе? приемо-передатчик, камера, аппа, телеметрия, очки/монитор… обо всем если можно и со ссылками 😃

jekmv
Richard_Ferlow:

www.oszone.net/10415/XP_Mode я про это.

пробовал на другом компе с хр - так же вылетает. поставлю сейчас Windows XP Mode на семерку, но это уже извращенство какое то)

jekmv
jekmv:

пробовал на другом компе с хр - так же вылетает. поставлю сейчас Windows XP Mode на семерку, но это уже извращенство какое то)

поставил - за час ни разу не вылетела оболочка, чудеса

Shuricus
skyrider:

тут в принципе видно как работает подвес

Работает хорошо, еще бы сделать, что бы в кадр не лезло все. А какой это именно подвес?

skyrider
Shuricus:

Работает хорошо, еще бы сделать, что бы в кадр не лезло все.

Ну это уже следующий этап

Shuricus:

А какой это именно подвес?

Такой quadframe.com/collections/cm/products/g01k