--------------
[servo my_probe]
pin: can: PB9 # 桿子伸出/縮回的控制引腳 (即原本 BLTouch 的 PWM pin)
initial_angle: 90
maximum_servo_angle: 180
minimum_pulse_width: 0.0001 # 確保下限夠低 (100µs)
maximum_pulse_width: 0.0025 # 確保上限夠高 (2500µs)
[probe]
pin: ^can:PB8 # 原本 BLTouch 的輸出引腳
# 注意加上 ^ (上拉電阻),因為 CR Touch 觸發時通常是將信號拉低 (Open Collector)
z_offset: 0
activate_gcode:
PROBE_DEPLOY
deactivate_gcode:
# PROBE_STOW
# 當探針完成一次探測後,CR Touch 可能已經自動縮回並閃紅燈了
# 所以我們需要在這裡發送 RESET 脈衝,讓它恢復正常
SET_SERVO SERVO=my_probe_servo WIDTH=0.00220
G4 P200
{action_respond_info("cr touch reset")}
SET_SERVO SERVO=my_probe_servo WIDTH=0.001475 # 回到標準收回狀態
[gcode_macro PROBE_DEPLOY]
gcode:
G4 P500
# SET_SERVO SERVO=my_probe ANGLE=10
SET_SERVO SERVO=my_probe WIDTH=0.00060
G4 P500 # 確保探針在重力作用下已經完全穩定伸出
[gcode_macro PROBE_STOW]
gcode:
# SET_SERVO SERVO=my_probe ANGLE=90
SET_SERVO SERVO=my_probe WIDTH=0.0014750
G4 P500 # 確保探針在重力作用下已經完全穩定縮回
[gcode_macro PROBE_RESET]
gcode:
SET_SERVO SERVO=my_probe WIDTH=0.002200
G4 P300 # 等待 300ms
# SET_SERVO SERVO=my_probe ANGLE=90 # 回到縮回狀態
SET_SERVO SERVO=my_probe WIDTH=0.0014750
G4 P500 # 確保探針在重力作用下已經完全穩定縮回
[gcode_macro PROBE_TEST]
gcode:
# SET_SERVO SERVO=my_probe ANGLE=160
# SET_SERVO SERVO=my_probe WIDTH=0.001800
SET_SERVO SERVO=my_probe WIDTH=0.000600
G4 P1000 # 等待 3秒
# SET_SERVO SERVO=my_probe ANGLE=90 # 回到縮回狀態
SET_SERVO SERVO=my_probe WIDTH=0.0014750
G4 P500 # 確保探針在重力作用下已經完全穩定縮回
[delayed_gcode boot_probe_test]
initial_duration: 2.0 # Klipper 啟動 2 秒後執行
gcode:
# 1. 先執行 Reset (清除可能存在的紅燈)
SET_SERVO SERVO=my_probe WIDTH=0.00220
G4 P500
# 2. 測試:伸出
SET_SERVO SERVO=my_probe WIDTH=0.00060
G4 P800
# 3. 測試:縮回 (回到待命狀態)
SET_SERVO SERVO=my_probe WIDTH=0.001475
G4 P200
# 在終端機顯示訊息提醒你
M118 CR Touch Boot Test Completed.
沒有留言:
張貼留言