Easyelectronics.ru

Электроника для всех
Текущее время: 02 окт 2020, 01:13

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 04 июн 2017, 20:13 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 20:18
Сообщения: 594
НС это произвольно набросанная формула с неизвестными коэффициентами, самое интересное как эти коэффициенты настраивать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 16 янв 2020, 11:46 
Старожил

Зарегистрирован: 08 янв 2011, 21:54
Сообщения: 240
Откуда: Ставрополь
Кот495 писал(а):
amaora писал(а):
делать плагплэй на все случаи, это будет невообразимое чудовище.
Согласен.
Давайте сузим рамки.
Оставим за бортом все сильно специальные системы, нежные, не позволяющие подавать полную мощность, или нетрадиционной ориентации с особо нетривиальным поведением.

Например разнообразные нагреватели и печи - это тоже достаточно широкое поле. (Если что-нибудь дельное получим, можно будет в перспективе распространить на что-нибудь дальше...)

Я пытался построить макет со следующими параметрами.
Силовая часть: MOC с контролем перехода через 0, для управления симистором.
Управление: датчик температуры + микроконтроллер.
Желаемая точность: +-1 град.

Поскольку регулировка определена пропусками полупериодов, инерционность объекта минимум - десятки секунд, максимум ограничен разрядностью контроллера.

Исходя из такого построения схемы и тех соображений, которые мной были даны в постах выше, я пришел к выводу, что классический ПИД сюда плохо вписывается, так как в сущности нет плавного регулирования напряжения, оно ключевое исходно.
Поэтому я попытался совершенствовать релейный принцип.

Как правильно было сказано, если объект имеет инерционность, то после максимального воздействия он еще некоторое время продолжает эволюционировать и может значительно вылететь за пределы. Но здесь по определению объекты, не вылетающие за пределы от одного импульса сетевого полупериода. Сюда попадают от небольших настольных печей, до муфельных, требующих сутки на разогрев.

Итак. Беда простейшего релейного регулятора на компараторе в том, что он отключает питание, когда объект уже вошел в предписанные рамки. Поэтому он по инерции перелетает. А надо было выключить раньше.

Я сделал алгоритм такой.
Не буду приводить код, опишу только идею, это тоже немало.
Она состоит в том, чтобы запоминать длительность выданного на нагрузку импульса, и после промерить: какое повышение температуры он вызвал в итоге?
Таким образом получаем коэффициент К: градусов/время импульса.
Используя этот коэффициент, расчитываем длительность следующего импульса так, чтобы попасть в заданную температуру.
Если из-за возмущений мы в нее не попали, то корректируем К и выдаем следующий импульс с учетом новых условий.
Таким образом, с каждым управляющим импульсом получаем обновленную информацию о поведении объекта.

Важная особенность этого алгоритма в том, что в отличие от релейного, он всегда пытается действовать на опережение, а не по факту, как простой компаратор.
Таким образом, получилась некая смесь ПИД-а и релейного регулятора. Я назвал этот алгоритм прогнозирующим регулятором.

Я испытал его в действии. Дискрета оцифровки температуры была 1 градус, колебания в устоявшемся режиме оказались +-1 градус.

Ограничение этого метода: он не может разогреть объект "мгновенно", то есть за один импульс, так как ему надо еще определить инерционность объекта.
Но, как правило, печи, (особенно мощные) требуют плавного разогрева, превышение скорости чревато повреждениями.
Так что за время разогрева у алгоритма обычно набирается информации достаточно.

Идею отдаю бесплатно, но с условием:
если Вы воспользовались ею - отпишитесь о результатах в этой теме, и по возможности поподробнее. С какими сложностями встретились, как побороли, что принципиального было дополнено/изменено.
------------------------------------

Если имеете свои идеи - выкладывайте! тема не закрыта, продолжаем обсуждение.


Это уже придемано и используется для коррекции орбит спутников. Там такой же принцип. Зная свою троекторию и зная куда надо попасть - даем двигателем импульс нужное кол-во секунд. Спустя время снова измерения траектории и если нужно корректирующий импульс. Посмотрите как Союз к МКС стыкуется.
https://yandex.ru/video/preview?filmId= ... 79157272.1


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 17 янв 2020, 09:46 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 711
Цитата:
Она состоит в том, чтобы запоминать длительность выданного на нагрузку импульса, и после промерить: какое повышение температуры он вызвал в итоге?

