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

alexeykozin
alekseii:

Логи пока не записывал и не скачивал

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

alekseii:

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

о, а мы советовали понижать yaw rate p - это как раз и есть настройка “вялости или резвости реакции по яву” чем больше тем резвее
на мой взгляд использовать внешний гиро на балку - лишнее, чувствительность внешнего гиро пришлось понизить именно поэтому что у вас работает и встроенный в ардукоптер контроллер стабилищзации по яву и внешний

alekseii

Верт в машине, в гараже, на днях (надеюсь) принесу его домой и тогда скачаю логи.
А по поводу yaw rate p - буду пробовать дальше, спасибо !

usup
minii:

Коптеры и улетят от тримов в автоматическом режиме, потому что аппа передает по каналу не 0, а значение трима

так вот я и удивился что у меня висит на месте,хотя тример перекручен почти на половину,видимо не все еще про апм мы знаем))

Glyuks

Подскажите, как отключить встроенный компас в 2.6! В mission planer в instal setup переключаю на внешний, делаю калибровку (удачно), а в окне телеметрии данные всё равно идут со встроенного и пишет “bad compas healt”
п.с. Внешний компас снимал со стойки и крутил отдельно

BossTon

Подскажите, как отключить встроенный компас в 2.6!

Он отключается физически…путем перерезания дорожки.
External compass apm
или на русском Внешний компас
Кстати, а уже реализована функция использования двух компасов?

minii
usup:

так вот я и удивился что у меня висит на месте,хотя тример перекручен почти на половину,видимо не все еще про апм мы знаем))

По-умолчанию значение канала 0 соответствует импульсу шириной 1500 mcs. Один канал передается одним импульсом, поэтому сделать вывод о том, что в этом импульсе трим, что - наклон стика, что - погрешность резистора в стике или АЦП в аппе нельзя. Если крутить трим, то ширина импульса меняется точно так же, как если наклонять стик. Поэтому на триммерах даже летать можно, вместо стиков.

В аппах, равно как и в контроллерах, бывает возможность назначения нуля на импульс другой ширины. Например, если контроллер считает, что 0 это 1600, то и аппа на 0 должна выдавать 1600 (этого можно добиться и тримами).
Кроме того, есть погрешности во всей схеме, а так же плохо откалиброванная аппа, которая вместо 1500 на ноль выдает, скажем, 1400. И вместо калибровки (или чтобы компенсировать работу схемы) кто-то может это тримом исправить.

По-другому:
значение канала = отклонение стика + трим + погрешности железа + погрешности софта + калибровка + ручная подстройка нуля - разница в понимании нуля аппой и контроллером
По радио передается ТОЛЬКО значение канала, и больше ничего. Изменение ЛЮБОЙ из этих величин изменяет “значение канала”, что контроллером воспринимается именно так - изменилось значение канала.

zatorax
minii:

Коптеры и улетят от тримов в автоматическом режиме, потому что аппа передает по каналу не 0, а значение трима. Контроллер не может различить, трим это или отклонение стика. Нет у него глаз.

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

minii:

По-другому:
значение канала = отклонение стика + трим + погрешности железа + погрешности софта + калибровка + ручная подстройка нуля - разница в понимании нуля аппой и контроллером
По радио передается ТОЛЬКО значение канала, и больше ничего. Изменение ЛЮБОЙ из этих величин изменяет “значение канала”, что контроллером воспринимается именно так - изменилось значение канала.

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

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

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