first commit

This commit is contained in:
2024-01-16 23:31:17 +01:00
commit d532ca283a
5 changed files with 460 additions and 0 deletions

6
README.md Normal file
View File

@@ -0,0 +1,6 @@
# Summary
Everything related to my 3D printers
# Printers
- [Creality Ender 3](creality-ender3/README.md)
- [Artillery SideWinder X2](artiller-sidewinder-x2/README.md)

View File

@@ -0,0 +1,36 @@
# Configuration
Klipper [printer.cfg](conf/printer.cfg) file
Klipper [macros.cfg](conf/macros.cfg) file
# Ultimaker Cura Profile
## Start G-code
```
; Octolapse Plugin required parameters
; Script based on an original created by tjjfvi (https://github.com/tjjfvi)
; An up-to-date version of the tjjfvi's original script can be found
; here: https://csi.t6.fyi/
; Note - This script will only work in Cura V4.2 and above!
; --- Global Settings
; layer_height = {layer_height}
; smooth_spiralized_contours = {smooth_spiralized_contours}
; magic_mesh_surface_mode = {magic_mesh_surface_mode}
; machine_extruder_count = {machine_extruder_count}
; --- Single Extruder Settings
; speed_z_hop = {speed_z_hop}
; retraction_amount = {retraction_amount}
; retraction_hop = {retraction_hop}
; retraction_hop_enabled = {retraction_hop_enabled}
; retraction_enable = {retraction_enable}
; retraction_speed = {retraction_speed}
; retraction_retract_speed = {retraction_retract_speed}
; retraction_prime_speed = {retraction_prime_speed}
; speed_travel = {speed_travel}
START_PRINT BED_TEMP={material_bed_temperature_layer_0} EXTRUDER_TEMP={material_print_temperature_layer_0}
```
## End G-code
```
END_PRINT
```

View File

