Activity
SBUS мог не пойти по одной простой причине - нужен инвертер на входе Arduino. Можно было попробовать через транзистор сделать. Я брал неинвертированный SBUS с приемника перед транзистором, а то не работало. Здесь наверное так же.
А так очень здорово что получилось. Будет время - попробую с SBUS замутить.
По поводу И. Интеграл убирает статическую ошибку, возникающую из-за несовершенства конструкции объекта регулирования, в частности, гистерезиса реакции на управляющее воздействие. Я по работе занимаюсь пневмоприводами - там гистерезис - это, например, трение в уплотнении пневмоцилиндра, или утечки из него же.
Применительно к коптерам - И-составляющая во внутреннем контуре (гира) не имеет большого влияния. Имеет смысл в контуре акселя и тем более - ГПС.
При выставлении слишком большого И начинается раскачка регулятора, но, в отличие от большого П - раскачка идёт гораздо более длинными волнами, и имеет тенденцию к увеличению амплитуды. Вызывается слишком медленным сбросом накопленной ошибки при движении объекта регулирования в сторону уменьшения ошибки. В результате (не из-за какой-нибудь там инерции, а исключительно по вине регулятора) объект пролетает заданное положение, сбрасывает таки накопленную ошибку, но, так как уплыл уже далеко, начинает копить её в обратном направлении. Как-то так.
Спасибо огромное. Я приблизительно тоже так думаю, но не стал писать, так как не был уверен на 100% процентов. То что И компенсирует неточности системы я написал, но как это проявляется при полете на квадрике пока не могу описать. С П и Д все просто и понятно. Вот только большое Д тоже не видно по курсовой камеры, и можно только услышать на слух.
На крыле или самолете И увидеть наверное проще, так как они могут лететь далеко и долго по прямой. На квадриках летают на короткие расстояния и обычно этого не хватает для оценки И.
Может кто подскажет (в тему), нормально ли то, что с рамой 470мм параметр Д чуть ли не в два раза выше П? Иначе как-то слишком активно потряхивает на ветру в точке. Без навигации вполне нормально вроде, не трясёт но даже немного более вяло реагирует на резкие движения стика. Моторы холодные.
А моторы не горячие? Первый признак большого Д - горячие моторы.
А потрагивать от ветра может из-за низкого П. Коптер плохо сопротивляется отклонению от заданного угла.
Но не забываем что в прошивках несколько ПИД-регуляторов: один работает с гироскопом и держит заданный угол (режим Акро, про него я и писал), другой работает с акселерометром и держит уровень квадрика чтобы висел в горизонте (это в режиме стабилизации Angle и Horizon) и еще один работает с GPS для удержании позиции и высоты (этих режимов в прошивке БФ нет а вот в iNav есть). И вот поэтому у Вас может нужно крутить другие значения ПИДов 😃
Про I можно понять насколько хорошо квадрик держит выставленный угол. Например в прямолинейном полете. Если “уплывает” - угол увеличивается или уменьшается, значит I мало. На одном видео просто вешали квадрик на 2 растяжки и ставили его под 45 градусов стиками. При демонстрации маленького I он постепенно возвращался в горизонт.
Совершенно верно! “И” видно только после того как аппарат вышел на нужный угол, но из-за разных особенностей (внешних факторов) уплывает от заданного угла. Но это тяжело увидеть в полете. П и Д в полете легко видно. Вот в последнем видео от Джошуа он как раз показывает что бывает если увеличивать П. Продолжение от него следует где он будет рассказывать по Д и И.
И главное не сильно увлекайтесь с накруткой И - это тоже ни к чему хорошему не приведет, только ухудшит.
Немного скажу про интегральный коэффициент. Как вы видите в формуле присутствует SUM(E) - суммарная ошибка , и нигде не обговаривается за какой период времени эта ошибка посчитана, а она может быть и суточной и миллисекундной. Она определяется постоянной временем интегрирования, а этот параметр ни один производитель не указывает. Оптимально, если бы эта ошибка суммировалась бы за время трёх периодов (асциляций). А если он на порядок больше (или меньше), то влияние этого коэффциента вы и не заметите.
Интересный вопрос. Надо будет посмотреть исходный код BetaFlight. А так должно быть с момента арминга квадрика, когда началось управление объектом. На то она и интегральная чтобы суммировать за все время пока идет управление.
Вот по исходникам BetaFlight интересно смотреть комментарии. Для некоторых осей управления, например yaw не используется Д составляющая.
Интегральная часть всегда самая сложная, особенно в системах с малой инерционностью.
Вот да И для меня очень тяжело объяснить. Но недавно на форуме мы вроде пришли к пониманию и чуть позже выражу мысль более правильно. Просто П и Д легко настроить, это как карбюратор на Москвиче отрегулировать. А вот П не совсем тривиальная для осмысления. Особенно в системах с малой инерцией.
Спасибо за понимание.