Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

probe_eddy_current: implement surface scannng #6537

Conversation

Arksine
Copy link
Collaborator

@Arksine Arksine commented Mar 21, 2024

This PR build on #6536, adding support for "surface scanning". The first commit resolves a minor issue where PROBE_EDDY_CURRENT_CALIBRATE removes all previous autosaved configuration, including the reg_drive_current option saved by LDC_CALIBRATE. If necessary this commit can be removed from this PR and added to another (or to the original).

The rest of this PR makes the necessary modifications to probe_eddy_current.py, probe.py, and bed_mesh.py to support scanning a surface using an eddy probe. In addition, a graph-mesh.py script has been added to visualize and analyze mesh state, which can be dumped to a json file using the new BED_MESH_DUMP command.

Create a new TriggerDispatch class to track the low-level handling of
the trdispatch mechanism.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This allows the low-level probe class more control on the probing
implementation.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Add a command to calibrate the sensor DRIVE_CURRENT0 register.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Add a calibration tool that can be used to correlate sensor frequency
to bed Z height.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
…osition

Calculate the sensor Z position after the probe halts and return that
as the "probed position".  This sensor position provides a more
accurate measurement.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
@KevinOConnor
Copy link
Collaborator

Thanks. I added your fix to PR 6536 and rebased that branch.

Separately, I'll roughly plan on merging PR 6536 into the main repo first, and then look to merge this afterwards. Let me know if you have any concerns with that.

Cheers,
-Kevin

This adds supplemental path generation that implements
"overshoot" when a change of direction is performed
during a rapid scan.  This overshoot reduces measurement
error at the extremes of the mesh along the X axis.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
In addition, do not respond with generated points.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
Dumps mesh data to a file.  Includes current probed and
mesh values, saved profiles, current points, and travel paths.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
Add a ProbeScanHelper that samples points without lifting
the tool, and optionally without stopping the tool.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
Add documentation for surface scanning, the new
BED_MESH_DUMP command and the graph-mesh.py script.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
@Arksine Arksine force-pushed the dev-bed-mesh-scanning-20240321 branch from a11a962 to 2249f01 Compare March 21, 2024 17:59
@Arksine
Copy link
Collaborator Author

Arksine commented Mar 21, 2024

Sounds good to me. I rebased this against your changes for now and can rebase against master before merging if necessary.

Copy link

github-actions bot commented Apr 5, 2024

Thank you for your contribution to Klipper. Unfortunately, a reviewer has not assigned themselves to this GitHub Pull Request. All Pull Requests are reviewed before merging, and a reviewer will need to volunteer. Further information is available at: https://www.klipper3d.org/CONTRIBUTING.html

There are some steps that you can take now:

  1. Perform a self-review of your Pull Request by following the steps at: https://www.klipper3d.org/CONTRIBUTING.html#what-to-expect-in-a-review
    If you have completed a self-review, be sure to state the results of that self-review explicitly in the Pull Request comments. A reviewer is more likely to participate if the bulk of a review has already been completed.
  2. Consider opening a topic on the Klipper Discourse server to discuss this work. The Discourse server is a good place to discuss development ideas and to engage users interested in testing. Reviewers are more likely to prioritize Pull Requests with an active community of users.
  3. Consider helping out reviewers by reviewing other Klipper Pull Requests. Taking the time to perform a careful and detailed review of others work is appreciated. Regular contributors are more likely to prioritize the contributions of other regular contributors.

Unfortunately, if a reviewer does not assign themselves to this GitHub Pull Request then it will be automatically closed. If this happens, then it is a good idea to move further discussion to the Klipper Discourse server. Reviewers can reach out on that forum to let you know if they are interested and when they are available.

Best regards,
~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

@KevinOConnor KevinOConnor self-assigned this Apr 5, 2024
@KevinOConnor KevinOConnor deleted the branch Klipper3d:work-ldc1612-20240210 April 9, 2024 20:40
@Arksine
Copy link
Collaborator Author

Arksine commented Apr 9, 2024

Hi Kevin, it looks like GitHub automatically closed this PR since I created it against the work-ldc branch. I went ahead and created a new PR rebased against the latest master. Thanks.

@KevinOConnor
Copy link
Collaborator

Oh - sorry - I did not realize github would do that. Thanks for creating the new PR.

-Kevin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants