KREMEN Реклама
KREMEN Реклама

Работа PID в Марлин 2

VyacheslavSS
Идет загрузка
Загрузка
05.06.2021
2280
1
Личные дневники

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

6

PID в Марлин включается, только если разница между целевой температурой и текущей (tError) меньше, чем определенная в PID_FUNCTIONAL_RANGE=10

В случае превышения PID_FUNCTIONAL_RANGE нагреватель включается на 100% при недогреве и выключается полностью при перегреве.

При первом вхождении в диапазон регулировки PID интегральная составляющая (sI) сбрасывается в 0, а так же в 0 устанавливается диференциальный коэфициент (kD).

Вычисление выдаваемой мощности производится на основе динамически меняющихся коэфициентов kP, kI, kD, которые в свою очередь вычисляются на основе соответсвующих значений заданных в конфигурации (cP, cI, cD), а так же накапливаемых (интегральных) показателей.

Интегральная составляющая вычисляется по формуле: 

sI=sI+tError и не может выходить за пределы [0..sImax], где sImax=255/cI

Интегральный коэфициет kI=sI*cI

Таким образом, интегральный коэфициент постоянно растет, если имеется недогрев и падает при перегреве. Скорость роста/падения тем выше, чем больше разница темпетатр tError. Чем меньше коэфициент cI тем больше может быть интегральная составляющая, но тем медленнее она растет.

Пропорциональный коэфициент kP вычисляется на основе текущей ошибки tError и константы cP

kP=tError*cP, чем больше cP, тем сильнее линейное влияние на выходную мощность.

Дифференциальный коэффициент рассчитывается на основе предыдущего своего значения и изменения температуры (dT) относительно предыдущего значения: kD=kD-0.05*(cD*dT+kD). Дифференциальный коэффициет является противодействующим изменению температуры и служит для сглаживания помех. Чем выше коэфициент сD тем сильнее противодействие. Для отключения дифференциальной составляющей коэффициент cD должен быть установлен в 0.

Общая мощность (P) выдаваемая PID: P=kP+kI+kD

Общий вывод: Если cD и сI позволяют задать скорость подхода к целевой температуре и настроить значение PWM, то cD противодействует и интересен скорее на стадии поддержания стабильной температуры, чтобы исключить шумовые влияния на датчик температуры. 

Теперь дело за проверкой на практике.

kD=0?

PS: Коэффициенты в конфигурации имеют масштабирование.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

6
Комментарии к статье
Lider 3D Реклама
Lider 3D Реклама