Load Cell Probe Calibration Tools - #876
Conversation
|
These tools are great. Noticed during the pullback distance calibration, the reading for force is in standard form/notation. Probably ought to output a decimal. |
|
One critique that I can think of is Where it matters:
Where it doesn't matter:
In the case where it doesn't matter we still want to capture some data as the movement of the toolhead is going to cause forces on the bowden tube that show up as drift that needs canceling. In that case we would need to capture some amount of data (2 seconds?). But this would be a MUCH faster calibration run on those machines. I don't know of a way to decide which case is which from the printer config. But I could provide an argument to the command to disable Z motion. |
0708ef5 to
b70452c
Compare
b70452c to
5bd3fe7
Compare
|
Reviewed this one. The CI failure is just a broken docs anchor,
I can push fixes for these to your branch if that helps. Let me know. |
The calibration tooling needs to attach to the load cell probe events for data. Signed-off-by: Gareth Farrington <gareth@waves.ky>
This change allows callers to create tools that leverage the bed mesh config (e.g. for complex things like faulty regions) and GCode parameters without having to actually probe those points. The generated points can then be used for other purposes. E.g. to visit each point for a calibration routine. Unfortunatly this changes the internal state of the bed mesh. The current code is not conducive to reuse. However on the next bed mesh call the state will be reset to whatever bed mesh the user specifies. Signed-off-by: Gareth Farrington <gareth@waves.ky>
5bd3fe7 to
aab95e1
Compare
Set up a framework for registering load cell calibration routines. Signed-off-by: Gareth Farrington <gareth@waves.ky>
Collect data from toolhead motion to find the cutoff frequency required for drift free probing. Signed-off-by: Gareth Farrington <gareth@waves.ky>
Probe a mesh and calculate the pullback distance required for safe probing. Signed-off-by: Gareth Farrington <gareth@waves.ky>
Perform a bed mesh and measure the mean of the `decompression_angle`. Signed-off-by: Gareth Farrington <gareth@waves.ky>
|
Well spotted! I'm going to push a fix for most of that and then look at the first issue:
How do you propose we solve that? I've never run a delta on klipper so I'm not familiar with the start up sequence. If there is no |
aab95e1 to
53b7313
Compare
These are the 3 calibration tools that are mostly finished. This gives users a method for finding values for some of the trivky but essential settings for the load cell probe:
CALIBRATION=DRIFT_FILTER- this calibrates the drift filter frequency setting used to eliminate load cell force drift caused by bowden tubes. It does this by tapping into the machnies bed mesh configuration. It visits each mesh point and moves the toolhead from the top of the machines build volume down to 10mm above the build plate. The force data is collected and the minimum filter frequency needed to eliminate the observed drift is calculated. This measurement is repeated for every mesh point and the peak value is reported as the optimal drift filter value.CALIBRATION=PULLBACK_DISTANCE- The pullback distance is the distance that the toolhead lifts when performing Tap Analysis. This distance needs to be tuned based on the observed machine characteristics. Less stiff machines, and machines with slower sensors have more overshoot at the maximum probing speed. Using too large of a value is slow, so we want to minimize this value while allowing probes with the highest amount of overshoot to succeed. This calibration performs a bed mesh with a very largepullback_distancevalue at the maximum configured probing or homing speed. It looks at the position of the elbow in all of the pullback moves and tries to optimize such that there is enough pullback distance in the worst case.CALIBRATION=DECOMPRESSION_ANGLE- This performs a standard bed mesh pattern at the standard probing speed and calculates the average of the decompression angle value. This setting is required to enable Tap Quality checking.Checklist