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

Dual Z after 1.02 to 3.4.1 Upgrade

Scheduled Pinned Locked Moved Solved
Firmware installation
3
9
384
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.
  • undefined
    wmmc01
    last edited by 26 Jul 2022, 17:51

    Trying to comply with setup of Dual Z steppers and endstop after upgrading from 1.02 FW progressively to 3.4.1 FW on a Duet 2 Wifi. I had this working on the old FW by splitting Z into Z and U, but I see that is no longer required in the current FW. (Note X and Y axis run fine, have not tested Z yet due to the errors below)

    I have Z steppers on Drives 2 (Z) and 3 (E0), and endstops zstop and e0stop.

    I assume I am missing something, any help certainly appreciated!

    Running M98 P"coonfig.g" results are:
    M98 P"config.g"
    HTTP is enabled on port 80
    FTP is disabled
    TELNET is disabled
    Error: Pin 'zstop' is not free
    Error: Invalid Z probe index

    My config.g:

    ; Configuration file for Duet WiFi (firmware version 1.21) UPDATED by WMM for Dual Z Motors and End Stops
    ; executed by the firmware on start-up
    ; NEW Indicated for lines edited to support dual Z=Stops
    ; generated by RepRapFirmware Configuration Tool v2 on Tue Dec 18 2018 16:44:11 GMT-0500 (Eastern Standard Time)
    ; Upgraded to FW v3.4.1 7/24/2022

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    M669 K1 ; New 3 Select CoreXY mode K1

    ; Network
    M550 P"" ; Set machine name
    M551 P"" ; Set password
    M552 S1 ; Enable network
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S0 ; Drive 0 goes BACKWARDS Y Homes to the FRONT X Homes to the LEFT
    M569 P1 S1 ; Drive 1 goes forwards Y Homes to the FRONT X Homes to the LEFT
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M569 P4 S1 ; Drive 4 goes forwards
    M584 X0 Y1 Z2:3 E4 P3 ; New V3 2 steppers for Z
    M350 X16 Y16 Z16 E16 I1 ; NEW V3 Configure microstepping without interpolation Changed E to 16
    M92 X80.00 Y80.00 Z400.00 E476.5 ; NEW V3 Set steps per mm With the change in microstepping above, all stepps/mm needed to be cut in half except E for some reason
    M566 X100.00 Y100.00 Z12.00 E20.00 ; NEW V3 Set maximum instantaneous speed changes (mm/min) JERK NEW Added U was 900 for X/Y
    M203 X3600.00 Y3600.00 Z600.00 E2400.00 ; NEW V3 Set maximum speeds (mm/min) NEW Added U Changed Max Speed for Z/U to 600 was 6000
    M201 X800.00 Y800.00 Z20.00 E500.00 ; NEW V3 Set accelerations (mm/s^2) NEW Added U - changed X+Y to 1500 from 3000
    M906 X1000.00 Y1000.00 Z1400.00 E800.00 I30 ; NEW V3 Set motor currents (mA) and motor idle factor in per cent NEW Added U
    M84 S30 ; Set idle timeout

    ; Axis Limits NEW Added
    M208 X1 Y0 Z0 S1 ; Set axis minima NEW added U0 was all 1
    M208 X400 Y370 Z380 S0 ; Set axis maxima NEW Revised max from X390 Y390

    ; Endstops
    M574 Z1 P"nil" ; In theory frees up zstop from preassigned
    M574 X1 S1 P"xstop" ; New for ver 3 Note if using Stallgaurd less info is required All
    M574 Y1 S1 P"ystop" ; New for ver 3
    M574 Z1 S1 P"zstop+e0stop" ; New for ver 3

    ; Z-Probe
    ;M558 P5 X0 Y0 Z0 H2 F60 T6000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds, edited P0 to P4 indicating switch
    M558 P5 C"zstop+e0stop" H2 F60 T6000 ; New V3
    G31 P600 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height
    M557 X20:360 Y20:360 S20 ; Define mesh grid

    ; HEATERS
    ; Bed
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 R4700 ; New 3 Bed Keenovo
    M950 H0 C"bedheat" T0 ; New 3
    ;M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit
    M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B0 ; Copied from override file
    M140 H0 ;
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C

    ; Hotend
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138 C7.060000e-8 ; New 3
    M950 H1 C"e0heat" T1 ; New 3
    M307 H1 A232.6 C90.5 D0.9 S0.50 V12.1 B0 ; Copied from override file
    M143 H1 S300 ; Set temperature limit for heater 1 to 300C; Before Revo was 280

    ; Fans
    M950 F0 C"fan0" Q500 ; New 3
    M106 P0 S0 H-1 ; Revised V3 Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off Changed from S0.3
    M950 F1 C"fan1" Q500 ; New 3
    M106 P1 S1 H-1 ; New 3

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    ; PanelDue
    M575 P1 B57600 S1 ; New V3 PanelDue specific

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured

    ; Miscellaneous
    T0 ; Select first tool
    ;M501 ; Load latest PID Tune for H1

    undefined 1 Reply Last reply 26 Jul 2022, 17:55 Reply Quote 0
    • undefined
      dc42 administrators @wmmc01
      last edited by 26 Jul 2022, 17:55

      @wmmc01 said in Dual Z after 1.02 to 3.4.1 Upgrade:

      M574 Z1 S1 P"zstop+e0stop" ; New for ver 3
      ; Z-Probe
      ;M558 P5 X0 Y0 Z0 H2 F60 T6000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds, edited P0 to P4 indicating switch
      M558 P5 C"zstop+e0stop" H2 F60 T6000 ; New V3

      You can't connect a Z probe and an endstop switch to the same pin. Which of the following do you have:

      1. A single Z endstop switch
      2. Two Z endstop switches, one for each motor.
      3. No Z endstop switches, instead you use the Z probe to home Z.

      Duet WiFi hardware designer and firmware engineer
      Please do not ask me for Duet support via PM or email, use the forum
      http://www.escher3d.com, https://miscsolutions.wordpress.com

      undefined 1 Reply Last reply 26 Jul 2022, 18:50 Reply Quote 0
      • undefined
        wmmc01 @dc42
        last edited by 26 Jul 2022, 18:50

        @dc42 Hi DC42!
        I have 2 end stop switches, one for each motor. What do I need to change?
        Thanks!

        1 Reply Last reply Reply Quote 0
        • undefined
          Phaedrux Moderator
          last edited by 26 Jul 2022, 21:48

          Do you have a Z probe in addition to the two Z endstops?

          What pin is it actually using?

          Error: Pin 'zstop' is not free
          Error: Invalid Z probe index

          The errors are because you are trying to use the same pins for the Z endstops and for the Z probe.

          M574 Z1 S1 P"zstop+e0stop" ; New for ver 3
          M558 P5 C"zstop+e0stop"

          How do you actually have things wired?

          Z-Bot CoreXY Build | Thingiverse Profile

          undefined 1 Reply Last reply 27 Jul 2022, 00:33 Reply Quote 0
          • undefined
            wmmc01 @Phaedrux
            last edited by 27 Jul 2022, 00:33

            @phaedrux
            This is how they are actually wired: I have Z steppers on Drivers 2 (Z) and 3 (E0), and endstops: zstop and e0stop.

            1 Reply Last reply Reply Quote 0
            • undefined
              Phaedrux Moderator
              last edited by 27 Jul 2022, 00:51

              So no probe at all?

              If that's the case, you can remove the entire zprobe section

              ; Z-Probe
              ;M558 P5 X0 Y0 Z0 H2 F60 T6000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds, edited P0 to P4 indicating switch
              M558 P5 C"zstop+e0stop" H2 F60 T6000 ; New V3
              G31 P600 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height
              M557 X20:360 Y20:360 S20 ; Define mesh grid

              And for the endstops you just need

              ; Endstops
              M574 X1 S1 P"xstop" ; New for ver 3 Note if using Stallgaurd less info is required All
              M574 Y1 S1 P"ystop" ; New for ver 3
              M574 Z1 S1 P"zstop+e0stop" ; New for ver 3

              Then in your homing files for Z you just home the Z axis as normal. It will move both motors until their respective endstops are triggered.

              Make sure the motor on driver 2 is using the zstop endstop, and driver 3 motor is using e0stop endstop to match the order you have the drivers and endstops listed.

              Z-Bot CoreXY Build | Thingiverse Profile

              undefined 1 Reply Last reply 27 Jul 2022, 01:32 Reply Quote 0
              • undefined
                wmmc01 @Phaedrux
                last edited by wmmc01 27 Jul 2022, 01:32

                @phaedrux Simpler than I thought. And No probe.

                And yes driver 2 is zstop, and driver 3 is eostop.

                Thanks again!

                1 Reply Last reply Reply Quote 0
                • undefined
                  Phaedrux Moderator
                  last edited by 27 Jul 2022, 03:10

                  Note that this assumes your endstops are at equal positions. If you need to do an offset for one or the other you'd still need to do a split axis arrangement.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  undefined 1 Reply Last reply 27 Jul 2022, 03:19 Reply Quote 0
                  • undefined
                    wmmc01 @Phaedrux
                    last edited by 27 Jul 2022, 03:19

                    @phaedrux Yes they are equal, and homing all axis works fine - Thanks for your help!

                    1 Reply Last reply Reply Quote 0
                    • undefined Phaedrux marked this topic as a question 27 Jul 2022, 04:01
                    • undefined Phaedrux has marked this topic as solved 27 Jul 2022, 04:01
                    8 out of 9
                    • First post
                      8/9
                      Last post
                    Unless otherwise noted, all forum content is licensed under CC-BY-SA