Идея так себе, если не сказать больше.
В своё время тоже озадачивался этой темой. Попробовал то, что ты описал. Фактически, ты пытаешься определять параметры регулятора при каждом его использовании, а не один раз, как описано в учебниках. Любой метод определения параметров регулятора имеет погрешность, и эта погрешность может достигать 50% от установившегося значения регулируемой величины. Если взять "спокойные" методы, например, Хугланда, то запросто можешь получить точность в 1%, но время регулирования увеличится в 2-3 раза.
У меня была задача плавить гексафторид уран. Сложность тут вот в чём. Посмотри на кривую плавления любого металла: она меняет свой наклон в зависимости от фазового состояния вещества. Если бы я рассчитал параметры в начале нагрева, то в конце улетел бы с перегревом. И к этому ещё добавляется разная степень наполнения ёмкости, плюс то, как в ёмкости изначально насыпан гексафторид. Вот почему я и сказал, что твоя идея так себе. Она просто не работает в таких условиях.
Решение у меня получилось такое. В начале нагрева ёмкости, а грелась она горячим воздухом, я стабилизирую температуру воздуха, дожидаюсь расплавления и прохождения тройной точки, после чего переключаюсь на другой регулятор (ессно, с другими параметрами), который стабилизирует температуру стенки ёмкости.
Рекомендую тебе более вдумчиво изучить твой техпроцесс и подобрать конкретно под него подход к регулированию.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 17 янв 2020, 12:40 
Старожил
Аватара пользователя

Зарегистрирован: 21 мар 2016, 01:19
Сообщения: 720
tonyk писал(а):
...
У меня была задача плавить гексафторид уран...

Карманную бомбочку делаем?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 17 янв 2020, 12:59 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 711
ИгорР писал(а):
tonyk писал(а):
...
У меня была задача плавить гексафторид уран...

Карманную бомбочку делаем?

:)))))))

Разливали арбитражные пробы перед отправкой товарной продукции заказчикам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 28 фев 2020, 19:35 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 6095
Откуда: Москва
tonyk писал(а):
Решение у меня получилось такое. В начале нагрева ёмкости, а грелась она горячим воздухом, я стабилизирую температуру воздуха, дожидаюсь расплавления и прохождения тройной точки, после чего переключаюсь на другой регулятор (ессно, с другими параметрами), который стабилизирует температуру стенки ёмкости.


Самый продвинутый из более или менее стандартных подходов в этом случае - регулирование коэффициентов ПИД при помощи простенькой нечеткой логики. Получится примерно то же, что у тебя, но более гибко и универсально. Да и ковыряться интереснее. Обычно после переключения регуляторов по табличке, приходят именно к этому.

А так я смотрю, народ как обычно, пытается Калмана изобрести :)))) Даже название уже придумали :)))

Совет - если у вас столь простые ситуации, как что-то там греть или расплавлять, моделируйте. Это радикально упрощает работу, и даже позволит вам применять такие методы регулирования, о которых вы даже не знаете пока. Симулинк, вот это вот все.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 28 фев 2020, 21:45 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 711
Я в итоге пришёл к выводу, что нужно вдумчиво исследовать физический процесс и танцевать от него. Построение нечёткой логики требует многократных опытов с одной стороны, а с другой просто посмотрел нагрев пустой ёмкости, потом полной и получил довольно удачно и быстро параметры переключения с одного регулятора на другой. Более того, сначала на этапе прогрева системы стабилизировал температуру воздуха, потом на этапе плавления температуру стенки ёмкости, а после расплавления снова переходил на регулирование температуры воздуха. То есть регулировал один из двух параметров, плюс у каждого регулятора два набора коэффициентов для работы на том или ином участке кривой плавления. Такой подход, с одной стороны, обеспечил плавление за минимальное время, а с другой удалось добиться почти одинакового времени достижения целевых показателей для нескольких установок. Кстати, хоть установки и казались внешне одинаковыми, но параметры регуляторов различались в несколько раз.

У меня задача осложнялась тем, что и нагрев, и остывание довольно длительные процессы, поэтому нужно было выбрать и настроить метод за минимальное число итераций.

Насчёт моделирования. В моём случае ни я сам, ни коллеги не смогли за доступное нам время найти подходящую модель и её параметры. Обнаружилось много дестабилизирующих факторов. Результаты подтвердили это.

Моё мнение: нет универсального регулятора на все случаи. Есть общие подходы и набор приёмов, которые позволяют добиться результата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 28 фев 2020, 21:58 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 6095
Откуда: Москва
Так ты и сделал логику по сути дела, просто ручками. То же самое довольно просто делается при помощи НЛ - но достаточно формальным образом, проще с переходными процессами, и проще синтезировать коэффициенты при помощи моделирования. С автоподстройкой тоже проще. Обычно после нескольких таких заплывов к НЛ и приходят, это просто более общий подход.

Математически универсальный регулятор существует - нейронная сеть довольно простой структуры, и достаточной размерности. Но работать с этим может быть практически невозможно, в реальных условиях, очень сложный процесс правильного обучения. Поэтому редко пока применяется в задачах регулирования. В большинстве случаев отлично справляется набор ПИДов, иногда с какой-то внешней помощью.

