MultiWii

Art_Nesterov
Saradon:

Ну да, всё так. Только “нулю” - среднему положению стиков, соответсвует 1500. 900 и 2000 - это крайние, не нулевые положения стиков.

Писатель вы хороший, много пишите! Ну очень прошу, попробуйте почитать, то что вам пишут… может прозрение наступит! Уже разжевываем, разжевываем…

Saradon
/********                          Failsafe settings                 ********************/
    /* Failsafe check pulses on four main control channels CH1-CH4. If the pulse is missing or bellow 985us (on any of these four channels)
       the failsafe procedure is initiated. After FAILSAFE_DELAY time from failsafe detection, the level mode is on (if ACC is avaliable),
       PITCH, ROLL and YAW is centered and THROTTLE is set to FAILSAFE_THROTTLE value. You must set this value to descending about 1m/s or so
       for best results. This value is depended from your configuration, AUW and some other params.  Next, after FAILSAFE_OFF_DELAY the copter is disarmed,
       and motors is stopped. If RC pulse coming back before reached FAILSAFE_OFF_DELAY time, after the small quard time the RC control is returned to normal. */
    //#define FAILSAFE                                // uncomment  to activate the failsafe function
    #define FAILSAFE_DELAY     10                     // Guard time for failsafe activation after signal lost. 1 step = 0.1sec - 1sec in example
    #define FAILSAFE_OFF_DELAY 200                    // Time for Landing before motors stop in 0.1sec. 1 step = 0.1sec - 20sec in example
    #define FAILSAFE_THROTTLE  (MINTHROTTLE + 200)    // (*) Throttle level used for landing - may be relative to MINTHROTTLE - as in this case

    #define FAILSAFE_DETECT_TRESHOLD  985

Почти то, что надо.
При отсутствии сигналов по каналам 1-4, или при значении газа меньше 985 в течении 1 секунды, автомат сбрасывает крен, тангаж, рысканье в ноль и выставляет минимальный газ + 200 на 20 секунд, после чего глушит движки.
Если за эти 20 секунд управление возвращается, то программа прерывается и продолжается штатный полёт.
Осталось только сделать так, чтобы вместо программы включения снижения каналу 6 присваивалось значение 2000 - там у меня активируется GPS_HOME.

Art_Nesterov:

Писатель вы хороший, много пишите! Ну очень прошу, попробуйте почитать, то что вам пишут… может прозрение наступит! Уже разжевываем, разжевываем…

Дык, вроде и картинку приложил с положением каналов при отсутствии пульта…
Чему-же верить? Тому, что пишут, или своим глазам?

Владимир#
Saradon:

И при отсутствии пульта все значения равны 1500. Т.е. рысканье, крен, тангаж - нулевые, газ - 50%.
Но это только при включении коптера без пульта.

При потере сигнала картина скорее всего будет другая.
Не понятно, у вас нет как таковой аппаратуры? В чем проблема включить/выключить пульт и понять что происходит?

Saradon
Владимир#:

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

Выше написал - пульт сейчас на другом конце города 😃
И, да, припоминаю, что положение каналов при потере сохраняется…

Владимир#
Saradon:

Выше написал - пульт сейчас на другом конце города
И, да, припоминаю, что положение каналов при потере сохраняется…

Думаю нужно дождаться пульта. Есть ещё вариант ФС. Когда газ всеж таки программируется или сбрасывается именно в ноль. А так рассуждать можно вечно.

Saradon

Не, ФС точно нет.
Ниже картинка программки пульта.
Думаю, проще и логичнее всего привязаться к активации ФС внутри самого Мультивия. По отсутствию 1-4 каналов.
Только вот как понимать фразу “If the pulse is missing” - если данные по каналам отсутствуют, или не изменяются?
Ведь при замораживании показателей при потере сигнала данные-то, фактически, есть…
С другой стороны, сильно подозреваю, что показатели замораживает не сам приёмник, а непосредственно сам Мультвий, а с приёмника, всё-же, так и идут нулевые данные. Хм. Надо на самолёте проверить…
Стоп, помнится, как-то я вырубил пульт и самолёт врубил газ на 50%, значит, всё-же, сам передатчик действительно выставляет все каналы в 1500, а “замораживание”, это функция полётного контроллера, а не аппаратуры…

