Independent Z moves
-
@dc42 Several reasons.
One, it does not appear to know which motor is associated with which point on the grid. Thus, it does not appear it would actually know which motor to engage to move a corner up and down so that it is level with the other three, it moves the whole plane to account for it. No different than bed mesh leveling
UNLESS, it is required that each of the assigned motors be in the same clockwise orientation required by the probing...
(Whoops. Here it is the process documentation. you linked. I will have to rewire the motors. Ah well. Unless when I define the motors I can put them out of order to match the wiring, like Z1:3:4:2 )
You must use the M671 command to define the X and Y coordinates of the leadscrews. The M671 command must come after the M584 command and must specify the same number of X and Y coordinates as the number of motors assigned to the Z axis in the M584 command; and these coordinates must be in the same order as the driver numbers of the associated motors in the M584 command. The M671 command must also come after any M667 or M669 command.
Although the second issue remains: it throws warnings that this method is replaced by the bed mesh leveling method.
Will there be a bed mesh compatible version of the independent Z axisitalicised text -
So I followed the link dc42 provided. Am I understanding that properly that I need the DueX 2 or 5 to run with dual Z endstops?
-
@wmmc01 said in Independent Z moves:
So I followed the link dc42 provided. Am I understanding that properly that I need the DueX 2 or 5 to run with dual Z endstops?
If you have only 1 extruder then the Duet by itself provides the 5 stepper driver outputs that you need.
-
@rgconner said in Independent Z moves:
@dc42 Several reasons.
One, it does not appear to know which motor is associated with which point on the grid.
It sounds to me that you are confusing mesh bed compensation (G29) with true bed levelling using multiple motors (G32 + bed.g). Read the documentation. You can use mesh bed compensation after true bed levelling is you wish.
-
I don't think so.
I am putting the commands in bed.g, then triggering it from the interface by hitting the "Auto Bed Compensation" button.
Is this not correct?
Do I have to explicitly call G32 from the command line?
I am fine with that, but the documentation is fuzzy on this point, as I thought what the "Auto Bed Compensation" button did was call G32.
-
@dc42 I saw some other post that the plan was to incorporate dual z end stops into the FW, I think that was for 1.19. I found that capability VERY useful in Repetier. Has it been incorporated in 1.21 (I think that is the current version). If so I am not able to find it so please point me in the right direction. Thanks!
-
@rgconner said in Independent Z moves:
I am fine with that, but the documentation is fuzzy on this point, as I thought what the "Auto Bed Compensation" button did was call G32.
That's correct, it does. We're likely to change that, because these days G32 is used for delta calibration and for adjusting levelling screws.
For now, if you want to use that button, you can put a G29 S0 command and nothing else in your bed.g file. But before you do, take a look at https://duet3d.dozuki.com/Wiki/Using_the_manual_bed_levelling_assistant in case you want to use G32 for that instead.
DWC has a drop-down next to the Auto Bed Compensation button that allows you to run mesh bed compensation.
-
One more silly question from the manual bed leveling assistant link: If you know how much the bed need move to balance out, why not just have the duet issue the commands to the independent steppers to move the bed so it is flat?
My bed often gets out of alignment because of powered off sag. When powered down, the slightest bump or touch of the bed can overcome the friction holding the bed in place.
-
If you have independent Z motors, the Duet WILL make the necessary adjustments, and you don't use the manual assistant mode. This is what I use bed.g for.
;bed.g M561 ; clear any bed transform G30 P0 X35.0 Y137.5 H0 Z-99999 G30 P1 X185.0 Y137.5 H0 Z-99999 S2
-
@wmmc01 said in Independent Z moves:
@dc42 I saw some other post that the plan was to incorporate dual z end stops into the FW, I think that was for 1.19. I found that capability VERY useful in Repetier. Has it been incorporated in 1.21 (I think that is the current version). If so I am not able to find it so please point me in the right direction. Thanks!
Dual Z endstops have been possible with RRF for a long time, see https://duet3d.dozuki.com/Guide/Independent+Z+motors+and+endstop+switches/18?lang=en.
@rgconner said in Independent Z moves:
One more silly question from the manual bed leveling assistant link: If you know how much the bed need move to balance out, why not just have the duet issue the commands to the independent steppers to move the bed so it is flat?
My bed often gets out of alignment because of powered off sag. When powered down, the slightest bump or touch of the bed can overcome the friction holding the bed in place.
As @SupraGuy says. https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors
-
Happy New Year! OK, so good progress, I used the really good "Independent Z motors and Endstop Switches" Guide, so I have made the described edits, and connections to the board. I can move the dual Z steppers in absolute mode up and down smoothly. But they do not move if I press Home Z, or even enter G28 Z in the console. I get the response: "G0/G1 Insufficient Axis Homed". I know the end stop switches are working since I can see them "Hit" if I trigger them manually. When I home X and/or Y, once they trigger their homing switches, I get some motion from Z. What should I be checking? Thanks in advanced!
-
@wmmc01 are your X/Y axis homed when you press home z? normally X and Y should be homed before Z, because you probe the Z-axis at specific X Y coordinates.
-
We'll need to see your homez.g file to point out the problem.
-
@dc42 I have used the dual Z guide to edit this file, so NEW indicates the NEW lines.
; homez.g
; called to home the Z axis
; NEW indicates lines that support dual Z end stops
; generated by RepRapFirmware Configuration Tool v2 on Tue Dec 18 2018 16:44:11 GMT-0500 (Eastern Standard Time)
G91 ; relative positioning
; G1 Z5 F6000 S2 ; lift Z relative to current position Commented out for dual z edits
G1 Z2 F6000 ; NEW Lift Z relatively to current position
; NEW split Z motor control to Z and U
; for it to work we have to show U (param P4) in the UI
M584 Z2 U3 P4 ; NEW
; NEW Move Z and U down until the switches triggers
G1 S1 Z-385 U-385 F1000 ;New edited to 385
; NEW back to combined axes and hidden U
M584 Z2:3 P3 ; NEW
; NEW Back to absolute positioning
G90 ;NEW
; G1 S1 Z-385 F1800 ; OLD move Z down until the endstop is triggered
G92 Z0 ; set Z position to axis minimum (you may want to adjust this); Uncomment the following lines to lift Z after probing
G91 ; relative positioning uncommented for NEW
G1 S2 Z5 F100 ; lift Z relative to current position uncommented for NEW
G90 ; absolute positioning uncommented for NEW -
@martin1454 Yes
-
@wmmc01 said in Independent Z moves:
G1 Z2 F6000 ; NEW Lift Z relatively to current position
You need to either add parameter S2 to that command, or use M584 H0 in config.g to allow axis movement before homing. This is nothing to do with dual Z motors, it has been required since firmware 2.01.
-
OK, thanks. I copied from this example: https://duet3d.dozuki.com/Guide/Independent+Z+motors+and+endstop+switches/18?lang=en. Not sure if there is a way to correct/edit that. I added a comment regarding this.
Thanks for your help!
-
@wmmc01 said in Independent Z moves:
OK, thanks. I copied from this example: https://duet3d.dozuki.com/Guide/Independent+Z+motors+and+endstop+switches/18?lang=en. Not sure if there is a way to correct/edit that. I added a comment regarding this.
Thanks for your help!
Thanks, I can't edit the images because they are hosted by someone else, but I have added two notes in the instructions steps.
-
New problem. In relative mode I can move Z (Z & U) a distance without an issue. The both move the same amount at the same speed. However when I Home Z, U moves faster and quickly jams. The steppers are identical.
homez.g:
; homez.g
; called to home the Z axis
; NEW indicates lines that support dual Z end stops
; generated by RepRapFirmware Configuration Tool v2 on Tue Dec 18 2018 16:44:11 GMT-0500 (Eastern Standard Time)
G91 ; relative positioning
G1 Z2 S2 F6000 ; NEW Lift Z relatively to current position
; NEW split Z motor control to Z and U
; for it to work we have to show U (param P4) in the UI
M584 Z2 U3 P4 ; NEW
; NEW Move Z and U down until the switches triggers
G1 S1 Z-385 U-385 F1000 ;New edited to 385
; NEW back to combined axes and hidden U
M584 Z2:3 P3 ; NEW
; NEW Back to absolute positioning
G90 ;NEW
; G1 S1 Z-385 F1800 ; OLD move Z down until the endstop is triggered
G92 Z0 ; set Z position to axis minimum (you may want to adjust this); Uncomment the following lines to lift Z after probing
G91 ; relative positioning uncommented for NEW
G1 S2 Z5 F100 ; lift Z relative to current position uncommented for NEW
G90 ; absolute positioning uncommented for NEWDRIVES Portion of config.g:
; Drives
M569 P0 S1 ; Drive 0 goes forwards Y Homes to the Front X Homes to the Right
M569 P1 S0 ; Drive 1 goes BACKWARDS Y Homes to the Front X Homes to the Right
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S1 ; Drive 3 goes forwards
M569 P4 S1 ; NEW Drive 4 goes forwards
;M584 X0 Y1 Z2 E4 ; OLD M584 is next section Apply custom drive mapping
M350 X32 Y32 Z32 U32 E32 I0 ; NEW Configure microstepping without interpolation NEW Added U32
M92 X160.00 Y160.00 Z1600.00 U1600.00 E476.50 ; NEW Set steps per mm NEW Added U1600.00 Changed steps per mm to 1600 was 3200
M566 X900.00 Y900.00 Z12.00 U12.00 E120.00 ; NEW Set maximum instantaneous speed changes (mm/min) NEW Added U
M203 X12000.00 Y12000.00 Z600.00 U600.00 E1200.00 ; NEW Set maximum speeds (mm/min) NEW Added U Changed Max Speed for Z/U to 600 was 6000
M201 X500.00 Y500.00 Z250.00 U250.00 E250.00 ; NEW Set accelerations (mm/s^2) NEW Added U
M906 X800.00 Y800.00 Z800.00 U800.00 E800.00 I30 ; NEW Set motor currents (mA) and motor idle factor in per cent NEW Added U
M84 S30 ; Set idle timeout;DUAL Z NEW
M584 X0 Y1 Z2:3 U3 E4 P3 ; NEW Line Creates Dual Z by adding U as second Z -
This sounds very much like a bug that I fixed in firmware 2.02. Which firmware version are you using?