How to define print bed area versus M208
-
I am trying to figure out how to configure my print bed area versus my hot-end movable area. For example I configure the limits for moving my hot-end using M208:
; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X600 Y540 Z496 S0 ; set axis maxima
but how would I say that my print bed actually ranges from X10 to 590?
-
In the short form of M208 your current settings would be M208 X0:600 Y0:540 Z0:496.
You can certainly have M208 X10:590 instead if you wish to confine motion to that region.
If you do that then if you have a need to move the hotend outside that region you can either temporarily set new values for M208 or use M564 to allow movement past the limits set by M208.
Or you could simply configure whatever slicer you use with the limits for printing.
Frederick
-
@fcwilt thanks for the reply. If I make the change to X10:590 what would I do when I home the x-axis? Because once I home the axis I am at 0 and won't be able to move the print head around. Should I get it to move 10mm after homing?
-
@feynman137 said in How to define print bed area versus M208:
@fcwilt thanks for the reply. If I make the change to X10:590 what would I do when I home the x-axis? Because once I home the axis I am at 0 and won't be able to move the print head around. Should I get it to move 10mm after homing?
When you do a G1 H1 and the endstop is triggered the logical position for the axis is set to Xmin or Xmax, depending on where the endstop is configured to be (low end or high end).
So with M208 X10:590 when the X endstop (low end) triggers the logical position would be set to 10.
If the physical position is 0 just do the following at the end of your existing homing code to get everything in sync:
G91 ; insure relative moves (if not already set that way) G1 X10 ; move from physical 0 to 10 (logical 10 to 20) G92 X10 ; set the logical position to match the physical position
My endstops are rarely at the position that matches my M208 settings so I most always correct for them.
Frederick
-
@fcwilt alright perfect so I am doing the homing and then moving the hot end 10mm and setting the absolute x position to 10mm.
This is slightly more difficult and specific to my printer version question, but since I have a dual extruder head. And my positions are relative to the BL touch, which has a nozzle on either side of it in the x direction say +25mm and -25mm. When I do the homing and move 10mm in the x direction, technically only one of my hotends will be above 10mm the other will be out of the specified limits. Will this create any problems, assuming that I compensate for offsets in the tool definition like below?
; Tools M563 P0 D0 H0 F0 ; define tool 0 G10 P0 X23.9 Y-28.21 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P1 D1 H1 F1 ; define tool 1 G10 P1 X-23.9 Y-28.21 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
-
I don't have any multi-tool printers but if the tool offsets are correct all should work as expected.
Frederick
-
@feynman137 said in How to define print bed area versus M208:
I am trying to figure out how to configure my print bed area versus my hot-end movable area. For example I configure the limits for moving my hot-end using M208:
; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X600 Y540 Z496 S0 ; set axis maxima
but how would I say that my print bed actually ranges from X10 to 590?
See https://duet3d.dozuki.com/Wiki/Centering_the_bed_or_setting_the_bed_origin. Avoid using G92 if possible because it will mark the axis as homed even if homing failed.
You can temporarily change the M208 limits during homing if you want.
-
@dc42 said in How to define print bed area versus M208:
Avoid using G92 if possible because it will mark the axis as homed even if homing
In the example I gave if homing failed would not the "plain" G1 move immediately preceding the G92 also fail thus preventing the G92 from being executed?
Frederick