Страница 2 из 7 ПерваяПервая 1234 ... ПоследняяПоследняя
Показано с 11 по 20 из 63

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

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

    По умолчанию

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

  2. #12

    По умолчанию

    Мое мнение такое - качество регулирования вашего регулятора будет очень низким.

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

    По умолчанию

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

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

    По умолчанию

    Причесал в итоге уравнение регулирования и получил соедующий результат.
    Величина управления раскладывается на три слагаемых.
    Первое пропорционально отстройке, второе пропорционально производной температуры, а третий зависит от истории работы нагревателя (фактически оно равно среднему значению мощности нагревателя за "интегральное" время).
    Таким образом, он почти совпадает с обычным ПИДом. Замена интегральной поправки по температуре на поправку связанную с историей работы однозначно положительно сказывается на регулировании. Эта поправка не срезается из-за достижения предельной мощности, как это происходит обычно. Но она и не приводит к запоздалому началу регулирования как это происходит в моей версии ПИД, где интегральная составляющая считается отдельно.
    Кроме того, этот регулятор наглядно показывает интересный факт: пропорциональный и дифференциальный коэффициент могут быть выбраны сколь угодно круто при условии, если между ними соблюдено адекватное соотношение. Если дифференциальное время оказывается слишком низким - возникает перерегулирование. Если слишком высоким - недорегулирование (при сколь угодно низком Xp!). Таким образом распространенный в интернете совет по наладке ПИД о том, чтобы поставить нулевое время дифференцирования и добиться пропорциональным коэффициентом отсуствия перерегулирования оказывается полной ерундой. Кстати до этого я исследовал ПИД аналитически и постоянно получал этот результат - что Xp можно задать сколь угодно крутым, и никак не мог поверить, что это действительно возможно, мне постоянно казалось, что я разучился решать дифференциальные уравнения и искал ошибки).

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

  5. #15

    По умолчанию

    Так изложи нам свою авторскую методику расчета коэффициентов ПИД регулятора.
    Последний раз редактировалось Вольд; 23.10.2018 в 18:50.

  6. #16

    По умолчанию

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    Причесал в итоге уравнение регулирования и получил соедующий результат.
    Величина управления раскладывается на три слагаемых.
    Первое пропорционально отстройке, второе пропорционально производной температуры, а третий зависит от истории работы нагревателя (фактически оно равно среднему значению мощности нагревателя за "интегральное" время).
    Таким образом, он почти совпадает с обычным ПИДом. Замена интегральной поправки по температуре на поправку связанную с историей работы однозначно положительно сказывается на регулировании. Эта поправка не срезается из-за достижения предельной мощности, как это происходит обычно. Но она и не приводит к запоздалому началу регулирования как это происходит в моей версии ПИД, где интегральная составляющая считается отдельно.
    Кроме того, этот регулятор наглядно показывает интересный факт: пропорциональный и дифференциальный коэффициент могут быть выбраны сколь угодно круто при условии, если между ними соблюдено адекватное соотношение. Если дифференциальное время оказывается слишком низким - возникает перерегулирование. Если слишком высоким - недорегулирование (при сколь угодно низком Xp!). Таким образом распространенный в интернете совет по наладке ПИД о том, чтобы поставить нулевое время дифференцирования и добиться пропорциональным коэффициентом отсуствия перерегулирования оказывается полной ерундой. Кстати до этого я исследовал ПИД аналитически и постоянно получал этот результат - что Xp можно задать сколь угодно крутым, и никак не мог поверить, что это действительно возможно, мне постоянно казалось, что я разучился решать дифференциальные уравнения и искал ошибки).

    Вобщем, теперь уже окончательно ясно, что нового регулятора как такового я не открыл, а открыл - адекватный метод вычисления интегральной поправки, коим и буду теперь пользоваться. Ну и плюс открыл неожиданные возможности наладки ПИД, о которых не знал раньше. Есть правда одно НО. Это сработает только если регулятор адекватно фильтрует входные данные и считает производную. Не все регуляторы адекватно считают производную - проверено на опыте)
    а можете указать данный источник по поводу обнуления Д составляющей? это всё при также происходит при также обнулённой И составляющей?
    просто на 3 курсе учебника ТАУ банально видно что П регулятор всегда имеет перерегулирование + статическую погрешность регулирования, ПД - не такое перерегулирование как у П но всё равно не идеально.
    и только интеграл помогает нам в конечном счёте избавиться от статической погрешности ( хотя он и разносит колебания динамической )
    в общем лично моё мнение по теории и практике настройки - П - скорость выхода на уставку и окно статической погрешности, И - забываем про статику и уже настраиваем колебания кривой разгона , Д - ускоряем тех двух перцев , что перед ним.

    и дополню - в большинстве процессов степень затухания 1/3 считается оптимальной - крайне редко , где требуется более точный выход.

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

    По умолчанию

    Цитата Сообщение от Вольд Посмотреть сообщение
    Так изложи нам свою авторскую методику расчета коэффициентов ПИД регулятора.
    Могу предложить - согласно данной модели. На картинке: пропорциональный коэффициент, дифференциальное время, интегральное время, а ниже - добавка, которой нет в ПИД-регуляторах) Не могу сказать, как нужно её правильно учесть.
    temp2.jpg
    Кроме параметров, которые уже расшифровывались тау - это "крутизна управления". Нужно ставить в 2-3 раза больше, чем задержка от воздействия до реакции.

    Цитата Сообщение от Трофимов Артем Посмотреть сообщение
    просто на 3 курсе учебника ТАУ банально видно что П регулятор всегда имеет перерегулирование + статическую погрешность регулирования,
    изменение регулируемой величины ПД регулятором описываются (в простейшей модели типа той что я использую) диффурой второго порядка. Там возникает характеристическое уравнение второй степени. Где его дискриминант отрицательный, возникает перерегулирование (решение кроме затухающей экспоненты содержит синус и косинус), где положительный - недорегулирование (решение- постоянная умноженная на затухающую экспоненту), ноль - наибыстрейшее затухание (решение - полином 1 степени умноженный на затухающую экспоненту). При определенных условиях экспонента может перестать быть затухающей
    и только интеграл помогает нам в конечном счёте избавиться от статической погрешности ( хотя он и разносит колебания динамической )
    Теория позволяет сколь угодно крутой пропорциональный коэффициент при правильно выбранном дифференциальном. Поэтому гипотетически статическую погрешность можно сделать сколь угодно малой без интегрального регулирования.
    Но на практике возможности ограничены запаздыванием измеренной датчиком реакции системы на управление. В модели этой задержки нет, при включении нагревателя сразу растет 1 производная температуры. Поэтому на практике нельзя сделать слишком низкое Xp и приходится добавлять интегральную подстройку.
    Последний раз редактировалось anthrwpos; 24.10.2018 в 12:59.
    - ά ν θ ρ ω π ο ς -
    Мои универсальные макросы https://github.com/anthrwpos1/macros

  8. #18

    По умолчанию

    С, C_h и Q как определить ?

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

    По умолчанию

    Цитата Сообщение от Вольд Посмотреть сообщение
    С, C_h и Q как определить ?
    Пока что приходит в голову только так:
    Задать на глазок, а затем корректировать с помощью корреляционного анализа.
    Теплопотери определяются следующим образом:

    Pe(t)=Q*Err(t)+(Wh(t)*Q)/Ch-dT/dt*C;

    Соответственно, если Pe(t) коррелирует с Err(t) (отстройка) - нужно корректировать Q
    Если с dT/dt - нужно корректировать C
    если с Wh(t) - Ch.

    Хотя это еще вопрос действительно ли эти величины должны быть независимы?
    Я кстати, делаю испытательный стенд на жабе, где можно будет на модели, приближенной к реальности погонять разные регуляторы и посмотреть, что из этого выходит. Как сделаю - опубликую тут.

    PS Картина работы данного регулятора. Мне лично нравится)управление.JPG
    Красным - температура, по левой шкале. По правой шкале - синее - вычисленные теплопотери, зеленое - мощность нагревателя.

    PPS Сделал стенд на жабке. Кто владеет жабкой - можете поразвлекаться, а то и улучшить. Забабахал туда простенькую рисовалку графиков, модель комнаты близкую к реальности, с шумами датчика и простенький ПИД-регулятор и свой регулятор.
    https://github.com/anthrwpos1/RegTest
    Пид сделан специально обычным, дубовым, как его делают в промышленности, чтобы разработчики ПИД-алгоритмов наглядно увидели, как он регулирует)
    Чуть позже сделаю "мой ПИД". Разработчикам ОВЕН рекомендую тоже побаловаться со стендом, а так-же посмотреть, не является ли случайно ваша реализация ПИД в ТРМках и прочих местах той самой дубовой, как в этой программе, потому что очень похоже=)
    Последний раз редактировалось anthrwpos; 27.10.2018 в 20:27.
    - ά ν θ ρ ω π ο ς -
    Мои универсальные макросы https://github.com/anthrwpos1/macros

  10. #20

    По умолчанию

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    Решил разработать регулятор, работающий на основе физической модели с привлечением элементов предуправления.
    Мне кажется, или Вы недавно отучились в вузе?) ... Столько оптимизма

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

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    В случае равенства мощность нагревателя выбирается равной вычисленным тепловым потерям.
    Обычно, нагреватели управляются дискретно включен/выключен.
    Если он с какого-то рода симисторным управлением, имитирующим управление мощностью (температурой нагрева), значит модель самого нагревателя тоже надо учитывать (дискретную). Может, конечно, я не прав.


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

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    имеет смысл описанное вообще или ерунда всё это?=)
    Имеет, если вы:
    1. в состоянии составить полную мат. модель реальной системы (что по моему мнению очень сложно на практике).
    2. учесть в модели, что она на самом деле дискретна, а методики синтеза в основном для непрерывных систем (применить теорему Котельникова-Шеннона, если получается,... или опечалиться)
    3. синтезировать оптимальный регулятор, используя полученные знания за 5-6 лет вуза (потратив мнооого времени)
    4. объект управления - шаттл с посадкой на вертикальную платформу, а не обогрев курятника

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

Страница 2 из 7 ПерваяПервая 1234 ... ПоследняяПоследняя

Похожие темы

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

Ваши права

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