PID (ПИД, Пропорционально-интегрально-дифференцирующий регулятор) - регулятор, использующий сумму трех значения входного сигнала (Kp, Ki, Kd) для задания и поддержки температуры стола\хотенда в установленных пределах. Данные значения будут разными в зависимости от используемого железа, наличия обдува, силиконового носка и множества других факторов, поэтому калибровку необходимо производить как после первого запуска принтера, так и после изменения конфигурации хотенда\стола. Так же данную процедуру необходимо проводить при скачкообразных изменениях температуры и большом разбросе при удержании заданного значения.
 
Настройка PID для 3D принтера

Калибровка

В прошивку Marlin встроены инструменты для автоматической калибровки PID как для хотенда, так и для стола. Для управления нагревом стола с помощью PID необходимо предварительно активировать в прошивке параметр "PIDTEMPBED" (подробнее в разделе Прошивка -> Стол, данную процедуру необходимо провести перед калибровкой стола и прошить принтер, по умолчанию параметр выключен). Процедуру калибровки желательно проводить на максимально приближенных к печатным условиям, если у вас закрытый корпус - необходимо закрыть дверцу и надеть кожух\колпак, при калибровке хотенда стол должен находиться в непосредственной близости к соплу и обдув должен быть включен на максимум (либо значение, которое вы используете чаще всего). Внимание, во время проведения калибровки вам может показаться, что принтер завис, но это не так - тест довольно длительный и время его проведения зависит от количества установленных повторений.
Для ввода команд и получения результатов можно использовать, к примеру, ПО PrintRun (www.pronterface.com/) или любой другой софт, который может общаться с принтером посредством последовательного порта (OctoPrint, Repetier-Host и т.п.)

Экструдер

Переместите хотенд к центру стола, подведите стол как можно ближе к соплу и включите обдув хотенда. Калибровка проводится для конкретной температуры; это не значит, что если вы провели ее на температуре 230°, то на 250°\210° работать она не будет, это лишь значит, что чем больше разница рабочей температуры от заданной при калибровке - тем больше будет погрешность, поэтому необходимо устанавливать ту величину, что чаще всего используется.
Терминал принтера:
M303 E0 S240 C7
M303 E<hotend_num> S<temp> C<count> ;
; M303 -Запуск автоматической калибровки хотенда 
; E<hotend_num> - Порядковый номер хотенда (если у вас один хотенд - 0)
; S<temp> - Температура проведения теста, 240 градусов
; C<count> - Количество повторений теста, чем их больше - тем точнее (минимум 3, по умолчанию 5), 7 раз 
Результаты выполнения команды:
>>> M303 E0 S240 C7
<<< PID Autotune start
<<< PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h
<<< #define DEFAULT_Kp 10.71
<<< #define DEFAULT_Ki 0.61
<<< #define DEFAULT_Kd 47.22

Полученные значения можно внести в прошивку или сохранить в EEPROM, данная процедура описана в разделе "Прошивка". Также для калибровки хотенда можно воспользоваться готовым GCod'ом который проведет калибровку за вас и сохранит значения в EEPROM. Для этого необходимо скопировать код, описанный ниже (установив в нем свои значения номера экструдера, температуры, а также количество повторений) в текстовый файл, сохранить его с расширением ".gcode" и запустить на исполнение на вашем принтере; результаты тестирования будут автоматически сохранены. После завершения в терминал будут
выведены текущие значения EEPROM для проверки, значения PID для экструдера находятся в строке с командой "M301".
;HotEnd_PID_calibration.gcode
G28 ; Вернуться в начало координат
G1 Y100.0 X100.0 Z5.00 F1500 ; Переместить хотенд на координаты X100 Y100 Z5 M106 S255 ; включить 
обдув модели на 100%
;
M303 E0 S240 C7 U ; E0<номер экструдера> S<температура> C<циклы> U<применить полученные значения> 
M106 S0 ; выключить обдув модели
M500 ;Сохранить полученные значения в EEPROM
;
M503 ;Вывести текущие значения EEPROM для проверки

Стол (необходимо активировать параметр PIDTEMPBED в прошивке)

