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

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:

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

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

rc468
ssilk:

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

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

Но вы упускаете из виду один нюанс - величину, или силу поправки. Я имею в виду ту величину, которая задается контроллеру извне, вашими руками. И с которой он ведет все расчеты.
Контроллер не может отказаться от этой величины. Если вы задали ее слишком большой - значит все поправки, даже те, которые маленькие, будут получаться слишком большие.

Проведите простой эксперимент - доведите составляющую P до появления сильных осцилляций, а потом поднимите еще на 50%.
После этого попробуйте взлететь.
Коптер либо опрокинется, либо, дико раскачиваясь, уйдет вверх, не слушаясь газа, и вернуть его можно будет только дизармом.

Возникает вопрос - а почему контроллер не смог его стабилизировать? Он ведь просто должен скомпенсировать ошибку, и всё. Но не получается у него скомпенсировать никак, хоть он и видит все эти отклонения и пытается их исправить, но не получается. Потому что вы ему задали такую величину, что каждое исправление слишком сильное, и вносит новую ошибку, а 3000 раз в секунду или нет - это уже без разницы, ошибка-то не исчезает никуда.
Так я о чем - для одних моторов эта величина будет ок, а для других не очень. А если вы смешаете вместе разные моторы - то получится, что с одной стороны коптер летит хорошо, а с другой плохо. Я не говорю о моторах с разницей в 100-300 кв и о пропеллерах с разницей в 1-2 дюйма, потому что понятно, что это большой роли не играет.

ssilk
rc468:

Я имею в виду ту величину, которая задается контроллеру извне, вашими руками

Я еще раз напомню Вам про контроллеры без ПИД регулировки и даже без подключения к компьютеру (от слова никак) и про вертолеты вообще без полетных контроллеров…)

rc468:

Так я о чем - для одних моторов эта величина будет ок, а для других не очень.

Я уже давно понял о чем Вы, и даже сказал, что Вы не правы… А Вы продолжаете настаивать. )))
Еще раз повторю, (речь о разнице в диаметрах пропов в 2 раза) не имеет значения мощность и одинаковость роторов. Для случая, на котором Вы так настаиваете, достаточно разместить ЦТ в нужном месте. И все Ваши поправки будут хорошо работать. Во все стороны. Грубо говоря, я могу собрать из разного хлама коптер вокруг некоей величины поправки, и он будет хорошо летать… Обратите внимание: Не поправка для коптера, а коптер для поправки…)

rc468
ssilk:

Я еще раз напомню Вам про контроллеры без ПИД регулировки и даже без подключения к компьютеру (от слова никак) и про вертолеты вообще без полетных контроллеров…)

Вы можете хоть про центробежные регуляторы паровых турбин напомнить, только при чем тут это?
Тут кто-то собирался вертолет с винтом на рычагах строить?

ssilk:

И все Ваши поправки будут хорошо работать.

Ладно, я сделаю эксперимент и посмотрим. Если поставить диагонально 2 одних мотора и 2 других мотора, ЦТ останется в центре, правильно понимаю?

ssilk
rc468:

только при чем тут это?

При том, что принципы саморегуляции у всего перечисленного одни и те же.

rc468:

Тут кто-то собирался вертолет с винтом на рычагах строить?

Коптер - тот же вертолет, только рычаги электронные…)

rc468:

диагонально 2 одних мотора и 2 других мотора, ЦТ останется в центре, правильно понимаю?

Да, ЦТ останется там же, где и был, зависит от правильности сборки. Только менять моторы диагонально на симметричной раме смысла не имеет. Вы не заметите разницы вплоть до аварийных значений. То есть, ничего, ничего, ничего, а потом сразу - херакс…) Нагляднее будет менять передние/задние с переносом ЦТ. Сделайте перенос ЦТ настраиваемый, ну типа батарейки на рельсах, или ряд отверстий с некоторым шагом…

PsyTech

Всем привет!

Вопрос по Betaflight:
Какой должен быть “pid loop frequency” для полетника Matek F405-STD?
pid loop frequency - это же скорость работы процессора? 168MHz - нет такого в списке…

rc468
PsyTech:

pid loop frequency - это же скорость работы процессора?

Нет. Это скорость работы PID-цикла. Т.е. сколько раз в секунду процессор будет корректировать ошибку положения коптера. Теоретически чем больше скорость, тем лучше. Практически надо поставить минимальную частоту, на которой будет нормально летать.

PsyTech

а Gyro update frequency и PID loop frequency наверное должны быть одинаковыми?
При Gyro update frequency = 32, в каком диапазоне должен быть PID loop frequency?
И что тогда такое 168MHz ?

rc468
PsyTech:

а Gyro update frequency и PID loop frequency наверное должны быть одинаковыми?

Гиро должен быть не меньше.
Остальные детали это довольно обширный вопрос, т.к. нужно также учитывать тип гиро, фильтрацию гиро, частоту обновления регулей и инерционность моторов.
На английском языке это описано здесь:
oscarliang.com/best-looptime-flight-controller/

Если у вас возник такой вопрос, “сколько оно ДОЛЖНО быть” - ну так оно ничего не должно, работать будет в любом случае. Вы же, я так понимаю, не гонщик международного масштаба?

PsyTech:

И что тогда такое 168MHz ?

Это собственная частота работы процессора STM32.

Лупы же - организуются программно в прошивке и работают с той частотой, какая задана.

R2Dmitry
PsyTech:

Какой должен быть “pid loop frequency” для полетника Matek F405-STD?

8KHz достаточно. Это количество рассчетов управления в секунду.
Это можно сравнить с ISO на фотоаппарате: маленькое значение сделает смазанным, а большое - шумным.

PsyTech:

При Gyro update frequency = 32

На этом гироскопе частота снятия данных 8KHz.

Multisoft
Sergey_am:

APM

В мусорку этот APM!
Мучался с ним целый месяц, так и не удалось нормально полетать на нём.
Посоветовали купить SP F3 и собрать на нём.
Взял SP F3 Acro 14$ Барометр 0.8$ Сонар 1.3$ LED 2812 2$

Вот примеры:
На APM 2.8

На SP F3

rc468
Multisoft:

Посоветовали купить SP F3 и собрать на нём.

Такая же история была и у меня, правда по сравнению с вашим мой АПМ все-таки летал как-то.
А почему вам посоветовали именно F3, а не F4?