Вопросы новичка

rc468
Илья_И:

Сборка трикоптера с разным диаметром винтов и со смещенным центром тяжести,возможно?

а смысл?
летать может и будет, но точно не хорошо.

gosha57
Илья_И:

Какие последствия?

Коптер летит туда, куда наклонена плоскость пропов (сумма векторов тяги -минус вектор ЦТ веса). Эт , конечно, “упрощённая” модель, многое (например, противодействие вращению пропа, например) не учитывающая, но воображение вполне справляется. 😁
Ту же платформу на трёх поп-лавках представьте : два маленьких - один большой. Поставьте груз ближе-дальше, левее… Задний проп более инерционный - медленнее реагирует на команды мозга. Для оч больших винтов будет сказываться ещё и гироскопический эффект на большинских скоростях винта - серве будет труднее его “ворочить”.
Пробуйте -
… Нам не дано предугадать,
с чего наш коп вдруг
нашкабнётся !
” (Некий поэт)😒

rc468
gosha57:

Задний проп более инерционный - медленнее реагирует на команды мозга

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

ssilk
rc468:

Ну и мозг думает,

Мозг ничего не думает…) У него гироскопы есть. Перестаньте всякую фигню придумывать. Вышеозвученный трикоптер будет нормально летать, если будет соблюдаться отношение плечо/тяга, где плечо - расстояние от ЦТ до центра ротора. Соответственно, достаточно будет подобрать размер и кВ мотора с бОльшим пропом.

rc468
ssilk:

Мозг ничего не думает…) У него гироскопы есть.

А еще у него есть схема моторов, где какой стоит. И вот тут, сюрприз, мозг ДУМАЕТ, что стоят ОДИНАКОВЫЕ моторы и пропы, а не разные.

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

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

ssilk:

Перестаньте всякую фигню придумывать.

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

ssilk
rc468:

мозг ДУМАЕТ, что стоят ОДИНАКОВЫЕ моторы и пропы, а не разные

Мозгу фиолетово, какие моторы… Он про них вообще не знает. Потрудитесь уже изучить матчасть. Единственное, чем мозг занимается, это компенсирует отклонения гироскопов, а уж каким образом их отклоняет мозгу знать необязательно…

rc468:

мозг даст больше тяги

Мозг не знает про тягу…)

rc468:

Получилось?

Получилось…)

rc468:

Пиды - одни на все моторы

ПИДы не на моторы… Это чисто математический аппарат, в нашем случае, вычисляющий поправки для компенсации изменения показаний сенсоров. Я Вам даже больше скажу, существует масса полетных контроллеров БЕЗ ПИД-регуляторов…) И они, таки, летают… Сюрприз? А на самолетах контроллеры вообще плоскостями шевелят, хотите сказать что в самолетных автопилотах прописываются параметры каждого крыла?

rc468:

Я не даю вам указаний и оценочных суждений

Вам уровень знаний не позволяет…) Я Вам тоже указаний не даю, просто рекомендую не позориться…

zealot01
rc468:

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

Если стоят разные моторы и пропы то чтобы висеть на месте без изменения ориентации уже нужно крутить моторы по разному. Соответственно разнотяг уже при взлете есть. Мозгу уже понятно что его ждет 😃 Пиды это чуть другое.

Aleksandr_L
zealot01:

Мозгу уже понятно что его ждет 😃

Вы слишком высокого мнения о микроконтроллерах в полётных контроллерах.
Нет в них интеллекта ни на грамм, тупо расчёт параметров.

gosha57
zealot01:

Мозгу уже понятно что его ждет

ЕслиП он знал, то и не взлетал даже:

  • типа холодно… да гира чёт ноет … чек-лист не проходит… да давай завтра, когда никого не будет… спутники уже сели 😈
rc468
ssilk:

Мозгу фиолетово, какие моторы… Он про них вообще не знает. Потрудитесь уже изучить матчасть. Единственное, чем мозг занимается, это компенсирует отклонения гироскопов, а уж каким образом их отклоняет мозгу знать необязательно…