Процедура калибровки PID для стола практически не отличается от калибровки хотенда. При наличии корпуса закройте дверцу и установите крышку принтера, чтобы создать закрытый объем внутри принтера. Обратите внимание, что команды для калибровки стола и хотенда совпадают, отличается лишь параметр номера экструдера, для стола это всегда будет "-1"
Терминал принтера:
M303 E-1 S<temp> C<count> ;Запуск автоматической калибровки стола E-1 - Калибровка стола
S<temp> - Температура проведения теста
C<count> - Количество повторений теста, чем их больше - тем точнее (минимум 3, по умолчанию 5) 
Пример: M303 E-1 S80 C7
Результаты выполнения команды:
>>> M303 E-1 S80 C7
<<< PID Autotune start
*тестирование*
<<< PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h
<<< #define DEFAULT_bedKp 52.60
<<< #define DEFAULT_bedKi 6.63
<<< #define DEFAULT_bedKd 277.98

Полученные значения также вносятся в прошивку или сохраняются в EEPROM. Для тестирования стола также можно использовать GCode, указанный ниже, сохранив его в файл с расширением ".gcode" и запустив на принтере; он проведет тестирование и автоматически сохранит значения в EEPROM. После завершения в терминал будут выведены текущие значения EEPROM для проверки, значения PID для стола находятся в строке с командой "M304".
;Bed_PID_calibration.gcode
G28 ;Вернуться в начало координат
G1 Y100.0 X100.0 Z5.00 F1500 ;Переместить хотенд на координаты X100 Y100 Z5
M106 S255 ; включить обдув модели на 100%
;
M303 E-1 S80 C7 U ;E-1<стол> S<температура> C<циклы> U<применить полученные значения> M106 S0 ; 
выключить обдув модели
M500 ;Сохранить полученные значения в EEPROM
;
M503 ;Вывести текущие значения EEPROM для проверки

График температур нагрева стола и хотенда 3D принтера

Прошивка

Экструдер

Значения, полученные после PID калибровки, записываются в разделе "PID Settings" в файле "Configuration.h" по порядку (без кавычек):
\Marlin\Configuration.h
//===========================================================================
//============================= PID Settings ================================
//===========================================================================
***
***
***
#define DEFAULT_Kp <Kp value>
#define DEFAULT_Ki <Ki value>
#define DEFAULT_Kd <Kd value>

Стол

Для управления нагревом стола через PID необходимо раскомментировать параметр "PIDTEMPBED" (убрать "//"), после чего можно по порядку ввести значения Kp, Ki, Kd в разделе "PID > Bed Temperature Control" в файле "Configuration.h":
\Marlin\Configuration.h
//===========================================================================
//====================== PID > Bed Temperature Control ======================
//===========================================================================
***
#define PIDTEMPBED
***
#define DEFAULT_bedKp <Kp bed value>
#define DEFAULT_bedKi <Ki bed value>
#define DEFAULT_bedKd <Kd bed value>

После прошивки принтера необходимо стереть EEPROM и загрузить в него значения, установленные нами в прошивке, для этого в терминале принтера нужно ввести две команды по порядку (до точки с запятой):
Терминал принтера
M502 ; Загрузить значения указанные в прошивке
M500 ; Сохранить значения в EEPROM

EEPROM

Не стоит забывать, что значения PID хранятся в энергонезависимой памяти контроллера и после перепрошивки вам необходимо либо восстановить в EEPROM значения, указанные нами в прошивке, либо, если вы не хотите перепрошивать свой принтер, вы можете сохранить значения напрямую в EEPROM, но не забывайте, что при использовании команды "M502" (записать значения из прошивки в EEPROM) придется повторно записать PID значения в EEPROM, так как они будут заменены теми, что указаны в прошивке. Для хранения данных значений предпочтительнее указывать их в прошивке - это убережет вас от множества проблем.

Терминал принтера:
M301 P<Kp value> I<Ki value> D<Kd value> ;Установить значения PID для хотенда
M304 P<Kp bed value> I<Ki bed value> D<Kd bed value> ;Установить значения PID для стола
M500 ; Сохранить значения в EEPROM

Данный гайд так же опубликован на канале @LiS92Live в telegram в виде PDF документа с нормальным форматированием текста.

 

Рекомендуемые товары

Комментарии 0