Welcome! Log In Create A New Profile

Advanced

Mesh bed leveling is not active

Posted by brucehvn 
Mesh bed leveling is not active
July 18, 2016 01:13AM
I've just put on Marlin 1.1.0-RC6 and setup the mesh bed leveling. I went through the steps and got the bed all situated and I'm really happy with the results. I'm not sure I understand, however, all the things that will cause Marlin to deactivate mesh bed leveling and then how to get it back short of a reboot or emergency stop command.

I've figured out that as long as I only home via a plain G28 command, everything seems to be fine. But if I have some start G-code that tries to home only a particular axis or axes, then that seems to cause the MBL to get deactivated and if I start a print, it will be printing in the air because it won't go past the end stop to the actual zero position. Doing a G29 at that point will give the "Mesh bed leveling is not active" message.

For example, do a G28 X0 Y0 and boom, MBL is not active any more.

So when that happens, how can I re-activate MBL? I've tried doing a plain G28 after that, but that won't activate it. I usually end up doing a M112 emergency stop to reset the printer, and then I'm back to normal. Is there some other way to just switch it back on again?
Re: Mesh bed leveling is not active
July 18, 2016 05:03PM
I thought you had to place:
G28
G29

Is this right? It should do a normal home then do the ABL home on the Z.
Re: Mesh bed leveling is not active
July 18, 2016 06:54PM
Quote
Floyd
I thought you had to place:
G28
G29

Is this right? It should do a normal home then do the ABL home on the Z.

I'm not talking about the auto bed leveling, I'm using the new mesh bed leveling. I used to use ABL and your sequence is correct for that, but with mesh bed leveling, there is no use of the probe. You have to manually set all the points in the grid and then they get stored in EEPROM. So you do that exercise once, and then every time you turn on the machine, those points are read from EEPROM and used for printing.
Re: Mesh bed leveling is not active
July 18, 2016 10:28PM
Quote
brucehvn
I'm not talking about the auto bed leveling, I'm using the new mesh bed leveling. I used to use ABL and your sequence is correct for that, but with mesh bed leveling, there is no use of the probe. You have to manually set all the points in the grid and then they get stored in EEPROM. So you do that exercise once, and then every time you turn on the machine, those points are read from EEPROM and used for printing.

I almost have the new Bed Leveling software ready. It is based on a High Resolution Mesh and uses the Z-Probe to acquire most of the points. The rest of the Mesh can be filled in by editing the Mesh or manually probing the height of the various points that are not reachable by the Z-Probe.
Re: Mesh bed leveling is not active
July 19, 2016 12:22AM
Quote
Roxy
Quote
brucehvn
I'm not talking about the auto bed leveling, I'm using the new mesh bed leveling. I used to use ABL and your sequence is correct for that, but with mesh bed leveling, there is no use of the probe. You have to manually set all the points in the grid and then they get stored in EEPROM. So you do that exercise once, and then every time you turn on the machine, those points are read from EEPROM and used for printing.

I almost have the new Bed Leveling software ready. It is based on a High Resolution Mesh and uses the Z-Probe to acquire most of the points. The rest of the Mesh can be filled in by editing the Mesh or manually probing the height of the various points that are not reachable by the Z-Probe.

Hey Roxy,

Nice to see you. I talked to you a bit over on 3dprintboard last year when you were doing some work on enhancing the G29 command for ABL. I see now you are listed as part of the Marlin development team. Glad to see it.

I have to admit when I first looked at mesh bed leveling this week end, my first thought was "what? I can't use my probe to measure the points in the mesh???". But then after running through the procedure, I kind of liked using the actual nozzle to determine the points and I was pretty impressed with the results. Printing a one layer test object I made, the layer was consistently smooshed(?!) across the entire bed.
Re: Mesh bed leveling is not active
July 19, 2016 08:22AM
Quote
brucehvn
I'm not talking about the auto bed leveling, I'm using the new mesh bed leveling. I used to use ABL and your sequence is correct for that, but with mesh bed leveling, there is no use of the probe. You have to manually set all the points in the grid and then they get stored in EEPROM. So you do that exercise once, and then every time you turn on the machine, those points are read from EEPROM and used for printing.
Guess I have to look more into this, I thought the procedure was the same. I could never get ABL to work right so I took my switch and servo off the machine.
I have RC6 so it should be in there already, just have to enable and see...
Re: Mesh bed leveling is not active
July 19, 2016 10:15AM
Quote
brucehvn
Quote
Roxy
I almost have the new Bed Leveling software ready. It is based on a High Resolution Mesh and uses the Z-Probe to acquire most of the points. The rest of the Mesh can be filled in by editing the Mesh or manually probing the height of the various points that are not reachable by the Z-Probe.

