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.

👁️
53
Lượt Xem
❤️
1
Lượt Thích
📥
2
Lượt Tải
Cập Nhật May 13, 2026
Chi tiết
Tải xuống
Bình Luận
Khoe bản in
Remix

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

Tác phẩm này được cấp phép theo

GNU General Public License v3.0

GPL 3.0

Yêu cầu ghi công
Remix & phái sinh Được phép
Sử dụng thương mại Được phép

File mô hình

TẤT CẢ FILE MÔ HÌNH (3 Tập tin)
Đang tải files, vui lòng chờ...
Vui lòng đăng nhập để bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Vui lòng đăng nhập để khoe bản in của bạn.

Chưa có bản in nào được khoe. Hãy là người đầu tiên!

Remix (0)