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

    Help with setting up 6XD CNC for the first time

    Scheduled Pinned Locked Moved Solved
    CNC
    2
    5
    264
    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.
    • p8blrundefined
      p8blr
      last edited by

      This is my first time setting up a Duet flavored CNC and I'm needing a bit of help. So far I've been able to get my spindle to turn on and off with a M4/M5, but I can't get my axes to move.

      The machine is a Indymill build and I'm upgrading from an Arduino running GRBL.
      Stepper drivers are RTELLIGENT T60's wired exactly according to this diagram: Duet6XD Wiring (I tried with and without connecting the alarm wire but no difference)

      GRBL settings:

      Grbl 1.1h ['$' for help]
      [MSG:Check Limits]
      [MSG:'$H'|'$X' to unlock]
      $0=10
      $1=255
      $2=0
      $3=0
      $4=0
      $5=1
      $6=0
      $10=0
      $11=0.010
      $12=0.002
      $13=0
      $20=0
      $21=1
      $22=1
      $23=3
      $24=50.000
      $25=500.000
      $26=250
      $27=3.000
      $30=20000
      $31=0
      $32=0
      $100=640.000
      $101=640.000
      $102=1600.000
      $110=3000.000
      $111=3000.000
      $112=1000.000
      $120=80.000
      $121=80.000
      $122=80.000
      $130=470.000
      $131=470.000
      $132=150.000
      ok
      
      

      Here's my config.

      ; Configuration file for Duet 3 MB 6XD (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.16 on Sat Mar 18 2023 15:44:49 GMT-0500 (Central Daylight Time)
      
      ; General preferences
      M575 P1 S1 B57600                ; enable support for PanelDue
      G90                              ; send absolute coordinates...
      M83                              ; ...but relative extruder moves
      M550 P"Indymill"                 ; set printer name
      M453							 ; set cnc mode
      
      ; Network
      M552 P0.0.0.0 S1                 ; enable network and acquire dynamic address via DHCP
      M586 P0 S1                       ; enable HTTP
      M586 P1 S0                       ; disable FTP
      M586 P2 S0                       ; disable Telnet
      
      ; Drives
      M569 P0.0 S1                     ; physical drive 0.0 goes forwards
      M569 P0.1 S1                     ; physical drive 0.1 goes forwards
      M569 P0.2 S1                     ; physical drive 0.2 goes forwards
      M569 P0.3 S1                     ; physical drive 0.3 goes forwards
      M584 X0.0 Y0.1:0.2 Z0.3          ; set drive mapping
      M92 X640.00 Y640.00 Z1600.00     ; set steps per mm
      M566 X900.00 Y900.00 Z60.00      ; set maximum instantaneous speed changes (mm/min)
      M203 X3000.00 Y3000.00 Z1200.00  ; set maximum speeds (mm/min)
      M201 X80.00 Y80.00 Z80.00        ; set accelerations (mm/s^2)
      M84 S0                           ; Disable motor idle current reduction
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                 ; set axis minima
      M208 X440 Y480 Z200 S0           ; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"io1.in"             ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io1.in
      M574 Y1 S1 P"io2.in"             ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io2.in
      M574 Z2 S1 P"io4.in"             ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin io4.in
      
      ; Z-Probe
      M558 P5 C"^io5.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
      G31 P500 X0 Y0 Z12               ; set Z probe trigger value, offset and trigger height
      M557 X15:215 Y15:195 S20         ; define mesh grid
      
      ; Heaters
      M140 H-1                         ; disable heated bed (overrides default heater mapping)
      
      ; Fans
      M950 R0 C"out3" Q500             ; create spindle 0 on pin out3 and set its frequency
      
      ; Tools
      M563 P0 R0                       ; 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
      
      T0 								 ; Set active tool
      
      

      And here's M122

      M122
      === Diagnostics ===
      RepRapFirmware for Duet 3 MB6XD version 3.4.5 (2022-11-30 19:41:59) running on Duet 3 MB6XD v1.0 or later (standalone mode)
      Board ID: 08DLM-956DA-M2NS4-6J1DG-3SD6R-1U32T
      Used output buffers: 1 of 40 (14 max)
      === RTOS ===
      Static ram: 151200
      Dynamic ram: 95476 of which 0 recycled
      Never used RAM 103924, free system stack 192 words
      Tasks: NETWORK(ready,41.4%,227) ETHERNET(notifyWait,0.1%,423) HEAT(notifyWait,0.0%,374) Move(notifyWait,0.0%,266) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,336) CanClock(delaying,0.0%,343) MAIN(running,58.4%,1232) IDLE(ready,0.0%,29), total 100.0%
      Owned mutexes:
      === Platform ===
      Last reset 00:18:00 ago, cause: power up
      Last software reset at 2023-03-18 17:55, reason: User, GCodes spinning, available RAM 104352, slot 0
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      Aux0 errors 0,0,0
      Step timer max interval 2228
      MCU temperature: min 19.0, current 41.8, max 42.0
      Supply voltage: min 12.0, current 12.0, max 12.1, under voltage events: 0, over voltage events: 0, power good: yes
      12V rail voltage: min 11.3, current 11.5, max 11.5, under voltage events: 0
      Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
      Events: 0 queued, 0 completed
      Driver 0: ok
      Driver 1: ok
      Driver 2: ok
      Driver 3: ok
      Driver 4: ok
      Driver 5: ok
      Date/time: 2023-03-19 09:11:05
      Slowest loop: 3603.07ms; fastest: 0.05ms
      === Storage ===
      Free file entries: 10
      SD card 0 detected, interface speed: 25.0MBytes/sec
      SD card longest read time 3.3ms, write time 1.4ms, max retries 0
      === Move ===
      DMs created 125, segments created 3, maxWait 167976ms, bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 13, completed 13, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1
      === AuxDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
      === 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 5417, received 0, lost 0, boc 0
      Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 49), ts 5405/0/0
      Tx timeouts 0,0,5404,11,0,0 last cancelled message type 30 dest 127
      === Network ===
      Slowest loop: 16.71ms; fastest: 0.03ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
      HTTP sessions: 1 of 8
      = Ethernet =
      State: active
      Error counts: 0 0 0 1 0 0
      Socket states: 5 2 2 2 2 0 0 0
      === Multicast handler ===
      Responder is inactive, messages received 0, responses 0
      

      Any help would be greatly appreciated!

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

        @p8blr I don't see a M906 command to set the axis motor currents in your config.g file. This will cause the drivers to give them only a few tens of milliamps, not enough to move them.

        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

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

          @dc42 How much current would you recommend for external drivers? I actually had it in there and removed it because I thought it didn't apply to external drivers.

          Here it is added in there and unfortunately it still doesn't move the axes. I can see the status light on the drivers come on but still nothing.

          ; Configuration file for Duet 3 MB 6XD (firmware version 3.3)
          ; executed by the firmware on start-up
          ;
          ; generated by RepRapFirmware Configuration Tool v3.3.16 on Sat Mar 18 2023 15:44:49 GMT-0500 (Central Daylight Time)
          
          ; General preferences
          M575 P1 S1 B57600                ; enable support for PanelDue
          G90                              ; send absolute coordinates...
          M83                              ; ...but relative extruder moves
          M550 P"Indymill"                 ; set printer name
          M453							 ; set cnc mode
          
          ; Network
          M552 P0.0.0.0 S1                 ; enable network and acquire dynamic address via DHCP
          M586 P0 S1                       ; enable HTTP
          M586 P1 S0                       ; disable FTP
          M586 P2 S0                       ; disable Telnet
          
          ; Drives
          M569 P0.0 S1                     ; physical drive 0.0 goes forwards
          M569 P0.1 S1                     ; physical drive 0.1 goes forwards
          M569 P0.2 S1                     ; physical drive 0.2 goes forwards
          M569 P0.3 S1                     ; physical drive 0.3 goes forwards
          M584 X0.0 Y0.1:0.2 Z0.3          ; set drive mapping
          M92 X640.00 Y640.00 Z1600.00     ; set steps per mm
          M566 X900.00 Y900.00 Z60.00      ; set maximum instantaneous speed changes (mm/min)
          M203 X3000.00 Y3000.00 Z1200.00  ; set maximum speeds (mm/min)
          M201 X80.00 Y80.00 Z80.00        ; set accelerations (mm/s^2)
          M906 X800 Y800 Z800              ; set motor currents (mA)
          M84 S0                           ; Disable motor idle current reduction
          
          ; Axis Limits
          M208 X0 Y0 Z0 S1                 ; set axis minima
          M208 X440 Y480 Z200 S0           ; set axis maxima
          
          ; Endstops
          M574 X1 S1 P"io1.in"             ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io1.in
          M574 Y1 S1 P"io2.in"             ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io2.in
          M574 Z2 S1 P"io4.in"             ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin io4.in
          
          ; Z-Probe
          M558 P5 C"^io5.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
          G31 P500 X0 Y0 Z12               ; set Z probe trigger value, offset and trigger height
          M557 X15:215 Y15:195 S20         ; define mesh grid
          
          ; Heaters
          M140 H-1                         ; disable heated bed (overrides default heater mapping)
          
          ; Fans
          M950 R0 C"out3" Q500             ; create spindle 0 on pin out3 and set its frequency
          
          ; Tools
          M563 P0 R0                       ; 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
          
          T0 								 ; Set active tool
          
          
          dc42undefined 1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators @p8blr
            last edited by dc42

            @p8blr I'm sorry, I missed that you were using a 6XD.

            Ordinary moves won't be allowed before the axes have been homed. To test the axis motors, first send G91 to select relative movement. Then send G1 H2 moves, e.g. G1 H2 X10 t move the X axis +10mm. These moves are allowed even when the axes haven't been homed.

            Another thing to check is that the drivers are enabled (so the motors will resist turning by hand) when you send M17, and disabled (so easy to turn by hand) when you send M18. There is a jumper on the 6XD to set the enable polarity.

            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

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

              @dc42 Thank you so much, it was that jumper that did the trick!

              1 Reply Last reply Reply Quote 0
              • T3P3Tonyundefined T3P3Tony marked this topic as a question
              • T3P3Tonyundefined T3P3Tony has marked this topic as solved
              • First post
                Last post
              Unless otherwise noted, all forum content is licensed under CC-BY-SA