Гайд по установке и настройке Marlin 2.1.2.1 на Creality Ender 5 Pro с платой Creality V4.2.2

Подробный гайд по установке Marlin 2.1.2.1 на Creality Ender 5 Pro (плата 4.2.2). Настройка драйверов, стола, PID и безопасный первый запуск 3D-принтера.

2026.08.07                  


Гайд по установке и настройке Marlin 2.1.2.1 на Creality Ender 5 Pro с платой Creality V4.2.2Гайд по установке и настройке Marlin 2.1.2.1 на Creality Ender 5 Pro с платой Creality V4.2.2 Подробный практический гайд по установке и настройке Marlin 2.1.2.1 на Creality Ender 5 Pro с платой Creality V4.2.2. Гайд рассчитан на типовую конфигурацию: 32-битная плата 4.2.2, драйверы TMC2208 в standalone, заводской дисплей, без BLTouch. Если есть BLTouch/CR-Touch, direct drive, другой дисплей или термистор — это отмечено отдельно.


1. Что важно знать перед прошивкой

1.1. Плата Creality 4.2.2

Для Ender 5 Pro с платой 4.2.2 обычно:

  • MCU: STM32F103RET6 или реже STM32F103RCT6.
    • RET6 — 512 KB flash, предпочтительно.
    • RCT6 — 256 KB flash, прошивка должна быть компактнее.

  • Драйверы: обычно TMC2208 standalone, то есть без UART-управления из Marlin.
  • Прошивка обычно ставится через SD-карту, файл firmware.bin.
  • USB-порт может быть подключён через CH340 или аналогичный USB-UART мост.



Важно:

Если на плате стоит TMC2208 standalone, команды вида M122 и M906 в нормальной сборке работать не обязаны. Ток драйверов обычно задаётся аппаратно/Vref, а не из прошивки.


1.2. Сделайте резервную информацию

#### Перед любыми действиями желательно:

  1. Подключиться к принтеру по USB/serial.

  1. Выполнить:
   M503

  1. Сохранить весь вывод в текстовый файл. Это текущие настройки.

4. Сфотографировать:

  • разъёмы платы;
  • концевики;
  • дисплей;
  • провода BLTouch, если есть;
  • маркировку STM32.

Если принтер пока работает, полезно также записать:

M92
M203
M201
M205
M301
M304
M851   ; если есть датчик

2. Подготовка компьютера и инструментов

Вам понадобятся:

  1. VS Code.
  2. Расширение PlatformIO IDE.
  3. Архив или git-репозиторий Marlin 2.1.2.1.

4. SD-карта:

  • лучше 4–16 ГБ;
  • FAT32;
  • желательно качественная, не повреждённая.

  1. USB-кабель с линиями данных, а не только зарядный.
  2. Драйвер CH340/CH341, если Windows не видит порт.

Установка PlatformIO:

  1. Откройте VS Code.
  2. Установите расширение PlatformIO IDE.
  3. После первого запуска дайте PlatformIO скачать свои пакеты.

3. Где взять Marlin 2.1.2.1

Вариант 1: релиз на GitHub

Скачайте релиз Marlin 2.1.2.1 с официального GitHub:

https://github.com/MarlinFirmware/Marlin/releases

Ищите тег/релиз:

2.1.2.1

Распакуйте архив в удобное место без кириллицы и пробелов, например:

C:\Marlin\Marlin-2.1.2.1

Вариант 2: git

git clone --branch 2.1.2.1 --depth 1 https://github.com/MarlinFirmware/Marlin.git

4. Использовать ли готовый пример конфигурации?

Это самый правильный путь.

В Marlin обычно есть примеры конфигураций:

Marlin/config/examples/

Ищите папку примерно такого вида:

config/examples/Creality/Ender-5 Pro/CrealityV422/

или:

config/examples/Creality/Ender-5 Pro/CrealityV4/

Если такая папка есть:

  1. Скопируйте из неё Configuration.h и Configuration_adv.h в корень папки Marlin.
  2. Откройте папку Marlin в VS Code через PlatformIO.
  3. Затем только проверьте и поправьте параметры под вашу ревизию.

Если папки именно под Ender 5 Pro / 4.2.2 нет, можно взять близкую базу:

config/examples/Creality/Ender-3 V2/CrealityV422/

