The fix for the bed levelling is in GitHub and waiting for the testers I understand. I built it and installed it just to see. First thing was my test with the 5mm block on one of the probe points and I am very pleased to say that when I then move the nozzle to that position after levelling it is at 5mm.
Some other stuff - G42 now takes the nozzle to the probe points so G1029 W now does the same as G42. When you are at the probe position M114 reports the correct X,Y coordinates. The only one thats a bit odd is G30 X Y which takes the coordinates as workspace and moves the sensor to the RAW coordinates taking off the workspace offset. A G30 without X Y is fine.
And the all important levelling?
I adjusted the firmware for my IR probe offset, got rid of the heaters off command in G1029 and used my leveling macro at 65c that has the probe to nozzle Z offset dialed in. This is the result of the first print (sorry, black on black wasnât the best choice). Completely level over the whole bed. When cool the web lifted off in one piece - always the ultimate test.
Also attached my output from OctoPrint bed visualizer. My bed is far from level - quite flat but definitely not level.
Not tested anything else but so far so good.
@stewl thats awesome news. Also do you realize how much you have contributed to improvements of the machine? The IR probe sensor write up, and now your discovery of the bed leveling issue. It honestly shouldâve been a wake up call for the Snapmaker team to listen to their users more. Iâve only delved into the firmware a little bit, but if I had dug more I doubt even I wouldâve seen the issue like you did. Thank you for all of your contribution.
Thanks for the complements @Artezio.
I have to admit though that I didnât find the actual problem in the code I just proved that the firmware was not doing what it should through a simple experiment that anybody could do. When I was checking how my new sensor performed there was something wrong. The sensor was working great but when printing it was out. There had to be an explanation and because of the numbers it was clear it had to do with workspace offset. Hopefully everybody will get more reliable prints when the changes are incorporated into the released version of the firmware.
sorry I am new, where can i find an STL for that bed web / spiral test you did?
(i have only printed small objects at center on mine so far and itâs aok - but would like to test the while thing! )
Hi sorry for the delay, had some electrical work done on the house and if there is one thing none of this works without itâs electricity!
I got it from here, I then scaled it to fit the A350 bed and be 0.2mm layer high tp give one layer with my print settings.
I have attached the GCODE for the Snapmaker A350 sized spiral. It completely fills the bed so any other size and you will need to scale it yourself. Also added a handy little âhandleâ in the middle so you can lift it off in one piece when the bed is cool. spiral-bed-level-test-prusa.zip (147.1 KB)
Hi. My prints are skewed in one direction. I did the whole manual leveling. Still the prints before and after had similar poor adhesion in one section.
I didnât understand the fix that you made in the firmware. Could you elaborate on it ?
Thanks.
ALso, I have been reading threads on bad levelling with inductive sensor. Doesnt Prusa use inductive sensor too? I find their leveling is much better.
I didnât fix the firmware, I just identified the problem and Snapmaker fixed it though it has not yet been included in a formal firmware release yet.
Basically the probe calibration process measures the changes in level across the print surface between the probe and the metal plate below the print surface and makes a mesh, like a topographical map of the print surface. You then measure the difference between the probe hight and the nozzle when you do the last position with the levelling card. The mesh/map is moved down by that amount so you now have a mesh/map of the hight differences between the nozzle and the print surface. When you print the print routine routine moves the print head up and down as the height of the mesh/map changes so the distance between the nozzle and the bed stays the same and you get a good first layer.
Unfortunately the calibration routine and the print routine didnât match up so a hump in the bed measured by the probe was used in the print routine to move the head up in a different location on the bed. The whole print routine was out by -19mm in the Y direction and -10mm in the X direction.
Snapmaker have fixed the code but not released a new firmware with the change. If you want the changed code before a formal release is made you need to build the firmware yourself from GitHub using the instructions Snapmaker have included there.
The Snapmaker inductive sensor has a very small sensor range which some people have suggested has an impact on accuracy. In addition itâs measuring the metal plate below the plastic print surface so if that plastic print surface is not perfectly even at of a uniform thickness across the whole plate any changes in that thickness will not be measured by the sensor. Once the software is fixed though it will be interesting to see if people get a much better first layer
I have moved to printing on glass as itâs inherently flat even if itâs not level and since I changed to the IR sensor I am measuring the actual surface that I am printing on.
@zk1005 in addition to his explanation, @stewl is the one that discovered the auto leveling problem in the firmware because he did an IR sensor upgrade from duet3d and adapted it to the Snapmaker, and with the IR sensor being better than the Snapmaker stock inductive probe it shouldnât be having bad mesh leveling, yet it was still off which prompted him to start looking at the firmware in more depth and found the error.
@Artezio . Thats good to know. So what was the error ? because I have bad leveling even after attempting several manual levellings. its like the firmware is not âSavingâ the leveling.
@stewl thanks for the spiral pattern, i also note in github there is an issue with measuring the 1st co-ordinate, could this explain why i have adhesion issues at lower left of my build plate (near where that 1st co-ord is?)
In this case the sensor offset was being correctly handled, it was the workspace offset that was being taken off twice that caused the issue. @scyto I think this issue was the one where the head went straight down to the bed from the home position when a bed levelling was started and then moved to the initial X.Y position. In some cases the sensor would fail to detect the bed and crash into it. They changed the process so that it moves down to the initial X,Y position directly. The first probe was never in the wrong position.
Looks like the new version with the levelling fix will be out soon.
Version V4.2.3 was committed in GitHub yesterday. It took about 10 days for a new release after a GitHub version commit last time.
@stewl . This explanation does clear a lot of things for me.
I have only recently purchased Snapmaker. I have been using Prusa MK3S for the last 2 years. So If I want to upgrade to the IR sensor like you have (since I also want to work on the glass surface in the future), Could you show some guidelines ? Thanks a lot.
I have put it on Thingiverse but itâs probably easier to use the link to get to my Google docs.
Itâs in a thread about printing on glass that has lots of useful stuff in it. Worth clicking on the first link and having a browse.
Thanks @stewl . Iâll get back to you on this.
Regarding the changes in the code in the GitHub, How does eliminating RAWPOSITION help with the issue where there is bad adhesion only at the lower side of the plate ? It doesnât make sense to me.
It depends on what is causing that.
The print routine extrapolates from the outside probed points to the edges of the bed and the code error means that it treats the right most row of probed points 19mm to the left of where they actually where so firstly they will not be at the correct height for where the print routine thinks they are and secondly for the right side of the bed they will be extrapolated much further. The actual impact depends on how flat and level your bed is. The flatter and leveller, the less the impact. Thats why printing on glass helps even with the software error as glass is flat (as long as you donât clamp it down) so levelling just has to sort out the slopes!