Mesh Compensation Overcompensating a bit?
-
@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
-
@fcwilt yes, but on the rest of the bed, even 441 is not enough to print more than one at a time. On this part of the bed, 49 points gives a close to perfect result for two keychains at once. It's pretty much the center of the bed.
So it appears to me that something around 0.1mm deviation is more less the limit of what the mesh compensation can handle, if you expect more than adhesion.
Edit:"not enough" i meant
-
@suntoxx said in Mesh Compensation Overcompensating a bit?:
So it appears to me that something around 0.1mm deviation is more less the limit of what the mesh compensation can handle, if you expect more than adhesion.
Not sure what you mean. There is no such limit that I am aware of.
But it is certainly true that since the process interpolates between gird points that the bed can have deviation between those points that the firmware will not be aware off.
Perhaps by using the max number of grid points you can find a size of grid that can print more than 2 items.
Frederick
-
@fcwilt the z offset only works as good as I need it to be in this project, for a narrow margin of heights. Unfortunately this 8x9cm area in the middle of my bed seems to be the only area with a suitable height range. There i got maximum deviations of about 0.1mm and i can print two instead of one of the qr code keychains. I identified its coords via a P21 heightmap.
That's why i was looking at the precision bed from Filafarm, which is supposed to have around 0.05 deviations. When it's no problem to just level down and squish the unevenness away, it's ok. But if i want to maintain the perfect look of the .3mm extrusion width lines, it's a different matter, as I have to maintain a positive offset. On the center of my bed, for the 2 keychains, I now use 0.01 offset.