Странно что в таком варианте настраиваете. Я строил пропорциональный (остальные ставятся на ноль), затем дифференциальный, и в последнюю очередь интегральный. Диф сглаживает колебания, что для линии как раз должно быть полезно. Интегральный в случае температуры только подтягивает уже настроенную по ПД кривую к цели. В случае линии - что-то не соображу, как он там работает.
Я отстраивался по двум статьям. Вот одна : http://lazysmart.ru/osnovy-avtomatiki/n ... gulyatora/
Вторую сходу не нашёл, ссылка на работе.
А я похоже нашёл-таки блок автонастройки ПИДов в Марлине.

Вкладка "temperature.cpp" со строки 250 функция void Temperature::PID_autotune(const float &target, const int8_t hotend, const int8_t ncycles, const bool set_result/*=false*/)
Сижу, изучаю код.
