Mesh bed Levelling with BLTouch. Am I doing something wrong?
-
Looking at how your gcode is linked together I think the issue is that in bed.g you have g28 Z, which calls homez, which calls 2 other macros, which is different than the behaviour of homeall. Also, homeall doesn't appear to home the Z axis at all.
You need to go through your order of operations and follow along with what's being executed.
I also see that you have some of your endstop configuration etc in your homing files. This is fine, but you need to be careful that when you change something it's not going to be overwritten later on by a different file.
to track this down I would suggest executing all of your macros line by line manually in the order that you would normally. And if you notice you're sending the same gcode again later with different values you might find that you're changing something you shouldn't be.
-
Hi,
Thanks, I'll try to make it more simple so I can debug it, although checking the compensation and calibration in the GUI, it seems that mesh is being used (I'm executing G29 S1 in my gcode):
Regarding the homeAll, I'm not using it... Im doing the homing "manually" (First homing X, then Y, and then Z, one by one), after that, I do the G32 and G29, and then if everything was successful, I launch the print... I got used to do it in that way when I was using a non-very-reliable probe some time ago...
Regards
-
What do you have in your slicer start gcode?
-
Seems to be the exact same problem I have. My IR Probe scans the bed, reports properly, but when printing, it ignores it.
-
@okercho
What happens if you add to the start fo bed.g ?M290 R0 S0 ; clear baby stepping M561 ; clear any bed transform
-
Same problem for me with bltouch.
I follow the post -
Hi all,
At least I'm not the only one so... we're all doing something weird
This is my start code, is based on the Prusa one (I'm using PrusaSlicer)
G90 ; use absolute coordinates M83 ; extruder relative mode ;G32 ; Bed Level {if first_layer_bed_temperature[0] > 0} M140 S[first_layer_bed_temperature] ; set bed temp M190 S[first_layer_bed_temperature] ; wait for bed temp {endif} G29 S1; mesh bed leveling M104 S[first_layer_temperature] ; set extruder temp M109 S[first_layer_temperature] ; wait for extruder temp G1 X40 Y100 F5000 G1 Y0 Z0.6 F3000.0 ; go outside print area G92 E0.0 G1 Z0.2 X30.0 E9.0 F1000.0 ; intro line G1 X100.0 E12.5 F1000.0 ; intro line G92 E0.0 M221 S{if layer_height<0.075}100{else}95{endif}
Regards
-
@OwenD said in Mesh bed Levelling with BLTouch. Am I doing something wrong?:
M290 R0 S0 ; clear baby stepping M561 ; clear any bed transform
I've changed my bed.g for this and report back, although as I'm using G32 right after starting the printer, I don't think this will apply
M290 R0 S0 ; clear baby stepping M561 ; clear any bed transform ;G28 X ; home X ;G28 Y ; home Y G28 Z ; home Z G1 X5 G30 P0 X25 Y165 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X290 Y160 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors G28 Z ; home Z G29 ; Mesh Bed Levelling
Regards
-
Is there a reason why your probe points for the lead-screws do not share the same Y values? One is 165 the other 160.
Also looking at the two meshes that you provided there is something odd going off. The first (lower resolution) mesh shows part of the bed to be "above zero" with the rest below, the second (higher resolution) mesh shows pretty much all of the mesh "below zero". That does not seem correct to me.
-
One possible issue is that you are doing g32 and g29 before the printer is up to temp. Recommend moving the g32 after the nozzle and bed heating commands.
Most likely your printer and bed dimensions are slightly changing due to probing before everything up to temp. Try to probe as close as possible to printing so things don’t change from where the printer thinks thing are to where they actually are now.
-
@gloomyandy said in Mesh bed Levelling with BLTouch. Am I doing something wrong?:
Is there a reason why your probe points for the lead-screws do not share the same Y values? One is 165 the other 160.
Also looking at the two meshes that you provided there is something odd going off. The first (lower resolution) mesh shows part of the bed to be "above zero" with the rest below, the second (higher resolution) mesh shows pretty much all of the mesh "below zero". That does not seem correct to me.
Regarding the different Y, the printer is a CoreXY with 2 lead-screws. When I checked for the Y position for the G32, I discovered that the motors were not perfectly aligned, and that's reflected in the bed file.
About the image, the bed is magnetic, is an aluminum heated bed, with a glass on top that has the magnets on it (Buildtak) and the steel sheet on top. I'm assuming that even though I put the sheet always the same way, the measurements changes. I'm doing always a G32 and a G29 after removing and installing the sheet, and if I repeat the G29 (without removing the sheet), results are consistent.
Regards
-
@mwolter said in Mesh bed Levelling with BLTouch. Am I doing something wrong?:
One possible issue is that you are doing g32 and g29 before the printer is up to temp. Recommend moving the g32 after the nozzle and bed heating commands.
Most likely your printer and bed dimensions are slightly changing due to probing before everything up to temp. Try to probe as close as possible to printing so things don’t change from where the printer thinks thing are to where they actually are now.
I'm not always using the heated bed. When I do, I put the bed on, wait for it, and then home Z and perform the G29, as I´ve noticed, as you said, that bed expands (and as I've several "layers", it needs more time to reach the temp on top).
Regarding the nozzle temp, as I'm using a BLTouch, the nozzle temperature is not "important", I just have it into account for the G31 command.The problem is that, checking the raft, it doesn't seems to be applying the compensation... even though as per the heightmap, the printer is aware of it :S.
Regards
-
An easy way to check if the mesh is applied is to watch the z steppers for the first layer. They should move slightly if mesh compensation is enabled.
-
@mwolter said in Mesh bed Levelling with BLTouch. Am I doing something wrong?:
An easy way to check if the mesh is applied is to watch the z steppers for the first layer. They should move slightly if mesh compensation is enabled.
I did... I can see the left side still more squashed and I cannot see the motor moving (I've put a bit of tape and I´ve been observing it, and I think it didn't move at all...)
-
@okercho When you are printing, if you go to the 'Dashboard' and click the 'Compensation & Calibration' button, what does it say at the top of the dropdown?
If mesh compensation is enabled it should look like this.
Compensation in use: meshP.
-
@PaulHew I posted before :), yes, it says "mesh" in use
![alt text]( image url)
I'm thinking about doing the difference between left/right quite obvious on purpose, to see if it actually works or not, as I think mesh is applied even if you're not printing but moving the head around...
Regards
-
I find the best way to test the success of mesh compensation is to print a test file like this twice, once with it enabled and once without.
bedlevel_nozzle_0.4_200x200-0.3-0.8.stl
Also ensure that your taper height isn't set too low with M376
https://duet3d.dozuki.com/Wiki/Gcode#Section_M376_Set_bed_compensation_taper
-
@okercho said in Mesh bed Levelling with BLTouch. Am I doing something wrong?:
I'm thinking about doing the difference between left/right quite obvious on purpose, to see if it actually works or not, as I think mesh is applied even if you're not printing but moving the head around...
You height map is actually very flat, so it will be difficult to see the Z axis moving due to bed compensation being active.
It's not uncommon for the height map not to match what you see when printing, which may be the case here. This happens when you use a Z probe with a large offset from the nozzle, and the print head doesn't stay in exactly the same plane as it moves over the bed. For example, some printers have an X carriage that moves on 2 smooth rods. If there is a slight twist between those rods, then the print head will rotate slightly about the X axis as it moves in X. If the Z probe is offset from the nozzle in the Y direction, that will cause the relative heights of the nozzle and the Z probe to change.
-
I tried bed leveling with different probes, ir probe and bltouch.
My Problem was different trigger heights at different locations on the bed with both probes.
Check that. Trigger height should be the same, no matter where you probe on the bed.
I think the printhead is somehow twisting.
Good luck!
-
@dc42 said in Mesh bed Levelling with BLTouch. Am I doing something wrong?:
@okercho said in Mesh bed Levelling with BLTouch. Am I doing something wrong?:
I'm thinking about doing the difference between left/right quite obvious on purpose, to see if it actually works or not, as I think mesh is applied even if you're not printing but moving the head around...
You height map is actually very flat, so it will be difficult to see the Z axis moving due to bed compensation being active.
It's not uncommon for the height map not to match what you see when printing, which may be the case here. This happens when you use a Z probe with a large offset from the nozzle, and the print head doesn't stay in exactly the same plane as it moves over the bed. For example, some printers have an X carriage that moves on 2 smooth rods. If there is a slight twist between those rods, then the print head will rotate slightly about the X axis as it moves in X. If the Z probe is offset from the nozzle in the Y direction, that will cause the relative heights of the nozzle and the Z probe to change.
Actually that makes a lot of sense... I'm using 8mm rods for a 300mm bed, and I was thinking that maybe is just not sturdy enough...
I'm gonna see how can I replace the 8mm rods by 10mm... wish me luck!
I'll report back.
Cheers