Коллеги, может кто сталкивался с задачей и знает её решение.
Есть задача управлять нагружением с помощью гидроцилиндра.
Есть испытуемое изделие, которое движет свой шток по своей траектории. Траекторий много (амплитуды, частоты и формы кривой фактически могут быть любыми).
Есть гидроцилиндр. который должен поддерживать заданное усилие.
В статике удаётся подобрать коэффициенты ПИД (фактически ПИ), чтобы нагрузка держалась довольно стабильно. Но на движущемся штоке появляются проблемы.
На скриншотах пара фрагментов того. что происходит в системе. Одна кривая - это получаемое усилие (в данном случае цель держать 0 при движении по синусу).
Три кривых - это выходы с ПИД.
Красная кривая - суммарное управляющее воздействие, зелёная - П-составляющяая, синяя - интеграл.
Как уже сказал, подобрать коэффициенты для динамической системы не удаётся - идут довольно большие колебания (те самые забросы до нескольких тысяч = сотни кг).
Попробовали разбить диапазон на два участка - когда отклонение большое, используем один набор ПИ, в близкой зоне используем более плавный регулятор (свой набор ПИ), но как видно на графиках, быстрый регулятор вгоняет силу в узкий коридор довольно быстро, а вот медленный там её удержать не может.
Управляющее воздействие задаёт силу, с которой гидроцилиндр пытается куда-то перемещаться. Т.е. чем больше воздействие, тем больше скорость перемещения, если цилиндр не нагружен, или больше сила, если он упирается во что-то.
Опять же из графиков видно, что система обладает инерцией около 10 мс - максимум силы догоняет через 10 мс после воздействия.
Что пробовали:
- просто ПИ(Д)
- два независимых ПИ(Д) для двух зон
- Двойной регулятор: setpoint основного регулятора = К*dF, dF = Fi-Target. PV = F(i)- F(i-1) Т.е. пытаемся регулировать скорость изменения силы - чем дальше от цели, тем желаемая скорость больше. И наоборот.
Может у кого будут идеи, что можно с этим сделать?
Регулятор для гиддроцилиндра
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Регулятор для гиддроцилиндра
Два контура регулятора. По усилию и по скорости перемещения штока. Третий контур по положению. Это в теории. А в практике скорость будет вычисляться с большими шумами.
И вопрос: какой из параметров вам необходимо контролировать, определитесь? Потому что давление и перемещение не обязаны иметь стабильную и линейную взаимосвязь.
Контур усилия самый быстродействующий, задание на него идёт с контура скорости. А задание на скорость идёт с контура по положению.
Соответственно, надо считать АЧХ каждого контура и под них подбирать параметры пид регуляторов
И вопрос: какой из параметров вам необходимо контролировать, определитесь? Потому что давление и перемещение не обязаны иметь стабильную и линейную взаимосвязь.
Контур усилия самый быстродействующий, задание на него идёт с контура скорости. А задание на скорость идёт с контура по положению.
Соответственно, надо считать АЧХ каждого контура и под них подбирать параметры пид регуляторов
-
- adviser
- Сообщения: 231
- Зарегистрирован: 06 ноя 2020, 15:37
- Версия LabVIEW: 19
- Благодарил (а): 18 раз
- Поблагодарили: 37 раз
- Контактная информация:
Re: Регулятор для гиддроцилиндра
Кроме рассчета АЧХ и т.д можно предложить
1. Снизить скорость изменения положения.
2. Добавить абсолютный энкодер положения цилиндра
3. Добавить параметр положения и скорость в регулятор
4. Применить статическое регулирование заданного воздействия в зависимости от скорости перемещения. Т.е. Есть некоторые ранее накопленные статистические данные. В данных видна корреляция параметров. Заранее можно выставить выходное воздействие не дожидаясь реакции от целевого параметра. + добавить коррекцию в заданных пределах от регулятора.
5. Применить автонастройку регулятора от NI.
6. Вычислять коэффициенты кореляции на ходу. (это пока не пробовал)
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Регулятор для гиддроцилиндра
Делал достаточно много систем управления и нагружением и положением и скоростью на гидроцилиндрах. По приведенным графикам достаточно сложно что-то сказать. Для анализа хотелось бы видеть еще и положение испытуемого изделия (ту самую синусоиду, по которой он движется) и положение штока гидроцилиндра. Если встроенных датчиков нет, то хотя бы на этапе анализа и отладки их стоит добавить в систему.
Еще укажите модель гидроцилиндра и тип сервоклапана, которым управляете.
Пока стоит обратить внимание на следующие проблемы:
1. По графику силы видно, что в связке гидроцилиндр-изделие есть люфт. Это видно по полкам в нуле на графике силы. В этот момент цилиндр пытается выбрать зазор в соединении и сила становится неуправляемой. В этот момент интегральная часть может накапливать ошибку и это приводит к забросам по силе. Вариантов избавления от этой проблемы много и они есть и в Advanced версии ПИД-регулятора от NI.
Вообще поддерживать нулевую силу в данной связке достаточно сложно. Лучше проводить эксперименты с поддержанием какой-то константы, отличной от нуля. Ну и при смене знака силы всегда будут проблемы. Поддержание силы возле нуля - самая сложная задача в управлении цилиндрами, так как там возникает огромное количество нелинейностей и их надо как-то компенсировать.
2. Обычно для подобных задач выбирается динамический тип гидроцилиндров. У него гидростатические подшипники, которые минимизируют влияние трения на характеристики, и площадь в поршневой и плунжерной полостях одинаковые, чтобы обеспечить один коэффициент усиления гидроцилиндра при нагружении в плюс и минус. Если у вас не такой цилиндр, то возникнут дополнительные трудности. Так как появляется значительное влияние трения покоя и цилиндр может двигаться рывками и это будет видно на графике движения штока и сказываться на силе. Ну и из-за разных площадей в полостях силы в плюс и минус будут разными и скорость перемещения будет разная при одинаковом расходе. Возможно придется подбирать разные настройки ПИ-регулятора для растяжения и сжатия.
Пока советую попробовать провести эксперименты с поддержанием ненулевой силы (хотя бы 10% от номинала цилиндра) и начать просто с П-регулятора. Конечно с ним будет качество жуткое, но увидите динамику и потом можно постепенно добавлять интегральную составляющую. Если хотите настроить регулятор без построения моделей, то можно попробовать с П-регулятора и повышать коэффициент, пока не увидите незатухающие колебания на полке (граница устойчивости), затем уменьшаете П составляющую на20-40% и постепенно добавляете И составляющую, пока не найдете наилучший вариант.
P.S. Eсли используете ПИД-регулятор от NI, то для увеличения влияния И составляющей значение Ti [min] надо уменьшать. Начните с 1 и уменьшайте до 0,01.
Еще укажите модель гидроцилиндра и тип сервоклапана, которым управляете.
Пока стоит обратить внимание на следующие проблемы:
1. По графику силы видно, что в связке гидроцилиндр-изделие есть люфт. Это видно по полкам в нуле на графике силы. В этот момент цилиндр пытается выбрать зазор в соединении и сила становится неуправляемой. В этот момент интегральная часть может накапливать ошибку и это приводит к забросам по силе. Вариантов избавления от этой проблемы много и они есть и в Advanced версии ПИД-регулятора от NI.
Вообще поддерживать нулевую силу в данной связке достаточно сложно. Лучше проводить эксперименты с поддержанием какой-то константы, отличной от нуля. Ну и при смене знака силы всегда будут проблемы. Поддержание силы возле нуля - самая сложная задача в управлении цилиндрами, так как там возникает огромное количество нелинейностей и их надо как-то компенсировать.
2. Обычно для подобных задач выбирается динамический тип гидроцилиндров. У него гидростатические подшипники, которые минимизируют влияние трения на характеристики, и площадь в поршневой и плунжерной полостях одинаковые, чтобы обеспечить один коэффициент усиления гидроцилиндра при нагружении в плюс и минус. Если у вас не такой цилиндр, то возникнут дополнительные трудности. Так как появляется значительное влияние трения покоя и цилиндр может двигаться рывками и это будет видно на графике движения штока и сказываться на силе. Ну и из-за разных площадей в полостях силы в плюс и минус будут разными и скорость перемещения будет разная при одинаковом расходе. Возможно придется подбирать разные настройки ПИ-регулятора для растяжения и сжатия.
Пока советую попробовать провести эксперименты с поддержанием ненулевой силы (хотя бы 10% от номинала цилиндра) и начать просто с П-регулятора. Конечно с ним будет качество жуткое, но увидите динамику и потом можно постепенно добавлять интегральную составляющую. Если хотите настроить регулятор без построения моделей, то можно попробовать с П-регулятора и повышать коэффициент, пока не увидите незатухающие колебания на полке (граница устойчивости), затем уменьшаете П составляющую на20-40% и постепенно добавляете И составляющую, пока не найдете наилучший вариант.
P.S. Eсли используете ПИД-регулятор от NI, то для увеличения влияния И составляющей значение Ti [min] надо уменьшать. Начните с 1 и уменьшайте до 0,01.
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Регулятор для гиддроцилиндра
Всем спасибо за ответы, бОльшую часть рекомендаций уже перепробовали.
ПИД работает на уровне ПЛИС
Второй - это приближение первого, тот мелкий синус - от перерегулирования. Что ещё не пробовали из советов сейчас будем проверять
ПИД работает на уровне ПЛИС
Сцепка жёсткая (не считая люфта), так что оба положения - одно и то же, вот два графика.Andrew Lunev писал(а): ↑20 ноя 2020, 06:21 Для анализа хотелось бы видеть еще и положение испытуемого изделия (ту самую синусоиду, по которой он движется) и положение штока гидроцилиндра.
Второй - это приближение первого, тот мелкий синус - от перерегулирования. Что ещё не пробовали из советов сейчас будем проверять
-
- adviser
- Сообщения: 231
- Зарегистрирован: 06 ноя 2020, 15:37
- Версия LabVIEW: 19
- Благодарил (а): 18 раз
- Поблагодарили: 37 раз
- Контактная информация:
Re: Регулятор для гиддроцилиндра
Посмотреть где набирается инерция.
Устранить люфты по перемещению.
Попробовать расслабить сальник на штоке, если он регулируемый, вплоть до начала утечки масла. Таким образом уменьшится трение покоя и соответственно люфт по силе.