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

    Driver 0 only moves in one direction

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    15
    385
    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.
    • Exquisiteundefined
      Exquisite
      last edited by Exquisite

      Hello, during an overnight print my print failed. Upon homing to restart the print I noticed my right Z axis was grinding. I rechecked my config and everything looked correct. In an attempt to troubleshoot I attached driver 0 to a spare stepper I have and noticed it only goes in one direction whether or not I try to move it + or -. I mean to say it moves as if I pressed + whether I press + or -.

      I've performed all the troubleshooting I can think of and I cannot identify or resolve the issue.
      I've reinstalled firmware, done a full power cycle, upgraded to beta, and checked for loose/damaged/corroded wiring.

      Here is the result of M122:

      === Diagnostics ===
      RepRapFirmware for Duet 3 Mini 5+ version 3.3 (2021-06-15 21:46:11) running on Duet 3 Mini5plus WiFi (standalone mode)
      Board ID: WW6R1-M096U-D65J0-40KM8-KN03Z-HP1XJ
      Used output buffers: 3 of 40 (11 max)
      === RTOS ===
      Static ram: 102724
      Dynamic ram: 106168 of which 28 recycled
      Never used RAM 34784, free system stack 206 words
      Tasks: NETWORK(ready,11.2%,246) HEAT(delaying,0.0%,366) Move(notifyWait,0.1%,362) CanReceiv(notifyWait,0.0%,941) CanSender(notifyWait,0.0%,371) CanClock(delaying,0.0%,340) TMC(notifyWait,0.6%,116) MAIN(running,85.3%,426) IDLE(ready,1.9%,29) AIN(delaying,0.8%,274), total 100.0%
      Owned mutexes: WiFi(NETWORK)
      === Platform ===
      Last reset 00:00:11 ago, cause: power up
      Last software reset at 2022-01-11 17:36, reason: User, GCodes spinning, available RAM 34784, slot 2
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      MCU revision 3, ADC conversions started 11976, completed 11976, timed out 0, errs 0
      Step timer max interval 737
      MCU temperature: min 31.4, current 33.1, max 33.4
      Supply voltage: min 23.8, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
      Driver 0: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 605, writes 9, timeouts 0, DMA errors 0
      Driver 1: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 605, writes 9, timeouts 0, DMA errors 0
      Driver 2: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 604, writes 9, timeouts 0, DMA errors 0
      Driver 3: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 604, writes 9, timeouts 0, DMA errors 0
      Driver 4: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 605, writes 9, timeouts 0, DMA errors 0
      Driver 5: position 0, assumed not present
      Driver 6: position 0, assumed not present
      Date/time: 2022-01-11 17:36:47
      Cache data hit count 23208718
      Slowest loop: 1.37ms; fastest: 0.12ms
      === Storage ===
      Free file entries: 10
      SD card 0 detected, interface speed: 22.5MBytes/sec
      SD card longest read time 11.5ms, write time 0.0ms, max retries 0
      === Move ===
      DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === AuxDDARing ===
      Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters = 0 -1, chamberHeaters = -1 -1
      === GCodes ===
      Segments left: 0
      Movement lock held by null
      HTTP is idle in state(s) 0
      Telnet is idle in state(s) 0
      File is idle in state(s) 0
      USB is idle in state(s) 0
      Aux is idle in state(s) 0
      Trigger is idle in state(s) 0
      Queue is idle in state(s) 0
      LCD is idle in state(s) 0
      SBC is idle in state(s) 0
      Daemon is idle in state(s) 0
      Aux2 is idle in state(s) 0
      Autopause is idle in state(s) 0
      Code queue is empty.
      === CAN ===
      Messages queued 106, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 17 (min 17), ts 60/0/0
      Tx timeouts 0,0,59,0,0,45 last cancelled message type 4514 dest 127
      
      === Network ===
      Slowest loop: 10.35ms; fastest: 0.00ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
      HTTP sessions: 1 of 8
      - WiFi -
      Network state is active
      WiFi module is connected to access point 
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.26
      WiFi MAC address d8:bf:c0:14:e6:0c
      WiFi Vcc 3.38, reset reason Power up
      WiFi flash size 2097152, free heap 25864
      WiFi IP address 192.168.1.151
      WiFi signal strength -35dBm, mode 802.11n, reconnections 0, sleep mode modem
      Clock register 00002002
      Socket states: 0 0 0 0 0 0 0 0
      

      My config.g (Not set up for dual z since I was troubleshooting.)

      ; General preferences
      G90                                          ; send absolute coordinates...
      M83                                          ; ...but relative extruder moves
      M550 P"Nick's Duet"                          ; set printer name
      
      ; Network
      M552 S1                                      ; enable network
      M586 P0 S1                                   ; enable HTTP
      M586 P1 S0                                   ; disable FTP
      M586 P2 S0                                   ; disable Telnet
      
      ; Drives
      M569 P0.0 S0                                 ; physical drive 0.0 goes backwards Y+
      M569 P0.1 S0                                 ; physical drive 0.1 goes backwards Y
      M569 P0.2 S1                                 ; physical drive 0.2 goes backwards Z
      M569 P0.3 S0                                 ; physical drive 0.3 goes backwards E
      M569 P0.4 S0                                 ; physical drive 0.4 goes backwards X-
      M584 X0.4 Y0.1 Z0.2 E0.0                     ; set drive mapping          (Extruder mapped to driver 0 so I may use extrude/retract to test driver functionality.)
      M350 X16 Y16 Z16 E16 I1                      ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z400.00 E130.00            ; set steps per mm
      M566 X900.00 Y900.00 Z60.00 E120.00          ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z180.00 E1200.00      ; set maximum speeds (mm/min)
      M201 X1000.00 Y1000.00 Z20.00 E500.00        ; set accelerations (mm/s^2)
      M906 X1000 Y1000 Z1000 E1000                 ; set motor currents (mA)
      M84 S0                                       ; Disable motor idle current reduction
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                             ; set axis minimum
      M208 X300 Y300 Z350 S0                       ; set axis maximum
      
      ; Endstops
      M574 Y1 S1 P"io5.in"                        ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin !io5.in
      M574 X1 S1 P"io6.in"                        ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !io6.in
      M574 Z1 S2                                  ; configure Z-probe endstop for low end on Z
      
      ; Z-Probe (BL Touch)
      M950 S0 C"io3.out"                           ; create servo pin 0 for BLTouch
      M558 P9 C"io3.in" H5 F120 T6000              ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 X48 Y-2 Z1.5                        ; set Z probe trigger value, offset and trigger height
      M557 X40:260 Y40:260 S20                     ; define mesh grid
      
      ; Heaters
      M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
      M950 H0 C"out0" T0                           ; create bed heater output on out0 and map it to sensor 0
      M307 H0 B0 S1.00                             ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                      ; map heated bed to heater 0
      M143 H0 S120                                 ; set temperature limit for heater 0 to 120C
      M308 S1 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp0
      M950 H1 C"out1" T1                           ; create nozzle heater output on out1 and map it to sensor 1
      M307 H1 B0 S1.00                             ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S280                                 ; set temperature limit for heater 1 to 280C
      
      ; Fans
      M950 F0 C"out5" Q500                         ; create fan 0 on pin out5 and set its frequency
      M106 P0 C"Part Fan" S0 H-1                   ; set fan 0 name and value. Thermostatic control is turned off
      
      M950 F1 C"out6" Q500                         ; create fan 1 on pin out6 and set its frequency
      M106 P1 C"Hotend Fan" S1 H1 T45              ; set fan 1 name and value. Thermostatic control is turned on
      
      M950 F2 C"!out3+out3.tach" Q25000            ; create fan 2 on pin out3 and set its frequency
      M106 P2 C"MCU Fan" S0 H-1                    ; set fan 2 name and value. Thermostatic control is turned off
      
      ; Tools
      M563 P0 S"Extruder Juan" D0 H1 F0            ; 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
      
      ; Custom settings are not defined
      
      
      
      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        How did you have driver 0 configured when you were testing? As an extruder?
        How were you commanding movement?

        Z-Bot CoreXY Build | Thingiverse Profile

        Exquisiteundefined 1 Reply Last reply Reply Quote 0
        • Exquisiteundefined
          Exquisite @Phaedrux
          last edited by Exquisite

          @phaedrux
          I'm using the DWC dashboard to command movement. I've also tried G1, stepper still moves in one direction even if I tell it to go in the other direction; it's very strange.

          Yes, I had it mapped as the extruder, just so I could use Extrude/Retract to easily move the stepper to test the functionality of driver 0.

          I'll also mention that I've been using this same dual-z setup for a few days now with no problems whatsoever.

          Also, sorry, I don't know why I didn't think to include my original config. Here it is:

          G90                                          ; send absolute coordinates...
          M83                                          ; ...but relative extruder moves
          M550 P"Nick's Duet"                          ; set printer name
          
          ; Network
          M552 S1                                      ; enable network
          M586 P0 S1                                   ; enable HTTP
          M586 P1 S0                                   ; disable FTP
          M586 P2 S0                                   ; disable Telnet
          
          ; Drives
          M569 P0.0 S0                                 ; physical drive 0.0 X+
          M569 P0.1 S0                                 ; physical drive 0.1 Y
          M569 P0.2 S1                                 ; physical drive 0.2 Z
          M569 P0.3 S0                                 ; physical drive 0.3 E
          M569 P0.4 S0                                 ; physical drive 0.4 X-
          M584 X0.4 Y0.1 Z0.0:0.2 E0.3                 ; set drive mapping        
          M671 X0:300 Y0:0 S0.75 			     ; leadscrews at left and right of X axis
          M350 X16 Y16 Z16 E16 I1                      ; configure microstepping with interpolation
          M92 X80.00 Y80.00 Z400.00 E130.00            ; set steps per mm
          M566 X900.00 Y900.00 Z60.00 E120.00          ; set maximum instantaneous speed changes (mm/min)
          M203 X6000.00 Y6000.00 Z180.00 E1200.00      ; set maximum speeds (mm/min)
          M201 X1000.00 Y1000.00 Z20.00 E500.00        ; set accelerations (mm/s^2)
          M906 X1000 Y1000 Z1000 E1000                 ; set motor currents (mA)
          M84 S0                                       ; Disable motor idle current reduction
          M572 D0 S0.1
          
          ; Axis Limits
          M208 X0 Y0 Z0 S1                             ; set axis minimum
          M208 X300 Y300 Z350 S0                       ; set axis maximum
          
          ; Endstops
          M574 Y1 S1 P"io5.in"                        ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin !io5.in
          M574 X1 S1 P"io6.in"                        ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !io6.in
          M574 Z1 S2                                  ; configure Z-probe endstop for low end on Z
          
          ; Z-Probe (BL Touch)
          M950 S0 C"io3.out"                           ; create servo pin 0 for BLTouch
          M558 P9 C"io3.in" H5 F120 T6000              ; set Z probe type to bltouch and the dive height + speeds
          G31 P500 X48 Y-2 Z1.59                        ; set Z probe trigger value, offset and trigger height
          M557 X40:260 Y40:260 S20                     ; define mesh grid
          
          ; Heaters
          M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
          M950 H0 C"out0" T0                           ; create bed heater output on out0 and map it to sensor 0
          M307 H0 B0 R0.493 C949.0 D12.60 S1.00                             ; disable bang-bang mode for the bed heater and set PWM limit
          M140 H0                                      ; map heated bed to heater 0
          M143 H0 S120                                 ; set temperature limit for heater 0 to 120C
          M308 S1 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp0
          M950 H1 C"out1" T1                           ; create nozzle heater output on out1 and map it to sensor 1
          M307 H1 B0 R2.970 C183.5 D6.24 S1.00 V23.7                             ; disable bang-bang mode for heater  and set PWM limit
          M143 H1 S280                                 ; set temperature limit for heater 1 to 280C
          
          ; Fans
          M950 F0 C"out5" Q500                         ; create fan 0 on pin out5 and set its frequency
          M106 P0 C"Part Fan" S0 H-1                   ; set fan 0 name and value. Thermostatic control is turned off
          
          M950 F1 C"out6" Q500                         ; create fan 1 on pin out6 and set its frequency
          M106 P1 C"Hotend Fan" S1 H1 T45              ; set fan 1 name and value. Thermostatic control is turned on
          
          M950 F2 C"!out3+out3.tach" Q25000            ; create fan 2 on pin out3 and set its frequency
          M106 P2 C"MCU Fan" S0 H-1                    ; set fan 2 name and value. Thermostatic control is turned off
          
          ; Tools
          M563 P0 S"Extruder Juan" D0 H1 F0            ; 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
          
          ; Custom settings are not defined
          
          
          1 Reply Last reply Reply Quote 0
          • Exquisiteundefined
            Exquisite
            last edited by

            After further testing and troubleshooting, I am still unable to fix the issue.
            I am currently back to using a single z axiz motor, but I'd like to be able to use both.

            fcwiltundefined 1 Reply Last reply Reply Quote 0
            • fcwiltundefined
              fcwilt @Exquisite
              last edited by

              @exquisite said in Driver 0 only moves in one direction:

              After further testing and troubleshooting, I am still unable to fix the issue.
              I am currently back to using a single z axiz motor, but I'd like to be able to use both.

              Did you try swapping the Z stepper connections to see if it was a wiring or driver issue?

              Frederick

              Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

              Exquisiteundefined 1 Reply Last reply Reply Quote 0
              • Exquisiteundefined
                Exquisite @fcwilt
                last edited by

                @fcwilt Yes, I used an entirely different spare stepper I have attached to driver 0 and I'm still getting the same problem.

                fcwiltundefined alankilianundefined 2 Replies Last reply Reply Quote 0
                • fcwiltundefined
                  fcwilt @Exquisite
                  last edited by

                  @exquisite said in Driver 0 only moves in one direction:

                  @fcwilt Yes, I used an entirely different spare stepper I have attached to driver 0 and I'm still getting the same problem.

                  Then I would guess that the driver chip has failed.

                  You could as a test swap the assignment of X+ and E in your config file and swap the connections on the board. You could then test for correct X axis operation.

                  Frederick

                  Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                  1 Reply Last reply Reply Quote 0
                  • alankilianundefined
                    alankilian @Exquisite
                    last edited by

                    @exquisite Do you have any way of checking voltages on the board?

                    It would be at least INTERESTING to check the driver 0 DIRection pin and see if it switches between forwards and backwards.

                    A volt meter would work.

                    The SCHEMATIC says there's a testpoint TP12 that is the Dirver #0 DIRection signal. Try moving forwards and backwarsd and see what voltages you get (with the other probe on ground)

                    SeemeCNC Rostock Max V3 converted to V3.2 with a Duet2 Ethernet Firmware 3.2 and SE300

                    Exquisiteundefined 1 Reply Last reply Reply Quote 2
                    • Exquisiteundefined
                      Exquisite @alankilian
                      last edited by

                      @alankilian For sure, I'll gladly check that when I get home Tuesday. That would be fairly interesting to me too, I didn't even think to check that.

                      1 Reply Last reply Reply Quote 0
                      • Exquisiteundefined
                        Exquisite
                        last edited by

                        Alright so I cannot find my multimeter, so I am unable to check the output of the dir pin.

                        My issue still stands though, driver 0 seems to have developed a fault that I cannot resolve.
                        May I request a warranty replacement?

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

                          when and where did you purchase the Duet?

                          Z-Bot CoreXY Build | Thingiverse Profile

                          Exquisiteundefined 1 Reply Last reply Reply Quote 0
                          • Exquisiteundefined
                            Exquisite @Phaedrux
                            last edited by

                            @phaedrux
                            I bought it from Filastruder on Dec 13 2021.

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

                              Have you tested with a motor with the shaft completely disconnected from any resistance?

                              Z-Bot CoreXY Build | Thingiverse Profile

                              Exquisiteundefined 1 Reply Last reply Reply Quote 0
                              • Exquisiteundefined
                                Exquisite @Phaedrux
                                last edited by

                                @phaedrux

                                I tested Driver 0 with a spare stepper I have that's not attached to anything, completely resistance-free. I still get the same result. If I tell the stepper to go right, it goes right. If it tell it to go left, it still goes right.

                                I know my spare stepper is good because I tested it with my old MKS Gen L.

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

                                  Thanks. Please send an email to warranty@duet3d.com and CC your reseller. Include a link to this forum thread and the details of your original purchase. You'll receive a reply with a form to fill out.

                                  Z-Bot CoreXY Build | Thingiverse Profile

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