Feature Request: auto level calibration with heated bed and nozzle
Request: Can you please give the option not to automatically set the nozzle and bed temperature to 0°C, if you start auto bed level calibration directly from the maschine.
Background: The bed does bent, if you heat it up to 85°C by about 300-400µm to the outer compared to room temperature. This makes a big difference in printing adhesion, especially with object with a big footprint. I lost about 1kg of ABS and 2 working days, until I found the reason for the problems with adhesion, although I have tried a lot of variants with auto bed leveling.
Work Around: Connect to the SM2 with Luban and serial port. Then set the nozzle and the bed temperature. If you then start the auto calibration, it will hold the setting and you can do leveling unter printing conditions (heated bed and nozzle). After this procedure my large prints immedeatly where successfull.
Thanks in advance for condisering this request, jomjol
Hi jomjol, Thank you very much for your suggestion.
We are actually looking at this issue and we are trying to solve it from two aspects. On the one hand, we are trying to reduce the deformation of heating bed from the mechanical structure; on the other hand, we are also doing the leveling comparison test between heated and unheated.
When the test is finished, we will evaluate the test results, if the test results indicate that the heating and then leveling to obtain better printing results. We will provide an option to level after heating directly on the touch screen.
Thanks! Scott
Hi Scott, thanks for the fast feedback. I appreciate, that you are already working on this issue. Maybe two additional remarks:
- Reducing the deformation by structural optimization is great, but does not help the already shipped tools, like mine
- I even would not need an additional option. If I could set the nozzle and bed temperature by hand before leveling and it just would not reset them to zero would already be sufficient.
I need to heat up the nozzle before leveling anyway to clean it, otherway I have a peace of hard filament, which will disturb the leveling anyway.
We were talking about this on the forum
As we know, bed leveling depends on the temperature of the bed. we appreciate the efforts in redesigning the aluminum web to be more robust, but doesn't help the 7600 units in the field.
The calibration routine disables the heater, which we believe is to prevent the current flow from affecting the sensing range of the prox sensor. while it would probably be fine if it was consistently on or off, the bed will turn on and off while heated to maintain a temperature within a hysteresis.
Lets modify the calibration routine to wait until temperature is reached, move to position, disable bed, probe, enable bed, move to position, disable bed, probe.... etc
One of our best members was talking about making this mod himself but thought i'd put it out there. its a wise workaround the issue.
Also, I have found that starting a calibration and then setting the temperature via luban will result in luban's temperature readings to freeze at what was shown and do the calibration, but it would seem that they are actually turning off because they are cooling down rapidly by the time it finishes. i am not able to get a response to my request to set the temperature during this scenario, but this was during a custom 11 x 11 calibration grid. by the time calibration was completed and the ability to adjust temps returned, the temp had dropped by 10 or 15 degrees (i forget now its been a hot minute)
The fact the bed is pre-heated makes a large impact on the bed's topography and does take a little time to revert back to its cold shape after the fact, so pre-heating is a valid method for improving calibration. realistically though, the same could be said about it taking some moments in order to distort when the temperature rises too.
its almost as if a heated calibration option would need to have a time delay built into it to accommodate for the time it takes for the warpage to happen as well. as such, this should be an optional process. i think the time it would take to fully deform depends greatly on many individual variables, so it would probably need to be a substantial figure to cover all the bases. maintain temp for 20 minutes?
i guess if we are going to have an option for it, may as well allow a user definable value for this delay. "advanced settings"
Hi Scott, thanks for the fast feedback. I appreciate, that you are already working on this issue. Maybe two additional remarks:
- Reducing the deformation by structural optimization is great, but does not help the already shipped tools, like mine
- I even would not need an additional option. If I could set the nozzle and bed temperature by hand before leveling and it just would not reset them to zero would already be sufficient.
I need to heat up the nozzle before leveling anyway to clean it, otherway I have a peace of hard filament, which will disturb the leveling anyway.
In latest firmware(v1.8.0.0+), it won't abort the heating when start auto-leveling.
Hi Bsherba, Thank you for your concern! In addition to improving the subsequent products, we are also working on improving the products that have already shipped.
We are working on improving the leveling effect right now to improve the print quality. We have experimentally verified that the heating bed brings a relatively large deformation after being heated, and its impact is already greater than the error of the sensor due to heat.
So leveling after heating is our next optimization step, and we will provide the settings on screen to choose whether to heat before leveling.
And you mentioned that adding a delay time so that after heating bed is heated to the target temperature, it will delay for a period of time before automatically starting leveling. This is a good suggestion, I will pass it on to my colleagues responsible for screen application development and suggest them to add this setting option.
Then you mentioned above that luban can't get the real time temperature after starting leveling, this is because leveling blocks the response of other gcode, and luban is getting the temperature through M105.
We are working on improving the leveling effect right now to improve the print quality. We have experimentally verified that the heating bed brings a relatively large deformation after being heated, and its impact is already greater than the error of the sensor due to heat.
Hi Scotth, I was reading the Marlin documentation and there are some settings that give you the best of both worlds. Marlin allows you to heat up the bed, then turn heaters off while you problem with the inductive sensor, then turn heaters back on while you move to the next probing position. Here is link to those settings. Maybe this can be part of the Snapmaker solution to have both heated bed without noise on the inductive sensor when probing.
https://marlinfw.org/docs/configuration/configuration.html#probe-with-heaters-off
We are working on improving the leveling effect right now to improve the print quality. We have experimentally verified that the heating bed brings a relatively large deformation after being heated, and its impact is already greater than the error of the sensor due to heat.
Hi Scotth, I was reading the Marlin documentation and there are some settings that give you the best of both worlds. Marlin allows you to heat up the bed, then turn heaters off while you problem with the inductive sensor, then turn heaters back on while you move to the next probing position. Here is link to those settings. Maybe this can be part of the Snapmaker solution to have both heated bed without noise on the inductive sensor when probing.
https://marlinfw.org/docs/configuration/configuration.html#probe-with-heaters-off
Hi mdl2021, this is really interesting! Do you know how we can reconfigure these settings in the Marlin configurations for the SM2? I'm new to this but it sounds like you need to recompile Marlin and then likely upload that into the firmware of the SM2. Is there a tutorial on how to do that?
I saw another 3D printer which is doing like this:
- start g-code of the model
- printer is heating bed and extruder till the given temp of the used filament
- printer starts an automatic calibration before start printing
- print first a test line at the front end of the bed
- starts printing the model