From 6c3d02e32b750b0a21c052c7f62f8f4fc1d56496 Mon Sep 17 00:00:00 2001 From: Hendrie Bosch Date: Mon, 13 Nov 2023 14:41:51 +0100 Subject: [PATCH] Upload files to "klipper/DNV-TPU-Ender3/klipper_config" --- .../printer-20220108_205055.cfg | 906 +++++++++++++++ .../printer-20220108_213646.cfg | 909 +++++++++++++++ .../printer-20220114_121751.cfg | 927 +++++++++++++++ .../printer-20230322_192439.cfg | 989 ++++++++++++++++ .../printer-20230331_144024.cfg | 1008 +++++++++++++++++ 5 files changed, 4739 insertions(+) create mode 100644 klipper/DNV-TPU-Ender3/klipper_config/printer-20220108_205055.cfg create mode 100644 klipper/DNV-TPU-Ender3/klipper_config/printer-20220108_213646.cfg create mode 100644 klipper/DNV-TPU-Ender3/klipper_config/printer-20220114_121751.cfg create mode 100644 klipper/DNV-TPU-Ender3/klipper_config/printer-20230322_192439.cfg create mode 100644 klipper/DNV-TPU-Ender3/klipper_config/printer-20230331_144024.cfg diff --git a/klipper/DNV-TPU-Ender3/klipper_config/printer-20220108_205055.cfg b/klipper/DNV-TPU-Ender3/klipper_config/printer-20220108_205055.cfg new file mode 100644 index 0000000..98ccbf6 --- /dev/null +++ b/klipper/DNV-TPU-Ender3/klipper_config/printer-20220108_205055.cfg @@ -0,0 +1,906 @@ +# This file contains common pin mappings for the BIGTREETECH SKR mini +# E3 v1.2. To use this config, the firmware should be compiled for the +# STM32F103 with a "28KiB bootloader" and USB communication. Also, +# select "Enable extra low-level configuration options" and configure +# "GPIO pins to set at micro-controller startup" to "!PC13". + +# The "make flash" command does not work on the SKR mini E3. Instead, +# after running "make", copy the generated "out/klipper.bin" file to a +# file named "firmware.bin" on an SD card and then restart the SKR +# mini E3 with that SD card. + +# See docs/Config_Reference.md for a description of parameters. + +# Note: This board has a design flaw in its thermistor circuits that +# cause inaccurate temperatures (most noticeable at low temperatures). + +# Met de DropEffect OmniDrop V2.1 is het punt links-beneden (dus het 0-punt): X = 12 en Y = 30 + +[stepper_x] +step_pin: PB13 +dir_pin: !PB12 +enable_pin: !PB14 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC0 +position_endstop: -13.5 +position_min: -13.5 +position_max: 221.5 +homing_speed: 50 + +[tmc2209 stepper_x] +uart_pin: PB15 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_y] +step_pin: PB10 +dir_pin: !PB2 +enable_pin: !PB11 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC1 +position_endstop: -29 +position_min: -29 +position_max: 206 +homing_speed: 50 + +[tmc2209 stepper_y] +uart_pin: PC6 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_z] +step_pin: PB0 +dir_pin: PC5 +enable_pin: !PB1 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^PC2 +position_endstop: -1.54 +position_min: -1.54 +position_max: 250 + +[tmc2209 stepper_z] +uart_pin: PC10 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 5 + +[bltouch] +sensor_pin: ^PC14 +control_pin: PA1 +#pin_up_reports_not_triggered: False +#pin_up_touch_mode_reports_triggered: False +x_offset: 33.7 +y_offset: -33.5 +#z_offset: 2.68 +pin_move_time: 0.680 + +[bed_screws] +screw1: 32,32 +screw2: 203,32 +screw3: 203,203 +screw4: 32,203 +#screw5: 117,117 + +[bed_mesh] +speed: 80 +horizontal_move_z: 5 +mesh_min: 40,40 +mesh_max: 200,200 +probe_count: 5,5 + +[extruder] +# DropEffect OmniaDrop V2.1 +step_pin: PB3 +dir_pin: PB4 +enable_pin: !PD2 +microsteps: 16 +gear_ratio: 5:1 +rotation_distance: 33.500 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PC8 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA0 +#control: pid +#pid_Kp: 21.527 +#pid_Ki: 1.063 +#pid_Kd: 108.982 +min_temp: 0 +max_temp: 285 + +[tmc2209 extruder] +uart_pin: PC11 +run_current: 0.500 +hold_current: 0.400 +stealthchop_threshold: 5 + +[heater_fan my_nozzle_fan] +# Aansturing via PT-DET pinout +pin: PC12 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + +[heater_bed] +heater_pin: PC9 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC3 +#control: pid +#pid_Kp: 54.027 +#pid_Ki: 0.770 +#pid_Kd: 948.182 +min_temp: 0 +max_temp: 130 + +[fan] +pin: PA8 + +[mcu] +serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_32FFDA054158323011792557-if00 + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 5 +max_z_accel: 100 + +[static_digital_output usb_pullup_enable] +pins: !PC13 + +[board_pins] +aliases: + # EXP1 header + EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=, + EXP1_2=PB6, EXP1_4=, EXP1_6=PB9, EXP1_8=PB7, EXP1_10=<5V> + +# See the sample-lcd.cfg file for definitions of common LCD displays. + +[display] +lcd_type: st7920 +cs_pin: EXP1_7 +sclk_pin: EXP1_6 +sid_pin: EXP1_8 +encoder_pins: ^EXP1_5, ^EXP1_3 +click_pin: ^!EXP1_2 + +[output_pin beeper] +pin: EXP1_1 + +[virtual_sdcard] +path: ~/gcode_files + +[display_status] + +[pause_resume] + +[gcode_macro PAUSE] +description: Pause the actual running print +rename_existing: PAUSE_BASE +# change this if you need more or less extrusion +variable_extrude: 1.0 +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + ##### set park positon for x and y ##### + # default is your max posion from your printer.cfg + {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} + {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} + ##### calculate save lift position ##### + {% set max_z = printer.toolhead.axis_maximum.z|float %} + {% set act_z = printer.toolhead.position.z|float %} + {% if act_z < (max_z - 2.0) %} + {% set z_safe = 2.0 %} + {% else %} + {% set z_safe = max_z - act_z %} + {% endif %} + ##### end of definitions ##### + PAUSE_BASE + G91 + {% if printer.extruder.can_extrude|lower == 'true' %} + G1 E-{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + {% if "xyz" in printer.toolhead.homed_axes %} + G1 Z{z_safe} F900 + G90 + G1 X{x_park} Y{y_park} F6000 + {% else %} + {action_respond_info("Printer not homed")} + {% endif %} + +[gcode_macro RESUME] +description: Resume the actual running print +rename_existing: RESUME_BASE +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + #### get VELOCITY parameter if specified #### + {% if 'VELOCITY' in params|upper %} + {% set get_params = ('VELOCITY=' + params.VELOCITY) %} + {%else %} + {% set get_params = "" %} + {% endif %} + ##### end of definitions ##### + {% if printer.extruder.can_extrude|lower == 'true' %} + G91 + G1 E{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + RESUME_BASE {get_params} + +[gcode_macro CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +gcode: + TURN_OFF_HEATERS + CANCEL_PRINT_BASE + +# The print bed can move so far to the front, that the nozzle can reach the +# plastic cover of the print bed heater cable (only when the bed is moved by +# hand). By homing the Y axis before the X axis, it is ensured the nozzle will +# not melt through the plastic part. +# BEWARE: You will lose the ability to home axes individually. The printer will +# always home all axes for every G28 command. +#[homing_override] +#gcode: +# G28 Y0 +# G28 X0 +# G28 Z0 + +# ================================================================================ +# GCode Macro: START_PRINT +# Add START_PRINT in your slicers starting script. +# ================================================================================ +[gcode_macro START_PRINT] +gcode: + G28; Home all axes + BED_MESH_CALIBRATE + G92 E0; Reset Extruder + G1 Z5.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed + G1 X0.1 Y20 Z0.3 F5000.0; Move to start position + G1 X0.1 Y200.0 Z0.3 F1500.0 E15; Draw the first line + G1 X0.4 Y200.0 Z0.3 F5000.0; Move to side a little + G1 X0.4 Y20 Z0.3 F1500.0 E30; Draw the second line + G92 E0; Reset Extruder + G1 Z5.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed + +# ================================================================================ +# GCode Macro: END_PRINT +# Add END_PRINT in your slicers ending script +# ================================================================================ +[gcode_macro END_PRINT] +gcode: + G91; Relative Positioning + G1 Z+10; Move Z up so it doesn't hit anything + G90; Absolute Positioning + G1 Y190 F1500; bring Y up front +# G10 ; set tool offset? or retract? +# G1 E-10 F300; Retrack-10 + G1 X10 Y220 F2000; Move to X10, Y220 + M104 S0; Turn off Extruder temperature (set it to 0) + M140 S0; Turn off Bed temperature (set it to 0) + M106 S0; turn off cooling fan + M84; Disable steppers +# ================================================================================ +# GCode Macro G29 +# Fires when G29 is sent to the printer +# ================================================================================ +[gcode_macro G29] +gcode: + G1 Z10 F600 + G4 P200 + G1 Z10 F600 + G4 P100 + +### menu main ### +[menu __main] +type: list +name: Main + +### menu tune ### +[menu __main __tune] +type: list +enable: {printer.idle_timeout.state == "Printing"} +name: Afstellen + +[menu __main __tune __speed] +type: input +name: Snelheid: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.speed_factor} +input_min: 0.01 +input_max: 5 +input_step: 0.01 +realtime: True +gcode: + M220 S{'%d' % (menu.input*100)} + +[menu __main __tune __flow] +type: input +name: Flow: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.extrude_factor} +input_min: 0.01 +input_max: 2 +input_step: 0.01 +realtime: True +gcode: + M221 S{'%d' % (menu.input*100)} + +[menu __main __tune __offsetz] +type: input +name: Offset Z:{'%05.3f' % menu.input} +input: {printer.gcode_move.homing_origin.z} +input_min: -5 +input_max: 5 +input_step: 0.005 +realtime: True +gcode: + SET_GCODE_OFFSET Z={'%.3f' % menu.input} MOVE=1 + +### menu virtual sdcard ### +[menu __main __sdcard] +type: vsdlist +enable: {('virtual_sdcard' in printer)} +name: SD Kaart + +[menu __main __sdcard __start] +type: command +enable: {('virtual_sdcard' in printer) and printer.virtual_sdcard.file_path and not printer.virtual_sdcard.is_active} +name: Start printen +gcode: M24 + +[menu __main __sdcard __resume] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "paused"} +name: Herstart printen +gcode: + {% if "pause_resume" in printer %} + RESUME + {% else %} + M24 + {% endif %} + +[menu __main __sdcard __pause] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "printing"} +name: Pauseer printen +gcode: + {% if "pause_resume" in printer %} + PAUSE + {% else %} + M25 + {% endif %} + +[menu __main __sdcard __cancel] +type: command +enable: {('virtual_sdcard' in printer) and (printer.print_stats.state == "printing" or printer.print_stats.state == "paused")} +name: Annuleer printen +gcode: + {% if 'pause_resume' in printer %} + CANCEL_PRINT + {% else %} + M25 + M27 + M26 S0 + TURN_OFF_HEATERS + {% if printer.toolhead.position.z <= printer.toolhead.axis_maximum.z - 5 %} + G91 + G0 Z5 F1000 + G90 + {% endif %} + {% endif %} + +### menu control ### +[menu __main __control] +type: list +name: Control + +[menu __main __control __home] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home All +gcode: G28 + +[menu __main __control __homez] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home Z +gcode: G28 Z + +[menu __main __control __homexy] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home X/Y +gcode: G28 X Y + +[menu __main __control __disable] +type: command +name: Steppers uit +gcode: + M84 + M18 + +[menu __main __control __fanonoff] +type: input +enable: {'fan' in printer} +name: Koeling: {'ON ' if menu.input else 'OFF'} +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 1 +gcode: + M106 S{255 if menu.input else 0} + +[menu __main __control __fanspeed] +type: input +enable: {'fan' in printer} +name: Snelheid koeler: {'%3d' % (menu.input*100)}% +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 0.01 +gcode: + M106 S{'%d' % (menu.input*255)} + +[menu __main __control __caselightonoff] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'ON ' if menu.input else 'OFF'} +input: {printer['output_pin caselight'].value} +input_min: 0 +input_max: 1 +input_step: 1 +gcode: + SET_PIN PIN=caselight VALUE={1 if menu.input else 0} + +[menu __main __control __caselightpwm] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'%3d' % (menu.input*100)}% +input: {printer['output_pin caselight'].value} +input_min: 0.0 +input_max: 1.0 +input_step: 0.01 +gcode: + SET_PIN PIN=caselight VALUE={menu.input} + +### menu move 10mm ### +[menu __main __control __move_10mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 10mm + +[menu __main __control __move_10mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 1mm ### +[menu __main __control __move_1mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 1mm + +[menu __main __control __move_1mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 0.1mm ### +[menu __main __control __move_01mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 0.1mm + +[menu __main __control __move_01mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu temperature ### +[menu __main __temp] +type: list +name: Temperatuur + +[menu __main __temp __hotend0_target] +type: input +enable: {('extruder' in printer) and ('extruder' in printer.heaters.available_heaters)} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} +input_min: 0 +input_max: {printer.configfile.config.extruder.max_temp} +input_step: 1 +gcode: M104 T0 S{'%.0f' % menu.input} + +[menu __main __temp __hotend1_target] +type: input +enable: {('extruder1' in printer) and ('extruder1' in printer.heaters.available_heaters)} +name: {"Ex1:%3.0f (%4.0f)" % (menu.input, printer.extruder1.temperature)} +input: {printer.extruder1.target} +input_min: 0 +input_max: {printer.configfile.config.extruder1.max_temp} +input_step: 1 +gcode: M104 T1 S{'%.0f' % menu.input} + +[menu __main __temp __hotbed_target] +type: input +enable: {'heater_bed' in printer} +name: {"Bed:%3.0f (%4.0f)" % (menu.input, printer.heater_bed.temperature)} +input: {printer.heater_bed.target} +input_min: 0 +input_max: {printer.configfile.config.heater_bed.max_temp} +input_step: 1 +gcode: M140 S{'%.0f' % menu.input} + +[menu __main __temp __preheat_pla] +type: list +name: Voorverwarmen PLA + +[menu __main __temp __preheat_pla __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S60 + M104 S200 + +[menu __main __temp __preheat_pla __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S200 + +[menu __main __temp __preheat_pla __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S60 + +[menu __main __temp __preheat_abs] +type: list +name: Voorverwarmen ABS + +[menu __main __temp __preheat_abs __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S110 + M104 S245 + +[menu __main __temp __preheat_abs __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S245 + +[menu __main __temp __preheat_abs __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S110 + +[menu __main __temp __cooldown] +type: list +name: Afkoelen + +[menu __main __temp __cooldown __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles afkoelen +gcode: + M104 S0 + M140 S0 + +[menu __main __temp __cooldown __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend afkoelen +gcode: M104 S0 + +[menu __main __temp __cooldown __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed afkoelen +gcode: M140 S0 + +### menu filament ### + +[menu __main __filament] +type: list +name: Filament + +[menu __main __filament __hotend0_target] +type: input +enable: {'extruder' in printer} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} +input_min: 0 +input_max: {printer.configfile.config.extruder.max_temp} +input_step: 1 +gcode: M104 T0 S{'%.0f' % menu.input} + +[menu __main __filament __loadf] +type: command +name: Fil. snel laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __loads] +type: command +name: Fil. langzaam laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloadf] +type: command +name: Fil. snel uitwerpen +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloads] +type: command +name: Fil. langzaam uitwerpen +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __feed] +type: input +name: Snelheid: {'%.1f' % menu.input} +input: 5 +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E{'%.1f' % menu.input} F60 + RESTORE_GCODE_STATE NAME=__filament__load + +### menu setup ### +[menu __main __setup] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Setup + +[menu __main __setup __save_config] +type: command +name: Bewaar configuratie +gcode: SAVE_CONFIG + +[menu __main __setup __restart] +type: list +name: Herstarten + +[menu __main __setup __restart __host_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart host +gcode: RESTART + +[menu __main __setup __restart __firmware_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart FW +gcode: FIRMWARE_RESTART + +[menu __main __setup __tuning] +type: list +name: PID tuning + +[menu __main __setup __tuning __hotend_pid_tuning] +type: command +enable: {(not printer.idle_timeout.state == "Printing") and ('extruder' in printer)} +name: Tune Hotend PID +gcode: PID_CALIBRATE HEATER=extruder TARGET=210 WRITE_FILE=1 + +[menu __main __setup __tuning __hotbed_pid_tuning] +type: command +enable: {(not printer.idle_timeout.state == "Printing") and ('heater_bed' in printer)} +name: Tune Hotbed PID +gcode: PID_CALIBRATE HEATER=heater_bed TARGET=60 WRITE_FILE=1 + +[menu __main __setup __calib] +type: list +name: Calibratie + +[menu __main __setup __calib __bedprobe] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Bed probe +gcode: PROBE + +[menu __main __setup __dump] +type: command +name: Dump parameters +gcode: + {% for name1 in printer %} + {% for name2 in printer[name1] %} + { action_respond_info("printer['%s'].%s = %s" + % (name1, name2, printer[name1][name2])) } + {% else %} + { action_respond_info("printer['%s'] = %s" % (name1, printer[name1])) } + {% endfor %} + {% endfor %} + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [extruder] +#*# control = pid +#*# pid_kp = 28.195 +#*# pid_ki = 1.880 +#*# pid_kd = 105.733 +#*# +#*# [heater_bed] +#*# control = pid +#*# pid_kp = 50.775 +#*# pid_ki = 0.692 +#*# pid_kd = 931.084 +#*# +#*# [bltouch] +#*# z_offset = 2.920 diff --git a/klipper/DNV-TPU-Ender3/klipper_config/printer-20220108_213646.cfg b/klipper/DNV-TPU-Ender3/klipper_config/printer-20220108_213646.cfg new file mode 100644 index 0000000..630695c --- /dev/null +++ b/klipper/DNV-TPU-Ender3/klipper_config/printer-20220108_213646.cfg @@ -0,0 +1,909 @@ +# This file contains common pin mappings for the BIGTREETECH SKR mini +# E3 v1.2. To use this config, the firmware should be compiled for the +# STM32F103 with a "28KiB bootloader" and USB communication. Also, +# select "Enable extra low-level configuration options" and configure +# "GPIO pins to set at micro-controller startup" to "!PC13". + +# The "make flash" command does not work on the SKR mini E3. Instead, +# after running "make", copy the generated "out/klipper.bin" file to a +# file named "firmware.bin" on an SD card and then restart the SKR +# mini E3 with that SD card. + +# See docs/Config_Reference.md for a description of parameters. + +# Note: This board has a design flaw in its thermistor circuits that +# cause inaccurate temperatures (most noticeable at low temperatures). + +# Met de DropEffect OmniDrop V2.1 is het punt links-beneden (dus het 0-punt): X = 12 en Y = 30 + +[stepper_x] +step_pin: PB13 +dir_pin: !PB12 +enable_pin: !PB14 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC0 +position_endstop: -13.5 +position_min: -13.5 +position_max: 221.5 +homing_speed: 50 + +[tmc2209 stepper_x] +uart_pin: PB15 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_y] +step_pin: PB10 +dir_pin: !PB2 +enable_pin: !PB11 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC1 +position_endstop: -29 +position_min: -29 +position_max: 206 +homing_speed: 50 + +[tmc2209 stepper_y] +uart_pin: PC6 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_z] +step_pin: PB0 +dir_pin: PC5 +enable_pin: !PB1 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^PC2 +#position_endstop: -1.54 +position_min: -1.57 +position_max: 250 + +[tmc2209 stepper_z] +uart_pin: PC10 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 5 + +[bltouch] +sensor_pin: ^PC14 +control_pin: PA1 +#pin_up_reports_not_triggered: False +#pin_up_touch_mode_reports_triggered: False +x_offset: 33.7 +y_offset: -33.5 +#z_offset: 2.68 +pin_move_time: 0.680 + +[bed_screws] +screw1: 25,31 +screw2: 196,31 +screw3: 196,206 +screw4: 25,206 +#screw5: 117,117 + +[bed_mesh] +speed: 80 +horizontal_move_z: 5 +mesh_min: 25,10 +mesh_max: 200,170 +probe_count: 5,5 + +[extruder] +# DropEffect OmniaDrop V2.1 +step_pin: PB3 +dir_pin: PB4 +enable_pin: !PD2 +microsteps: 16 +gear_ratio: 5:1 +rotation_distance: 33.500 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PC8 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA0 +#control: pid +#pid_Kp: 21.527 +#pid_Ki: 1.063 +#pid_Kd: 108.982 +min_temp: 0 +max_temp: 285 + +[tmc2209 extruder] +uart_pin: PC11 +run_current: 0.500 +hold_current: 0.400 +stealthchop_threshold: 5 + +[heater_fan my_nozzle_fan] +# Aansturing via PT-DET pinout +pin: PC12 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + +[heater_bed] +heater_pin: PC9 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC3 +#control: pid +#pid_Kp: 54.027 +#pid_Ki: 0.770 +#pid_Kd: 948.182 +min_temp: 0 +max_temp: 130 + +[fan] +pin: PA8 + +[mcu] +serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_32FFDA054158323011792557-if00 + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 5 +max_z_accel: 100 + +[static_digital_output usb_pullup_enable] +pins: !PC13 + +[board_pins] +aliases: + # EXP1 header + EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=, + EXP1_2=PB6, EXP1_4=, EXP1_6=PB9, EXP1_8=PB7, EXP1_10=<5V> + +# See the sample-lcd.cfg file for definitions of common LCD displays. + +[display] +lcd_type: st7920 +cs_pin: EXP1_7 +sclk_pin: EXP1_6 +sid_pin: EXP1_8 +encoder_pins: ^EXP1_5, ^EXP1_3 +click_pin: ^!EXP1_2 + +[output_pin beeper] +pin: EXP1_1 + +[virtual_sdcard] +path: ~/gcode_files + +[display_status] + +[pause_resume] + +[gcode_macro PAUSE] +description: Pause the actual running print +rename_existing: PAUSE_BASE +# change this if you need more or less extrusion +variable_extrude: 1.0 +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + ##### set park positon for x and y ##### + # default is your max posion from your printer.cfg + {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} + {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} + ##### calculate save lift position ##### + {% set max_z = printer.toolhead.axis_maximum.z|float %} + {% set act_z = printer.toolhead.position.z|float %} + {% if act_z < (max_z - 2.0) %} + {% set z_safe = 2.0 %} + {% else %} + {% set z_safe = max_z - act_z %} + {% endif %} + ##### end of definitions ##### + PAUSE_BASE + G91 + {% if printer.extruder.can_extrude|lower == 'true' %} + G1 E-{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + {% if "xyz" in printer.toolhead.homed_axes %} + G1 Z{z_safe} F900 + G90 + G1 X{x_park} Y{y_park} F6000 + {% else %} + {action_respond_info("Printer not homed")} + {% endif %} + +[gcode_macro RESUME] +description: Resume the actual running print +rename_existing: RESUME_BASE +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + #### get VELOCITY parameter if specified #### + {% if 'VELOCITY' in params|upper %} + {% set get_params = ('VELOCITY=' + params.VELOCITY) %} + {%else %} + {% set get_params = "" %} + {% endif %} + ##### end of definitions ##### + {% if printer.extruder.can_extrude|lower == 'true' %} + G91 + G1 E{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + RESUME_BASE {get_params} + +[gcode_macro CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +gcode: + TURN_OFF_HEATERS + CANCEL_PRINT_BASE + +# The print bed can move so far to the front, that the nozzle can reach the +# plastic cover of the print bed heater cable (only when the bed is moved by +# hand). By homing the Y axis before the X axis, it is ensured the nozzle will +# not melt through the plastic part. +# BEWARE: You will lose the ability to home axes individually. The printer will +# always home all axes for every G28 command. +#[homing_override] +#gcode: +# G28 Y0 +# G28 X0 +# G28 Z0 + +# ================================================================================ +# GCode Macro: START_PRINT +# Add START_PRINT in your slicers starting script. +# ================================================================================ +[gcode_macro START_PRINT] +gcode: + G28; Home all axes + BED_MESH_CALIBRATE + G92 E0; Reset Extruder + G1 Z5.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed + G1 X0.1 Y20 Z0.3 F5000.0; Move to start position + G1 X0.1 Y200.0 Z0.3 F1500.0 E15; Draw the first line + G1 X0.4 Y200.0 Z0.3 F5000.0; Move to side a little + G1 X0.4 Y20 Z0.3 F1500.0 E30; Draw the second line + G92 E0; Reset Extruder + G1 Z5.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed + +# ================================================================================ +# GCode Macro: END_PRINT +# Add END_PRINT in your slicers ending script +# ================================================================================ +[gcode_macro END_PRINT] +gcode: + G91; Relative Positioning + G1 Z+10; Move Z up so it doesn't hit anything + G90; Absolute Positioning + G1 Y190 F1500; bring Y up front +# G10 ; set tool offset? or retract? +# G1 E-10 F300; Retrack-10 + G1 X10 Y220 F2000; Move to X10, Y220 + M104 S0; Turn off Extruder temperature (set it to 0) + M140 S0; Turn off Bed temperature (set it to 0) + M106 S0; turn off cooling fan + M84; Disable steppers +# ================================================================================ +# GCode Macro G29 +# Fires when G29 is sent to the printer +# ================================================================================ +[gcode_macro G29] +gcode: + G1 Z10 F600 + G4 P200 + G1 Z10 F600 + G4 P100 + +### menu main ### +[menu __main] +type: list +name: Main + +### menu tune ### +[menu __main __tune] +type: list +enable: {printer.idle_timeout.state == "Printing"} +name: Afstellen + +[menu __main __tune __speed] +type: input +name: Snelheid: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.speed_factor} +input_min: 0.01 +input_max: 5 +input_step: 0.01 +realtime: True +gcode: + M220 S{'%d' % (menu.input*100)} + +[menu __main __tune __flow] +type: input +name: Flow: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.extrude_factor} +input_min: 0.01 +input_max: 2 +input_step: 0.01 +realtime: True +gcode: + M221 S{'%d' % (menu.input*100)} + +[menu __main __tune __offsetz] +type: input +name: Offset Z:{'%05.3f' % menu.input} +input: {printer.gcode_move.homing_origin.z} +input_min: -5 +input_max: 5 +input_step: 0.005 +realtime: True +gcode: + SET_GCODE_OFFSET Z={'%.3f' % menu.input} MOVE=1 + +### menu virtual sdcard ### +[menu __main __sdcard] +type: vsdlist +enable: {('virtual_sdcard' in printer)} +name: SD Kaart + +[menu __main __sdcard __start] +type: command +enable: {('virtual_sdcard' in printer) and printer.virtual_sdcard.file_path and not printer.virtual_sdcard.is_active} +name: Start printen +gcode: M24 + +[menu __main __sdcard __resume] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "paused"} +name: Herstart printen +gcode: + {% if "pause_resume" in printer %} + RESUME + {% else %} + M24 + {% endif %} + +[menu __main __sdcard __pause] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "printing"} +name: Pauseer printen +gcode: + {% if "pause_resume" in printer %} + PAUSE + {% else %} + M25 + {% endif %} + +[menu __main __sdcard __cancel] +type: command +enable: {('virtual_sdcard' in printer) and (printer.print_stats.state == "printing" or printer.print_stats.state == "paused")} +name: Annuleer printen +gcode: + {% if 'pause_resume' in printer %} + CANCEL_PRINT + {% else %} + M25 + M27 + M26 S0 + TURN_OFF_HEATERS + {% if printer.toolhead.position.z <= printer.toolhead.axis_maximum.z - 5 %} + G91 + G0 Z5 F1000 + G90 + {% endif %} + {% endif %} + +### menu control ### +[menu __main __control] +type: list +name: Control + +[menu __main __control __home] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home All +gcode: G28 + +[menu __main __control __homez] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home Z +gcode: G28 Z + +[menu __main __control __homexy] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home X/Y +gcode: G28 X Y + +[menu __main __control __disable] +type: command +name: Steppers uit +gcode: + M84 + M18 + +[menu __main __control __fanonoff] +type: input +enable: {'fan' in printer} +name: Koeling: {'ON ' if menu.input else 'OFF'} +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 1 +gcode: + M106 S{255 if menu.input else 0} + +[menu __main __control __fanspeed] +type: input +enable: {'fan' in printer} +name: Snelheid koeler: {'%3d' % (menu.input*100)}% +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 0.01 +gcode: + M106 S{'%d' % (menu.input*255)} + +[menu __main __control __caselightonoff] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'ON ' if menu.input else 'OFF'} +input: {printer['output_pin caselight'].value} +input_min: 0 +input_max: 1 +input_step: 1 +gcode: + SET_PIN PIN=caselight VALUE={1 if menu.input else 0} + +[menu __main __control __caselightpwm] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'%3d' % (menu.input*100)}% +input: {printer['output_pin caselight'].value} +input_min: 0.0 +input_max: 1.0 +input_step: 0.01 +gcode: + SET_PIN PIN=caselight VALUE={menu.input} + +### menu move 10mm ### +[menu __main __control __move_10mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 10mm + +[menu __main __control __move_10mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 1mm ### +[menu __main __control __move_1mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 1mm + +[menu __main __control __move_1mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 0.1mm ### +[menu __main __control __move_01mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 0.1mm + +[menu __main __control __move_01mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu temperature ### +[menu __main __temp] +type: list +name: Temperatuur + +[menu __main __temp __hotend0_target] +type: input +enable: {('extruder' in printer) and ('extruder' in printer.heaters.available_heaters)} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} +input_min: 0 +input_max: {printer.configfile.config.extruder.max_temp} +input_step: 1 +gcode: M104 T0 S{'%.0f' % menu.input} + +[menu __main __temp __hotend1_target] +type: input +enable: {('extruder1' in printer) and ('extruder1' in printer.heaters.available_heaters)} +name: {"Ex1:%3.0f (%4.0f)" % (menu.input, printer.extruder1.temperature)} +input: {printer.extruder1.target} +input_min: 0 +input_max: {printer.configfile.config.extruder1.max_temp} +input_step: 1 +gcode: M104 T1 S{'%.0f' % menu.input} + +[menu __main __temp __hotbed_target] +type: input +enable: {'heater_bed' in printer} +name: {"Bed:%3.0f (%4.0f)" % (menu.input, printer.heater_bed.temperature)} +input: {printer.heater_bed.target} +input_min: 0 +input_max: {printer.configfile.config.heater_bed.max_temp} +input_step: 1 +gcode: M140 S{'%.0f' % menu.input} + +[menu __main __temp __preheat_pla] +type: list +name: Voorverwarmen PLA + +[menu __main __temp __preheat_pla __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S60 + M104 S200 + +[menu __main __temp __preheat_pla __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S200 + +[menu __main __temp __preheat_pla __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S60 + +[menu __main __temp __preheat_abs] +type: list +name: Voorverwarmen ABS + +[menu __main __temp __preheat_abs __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S110 + M104 S245 + +[menu __main __temp __preheat_abs __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S245 + +[menu __main __temp __preheat_abs __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S110 + +[menu __main __temp __cooldown] +type: list +name: Afkoelen + +[menu __main __temp __cooldown __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles afkoelen +gcode: + M104 S0 + M140 S0 + +[menu __main __temp __cooldown __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend afkoelen +gcode: M104 S0 + +[menu __main __temp __cooldown __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed afkoelen +gcode: M140 S0 + +### menu filament ### + +[menu __main __filament] +type: list +name: Filament + +[menu __main __filament __hotend0_target] +type: input +enable: {'extruder' in printer} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} +input_min: 0 +input_max: {printer.configfile.config.extruder.max_temp} +input_step: 1 +gcode: M104 T0 S{'%.0f' % menu.input} + +[menu __main __filament __loadf] +type: command +name: Fil. snel laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __loads] +type: command +name: Fil. langzaam laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloadf] +type: command +name: Fil. snel uitwerpen +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloads] +type: command +name: Fil. langzaam uitwerpen +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __feed] +type: input +name: Snelheid: {'%.1f' % menu.input} +input: 5 +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E{'%.1f' % menu.input} F60 + RESTORE_GCODE_STATE NAME=__filament__load + +### menu setup ### +[menu __main __setup] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Setup + +[menu __main __setup __save_config] +type: command +name: Bewaar configuratie +gcode: SAVE_CONFIG + +[menu __main __setup __restart] +type: list +name: Herstarten + +[menu __main __setup __restart __host_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart host +gcode: RESTART + +[menu __main __setup __restart __firmware_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart FW +gcode: FIRMWARE_RESTART + +[menu __main __setup __tuning] +type: list +name: PID tuning + +[menu __main __setup __tuning __hotend_pid_tuning] +type: command +enable: {(not printer.idle_timeout.state == "Printing") and ('extruder' in printer)} +name: Tune Hotend PID +gcode: PID_CALIBRATE HEATER=extruder TARGET=210 WRITE_FILE=1 + +[menu __main __setup __tuning __hotbed_pid_tuning] +type: command +enable: {(not printer.idle_timeout.state == "Printing") and ('heater_bed' in printer)} +name: Tune Hotbed PID +gcode: PID_CALIBRATE HEATER=heater_bed TARGET=60 WRITE_FILE=1 + +[menu __main __setup __calib] +type: list +name: Calibratie + +[menu __main __setup __calib __bedprobe] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Bed probe +gcode: PROBE + +[menu __main __setup __dump] +type: command +name: Dump parameters +gcode: + {% for name1 in printer %} + {% for name2 in printer[name1] %} + { action_respond_info("printer['%s'].%s = %s" + % (name1, name2, printer[name1][name2])) } + {% else %} + { action_respond_info("printer['%s'] = %s" % (name1, printer[name1])) } + {% endfor %} + {% endfor %} + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [extruder] +#*# control = pid +#*# pid_kp = 28.195 +#*# pid_ki = 1.880 +#*# pid_kd = 105.733 +#*# +#*# [heater_bed] +#*# control = pid +#*# pid_kp = 50.775 +#*# pid_ki = 0.692 +#*# pid_kd = 931.084 +#*# +#*# [bltouch] +#*# z_offset = 2.920 +#*# +#*# [stepper_z] +#*# position_endstop = -1.570 diff --git a/klipper/DNV-TPU-Ender3/klipper_config/printer-20220114_121751.cfg b/klipper/DNV-TPU-Ender3/klipper_config/printer-20220114_121751.cfg new file mode 100644 index 0000000..d2f1a34 --- /dev/null +++ b/klipper/DNV-TPU-Ender3/klipper_config/printer-20220114_121751.cfg @@ -0,0 +1,927 @@ +# This file contains common pin mappings for the BIGTREETECH SKR mini +# E3 v1.2. To use this config, the firmware should be compiled for the +# STM32F103 with a "28KiB bootloader" and USB communication. Also, +# select "Enable extra low-level configuration options" and configure +# "GPIO pins to set at micro-controller startup" to "!PC13". + +# The "make flash" command does not work on the SKR mini E3. Instead, +# after running "make", copy the generated "out/klipper.bin" file to a +# file named "firmware.bin" on an SD card and then restart the SKR +# mini E3 with that SD card. + +# See docs/Config_Reference.md for a description of parameters. + +# Note: This board has a design flaw in its thermistor circuits that +# cause inaccurate temperatures (most noticeable at low temperatures). + +# Met de DropEffect OmniDrop V2.1 is het punt links-beneden (dus het 0-punt): X = 12 en Y = 30 + +[stepper_x] +step_pin: PB13 +dir_pin: !PB12 +enable_pin: !PB14 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC0 +position_endstop: -13.5 +position_min: -13.5 +position_max: 221.5 +homing_speed: 50 + +[tmc2209 stepper_x] +uart_pin: PB15 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_y] +step_pin: PB10 +dir_pin: !PB2 +enable_pin: !PB11 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC1 +position_endstop: -9 +position_min: -9 +position_max: 226 +homing_speed: 50 + +[tmc2209 stepper_y] +uart_pin: PC6 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_z] +step_pin: PB0 +dir_pin: PC5 +enable_pin: !PB1 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^PC2 +position_endstop: 0 +position_max: 250 + +[tmc2209 stepper_z] +uart_pin: PC10 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 5 + +[bltouch] +sensor_pin: ^PC14 +control_pin: PA1 +#pin_up_reports_not_triggered: False +#pin_up_touch_mode_reports_triggered: False +x_offset: 33.7 +y_offset: -33.5 +#z_offset: 2.68 +pin_move_time: 0.680 + +[bed_screws] +screw1: 29,31 +screw2: 196,31 +screw3: 196,206 +screw4: 29,206 +#screw5: 117,117 + +[bed_mesh] +speed: 80 +horizontal_move_z: 5 +mesh_min: 25,10 +mesh_max: 200,170 +probe_count: 5,5 + +[extruder] +# DropEffect OmniaDrop V2.1 +step_pin: PB3 +dir_pin: PB4 +enable_pin: !PD2 +microsteps: 16 +gear_ratio: 5:1 +rotation_distance: 33.500 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PC8 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA0 +#control: pid +#pid_Kp: 21.527 +#pid_Ki: 1.063 +#pid_Kd: 108.982 +min_temp: 0 +max_temp: 285 + +[tmc2209 extruder] +uart_pin: PC11 +run_current: 0.500 +hold_current: 0.400 +stealthchop_threshold: 5 + +[heater_fan my_nozzle_fan] +# Aansturing via PT-DET pinout +pin: PC12 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + +[heater_bed] +heater_pin: PC9 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC3 +#control: pid +#pid_Kp: 54.027 +#pid_Ki: 0.770 +#pid_Kd: 948.182 +min_temp: 0 +max_temp: 130 + +[fan] +pin: PA8 + +[mcu] +serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_32FFDA054158323011792557-if00 + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 5 +max_z_accel: 100 + +[static_digital_output usb_pullup_enable] +pins: !PC13 + +[board_pins] +aliases: + # EXP1 header + EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=, + EXP1_2=PB6, EXP1_4=, EXP1_6=PB9, EXP1_8=PB7, EXP1_10=<5V> + +# See the sample-lcd.cfg file for definitions of common LCD displays. + +[display] +lcd_type: st7920 +cs_pin: EXP1_7 +sclk_pin: EXP1_6 +sid_pin: EXP1_8 +encoder_pins: ^EXP1_5, ^EXP1_3 +click_pin: ^!EXP1_2 + +[output_pin beeper] +pin: EXP1_1 + +[virtual_sdcard] +path: ~/gcode_files + +[display_status] + +[pause_resume] + +[gcode_macro PAUSE] +description: Pause the actual running print +rename_existing: PAUSE_BASE +# change this if you need more or less extrusion +variable_extrude: 1.0 +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + ##### set park positon for x and y ##### + # default is your max posion from your printer.cfg + {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} + {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} + ##### calculate save lift position ##### + {% set max_z = printer.toolhead.axis_maximum.z|float %} + {% set act_z = printer.toolhead.position.z|float %} + {% if act_z < (max_z - 2.0) %} + {% set z_safe = 2.0 %} + {% else %} + {% set z_safe = max_z - act_z %} + {% endif %} + ##### end of definitions ##### + PAUSE_BASE + G91 + {% if printer.extruder.can_extrude|lower == 'true' %} + G1 E-{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + {% if "xyz" in printer.toolhead.homed_axes %} + G1 Z{z_safe} F900 + G90 + G1 X{x_park} Y{y_park} F6000 + {% else %} + {action_respond_info("Printer not homed")} + {% endif %} + +[gcode_macro RESUME] +description: Resume the actual running print +rename_existing: RESUME_BASE +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + #### get VELOCITY parameter if specified #### + {% if 'VELOCITY' in params|upper %} + {% set get_params = ('VELOCITY=' + params.VELOCITY) %} + {%else %} + {% set get_params = "" %} + {% endif %} + ##### end of definitions ##### + {% if printer.extruder.can_extrude|lower == 'true' %} + G91 + G1 E{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + RESUME_BASE {get_params} + +[gcode_macro CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +gcode: + TURN_OFF_HEATERS + CANCEL_PRINT_BASE + +# The print bed can move so far to the front, that the nozzle can reach the +# plastic cover of the print bed heater cable (only when the bed is moved by +# hand). By homing the Y axis before the X axis, it is ensured the nozzle will +# not melt through the plastic part. +# BEWARE: You will lose the ability to home axes individually. The printer will +# always home all axes for every G28 command. +#[homing_override] +#gcode: +# G28 Y0 +# G28 X0 +# G28 Z0 + +# ================================================================================ +# GCode Macro: START_PRINT +# Add START_PRINT in your slicers starting script. +# ================================================================================ +[gcode_macro START_PRINT] +gcode: + G28; Home all axes + BED_MESH_CALIBRATE + G92 E0; Reset Extruder + G1 Z5.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed + G1 X0.1 Y20 Z0.3 F5000.0; Move to start position + G1 X0.1 Y200.0 Z0.3 F1500.0 E15; Draw the first line + G1 X0.4 Y200.0 Z0.3 F5000.0; Move to side a little + G1 X0.4 Y20 Z0.3 F1500.0 E30; Draw the second line + G92 E0; Reset Extruder + G1 Z5.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed + +# ================================================================================ +# GCode Macro: END_PRINT +# Add END_PRINT in your slicers ending script +# ================================================================================ +[gcode_macro END_PRINT] +gcode: + G91; Relative Positioning + G1 Z+10; Move Z up so it doesn't hit anything + G90; Absolute Positioning + G1 Y190 F1500; bring Y up front +# G10 ; set tool offset? or retract? +# G1 E-10 F300; Retrack-10 + G1 X10 Y220 F2000; Move to X10, Y220 + M104 S0; Turn off Extruder temperature (set it to 0) + M140 S0; Turn off Bed temperature (set it to 0) + M106 S0; turn off cooling fan + M84; Disable steppers +# ================================================================================ +# GCode Macro G29 +# Fires when G29 is sent to the printer +# ================================================================================ +[gcode_macro G29] +gcode: + G1 Z10 F600 + G4 P200 + G1 Z10 F600 + G4 P100 + +### menu main ### +[menu __main] +type: list +name: Main + +### menu tune ### +[menu __main __tune] +type: list +enable: {printer.idle_timeout.state == "Printing"} +name: Afstellen + +[menu __main __tune __speed] +type: input +name: Snelheid: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.speed_factor} +input_min: 0.01 +input_max: 5 +input_step: 0.01 +realtime: True +gcode: + M220 S{'%d' % (menu.input*100)} + +[menu __main __tune __flow] +type: input +name: Flow: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.extrude_factor} +input_min: 0.01 +input_max: 2 +input_step: 0.01 +realtime: True +gcode: + M221 S{'%d' % (menu.input*100)} + +[menu __main __tune __offsetz] +type: input +name: Offset Z:{'%05.3f' % menu.input} +input: {printer.gcode_move.homing_origin.z} +input_min: -5 +input_max: 5 +input_step: 0.005 +realtime: True +gcode: + SET_GCODE_OFFSET Z={'%.3f' % menu.input} MOVE=1 + +### menu virtual sdcard ### +[menu __main __sdcard] +type: vsdlist +enable: {('virtual_sdcard' in printer)} +name: SD Kaart + +[menu __main __sdcard __start] +type: command +enable: {('virtual_sdcard' in printer) and printer.virtual_sdcard.file_path and not printer.virtual_sdcard.is_active} +name: Start printen +gcode: M24 + +[menu __main __sdcard __resume] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "paused"} +name: Herstart printen +gcode: + {% if "pause_resume" in printer %} + RESUME + {% else %} + M24 + {% endif %} + +[menu __main __sdcard __pause] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "printing"} +name: Pauseer printen +gcode: + {% if "pause_resume" in printer %} + PAUSE + {% else %} + M25 + {% endif %} + +[menu __main __sdcard __cancel] +type: command +enable: {('virtual_sdcard' in printer) and (printer.print_stats.state == "printing" or printer.print_stats.state == "paused")} +name: Annuleer printen +gcode: + {% if 'pause_resume' in printer %} + CANCEL_PRINT + {% else %} + M25 + M27 + M26 S0 + TURN_OFF_HEATERS + {% if printer.toolhead.position.z <= printer.toolhead.axis_maximum.z - 5 %} + G91 + G0 Z5 F1000 + G90 + {% endif %} + {% endif %} + +### menu control ### +[menu __main __control] +type: list +name: Control + +[menu __main __control __home] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home All +gcode: G28 + +[menu __main __control __homez] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home Z +gcode: G28 Z + +[menu __main __control __homexy] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home X/Y +gcode: G28 X Y + +[menu __main __control __disable] +type: command +name: Steppers uit +gcode: + M84 + M18 + +[menu __main __control __fanonoff] +type: input +enable: {'fan' in printer} +name: Koeling: {'ON ' if menu.input else 'OFF'} +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 1 +gcode: + M106 S{255 if menu.input else 0} + +[menu __main __control __fanspeed] +type: input +enable: {'fan' in printer} +name: Snelheid koeler: {'%3d' % (menu.input*100)}% +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 0.01 +gcode: + M106 S{'%d' % (menu.input*255)} + +[menu __main __control __caselightonoff] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'ON ' if menu.input else 'OFF'} +input: {printer['output_pin caselight'].value} +input_min: 0 +input_max: 1 +input_step: 1 +gcode: + SET_PIN PIN=caselight VALUE={1 if menu.input else 0} + +[menu __main __control __caselightpwm] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'%3d' % (menu.input*100)}% +input: {printer['output_pin caselight'].value} +input_min: 0.0 +input_max: 1.0 +input_step: 0.01 +gcode: + SET_PIN PIN=caselight VALUE={menu.input} + +### menu move 10mm ### +[menu __main __control __move_10mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 10mm + +[menu __main __control __move_10mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 1mm ### +[menu __main __control __move_1mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 1mm + +[menu __main __control __move_1mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 0.1mm ### +[menu __main __control __move_01mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 0.1mm + +[menu __main __control __move_01mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu temperature ### +[menu __main __temp] +type: list +name: Temperatuur + +[menu __main __temp __hotend0_target] +type: input +enable: {('extruder' in printer) and ('extruder' in printer.heaters.available_heaters)} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} +input_min: 0 +input_max: {printer.configfile.config.extruder.max_temp} +input_step: 1 +gcode: M104 T0 S{'%.0f' % menu.input} + +[menu __main __temp __hotend1_target] +type: input +enable: {('extruder1' in printer) and ('extruder1' in printer.heaters.available_heaters)} +name: {"Ex1:%3.0f (%4.0f)" % (menu.input, printer.extruder1.temperature)} +input: {printer.extruder1.target} +input_min: 0 +input_max: {printer.configfile.config.extruder1.max_temp} +input_step: 1 +gcode: M104 T1 S{'%.0f' % menu.input} + +[menu __main __temp __hotbed_target] +type: input +enable: {'heater_bed' in printer} +name: {"Bed:%3.0f (%4.0f)" % (menu.input, printer.heater_bed.temperature)} +input: {printer.heater_bed.target} +input_min: 0 +input_max: {printer.configfile.config.heater_bed.max_temp} +input_step: 1 +gcode: M140 S{'%.0f' % menu.input} + +[menu __main __temp __preheat_pla] +type: list +name: Voorverwarmen PLA + +[menu __main __temp __preheat_pla __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S60 + M104 S200 + +[menu __main __temp __preheat_pla __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S200 + +[menu __main __temp __preheat_pla __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S60 + +[menu __main __temp __preheat_abs] +type: list +name: Voorverwarmen ABS + +[menu __main __temp __preheat_abs __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S110 + M104 S245 + +[menu __main __temp __preheat_abs __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S245 + +[menu __main __temp __preheat_abs __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S110 + +[menu __main __temp __cooldown] +type: list +name: Afkoelen + +[menu __main __temp __cooldown __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles afkoelen +gcode: + M104 S0 + M140 S0 + +[menu __main __temp __cooldown __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend afkoelen +gcode: M104 S0 + +[menu __main __temp __cooldown __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed afkoelen +gcode: M140 S0 + +### menu filament ### + +[menu __main __filament] +type: list +name: Filament + +[menu __main __filament __hotend0_target] +type: input +enable: {'extruder' in printer} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} +input_min: 0 +input_max: {printer.configfile.config.extruder.max_temp} +input_step: 1 +gcode: M104 T0 S{'%.0f' % menu.input} + +[menu __main __filament __loadf] +type: command +name: Fil. snel laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __loads] +type: command +name: Fil. langzaam laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloadf] +type: command +name: Fil. snel uitwerpen +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloads] +type: command +name: Fil. langzaam uitwerpen +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __feed] +type: input +name: Snelheid: {'%.1f' % menu.input} +input: 5 +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E{'%.1f' % menu.input} F60 + RESTORE_GCODE_STATE NAME=__filament__load + +### menu setup ### +[menu __main __setup] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Setup + +[menu __main __setup __save_config] +type: command +name: Bewaar configuratie +gcode: SAVE_CONFIG + +[menu __main __setup __restart] +type: list +name: Herstarten + +[menu __main __setup __restart __host_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart host +gcode: RESTART + +[menu __main __setup __restart __firmware_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart FW +gcode: FIRMWARE_RESTART + +[menu __main __setup __tuning] +type: list +name: PID tuning + +[menu __main __setup __tuning __hotend_pid_tuning] +type: command +enable: {(not printer.idle_timeout.state == "Printing") and ('extruder' in printer)} +name: Tune Hotend PID +gcode: PID_CALIBRATE HEATER=extruder TARGET=210 WRITE_FILE=1 + +[menu __main __setup __tuning __hotbed_pid_tuning] +type: command +enable: {(not printer.idle_timeout.state == "Printing") and ('heater_bed' in printer)} +name: Tune Hotbed PID +gcode: PID_CALIBRATE HEATER=heater_bed TARGET=60 WRITE_FILE=1 + +[menu __main __setup __calib] +type: list +name: Calibratie + +[menu __main __setup __calib __bedprobe] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Bed probe +gcode: PROBE + +[menu __main __setup __dump] +type: command +name: Dump parameters +gcode: + {% for name1 in printer %} + {% for name2 in printer[name1] %} + { action_respond_info("printer['%s'].%s = %s" + % (name1, name2, printer[name1][name2])) } + {% else %} + { action_respond_info("printer['%s'] = %s" % (name1, printer[name1])) } + {% endfor %} + {% endfor %} + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [extruder] +#*# control = pid +#*# pid_kp = 28.195 +#*# pid_ki = 1.880 +#*# pid_kd = 105.733 +#*# +#*# [heater_bed] +#*# control = pid +#*# pid_kp = 50.775 +#*# pid_ki = 0.692 +#*# pid_kd = 931.084 +#*# +#*# [bltouch] +#*# z_offset = 2.920 +#*# +#*# [stepper_z] +#*# position_endstop = -1.570 +#*# +#*# [bed_mesh GlasbedCarbonBoven] +#*# version = 1 +#*# points = +#*# 0.250000, 0.085000, 0.025000, -0.015000, -0.027500 +#*# 0.192500, 0.072500, 0.015000, -0.015000, -0.045000 +#*# 0.052500, -0.032500, -0.037500, -0.050000, 0.015000 +#*# -0.030000, -0.017500, 0.025000, 0.072500, 0.117500 +#*# 0.032500, 0.005000, 0.042500, 0.032500, 0.127500 +#*# tension = 0.2 +#*# min_x = 25.0 +#*# algo = lagrange +#*# y_count = 5 +#*# mesh_y_pps = 2 +#*# min_y = 10.0 +#*# x_count = 5 +#*# max_y = 170.0 +#*# mesh_x_pps = 2 +#*# max_x = 200.0 diff --git a/klipper/DNV-TPU-Ender3/klipper_config/printer-20230322_192439.cfg b/klipper/DNV-TPU-Ender3/klipper_config/printer-20230322_192439.cfg new file mode 100644 index 0000000..7c9bd03 --- /dev/null +++ b/klipper/DNV-TPU-Ender3/klipper_config/printer-20230322_192439.cfg @@ -0,0 +1,989 @@ +# This file contains common pin mappings for the BIGTREETECH SKR mini +# E3 v1.2. To use this config, the firmware should be compiled for the +# STM32F103 with a "28KiB bootloader" and USB communication. Also, +# select "Enable extra low-level configuration options" and configure +# "GPIO pins to set at micro-controller startup" to "!PC13". + +# The "make flash" command does not work on the SKR mini E3. Instead, +# after running "make", copy the generated "out/klipper.bin" file to a +# file named "firmware.bin" on an SD card and then restart the SKR +# mini E3 with that SD card. + +# See docs/Config_Reference.md for a description of parameters. + +# Note: This board has a design flaw in its thermistor circuits that +# cause inaccurate temperatures (most noticeable at low temperatures). + +# Met de DropEffect OmniDrop V2.1 is het punt links-beneden (dus het 0-punt): X = 12 en Y = 30 + +# Invoegen van macros. Deze komen uit: https://github.com/jschuh/klipper-macros +[include jschuh_macros.cfg] + +[stepper_x] +step_pin: PB13 +dir_pin: !PB12 +enable_pin: !PB14 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC0 +position_endstop: -13.5 +position_min: -13.5 +position_max: 221.5 +homing_speed: 50 + +[tmc2209 stepper_x] +uart_pin: PB15 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_y] +step_pin: PB10 +dir_pin: !PB2 +enable_pin: !PB11 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC1 +position_endstop: -9 +position_min: -9 +position_max: 226 +homing_speed: 50 + +[tmc2209 stepper_y] +uart_pin: PC6 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_z] +step_pin: PB0 +dir_pin: PC5 +enable_pin: !PB1 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^PC2 +position_endstop: 0 +position_max: 250 + +[tmc2209 stepper_z] +uart_pin: PC10 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 5 + +[bltouch] +sensor_pin: ^PC14 +control_pin: PA1 +#pin_up_reports_not_triggered: False +#pin_up_touch_mode_reports_triggered: False +x_offset: 33.7 +y_offset: -33.5 +#z_offset: 2.68 +pin_move_time: 0.680 + +[bed_screws] +screw1: 29,31 +screw2: 196,31 +screw3: 196,206 +screw4: 29,206 +#screw5: 117,117 + +[bed_mesh] +speed: 80 +horizontal_move_z: 5 +mesh_min: 25,10 +mesh_max: 200,170 +probe_count: 5,5 + +[extruder] +# DropEffect OmniaDrop V2.1 +step_pin: PB3 +dir_pin: PB4 +enable_pin: !PD2 +microsteps: 16 +gear_ratio: 5:1 +rotation_distance: 32.160 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PC8 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA0 +#control: pid +#pid_Kp: 21.527 +#pid_Ki: 1.063 +#pid_Kd: 108.982 +min_temp: 0 +max_temp: 285 + +[tmc2209 extruder] +uart_pin: PC11 +run_current: 0.500 +hold_current: 0.400 +stealthchop_threshold: 5 + +[heater_fan my_nozzle_fan] +# Aansturing via PT-DET pinout +pin: PC12 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + +[heater_bed] +heater_pin: PC9 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC3 +#control: pid +#pid_Kp: 54.027 +#pid_Ki: 0.770 +#pid_Kd: 948.182 +min_temp: 0 +max_temp: 130 + +[fan] +pin: PA8 + +[mcu] +serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_32FFDA054158323011792557-if00 + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 5 +max_z_accel: 100 + +[neopixel ledjes] +pin: PC7 +# The pin connected to the neopixel. This parameter must be +# provided. +chain_count: 6 +# The number of Neopixel chips that are "daisy chained" to the +# provided pin. The default is 1 (which indicates only a single +# Neopixel is connected to the pin). +color_order: GRB +# Set the pixel order required by the LED hardware (using a string +# containing the letters R, G, B, W with W optional). Alternatively, +# this may be a comma separated list of pixel orders - one for each +# LED in the chain. The default is GRB. +initial_RED: 1.0 +initial_GREEN: 1.0 +initial_BLUE: 1.0 +#initial_WHITE: 0.0 +# See the "led" section for information on these parameters. + +#[include neopixels.cfg] + +[static_digital_output usb_pullup_enable] +pins: !PC13 + +[board_pins] +aliases: + # EXP1 header + EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=, + EXP1_2=PB6, EXP1_4=, EXP1_6=PB9, EXP1_8=PB7, EXP1_10=<5V> + +# See the sample-lcd.cfg file for definitions of common LCD displays. + +[display] +lcd_type: st7920 +cs_pin: EXP1_7 +sclk_pin: EXP1_6 +sid_pin: EXP1_8 +encoder_pins: ^EXP1_5, ^EXP1_3 +click_pin: ^!EXP1_2 + +[output_pin beeper] +pin: EXP1_1 + +[virtual_sdcard] +path: ~/printer_data/gcodes + +[display_status] + +[pause_resume] + +[gcode_macro PAUSE] +description: Pause the actual running print +rename_existing: PAUSE_BASE +# change this if you need more or less extrusion +variable_extrude: 1.0 +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + ##### set park positon for x and y ##### + # default is your max posion from your printer.cfg + {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} + {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} + ##### calculate save lift position ##### + {% set max_z = printer.toolhead.axis_maximum.z|float %} + {% set act_z = printer.toolhead.position.z|float %} + {% if act_z < (max_z - 2.0) %} + {% set z_safe = 2.0 %} + {% else %} + {% set z_safe = max_z - act_z %} + {% endif %} + ##### end of definitions ##### + PAUSE_BASE + G91 + {% if printer.extruder.can_extrude|lower == 'true' %} + G1 E-{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + {% if "xyz" in printer.toolhead.homed_axes %} + G1 Z{z_safe} F900 + G90 + G1 X{x_park} Y{y_park} F6000 + {% else %} + {action_respond_info("Printer not homed")} + {% endif %} + +[gcode_macro RESUME] +description: Resume the actual running print +rename_existing: RESUME_BASE +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + #### get VELOCITY parameter if specified #### + {% if 'VELOCITY' in params|upper %} + {% set get_params = ('VELOCITY=' + params.VELOCITY) %} + {%else %} + {% set get_params = "" %} + {% endif %} + ##### end of definitions ##### + {% if printer.extruder.can_extrude|lower == 'true' %} + G91 + G1 E{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + RESUME_BASE {get_params} + +[gcode_macro CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +gcode: + TURN_OFF_HEATERS + CANCEL_PRINT_BASE + +# The print bed can move so far to the front, that the nozzle can reach the +# plastic cover of the print bed heater cable (only when the bed is moved by +# hand). By homing the Y axis before the X axis, it is ensured the nozzle will +# not melt through the plastic part. +# BEWARE: You will lose the ability to home axes individually. The printer will +# always home all axes for every G28 command. +#[homing_override] +#gcode: +# G28 Y0 +# G28 X0 +# G28 Z0 + +# ================================================================================ +# GCode Macro: START_PRINT +# Add START_PRINT in your slicers starting script. +# ================================================================================ +[gcode_macro START_PRINT] +gcode: + G28; Home all axes + BED_MESH_CALIBRATE + G92 E0; Reset Extruder + G1 Z5.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed + G1 X0.1 Y20 Z0.3 F5000.0; Move to start position + G1 X0.1 Y200.0 Z0.3 F1500.0 E15; Draw the first line + G1 X0.4 Y200.0 Z0.3 F5000.0; Move to side a little + G1 X0.4 Y20 Z0.3 F1500.0 E30; Draw the second line + G92 E0; Reset Extruder + G1 Z5.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed + +# ================================================================================ +# GCode Macro: END_PRINT +# Add END_PRINT in your slicers ending script +# ================================================================================ +[gcode_macro END_PRINT] +gcode: + G91; Relative Positioning + G1 Z+10; Move Z up so it doesn't hit anything + G90; Absolute Positioning + G1 Y190 F1500; bring Y up front +# G10 ; set tool offset? or retract? +# G1 E-10 F300; Retrack-10 + G1 X10 Y220 F2000; Move to X10, Y220 + M104 S0; Turn off Extruder temperature (set it to 0) + M140 S0; Turn off Bed temperature (set it to 0) + M106 S0; turn off cooling fan + M84; Disable steppers +# ================================================================================ +# GCode Macro G29 +# Fires when G29 is sent to the printer +# ================================================================================ +#[gcode_macro G29] +#gcode: +# G1 Z10 F600 +# G4 P200 +# G1 Z10 F600 +# G4 P100 + +### Raspberry Pi als MCU om de GPIO te gebruiken voor in- en output + +[mcu rpi] +serial: /tmp/klipper_host_mcu + +[adxl345] +cs_pin: rpi:None + +[resonance_tester] +accel_chip: adxl345 +probe_points: + 100, 100, 20 # an example + +### input-shaper waardes verkregen via adxl345 tuning +[input_shaper] +shaper_freq_x: 69.8 +shaper_type_x: mzv +shaper_freq_y: 41.4 +shaper_type_y: ei + +### menu main ### +[menu __main] +type: list +name: Main + +### menu tune ### +[menu __main __tune] +type: list +enable: {printer.idle_timeout.state == "Printing"} +name: Afstellen + +[menu __main __tune __speed] +type: input +name: Snelheid: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.speed_factor} +input_min: 0.01 +input_max: 5 +input_step: 0.01 +realtime: True +gcode: + M220 S{'%d' % (menu.input*100)} + +[menu __main __tune __flow] +type: input +name: Flow: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.extrude_factor} +input_min: 0.01 +input_max: 2 +input_step: 0.01 +realtime: True +gcode: + M221 S{'%d' % (menu.input*100)} + +[menu __main __tune __offsetz] +type: input +name: Offset Z:{'%05.3f' % menu.input} +input: {printer.gcode_move.homing_origin.z} +input_min: -5 +input_max: 5 +input_step: 0.005 +realtime: True +gcode: + SET_GCODE_OFFSET Z={'%.3f' % menu.input} MOVE=1 + +### menu virtual sdcard ### +[menu __main __sdcard] +type: vsdlist +enable: {('virtual_sdcard' in printer)} +name: SD Kaart + +[menu __main __sdcard __start] +type: command +enable: {('virtual_sdcard' in printer) and printer.virtual_sdcard.file_path and not printer.virtual_sdcard.is_active} +name: Start printen +gcode: M24 + +[menu __main __sdcard __resume] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "paused"} +name: Herstart printen +gcode: + {% if "pause_resume" in printer %} + RESUME + {% else %} + M24 + {% endif %} + +[menu __main __sdcard __pause] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "printing"} +name: Pauseer printen +gcode: + {% if "pause_resume" in printer %} + PAUSE + {% else %} + M25 + {% endif %} + +[menu __main __sdcard __cancel] +type: command +enable: {('virtual_sdcard' in printer) and (printer.print_stats.state == "printing" or printer.print_stats.state == "paused")} +name: Annuleer printen +gcode: + {% if 'pause_resume' in printer %} + CANCEL_PRINT + {% else %} + M25 + M27 + M26 S0 + TURN_OFF_HEATERS + {% if printer.toolhead.position.z <= printer.toolhead.axis_maximum.z - 5 %} + G91 + G0 Z5 F1000 + G90 + {% endif %} + {% endif %} + +### menu control ### +[menu __main __control] +type: list +name: Control + +[menu __main __control __home] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home All +gcode: G28 + +[menu __main __control __homez] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home Z +gcode: G28 Z + +[menu __main __control __homexy] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home X/Y +gcode: G28 X Y + +[menu __main __control __disable] +type: command +name: Steppers uit +gcode: + M84 + M18 + +[menu __main __control __fanonoff] +type: input +enable: {'fan' in printer} +name: Koeling: {'ON ' if menu.input else 'OFF'} +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 1 +gcode: + M106 S{255 if menu.input else 0} + +[menu __main __control __fanspeed] +type: input +enable: {'fan' in printer} +name: Snelheid koeler: {'%3d' % (menu.input*100)}% +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 0.01 +gcode: + M106 S{'%d' % (menu.input*255)} + +[menu __main __control __caselightonoff] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'ON ' if menu.input else 'OFF'} +input: {printer['output_pin caselight'].value} +input_min: 0 +input_max: 1 +input_step: 1 +gcode: + SET_PIN PIN=caselight VALUE={1 if menu.input else 0} + +[menu __main __control __caselightpwm] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'%3d' % (menu.input*100)}% +input: {printer['output_pin caselight'].value} +input_min: 0.0 +input_max: 1.0 +input_step: 0.01 +gcode: + SET_PIN PIN=caselight VALUE={menu.input} + +### menu move 10mm ### +[menu __main __control __move_10mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 10mm + +[menu __main __control __move_10mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 1mm ### +[menu __main __control __move_1mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 1mm + +[menu __main __control __move_1mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 0.1mm ### +[menu __main __control __move_01mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 0.1mm + +[menu __main __control __move_01mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu temperature ### +[menu __main __temp] +type: list +name: Temperatuur + +[menu __main __temp __hotend0_target] +type: input +enable: {('extruder' in printer) and ('extruder' in printer.heaters.available_heaters)} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} +input_min: 0 +input_max: {printer.configfile.config.extruder.max_temp} +input_step: 1 +gcode: M104 T0 S{'%.0f' % menu.input} + +[menu __main __temp __hotend1_target] +type: input +enable: {('extruder1' in printer) and ('extruder1' in printer.heaters.available_heaters)} +name: {"Ex1:%3.0f (%4.0f)" % (menu.input, printer.extruder1.temperature)} +input: {printer.extruder1.target} +input_min: 0 +input_max: {printer.configfile.config.extruder1.max_temp} +input_step: 1 +gcode: M104 T1 S{'%.0f' % menu.input} + +[menu __main __temp __hotbed_target] +type: input +enable: {'heater_bed' in printer} +name: {"Bed:%3.0f (%4.0f)" % (menu.input, printer.heater_bed.temperature)} +input: {printer.heater_bed.target} +input_min: 0 +input_max: {printer.configfile.config.heater_bed.max_temp} +input_step: 1 +gcode: M140 S{'%.0f' % menu.input} + +[menu __main __temp __preheat_pla] +type: list +name: Voorverwarmen PLA + +[menu __main __temp __preheat_pla __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S60 + M104 S200 + +[menu __main __temp __preheat_pla __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S200 + +[menu __main __temp __preheat_pla __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S60 + +[menu __main __temp __preheat_abs] +type: list +name: Voorverwarmen ABS + +[menu __main __temp __preheat_abs __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S110 + M104 S245 + +[menu __main __temp __preheat_abs __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S245 + +[menu __main __temp __preheat_abs __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S110 + +[menu __main __temp __cooldown] +type: list +name: Afkoelen + +[menu __main __temp __cooldown __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles afkoelen +gcode: + M104 S0 + M140 S0 + +[menu __main __temp __cooldown __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend afkoelen +gcode: M104 S0 + +[menu __main __temp __cooldown __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed afkoelen +gcode: M140 S0 + +### menu filament ### + +[menu __main __filament] +type: list +name: Filament + +[menu __main __filament __hotend0_target] +type: input +enable: {'extruder' in printer} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} +input_min: 0 +input_max: {printer.configfile.config.extruder.max_temp} +input_step: 1 +gcode: M104 T0 S{'%.0f' % menu.input} + +[menu __main __filament __loadf] +type: command +name: Fil. snel laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __loads] +type: command +name: Fil. langzaam laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloadf] +type: command +name: Fil. snel uitwerpen +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloads] +type: command +name: Fil. langzaam uitwerpen +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __feed] +type: input +name: Snelheid: {'%.1f' % menu.input} +input: 5 +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E{'%.1f' % menu.input} F60 + RESTORE_GCODE_STATE NAME=__filament__load + +### menu setup ### +[menu __main __setup] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Setup + +[menu __main __setup __save_config] +type: command +name: Bewaar configuratie +gcode: SAVE_CONFIG + +[menu __main __setup __restart] +type: list +name: Herstarten + +[menu __main __setup __restart __host_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart host +gcode: RESTART + +[menu __main __setup __restart __firmware_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart FW +gcode: FIRMWARE_RESTART + +[menu __main __setup __tuning] +type: list +name: PID tuning + +[menu __main __setup __tuning __hotend_pid_tuning] +type: command +enable: {(not printer.idle_timeout.state == "Printing") and ('extruder' in printer)} +name: Tune Hotend PID +gcode: PID_CALIBRATE HEATER=extruder TARGET=210 WRITE_FILE=1 + +[menu __main __setup __tuning __hotbed_pid_tuning] +type: command +enable: {(not printer.idle_timeout.state == "Printing") and ('heater_bed' in printer)} +name: Tune Hotbed PID +gcode: PID_CALIBRATE HEATER=heater_bed TARGET=60 WRITE_FILE=1 + +[menu __main __setup __calib] +type: list +name: Calibratie + +[menu __main __setup __calib __bedprobe] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Bed probe +gcode: PROBE + +[menu __main __setup __dump] +type: command +name: Dump parameters +gcode: + {% for name1 in printer %} + {% for name2 in printer[name1] %} + { action_respond_info("printer['%s'].%s = %s" + % (name1, name2, printer[name1][name2])) } + {% else %} + { action_respond_info("printer['%s'] = %s" % (name1, printer[name1])) } + {% endfor %} + {% endfor %} + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [extruder] +#*# control = pid +#*# pid_kp = 28.195 +#*# pid_ki = 1.880 +#*# pid_kd = 105.733 +#*# +#*# [heater_bed] +#*# control = pid +#*# pid_kp = 50.775 +#*# pid_ki = 0.692 +#*# pid_kd = 931.084 +#*# +#*# [bltouch] +#*# z_offset = 2.920 +#*# +#*# [stepper_z] +#*# +#*# [bed_mesh GlasbedCarbonBoven] +#*# version = 1 +#*# points = +#*# 0.250000, 0.085000, 0.025000, -0.015000, -0.027500 +#*# 0.192500, 0.072500, 0.015000, -0.015000, -0.045000 +#*# 0.052500, -0.032500, -0.037500, -0.050000, 0.015000 +#*# -0.030000, -0.017500, 0.025000, 0.072500, 0.117500 +#*# 0.032500, 0.005000, 0.042500, 0.032500, 0.127500 +#*# tension = 0.2 +#*# min_x = 25.0 +#*# algo = lagrange +#*# y_count = 5 +#*# mesh_y_pps = 2 +#*# min_y = 10.0 +#*# x_count = 5 +#*# max_y = 170.0 +#*# mesh_x_pps = 2 +#*# max_x = 200.0 +#*# +#*# [bed_mesh GlasbedCarbonBoven ] +#*# version = 1 +#*# points = +#*# 0.030000, -0.065000, -0.075000, -0.145000, -0.165000 +#*# 0.272500, 0.092500, -0.070000, -0.275000, -0.422500 +#*# 0.027500, -0.052500, -0.075000, -0.165000, -0.160000 +#*# -0.045000, -0.040000, -0.045000, -0.105000, -0.057500 +#*# 0.017500, 0.005000, 0.022500, -0.012500, 0.002500 +#*# tension = 0.2 +#*# min_x = 25.0 +#*# algo = lagrange +#*# y_count = 5 +#*# mesh_y_pps = 2 +#*# min_y = 10.0 +#*# x_count = 5 +#*# max_y = 170.0 +#*# mesh_x_pps = 2 +#*# max_x = 200.0 diff --git a/klipper/DNV-TPU-Ender3/klipper_config/printer-20230331_144024.cfg b/klipper/DNV-TPU-Ender3/klipper_config/printer-20230331_144024.cfg new file mode 100644 index 0000000..5dc661c --- /dev/null +++ b/klipper/DNV-TPU-Ender3/klipper_config/printer-20230331_144024.cfg @@ -0,0 +1,1008 @@ +# This file contains common pin mappings for the BIGTREETECH SKR mini +# E3 v1.2. To use this config, the firmware should be compiled for the +# STM32F103 with a "28KiB bootloader" and USB communication. Also, +# select "Enable extra low-level configuration options" and configure +# "GPIO pins to set at micro-controller startup" to "!PC13". + +# The "make flash" command does not work on the SKR mini E3. Instead, +# after running "make", copy the generated "out/klipper.bin" file to a +# file named "firmware.bin" on an SD card and then restart the SKR +# mini E3 with that SD card. + +# See docs/Config_Reference.md for a description of parameters. + +# Note: This board has a design flaw in its thermistor circuits that +# cause inaccurate temperatures (most noticeable at low temperatures). + +# Met de DropEffect OmniDrop V2.1 is het punt links-beneden (dus het 0-punt): X = 12 en Y = 30 + +# Invoegen van macros. Deze komen uit: https://github.com/jschuh/klipper-macros +[include jschuh_macros.cfg] + +[stepper_x] +step_pin: PB13 +dir_pin: !PB12 +enable_pin: !PB14 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC0 +position_endstop: -13.5 +position_min: -13.5 +position_max: 221.5 +homing_speed: 50 + +[tmc2209 stepper_x] +uart_pin: PB15 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_y] +step_pin: PB10 +dir_pin: !PB2 +enable_pin: !PB11 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC1 +position_endstop: -9 +position_min: -9 +position_max: 226 +homing_speed: 50 + +[tmc2209 stepper_y] +uart_pin: PC6 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 250 + +[stepper_z] +step_pin: PB0 +dir_pin: PC5 +enable_pin: !PB1 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^PC2 +position_endstop: 0 +position_max: 250 + +[tmc2209 stepper_z] +uart_pin: PC10 +run_current: 0.580 +hold_current: 0.500 +stealthchop_threshold: 5 + +[bltouch] +sensor_pin: ^PC14 +control_pin: PA1 +#pin_up_reports_not_triggered: False +#pin_up_touch_mode_reports_triggered: False +x_offset: 33.7 +y_offset: -33.5 +#z_offset: 2.68 +pin_move_time: 0.680 + +[bed_screws] +screw1: 29,31 +screw2: 196,31 +screw3: 196,206 +screw4: 29,206 +#screw5: 117,117 + +[bed_mesh] +speed: 80 +horizontal_move_z: 5 +mesh_min: 25,10 +mesh_max: 200,170 +probe_count: 5,5 + +[extruder] +# DropEffect OmniaDrop V2.1 +step_pin: PB3 +dir_pin: PB4 +enable_pin: !PD2 +microsteps: 16 +gear_ratio: 5:1 +rotation_distance: 32.160 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PC8 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA0 +#control: pid +#pid_Kp: 21.527 +#pid_Ki: 1.063 +#pid_Kd: 108.982 +min_temp: 0 +max_temp: 285 + +[tmc2209 extruder] +uart_pin: PC11 +run_current: 0.500 +hold_current: 0.400 +stealthchop_threshold: 5 + +[heater_fan my_nozzle_fan] +# Aansturing via PT-DET pinout +pin: PC12 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + +[heater_bed] +heater_pin: PC9 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC3 +#control: pid +#pid_Kp: 54.027 +#pid_Ki: 0.770 +#pid_Kd: 948.182 +min_temp: 0 +max_temp: 130 + +[fan] +pin: PA8 + +[mcu] +serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_32FFDA054158323011792557-if00 + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 5 +max_z_accel: 100 + +[neopixel ledjes] +pin: PC7 +# The pin connected to the neopixel. This parameter must be +# provided. +chain_count: 6 +# The number of Neopixel chips that are "daisy chained" to the +# provided pin. The default is 1 (which indicates only a single +# Neopixel is connected to the pin). +color_order: GRB +# Set the pixel order required by the LED hardware (using a string +# containing the letters R, G, B, W with W optional). Alternatively, +# this may be a comma separated list of pixel orders - one for each +# LED in the chain. The default is GRB. +initial_RED: 1.0 +initial_GREEN: 1.0 +initial_BLUE: 1.0 +#initial_WHITE: 0.0 +# See the "led" section for information on these parameters. + +#[include neopixels.cfg] + +[static_digital_output usb_pullup_enable] +pins: !PC13 + +[board_pins] +aliases: + # EXP1 header + EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=, + EXP1_2=PB6, EXP1_4=, EXP1_6=PB9, EXP1_8=PB7, EXP1_10=<5V> + +# See the sample-lcd.cfg file for definitions of common LCD displays. + +[display] +lcd_type: st7920 +cs_pin: EXP1_7 +sclk_pin: EXP1_6 +sid_pin: EXP1_8 +encoder_pins: ^EXP1_5, ^EXP1_3 +click_pin: ^!EXP1_2 + +[output_pin beeper] +pin: EXP1_1 + +[virtual_sdcard] +path: ~/printer_data/gcodes + +[display_status] + +[pause_resume] + +[gcode_macro PAUSE] +description: Pause the actual running print +rename_existing: PAUSE_BASE +# change this if you need more or less extrusion +variable_extrude: 1.0 +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + ##### set park positon for x and y ##### + # default is your max posion from your printer.cfg + {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} + {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} + ##### calculate save lift position ##### + {% set max_z = printer.toolhead.axis_maximum.z|float %} + {% set act_z = printer.toolhead.position.z|float %} + {% if act_z < (max_z - 2.0) %} + {% set z_safe = 2.0 %} + {% else %} + {% set z_safe = max_z - act_z %} + {% endif %} + ##### end of definitions ##### + PAUSE_BASE + G91 + {% if printer.extruder.can_extrude|lower == 'true' %} + G1 E-{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + {% if "xyz" in printer.toolhead.homed_axes %} + G1 Z{z_safe} F900 + G90 + G1 X{x_park} Y{y_park} F6000 + {% else %} + {action_respond_info("Printer not homed")} + {% endif %} + +[gcode_macro RESUME] +description: Resume the actual running print +rename_existing: RESUME_BASE +gcode: + ##### read E from pause macro ##### + {% set E = printer["gcode_macro PAUSE"].extrude|float %} + #### get VELOCITY parameter if specified #### + {% if 'VELOCITY' in params|upper %} + {% set get_params = ('VELOCITY=' + params.VELOCITY) %} + {%else %} + {% set get_params = "" %} + {% endif %} + ##### end of definitions ##### + {% if printer.extruder.can_extrude|lower == 'true' %} + G91 + G1 E{E} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + RESUME_BASE {get_params} + +[gcode_macro CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +gcode: + TURN_OFF_HEATERS + CANCEL_PRINT_BASE + +# The print bed can move so far to the front, that the nozzle can reach the +# plastic cover of the print bed heater cable (only when the bed is moved by +# hand). By homing the Y axis before the X axis, it is ensured the nozzle will +# not melt through the plastic part. +# BEWARE: You will lose the ability to home axes individually. The printer will +# always home all axes for every G28 command. +#[homing_override] +#gcode: +# G28 Y0 +# G28 X0 +# G28 Z0 + +# ================================================================================ +# GCode Macro: START_PRINT +# Add START_PRINT in your slicers starting script. +# ================================================================================ +[gcode_macro START_PRINT] +gcode: + G28; Home all axes + BED_MESH_CALIBRATE + G92 E0; Reset Extruder + G1 Z5.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed + G1 X0.1 Y20 Z0.3 F5000.0; Move to start position + G1 X0.1 Y200.0 Z0.3 F1500.0 E15; Draw the first line + G1 X0.4 Y200.0 Z0.3 F5000.0; Move to side a little + G1 X0.4 Y20 Z0.3 F1500.0 E30; Draw the second line + G92 E0; Reset Extruder + G1 Z5.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed + +# ================================================================================ +# GCode Macro: END_PRINT +# Add END_PRINT in your slicers ending script +# ================================================================================ +[gcode_macro END_PRINT] +gcode: + G91; Relative Positioning + G1 Z+10; Move Z up so it doesn't hit anything + G90; Absolute Positioning + G1 Y190 F1500; bring Y up front +# G10 ; set tool offset? or retract? +# G1 E-10 F300; Retrack-10 + G1 X10 Y220 F2000; Move to X10, Y220 + M104 S0; Turn off Extruder temperature (set it to 0) + M140 S0; Turn off Bed temperature (set it to 0) + M106 S0; turn off cooling fan + M84; Disable steppers +# ================================================================================ +# GCode Macro G29 +# Fires when G29 is sent to the printer +# ================================================================================ +#[gcode_macro G29] +#gcode: +# G1 Z10 F600 +# G4 P200 +# G1 Z10 F600 +# G4 P100 + +### Raspberry Pi als MCU om de GPIO te gebruiken voor in- en output + +[mcu rpi] +serial: /tmp/klipper_host_mcu + +[adxl345] +cs_pin: rpi:None + +[resonance_tester] +accel_chip: adxl345 +probe_points: + 100, 100, 20 # an example + +### input-shaper waardes verkregen via adxl345 tuning +[input_shaper] +shaper_freq_x: 69.8 +shaper_type_x: mzv +shaper_freq_y: 41.4 +shaper_type_y: ei + +### menu main ### +[menu __main] +type: list +name: Main + +### menu tune ### +[menu __main __tune] +type: list +enable: {printer.idle_timeout.state == "Printing"} +name: Afstellen + +[menu __main __tune __speed] +type: input +name: Snelheid: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.speed_factor} +input_min: 0.01 +input_max: 5 +input_step: 0.01 +realtime: True +gcode: + M220 S{'%d' % (menu.input*100)} + +[menu __main __tune __flow] +type: input +name: Flow: {'%3d' % (menu.input*100)}% +input: {printer.gcode_move.extrude_factor} +input_min: 0.01 +input_max: 2 +input_step: 0.01 +realtime: True +gcode: + M221 S{'%d' % (menu.input*100)} + +[menu __main __tune __offsetz] +type: input +name: Offset Z:{'%05.3f' % menu.input} +input: {printer.gcode_move.homing_origin.z} +input_min: -5 +input_max: 5 +input_step: 0.005 +realtime: True +gcode: + SET_GCODE_OFFSET Z={'%.3f' % menu.input} MOVE=1 + +### menu virtual sdcard ### +[menu __main __sdcard] +type: vsdlist +enable: {('virtual_sdcard' in printer)} +name: SD Kaart + +[menu __main __sdcard __start] +type: command +enable: {('virtual_sdcard' in printer) and printer.virtual_sdcard.file_path and not printer.virtual_sdcard.is_active} +name: Start printen +gcode: M24 + +[menu __main __sdcard __resume] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "paused"} +name: Herstart printen +gcode: + {% if "pause_resume" in printer %} + RESUME + {% else %} + M24 + {% endif %} + +[menu __main __sdcard __pause] +type: command +enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "printing"} +name: Pauseer printen +gcode: + {% if "pause_resume" in printer %} + PAUSE + {% else %} + M25 + {% endif %} + +[menu __main __sdcard __cancel] +type: command +enable: {('virtual_sdcard' in printer) and (printer.print_stats.state == "printing" or printer.print_stats.state == "paused")} +name: Annuleer printen +gcode: + {% if 'pause_resume' in printer %} + CANCEL_PRINT + {% else %} + M25 + M27 + M26 S0 + TURN_OFF_HEATERS + {% if printer.toolhead.position.z <= printer.toolhead.axis_maximum.z - 5 %} + G91 + G0 Z5 F1000 + G90 + {% endif %} + {% endif %} + +### menu control ### +[menu __main __control] +type: list +name: Control + +[menu __main __control __home] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home All +gcode: G28 + +[menu __main __control __homez] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home Z +gcode: G28 Z + +[menu __main __control __homexy] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Home X/Y +gcode: G28 X Y + +[menu __main __control __disable] +type: command +name: Steppers uit +gcode: + M84 + M18 + +[menu __main __control __fanonoff] +type: input +enable: {'fan' in printer} +name: Koeling: {'ON ' if menu.input else 'OFF'} +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 1 +gcode: + M106 S{255 if menu.input else 0} + +[menu __main __control __fanspeed] +type: input +enable: {'fan' in printer} +name: Snelheid koeler: {'%3d' % (menu.input*100)}% +input: {printer.fan.speed} +input_min: 0 +input_max: 1 +input_step: 0.01 +gcode: + M106 S{'%d' % (menu.input*255)} + +[menu __main __control __caselightonoff] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'ON ' if menu.input else 'OFF'} +input: {printer['output_pin caselight'].value} +input_min: 0 +input_max: 1 +input_step: 1 +gcode: + SET_PIN PIN=caselight VALUE={1 if menu.input else 0} + +[menu __main __control __caselightpwm] +type: input +enable: {'output_pin caselight' in printer} +name: Verlichting: {'%3d' % (menu.input*100)}% +input: {printer['output_pin caselight'].value} +input_min: 0.0 +input_max: 1.0 +input_step: 0.01 +gcode: + SET_PIN PIN=caselight VALUE={menu.input} + +### menu move 10mm ### +[menu __main __control __move_10mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 10mm + +[menu __main __control __move_10mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_10mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 10.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 1mm ### +[menu __main __control __move_1mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 1mm + +[menu __main __control __move_1mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_1mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 1.0 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu move 0.1mm ### +[menu __main __control __move_01mm] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats 0.1mm + +[menu __main __control __move_01mm __axis_x] +type: input +name: Verplaats X:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.x} +input_min: {printer.toolhead.axis_minimum.x} +input_max: {printer.toolhead.axis_maximum.x} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 X{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_y] +type: input +name: Verplaats Y:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.y} +input_min: {printer.toolhead.axis_minimum.y} +input_max: {printer.toolhead.axis_maximum.y} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Y{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_z] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Verplaats Z:{'%05.1f' % menu.input} +input: {printer.gcode_move.gcode_position.z} +input_min: 0 +input_max: {printer.toolhead.axis_maximum.z} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + G90 + G1 Z{menu.input} + RESTORE_GCODE_STATE NAME=__move__axis + +[menu __main __control __move_01mm __axis_e] +type: input +enable: {not printer.idle_timeout.state == "Printing"} +name: Draai E:{'%+06.1f' % menu.input} +input: 0 +input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)} +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__move__axis + M83 + G1 E{menu.input} F240 + RESTORE_GCODE_STATE NAME=__move__axis + +### menu temperature ### +[menu __main __temp] +type: list +name: Temperatuur + +[menu __main __temp __hotend0_target] +type: input +enable: {('extruder' in printer) and ('extruder' in printer.heaters.available_heaters)} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} +input_min: 0 +input_max: {printer.configfile.config.extruder.max_temp} +input_step: 1 +gcode: M104 T0 S{'%.0f' % menu.input} + +[menu __main __temp __hotend1_target] +type: input +enable: {('extruder1' in printer) and ('extruder1' in printer.heaters.available_heaters)} +name: {"Ex1:%3.0f (%4.0f)" % (menu.input, printer.extruder1.temperature)} +input: {printer.extruder1.target} +input_min: 0 +input_max: {printer.configfile.config.extruder1.max_temp} +input_step: 1 +gcode: M104 T1 S{'%.0f' % menu.input} + +[menu __main __temp __hotbed_target] +type: input +enable: {'heater_bed' in printer} +name: {"Bed:%3.0f (%4.0f)" % (menu.input, printer.heater_bed.temperature)} +input: {printer.heater_bed.target} +input_min: 0 +input_max: {printer.configfile.config.heater_bed.max_temp} +input_step: 1 +gcode: M140 S{'%.0f' % menu.input} + +[menu __main __temp __preheat_pla] +type: list +name: Voorverwarmen PLA + +[menu __main __temp __preheat_pla __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S60 + M104 S200 + +[menu __main __temp __preheat_pla __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S200 + +[menu __main __temp __preheat_pla __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S60 + +[menu __main __temp __preheat_abs] +type: list +name: Voorverwarmen ABS + +[menu __main __temp __preheat_abs __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles voorverwarmen +gcode: + M140 S110 + M104 S245 + +[menu __main __temp __preheat_abs __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend voorverwarmen +gcode: M104 S245 + +[menu __main __temp __preheat_abs __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed voorverwarmen +gcode: M140 S110 + +[menu __main __temp __cooldown] +type: list +name: Afkoelen + +[menu __main __temp __cooldown __all] +type: command +enable: {('extruder' in printer) and ('heater_bed' in printer)} +name: Alles afkoelen +gcode: + M104 S0 + M140 S0 + +[menu __main __temp __cooldown __hotend] +type: command +enable: {'extruder' in printer} +name: Hotend afkoelen +gcode: M104 S0 + +[menu __main __temp __cooldown __hotbed] +type: command +enable: {'heater_bed' in printer} +name: Hotbed afkoelen +gcode: M140 S0 + +### menu filament ### + +[menu __main __filament] +type: list +name: Filament + +[menu __main __filament __hotend0_target] +type: input +enable: {'extruder' in printer} +name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)} +input: {printer.extruder.target} +input_min: 0 +input_max: {printer.configfile.config.extruder.max_temp} +input_step: 1 +gcode: M104 T0 S{'%.0f' % menu.input} + +[menu __main __filament __loadf] +type: command +name: Fil. snel laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __loads] +type: command +name: Fil. langzaam laden +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloadf] +type: command +name: Fil. snel uitwerpen +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F960 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __unloads] +type: command +name: Fil. langzaam uitwerpen +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E-50 F240 + RESTORE_GCODE_STATE NAME=__filament__load + +[menu __main __filament __feed] +type: input +name: Snelheid: {'%.1f' % menu.input} +input: 5 +input_step: 0.1 +gcode: + SAVE_GCODE_STATE NAME=__filament__load + M83 + G1 E{'%.1f' % menu.input} F60 + RESTORE_GCODE_STATE NAME=__filament__load + +### menu setup ### +[menu __main __setup] +type: list +enable: {not printer.idle_timeout.state == "Printing"} +name: Setup + +[menu __main __setup __save_config] +type: command +name: Bewaar configuratie +gcode: SAVE_CONFIG + +[menu __main __setup __restart] +type: list +name: Herstarten + +[menu __main __setup __restart __host_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart host +gcode: RESTART + +[menu __main __setup __restart __firmware_restart] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Herstart FW +gcode: FIRMWARE_RESTART + +[menu __main __setup __tuning] +type: list +name: PID tuning + +[menu __main __setup __tuning __hotend_pid_tuning] +type: command +enable: {(not printer.idle_timeout.state == "Printing") and ('extruder' in printer)} +name: Tune Hotend PID +gcode: PID_CALIBRATE HEATER=extruder TARGET=210 WRITE_FILE=1 + +[menu __main __setup __tuning __hotbed_pid_tuning] +type: command +enable: {(not printer.idle_timeout.state == "Printing") and ('heater_bed' in printer)} +name: Tune Hotbed PID +gcode: PID_CALIBRATE HEATER=heater_bed TARGET=60 WRITE_FILE=1 + +[menu __main __setup __calib] +type: list +name: Calibratie + +[menu __main __setup __calib __bedprobe] +type: command +enable: {not printer.idle_timeout.state == "Printing"} +name: Bed probe +gcode: PROBE + +[menu __main __setup __dump] +type: command +name: Dump parameters +gcode: + {% for name1 in printer %} + {% for name2 in printer[name1] %} + { action_respond_info("printer['%s'].%s = %s" + % (name1, name2, printer[name1][name2])) } + {% else %} + { action_respond_info("printer['%s'] = %s" % (name1, printer[name1])) } + {% endfor %} + {% endfor %} + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [extruder] +#*# control = pid +#*# pid_kp = 28.195 +#*# pid_ki = 1.880 +#*# pid_kd = 105.733 +#*# +#*# [heater_bed] +#*# control = pid +#*# pid_kp = 50.775 +#*# pid_ki = 0.692 +#*# pid_kd = 931.084 +#*# +#*# [bltouch] +#*# z_offset = 2.920 +#*# +#*# [stepper_z] +#*# +#*# [bed_mesh GlasbedCarbonBoven] +#*# version = 1 +#*# points = +#*# 0.250000, 0.085000, 0.025000, -0.015000, -0.027500 +#*# 0.192500, 0.072500, 0.015000, -0.015000, -0.045000 +#*# 0.052500, -0.032500, -0.037500, -0.050000, 0.015000 +#*# -0.030000, -0.017500, 0.025000, 0.072500, 0.117500 +#*# 0.032500, 0.005000, 0.042500, 0.032500, 0.127500 +#*# tension = 0.2 +#*# min_x = 25.0 +#*# algo = lagrange +#*# y_count = 5 +#*# mesh_y_pps = 2 +#*# min_y = 10.0 +#*# x_count = 5 +#*# max_y = 170.0 +#*# mesh_x_pps = 2 +#*# max_x = 200.0 +#*# +#*# [bed_mesh GlasbedCarbonBoven ] +#*# version = 1 +#*# points = +#*# 0.030000, -0.065000, -0.075000, -0.145000, -0.165000 +#*# 0.272500, 0.092500, -0.070000, -0.275000, -0.422500 +#*# 0.027500, -0.052500, -0.075000, -0.165000, -0.160000 +#*# -0.045000, -0.040000, -0.045000, -0.105000, -0.057500 +#*# 0.017500, 0.005000, 0.022500, -0.012500, 0.002500 +#*# tension = 0.2 +#*# min_x = 25.0 +#*# algo = lagrange +#*# y_count = 5 +#*# mesh_y_pps = 2 +#*# min_y = 10.0 +#*# x_count = 5 +#*# max_y = 170.0 +#*# mesh_x_pps = 2 +#*# max_x = 200.0 +#*# +#*# [bed_mesh default] +#*# version = 1 +#*# points = +#*# -0.025000, -0.090000, -0.122500, -0.122500, -0.200000 +#*# -0.157500, -0.155000, -0.187500, -0.162500, -0.205000 +#*# -0.272500, -0.247500, -0.235000, -0.220000, -0.220000 +#*# -0.452500, -0.345000, -0.272500, -0.165000, -0.115000 +#*# -0.395000, -0.347500, -0.295000, -0.225000, -0.150000 +#*# tension = 0.2 +#*# min_x = 25.0 +#*# algo = lagrange +#*# y_count = 5 +#*# mesh_y_pps = 2 +#*# min_y = 10.0 +#*# x_count = 5 +#*# max_y = 170.0 +#*# mesh_x_pps = 2 +#*# max_x = 200.0