Но тогда обязательно проверить:

  • размер стола;
  • высоту оси Z;
  • концевики;
  • направление осей;
  • E-steps;
  • тип дисплея;
  • драйверы;
  • термисторы.

5. Настройка platformio.ini

Откройте файл:

platformio.ini

В начале найдите секцию:

[platformio]

Для Creality 4.2.2 с STM32F103RET6 обычно нужно:

[platformio]
default_envs = STM32F103RET6_creality

Если у вас редкая версия с STM32F103RCT6, и в platformio.ini есть окружение STM32F103RCT6_creality, можно использовать его:



[platformio]
default_envs = STM32F103RCT6_creality

Если такого окружения нет, а чип RCT6, лучше уменьшить функциональность прошивки, иначе может не хватить flash.


Важно:

Не оставляйте несколько активных default_envs, если не понимаете, зачем это нужно.


Например, должно быть примерно так:

[platformio]
; default_envs = mega2560
; default_envs = STM32F103RE
default_envs = STM32F103RET6_creality

6. Основные настройки Configuration.h

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


6.1. Порт и скорость

Для Creality 4.2.2 чаще всего:

#define SERIAL_PORT 1
#define BAUDRATE 115200

Если порт в системе не появляется, но прошивка через SD работает, сначала проверьте:

  • кабель USB;
  • драйвер CH340;
  • другой USB-порт;
  • не занят ли порт другой программой.

На очень редких ревизиях может использоваться USB CDC, тогда может понадобиться:

#define SERIAL_PORT -1

Но для типовой Creality 4.2.2 обычно оставляют:

#define SERIAL_PORT 1

6.2. Плата

Для 4.2.2 используйте:

#define MOTHERBOARD BOARD_CREALITY_V422

Если в вашей версии Marlin 2.1.2.1 вдруг нет BOARD_CREALITY_V422, используйте:

#define MOTHERBOARD BOARD_CREALITY_V4

Но в нормальной версии 2.1.2.1 BOARD_CREALITY_V422 обычно есть.


Имя принтера:

#define DEFAULT_MACHINE_NAME "Ender 5 Pro"

или:

#define CUSTOM_MACHINE_NAME "Ender 5 Pro"

зависит от структуры файла.


6.3. Драйверы

Для заводской Creality 4.2.2 с TMC2208 без UART:

#define X_DRIVER_TYPE  TMC2208_STANDALONE
#define Y_DRIVER_TYPE  TMC2208_STANDALONE
#define Z_DRIVER_TYPE  TMC2208_STANDALONE
#define E0_DRIVER_TYPE TMC2208_STANDALONE

Не ставьте просто TMC2208, если не настроен UART. Для 4.2.2 обычно нужен именно вариант TMC2208_STANDALONE.


Если вдруг у вас не тихая версия платы с A4988, тогда было бы:

#define X_DRIVER_TYPE  A4988
#define Y_DRIVER_TYPE  A4988
#define Z_DRIVER_TYPE  A4988
#define E0_DRIVER_TYPE A4988

но для Ender 5 Pro с 4.2.2 это редкость.


6.4. Размеры стола и оси Z

Для Ender 5 Pro:

#define X_BED_SIZE 220
#define Y_BED_SIZE 220
#define Z_MAX_POS 300

Минимальные и максимальные координаты обычно:

#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE

6.5. Концевики

Для типовой конфигурации:

#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG

Инверсия концевиков:

#define X_MIN_ENDSTOP_INVERTING false
#define Y_MIN_ENDSTOP_INVERTING false
#define Z_MIN_ENDSTOP_INVERTING false

Но это не догма. Проверка обязательна через M119.


Если после прошивки M119 показывает:

  • open, когда концевик не нажат;
  • TRIGGERED, когда нажат; то инверсия правильная.

Если наоборот:

  • TRIGGERED в отпущенном состоянии;
  • open при нажатии; меняйте соответствующий ..._ENDSTOP_INVERTING на true.

Если концевик вообще не меняет состояние:

  • проверьте разъём;
  • проверьте провод;
  • проверьте, не подключён ли концевик в другой порт;
  • проверьте механику и сам микропереключатель.



6.6. Направление осей

Это один из самых опасных пунктов. Неправильное направление может привести к удару при homing.

Стартовая точка для Ender 5 Pro часто такая:

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false
#define INVERT_E0_DIR false

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


