BLTouch Auto Leveling Sensor

The place to discuss your hardware and software/firmware modifications...
jturrell
Posts: 5
Joined: Fri Aug 26, 2016 5:02 pm

Re: BLTouch Auto Leveling Sensor

Post by jturrell » Wed Dec 07, 2016 8:56 pm

3dPrintingMD wrote:I am not sure if the nozzle to bed gap is controlled by M206 or M851, so I really could not get proper adhesion to the plate
If I understand correctly, I believe the gap you're referring to is controlled by Z_PROBE_OFFSET_FROM_EXTRUDER.

Mine was previously set to -2.05, however I wasn't getting enough "squish" on my first layer. I increased this to -2.10, and I'm now getting excellent first layer adhesion.

jturrell
Posts: 5
Joined: Fri Aug 26, 2016 5:02 pm

Re: BLTouch Auto Leveling Sensor

Post by jturrell » Wed Dec 07, 2016 9:05 pm

Vandal968 wrote:Those of you who got it working, how do you like it?
I really like it. I used to spend a lot of time leveling my bed. It seemed like it would never stay level, and I was pretty careful when removing prints.

I now spend ZERO time with bed leveling. As a result, I find I use the printer more.

Setup was not easy, and the directions/documentation leave a lot to be desired. This is complicated by the various printer revisions and firmware versions. But it was definitely worth it for me. I wish it was installed/configured by the factory.

User avatar
ryaneb85
Posts: 92
Joined: Mon Oct 19, 2015 2:03 pm
Location: Singapore

Re: BLTouch Auto Leveling Sensor

Post by ryaneb85 » Thu Dec 08, 2016 4:07 pm

have you guys noticed that if your bed is already pretty level, auto-bed leveling does nothing? I wanted to get my bed pretty level to start then have the BLTouch do the fine tuning, but it doesnt do the fine tuning.

Atrius
Posts: 2
Joined: Mon Apr 25, 2016 1:45 pm
Location: Earth

Re: BLTouch Auto Leveling Sensor

Post by Atrius » Thu Dec 08, 2016 7:33 pm

I installed my BLTouch about a month ago by following jturrell's directions, and I love it so far.

My notes to add:
- The black & white wires from the BLTouch that replace the Z end stop don't just behave as an open/closed switch, polarity matters. If your M2 has trouble homing the Z-axis, meaning It keeps raising the bed after contacting the BLTouch causing the BLTouch sensor alarm to activate (indicated by it's LED flashing) and then lowers the bed a couple centimeters try swapping where the black & white wires are connected. For me the white wire had to be connected to the center pin of the Z-Min header and the black wire to the pin furthest away from the X/Y min headers.

- My "#define Z_PROBE_OFFSET_FROM_EXTRUDER" value ended up needing to be -1.10 instead of jturrell's -2.05. Do not forget to calibrate this value because it will vary for your printer, and way you mount your BLTouch.

- I also decreased the settings "#define Z_RAISE_BEFORE_PROBING" from 30 down to 10, and "#define Z_RAISE_BETWEEN_PROBINGS" from 15 to 5 to speed the probing process up just a little. They could probably be lowered even more, but those are good even values.


@ryaneb85, I leveled my bed right before I installed the BLTouch, and noticed that the center of my bed is higher than the outer edges no matter how I adjusted the leveling screws, it's not much but I can feel the difference in resistance when I slide a folded over piece of paper between the nozzle and the bed. When I print I can see the plastic knob on the Z-axis rotate very slightly as the printer adjusts for this while it prints.

jturrell
Posts: 5
Joined: Fri Aug 26, 2016 5:02 pm

Re: BLTouch Auto Leveling Sensor

Post by jturrell » Fri Dec 09, 2016 7:55 am

ksevcik wrote:Z_HOME_BUMP_MM in Configuration_adv.h

Marlin apparently uses the same value for all Z-axis moves, whether they're homing or bed probing.
Oh man . . . thank you for this. I was having the same issue where the z-axis wouldn't retract all the way down before the second (slow) probe occurred. Everything was working fine, but I suspected the second probe could have been more accurate. It now works as expected on the second/slow probe. Much appreciated!

jturrell
Posts: 5
Joined: Fri Aug 26, 2016 5:02 pm

Re: BLTouch Auto Leveling Sensor

Post by jturrell » Fri Dec 09, 2016 8:10 am

