Теория настройки ПИД / PID
Admin (обсуждение | вклад) (→См. также) |
(→См. также) |
||
(не показаны 8 промежуточных версий 4 участников) | |||
Строка 8: | Строка 8: | ||
=== Базовая настройка ПИД – на земле === | === Базовая настройка ПИД – на земле === | ||
+ | '''Внимание!''' Запуск ненастроенного коптера с пропеллерами на моторах очень травмоопасен! Выполняйте настройку, держа коптер в руках только на свой страх и риск. | ||
# установите рекомендованные по умолчанию значения коэффициентов ПИД-регулятора; | # установите рекомендованные по умолчанию значения коэффициентов ПИД-регулятора; | ||
# крепко и осторожно удерживайте мультикоптер в воздухе (ухватитесь за раму руками так, чтобы предотвратить возможные свободные вращения вокруг любой из осей коптера, берегите руки и лицо; | # крепко и осторожно удерживайте мультикоптер в воздухе (ухватитесь за раму руками так, чтобы предотвратить возможные свободные вращения вокруг любой из осей коптера, берегите руки и лицо; | ||
# постепенно прибавляйте газ, стараясь добиться невесомости коптера, когда сила тяжести уравновешивается подъёмной силой. | # постепенно прибавляйте газ, стараясь добиться невесомости коптера, когда сила тяжести уравновешивается подъёмной силой. | ||
− | # попробуйте '''руками''' | + | # попробуйте '''руками''' наклонять и поворачивать коптер в разные стороны. Вы должны почувствовать реакцию, направленную на компенсирование прилагаемой вами силе; |
− | # увеличивайте значение коэффициента Р до тех пор, пока не ощутите, что довольно сложно противостоять реакции коптера. Без стабилизации вы почувствуете, что | + | # увеличивайте значение коэффициента Р до тех пор, пока не ощутите, что довольно сложно противостоять реакции коптера. Без стабилизации горизонта вы почувствуете, что при постоянном приложении силы через некоторое время ПИД, поддаётся, позволяет вам менять положение коптера. Так и должно быть; |
− | # | + | # далее начинайте раскачивать мультикоптер, увеличивайте Р до тех пор, когда начнутся осцилляции (частые вибрации) и затем немного уменьшите. Повторите для оси [[YAW]]; |
− | Теперь ваши установки должны годиться для дальнейшей настройки в воздухе | + | Теперь ваши установки должны годиться для дальнейшей настройки в воздухе. |
=== Продвинутая настройка. Знакомство с воздействием P, I и D на характеристики === | === Продвинутая настройка. Знакомство с воздействием P, I и D на характеристики === | ||
+ | |||
+ | <htmlet>adsense300x250</htmlet> | ||
'''Р''' - это величина корректирующей силы, приложенной для того, чтобы вернуть мультикоптер в его начальное положение. Эта величина пропорциональна совокупному отклонению от изначальной позиции минус любое командное воздействие на изменение направления с пульта управления. | '''Р''' - это величина корректирующей силы, приложенной для того, чтобы вернуть мультикоптер в его начальное положение. Эта величина пропорциональна совокупному отклонению от изначальной позиции минус любое командное воздействие на изменение направления с пульта управления. | ||
Строка 59: | Строка 62: | ||
==== Для акро полетов ==== | ==== Для акро полетов ==== | ||
# увеличивайте значение Р до появления осцилляций, затем немного уменьшите; | # увеличивайте значение Р до появления осцилляций, затем немного уменьшите; | ||
− | # изменяйте значение I до тех пор, пока дрейф | + | # изменяйте значение I до тех пор, пока дрейф во время зависания не станет недопустимым, затем слегка увеличьте; |
# увеличьте значение D (помните, меньшее значение – ближе к нулю) до тех пор, пока стабилизация после резких движений органами управления не будет приводить к недопустимой раскачке. | # увеличьте значение D (помните, меньшее значение – ближе к нулю) до тех пор, пока стабилизация после резких движений органами управления не будет приводить к недопустимой раскачке. | ||
Строка 76: | Строка 79: | ||
[http://forum.rcdesign.ru/f123/thread221574-108.html#post3119659 Оригинал перевода] | [http://forum.rcdesign.ru/f123/thread221574-108.html#post3119659 Оригинал перевода] | ||
− | == Можно ли использовать «чужие» настройки PID == | + | == Важность стабильного питания == |
+ | <htmlet>adsense300x250</htmlet> | ||
+ | При активном маневрировании, например, резком сбросе уровня газа и затем мгновенный «газ в пол», а также резких кренах и рыскании (всё это весьма характерно для гоночных [[FPV-миникоптеров|FPV-миникоптеры]]) - регуляторы моторов, и, в конечном счёте, аккумуляторы испытывают пики нагрузок, что неизбежно приводит к «пиковому» же падению (просадке) напряжения на аккумуляторе в эти моменты. Особенно, если применяется пониженное напряжение (например, 3S вместо возможных для регулятора и мотора 4S) или просто при использовании разряженного или сильно изношенного аккумулятора. | ||
+ | |||
+ | Это оказывает значительное воздействие на PID-регулирование следующим образом. Коптер может быть хорошо настроен на плавный полёт, висение. Но в какой-то момент по результатам вычислений или по управляющему сигналу пилота [[полётные контроллеры|полётный контроллер]] даёт резкий газ, который вызывает просадку напряжения, из-за чего двигатель не успевает раскрутиться как того ожидает полётный контроллер (видя показания датчиков положения в пространстве), поэтому контроллер добавляет ещё газу, доводит до нужного положения для стабилизации и тут с уменьшением и выравниванием нагрузки напряжение подскакивает вместе с оборотами, получается перерегулирование и здесь нужно уже обратное действие - погасить лишнее перемещение коптера силой в обратную сторону, но работает всё так же, запуская циклический процесс перерегулирования. На практике, в реальном полёте это будет означать вялые и размазанные резкие, нелинейные движения, отличающиеся от того как это, казалось, было хорошо настроено в висении возле пилота. | ||
+ | |||
+ | Как с бороться с этим эффектом: | ||
+ | * Самое правильное - применять аккумуляторы с максимальным напряжением для конкретного мотора. Если мотор рассчитан максимум под 4S-аккумуляторы, то использовать следует именно их. Разумеется, если при этом пропеллер слишком большого диаметра или шага не перегрузит мотор. Но в таком случае лучше будет подобрать оптимальный пропеллер под связку мотор+аккумулятор. | ||
+ | * В любом случае полезно применять фильтрующие электролитические конденсаторы на регуляторах, а также на общей шине питания - большой ёмкости. | ||
+ | * В крайнем случае придётся учитывать это в настройках PID, занижая значение параметра D. | ||
+ | * При возможности увеличивать частоту опроса гироскопа. | ||
+ | |||
+ | == FAQ == | ||
+ | === Можно ли использовать «чужие» настройки PID === | ||
Знание оптимальных настроек ПИД для конфигурации коптера, похожего на ваш, может помочь вам быстрее настроить свой мультикоптер, но имейте ввиду, что не бывает двух одинаковых коптеров, т.к. следующие пункты будут непременно вносить влияние в фактические значения коэффициентов ПИД: | Знание оптимальных настроек ПИД для конфигурации коптера, похожего на ваш, может помочь вам быстрее настроить свой мультикоптер, но имейте ввиду, что не бывает двух одинаковых коптеров, т.к. следующие пункты будут непременно вносить влияние в фактические значения коэффициентов ПИД: | ||
* рама - вес/размер/материал/жесткость; | * рама - вес/размер/материал/жесткость; | ||
Строка 85: | Строка 101: | ||
* БАЛАНСИРОВКА | * БАЛАНСИРОВКА | ||
* и, конечно, навыки пилота. | * и, конечно, навыки пилота. | ||
+ | === Пиды лучше регулировать сразу с подвесом/камерой или можно после прицепить === | ||
+ | Лучше регулировать сразу с подвесом/камерой, так как вес изменяется достаточно значительно, чтобы повлиять на поведение аппарата. Нюансы: | ||
+ | * Первичную регулировку можно выполнять и без подвеса, чтобы при возможных падениях его не повредить. А затем закрепить подвес и довести регулировку до конца. | ||
+ | * Также можно прикрепить к коптеру массо-габаритный макет подвеса/камеры и регулировать пиды сразу в рабочей конфигурации. | ||
== См. также == | == См. также == | ||
− | * [[CleanFlight#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_PID|Алгоритм настройки PID-регулятора]] на примере прошивки [[CleanFlight]] полётных мини-контроллеров. | + | * Видео: [https://youtu.be/qKy98Cbcltw Наглядно настройка PID-регулятора на стенде] |
+ | * Видео: [https://www.youtube.com/watch?v=kmc9Soci07A Поведение коптера при неправильных значниях PID наглядно] | ||
+ | * [[CleanFlight#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_PID|Алгоритм настройки PID-регулятора]] на примере прошивки [[CleanFlight]] полётных мини-контроллеров. Более подробно: [[настройка ПИДов в Betaflight/Cleanflight]]. | ||
* [[KK2.0 LCD#Настройка P-gain для Roll/Pitch|Советы по настройке полётного контроллера KK2.0 LCD]] | * [[KK2.0 LCD#Настройка P-gain для Roll/Pitch|Советы по настройке полётного контроллера KK2.0 LCD]] | ||
* Видео, [http://www.youtube.com/watch?v=YNzqTGEl2xQ как настраивать коптер в зависимости от его поведения] | * Видео, [http://www.youtube.com/watch?v=YNzqTGEl2xQ как настраивать коптер в зависимости от его поведения] | ||
Строка 94: | Строка 116: | ||
* [https://optune.opng.org/ PID-калькулятор] для [[CC3D]]. | * [https://optune.opng.org/ PID-калькулятор] для [[CC3D]]. | ||
* [http://we.easyelectronics.ru/Theory/pid-regulyatory--dlya-chaynikov-praktikov.html Много теоретической информации по PID-регулированию] | * [http://we.easyelectronics.ru/Theory/pid-regulyatory--dlya-chaynikov-praktikov.html Много теоретической информации по PID-регулированию] | ||
+ | * Видео: [https://www.youtube.com/watch?v=fusr9eTceEo Наглядный PID-регулятор] и его поведение в зависимости от различных параметров. |
Текущая версия на 20:27, 12 марта 2021
Содержание |
Пропорционально-Интегрально-Дифференциальный метод [править]
Когда ориентация мультикоптера меняется по любой из осей pitch/roll/yaw (тангаж-крен-рыскание), гироскопы показывают угловое отклонение мультикоптера от начальной позиции.
Контроллер мультикоптера сохраняет информацию об исходном положении и при помощи программного ПИД-регулятора управляет моторами для того, чтобы вернуть мультикоптер в это исходное положение. Этого добиваются, используя информацию об измеренном угловом отклонении, фиксируя изменение параметров с течением времени и предсказывая следующую позицию. Эта информация используется контроллером, чтобы, управляя моторами, вернуть мультикоптер в положение равновесия.
Р – это основополагающая часть ПИД-регулятора которая является залогом хороших летных характеристик.
Базовая настройка ПИД – на земле [править]
Внимание! Запуск ненастроенного коптера с пропеллерами на моторах очень травмоопасен! Выполняйте настройку, держа коптер в руках только на свой страх и риск.
- установите рекомендованные по умолчанию значения коэффициентов ПИД-регулятора;
- крепко и осторожно удерживайте мультикоптер в воздухе (ухватитесь за раму руками так, чтобы предотвратить возможные свободные вращения вокруг любой из осей коптера, берегите руки и лицо;
- постепенно прибавляйте газ, стараясь добиться невесомости коптера, когда сила тяжести уравновешивается подъёмной силой.
- попробуйте руками наклонять и поворачивать коптер в разные стороны. Вы должны почувствовать реакцию, направленную на компенсирование прилагаемой вами силе;
- увеличивайте значение коэффициента Р до тех пор, пока не ощутите, что довольно сложно противостоять реакции коптера. Без стабилизации горизонта вы почувствуете, что при постоянном приложении силы через некоторое время ПИД, поддаётся, позволяет вам менять положение коптера. Так и должно быть;
- далее начинайте раскачивать мультикоптер, увеличивайте Р до тех пор, когда начнутся осцилляции (частые вибрации) и затем немного уменьшите. Повторите для оси YAW;
Теперь ваши установки должны годиться для дальнейшей настройки в воздухе.
Продвинутая настройка. Знакомство с воздействием P, I и D на характеристики [править]
Р - это величина корректирующей силы, приложенной для того, чтобы вернуть мультикоптер в его начальное положение. Эта величина пропорциональна совокупному отклонению от изначальной позиции минус любое командное воздействие на изменение направления с пульта управления.
Более высокое значение Р создаст более мощное усилие по сопротивлению любой попытке изменить положение коптера. Однако если значение Р слишком велико, то при возврате в исходное положение возникает перерегулирование и, следовательно, требуется противоположная сила, чтобы компенсировать новое отклонение. Это порождает эффект раскачки до тех пор, пока наконец не будет достигнута стабильность или, в худшем случае, коптер может стать полностью неуправляемым.
Увеличение значения Р: приводит к большей устойчивости /стабильности до тех пор, пока слишком большое значение Р не приведет к осцилляциям и потере контроля над коптером (потере управления). Вы заметите очень большую силу воздействия, противодействующую любому изменению положения коптера.
Уменьшение значения Р: приведет к дрейфу в управлении. Если Р слишком мал, коптер становится очень нестабильным. Коптер будет меньше сопротивляться любым попыткам изменить его положение.
Акро (пилотажные) полеты требуют чуть более высоких Р, аккуратные и плавные полеты – чуть более низкого Р.
I – это период времени, в течение которого записываются и усредняются угловые отклонения.
Величина силы, прикладываемой для возврата в исходное положение, увеличивается, если с течением времени угловое отклонение сохраняется, пока не будет достигнута максимальная величина усилия. Более высокое значение I способствует улучшению курсовой устойчивости.
Увеличение значения I: улучшит способность удерживать начальное положение и уменьшит дрейф, но так же увеличит задержку возврата в начальное положение. Также уменьшает влияние Р.
Уменьшение значения I: улучшит реакцию на изменения, но увеличит дрейф и уменьшит способность удерживать положение. Так же увеличивает влияние Р.
Акро режим: требует немного меньших значений I
Аккуратное плавное руление: требуются немного большие значения I
D – это скорость, с которой мультикоптер вернется в его начальное положение. Высокие D (т.к. D имеет отрицательное значение – это означает меньшее число, т.е. более близкое к нулю) означают, что мультикоптер вернется в первоначальное положение очень быстро.
Увеличение значения D (помните, это значит МЕНЬШЕЕ число, т.к. значение отрицательное) увеличивает скорость, с которой все отклонения будут скомпенсированы. Это означает так же увеличение вероятности появления перерегулирования и осцилляций. Так же увеличивается эффект от изменения Р (влияние Р-компоненты)
Уменьшение D: (помните, это значит БОЛЬШОЕ число, т.к. это отрицательно значение, т.е. дальше от нуля) уменьшает колебания при возврате в начальное положение. Возврат в начальное положение происходит медленнее. И так же уменьшает эффект от изменения Р.
Акро режим: увеличьте D (помните – меньшее число, т.е. ближе к нулю)
Аккуратные плавные полеты: уменьшите D (это означает большее число, т.е. дальше от нуля)
Продвинутая настройка – практическая реализация [править]
Для акро полетов [править]
- увеличивайте значение Р до появления осцилляций, затем немного уменьшите;
- изменяйте значение I до тех пор, пока дрейф во время зависания не станет недопустимым, затем слегка увеличьте;
- увеличьте значение D (помните, меньшее значение – ближе к нулю) до тех пор, пока стабилизация после резких движений органами управления не будет приводить к недопустимой раскачке.
После этого можно немного уменьшить Р.
Стабильные полеты (RC, AP, FPV) [править]
- увеличивайте значение Р до появления осцилляций, затем немного уменьшите;
- измените I пока коррекция после отклонения не станет недопустимо слабой, затем увеличьте немного;
- уменьшите D (дальше от нуля) до тех пор, пока стабилизация после резких движений органами управления не станет слишком медленной. Затем увеличьте D немного (помните – меньшее значение);
После этого можно немного уменьшить Р.
Вы должны выбрать компромисс между оптимальными настройками стабильного зависания и вашим обычным стилем полета.
Оригинал статьи Оригинал перевода
Важность стабильного питания [править]
Это оказывает значительное воздействие на PID-регулирование следующим образом. Коптер может быть хорошо настроен на плавный полёт, висение. Но в какой-то момент по результатам вычислений или по управляющему сигналу пилота полётный контроллер даёт резкий газ, который вызывает просадку напряжения, из-за чего двигатель не успевает раскрутиться как того ожидает полётный контроллер (видя показания датчиков положения в пространстве), поэтому контроллер добавляет ещё газу, доводит до нужного положения для стабилизации и тут с уменьшением и выравниванием нагрузки напряжение подскакивает вместе с оборотами, получается перерегулирование и здесь нужно уже обратное действие - погасить лишнее перемещение коптера силой в обратную сторону, но работает всё так же, запуская циклический процесс перерегулирования. На практике, в реальном полёте это будет означать вялые и размазанные резкие, нелинейные движения, отличающиеся от того как это, казалось, было хорошо настроено в висении возле пилота.
Как с бороться с этим эффектом:
- Самое правильное - применять аккумуляторы с максимальным напряжением для конкретного мотора. Если мотор рассчитан максимум под 4S-аккумуляторы, то использовать следует именно их. Разумеется, если при этом пропеллер слишком большого диаметра или шага не перегрузит мотор. Но в таком случае лучше будет подобрать оптимальный пропеллер под связку мотор+аккумулятор.
- В любом случае полезно применять фильтрующие электролитические конденсаторы на регуляторах, а также на общей шине питания - большой ёмкости.
- В крайнем случае придётся учитывать это в настройках PID, занижая значение параметра D.
- При возможности увеличивать частоту опроса гироскопа.
FAQ [править]
Можно ли использовать «чужие» настройки PID [править]
Знание оптимальных настроек ПИД для конфигурации коптера, похожего на ваш, может помочь вам быстрее настроить свой мультикоптер, но имейте ввиду, что не бывает двух одинаковых коптеров, т.к. следующие пункты будут непременно вносить влияние в фактические значения коэффициентов ПИД:
- рама - вес/размер/материал/жесткость;
- двигатели – мощность/крутящий момент;
- расположение двигателей и расстояние между ними;
- контроллеры двигателей и передатчик – кривые мощности;
- винты (пропеллеры) – диаметр/шаг/материал;
- БАЛАНСИРОВКА
- и, конечно, навыки пилота.
Пиды лучше регулировать сразу с подвесом/камерой или можно после прицепить [править]
Лучше регулировать сразу с подвесом/камерой, так как вес изменяется достаточно значительно, чтобы повлиять на поведение аппарата. Нюансы:
- Первичную регулировку можно выполнять и без подвеса, чтобы при возможных падениях его не повредить. А затем закрепить подвес и довести регулировку до конца.
- Также можно прикрепить к коптеру массо-габаритный макет подвеса/камеры и регулировать пиды сразу в рабочей конфигурации.
См. также [править]
- Видео: Наглядно настройка PID-регулятора на стенде
- Видео: Поведение коптера при неправильных значниях PID наглядно
- Алгоритм настройки PID-регулятора на примере прошивки CleanFlight полётных мини-контроллеров. Более подробно: настройка ПИДов в Betaflight/Cleanflight.
- Советы по настройке полётного контроллера KK2.0 LCD
- Видео, как настраивать коптер в зависимости от его поведения
- Видео, наглядно показывающее и разъясняющее принцип работы PID-регулятора на примере автопилота автомодели.
- Настройка PID методом Циглера-Николса (англ., примерно то же самое на русском) Позволяет в первом приближении получить необходимые I и D опытным путем. Правда метод сопряжен с определенным риском, ибо I и D обнуляютя, а P необходимо увеличивать до тех пор, пока не появятся осцилляции + замерить период этих осцилляций, т.е. нужна видеофиксация.
- PID-калькулятор для CC3D.
- Много теоретической информации по PID-регулированию
- Видео: Наглядный PID-регулятор и его поведение в зависимости от различных параметров.