• Механическая обработка и изготовление деталей из металла
  • Комплектация производства промышленным оборудованием
  • Комплексная поставка микроэлектронных компонентов
+7(342)203-78-58
Тех.отд: +7-922-308-78-81

Pid настройка marlin: Калибровка PID регулятора 3D принтера на прошивке Marlin

Опубликовано: 07.05.2023 в 05:12

Автор:

Категории: Популярное

Настройка PID в одно касание

Техничка

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

Подписаться

Не хочу

6

Калибровку PID можно выполнить просто запустив на печать файл содержащий весь необходимый код. Новые значения PID будут сохранены в энергонезависимую память и применены автоматически. Перезагрузка не требуется.

В первую очередь предупреждение: код содержащийся в файле — не универсален. Он написан для владельцев принтера FlyingBear Ghost и будет работать на всех ревизиях принтера.  

Для владельцев остальных принтеров: калибруется только экструдер E0. Учтите это, если у вас два экструдера и измените код . Само собой в прошивке должна быть включена возможность записи в EEPROM.

В Telegram существует группа, объединяющая владельцев принтеров FlyingBear Ghost (https://t.me/Ghostbustersss), насчитывающая сейчас 172 участника, и вопрос калибровки PID в ней не задавал только ленивый. Сначала на вопросы отвечали, потом создали инструкцию для начинающих, только иллюстрации нарисовать осталось. Мне кажется, что справиться с калибровкой поможет файл, содержащий весь необходимый код.

Как это работает:

Что бы файл не потерялся среди других предлагаю в корневой папке SD карты создать папку «Utilities» и поместить туда файл Autotune_PID_E0.gcode (Ссылка на файл).

Для уверенности с экрана заходим в «Инструменты» и нажимаем в правом нижнем углу на плашку с версией Marlin. Выбираем строку PID сопла и фотографируем текущие значения. Сверим потом с новыми и убедимся, что все прошло успешно.

При запуске файла сначала выполняется парковка, после этого стол опускается на 15 мм и хотэнд перемещается на 25 мм по оси X. Это сделано для того, чтобы дать возможность воздуху охлаждения хотэнда циркулировать достаточно свободно.

Выполняются команды:

G28

G1 Z15.0 F1500

G1 X25.0 F1500

После этого начинается процесс калибровки PID. При этом на экране принтера можно наблюдать за изменениями температуры хотэнда. Калибровка занимает около 5 минут. После завершения принтер сообщит об успешной печати файла. 

Выполняются команды:

M303 E0 S200 C8 U

M500

M503

Как проверить, что значения PID обновились: на экране проходим весь путь «Инструменты»-«Marlin»-PID сопла и сравниваем с фотографией прошлых значений. После перезагрузки принтера можно снова проконтролировать, что значения сохранились.

Таким же образом можно калибровать и PID стола, нужно лишь немного поправить файл. Не даю этот код здесь по простой причине: в стоковых принтерах стол греется как bang-bang и процесс калибровки для стола не применим. Режим нагрева стола с PID включается в прошивке, и если вы с этим справились, то и поправить gcode в файле не составит труда.

Всем отличной печати!

Присоединяйтесь к Telegram-группе владельцев FlyingBear Ghost (https://t.me/Ghostbustersss)

(Есть решение) ПИД тюнинг картридж мощностью 50 Вт в Марлине

Недавно я решил обновить свой Geeetech A10 (плата GT2560 v3. 0) с помощью E3D Chimera, Marlin 2.0.3 и более мощного нагревательного картриджа мощностью 50 Вт. Я подключил все провода и попытался настроить ПИД на горячем конце, но у меня возникла проблема.

Когда настройка заканчивается и я использую значения с M301, они становятся слишком агрессивными, и hotend изначально превышает более 15 °C. После этого температура становится абсолютно постоянной.

Настроенные значения равны P=9,4 I=0,47 и D=46,4.

Я попытался изменить значения в соответствии с таблицей википедии, чтобы не было превышения (P=3,13 I=0,47 и D=123,7), но это просто сделало температуру нестабильной.

Я также попытался настроить значения вручную, но безуспешно. Я даже пытался использовать нули для всех трех коэффициентов усиления, но он просто колебался на ±10 °C и все равно промахивался.

Я предполагаю, что картридж слишком мощный для настройки ПИД-регулятора Marlin.

Есть ли настройка в прошивке, где я могу установить значение PWM для настройки PID? Чтобы замедлить нагрев? Я попытался использовать M301 E1 P0. 25 S200 C10, но, похоже, он не использовал параметр P.

Или есть способ вручную настроить значения без принтера? У меня есть Arduin Uno и RPi Zero. Или мне придется купить еще один менее мощный картридж?

▲ 3

Помимо значений P, I и D, вам также может потребоваться настроить PID_FUNCTIONAL_RANGE и PID_INTEGRAL_DRIVE_MAX.

В принципе, функциональный диапазон отключает ПИД-контроль, когда он находится более чем на заданное число градусов от заданной температуры, и просто переводит нагреватель в нулевую/максимальную мощность. Параметр integral drive max ограничивает значение интегрального члена ПИД-регулятора.

Вики-заметки RepRap wiki: (обратите внимание, что эта вики-страница датирована! некоторые варианты могут быть недоступны)

В Marlin параметры, управляющие и ограничивающие ПИД-контроллер, могут иметь более значительные эффекты, чем популярные ПИД-параметры. Например, PID_MAX и PID_FUNCTIONAL_RANGE и PID_INTEGRAL_DRIVE_MAX могут иметь драматические, неожиданные эффекты на поведение PID. Например, слишком большой PID_MAX на мощном нагревателе может сделать автонастройку невозможной; слишком маленький PID_FUNCTIONAL_RANGE может вызвать нечетное поведение сброса; слишком большой PID_FUNCTIONAL_RANGE может гарантировать превышение; и слишком маленький PID_INTEGRAL_DRIVE_MAX может вызвать падение.

Мое предчувствие заключается в том, что функциональный диапазон может быть слишком мал; PID не срабатывает до тех пор, пока не приблизится к желаемой температуре, в которой вы уже перевыполните цель (из-за высокой мощности нагревателя и задержки в измерениях). Как только вы превысите заданную температуру, интегральный член начнет расти (отрицательный), что приведет к массовой недоэкструзии.

,
@Tom van der Zanden

Автонастройка PID Marlin: полное руководство

Автонастройка PID — это функция микропрограммы Marlin для 3D-печати, которая управляет настройками температуры нагреваемой платформы для печати и горячего конца .

Его можно изменить на любые настройки, соответствующие используемому принтеру или типу нити, и позволяет поддерживать постоянную температуру.

PID означает пропорциональный, интегральный и производный.

В этих настройках используются алгоритмы для конкретного управления тем, как ваш принтер обрабатывает регулировку температуры горячего конца и нагреваемой платформы.

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

В этой статье мы рассмотрим функцию автоматической настройки ПИД-регулятора в программном обеспечении Marlin. Но сначала давайте сделаем шаг назад и напомним себе, что такое Марлин.

Marlin, пожалуй, самое известное программное обеспечение в мире 3D-печати.

Впервые созданный в качестве проекта с открытым исходным кодом в 2011 году группой разработчиков во главе с Эриком ван дер Залмом, он изначально создавался как операционное программное обеспечение для машин RepRap и Ultimaker.

Однако сегодня компания Marlin выпускает подавляющее большинство домашних и любительских 3D-принтеров с конвейера.

Конечно, если у вас есть или вы использовали 3D-принтер для моделирования методом наплавления (FDM), вы будете знать о Marlin.

Само программное обеспечение управляет всеми функциями 3D-принтера, такими как шаговые двигатели, управление осями, нагреватели и т. д., и устанавливается непосредственно на материнскую плату вашего станка.

Элементы управления следуют командам G-кода и поэтому довольно просты с настройками «здравого смысла».

Это часть популярности Marlin среди пользователей и производителей, так как он выполняет свою работу без излишеств.

Итак, это лишь краткий обзор Marlin, а теперь давайте перейдем к делу и рассмотрим автонастройку ПИД-регулятора.

Но что означает PID?

  • Пропорциональный – Измеряет долю фактической температуры по отношению к запрошенной. Например, если целевая температура составляет 200 ° C, а она достигла 150 ° C, то пропорция будет равна 75% 9. 0040
  • Интеграл – Это мера так называемой исторической ошибки процесса нагрева. При этом мы смотрим на то, как нагреваемый элемент работал в предыдущих циклах нагрева. Это вернет значение корректировки, чтобы гарантировать, что будущие циклы будут более последовательными.
  • Производная – Измерение скорости изменения температуры выше или ниже заданного значения. Например, нагревательный элемент в духовке может быть установлен на 200 ° C, а затем отключится, как только он достигнет, но обычно превышает эту цель. Затем он будет продолжать нагреваться/охлаждаться/нагреваться и так далее, пока шкала находится на 200 ° C. Эта настройка известна как «взрыв-взмах» и не годится для нагреваемого элемента на 3D-принтере, поскольку он должен быть постоянно постоянным на всем протяжении.

Когда вы запускаете автоматическую настройку PID, вы отправляете команду на свой принтер, который затем выполняет эти действия и возвращает набор результатов.

Важность настройки PID в 3D-печати

Поскольку Marlin является программой с открытым исходным кодом , она позволяет изменять строки кода в соответствии с нужными настройками.

Отсюда следует, что вы можете изменить настройку PID на любую, которая вам нужна.

Неправильные настройки температуры и перепады температуры могут отрицательно сказаться на любом отпечатке, и поскольку все мы стремимся к совершенству, имеет смысл использовать все доступные инструменты.

Например, правильная температура горячего конца для использования стандартной нити PLA, вероятно, должна быть около отметки 190-220°C, но это зависит от марки и инструкций производителя.

Я обычно выбираю 200°C и 55°C для слоя большинства марок PLA, которые я использую.

Давайте сначала посмотрим на хот-энд.

Если температура неправильная или изменяется слишком сильно в процессе печати, это может вызвать проблемы, такие как недостаточное экструдирование, засорение, натяжение и т. д.

Любой из них может привести к сбою печати или, по крайней мере, к низкому качеству.

С нагревательным столом конечные результаты будут такими же, но вы можете даже не достичь этого, если температура стола неправильная или колеблется, так как ваш отпечаток может даже не прилипнуть к пластине.

Вы также можете столкнуться со смещением слоев по мере продвижения печати и даже повредить саму нагревательную платформу, если она перегреется.

Все это веские причины для использования автонастройки PID в Marlin.

Как выполнить автоматическую настройку ПИД-регулятора на Marlin

Как мы уже упоминали, Marlin работает, отправляя набор команд для управления машиной, которой он управляет.

Перед этими командами стоит буква «M», за которой следует число.

Опытные пользователи Marlin смогут прямо по используемому номеру определить, к какому параметру относится команда.

Впрочем, не важно, знаете ли вы их все, только те, которые вам нужны!

Прежде чем начать, вам необходимо загрузить Терминал G-кода , такой как Pronterface, который совместим с большинством 3D-принтеров, или, если вы знакомы с Octoprint, вы также можете использовать его.

Однако в этом объяснении мы будем использовать Pronterface.

Чтобы запустить автоматическую настройку ПИД-регулятора для вашего хотэнда в Marlin, введите следующую строку кода:

M303 E0 S200 C8

hotend (P), S200 — целевая температура (I) и C8 количество циклов (D).

Циклы относятся к количеству раз, когда температура приближается к целевому значению в 200°C и отправляет результаты обратно для определения правильного целевого значения: в данном случае 8.

Здесь проявляется аспект автонастройки команды. играть, так как циклическая установка температуры предназначена для поддержания постоянного тепла и автоматической регулировки или настройки по мере необходимости.

Очевидно, что эти настройки могут быть изменены в соответствии с вашими потребностями и не ограничиваются управлением только одним хот-эндом за раз.

Таким же образом можно управлять и настройками подогревателя, так что давайте подробнее рассмотрим, как это сделать.

Hotend

Когда мы имеем дело с хотэндом, мы, очевидно, имеем в виду рабочую часть вашего принтера, которая доставляет экструдированный и нагретый филамент на платформу печати.

Как мы уже говорили ранее, он должен иметь определенную температуру, соответствующую используемой нити накала, и должен поддерживать эту температуру на постоянном уровне.

Таким образом, автонастройка ПИД-регулятора будет установлена, как в приведенном выше примере.

1. Подключите Pronterface к принтеру

Откройте Pronterface на ноутбуке или ПК и убедитесь, что он подключен к принтеру.

Это должно вызвать список всех настроек Marlin, которые присутствуют для вашей машины.

2. Найдите строку «M303» и измените настройки на свои

Затем вам нужно отправить этот G-код на ваш принтер и подождать, пока он сделает свое дело. Возвращаемые результаты покажут вам новые значения PID с префиксом «k» в каждом случае (т.е. kP, kI, kD).

3. Повторно отправьте значения PID

Затем вам необходимо повторно отправить их на принтер в виде команды «M301», и это сбросит PID на новые параметры.

Распространенная ошибка при этом заключается в том, что люди забывают сохранить новые настройки, поэтому обязательно сделайте это с помощью команды «M500» .

После этого ваши настройки PID сохраняются на материнской плате и становятся частью микропрограммы.

Мы также затронули тот факт, что эти настройки могут управлять более чем одним хотэндом.

Если ваш принтер настроен на многократную экструзию (например, для нитей разного цвета), у вас может быть следующая строка кода:

M303 E0 E1 E2 S200 C8

Это показывает три горячих конца (0, 1 и 2) установить на 200°C с той же процедурой цикла. Процесс их установки будет таким же, но результаты будут немного отличаться.

Подогреваемый стол

Подогреваемый стол — это поверхность, на которую выдавливается нить для печати выбранной вами 3D-модели.

Процесс настройки автонастройки ПИД-регулятора для кровати почти такой же, как и для хот-энда, за исключением того, что обозначение для кровати отличается от .

Однако, и это важно, для обеспечения правильной работы PID вам необходимо убедиться, что параметр PIDBEDTEMP «раскомментирован» .

Это означает, что вы удаляете «//» перед командой в Marlin.

Как только вы это сделаете, ваша линия M303 на этот раз может выглядеть так:

M303 EBED S70 C8

Кроме того, когда вы получите возвращенные результаты, вам нужно будет отправить значения «k» обратно с помощью команды «M304».

Когда закончите, не забудьте снова сохранить с помощью M500.

Часто встречающиеся проблемы с автоматической настройкой ПИД-регулятора Marlin

Как и все остальное, Marlin не идеален, и время от времени возникают проблемы со многими его настройками.

Функция автоматической настройки ПИД-регулятора не единственная в этом отношении, и есть несколько часто встречающихся проблем, с которыми вы можете столкнуться при ее использовании.

Рассмотрим основные из них.

Тайм-аут автонастройки ПИД-регулятора

Это сообщение об ошибке, которое показывает, когда команда не работает должным образом и не выполняется из-за предварительно установленного параметра тайм-аута.

Примером этого может быть то, что целевая температура для вашей кровати с подогревом может быть установлена ​​на 110 ° C, что вы сразу можете сказать, что это довольно много.

Поскольку нагреваемый слой обычно может нагреваться до максимальной температуры около 80°C, потребуется время, чтобы достичь гораздо более высокого целевого значения.

Любые внешние элементы, которые могут повлиять на процесс нагрева, неисправные или перегруженные вентиляторы или плохое электропитание могут замедлить этот процесс, что приведет к тому, что цель не будет достигнута в течение необходимого времени, что приведет к сбою тайм-аута.

Bad Extruder Number

Это еще одно сообщение об ошибке, возникающее при несоответствии информации в командной строке и основной настройке прошивки Marlin.

Например, вы ввели «E0» в качестве тепловой кровати, но этого значения еще нет в прошивке Marlin.

После этого команда M303 завершится ошибкой, так как не сможет найти нагревательную платформу, о которой вы говорите.

Чаще всего это происходит из-за того, что вы либо опечатались в командной строке, либо забыли включить параметр PIDTEMPBED.

Слишком высокая температура

Это может показаться очевидным, но может случиться.

Каждый принтер и его нагреваемые элементы (т. е. горячий конец и платформа для печати) имеют максимальную рабочую температуру.

Каждый диапазон принтеров может иметь разные верхние пределы, и довольно часто это будет зависеть от того, питается ли машина от источника питания 12 В или 24 В.

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

Таким образом, если вы установите целевую температуру, скажем, 250°C, то процесс PID запустится только тогда, когда температура будет в пределах 10°C и, скорее всего, превысит целевое значение.

Это вызовет ошибку.

Решение этой проблемы состоит в том, чтобы либо изменить «PID_FUNCTIONAL_RANGE» с 10, скажем, на 50 или 60, чтобы дать PID больше времени для работы, либо; уменьшите мощность нагревателя, уменьшив настройку «PID_MAX».

Это замедлит процесс нагрева, но снова даст больше времени для правильной работы PID.

Заключение

Мы хорошо рассмотрели автоматическую настройку PID, и я думаю, вы согласитесь, что это важная настройка, если вы хотите поддерживать постоянные настройки нагрева и, в свою очередь, качественные отпечатки.

Настройки, которые мы прошли, являются основными командами Marlin для функции автоматической настройки ПИД-регулятора.

Мы также затронули другие настройки и команды, но, как вы, надеюсь, понимаете, в рамках одной статьи невозможно рассмотреть все настройки Marlin.

Однако я надеюсь, что это даст вам представление об изменении настроек Marlin и даст стимул узнать больше об этой важной части прошивки для 3D-печати.

калибровка — настройка ПИД и различные температуры нити накала

Задавать вопрос

спросил

Изменено
2 года, 2 месяца назад

Просмотрено
1к раз

$\begingroup$

Поскольку у меня много PETG, я настроил температуру 230 °C (средняя температура для моих нитей).
Чем он хорош с точки зрения диапазона температур?

Для одной и той же конфигурации принтера и только с разными нитями мне нужно будет запускать его снова и снова?
Предположим, я буду печатать при температуре от 200 °C до 240 °C.

  • калибровка
  • идентификатор

$\endgroup$

$\begingroup$

Настройка ПИД-регулятора может выполняться несколько раз, а результаты сохраняются для использования в будущем, поскольку вопрос касается «каких диапазонов применимых настроек ПИД-регулятора», исходя из моего опыта. более 2-3 градусов, что более чем достаточно для большинства традиционных филаментов

  • , если у вас диапазон температур 30-40 °C, вы, вероятно, можете оставить настройку посередине и покончить с этим
  • требуется точная настройка, если вы запускаете горячую часть при максимальной номинальной температуре: мой был рассчитан на 250 ° C, и без хорошей настройки PID температура зашкаливала на 2-3 градуса, чего было достаточно для срабатывания защиты от перегрева. неисправность. Использование принтера при температуре 245 °C не вызвало бы проблем даже при неоптимальной настройке ПИД-регулятора.
  • Конечно, людям с высокотемпературными горячими концами (до 270–300 °C и выше) потребуется настройка для обычного диапазона (200–240 °C) и настройка для более высокого диапазона температур для получения более качественных отпечатков.

    $\endgroup$

    1

    $\begingroup$

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

    Вы можете настроить PID для разных температур и получить необходимые значения, например:

     M303 C16 D1 E0 S190
    22:14:31.872 > Автонастройка ПИД завершена! Поместите последние константы Kp, Ki и Kd снизу в Configuration.

    Всего комментариев: 0

    Оставить комментарий

    Ваш email не будет опубликован.

    Вы можете использовать следующие HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>