Порядок проверки:

  1. Не делайте сразу G28.
  2. Включите принтер.

3. Через меню Move Axis или через команду G91 сделайте маленькое движение:

   G91
   G1 X10 F600

  1. Посмотрите, куда поехала ось.

5. Если направление не совпадает с ожидаемым, инвертируйте соответствующий параметр:

   #define INVERT_X_DIR true

6. Повторно соберите и прошейте.

То же самое для Y, Z и E. Особенно осторожно с Z: на Ender 5 Pro стол двигается по вертикалии, и неправильное направление может привести к врезанию сопла в стол или к попытке уехать за пределы.


6.7. Направление homing

Если используются MIN-концевики:

#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

Если ось при homing едет не к концевику, а от него:

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

Для некоторых ревизий Ender 5 может быть особенность, что фактически концевик расположен со стороны max, но в прошивке используется логика min. Поэтому проверка M119 и аккуратный первый homing обязательны.


6.8. Шаги на мм

Стартовые значения для Ender 5 Pro часто такие:

#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 }

Где:

  • X: 80 шагов/мм;
  • Y: 80 шагов/мм;
  • Z: 400 шагов/мм;
  • E: 93 шагов/мм.

Но E-steps обязательно калибровать:

  • Если у вас direct drive с редуктором, E-steps могут быть гораздо выше, например 130, 415 или другое значение, в зависимости от механики.
  • Если Z-винт другой, например single-start T8 с шагом 2 мм, Z-steps могут быть не 400, а 1600. Поэтому калибровка обязательна.

6.9. Скорости и ускорения

Для начала лучше поставить консервативно:

#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 500 }

#define DEFAULT_ACCELERATION          500
#define DEFAULT_RETRACT_ACCELERATION  500
#define DEFAULT_TRAVEL_ACCELERATION   500

Если используете классический jerk:

#define CLASSIC_JERK
#define DEFAULT_XJERK 8.0
#define DEFAULT_YJERK 8.0
#define DEFAULT_ZJERK 0.4

После стабилизации механики можно постепенно повышать, но для Ender 5 Pro не стоит сразу ставить 500 мм/с и ускорения 3000 мм/с².


6.10. Термисторы и температуры

Для заводского Ender 5 Pro обычно:

#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_BED 1

Термистор типа 1 — это обычно 100K NTC.


Ограничения температур:

#define HEATER_0_MAXTEMP 260
#define BED_MAXTEMP 110

Если стоит нестандартный hotend, термистор или all-metal, значения можно менять, но только понимая, что делаете.


Не отключайте термозащиту:

#define THERMAL_PROTECTION_HOTENDS
#define THERMAL_PROTECTION_BED

Эти пункты должны быть включены.


6.11. PID

Включите PID и меню настройки:

#define PIDTEMP
#define PID_EDIT_MENU
#define PID_AUTOTUNE_MENU

Для hotend и bed потом нужно сделать автоподстройку.

Пример команд:

Hotend:

M303 E0 S200 C8

Bed:

M303 E-1 S60 C8

Полученные значения можно применить:

Hotend:

M301 P... I... D...

Bed:

M304 P... I... D...

Затем сохранить:

M500

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


6.12. EEPROM

Обязательно включите сохранение настроек:

#define EEPROM_SETTINGS

При первой прошивке новой версии полезно временно включить:

#define EEPROM_AUTO_INIT

Это может сбросить старый EEPROM при несовместимости версий. После успешной работы можно оставить или закомментировать.


6.13. Дисплей

Для заводского дисплея Ender 5 Pro чаще всего подходит:

#define CR10_STOCKDISPLAY

Если дисплей с ним не запускается, попробуйте альтернативу:

#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

Если у вас вдруг дисплей типа DWIN, как на части Ender-3 V2, может понадобиться:

#define DWIN_CREALITY_LCD

Но для Ender 5 Pro это не типично.


Дополнительно можно включить:

#define SPEAKER
#define INDIVIDUAL_AXIS_HOMING_MENU

6.14. SD-карта

#define SDSUPPORT

Обычно для Creality 4.2.2 этого достаточно, остальное подтянется из pins-файла платы.


6.15. Ручная сетка стола для стока

Если нет BLTouch/CR-Touch, удобно использовать ручную mesh-левелинг:

