Duet 3D Mainboard 6HC Multiple Motor Per Axis
-
Greetings
I am using an Catesian Machine with X Axis having 1 Motor, Y Axis having 2 Motors and Z Axis having 3 Motors.
While starting the machine to use to level all the multiple motors of an axis has to be levelled. I have referred the Duet 3D Documentation and have found the Mesh Bed Compensation with Bed Levelling Using Multiple Independent Motors using M671.This procedure looks good and can be adapted for Z Axis.
For Y Axis can the process be adapted or Axis levelling using EndStops using M574 to be adapted.
-
@SANJR If you have an endstop on each Y motor, see the last section on this page: https://docs.duet3d.com/User_manual/Connecting_hardware/Z_probe_auto_levelling#axis-levelling-using-endstops
Ian
-
@droftarts Thanks for the suggestion
As understood two endstopper at low end are connected using pins io2 & io7.
I have modified the M574 G-Code for Y Axis (Third Line) in the config.g file as follows,M574 X1 S1 P"io0.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io0.in
M574 X2 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin io1.in
M574 Y1 S1 P"io2.in+io7.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y1 & Y2 via pin io2.in & io7.in
M574 Y2 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io3.in
M574 Z1 S1 P"io4.in ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io4.in
M574 Z2 S1 P"io5.in ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin io5.inRequest to check on the correctness of the G-Code.
-
@SANJR RepRapFirmware only supports one endstop per motor driver. This means you can’t have a minimum and a maximum endstop on an axis. For example, you have set a minimum and maximum endstop on the X axis, but the second command will override the first, meaning you currently have one endstop on the X axis, and it’s a maximum one.
In RRF, you generally home to one end, and M208 sets the soft limits of travel.
It is possible to use both, though. You could write a homing-to-maximum-end macro that redefines the endstop and homes to that end.
Also, if you are worried about the axis moving beyond either endstop, you can reconfigure them as triggers after homing. Then if the axis skips steps and then tries to move beyond the axis, the machine can be paused when it triggers any endstop during a job.
Lastly, the Gcode for the double endstops on the Y axis (which is okay because you are using 2 motor drivers) looks correct. Just remove the second, maximum Y endstop.
Ian
-
@droftarts Thanks for the Update
I am planning to use the home position with reference to low end, which means the X2,Y2 & Z2 to be removed from the config.g file. These commands will be read sequentially at the time machine start up.As suggested after homing complete, if the X2,Y2 & Z2 are again pasted (reconfigured) in the config.g file (this is done after the compensation, calibration and homing all are completed).
Is my interpretation of the above context is correct?
-
@SANJR you can configure X2, Y2 and Z2 endstops as triggers in config.g. See https://docs.duet3d.com/en/User_manual/Tuning/Triggers
For X1, Y1 and Z1 you can also configure them as triggers in config.g. Then reconfigure them as endstops at the beginning of each homing macro, home axes, the redefine as triggers at the end of the homing macros.
The triggers should probably be set as emergency stop, as if the machine has gone beyond the limits, something has gone very wrong!
Ian