An update on Marlins auto bed levelling feature project.

An update on Marlins auto bed levelling feature project.

Originally shared by Mark Heywood

Got the 3d printer set-up and fitted with an auto bed levelling probe. Took a bit of time to complete and everything worked apart from one issue, the bed was probed in the same spot at home position 3 times.
My guess is that auto levelling only works from X+ and Y+ endstops like it shows in the you tube clip I’d seen.
The endstops are too difficult to get to without taking the printer apart so I’ve decided to shelve the auto bed levelling feature for the moment.

There seems to be some issues with the servo not landing the same rotation position and had to cut power a few times to stop bed and nozzle crashing. The angle of rotation is not user selectable and I had to invert rotation direction by editing code.

I think on my next attempt I’ll dump the servo probe and use the hotend as the probe instead.

A method an old rework machine i used to run had the pickup nozzle on a linear rail going in the z direction. When the nozzle hit something, it would lift up and hit a microswitch.
For a 3d printer, this would be easy to implement. You could have the extruder itself on vertical rails, or if you have the nut-trap on the z rail open, you can just make a fixture to detect when the entire axis lifts up (you would need one per side, as if the x carriage were to a limit, it wouldn’t lift straight up.)

Is the reason were not using ir or ultrasonic noncontact distance sensing because its not accurate enough?

@Mike_Ashcraft
3D printers need an accuracy of better than a tenth of a millimetre and ultrasonic might not provide that resolution with the kits available to us.
@Stephanie_A At the moment the firmware requires a single probe, ideally, as close to the nozzle as possible. The software implementation is still in the early stages so improvements to better servo control may arrive soon hopefully.
The nozzle would only need to be attached to a hinged bracket, held down by a spring, to be a probe limit switch.

+1’d for planning to ditch the hobby servo. They’re too sloppy unless you stall them against a hard stop. Probing with the hot end has to be better than measuring with a proxy. It’s the hot end we care about.

Well at least using the hotend removes the servo which is the main drawback I see. Though measuring without touching would be better

If you were able to accurately place magnets in the bed, you could use a hall effect sensor.

@Stephanie_A I’ve been experimenting with a Hall Sensor today and ordered some magnets. I’ll see if there is enough consistency between the magnets for bed levelling. I’ve got a ratiometric linear hall sensor which should do the trick, with a bit of arduino sketch code.

One problem with using the nozzle is that it’s not always “clean” (at least not mine :slight_smile: and a small amount of frozen filament from a previous print could throw off the calibration.

That said servos do seem too imprecise, at least without a stop as others have suggested.

I know what I’m looking at and at the same time i have no idea what I’m looking at. One thing I do know is it looks cool!

The servo does have some slop, but the error isn’t quite as bad as you might think if you arrange the probe point to be the bottom of the servo arc.
Zerr = 1 - sin(Aerr)

Why are people using servos why not a true switch. As if its closed its closed. And a removable probe.

@Nigel_Dickinson the servo is to simply pull a microswitch into place so that it can be retracted automatically and stays out of the way.

@ThantiK Why not use a modified pen. Less weight and and already cheap and easy to use.
Seems overly complicated.

a modified pen and what exactly? The switch has to be both above the nozzle when printing, and below the nozzle when leveling/homing.

A ball point pen push down ball drops swing lever on the tube it is ready to hit switch. When done swing lever away press pen top ball moves away from the nozzle height. You have a know distance so the switch is static. its the same way measuring machines work and a lot simpler to do.

swing the lever away with what exactly? The point is for this to be automated, no intervention needed. You hit start print, and walk away. Not home bed, grab pen and swing it down manually, wait for it to home, swing pen back up manually. The servo is there to put things in place…your suggestion doesn’t sound automated.

Your at the printer any way your moving it with a finger.The rest is auto. You move the lever again using your finger. Then you watch the start of the print.
After all adding extra electronics increase the risk of failure and moves further away from the Reprap ideals.
Plus its more weight on 2 axis to accelerate and decelerate risking poorer quality prints.

The idea for this though is that people don’t have to touch the machine. This added complexity is also what makes the machine “hands off” and drives more inexperienced users into being able to play with it without fear of doing something wrong. Not to mention, this is a bowden tube setup already. A tiny servo motor isn’t going to cause any noticeable increase in weight.

Oh, and no…your assumption about being at the printer is also not always true. Many people I know have their printers in a back room hooked up to Octoprint and they start their prints remotely. One guy that participates here even has the machine automatically pop the parts off the bed into a bin and rehome to start the next print.

So you level your bed and its incorrect what happens…crunch or head to far away.
I’ve worked on milling machines that self moniter and have seen what happens.
Trusting tech will end in tears for people starting out on this hobby until they understand how it works.