Mesh Compensation Overcompensating a bit?
-
@suntoxx said in Mesh Compensation Overcompensating a bit?:
Adjusted z by 0.01mm and result is consistent and perfect now!
Congrats!
-
@suntoxx said in Mesh Compensation Overcompensating a bit?:
@fcwilt that would be worth a try, although if a tiny piece of filament gets under the sheet, i suppose that could cause a problem.
It seems your suggestion worked perfectly, thanks! The higher number of probe points does even things out. I did not expect that. I expected the surface to be uneven, but in a more rolling slope way. Seems to be pretty rough terrain though.
Yes beds can be more uneven then you might expect. But I have found a 400 point grid handles my largest bed, 300 x 300. I use tool plate aluminum for all my beds but even they could benefit from machining if I could fine someone to do it.
The startcode for prusaslicer i posted, works like a charm. It automatically calculates the needed mesh compensation area and adds it to the print. However, i believe this is actually something that the Duet should do and not the slicer. Is there a way to have Duet calculate the extends of the printed object, without the need to add code to the different slicers (that on top needs to be compatible with the slicer in question)?
I suppose it could be done but it might be slow since the entire file would have to be scanned and analyzed. The slicer is running on your computer which likely has a processor far more powerful than the one in the Duet.
Since I create the heightmap perhaps once a month and use it for all subsequent prints I have never investigated the approach you are using.
And what do you believe is the lowest distance between probe points that makes sense? I used 8mm and it works nicely. Would more yield the same result? Is there a point where decreasing it makes no sense technically (angles can't be too steep I suppose?)
I don't specify the distance, just the number of points in each direction, using the P parameter. So a 400 point grid uses P20:20. The largest bed I have is 300 x 300 but I limit the printing area to 280 x 280. So 280 mm divided by 20 points is appx 14 mm. I could use P21:21 to obtain exactly 14 mm.
I might consider having more than one heightmap covering different areas (300x300, 200,200, etc) but keeping the 400 points. It would still involve creating them "once" and using them for all subsequent prints.
Glad to hear things are working well for you.
Frederick
-
Seems i was a bit overconfident this morning (or more likely too comatose). There is still quite a difference in between them. This time i did 6 keychains (only the first layers), 21x21 points only on the needed area, resulting in something like 7mm distance between probes. The most striking difference is the bottom left keychain, which is squished (again), while the others could use some more squishing. The keychain first layers are in position on the foto, but flipped, so the underside can be seen.
@fcwilt I dont know how much power the duet has, but just scanning the first layer for the outer dimensions, shouldnt require much power if done in a smart way, i would think. Plus, couldnt DWC handle that, if it really needs more power than available? Then it has full access to the desktop cpu and ram.
Do you think it is possible to have a window pop up when starting to print, triggered by the custom startcode in Prusaslicer? Something like do you want to probe your bed? Yes will use the line i posted above, for automated mesh probing coordinates, and no/cancel will instead call for a saved 21x21 heightmap (which you refresh via a macro regularely)?
-
@suntoxx said in Mesh Compensation Overcompensating a bit?:
@fcwilt I dont know how much power the duet has, but just scanning the first layer for the outer dimensions, shouldnt require much power if done in a smart way, i would think. Plus, couldnt DWC handle that, if it really needs more power than available? Then it has full access to the desktop cpu.
Good point. I was thinking it would have to scan the entire file but of course it doesn't. So the Duet could likely handle it particularly if you used a setup that include the SBC.
Do you think it is possible to have a window pop up when starting to print, triggered by the custom startcode in Prusaslicer? Something like do you want to probe your bed? Yes will use the line i posted above, for automated mesh probing coordinates, and no/cancel will instead call for a saved 21x21 heightmap (which you refresh via a macro regularely)?
Absolutely.
The only custom code I enter into any of the places where that can be done is to enter a M98 call to my own code in the Duet.
For example in Prusa I could enter some or all of the following:
- M98 P"print_begin.g"
- M98 P"print_end.g"
- M98 P"print_layer_change_before.g"
- M98 P"print_layer_change_after.g"
- M98 P"print_tool_change.g"
- M98 P"print_filament_start.g"
- M98 P"print_filament_end.g"
To address your specific question it should be possible to use M291 with an S3 parameter to popup a dialog and prompt the user.
For example:
; some print start code M98 P"prompt_user.g" ; some more print start code
In prompt_user.g a M291 pops up the dialog with an OK and CANCEL option:
M291 R"prompt title text" P"prompt message text" S3 ; if the user selects CANCEL the code below is not executed and execution continues after the M98 P"prompt_user.g" call. ; some code to execute if the user selects OK
That's just one way to do it.
Frederick
-
Since I started 3d printing a couple months ago, when doing fine adjustments to prints, I kept having the impression that even the coordinates that are actually measured, are not used as absolute values.
Now the fact that the Keychain on the lowest part of the print area keeps being the most squished one, seems to confirm that perception. What is the reason behind this?
Would it result in a recognizable pattern to use the measured coordinates as absolute values and because of that, all absolute points get relativated and that can result in less adhesion on the lowest areas and to counter it, a "force into one direction" (downwards) approach is applied to those areas, which is what I keep seeing in the squished, bottom left Keychain?
With those Keychains, I would actually prefer that pattern. It could even be used, like the archimedic arcs on the top layer, or the way gyroid infill can look nice on certain occasions, shining through the perimeters. Some probing patterns to choose from.
If im right about this, is there a way (for someone who has no idea about coding) to switch from this "relative mode" to an absolute mode, in which only the areas between probed points get interpolated/relativated?
@dc42 is that impression more less correct?
@fcwilt that looks good, thanks! I will try to integrate that, once i come to a conclusion about how i use the mesh compensation to my best advantage. Maybe i will have to find a way to level my bed?
-
@suntoxx Have you a low mesh compenstaion taper?
https://docs.duet3d.com/User_manual/Reference/Gcodes#m376-set-bed-compensation-taper -
@suntoxx said in Mesh Compensation Overcompensating a bit?:
@fcwilt that looks good, thanks! I will try to integrate that, once i come to a conclusion about how i use the mesh compensation to my best advantage. Maybe i will have to find a way to level my bed?
You should absolutely level the bed as best you can - Mesh Bed Compensation is no substitute for Bed Leveling.
What about you current bed prevents it from being leveled?
Frederick
-
@suntoxx said in Mesh Compensation Overcompensating a bit?:
Since I started 3d printing a couple months ago, when doing fine adjustments to prints, I kept having the impression that even the coordinates that are actually measured, are not used as absolute values.
I don't understand what you mean.
Can you elaborate a bit?
Frederick
-
@fcwilt said in Mesh Compensation Overcompensating a bit?:
What about you current bed prevents it from being leveled?
Taking it apart and readjusting it every once in a while. Or is there a more permanent solution than the Nylock mod.
@fcwilt said in Mesh Compensation Overcompensating a bit?:
Can you elaborate a bit?
If the probed coordinates would be used as absolute values at those exact coordinates, they should be perfect in regard to z offset, getting more imperfect (on average) the further away from the probed point. The squished keychain i think proves this right.
Is there a way to set a "per stl" z offset? The keychains itself seem fairly uniform.
@stephen6309 said in Mesh Compensation Overcompensating a bit?:
@suntoxx Have you a low mesh compenstaion taper?
https://docs.duet3d.com/User_manual/Reference/Gcodes#m376-set-bed-compensation-taperNever heard of it, going to look at it, thanks.
Edit: If i understand it correctly, I would need the opposite of this command. For depths instead of height.
-
@suntoxx said in Mesh Compensation Overcompensating a bit?:
Taking it apart and readjusting it every once in a while. Or is there a more permanent solution than the Nylock mod.
Aside from my one printer with three Z steppers allowing for Auto Bed Leveling my other printers have 3 or 4 "thumbscrews" that can easily be adjusted use the Manual Bed Leveling Assistant the is built into the firmware
If the probed coordinates would be used as absolute values at those exact coordinates, they should be perfect in regard to z offset, getting more imperfect (on average) the further away from the probed point. The squished keychain i think proves this right.
Which is why I use that max number of probe points to restrict the amount of interpolation the firmware needs to do to determine the Z adjustment between probe points.
What is your bed made out of? Perhaps you could replace it with something flatter.
Frederick
-
@fcwilt it seems to be the standard Prusa mk3s heatbed.
-
@suntoxx said in Mesh Compensation Overcompensating a bit?:
@fcwilt it seems to be the standard Prusa mk3s heatbed.
I know nothing about that printer - I will see what I can find out. Some companies make upgraded parts for popular printers.
Frederick
-
@fcwilt it must be this one https://www.prusa3d.com/product/magnetic-heatbed-mk52-24v-assembly/
-
@suntoxx said in Mesh Compensation Overcompensating a bit?:
@fcwilt it must be this one https://www.prusa3d.com/product/magnetic-heatbed-mk52-24v-assembly/
So that is the one you currently have on your printer?
Frederick
-
@fcwilt yes, it's a MK52 with the Mk-52-block carriage, with LHBB10 aluminium bearing blocks.
-
@suntoxx Do you have to print them face down? I know that doesn't deal with the problem you're discussing.
-
@blacksheep99 yes, they are two sided.
-
@suntoxx Understood. I can't add much help to your issue. I did wonder if a smaller nozzle may help you achieve what you want.
-
@blacksheep99 i tried a .25 nozzle and it did work much better, but I had warping issues with this keychain size. A slightly smaler size did print very nicely though. Unfortunately i need this size. I could try it again though, as when I had the warping issues, I wasn't aware yet, that cleaning with iso and a shiny and clean surface, don't necessarily mean perfect adhesion. Now that i also use windex and water on top, adhesion is stronger. But i got most of the keychains printed already. I would still like to solve this problem though. Looking at a filafarm precision bed atm, but not sure if I can use that on a caribou.
And a little update: I got a 8x9cm surface area, that is close to perfect, and i can print 2 perfect keychains simultaneously on it
-
@suntoxx said in Mesh Compensation Overcompensating a bit?:
And a little update: I got a 8x9cm surface area, that is close to perfect, and i can print 2 perfect keychains simultaneously on it
I'm sure you recall that the more grid points you specify (max 21 by 21) the better the firmware can correct the Z position during printing
Frederick