А давайте обсудим Arducopter - APM

Glyuks

Статьи перечитал. Дорожка перерезана. Тестером проверил - не звонится, а встроенный продолжает работать. Куда тыкнуться?

zatorax
Glyuks:

Статьи перечитал. Дорожка перерезана. Тестером проверил - не звонится, а встроенный продолжает работать. Куда тыкнуться?

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

minii
zatorax:

Если пульт будет выключен то аппа вообще ничего передавать не будет, коптер упадет сразу? Нет. Глаза есть у него чтобы отличить ветер от моей руки, которая сбивает коптер с курса или с точки баражирования? Тоже нет. Так о чем мы говорим сейчас?

и тут важно понимать, что летать в ручном режиме это одно, а летать в автоматическом совсем другое и как только придет понимание этого, то коптер сразу перестанет улетать в режиме loiter как у меня или usup, хотя… можно и не понимать, а коптер все равно никуда улетать не будет.

Я не очень понял, о чем вы говорите сейчас, но если аппы нет, то

  1. у вас либо FS в приемнике, и он передает то, что вы ему настроили - AP при этом ничего не отличает, что у вас в руках
  2. либо у вас FS в AP настроен и он делает то, что вы же ему прямо сказали при настройке

Ветер, это вам нужно учесть, не вносит изменения в сигнал канала. Поэтому если у вас по каналам управления креном нет, то AP и будет крен компенсировать. А так же и снос - если сказано висеть на месте, а управления нет - то и будет висеть. Однако, если вы триммером поиграете, то исправите сигнал канала. А, уж устал повторять, по сигналу нельзя отличить, что именно привело к его изменению. И не важно, в ручном вы режиме или нет. Если сказано - крен вправо (триммером или стиком или чем указано выше еще), то это - вправо. И в ручном режиме это будет вправо, и в автоматическом (кроме brake разве что).

Возьмите свой коптер в loiter, а потом покрутите триммер. Если коптер его игнорирует, значит триммер аппа сама не учитывает в канале, т.е. вообще его не прибавляет к сигналу и никак он на управление не влияет (на многих аппах это легко настраивается именно потому, что для коптеров и вертолетов это не нужно). Если при этом в ручном режиме у вас триммер работает как управление, то опять же, это в аппе так настроено (для разных режимов по-разному трим учитывать).
Еще напомню, что для некоторых режимов AP принудительно устанавливает большой интервал для значения канала, который игнорируется (типа, пока стик на половину не наклоните, ничего не будет). Надеюсь понятно, что если трим у вас этот интервал превысить не может, то и управлять он не будет.

Fumo
usup:

судя по материалу подвеса

Эх… Всем бы так уметь по фото определять материал и его эластичность. 😒

zatorax
minii:

Я не очень понял, о чем вы говорите сейчас, но если аппы нет, то

  1. у вас либо FS в приемнике, и он передает то, что вы ему настроили - AP при этом ничего не отличает, что у вас в руках
  2. либо у вас FS в AP настроен и он делает то, что вы же ему прямо сказали при настройке

Ветер, это вам нужно учесть, не вносит изменения в сигнал канала. Поэтому если у вас по каналам управления креном нет, то AP и будет крен компенсировать. А так же и снос - если сказано висеть на месте, а управления нет - то и будет висеть. Однако, если вы триммером поиграете, то исправите сигнал канала. А, уж устал повторять, по сигналу нельзя отличить, что именно привело к его изменению. И не важно, в ручном вы режиме или нет. Если сказано - крен вправо (триммером или стиком или чем указано выше еще), то это - вправо. И в ручном режиме это будет вправо, и в автоматическом (кроме brake разве что).

Возьмите свой коптер в loiter, а потом покрутите триммер. Если коптер его игнорирует, значит триммер аппа сама не учитывает в канале, т.е. вообще его не прибавляет к сигналу и никак он на управление не влияет (на многих аппах это легко настраивается именно потому, что для коптеров и вертолетов это не нужно). Если при этом в ручном режиме у вас триммер работает как управление, то опять же, это в аппе так настроено (для разных режимов по-разному трим учитывать).
Еще напомню, что для некоторых режимов AP принудительно устанавливает большой интервал для значения канала, который игнорируется (типа, пока стик на половину не наклоните, ничего не будет). Надеюсь понятно, что если трим у вас этот интервал превысить не может, то и управлять он не будет.

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

Glyuks