Hey Roxy,
Nice to see you. I talked to you a bit over on 3dprintboard last year when you were doing some work on enhancing the G29 command for ABL. I see now you are listed as part of the Marlin development team. Glad to see it.

I have to admit when I first looked at mesh bed leveling this week end, my first thought was "what? I can't use my probe to measure the points in the mesh???". But then after running through the procedure, I kind of liked using the actual nozzle to determine the points and I was pretty impressed with the results. Printing a one layer test object I made, the layer was consistently smooshed(?!) across the entire bed.

Included in the new system is a Mesh Validation Command. This does a one layer print of the entire Mesh. It lets you see exactly where your Mesh is defective and you can use the Mesh editing tools to quickly (and precisely) adjust things. The probe is used to get the bulk of the data. But for where the probe can't reach, you can do a Manual Probe with the nozzle to get the data. Or... You can just quickly fill in the unknown areas with estimated values. And then you can use the Mesh Validation Tool and Mesh Editor to get things the way you want them.

Quote
Floyd
Quote
brucehvn
I'm not talking about the auto bed leveling, I'm using the new mesh bed leveling. I used to use ABL and your sequence is correct for that, but with mesh bed leveling, there is no use of the probe. You have to manually set all the points in the grid and then they get stored in EEPROM. So you do that exercise once, and then every time you turn on the machine, those points are read from EEPROM and used for printing.
Guess I have to look more into this, I thought the procedure was the same. I could never get ABL to work right so I took my switch and servo off the machine.
I have RC6 so it should be in there already, just have to enable and see...

Mesh is definitely a type of Auto Bed Leveling. EPatel designed (and coded) it because the 3-Point and Grid-Leveling could not compensate for the non-flat print surface he had. He did a good job getting that system in place and working. The new system uses his concepts as a foundation. But the new system:
  • Extends the resolution of the mesh up to 15x15.
  • Automatically probes reachable areas of the bed. I've been doing all my development and testing at 10x10.
  • Provides several ways to populate unreachable areas of the bed (manual probing and user specified filling)
  • Allows tilting of the mesh using 3-Point or Grid leveling
  • Allows Multiple Mesh to be stored in EEPROM
  • Provides easy verification of the Mesh and that information can be used to:
  • Easily edit and alter a Mesh

Edited 3 time(s). Last edit at 07/19/2016 04:50PM by Roxy.
Re: Mesh bed leveling is not active
July 19, 2016 12:22PM
Quote
Roxy
Included in the new system is a Mesh Validation Command. This does a one layer print of the entire Mesh. It lets you see exactly where your Mesh is defective and you can use the Mesh editing tools to quickly (and precisely) adjust things. The probe is used to get the bulk of the data. But for where the probe can't reach, you can do a Manual Probe with the nozzle to get the data. Or... You can just quickly fill in the unknown areas with estimated values. And then you can use the Mesh Validation Tool and Mesh Editor to get things the way you want them.

Mesh is definitely a type of Auto Bed Leveling. EPatel designed (and coded) it because the 3-Point and Grid-Leveling could not compensate for the non-flat print surface he had. He did a good job getting that system in place and working. The new system uses his concepts as a foundation. But the new system:
  • Extends the resolution of the mesh up to 15x15. I've been doing all my development and testing at 10x10.
  • Allows tilting of the mesh using 3-Point or Grid leveling
  • Allows Multiple Mesh to be stored in EEPROM
  • Provides easy verification of the Mesh and that information can be used to:
  • Easily edit and alter a Mesh

Excellent! Most of those are things I was already thinking about suggesting after using what's there now. If you are using a print surface like PEI or probably even PrintBite, it's so important to have that first layer be consistent across the entire area of the print. The mesh bed leveling really accomplishes that.
Re: Mesh bed leveling is not active
July 20, 2016 08:26AM
I tried this out last night and it helped a ton!
Re: Mesh bed leveling is not active [1.1.0 RC6]
August 14, 2016 07:56PM
I'm still curious how to get mesh bed leveling active again when I do a G29 and it says "mesh bed leveling not active". If it is because I tried to home an individual axis instead of doing a G28, then the only thing I've seen is that I have to do an emergency stop (reset), and then make sure I only do a G28 and then mesh works again.

