Z Motors not moving



  • 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



  • 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.



  • 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
    


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



  • 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


  • administrators

    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.



  • @dc42 G1 S2 Z10 F100 produced no response.



  • @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?



  • 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 ===
    


  • @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.


  • administrators

    @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?



  • @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


  • administrators

    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.



  • @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
    

  • administrators

    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.



  • @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&


  • administrators

    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.



  • @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.


  • administrators

    What motors are they?



  • @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.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.