Ещё вопросик, bad compass health почему горит? Компас калибруется, видится
И не должен ли прям под перемычкой стоять встроенный компас? О_о

zatorax
Glyuks:

Ещё вопросик, bad compass health почему горит? Компас калибруется, видится

Потому что контроллер так не считает. Перепроверьте все в MP, корректно ли выбрано оборудование в контроллере?

minii
zatorax:

Кажется я понял в чем проблема. Похоже что вы просто не понимаете зачем нужен трим.
Расскажу в кратце.

Точно, именно за этим трим и нужен. Если вы почитаете, о чем все-таки идет речь, то можете увидеть, что вопрос про правомерность использования трима в авторежимах.
Так вот, в ручном режиме все хорошо, и так можно делать. Потому что это именно и есть что постоянное отклонение стика, чтобы компенсировать погрешности (!) в механике или настройке.
Но в авторежимах, где стабилизацией крена занимается AP, это будет СИГНАЛ УПРАВЛЕНИЯ, а не стабилизация крена: крена и так уже нет, потому что его AP убрал (в отличие от ручного режима, где вы сами его будете убирать).

usup
Fumo:

Эх… Всем бы так уметь по фото определять материал и его эластичность.

Дмитрий,а что тут определять это обычный силикон,его эластичности не достаточно чтоб гасить вибрации на плате с таким маленьким весом,да и этот широкий шлейф идущий к этой платке будет все вибрацию передавать,посмотрите как это сделано в назе.или вы это так,просто,чтоб докапаться?))

zatorax
minii:

Но в авторежимах, где стабилизацией крена занимается AP, это будет СИГНАЛ УПРАВЛЕНИЯ, а не стабилизация крена: крена и так уже нет, потому что его AP убрал (в отличие от ручного режима, где вы сами его будете убирать).

А… так вот где собака то порылась. Вы ошибочно полагаете, что в режиме стабилизации у вас каким то чудом аппарат станет идеальным, т.е. его уже не надо будет поддерживать в горизонтальном положении. Ну так вот, это не так.
Что в автоматическом режиме, что не в автоматическом, абсолютно все равно в каком, с пультом, без пульта, у вас все равно будет какое отклонение, крен, дифферент никуда не денется. И либо вы устраняете его механически, что возможно, но сложно, либо логически. Логически вы можете устранить кривизну коптера посылая сигнал с пульта, тримом или стиком, если это не будет делать пульт, это будет делать контроллер, если у него есть таковые указания.
Т.е. если для того чтобы держать коптер горизонтально надо подать на левый передний двигатель +50, то это делаете либо вы сами, тримом или стиком, либо это делает контроллер. Но +50 все равно двигатель получит и не важно автоматический это режим или ручной.
Так же, ставлю вас в известность, что если вы подали +50 тримом, 1550 левый(из за отклонения), 1500 правый), то при переходе в режим, скажем, RTL, контроллер подаст -50 на оба двигателя и мы получим 1500 и 1450 соответственно.
Алсо, представим ситуацию что аппа отключена и сигнал управления не поступает, т.е. контроллер не получает команду +50 на левый передний, что начнет делать коптер? Правильно, он начнет сбиваться с курса, что начнет делать контроллер? Правильно, подавать сигналы на мотор чтобы вернуться на этот самый курс. Только теперь это будет +50 не от пульта, а +50 от контроллера и мы получим те же 1550 левый и 1500 правый.
Вот так вот все это и работает. Как ни крути, на ESC в любом случае приходит сигнал управления. Вот и вся магия. Поэтому с тримом в режиме loitrer коптер висит на месте. Без трима тоже висит, с включенной аппой или выключеной все равно висит. Потому что регуль получает свои +50 и по винту от чего.

minii

Вы вот много говорите о том, что я ошибочно… А зря.
Попытаюсь вам объяснить еще по-другому. Попробуйте тоже, со своей стороны, вчитаться вдумчиво.
Допустим, что коптер и аппа знают, что центр (т.е. ноль) это 1500, и все нормально откалибровано (про мертвую зону в районе нуля все ясно и так).
В ручном режиме, допустим, коптер имеет крен при 1500 и его немного сносит.
В режиме удержания позиции (loiter) коптер при 1500 с аппы висит на месте. Если дунет ветер, то понятно, что AP сам это скомпенсирует (аппа так и продолжает выдавать 1500, надеюсь, это понятно) и все равно останется на месте.
Все верно пока?