О господи. Вам буквально надо разжевывать все? Хорошо, я разжую.
Нет, мозг не “думает”. Если вы думаете, что я всерьез написал, что мозг “думает” (типа у него есть мысли, гыгы, да?) то это не так. Извините, что ввел вас в заблуждение.
Я специально для вас, которые все понимают исключительно буквально, напишу - нет, мозг не думает. А еще, он вовсе не мозг.
Это просто платка с электронными компонентами.
И конечно же, она не значет ничего о том, какие моторы стоят и стоят ли они вообще.
И тягу никакую она не дает на моторы, она просто сигналы посылает.
Только вот в результате моторы почему-то крутятся, и тяга появляется.
Но такая ассоциативная цепочка для вас видимо слишком сложна.
Ладно.

ssilk:

ПИДы не на моторы… Это чисто математический аппарат, в нашем случае, вычисляющий поправки для компенсации изменения показаний сенсоров.

Прекрасно, прекрасно. А потом эти поправки используются почему-то для изменения тяги на моторах. Казалось бы, зачем, какая связь? Ну где поправки и где эти моторы какие-то? Ведь всем отлично известно, что для того чтобы коптер летал, достаточно вычислять поправки и больше ничего не делать. И поправки кстати можно вычислять какие угодно. Ведь какие там моторы стоят, с какой мощностью - все равно. Вычислил любую поправку и полетел себе, на мотор плевать.

ssilk:

Вам уровень знаний не позволяет…)

Вы модератор? Нет? До свидания.

zealot01:

Если стоят разные моторы и пропы то чтобы висеть на месте без изменения ориентации уже нужно крутить моторы по разному. Соответственно разнотяг уже при взлете есть. Мозгу уже понятно что его ждет Пиды это чуть другое.

Пиды как раз в деле. Разнотяг - потеря стабилизации - вычисление поправки (пиды тут) - применение поправки.
Вот как раз на стадии применения и возникнет несоответствие.
Потому что если поправка рассчитывается в расчете на параметры одного мотора (о господи, нет, не мотора, просто применяются определенные коэффициенты P, I, D), а применение этой поправки происходит на другом моторе, то очевидно, что ничего хорошего от этого не будет.

rc468

Чтобы уж совсем на пальцах.
Возьмем простейшую 2-мерную систему: палку с осью посередине и два мотора с пропами на концах палки. Ну как качельки. Задача - удерживать палку горизонтально.
Допустим, палка кренится на левую сторону. Контроллер: получает ошибку, вычисляет коррекцию, применяет коррекцию.
Чтобы правильно применить коррекцию, контроллеру нужно разбросать ее по тем моторам, которые имеются. Для этого нужно иметь схему установки моторов. Схема задается в конфигураторе первым делом, как мы знаем. В данном случае контроллер знает, что слева стоит один мотор и справа стоит один мотор. А точнее, он ничего не знает, но имеет некую заданную матрицу, по которой нужно раскладывать вектор коррекции.
И если левый конец палки наклонился вниз, значит тяга на левом моторе станет больше, а на правом обнулится.
Так как в расчете поправок участвовали пиды с определенными коэффициентами, предположим, что эти коэффициенты были подобраны для какого-то конкретного мотора и пропеллера. Подобраны - это значит, что мотор будет адекватно реагировать на поправки (не будет крутить слишком слабо или слишком сильно, а ровно столько, сколько нужно для поправки).
Теперь представим, что правый конец палки отклонился вниз ровно настолько же.
Очевидно, что вновь рассчитанные поправки для этого случая будут точно такие же, как для отклонения влево, только с другим знаком. На этот раз контроллер направит воздействие не на левый, а на правый мотор. Пиды были те же, поправки были те же, воздействие то же. Но вдруг справа мы поставили совсем другой по характеристикам мотор. Что произойдет? Он сработает неадекватно (поправка будет или недостаточная, или чрезмерная) . Это приведет к тому, что потребуется вычислять еще одну поправку для компенсации этой поправки, которая опять сработает неадекватно, и т.д.
Будет ли в принципе работать такая схема? Возможно да, будет.
Но она будет работать настолько же неэффективно, как и любой коптер, у которого пиды подобраны неадекватно моторам.

ssilk
rc468:

А потом эти поправки используются почему-то для изменения тяги на моторах

