Открыть сервис

Прошивка Marlin

Marlin — это открытое программное обеспечение (прошивка) для управления 3D-принтерами, станками с числовым программным управлением (ЧПУ) и другими устройствами аддитивного производства. Разработана на языке C++ и предназначена для микроконтроллеров на базе архитектуры AVR (например, Arduino Mega) и ARM (например, STM32). Marlin является одной из самых популярных и распространённых прошивок в мире любительской и полупрофессиональной 3D-печати, обеспечивая управление движением, нагревом, экструзией и другими процессами.

История

Прошивка Marlin была создана в 2011 году разработчиком Эриком ван дер Занде (Erik van der Zande) как форк прошивки Sprinter. В 2012 году проект перешёл под управление сообщества, а его основным разработчиком стал Скотт ЛаХью (Scott LaHue). Первоначально Marlin поддерживала только 8-битные микроконтроллеры AVR, но с развитием технологий и появлением более мощных контроллеров была адаптирована под 32-битные платформы.

Ключевые версии:

  • Marlin 1.0 (2012) — базовая стабильная версия.
  • Marlin 1.1 (2016) — добавлена поддержка автоматического выравнивания стола, автономной SD-карты, улучшенная система управления нагревателями.
  • Marlin 2.0 (2019) — переход на 32-битные контроллеры, новая архитектура управления движением (Linear Advance), поддержка лазерных гравёров и ЧПУ-станков.
  • Marlin 2.1 (2022) — улучшенная система безопасности, поддержка гибридных приводов, расширенные возможности для многоэкструдерных систем.

По состоянию на 2024 год Marlin остаётся активным проектом с открытым исходным кодом, распространяемым под лицензией GPLv3.

Архитектура и принцип работы

Аппаратная платформа

Marlin работает на микроконтроллерах, которые управляют шаговыми двигателями, нагревателями, вентиляторами, концевыми выключателями и дисплеями. Наиболее распространённые платы:

  • Arduino Mega 2560 + RAMPS 1.4 (8-битная)
  • MKS Gen L, SKR 1.3/1.4 (32-битные)
  • BTT Octopus, GTR (32-битные, многоосевые)

Система управления движением

Marlin использует алгоритм трапецеидального профилирования скорости (Trapezoidal Speed Profile) для плавного разгона и торможения осей. Для точного позиционирования применяется прямоугольная система координат (X, Y, Z) с возможностью компенсации наклона стола. В версии 2.0 внедрён Linear Advance — алгоритм, компенсирующий давление в сопле при изменении скорости печати.

Управление температурой

Marlin реализует PID-регулирование (пропорционально-интегрально-дифференциальное) для нагревательного стола и хотэнда. Поддерживает до 4 независимых нагревателей и 4 датчиков температуры (термисторы, термопары, PT100). Система безопасности включает автоматическое отключение при перегреве (thermal runaway protection).

Поддержка G-кода

Marlin интерпретирует стандартный набор команд G-кода (RS-274), включая:

  • G0/G1 — линейное перемещение
  • G28 — автоматическое позиционирование (home)
  • G29 — автоматическое выравнивание стола
  • M104/M140 — установка температуры хотэнда/стола
  • M106 — управление вентилятором

Классификация и виды

По типу поддерживаемого оборудования

  • Для 3D-принтеров (FDM/FFF): основная сфера применения. Поддерживает декартовы, дельта- и CoreXY-кинематики.
  • Для лазерных гравёров: в версии 2.0 добавлена поддержка управления лазером с регулировкой мощности.
  • Для ЧПУ-станков: ограниченная поддержка фрезерных станков (обычно 3 оси).

По версиям

  • Marlin 1.x — для 8-битных контроллеров, ограниченная память (до 256 КБ).
  • Marlin 2.x — для 32-битных контроллеров, поддержка до 6 осей, расширенные возможности.

Настройка и конфигурация

Файлы конфигурации

Marlin настраивается через два основных файла:

  • Configuration.h — базовые параметры (размеры стола, тип датчиков, скорость перемещения).
  • Configuration_adv.h — расширенные настройки (Linear Advance, PID-коэффициенты, автоматическое выравнивание).

Компиляция

Для установки прошивки необходимо скомпилировать исходный код с помощью PlatformIO или Arduino IDE. Пользователь выбирает целевую плату (например, BOARD_RAMPS_14_EFB) и загружает прошивку через USB или SD-карту.

Популярные модификации

  • Marlin Bugfix — ветка с исправлениями ошибок.
  • Marlin 2.1.x — стабильная версия.
  • Marlin для конкретных принтеров (например, Ender 3, Prusa i3) — предварительно настроенные сборки.

Применение

В 3D-печати

Marlin является стандартом для большинства любительских и полупрофессиональных 3D-принтеров. Он используется в таких моделях, как Creality Ender 3, Anycubic i3 Mega, Prusa i3 (в ранних версиях), а также в самодельных принтерах. Прошивка обеспечивает:

  • Управление экструзией (филамент)
  • Автоматическое выравнивание стола (BLTouch, индуктивные датчики)
  • Печать с SD-карты (автономный режим)
  • Поддержка многоэкструдерных систем (до 4 экструдеров)

В промышленности

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

В образовании

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

Преимущества и недостатки

Преимущества

  • Открытый исходный код — возможность модификации и адаптации под любые задачи.
  • Широкая поддержкасовместимость с большинством популярных плат и датчиков.
  • Активное сообщество — регулярные обновления, форумы, документация.
  • Низкие требования к аппаратуре — работает на дешёвых 8-битных контроллерах.

Недостатки

  • Сложность настройки — требует знаний в области программирования и электроники.
  • Ограниченная производительность — на 8-битных контроллерах возможны задержки при сложных алгоритмах.
  • Отсутствие графического интерфейса — настройка через текстовые файлы.
  • Не подходит для высокоскоростной печати — уступает специализированным прошивкам (например, Klipper).

Интересные факты

  • Marlin является одной из самых популярных прошивок в мире 3D-печати — по оценкам сообщества, её используют более 70% любительских принтеров.
  • Название «Marlin» происходит от рыбы-марлин, символизирующей скорость и точность.
  • Прошивка поддерживает до 6 осей, что позволяет управлять роботизированными манипуляторами.
  • В 2020 году проект Marlin был включён в репозиторий GitHub с более чем 10 000 звёзд.

Источники

  • Официальный репозиторий Marlin на GitHub (github.com/MarlinFirmware/Marlin)
  • Документация Marlin (marlinfw.org)
  • Статья «Marlin (firmware)» в Википедии
  • Книга «3D-печать: практическое руководство» (автор: Брайан Эванс, 2019)
  • Форум сообщества Marlin (community.marlinfw.org)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →