commit d532ca283a7d0fa2c14b3d04571d3a3c1e9af789 Author: iGoX Date: Tue Jan 16 23:31:17 2024 +0100 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..7096538 --- /dev/null +++ b/README.md @@ -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) \ No newline at end of file diff --git a/artillery-sidewinder-x2/README.md b/artillery-sidewinder-x2/README.md new file mode 100644 index 0000000..2224d0b --- /dev/null +++ b/artillery-sidewinder-x2/README.md @@ -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 +``` \ No newline at end of file diff --git a/artillery-sidewinder-x2/conf/macros.cfg b/artillery-sidewinder-x2/conf/macros.cfg new file mode 100644 index 0000000..62c8c8c --- /dev/null +++ b/artillery-sidewinder-x2/conf/macros.cfg @@ -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} + \ No newline at end of file diff --git a/artillery-sidewinder-x2/conf/printer.cfg b/artillery-sidewinder-x2/conf/printer.cfg new file mode 100644 index 0000000..80bd25e --- /dev/null +++ b/artillery-sidewinder-x2/conf/printer.cfg @@ -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 diff --git a/creality-ender3/README.md b/creality-ender3/README.md new file mode 100644 index 0000000..e69de29