Поправки не используются для изменения тяги, поправки вносятся в алгоритм стабилизации, только для коррекции его ошибок. Если уж намерены блистать своими знаниями, изучите тему хотя бы…)
Образно говоря, алгоритм работает так: Отклонился гироскоп физически, на его ногах появилось/исчезло напряжение/сигнал/цифра, не имеет значения, пришел этот сигнал на некоторую ногу микроконтроллера. МК по зашитой в него программе выполняет действие типа “на ноге Х уменьшилось напряжение - увеличить частоту/скважность/заполнение ШИМ на ноге Y”. Далее, результат поступает на фильтры/драйверы/ключи, преобразуется в аналоговое напряжение, поступает на вход регулятора оборотов и так далее… Исполнительным механизмом может быть что угодно, с любой силой/тягой, имеет значение только возврат гироскопа в нулевое положение(горизонтальное или любое другое заданное).
Отсюда делаете вывод: Какие бы моторы(роторы) не были, какую бы тягу они не развивали, этот алгоритм все равно будет работать. Напомню, все, что делает микроконтроллер, это возврат гироскопа в нулевое положение.
Немного о разнотяге, если Вам нравится это модное слово…) Разнотяг в 10 граммов перевернет коптер сразу же как только возникнет. Это возможно в режимах без стабилизации горизонта. Не верите? Проделайте такой опыт, подвесьте на веревочке равноплечий рычаг, закрепите на одном плече груз в 10 граммов, а другой оставьте пустым. Что произойдет с рычагом? правильно, он примет вертикальное положение. Теперь повторите то же самое с грузами 200 и 210 граммов, 500 и 510 граммов, 1000 и 1010 граммов… Результат ВСЕГДА будет одинаков. В коптерах так же…)

Я умышленно не написал выше ничего про ПИД-контроллеры, потому что они есть далеко не во всех полетных контроллерах. Только на основании этого факта можно сделать вывод, что Вы неправы в своих рассуждениях…

grigorym

Коллеги, подскажите, пожалуйста, может антенна приемника коротить на алюминиемый корпус квада? Корпус вроде бы гальванически ни с минусом, ни с плюсом батареи не связан. Поймал сегодня failsafe по связи на 500 метрах, квад вернулся сам, на 200 метрах связь вернулась. После посадки я увидел следующую картину:

Оплетка пластиковая оплавилась, оплетка металлическая “побежала”, и при прикосновении к продольным балкам тушки искрила. Антенны у меня не были закреплены, просто просунуты в щели корпуса и болтались снизу, видимо это и стало проблемой. В тему к антеннам идти пока не хочу, потому что вопрос очень новичковый, боюсь, что там меня ссаными тряпками закидают 😃. У меня положительный плюс пробился на оплетку антенны, а на корпусе оказалась земля? Или это я увидел, как 2.4Гц искрят о алюминиевую раму, которая выступает в роли емкости? Приемник на выброс, или просто антенны заменить и установить как положено, чтобы с металлом не контактировали?

AlexeyStn

Мощность телеметрии 2.4ГГц у этого приёмника мизерная, её не хватит даже чтоб нагреть антенну.
Уверен, что на раму закоротило плюс питания или фазу мотора/регуля.

art78g
grigorym:

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

Проверить приемник, заменить (восстановить) антенны, не повреждать токопроводящими элементами…

grigorym:

чтобы с металлом не контактировали?

карбоном…

AlexeyStn:

Мощность телеметрии 2.4ГГц у этого приёмника мизерная, её не хватит даже чтоб нагреть антенну.

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

rc468
ssilk:

Образно говоря, алгоритм работает так: Отклонился гироскоп физически, на его ногах появилось/исчезло напряжение/сигнал/цифра, не имеет значения, пришел этот сигнал на некоторую ногу микроконтроллера. МК по зашитой в него программе выполняет действие типа “на ноге Х уменьшилось напряжение - увеличить частоту/скважность/заполнение ШИМ на ноге Y”.

Увеличиваем частоту на ноге, мотор начинает крутиться быстрее. Насколько быстрее? Пропорционально тому, насколько увеличили.
Почему мы решили увеличить именно на столько? Потому что есть какой-то коэффициент (даже если нет пид-контроллера).
Коэффициент все равно надо подбирать, чтобы не упасть и не улететь в космос.
То есть нужно, чтобы частота на ноге была такая, чтобы вот этот конкретный мотор за конкретное время создал конкретную тягу.
Для разных моторов/пропов этот коэффициент будет разным.
Поставив разные моторы в одну систему, вам потребуется также ввести разные коэффициенты, чтобы каждый из моторов работал адекватно.
Ни один из полетных контроллеров и ни одна прошивка из тех, что здесь обсуждаются, таких возможностей не имеют, если только не делать кастомные миксы самостоятельно.

