111020 г.Москва, ул. Сторожевая д.4 стр.5 (БЦ "Сторожевая")
Время работы: ПН-ПТ с 10:00 до 18:00
Уголок Технаря
Наш Блог

Набор макросов для прошивки Klipper

Прошивки для 3D принтеров

Набор макросов для прошивки Klipper

Для работы макросов, код можно добавить в основной файл конфигурации, либо же можно создать файл macros.cfg и подключить его строкой [include macros.cfg] в основном файле конфигурации printer.cfg

(частично откомментировал что где и зачем)

macros.cfg

[gcode_macro SHUTDOWN_MACHINE] # по тапу кнопки выключает хост правильно,

gcode: # завершая работу системы

{action_call_remote_method(«shutdown_machine»)}

# Добавить следующие строки в начальный джикод слайсера

# Cura: START_PRINT EXTRUDER_TEMP={material_print_temperature_layer_0} BED_TEMP={material_bed_temperature_layer_0}

# PrusaSlicer:

# M140 S0

# M104 S0

# START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature]

# Добавить в завершающий джикод: END_PRINT

[gcode_macro CANCEL_PRINT] # отмена печати

rename_existing: BASE_CANCEL_PRINT

gcode:

{% set E = printer[«gcode_macro START_PRINT»].retract|float %}

TURN_OFF_HEATERS

M107 # turn off fan

G91

G1 E-{E} F1500 # retract

G90

CLEAR_PAUSE

SDCARD_RESET_FILE

BASE_CANCEL_PRINT

PARK # парковка по отдельному

M18 # макросу

[gcode_macro PAUSE] # пауза во время печати

rename_existing: BASE_PAUSE

gcode:

{% set E = printer[«gcode_macro START_PRINT»].retract|float %}

SAVE_GCODE_STATE NAME=PAUSE_STATE

BASE_PAUSE

G91

G1 E-{E} F1500 # длина ретракта

G90

PARK # парковка по отдельному

# макросу

[gcode_macro RESUME] # возобновляет печать

rename_existing: BASE_RESUME

gcode:

{% set E = printer[«gcode_macro START_PRINT»].retract|float %}

G91

G1 E{E} F1500 # длина деретракта

G90

RESTORE_GCODE_STATE NAME=PAUSE_STATE MOVE=1

BASE_RESUME

[gcode_macro PARK] # парковка

gcode:

{% set x_park = params.X|default(10)|float %} # нужно изменить координату

{% set y_park = params.Y|default(200)|float %} # нужно изменить координату

{% set z_park = params.Z|default(10)|float + printer.toolhead.position.z|float %} # нужно изменить

{% set x_max = printer.toolhead.axis_maximum.x|float %} # координату

{% set y_max = printer.toolhead.axis_maximum.y|float %}

{% set z_max = printer.toolhead.axis_maximum.z|float %}

{% if x_park > x_max %}

{% set x_park = x_max %}

{% endif %}

{% if y_park > y_max %}

{% set y_park = y_max %}

{% endif %}

{% if z_park > z_max %}

{% set z_park = z_max %}

{% endif %}

SAVE_GCODE_STATE NAME=PARK_STATE

G90 # absolute positioning

G1 Z{z_park} F1500

G1 X{x_park} Y{y_park} F5000

RESTORE_GCODE_STATE name=PARK_STATE

[gcode_macro START_PRINT] # стартовый джикод

variable_retract: 3

gcode:

M117 Heating

{% set extruder_temp = params.EXTRUDER_TEMP|default(220)|float %}

{% set bed_temp = params.BED_TEMP|default(70)|float %}

{% set E = printer[«gcode_macro START_PRINT»].retract|float %}

CLEAR_PAUSE

M220 S100 # reset feedrate

M221 S100

SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp} # set bed t℃

TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp * 0.90} # ожидание нагрева стола

SET_HEATER_TEMPERATURE HEATER=extruder TARGET={extruder_temp} # set nozzle t℃

G90 # absolute positioning

M82 # absolute extrusion mode

TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} # wait until

TEMPERATURE_WAIT SENSOR=extruder MINIMUM={extruder_temp} # wait until

M117 Home

G28 # home

BED_MESH_PROFILE LOAD=default

G0 Z10 F1500 # raise Z

G92 E0 # reset extruder

G1 E{E} F1500 # prime

G92 E0 # reset extruder

M117 Printing…

[gcode_macro END_PRINT] # завершающий джикод

gcode:

{% set E = printer[«gcode_macro START_PRINT»].retract|float %}

TURN_OFF_HEATERS

M107 # turn off fan

G91 # relative positioning

G1 E-{E} F1500 # retract

G0 X5 Y5 F5000 # wipe

G0 Z2 F1500 # raise Z

G90 # absolute positioning

PARK

M84 # turn off all motors

M106 S200

G4 P100000

M106 S0

[gcode_macro PID_E] # калибровка пид экструдера

gcode:

{% set T = params.T|default(240) %}

PID_CALIBRATE HEATER=extruder TARGET={T}

[gcode_macro PID_B] # калибровка пид стола

gcode:

{% set T = params.T|default(80) %}

PID_CALIBRATE HEATER=heater_bed TARGET={T}

[gcode_macro MOTOR_OFF] # отключение моторов

gcode:

M18

[gcode_macro M81] # отключение 3д принтера

gcode: # требует настройки пина

SET_PIN PIN=POWER_OFF VALUE=1