MultiWii

tda2030
nsk-racer:

Так чего мне делать с регулями? Хочу моторы мощнее, dt-750 совсем износились, и ещё вопрос, как сделать чтобы более хорошо крутился по yaw? мне кажется он почти не крутится, питч и ролл прям хорошо реагирует на стики, а вот yaw как то вяло, может мне кажется)

смотря какая конфигурация коптера. У меня три- - проблем с yaw нет, по мне довольно резво крутится. Но вообще стараюсь держать его хвостом ко мне, т.к. еще подтормаживаю, когда он передом поворачивает.
А всякие там квадры и гексы более вяло на yaw реагируют. Многократно обсуждалось 😃

зы. Народ, я тут в самом начале 91й страницы большой пост написал с описанием проблем. Гляньте, пожалуйста. Вдруг кто хоть какие-то ответы знает или может посоветует чего… )

mahowik

Небольшой апдейт по симпл моду. Мод рабочий и готов к употреблению 😃 На буржуйском форуме пару человек отписались после полетов, что все работает…
www.multiwii.com/forum/viewtopic.php?f=7&t=925

Окончательно было решено “запоминать нос”, т.е. фиксировать азимут, в момент включения двигателей, что бы можно было не теряя носа в полете включать-выключать мод. К примеру когда зарулились и надо вытянуть/спасти коптер…

  1. Открываем MultiWii_*.pde
    Ищем
static uint8_t  magMode = 0;

Вставляем после него:

static uint8_t  simpleMode = 0;     // if simple mode is a activated
static int16_t  simpleModeHold;
  1. Ищем
rcCommand[THROTTLE] = MINTHROTTLE + (int32_t)(MAXTHROTTLE-MINTHROTTLE)* (rcData[THROTTLE]-MINCHECK)/(2000-MINCHECK);

Вставляем после него:

  if(simpleMode) {
    float radDiff = (heading - simpleModeHold) * 0.0174533f; // where PI/180 ~= 0.0174533
    float cosDiff = cos(radDiff);
    float sinDiff = sin(radDiff);
    int16_t rcCommand_PITCH = rcCommand[PITCH]*cosDiff + rcCommand[ROLL]*sinDiff;
    rcCommand[ROLL] =  rcCommand[ROLL]*cosDiff - rcCommand[PITCH]*sinDiff;
    rcCommand[PITCH] = rcCommand_PITCH;
  }
  1. Ищем (в двух местах)
armed = 1;

Вставляем вместо него (в двух местах):

        {
          armed = 1;
          simpleModeHold = heading;
        }
  1. Ищем
if (rcOptions & activate[BOXMAG]) {
        if (magMode == 0) {
          magMode = 1;
          magHold = heading;
        }
      } else magMode = 0;

Вставляем после него:

      if (rcOptions & activate[BOXGPSHOME]) {
        if (simpleMode == 0) {
          simpleMode = 1;
        }
      } else simpleMode = 0;

Небольшая инструция:

  1. нужен компас/магнетометр.
  2. Включение режима повесил на бокс GPS HOME (в ГУИ квадратики для конфигурирования переключения режимов).
  3. В момент запуска двигателей запоминается текущий азимут и при поворатах, носом коптера считается именно этот азимут. Т.е. к примеру если вы активировали мод, когда коптер смотрит на север, то при любых поворотах по ЯВ, коптер будет считать, что нос у него это север. Соот-но как не поверни, при отклонении питч вперед (от себя), коптер полетит на север.
  4. Эсли коптер летит не понятно куда, возможно сильно врет компас. Просто отрубите мод прямо в полете.
  5. Мод работатет как в акро, так и в левел моде. НО в акро не советую.
alexmos
mahowik:

Небольшой апдейт по симпл моду

Думаю очень полезный мод, жаль сейчас нет возможности протестировать.

Да, мультивий получит новых поклонников при такой недорогой железке, потому что распил контроллеров многих останавливает (если бы не allinone я б на него точно не подсел). А тут ещё проще чем arduino + allinone, и все ноги подписаны.

mahowik

тут уже писали вроде… вот еще полезная ссылка по различным вариациям сенсоров на борде…
gapey.narod2.ru

VitaliyRU
alexmos:

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

Останавливает, т.к. нету нормального описалова только огрызки разбросанные по 3 форумам(2 на английском), а что бы разобраться во всем, надо с месяц 😃) поиском лопатить.
Хотя что бы “выпилить” itg 3205, достаточно припаять 2 провода и перезать 2 дорожки, а ADXL345 и так всего $10
Достаточно сделать нормальный Build Log и народ потянется 😃) хотя $53 всего 2 цены, по сравнению с “пилить” 😃

