I am now convinced that there is an algorithm problem in the bed compensation.
I pushed the tests carried out in my previous post on 5 machines, 4 of which I am absolutely sure of the mechanical quality of the machine and the results are 100% similar.
Although at first glance the work done in the algorithm seems of high quality, (a big congratulations and thanks to @Arksine and @koconnor for their work !) forced to recognize that there is a problem.
And the exact repeatability of the problem, whatever the machine, clearly reflects an algorithmic problem. (Even if the compensation algorithm seems quite correct and very well thought out !)
The crushing of the first layer will systematically give, whatever the machine, the following thing :
The green zone is the one whose crushing is the most coherent according to the z offset, the blue zone is the one where the layer lacks crushing, the red zone is the one where the crushing is too important. (I performed my tests with a number of points ranging from 5 to 15)
I also checked if my “real” z-offset (without mesh) was constant along this digonal (to be able to rule out a twist problem from my axes) and the offset remains constant throughout the area.
Here is an example of “bed_mesh_output” from one of my machines.
This is my worst machine with a variance of 0.1047mm for a 235mm bed,
my best having a variance of 0.03mm for a 290mm bed.
In printing, however, the results are identical.
13:46:32
// Mesh Leveling Probed Z positions:
// -0.007917 -0.037813 0.000208 -0.033958 -0.037292
// -0.011979 -0.021979 -0.004583 -0.032500 -0.050729
// -0.012917 -0.020729 -0.002917 -0.019792 -0.044792
// -0.018646 -0.013646 0.009271 -0.011875 -0.033229
// 0.053958 0.031562 0.053854 0.031667 0.010833
13:46:32
Mesh X,Y: 5,5
Search Height: 10
Mesh Offsets: X=0.0000, Y=0.0000
Mesh Average: -0.01
Mesh Range: min=-0.0507 max=0.0540
Interpolation Algorithm: bicubic
Measured points:
0.053958 0.031562 0.053854 0.031667 0.010833
-0.018646 -0.013646 0.009271 -0.011875 -0.033229
-0.012917 -0.020729 -0.002917 -0.019792 -0.044792
-0.011979 -0.021979 -0.004583 -0.032500 -0.050729
-0.007917 -0.037813 0.000208 -0.033958 -0.037292
As a developer (on .NET applications), I know that it can be frustrating not to have sufficient and objective elements to debug a problem.
And sometimes non-developers wishing to help tend to want to dismiss issues that do not seem related to them.
And for developers sometimes doing this work is tedious!
It takes time (sometimes more in tests than in coding), you have to have a dedicated machine for testing…
However, we all have the power to help developers by clearly and factually explaining our problems to them.
And of course with the greatest courtesy and patience!
We must not lose sight of the fact that they work voluntarily for the community !
For my part, if the development team needs someone to carry out tests without it penalizing them in their other projects,
I can dedicate one of my machines to that. They feel free to contact me if they need it.
Again a big thank to the dev team who provides us with high quality firmware and with incredible flexibility of settings !