#define MESH_BED_LEVELING
#define LCD_BED_LEVELING
#define RESTORE_LEVELING_AFTER_G28

#define MESH_INSET 10
#define MESH_NUM_X_POINTS 3
#define MESH_NUM_Y_POINTS 3

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


7. Настройка Configuration_adv.h

7.1. Микрошаг

Для заводской конфигурации обычно 1/16 микрошага:

#define X_MICROSTEPS 16
#define Y_MICROSTEPS 16
#define Z_MICROSTEPS 16
#define E0_MICROSTEPS 16

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


7.2. Диагностика TMC

Для TMC2208 standalone не нужно включать:

//#define MONITOR_DRIVER_STATUS
//#define TMC_DEBUG

Их можно оставить выключенными. Если вы видите, что M906 или M122 работают как для UART-драйверов, но плата 4.2.2, скорее всего неправильно выбран тип драйвера.


7.3. Фильтр концевиков

Можно добавить защиту от дребезга:

#define ENDSTOP_NOISE_THRESHOLD 2

Этот пункт может быть и в Configuration.h.


7.4. Вентиляторы

Если вентилятор не стартует на низких значениях S, можно добавить:

#define FAN_KICKSTART_TIME 100
#define FAN_MIN_PWM 50

Значения подбираются под конкретный вентилятор. Если вентилятор hotend подключён к управляемому разъёму и останавливается при низком S, лучше либо перевести его на постоянное питание 24 В, либо настроить авто-вентилятор hotend.


7.5. Linear Advance

Для Bowden-стока можно включить, но стартовое значение K поставить безопасное:

#define LIN_ADVANCE
#define LIN_ADVANCE_K 0.0

Потом калибруете K и задаёте его через:

M900 K0.xx
M500
  • Для Bowden часто значения лежат примерно в диапазоне 0.2–0.6, но зависит от экструдера, трубки, филамента и ретрактов.
  • Для direct drive значения обычно ниже, часто около 0.05–0.25.

7.6. Input Shaping

Опционально, после механики и калибровки:

//#define INPUT_SHAPING_X
//#define INPUT_SHAPING_Y
  • Если включаете, нужно задать частоты и демпфирование. Без понимания процесса лучше не включать сразу. Для STM32F103 это работает, но нагружает прерывания.
  • Если после включения появляются пропуски или странное поведение, отключите и проверьте механику.

7.7. Буферы serial

Для более стабильной работы по USB можно увеличить буфер:

#define RX_BUFFER_SIZE 1024

Для STM32F103RET6 по RAM обычно нормально.


7.8. Соритровка файлов на SD

Опционально:

#define SDCARD_SORT_ALPHA
#define SDSORT_LIMIT 40
#define SDSORT_USES_RAM
#define SDSORT_CACHE_NAMES

Удобно, но увеличивает потребление RAM/flash. Если не хватает памяти, отключите.


7.9. Print counter

Если нужно сэкономить flash, можно отключить:

//#define PRINTCOUNTER

Если flash достаточно, можно оставить.


8. Пример минимального набора параметров для стока

Это не полный Configuration.h, а ориентир.

#define SERIAL_PORT 1
#define BAUDRATE 115200

#define MOTHERBOARD BOARD_CREALITY_V422
#define DEFAULT_MACHINE_NAME "Ender 5 Pro"

#define X_DRIVER_TYPE  TMC2208_STANDALONE
#define Y_DRIVER_TYPE  TMC2208_STANDALONE
#define Z_DRIVER_TYPE  TMC2208_STANDALONE
#define E0_DRIVER_TYPE TMC2208_STANDALONE

#define X_BED_SIZE 220
#define Y_BED_SIZE 220
#define Z_MAX_POS 300

#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG

#define X_MIN_ENDSTOP_INVERTING false
#define Y_MIN_ENDSTOP_INVERTING false
#define Z_MIN_ENDSTOP_INVERTING false

// Проверить направление осей до первого G28!
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false
#define INVERT_E0_DIR false

#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 }
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 500 }

#define DEFAULT_ACCELERATION         500
#define DEFAULT_RETRACT_ACCELERATION 500
#define DEFAULT_TRAVEL_ACCELERATION  500

#define CLASSIC_JERK
#define DEFAULT_XJERK 8.0
#define DEFAULT_YJERK 8.0
#define DEFAULT_ZJERK 0.4

#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_BED 1

