Автор Тема: про ПИД регулировку и профили  (Прочитано 4390 раз)

0 Пользователей и 1 Гость просматривают эту тему.

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 4838
Re: про ПИД регулировку и профили
« Ответ #30 : 17 Май 2019, 19:19:46 »
эксперименты  просто вынуждают меня вынести дифференциальную компоненту за скобки
while(1||!1);
зберігай спокій

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 4838
инициализация рекуррентной формулы ПИД
« Ответ #31 : 08 Июнь 2019, 12:00:39 »
известно, что я применяю в примусе т.н. рекуррентную формулу. У нее есть несколько различных видов, например такое:


или такое:


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


На текущее время в начале процесса я инициализировал U(0)=0.
Думаю это неправильно, надо делать U(0)=KpE(0).
Как считаете?
« Последнее редактирование: 08 Июнь 2019, 12:14:42 от slav0n »
while(1||!1);
зберігай спокій

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 4838
Re: про ПИД регулировку и профили
« Ответ #32 : 10 Июнь 2019, 19:47:34 »
сделал новый алгоритм вывода графика нагрева.
Попробовал круглую грелку из этого видео.
Результаты на картинке:
while(1||!1);
зберігай спокій

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 4838
Re: про ПИД регулировку и профили
« Ответ #33 : 11 Июнь 2019, 18:41:50 »
Интересно, что для конкретно этой системы нагреватель-плата и при такой уставке (80°) интегральная составляющая (компенсирующая статическую ошибку) находится в области отрицательных значений.
Т.н. перелет неизбежен, ибо минус просто негде взять без перелета.
Само-собой напрашивается начальная инициализация в таком случае U(0)=-Х
значение Х какое?
Как считаете?
« Последнее редактирование: 12 Июнь 2019, 13:20:45 от slav0n »
while(1||!1);
зберігай спокій

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 4838
Re: про ПИД регулировку и профили
« Ответ #34 : 12 Июнь 2019, 19:04:13 »
сделал новый алгоритм вывода графика нагрева.
между прочим...алго автоматом масштабируется вписываясь в пределы индикатора
на верхней картинке перелет 10°
на нижней уже 25
while(1||!1);
зберігай спокій