Насчет моделей - тут довольно сложно все. Но если физика процесса известна, модель как правило можно построить, и скорее всего она будет достаточно точна для хотя бы базовой отработки управления. К сожалению, бывают случаи, когда и физика непонятна, у меня такое было часто, увы...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 01 мар 2020, 12:23 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 507
А что, нечеткую логику не предали анафеме еще? Мы как-то в универе вообще стороной ее обошли, а в жизни слыхал, что ее применение очень затруднено и вообще может сделать адаптивную систему крайне неустойчивой.
Хотя я лично о нечеткой логике знаю чуть больше, чем ничего, не могу по ней ничего утверждать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 01 мар 2020, 13:10 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 6095
Откуда: Москва
Нет, не предали, даже в бытовой технике используется. Это не серебряная пуля, конечно, но часто бывает полезно. Можно и вообще все регулирование на ней сделать, но это будет сложновато, и чаще всего не нужно. Кстати, математически ПИД можно представить как частный случай нечеткой логики.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 02 мар 2020, 00:30 
Заглядывает иногда

Зарегистрирован: 16 июн 2019, 00:50
Сообщения: 39
tonyk писал(а):
... Моё мнение: нет универсального регулятора на все случаи. Есть общие подходы и набор приёмов, которые позволяют добиться результата.

Поддержу. Слишком много параметров конкретного физического процесса, которые необходимо принимать во внимание для построения ПИД-регулятора.
Навскидку:
1. динамика прямого регулирования (например, динамика нагрева);
2. динамика обратного регулирования (например, динамика остывания);
3. частота считывания контролируемого параметра;
4. влияние внешних факторов, динамика их воздействия на контролируемый параметр;

В качестве примера можно привести
а. поддержание температуры жидкости объёмом 50 мл
б. поддержание температуры жидкости объёмом 6 куб. метров
в. поддержании температуры проточной жидкости (скорость потока варьируется в очень больших пределах)
г. поддержание температуры воздуха в помещении
д. поддержание заданных оборотов ДВС

Согласитесь, что для совершенно разных процессов параметры регулятора, а также необходимая частота считывания показаний будет очень и очень различна. Если даже просто вести речь о поддержании температуры, то в зависимости от процесса регулирование необходимо осуществлять совершенно по разному. Другими словами, в любом случае необходимо учитывать физику процесса и производить хотя бы умозрительное моделирование. )))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 02 мар 2020, 17:54 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 6095
Откуда: Москва
Естественно, все это и называется синтезом регулятора. Но во всех этих случаях синтезируюемым регулятором вполне может быть обычный ПИД. Есть конечно случаи, когда его недостаточно, например если в регулируемой системе происходят разного рода переходные процессы, но это не так уж и часто.

Есть алгоритмы адаптации, но они тоже имеют свои ограничения. Кроме того далеко не всегда вообще можно загонять систему в такие режимы, которые нужны для адаптации. Тут как раз помогает моделирование и симуляция.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 02 мар 2020, 18:01 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2955
какое тут интересное обсуждение. то есть циглер-никольс нисколько не универсален?

я уже задавался вопросом, но так и не нашел ответа: как часто в пидах можно менять уставку?

если цикл регулирования сделать 10 мс, то изменение уставки раз в 100 мс будет иметь смысл только при таких P, когда система приближается к целевому значению за 10 итераций?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 02 мар 2020, 18:10 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 507
То, как часо можно менять уставку, зависит от динамики итоговой системы вместе с регулятором, и в целом определяется переходным процессом системы.
Конечно, никто не мешает менять уставки и быстрее, чем может отработать система, но тогда, но все-равно не стоит менять уставку с частотой, большей половины частоты дискретизации регулятора - просто из соображений теоремы Котельникова.

И да, метод Циглера-Никольса отнюдь не самый оптимальный, свет клином на нем не сошелся. Есть еще уйма всяких, в основном сводящихся к тому, чтобы подогнать щействительную характеристику системы к желаемой и вычислить корректирующее звено, коим и будет ПИД - будет это кррекция частотной характеристики или метод корневого годографа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм адаптивного ПИД-а
СообщениеДобавлено: 02 мар 2020, 23:00 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 711
Цитата:
как часто в пидах можно менять уставку?

Хм, мне в нескольких трудах попадались теории о том, что изменение уставки- это вообще отдельный раздел регулирования. И надо определять коэффициенты регулятора, который изменяет значение уставки от одного значения к другому. Во как.

Исходя из своего опыта, скажу так: нужно осознать физику регулируемого процесса, понять его закономерности, разбить на простые подцели (подзадачи) и решить каждую простейшими средствами. Тут, простите, как в сексе: можно годами теоретизировать об универсальной формуле соблазнения и умереть девственником. А можно быстро изучив основы физиологии и конструктивные особенности особей обоих полов добиваться ощутимых всеми органами результатов.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB