Прошивки для 3д принтера. Клиппер или Марлин?

23 сентября 2022


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

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

Процесс управления принтером — это гораздо больше, чем кажется на первый взгляд. За кулисами требуются миллионы вычислений для управления шаговыми двигателями, вентиляторами и нагревателями. Быстрая печать с высоким уровнем детализации предъявляет высокие требования к прошивке.

Существует несколько вариантов прошивки для 3D-печати , включая RepRap , Repetier , Marlin , Klipper и другие. Marlin, безусловно, является фаворитом в мире 3D-печати, но Klipper обладает рядом уникальных функций. В этой статье мы сравним Marlin и Klipper по целому ряду параметров, включая архитектуру, конфигурацию, надстройки и функциональность. Но прежде чем мы перейдем к деталям, давайте познакомимся с претендентами!

Marlin и Klipper 

Marlin доминирует на рынке, и его (или его производные) можно найти в большинстве 3D-принтеров FDM/fff. Marlin был разработан в 2011 году Эриком ван дер Залмом для Ultimaker и предназначен для работы на доступных 8-битных микроконтроллерах Arduino .

Klipper был впервые выпущен в 2016 году Кевином О'Коннором и использует совершенно другой подход к управлению 3D-принтером. Признавая, что маленькие микроконтроллеры накладывают ограничения на возможности принтеров, Klipper перекладывает большую часть математических вычислений на более мощное устройство (обычно Raspberry Pi ).

Теоретически это дает Klipper возможность реализовать более интенсивный и точный контроль, что может означать более высокую скорость печати и более высокое качество печати. Тем не менее, Marlin несколько догнал, во-первых, представив версию 2 , которая поддерживала более мощные 32-битные контроллеры . Разработчики Marlin продолжают добавлять новые улучшения в версии 2.1 и выше.

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

Архитектура

Marlin — это классическая реализация прошивки. Он написан на C++ и может быть настроен для широкого спектра плат и принтеров. После того, как он скомпилирован и прошит на контроллере, для работы ему требуется только клавиатура, и он считывает G-код локально с подключенного устройства чтения карт SD. Marlin 2.0 был представлен в 2019 году с расширенным функционалом, поддержкой дополнительных интерфейсных устройств, повышенной стабильностью и возможностью поддержки 32-битных плат. Он по-прежнему может работать на 8-битных платах, хотя нехватка памяти означает, что некоторые функции, возможно, придется исключить.

Хотя Klipper называют прошивкой и рассматривают как прямую альтернативу Marlin, на самом деле все немного сложнее. Принцип проектирования заключается в упрощении роли контроллера, чтобы он был ориентирован только на взаимодействие с шаговыми двигателями, нагревателями, датчиками ABL и так далее. Все подробные расчеты, связанные с преобразованием G-кода в движение принтера, выполняются на отдельном, более мощном компьютере. Как правило, это Raspberry Pi, хотя другие платы на базе Linux тоже подойдут.

Для этого прошивка Klipper (написанная на C) устанавливается на плату (или платы) контроллера вашего принтера, которая затем подключается к Raspberry Pi по USB. Pi запускает программное обеспечение Klipper под названием «Klippy», которое в основном написано на Python. Программное обеспечение считывает G-код, выполняет необходимые вычисления и отправляет контроллеру поток инструкций, синхронизированных с событием, для обеспечения идеальной синхронизации.

Одним из следствий этого подхода является то, что дисплей, обычно присутствующий в 3D-принтерах и подключенный к их платам контроллера, обычно становится избыточным. Хотя Klipper может их использовать, обычный метод заключается в использовании одного из нескольких альтернативных пользовательских интерфейсов, подключенных непосредственно к Raspberry Pi. Это важный компонент обычной установки Klipper, и мы рассмотрим его более подробно ниже.

Конфигурация

Если вы хотите изменить конфигурацию Marlin, например заменить или обновить компонент, вам потребуется внести изменения в один или два файла конфигурации: configuration.h и configuration-adv.h . Эти файлы являются «директивами компилятора» и сообщают компилятору, что ему нужно для сборки прошивки.

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

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

Однако, несмотря на то, что Klipper легче обновлять, доступность онлайн-справки не такая, как у Marlin. Кроме того, поскольку Klipper быстро развивался, онлайн-инструкции по настройке (и установке), выпущенные всего год или два назад, не обязательно отражают самую последнюю версию. Соответственно, стоит проверить Discourse Group Klipper и актуальный список любых новых необходимых изменений конфигурации .

