Хотите автоматически настроить параметры PID вашего принтера, чтобы улучшить качество печати? Ознакомьтесь с принципом работы ПИД-регулятора 3D-принтера!
Если вы уже работали с 3D-принтерами, то вам наверняка знакомы нагревательные компоненты вашего принтера. Если у вас есть подогреваемый стол, то, скорее всего, у вас есть два компонента нагрева: один для сопла и один для стола.
Эти элементы используют алгоритмы для поддержания стабильной температуры с помощью трех переменных:
- Пропорции между фактической и заданной температурой;
- Интеграла, который является измерением исторической погрешности процесса нагрева;
- Демпфирование, которое является измерением того, как быстро температура изменяется от выше и ниже заданной температуры.
Все вместе эти параметры обычно называются ПИД-регуляторами, и они могут использоваться для решения самых разных задач. По сути, ПИД-регулирование — это поддержание правильного баланса. В этой статье мы рассмотрим все тонкости настройки ПИД-регулятора, включая то, как сделать это на вашем принтере!
Что это такое?

Как же работает ПИД-регулятор нагрева в 3D-принтере? Проще говоря, прошивка принтера принимает три значения — P, I и D — и алгоритм вычисляет, как поддерживать пропорцию тепла, интегрируя зарегистрированную ошибку, используя производную для модуляции скорости.
PID против Bang-Bang
ПИД-нагрев чаще используется в 3D-принтерах, чем альтернативный метод нагрева: нагрев «Bang Bang». Нагрев по принципу «Bang Bang» (или «вкл-выкл») обычно используется в духовках и других низкоточных обогревателях в быту, поскольку он предполагает только полное включение (100 %) нагревательного элемента, когда температура ниже требуемого значения, и его выключение (0 %) при достижении заданной температуры. Система управления «Bang Bang» не подходит для нагревателей 3D-принтеров, потому что она не поддерживает точно заданную температуру — скорее, она колеблет температуру выше и ниже заданного значения. К сожалению, если истинная температура слишком сильно колеблется выше и ниже заданного значения, качество печати может ухудшиться.
С другой стороны, ПИД-регулятор использует три переменные для точного восстановления и поддержания заданного значения. Более подробно мы рассмотрим, как это достигается, ниже.
Настройка
Хотя значения ПИД-регулятора могут показаться не такими уж важными, их влияние нельзя недооценивать, когда речь идет о 3D-печати.
Значительные колебания температуры в сопле или столе могут создавать на отпечатках несовместимые линии (а не обычные линии слоев), ухудшая внешний вид напечатанной детали. Для сопла изменение температуры может привести к неравномерной экструзии. В случае со столом неравномерное тепловое расширение может привести к изменению высоты каждого слоя, что, в свою очередь, вызывает неравномерность боковых поверхностей (представьте, что один слой более плотный, чем другие, потому что экструдируется то же количество пластика, но при немного меньшей высоте слоя). Например, даже если разница составляет всего 10 микрон (0,01 мм), высота слоя 0,19 мм против 0,20 мм приводит к изменению ширины на ~5 %, что является заметной разницей в качестве поверхности.
Таким образом, когда вы приобретаете новый хотенд, подогреваемый стол или переходите на существенно новую температуру печати, вам следует выполнить настройку ПИД-регулятора, чтобы получить наилучшие результаты с новым оборудованием или настройками печати.
Принцип работы

Как мы уже говорили, настройки ПИД-регулятора осуществляются путем изменения значений P, I и D в прошивке вашего принтера. Эти изменения хранятся во встроенной памяти принтера и используются при каждом отпечатке и действии, связанном с нагревом.
В двух словах, PID — это алгоритм управления, который использует 3 переменные — пропорциональную P, интегральную I и производную D — для определения того, как нагреватель (сопла или стола) управляется для поддержания заданной температуры. Вот обзор того, как работает ПИД-регулятор (не забывайте, что ПИД-регулятор используется для многих систем управления, а не только для температурных):
- P пропорционально текущему значению ошибки e(t), которое является заданным значением (SP) — переменной процесса (PV). Если ошибка велика, выход регулятора пропорционально увеличивается с помощью коэффициента усиления Kp.
- Прошлые значения SP — PV интегрируются, чтобы получить член I (интеграл). Он накапливает постоянную ошибку и применяет коррекцию. По мере уменьшения ошибки интегральный член продолжает компенсировать ее, помогая устранить смещение.
- D оценивает будущую тенденцию ошибки SP — PV на основе ее текущей скорости изменения (производной). Он демпфирует изменение в зависимости от текущего значения e(t), т.е. чем больше скорость изменения, тем больше эффект демпфирования.
- Управляющая переменная u(t) теперь регулируется на основе формулы системы управления, которая включает в себя все значения P, I, D, чтобы минимизировать e(t), обеспечивая наиболее точный конечный результат.
В 3D-принтерах настройка контура осуществляется на основе первоначальной оценки этих значений. Это означает, что выбранный вами нагревательный элемент многократно циклически нагревается до значений немного выше и ниже заданного значения для проведения измерений и получения расчетных значений. Таким образом, дополнительные циклы нагрева и охлаждения помогают убедиться, что значения P, I и D максимально приближены к «идеальному» значению.
Когда вы начинаете настройку ПИД-регулятора, сначала установите, какой нагревательный элемент вы хотите настроить, а затем целевую температуру, на которую вы хотите его настроить. Эта температура должна быть такой же, какую вы планируете использовать для печати. Наконец, задайте количество повторов, в течение которых принтер должен нагревать указанный элемент вверх и вниз, запустите ПИД-настройку, а затем снова введите только что рассчитанные значения P, I и D в терминал G-кода.
Теперь перейдем к инструкциям по автоматической настройке ПИД на машинах с прошивкой Marlin 1 или Marlin 2! Чтобы настроить PID для Klipper, найдите наше руководство здесь.
Перед настройкой

