Make movement tracking more lenient#10
Make movement tracking more lenient#10rcloran wants to merge 1 commit intogarethky:load-cell-probe-community-testingfrom
Conversation
|
I think this is a config thing. You want to set you Z axis up so that the minimum Z value is negative. When you do a probing move, the move will stop at whatever the axis minimum value is. If the machine is homed to 0 and the axis minimum is also 0 then you see deceleration moves getting scheduled in probes. There is going to be some spot on your bed that is lower than the homed 0 location is. In that spot the probe cant work correctly because it cant actually hit the bed. So the solution is to configure the axis so it can go below zero: This will allow the probe to go below the homed z value and always hit the bed. It will trigger before any deceleration move gets scheduled. This is how the vast majority of klipper printers are set up. "Its just klipper things" If you try the config change and remove this patch and everything is OK then that's the root cause. |
|
I'm pretty sure I had a negative allowed z (only 1 or 2mm, though) when I first was experimenting with this. I definitely do now -- I'll play with this more tomorrow and see if I can avoid it with config. |
|
Yup, you were right, with |
|
It'd be nice if there was maybe a warning or something to catch this misconfiguration. Not sure exactly how that should work, but if you have ideas on how it might look I'd be happy to take a stab at writing it. |
|
Yes I agree, a warning/error would be ideal. Maybe by detecting that move #3 is a deceleration move and that's not expected? |
Thank you for your work on load cells! I'm setting klipper up on my Prusa MK4S, and have had a hard time getting probing to work reliably. Specifically, the deconstruction of movements is unreliable -- there are cases where it works, and cases where it doesn't, depending on distance of move, among other things.
This seems to fix most of my headaches, but I'm not sure of its correctness. I've only been using klipper for 3 or 4 days now, and so I've got lots to learn about its movement system, among other things :) I'm happy to take feedback and go and test something different on my machine.
The change at L380 helps to avoid triggering the num_moves check later on when there is a move sequence like this:
I don't know why there is a move that looks like a no-op at 390.233 (index 2), but filtering it seems to work.
The change at L364-L374 is because I seem to get move patterns without a stopping acceleration in some cases -- I /think/ it's when the load cell triggers before the deceleration move has a chance to be scheduled, but I'm not sure.
With these changes I'm able to successfully get a bed mesh and measure probe accuracy on my MK4S.