Saradon

Привёз пульт.
Да, каналы замораживает не Мультвий, как я думал, а сам приёмник.
И на коптере, и на самолёте после “потери” пульта каналы остаются именно в том положении, в котором были в момент потери.
Сие печаль.
Ладно, буду пытаться заставить Мультивий при потере сигнала активировать не снижение, а AUX2.
Факультативно.
Вычитывал сегодня про то, как научить Мультивий читать напряжение батареи.
Несколько вопросов.
Не будет-ли делитель напряжения из двух резисторов способствовать усиленному разряду батареи, т.к. по сути образует замкнутую цепь с нагрузкой?
Как определить этот самый пресловутый пин А1 ( у меня пины не подписаны).
Как откалибровать напряжение в GUI и в OSD? Читал, что в Мегапирате надо просто измерить реальное напряжение и задать его в GUI, тогда софт будет пропорционально его пересчитывать. А как с этим в MultiwiiConfig?
Можно-ли в качестве датчика напряжения\тока использовать такое вот изделие? Или там ток мал? Или оно вообще не для этого?

Art_Nesterov
Saradon:

Да, каналы замораживает не Мультвий, как я думал, а сам приёмник.

Ай-Ай-яй… что вы говорите?.. поверить не возможно…

Saradon:

Вычитывал сегодня про то, как научить Мультивий читать напряжение батареи.

А чего же до конца не дочитали? Наверно с надеждой очередную ересь тут доказывать?
По этой теме столько инфы, столько перетирали… ну научитесь вы читать…

Saradon:

Не будет-ли делитель напряжения из двух резисторов способствовать усиленному разряду батареи, т.к. по сути образует замкнутую цепь с нагрузкой?

Вы про закон Ома слышали? Если нет, то сделайте тупо как написано в мануале.

Saradon:

Можно-ли в качестве датчика напряжения\тока использовать такое вот изделие? Или там ток мал? Или оно вообще не для этого?

Нет. нельзя! А чем вам датчики Алегро не угодили?

SPLESH2009
Saradon:

Или там ток мал?

Да там всего 3А ток и этот девайс просто сделает пшик когда через него пойдёт ток на порядок больше 😉

Saradon
Art_Nesterov:

Ай-Ай-яй… что вы говорите?.. поверить не возможно…

А я где-то утверждал обратное?

Art_Nesterov:

А чего же до конца не дочитали? Наверно с надеждой очередную ересь тут доказывать?
По этой теме столько инфы, столько перетирали… ну научитесь вы читать…

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

Art_Nesterov:

Вы про закон Ома слышали? Если нет, то сделайте тупо как написано в мануале.

Честно, физику в тот день прогулял. Я-бы с удовольствием сделал по мануалу, только вот мануала как такового нету. Инфу приходится по крупицам надёргивать.

Art_Nesterov:

Нет. нельзя! А чем вам датчики Алегро не угодили?

Не увидел по ссылке датчика…

SPLESH2009:

Да там всего 3А ток и этот девайс просто сделает пшик когда через него пойдёт ток на порядок больше

Я честно говоря, и не надеялся. Так, на всякий случай спросил.

Art_Nesterov
Saradon:

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

Ваша фраза?

Saradon:

Не увидел по ссылке датчика…

Это сайт производителя, выберите себе датчик соответствующий вашему току и найдите на али или ебее.
А это кусочек из прошивки мультивия, вкладка config.h :

