MultiWii

Urdigor

Решил вот сегодня перепрошиться на 2 версию вия (был 1.9). Прошился, теперь начались какие-то проблемы с датчиками. А точнее, поменялись оси… Какие были настройки осей у 1.9 и как их перенести на 2 версию? Наверное нужно что-то изменить в строчках

#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  = X; accADC[PITCH]  =  -Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  X; gyroADC[PITCH] = Y; gyroADC[YAW] = Z;}
#define MAG_ORIENTATION(X, Y,  Z)  {magADC[ROLL]  = -X; magADC[PITCH]  = -Y; magADC[YAW]  = Z;}

но я посмотрел, в 1.9 всё было точно так же… Не подскажите что изменить?

dmgluk

Компас я победил. Помогла калибровка, но не с первого раза.
Вопрос следующий. Пытаюсь приделать EOSD с прошивкой Syberian.
По рекомендациям Глеба rcopen.com/forum/f123/topic221574/4809 работает.
Но поскольку у меня Mega и портов не жалко, взял файлик из мегапирала и переделываю его под multiwii.
Вместо Serial.write, использую SerialWrite из multiwii.
Код работает, но интересует оптимизация.
Правильно ли я понимаю, что с serial 0, можно использовать стек и один раз писать с помощью UartSendData, а в остальные порты писать сразу?

Dimm168pin
RA4ASN:

Кстати, а с чем связано такое решение - для трикоптера другой вариант арминга и дисарминга двигов?

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

#define TRI_YAW_CONSTRAINT_MIN 1250
#define TRI_YAW_CONSTRAINT_MAX 1750
#define TRI_YAW_MIDDLE 1500

вместо штатных

#define TRI_YAW_CONSTRAINT_MIN 1020
#define TRI_YAW_CONSTRAINT_MAX 2000
#define TRI_YAW_MIDDLE 1500

upd. Вчерашнее , Raw

www.youtube.com/watch?v=GYF85oCJTUA&feature=youtu.…

Urdigor

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

в чём может быть дело?

Dimm168pin
Urdigor:

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

в чём может быть дело?

а если roll yaw pitch выставить до 1500 ? и i2c error больше нуля это плохая примета.

Urdigor

да нет, не висит (если крутить квадрик график меняется)

Urdigor

нормальное… при том же питании в прошивке 1.9 такой проблемы не было

Dimm168pin

отключите аксель и попробуйте еще раз, если поможет то I Pitch roll level все выставить до 0,005 0,010

З.Ы. стоит проверить ориентацию акселя повторно

mahowik
Urdigor:

почему на моторы подаётся газ не равномерно (разный уровень на разные моторы) при нахождении коптера в горизонтальном состоянии?

1000+1 раз писали это тут уже ((
Левел И сделайте 0.01, а то и меньше… + остальные ПИД у вас не сбалансированы… я конечно понимаю что каждому хочется на свои грабли понаступать, но попробуйте для начала проверенные месяцами (из альтернативных прошивок к примеру)…

nemo61
mahowik:

в 1.9а и 2.0а установлены такие параметры #define MINCHECK 1150 #define MAXCHECK 1850 я специально сжал диапазон на 50 единиц с обеих сторон, чеб небыло проблем с простыми аппами типа HK-6X, соот-но троттл на арме должен быть <1150, а yaw>1850… проверьте в ГУИ

У меня троттл 990, а yaw 2010. Моторы не стартуют.

HATUUL:

Подключи (выставь "галочки) “Arm” к одному из Aux.

Поставил. При нажатии на write стартуют моторы. После перезапуска системы моторы не стартуют.
Прошиваю 1.9.а2 моторы стартуют.
Вопрос снят.
Прошил 2.0а моторы запустились.
Слов нет…

mahowik

приношу свои извенения тем кто после 1.9_а1 прошился 2.0_а0… забыл изменить checkNewConf в EEPROM.pde (и там и там код 200)…
и EEPROM не перезаписался соот-но при переходе с 1.9_а1 на 2.0_а0. отсюда могут быть глюки, кто прошивался именно в такой последовательности…
в ближайшее время перезалью прошивку, а пока просто замените 200 на 210 в EEPROM.pde для 2.0_а0:

static uint8_t checkNewConf = 210;
mahowik
nemo61:

Прошиваю 1.9.а2 моторы стартуют. Вопрос снят. Прошил 2.0а моторы запустились.

все правильно, при переходе 1.9_а2 на 2.0_а0 все ок т.к. checkNewConf в EEPROM разный
еще раз извиняюсь ((

HATUUL
mahowik:

checkNewConf в EEPROM разный
еще раз извиняюсь

Значит,EEPROM надо обнулить?А как?

HATUUL:

Пока жду свёрла,взял вот такоой сет,оказалось в Израеле даже не знают ,что есть свёрла меньше 1.5мм,для простых смертных.

Блин,ругался на Израил,а продавец оказалься (догадайтесь).Когда посылка пришла с Тел-Авива,решил что лыжы поехали не спеша😈.Стыдно.😕

mahowik
HATUUL:

Значит, EEPROM надо обнулить?А как?

если шили с 1.9_а1 на 2.0_а0, то заменить checkNewConf c 200 на 210 в EEPROM.pde для 2.0_а0 и еще раз прошить…

static uint8_t checkNewConf = 210;

т.е. checkNewConf текущей прошивки должен отличаться от checkNewConf пред-й прошивки… тогда записываются новые дефолтные значения в EEPROM

mahowik
mahowik:

в ближайшее время перезалью прошивку

поправил/перезалил

Urdigor
mahowik:

1000+1 раз писали это тут уже ((
Левел И сделайте 0.01, а то и меньше… + остальные ПИД у вас не сбалансированы… я конечно понимаю что каждому хочется на свои грабли понаступать, но попробуйте для начала проверенные месяцами (из альтернативных прошивок к примеру)…

попробовал установить вашу прошивку MultiWii_2_0_a0. При дефолтных настройках квадрик быстро входит в страшную балтанку (стоит его чуть накренить в одну сторону, и отпустить стик, он пытается выравняться, двигаясь в противоположную сторону, но почему-то не останавливается, а продолжает балтаться туда-сюда, пока не упадет). Какие пиды подвигать что бы этого избежать?
вообще, подскажите, может где-нибудь доходчиво пишут про пид настройки?

Dimm168pin:

отключите аксель и попробуйте еще раз, если поможет то I Pitch roll level все выставить до 0,005 0,010

З.Ы. стоит проверить ориентацию акселя повторно

отключение акселя не помогло… с i завтра поэкспериментирую, сегодня замучился уже… Оси акселя я так понимаю у меня правильно настроены (адекватная реакция на приборной панели в GUI).

omegapraim

airm.ru/articles/2 человек для вас старается пишет сайт, добавляет знания а поискать и почитать тему лень… ищите на данном сайте про ПИД самое нужное там русским языком понятно расписано, если болтается уменьшите П для начала

penkerton

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

Итак, собран Х коптер из:
собрал все на Arduino Uno, только Wii (без нунчака и акселерометра)

  • контроллер скорости TURNIGY Plush 18amp Speed Controller
  • моторы hexTronik DT750 Brushless Outrunner 750kv
  • Прошивка 2.0, формата Х.
    все с хоббикинга, подключены параллельно (не последовательно, как есть на некоторых планах)

Все крутится как надо, отзывы на повороты модели и движение стиков есть, но одна проблема:
скорости моторов разные и заводятся они с разного положения стика газа. Как их все синхронизировать, где копать?
и еще, коротенький - при статусе armed моторы должны начать вращаться сразу? (медленно конечно)

Заранее спасибо за подсказку!