-
- Опять про PID вопрос: Оптимальный PID регулятор. Есть три параметра, на которые влияет
скорость, и они через коммутатор подключены ко входу PID
регулятора, выход PID регулятора управляет скоростью. У каждого
входного параметра есть оптимальный диапазон значений и чем
значение больше, тем лучше. Коммутатор должен определить и
подключить тот параметр, который находится в оптимальной зоне. Как
это лучше сделать и есть ли реальные реализации такого управления? - Make_Pic(20.03.2025 14:31)
- Еще раз спрошу про Оптимальный PID регулятор (режим бурения,
управление скоростью опускания бурильного инструмента (долота)
конкретно скоростью лебедки, оптимальный -> имеем три
параллельных PID канала регулировки скорости лебедки 1 - давление
на грунт (породу), 2 - момент на инструменте (момент вращения
верхнего привода, который вращает долото), 3 - перепад давлений
промывочной жидкости. Каждый входной параметр имеет допустимые
границы и оптимальные (обычно Make_Pic(232 знак., 19.04.2025 14:58)
- У тебя сейчас при переключении есть ступеньки переходных процессов? - LordN(19.04.2025 15:37)
- Да и после переключения идет выходной PID в разнос, потом
успокаивается, думаю как это решить - Make_Pic(19.04.2025 15:50)
- например LordN(568 знак., 19.04.2025 16:14)
- >>> после переключения и ошибку и производную с
заданной медленностью поднимай к реальному значению такие штуки
именую догоняющим счетчиком или интегралом с байпасом. как догнали,
так счетчик отключен, а байпас включен >>> - Какой
алгоритм, можно здесь привести? - Make_Pic(21.04.2025 05:43)
- это у меня есть, но фбд, если будешь разбираться, то качай среду
отсюда LordN(122 знак., 21.04.2025 07:41, ссылка, ссылка)
- Спасибо - Make_Pic(21.04.2025 13:54)
- это у меня есть, но фбд, если будешь разбираться, то качай среду
отсюда LordN(122 знак., 21.04.2025 07:41, ссылка, ссылка)
- Спасибо - попробую - Make_Pic(19.04.2025 20:07)
- ну и вапще. LordN(303 знак., 20.04.2025 05:18)
- Подскажи про "разложение на запчасти" я использую printf в UART к
которому подключен serialplot и смотрю в виде графиков. Какие
добавить переменные для просмотра кроме уставки, выхода, входа, и P
I D составляющих? - Make_Pic(20.04.2025 18:02)
- ну и я примерно тоже самое использую, только вывожу модбасом,
поскольку он уже есть. LordN(328 знак., 21.04.2025 06:08)
- По поводу догонять значение объясни pls - как проще сделать? - Make_Pic(21.04.2025 06:21)
- глянь, так понятно будет? LordN(1 знак., 21.04.2025 06:43, картинка)
- вот еще вариант, проще LordN(1 знак., 21.04.2025 10:39, картинка)
- У меня отдалённо похожий фильтр используется для управления
морозильными камерами (ограничение скорости заморозки/разморозки).
Одно непонятно - нахрена тебе жесткая привязка к тику таймера? - Cкpипaч(28.04.2025 09:29)
- это не тик таймера, это тик программного цикла плк LordN(303 знак., 28.04.2025 09:55)
- Первый каскад - три регулятора каждый на свой параметр (момент СВП,
перепад давлений манифольда, давление на долото) обновление 20мс,
выходной PID (управляет скоростью лебедки) обновление 100мс. До
пяти шагов можно спокойно делать шаговым фильтром - Make_Pic(28.04.2025 10:46)
- Как я понимаю, вам уставку скорости лебёдки нужно брать MIN() от трех выходов ПИД первого каскада? И зачем там ограничение скорости? Cкpипaч(548 знак., 28.04.2025 10:58)
- Я бы, все же, привязал такое к "нормальному" времени. Раз в десять
секунд, например. - Cкpипaч(28.04.2025 10:02)
- ты о каком-то другом функционале говоришь и думаешь. для моего это
смысла не имеет. - LordN(28.04.2025 10:03)
- Возможно. Просто на рефлексах обхожу стороной все, что потребует
"пересчета коеффициентов" при переезде на другое железо. В том
числе, на ПЛК другого производителя. - Cкpипaч(28.04.2025 10:05)
- нормировка. без неё никуда. - LordN(28.04.2025 10:28)
- Возможно. Просто на рефлексах обхожу стороной все, что потребует
"пересчета коеффициентов" при переезде на другое железо. В том
числе, на ПЛК другого производителя. - Cкpипaч(28.04.2025 10:05)
- ты о каком-то другом функционале говоришь и думаешь. для моего это
смысла не имеет. - LordN(28.04.2025 10:03)
- Первый каскад - три регулятора каждый на свой параметр (момент СВП,
перепад давлений манифольда, давление на долото) обновление 20мс,
выходной PID (управляет скоростью лебедки) обновление 100мс. До
пяти шагов можно спокойно делать шаговым фильтром - Make_Pic(28.04.2025 10:46)
- У него датчик даёт сигнал слишком редко. И, поэтому лучше
привязаться к обновлениям его выхода, чтобы не вносить переменную
задержку из-за несовпадения фаз выдачи результата датчиком и цикла
ПИД-регулятора. - Nikolay_Po(28.04.2025 09:36)
- Не вижу этого в тексте. Больше похоже на попытку "предельно гладко"
переходить из состояние в состояние. Это самообман. Реальные
механизмы - цифровые/дискретные. - Cкpипaч(28.04.2025 09:41)
- По поводу механизмов я не понял. Включил/выключил в моем случае не
покатит, или ты что то другое имел ввиду? - Make_Pic(28.04.2025 10:39)
- Да, это уже сильно в сторону от вашего вопроса. Сори :) - Cкpипaч(28.04.2025 10:43)
- По поводу механизмов я не понял. Включил/выключил в моем случае не
покатит, или ты что то другое имел ввиду? - Make_Pic(28.04.2025 10:39)
- Не вижу этого в тексте. Больше похоже на попытку "предельно гладко"
переходить из состояние в состояние. Это самообман. Реальные
механизмы - цифровые/дискретные. - Cкpипaч(28.04.2025 09:41)
- это не тик таймера, это тик программного цикла плк LordN(303 знак., 28.04.2025 09:55)
- С работой "шагового фильтра" более менее ясно, а как его лучше
подключить его вход и выход в мой регулятор - мультиплексор ->
выходной PID (броски на выходе мультиплексора)? - Make_Pic(28.04.2025 08:33)
- я бы подключал на вход, чтобы избавиться от ступенек переключения,
которые сразу залезут в интеграл и дернут исполнительный механизм,
который тоже как-то повлияет на входную ошибку. - LordN(28.04.2025 08:57)
- тобишь между выходом мультиплексора и входом выходного PID? - Make_Pic(28.04.2025 09:07)
- да. входной параметр который со ступенькой прогоняешь через этот фильтр. чтоб ступеньки не было. - LordN(28.04.2025 09:20)
- А "догоняемое" значение с чего и как лучше брать? С выхода
выходного PID? - Make_Pic(28.04.2025 09:10)
- вопроса не понял. что на вход фильтра приходит - то и догоняемое. - LordN(28.04.2025 09:22)
- Понял! :) Заработался - Make_Pic(28.04.2025 09:42)
- вопроса не понял. что на вход фильтра приходит - то и догоняемое. - LordN(28.04.2025 09:22)
- тобишь между выходом мультиплексора и входом выходного PID? - Make_Pic(28.04.2025 09:07)
- я бы подключал на вход, чтобы избавиться от ступенек переключения,
которые сразу залезут в интеграл и дернут исполнительный механизм,
который тоже как-то повлияет на входную ошибку. - LordN(28.04.2025 08:57)
- У меня отдалённо похожий фильтр используется для управления
морозильными камерами (ограничение скорости заморозки/разморозки).
Одно непонятно - нахрена тебе жесткая привязка к тику таймера? - Cкpипaч(28.04.2025 09:29)
- вот еще вариант, проще LordN(1 знак., 21.04.2025 10:39, картинка)
- глянь, так понятно будет? LordN(1 знак., 21.04.2025 06:43, картинка)
- По поводу догонять значение объясни pls - как проще сделать? - Make_Pic(21.04.2025 06:21)
- ну и я примерно тоже самое использую, только вывожу модбасом,
поскольку он уже есть. LordN(328 знак., 21.04.2025 06:08)
- Подскажи про "разложение на запчасти" я использую printf в UART к
которому подключен serialplot и смотрю в виде графиков. Какие
добавить переменные для просмотра кроме уставки, выхода, входа, и P
I D составляющих? - Make_Pic(20.04.2025 18:02)
- ну и вапще. LordN(303 знак., 20.04.2025 05:18)
- >>> после переключения и ошибку и производную с
заданной медленностью поднимай к реальному значению такие штуки
именую догоняющим счетчиком или интегралом с байпасом. как догнали,
так счетчик отключен, а байпас включен >>> - Какой
алгоритм, можно здесь привести? - Make_Pic(21.04.2025 05:43)
- например LordN(568 знак., 19.04.2025 16:14)
- Да и после переключения идет выходной PID в разнос, потом
успокаивается, думаю как это решить - Make_Pic(19.04.2025 15:50)
- У тебя сейчас при переключении есть ступеньки переходных процессов? - LordN(19.04.2025 15:37)
- если я правильно понял вопрос - табличная функция, ну или график, если пользоваться устоявшимися терминами - LordN(20.03.2025 16:55)
- Я думаю, для начала надо нарисовать структурную схему системы регулирования, многое станет понятно... - IBAH(20.03.2025 16:36)
- Для начала, приведите критерии оптимальности. Отсюда и станет
понятно, как определять. Может, банально методом перебора значений.
Или генетическим алгоритмом, если система толерантна к нештатной
работе регулятора, к выбросам или медленному выходу на значение. - Nikolay_Po(20.03.2025 16:18)
- Есть три параметра на входе регулятора скорости. Критерием оптимального режима является выбор одного из трех параметров по его максимуму и максимуму скорости совместно с этим параметром. На параметры влияют внешние факторы и в какой то момент возникнет максимум у другого параметра, система должна переключиться на регулирование с этим входным параметром, причем плавно переключиться без броска скорости. Максимум определяется в заданных границах для каждого параметра. - Make_Pic(21.03.2025 09:06)
- Мне кажется у ТС речь идет о нелинейном звене. - IBAH(20.03.2025 16:35)
- Почему? - Make_Pic(21.03.2025 09:07)
- Еще раз спрошу про Оптимальный PID регулятор (режим бурения,
управление скоростью опускания бурильного инструмента (долота)
конкретно скоростью лебедки, оптимальный -> имеем три
параллельных PID канала регулировки скорости лебедки 1 - давление
на грунт (породу), 2 - момент на инструменте (момент вращения
верхнего привода, который вращает долото), 3 - перепад давлений
промывочной жидкости. Каждый входной параметр имеет допустимые
границы и оптимальные (обычно Make_Pic(232 знак., 19.04.2025 14:58)
- Здесь же задам вопрос по сигналам энкодера - С энкодера на PID
поступает сигнал с большим биением частоты (механические биения,
изношены механизмы, не точно установлен энкодер, не устранить
причину в механике, нет возможности). Ка лучше устранить биения
программно? Фильтрация, другие способы программной обработки? - Make_Pic(17.03.2025 06:56)
- Следящий фильтр. Усреднять раз за оборот, то есть текущий период усреднения будет меняться вслед за изменением частоты вращения. - Yurasvs(20.03.2025 17:44)
- Любая фильтрация = задержка. Любая задержка, проблема с устойчивостью. Я раз делал ввод энкодером скорости с модульной конвейерной ленты (гремит как сука!), считал период, потом ФНЧ. Но ОСС мне было не нада, у меня была параметрика IBAH(1 знак., 20.03.2025 16:32, картинка)
- биения ниже частоты с энкодера -1024 импульса на оборот,
напрашивается ФВЧ? Или как это правильно делается для фильтрации
биений? Усреднение? - Make_Pic(17.03.2025 07:07)
- мертвая зона на ошибку, видимо, плюс фильтр - LordN(17.03.2025 08:45)
- иногда полезно снять реальную переходную характеристику своего
объекта регулирования. LordN(89 знак., 14.03.2025 18:39)
- Как лучше / проще это сделать? - Make_Pic(17.03.2025 06:49)
- зачем эмулировать? заведи датчик на е-фильтр и забирай данные с его
выхода. например. или вообще напрямую. только как-то не понимаю шо
за пид такой с несколькими датчиками? LordN(329 знак., 07.03.2025 12:59)
- А если я буду запоминать значения двух предыдущих циклов по 200мс и
аппроксимировать промежуточные точки с периодом 20мс и это
подсовывать PID регулятору с датчика с вычисленными значениями, но
будет постоянная задержка в 200мс - есть смысл так делать? - Make_Pic(12.03.2025 07:34)
- Тоже самое за тебя делает И-составляющая. Cкpипaч(104 знак., 12.03.2025 07:58)
- В первом каскаде с датчика только PD, интегральной составляющей нет - Make_Pic(12.03.2025 08:01)
- Главный вопрос - какова постоянная времени объекта? Должна быть
хотябы в сто раз больше чем период опроса датчика. Cкpипaч(176 знак., 12.03.2025 08:15)
- примерно 2 секунды - Make_Pic(12.03.2025 08:19)
- опрос датчика веса колонны 200мс меньше не сделать, первый контур
регулирования 20мс. второй 200мс - Make_Pic(12.03.2025 08:20)
- Там где вес, там уравнение Мещерского, нет? Вы уверенны что вам
именно ПИД нужен? И, да, первый контур у вас 200мс, раз реаьный
опрос датчика с такой частотой, не нужно обманывать себя. - Cкpипaч(12.03.2025 08:39)
- Нет во время процесса регулирования управление опусканием буровой
колонны, масса постоянная. Необходимо два контура, второй управляет
скоростью опускания буровой колонны - Make_Pic(12.03.2025 09:30)
- Тогда вам нужно, для ПИД, принимать массу колонны постоянной, раз
уж процесс у вас быстрый, а масса не меняется быстро. В таком
случае, можете экстраполировать значение веса, а ступеньки, когда
не сошлось, ограничивать по скорости, фильтром, как рекомендовал
Скрипач. Nikolay_Po(380 знак., 12.03.2025 10:04)
- Вес колонны может аварийно, в силу проходки забоя на предсказанных, но неисследованных пластах может измениться на отрицательный - это, не "дай бог "вытеснение", тогда агрегаты утяжелять раствор не успевают. Но надо. ТС работает. А так-то и вообще, как в этом методе попадания в вену живой Планеты похихикивать в массе неправильными "покорителями" Природы? :) - bnb62(14.03.2025 19:07)
- Тогда вам нужно, для ПИД, принимать массу колонны постоянной, раз
уж процесс у вас быстрый, а масса не меняется быстро. В таком
случае, можете экстраполировать значение веса, а ступеньки, когда
не сошлось, ограничивать по скорости, фильтром, как рекомендовал
Скрипач. Nikolay_Po(380 знак., 12.03.2025 10:04)
- Нет во время процесса регулирования управление опусканием буровой
колонны, масса постоянная. Необходимо два контура, второй управляет
скоростью опускания буровой колонны - Make_Pic(12.03.2025 09:30)
- Там где вес, там уравнение Мещерского, нет? Вы уверенны что вам
именно ПИД нужен? И, да, первый контур у вас 200мс, раз реаьный
опрос датчика с такой частотой, не нужно обманывать себя. - Cкpипaч(12.03.2025 08:39)
- опрос датчика веса колонны 200мс меньше не сделать, первый контур
регулирования 20мс. второй 200мс - Make_Pic(12.03.2025 08:20)
- примерно 2 секунды - Make_Pic(12.03.2025 08:19)
- Главный вопрос - какова постоянная времени объекта? Должна быть
хотябы в сто раз больше чем период опроса датчика. Cкpипaч(176 знак., 12.03.2025 08:15)
- В первом каскаде с датчика только PD, интегральной составляющей нет - Make_Pic(12.03.2025 08:01)
- Тоже самое за тебя делает И-составляющая. Cкpипaч(104 знак., 12.03.2025 07:58)
- e-фильтр - экспоненциальный? - Make_Pic(11.03.2025 09:37)
- да - LordN(11.03.2025 10:19)
- Как он помогает в моем случае? - Make_Pic(11.03.2025 10:26)
- уберет большие ступеньки если они там есть - LordN(11.03.2025 11:22)
- т.е. постоянная времени фильтра должна быть больше 200мс? - Make_Pic(11.03.2025 13:39)
- да - LordN(11.03.2025 13:48)
- С подачи Івана, начал ставить перед БИХ фильтр ограничения
мощности. Результат - нравится. - Cкpипaч(11.03.2025 11:37)
- что это за зверь? LordN(24 знак., 11.03.2025 12:28)
- Бесконечная импульсная характеристика, к.м.к. В отличие от КИХ. - Dingo(11.03.2025 13:33)
- не, я не про бих-ких, я про ограничение мощности и фильтр перед ним - LordN(11.03.2025 13:47)
- Как-то вот-так: Cкpипaч(329 знак., 11.03.2025 18:38)
- насколько я смог понять, то что, ты написал, называется мертвая
зона, служит для исключения шума регулятора вблизи уставки. LordN(100 знак., 12.03.2025 06:29, картинка)
- Это другое. Когда (T - Tsp) в несколько раз больше чем max_Tsp,
создадим "лесенку" ограничения скорости выхода на нулевую ошибку. Cкpипaч(147 знак., 12.03.2025 07:56)
- хочешь сказать что задержка дает такой эффект? - LordN(12.03.2025 08:52)
- Ты не понял. Давай на примерах. Cкpипaч(798 знак., 12.03.2025 09:58)
- хочешь сказать что задержка дает такой эффект? - LordN(12.03.2025 08:52)
- ну, а полное преобразование ошибки к виду, подаваемому на вход
регулятора, с мертвой зоной и с ограничением величины ошибки,
примерно такое LordN(1 знак., 12.03.2025 07:00, картинка)
- тут, кстате, можно по всякому извращаться, можно наложить функцию,
не помню её фамилии, которая плавная и ведет себя как огибающая вот
этого что на рисунке. LordN(173 знак., 12.03.2025 07:08, картинка)
- Пожалуйста имя и фамилию :) сглаживающей функции в студию! - Make_Pic(13.03.2025 08:58)
- хоть убей не помню.. надо какой-то справочник рыть, и тоже не
помню. даже близко. LordN(41 знак., 13.03.2025 10:24)
- вопщем, как любит повторять наш Скиф, учу дипсичить, недорого LordN(25 знак., 13.03.2025 10:46, картинка, картинка)
- В тему - Опять надипсичил, вон из моей фирмы! Make_Pic(1 знак., 13.03.2025 11:10, картинка)
- Напомнило сцену из "Назад в будущее", в которой японский босс уволил будущую версию Марти: SciFi(1 знак., 13.03.2025 11:13, картинка)
- В тему - Опять надипсичил, вон из моей фирмы! Make_Pic(1 знак., 13.03.2025 11:10, картинка)
- вопщем, как любит повторять наш Скиф, учу дипсичить, недорого LordN(25 знак., 13.03.2025 10:46, картинка, картинка)
- хоть убей не помню.. надо какой-то справочник рыть, и тоже не
помню. даже близко. LordN(41 знак., 13.03.2025 10:24)
- Пожалуйста имя и фамилию :) сглаживающей функции в студию! - Make_Pic(13.03.2025 08:58)
- тут, кстате, можно по всякому извращаться, можно наложить функцию,
не помню её фамилии, которая плавная и ведет себя как огибающая вот
этого что на рисунке. LordN(173 знак., 12.03.2025 07:08, картинка)
- Это другое. Когда (T - Tsp) в несколько раз больше чем max_Tsp,
создадим "лесенку" ограничения скорости выхода на нулевую ошибку. Cкpипaч(147 знак., 12.03.2025 07:56)
- насколько я смог понять, то что, ты написал, называется мертвая
зона, служит для исключения шума регулятора вблизи уставки. LordN(100 знак., 12.03.2025 06:29, картинка)
- Как-то вот-так: Cкpипaч(329 знак., 11.03.2025 18:38)
- не, я не про бих-ких, я про ограничение мощности и фильтр перед ним - LordN(11.03.2025 13:47)
- Бесконечная импульсная характеристика, к.м.к. В отличие от КИХ. - Dingo(11.03.2025 13:33)
- что это за зверь? LordN(24 знак., 11.03.2025 12:28)
- т.е. постоянная времени фильтра должна быть больше 200мс? - Make_Pic(11.03.2025 13:39)
- уберет большие ступеньки если они там есть - LordN(11.03.2025 11:22)
- Как он помогает в моем случае? - Make_Pic(11.03.2025 10:26)
- да - LordN(11.03.2025 10:19)
- Не корректно вводую написал - да, каскадное включение PID, но из за
перепадов значений каждые 200мс появляются всплески, которые в
"разнос" посылают последний каскад PID регулятора. - Make_Pic(07.03.2025 13:10)
- каскад всегда должен строиться с отношением скоростей 1/10 где-то.
если у тебя первый, быстрый каскад, 200мс, а второй, медленный,
20мс, то это никогда толком работать не будет пока второй не
сделаешь 2000мс - LordN(07.03.2025 14:08)
- Как достигается эта разница в 1/10 при каскадировании? - Make_Pic(07.03.2025 23:04)
- Соотношением постоянных времени. - Boвa(09.03.2025 09:28)
- тобишь цикл расчета PID в 10 раз медленнее предыдущего каскада? А
если 4 каскада, то для последнего 20мс*1000 = 20 секунд цикл?
Многовато - что то не так :( - Make_Pic(07.03.2025 23:13)
- циклы-то могут быть и одинаковыми, времена интегрирования должны отличаться порядка в 10 раз. LordN(124 знак., 08.03.2025 06:56)
- ну и с датчиками примерно такое же соотношение. если датчик
опрашивается с периодом 20мс, то период его ПИДа д.б. порядка
200мс. если быстрее - тоже хуйня получится. - LordN(07.03.2025 14:15)
- датчик быстрее чтобы показания была возможность предварительно
профильтровать? - AlexG(07.03.2025 15:48)
- ну да. иначе будешь вечно опаздывать дополнительное транспортное запаздывание. где-то это пох, а где-то и критично. LordN(288 знак., 07.03.2025 16:09)
- датчик быстрее чтобы показания была возможность предварительно
профильтровать? - AlexG(07.03.2025 15:48)
- Как достигается эта разница в 1/10 при каскадировании? - Make_Pic(07.03.2025 23:04)
- каскад всегда должен строиться с отношением скоростей 1/10 где-то.
если у тебя первый, быстрый каскад, 200мс, а второй, медленный,
20мс, то это никогда толком работать не будет пока второй не
сделаешь 2000мс - LordN(07.03.2025 14:08)
- А если я буду запоминать значения двух предыдущих циклов по 200мс и
аппроксимировать промежуточные точки с периодом 20мс и это
подсовывать PID регулятору с датчика с вычисленными значениями, но
будет постоянная задержка в 200мс - есть смысл так делать? - Make_Pic(12.03.2025 07:34)
- Не слушай Анвара. Я разрешаю :-) - il-2(07.03.2025 12:50)
- Спасибо, уже пошел пилить... - Make_Pic(07.03.2025 12:57)
- Опять про PID вопрос: Оптимальный PID регулятор. Есть три параметра, на которые влияет
скорость, и они через коммутатор подключены ко входу PID
регулятора, выход PID регулятора управляет скоростью. У каждого
входного параметра есть оптимальный диапазон значений и чем
значение больше, тем лучше. Коммутатор должен определить и
подключить тот параметр, который находится в оптимальной зоне. Как
это лучше сделать и есть ли реальные реализации такого управления? - Make_Pic(20.03.2025 14:31)