/**** battery voltage monitoring ****/
/********************************************************************/
/* for V BAT monitoring
after the resistor divisor we should get [0V;5V]->[0;1023] on analog V_BATPIN
with R1=33k and R2=51k
vbat = [0;1023]*16/VBATSCALE

Читать не царское дело, правда?

Saradon
Art_Nesterov:

Ваша фраза?

Утверждение от предположения не можете отличить?

Art_Nesterov:

А это кусочек из прошивки мультивия, вкладка config.h

Спасибо, постараюсь разобраться.

Art_Nesterov:

Читать не царское дело, правда?

А где я должен был это прочитать?
Ни одного “мануала”, где-бы это было написано я не встречал.

Art_Nesterov
Saradon:

Утверждение от предположения не можете отличить?

Могу, Так же как бредовое предположение и глупый спор… от нормального аргументированного мнения.
Вот специально для Вас, за пару минут. Крайне сложная комбинация букв

Saradon

Спасибо. Через поисковик всех ответов не нашёл.
Этот мануал не видел.
Английским не владею, но вместе с гугл-переводчиком мы справимся.

UPD. Хорошая статья. Ещё раз спасибо. Только не очень понял, что у него там за история с несоответствующими пинами.
Теперь буду знать, что для лучшего результата нужно пользоваться польским гуглом…

STRIMSS

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

Art_Nesterov

видел такую ерунду… появилось после обновления программки ардуино… восстановил старую версию 1.03 и все стало компилироваться, как раньше…

STRIMSS

да сам подумывал об этом, оказалось и правда старая версия все выполняет.

Saradon

Коллективными усилиями сделал относительно вменяемый FS.
В стандартных средствах Multiwii при потере сигнала коптер зависает на месте и начинает приземляться.
Я-же в MultiWii.cpp после строчки rcData[THROTTLE] = conf.failsafe_throttle; добавил rcData[AUX1] = 2000; , а строчку //for(i=0; i<3; i++) rcData[i] = MIDRC; закомментировал.
В результате при потере сигнала активируется канал AUX1, на котором висит GPS_HOME.
Коптер не садится непонятно где, а начинает возвращаться домой.
Правда,при возврате в зону действия пульта AUX1 отключается и управление возвращается на пульт.
Но мне кажется, что лучше уж так.
Ещё в config.h нужно выставить в строчке #define FAILSAFE_OFF_DELAY 200 значение побольше, а то через 20 секунд вырубит моторы.
Строчку #define FAILSAFE_THROTTLE (MINTHROTTLE + 200) закомментить, чтоб мозг не пытался сам управлять газом.
В строке #define FAILSAFE_DETECT_TRESHOLD 950 я выставил значение 800, чтоб мозг не включал FS на холостых оборотах.
Ну и чтобы всё это работало, нужно, кончено, раскомментировать #define FAILSAFE.

10 days later
Patriarch

Мужики, поделитесь знаниями или опытом) Замучался уже. Три года летаю на одном и том же коптере (да, модифицируется, меняются моторы-пропы-навеска) но мозг один и тот же - AIOP v2 на маховике. Борюсь нынче с такой ситуацией. В полный штиль коптер летает идеально. Висит ровно. Никаких тебе осцилляций. А как толькоподует ЛЕГКИЙ ветерок - его начинает трясти, выглядит как перекомпенсация. Пиды по роллу и питчу загнал в самый низ, коптер вялый, еле плавает, но как ветер - начинает опять трястись как листик) Вибрации в норме.
Пытался понизить еще пиды по LEVEL - тряска осталась, а коптер управляется тяжело, ибо “приблизился” по поведению к акро-режиму.

У кого какие мысли? Где копать? В прошивке фильтра на MPU включал-отключал, дефайны KILL_VIBRO И KILL_SMALL_OSCILATIONS включал и выключал. Со включенными дефайнами коптер вялый, но трясется одинаково и там и там)
Очищал EEPROM, прошивал, настраивал все заново - без результата.
Дальше пиды крутить? Замучился уже.

Владимир#
Patriarch:

У кого какие мысли?

Patriarch:

Вибрации в норме.

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

Patriarch
Владимир#:

Фильтры и киллы спасают от обычных вибраций, а вот если проскакивает небольшой резонанс то очень похожий эффект получается

Заливается мегапират, включается лог IMU, подлетаешь, смотришь лог. Все в пределах ±4. Даже меньше. Да и смущает, что в штиль - никаких вопросов. Вибрации - штука постоянная, и от ветра не зависит) Плюс моторы T-motor, с живыми подшипниками, пропы Graupner карбон, отбалансировано все. Плюс виброразвязка самого контроллера. Признаюсь, мегапирата заливал давно, но с тех пор - никаких крашей, никаких модификаций, кроме установки 3-осевого подвеса вместо 2-х осевого. Подвес закреплен кстати жестко к раме, без демпферов - желе нет. Но бьюсь парралельно с дерганьем влево-вправо, похоже, что сама ось YAW мозг дурит.

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

Попробую-ка я полностью с 0 перепрошиться, откалиброваться, и подлетнуть на стоковых пидах. Будет видно.