Теперь в ручном режиме мы выясняем, что при сигнале 1600 крен пропадает.
Внимание, вопрос. Что будет в удержании позиции, если аппа начнет выдавать 1600?
Надеюсь вы согласитесь, что если AP видит, что вы выдаете не 0, то надо лететь? И коптер полетит (кстати, в сторону, противоположную крену в ручном режиме, в нашем случае).
Здесь тоже верно, или вы не согласны? Что по-вашему коптер будет делать?

Допустим, вы пока не нашли ошибки в рассуждениях.
Тогда я скажу, что 1600 на канале можно установить стиком, а можно тримом. Как вы считаете, если 1600 приходит с аппы, но установлено в аппе тримом, а не стиком, будет ли отличаться поведение коптера?

zatorax
minii:

Вы вот много говорите о том, что я ошибочно… А зря.
Попытаюсь вам объяснить еще по-другому. Попробуйте тоже, со своей стороны, вчитаться вдумчиво.
Допустим, что коптер и аппа знают, что центр (т.е. ноль) это 1500, и все нормально откалибровано (про мертвую зону в районе нуля все ясно и так).
В ручном режиме, допустим, коптер имеет крен при 1500 и его немного сносит.
В режиме удержания позиции (loiter) коптер при 1500 с аппы висит на месте. Если дунет ветер, то понятно, что AP сам это скомпенсирует (аппа так и продолжает выдавать 1500, надеюсь, это понятно) и все равно останется на месте.
Все верно пока?

Теперь в ручном режиме мы выясняем, что при сигнале 1600 крен пропадает.
Внимание, вопрос. Что будет в удержании позиции, если аппа начнет выдавать 1600?
Надеюсь вы согласитесь, что если AP видит, что вы выдаете не 0, то надо лететь? И коптер полетит (кстати, в сторону, противоположную крену в ручном режиме, в нашем случае).
Здесь тоже верно, или вы не согласны? Что по-вашему коптер будет делать?

Допустим, вы пока не нашли ошибки в рассуждениях.
Тогда я скажу, что 1600 на канале можно установить стиком, а можно тримом. Как вы считаете, если 1600 приходит с аппы, но установлено в аппе тримом, а не стиком, будет ли отличаться поведение коптера?

Вот об этом то я вам и толкую. Похоже вы вообще не понимаете как осуществляется управление контроллером. Ни аппа, ни тем более коптер вообще не знают что там вы считаете нулем. Как вы метко подметили у коптера глаз нет. Но они есть у вас, нуль выставляете вы. И это никакие не 1500, вернее, это не обязательно 1500 и уж точно не 1500 если при этих значениях у вас коптер куда то летит. Где будет нуль выбираете вы сами, а не коптер. Если нуль у нас 1600, чтобы коптер никуда не летел, значит вы тримом высталяете 1600 и коптер никуда не летит. И не будет никогда по другому, по крайней мере на практике. Поэтому в начальной настройке мы калибруем аппу, поэтому в начальной настройке мы калибруем ESC, чтобы они знали какой уровень сигнала принимать, я подчеркну, принимать за крайние значения.
Далее, если в ручном режиме при 1500 у нас коптер имеет крен и он куда то летит, то в режиме loiter при 1500 с аппы у нас коптер висит на месте только лишь по тому, что у нас на ESC подается не 1500, а 1500+100 с контроллера, который понимает что он куда то летит и принимает решение компенсировать момент добавив 100 единиц на какие то из двигателей.

Теперь в ручном режиме мы делаем тоже самое, тримируем 1500+100 и получаем те же 1600 и коптер никуда не летит.
Внимание ответ. В режиме loiter на двигатели будут поступать не 1500 с аппы +100 с контроллера, а 1600 с аппы и коптер снова никуда не полетит!)

Еще раз объясню как работает эта штука. У нас есть четыре двигателя на которые надо, в силу того что механически бпла не идеален, надо подавать разные уровни сигнала, не
1500 1500

1500 1500

а, скажем
1550 1500

1450 1300

это тот уровень сигналов на ESC которые позволяют коптеру никуда не лететь. Контроллер, как вы замечали глаз не имеет, он ничего не видит. Он просто подает сигналы, а вы уж смотрите насколько эти сигналы согласуются с объективной реальностью и принимайте соответствующие решения.

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

ufk

