MultiWii

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

как это сделать

тут это уже раза 4 или 5 было, ищим код:

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

делим значение на 2 4 6 и т.д. (в aeroquad прошивке вообще на 16 делят о_0)

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

от этого значения с гиры станут меньше и как бы пропадет чувствительность, НО имхо это неправильно - так как по сути делим скорость наклона… имхо правильнее было бы убирать последнюю циферку из значения и ставить вместо неё 0 или 5, тогда скорость остается та же, а мелкие значения ошибок убираются

aleksas

Когда то собитал трикоптер по схеме с этого сайта: …blogspot.com/…/shrediquette-dlx.html
Хочется сделать квадрик и использовать ардуино, гироскопы и акселерометр, но вот самому никак не разобраться. Пробовал с того же сайта делать квадрик так не заводятся моторы. Платы рабочие, трикоптер летал. Может что посоветуете. Заранее благодарен.

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

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

поделил на 4 , брыкатся в ГУИ стал меньше, тока вот и летает как лист бумаги, пракчитески без гир

SovGVD

во во =) я же говорю данные неверные становятся, зато без шума… кстаии в гуи график GYRO как себе ведет (без загрубления датчика) при включенных моторах с пропами? в идеале должна так и оставаться ровная линия

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

в идеале должна так и оставаться ровная линия

неее, пляшет еще как. делиш чувствительность, пляшет меньше но и летит хуже.

в итоге разделил на 4 а ПИД поставил 10 , в итоге получил то же что и без деления но при ПИД 3,6

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

пляшет еще как

всегда пляшет? или при запуске моторов? если 1, то хреновая гира, если 2, то хреновая балансировка

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

если 2, то хреновая балансировка

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

КУК у меня летает вообще без балансировки, а тут секс целый с балансировкой, этот ВИИ собирает весь шум.
заказал плату с ибатора, которая с гирой 3200 аскелем, компасом и баро (надеюсь там такого секса не будет)

SovGVD

у меня вообще без изменения настроек по разному летает: в пятницу вечером было похоже на управляемый полет, в субботу утром нечто непонятное, но иногда можно было взлететь, вечером что с гирами, что с гирой + аксель - нереально было даже от земли оторвать, сразу кувыркался, в воскресение чуток подняться смог (I=0), но всеравно расколбас, как не меняй P… в общем жесть какая то =) смотришь видео на youtube, подрубают wmp (без акселя) и летает идеально (не верю я что там человек так ловко стики дергает, что борется с расколбасом и уплыванием) - завидую

Саша_пилот

видать надо быть программером как Siberian чтоб это чудо юдо полетело

SovGVD

не факт, скорее всего надо делать адекватную раму (прочная и легкая с гашением вибрации), балансировать моторы с пропами, ставить нормальные (не из дешевых клонов) датчики на виброизоляцию и понять как настроить PID для своего пепелаца =)

Саша_пилот

ну незнаю, есть у меня трикоптер на поляцкой раме с капитаном куком, плата с датчиками к раме прикручена БОЛТАМИ на мертво, гирики стоят 65% чувствительности, ни моторы 1050 кв, турниги ни винты GSW не балансировал

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

трикоптер с куком и камерой на борту летает так

www.youtube.com/watch?v=YATLqX4tMUY

SovGVD

попробуй с таким кодом:

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

123 замени на 2 3 4 5 6 и т.д., пока то что надо не будет - тут будет загрубляться, но при этом скорость наклона будет оставаться адекватной
особо перебарщивать тоже не стоит… хз как код воспримет резкое изменение шага

UPD: еще нехорошее ощущение (поглядел дальше код), что это всё нужно сделать на самом деле тут:

        gyroADC[ROLL]  = (rawADC_WMP[3]&0x01)     ? gyroADC[ROLL]/5  : gyroADC[ROLL] ;   //the ratio 1/5 is not exactly the IDG600 or ISZ650 specification
        gyroADC[PITCH] = (rawADC_WMP[4]&0x02)>>1  ? gyroADC[PITCH]/5 : gyroADC[PITCH] ;  //we detect here the slow of fast mode WMP gyros values (see wiibrew for more details)
        gyroADC[YAW]   = (rawADC_WMP[3]&0x02)>>1  ? gyroADC[YAW]/5   : gyroADC[YAW] ;

Добавить ниже:

gyroADC[ROLL]   = int(gyroADC[ROLL]/123)*123;
gyroADC[PITCH]   = int(gyroADC[PITCH]/123)*123;
gyroADC[YAW]   = int(gyroADC[YAW]/123)*123;

реально не тестил, так что на свой страх и риск =)

vsamiev

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

#define MAXTHROTTLE 1850 если увеличить это число будет ли больше тяги ?

Covax
vsamiev:

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

Регуляторы не Плющи случаем? У меня тоде самое, пока не разбирался в чем дело. С HK SS все было четка, полный диапазон, а сейчас больше 10А на мотор не могу подать.

how-eee

эта хрень полетела! 😃

тоже ДТ750 и плюши 18 и тоже недодает тяги.

DrinK
vsamiev:

двигатели DT750

how-eee:

тоже ДТ750

Если не трудно сделайте фото крепления моторов к раме.

Саша_пилот

так никто и неответил, есть прошивки свежее 1,7 или кто какие пользует?

SovGVD

1.7 последняя стабильная сейчас, есть dev, но опасно юзать =)
попробовал с пропами (минимальные обороты) и своим кодом загрубления гиры (внутри updateIMU) - не ахти реакция в GUI, зато шума меньше:

Саша_пилот

шума меньше хорошо, но вот ватный коптер очень, ветром как тряпку качает.

Глеб, какая у тя вии? что за датчики? какого цвета плата?

у меня такая, что за датчики не прочитать