#define HEATER_0_MAXTEMP 260
#define BED_MAXTEMP 110

#define PIDTEMP
#define PID_EDIT_MENU
#define PID_AUTOTUNE_MENU

#define THERMAL_PROTECTION_HOTENDS
#define THERMAL_PROTECTION_BED

#define EEPROM_SETTINGS
//#define EEPROM_AUTO_INIT

#define MESH_BED_LEVELING
#define LCD_BED_LEVELING
#define RESTORE_LEVELING_AFTER_G28
#define MESH_INSET 10
#define MESH_NUM_X_POINTS 3
#define MESH_NUM_Y_POINTS 3

#define CR10_STOCKDISPLAY
#define SDSUPPORT
#define SPEAKER
#define INDIVIDUAL_AXIS_HOMING_MENU

9. Сборка прошивки

Откройте папку Marlin в VS Code.

Внизу слева в PlatformIO нажмите иконку Build или выполните команду:

PlatformIO: Build

Либо в терминале:

pio run

После успешной сборки файл прошивки будет обычно здесь:

.pio/build/STM32F103RET6_creality/firmware.bin

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


10. Прошивка через SD-карту

Для Creality 4.2.2 стандартный путь — SD-карта.

10.1. Подготовка карты

  1. Отформатируйте SD-карту в FAT32.
  2. Желательно использовать карту не более 16–32 ГБ.

3. Скопируйте в корень:

firmware.bin

Имя важно. Не переименовывайте в marlin.bin, firmware1.bin и т.п., если не проверяете специально.


10.2. Установка

  1. Выключите принтер.
  2. Вставьте SD-карту.
  3. Включите принтер.
  4. Загрузчик должен подхватить firmware.bin и прошить плату.
  5. После успешной прошивки файл может быть переименован в firmware.cur.

Если файл остался firmware.bin и принтер каждый раз пытается его прошить:

  • выключите принтер;
  • удалите или переименуйте firmware.bin;
  • включите принтер.

10.3. Если не шьётся

Проверьте:

  1. SD-карту.
  2. Формат FAT32.
  3. Имя файла.
  4. Другой кардридер.
  5. Другую SD-карту.
  6. Правильность окружения сборки.
  7. Маркировку STM32: RET6 или RCT6.
  8. Не повреждён ли загрузчик. Для проверки можно попробовать заводской .bin от Creality, если найдёте подходящий для вашей ревизии.

11. Первый запуск после прошивки

11.1. Сброс EEPROM

После первой прошивки желательно:

M502
M500

Это загрузит настройки из прошивки и сохранит их в EEPROM. Если включён EEPROM_AUTO_INIT, это может произойти автоматически.


11.2. Проверка версии

M115

Должно быть видно имя прошивки, например Marlin 2.1.2.1.


11.3. Проверка текущих настроек

M503

Проверьте:

  • размер стола;
  • шаги;
  • температуры;
  • концевики;
  • ускорения.

11.4. Проверка концевиков

M119

В нормальном состоянии для механических концевиков обычно:

x_min: open
y_min: open
z_min: open

При нажатии должно становиться:

TRIGGERED

Если наоборот — меняйте инверсию в Configuration.h.


11.5. Проверка направлений без homing

Не выполняйте сразу G28.

Пример:

G91
G1 X10 F600
G1 Y10 F600
G1 Z1 F60

Проверьте направление.


Если ось едет не туда, измените:

#define INVERT_X_DIR true

или соответствующую ось, пересоберите и прошейте заново.


Для экструдера:

M83
G1 E10 F100

Если филамент должен подаваться в hotend, а он тянется обратно, измените:

#define INVERT_E0_DIR true

12. Первый homing

Делайте аккуратно, рука рядом с выключателем. Если в меню есть homing по одной оси, лучше начать с X или Y.

Последовательность:

  1. Проверить M119.
  2. Убедиться, что каретка находится не вплотную к концевику.
  3. Выполнить homing одной оси.
  4. Если ось едет не к концевику — сразу выключить питание.
  5. Если всё нормально, повторить для других осей.

После полного homing:

G1 X110 Y110 F6000
G1 Z20 F300

Проверьте, что координаты адекватные.


13. Калибровка E-steps

Очень важно, особенно если стоит нестандартный экструдер.

Пример:

M83
G92 E0
G1 E100 F100

