Показано с 1 по 10 из 63

Тема: Альтернатива ПИДу. Ненужная ерунда, или давно известный велосипед?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для anthrwpos
    Регистрация
    13.02.2017
    Адрес
    Ленобл
    Сообщений
    188

    По умолчанию

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

    Вопрос из п#34 - ?
    С ПИД регулятором все понятно, там все сводится к подбору коэффициентов. А как у вас ?
    - Всё точно так-же - подбор трех коэффициентов.
    А что бывает иначе? =)
    .. и стало еще лучше чем просто ПИД ?
    На работе мои реализации ПИД уже давным давно с адаптивными подстройками.
    Управление утилизацией тепла ГПУ на обычном ПИД вообще не работает. Или входит в автогенерацию, или машина перегревается потому что регулятор не сообразил вовремя открыть клапан.
    - ά ν θ ρ ω π ο ς -
    Мои универсальные макросы https://github.com/anthrwpos1/macros

  2. #2
    Пользователь Аватар для anthrwpos
    Регистрация
    13.02.2017
    Адрес
    Ленобл
    Сообщений
    188

    По умолчанию

    Цитата Сообщение от o_nik Посмотреть сообщение
    Почему тогда, вы его изначально настроили хуже, чем я настроил ПИД для вашей модели?
    Я так понимаю, он прост в настройке (по вашим словам)
    Вот это и есть причина по которой я поменял физмодель. Я никак не мог понять, почему модельные параметры плохо работают. Оказалось в модели баг засел)
    Цитата Сообщение от Валенок Посмотреть сообщение
    "Ваши реализации ПИД" - и как именно они это делали ?
    В моей реализации запрещается повышать интегральную поправку если управление выше единицы и понижать если управление ниже нуля.
    Обычно это работает сильно лучше разностной реализации.
    пока нет никаких доказательств невозможности применения ПИД на Вашем ГПУ.
    Может быть существуют такие неочевидные параметры, при которых обычный ПИД бы работал нормально.
    Только вот адаптивный ПИД там заработал со вбитыми на глазок параметрами.
    Для меня это вполне себе аргумент в пользу такой модификации)

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

    это не "альтернатива ПИДу" (см.название темы), а одна из специализированных модификаций ПИДа
    Нет, мой PhysReg регулятор это не модификация ПИД поскольку в нем нет интегрирования отстройки вообще.
    Последний раз редактировалось anthrwpos; 29.12.2018 в 21:09.
    - ά ν θ ρ ω π ο ς -
    Мои универсальные макросы https://github.com/anthrwpos1/macros

  3. #3

    По умолчанию

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    Только вот адаптивный ПИД там заработал со вбитыми на глазок параметрами.
    Если что, я ПИД для вашей модели настраивал методом "научного тыка", заняло это минут 5 моего времени. Я думаю это далеко не оптимальная конфигурация, хотя он лучше вашего на 33%. Ваш же настроенный по моим коэффицентам лучше

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    а вот при таких параметрах ПИД ошибка будет около 0,15 у обоих регуляторов.
    Код:
    PID_Fine pid = new PID_Fine(2.7, 74, 150, 0.1, 40, 20);
    Я не очень понимаю: вы настроили свой регулятор по моим коэффициентам ПИД, потом еще донастроили его, и регуляторы стали примерно одинаковы... и чем ваш регулятор лучше ПИД?

    Чтобы отвечать вам по существу, придется вникать в тему полностью... если вдруг время будет, попробую подробнее ознакомиться с вашей концепцией.
    Вы будете сюда подробное описание выкладывать вашего регулятора и его настройки?

  4. #4
    Пользователь Аватар для anthrwpos
    Регистрация
    13.02.2017
    Адрес
    Ленобл
    Сообщений
    188

    По умолчанию

    Цитата Сообщение от o_nik Посмотреть сообщение
    Я не очень понимаю: вы настроили свой регулятор по моим коэффициентам ПИД, потом еще донастроили его, и регуляторы стали примерно одинаковы... и чем ваш регулятор лучше ПИД?
    Я сперва настроил свой по вашим коэффициентам, затем донастроил его с помощью автоматической настраивалки (класс OptiFind) - он стал давать ошибку меньше ПИД. А затем этой-же настраивалкой подстроил и сам ПИД. Ошибки сравнялись.
    Если судить по значениям ошибки - то получается что ничем не лучше. Но по графикам например мне поведение моего physreg больше нравится).

    Чтобы убедиться, что physreg однозначно лучше ПИД, нужно проводить множество тестов, варируя параметры окружения включая например ситуацию когда обогреватель не может догреть систему и когда систему не нужно греть вообще. Тогда мне кажется, можно будет показать, что усредненно оптимальная настройка моего регулятора будет давать по совокупности разных тестов значительно меньшую ошибку чем ПИД. Я думаю такие тесты со временем провести и показать результаты.
    Вы будете сюда подробное описание выкладывать вашего регулятора и его настройки?
    Как только оно устаканится - выложу.
    - ά ν θ ρ ω π ο ς -
    Мои универсальные макросы https://github.com/anthrwpos1/macros

  5. #5

    По умолчанию

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    Но по графикам например мне поведение моего physreg больше нравится).
    Нас в учительница в школе учила, что при синтезе регулятора устанавливаются начальные условия: время регулирования и перерегулирование (как один из популярных вариантов), а также надо обеспечить определенный запас устойчивости, чтобы система не перешла в неустойчивое состояние при выходе параметров её модели за определенные пределы (например, из-за старения элементов системы).
    "Больше нравится", - звучит как-то по-дилетантски. Вы же все-таки физик, давайте мат. часть подтянем, когда поясняете критерии "лучшезны".

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    что коллеги называли меня гуру ПИДа
    Тогда зовите меня Владыка, я настроил ваш регулятор лучше вас, ничего не делая

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    Чтобы убедиться, что physreg однозначно лучше ПИД, нужно проводить множество тестов,
    Я так понимаю, это только для вашей модели опять же, что весьма не показательно будет.
    Вообще, у вас есть модель, она известна, если реалии объекта очень похожи на модель, то настоятельно советую вам синтезировать частный регулятор, а не использовать ПИД и ваш ПД+ тоже не использовать, он вам даст великолепные характеристики я думаю.

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    У моего ТРМ-500
    Не лучший пример для эталона ПИД

    В общем и целом, спасибо за тему ... заставляет немного подумать, а то мозг вянет.

  6. #6
    Пользователь Аватар для anthrwpos
    Регистрация
    13.02.2017
    Адрес
    Ленобл
    Сообщений
    188

    По умолчанию

    Цитата Сообщение от o_nik Посмотреть сообщение
    Вообще, у вас есть модель, она известна, если реалии объекта очень похожи на модель, то настоятельно советую вам синтезировать частный регулятор, а не использовать ПИД и ваш ПД+ тоже не использовать, он вам даст великолепные характеристики я думаю.
    Про частный регулятор я уже думал. Но пришел к выводу, что он потребует дополнительных датчиков для вычисления дополнительных параметров, а мне такого не надо.
    Не лучший пример для эталона ПИД
    Пример совершенно типичный. Самая распространенная реализация.
    В общем и целом, спасибо за тему ... заставляет немного подумать, а то мозг вянет.
    Спасибо всем за критические комментарии, а особенно тем, кто не поленился разобраться в моем криво написанном коде)
    Буду работать над этой темой дальше.
    - ά ν θ ρ ω π ο ς -
    Мои универсальные макросы https://github.com/anthrwpos1/macros

  7. #7
    Пользователь Аватар для anthrwpos
    Регистрация
    13.02.2017
    Адрес
    Ленобл
    Сообщений
    188

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Исполнение "местной" заплатки - иное. Сомневаетесь ?
    Обычная заплатка - это так называемый разностный метод. У него противоположная беда: ложные включения и выключения.
    У моего ТРМ-500 постоянно такое видел. В комнате +30. Подул ветерок - снизилось до +28. уставка +24, дифференциальное время = 0. Обогреватель включился. Нафига?
    А всё просто. При разностном методе производная управления зависит от производной температуры делить на пропорциональный коэффициент плюс отстройка делить на интегральное время. Если температура снижается медленно - интегральная часть этой разности зануляет управление быстрее чем пропорциональная пытается его повысить. А если нет - возникает то что я называю ложным включением.
    Против этой беды и направлена моя реализация заплатки.
    Если медленно изменяет выход - см. параметры ПИДа (обычно П)
    Если регулируемая величина медленно выходит на новую уставку - см. параметры и инерцию регулируемой системы включающую инерцию датчика и исполнительного механизма, но на инерцию системы выбор регулятора не влияет.
    Завис выход ПИДа - см. настройки (обычно И). Не реагирует обратная связь - см. выше про инерцию системы.
    Так пишете, как буд-то я ни разу ПИД не настраивал) Я на работе все ПИДы перенастроил так, что коллеги называли меня гуру ПИДа=) Я отлично понимаю какой там коэффициент за какое поведение отвечает.
    Так как устраняется статическая ошибка ?
    Поправка к ПД-регулированию, которая устраняет статическую ошибку физически является некими "потерями энергии" из управляемой системы, назовем это так.
    Потери равны поступлениям минус полному изменению "энергии".
    Поступления от исполнительного устройства вычисляются как среднее значение управления за время инерции τU (дифференциальное время ПД).
    Полное изменение - как производная умножить на параметр емкости (D).
    Наконец, полученная разность усредняется, потому что производная обычно содержит много шумов.

    Полученная поправка устраняет статическую ошибку ПД, а кроме того, отлично отрабатывает в описанных мной случаях, где интегральная поправка ПИД ведет себя неправильно.
    - ά ν θ ρ ω π ο ς -
    Мои универсальные макросы https://github.com/anthrwpos1/macros

  8. #8
    Пользователь Аватар для anthrwpos
    Регистрация
    13.02.2017
    Адрес
    Ленобл
    Сообщений
    188

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    "дифференциальное время = 0" ? В виду недостижимости этого в натуре, "0" имеет особое значение, например у некоторых отключает Д-часть.
    Нет, это у интегрального времени ноль недостижим поскольку оно в знаменателе. Дифференциальное время ноль это вполне нормальное значение..
    Тут ?
    Пока обозначили плохую настройку. Но это не проблема регулятора.
    Тут можно снизить интегральное время и эффект станет проявляться не так сильно. Но вылезет перерегулирование, а то и автогенерация. Проходили всё это)
    Повышать в ответ пропорциональный коэффициент нельзя - эффект вылезет снова.
    А вот потери - это как ? Потихоньку сочится ?
    Просто некие абстрактные потери.
    Никак не могу определиться с тем, в каких терминах объяснять работу регулятора.
    Если объяснять в понятных всем терминах обогрева комнаты - начинаются вопросы "твой регулятор только для обогрева годится?"
    Если объяснять в полностью абстрактных терминах - вообще никому ничего не понятно)
    Поэтому я синтезировал нечто промежуточное - адаптированная терминология из теплотехники применительно к общим абстрактным вещам.
    Мне на самом деле больше нравится терминология из электроники. Тогда будут не потери, а утекающий со второй емкости ток. Плюс можно понятную схему нарисовать. Но поймут только знакомые с электроникой.
    - ά ν θ ρ ω π ο ς -
    Мои универсальные макросы https://github.com/anthrwpos1/macros

Похожие темы

  1. Ответов: 37
    Последнее сообщение: 19.10.2018, 11:06
  2. Альтернатива User Managment'a
    от Anjei в разделе СПК1xx (архив)
    Ответов: 3
    Последнее сообщение: 19.08.2016, 15:15
  3. Ответов: 3
    Последнее сообщение: 20.02.2016, 16:29
  4. Альтернатива СП 270 с большей диагональю
    от Alex_Kos в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 03.07.2013, 13:42
  5. мучает меня давно вопрос...
    от Pasha_99 в разделе Трёп (Курилка)
    Ответов: 5
    Последнее сообщение: 16.07.2009, 15:09

Ваши права

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