MultiWii

dROb

Насколько я начинаю понимать, мы с вами говорим о разных вещах: я - о том, как есть и должно быть сейчас в Multiwii, а Вы о том, как должно быть по-правильному? Или, данный метод арминга, указанный вами ниже, уже есть в Мультивие? может я что-то упустил…

Probelzaelo:

При включении питания или при арминге моторы должны стоять! НЕЗАВИСИМО от положения стика газа. Для пуска моторов, нужно “газом” посетить ноль, и потом пойти вверх и пересечь значение MINTHROTTLE. С таким алгоритмом проблема номер один пропадает автоматом.

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

Probelzaelo:

При уже работающих моторах газ вполне может быть и ниже, но моторы при этом совсем не обязательно должны выключаться. снимать с регулей канальный импульс сразу после MINTHROTTLE ни кто не заставляет. Но снимать его надо! и снимать обязательно одновременно со всех, не дожидаясь того момента когда регули сами начнут отрубаться по одному… а они сами никогда не отрубятся одновременно благодаря элементарному разбросу во внутренних параметрах процессоров регулей они работают как правило на не кварцованных частотах калибровать их врядли кому то приходило в голову… Думаю что не нужно обьяснять ни кому что получится если моторы будут останавливаться в разнобой…

Мне кажется вы неверно понимаете логику работы регулей. Регули, по мере снижения импульса ниже определённого значения, остановят движки, а после повышения - запустят снова. Отсутствие же канального импульса вообще - равносильно для большинства регулей потере сигнала, или неподключенности к приемнику/контроллеру (большинство регулей начнут попикивать). Мультивий всегда отправляет некий импульс на все движки (в разармленом состоянии в т.ч.), а при арминге увеличивает сигнал до MINTHROTTLE.

Probelzaelo:

Задумка описана в комментарии 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 */

Тот минимум который “висит” на регулях пока коптер в состоянии “дизармед”.

Про него тоже нельзя забывать.

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

Probelzaelo
gorbln:

Вы сами себе противоречите.

Я не противоречу себе, просто вы не поняли главного, либо не дочитали. После подключения питания на коптер, движки должны запускаться только после того как стик газа пересечет минтротл от нуля в сторону повышения, те когда вы сознательно прибаляете газ с полного минимума и переходите стиком через точку запуска. Положение стика в момент включения электропитания должно игнориться до тех пор, пока газ не побывает в “нуле” кстати такой алгоритм присутствует непосредственно во многих регулях. Это правило безопасности, позволяющее остаться при целых руках и пальцах при подключении к модели батареи. иначе есть риск получить гору фарша еще дО того как успеешь сообразить, что газ то не убавлен!

dROb:

мы с вами говорим о разных вещах:

Не исключаю.

dROb:

как данный метод арминга может гарантировать безопасность?

я токо что уточнил что я имею ввиду, предыдущему оратору.

dROb:

Что если вы уже случайно сделали первую часть арминга (посетили газом ноль)

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

dROb:

А здесь неправильное трактование (и перевод, собсно).

Переведите правильнее. смысл не уйдет далеко.

gorbln
Probelzaelo:

Положение стика в момент включения электропитания должно игнориться до тех пор, пока газ не побывает в “нуле”

Так оно и игнорится. Мы точно про мультивий тут с вами разговариваем? Положение стика в момент включения питания вообще в расчёт не принимается. Арм делается стиком, и делается он так: стик газа в минимум (!) - этот минимум должен быть меньше, чем MINTHROTTLE, и YAW максимально вправо. Именно после этого - движки начинают крутиться на холостых оборотах. Так чтобы они начали крутиться - надо газ-то полюбому вниз опустить. Есть ещё арм выключателем - ну, тут я логикой не интересовался, однако уверен, что если попытаться заармить коптер выключателем когда газ в максимуме - арм не произойдёт.

Probelzaelo
dROb:

А вторая переменная, как раз то, про что я говорил чуть выше - минимальное значение, отправляемое на регули, чтобы дать им понять, что они подключены к контроллеру (канальный импульс присутствует)

Я так понимаю что другими словами, но смысл примерно тот же. не очень много меняется от этого. Я лишь хотел обратить внимание на то, что про Mincommand забывать не надо и при значении указанном в этом параметре некоторые регули могут запросто поехать …