Now, I've updated the firmware with a small change and then done a M502, M500 to reset the EEPROM to factory settings and store them. When showing the current settings, I see my mesh points are all still there, but a G29 results in the "mesh bed leveling not active" message, even after a reset. Is there a way for me to get the firmware to start using mesh again without me going through the whole process of calibrating points again?
Re: Mesh bed leveling is not active [1.1.0 RC6]
August 14, 2016 08:09PM
Quote
brucehvn
I'm still curious how to get mesh bed leveling active again when I do a G29 and it says "mesh bed leveling not active". If it is because I tried to home an individual axis instead of doing a G28, then the only thing I've seen is that I have to do an emergency stop (reset), and then make sure I only do a G28 and then mesh works again.

Now, I've updated the firmware with a small change and then done a M502, M500 to reset the EEPROM to factory settings and store them. When showing the current settings, I see my mesh points are all still there, but a G29 results in the "mesh bed leveling not active" message, even after a reset. Is there a way for me to get the firmware to start using mesh again without me going through the whole process of calibrating points again?

Disregard. I looked at the code and found the M420 g-code. For everybody else, just use:
M420 S1
to enable mesh bed leveling again.
Re: Mesh bed leveling is not active
August 15, 2016 05:43PM
Actually... That will work, but I only left the M420 in place to be backward compatible. Doing a G29 A will activate the UBL System. Doing a G29 A S1 will save the current mesh state and mesh in storage slot 1 and flag the system as 'Active'. If the state of the system is saved to EEPROM while it is active, it will be active each time you power up the printer (which is a change of behavior from the historical G28 / G29 mindset but it is a real nice convenience.)

Look at the front end of the G29 and the G26 files. All of the commands (options) are documented there.

Once you have some what reasonable numbers in your mesh, you really want to do a G26 and use that result to shift back to a G29 P4 R M That is how you get the Mesh perfect!!!

Edited 1 time(s). Last edit at 08/15/2016 05:44PM by Roxy.
Re: Mesh bed leveling is not active
August 15, 2016 05:54PM
Quote
Roxy
Actually... That will work, but I only left the M420 in place to be backward compatible. Doing a G29 A will activate the UBL System. Doing a G29 A S1 will save the current mesh state and mesh in storage slot 1 and flag the system as 'Active'. If the state of the system is saved to EEPROM while it is active, it will be active each time you power up the printer (which is a change of behavior from the historical G28 / G29 mindset but it is a real nice convenience.)

Look at the front end of the G29 and the G26 files. All of the commands (options) are documented there.

Once you have some what reasonable numbers in your mesh, you really want to do a G26 and use that result to shift back to a G29 P4 R M That is how you get the Mesh perfect!!!

Hi Roxy,

These commands are in your current beta, or in RC6/7?

In Marlin_main.cpp (from RC7), I only see this before the G29 code:
  /**
   * G29: Mesh-based Z probe, probes a grid and produces a
   *      mesh to compensate for variable bed height
   *
   * Parameters With MESH_BED_LEVELING:
   *
   *  S0              Produce a mesh report
   *  S1              Start probing mesh points
   *  S2              Probe the next mesh point
   *  S3 Xn Yn Zn.nn  Manually modify a single point
   *  S4 Zn.nn        Set z offset. Positive away from bed, negative closer to bed.
   *  S5              Reset and disable mesh
   *
   * The S0 report the points as below
   *
   *  +----> X-axis  1-n
   *  |
   *  |
   *  v Y-axis  1-n
   *
   */

Bruce
Re: Mesh bed leveling is not active
August 15, 2016 07:04PM
Well, those commands are in RC-7. But I was referring to the devel_ubl branch instead of RCBugFix. The foundation of the Unified Bed Leveling is a High Resolution Mesh. But in the UBL system, the Mesh is much easier to define and edit. And you can save multiple Mesh's if you have more than one piece of glass your print on.
Re: Mesh bed leveling is not active
August 23, 2016 11:14AM
Is MBL or UBL works for first layer only? Or how its work while printing?
Re: Mesh bed leveling is not active
August 23, 2016 03:20PM
Quote
Potapich
Is MBL or UBL works for first layer only? Or how its work while printing?

Mesh and UBL work differently. In the MBL the correction for each Mesh point is applied throughout the entire print. In the UBL System, you can specify how long until there is no correction. It is done with the G29 Fx.xx parameter. The correction will be the greatest on the first layer. But the correction will fade away over the specified distance (or Z-Height). The Fade Height defaults to 10.0 mm but can be specified at what ever height makes sense for the user's print.
Sorry, only registered users may post in this forum.

Click here to login