MultiWii
И я задам вопрос, что-то не нашел на форуме похожего.
Коптер - на плате 32U4 (www.hobbyking.com/hobbyking/…/uh_viewItem.asp?idPr…), питается от бэка.
ESC с опторазвязкой (bevrc.com/hobbywing-platinum30apro-26s-electric-sp…), плюсовой провод отсоединен от мозга (может не надо у них плюсовой провод отсоединять? Бэка встроенного все равно нет…).
Проблема: Если запитать все от одной линии(бэк и регули, т.е. питание подается одновременно), то мозг ещё несколько секунд грузится, и когда загружается - регули его уже не видят, т.е они при включении питания пиликают стартовую мелодию, а три пика по количеству банок не следует. После загрузки мозга регули уже не видят сигнал.
Если включить сначала бэк(через балансирный разъем), т.е. мозг, подождать пока загрузится, и потом включить силовой на ESC, то регули пропиликивают как надо и сигнал видят.
И ещё как-то странно ведут себя регуляторы эти, после калибровки какое-то время нормально стартуют при арминге, а потом начинают, к примеру, только два по диагонали или вообще ни одного, стартуют при подаче некоторого газа, т.е. как-будто сбивается калибровка.
Поищите мануал по этим регулям, если их нельзя перепрошить или перенастроить, проще другие купить.
Как вариант, попробуйте поменять параметр 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
Перекалибровал с очисткой еепрома, с MINCOMMAND 900, вроде пока что армятся нормально, осталась проблема загрузки.
Сейчас ещё поэкспериментировал:
- Включаю мозги, жду и включаю моторы (♪ 123 ▬) - все ок.
- Включаю моторы(♪ - - - - и далее -), включаю мозги, мозги загружаются и (123 ▬) все ок
- Включаю одновременно - моторы(♪ и тишина), мозги загружаются и все, моторы не реагируют.
Попробуйте просто перекалибровать все 4 регулятора прямо от приемника.
Подскажите по конфигу.
Хочу на трехпоз. стик повесить три режима:
1 - чтобы был режим полета для новичка
2 - “замирал на месте”
3 - акро (все зависит от пилота)
Какие комбинации чекбоксов для aux надо для этого выставить? Я смотрю, что в 2.2 они поменяли названия.
спасибо
Порылся в закромах и спаял Multiwii из Nano и GY_80 10 DOF (L3G4200D ADXL345 HMC5883L BMP085, LLC) китайской. Собрал трёшку … Подскажите почему при арминге движки запускаются, да ещё с нехилыми оборотами … ковырял уже 3 разных контроллера и вот при арминге запуск увидел только на мультивии.
Проблему усугубляет что движки 1400кв с пропами 8 на 4,5 - рвут как болид формулы 1 =)
Что то тут надо подправить видимо?:
/**************************** 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 */
//#define MINTHROTTLE 1300 // for Turnigy Plush ESCs 10A
//#define MINTHROTTLE 1120 // for Super Simple ESCs 10A
//#define MINTHROTTLE 1064 // special ESC (simonk)
#define MINTHROTTLE 1150
/**************************** Motor maxthrottle *******************************/
/* this is the maximum value for the ESCs at full power, this value can be increased up to 2000 */
#define MAXTHROTTLE 1850
/**************************** 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 */
#define MINCOMMAND 1000
p/s а ход стиков аппы как нибудь калибруется как например на АРМ мозгах? Или тут нет такого?
p/p/s #define MINTHROTTLE 1150 уменьшал до 1050 … таже картина (
Motor_stop ищите
Мне тоже непонятно зачем по умолчанию включено, всегда выключаю.
Motor_stop ищите
Мне тоже непонятно зачем по умолчанию включено, всегда выключаю.
#define MINTHROTTLE 1150 - сделайте поменьше.
А запускаться при арме они должны, и работать после этого постоянно. Сделано это, чтобы моторы не потушились в воздухе (это чревато тем, что для запуска обратно им может понадобиться некоторое время, которое приведет к крашу)
#define MINTHROTTLE 1150 - сделайте поменьше.
А запускаться при арме они должны, и работать после этого постоянно. Сделано это, чтобы моторы не потушились в воздухе (это чревато тем, что для запуска обратно им может понадобиться некоторое время, которое приведет к крашу)
Как то логику не понял … как моторы выключатся? При минимальном газе что ли? Так это нормально … все известные мне контроллеры так работают … ЧуднО как то … или это такой колхозный фэйлсев?
p/s #define MINTHROTTLE 1150 А это в каких попугаях кстати? Обороты в минуту? Тогда 30 поставлю - самое оно =)
//#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 оказался сильно выше чем нужно было, остальное уже рассуждения около темы.
Так чтобы они начали крутиться - надо газ-то полюбому вниз опустить.
Ну правильно. Для чего это именно так я и пытался вкратце порассказать.