Самое главное в обоих случаях это зависимость от конкретных регулей. И что эти значения нужно брать не с потолка и врядли возможно из готового “справочника”.

gorbln:

Так оно и игнорится.

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

gorbln:

Так чтобы они начали крутиться - надо газ-то полюбому вниз опустить.

Ну правильно. Для чего это именно так я и пытался вкратце порассказать.

dROb
Probelzaelo:

Переведите правильнее. смысл не уйдет далеко.

Олег, ну чесслово, перевел же выше 😃 Кратко и вроде ёмко.

А по армингу. Давайте взвесим вероятности отрубания пальцев на высокой скорости вращения пропов коптера:
Текущий арминг “по Мультивию”:

  1. Стик YAW Вправо
  2. Стик THROTTLE Вниз. Моторы крутятся (если это было сделано случайно - то реакция человека - алярм!)
  3. Стик THROTTLE в диаметрально противоположном направлении - Максимум (резкий взлёт с отрубанием членов)

Ваш вариант:

  1. Стик THROTTLE вниз. Тишина.
  2. Стик THROTTLE вверх. Взлёт и отрубание членов без предупреждения.
Probelzaelo:

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

Да, похоже высокий MINTHROTTLE, и, как сказал Егор, возможно неправильно откалиброваны регули.
Задумался тут - а что если первая проверка коптера была бы не в комнате, а на улице? 😉 Досадно было бы увидеть свой первый коптер, улетающий на холостых в небо 😄

chanov
Probelzaelo:

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

Я думаю у меня наложилось MINTROTLE на криво сделанную калибровку … в итоге после прибавления газа чутка он стартанул как минимум на 1 регуле в полную и поэтому крен на правый бок с переворотом и зацепил мне руку … Надо быть аккуратнее, тем более на новых контроллерах, где есть свои тонкости …
p/s остался вопрос где брать это MINTROTLE. Например у меня сейчас плюши 30ки, пока не шитые, лень было … но потом перешью на BLHeli … и вот этот MINTROTLE изменится насколько я понимаю … его методом тыка настраивать без пропов?

Probelzaelo
dROb:

Ваш вариант: 1. Стик THROTTLE вниз. Тишина. 2. Стик THROTTLE вверх. Взлёт и отрубание членов без предупреждения.

Боюсь что это уже перебор )))

Мой “вариант” лишь о том что случайного пуска не должно быть.
А пункт 2 это уж совсем не был предусмотрен. ибо я не предлогаю делать Педаль в пол ))))) и запуск при арминге на самых малых оборотах это как раз вполне логично обьяснимый алгоритм действия.

Мы тут расходимся в главном, вы пишете о том как делается, а я почему так должно быть. “об однОм мясе спорите…”(с)Chappi

chanov:

Я думаю у меня наложилось MINTROTLE на криво сделанную калибровку

“Смешались в кучу, кони люди…”
MINTROTLE видимо оказался по значению заметно выше чем нужно, и тяги хватило для того чтобы не усидеть на месте. А калибровка видимо добавила хаоса со своей стороны.

mahowik
gorbln:

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

так и есть

я как то на оф. форуме уже предлагал главному разработчику АлексуВпариже вообще нафиГ выкосить дефайн MOTOR_STOP. На что он ответил: “давай пожалеем психику самолетчикоФ”, ибо им трудно понять с ходу 😃

Все верно сверху писали. Холостые обототы нужны:

  1. По причине ТБ. Это индикатор! Все просто, машина заведена - мотор работает. Сколько раз присаживаясь к коптеру, после дизарма, задевал стик газа одеждой, т.к. пульт висит на шее на ремне и присажваясь оказывается между коленями и животом. Страшно подумать, когда нагибаясь к коптеру, он полетит вам в лицо…
  2. Моторы ни в коем случае не должны глохнуть в воздухе. На перезапуск может потребоваться сотни миллисекунд, а если коптер в активном/быстром снижении/падении, то поток воздуха через проходящий винт создает доп. сопротивление и мотор вообще может не стартонуть… Для тех кто не верит. Простой тест, так сказать демо стабилизации, которое я так любил с годик назад… Поднимаем коптер на метров 30, газ в ноль, падаем… на высоте метров 10 газ в пол, выходим в стаб… Так вот! один раз я вошел лучом в асфальт, потому что перекалибровал регули и не проверил холостые обороты. Точнее они были, но слабые… В итоге поток воздуха при падении не дал мне взвести движки… Мой кореш с арду контроллером, сторонник остановки движков на мин газу, тоже спорил и утверждал, что эффект остановки не влияет на арминг… Итог: повторил мой опыт (воткнулся в землю) на одном из демо стабилизации, т.е. падаение с выравниванием…

