MultiWii

tusik
skyrider:

правильно залить скетч

Открываете любой файл из папки, где лежит прошивка, а дальше как обычно

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

Дома и на улице с ветерком даже висит нормально и в стаб моде тоже, а начинаеш летать и может поймать расколбас…

Обычное дело. И танцы с бубнами не всем помогают.

skyrider
tusik:

Открываете любой файл из папки, где лежит прошивка, а дальше как обычно

Разобрался, во всех ранних прошивках файл pde просто перетаскивал мышкой и кидал в окно проги arduino-0022, в 1.8 нужно открыть именно файл с помощью arduino-0022.

mahowik
SovGVD:

все кричат “да да, даешь вики”

блин! 90% вопросов покрыто факами на офф сайте www.multiwii.com/faq и вики не нада

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

еще полезно хотяб раз повтыркать в www.multiwii.com/software тогда и ГУЙ станет понятным…

Девиз! Меньше флуда, больше дела! 😃

mx400mx400:

Дома и на улице с ветерком даже висит нормально и в стаб моде тоже, а начинаеш летать и может поймать расколбас… Сломал сегодня последний винт

советую увеличить Д и П для ролл/питч… станет более плавный и более устойчивый… я пробовал П=8, И=0.030, Д=35

Серега, ты кстать опробовал эти ПИДы?

Covax

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

NeON79

Простите за тупой вопрос “чуть-чуть не в тему”😇
Если квадрик сделать приблизительно такой конструкции как на рисунке, оно летать будет? Или исключительно крестообразно надо?

sulaex
NeON79:

Простите за тупой вопрос “чуть-чуть не в тему”😇
Если квадрик сделать приблизительно такой конструкции как на рисунке, оно летать будет? Или исключительно крестообразно надо?

мое ИМХО:
написана программа для обработки данных
если располагать моск не в положенном месте, то будет эффект что то типа если вам надеть видео очки, а саму камеру перевернуть вверх ногами, вы просто напросто перестанете ориентироваться в пространстве, хотя по отношению к мозгу человека он адаптируется со временем, а вот мозг квадрика не имеет такого свойства

в общем любые отклонения от заданных параметров, в той или иной степени повлияют на работоспособность

Covax

Что Александр хотел сказать непонятно,
летать будет, но придется опытным путем распределять нагрузку на двигатели, получится чтото между схемой X4 и Y4, если сами не сможете подобрать то лучше и не браться, а сделать сразу Y4, тоесть один задний луч и двигатели на нем сверху и снизу, с разнонаправленным вращением 😃

sulaex
Covax:

Что Александр хотел сказать непонятно

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

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

SovGVD
NeON79:

оно летать будет?

будет, но лучше в коде организировать новый тип рамы и по моторам эксперементально (или посчитать? только хз как) распределять обороты
зы: щас как раз такую раму для MP сделал, но испытать не удалось - датчики снова набекрень =(
upd: ковырять в Output.pde, например добавив раму myquad
обновить

#elif defined(QUADP) || defined(QUADX) || defined(Y4) || defined(MYQUAD)

и дальше в миксах (вот тут свои коэфициенты подбирать)

  #ifdef MYQUAD
    motor[0] = PIDMIX(-1,+1,-1); //REAR_R
    motor[1] = PIDMIX(-1,-1,+1); //FRONT_R
    motor[2] = PIDMIX(+1,+1,+1); //REAR_L
    motor[3] = PIDMIX(+1,-1,-1); //FRONT_L
  #endif

PIDMIX(X,Y,Z)=THROTTLE + ROLL*X + PITCH*Y + YAW*Z

ну и в config.h добавить тоже

//#define QUADP
//#define QUADX
#define MYQUAD
//#define Y4
NeON79

Ага… Понял. Буду ковырять код, смотреть что там куда. Спасибо.

SovGVD
NeON79:

Буду ковырять код, смотреть что там куда.

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

  #define PIDMIX(X,Y,Z,T) rcCommand[THROTTLE]*T + axisPID[ROLL]*X + axisPID[PITCH]*Y + YAW_DIRECTION * axisPID[YAW]*Z

и миксы поменять с

=PIDMIX(значениеX,значениеY,значениеZ);

на

=PIDMIX(значениеX,значениеY,значениеZ,коэфициент_газа);
kergo
SovGVD:

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

  1. Вот вам математика управления моторами. На этих примерах думаю будет проще высчитать PIDMIX-ы моторов на стандартной раме.
  2. Я бы не стал заводить новую раму т.к. Вы забыли про конфигуратор. Увидев MYQUAD он ничего на экран не выведет, да еще и придется с PROCESSING-ом разбираться прописывая по новой конфигу для новой рамы.
    К примеру, предложенный концепт рамы сильно похож на QUADX. На много проще сделать поиск по скетчу этого слова. Делаем копии кода QUADX переименовывайте в QUADX1.
    Качаете PROCESSING и ControlP5 (без этого конфига не скомпиллируется)
    Открываете в PROCESSING файл MultiWiiConf1_8.pde делаете так же копии QUADX и переименовываете в QUADX1. Компиллируете конфигуратор.
    Вот теперь при выборе новой рамы вы будете видеть в конфигутаторе X. Мне кажется это самый оптимальный путь решения этой задачи.
SovGVD
kergo:

вы забыли про конфигуратор

точно =) про него забыл, но можно просто конфигратору пихать ID от квадрика и всё
в def.h

