да на бумаге пробовал считать несколько шагов, да и на ардуинке реальный процесс нагрева пробовал (заскок есть всегда), вот как на скрине
Еще раз проанализировал эти алгоритмы, уменьшение воздействия как на первом скрине который выкладывал выше возможно только если ошибка станет отрицательной (пропорциональная составляющая), тогда она сработает, а так же интегральная, но ошибка станет отрицательной только если мы получили заскок (который показан на графике в предыдущем посте). Дифференциальная сработает только в случае если будет ускорение нагрева, а если нагрев идет линейно, но после отключения нагрева есть приличная инерция, что делать с этим?
Пока будет идти линейный нагрев (ошибка-предыдущая ошибка будет равно нулю), соответственно конечная формула ПИД регулятора догонит мощность до максимальной и при достижении требуемой температуры система влетает туда на полной мощности (соответственно неизбежный заскок при любых коэффициентах)
Неправда ваша, правильно настроенные коэффициенты ПИД позволяют выходить в заданные значения по идеальному графику.
То, что вы не можете настроить эти коэффициенты, вполне себе нормально, это задача для специалистов.
Регулятор накапливает информацию о временной зависимости сигнала задания и обратной связи, после чего пересчитывает(согласно выставленным коэффициентам) и меняет значение сигнала управления.
В общем, ДЕЛО НЕ В БИБЛИОТЕКЕ…
Возможно вы говорите про какой-то другой код, я не настраивал коэффициенты, а шел от обратного (что должно измениться чтобы начал уменьшаться управляющих сигнал), на бумаге.
Я и говорю, что ты нихера не понял как работает ПИД-регулирование …
Пятнадцать постов назад я человеку это уже говорил - не поверил. Может, Вам поверит.
Нет, если интегральная =0 то при приближении к требуемой Пропорциональная будет все время снижать мощность и перебега не будет. Но и достижения точного значения не будет! так как всегда останется разница Задано-Есть.
Воот. Эту разницу убирает Интегральная. Она медленно-медленно (как тот бык с горы) прибавляет эту разницу и температура выходит в ноль с заданием.
Если что-то из этих коэф-в неправильное то либо возникают колебания, либо слишком долго и неоптимально выходит на уровень. В общем случае если коэф больше чем надо то колебания, при сомнениях лучше их убавлять.