MultiWii
//#define MINTHROTTLE 1300 // for Turnigy Plush ESCs 10A
Определитесь при каком минимальном значении стартуют ваши регули(моторы) и какой минимальное число дает аппаратура при стике в упор.
Значение MINTHROTTLE должно быть больше вашего минимального но меньше минимума для регулей.
Тогда у вас будет гарантия что при удержании стика на минимуме моторы не будут запущены, но при движении стика запустятся уже на минимальных оборотах которые способны. Сейчас у вас они стартуют при значении 1150, а это видимо, уже далеко не минимум на который они смогут запуститься…
Проще. Допустим, при движении стика от мин до макс значение колеблется от 900 до 2200. MINTHROTTLE указан 1150
значит, при движении стика вперед. На регуляторы “не будет подаваться” управляющего, канального импульса. Но как только положение стика окажется соответствующим значению 1150, канальный импульс сразу пойдет на регули, как бы “прорвало” и поперло… А это значение может соответствовать и 5% и 40% от максимальной тяги, все зависит от того какой именно минимум понятен именно вашим регулям, .
Главное. Этот параметр нужно указать исходя из характеристик своих регулей, а не из авторских догадок и соображений.
А это в каких попугаях кстати?
Это длительность канального импульса. В мкс, с попугаями ни чего общего )
канальный импульс сразу пойдет на регули, как бы “прорвало” и поперло… А это значение может соответствовать и 5% и 40% от максимальной тяги, все зависит от того какой именно минимум понятен именно вашим регулям,
Вчера это и произошло при тесте в руке над головой, чтоб понять как отрабатывает контроллер … в итоге порезало мне локоть и руку чутка … слишком лёгкий и слишком мощный получился агрегат, да и опыта небыло с мултивием, вот и поплатился …
в итоге порезало мне локоть и руку чутка … слишком лёгкий и слишком мощный получился агрегат
Уже, наверное, сто раз спрашивал при таких вопросах, но всё же: а регуляторы ТОЧНО откалиброваны? и чем. Минтроттл убавлять до 1050-1100 - это нормально. По объяснению создаётся ощущение, что у вас реги так откалиброваны, что 1100 это минимум а 1200 максимум =) А должно быть 1000/2000
Вчера это и произошло при тесте в руке над головой, чтоб понять как отрабатывает контроллер … в итоге порезало мне локоть и руку чутка … слишком лёгкий и слишком мощный получился агрегат, да и опыта небыло с мултивием, вот и поплатился …
Моторы после арминга должны постоянно крутиться по крайней мере по двум причинам:
- Чтобы не было случаев, аналогичных Вами описанных (или, когда вы например заармили, но забыли об этом, и сели на стик газа, дав полный газ. Я, например, человек не очень аккуратный, у меня тысячу раз бывали ситуации, когда на включенном питании я на самолётах и вертолётах, и один раз на квадрике с КапитанКуком давал газ. На квадрике это могло окончиться очень плохо - рядом был ребенок, и мне пришлось ловить руками работающий на полную мощь коптер. Руки пострадали)
- Когда коптер, например, снижается, на некоторые из моторов/регулей может быть подан низкий сигнал, что заставит регулятор перейти в режим “мотор выключен”, и когда сигнал вновь вырастет до некоего порогового значения - регуль примет это как включение мотора и, (если это не специальные регули SimonK), будет запущена некая процедура запуска мотора (быть может это займет долю секунды, а для каких то регулей может и больше). Всё это дело будет отличаться от стандартной ситуации когда мотор вращается, а вы просто увеличили газ. Опять же, не факт что всё это приведет к крашу, но однозначно - для коптера и его регулей - это нескольно нестандартный режим, и лучше его избегать. (у меня, например, было пару случаев, когда мотор вообще раскочегаривался при старте секунду или две. И я бы избегал перехода из режима “мотор стоп” и “мотор старт” прямо посреди полёта)
P.S. Знаю, что много народу летает так, что при арминге моторы молчат (в т.ч. вы правы, что так, вроде, было и в ККкоптере), но мне кажется это чуть менее рационально. Не говоря о том, что если понаблюдать за логикой самого мультивия при арминге, становится ясно, что такова и была задумка. (до арминга на моторах - нули, после - MINTHROTTLE)
- Чтобы не было случаев, аналогичных Вами описанных
При включении питания или при арминге моторы должны стоять! НЕЗАВИСИМО от положения стика газа. Для пуска моторов, нужно “газом” посетить ноль, и потом пойти вверх и пересечь значение MINTHROTTLE. С таким алгоритмом проблема номер один пропадает автоматом.
- Когда коптер, например, снижается, на некоторые из моторов/регулей может быть подан низкий сигнал, что заставит регулятор перейти в режим “мотор выключен”,
При уже работающих моторах газ вполне может быть и ниже, но моторы при этом совсем не обязательно должны выключаться. снимать с регулей канальный импульс сразу после MINTHROTTLE ни кто не заставляет. Но снимать его надо! и снимать обязательно одновременно со всех, не дожидаясь того момента когда регули сами начнут отрубаться по одному… а они сами никогда не отрубятся одновременно благодаря элементарному разбросу во внутренних параметрах процессоров регулей они работают как правило на не кварцованных частотах калибровать их врядли кому то приходило в голову… Думаю что не нужно обьяснять ни кому что получится если моторы будут останавливаться в разнобой…
становится ясно, что такова и была задумка. (до арминга на моторах - нули, после - MINTHROTTLE)
Задумка описана в комментарии config.h multiwii
/**************************** Motor minthrottle *******************************/
/* Set the minimum throttle command sent to the ESC (Electronic Speed Controller)
This is the minimum value that allow motors to run at a idle speed */
Я так понимаю - Установка значения минимальной тяги, которая может быть отправлена на регули и при котором моторы уже работают, но находяться в режиме ожидания.
Однако есть еще один момент:
/**************************** Mincommand *******************************/
/* this is the value for the ESCs when they are not armed
in some cases, this value must be lowered down to 900 for some specific ESCs, otherwise they failed to initiate */
Тот минимум который “висит” на регулях пока коптер в состоянии “дизармед”.
Про него тоже нельзя забывать.
При включении питания или при арминге моторы должны стоять! НЕЗАВИСИМО от положения стика газа.
Вы сами себе противоречите. При арминге, ну то есть, после него - двигатели должны управляться от ручки газа. Так что, моё мнение - после арма - в целях безопасности, движки ДОЛЖНЫ крутиться. Чтобы юзер видел, что коптер “взведён”, и приближаться к нему и уж тем более брать в руки - чревато.
Уже, наверное, сто раз спрашивал при таких вопросах, но всё же: а регуляторы ТОЧНО откалиброваны? и чем. Минтроттл убавлять до 1050-1100 - это нормально. По объяснению создаётся ощущение, что у вас реги так откалиброваны, что 1100 это минимум а 1200 максимум =) А должно быть 1000/2000
Вот сказали и призадумался … я калибровал через строчку в конфиге, но думаю надо руками через 3ий канал сделать - как то по старинке, надёжней что ли =)
Вы сами себе противоречите. При арминге, ну то есть, после него - двигатели должны управляться от ручки газа. Так что, моё мнение - после арма - в целях безопасности, движки ДОЛЖНЫ крутиться. Чтобы юзер видел, что коптер “взведён”, и приближаться к нему и уж тем более брать в руки - чревато.
Кстати, а на каких контроллерах заводятся так же как на мультивие то? Я использовал KK2, Rabbit, APM1 (APM2.5) так на них нет подобного …
до арминга на моторах - нули, после - MINTHROTTLE
Не нули, а MINCOMMAND. При этом значении регулятор должен проинициализироваться (не входить в режим калибровки и всякое такое) - но крутить движками не должен.
Насколько я начинаю понимать, мы с вами говорим о разных вещах: я - о том, как есть и должно быть сейчас в Multiwii, а Вы о том, как должно быть по-правильному? Или, данный метод арминга, указанный вами ниже, уже есть в Мультивие? может я что-то упустил…
При включении питания или при арминге моторы должны стоять! НЕЗАВИСИМО от положения стика газа. Для пуска моторов, нужно “газом” посетить ноль, и потом пойти вверх и пересечь значение MINTHROTTLE. С таким алгоритмом проблема номер один пропадает автоматом.
Никак не могу понять, как данный метод арминга может гарантировать безопасность? Что если вы уже случайно сделали первую часть арминга (посетили газом ноль), и после этого задели рычаг и пересекли MINTHROTTLE, причём, например, не просто пересекли, а сразу до упора?
При уже работающих моторах газ вполне может быть и ниже, но моторы при этом совсем не обязательно должны выключаться. снимать с регулей канальный импульс сразу после MINTHROTTLE ни кто не заставляет. Но снимать его надо! и снимать обязательно одновременно со всех, не дожидаясь того момента когда регули сами начнут отрубаться по одному… а они сами никогда не отрубятся одновременно благодаря элементарному разбросу во внутренних параметрах процессоров регулей они работают как правило на не кварцованных частотах калибровать их врядли кому то приходило в голову… Думаю что не нужно обьяснять ни кому что получится если моторы будут останавливаться в разнобой…
Мне кажется вы неверно понимаете логику работы регулей. Регули, по мере снижения импульса ниже определённого значения, остановят движки, а после повышения - запустят снова. Отсутствие же канального импульса вообще - равносильно для большинства регулей потере сигнала, или неподключенности к приемнику/контроллеру (большинство регулей начнут попикивать). Мультивий всегда отправляет некий импульс на все движки (в разармленом состоянии в т.ч.), а при арминге увеличивает сигнал до MINTHROTTLE.
Задумка описана в комментарии config.h multiwii
/**************************** Motor minthrottle *******************************/
/* Set the minimum throttle command sent to the ESC (Electronic Speed Controller)
This is the minimum value that allow motors to run at a idle speed */Я так понимаю - Установка значения минимальной тяги, которая может быть отправлена на регули и при котором моторы уже работают, но находяться в режиме ожидания.
Однако есть еще один момент:
/**************************** Mincommand *******************************/
/* this is the value for the ESCs when they are not armed
in some cases, this value must be lowered down to 900 for some specific ESCs, otherwise they failed to initiate */Тот минимум который “висит” на регулях пока коптер в состоянии “дизармед”.
Про него тоже нельзя забывать.
А здесь неправильное трактование (и перевод, собсно). Первое значение (перевод), это “Минимальное значение, отправляемое на регули, позволяющее им крутиться на холостом ходу”
А вторая переменная, как раз то, про что я говорил чуть выше - минимальное значение, отправляемое на регули, чтобы дать им понять, что они подключены к контроллеру (канальный импульс присутствует), но находятся в режиме “стоп мотор” (газ на нуле).
Вы сами себе противоречите.
Я не противоречу себе, просто вы не поняли главного, либо не дочитали. После подключения питания на коптер, движки должны запускаться только после того как стик газа пересечет минтротл от нуля в сторону повышения, те когда вы сознательно прибаляете газ с полного минимума и переходите стиком через точку запуска. Положение стика в момент включения электропитания должно игнориться до тех пор, пока газ не побывает в “нуле” кстати такой алгоритм присутствует непосредственно во многих регулях. Это правило безопасности, позволяющее остаться при целых руках и пальцах при подключении к модели батареи. иначе есть риск получить гору фарша еще дО того как успеешь сообразить, что газ то не убавлен!
мы с вами говорим о разных вещах:
Не исключаю.
как данный метод арминга может гарантировать безопасность?
я токо что уточнил что я имею ввиду, предыдущему оратору.
Что если вы уже случайно сделали первую часть арминга (посетили газом ноль)
вероятность события сразу двух случайностей подряд очень сильно снижает риск. разумеется если сидеть на стике и одновременно ковырять провода это не решит проблемы.
А здесь неправильное трактование (и перевод, собсно).
Переведите правильнее. смысл не уйдет далеко.
Положение стика в момент включения электропитания должно игнориться до тех пор, пока газ не побывает в “нуле”
Так оно и игнорится. Мы точно про мультивий тут с вами разговариваем? Положение стика в момент включения питания вообще в расчёт не принимается. Арм делается стиком, и делается он так: стик газа в минимум (!) - этот минимум должен быть меньше, чем MINTHROTTLE, и YAW максимально вправо. Именно после этого - движки начинают крутиться на холостых оборотах. Так чтобы они начали крутиться - надо газ-то полюбому вниз опустить. Есть ещё арм выключателем - ну, тут я логикой не интересовался, однако уверен, что если попытаться заармить коптер выключателем когда газ в максимуме - арм не произойдёт.
А вторая переменная, как раз то, про что я говорил чуть выше - минимальное значение, отправляемое на регули, чтобы дать им понять, что они подключены к контроллеру (канальный импульс присутствует)
Я так понимаю что другими словами, но смысл примерно тот же. не очень много меняется от этого. Я лишь хотел обратить внимание на то, что про Mincommand забывать не надо и при значении указанном в этом параметре некоторые регули могут запросто поехать …
Самое главное в обоих случаях это зависимость от конкретных регулей. И что эти значения нужно брать не с потолка и врядли возможно из готового “справочника”.
Так оно и игнорится.
А я про что? Мне только не ясным стало как так получилось, что человек себе порезал руки слегка. Вернее в принципе как раз понятно что MINTROTLE оказался сильно выше чем нужно было, остальное уже рассуждения около темы.
Так чтобы они начали крутиться - надо газ-то полюбому вниз опустить.
Ну правильно. Для чего это именно так я и пытался вкратце порассказать.
Переведите правильнее. смысл не уйдет далеко.
Олег, ну чесслово, перевел же выше 😃 Кратко и вроде ёмко.
А по армингу. Давайте взвесим вероятности отрубания пальцев на высокой скорости вращения пропов коптера:
Текущий арминг “по Мультивию”:
- Стик YAW Вправо
- Стик THROTTLE Вниз. Моторы крутятся (если это было сделано случайно - то реакция человека - алярм!)
- Стик THROTTLE в диаметрально противоположном направлении - Максимум (резкий взлёт с отрубанием членов)
Ваш вариант:
- Стик THROTTLE вниз. Тишина.
- Стик THROTTLE вверх. Взлёт и отрубание членов без предупреждения.
А я про что? Мне только не ясным стало как так получилось, что человек себе порезал руки слегка. Вернее в принципе как раз понятно что MINTROTLE оказался сильно выше чем нужно было, остальное уже рассуждения около темы.
Да, похоже высокий MINTHROTTLE, и, как сказал Егор, возможно неправильно откалиброваны регули.
Задумался тут - а что если первая проверка коптера была бы не в комнате, а на улице? 😉 Досадно было бы увидеть свой первый коптер, улетающий на холостых в небо 😄
Мне только не ясным стало как так получилось, что человек себе порезал руки слегка. Вернее в принципе как раз понятно что MINTROTLE оказался сильно выше чем нужно было, остальное уже рассуждения около темы.
Я думаю у меня наложилось MINTROTLE на криво сделанную калибровку … в итоге после прибавления газа чутка он стартанул как минимум на 1 регуле в полную и поэтому крен на правый бок с переворотом и зацепил мне руку … Надо быть аккуратнее, тем более на новых контроллерах, где есть свои тонкости …
p/s остался вопрос где брать это MINTROTLE. Например у меня сейчас плюши 30ки, пока не шитые, лень было … но потом перешью на BLHeli … и вот этот MINTROTLE изменится насколько я понимаю … его методом тыка настраивать без пропов?
Ваш вариант: 1. Стик THROTTLE вниз. Тишина. 2. Стик THROTTLE вверх. Взлёт и отрубание членов без предупреждения.
Боюсь что это уже перебор )))
Мой “вариант” лишь о том что случайного пуска не должно быть.
А пункт 2 это уж совсем не был предусмотрен. ибо я не предлогаю делать Педаль в пол ))))) и запуск при арминге на самых малых оборотах это как раз вполне логично обьяснимый алгоритм действия.
Мы тут расходимся в главном, вы пишете о том как делается, а я почему так должно быть. “об однОм мясе спорите…”(с)Chappi
Я думаю у меня наложилось MINTROTLE на криво сделанную калибровку
“Смешались в кучу, кони люди…”
MINTROTLE видимо оказался по значению заметно выше чем нужно, и тяги хватило для того чтобы не усидеть на месте. А калибровка видимо добавила хаоса со своей стороны.
Есть ещё арм выключателем - ну, тут я логикой не интересовался, однако уверен, что если попытаться заармить коптер выключателем когда газ в максимуме - арм не произойдёт.
так и есть
я как то на оф. форуме уже предлагал главному разработчику АлексуВпариже вообще нафиГ выкосить дефайн MOTOR_STOP. На что он ответил: “давай пожалеем психику самолетчикоФ”, ибо им трудно понять с ходу 😃
Все верно сверху писали. Холостые обототы нужны:
- По причине ТБ. Это индикатор! Все просто, машина заведена - мотор работает. Сколько раз присаживаясь к коптеру, после дизарма, задевал стик газа одеждой, т.к. пульт висит на шее на ремне и присажваясь оказывается между коленями и животом. Страшно подумать, когда нагибаясь к коптеру, он полетит вам в лицо…
- Моторы ни в коем случае не должны глохнуть в воздухе. На перезапуск может потребоваться сотни миллисекунд, а если коптер в активном/быстром снижении/падении, то поток воздуха через проходящий винт создает доп. сопротивление и мотор вообще может не стартонуть… Для тех кто не верит. Простой тест, так сказать демо стабилизации, которое я так любил с годик назад… Поднимаем коптер на метров 30, газ в ноль, падаем… на высоте метров 10 газ в пол, выходим в стаб… Так вот! один раз я вошел лучом в асфальт, потому что перекалибровал регули и не проверил холостые обороты. Точнее они были, но слабые… В итоге поток воздуха при падении не дал мне взвести движки… Мой кореш с арду контроллером, сторонник остановки движков на мин газу, тоже спорил и утверждал, что эффект остановки не влияет на арминг… Итог: повторил мой опыт (воткнулся в землю) на одном из демо стабилизации, т.е. падаение с выравниванием…
Так что, спасибо что напомнили! 😃
В своей след-й версии прошивки удалю MOTOR_STOP, от греха подальше и не только сам дефайн, но и логику его обработки выкошу, чеб соблазна небыло…
Сколько раз присаживаясь к коптеру, после дизарма, задевал стик газа одеждой, т.к. пульт висит на шее на ремне и присажваясь оказывается между коленями и животом.
И каков вердикт? я так понимаю что первый после включения пуск и останов в последствии это вещи совсем разные.
Я так полагаю, если контроллер активен, моторы полностью останавливаться не должны. если неактивен то могут быть выключены до тех пор пока не будет переведен в активный режим. А насчет MOTOR_STOP эта фича не для сохранности аппарата задумана, каждый сам может решить касается ли его безопасность окружающих. )) В России это точно прокатит…
- Моторы ни в коем случае не должны глохнуть в воздухе.
100500 - “Глушить нельзя, не заведешь!”(с)Какое то кино
всеж понятно вроде и вердикт понятен так же… а спорить далее зачем, если вы сами себе противоречите… ))
В том и дело что ни кто не спорит.
“Один говорит, куда хотим туда едем и можем, куда надо, свернуть!
Другой говорит, что поезд проедет, лишь там, где проложен путь…”
Если говорить о том что моторы не должны глохнуть во время штатного полета то да, - 100% так и есть. не должны!
Но если необходимо остановить пропеллеры, то они должны быть остановлены.
Просто так это не должно происходить, не должно ни чего глохнуть от движения стика. Не должно быть такого чтобы убавил газу и заглох. Это точно ни кому не нужно.
Но если, совсем случайно, посреди полета рядом появится толпа пионэров? Что делать? Рубить галстуки? Я пока наблюдаю такую картину, что не менее половины полетов происходят прямо в населенных пунктах и пока не видно ни каких предпосылок к переменам.
Откуда “спор” в принципе понятно. можно не продолжать. Motor_stop как затею нужно иметь, но управлять остановкой моторов на коптере желательно бы НЕ стиком газа. При такой постановке вопроса “спора” не будет, надеюсь?
Не знаю, мне наоборот удобнее чтобы в случае чего убрал газ в ноль, и моторы встали. В полете газ случайно убрать в ноль, это умудриться надо. А если видно что коптер летит/падает не туда, куда проще при касании с землей газ сброить, и пропы и моторы целее.
В своей след-й версии прошивки удалю MOTOR_STOP, от греха подальше и не только сам дефайн, но и логику его обработки выкошу, чеб соблазна небыло…
Лучше сделайте авто-дизарм, например через 30 секунд простоя (во многих “больших” контроллерах вроде давно уже есть).
Доброго времени суток господа.
Заимел я AIOP V2.0 как я понимаю версия платы и прошивка там 2.0
Есть у меня пара вопросов:
(перелопачивать 192 страницы - 😵)
Вопрос 1:
Поддерживает ли базовая прошивка подключение GPS ? если да, то к какому каналу.
Вопрос 2:
Прошивку как я понимаю заливать только через программатор? Или всё же есть возможность через бутлоадер запилить ?
Мне нет необходимости подключать тонну сторонних датчиков через другие интерфейсы, мне просто нужна базовая функция удержания позиции и в случае чего вернуться в стартовую точку.
p.s. программист, работаю с железом, МК,ПЛИС,ДСП, программатора у меня авр нет 😍 , почему задаю такие вопросы, открыл config.h и увидел что там всё закоменчено, посему решил спросить уже ковырявшихся, может кто сам наковырялся и истинну ведает 😒