Musgravehill
VitaliyRU:

Достаточно сделать нормальный Build Log и народ потянется

Это квест! Если человек смог пройти нулевой уровень - добро пожаловать в игру!

VitaliyRU
Musgravehill:

Это квест! Если человек смог пройти нулевой уровень - добро пожаловать в игру!

Да не квест это, а дурдом. Или кому-то что-то жмет, видимо асилили с трудом. Раз уж народ в этой теме не хочет спрашивать, а спрашивают у меня в личке, например. Мне-то ответить не жалко…
фигня это все…, просто структурированной информации нет.
И радовацца и гардицца тут не чем.

devv

Разобраться можно. 92 стр на русском это не тысячи как на англ. написано.

Но всё таки лучше с нормальными датчиками делать, а не пиленными из фиг знает чего и как.

VitaliyRU
devv:

Но всё таки лучше с нормальными датчиками делать, а не пиленными из фиг знает чего и как.

Гиры дорогие. Itg3200 где-то от $40…
при условии, что аурдинка от $8, моушен плюс(последнее время все с itg3205) $8 - разница 😃.
а аксели и так не дорогие, да и в чаках не съедобные в последнее время.
Получаются вполне съедобные датчики за 3 копейки в базарный день.

devv:

Разобраться можно. 92 стр на русском это не тысячи как на англ. написано.

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

woddy

а где ты ардуину по 8 баксов нашол? как-то дешевле 13 без усб или за 16 с усб не вижу

VitaliyRU
woddy:

а где ты ардуину по 8 баксов нашол? как-то дешевле 13 без усб или за 16 с усб не вижу

Писал по памяти, сори - $10
www.ebay.com/itm/280601525492
мне именно маленькая и лехкая нужна была, для комнатного мелколета

woddy

в любом случае еще регули 4х12, моторы 4х14, батарейка 17, зарядка для батарейки 20, пульт 30. итого от 200 баксов. стоимость датчиков на фоне становится не такой уж большой.

VitaliyRU

у меня все по 9 😃) регули 4х9, моторы 4х9, батарейка 9, приемник 9 это из того что может улететь своей дорогой 😃
Все остальное останется 😃
Да и пульты зарядки и т.п. уже есть обычно.
На фоне 100, все же стоимость мозга заметна.

Хотя конечно согласен, просто если ужЕ разобрался, зачем платить больше? 😃

bergorsam

Помоните подключить напрямую LCD на базе HD44780 к Arduino для Multiwii по такому принципу robocraft.ru/blog/arduino/503.html
Помогите пожалуйста с кодом в Multiwii. (т.к. на меге выходов пока хватает!)

native18

Прошу ответить на банальный вопрос. С акселерометра идут три выхода: x, y, z.
Я считал, что соответственно отвечают за крен, тангаж и курс, но судя по ГУИ все совсем не так.
Научите, как правильно. Прошу сильно не пинать.

Musgravehill
native18:

С акселерометра идут три выхода: x, y, z.
Я считал, что соответственно отвечают за крен, тангаж и курс

На оси x, y, z выполняется проекция суммарного вектора всех сил, действующих на датчик.
Когда датчик горизонтально расположен, на него действует только сила тяжести. По осям Х,У проекция этой силы = 0, по оси Z - будет некое число.
При наклоне датчика или появлении дополнительных сил (центростремительная, например) суммарный вектор всех сил проецируется на оси x, y, z в виде некоторых чисел.
В свободном падении по осям будет 0.

native18
Musgravehill:

В свободном падении по осям будет 0.

Спасибо.
Это что же получается, что МультиВии высоту тоже отслеживает?

kedrikov
native18:

Спасибо.
Это что же получается, что МультиВии высоту тоже отслеживает?

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

Musgravehill
native18:

МультиВии высоту тоже отслеживает?

Только проекции сил по осям. Именно так предлагается дополнить бародатчик для удержания высоты: ПИД по давлению воздуха, ПИД по оси Z: проекция F=m*(g-a). Коптер сваливается или взмывает вверх - идет возмущение по давлению воздуха, и по ускорению (g-a) по оси Z.

native18:

курс

Курс определяется только гироскопом (ДУС) и магнитометром.
Для компенсации наклона магнитометра нужен акселерометр.