Простота установки

Установка или обновление Marlin — это прошивка новой (правильно настроенной и скомпилированной) прошивки на целевой контроллер. Точный подход зависит от типа устройства, но обычно это делается с помощью USB-кабеля или SD-карты. Традиционно этот процесс выполнялся Arduino IDE, но для 32-битных плат теперь это обычно делается с помощью PlatformIO , привязанного к VSCode. Разработчики Marlin разработали простые в использовании учебные пособия для этого процесса.

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

Установка частей Klipper, которые работают на Raspberry Pi (или другом хост-устройстве на базе Linux), может быть более сложной задачей. Ранние версии получили репутацию сложных и не очень подходящих для неопытных пользователей. Однако это изменилось с улучшенной документацией и введением помощника по установке и обновлению Klipper (KIAUH) . Это простая программа, которая упрощает установку Klipper и других дополнительных компонентов.

Еще один все более популярный вариант — использовать полный образ Raspberry Pi со всем, что вам нужно, предварительно установленным, включая операционную систему и вспомогательные утилиты. Наиболее распространенными являются MainsailOS и FluiddPi для каждого из наиболее распространенных пользовательских интерфейсов Klipper (описанных ниже), а также существуют предварительно настроенные образы для семейств принтеров, включая RatOS, ориентированных на машины RatRig. Установка включает в себя просто перепрошивку образа на SD-карту и выполнение нескольких простых шагов настройки.

Интеграция с надстройками

Для многих пользователей дополнение Marlin дополнительным программным обеспечением, таким как OctoPrint , стало обязательным . Marlin и OctoPrint — мощная комбинация, обеспечивающая встроенную возможность управления 3D-принтером и удаленного наблюдения за ним с помощью камеры в режиме реального времени. Есть функция покадровой съемки , а также многие другие функции.

Дополнительные подключаемые модули OctoPrint могут добавлять дополнительные функции. Obico , ранее известный как Spaghetti Detective , автоматически отлавливает и останавливает неудачные отпечатки. Такие параметры, как «исключить регион» и «отменить объект», выборочно останавливают печать частично неудачных отпечатков.

OctoPrint связывается с прошивкой Marlin через USB, используя строки команд G-кода. Также предоставляется богатый пользовательский интерфейс на основе браузера. Его можно установить либо вручную, как любую другую программу, работающую на Raspberry Pi, либо как часть полного образа Raspberry Pi под названием OctoPi .

Klipper изначально был разработан с учетом OctoPrint в качестве пользовательского интерфейса, и его можно настроить для работы таким образом с помощью нескольких относительно простых шагов. Кроме того, подключаемый модуль OctoKlipper предлагает специальные функции, совместимые с Klipper. Однако отношения между ними нельзя назвать комфортными. OctoPrint потребляет ресурсы Raspberry Pi, которые предпочел бы использовать Klipper, и, что более важно, OctoPrint перехватывает поток G-кода способами, которые могут расстроить Klipper.

По этим причинам были разработаны специальные пользовательские интерфейсы для Klipper, такие как Fluidd и Mainsail , которые являются предпочтительным способом работы. Они предоставляют богатые панели управления на основе браузера, которые отображают информацию о текущей печати и дают пользователям возможность изменять Klipper и параметры печати. Также доступны дополнительные функции (например, подключаемые модули OctoPrint) и поддержка веб -камер.

Пользовательские интерфейсы подключаются через Moonraker , API, который позволяет взаимодействовать с Klipper и работает на той же платформе (например, Raspberry Pi). Все это можно установить вручную с помощью KIAUH или как часть образов Raspberry Pi, упомянутых в предыдущем разделе.

Moonraker также предоставляет средства для интеграции других надстроек с Klipper. Obico — это вариант, но есть также KlipperScreen , относительно новый и популярный способ взаимодействия с Klipper напрямую через интерфейс с сенсорным экраном (а не через браузер). Поддерживается практически любой сенсорный экран, который можно подключить к Raspberry Pi, и он обеспечивает быстрый и удобный способ управления 3D-печатью.

Функциональность

