Untitled
unknown
plain_text
a year ago
22 kB
146
Indexable
#################################################################################### # Machine type: NEPTUNE 4 MAX # Current configuration version: V1.4 # Date:2023-11-17 #################################################################################### # 本产品(Neptune 4/4pro/4plus/4max)使用自定义的klipper固件,不支持用户自行 # 更新官方Klipper/Fluidd/Moonraker,否则会导致机器无法正常使用。如果 # 您是这方面的专家或者对这方面感兴趣,希望自行DIY,我们建议先自备烧 # 录镜像的工具,以防止意外导致机器无法正常使用时可以进行恢复,烧录镜像 # 教程请联系售后支持团队获取,感谢您的配合! #################################################################################### # This product (Neptune 4/4pro/4plus/4max) adopts Klipper firmware # and does not support users to update the official klipper/fluidd # /moonraker by themselves, otherwise the machine will not work properly. # If you want to DIY and are an expert or interested in this field, # we recommend that you prepare your own tools for burning images so # that you can restore them if problems arise. Please contact after-sales # support team for tutorials on burning images. Thank you for your cooperation! #################################################################################### # This file contains common pin mappings for ZNP-K1-V2.0 # boards. To use this config, the firmware should be compiled for the # STM32F402. When running "make menuconfig", enable "extra low-level # configuration setup", select the 32KiB bootloader, and serial (on # USART1 PA10/PA9) communication. # The "make flash" command does not work on the ZNP-K1-V2.0. Instead, # after running "make", copy the generated "out/klipper.bin" file to a # file named "elegoo_k1.bin" on an SD card and then restart the ZNP-K1-V2.0 # with that SD card. # See docs/Config_Reference.md for a description of parameters. #################################################################################### [include plr.cfg] [mcu] # The hardware use USART1 PA10/PA9 connect to RK3328 serial: /dev/ttyS0 restart_method: command [stepper_x] step_pin:PC14 dir_pin:PC13 enable_pin:!PC15 microsteps: 16 rotation_distance: 40 full_steps_per_rotation:200 endstop_pin:tmc2209_stepper_x:virtual_endstop position_min: -2 position_endstop: 0 position_max: 430 homing_speed:50 homing_retract_dist:0 homing_positive_dir:false [stepper_y] step_pin:PB4 dir_pin:PB3 enable_pin:!PC15 microsteps:16 rotation_distance: 40 full_steps_per_rotation:200 endstop_pin:tmc2209_stepper_y:virtual_endstop position_min: -2 position_endstop:0 position_max:430 homing_speed:50 homing_retract_dist:0 homing_positive_dir:false [stepper_z] step_pin:PC10 dir_pin:!PA13 enable_pin: !PC11 microsteps: 16 rotation_distance: 8 full_steps_per_rotation: 200 endstop_pin:probe:z_virtual_endstop ## PB12 for Z-max; endstop have'!' is NO ## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0) ## (+) value = endstop above Z0, (-) value = endstop below ## Increasing position_endstop brings nozzle closer to the bed ## After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config #position_endstop:-5 position_max: 505 position_min: -5 homing_speed: 8 homing_retract_dist: 5 second_homing_speed: 3 [extruder] step_pin:PA5 dir_pin:!PA6 enable_pin:!PA4 microsteps:16 rotation_distance: 28.7086 #31.4 #Bondtech 5mm Drive Gears gear_ratio: 52:10 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree nozzle_diameter: 0.400 filament_diameter: 1.750 min_temp: -80 max_temp: 330 heater_pin: PA7 sensor_type:NTC 100K MGB18-104F39050L32 sensor_pin: PA1 max_power: 1 control = pid pid_kp = 25.989 pid_ki = 3.397 pid_kd = 49.705 pressure_advance: 0.020 pressure_advance_smooth_time: 0.005 instantaneous_corner_velocity: 2.5 max_extrude_only_distance: 300 max_extrude_only_velocity:60 max_extrude_only_accel:5000 max_extrude_cross_section: 99 min_extrude_temp:0 [verify_heater extruder] max_error: 30 check_gain_time:10 hysteresis: 10 heating_gain: 2 [heater_bed] heater_pin:PB10 sensor_type: NTC 100K MGB18-104F39050L32 sensor_pin: PA0 max_power: 1.0 control = pid pid_kp = 75.397 pid_ki = 0.823 pid_kd = 1727.531 min_temp: -80 max_temp: 120 [verify_heater heater_bed] max_error: 120 check_gain_time:300 hysteresis: 10 heating_gain: 2 #[heater_fan fan1] #pin: PC7 #shutdown_speed: 1 [controller_fan controller_fan1] pin: PC7 fan_speed: 1.0 idle_timeout: 900 #fan for printed model FAN2 [fan] pin: PB7 [fan_generic fan3] pin: PC9 [fan_generic fan4] pin: PA8 [fan_generic fan5] pin: PA15 [printer] kinematics:cartesian max_velocity: 500 max_accel: 3000 max_accel_to_decel: 3000 max_z_velocity: 20 max_z_accel: 100 square_corner_velocity: 9.0 [input_shaper] shaper_type_x = mzv shaper_freq_x = 62.2 shaper_type_y = ei shaper_freq_y = 30.0 damping_ratio_x: 0.1 damping_ratio_y: 0.1 #################################################################### # Homing and Gantry Adjustment Routines ##################################################################### [idle_timeout] timeout: 3600 gcode: {% if printer.pause_resume.is_paused %} {action_respond_info("Extruder powered down on idle timeout.")} SET_GCODE_VARIABLE MACRO=resume VARIABLE=saved_extruder_temp VALUE="{ printer[printer.toolhead.extruder].target}" M104 S0; Turn off extruder but leave the bed on. {% else %} M104 S0; Turn off extruder but leave the bed on. M84 E {% endif %} [safe_z_home] home_xy_position: 239.25,194.55 speed: 200 z_hop: 10 z_hop_speed: 5 [gcode_macro G29] gcode: M400 BED_MESH_CLEAR G28 BED_MESH_CALIBRATE profile=6 mesh_min=10,21 mesh_max=397,404 probe_count=6 algorithm=bicubic M400 G4 P2000 G91 G1 Z5 F300 G90 G28 Z G1 X215 Y215 F12000 G1 Z0 F300 ##################################################################### # Probe ##################################################################### [probe] pin:^PA11 x_offset: -24.25 y_offset: 20.45 z_offset: 0.0 speed: 10.0 samples: 2 samples_result: median sample_retract_dist: 3.0 samples_tolerance: 0.05 samples_tolerance_retries: 5 [bed_mesh] speed:200 horizontal_move_z:10 mesh_min:10,21 mesh_max:397,404 probe_count:6,6 algorithm:bicubic bicubic_tension:0.2 mesh_pps: 2, 2 fade_start:5.0 fade_end:30.0 ##################################################################### # LED Control ##################################################################### [gcode_macro MODLELIGHT_ON] description: Turn on Logo LEDs gcode: SET_PIN PIN=caselight1 VALUE=1 [gcode_macro MODLELIGHT_OFF] description: Turn off Logo LEDs gcode: SET_PIN PIN=caselight1 VALUE=0 ######################################## # TMC UART configuration ######################################## [tmc2209 stepper_x] uart_pin: PB9 run_current: 1.0 hold_current: 0.8 interpolate: True stealthchop_threshold:0 driver_SGTHRS:90 diag_pin:^PC0 [tmc2209 stepper_y] uart_pin: PD2 run_current: 1.4 hold_current: 1.0 interpolate: True stealthchop_threshold:0 driver_SGTHRS:80 diag_pin:^PB8 [tmc2209 stepper_z] uart_pin: PC5 run_current: 0.8 interpolate: True stealthchop_threshold: 0 [tmc2209 extruder] uart_pin: PC4 run_current: 0.8 interpolate: True stealthchop_threshold: 0 [mcu rpi] serial: /tmp/klipper_host_mcu [adxl345 x] cs_pin: rpi:None spi_bus: spidev0.0 axes_map:x,z,-y [adxl345 y] cs_pin: rpi:None spi_bus: spidev0.1 axes_map:-x,-y,-z [resonance_tester] accel_chip_x: adxl345 x accel_chip_y: adxl345 y max_smoothing:0.15 min_freq: 5 max_freq: 90 accel_per_hz: 120 hz_per_sec: 2 probe_points: 215, 215, 20 # an example [force_move] enable_force_move : true [respond] default_type: echo default_prefix: echo: [virtual_sdcard] path: ~/gcode_files on_error_gcode: # test OK G91 G1 Z25 F900 G90 TURN_OFF_HEATERS M106 S100 M84 X Y E M300 P10000 S1 G4 P300 M300 M300 M300 M300 M300 M300 M300 M300 M300 M300 M300 ######################################## # PRINT_START/CANCEL_PRINT/PAUSE/RESUME/filament_switch_sensor ######################################## [print_stats] [gcode_move] [gcode_macro PRINT_START] gcode: SAVE_VARIABLE VARIABLE=was_interrupted VALUE=True G92 E0 G90 SET_INPUT_SHAPER SHAPER_TYPE=ei CLEAR_PAUSE M117 Printing [gcode_macro PRINT_END] gcode: SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False RUN_SHELL_COMMAND CMD=clear_plr clear_last_file {% set RUN_VELOCITY = printer.configfile.settings['printer'].max_velocity|float %} {% set RUN_ACCEL = printer.configfile.settings['printer'].max_accel|float %} {% set RUN_DECEL = printer.configfile.settings['printer'].max_accel_to_decel|float %} SET_VELOCITY_LIMIT VELOCITY={RUN_VELOCITY} ACCEL={RUN_ACCEL} ACCEL_TO_DECEL={RUN_DECEL} M220 S100 M221 S100 {% set z = params.Z|default(100)|int %} {% if (printer.gcode_move.position.z+5) < z %} #If the current gcode-Z position is less than the maximum limit position G90 ; absolute positioning G1 Z{z+5} F6000 ; park nozzle at rear {% endif %} TURN_OFF_HEATERS M107 M84 X Y E [gcode_macro CANCEL_PRINT] rename_existing: BASE_CANCEL_PRINT gcode: SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False RUN_SHELL_COMMAND CMD=clear_plr clear_last_file {% set RUN_VELOCITY = printer.configfile.settings['printer'].max_velocity|float %} {% set RUN_ACCEL = printer.configfile.settings['printer'].max_accel|float %} {% set RUN_DECEL = printer.configfile.settings['printer'].max_accel_to_decel|float %} SET_VELOCITY_LIMIT VELOCITY={RUN_VELOCITY} ACCEL={RUN_ACCEL} ACCEL_TO_DECEL={RUN_DECEL} {% set z = params.Z|default(100)|int %} {% set x_park = params.X|default(printer.toolhead.axis_minimum.x+5)|int %} {% set y_park = params.Y|default(printer.toolhead.axis_maximum.y-5)|int %} SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout} SDCARD_RESET_FILE M220 S100 M221 S100 M400 ; wait for buffer to clear G91 ; relative positioning M83 ; zero the extruder G1 E-10.0 F1200 ; retract filament TURN_OFF_HEATERS M107 ; turn off fan {% if (printer.gcode_move.position.z+5) < z %} ##如果当前gcode-Z位置小于最大极限位置 G90 ; absolute positioning G0 X{x_park} Y{y_park} Z{z+5} F6000 ; park nozzle at rear {% endif %} {%if (printer.gcode_move.position.z+5) >= z %} {%if (printer.gcode_move.position.z+5) < printer.toolhead.axis_maximum.z %} G91 ; relative positioning G1 Z5 F300 G90 G0 X{x_park} Y{y_park} F6000 ; park nozzle at rear {% else %} G90 G0 X{x_park} Y{y_park} Z{printer.toolhead.axis_maximum.z} F6000 ; park nozzle at rear {% endif %} {% endif %} M84 X Y E [pause_resume] recover_velocity: 50.0 [gcode_macro PAUSE] rename_existing: BASE_PAUSE gcode: M400 {% set z = params.Z|default(30)|int %} {% set E = (params.E|default(2))|float %} {% set x_park = params.X|default(printer.toolhead.axis_minimum.x+5)|int %} {% set y_park = params.Y|default(printer.toolhead.axis_maximum.y-5)|int %} {% if (printer.gcode_move.position.x) <= (x_park+1) and (printer.gcode_move.position.y) >= (y_park-1) %} M400 {% else %} {% set position = printer.gcode_move.gcode_position %} SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=saved_x VALUE="{position.x}" SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=saved_y VALUE="{position.y}" SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=saved_z VALUE="{position.z}" SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=saved_e VALUE="{E}" SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=etemp VALUE={printer['extruder'].target} SAVE_GCODE_STATE NAME=timelapse_state_a M83 G91 {% if (printer.gcode_move.position.z+5) < printer.toolhead.axis_maximum.z %} G1 E-2 X3 Z1 F2100 G1 Z4 F600 {% endif %} SAVE_GCODE_STATE NAME=timelapse_state_b G90 {% if (printer.gcode_move.position.z+5) < z %} G1 Z{z+5} X{x_park} Y{y_park} E-20 F6000 {% else %} G1 X{x_park} Y{y_park} E-20 F6000 {% endif %} M400 M25 SET_IDLE_TIMEOUT TIMEOUT=600 M400 {% endif %} [gcode_macro RESUME] rename_existing: BASE_RESUME variable_zhop: 0 variable_etemp: 0 variable_saved_extruder_temp: 0 variable_saved_x: 0.0 variable_saved_y: 0.0 variable_saved_z: 0.0 variable_saved_e: 0.0 gcode: M24 {% set e = params.E|default(2)|int %} SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout} {% if printer[printer.toolhead.extruder].temperature < etemp-4 %} SET_HEATER_TEMPERATURE HEATER=extruder TARGET={etemp} TEMPERATURE_WAIT SENSOR=extruder MINIMUM={etemp-4} MAXIMUM={etemp+10} {% endif %} SET_HEATER_TEMPERATURE HEATER=extruder TARGET={etemp} M17 E G91 M83 G1 E100 F200 G4 P2000 G1 X20 F15000 G1 X-20 G1 X20 G1 X-20 G1 X20 G1 X-20 ;G1 E-2 F600 G90 G92 E{saved_e} RESTORE_GCODE_STATE NAME=timelapse_state_b MOVE=1 MOVE_SPEED=250 RESTORE_GCODE_STATE NAME=timelapse_state_a MOVE=1 MOVE_SPEED=250 SAVE_GCODE_STATE NAME=timelapse_state_a SAVE_GCODE_STATE NAME=timelapse_state_b M400 ;M24 [filament_switch_sensor fila] pause_on_runout: True runout_gcode: SET_FILAMENT_SENSOR SENSOR=fila ENABLE=1 insert_gcode: event_delay: 3.0 pause_delay: 1.0 switch_pin: PA12 ############################################################## [gcode_macro M109] rename_existing: M99109 gcode: #Parameters {% if 'S' in params %} {% set s = params.S|float %} M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} {% if printer[printer.toolhead.extruder].temperature >= s-4 %} M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} {% else %} TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s-4} MAXIMUM={s+10} {% endif %} {% else %} M104 S0 {% endif %} [gcode_macro M140] rename_existing: M99140 gcode: {% set s = params.S|float %} {% if params.S is defined %} {% if params.S|float >= 100 %} SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=100 {% else %} SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={params.S|int} {% endif %} {% endif %} [gcode_macro M190] rename_existing: M99190 gcode: {% if 'S' in params %} {% set s = (params.S|float,100)|min %} {% if params.S|float >= 20 %} {% if printer.heater_bed.temperature >= s-2 %} SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={s|int} TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s-2} MAXIMUM={s+10} G4 P10000 {% else %} SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={s|int} TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s-2} MAXIMUM={s+10} G4 P20000 {% endif %} {% else %} {% if printer.heater_bed.temperature >= s-2 %} SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={s|int} G4 P10000 {% else %} SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={s|int} TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s-2} MAXIMUM={s+10} G4 P10000 {% endif %} {% endif %} {% else %} M140 S0 {% endif %} [display_status] [gcode_macro M17] gcode: {% if 'X' in params or 'Y' in params or 'Z' in params or 'E' in params %} {% if 'X' in params %} SET_STEPPER_ENABLE STEPPER=stepper_x enable=1 {% endif %} {% if 'Y' in params %} SET_STEPPER_ENABLE STEPPER=stepper_y enable=1 {% endif %} {% if 'Z' in params %} SET_STEPPER_ENABLE STEPPER=stepper_z enable=1 {% endif %} {% if 'E' in params %} SET_STEPPER_ENABLE STEPPER=extruder enable=1 {% endif %} {% else %} SET_STEPPER_ENABLE STEPPER=stepper_x enable=1 SET_STEPPER_ENABLE STEPPER=stepper_y enable=1 SET_STEPPER_ENABLE STEPPER=stepper_z enable=1 #SET_STEPPER_ENABLE STEPPER=extruder enable=1 {% endif %} [gcode_macro M84] rename_existing:M84.1 gcode: {% if 'X' in params or 'Y' in params or 'Z' in params or 'E' in params %} {% if 'X' in params %} SET_STEPPER_ENABLE STEPPER=stepper_x enable=0 {% endif %} {% if 'Y' in params %} SET_STEPPER_ENABLE STEPPER=stepper_y enable=0 {% endif %} {% if 'Z' in params %} SET_STEPPER_ENABLE STEPPER=stepper_z enable=0 {% endif %} {% if 'E' in params %} SET_STEPPER_ENABLE STEPPER=extruder enable=0 {% endif %} {% else %} SET_STEPPER_ENABLE STEPPER=stepper_x enable=0 SET_STEPPER_ENABLE STEPPER=stepper_y enable=0 SET_STEPPER_ENABLE STEPPER=stepper_z enable=0 SET_STEPPER_ENABLE STEPPER=extruder enable=0 {% endif %} [delayed_gcode KINEMATIC_POSITION] initial_duration:3.0 gcode: {% set s = 50 %} SET_KINEMATIC_POSITION X=110 SET_KINEMATIC_POSITION Y=110 SET_KINEMATIC_POSITION Z=0 M201 X8000 Y8000 {% if printer[printer.toolhead.extruder].temperature > s or printer[printer.toolhead.extruder].temperature < -10 or printer.heater_bed.temperature < -10 %} G91 G1 X0.7 F15 ;If the target temperature is reached, use this command to start the fan. G1 X-0.7 F15 G1 F180 G90 M84 X {% endif %} #################################################################### ## G-code宏定义 ##################################################################### [gcode_macro M205] description: Sets square corner velocity. Usage: M205 [X<velocity>] [Y<velocity>] gcode: {% set max_square_corner_velocity = 30 %} {% if 'X' in params or 'Y' in params %} SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY="{(params.X|default(0)|float, params.Y|default(0)|float,max_square_corner_velocity)|min}" {% else %} SET_VELOCITY_LIMIT {% endif %} [gcode_macro M203] description: Sets maximum velocity. Usage: M203 [X<velocity>] [Y<velocity>] gcode: {% if 'X' in params or 'Y' in params %} {% set velocity = (params.X|default(params.Y)|float, params.Y|default(params.X)|float,500)|min %} SET_VELOCITY_LIMIT VELOCITY="{velocity}" {% else %} SET_VELOCITY_LIMIT {% endif %} [gcode_macro m600] description: Pauses the current print. Usage: M600 [B<beeps>] [E<pos>] [L<pos>] [R<temp>] [U<pos>] [X<pos>] [Y<pos>] [Z<pos>] gcode: PAUSE P=2{% for k in params|select("in", "BEXYZ") %}{ ' '~k~'="'~params[k]~'"'}{% endfor %} [gcode_macro m204] description: Sets maximum accelleration. Usage: M204 [S<accel>] [P<accel> T<accel>] rename_existing: M99204 gcode: {% set max_accel = printer["gcode_macro m201"].max_accel %} {% set accel = 0.0 %} {% if 'S' in params %} {% set accel = (params.S|float, max_accel)|min %} {% elif 'P' in params %} {% set accel = (params.P|float, params.T|default(params.P)|float, max_accel)|min %} {% endif %} {% if accel %} SET_VELOCITY_LIMIT ACCEL="{accel }" ACCEL_TO_DECEL="{accel * 0.5}" {% else %} SET_VELOCITY_LIMIT {% endif %} [gcode_macro m201] description: Sets maximum accelleration. Usage: M201 [X<accel>] [Y<accel>] variable_max_accel: 1.7976931348623157e+308 gcode: {% if 'X' in params or 'Y' in params %} {% set accel = (params.X|default(params.Y)|float, params.Y|default(params.X)|float)|min %} SET_GCODE_VARIABLE MACRO=m201 VARIABLE=max_accel VALUE="{accel}" {% if accel < printer.toolhead.max_accel %} SET_VELOCITY_LIMIT ACCEL="{accel }" ACCEL_TO_DECEL="{accel * 1}" {% endif %} {% else %} SET_VELOCITY_LIMIT {% endif %} ################ Buzzer configuration ################## [output_pin beeper] pin: PA2 pwm: true shutdown_value:0 value:0.0 [gcode_macro m300] description: Emits and audible beep. Usage: M300 [P<duration>] [S<frequency>] gcode: {% set settings = printer.configfile.settings %} {% if "output_pin beeper" in printer %} {% set P = (params.P|default(100)|int, 0)|max %} {% set S = (params.S|default(1000)|int, 10000)|min %} SET_PIN PIN=beeper VALUE={ settings["output_pin beeper"].scale|default(1.0) * 0.5 }{% if settings["output_pin beeper"].pwm %} CYCLE_TIME={ 1.0 / S }{% endif %} G4 P{P} SET_PIN PIN=beeper VALUE=0 {% else %} {action_respond_info( "M300 is disabled. To enable create an [output_pin beeper] config.")} {% endif %} [gcode_arcs] [exclude_object]
Editor is loading...
Leave a Comment