Skip to content

Instantly share code, notes, and snippets.

@lexfrei
Last active February 26, 2025 23:41
Show Gist options
  • Select an option

  • Save lexfrei/83bb7576abe7aa2b642d39f48510a087 to your computer and use it in GitHub Desktop.

Select an option

Save lexfrei/83bb7576abe7aa2b642d39f48510a087 to your computer and use it in GitHub Desktop.
[include mainsail.cfg]
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_300025000851333235373335-if00
restart_method: command
[virtual_sdcard]
path: /home/lex/printer_data/gcodes
# Klipper configuration for FlyingBear Ghost 5 with MKS Robin Nano V3.1 board
# - TMC2226 drivers (treated as TMC2209 in UART mode)
# - Sensorless homing on X and Y (StallGuard), with optional mechanical endstops
# - Cartesian XY head, Z moving bed (1 Z motor driving 2 lead screws via belt)
# - 1.8° stepper motors
# - Direct-drive BMG clone extruder (approx 3:1 gear ratio)
# - BLTouch for Z probing (auto bed leveling)
# - Standard heaters/thermistors (Ghost 5 stock)
# - Two 40x10mm 24V fans (part cooling and hotend cooling)
# ===================== Stepper Motor Settings =====================
[stepper_x]
step_pin: PE3
dir_pin: !PE2 # '!' inverts direction. Adjust if needed so that +X moves right.
enable_pin: !PE4
microsteps: 16
rotation_distance: 40 # 40 mm per motor rotation: for GT2 belt 2mm pitch, 20-tooth pulley (80 steps/mm at 16 microsteps)
endstop_pin: tmc2209_stepper_x:virtual_endstop # sensorless homing via TMC StallGuard
# Если используется механический концевик X вместо sensorless:
# endstop_pin: ^!PA13 # подключен к X-, нормально замкнутый (NC) концевик; PA13 для Robin Nano V3.1
position_endstop: 0
position_max: 255 # ширина области печати по X (мм)
homing_speed: 50
homing_retract_dist: 0 # требуется 0 для sensorless homing (второй заход отключен)
endstop_pin: tmc2209_stepper_x:virtual_endstop
[stepper_y]
step_pin: PE0
dir_pin: !PB9 # invert if needed so +Y moves bed forward (Ghost 5 homes at bed back)
enable_pin: !PE1
microsteps: 16
rotation_distance: 40 # 40 mm per rotation: GT2 belt 2mm, 20-tooth pulley (80 steps/mm)
endstop_pin: tmc2209_stepper_y:virtual_endstop # sensorless homing via TMC
# Если используется механический концевик Y вместо sensorless:
# endstop_pin: ^!PD2 # подключен к Y-, NC концевик; PD2 для Robin Nano V3.1
position_endstop: 0
position_max: 210 # глубина области печати по Y (мм)
homing_speed: 50
homing_retract_dist: 0
endstop_pin: tmc2209_stepper_y:virtual_endstop
[stepper_z]
step_pin: PB5
dir_pin: PB4
enable_pin: !PB8
microsteps: 16
rotation_distance: 8 # 8 mm per rotation: lead screw 8mm pitch (TR8x8)
# Используем BLTouch как концевик Z:
endstop_pin: probe:z_virtual_endstop
position_min: 0
position_max: 210 # высота печати (мм)
# (Примечание: откалибруйте смещение Z (z_offset) для точной высоты первого слоя.)
endstop_pin: tmc2209_stepper_z:virtual_endstop
position_endstop: 0
# ===================== Extruder Settings =====================
[extruder]
step_pin: PD6
dir_pin: !PD3
enable_pin: !PB3
microsteps: 16
# Direct BMG dual-drive extruder (approx 3:1 gear). Set rotation_distance for ~415 steps/mm.
rotation_distance: 7.70 # приблизительно для BMG; следует уточнить калибровкой экструдера
nozzle_diameter: 0.4
filament_diameter: 1.75
heater_pin: PE5
sensor_type: ATC Semitec 104GT-2 # 100К термистор, Semitec (стандарт для hotend)
sensor_pin: PC1
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: -60 # Fixme
max_temp: 260
# ===================== Heaters and Temperature Sensors =====================
[heater_bed]
heater_pin: PA0
sensor_type: EPCOS 100K B57560G104F # 100K термистор для стола
sensor_pin: PC0
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: -60 # Fixme
max_temp: 120
# ===================== Fans =====================
[fan] # Part cooling fan
pin: PC14 # FAN1 connector
max_power: 1.0
[heater_fan hotend_fan] # Hotend heatsink fan, turns on at 50°C
pin: PB1 # FAN2 connector on board
heater: extruder
# ===================== TMC Driver Settings (TMC2226 via UART in UART mode) =====================
[tmc2209 stepper_x]
uart_pin: PB10 # UART TX/RX for X driver (TX=RX on one-wire interface)
# Примечание: убедитесь, что на плате установлены перемычки M2 для UART и DIAG для X и Y.
# Устанавливаем токи моторов (в амперах). Настройте при необходимости под ваши двигатели:
diag_pin: ^!PA15
run_current: 0.80 # X motor current (RMS) ~0.8A
hold_current: 0.50 # удерживающий ток (можно ~50-60% от рабочего)
sense_resistor: 0.110
stealthchop_threshold: 999999 # всегда StealthChop для тихой работы (Klipper автоматически отключит на sensorless homing)
driver_SGTHRS: 100 # StallGuard threshold (чувствительность) для sensorless homing (0=наименее чувствит., 255=макс.)
[tmc2209 stepper_y]
uart_pin: PB11 # UART pin for Y driver
diag_pin: ^!PD2
run_current: 0.80
hold_current: 0.50
sense_resistor: 0.110
stealthchop_threshold: 999999
driver_SGTHRS: 100 # может потребоваться настроить (Y ось тяжелее, возможно чуть меньше значение)
[tmc2209 stepper_z]
uart_pin: PB12 # UART pin for Z driver
diag_pin: ^!PC8
run_current: 0.90 # Z motor (один мотор на два винта)
hold_current: 0.50
sense_resistor: 0.110
# Z остается в SpreadCycle (по умолчанию) для надежности подъема
[tmc2209 extruder]
uart_pin: PB13 # UART pin for Extruder driver
run_current: 0.85
hold_current: 0.50
sense_resistor: 0.110
# Extruder оставим в SpreadCycle (по умолчанию) для стабильной подачи (можно включить stealthchop_threshold, если нужен тихий ретракт)
# ===================== BLTouch Probe for Z Homing/Bed Leveling =====================
[bltouch]
sensor_pin: ^PC4 # белый провод BLTouch -> вход Z-, с подтяжкой и инверсией (NC тип выход)
control_pin: PA8 # оранжевый провод BLTouch -> SERVO (выход PWM), используется разъем Z+ сигнальный пин
x_offset: 0 # смещение датчика от сопла по X (мм) – заполнить после установки
y_offset: 0 # смещение датчика от сопла по Y (мм)
z_offset: 0 # смещение по Z (мм): отрицательное, насколько ниже сопла находится выдвинутый щуп. Настроить после калибровки!
speed: 5.0
pin_up_reports_not_triggered: False # для надежности чтения состояния
# Safe Z homing: поднимает головку и двигает в центр перед пробой Z
[safe_z_home]
home_xy_position: 127.5, 105 # переместить в центр стола (X/2, Y/2) перед Z-хомингом
speed: 100
z_hop: 10
z_hop_speed: 5
# Bed Mesh for auto-leveling (использует BLTouch)
[bed_mesh]
speed: 120
horizontal_move_z: 5
mesh_min: 20, 20 # область карты уровня – отступы от края (мм)
mesh_max: 235, 190 # (для стола ~255x210)
probe_count: 5,5 # сетка 5x5 точек
algorithm: bicubic
# ===================== Printer Kinematics and Motion Settings =====================
[printer]
kinematics: cartesian
max_velocity: 250 # максимальная скорость (мм/с)
max_accel: 1500 # максимальное ускорение (мм/с^2)
max_z_velocity: 15 # макс. скорость по Z (мм/с)
max_z_accel: 100 # ускорение по Z
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment