MultiWii

filimon
mahowik:

Не вводите в заблуждение… это не релиз… это типа релиз кандидат… написано же pre2.2…
Но да, релиз скоро по идее, а сейчас баги прявят…

Но это, как я понимаю, далеко не RC2?

rx9abc
mataor:

заходим в RX.ino, в процедуре измерения длительности сигнала добавляем код
IN=3000-IN
получается при IN=1200 на выходе будет 1800, при IN=1600 на выходе будет 1400

Так и не смог разобраться где конкретно в RX.ino находится эта процедуа измерения длительности. Может кто-то сможет указать точнее?!

gorbln
rx9abc:

не смог разобраться где конкретно в RX.ino находится эта процедуа измерения длительности

Подозреваю, что где-то рядом с этим:
dTime = cTime-edgeTime[pin_pos];
(строка 108)

mataor
gorbln:

dTime = cTime-edgeTime[pin_pos];
(строка 108)

строка правильно, а вот номер строки у меня другой - 101. короче код сам

#define RX_PIN_CHECK(pin_pos, rc_value_pos)                                                        \
    if (mask & PCInt_RX_Pins[pin_pos]) {                                                             \
      if (!(pin & PCInt_RX_Pins[pin_pos])) {                                                         \
        dTime = cTime-edgeTime[pin_pos]; if (900<dTime && dTime<2200) rcValue[rc_value_pos] = dTime; \
      } else edgeTime[pin_pos] = cTime;                                                              \
    }

после if (900<dTime && dTime<2200) rcValue[rc_value_pos] = dTime; в эту же строчку добавить проверку на номер канала и вышеописанное мной изменение, как пример (может не работать) попробовать строчку: if (rc_value_pos == AUX1) rcValue[rc_value_pos] = 3000 - rcValue[rc_value_pos];

F_R

Всем привет!

Ребят, подскажите плиз 😃

У кого получалось скрестить Мультик с миним-ОСД? Как оно работает?
На Ютубе видел ролики народ выкладывает, т.е. вроде, оно работает, но подробностей так и не увидел…

jekmv

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

Iehbr89

У меня при подымании левого стика (увеличение газа (вопросы в постах тыц, тыц); аппа mode 2) обороты на моторах не одинаковы (см. видео), в следствии этого коптер сносит. Как можно с этим бороться?

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

Нормально что при ARM-е они у меня сразу на 1500 (холостые обороты при этом значении)?
Комплектующие такие.

drozd79

Парни, пытаюсь допилить на MultiiWii код, чтобы работала ось YAW на подвесе Gimbal. В принципе работает, но есть пару нюансов. Подскажите за что отвечает в коде данный фрагмент

#if MAG
heading = _atan2(EstM32.V.Z * EstG32.V.X - EstM32.V.X * EstG32.V.Z, EstM32.V.Y * invG * sqGX_sqGZ - (EstM32.V.X * EstG32.V.X + EstM32.V.Z * EstG32.V.Z) * invG * EstG32.V.Y );
heading += MAG_DECLINIATION * 10; //add declination
heading = heading /10;
#endif

Я так понимаю это рассчитывается направление по компасу. И к нему добавляется магнитное склонение. У меня подвес вращается по оси YAW, но когда я наклоняю плату по оси PITCH близко к углу 90 гр, то у меня почему-то по оси YAW серва уходит в крайнее положение. При наклонах платы датчиков по оси ROll такого влияния нет на ось YAW. Подскажите в формуле выше значения EstM это значения векторов на соответсвующие оси, правильно я понимаю? При расчете оси YAW, я так понял учитываются значения всех - трех осей? Подскажите куда смотреть.

mahowik
drozd79:

Я так понимаю это рассчитывается направление по компасу. И к нему добавляется магнитное склонение.

все верно

drozd79:

У меня подвес вращается по оси YAW, но когда я наклоняю плату по оси PITCH близко к углу 90 гр, то у меня почему-то по оси YAW серва уходит в крайнее положение.

этот эффект называется gimbal lock вроде… возникает насколько помню из за апроксимаций (с целью повышения производительности) в виевском ИМУ… НО вроде как исправили в pre2.2 судя по описанию:

EstM это вектор 3-хосевого компаса

dROb
mahowik:

Подскажите, аналогичный вопрос - есть ли готовое решение по скрещиванию DIY-OSD, или SimpleOSD с мультивием?

Или, в общем, какой есть простой OSD для Мультивия, доступный к повторению? МинимОСД не нравится наличием этой довольно редкой микрухи ОСД…

Дмитрием_меня_зовут

Народ, а это нормально, когда я выдёргиваю минусовой банан на всех регулях, из любопытства делаю АРМ и у мпеня работают все движки? плата AIO ХК .

dROb
Дмитрием_меня_зовут:

Народ, а это нормально, когда я выдёргиваю минусовой банан на всех регулях, из любопытства делаю АРМ и у мпеня работают все движки? плата AIO ХК .

Минус у вас идет по серво проводу. Осторожно! Спалите его

Дмитрием_меня_зовут

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

dROb
Дмитрием_меня_зовут:

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

Причины видятся две – неверная расстановка моторов (подключение или переподключение после краша) или неверный реверс гироскопа. Смотреть в гуи реакцию на гиро.

Дмитрием_меня_зовут

Спасибо!!! Точно - ошибка при подключении к управлению двигателями., Но, зараза, сегодня уже не полетит - сел акк.

dROb
Дмитрием_меня_зовут:

Спасибо!!! Точно - ошибка при подключении к управлению двигателями., Но, зараза, сегодня уже не полетит - сел акк.

Утро вечера мудренее 😃 Перепроверьте всё завтра. Хорошенько (осторожно) погоняйте в руке, проверьте все реакции

drozd79

Парни, подскажите еще кто знает, вот эта часть кода

#if MAG
heading = _atan2(EstM32.V.Z * EstG32.V.X - EstM32.V.X * EstG32.V.Z, EstM32.V.Y * invG * sqGX_sqGZ - (EstM32.V.X * EstG32.V.X + EstM32.V.Z * EstG32.V.Z) * invG * EstG32.V.Y );
heading += MAG_DECLINIATION * 10; //add declination
heading = heading /10;
#endif

_atan2 выше это функция, со значениями X и Y. То есть, вычисление направления по компасу (heading) ведется по векторам, но как-то это сложно понять, много разных переменных, подскажите где про это вычисление можно почитать с математической точки зрения. Что тут - сложение, умножение векторных величин? Хочется разобраться детально.