SideSwipe Probe tích hợp Nozzle Brush
Bản mod SideSwipe Probe tích hợp nozzle brush (brush Bambu A1 Mini), dùng chung một servo cho 2 chức năng và không mất build volume. Có kèm file STEP/Fusion để chỉnh fit, cùng macro Klipper `CLEAN_NOZZLE` để lau nozzle sau khi in.
Mô tả
Kết hợp SideSwipe probe với một nozzle brush, dùng chung 1 servo cho 2 chức năng, không bị mất build volume (mình đã đảm bảo brush không va chạm với printhead).
Bạn nên in mẫu này có supports, đặt mặt có đầu bulông úp xuống bàn in.
Mẫu này đã được test với SideSwipe probe dùng Dragonburner V8 với hotend TZ V6 2.0 sử dụng V6 nozzle.
Dùng brush Bambu A1 Mini loại phổ thông.
Mình có đính kèm file STEP và Fusion để bạn chỉnh sửa cho vừa khít hơn với setup của bạn.
Thêm phần này vào Klipper config để tạo macro vệ sinh nozzle. Dùng lệnh CLEAN_NOZZLE khi cần; macro sẽ nhớ trước lúc lau probe đang gắn hay tháo, rồi sau khi lau sẽ trả về đúng trạng thái đó.
[gcode_macro _CLEAN_NOZZLE]
gcode:
{% set ITERS = 3|int %} ; Set cleaning cycles
{% set X_MIN = 119|float %} ; Set the leftest X position where nozzle is over the brush
{% set X_MAX = 120|float %} ; Set the rightest X position where nozzle is over the brush
{% set Y_MIN = 1|float %} ; Set latest Y position where nozzle is over the brush
{% set Y_MAX = 23|float %} ; Set earliest Y position where nozzle is over the brush
{% set SPEED_FAST = 5000|int %} ; Speed for cleaning slowly
{% set SPEED_NORMAL = 3600|int %} ; Speed for cleaning fast
{% set SAFE_Z_HEIGHT = 25|float %} ; Minimum height bed should be so it doesn't collide with the probe etc
SAVE_GCODE_STATE
{% set HOLDING_PROBE = printer.probe.last_query|int %}
{% if HOLDING_PROBE == 0 %}
SS_STOW_PROBE
{% endif %}
G90
{% set CURRENT_Z = printer.toolhead.position.z %}
{% if CURRENT_Z < SAFE_Z_HEIGHT %}
G1 Z{ SAFE_Z_HEIGHT } F{ SPEED_FAST } ; Only move Z if we need to, this should allow you to clean the nozzle post print
{% endif %}
G1 X{ X_MAX } Y{ Y_MIN } F{ SPEED_FAST } ; Go init place
SS_DEPLOY
{% for _ in range(0,ITERS) %}
G1 Y{ Y_MAX } F{ SPEED_NORMAL }
G1 Y{ Y_MIN } F{ SPEED_NORMAL }
G1 Y{ Y_MAX } F{ SPEED_FAST }
G1 X{ X_MIN } F{ SPEED_FAST }
G1 Y{ Y_MIN } F{ SPEED_FAST }
G1 X{ X_MAX } F{ SPEED_FAST }
G1 Y{ Y_MAX } F{ SPEED_FAST }
G1 X{ X_MAX } F{ SPEED_NORMAL }
G1 Y{ Y_MIN } F{ SPEED_NORMAL }
{% endfor %}
SS_RETRACT
{% if HOLDING_PROBE == 0 %}
SS_TAKE_PROBE
{% endif %}
RESTORE_GCODE_STATE MOVE=1 MOVE_SPEED={ SPEED_NORMAL } ; return to starting position
[gcode_macro CLEAN_NOZZLE]
gcode:
Query_Probe
G4 P250 ; possibly not needed
_CLEAN_NOZZLE
Ngoài ra, bạn có thể sẽ muốn cập nhật các macro stow của SideSwipe để chúng chỉ nâng trục Z khi đang ở ngoài giới hạn an toàn.
[gcode_macro SS_TAKE_PROBE]
gcode:
{% set CURRENT_Z = printer.toolhead.position.z %}
{% if CURRENT_Z < printer["gcode_macro SS_PICKUP_POS"].z %}
G1 Z{printer["gcode_macro SS_PICKUP_POS"].z} F5000
{% endif %}
G1 X{printer["gcode_macro SS_PICKUP_POS"].x - 20} Y{printer["gcode_macro SS_PICKUP_POS"].y} F5000
SS_DEPLOY
G1 X{printer["gcode_macro SS_PICKUP_POS"].x}
G1 Y{printer["gcode_macro SS_PICKUP_POS"].y + 50}
G1 X{printer["gcode_macro SS_PICKUP_POS"].x - 20}
SS_RETRACT
[gcode_macro SS_STOW_PROBE]
gcode:
{% set CURRENT_Z = printer.toolhead.position.z %}
{% if CURRENT_Z < printer["gcode_macro SS_PICKUP_POS"].z %}
G1 Z{printer["gcode_macro SS_PICKUP_POS"].z} F5000
{% endif %}
G1 X{printer["gcode_macro SS_PICKUP_POS"].x - 20} Y{printer["gcode_macro SS_PICKUP_POS"].y + 50} F5000
SS_DEPLOY
G1 X{printer["gcode_macro SS_PICKUP_POS"].x}
G1 Y{printer["gcode_macro SS_PICKUP_POS"].y} F2000
G1 X{printer["gcode_macro SS_PICKUP_POS"].x - 20} F5000
SS_RETRACT
Cách này sẽ giúp bạn lau nozzle sau khi in xong.
Giấy phép
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!