Nozzle guard in stop mode (brush log-only), wait for the nozzle before HOME
Test print start: guard peaks 1-8 in every phase except the brush scrub (peak 47, 4 reads above 30 in a row), 0 I2C errors; a light finger push gives 41. Stop mode for all phases, the brush stays log-only. The contact homing in HOME restarted 6 times (sample spread too large) while the nozzle was still heating to 150C; PRINT_WARMUP now waits for a steady contact temperature first, as PRINT_START does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a16b57a0a9
commit
b9d2f3a062
4 files changed
+17
-10
No files matched your search
@@ -97,8 +97,10 @@ detection, `filament_error_sensitivity`), iHeater chamber heater.
|
||||
13-18 s, peak 64-181; empty nozzle about 30 ms. A real failed load in a
|
||||
print start (AFC reported the lane loaded, nothing reached the nozzle):
|
||||
longest 1915 ms, peak 45, caught by the 5000 ms limit.
|
||||
- Nozzle guard (bdp_guard): reading at rest and in travel peaks about 2; a
|
||||
light finger push on the cold nozzle gives 41 (threshold 30).
|
||||
- Nozzle guard (bdp_guard): peaks 1-8 in home_xy, QGL, Z homing, mesh and
|
||||
the Z check; the brush scrub 47 (4 reads above 30 in a row, so it runs
|
||||
in log mode); a light finger push on the cold nozzle gives 41
|
||||
(threshold 30).
|
||||
- Z check after a contact homing: Beacon vs Klipper Z about 0.06 mm.
|
||||
- XY drift check: endstop noise about 0.01-0.02 mm; limit 0.1 mm (one motor
|
||||
skipping one cycle = 0.4 mm shows as 0.2 mm in X and Y).
|
||||
|
||||
@@ -25,7 +25,7 @@ everything below, grouped by topic. Comment out what you do not use there.
|
||||
| `pause_resume.cfg` | `PAUSE`, `RESUME`, `CANCEL_PRINT`, `M600` (RESUME also handles a running `HEAT_SOAK`, and after a PAUSE purges 40 mm with `BLOBIFIER_CHECKED` first: a failed check keeps the print paused, `RESUME PURGE=0` skips the purge; CANCEL_PRINT runs the same cleanup as `PRINT_END`) | `heating/heat_soak.cfg`, `leds/`, `blobifier/`, `afc/purge_check.cfg` |
|
||||
| `filament.cfg` | `LOAD_FILAMENT`, `UNLOAD_FILAMENT` | — |
|
||||
| `homing.cfg` | `HOME`: X/Y, then Z always with Beacon contact (also when already homed); `_Z_CHECK`: stops the print when Klipper's Z and the Beacon reading differ (run in `PRINT_START` after the soak) | Beacon |
|
||||
| `nozzle_guard.cfg` | `[bdp_guard]`, `_GUARD_ON PHASE=<name>`, `_GUARD_OFF`: bd_pressure watches the nozzle force during print-start moves where nothing should touch it (QGL, Z homing, mesh); `mode: log` only reports the peak per phase, `mode: stop` shuts Klipper down on a touch | `extras/bdp_guard.py` + bd_pressure load-check firmware |
|
||||
| `nozzle_guard.cfg` | `[bdp_guard]`, `_GUARD_ON PHASE=<name>`, `_GUARD_OFF`: bd_pressure watches the nozzle force during print-start moves where nothing should touch it (QGL, Z homing, mesh); `mode: stop` shuts Klipper down on a touch (the brush runs log-only), `mode: log` only reports the peak per phase | `extras/bdp_guard.py` + bd_pressure load-check firmware |
|
||||
| `test_speed.cfg` | `TEST_SPEED`: skipped-steps test for speed and acceleration | — |
|
||||
| `idle_timeout.cfg` | `[idle_timeout]`: heaters, chamber heater and motors off | iHeater macros |
|
||||
| **heating/** | | |
|
||||
|
||||
@@ -2,13 +2,15 @@
|
||||
# that must not touch anything (needs extras/bdp_guard.py and the bd_pressure
|
||||
# load-check firmware). See extras/bdp_guard.py.
|
||||
#
|
||||
# mode: log only measures and reports each phase (console and klippy.log,
|
||||
# "bdp_guard:"). Run a few print starts in log mode, set threshold well
|
||||
# above the peaks the phases show, then switch to mode: stop.
|
||||
# mode: stop shuts Klipper down on a touch; log only measures and reports
|
||||
# each phase (console and klippy.log, "bdp_guard:"). A phase can override it
|
||||
# with _GUARD_ON MODE=log (the brush does).
|
||||
# Measured 2026-10-18: peaks 1-8 in all phases except the brush (47); a
|
||||
# light finger push on the cold nozzle gives 41.
|
||||
|
||||
[bdp_guard]
|
||||
sensor: bd_pa
|
||||
mode: log
|
||||
mode: stop
|
||||
threshold: 30
|
||||
samples: 3
|
||||
interval: 0.02
|
||||
|
||||
@@ -49,7 +49,9 @@ gcode:
|
||||
# Only to get the toolhead over the bed for the soak; the Z that counts
|
||||
# is the contact calibration in PRINT_START on the soaked bed
|
||||
_STATUS STATE=homing
|
||||
_NOZZLE_CONTACT_TEMP
|
||||
# HOME homes Z with Beacon contact: wait for a steady nozzle temperature,
|
||||
# a nozzle still heating spreads the contact samples (6 restarts seen)
|
||||
_NOZZLE_CONTACT_TEMP WAIT=1
|
||||
RESPOND MSG="homing"
|
||||
HOME
|
||||
{% if target_chamber > 30 %}
|
||||
@@ -193,8 +195,9 @@ gcode:
|
||||
_GUARD_ON PHASE=z_home
|
||||
G28 Z
|
||||
|
||||
# Own phase: the bristles press on the nozzle too
|
||||
_GUARD_ON PHASE=brush
|
||||
# Own phase, log only: the bristles press on the nozzle (peak 47,
|
||||
# 4 reads above 30 in a row), stop mode would shut down every start
|
||||
_GUARD_ON PHASE=brush MODE=log
|
||||
BLOBIFIER_CLEAN
|
||||
_GUARD_OFF
|
||||
_STATUS STATE=calibrating_z
|
||||
|
||||
Reference in new issue
Block a user