Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    homing dual z with independant motors

    Scheduled Pinned Locked Moved
    General Discussion
    3
    36
    1.5k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Monkey68undefined
      Monkey68 @Phaedrux
      last edited by

      @phaedrux 14/09/2021, 16:21:37 M98 P"config.g"
      HTTP is enabled on port 80
      FTP is disabled
      TELNET is disabled
      Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 442C

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator @Monkey68
        last edited by

        @monkey68 said in homing dual z with independant motors:

        M574 Z2 S1 P"!zstop+!e1stop"

        Ok, so now you can uncomment that line, which should be correct.

        Now you can test the homing again, but this time click the switches by hand before it reaches them so that you have time to hit the estop if it doesn't stop movement.

        You can also check the status of the endstops by sending M119. Check it when the endstops are depressed and again when they are not and see if it reports the state you would expect.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • Monkey68undefined
          Monkey68 @Phaedrux
          last edited by

          @phaedrux M574 E12 S1 P"!e1stop"
          following the instructions given in the guides, specifying the stop for the motor and its place on the axis

          Monkey68undefined 1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by Phaedrux

            What guides?

            E12 isn't valid in any way.

            Z-Bot CoreXY Build | Thingiverse Profile

            Monkey68undefined 1 Reply Last reply Reply Quote 0
            • Monkey68undefined
              Monkey68 @Monkey68
              last edited by

              @monkey68 do you want me to remove all the extra e stuff i put in when you told me to remove all the z stuff?

              1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

                Yes, all the duplicate E stuff is probably going to mess up your extruder.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • Monkey68undefined
                  Monkey68 @Phaedrux
                  last edited by

                  @phaedrux said in homing dual z with independant motors:

                  E12 isn't valid in any way.

                  so how am i supposed to show the E1 drive high position?

                  1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by Phaedrux

                    You don't have to. The E driver is assigned to the Z axis and will take all of the settings applied to Z.

                    M574 Z2 S1 P"!zstop+!e1stop"

                    That line tells the firmware that the Z endstop will be the combo of zstop and e1stop.

                    Home the z axis as a single axis and it will take care of the rest.

                    It's a lot simpler than you seem to think it is.

                    Again, which guides are you looking at? If it's a Duet wiki page that is leading you astray, let me know and I can try and make it clearer.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    Monkey68undefined 1 Reply Last reply Reply Quote 0
                    • Monkey68undefined
                      Monkey68 @Phaedrux
                      last edited by

                      @phaedrux ok thankyou for explaing that. So the endstops report as stopped when pushed in m119 and not stopped when not pushed but it doesnt stop the gantry had to estop[ it again

                      Monkey68undefined 1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by

                        Can you copy and paste the results of M119?

                        Can you also post your current config.g and homeall.g just so I'm looking at the current versions you're actually using?

                        Z-Bot CoreXY Build | Thingiverse Profile

                        1 Reply Last reply Reply Quote 0
                        • Monkey68undefined
                          Monkey68 @Monkey68
                          last edited by

                          @monkey68 14/09/2021, 16:41:16 m119
                          Endstops - X: not stopped, Y: not stopped, Z: at max stop, Z probe: not stopped
                          14/09/2021, 16:41:12 m119
                          Endstops - X: not stopped, Y: not stopped, Z: not stopped, Z probe: not stopped
                          14/09/2021, 16:40:59 m119
                          Endstops - X: not stopped, Y: not stopped, Z: at max stop, Z probe: not stopped
                          14/09/2021, 16:40:31 m119
                          Endstops - X: not stopped, Y: not stopped, Z: not stopped, Z probe: not stopped

                          Monkey68undefined 1 Reply Last reply Reply Quote 0
                          • Monkey68undefined
                            Monkey68 @Monkey68
                            last edited by

                            @monkey68 ; Network
                            M552 S1 ; enable network
                            M586 P0 S1 ; enable HTTP
                            M586 P1 S0 ; disable FTP
                            M586 P2 S0 ; disable Telnet

                            ; Drives
                            M569 P0.0 S1 ; physical drive 0 goes forwards
                            M569 P0.1 S1 ; physical drive 1 goes forwards
                            M569 P0.2 S0 ; physical drive 2 goes backwards
                            M569 P0.3 S1 ; physical drive 3 goes forwards
                            M569 P0.4 S0 ; physical drive 4 goes backwards

                            ;M584 X0 Y1 Z2 E3 ; set drive mapping
                            M584 X0.0 Y0.1 Z0.2:0.4 E0.3 ;two Z motors connected to driver outputs Z and E1
                            M671 X-18:224 Y112.5:112.5 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
                            ;M350 X16 Y16 Z16:16 E16 I1 ; configure microstepping with interpolation
                            M350 X16 Y16 Z16 E16 I1
                            ;M92 X80.00 Y80.00 Z400.00:400.00 E143.2 ; set steps per mm
                            M92 X80.00 Y80.00 Z400.00 E143.2
                            ;M566 X800.00 Y800.00 Z1000.00:1000.00 E3600.00 ; set maximum instantaneous speed changes (mm/min)
                            M566 X800.00 Y800.00 Z1000.00 E3600.00
                            ;M203 X9600.00 Y9600.00 Z1000.00:1000.00 E6000.00 ; set maximum speeds (mm/min)
                            M203 X9600.00 Y9600.00 Z1000.00 E6000.00
                            ;M201 X1000.00 Y1000.00 Z600.00:600.00 E2000.00 ; set accelerations (mm/s^2)
                            M201 X1000.00 Y1000.00 Z600.00 E2000.00
                            ;M906 X1250 Y1300 Z1250:1250 E1250 I30 ; set motor currents (mA) and motor idle factor in per cent
                            M906 X1250 Y1300 Z1250 E1250 I30
                            M572 D0 S0.002 ;set pressure advance
                            M84 S30 ; Set idle timeout

                            ; Axis Limits
                            M208 X-27 Y-35 Z0 S1 ; set axis minima
                            M208 X250 Y225 Z300 S0 ; set axis maxima
                            ;M208 X-5:205 Y0:200 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200

                            ; Endstops ```; Snnn 1 = switch-type (eg microswitch) endstop input, 2 = Z probe (when used to home an axis other than Z), 3 = single motor load detection, 4 = multiple motor load detection
                            M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin xstop
                            M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin ystop
                            M574 Z2 S1 P"!zstop" ; configure active-high endstops for low end on Z via pins zstop and e1stop
                            M574 Z2 S1 P"!zstop+!e1stop" ; configure active-high endstops for high end on Z via pins zstop and e1stop

                            ; Filament Sensing
                            M591 D0 P1 C"!e0stop" S1 ; filament monitor connected to E0 endstop

                            ; Z-Probe
                            M558 P1 C"zprobe.in" H3 F600 T6000 A3 S0.03 ; set Z probe type to unmodulated and the dive height + speeds
                            G31 P1000 X25 Y14 Z1.50 ; set Z probe trigger value, offset and trigger height
                            ;M557 X45:265 Y45:265 S110 ; define mesh grid glass bed plate
                            M557 X45:245 Y45:220 S87.5 ; define mesh grid prusa bed plate

                            ; Heaters
                            M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 C0 R4700 ; configure sensor 0 as thermistor on pin bedtemp
                            M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
                            ;M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
                            M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B1
                            M140 H0 ; map heated bed to heater 0
                            M143 H0 S150 ; set temperature limit for heater 0 to 150C
                            M308 S1 P"e0temp" Y"thermistor" T500000 B4723 C1.196220e-7 ; configure sensor 1 as thermistor on pin e0temp
                            M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
                            ;M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                            ;M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0
                            M307 H1 A388.5 C88.1 D2.4 S1.00 V24.2 B0
                            M143 H1 S500 ; set temperature limit for heater 1 to 500C

                            ; Fans
                            M950 F0 C"^fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
                            M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
                            M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
                            M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
                            M950 F2 C"duex.fan3" Q500 ; create fan 2 on pin duex.fan3 and set its frequency
                            M106 P2 S1 H1 T45 ; set fan 2 value. Thermostatic control is turned on
                            M950 F3 C"duex.fan4" Q500 ; create fan 3 on pin duex.fan4 and set its frequency
                            M106 P3 S1 H1 T45 ; set fan 3 value. Thermostatic control is turned on

                            ; Tools
                            M563 P0 S"Copper Head" D0 H1 F0 ; define tool 0
                            G10 P0 X0 Y0 Z0:0 ; set tool 0 axis offsets
                            G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

                            ; Custom settings are not defined

                            ; Miscellaneous
                            T0 ; select first tool
                            M501

                            Phaedruxundefined Monkey68undefined 2 Replies Last reply Reply Quote 0
                            • Phaedruxundefined
                              Phaedrux Moderator @Monkey68
                              last edited by

                              @monkey68 said in homing dual z with independant motors:

                              M574 Z2 S1 P"!zstop" ; configure active-high endstops for low end on Z via pins zstop and e1stop
                              M574 Z2 S1 P"!zstop+!e1stop" ; configure active-high endstops for high end on Z via pins zstop and e1stop

                              You only need the second line. Remove the first that just has zstop.

                              Z-Bot CoreXY Build | Thingiverse Profile

                              1 Reply Last reply Reply Quote 0
                              • Monkey68undefined
                                Monkey68 @Monkey68
                                last edited by

                                @monkey68 not using home all just doing the axis separately at this stage, but here is home all;
                                G91 ; relative positioning
                                G1 H2 Z5 F6000 ; lift Z relative to current position
                                G1 H1 X-282 Y265 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
                                G1 H2 X5 Y-5 F6000 ; go back a few mm
                                G1 H1 X-282 Y265 F360 ; move slowly to X and Y axis endstops once more (second pass)
                                G1 H1 Z305 F360 ; move Z up stopping at the endstop
                                G90 ; absolute positioning
                                G92 Z300 ; set Z position to axis maximum (you may want to adjust this)

                                Home z;
                                G90 ; absolute positioning
                                G1 X125 Y105 F6000 ; go to probe point
                                G91 ; relative positioning
                                G1 H2 Z305 E1305 F1800 ; lift Z relative to current position
                                G1 H1 Z-5 E1-5 F6000
                                G1 H2 Z10 E110 F360
                                G90
                                G30 ; home Z by probing the bed

                                Monkey68undefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
                                • Monkey68undefined
                                  Monkey68 @Monkey68
                                  last edited by

                                  @monkey68 removed that and the endstops still do not stop the gantry

                                  1 Reply Last reply Reply Quote 0
                                  • Phaedruxundefined
                                    Phaedrux Moderator @Monkey68
                                    last edited by

                                    @monkey68 said in homing dual z with independant motors:

                                    Home z;
                                    G90 ; absolute positioning
                                    G1 X125 Y105 F6000 ; go to probe point
                                    G91 ; relative positioning
                                    G1 H2 Z305 E1305 F1800 ; lift Z relative to current position
                                    G1 H1 Z-5 E1-5 F6000
                                    G1 H2 Z10 E110 F360
                                    G90
                                    G30 ; home Z by probing the bed

                                    If you're just doing home Z then your homez file needs to be updated to match how you're homing z in homeall. You still have the H2 move which is just going to smash into the endstop. and you still have the errant E commands.

                                    Try this:

                                    Home z;
                                    G90 ; absolute positioning
                                    G1 X125 Y105 F6000 ; go to probe point
                                    G91 ; relative positioning
                                    G1 H1 Z305 F1800 ; home z to max
                                    G1 Z-5 F6000 ; back off
                                    G1 H1 Z10 F360 ; home z again
                                    G90
                                    G30 ; home Z by probing the bed

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    1 Reply Last reply Reply Quote 0
                                    • Phaedruxundefined
                                      Phaedrux Moderator
                                      last edited by

                                      Also, if you have the probe, you don't even really need to use the endstops for Z at all.

                                      Have you read through this page yet? https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      Monkey68undefined 1 Reply Last reply Reply Quote 0
                                      • Monkey68undefined
                                        Monkey68 @Phaedrux
                                        last edited by

                                        @phaedrux ok that works for homing z thankyou so much. in answer to your question have i read this many many times. i used to have duets optical end stop and my bed leveling would be all over the place and make it un printable, so i got to the point that i would not do mesh bed levelling just home and go, no problems.
                                        thinking about it i changed the optical endstop out for a pinda probe and had similar bed mesh problems so i turned the endstops back on with independant motors trying to make sure the gantry had not sagged and causing me the mesh errors, plus homing on the high side gives me the ability to recover prints and using the probe does not

                                        Monkey68undefined 1 Reply Last reply Reply Quote 0
                                        • Phaedruxundefined
                                          Phaedrux Moderator
                                          last edited by

                                          Yes nothing wrong with using both a z endstop and probe. I do so myself for the same power recovery reason.

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          1 Reply Last reply Reply Quote 0
                                          • Monkey68undefined
                                            Monkey68 @Monkey68
                                            last edited by

                                            @monkey68 just tried home all and the y axis drove away from the switch and homing failed so i made the following changes
                                            G91 ; relative positioning
                                            G1 H2 Z5 F6000 ; lift Z relative to current position
                                            G1 H1 X-282 Y-265 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-282 Y-265 F360 ; move slowly to X and Y axis endstops once more (second pass)
                                            G90
                                            G1 X125 Y105 F6000 ; go to probe point
                                            G91
                                            G1 H1 Z305 F1800 ; move Z up stopping at the endstop
                                            G1 Z-5 F6000 ; back off
                                            G1 H1 Z10 F360 ; home z again
                                            G90 ; absolute positioning
                                            G30 ; home Z by probing the bed
                                            that seam to work

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA