Duet Maestro in MakerGear M3
-
manual bed level assistance and bed mesh compensation are two different things and you can use them together.
Bed.g is just a macro file that happens to get called by G32. You can put whatever you want into bed.g. It's up to you how you use it.
Manual bed level assistance as laid out in the documentation would make sense to put into bed.g so that you can run it with G32.
Mesh compensation is different. G29 will run a probe routine and map the bed surface and save the results. G29 S1 can then be used later to load that saved result.
So your bed.g file could be setup to home the printer, clear any bed adjustments, probe the points nead the screws for manual leveling assistance, and then load the saved heightmap if you wish, or probe the entire bed. It's entirely up to you.
I would suggest visualizing how you want things to proceed when you start a print and write that out step by step, and then trying to work through how that would look with Gcode. Ask yourself if something needs to be done before each print, or only occasionally. Do you want it to happen automatically, or only by request? What state does the machine need to be in before each step? What state will it be in afterwards?
-
So what’s the m671 stuff in the config.g for?
I’ll just be looking to do the manual adjustment on occasion, of course. It seems to hold its position quite well. However, before each print I plan on a somewhat quick 9 point mesh compensation as that’s what it used in stock form and I had zero complaints. The print area is only 202 x 233
-
M671 is where you define the position of the screws.
https://duet3d.dozuki.com/Wiki/Gcode#Section_M671_Define_positions_of_Z_leadscrews_or_bed_levelling_screws -
Ok, that makes more sense. So, if I place the nozzle above a screw to find it’s XY coordinates, do I use the numbers shown on the GUI or do I need to compensate for the 21mm X offset of the BLtouch? I have the BLtouch offset defined in the config.g file.
-
M671 would be the location of the screws in absolute coordinates. So yes the nozzle position should define it. It's in your bed.g where you would be defining the probing points that you may have to account for the probe offset so that you're positioning the probe close to the screws rather than the nozzle close to the screws.
I assume you've seen these:
https://duet3d.dozuki.com/Wiki/Using_the_manual_bed_levelling_assistant
https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation -
Excellent. Thanks. I do indeed already have both of those docs opened in tabs. Currently at work, just trying to determine my attack plan for when I get home tonight.
Some of the docs just didn’t explain enough detail as to what everything did (or at least I didn’t see it if it did) but you’re making things more clear.
-
So I have the manual bed adjustment assistant working and used it to tram the bed.
After that I setup the m557 for the bed mesh compensation and tried running it. However, I keep getting a “Error G29: no valid grid defined for bed probing” .
Here’s my bed.g that’s setup for the leveling assistant.
; bed.g
; called to perform manual bed level assistant via G32
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Mon Feb 24 2020 01:49:32 GMT-0600 (Central Standard Time)
M561 ; clear any bed transform
G28 ; home all axis
G30 P0 X25 Y16 Z-99999
G30 P1 X215 Y16 Z-99999
G30 P2 X25 Y248 Z-99999
G30 P3 X215 Y248 Z-99999 S4
G1 X100 Y126.5 F9000 ; go to center of bedAnd here’s a chunk from my config.g file....what am I missing?
;Z-Probe
M558 P9 H5 F300 T9000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X21.0 Y0 Z1.048 ; set Z probe trigger value, offset and trigger height
M557 X25:215 Y16:Y248 P3 ; define mesh grid with P defining number of points to probe in each axis; Manual Bed Leveling Assistant
M671 X21:219.5:21:219.5 Y8.5:8.5:257.5:257.5 P0.7 ; bed adjustment screws are front left (x21,y8.5), front right (x219.5,y8.5), rear left (x21,257.5), rear right (x219.5,y257.5), thread pitch is 0.7 -
@guycobb2 M557 looks okay, assuming that the X and Y limits you have set can be reached by the probe. Did you restart after changing config.g? Try entering the M557 command directly in the console. Sending M557 on it's own should report the settings. G29 doesn't use the bed.g, G32 does.
Ian
-
M557 reports “grid not defined”. Wtf?
-
@guycobb2 said in Duet Maestro in MakerGear M3:
M557 reports “grid not defined”. Wtf?
What do you get if you copy and paste your m557 from config.g into the console?
-
@guycobb2 said in Duet Maestro in MakerGear M3:
M557 X25:215 Y16:Y248 P3
I think I see the issue... Do you notice the Y values? You've got an extra Y in there.
-
Sonofabitch.
-
Still curious to see what the console feedback would be from that line.
-
How in the crap have I overlooked that for 24 hours?
-
@Phaedrux it said the Y value too small
-
More specifically “error m557: bad grid definition: Y range too small”
-
Well that would have been a clue anyway.
-
Can someone give a brief explanation of the deviation and error results?
-
After bed mesh is complete do I need to reload the height map after a reboot of the board?
-
the max deviation is the lowest and highest point to either side of wherever you set the Z0 point.
mean error is the average of all the deviations. So your's is slightly below the 0 point on average.
RMS I'm not actually sure.
Yes you need to reload the heightmap after a power cycle. This would typically be done in your slicer start gcode after homing. Use G29 S1