====== Anycubic Mega S - Klipper Einrichtung und Konfiguration ====== ===== Klipper Config Check ===== [[https://docs.fluidd.xyz/configuration/initial_setup]] [[https://www.klipper3d.org/Config_checks.html]] ==== Calibrate PID settings ==== Um die Temperatur des Extruder zu kalibrieren führt man den ersten Befehl aus, wartet ab bis der Kalibriervorgang abgeschlossen wurde und speichert die gefundenen Werte in der printer.cnf ab (passiert automatisch und wird am Ende eingefügt). PID_CALIBRATE HEATER=extruder TARGET=170 SAVE_CONFIG Um die Temperatur des Printbed zu kalibrieren führt man den ersten Befehl aus, wartet ab bis der Kalibriervorgang abgeschlossen wurde und speichert die gefundenen Werte in der printer.cnf ab (passiert automatisch und wird am Ende eingefügt). PID_CALIBRATE HEATER=heater_bed TARGET=60 SAVE_CONFIG | **Extruder** {{ :projekte:3d-printing:anycubic-mega-s:klipper-extruder-pid-calibration.jpg?600 |}} | **Printbed** {{ :projekte:3d-printing:anycubic-mega-s:klipper-printbed-pid-calibration.jpg?600 |}} | ===== Basiskonfiguration ===== Basiskonfiguration (Beispiel) für einen Anycubic Mega S ohne Modifikationen / Originalzustand # This file contains pin mappings for the Anycubic i3 Mega with # Ultrabase from 2017. (This config may work on an Anycubic i3 Mega v1 # prior to the Ultrabase if you comment out the definition of the # endstop_pin in the stepper_z1 section.) To use this config, the # firmware should be compiled for the AVR atmega2560. # See docs/Config_Reference.md for a description of parameters. [stepper_x] step_pin: PF0 dir_pin: PF1 enable_pin: !PD7 microsteps: 16 rotation_distance: 40 endstop_pin: ^!PE5 position_min: -5 position_endstop: -5 position_max: 210 homing_speed: 30.0 [stepper_y] step_pin: PF6 dir_pin: !PF7 enable_pin: !PF2 microsteps: 16 rotation_distance: 40 endstop_pin: ^!PL7 position_endstop: 0 position_max: 210 homing_speed: 30.0 [stepper_z] step_pin: PL3 dir_pin: !PL1 enable_pin: !PK0 microsteps: 16 rotation_distance: 8 endstop_pin: ^!PD3 position_endstop: 0.0 position_max: 205 homing_speed: 5.0 [stepper_z1] step_pin: PC1 dir_pin: !PC3 enable_pin: !PC7 microsteps: 16 rotation_distance: 8 endstop_pin: ^!PL6 [extruder] step_pin: PA4 dir_pin: !PA6 enable_pin: !PA2 microsteps: 16 rotation_distance: 34.557 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: PB4 sensor_type: ATC Semitec 104GT-2 sensor_pin: PK5 #control: pid #pid_Kp: 15.717 #pid_Ki: 0.569 #pid_Kd: 108.451 min_temp: 0 max_temp: 245 [heater_fan extruder_fan] pin: PL5 [heater_bed] heater_pin: PH5 sensor_type: EPCOS 100K B57560G104F sensor_pin: PK6 #control: pid #pid_Kp: 74.883 #pid_Ki: 1.809 #pid_Kd: 775.038 min_temp: 0 max_temp: 110 [fan] pin: PH6 [mcu] serial: /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 [printer] kinematics: cartesian max_velocity: 300 max_accel: 3000 max_z_velocity: 10 max_z_accel: 60 [heater_fan stepstick_fan] pin: PH4 # additional manual config # see https://docs.fluidd.xyz/configuration/initial_setup [virtual_sdcard] path:/home/pi/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 [gcode_macro START_PRINT] gcode: G28 X0 Y0 ; move X/Y to min endstops G28 Z0 ; move Z to min endstops G1 Z20 Y5 F500 ; move nozzle away from bed G92 E0 ; zero the extruded length G1 E2 F2400 ; extrude 5mm of feed stock G92 E0 ; zero the extruded length again M117 Printing... [gcode_macro END_PRINT] gcode: M400 ; Clear Buffer M104 S0 ; turn off extruder M140 S0 ; turn off bed G10 ; retract G91 ; relative positioning G1 E-0.03 Z1.00 X20.0 Y20.0 ; move nozzle to remove stringing M106 S0 ; turn off fan G1 Z20 ; move nozzle up 20mm G90 ; absolute positioning G0 X0 Y175 ; park nozzle at rear M84 ; steppers off G4 P250 ; dwell _TIMELAPSE_NEW_FRAME M300 ; Beep #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# #*# [extruder] #*# control = pid #*# pid_kp = 20.315 #*# pid_ki = 0.748 #*# pid_kd = 137.890 #*# #*# [heater_bed] #*# control = pid #*# pid_kp = 73.517 #*# pid_ki = 1.696 #*# pid_kd = 796.738