I just installed the CR Touch kit on my Ender 3 Pro. Everything is wired up, but I can’t seem to get the Z-Axis offset correct. My process is:
- Auto-Home
- Step the Z-Axis down until there’s slight resistance on a sheet of paper between the nozzle and bed
- Take that value (Roughly -1.3) and put it into the Z-Axis Offset value
- Level bed
All of this works, but when the bed is leveling, the CR Touch needle is hitting the bed way earlier than the nozzle by maybe a few mm. When I go to print, there doesn’t seem to be adhesion in some places on the glass bed.
What am I doing wrong? :(
the CR Touch needle is hitting the bed way earlier than the nozzle by maybe a few mm
Have you noticed that the crtouch has an extendable probe? The probe should be lower than the nozzle when homing or leveling (so the nozzle doesn’t hit the bed) and higher than the nozzle otherwise (so the probe doesn’t hit your prints.)
I found that auto bed leveling worked poorly on my Ender 3 S1, because the Z axis was not well-adjusted enough to make fine movements without binding. I reassembled all the Z axis stuff, making sure the eccentric nuts were just loose enough to not support any weight. You want almost all the gantry weight supported by the the Z axis screw(s), because downward motion is gravity-driven. If the Z screws have to “pull down” on the ganty, then the Z movement will be too sloppy for bed leveling to work.
Yeah, this was my assumption (the probe should hit before) - I just wasn’t sure if they were supposed to offset just enough with the adjustable probe to end up being in-line with the nozzle. The instructions are… not great.
Also - sorry, when you say leveling… do you mean that I should be leveling the bed against the ABL sensor or the hot end?
Okay, So, it might just be confusion between the probe being deployed or not… (i didn’t catch that until re-reading @p1mrx’s comment.) so edited a few things… You can deploy probes manually for configuring the probe’s offset, either by going into configuration -> BL-Touch (i assume cr touch is treated as such.) deploy/retest will be in that menu.
If your using a command line from a computer- pronterface, octoprint, you can send the command using m401 to deploy and m402 to retract.
my z offsets are usually around 2 mm give or take, so that should be enough.
I use pronterface (mostly because it’s what I’m used to… and my desktop is right there. octopi if it’s a different printer.)
you can skip the x and y offset calibration if it’s already been done to a reasonable degree of accuracy. I personally also use the thinnest feeler guage in the stack rather than paper. (IMO paper is inconsistent.) you can use whatever works for you, however. also, make sure your printer is heated. to printing temperatures.
to obtain the x and y off set:- m92 x0y0z0 ; this clears the old offset
- m211 s0 ; this turns off software endstops, allowing you to go past safe limits. You can turn it back on with m211 s1 when your done. (you should- it prevents crashing.
- home the printer
- g1 x110 y110 z0 ; to move the nozzle manually to where you probed- usually its’ the center if for some reason it’s not, adjust the coordinates.
- drop the nozzle down manually. in pronterface, this is easy to do with .1 mm increment buttons. extrude a very small bit of plastic (or just push some through by hand… it’s literally just a dot marker. Ooze might be enough as well as long as it doesn’t lift off the bed)
- raise the nozzle above the bed,
- m401 ;to deploy the probe and align it above that dot of plastic.
- m114 ; this will give a return of your current position. to get the off set value for x and y, the subtract the current position from where you probed- (it should look something like 110-[current position]
9.1 m851 x[new value] y[newvalue] ; this sets the offset for x and y.
to get the z offset, the process is similar, but now you don’t need to do x and y again. (it really doesn’t need to be that accurate. visually close is good enough)
- m92 z0 ;if this is where you’re starting.
- m211 s0 ; also if this is where you’re starting.
- g28 ; to home
- g1 x110 y110 z0, to move the nozzle to the center again
- drop the nozzle down using your feelerguage to determine contact with the bed.
- m114; to obtain the z offset. Here, no math is needed- just cut and paste the value obtained (it should be negative.)
- m851 z[new value]
- m503 ; this saves the new values from 851.
- m211 s1 ;turns software endstops back on.
- g28 ;to home
11 g1 x110 y110, z2 ; to set the nozzle of for verification. Drop it the last 2 mm by hand, in case it was off to verify.
from here, you can then level your bed however you normally do that. I generally move the nozzle above where the bed is held to the y axis (those adjustment screws,) if I’m manually leveling. But I highly recomend using UBL if you have marlin installed- it takes some set up, both in the firmware and creating the mesh to store in the first place, but when you have it up, you add gcode that Loads the new mesh And then probes the bed to tilts the mesh to the bed plane UBL is very forgiving of poorly trammed beds as long as your offset is accurate enough.
In addition to what has already been said, personally I use auto-home and then move the hot end to the middle of the bed (On my printer, after auto-home it is the ABL sensor that is in the middle of the bed) and then set the Z position to 0mm.
Then I go change the Z Offset setting until it touches the bed with the paper like you did.
In theory I suppose the result should be the same but it might be worth a try if what has been already suggested by u/p1mrx is not your problem.