Mesh Compensation
-
M557 X20:180 Y20:180 S10
Ok, it's ticking over happily with the mesh (cold build plate), but it's going to take a lot longer with these 10mm intervals. Which is fine if it will give me a better first layer.
To probe the entire (195x195) bed, should I take it out to the edges?
M557 X5:190 Y5:190 S10
And I'm also thinking should I:
- Warm build plate
- Home all
- Mesh probe (each time, as different bed temps will make different mesh)
- Purge/wipe
- Start print
It would be really good to do the mesh probe with a cold nozzle as the ooze is a pain and I'm using an IR probe anyway. I don't mind at all the mesh taking a long time if I'm not picking ooze off the nozzle with tweezers the whole time.
-
@Corexy said in Mesh Compensation:
Ok, it's ticking over happily with the mesh (cold build plate), but it's going to take a lot longer with these 10mm intervals. Which is fine if it will give me a better first layer.
To probe the entire (195x195) bed, should I take it out to the edges?
M557 X5:190 Y5:190 S10post the picture of the mesh grid.
going to a higher spacing depends on the quality of your build plate. the wider the spacing the less details it has to correct with.
so if there are no irregulaties, you can get away with a wider spacing.with the bigger mesh: if your Y offset is 28 to probe at 5 it would need to move to Y-23, which is not allowed. for X it would work
-
Yes, I can't "reclaim" the Y offset...mechanical obstacles. Makes a case for ally extrusion chassis in my next printer, built well oversize to the build plate.
Running this now regardless, and it seems to be just doing what it can reach.
M557 X5:190 Y5:190 S10
Mate I really appreciate this help so much, but it's late now and the other half wants me to give it a rest for tonight.
I'll have another look in the morning, but this has been a win so far.
Cheers and thanks!
-
that picture suggests that the surface is not suited very well for ir probing.
see
https://miscsolutions.wordpress.com/mini-height-sensor-board/ -
OK, really?
It's the original Printbite, supposedly OK. It does give very consistent readings when calibrating the Z height.
I have wondered about those BL touch probes, are they better?
I would really like to keep the Printbite, just because I don't have to replace it. That surface is 3 years old and going strong.
Are there any other surfaces that are similar out there that do work well with IR? I have really liked this probe to be honest, but the Printbite has been tricky with ABS.
I'll see how it performs with this new mesh tomorrow.
-
So how would one of these be as a bed sensor?:
I've thrown straight edges on this build plate, and while i's not perfect I don't think it runs out as much as this mesh suggests.
With the build plate under the printbite being cast ally, would this type of sensor work better? Is it a straight up fit, or would I need a daughter board of some sort?
I saw another thread where a guy was reporting good results with one of these (due to having trouble with the IR sensor on Printbite), but the thread seemed to die out.
Unless there's a comparable (long lasting/self releasing) surface out there with good IR sensor compatibility, would this be an option?
-
[img]https://i.imgur.com/1Zczdwt.png[/img]
Here a mesh I ran with a plain sheet of white paper on the bed. It was certainly not flat, but I don't see the "spikyness" in the map that I get with Printbite.
Can someone tell me if I need to use a different sensor, and if so, what do I use?
I'm wondering if I've been printing for a few years now with a setup that was not capable of reading the bed properly....
-
And at the risk of talking to myself it all seems to be working better now.
I took the ABS out, as it's known to be a bit difficult on Printbite (until you've got it dialed right in) and went back to a roll of PLA.
I had to babystep -0.15mm, which I then added as a Z offset in the slicer and it's printing a pretty perfect first layer with no sign of the problems I've had in the past.
On this surface I've always had to use a raft for ABS, so I guess that might still be required.
-
@Corexy said in Mesh Compensation:
i have no ir sensor and i dont have the printbite surface, so i cant give you more information there.
That surface looks terrible if thats the real surface of the buildplate. -
@Veti said in Mesh Compensation:
@Corexy said in Mesh Compensation:
i have no ir sensor and i dont have the printbite surface, so i cant give you more information there.
That surface looks terrible if thats the real surface of the buildplate.It's not like that in person, pretty flat actually.
Right now the mesh compensation is working so amazingly I've removed it form the start script, and will only do a new map as a maintenance/corrective measure. I heated the bed to 100C, run the mesh and I'm leaving it at that unless problems show. First layers are as good as I've ever seen on this machine, and as they are consistent I'll assume it's all good.
I should point out that while I'm crap on a keyboard, 15 years of maintenance work on mines and oil rigs has taught me a trick or two on the spanners and feeler gauges (if I say so myself). My beds and axis' are all over engineered, rock solid and set up as straight as the material they're made of will allow. I don't expect my bed to change level, I hardly touch it ever.
I am amazed how much this compensation is working, and I'm sure your tip about the extra probe points is what did the trick.
So thanks very much for your help, and the result is good!
-
@Corexy said in Mesh Compensation:
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 21 2019 10:53:58 GMT+1100 (Australian Eastern Daylight Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-200 Y-200 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H2 X5 Y5 F6000 ; go back a few mm
G1 H1 X-200 Y-200 F360 ; move slowly to X and Y axis endstops once more (second pass)
G90 ; absolute positioning
G1 H2 X97.5 Y97.5 F6000 ; go to first bed probe point and home Z
G30 ; home Z by probing the bedUnrelated to your mesh discussion, but You've got an overabundance of H2 switches in your homing files. It's intended to allow you to move an axis that hasn't been homed yet. Once the axis has been homed it's not needed, and really, the only axis you should use it on is the Z axis in case you need to move it out of the way before homing X and Y.
And infact, in CoreXY machines using H2 on the X and Y force it to use a single motor, which is definitely not what you want.
H1 terminate the move when the endstop switch is triggered and set the axis position to the axis limit defined by M208. On delta printers, H1 also selects individual motor mode as for H2. Normally used with relative motor coordinates (see G91).
H2 Individual motor mode. X refers to the X motor, Y refers to the Y motor, and so on. Normally used with relative motor coordinates (see G91).https://duet3d.dozuki.com/Wiki/Gcode#Section_G0_G1_Move
So based on above homeall should actually look like this:
G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-200 Y-200 F1800 ; move quickly to X and Y axis endstops and stop there (first pass) G1 X5 Y5 F6000 ; go back a few mm G1 H1 X-200 Y-200 F360 ; move slowly to X and Y axis endstops once more (second pass) G90 ; absolute positioning G1 X97.5 Y97.5 F6000 ; go to first bed probe point and home Z G30 ; home Z by probing the bed
Same goes for the other homing files. H2 only on Z axis moves. I'm actually not sure how your machine is homing at all with those files.
-
@Corexy said in Mesh Compensation:
"spikyness" in the map that I get with Printbite.
Looking at pictures of printbite online it seems that is has a slightly glossy surface and a grid pattern on it. This would be a less than ideal surface for an IR sensor. the glossy pattern can make surface detection unreliable, and the dark pattern could be picked up causing it to trigger early. In fact the spiky image you posted looks like you can almost make out the grid.
Using a piece of matte paper (preferably dark) should give a better idea of the surface. And the image you posted of the paper may actually be closer to the true shape of the bed.
If you don't want to change out the bed surface, and you don't want to change the probe since it seems to work reliably enough with setting the Z height, if the bed is flat enough you could just run without compensation, or set it to a very sparse grid to just capture the edges and center point (3x3 grid).
I wouldn't use an inductive or capacitive probe, too much temperature variability and insensitivity to thin metal. The BLTouch can work well since it's a contact probe it will work on any surface. But it is a bit larger, and has a more involved installation and configuration process.
-
Cheers both of you, it's good of you to help.
Phaedrux,
Ran that homeall and it's all good. Did the same thing as before, but I'll guess that it's doing it with less "confusion".
So will these do?
homex:
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-200 F1800 ; move quickly to X axis endstop and stop there (first pass)
G1 X5 F6000 ; go back a few mm
G1 H1 X-200 F360 ; move slowly to X axis endstop once more (second pass)
G1 H2 Z-5 F6000 ; lower Z again
G90 ; absolute positioninghomey
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 Y-200 F1800 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y5 F6000 ; go back a few mm
G1 H1 Y-200 F360 ; move slowly to Y axis endstop once more (second pass)
G1 H2 Z-5 F6000 ; lower Z again
G90 ; absolute positioninghomez
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G90 ; absolute positioning
G1 X97.5 Y97.5 F6000 ; go to first probe point
G30 ; home Z by probing the bed
;G91 ; relative positioning
;G1 H2 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioningHow do they look?
-
@Corexy said in Mesh Compensation:
homez
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G90 ; absolute positioning
G1 X97.5 Y97.5 F6000 ; go to first probe point
G30 ; home Z by probing the bed
;G91 ; relative positioning
;G1 H2 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioningLooks good. Except if we're being picky the H2 on the final Z move here is not needed since it's been homed by the G30.
-
@Phaedrux said in Mesh Compensation:
@Corexy said in Mesh Compensation:
"spikyness" in the map that I get with Printbite.
Looking at pictures of printbite online it seems that is has a slightly glossy surface and a grid pattern on it. This would be a less than ideal surface for an IR sensor. the glossy pattern can make surface detection unreliable, and the dark pattern could be picked up causing it to trigger early. In fact the spiky image you posted looks like you can almost make out the grid.
Using a piece of matte paper (preferably dark) should give a better idea of the surface. And the image you posted of the paper may actually be closer to the true shape of the bed.
If you don't want to change out the bed surface, and you don't want to change the probe since it seems to work reliably enough with setting the Z height, if the bed is flat enough you could just run without compensation, or set it to a very sparse grid to just capture the edges and center point (3x3 grid).
I wouldn't use an inductive or capacitive probe, too much temperature variability and insensitivity to thin metal. The BLTouch can work well since it's a contact probe it will work on any surface. But it is a bit larger, and has a more involved installation and configuration process.
I don't think it's flat enough to get a good mesh without probing, and to be honest I'd rather get full use of that feature.
Has the plain matt black printbite been known to work? I just want that permanent "pop off" surface
-
@Corexy said in Mesh Compensation:
Has the plain matt black printbite been known to work?
If it is indeed plain, black, and matte, then I would think it would work well.
-
@Phaedrux said in Mesh Compensation:
@Corexy said in Mesh Compensation:
homez
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G90 ; absolute positioning
G1 X97.5 Y97.5 F6000 ; go to first probe point
G30 ; home Z by probing the bed
;G91 ; relative positioning
;G1 H2 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioningLooks good. Except if we're being picky the H2 on the final Z move here is not needed since it's been homed by the G30.
Hey mate, please be as picky as you like! I like it all clean and minimalist.
-
@Phaedrux said in Mesh Compensation:
@Corexy said in Mesh Compensation:
Has the plain matt black printbite been known to work?
If it is indeed plain, black, and matte, then I would think it would work well.
It's a pain, as I really like the IR probe for being non contact and accurate, and I don't know of any other print surface that is permanent and self releasing like the Printbite...I hope to keep both.
Hi David,
I've seen the issue of the IR probe on Printbite come up here a bit. Can you please advise if any of their latest versions works properly with your probe?
I spent quite a bit on those surfaces, so if I'm going to buy them again I'd like to know I'm not hindering the performance of the Duets full range of functions.
-
OK, so now the printer's back up I'd like to push on with this, despite the IR probe not being perfect.
When I run the mesh it seems to really help that first layer, but running G29 at the start of each print takes too long. Especially when my bed is extremely solid and made of precision ally plate, it doesn't seem to move or change at all.
I'd just like to run the mesh occasionally via the "calibration and compensation" tab in the DWC, and have every print just use the latest mesh.
Problem is that it doesn't seem to store the mesh after being shut down, as if I start a new print and open "calibration and compensation", it says there's no mesh compensation in play.
I really just want to do the G29 if there's some sign of first layer issues, rather than at the start of each print.
How can I store the last mesh, and make each future print use it?
; bed.g
; called to perform automatic bed compensation via G32
;
; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 21 2019 10:53:55 GMT+1100 (Australian Eastern Daylight Time)
M561 ; clear any bed transform
G29 ; probe the bed and enable compensation -
@Corexy said in Mesh Compensation:
I'd just like to run the mesh occasionally via the "calibration and compensation" tab in the DWC, and have every print just use the latest mesh.
Problem is that it doesn't seem to store the mesh after being shut down, as if I start a new print and open "calibration and compensation", it says there's no mesh compensation in play.
I really just want to do the G29 if there's some sign of first layer issues, rather than at the start of each print.
How can I store the last mesh, and make each future print use it?
I have G29 S1 at the end of both my homez.g and homeall.g. When I first power the machine on it says no compensation is in use, however if I were to start a print (start gcode calls for a homeall/homez) or press the home z or homeall buttons, the compensation file is loaded once complete.