Так что, спасибо что напомнили! 😃
В своей след-й версии прошивки удалю MOTOR_STOP, от греха подальше и не только сам дефайн, но и логику его обработки выкошу, чеб соблазна небыло…

Probelzaelo
mahowik:

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

И каков вердикт? я так понимаю что первый после включения пуск и останов в последствии это вещи совсем разные.
Я так полагаю, если контроллер активен, моторы полностью останавливаться не должны. если неактивен то могут быть выключены до тех пор пока не будет переведен в активный режим. А насчет MOTOR_STOP эта фича не для сохранности аппарата задумана, каждый сам может решить касается ли его безопасность окружающих. )) В России это точно прокатит…

mahowik:
  1. Моторы ни в коем случае не должны глохнуть в воздухе.

100500 - “Глушить нельзя, не заведешь!”(с)Какое то кино

mahowik

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

Probelzaelo

В том и дело что ни кто не спорит.
“Один говорит, куда хотим туда едем и можем, куда надо, свернуть!
Другой говорит, что поезд проедет, лишь там, где проложен путь…”

Если говорить о том что моторы не должны глохнуть во время штатного полета то да, - 100% так и есть. не должны!
Но если необходимо остановить пропеллеры, то они должны быть остановлены.
Просто так это не должно происходить, не должно ни чего глохнуть от движения стика. Не должно быть такого чтобы убавил газу и заглох. Это точно ни кому не нужно.
Но если, совсем случайно, посреди полета рядом появится толпа пионэров? Что делать? Рубить галстуки? Я пока наблюдаю такую картину, что не менее половины полетов происходят прямо в населенных пунктах и пока не видно ни каких предпосылок к переменам.

Откуда “спор” в принципе понятно. можно не продолжать. Motor_stop как затею нужно иметь, но управлять остановкой моторов на коптере желательно бы НЕ стиком газа. При такой постановке вопроса “спора” не будет, надеюсь?

DVE

Не знаю, мне наоборот удобнее чтобы в случае чего убрал газ в ноль, и моторы встали. В полете газ случайно убрать в ноль, это умудриться надо. А если видно что коптер летит/падает не туда, куда проще при касании с землей газ сброить, и пропы и моторы целее.

mahowik:

В своей след-й версии прошивки удалю MOTOR_STOP, от греха подальше и не только сам дефайн, но и логику его обработки выкошу, чеб соблазна небыло…

Лучше сделайте авто-дизарм, например через 30 секунд простоя (во многих “больших” контроллерах вроде давно уже есть).

krant

Доброго времени суток господа.

Заимел я AIOP V2.0 как я понимаю версия платы и прошивка там 2.0

Есть у меня пара вопросов:
(перелопачивать 192 страницы - 😵)
Вопрос 1:
Поддерживает ли базовая прошивка подключение GPS ? если да, то к какому каналу.
Вопрос 2:
Прошивку как я понимаю заливать только через программатор? Или всё же есть возможность через бутлоадер запилить ?

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

p.s. программист, работаю с железом, МК,ПЛИС,ДСП, программатора у меня авр нет 😍 , почему задаю такие вопросы, открыл config.h и увидел что там всё закоменчено, посему решил спросить уже ковырявшихся, может кто сам наковырялся и истинну ведает 😒

gorbln
krant:

Есть у меня пара вопросов:

1 - да, к S2
2 - неправильно понимаете. Это ардуино, там уже есть бутлоадер, прошивка льётся через штатный кабель USB.

в конфиге всё раскомменчено, если у вас выбрана плата. там есть def.h - там копайте.

krant:

работаю с железом, МК,ПЛИС,ДСП, программатора у меня авр нет

Что, к слову весьма странно…

krant
gorbln:

Что, к слову весьма странно…

С avr не срастается, к ардуионо отношусь как к песочнице (никого обидеть не собирался, если нашлись таковые - примите мои извинения), я микрочип люблю, блэкфин, вертекс. В коде честно, не ковырялся, залил на планшет, завтра по пути на работу поковыряю.

