-
- Еще раз спрошу про Оптимальный PID регулятор (режим бурения,
управление скоростью опускания бурильного инструмента (долота)
конкретно скоростью лебедки, оптимальный -> имеем три
параллельных PID канала регулировки скорости лебедки 1 - давление
на грунт (породу), 2 - момент на инструменте (момент вращения
верхнего привода, который вращает долото), 3 - перепад давлений
промывочной жидкости. Каждый входной параметр имеет допустимые
границы и оптимальные (обычно Make_Pic(232 знак., 19.04.2025 14:58)
- PID это не оптимальный. Оптималный это LQR на пример. Но надо знать
мат модель объекта и если нет возможности получить полное состояние
то надо будет делать наблюдатель(может подойдет фильтр Кальмана).
Тут вроде задача больше подходит для MPC регулятора. MPC может быть
поверху PID (если канал имеет достаточный порядок астатизма).
Задача не тривиальная. Сравнение framer(1 знак., 15.08.2025 21:16, картинка)
- LQR может быть чувствительным к измененниям параметров системы и её
нелинейности. - Boвa(16.08.2025 20:25)
- Да. Поэтому линеаризируют в точках близких к рабочим. Но никакой
PID PIIIDDD не сравниться с оптимальными регуляторaми LQR/LQG. А
изменение параметров это нестационарный объект и к это мужен особый
подход. - framer(16.08.2025 20:32)
- Нет. Параметры могут уползти в процессе эксплуатации или из-за
неточности изготовления/настройки. К тожу же возникает вопрос о
запаздывании в объекте. - Boвa(17.08.2025 09:16)
- Иммея в виду LQR берем во внимание оптимальные регуляторы.
Существуют и оптимальные робастные регулаторы H∞ (Hinf). А
запаздывание тоже моделируется просто. в трансмитанции
G(s)=G0(s)e^−Tds . В модели состояния x˙(t)=Ax(t)+Bu(t−Td)
Теория управления очень интересная и сложная дисциплина. PID это
маленький кусочек :) framer(2 знак., 17.08.2025 09:37 - 09:42, ссылка, картинка)
- Забавная картинка! - Make_Pic(17.08.2025 09:41)
- +1 - Make_Pic(17.08.2025 09:34)
- Иммея в виду LQR берем во внимание оптимальные регуляторы.
Существуют и оптимальные робастные регулаторы H∞ (Hinf). А
запаздывание тоже моделируется просто. в трансмитанции
G(s)=G0(s)e^−Tds . В модели состояния x˙(t)=Ax(t)+Bu(t−Td)
Теория управления очень интересная и сложная дисциплина. PID это
маленький кусочек :) framer(2 знак., 17.08.2025 09:37 - 09:42, ссылка, картинка)
- Нет. Параметры могут уползти в процессе эксплуатации или из-за
неточности изготовления/настройки. К тожу же возникает вопрос о
запаздывании в объекте. - Boвa(17.08.2025 09:16)
- Да. Поэтому линеаризируют в точках близких к рабочим. Но никакой
PID PIIIDDD не сравниться с оптимальными регуляторaми LQR/LQG. А
изменение параметров это нестационарный объект и к это мужен особый
подход. - framer(16.08.2025 20:32)
- LQR может быть чувствительным к измененниям параметров системы и её
нелинейности. - Boвa(16.08.2025 20:25)
- Я бы им веса раздавал. Не просто выбирал, а плавно менял веса
выходов. Так, чтобы сумма всех весов была всегда одним значением. И
чей параметр дальше от оптимума и ближе к предельному - того вес и
повышал бы, уменьшая у других. Не переключался, а просто принимал
больше во внимание. Nikolay_Po(119 знак., 15.08.2025 19:27)
- Не совсем понял как учитывать вес регуляторе? - Make_Pic(16.08.2025 13:17)
- Не в регуляторе, а выхода регулятора. После трёх ПИДов по
параметрам, стоит надсмотрщик, который собирает из их управляющих
сигналов итоговый сигнал для скорости лебёдки. И берёт от каждого
не фиксированную долю, а согласно качеству регулирования. Nikolay_Po(446 знак., 16.08.2025 15:19)
- Стандартный подход использование MPC на верхнем уровние. Например: framer(126 знак., 16.08.2025 15:39, ссылка, youtube)
- MPC - это дискретный PID я так понял? Не подходит. - Make_Pic(16.08.2025 19:18)
- Нет, это совсем не дискретная штука, а штука, обладающая моделью
объекта. Вот я перевёл нагреватель экструдера 3Д-принтера с ПИД на
MPC - предсказательное управление. Алгоритм запрограммирован для
нагревателя. Входные параметры: Nikolay_Po(946 знак., 16.08.2025 19:41 - 20:42)
- А если не секрет то на какой платформе и какие библиотеки
использовали? Есть крутой проект но то для мелких mcu не тянет. framer(1 знак., 16.08.2025 20:16, ссылка)
- Это Marlin Firmware. Работает даже на Mega2560@16МГц. Посмотрите
здесь: Nikolay_Po(178 знак., 16.08.2025 20:33, ссылка)
- Спасибо. - framer(16.08.2025 20:35)
- Это Marlin Firmware. Работает даже на Mega2560@16МГц. Посмотрите
здесь: Nikolay_Po(178 знак., 16.08.2025 20:33, ссылка)
- А если не секрет то на какой платформе и какие библиотеки
использовали? Есть крутой проект но то для мелких mcu не тянет. framer(1 знак., 16.08.2025 20:16, ссылка)
- Нет, это совсем не дискретная штука, а штука, обладающая моделью
объекта. Вот я перевёл нагреватель экструдера 3Д-принтера с ПИД на
MPC - предсказательное управление. Алгоритм запрограммирован для
нагревателя. Входные параметры: Nikolay_Po(946 знак., 16.08.2025 19:41 - 20:42)
- MPC - это дискретный PID я так понял? Не подходит. - Make_Pic(16.08.2025 19:18)
- Стандартный подход использование MPC на верхнем уровние. Например: framer(126 знак., 16.08.2025 15:39, ссылка, youtube)
- Не в регуляторе, а выхода регулятора. После трёх ПИДов по
параметрам, стоит надсмотрщик, который собирает из их управляющих
сигналов итоговый сигнал для скорости лебёдки. И берёт от каждого
не фиксированную долю, а согласно качеству регулирования. Nikolay_Po(446 знак., 16.08.2025 15:19)
- Если отключить интегральную составляющую, то наверное можно. Но я
бы выстроил (пусть и притянуто за уши) каскадное регулирование. Cкpипaч(190 знак., 15.08.2025 20:50)
- Каскадный делали - стабильную работу не смогли настроить, поэтому
перешли к этой ахинее, которую выше описал. Проблема, осталась уйти
от бросков при переключении источника регулируемого параметра, и
иногда PID уходит в кратковременный разнос, но потом
стабилизируется, хотелось привести колебания и выбросы к минимуму
при переключении. - Make_Pic(16.08.2025 19:20)
- похоже что тебе нужен более высокий уровень регулятора. модельный. тут кто-то выше уже давал наводку на варианты. LordN(326 знак., 16.08.2025 19:48)
- Просьба не пинать ногами... а вы не думали просто оцифровать логику
опытного машиниста? Спосить дядьку, как он делает вручную и
перенести логику в код? Cкpипaч(200 знак., 16.08.2025 19:32)
- Вы изобрели fuzzy logic. Он так и работет :) - framer(16.08.2025 19:39)
- тю. этот фаззилогик уже давно называется ии. LordN(3 знак., 16.08.2025 19:43)
- Нет. Fuzzy logic это расширение логики на "слегка больше" или "почти равно". maik-vs(353 знак., 16.08.2025 20:18)
- Да вроде как в матлаб еще стандартный Mamdani. А что касаеться ии то полным ходом рaзвиваеться RL (Reinforcement learning). Вот это забористая штука :) - framer(16.08.2025 19:55)
- Не то, и не другое (но после спора с финансистами о том что такое IoT я уже ни в чем не уверен). Cкpипaч(285 знак., 16.08.2025 19:53)
- тю. этот фаззилогик уже давно называется ии. LordN(3 знак., 16.08.2025 19:43)
- Вы изобрели fuzzy logic. Он так и работет :) - framer(16.08.2025 19:39)
- Каскадный делали - стабильную работу не смогли настроить, поэтому
перешли к этой ахинее, которую выше описал. Проблема, осталась уйти
от бросков при переключении источника регулируемого параметра, и
иногда PID уходит в кратковременный разнос, но потом
стабилизируется, хотелось привести колебания и выбросы к минимуму
при переключении. - Make_Pic(16.08.2025 19:20)
- Не совсем понял как учитывать вес регуляторе? - Make_Pic(16.08.2025 13:17)
- А вообще есть в интернете примеры такого применения PID регулятора с переключением регулируемого параметра, если последний попадает в зону оптимальных значений? - Make_Pic(15.08.2025 16:22)
- У тебя сейчас при переключении есть ступеньки переходных процессов? - LordN(19.04.2025 15:37)
- Да и после переключения идет выходной PID в разнос, потом
успокаивается, думаю как это решить - Make_Pic(19.04.2025 15:50)
- например LordN(568 знак., 19.04.2025 16:14)
- А Kp Ki Kd дожны быть разными для каждого отдельно регулируемого
входного параметра? - Make_Pic(15.08.2025 17:13)
- ну да. разные объекты управления - разные регуляторы, разные наборы
коэффициентов. LordN(70 знак., 15.08.2025 17:41)
- Выходной регулятор один - Make_Pic(16.08.2025 19:19)
- речь же про каскад регуляторов, правильно помню? - LordN(16.08.2025 19:34)
- Да. Предварительные на каждый параметр и выходной с коммутатором на
входе. - Make_Pic(17.08.2025 09:37)
- так каждый регулятор в каскаде работает со своим объектом
управления. - LordN(17.08.2025 23:08)
- это да, есть предложение как их объединить или улучшить мой вариант
с переключением? - Make_Pic(19.08.2025 12:27)
- общий план работы секвенсора примерно таков: LordN(2135 знак., 19.08.2025 13:01)
- "Пища" для размышления, спасибо. - Make_Pic(20.08.2025 10:42)
- общий план работы секвенсора примерно таков: LordN(2135 знак., 19.08.2025 13:01)
- это да, есть предложение как их объединить или улучшить мой вариант
с переключением? - Make_Pic(19.08.2025 12:27)
- так каждый регулятор в каскаде работает со своим объектом
управления. - LordN(17.08.2025 23:08)
- Да. Предварительные на каждый параметр и выходной с коммутатором на
входе. - Make_Pic(17.08.2025 09:37)
- речь же про каскад регуляторов, правильно помню? - LordN(16.08.2025 19:34)
- Выходной регулятор один - Make_Pic(16.08.2025 19:19)
- ну да. разные объекты управления - разные регуляторы, разные наборы
коэффициентов. LordN(70 знак., 15.08.2025 17:41)
- >>> после переключения и ошибку и производную с
заданной медленностью поднимай к реальному значению такие штуки
именую догоняющим счетчиком или интегралом с байпасом. как догнали,
так счетчик отключен, а байпас включен >>> - Какой
алгоритм, можно здесь привести? - 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)
- А Kp Ki Kd дожны быть разными для каждого отдельно регулируемого
входного параметра? - Make_Pic(15.08.2025 17:13)
- например LordN(568 знак., 19.04.2025 16:14)
- Да и после переключения идет выходной PID в разнос, потом
успокаивается, думаю как это решить - Make_Pic(19.04.2025 15:50)
- PID это не оптимальный. Оптималный это LQR на пример. Но надо знать
мат модель объекта и если нет возможности получить полное состояние
то надо будет делать наблюдатель(может подойдет фильтр Кальмана).
Тут вроде задача больше подходит для MPC регулятора. MPC может быть
поверху PID (если канал имеет достаточный порядок астатизма).
Задача не тривиальная. Сравнение framer(1 знак., 15.08.2025 21:16, картинка)
- если я правильно понял вопрос - табличная функция, ну или график, если пользоваться устоявшимися терминами - 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)