Navigation

    Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Z Motors not moving

    General Discussion
    5
    27
    3006
    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.
    • sfinlon
      sfinlon last edited by

      Hello,
      I just bought a Duet Wifi board, and wired it all up. The X and Y are moving as expected, but the Z motors are not moving at all.
      If I manually trigger the end stop it shows as being active so that's functioning, but the Z axis won't move up or down.

      What could I have missed?
      0_1525199169798_IMG_1153.JPG

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

        Try testing each motor individually without a mechanical load.

        If they still don't spin, try connecting those motors to another axis and see if the motors work at all.

        It's possible that you have the motor current set too low. Do the motors make any noise or get warmer?

        Post your config.g so we can see if things are configured correctly.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • sfinlon
          sfinlon last edited by sfinlon

          I'll have to try connecting Z1 and Z2 to X and Y and see if they move, but until I do here is my config.g

          ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
          ; executed by the firmware on start-up
          ;
          ; generated by RepRapFirmware Configuration Tool on Tue May 01 2018 16:12:49 GMT-0400 (EDT)
          
          ; General preferences
          G90                                                ; Send absolute coordinates...
          M83                                                ; ...but relative extruder moves
          
          ; Network
          M550 PPrinter                               ; Set machine name
          M552 S1                                            ; Enable network
          M586 P0 S1                                         ; Enable HTTP
          M586 P1 S0                                         ; Disable FTP
          M586 P2 S0                                         ; Disable Telnet
          
          ; Drives
          M569 P0 S1                                         ; Drive 0 goes forwards
          M569 P1 S1                                         ; Drive 1 goes forwards
          M569 P2 S1                                         ; Drive 2 goes forwards
          M569 P3 S1                                         ; Drive 3 goes forwards
          M350 X16 Y16 Z16 E128 I1                           ; Configure microstepping with interpolation
          M92 X80 Y80 Z4000 E420                             ; Set steps per mm
          M566 X900 Y900 Z12 E120                            ; Set maximum instantaneous speed changes (mm/min)
          M203 X6000 Y6000 Z180 E1200                        ; Set maximum speeds (mm/min)
          M201 X500 Y20 Z250 E250                            ; Set accelerations (mm/s^2)
          M906 X800 Y800 Z800 E800 I30                       ; Set motor currents (mA) and motor idle factor in per cent
          M84 S30                                            ; Set idle timeout
          
          ; Axis Limits
          M208 X0 Y0 Z0 S1                                   ; Set axis minima
          M208 X220 Y220 Z250 S0                             ; Set axis maxima
          
          ; Endstops
          M574 X1 Y1 Z1 S0                                   ; Set active low endstops
          
          ; Z-Probe
          M558 P0 H5 F120 T6000                              ; Set Z probe type to switch and the dive height + speeds
          G31 P600 X0 Y0 Z2.5                                ; Set Z probe trigger value, offset and trigger height
          M557 X15:205 Y15:205 S20                           ; Define mesh grid
          
          ; Heaters
          M305 P0 T100000 B4138 C0 R4700                     ; Set thermistor + ADC parameters for heater 0
          M143 H0 S110                                       ; Set temperature limit for heater 0 to 110C
          M305 P1 T100000 B4138 C0 R4700                     ; Set thermistor + ADC parameters for heater 1
          M143 H1 S265                                       ; Set temperature limit for heater 1 to 265C
          
          ; Fans
          M106 P0 S0 I0 F500 H-1                             ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
          M106 P1 S1 I0 F500 H-1                             ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
          M106 P2 S1 I0 F500 H-1                             ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
          
          ; 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
          
          ; Automatic power saving
          M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
          
          ; Custom settings are not configured
          
          sfinlon 1 Reply Last reply Reply Quote 0
          • sfinlon
            sfinlon @sfinlon last edited by

            So plugging Z1 into X and Z2 into Y does make them move, so maybe it's a configuration error?

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

              I believe you're missing an M584 command to specify how your z axis motors are bound.

              https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping

              Z-Bot CoreXY Build | Thingiverse Profile

              sfinlon 1 Reply Last reply Reply Quote 0
              • dc42
                dc42 administrators last edited by

                Try plugging them back into the Z connectors, then send G1 S2 Z10 F100. That should make the motors move in the +Z direction for 6 seconds.

                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

                sfinlon 1 Reply Last reply Reply Quote 0
                • sfinlon
                  sfinlon @dc42 last edited by

                  @dc42 G1 S2 Z10 F100 produced no response.

                  dc42 1 Reply Last reply Reply Quote 0
                  • elmoret
                    elmoret last edited by

                    @sfinlon said in Z Motors not moving:

                    G1 S2 Z10 F100

                    This should work as long as Z is not already at 10, I've tested your config.g file on a Duet Wifi here.

                    Could you paste the results from M122, please?

                    sfinlon 1 Reply Last reply Reply Quote 0
                    • sfinlon
                      sfinlon @elmoret last edited by sfinlon

                      M122

                      === Diagnostics ===
                      Used output buffers: 3 of 32 (14 max)
                      === Platform ===
                      RepRapFirmware for Duet 2 WiFi/Ethernet version 1.21 running on Duet WiFi 1.02 or later
                      Board ID: 08DGM-956GU-DJMSN-6J1F0-3SJ6J-KBNVF
                      Static ram used: 16152
                      Dynamic ram used: 100448
                      Recycled dynamic ram: 2184
                      Stack ram used: 1224 current, 4448 maximum
                      Never used ram: 7840
                      Last reset 00:01:23 ago, cause: power up
                      Last software reset at 2018-05-01 18:14, reason: User, spinning module GCodes, available RAM 7776 bytes (slot 1)
                      Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0441f000, BFAR 0xe000ed38, SP 0xffffffff
                      Error status: 0
                      Free file entries: 9
                      SD card 0 detected, interface speed: 20.0MBytes/sec
                      SD card longest block write time: 0.0ms
                      MCU temperature: min 27.1, current 29.2, max 29.4
                      Supply voltage: min 12.6, current 12.8, max 12.8, under voltage events: 0, over voltage events: 0
                      Driver 0: standstill, SG min/max 92/246
                      Driver 1: standstill, SG min/max not available
                      Driver 2: open-load-A open-load-B, SG min/max 0/9
                      Driver 3: standstill, SG min/max not available
                      Driver 4: standstill, SG min/max not available
                      Date/time: 2018-05-01 19:12:23
                      Slowest main loop (seconds): 0.155307; fastest: 0.000112
                      === Move ===
                      MaxReps: 1, StepErrors: 0, LaErrors: 0, FreeDm: 239, MinFreeDm 238, MaxWait: 3237663633ms, Underruns: 0, 0
                      Scheduled moves: 12, completed moves: 11
                      Bed compensation in use: none
                      Bed probe heights: 0.000 0.000 0.000 0.000 0.000
                      === Heat ===
                      Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
                      === GCodes ===
                      Segments left: 0
                      Stack records: 1 allocated, 1 in use
                      Movement lock held by http
                      http is idle in state(s) 1 5
                      telnet is idle in state(s) 0
                      file is idle in state(s) 0
                      serial is idle in state(s) 0
                      aux is idle in state(s) 0
                      daemon is idle in state(s) 0
                      queue is idle in state(s) 0
                      autopause is idle in state(s) 0
                      Code queue is empty.
                      === Network ===
                      Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
                      HTTP sessions: 1 of 8
                      - WiFi -
                      Network state is running
                      WiFi module is connected to access point 
                      Failed messages: pending 0, notready 0, noresp 0
                      WiFi firmware version 1.21RC4(08b3)
                      WiFi MAC address 5c:cf:7f:76:60:45
                      WiFi Vcc 3.39, reset reason Turned on by main processor
                      WiFi flash size 4194304, free heap 17088
                      WiFi IP address 192.168.254.210
                      WiFi signal strength -64dBm, reconnections 0, sleep mode modem
                      Socket states: 0 2 0 0 0 0 0 0
                      === Expansion ===
                      
                      1 Reply Last reply Reply Quote 0
                      • sfinlon
                        sfinlon @Phaedrux last edited by

                        @phaedrux said in Z Motors not moving:

                        I believe you're missing an M584 command to specify how your z axis motors are bound.

                        https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping

                        According to the doc "Any M584 commands used to remap drivers must come before M350 and M906 commands." M584 is only used to override defaults. I believe as long as X is 0 Y is 1 and Z is 2 you don't need to specify.

                        1 Reply Last reply Reply Quote 1
                        • dc42
                          dc42 administrators @sfinlon last edited by

                          @sfinlon said in Z Motors not moving:

                          @dc42 G1 S2 Z10 F100 produced no response.

                          I should have said, run G91 first. As @elmoret pointed out, otherwise they will only move if they are not already at Z=10.

                          Do the motors vibrate when you command them to move, or are they silent? Is there any sign of damage to the stepper driver chip adjacent to the Z connectors?

                          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

                          sfinlon 1 Reply Last reply Reply Quote 0
                          • sfinlon
                            sfinlon @dc42 last edited by sfinlon

                            @dc42 I did a G91 and then G1 S2 Z10 F100 and no response.

                            When I put my hands on the Z motors I don't feel any vibrations whatsoever.

                            I don't see any damage to the stepper motor. I'll attach two photos from slightly different angles to show you.

                            0_1525262269842_IMG_8340.JPG

                            0_1525262548514_IMG_9222.JPG

                            1 Reply Last reply Reply Quote 0
                            • dc42
                              dc42 administrators last edited by

                              With power off, connect one of the Z motors to the E1 connector. Put M584 Z4 E3 near the start of config.g (before any M906 or M350 commands), save and restart. Then see if jogging Z makes that motor move (remember to send M564 H1 first to allow movement before homing). Test the other motor in the same way.

                              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

                              sfinlon 1 Reply Last reply Reply Quote 0
                              • sfinlon
                                sfinlon @dc42 last edited by sfinlon

                                @dc42 instead of that, I hooked Z1 up to the E1 stepper, and reconfigured the firmware with this M584 X0 Y1 Z4 E3 in the config.g.

                                And that does let the Z1 motor jog back and forth. So is it possible the Z2 stepper motor is bad? I suppose I can splice the Z1 and Z2 connectors to make it work, but I wouldn't be able to use a second extruder then...

                                ; executed by the firmware on start-up
                                ;
                                ; generated by RepRapFirmware Configuration Tool on Wed May 02 2018 11:04:28 GMT-0400 (EDT)
                                
                                ; General preferences
                                G90                                                ; Send absolute coordinates...
                                M83                                                ; ...but relative extruder moves
                                
                                ; Network
                                M550 PScott's Tatara                               ; Set machine name
                                M552 S1                                            ; Enable network
                                M586 P0 S1                                         ; Enable HTTP
                                M586 P1 S0                                         ; Disable FTP
                                M586 P2 S0                                         ; Disable Telnet
                                
                                ; Drives
                                M569 P0 S1                                         ; Drive 0 goes forwards
                                M569 P1 S1                                         ; Drive 1 goes forwards
                                M569 P2 S1                                         ; Drive 2 goes forwards
                                M569 P3 S1                                         ; Drive 3 goes forwards
                                M584 X0 Y1 Z4 E3                                   ; Apply custom drive mapping
                                M350 X16 Y16 Z16 E16 I1                            ; Configure microstepping with interpolation
                                M92 X80 Y80 Z4000 E420                             ; Set steps per mm
                                M566 X900 Y900 Z12 E120                            ; Set maximum instantaneous speed changes (mm/min)
                                M203 X6000 Y6000 Z180 E1200                        ; Set maximum speeds (mm/min)
                                M201 X500 Y20 Z250 E250                            ; Set accelerations (mm/s^2)
                                M906 X800 Y800 Z800 E800 I30                       ; Set motor currents (mA) and motor idle factor in per cent
                                M84 S30                                            ; Set idle timeout
                                
                                ; Axis Limits
                                M208 X0 Y0 Z0 S1                                   ; Set axis minima
                                M208 X220 Y220 Z240 S0                             ; Set axis maxima
                                
                                ; Endstops
                                M574 X1 Y1 Z1 S0                                   ; Set active low endstops
                                
                                ; Z-Probe
                                M558 P0 H5 F120 T6000                              ; Set Z probe type to switch and the dive height + speeds
                                G31 P600 X0 Y0 Z0.1                                ; Set Z probe trigger value, offset and trigger height
                                M557 X15:205 Y15:205 S20                           ; Define mesh grid
                                
                                ; Heaters
                                M305 P0 T100000 B4138 C0 R4700                     ; Set thermistor + ADC parameters for heater 0
                                M143 H0 S110                                       ; Set temperature limit for heater 0 to 110C
                                M305 P1 T100000 B4138 C0 R4700                     ; Set thermistor + ADC parameters for heater 1
                                M143 H1 S265                                       ; Set temperature limit for heater 1 to 265C
                                
                                ; Fans
                                M106 P0 S0 I0 F500 H-1                             ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                                M106 P1 S1 I0 F500 H-1                             ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
                                M106 P2 S1 I0 F500 H-1                             ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
                                
                                ; 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
                                
                                ; Automatic power saving
                                M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
                                
                                ; Custom settings are not configured
                                
                                1 Reply Last reply Reply Quote 0
                                • dc42
                                  dc42 administrators last edited by

                                  Did you try the Z2 stepper motor that way too? If you can make the Z1 motor move by connecting it to the E1 output, but not the Z2 motor, that suggests that the Z2 motor or its cable is open circuit.

                                  You can test the Z stepper driver by plugging the Z1 motor into one of the two Z motor connectors, and putting 2 jumpers in the other Z motor connector.

                                  The Za and Zb connectors are wired in series, so if either motor is open circuit, neither will move if they are both plugged in.

                                  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

                                  sfinlon 1 Reply Last reply Reply Quote 0
                                  • sfinlon
                                    sfinlon @dc42 last edited by

                                    @dc42 Connecting the Z2 motor to E1 stepper didn't do anything, so I assumed I messed up a crimp in the connector.
                                    Everything looked ok, but I replaced them with a new set of crimps and connector, and it responded.

                                    I hooked the Z1 and Z2 motors back up to the Z2 stepper and now I have another weird issue.

                                    The Z end stop is wired correctly, when I press it with my finger the LED lights up.

                                    The weirdness is when I home X or Y, the Z motors start moving one at a time up and down. If I press Z home they go all the way smash in to the Z stop but don't stop trying to keep moving down.

                                    Here is a short video of it doing the X homing and then Z going nuts
                                    https://www.youtube.com/watch?v=N5kH3gIMu8I&

                                    1 Reply Last reply Reply Quote 0
                                    • dc42
                                      dc42 administrators last edited by

                                      If the two Z motors are connected to the Za and Zb connectors but they are not moving in sync, that suggests to me that the Z axis is binding, or you have set the Z acceleration or speed too high, or the Z motor current is set too low.

                                      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

                                      sfinlon 1 Reply Last reply Reply Quote 0
                                      • sfinlon
                                        sfinlon @dc42 last edited by

                                        @dc42 it might be the current set too low, I took the lead screws out of the spider couplers to just let them free spin.

                                        They dont seem have much torque. If I just touch my finger to it, it almost immediately stops spinning.

                                        1 Reply Last reply Reply Quote 0
                                        • dc42
                                          dc42 administrators last edited by

                                          What motors are they?

                                          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

                                          sfinlon 1 Reply Last reply Reply Quote 0
                                          • sfinlon
                                            sfinlon @dc42 last edited by

                                            @dc42 stock anet a8 motors.
                                            I did just order 2 new nema17’s and new couplers because I can’t tell what part is failing.

                                            dc42 1 Reply Last reply Reply Quote 0
                                            • dc42
                                              dc42 administrators @sfinlon last edited by

                                              @sfinlon said in Z Motors not moving:

                                              @dc42 stock anet a8 motors.
                                              I did just order 2 new nema17’s and new couplers because I can’t tell what part is failing.

                                              Perhaps they are high-inductance motors that need to be connected in parallel instead of in series.

                                              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

                                              sfinlon 1 Reply Last reply Reply Quote 0
                                              • wilriker
                                                wilriker Moderator last edited by wilriker

                                                @sfinlon I can see two errors in your config (having just converted my own Anet A8 to Duet I made the same mistakes):

                                                For one Z Motor direction needs to be reversed so change
                                                M569 P2 S1 ; Drive 2 goes forwards
                                                to
                                                M569 P2 S0 ; Drive 2 goes backwards

                                                and (assuming you have not changed the lead screws) also your steps/mm for Z axis are wrong. Change
                                                M92 X80 Y80 Z4000 E420 ; Set steps per mm
                                                to
                                                M92 X80 Y80 Z400 E420 ; Set steps per mm

                                                If you are still using the original 16-tooth pulley also the values for X and Y need to be 100 instead of 80. And using the original extruder gear these steps would be 95 instead of 420.

                                                I had my steps/mm for Z calculated wrong (should have trusted Marlin config more) and had set it to 1600 which led to horrible asymmetric jumping of the Z axis. I am glad that it did not break or bend anything (at least I hope it did not).

                                                P.S.: Here is my complete section of drive settings for all motors, rods and leadscrews being stock. Note that motor currents are currently set to their rated current. I will tune this probably tonight to a lower value.

                                                ; Drives
                                                M569 P0 S1                                         ; Drive X goes forwards
                                                M569 P1 S1                                         ; Drive Y goes forwards
                                                M569 P2 S0                                         ; Drive Z goes backwards
                                                M569 P3 S1                                         ; Drive E0 goes forwards
                                                M350 X16 Y16 Z16 E16 I1                            ; Configure microstepping with interpolation
                                                M92 X100 Y100 Z400 E95                             ; Set steps per mm
                                                M566 X600 Y600 Z18 E300                            ; Set maximum instantaneous speed changes (mm/min)
                                                M203 X24000 Y24000 Z480 E3000                      ; Set maximum speeds (mm/min)
                                                M201 X2000 Y2000 Z100 E10000                       ; Set accelerations (mm/s^2)
                                                M906 X900 Y900 Z900 E900 I20                       ; Set motor currents (mA) and motor idle factor in per cent
                                                M84 S30                                            ; Set idle timeout
                                                

                                                One last addition: if you are also still using stock thermistors you could use the following settings:

                                                M305 P0 T100000 B4725 C7.060000e-8 R4700           ; Set thermistor + ADC parameters for heater 0
                                                M305 P1 T100000 B4725 C7.060000e-8 R4700           ; Set thermistor + ADC parameters for heater 1
                                                

                                                Manuel
                                                Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                                with probably always latest firmware/DWC (incl. betas or self-compiled)
                                                My Tool Collection

                                                sfinlon 1 Reply Last reply Reply Quote 1
                                                • sfinlon
                                                  sfinlon @dc42 last edited by

                                                  @dc42 "Perhaps they are high-inductance motors that need to be connected in parallel instead of in series."

                                                  That's exactly what I was thought too! Because if I left the jumpers on Z2 and only plugged one or the other motor in to Z1 that one motor was fine.

                                                  So I cut the wire, and spliced and soldered them together in parallel, and plugged the combined connector in to Z1 and left the jumpers on Z2 and it's working fantastically now.

                                                  1 Reply Last reply Reply Quote 0
                                                  • sfinlon
                                                    sfinlon @wilriker last edited by

                                                    @wilriker I know marlin had the steps per mm at 100 100 400 for x y z but wasn’t sure if the steppers changed any of that.

                                                    I modified the thermistors like you exampled though.

                                                    What do you use for a bed offset? It looks like I’m not quite centered.

                                                    wilriker 1 Reply Last reply Reply Quote 0
                                                    • wilriker
                                                      wilriker Moderator @sfinlon last edited by

                                                      @sfinlon I have my minima for X -35mm and Y -7mm. Might be slightly different on your machine but generally should be quite close.

                                                      Except for my mistake with Z direction and steps/mm I basically started with the settings from Marlin and they are working.

                                                      As I said, I would tune my motor currents and can already say that 50% (=450mA) for X, Y and Z (which by the way is regularly wired in series in my setup) work fine for print speed of 75mm/s and travel speed of 120mm/s. I only tested this in a dry-run yet, though.
                                                      By dry-run I mean I took the GCODE of one of my prints that I knew contained parts of all kinds (long slow and fast extrusions, long travels, diagonals, circles, zig-zag infill with fast direction changes, etc) and reduced it to two selected layers Andrew removed heating and all extrusions. Then I set my motor currents and "printed" this file and checked that there are no skipped steps. I have not yet fine-tuned extruder motor but at it to around 750mA for now.

                                                      P.S.: if anyone is interested in my dry-run file, I am happy to she l share it.

                                                      Manuel
                                                      Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                                      with probably always latest firmware/DWC (incl. betas or self-compiled)
                                                      My Tool Collection

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