# This file contains common pin mappings # for theBigTreeTech OctoPus PRO. # To use this config, the firmware should # be compiled for the STM32F429 with a # "32KiB bootloader" and 8MHz # STM32F446 needs 12MHz # Enable "extra low-level configuration options" # after running "make", copy the generated # "klipper/out/klipper.bin" file to a # file named "firmware.bin" on an SD card # and then restartthe OctoPus with that SD card. # See docs/Config_Reference.md for a description of parameters. [mcu] serial: /dev/serial/by-id/usb-Klipper_stm32f429xx_230041001451303439373431-if00 restart_method: command [printer] kinematics: corexy # Werteauswahl für CoreXY aus Beispielfile example-corexy.cfg max_velocity: 300 max_accel: 3000 max_z_velocity: 25 max_z_accel: 30 # Stepper Info fuer TRONXY X5SA 400 alle Achsen # Stepper Typ: SL42STH40-1684A-23 # NEMA17 # Phase Curret 1,68 A # Number of windigs 4 # Step Angle: 1.8deg # Full Steps per Rotation 200 # Motor Length: 40mm # Inductance accuracy: +-20% # Resistance accuracy: +-10% # Step angle accuracy: +-5%(full step,not load) # Temperature rise: 80deg Max(rated current,2 phase on) # Ambient temperature: -20℃~+50℃ # Insulation resistance: 100MΩ Min,500V DC # Insultion strength: 500V AC for one minute # Weight 0.325 kg = 0.7165 lb = 11.4640 oz # XY-Richtung # Sensorless Homing mit TMC2209 [stepper_x] #DRIVER0 step_pin: PF13 dir_pin: PF12 enable_pin: !PF14 microsteps: 16 rotation_distance: 40 # laut printer-tronxy-x5sa-pro-2020.cfg endstop_pin: tmc2209_stepper_x:virtual_endstop position_endstop: -4 position_min: -4 position_max: 390 homing_speed: 40 homing_retract_dist: 0 # homing_retract_speed: 20 # second_homing_speed: 10 [tmc2209 stepper_x] #DRIVER0 uart_pin: PC4 run_current: 0.9 hold_current: 0.500 #stealthchop_threshold: 0 driver_SGTHRS: 90 diag_pin: ^PG6 #driver_SGTHRS: 0 # Set the given register during the configuration of the TMC2209 # chip. This may be used to set custom motor parameters. The # defaults for each parameter are next to the parameter name in the # above list. #diag_pin: # The micro-controller pin attached to the DIAG line of the TMC2209 # chip. The pin is normally prefaced with "^" to enable a pullup. # Setting this creates a "tmc2209_stepper_x:virtual_endstop" virtual # pin which may be used as the stepper's endstop_pin. Doing this # enables "sensorless homing". (Be sure to also set driver_SGTHRS to # an appropriate sensitivity value.) The default is to not enable # sensorless homing. [stepper_y] #DRIVER1 step_pin: PG0 dir_pin: PG1 enable_pin: !PF15 microsteps: 16 rotation_distance: 40 endstop_pin: tmc2209_stepper_y:virtual_endstop position_endstop: -25 position_min: -25 position_max: 390 homing_speed: 40 homing_retract_dist: 0 # homing_retract_speed: 20 # second_homing_speed: 10 [tmc2209 stepper_y] #DRIVER1 uart_pin: PD11 run_current: 0.9 hold_current: 0.500 #stealthchop_threshold: 0 driver_SGTHRS: 90 diag_pin: ^PG9 # Z-Richtung # Homing mit BL-Touch # Unabhängige Ansteuerung von zwei Steppern für Z # TMC2209 ohne Sensorless Homing [stepper_z] #DRIVER2 step_pin: PF11 dir_pin: !PG3 enable_pin: !PG5 microsteps: 16 rotation_distance: 8 endstop_pin: probe:z_virtual_endstop # position_endstop: bei BL-Touch nicht in Gebrauch position_max: 200 homing_speed: 3 second_homing_speed: 1 [tmc2209 stepper_z] #DRIVER2 uart_pin: PC6 run_current: 0.80 #stealthchop_threshold: 0 #driver_SGTHRS: 0 #diag_pin: kein Sensorless Homing deshalb nicht aktiv [stepper_z1] #DRIVER4 step_pin: PF9 dir_pin: !PF10 enable_pin: !PG2 microsteps: 16 rotation_distance: 8 # endstop_pin: probe:z_virtual_endstop muss wohl nur beim primären Z definiert werden # position_endstop: bei BL-Touch nicht in Gebrauch # position_max: 200 # homing_speed: 12 # second_homing_speed: 1 [tmc2209 stepper_z1] #DRIVER4 uart_pin: PF2 run_current: 0.80 #stealthchop_threshold: 0 #driver_SGTHRS: 0 #diag_pin: kein Sensorless Homing deshalb nicht aktiv # 3D-Touch V3.0 an Octopus (links nach rechts) # GND - Grün - GND, 5V - Rot - 5VDC, S (Control) - Gelb - PB6 # GND - Schwarz - GND, Z- (Sensor) - Weiß - PB7 [bltouch] sensor_pin: ^PB7 # Pin connected to the BLTouch sensor pin. Most BLTouch devices # require a pullup on the sensor pin (prefix the pin name with "^"). # This parameter must be provided. control_pin: PB6 # Pin connected to the BLTouch control pin. This parameter must be # provided. # If the BL-Touch will be used to home the Z axis then set endstop_pin: probe:z_virtual_endstop x_offset: -41 y_offset: -30 z_offset: 0.405 [safe_z_home] home_xy_position: 200, 200 # Change coordinates to the center of your print bed speed: 50 z_hop: 5 # Move up 10mm z_hop_speed: 5 # unabhängige Z-Stepper-Bewegung von Z und Z1 erfordert die folgende Konfig [z_tilt] z_positions: 485,200 -90,200 # A list of X,Y coordinates (one per line; subsequent lines # indented) describing the location of each bed "pivot point". The # "pivot point" is the point where the bed attaches to the given Z # stepper. It is described using nozzle coordinates (the XY position # of the nozzle if it could move directly above the point). The # first entry corresponds to stepper_z, the second to stepper_z1, # the third to stepper_z2, etc. This parameter must be provided. points: 350,200 # Schätzwerte 45,200 # A list of X,Y coordinates (one per line; subsequent lines # indented) that should be probed during a Z_TILT_ADJUST command. # Specify coordinates of the nozzle and be sure the probe is above # the bed at the given nozzle coordinates. This parameter must be # provided. speed: 50 # The speed (in mm/s) of non-probing moves during the calibration. # The default is 50. horizontal_move_z: 5 # The height (in mm) that the head should be commanded to move to # just prior to starting a probe operation. The default is 5. retries: 5 # Number of times to retry if the probed points aren't within # tolerance. retry_tolerance: 0.01 # If retries are enabled then retry if largest and smallest probed # points differ more than retry_tolerance. Note the smallest unit of # change here would be a single step. However if you are probing # more points than steppers then you will likely have a fixed # minimum value for the range of probed points which you can learn # by observing command output. [bed_screws] screw1: 22, 24 # The X, Y coordinate of the first bed leveling screw. This is a # position to command the nozzle to that is directly above the bed # screw (or as close as possible while still being above the bed). # This parameter must be provided. screw1_name: vorn-links # An arbitrary name for the given screw. This name is displayed when # the helper script runs. The default is to use a name based upon # the screw XY location. screw2: 198, 24 screw1_name: vorn-mitte screw3: 373, 24 screw1_name: vorn-rechts screw4: 22, 375 screw1_name: hinten-links screw5: 198, 375 screw1_name: hinten-mitte screw6: 373, 375 screw1_name: hinten-rechts speed: 50 # The speed (in mm/s) of non-probing moves during the calibration. # The default is 50. probe_speed: 5 # The speed (in mm/s) when moving from a horizontal_move_z position # to a probe_height position. The default is 5. [bed_mesh] speed: 50 # The speed (in mm/s) of non-probing moves during the calibration. # The default is 50. probe_count: 3, 3 # For rectangular beds, this is a comma separate pair of integer # values X, Y defining the number of points to probe along each # axis. A single value is also valid, in which case that value will # be applied to both axes. Default is 3, 3. horizontal_move_z: 5 # The height (in mm) that the head should be commanded to move to # just prior to starting a probe operation. The default is 5. algorithm: lagrange # The interpolation algorithm to use. May be either "lagrange" or # "bicubic". This option will not affect 3x3 grids, which are forced # to use lagrange sampling. Default is lagrange. mesh_min : 3,6 # Defines the minimum X, Y coordinate of the mesh for rectangular # beds. This coordinate is relative to the probe's location. This # will be the first point probed, nearest to the origin. This # parameter must be provided for rectangular beds. mesh_max : 350,350 # Schätzwerte # Defines the maximum X, Y coordinate of the mesh for rectangular # beds. Adheres to the same principle as mesh_min, however this will # be the furthest point probed from the bed's origin. This parameter # must be provided for rectangular beds. mesh_pps: 2,2 # A comma separated pair of integers X, Y defining the number of # points per segment to interpolate in the mesh along each axis. A # "segment" can be defined as the space between each probed point. # The user may enter a single value which will be applied to both # axes. Default is 2, 2. bicubic_tension: 0.2 # When using the bicubic algorithm the tension parameter above may # be applied to change the amount of slope interpolated. Larger # numbers will increase the amount of slope, which results in more # curvature in the mesh. Default is .2. [extruder] #DRIVER3 step_pin: PG4 dir_pin: !PC1 enable_pin: !PA0 heater_pin: PA2 # HE0 sensor_pin: PF4 # T0 microsteps: 16 rotation_distance: 8.0 # Distance (in mm) that the axis travels with one full rotation of # the stepper motor (or final gear if gear_ratio is specified). # This parameter must be provided. nozzle_diameter: 0.400 filament_diameter: 1.750 # komplette PID-Daten laut printer-tronxy-x5sa-pro-2020.cfg sensor_type: ATC Semitec 104GT-2 control: pid pid_Kp: 18.831 pid_Ki: 0.821 pid_Kd: 108.044 min_temp: 0 max_temp: 290 min_extrude_temp: 170 # The minimum temperature (in Celsius) at which extruder move # commands may be issued. The default is 170 Celsius. max_extrude_only_distance: 100 [tmc2209 extruder] #DRIVER3 uart_pin: PC7 run_current: 1.1 #stealthchop_threshold: 0 #driver_SGTHRS: 0 #diag_pin: [heater_bed] heater_pin: PA1 # HEATED BED sensor_pin: PF3 # TB # komplette PID-Daten laut printer-tronxy-x5sa-pro-2020.cfg sensor_type: EPCOS 100K B57560G104F control: pid pid_Kp: 73.932 pid_Ki: 1.521 pid_Kd: 898.279 min_temp: 0 max_temp: 130 # Lüfter # FAN1 Bauteillüfter # FAN2 Hotendkühler [fan] # Print cooling fan - Bauteillüfter FAN1 pin: PE5 # FAN1 Platinenanschluss [heater_fan Hotendkühler] # FAN2 Hotendkühler pin: PD12 # FAN2 Platinenanschluss # Filamentsensor - Smart Filament Sensor [filament_motion_sensor encoder_sensor] detection_length: 25 # The minimum length of filament pulled through the sensor to trigger # a state change on the switch_pin # Default is 7 mm. extruder: extruder # The name of the extruder section this sensor is associated with. # This parameter must be provided. switch_pin: ~PC5 # Pulldown resistor laut Bigtreetech Anleitung # Anschluss J40 unten rechts neben den Endstopps # die folgenden Parameter sollten im Default nicht belegt werden #pause_on_runout: False runout_gcode: M600 #insert_gcode: #event_delay: 3.0 #pause_delay: 0.5 ######################################################################################################### ######################################################################################################### ######################################################################################################### # Macrosektion aus https://klipper.discourse.group/t/m600-command-how-to-purge/6519/2 [pause_resume] recover_velocity: 700 [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 CANCEL_PRINT_BASE [gcode_macro PAUSE] description: Pause the actual running print rename_existing: PAUSE_BASE gcode: PAUSE_BASE _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 %} RESUME_BASE {get_params} [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_minimum.x|float %} # {% set y_park = printer.toolhead.axis_minimum.y|float %} {% set x_park = -3|float %} {% set y_park = -20|float %} {% set z_park_delta = 10.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 M600] gcode: PAUSE [gcode_macro UNLOAD_FILAMENT] gcode: M117 Filament wird ausgeworfen G91 G92 E0 G1 E15 F240 G92 E0 G1 E-10 F2100 G92 E0 G1 E-25 F1800 G92 E0 G1 E-10 F900 G90 [gcode_macro LOAD_FILAMENT] gcode: M117 Filament wird geladen G91 G92 E0 G1 E75 F120 G92 E0 G90 # ab hier unbearbeitet # aktuell kein Display