В этом процессе мы рассмотрим настройку параметров PID вашего принтера, если он работает на Marlin (или прошивке на базе Marlin, например TH3D Unified). Мы рассмотрим, как настраивать первый хотенд («E0») и стол, а поскольку процессы для них немного отличаются, мы разделим процедуру на две части.
Прежде чем что-либо делать, если ваш принтер работает под управлением Marlin, проверьте, на какой версии Marlin основана прошивка вашего принтера (Marlin 1.X или 2.X). Также убедитесь, что у вас есть терминал с G-кодом. Pronterface совместим со многими принтерами и прост в использовании, а терминал OctoPrint — еще один распространенный вариант.
Если вы не используете Marlin, процесс будет очень похожим, если не тем же самым, на других прошивках. Проверьте синтаксис G-кода на сайте вашей прошивки, чтобы найти нужные команды для настройки PID, а если вы не можете найти их, используйте следующий процесс в качестве отправной точки.
Сопло

Выполните следующие шаги, чтобы настроить ПИД-регулятор сопла принтера, если на вашем устройстве установлена прошивка Marlin:
- Откройте терминал G-кода и подключите устройство (с терминалом) к основной плате принтера.
- Нагрейте принтер до температуры камеры, при которой вы планируете печатать (если применимо).
- Установите величину охлаждения детали на ту, при которой вы планируете печатать.
- Выберите температуру сопла, наиболее близкую к той, при которой вы будете чаще всего печатать.
- Выберите, какой нагреватель вы хотите PID-настроить (E0, E1 и т. д.).
- Выберите количество циклов нагрева (повторений нагрева элемента до и ниже заданной температуры), которые вы хотите запустить.
- Чем больше циклов, тем больше времени это займет, но тем точнее будут результаты.
- По умолчанию количество циклов нагрева равно 5.
- Введите «M303 E{номер нагревателя} S{целевая температура} C{количество циклов}», а затем отправьте его с помощью терминала G-кодов. Например, «M303 E0 S230 C7» приведет к ПИД-настройке первого нагревателя на 230 °C с помощью 7 циклов.
- Подождите, пока терминал закончит циклирование и покажет рассчитанные значения P, I и D. Они будут читаться как «kP, kI, kD».
- Введите «M301», затем «P{генерированное значение kP} I{генерированное значение kI} D{генерируемое значение kD}» и отправьте команду. Например, «M301 P70 I3 D65» введет новые значения ПИД-регулятора сопла P = 70, I = 3, D = 65.
- Отправьте команду M500, чтобы сохранить и записать эти значения в прошивку. Или, если вы предпочитаете использовать ЖК-интерфейс, вы можете выполнить ту же задачу, выбрав «Save Settings»
Стол

ПИД-настройка стола очень важна и она может предотвратить появление ненужных дополнительных линий слоя на ваших 3D-отпечатках. Следуйте приведенным ниже инструкциям, чтобы настроить ПИД-регулятор нагреваемого стола принтера, если на вашем принтере установлена прошивка Marlin:
- Откройте терминал G-code и подключите устройство (с помощью терминала) к основной плате принтера.
- Выберите температуру стола, при которой вы чаще всего будете печатать.
- Определите, какая версия Marlin у вас установлена: Если у вас прошивка Marlin 1.X, используйте нагревательный элемент «E-1». Для Marlin 2.X используйте «EBED». (Некоторые читатели отметили, что «E-1» также используется для 2.X).
- Выберите, сколько циклов нагрева (повторений нагрева элемента до и ниже заданной температуры) вы хотите запустить.
- Чем больше циклов, тем выше точность и тем больше времени требуется для настройки.
- По умолчанию количество циклов нагрева равно 5.
- Введите «M303 E{имя прошивки нагревательного элемента} S{целевая температура} C{количество циклов}», что является командой „Автонастройка ПИД“, а затем отправьте ее с помощью терминала G-кодов. Например, «M303EBED S100 C6» настроит ПИД-регулятор стола принтера (на Marlin 2.X) на 100 °C с помощью 6 циклов.
- Подождите, пока терминал закончит циклирование и покажет рассчитанные значения P, I и D. Они будут отображаться как «kP, kI, kD».
- Введите «M304», затем «P{генерированное значение kP} I{генерированное значение kI} D{генерированное значение kD}» и отправьте команду. Например, «M304 P70 I3 D65» введет новые значения ПИД-регулятора кровати P = 70, I = 3, D = 65.
- Отправьте команду M500, чтобы сохранить и записать эти значения на материнскую плату. Или, если вы предпочитаете использовать ЖК-интерфейс, вы можете выполнить ту же задачу, выбрав «Save Settings».
И это все, что нужно для настройки PID вашего принтера!