ryaneb85 wrote:have you guys noticed that if your bed is already pretty level, auto-bed leveling does nothing? I wanted to get my bed pretty level to start then have the BLTouch do the fine tuning, but it doesnt do the fine tuning.
If you deliberately un-level your bed, do you see the Z-axis move when you print? (I suspect you've already done this, but just in case . . . ) This was a fun exercise, and showed that I could get a good print on a really un-level bed. It also proved that auto bed-leveling was working for me, because I could see the printer compensating for the messed-up bed.

My bed is fairly level now, and I don't notice any movement of the Z-axis within a single print layer - which is to be expected I suppose. Perhaps your bed is just level, and auto bed leveling doesn't have to do anything?

Beyond just auto-bed leveling, I like the BLTouch because it lets me get much finer control over the first layer "squish" using the Z_PROBE_OFFSET_FROM_EXTRUDER setting. I can dial this in much more precisely than I ever could using a manual z-endstop adjustment.

User avatar
ryaneb85
Posts: 92
Joined: Mon Oct 19, 2015 2:03 pm
Location: Singapore

Re: BLTouch Auto Leveling Sensor

Post by ryaneb85 » Fri Dec 09, 2016 12:57 pm

Yes I've tried un-leveling the bed and can see the Z adjustments occurring, but I also noticed that the end quality of the print wasn't as great as it usually is (I guess this is to be expected). Although pretty good, I know my bed isn't perfectly level and so was hoping the get the auto-leveling to compensate for this slight variation.

The BLTouch is great, I used to use an inductive probe but found that was much more hassle and inconsistent. I suspect the auto-level limitations are with Marlin, not the touch.

Do you not tweak your Z offset in your slicer in order to get the perfect squish? This should be much quicker and easier than changing the value in Marlin and re-flashing.

ksevcik
Posts: 56
Joined: Fri Oct 21, 2016 1:07 am
Location: Houston, TX

Re: BLTouch Auto Leveling Sensor

Post by ksevcik » Fri Dec 09, 2016 1:49 pm

jturrell wrote:
ksevcik wrote:Z_HOME_BUMP_MM in Configuration_adv.h

Marlin apparently uses the same value for all Z-axis moves, whether they're homing or bed probing.
Oh man . . . thank you for this. I was having the same issue where the z-axis wouldn't retract all the way down before the second (slow) probe occurred. Everything was working fine, but I suspected the second probe could have been more accurate. It now works as expected on the second/slow probe. Much appreciated!
Good news! I was reading through the Marlin 1.1.0 RC8 release notes and they're changing this:
#4875 : Use probe clearance for bump when homing Z with probe

The detail on that issue is the second probe will now use the larger of z_home bump or probe clearance. Which I think means you could leave your current setup alone or put the z_home_bump back to stock and fiddle with whatever the probe clearance is.

The release notes sound like there's a fair lot of tweaking happening to the levelling code, so maybe that'll improve the performance a little.

Ryan,
I haven't tried bed levelling yet, but I'm theoretically worried about how it depends on such extremely small moves of the Z-axis. You're very much depending on microstepping to break static friction and make nice even movements at speeds varying from slow to imperceptible. It seems kinda dicey to me on the M2, especially if you're running a MIC6 plate. I don't know off-hand how close the stock firmware Z-stepper currents are to the max/rated for the stepper and driver, but It might be worth figuring that out and bumping the values closer to that. More current = more torque = bigger incremental torque difference between each microstep.

If anyone wants more detail on how this might matter more for nearly level plates than rather not level plates, I can expound further in another post.

User avatar
ednisley
Posts: 1188
Joined: Fri Apr 11, 2014 5:34 pm
Location: Halfway up the Hudson
Contact:

Re: BLTouch Auto Leveling Sensor

Post by ednisley » Fri Dec 09, 2016 2:53 pm

ksevcik wrote:depending on microstepping to break static friction and make nice even movements
There seems to be a continuing triumph of hope over experience on that subject:
https://softsolder.com/2014/03/06/maker ... h-numbers/

As nearly as I can tell, stiction in the older 400 step/mm leadscrew limits the motion to four-ish microstep = 0.01 mm increments. Although the 1000 step/mm leadscrew has micron resolution, I doubt overall stiction has improved.

I'm a big fan of doing whatever's needed to stabilize the mechanical alignment...

Bratag
Posts: 438
Joined: Wed Jan 14, 2015 5:33 am

Re: BLTouch Auto Leveling Sensor

Post by Bratag » Fri Dec 09, 2016 10:14 pm

ksevcik wrote:
jturrell wrote:
ksevcik wrote:Z_HOME_BUMP_MM in Configuration_adv.h

Marlin apparently uses the same value for all Z-axis moves, whether they're homing or bed probing.
Oh man . . . thank you for this. I was having the same issue where the z-axis wouldn't retract all the way down before the second (slow) probe occurred. Everything was working fine, but I suspected the second probe could have been more accurate. It now works as expected on the second/slow probe. Much appreciated!
Good news! I was reading through the Marlin 1.1.0 RC8 release notes and they're changing this:
#4875 : Use probe clearance for bump when homing Z with probe

The detail on that issue is the second probe will now use the larger of z_home bump or probe clearance. Which I think means you could leave your current setup alone or put the z_home_bump back to stock and fiddle with whatever the probe clearance is.

The release notes sound like there's a fair lot of tweaking happening to the levelling code, so maybe that'll improve the performance a little.

Ryan,
I haven't tried bed levelling yet, but I'm theoretically worried about how it depends on such extremely small moves of the Z-axis. You're very much depending on microstepping to break static friction and make nice even movements at speeds varying from slow to imperceptible. It seems kinda dicey to me on the M2, especially if you're running a MIC6 plate. I don't know off-hand how close the stock firmware Z-stepper currents are to the max/rated for the stepper and driver, but It might be worth figuring that out and bumping the values closer to that. More current = more torque = bigger incremental torque difference between each microstep.

If anyone wants more detail on how this might matter more for nearly level plates than rather not level plates, I can expound further in another post.
There was a discussion on the boards at one time where it compared auto levelling with auto mesh. Auto levelling simply handles tilt in the print bed but it makes the assumption that the bed is perfectly flat. Mesh levelling actually accounts for the print bed having deviations outside the tilt.

The current Marlin firmware we have doesn't handle mesh levelling, though I know Insta was looking into it and I had poked about with it myself. Perhaps we need revisit that.

Post Reply