И Marlin, и Klipper имеют одинаковые основные функции, но Klipper поддерживает несколько уникальных и расширенных функций .

  • Кинематика и разрешение: Klipper использует более сложную обработку движения и работает с более высоким уровнем детализации. Он может выполнять гораздо больше шагов в секунду, чем Marlin, что может улучшить качество печати и, в частности, скорость печати.
  • Линейное продвижение/подача под давлением: Marlin имеет функцию линейного продвижения, чтобы лучше управлять потоком экструдера и улучшать качество и остроту углов. Версия Klipper называется «(Плавное) повышение давления». Он использует немного другой метод калибровки, который многие считают более простым и точным. Его более продвинутый алгоритм также повышает производительность. Стоит прочитать документацию об этой функции, так как она несовместима с некоторыми существующими настройками слайсера, такими как движение по инерции.
  • Формирование ввода: это уникальная функция Klipper, которая вызвала большой интерес. Он имеет возможность (путем печати калибровочных отпечатков ) нейтрализовать резонансы, проявляющиеся в виде «рыбьей чешуи», « звона » и других повторяющихся артефактов. Что еще более впечатляюще, он может делать это полуавтоматически, используя акселерометр, прикрепленный к печатающей головке, для точного измерения гармоник и вибраций, которые становятся проблемой при увеличении скорости печати.
  • Несколько контроллеров: может показаться, что это не имеет большого значения, но для тех, кто действительно стремится к возможностям, Klipper позволяет очень легко добавить несколько дополнительных шаговых двигателей или других периферийных устройств. Klipper может даже добавить сам Raspberry Pi в качестве контроллера и использовать его контакты GPIO для поддержки дополнительных внешних устройств.

Существуют и другие функциональные различия между двумя вариантами прошивки. Например, Marlin поддерживает богатый набор «разновидностей» G-кода; Klipper поддерживает ключевые параметры G-кода, но больше ошибается в использовании макросов, которые обеспечивают большую гибкость от добавления новых кнопок в пользовательские интерфейсы до условного управления принтером. И Marlin, и Klipper находятся в постоянном и быстром развитии для улучшения функциональности и поддержки более широкого спектра плат контроллеров и другого оборудования. Однако у них разные подходы к тому, как это сделать доступным.

Важный нюанс Klipper это возможность одновременно управлять более 3 мя принтерами через один одноплатик. Т.е. вы можете достигнуть хорошей производительности даже на 8 битных платах. Это пожалуй главное отличие клиппера от Марлин. Марлин это это прошивка автономная, Клиппер завязан на микрокомпьютер. Хотя сейчас цена уже сравнивается и отличия всё больше будет незначительные. 

Обновления

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

Что подходит именно вам?

Поскольку мир 3D-печати продолжает развиваться, Marlin и Klipper продолжают развиваться и совершенствоваться. Итак, какой правильный выбор сегодня? На различных онлайн-форумах по 3D-печати ведется много споров по этой теме, и пользователи приводят обширные списки плюсов и минусов. Однако ответ зависит от множества факторов.

Marlin 2.1+ на 32-битных платах обладает достаточной вычислительной мощностью для подавляющего большинства 3D-принтеров. Он хорошо поддерживается огромной пользовательской базой, относительно прост в установке и настройке и обеспечивает функциональность, подходящую практически для любого сценария печати, особенно в сочетании с OctoPrint. Похоже, что производители принтеров по-прежнему выбирают прошивку по умолчанию.

Klipper сложнее настроить изначально, но затем легче и быстрее вносить последующие изменения конфигурации. Он также поддерживает уникальные функции для повышения качества высокоскоростной печати. Поддерживается растущий спектр аппаратного обеспечения, хотя и с более ограниченным выбором, чем для Marlin. Многих может воодушевить спонсорство Klipper со стороны производителя плат BigTreeTech. Для тех, кто ищет улучшенное качество печати, более высокие скорости печати или кто занимается сборкой или модификацией принтеров с нуля, он, безусловно, имеет несколько привлекательных преимуществ.

Что вы итоге выбрать? Мы рекомендуем начать с Marlin т.к. это прошивка на данный момент имеет огромное количество пользователей, кучи информации даёт понимание как работает сам 3д принтер

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


По всем вопросам — 3d печать/3d сканирование/обучения писать сюда:

контактный телефон +79531178495

Telegram: https://t.me/fidller

E-mail: shope@fidller.com

вконтакте: https://vk.com/3d_krd_123

полезная информация для клиентов тут - https://3dprint.fidller.com/category/stati/dlya-kliyentov/