Егор, благодарю, вечером сооружу, посмотрю что из этого выйдет.
P.s. Я в мануале толи я не дочитал до def.h, толи прощелкал, а вот config.h прям в глаза бросился и он у меня весь закоменчен (почти все кроме ауксов) 😃

Probelzaelo
krant:

к ардуионо отношусь как к песочнице

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

ctakah
krant:

Доброго времени суток господа.

Заимел я AIOP V2.0 как я понимаю версия платы и прошивка там 2.0

😒

Зачем программатор?? Льется через ардуину как дети в школу по юсб. Есть по джипиэс,прочтите соответсвующуу ветку про криус.Прошивка от Маховика Александра,называется rc 2.У меня все летает и возвращается.

dROb
Probelzaelo:

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

А учитывая количество проектов для Arduino совершенно разного характера, включая, фактически, наши с вами беспилотники, способные, о фантастика, прилетать домой сами!!, критикование Arduino может поставить нас на равне с человеком, который критиковал первую компьютерную мышь, сказав что “устройство бесспорно не будет иметь никакой популярности в мире” 😁

P.S. Сам начинал с PIC, но потом полностью перешёл на AVR, в том числе и из-за Arduino. Сегодня любой мой проект, который раньше занимал день или более, занимает от 1 минуты до часа… И всё это благодаря ардуино

mataor
krant:

а вот config.h прям в глаза бросился и он у меня весь закоменчен (почти все кроме ауксов)

стандартный config.h из архива необходимо настраивать под себя и свой контроллер обязательно. по умолчанию в нем отключено практически все

Probelzaelo
dROb:

учитывая количество проектов для Arduino

Совершенно не понятно почему, всевозможные профи, или гораздо чаще “профи”, не в обиду отдельному числу случайно заблудшихся, настойчиво избегают использования всего “Ардуиновского”. Очень похоже что вся эта неприязнь стала распространяться уже и на голый ATmega.
Ведь точно такое же, по своей сути, железо делают и другие производители контроллеров, вот ими пользоваться ни кому не в лом, потому что там нужно пыхтеть с нуля. Даже для Микрочипа основного конкурента Атмел уже сделали аналог Ардуино на PIC32 контроллере.
Просто некоторые раздувают эту нездоровую вражду среди коллег, очевидно потому что не могут простить разработчикам Ардуино, тех фактов, что разработка достаточно сложных устройств теперь стала доступна широким массам, что теперь практически в считанные дни создать вполне суперпуперское устройсто сможет любой школьник, не имея в своем распоряжении целой лаборатории с кучей приборов, и не привлекая к проекту полсотни бывалых программистов… К таким вот возможностям словно к “детским” проектам пренебрежение, странно. Ведь в эту разработу, а потом в разработку библиотек, и далее горы прикладного ПО с открытым кодом было положено не мало труда и не мало вполне толковых умов. Почему то пользоваться готовыми библиотеками для С ни кто не гнушается, а вот “ардуиновскими”, просто пец как западло. а это ничего что я текст с клавиатуры набираю, а не ввожу кнопочками Адрес+Байт+Запись, Адрес+байт+Запись? Странно что до сих пор отвертку в руки взять не считается великим табу не достойным истинного профи ))
Впрочем ушли от темы.
Анти офтоп - Мультиви это не Ардуино, это совершенно самостоятельное устройство, использующее те же что и у Ардуино контроллеры и некоторые разработанные для Ардуино аппаратные и программные возможности, поэтому позволяющее использовать те же инструменты(ПО) и интерфейсы, при желании разработчика разумеется.
Полагаю я слегка реабилитировал хотя бы Multiwii в глазах настоящих эмбедеров и программеров?

DVE

Ничего плохого в Ардуине нет, разве что среда разработки убогая, да отладки нормальной нет. Для простого проекта пофиг, но делать что-то серьезное - упаси господь 😃 Ни за что бы не хотел иметь Arduino IDE основной средой разработки.

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

Probelzaelo:

Полагаю я слегка реабилитировал хотя бы Multiwii в глазах настоящих эмбедеров и программеров?

Да нет никакой неприязни. Просто попробуйте например Visual Studio или хотя бы Eclipse, чтобы понять какие функции должна иметь нормальная IDE для нормальной работы.