Измерьте, сколько фактически прошло филамента. Допустим, прошло 95 мм.


Формула:

новые E-steps = старые E-steps * запрошено / фактически

Если старые были 93:

93 * 100 / 95 = 97.89

Установить:

M92 E97.89
M500

После этого проверить снова.


14. Калибровка XY и Z

14.1. XY

Можно напечатать калибровочный кубик 20×20×20 мм.

Если вместо 20 мм получилось, например, 20.2 мм:

новые X-steps = старые X-steps * 20 / фактический размер

Пример:

M92 X79.21 Y79.21
M500

14.2. Z

Проверьте перемещение Z.

Например:

G28
G90
G1 Z10 F300
G1 Z20 F300

Измерьте реальное перемещение между 10 и 20 мм.


Если вместо 10 мм ось прошла 10.2 мм:

новые Z-steps = старые Z-steps * 10 / 10.2

15. PID hotend и стола

15.1. Hotend

Например, для PLA:

M303 E0 S200 C8

После завершения Marlin выдаст строку вроде:

Kp: xx.xx
Ki: xx.xx
Kd: xx.xx

Применить:

M301 Pxx.xx Ixx.xx Dxx.xx
M500

15.2. Bed

M303 E-1 S60 C8

Применить:

M304 Pxx.xx Ixx.xx Dxx.xx
M500

16. Ручная сетка стола без BLTouch

Если включён MESH_BED_LEVELING, удобнее всего делать через меню:

Prepare
Bed leveling
Level bed

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


После построения сетки:

M500

В стартовом G-code можно использовать:

G28
M420 S1

M420 S1 включает сохранённую mesh-компенсацию. Если сетки нет, M420 S1 выдаст ошибку. Это нормально: сначала постройте и сохраните mesh.


17. Z-offset для стока

Если нет BLTouch/CR-Touch, для заводского Z-концевика основной способ — физическая регулировка самого Z-концевика.

Порядок:

  1. Выполнить G28.
  2. Подложить лист бумаги между соплом и столом.
  3. Отрегулировать винт Z-концевика так, чтобы был лёгкий контакт.
  4. Проверить первый слой.
  5. При необходимости немного подрегулировать.

Если включён babystepping, можно временно подстраивать:

M290 Z0.05
M290 Z-0.05

Но для стока без датчика постоянный offset чаще всего удобнее держать именно механикой Z-концевика.


18. Настройка BLTouch / CR-Touch, если есть

Если установлен BLTouch, базовые изменения будут такими.


18.1. В Configuration.h

Отключите ручную mesh, если используете автолевелинг:

//#define MESH_BED_LEVELING
//#define LCD_BED_LEVELING

Включите автолевелинг:

#define AUTO_BED_LEVELING_BILINEAR

Для BLTouch:

#define BLTOUCH

Используйте Z-min как порт датчика:

#define USE_ZMIN_PLUG
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#define USE_PROBE_FOR_Z_HOMING

Инверсия для BLTouch обычно:

#define Z_MIN_PROBE_ENDSTOP_INVERTING true

Для механического концевика обычно false, для BLTouch часто true, но проверка через M119 обязательна.


Офсет датчика:

#define NOZZLE_TO_PROBE_OFFSET { -42, -8, 0 }

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


Запас по Z:

#define Z_CLEARANCE_DEPLOY_PROBE 10
#define Z_CLEARANCE_BETWEEN_PROBES 5
#define Z_AFTER_PROBING 5
#define Z_HOMING_HEIGHT 4

Безопасный homing по центру:

#define Z_SAFE_HOMING
#define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)
#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)

Сетка:

#define GRID_MAX_POINTS_X 5
#define GRID_MAX_POINTS_Y 5
#define PROBING_MARGIN 10
#define MULTIPLE_PROBING 2
#define RESTORE_LEVELING_AFTER_G28

18.2. Пины

Обычно в файле платы для Creality 4.2.2 уже есть нужные определения. Не переопределяйте пины без необходимости.

В Marlin для Creality 4.x часто используются:

SERVO0_PIN
Z_MIN_PROBE_PIN

Конкретные номера лучше смотреть в файле:

Marlin/src/pins/stm32f1/pins_CREALITY_V4.h

или аналогичном для вашей версии платы.


Для части Creality 4.2.x встречаются варианты:

#define SERVO0_PIN PB0