@@ -0,0 +1,188 @@
[gcode_macro START_PRINT]
gcode:
#Get Bed and Extruder temperature from Slicer GCode
{% set BED_TEMP = params.BED_TEMP|default(60)|float %}
{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(200)|float %}
CLEAR_PAUSE
G90
ELED_ON
M117 Heatup Bed {BED_TEMP} degres Nozzle {EXTRUDER_TEMP} degres
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={BED_TEMP}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={BED_TEMP*0.96} MAXIMUM={BED_TEMP*1.04}
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={EXTRUDER_TEMP}
G28
BED_MESH_PROFILE LOAD=default
G1 Z10 F3000 ; move z up little to prevent scratching of surface
G1 X2 Y2 Z10 F5000.0 ; move to start-line position
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={EXTRUDER_TEMP*0.98} MAXIMUM={EXTRUDER_TEMP*1.02}
PRIME_LINE
M117
[gcode_macro END_PRINT]
gcode:
ELED_OFF
M117 End print
TURN_OFF_HEATERS
M117 Present print
PRESENT_PRINT
M117
M84
[gcode_macro PRIME_LINE]
gcode:
SAVE_GCODE_STATE NAME=prime_line_state
#Precondition extruder
G92 E0 ; reset extruder
G1 X2 Y20 Z1.0 F4000.0 ; move to start-line position
G1 X2 Y20 Z0.3 F300.0 ; move z up little to prevent scratching of surface
G1 X2 Y200.0 Z0.3 F1500.0 E15 ; draw 1st line
G1 X2 Y200.0 Z0.4 F5000.0 ; move to side a little
G1 X2 Y20 Z0.4 F1500.0 E30 ; draw 2nd line
G92 E0 ; reset extruder
G1 Z1.0 F300 ; move z up little to prevent scratching of surface
RESTORE_GCODE_STATE NAME=prime_line_state
[gcode_macro PRESENT_PRINT]
gcode:
SAVE_GCODE_STATE NAME=present_print_state
{% set X_MAX = printer.toolhead.axis_maximum.x|float %}
{% set Y_MAX = printer.toolhead.axis_maximum.y|float %}
{% set Z_MAX = printer.toolhead.axis_maximum.z|float %}
{% set Z_PARK_MIN = 100 | float %}
{% set Z_PARK_LIFT = 10 | float %}
# Move nozzle away from print while retracting
G91
G1 E-3 F300
G90
{% if printer.toolhead.position.z + Z_PARK_LIFT > Z_PARK_MIN %}
G1 X{X_MAX / 2} Y{Y_MAX * 0.8} Z{printer.toolhead.position.z + Z_PARK_LIFT} F4000
{% else %}
G1 X{X_MAX / 2} Y{Y_MAX * 0.8} Z{Z_PARK_MIN} F4000
{% endif %}
RESTORE_GCODE_STATE NAME=present_print_state
[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
gcode:
PAUSE_BASE
SET_ELED RED=0.0 GREEN=1.0 BLUE=1.0
_TOOLHEAD_PARK_PAUSE_CANCEL
[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
gcode:
##### read extrude from _TOOLHEAD_PARK_PAUSE_CANCEL macro #####
{% set extrude = printer['gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL'].extrude %}
#### 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' %}
M83
G1 E{extrude} F2100
{% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %}
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
ELED_ON
RESUME_BASE {get_params}
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
variable_park: True
gcode:
## Move head and retract only if not already in the pause state and park set to true
{% if printer.pause_resume.is_paused|lower == 'false' and park|lower == 'true'%}
_TOOLHEAD_PARK_PAUSE_CANCEL
{% endif %}
TURN_OFF_HEATERS
SET_ELED RED=1.0 GREEN=1.0
CANCEL_PRINT_BASE
[gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
description: Helper: park toolhead used in PAUSE and CANCEL_PRINT
variable_extrude: 1.0
gcode:
##### 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 %}
{% set z_park_delta = 2.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 - z_park_delta) %}
{% set z_safe = z_park_delta %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
{% if printer.extruder.can_extrude|lower == 'true' %}
M83
G1 E-{extrude} F2100
{% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %}
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F900
G90
G1 X{x_park} Y{y_park} F6000
{% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
[gcode_macro ELED_ON]
description: Turn extruder LED on and resets led colors
gcode:
SET_ELED RED=1.0 GREEN=1.0 BLUE=1.0
[gcode_macro ELED_OFF]
description: Turn extruder LED strip off
gcode:
SET_ELED RED=0.0 GREEN=0.0 BLUE=0.0
[gcode_macro SET_ELED]
description: SET_LED extruder shortcut
#rename_existing: SET_LED_BASE
gcode:
{% set RED = params.RED|default(0)|float %}
{% set GREEN = params.GREEN|default(0)|float %}
{% set BLUE = params.BLUE|default(0)|float %}
{% set WHITE = params.BLUE|default(0)|float %}
SET_LED LED=extruder RED={RED} GREEN={GREEN} BLUE={BLUE} WHITE={WHITE}

View File

@@ -0,0 +1,230 @@
# This file contains stock 2021/2022 Artillery Sidewinder X2 configuration.
# To use this config, during "make menuconfig" select
# the STM32F401 with a "No bootloader".
# Flash this firmware by usb connection.
# Set the physical bridge between +3.3V and Boot0 PIN on Artillery_Ruby mainboard.
# Then running the command:
# make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_stm32f401xc_4F006F000351383532393535-if00
# See more description here: https://blog.freakydu.de/posts/2022-10-01-klipper_with_artillery_sidewinderx2/
# See docs/Config_Reference.md for a description of parameters.
[include macros.cfg]
[mcu]
serial: /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4:1.0
#serial: /dev/ttyACM0
#serial: /dev/serial/by-id/usb-Klipper_stm32f401xc_480066001251383435373136-if00
restart_method: command
[printer]
kinematics: cartesian
max_velocity: 250
max_accel: 1500
max_z_velocity: 50 ## xy / 5
max_z_accel: 400 ## xy / 5
square_corner_velocity: 5.0
[stepper_x]
step_pin: !PB14
dir_pin: PB13
enable_pin: !PB15
microsteps: 16
rotation_distance: 40
endstop_pin: !PA2
position_endstop: 0
position_max: 310
homing_speed: 50
homing_retract_dist: 5.0
second_homing_speed: 10
[stepper_y]
step_pin: PB10
dir_pin: PB2
enable_pin: !PB12
microsteps: 16
rotation_distance: 40
endstop_pin: !PA1
position_endstop: 0
position_max: 310
homing_speed: 50
homing_retract_dist: 5.0
second_homing_speed: 10
[stepper_z]
step_pin: PB0
dir_pin: !PC5
enable_pin: !PB1
microsteps: 16
rotation_distance: 8
endstop_pin: probe:z_virtual_endstop
position_max: 400
position_min: -2 # The Z carriage may need to travel below the Z=0. homing point if the bed has a significant tilt.
homing_speed: 10 ## xy / 5 results in same stepper motor speed like x or y stepper
homing_retract_dist: 5.0
second_homing_speed: 2 ## xy / 5 results in same stepper motor speed like x or y stepper
[extruder]
step_pin: PA7
dir_pin: PA6
enable_pin: !PC4
microsteps: 16
gear_ratio: 3:1
rotation_distance: 20.925 # with gear ration 3:1 configured
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC9
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC0
#control = pid
#pid_kp = 20.860
#pid_ki = 1.131
#pid_kd = 96.218
min_temp: 0
max_temp: 255
pressure_advance: 0.11375
[bltouch]
sensor_pin: PC2
control_pin: PC3
#x_offset:27.25
x_offset:29
#y_offset:-12.8
y_offset:-37
#z_offset = 3.0
speed:5
samples: 3
samples_result: average
samples_tolerance: 0.050
samples_tolerance_retries: 3
[heater_bed]
heater_pin: PA8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC1
#control = pid
#pid_kp = 42.365
#pid_ki = 0.545
#pid_kd = 822.940
min_temp: 0
max_temp: 130
[fan]
# filament_cooling
pin: PC8
off_below: 0.1
[heater_fan extruder]
# fan on hotend/extruder
pin: PC7
heater: extruder
heater_temp: 50.0
off_below: 0.2
[controller_fan case]
# mainboard, artillery case
pin: PC6
off_below: 0.3
idle_speed: 0.0
[bed_mesh]
speed: 100
mesh_min: 29.25, 12.8
mesh_max: 272.75, 263
algorithm: bicubic
probe_count: 5,5
mesh_pps: 3
fade_start: 1
fade_end: 10
[bed_screws]
screw1: 50,50
screw1_name: front left
screw2: 250,50
screw2_name: front right
screw3: 250,250
screw3_name: back right
screw4: 50,250
screw4_name: back left
speed: 100.0
[screws_tilt_adjust]
screw1: 23,63
screw1_name: front left
screw2: 223,63
screw2_name: front right
screw3: 223,263
screw3_name: back left
screw4: 23,263
screw4_name: back right
speed: 100.0
screw_thread: CW-M5
[safe_z_home]
home_xy_position: 150,150
z_hop: 15
[neopixel extruder]
pin: PB7
initial_RED: 1.0
initial_GREEN: 1.0
initial_BLUE: 1.0
[temperature_sensor mainboard]
# stm32 temperature sensor
sensor_type: temperature_mcu
min_temp: 10
max_temp: 60
[filament_switch_sensor filament]
pause_on_runout: True # Starts the PAUSE g-code script if filament runs out
runout_gcode: M117 Filament runout # Optional
insert_gcode: M117 Filament insert # Optional
switch_pin: PA0 # the z-endstop pin
# Support for gcode arc (G2/G3) commands.
[gcode_arcs]
#resolution: 1.0
# An arc will be split into segments. Each segment's length will
# equal the resolution in mm set above. Lower values will produce a
# finer arc, but also more work for your machine. Arcs smaller than
# the configured value will become straight lines. The default is
# 1mm.
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [bltouch]
#*# z_offset = 3.099
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.217500, 0.105833, 0.057500, -0.016667, -0.000000
#*# 0.176667, 0.081667, 0.023333, -0.018333, 0.012500
#*# 0.175000, 0.095000, 0.064167, 0.009167, 0.014167
#*# 0.220833, 0.136667, 0.061667, -0.008333, -0.028333
#*# 0.145000, 0.015833, -0.005833, -0.061667, -0.072500
#*# x_count = 5
#*# y_count = 5
#*# mesh_x_pps = 3
#*# mesh_y_pps = 3
#*# algo = bicubic
#*# tension = 0.2
#*# min_x = 29.25
#*# max_x = 272.72
#*# min_y = 12.8
#*# max_y = 263.0
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 24.672
#*# pid_ki = 1.394
#*# pid_kd = 109.173
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 38.998
#*# pid_ki = 0.341
#*# pid_kd = 1114.359

View File