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

[FR] Auto bed mesh leveling through unorthodox means (setting a high nozzle temperature and detecting temperature fluctuations on bed) #98

Open
Natrox opened this issue Oct 24, 2020 · 1 comment
Labels
enhancement Feature request or suggestion

Comments

@Natrox
Copy link

Natrox commented Oct 24, 2020

Hi there,

Was brainstorming on how to improve the firmware and figured I'd make a suggestion for an idea for automatic bed leveling, without probe.

Of course, I will work on this on my own branch and ensure it is properly tested - but I'd like your feedback on it. I'd like to hear whether you think my idea is feasible or if it's been tried and disregarded. My printer is currently out-of-operation (bad hotend), so I will start work on this in a week or so. Now for the meat of this feature request...

What's the idea?
The idea revolves around detecting physical contact between the nozzle and the heated bed. If the nozzle is in direct contact, it can be assumed that it's not calibrated correctly for said coordinate. To detect contact between the two parts, I want to find out whether we can detect temperature transfer from the nozzle to the bed. Since the bed is a large heat sponge, the fluctuations could be really small - or it would take a substantial time to detect any heat. I want to investigate whether this is a feasible way of detecting contact. Once contact is detected, the hot-end can be gradually raised until the bed temperature shows no fluctuations in temperature. Ambient heat transfer is something to keep in mind, but to find out whether that'll have serious impacts will have to wait until I can test again.

Why is this useful?
It would introduce a practically universal method of auto bed leveling - without use of external equipment. Though the current manual bed leveling is a great addition, having a stable automatic process would allow for more consistency in calibration.

Questions for the community:

  1. Has this been tried before? What were the results of that experiment?
  2. Perhaps it may actually be better to detect fluctuations in the nozzle temperature from bed heating, what do you think?
  3. Any suggestions for things to keep in mind?

Thanks again for all your work on the project.

@Natrox Natrox added the enhancement Feature request or suggestion label Oct 24, 2020
@Natrox
Copy link
Author

Natrox commented Oct 24, 2020

Detecting heat transfer from bed to nozzle seems to be the way to go. When the bed is heated to 80 degrees, you can see a noticeable temperature delta ranging from 5 to 8 degrees Celcius depending on how long you let it settle. It takes about 3 minutes to settle, bringing my hot-end from ambient 25 to 33 degrees Celcius.

Problems arise when calibrating. Performing a manual leveling test (with receipt paper) produces a suitable gap. However, a lot of ambient heat transfers to the nozzle - making it impossible to detect. I'll give this some more research later, with different bed temperatures.

If I ever figure out a working solution, I'll add a pull request for it.

(Either way, this form of automatic leveling would be very slow)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Feature request or suggestion
Projects
None yet
Development

No branches or pull requests

1 participant