#elif defined(QUADX) || defined(MYQUAD)
  #define MULTITYPE 3
kergo:

На много проще сделать поиск по скетчу этого слова. Делаем копии кода QUADX переименовывайте в QUADX1.

я как раз от туда куски и надергал (версия 1.8)

kergo:

Вот вам математика управления моторами. На этих примерах думаю будет проще высчитать PIDMIX-ы моторов на стандартной раме.

а вот за это огромное спасибо =) если оставаться в одной плоскости (не делать Vtail) всё довольно просто получается

на вскидку получается вот так:

#ifdef MYQUAD
    motor[0] = PIDMIX(-0.2,+0.5,-1); //REAR_R
    motor[1] = PIDMIX(-0.5,-0.8,+1); //FRONT_R
    motor[2] = PIDMIX(+0.2,+0.5,+1); //REAR_L
    motor[3] = PIDMIX(+0.5,-0.8,-1); //FRONT_L
  #endif

это при условии что передние лучи на 30 от оси Pitch (как 2 и 4 моторы в гексе лучем вперед)
ardupirates.googlecode.com/svn/…/motmix03.jpg (почему картинка тут в URL преобразовывается? баг форума?)
а задние на теже 30 градусом но от Roll

mx400mx400

Дома и на улице с ветерком даже висит нормально и в стаб моде тоже, а начинаеш летать и может поймать расколбас… Сломал сегодня последний винт

советую увеличить Д и П для ролл/питч… станет более плавный и более устойчивый… я пробовал П=8, И=0.030, Д=35

У меня если поднимать P больше 2х то расолбаса не избежать. переломал все винты пока настраивал. Приедут винты буду дальше мучать )

kergo
SovGVD:

можно просто конфигратору пихать ID от квадрика и всё
в def.h

Хорошее решение. Я про него не подумал.

mahowik

Глеб, а чевойта ты на вий вернулся?! 😃
Тыж всех гнал мигрить на пирата! 😃
С пиратом скучно наверное стало, собрал и полетел, а тут потр%;№@ся нужно! 😃

Covax
mahowik:

С пиратом скучно наверное стало, собрал и полетел, а тут потр%;№@ся нужно!

А не наоборот? 😃)))

NeON79

Тут ещё один вопрос внезапно возник: я так понял, если применять аксели-гиро-компасы, отличные от используемых, надо просто переписать модули, ответственные за общение с ними? Хочу взять такие:
mkpochtoi.narod.ru/L3G4200D_gyro_ds.pdf - гиро
mkpochtoi.narod.ru/lsm303dlh_ds_16941.pdf - аксель с компасом.

SovGVD
mahowik:

Глеб, а чевойта ты на вий вернулся?!

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

NeON79:

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

NeON79

Спасибо, Глеб, отличная новость. К своему стыду, код ещё даже не открывал - на работе завал, и так до 15-го числа(((.
Идея такова - наклеить на пузо Нане пару чипов, и развести их проводочками. Получился мааааленький такой полётный контроллер. Наверное. Я надеюсь)))