Найти в Дзене

Marlin и Klipper: разбор основных отличий ...что выбрать!?

Оглавление

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

Клипер и Марлин: разбор основных отличий
Клипер и Марлин: разбор основных отличий

#

3DMART студия - услуги 3D печати, изготовление запасных частей, заказ образцов, 3D моделирование, разработка корпусов РЭА, 3D формы для настенной плитки.

#

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

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

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

Познакомьтесь с участниками

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

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

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

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

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

Архитектура

Marlin - это классическая реализация встроенного ПО. Он написан на C++
Marlin - это классическая реализация встроенного ПО. Он написан на C++

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

В то время как Klipper упоминается как прошивка и рассматривается как прямая альтернатива Marlin, реальность немного сложнее. Принцип проектирования заключается в упрощении роли контроллера таким образом, чтобы он фокусировался только на взаимодействии с шаговыми двигателями, нагревателями, датчиками и так далее. Все подробные вычисления, связанные с преобразованием 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.
Если вы хотите изменить конфигурацию Marlin – например, заменить или обновить компонент – вам нужно будет внести изменения в один или два файла конфигурации: configuration.h и configuration-adv.h.

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

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

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

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

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

Установка частей Klipper, которые работают на Raspberry Pi (или другом хост-устройстве на базе Linux), может быть более сложной
Установка частей Klipper, которые работают на Raspberry Pi (или другом хост-устройстве на базе Linux), может быть более сложной

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

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

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

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

Интеграция с дополнениями

Для многих пользователей стало обязательным оснащение Marlin дополнительным программным обеспечением, таким как OctoPrint.
Для многих пользователей стало обязательным оснащение Marlin дополнительным программным обеспечением, таким как OctoPrint.

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

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

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

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



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

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

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

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

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

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

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

Кинематика и разрешение: Klipper использует более сложную обработку движения и работает с более высоким уровнем детализации. Он может выполнять гораздо больше шагов в секунду, чем Marlin, что позволяет улучшить качество печати и, в частности, скорость печати.
Linear/pressure advance: Marlin имеет функцию линейного опережения для лучшего управления потоком в экструдере и улучшения качества и остроты углов. Версия Клиппера называется (Smooth) pressure advance. В нем используется несколько иной метод калибровки, который многие считают более простым в работе и точным. Его более продвинутый алгоритм также повышает производительность. Стоит ознакомиться с документацией об этой функции, поскольку она несовместима с некоторыми существующими настройками слайсера, такими как накат(coasting).
Формирование входных данных (Input shaping): Когда-то это была уникальная функция Klipper, пока Marlin не выпустила версию 2.1.2 в 2022 году. Он обладает способностью (посредством печати калибровочных отпечатков) подавлять резонансы, которые проявляются в виде “рыбьей чешуи”, звона и других повторяющихся артефактов. Klipper может выполнять это полуавтоматически, используя акселерометр, прикрепленный к печатающей головке, для точного измерения гармоник и вибраций, которые становятся проблемой при увеличении скорости печати. Marlin, с другой стороны, использует более простые вычисления, которые могут потребовать дополнительной ручной настройки для получения нужного результата.
Несколько контроллеров: Это может показаться несущественным, но для тех, кто действительно стремится к максимальному, Klipper позволяет очень легко добавить несколько дополнительных шаговых двигателей или других периферийных устройств. Klipper может даже добавить сам Raspberry Pi в качестве контроллера и использовать его контакты GPIO для поддержки дополнительных внешних устройств.

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

Обновления

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

Поддержка сообщества и компании

И у Marlin, и у Klipper большие базы поклонников и активное присутствие в Интернете. Будучи более удобным для пользователей, база сообщества Marlin больше и идеально подходит для тех, кто только начинает.
И у Marlin, и у Klipper большие базы поклонников и активное присутствие в Интернете. Будучи более удобным для пользователей, база сообщества Marlin больше и идеально подходит для тех, кто только начинает.

И у Marlin, и у Klipper большие базы поклонников и активное присутствие в Интернете. Будучи более удобным для пользователей, база сообщества Marlin больше и идеально подходит для тех, кто только начинает. Тем не менее, сообщество Klipper чрезвычайно увлечено своей прошивкой.

Marlin ведет официальную документацию с помощью авторов по всему миру. Если вы столкнетесь с проблемой, велика вероятность, что кто-то другой уже задавал тот же вопрос на форумах, таких как Reddit или RepRap. Вы также сможете найти бесконечное количество полезных видеороликов на YouTube, подробно описывающих настройку как для начинающих, так и для продвинутых пользователей. Если Discord вам больше подходит, канал Marlin в настоящее время насчитывает более 14 600 подписчиков и является отличным ресурсом для того, чтобы быть в курсе событий или для устранения неполадок.

Сообщество Klipper относительно меньше, чем Marlin, и в большей степени ориентировано на опытных производителей. Вы можете ознакомиться с официальной документацией Klipper и ознакомиться со страницами Klipper Discourse и Reddit для получения дополнительной поддержки по устранению неполадок. Канал Klipper's Discord особенно активен, у него 22 300 подписчиков и он растет!

Что подходит именно тебе?

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

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

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

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

ПОСТAВЬ ЛAЙК И ПОДПИШИCЬ, ЕCЛИ ТEБЕ ИНТEPEСНА ТEМА 3D ПЕЧАТИ!

еще интересные статьи по теме:

3DMART студия услуги 3D печати и 3D моделирование

Паутина и PETG: 3 простых решения

Чрезмерная экструзия 3D-принтера: 4 простых решения переэкструзии

Лучшие симуляторы Arduino 2023 года (онлайн и оффлайн)

Гальванопокрытие 3D–принтов - все, что вам нужно знать

Сглаживание PLA: как сгладить 3D-отпечатки из популярного пластика

Настройки ретракта PrusaSlicer: все, что вам нужно знать

Как почистить сопло 3D-принтера: самые простые способы