ssilk:

Разнотяг в 10 граммов перевернет коптер сразу же как только возникнет.

Именно поэтому и нужна стабилизация, чтобы не дать ему возникнуть. Но когда контроллер, чтобы взлететь, подает, как вы говорите, частоту X на 4 разные ноги для 4-х разных моторов, он, повторюсь, “думает”, что все моторы одинаковые. Из его уравнений получается - чтобы вертикально взлететь, нужно дать одинаковую частоту на все 4 ноги. И следовательно, если все моторы/пропы одинаковые, то и тяга получится одинаковая и коптер взлетит ровно. А если нет, то вот и получится разнотяг (это кстати не мое слово), который, конечно, сразу будет скомпенсирован, но вот с какой эффективностью, неизвестно, потому что для расчета компенсационной частоты на ноге контроллер опять же считает, что все моторы одинаковые.

grigorym
rc468:

он, повторюсь, “думает”, что все моторы одинаковые. Из его уравнений получается - чтобы вертикально взлететь, нужно дать одинаковую частоту на все 4 ноги. И следовательно, если все моторы/пропы одинаковые, то и тяга получится одинаковая и коптер взлетит ровно. А если нет, то вот и получится разнотяг (это кстати не мое слово), который, конечно, сразу будет скомпенсирован, но вот с какой эффективностью, неизвестно, потому что для расчета компенсационной частоты на ноге контроллер опять же считает, что все моторы одинаковые.

Да ничего он не думает! Есть перекос на левую заднюю ногу - прибавится моща левому заднему мотору, и пофиг, насколько он сильнее или слабее других. Справится слишком сильно - коэффициент D не даст ему перебдеть. Не справится достаточно быстро, потому что слабее всех остальных - коэффициент I его подгонит побыстрее. Конечно, в каких-то пределах, и при выходе за них (например, совсем слабый мотор), регулирование сломается.
Мне кажется, вы почему-то думаете, что одни и те же значения PID (а они одни “на все моторы”, если можно так сказать) будут приводить к одному и тому же управляющему воздействую на разные по силе моторы. Это не так - управляющее воздействие будет сильнее на тот мотор, который сейчас не справляется (куда сейчас наклонен коптер), а не на тот, который слабее.

Aleksandr_L
rc468:

Именно поэтому и нужна стабилизация, чтобы не дать ему возникнуть.

А к чему все это обсуждение?
Очевидно же, что чем лучше спроектирован коптер, тем он лучше будет летать, при прочих равных.
И наоборот.
До определенного порога полётный контроллер будет компенсировать криворукость конструктора и китайского производителя, но после этого порога коптер уже не полетит.

В частности видел я коптер, который в процессе гонки приобрёл 4 разных мотора от 2204 до 2206 и с кВ от 2300 до 2600. И ничего прилетел на 4-е место.

ssilk
rc468:

чтобы вертикально взлететь, нужно дать одинаковую частоту на все 4 ноги.

Кто Вам такое сказал? ))) Вы, вероятно, думаете, что контроллер как то ступенчато или пошагово работает? Не возникало мысли, что может быть четыре разных частоты?))) Причем, в каждый отдельный момент времени…

rc468:

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

Вот изначально неверная предпосылка…) Правильно будет _ _увеличили пропорционально отклонению гироскопа__… А крутиться будет быстрее ровно настолько, чтобы тяги хватило для выравнивания гироскопа. Это может быть не только непропорционально, а и вообще нелинейно.

rc468:

Поставив разные моторы в одну систему,

Мне потребуется всего лишь расположить центр тяжести там, где уравновешиваются все вектора тяги…) Изначально, человек спрашивал

Илья_И:

Сборка трикоптера с разным диаметром винтов и со смещенным центром тяжести,возможно?

Так вот правильный ответ - ДА! Такой коптер можно сделать и летать он будет нормально… И вперед и назад и вбок и вокруг любой из осей. И с ПИДами и без них.
А то, о чем пишете Вы, возможно лишь как частный случай для какого то конкретного контроллера с конкретной же прошивкой. И то, сомневаюсь.

rc468
ssilk:

