欢迎光临散文网 会员登陆 & 注册

将启庞KP3S改为Klipper

2023-08-19 15:04 作者:魔法石不见了  | 我要投稿

我的KP3S已经买了一年多了,也打了不少模型,当然一开始我觉得打印效果并不好,一些操控啥的,我自己也觉得不太舒适,我就自己下载了Marlin,自己修改Marlin后,将固件下载进去,并且用了相当长的时间。(调的时候别说多艰苦!)

当然,后面klipper出来之后,我自己也研究了相当一段时间(其实熟悉Linux的话还真的不是很难),我选择的是MKS PI来做的klipper,商品的网址:https://item.taobao.com/item.htm?spm=a21n57.1.0.0.67d3523cF2d9pb&id=677753631669&ns=1&abbucket=14&mt=

这时候会存在两种方式,一种是直接用MKS PI提供的镜像,MKS已经针对自己的PI是配好armbian的镜像(为什么不是Ubuntu?), 并且镜像里面已经安装好klipper和各种插件,一些必备的脚本也做好了,比如U盘自动挂载等等,都是做好了的。

MKS PI

我也为MKS PI打印了一个小盒子,虽然有点丑,等我有空了自己画一个。

装好的MKS PI

喜欢折腾的我当然是自己做自己的镜像啦,这里就不详细说明我是怎么制作镜像的了,过程有点复杂,初学或者不了解ARM Linux的建议直接使用MKS提供的镜像,这差别不大的。

在有镜像的MKS PI上,第一次需要通过串口查找到ip,我使用的是MobaXterm这个工具,当然也可以使用putty这些,使用typeC数据线连接电脑后:

打开串口后可能要敲一下回车才能出现这个。然后输入:sudo ifconfig,回车,会让提示你输入密码,密码是:makerbase, 就会出现下图:

这样我就知道自己的ip地址是192.168.211.20, 这个不同人的网络地址是不一样的。然后直接浏览器打开这个地址,就发现自己登录了fluidd的web了(噢对了,一定要连接网线或者wifi模块,要联网要联网要联网!)。