Я на арду всю жисть использовал сейв трим, и вроде проблем в авторежимах небыло, тоесть взлетаем,тримируем с аппы чтоб висел идеально, делаем сейв трим, сбрасываем тримы аппы и вуаля, летаем и наслаждаемся до тех пор пока не сбросим настройки контролера или что то не измениться…
То есть это типа неправильно и в авторежимах оно может улететь куда то, тогда логичный вопрос, если эта логика не работает зачем ее сделали в арду(и почему у меня небыло проблем с аторежимами, чтоб оно там куда то дрейфовало\летело и т.д.)?

zatorax
ufk:

Я на арду всю жисть использовал сейв трим, и вроде проблем в авторежимах небыло, тоесть взлетаем,тримируем с аппы чтоб висел идеально, делаем сейв трим, сбрасываем тримы аппы и вуаля…
То есть это типа неправильно и в авторежимах оно может улететь куда то, тогда логичный вопрос, если эта логика не работает зачем ее сделали в арду(и почему у меня небыло проблем с аторежимами, чтоб оно там куда то дрейфовало\летело и т.д.)?

Именно так. Словами minii командой Save trim мы выставляем в контроллере эти самые “нули”. Но я из лиги лени, один раз затримил и забыл. Какое мне вообще дело сам контроллер эти значение сохранил или пульт.

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

ufk
zatorax:

один раз затримил и забыл

Ну так оно так и есть, делаешь один раз и летаешь.

macrokernel
ufk:

Я на арду всю жисть использовал сейв трим, и вроде проблем в авторежимах небыло, тоесть взлетаем,тримируем с аппы чтоб висел идеально, делаем сейв трим, сбрасываем тримы аппы и вуаля, летаем и наслаждаемся до тех пор пока не сбросим настройки контролера или что то не измениться…
То есть это типа неправильно и в авторежимах оно может улететь куда то, тогда логичный вопрос, если эта логика не работает зачем ее сделали в арду(и почему у меня небыло проблем с аторежимами, чтоб оно там куда то дрейфовало\летело и т.д.)?

Изначальный вопрос был не про save trim, а про тримы на аппе. То есть настроили триммы на аппе, и не сделали save trim, и не вернули тримы на аппе в ноль.

zatorax
macrokernel:

Изначальный вопрос был не про save trim, а про тримы на аппе. То есть настроили триммы на аппе, и не сделали save trim, и не вернули тримы на аппе в ноль.

и это ничего не поменяло

macrokernel
zatorax:

и это ничего не поменяло

Это я к тому, что

ufk:

если эта логика не работает зачем ее сделали в арду(и почему у меня небыло проблем с аторежимами, чтоб оно там куда то дрейфовало\летело и т.д.)?

minii

Если вы говорите про savetrim, то надо понимать, что делает эта функция.
Кстати, такая функция может быть

  1. в контроллере

  2. в аппе
    И работают они по-разному.

  3. если savetrim в контроллере.
    По savetrim контроллер (именно AP, в других м.б. по-другому): берет то, что вы ему показали в тестовом полете в качестве висения. Например, 1600, и запоминает, что это то, что надо выдавать на двигатели в следующий раз, когда вы будет с аппы передавать 0 (это 1500)! Обратите внимание, что по описанию AP после настройки savetrim НАДО СБРОСИТЬ ТРИМЫ В АППЕ! И все будет летать нормально, потому что вы сбросили тримы (т.е. у вас их нет, и вопрос про использование тримов в авторежимах бессмысленен - тримов нет!).

  4. если savetrim в аппе.
    По savetrim аппа запоминает, что то, что она выдает сейчас, надо выдавать при среднем положении стиков. При этом, она одновременно сбрасывает внутренние значения тримов в 0. При этом, в среднем положении она, например, будет выдавать 1600. Но по стандарту 0 это 1500, и если вы контроллер не настроили, что 0 это 1600, то он воспринимает 1600 как +100, а не 0

Возвращаемся к вопросу: можно ли использовать тримы в ручном режиме, не испортит ли это авторежимы?
Ответ: если вы делаете savetrim в контроллере (со сбросом тримов потом), то ДА, ведь тримов у вас нет.
Если вы не используете savetrim в контроллере и он у вас настроен по-умолчанию (т.е. 1500 - это “0”), то 1600, которые выдает аппа - для контроллера это +100. Т.е. авторежимы будут подпорчены.

Если не использовать savetrim, то тримы использовать так же нельзя.

macrokernel

Мне это всё понятно. Я напомнил, в чём был изначально вопрос, т.к. обсуждение ушло слегка в сторону, по-моему:

usup:

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