Кастомный Marlin на Creality V4.2.2: всё о прошивке Ender 3 Pro
Плата версии 4.2.2, построенная на 32-битном ARM-контроллере STM32F103 RET6, стала приятным сюрпризом для многих владельцев Ender 3 Pro, которые начали получать её с середины 2020 года. В отличие от устаревших 8-битных плат, этот контроллер обладает внушительной вычислительной мощностью, что позволяет раскрыть весь потенциал современного Marlin и внедрить серьёзные улучшения в обработку движений.
В данном руководстве рассматривается процесс работы с версией прошивки 2.1.2.7.
Полезные ресурсы
Официальная документация
Основной репозиторий Marlin: https://github.com/marlinfirmware/marlin
Документация по установке: https://marlinfw.org/docs/basics/install.html https://marlinfw.org/docs/basics/auto_build_marlin.html
Документация по конфигурации: https://marlinfw.org/docs/configuration/configuration.html
Репозиторий с готовыми конфигурациями: https://github.com/MarlinFirmware/Configurations/tree/release-2.1.2.7
Страница загрузок: https://marlinfw.org/meta/download/
Подготовка рабочего окружения
Установка PlatformIO
Для сборки прошивки из исходного кода оптимальным выбором является PlatformIO. Установка в систему выполняется следующими командами:
curl -fsSL -o get-platformio.py https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py
python3 get-platformio.py
Пошаговая инструкция по сборке прошивки
1. Загрузка исходного кода
Скачайте и распакуйте архив с исходным кодом Marlin версии 2.1.2.7:
https://github.com/MarlinFirmware/Marlin/archive/2.1.2.7.zip
2. Настройка среды разработки
- Откройте распакованную папку в среде разработки Visual Studio Code
- Установите предложенные средой расширения
- По желанию инициализируйте локальный git-репозиторий и сделайте коммит всех исходных файлов — это позволит удобно отслеживать внесённые изменения в дальнейшем
3. Применение конфигурации для Ender 3 Pro
Замените или дополните базовые конфигурационные файлы специализированными настройками для Ender 3 Pro с платой V4.2.2. Файлы следует взять из репозитория конфигураций:
https://github.com/MarlinFirmware/Configurations/tree/release-2.1.2.7/config/examples/Creality/Ender-3%20Pro/CrealityV422
Необходимые файлы:
Configuration.h— основные настройки оборудованияConfiguration_adv.h— расширенные параметры и дополнительные функции_Bootscreen.h— изображение загрузочного экрана_Statusscreen.h— элементы интерфейса статусного экрана
4. Компиляция прошивки
Дисклеймер
Материалы статьи носят исключительно ознакомительный характер. Автор не несёт ответственности за любой ущерб, возникший в результате использования данной информации, включая выход из строя оборудования, потерю гарантии или иные негативные последствия. Все действия вы выполняете на свой страх и риск.- Убедитесь, что PlatformIO корректно установлен в вашей системе
- Откройте расширение Auto Build Marlin на боковой панели VS Code
- В разделе Environments (Окружения) выберите пункт Build напротив профиля
STM32F103RE_creality - Запустите процесс компиляции
Важное предупреждение для владельцев V4.2.2
Внимание! Штатный загрузчик платы V4.2.2 запоминает имя последнего файла прошивки. Чтобы успешно прошить скомпилированный бинарный файл через SD-карту, вам придётся переименовать firmware.bin в уникальное имя (например, fw_update.bin), отличное от предыдущего.
В противном случае при следующей загрузке вы получите лишь чёрный экран, и принтер не запустится.
Настройка ручной калибровки стола
Если на вашем принтере отсутствует аппаратный датчик автоуровня, вы можете использовать функцию ручной калибровки по сетке (Manual Mesh Leveling). Этот инструмент позволяет вручную измерить высоту стола в нескольких точках с помощью листа бумаги и компенсировать неровности на программном уровне, что обеспечит надёжное сцепление первого слоя.
Изменения в Configuration.h
Перед запуском сборки необходимо внести следующие изменения в файл Configuration.h:
1. Включите ручное измерение:
#define PROBE_MANUALLY
Эта директива разрешает ручное измерение без физического щупа.
2. Активируйте сеточную калибровку:
#define MESH_BED_LEVELING
Этот параметр активирует сам метод сеточной калибровки.
3. Добавьте меню калибровки на экран:
#define LCD_BED_LEVELING
Данная опция добавляет интерактивное меню калибровки на экран принтера.
4. Сохраняйте калибровку после парковки:
#define ENABLE_LEVELING_AFTER_G28
Гарантирует, что после каждой парковки осей командой G28 сетка выравнивания останется активной, а не отключится.
5. Отключите программный эндстоп по оси Z:
//#define MIN_SOFTWARE_ENDSTOP_Z
Это критически важный шаг! Отключение программного эндстопа по оси Z позволяет соплу опускаться чуть ниже нулевой отметки при измерении зазора листом бумаги, не вызывая ошибок прошивки.
Как работает ручная калибровка
После компиляции и установки прошивки процесс калибровки выглядит следующим образом:
- Запустите команду
G29через меню принтера или терминал - Принтер переместит сопло в первую точку сетки
- Используя лист бумаги, отрегулируйте высоту стола так, чтобы бумага двигалась с лёгким сопротивлением
- Подтвердите точку командой
G29или через меню - Повторите процедуру для всех точек сетки
- После завершения принтер автоматически применит компенсацию неровностей