MultiWii

SovGVD
tusik:

направление по осям у акселерометра?

смотря какой аксель, но там везде есть 3 похожие строки:

  accADC[ROLL]  = - ((rawADC_ADXL345[3]<<8) | rawADC_ADXL345[2]);
  accADC[PITCH] =   ((rawADC_ADXL345[1]<<8) | rawADC_ADXL345[0]);
  accADC[YAW]   = - ((rawADC_ADXL345[5]<<8) | rawADC_ADXL345[4]);

тут и меняется

Саша_пилот:

ползунки моторов скачут уда хотят

лучше снять сам монитор, как там график? как гиры скачут? какие PIDы?

jon_bear

Предлагаю коротенькое видео своего пепелаца, только как назло, днем все отлично летало без осцилляций( надо было сразу видео снимать, а я залетался и решил потом…) , а после разобрал чтоб впихнуть управление светодиодами от 13 пина по схеме ардуины, покрыл лаком тонкие провода от гиры и нунчака, после этого собрал, и появились вибрации…
Днем летал при P=6 даже намека не было, сейчас до 5 снизил и пробовал еще меньше, но коптер “плавать” начинает.
Фарш такой:
Движки: 2205C 1400Kv (перемотал, тяги на 10% добавилось при том же токе потребления, но меньшее KV не получилось:( )
Регули: HK-SS18A
Винты: 8x4
Аккум: 2200 3S
Схема: atmega168 на собственной плате, чака по аналогу прицеплена, гира ITG3205 включена по схеме ITG3200.
Вес: 530 г.
Летает квадрик, но не очень хорошо, винты балансировал, и вечером еще раз проверил, вроде норма. Нагружал катушкой припоя=200 г. летает более стабильно. как на улице будет еще не знаю. Буду искать что же произошло… может изза лака чтото не так стало, цапоном покрывал…
D менял от 5 до 40. разницы не заметил… в чем она должна проявится?

Забыл сказать, летал в режиме стабилизации.

zaboy

Вот уже готова плата для MultiWii на Atmega328
с дополнительным питанием 3,3В для датчиков

Если интересует, то схема и разведенная плата в архиве
shema.zip

soliada
jon_bear:

Буду искать что же произошло… может изза лака чтото не так стало, цапоном покрывал…

Некоторые глюки возможны из-за не качественных СМД компонентов,особенно конденсаторов.

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

лучше снять сам монитор, как там график? как гиры скачут? какие PIDы?

ближе не получается, все расплывается.

смысл в том что с пропами сильнее плавают моторы, без пропов, меньше но тоже плавают.

не может же быть чтоб без пропеллеров моторы так сильно вибрировали чтоб глючили гиры.

пид 3,2 стоит, может как то в скече чето занижать надо? вии+ синяя платка, какой там гирик не понять, надписи нечитаются никак.

Буду благодарен за советы.

SovGVD

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

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

загрубил гиру

с этим подробнее пожалуйста, как это сделать

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 если увеличить это число будет ли больше тяги ?