problem with irregular bltouch mesh
-
@RODOKAS said in problem with irregular bltouch mesh:
I really don't know if the M500 makes a difference at the end of the ABS macro
It doesn't do anything in this case because there hasn't been anything calculated or measured to save to config-override.g.
-
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.1.1 on Fri Jun 05 2020 16:15:12 GMT-0300 (Horário Padrão de Brasília) G91 ; relative positioning G1 H1 Z-350 F900 ; move Z down until the endstop is triggered G1 Z3 F900 G1 H1 Z-5 F150 G92 Z0 ; set Z position to axis minimum (you may want to adjust this) G1 H1 Z3 F900 G1 Z2.9 G30
Your homez could be improved. The endstop leveling proceeds correctly, but then it gets a bit odd.
Remove this part
G92 Z0 ; set Z position to axis minimum (you may want to adjust this) G1 H1 Z3 F900 G1 Z2.9 G30
And replace it with
G1 Z3 ; raise for clearance G1 X150 Y150 ; move to center G30 ; probe the bed
Probing the center of the bed is important for setting Z0 since you are adjusting the tilt of the bed. You want to measure the center of that tilt.
You're also only using the endstops for tilt correction. You aren't using the probe anywhere. This is fine as long as the endstop positions are accurate to remove any tilt.
See here for how you would use the probe to correct for tilt.
https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors
This would normally be done in G32/bed.gCan you please post this macro s well: M98 P"0:/macros/configuracao_sonda"
Then in your prepare_abs macro to generate the heightmap you would have G28 to home the bed, G32 to level the tilt with the probe, and then G29 to create a heightmap of the bed surface.
-
@Phaedrux
I'm sorry I forgot that I leave the probe configuration in a macroM950 S0 C"exp.heater3" ; criar servo / gpio 0 no aquecedor de 3 pinos no conector de expansão M558 P9 C"^zprobe.in" R0.2 H2.8 F60 T10800 ; BLTouch conectado ao pino de entrada da sonda Z G31 P500 X-4.5 Y25 Z0.55 ; deslocamento da sonda com o bico M557 X20:280 Y30:290 S50 ; define mesh grid
if my z-axis is a little unbalanced, it can hit, so I don’t think it’s safe to probe the center of the bed and then probe the bed close to the engines, maybe if I did all that I mentioned after using the endstop I already have it would make it safer.
I will try this change and then put the result.would my new abs mesh macro look like this?
;macro /macros/__prepare_ABS.g prepare the machine after a cold start for ABS printing T0 ; define tool M190 S95 ; Set the bed temperature at 95°C and wait for it G28 ; home G29 S0 ; executa leitura da cama G29 S3 P"ABS.csv" ; salva a leitura como ABS G1 X5 Y5 F7200;
-
@RODOKAS said in problem with irregular bltouch mesh:
would my new abs mesh macro look like this?
Yes that looks cleaner.
@RODOKAS said in problem with irregular bltouch mesh:
if my z-axis is a little unbalanced, it can hit, so I don’t think it’s safe to probe the center of the bed and then probe the bed close to the engines, maybe if I did all that I mentioned after using the endstop I already have it would make it safer.
I think it would be ok because your first homing pass is with the endstops which should remove most of the tilt even if it's not perfect and establishes an approximate Z0 point. Probing the center to get a finer measurement and then a probe based tilt correction to get it dialed in before creating the heightmap should give good results.
-
@Phaedrux I don't know if I expressed myself correctly, I would prefer to continue with the optical endstop that I have for the 2 engines, then probe the center of the table, and then afterwards set the z0 for each engine again using the bltouch next to each spindle. would it be possible?
I can't imagine how it would be, the link to teach to use either the probe or the endstop, but not the two systems. -
The way I have described uses both. The endstops are used for the first pass just as they are now, but then the probe is used afterwards.
The homez you already posted uses both the endstops and then the probe. The only change I've suggested is probing the center of the bed after the endstops are done, and then doing the tilt correction again with the probe as described in that independant leveling link.
-
@Phaedrux I inserted it in my home z, it seems that everything works fine
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.1.1 on Fri Jun 05 2020 16:15:12 GMT-0300 (Horário Padrão de Brasília) G91 ; relative positioning G1 H1 Z-350 F900 ; move Z down until the endstop is triggered G90; G1 X150 Y150 Z3 F6000; raise for clearance G30 ; probe the bed M671 X-43:343 Y165:165 S1; parafusos de avanço à esquerda (conectado a Z) e à direita (conectado a E1) do eixo X M208 X0:300 Y0:300; G30 P0 X10 Y150 Z-99999; sonda perto de um parafuso de avanço, a meio caminho ao longo do eixo Y G30 P1 X290 Y150 Z-99999 S2; sonda perto de um parafuso de avanço e calibre 2 motores G1 X5 Y5 F6000;
-
@RODOKAS said in problem with irregular bltouch mesh:
M671 X-43:343 Y165:165 S1; parafusos de avanço à esquerda (conectado a Z) e à direita (conectado a E1) do eixo X M208 X0:300 Y0:300;
That part should go in the config.g
You should also add an additional G30 at the center of the bed after the tilt correction since changing the tilt will change the Z0 point as well.
-
@Phaedrux thank you very much for the help, my g codes are cleaner and more correct, however I carried out new tests and saw no difference, I believe that some problem is not in firmware, to eliminate the possibility of a problem with the screws, I put it on the slicer for the jump za each travel movement in about 4 mm, thus eliminating any possibility of clearance on the z axis, even so I did not have any different results, the right side of the printer, where I have y + is always higher and I cannot make the engines compensate for that. the mesh is good but in practice that side gets higher.
this is the current mesh, everything looks perfect, but when I print I don't get the same in practice as the theory, it seems that the motors do not obey the correct values of the mesh.
-
I also tried a mesh with more stitches, 121, but I got the same result, the right side of the machine, the first layer is more crushed, the only way to correct this is by using the table screws after creating the mesh.
-
When you run the leveling probes what results do you get in the console?
G30 P0 X10 Y150 Z-99999; sonda perto de um parafuso de avanço, a meio caminho ao longo do eixo Y
G30 P1 X290 Y150 Z-99999 S2; sonda perto de um parafuso de avanço e calibre 2 motoresYou may need to run the leveling passes more than once.
-
@Phaedrux
G28:
Leadscrew adjustments made: 0.105 0.104, points used 2, (mean, deviation) before (0.104, 0.001) after (0.000, 0.000)G29:
121 points probed, min error -0.105, max error 0.092, mean 0.003, deviation 0.042 -
@Phaedrux said in problem with irregular bltouch mesh:
G30 P0 X10 Y150 Z-99999; sonda perto de um parafuso de avanço, a meio caminho ao longo do eixo Y
G30 P1 X290 Y150 Z-99999 S2; sonda perto de um parafuso de avanço e calibre 2 motoresCopy and paste that section a few times to run it multiple times in a row.
@RODOKAS said in problem with irregular bltouch mesh:
the right side of the printer, where I have y + is always higher and I cannot make the engines compensate for that. the mesh is good but in practice that side gets higher.
Just to confirm that we're dealing with a standard coordinate system, 0,0 is the front left corner and +x goes to the right, -X to the left, +y to the back, and -Y to the front.
-
@RODOKAS said in problem with irregular bltouch mesh:
I also tried a mesh with more stitches, 121, but I got the same result, the right side of the machine, the first layer is more crushed, the only way to correct this is by using the table screws after creating the mesh.
Are you sure that mesh compensation is active during printing?
Do you perhaps have a stray G32 somewhere. The only bed.g code I see cancels mesh compensation.
Frederick
-
yes
-
@fcwilt there is no lost g32, but now i have fixed my beg.g file so as not to cancel the leveling anymore.
-
the result was wrong when the mesh compensation was active, as the table was not with uneven corners, I decided to try without the bed leveling active because at home it does the leveling of the sides of the table by the motors, so in theory even without active mesh was not to have differences close to the spindles.
resultaldo, the same error. so even when leveling the spindles using the bltouch, which is very good, and disabling the mesh compensation, in the first layer there is a difference between the points near the spindles, this could not exist because the spindles were leveled using the bltouch. I am really confused on what could be happening because I discard mesh error, firmware.
thank you all for trying. -
There are other reasons for the mesh to not match the bed. Since we're only leveling two motors, it's only tilt correction. You need 3 points to create a plane. Even then the bed itself can be warped in some way. Not only that, there is the X and Y travel ways which can be warped or not square/parallel/true. There can also be tilt of the print head which varies between XY coordinates which causes inaccurate measurements.
The function does work on other printers, so you'll need to find out what is different about your printer that is preventing it from working properly.
-
@Phaedrux
Thank you! -
Not sure if this was covered here. Do you perform the bed mesh with the bed at printing temperature?