и Z-probe на одном из пинов Z-концевика, но это зависит от ревизии и платы.


18.3. Проверка BLTouch

После прошивки:

  1. Проверьте M119.
  2. Проверьте деплой/ретракт через меню или G29.
  3. Проверьте, что датчик реально касается стола.

4. Проверьте офсет:

G28
G1 Z10 F300

Далее опускайте сопло по бумажке и настройте offset:

M851 Z-1.85
M500

Значение -1.85 только для примера.


Потом:

G28
G29
M420 S1
M500

19. Стартовый G-code

Ниже пример для Cura. В PrusaSlicer/SuperSlicer placeholder-ы другие, но логика та же.


19.1. Для ручной mesh без BLTouch

M140 S{material_bed_temperature_layer_0}
M104 S{material_print_temperature_layer_0}
M190 S{material_bed_temperature_layer_0}
M109 S{material_print_temperature_layer_0}

G28
M420 S1

G92 E0
G1 Z2.0 F3000
G1 X0.1 Y20 Z0.3 F5000.0
G1 X0.1 Y200.0 Z0.3 F1500.0 E15
G1 X0.4 Y200.0 Z0.3 F5000.0
G92 E0
G1 Z2.0 F3000

Если mesh не сохранена, M420 S1 будет ошибаться. Тогда сначала постройте и сохраните mesh, либо замените на процесс построения вручную.


19.2. Для BLTouch

Если хотите зондировать каждый раз:

M140 S{material_bed_temperature_layer_0}
M104 S{material_print_temperature_layer_0}
M190 S{material_bed_temperature_layer_0}
M109 S{material_print_temperature_layer_0}

G28
G29

G92 E0
G1 Z2.0 F3000
G1 X0.1 Y20 Z0.3 F5000.0
G1 X0.1 Y200.0 Z0.3 F1500.0 E15
G1 X0.4 Y200.0 Z0.3 F5000.0
G92 E0
G1 Z2.0 F3000

Если используете сохранённую сетку:

G28
M420 S1

вместо G29.


19.3. Финишный G-code

G91
G1 E-3 F300
G1 Z10 F600
G90

G1 X0 Y220 F6000

M104 S0
M140 S0
M84

Если ось Y после homing уезжает в 220 слишком резко, можно уменьшить F или поставить Y210.


20. Рекомендуемый порядок калибровки после прошивки

1. Механика:

  • ремни;
  • эксцентрики;
  • винты;
  • протяжка;
  • перпендикулярность;
  • смазка Z.

2. Проверка осей:

  • направления;
  • концевики;
  • homing.

  1. E-steps.
  2. PID hotend и bed.
  3. Z-offset или регулировка Z-концевика.
  4. Mesh/ABL.
  5. Flow.
  6. Retraction.
  7. Linear Advance.
  8. Input Shaping, если нужно и если механика уже хорошая.

21. Типовые проблемы и решения

21.1. Принтер не видит USB-порт

Проверьте:

  • кабель с данными;
  • другой USB-порт;
  • драйвер CH340;
  • скорость 115200;
  • не занят ли порт OctoPrint/Pronterface/Cura.

Если SD-прошивка работает, а USB нет, можно временно работать через SD. На редких ревизиях может потребоваться изменить SERIAL_PORT.


21.2. firmware.bin не прошивается

Причины:

  • SD не FAT32;
  • плохая карта;
  • неправильное имя файла;
  • неправильное окружение сборки;
  • чип RCT6, а прошивка слишком большая;
  • повреждён загрузчик.

21.3. После прошивки старые настройки мешают

Выполнить:

M502
M500

или включить:

#define EEPROM_AUTO_INIT

21.4. Моторы шумят, но не крутятся

Проверьте:

  • тип драйвера: должен быть TMC2208_STANDALONE;
  • разъёмы моторов;
  • направление;
  • enable-логику;
  • не слишком ли высокий ток/перегрев драйверов.

21.5. Концевик всегда TRIGGERED

Возможно:

  • нужна инверсия;
  • провод подключён неправильно;
  • концевик NC вместо NO;
  • повреждён провод;
  • наводки.

Проверка через M119 обязательна.


21.6. При homing ось едет не туда

Немедленно выключить питание.

