Does bed.g serve a purpose on a cartesian printer?
-
Might be slightly related but I'll ask it here too: What's the advantage of having 2 independent Z motors for bed leveling? I see some posts about it but I haven't seen a comparison where you use 2 independent motors vs 2 linked (single driver) motors.
-
@drmaestro I don't know about you, but my nearly-4-year-old loves twiddling the Z axis motors individually when the printer is off! Running a macro levels the X axis to the bed again.
Ian
-
@droftarts Ah, ok. So, you need to do a macro to correct the relation of the Z axis to the X axis if they are not level, then another macro for mesh leveling. Wouldn't mesh leveling alone compensate for this error?
-
@drmaestro Much quicker to do a axis level and load an existing bed mesh!
Ian
-
@droftarts said in Does bed.g serve a purpose on a cartesian printer?:
@drmaestro G32 calls the bed.g macro. If you don't have any way to level the bed physically (eg independent Z screws), bed.g can be the same as your mesh levelling macro.
To clarify, this doesn't have to be independent Z motors, it can just be bed levelling screws. See https://duet3d.dozuki.com/Wiki/Using_the_manual_bed_levelling_assistant.
-
@droftarts said in Does bed.g serve a purpose on a cartesian printer?:
If you want the compensation, and not just reported (with S-1), just set it to "S". You don't have to define the number:
I tried it (here). I noticed (late) that @dc42 used S8 on his last point so re-read the manual and found that I missed that part. Then I tried different S values (-1, 0, 8, 25...) but none gave useful results so after exosting all the ideas I had I gave up. I am willing to give it another go if I get more data to how to go about it but with current knowledge there's not much I can do. The only thing left is to do the first 5 points in the requested order and then just add other ones in "no clue what" order and give it a go since now in RC7 the bug with return not being populated from G30 should be fixed.
S/S0 does this:
Error: Probe points P0 to P3 must be in clockwise order starting near minimum X and Y, and P4 must be near the centre ERROR P24
Issue #1 P0 to P4 ?!?! What about the other 20 points?
Issue #2 order?! I ordered P0-P24 in the same way G29 does it. I could do 4 corners and center but what then? What would be the order of the other 20 points?
S-1 reports some worrying results too. Anyhow, this is the sample of what in theory could be done; obviously, I don't know how to do it. -
@arhi said in Does bed.g serve a purpose on a cartesian printer?:
Error: Probe points P0 to P3 must be in clockwise order starting near minimum X and Y, and P4 must be near the centre
That's an old error message, but I think still valid. If you're calculating the bed plane, you can only have a maximum of 5 points (which, in itself is odd, as a plane is defined by three points!). This was from the time before mesh levelling, when calculating the bed plane was the only firmware-implemented levelling available. It's probably why you can only report the deviation for the rest of the points,
Ian
-
The old 3, 4 and 5-point bed compensation had been deprecated for several years. Use mesh bed compensation instead.
-
@dc42 said in Does bed.g serve a purpose on a cartesian printer?:
The old 3, 4 and 5-point bed compensation had been deprecated for several years. Use mesh bed compensation instead.
how to do it point by point?
G0,G30P0,G0,G30P1...G0,G30P24S
is what's supposed to reading the doc .. but it does notyou are doing the same thing here only on delta and you finish with S8 after using 16 points .. how do I finish after 25 points on cartesian?
-
The point of mesh bed compensation is that you don't have to specify all the points, saving you a lot of work. Instead you specify the limits to be probed, and either the spacing between points or the number of points.
-
@dc42 said in Does bed.g serve a purpose on a cartesian printer?:
Instead you specify the limits to be probed, and either the spacing between points or the number of points.
Yes, that's how G29 works. You yourself made an example of how to do it point by point for delta. Why would the same thing not work for cartesian?