能进来说明成功了一半了,然后用USB线把KP3S和MKS PI连接起来(像联机打印那样连接MKS PI的USB 口),在MobaXterm上输入:ls /dev/serial/by-id/*, 会出现一段端口:

再回到网页,修改printer.cfg,可以直接用我做好的基础版printer.cfg:

#####################################################################

# KINGROON KLP1 V1.0

####################################################################

# [include MKS_THR.cfg]

[mcu]

serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

restart_method: command


#####################################################################

# 速度

####################################################################

[printer]

kinematics:cartesian#打印机类型

max_velocity: 500#最大速度

max_accel:5000#最大加速度

max_accel_to_decel:3000#最大加速度到减速度

max_z_velocity:20#Z轴最大速度

max_z_accel: 100#Z轴最大加速度

square_corner_velocity: 15#方形拐角速度


#####################################################################

# 运动和驱动参数

####################################################################

[stepper_x]

step_pin: PE3

dir_pin: PE2

enable_pin: !PE4           #使能引脚

microsteps: 32              #细分

rotation_distance: 40        #主动轮周长mm

full_steps_per_rotation:200  #单圈脉冲数量

endstop_pin:!PA15

position_min: 0             #限位最小行程

position_endstop: 0         #回零的位置

position_max: 210           #最大限位行程

homing_speed:50             #回零速度

second_homing_speed: 2

homing_retract_dist:0        #后撤距离

homing_positive_dir:False     #回零方向

step_pulse_duration:0.000002

[stepper_y]

step_pin: PE0

dir_pin: PB9

enable_pin: !PE1

microsteps:32

rotation_distance: 40

full_steps_per_rotation:200  

endstop_pin: !PA12

position_min: 0

position_endstop:0

position_max:210

homing_speed:50

second_homing_speed: 2

homing_retract_dist:0

homing_positive_dir:false

step_pulse_duration:0.000002

[stepper_z]

step_pin: PB5

dir_pin: !PB4

enable_pin: !PB8

microsteps: 32

rotation_distance:8

full_steps_per_rotation: 200

#gear_ratio: 40:20

endstop_pin: !PA11

position_endstop:0.17

position_max: 210

position_min: 0.17

homing_speed:5

second_homing_speed: 2

homing_positive_dir:false

step_pulse_duration:0.000002


# [tmc2208 stepper_x]

# uart_pin: PA5

# run_current: 0.8

# interpolate: True

# stealthchop_threshold: 0


# [tmc2208 stepper_y]

# uart_pin: PC13

# run_current: 0.8

# interpolate: True

# stealthchop_threshold: 0


# [tmc2208 stepper_z]

# uart_pin: PC7

# run_current: 0.8

# hold_current: 1.0

# interpolate: True

# stealthchop_threshold: 99999


#####################################################################

#   挤出机

#####################################################################

[extruder]

step_pin: PD6

dir_pin: !PD3

enable_pin: !PB3

rotation_distance:25.12

gear_ratio: 30:10               #减速比

microsteps: 32

full_steps_per_rotation: 200 #脉冲200 for 1.8 degree, 400 for 0.9 degree

nozzle_diameter: 0.400           # 喷嘴的孔径(以毫米为单位)

filament_diameter: 1.75          # 进入挤出机的耗材上标的直径(以毫米为单位)

heater_pin: PC3

sensor_pin: PC1

# sensor_type: ATC Semitec 104GT-2

sensor_type: NTC 100K MGB18-104F39050L32

min_temp: -100                     #最小温度

max_temp: 240                    #最大温度

max_power:0.7                     #最大功率

min_extrude_temp: 60

control = pid

#PID_CALIBRATE HEATER=extruder TARGET=170

pid_kp = 14.488#先将模型冷却风扇设置为25%的转速( M106 S64 ),然后发送命令PID_CALIBRATE HEATER=extruder TARGET=245 它将执行一个PID校准程序,将持续约5分钟,完成后控制台将返回PID数值,将其复制到配置文件即可。

pid_ki = 3.715

pid_kd = 14.125

pressure_advance: 0.02   #压力提前数据

pressure_advance_smooth_time: 0.09

max_extrude_cross_section:0.64#500挤出线条横截面的最大面积(以平方毫米为单位) (例如:挤出线宽乘层高)这个设置能防止在相对较小的XY移动时产生过度的挤出,默认值是:4.0 * 喷嘴直径 ^ 2

instantaneous_corner_velocity: 10.000   #两次挤出之间最大的速度变化(以毫米每秒为单位)

max_extrude_only_distance: 100.0#   一次挤出或回抽的最大长度(以毫米耗材的长度为单位)

max_extrude_only_velocity:5000#   最大的挤出和回抽速度(以毫米每秒为单位)

max_extrude_only_accel:2000#   和加速度(以毫米每二次方秒为单位)

step_pulse_duration:0.000002


# [tmc2208 extruder]

# uart_pin: PA10

# interpolate: True

# run_current: 0.8

# hold_current: 0.8

# sense_resistor: 0.110

# stealthchop_threshold:0


#####################################################################

# 回零动作

####################################################################


#####################################################################

# 热床

####################################################################

[heater_bed]

heater_pin: PA0

sensor_type: NTC 100K MGB18-104F39050L32

sensor_pin: PC0

max_power: 1.0

control = pid

pid_kp = 71.039

pid_ki = 2.223

pid_kd = 567.421

min_temp: 0

max_temp: 100


#####################################################################

# 风扇

####################################################################

[temperature_sensor mcu_temp]

sensor_type: temperature_mcu

min_temp: 0

max_temp: 110

[temperature_sensor KINGROONG Pi]

sensor_type: temperature_host

min_temp: 0

max_temp: 100 



####################################################################

# 一键预热

#####################################################################

[gcode_macro START_PRINT]

gcode:

    {% set BED_TEMP = params.BED_TEMP|default(60)|float %}

    {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(220)|float %}

    M140 S{BED_TEMP} #加热热床到目标温度

    M104 S{EXTRUDER_TEMP}

    M190 S{BED_TEMP}

    M109 S{EXTRUDER_TEMP}

    G90

    G28

    G1 Z5 F3000

    G1 Z0.15 F100


[gcode_macro PAUSE]

rename_existing: BASE_PAUSE

gcode:

    # Parameters

    {% set z = params.Z|default(10)|int %}                                                   ; z hop amount

    {% set e = params.E|default(1) %}

    

    {% if printer['pause_resume'].is_paused|int == 0 %}     

        SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE={z}                              ; set z hop variable for reference in resume macro

        SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=etemp VALUE={printer['extruder'].target}    ; set hotend temp variable for reference in resume macro

                                

#       SET_FILAMENT_SENSOR SENSOR=fila ENABLE=0                                             ; disable filament sensor       

        SAVE_GCODE_STATE NAME=PAUSE                                                          ; save current print position for resume                

        BASE_PAUSE                                                                           ; pause print

        {% if (printer.gcode_move.position.z + z) < printer.toolhead.axis_maximum.z %}       ; check that zhop doesn't exceed z max

            G91                                                                              ; relative positioning

            G1 Z{z} F900                                                                     ; raise Z up by z hop amount

        {% else %}

#            { action_respond_info("Pause zhop exceeds maximum Z height.") }                  ; if z max is exceeded, show message and set zhop value for resume to 0

            SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE=0

        {% endif %}

        G1 E-{e} F2100

        SAVE_GCODE_STATE NAME=PAUSEPARK

        G90                                                                                  ; absolute positioning

        G1 X10 Y0 F6000   ; park toolhead at front center

        #M104 S0                                                                              ; turn off hotend

        SET_IDLE_TIMEOUT TIMEOUT=43200                                                       ; set timeout to 12 hours

    {% endif %}


[gcode_macro RESUME]

rename_existing: BASE_RESUME

variable_zhop: 0

variable_etemp: 0

gcode:

    # Parameters

    {% set e = params.E|default(2.5)|int %}                                          ; hotend prime amount (in mm)

    

    {% if printer['pause_resume'].is_paused|int == 1 %}

        #SET_FILAMENT_SENSOR SENSOR=fila ENABLE=1                                    ; enable filament sensor

        #INITIAL_RGB                                                                 ; reset LCD color

        SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout}  ; set timeout back to configured value

        {% if etemp > 0 %}

            M109 S{etemp|int}                                                        ; wait for hotend to heat back up

        {% endif %}

        RESTORE_GCODE_STATE NAME=PAUSEPARK MOVE=1 MOVE_SPEED=100                     ; go back to parked position in case toolhead was moved during pause (otherwise the return zhop can error)  

        G91                                                                          ; relative extruder positioning              

        M83                                                                          ; restore position                                                                                  

        {% if printer[printer.toolhead.extruder].temperature >= printer.configfile.settings.extruder.min_extrude_temp %}                                                

            G1 Z{zhop * -1} E{e} F900                                                ; prime nozzle by E, lower Z back down

        {% else %}                      

            G1 Z{zhop * -1} F900                                                     ; lower Z back down without priming (just in case we are testing the macro with cold hotend)

        {% endif %}

        M400

        RESTORE_GCODE_STATE NAME=PAUSE MOVE=1 MOVE_SPEED=60 

        BASE_RESUME                                                                  ; resume print

    {% endif %}


[gcode_macro M205]

gcode:

         M105


[gcode_macro END_PRINT]

gcode:


    G91

    G1 X-2 Y-2 E-3 F300

    G1 Z10 F3000

    G90

    M84

    M140 S60

    M104 S200

    M106 S0


####################################################################

# 共振补偿

#####################################################################

[idle_timeout]

timeout: 3600


# [gcode_macro G40]

# gcode:

#     ACCELEROMETER_QUERY

#     SET_INPUT_SHAPER SHAPER_FREQ_X=0 SHAPER_FREQ_Y=0

#     G28    

#     M106 S255

#     SHAPER_CALIBRATE

#     SAVE_CONFIG

# [gcode_macro SHAPER_CALIBRATE]

# rename_existing: RESHAPER_CALIBRATE

# gcode:

#      RESHAPER_CALIBRATE FREQ_START=5 FREQ_END=100

# [resonance_tester]

# accel_chip: adxl345

# probe_points:

#     100, 100, 20  # 共振补偿开始的位置

# accel_per_hz: 300


# [adxl345]

# cs_pin: MKS_THR:gpio13

# spi_software_sclk_pin: MKS_THR:gpio14

# spi_software_mosi_pin: MKS_THR:gpio15

# spi_software_miso_pin: MKS_THR:gpio12

# [input_shaper]

# #shaper_freq_x: 96.6

# #shaper_type_x: mzv

# #shaper_freq_y: 136.0

# #shaper_type_y: 2hump_ei


[virtual_sdcard]

path: /home/sola/printer_data/gcodes


[pause_resume]


[exclude_object]


[gcode_macro CANCEL_PRINT]

description: Cancel the actual running print

rename_existing: CANCEL_PRINT_BASE

gcode:

  TURN_OFF_HEATERS

  CANCEL_PRINT_BASE

   G1 X10 F3000

  M84

  M106 S0

####################################################################

# 断料检测

#####################################################################

# [filament_switch_sensor fila]

# pause_on_runout: True#当设置为 "True "时,会在检测到耗尽后立即暂停打印机。

# runout_gcode:

#     G91

#     G1 Z10 

#     G90

#     G1 X10 Y10 F3000

#     M104 S220

#     M105    

#     M109 S220

#     G91

#     G1 E30 F3000

#     G1 E-27 F9000

#     M104 S62

#     M105    

#     M109 S62

#     G1 E-50 F300

#     SET_HEATER_TEMPERATURE HEATER=extruder TARGET=0

# event_delay: 3.0

# pause_delay: 0.5

# switch_pin:PA1


[display_status]


[verify_heater extruder]

max_error: 120

check_gain_time:120

hysteresis: 10

heating_gain: 2


[verify_heater heater_bed]

max_error: 120

check_gain_time:120

hysteresis: 10

heating_gain: 2


# [probe]

# pin:!MKS_THR:gpio21

# x_offset: 18

# y_offset: 10

# speed:5              #自动调平速度

# samples:3

# samples_result:median

# sample_retract_dist: 1.2  #调平两点之间的抬升高度

# samples_tolerance: 0.05

# samples_tolerance_retries: 3


# [probe]

#z_offset: 0#2.0 #6.25


# [gcode_macro G29]

# gcode:

#     G28

#     G0 Z10 F1000

#     G1 X105 Y105 F1000

#     PROBE_CALIBRATE

    

# [gcode_macro G30]

# gcode:

#     BED_MESH_CLEAR      #清除调平数据

#     G28    

#     BED_MESH_CALIBRATE  #自动调平

#     BED_MESH_PROFILE SAVE="name" #保存调平数据

#     SAVE_CONFIG

#     BED_MESH_PROFILE LOAD="name" #加载调平数据


# [gcode_macro G31]

# gcode:

#     TESTZ Z=-1

# [gcode_macro G32]

# gcode:

#     TESTZ Z=-0.5

# [gcode_macro G33]

# gcode:

#     TESTZ Z=-0.1

# [gcode_macro G34]

# gcode:

#     TESTZ Z=0.1

# [gcode_macro G35]

# gcode:

#     TESTZ Z=0.5

# [gcode_macro G36]

# gcode:

#     TESTZ Z=1

# [gcode_macro G37]

# gcode:

#     ACCEPT

# #####################################################################

# #   自动退料

# ##################################################################### 

# [gcode_macro G50]

# gcode:

#     M104 S220

#     M105    

#     M109 S220

#     G91

#     G1 E30 F3000

#     G1 E-27 F9000

#     M104 S62

#     M105    

#     M109 S62

#     G1 E-50 F300

#     M84

#     SET_HEATER_TEMPERATURE HEATER=extruder TARGET=0


[duplicate_pin_override]

pins:

     PB5


# [display]

# lcd_type:uc1701

# cs_pin: PE11

# a0_pin: PE9

# rst_pin: PE10

# contrast: 63

# encoder_pins:^PE13,^PE14

# click_pin: ^!PE15

# ## Some micro-controller boards may require an spi bus to be specified:

# #spi_bus: spi

# ## Alternatively, some micro-controller boards may work with software spi:

# spi_software_miso_pin:PB5

# spi_software_mosi_pin:PB5 

# spi_software_sclk_pin:PB3 


# [output_pin beeper]

# pin: PC5


# [neopixel mini12864]

# pin: PE12

# chain_count: 3

# color_order: RGB

# initial_RED: 1.0

# initial_GREEN: 1.0

# initial_BLUE: 0.0


[gcode_macro M109]

rename_existing: M99109

gcode:

    #Parameters

    {% set s = params.S|float %}

    M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %}  ; Set hotend temp

    {% if s != 0 %}

        TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s} MAXIMUM={s+1}   ; Wait for hotend temp (within 1 degree)

    {% endif %}


#####################################################################

#              风扇

#####################################################################

[fan]

pin:PB1


# [fan_generic fan1]

# pin:PB1

# max_power: 1.0

# kick_start_time: 1.0

# off_below: 0.7

把上面这段直接复制到printer.cfg里面,修改

[mcu]

serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

serial:后面改为刚刚读出来的那串东西。
这时候,点击这里:

等重启完成之后,就会惊奇发现已经可以愉快地使用了,用MKS PI的话还可以用HDMI屏幕或者TS35的屏幕,我就喜欢用网页。。

将启庞KP3S改为Klipper的评论 (共 条)

分享到微博请遵守国家法律