Вот изначально неверная предпосылка…) Правильно будет увеличили пропорционально отклонению гироскопа… А крутиться будет быстрее ровно настолько, чтобы тяги хватило для выравнивания гироскопа.

Мотор не знает, сколько тяги нужно для выравнивания гироскопа. Сколько дали - столько он и крутит. Сколько нужно дать - контроллер тоже не знает. У него есть зависимость следующего вида: отклонение гироскопа X это частота на ноге Y * K, где K нужно ручками подобрать, чтобы в результате мотор выравнивал гироскоп так, как надо. И мы снова возвращаемся к тому, что K подбирается исходя из предположения, что все моторы одинаковые.

ssilk:

Мне потребуется всего лишь расположить центр тяжести там, где уравновешиваются все вектора тяги…)

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

ssilk:

Так вот правильный ответ - ДА!

Конечно ДА. Сборка такого коптера возможна. Я это и не оспаривал.

Aleksandr_L:

В частности видел я коптер, который в процессе гонки приобрёл 4 разных мотора от 2204 до 2206 и с кВ от 2300 до 2600.

Ну так 2300-2600 это ни о чем. Конечно, контроллеры достаточно быстрые и моторы достаточно мощные, чтобы все компенсировать. Но если мы рассуждаем о принципиальных причинах чего-то, то надо смотреть граничные случаи.

grigorym:

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

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

  1. Вот сейчас коптер наклонен влево на 1°. Не справляется левый мотор. Контроллер вычислил, что на левый регуль нужно послать значение 1500.
  2. Вот сейчас коптер наклонен вправо на 1°. Не справляется правый мотор. Контроллер вычислил, что на правый регуль нужно послать значение 1500.
    Почему в обоих случаях получилось 1500? Потому что в обоих случаях был одинаковый наклон, но с разным знаком.
  3. Теперь левый либо правый регуль, получив значение 1500, раскручивает свой мотор.
    Если моторы/пропы одинаковые - вопросов нет. И слева, и справа все будет работать одинаково.
    Если разные, то для каждого из них значение 1500 приведет к разной фактической тяге. Соответственно и результат коррекции будет разный.
    Но на этот счет у вас написано:
grigorym:

коэффициент D не даст ему перебдеть. Не справится достаточно быстро, потому что слабее всех остальных - коэффициент I его подгонит побыстрее.

Однако же, I и D не волшебные коэффициенты, которые придут и молча все исправят. Их все так же нужно подстраивать под поведение конкретной модели мотора.
Конечно, контроллер будет непрерывно корректировать неправильную коррекцию со стороны нестандартного мотора и вполне возможно, что он с этим справится. Но это же очевидно будет неоптимальный режим работы. Кому такое нужно?

ssilk
rc468:

K подбирается исходя из предположения, что все моторы одинаковые.

Нет никакого предположения…) Саморегуляция(стабилизация) может работать ВООБЩЕ без микроконтроллеров и прошивок… Другое дело, что для этого потребуется более точная и качественная, следовательно, более дорогая механика, что мы и увидим, сравнив цену на коптер и классический вертолет одинакового типоразмера…) Коптер это всего лишь дешевая и удобная замена вертолету, где прецизионную механику заменили микроконтроллером и софтом. Если Вам действительно интересно как осуществляется стабилизация, поинтересуйтесь автоматами перекоса вертолетов, многие заблуждения сами отпадут…)

rc468:
  1. Вот сейчас коптер наклонен влево на 1°. Не справляется левый мотор. Контроллер вычислил, что на левый регуль нужно послать значение 1500. 2) Вот сейчас коптер наклонен вправо на 1°. Не справляется правый мотор. Контроллер вычислил, что на правый регуль нужно послать значение 1500. Почему в обоих случаях получилось 1500? Потому что в обоих случаях был одинаковый наклон, но с разным знаком. 3) Теперь левый либо правый регуль, получив значение 1500, раскручивает свой мотор. Если моторы/пропы одинаковые - вопросов нет. И слева, и справа все будет работать одинаково. Если разные, то для каждого из них значение 1500 приведет к разной фактической тяге.

А теперь поделите все это примерно на 3000 раз в секунду и станет чуть понятнее, почему одинаковость моторов не имеет значения…

rc468:

контроллер будет непрерывно корректировать неправильную коррекцию

Он в любом случае это уже делает…) В реальном(для человеческого восприятия) времени…)