Проверить:

  • INVERT_X_DIR, INVERT_Y_DIR, INVERT_Z_DIR;
  • X_HOME_DIR, Y_HOME_DIR, Z_HOME_DIR;
  • физическое расположение концевиков;
  • USE_XMIN_PLUG/USE_XMAX_PLUG.

21.7. M906 или M122 работают, а плата 4.2.2

Скорее всего неверно указан драйвер. Для 4.2.2 обычно:

#define X_DRIVER_TYPE TMC2208_STANDALONE

а не:

#define X_DRIVER_TYPE TMC2208

21.8. Сетку не сохраняет

Проверьте:

#define EEPROM_SETTINGS

После G29 выполнить:

M500

Проверить:

M503
M420 S1

21.9. Первый слой слишком высоко/низко

Для стока без датчика:

  • регулировать Z-концевик;
  • проверить mesh;
  • проверить первый слой визуально;
  • очистить стол;
  • проверить температуру стола.

Для BLTouch:

  • проверить M851;
  • проверить NOZZLE_TO_PROBE_OFFSET;
  • проверить Z clearance;
  • выполнить G28, G29.

21.10. Прошивка не помещается в память

Для RCT6 или при включении тяжёлых функций отключите:

//#define PRINTCOUNTER
//#define SDCARD_SORT_ALPHA
//#define LONG_FILENAME_HOST_SUPPORT
//#define INPUT_SHAPING_X
//#define INPUT_SHAPING_Y
//#define LIN_ADVANCE
//#define S_CURVE_ACCELERATION

Также можно убрать русский язык интерфейса, если он включён:

#define LCD_LANGUAGE en

22. Безопасный минимум для первой печати

После прошивки не пытайтесь сразу печатать на максимальной скорости.

Разумные стартовые значения:

#define DEFAULT_ACCELERATION 500
#define DEFAULT_RETRACT_ACCELERATION 500
#define DEFAULT_TRAVEL_ACCELERATION 500

#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 500 }

#define DEFAULT_XJERK 8.0
#define DEFAULT_YJERK 8.0
#define DEFAULT_ZJERK 0.4

После успешной тестовой печати можно постепенно повышать.


23. Итоговый чек-лист

Пер сборкой проверьте:

  • [ ] default_envs = STM32F103RET6_creality;
  • [ ] MOTHERBOARD BOARD_CREALITY_V422;
  • [ ] драйверы TMC2208_STANDALONE;
  • [ ] SERIAL_PORT 1;
  • [ ] стол 220×220, Z 300;
  • [ ] термисторы 1 и 1;
  • [ ] включён EEPROM_SETTINGS;
  • [ ] включён SDSUPPORT;
  • [ ] выбран правильный дисплей;
  • [ ] для стока включён MESH_BED_LEVELING;
  • [ ] для BLTouch настроен AUTO_BED_LEVELING_BILINEAR, BLTOUCH, offsets;
  • [ ] размеры прошивки подходят для вашего STM32.

После сборки:

  • [ ] сборка прошла без ошибок;
  • [ ] firmware.bin скопирован в корень FAT32 SD;
  • [ ] плата прошилась;
  • [ ] firmware.bin удалён/переименован после прошивки;
  • [ ] выполнен M502 и M500;
  • [ ] M119 показывает концевики правильно;
  • [ ] направления осей проверены без G28;
  • [ ] homing работает безопасно;
  • [ ] E-steps откалиброваны;
  • [ ] PID выполнен;
  • [ ] Z-offset или Z-концевик настроены;
  • [ ] mesh построена и сохранена;
  • [ ] тестовая печать прошла нормально.

24. Короткая рекомендация по стабильной конфигурации

Для Ender 5 Pro на Creality 4.2.2 и Marlin 2.1.2.1 я бы рекомендовал такую логику:

  1. Взять официальный пример конфигурации, если есть.
  2. Использовать BOARD_CREALITY_V422.
  3. Использовать STM32F103RET6_creality.
  4. TMC2208 задать как TMC2208_STANDALONE.

5. Не включать сразу много функций:

  • без Input Shaping;
  • без тяжёлого SD-сортирования;
  • без print counter, если не нужен;
  • без русского языка, если flash впритык.

  1. Сначала добиться стабильного homing, движения осей, температур и первого слоя.
  2. Только потом добавить Linear Advance, Input Shaping, расширенные меню и сетку 5×5.

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


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (5)(531)(30)

Комментарии

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