Height Map and Leveling Issues + Head Movement
-
Hi,
Try writing a macro that does a series of G30 S-1 commands
That command probes the bed are the current X,Y position and reports the triggered height of the Z probe.
It will let you know if the probe is consistent.
You can try different X,Y locations and compare the results.
Frederick
-
In homeall.g and bed.g
M401 ; deploy probe
G30 ; home z0
M402 ; retract probeYou should remove the M401 and M402. Unnecessary since the firmware will deploy and retract as needed.
From config.g
M558 P9 H5 F500 T6000
Your dive speed is 500mm/min but your maximum Z axis speed is set to 360mm/min. Either way this is higher than the recommended speed of 120mm/min. I don't think this explains your heightmap, but it should help the BLTouch be more consistent.
G31 X35 Y0 Z1.202 P5
The P value is for trigger sensitivity. For the BLTouch it's recommended to be P25.
-
@fcwilt, there was little consistency moving the probe and testing different areas. There appeared to be good uniformity, as one corner of the bed gave low values, and the other corner gave high values, and all points in between seemed to be pretty linear in their reported values. But overall, from the minimum value to the maximum was over 1mm. This is probably symptomatic of the problem, but I still don't have any idea what the problem is.
@Phaedrux, I edited the files as you recommended. Reran mesh compensation and the height map has the same patterns in it. It appears lower relative to the mesh, but not much else has changed.
-
Hi,
Sorry I wasn't clear.
I wasn't expecting different areas of the bed to give the same reading, I was just interested if the probe gave consistent readings when repeated at a given position, regardless of position.
Different positions are going to likely yield different readings but any given position should yield consistent readings.
Frederick
-
You can try adding some rest time between probe points to let the bltouch settle.
M558 R0.5
But that pattern would appear to be mechanical in nature. Backlash.
-
-
@fcwilt, I do get pretty consistent results in the same location. I was under the impression that the value returned was the z offset to the from the nozzle, or more from Z=0, to the height that the probe triggers at. If that is the case, why shouldn't the value be the same regardless of the probe's location, as that is pretty much a fixed distance?
-
@infiniteloop, I have poked, probed, and prodded every component on this printer and can find nothing loose, slipping, or moving. It seems like the logical and probable cause of my pattern, but I can't find anything at all...
-
@tdm418 said in Height Map and Leveling Issues + Head Movement:
why shouldn't the value be the same regardless of the probe's location, as that is pretty much a fixed distance?Because the glass isn't flat, the mechanics aren't perfect and there really isn't anything in this world that is a 'fixed distance'. Heck, even continents move!
-
An interesting thought since I also have this kind of a sawtooth pattern ....
If I manually move to a given point on the bed while approaching it from the left, take 10 measurements while staying at that point, then move further right and return, this time approaching the same point from the right and take 10 measurements .... should I see a discrepancy of the second set of numbers compared to the first set?
I think I will run that test and see what happens, should be interesting to see the outcome!
Is there a way to probe the bed that doesn't involve the linear travel and uses a more random pattern ? -
@fcwilt said in Height Map and Leveling Issues + Head Movement:
Try writing a macro that does a series of G30 S-1 commands
here is a link to the complete m48 macro
https://forum.duet3d.com/topic/6962/m48-measure-z-probe-repeatability-and-print-to-serial-outputplease run at different positions
-
I am traveling for the next couple of days. I'll try it and let you know when I return.
Thank you -
So I have once again gone through the entire machine, tightening and testing. I did notice that there was some wobble motion in the Z axis during Mesh Compensation. So I reconfigured the leadscrews to get them a bit off the center of gravity for the bed and tore apart the guides. There was a backplate that had cracked, and whether that was the issue or not, the bed now moves smoothly and with no unwanted motion.
Unfortunately, the height map is no better than it was initially.
A great suggestion and link from @fcwilt and @Veti - The results are below. I have only had time to run about five tests,one in the center and at each corner:11/22/2019, 11:25:01 PM M98 P"0:/macros/BLTouch/BLTouch Uniformity Test"
G32 bed probe heights: 0.138 0.140 0.140 0.140 0.138 0.135 0.138 0.135 0.135 0.138, mean 0.138, deviation from mean 0.00211/22/2019, 11:19:56 PM M98 P"0:/macros/BLTouch/BLTouch Uniformity Test"
G32 bed probe heights: -0.130 -0.130 -0.130 -0.130 -0.132 -0.130 -0.132 -0.132 -0.132 -0.130, mean -0.131, deviation from mean 0.00111/22/2019, 11:26:56 PM M98 P"0:/macros/BLTouch/BLTouch Uniformity Test"
G32 bed probe heights: -0.350 -0.345 -0.345 -0.345 -0.350 -0.352 -0.354 -0.350 -0.354 -0.354, mean -0.350, deviation from mean 0.00411/22/2019, 11:28:40 PM M98 P"0:/macros/BLTouch/BLTouch Uniformity Test"
G32 bed probe heights: 0.465 0.463 0.463 0.465 0.463 0.463 0.465 0.461 0.461 0.463, mean 0.463, deviation from mean 0.00211/22/2019, 11:30:19 PM M98 P"0:/macros/BLTouch/BLTouch Uniformity Test"
G32 bed probe heights: 0.758 0.760 0.758 0.758 0.758 0.760 0.758 0.760 0.758 0.758, mean 0.759, deviation from mean 0.001It seems like this is indicative of pretty good uniformity, so unless I'm missing something, I still have not found my gremlin.
-
can you level the bed that its mostly planar by using the leveling knobs?
i.e so that all the points where you probed with m48 macro report values close to 0
-
I spent hours yesterday leveling the bed with the probe and it is just not possible.
Wherever I run either the macro or even just a single G30 command, I can adjust the bed at that point based upon the returned value, and then go on to another corner. I have done this for all four corners and gotten the returned values almost perfect. Using the macro, I am getting deviation values from .001 to .003, typically .001. However, the bed is not level. If I move the printhead away from the coordinates where I have just probed, I get a very different height value. And probing four corners only exacerbates the problem. Even though I am not using mesh compensation, the returned values for bed height are as erratic as the mesh compensation map, so they are useless.
A new interesting, or frustrating, problem that I have encountered is that when using the G30 command tied to specific x y coordinates, the x coordinate is always 35mm less that what is entered. If I use the command G30 P0 X180 Y180 Z-99999 S-1, the bed is probed at the proper y coordinate, but the x coordinate is 145. If the x coordinate is less than 35, it will push the head to a negative position. The documentation indicates that it is allowable with the G30 command to probe outside the printable area, but something is causing this 35mm subtraction.
I'm still at a loss here... -
@tdm418 Please don’t tell me that you can’t level your bed somehow, your 9-point mesh posted above says that your print bed is almost flat. Just like you, I have a bed with four adjustment screws, so you might have a look at my macro and adopt it for your purposes. However, my setup differs from yours:
- The X/Y origin is in the center of my bed
- Instead of a BLtouch, I use a mechanical probe which triggers an optical end stop
- The offset of my probe differs from yours (mine is X0 Y9 Z2.20)
; levelbed.g ; Assisted manual bed levelling. ; NOTE that we must re-home the Z axis after any adjustments! ; Screws start at the rear left, they are counted clockwise M98 P"homez.g" ; home Z (will deselect tools, too) G1 Z4 ; go down to a proper probing height G29 S2 ; disable mesh grid compensation M400 ; wait until all moves are finished M671 X-124:118:118:-124 Y116:116:-116:-116 P0.5 ; position of the adjusting screws, these make 0.5 mm per turn ; NOTE: Y coordinates are NOT adjusted for probe offset M401 ; deploy the mechanical Z probe ; Now, probe the bed and return adjustment values: G30 P0 X-124 Y107 Z-99999 ; rear left G30 P1 X118 Y107 Z-99999 ; rear right G30 P2 X118 Y-125 Z-99999 ; front right G30 P3 X-124 Y-125 Z-99999 S4 ; front left, calc deviation of screw heights ; NOTE: here, Y coordinates are adjusted for probe offset G1 X0 Y-9 Z4 F10000 ; put head over the center of the bed (Note: compensate for probe offset) G30 ; probe to set Z height M402 ; retract the probe
My “NOTE:“ comments tell me where to apply the probe offset to the coordinates and were not - there you might find the source of your frustration with wrong X coordinates. However, my case is a bit different as I have to disable my tools for probing, so it’s better to consult the documentation.
-
Hi,
What are your probe offset values?
While it is quite possible to use the G30 form of G30 P# X## Y## Z-99999 to help level the bed I found using G29 worked better for me because it yielded a picture (the height map) of what was wrong.
Now the range on my X axis is -150 to 150, the Y range -100 to 100.
So I used this to specify a grid of just 4 points near the bed adjustment screws: M557 X-140:95 Y-145:145 P2:2
Notice the :95 above - this was needed to allow for the probe's Y offset so it didn't try to probe too far to the right and hit the endstop.
This 4 point probing didn't take long and then I could take a look at the height map to see what was going on. I could hover over the 4 points to get the numbers but the visual representation helped me more than the numbers.
It wasn't long before I could look at the height map and have a good idea of the adjustments I needed to make. Usually running through the procedure 5 or so times was enough to get the bed level (+/- 0.002).
Of course this is only at those four points. But once the bed is mostly level then running G29 with a tighter grid yields the information needed for mesh compensation to work while printing.
Frederick
-
I should have specified - It is impossible to level with the BLTouch as it has started reporting weird values. Of course I can level the bed with a feeler gauge and the leveling screws. My very first post on this subject is a picture of the mesh compensation height map after physically leveling the bed. Again, this happened overnight and I can't find an explanation for it.
Probe offset values: G31 X35 Y0 Z1.202 P25, that is the "missing" 35mm. Thank you both for pointing that out. And since the probe is reporting erratic z values, the number of points that I probe does not matter. -
Perhaps time to clean the pin? I often get little wisps of filament gather up like cobwebs around the print head and sometimes they get stuck on the BLTouch pin.
-
@tdm418 said in Height Map and Leveling Issues + Head Movement:
It is impossible to level with the BLTouch as it has started reporting weird values.
Sigh! If you need help with the BLtouch: I’ve counted more than 200 threads having this thing in their titles, all in all, I found more than 600 mentions…
In case you look for a reliable replacement, you might consider this design (recommended by @Veti) or this one.