Adjusting macros

Ok I tried to search - of course this is about bed leveling. I’m on my 3rd frame - this one seems to be better. Switched to a glass bed. Manually calibrated to 5x5. I’d like to adjust a few points. However I want to make sure I’m reading the M420V readout correctly?

Top 0,0
Down the first column, then instead of starting at the top of the second column you go to the bottom number in the next column?

—————
|
—————
|
—————
|
—————
|
—————

Or does it actual follow the grid shown on the actual screen when manually calibrating it - which is more of a wrapped square (going round and round)

Also is there a way to change the point it’s self - example set 0,0 to 8.99 versus 8.88 like it’s reading? Or is it all done as offsets?

I’ve been working on this leveling Mumbo jumbo for awhile now snd I think I’m just confusing myself.

I think (across, down) is (X, Y) from corner (0,0), although it’s not called (X, Y), it’s called indices (I, J) and counts from 0 to 4 since you’re using a 5x5 grid.

M421 can be used to adjust the mesh.

You can zip to a mesh location using G42

Hope this helps you make sense of it.

One easy way to check would be G42 to (I,J) of (0, 1) and then see where it goes on the board. Then M421 (I,J) of (0, 1) to like 20 and see which coordinate in the readout changes.

Yea very helpful - thank you

Ok i think i am still missing a step. So my bed was reading this:

others < Bilinear Leveling Grid:
others < 0 1 2 3 4
others < 0 +8.960 +8.850 +8.590 +8.440 +8.360
others < 1 +9.030 +8.770 +8.560 +8.350 +8.210
others < 2 +8.980 +8.740 +8.480 +8.280 +8.100
others < 3 +9.020 +8.760 +8.540 +8.210 +8.000
others < 4 +9.020 +8.720 +8.540 +8.280 +8.110
others < Subdivided with CATMULL ROM Leveling Grid:

Then i made changes using the M421 and confirmed and got this when i ran the M420V again:

others < 0 1 2 3 4
others < 0 +8.950 +8.850 +8.620 +8.470 +8.380
others < 1 +9.020 +8.770 +8.560 +8.350 +8.210
others < 2 +8.970 +8.730 +8.480 +8.270 +8.100
others < 3 +9.020 +8.760 +8.540 +8.210 +8.000
others < 4 +9.040 +8.730 +8.560 +8.280 +8.120
others < Subdivided with CATMULL ROM Leveling Grid:

I printed a calibration - basically squares printed on each 5x5 spot, made notes of more changes to be made. Then before making those changes i ran another M420V to confirm the last readout was still the same. However i got the first one i have listed above:

others < Bilinear Leveling Grid:
others < 0 1 2 3 4
others < 0 +8.960 +8.850 +8.590 +8.440 +8.360
others < 1 +9.030 +8.770 +8.560 +8.350 +8.210
others < 2 +8.980 +8.740 +8.480 +8.280 +8.100
others < 3 +9.020 +8.760 +8.540 +8.210 +8.000
others < 4 +9.020 +8.720 +8.540 +8.280 +8.110
others < Subdivided with CATMULL ROM Leveling Grid:

As if i never made the first changes? Do i have to reboot the machine for it to actually change the new mesh? I am clearly missing a step?

M500 to save to EEPROM after making changes you want to save. If you don’t M500 it will reset to whatever is in the EEPROM next time it’s loaded.

Exactly as you described it I don’t see it resetting like you say. Usually that only happens on a power cycle.

Ok so M500 after each M421 or after I make all my M421 changes?

Then I should probably do another M420V to verify again?

M500 writes the current setting into EEPROM. You can do it whenever you would like to save what you’re doing. Think of it like hitting save in word processor.

Ok so I can enter several M421 points and then I can do M500 at the end?

Yes.

Out of curiosity, why did it reset before? Did you power cycle? Just starting a print shouldn’t cause a eeprom load.

Honestly I don’t know why it didn’t take the changes.

I just assumed since I didn’t do the M500 command.

I’ve manual calibrated the glass bed and there are random low spots which makes no sense to me. So at this point I’m trying to get it as flat as possible.

At some point I’ll just have to play with the laser and CNC bc the 3D printing bed is driving me a little crazy at this point.

What sort of adjustments are you making? Looking at the 2 matrices you posted above am I reading you’re tweaking in the +/-0.02mm range?

If so you’re in small adjustment range, special care must be taken.

  1. Are you always finishing each measurement in the same direction to compensate for backlash? You could alternatively enable backlash compensation with M425. Factory spec is a backlash of 0.02mm. That would be a command something like M425 X0.02 Y0.02 Z0.02 F1 S0, and since that won’t save in EEPROM you would have to issue it manually on startup before manual commands, and put it in the header gcode of Cura or your favorite slicer. Luban cannot do custom gcode, so that’s not an option.

  2. Have you trammed the X axis perfectly? There is a slope across your measurements from left to right that is a tramming issue. As you can lose tram over time, develop a method of reliably tramming using a reference plane so you can return to tram without requiring a re-calibration. More about tramming can be read in other posts with this search: Search results for 'tram' - Snapmaker: where creation happens. How I do it is here, and other people use soda cans or any 2 things that are the same height: Carriage Tolerances - Unusable Over Distance >75mm From Center - #34 by brent113

Typical layer heights are in the .1-.2mm-ish range. You don’t need to tweak far beyond that - if you’re within +/-0.05mm it will likely print fine.

Yes in most cases I am tweaking around that. I had followed the post on creating macros. It’s taken awhile for me to figure out how one point affects another to create the mesh - however that’s why I don’t understand the random dip in the middle.

As for backlash - something else I need to read up on apparently - as that’s the first I’ve heard of that being mentioned.

Most of this is wayyyy above my understanding but I’m pretty stubborn and want to make sure I have it setup right bc large prints haven’t worked well.

As for the trammed X axis / never heard of this either - but I’ll go read up on this as well.

Thanks for responding to all my questions.

I sensed that :slight_smile: I think you’ll get to having a more full understanding soon, and glad to have been helpful.

In a nutshell, to kickstart you:

Inside the linear modules is a lead screw and a plastic nut that rides on it, like this (ignore red circle, reused image from elsewhere):
image
Mechanically the nut and lead screw need a small gap in the order of hundreths of a mm so they are smooth and don’t bind up. But when the lead screw changes direction there will be a certain amount of rotation of the screw before it can take up the slack and start pushing the nut in the other direction. That is backlash. Backlash compensation is a way the controller detects direction changes and takes up the slack first before moving.

Tramming just refers to making sure the X axis is parallel to the XY plane formed by the Y axis linear modules. I prefer to reference the bottom of the X axis to the top of each Y linear module to make sure there’s no relative angle between the two. It’s a quick way to get a repeatable reference that should be very close to parallel with the surface of the bed, regardless of work surface installed (laser grating, cnc wasteboard, whatever).

Ok thanks - I’ll look at it again tomorrow :slight_smile:

Brent I went back and changed to my pretty close coordinates as I figured that was my best bet to start over. Printed pretty good, then I changed one corner and ever since it’s printing all really low. I even went back and printed it after changing the one point back. There us something that says:

Echo: Fade Height 8.36

Which I don’t recall seeing previously? But maybe it was there and I never noticed? Or maybe I turned this on accidental? Do you think this is causing my new issue? If so how do I disable it?

Disable fade height. Z0: Bed Leveling State | Marlin Firmware

Ok how do I do that? Or what is the command?

Ok got it - thank you