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

    CNC Setup Duet 3D 6XD Controller Board

    Scheduled Pinned Locked Moved Solved
    CNC
    4
    16
    743
    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.
    • fcwiltundefined
      fcwilt @droftarts
      last edited by

      @droftarts said in CNC Setup Duet 3D 6XD Controller Board:

      No, it doesn’t. Config.g can have multiple errors, and still run to the end. If you can show an example where it breaks the running, please start a new thread showing this so we can track down why it’s happening.

      It most certainly appeared to stop executing for me.

      I concluded that nothing past the point of the error had been executed based on the fact that the configuration of the Z probe, triggers, tools, etc. which all followed the point of the error, had not been configured.

      I will try to come up with a simple example of such a config file. Mine is quite complex, using lots of M98 calls to other code.

      I remember what the error was in my config file - so I can put that error back and run some more tests.

      Frederick

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

      droftartsundefined 1 Reply Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @fcwilt
        last edited by

        @fcwilt perhaps missing a quote mark, so everything following until the next quote mark counts as a string, could cause chunks of config.g not to work, I suppose. Please start a new thread if you find an example.

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

        1 Reply Last reply Reply Quote 0
        • moe.adams9093undefined
          moe.adams9093
          last edited by moe.adams9093

          I have done some tests first I removed the 1 HCL board CAN address from the config.g file the error is gone now, but still no movement after that I added timing input as @droftarts requested still no luck.

          I still do get some errors on of them it says

          Error in macro line 27 while starting up: in file macro line 27 column 27: M92: array too long, max length = 0
          

          Here's my new M122

          m122
          === Diagnostics ===
          RepRapFirmware for Duet 3 MB6XD version 3.5.0-rc.1 (2023-08-31 16:21:04) running on Duet 3 MB6XD v1.0 (standalone mode)
          Board ID: 08DLM-956DA-M2NS4-6JKD6-3S86T-1B32S
          Used output buffers: 1 of 40 (19 max)
          Error in macro line 27 while starting up: in file macro line 27 column 27: M92: array too long, max length = 0
          === RTOS ===
          Static ram: 153300
          Dynamic ram: 117888 of which 248 recycled
          Never used RAM 71556, free system stack 193 words
          Tasks: NETWORK(1,ready,34.4%,182) ETHERNET(5,nWait,0.1%,325) HEAT(3,nWait,0.0%,370) Move(4,nWait,0.0%,255) CanReceiv(6,nWait,0.0%,941) CanSender(5,nWait,0.0%,335) CanClock(7,delaying,0.0%,344) MAIN(1,running,65.4%,444) IDLE(0,ready,0.0%,30), total 100.0%
          Owned mutexes:
          === Platform ===
          Last reset 00:03:32 ago, cause: software
          Last software reset at 2023-12-07 19:59, reason: User, Gcodes spinning, available RAM 71700, slot 1
          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
          MCU temperature: min 33.9, current 34.5, max 34.8
          Supply voltage: min 26.7, current 26.8, max 26.8, under voltage events: 0, over voltage events: 0, power good: yes
          12V rail voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0
          Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/80/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-12-07 20:03:03
          Slowest loop: 4.30ms; fastest: 0.07ms
          === Storage ===
          Free file entries: 20
          SD card 0 detected, interface speed: 25.0MBytes/sec
          SD card longest read time 3.5ms, write time 0.0ms, max retries 0
          === Move ===
          DMs created 125, segments created 6, maxWait 80472ms, bed compensation in use: none, height map offset 0.000, ebfmin 0.00, ebfmax 0.00
          no step interrupt scheduled
          Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
          === DDARing 0 ===
          Scheduled moves 25, completed 25, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 15], CDDA state -1
          === DDARing 1 ===
          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 ===
          Movement locks held by null, 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
          File2 is idle in state(s) 0
          Queue2 is idle in state(s) 0
          Q0 segments left 0, axes/extruders owned 0x0000006
          Code queue 0 is empty
          Q1 segments left 0, axes/extruders owned 0x0000000
          Code queue 1 is empty
          === CAN ===
          Messages queued 1061, received 0, lost 0, boc 0
          Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 1061/0/0
          Tx timeouts 0,0,1060,0,0,0 last cancelled message type 30 dest 127
          === Network ===
          Slowest loop: 1.54ms; fastest: 0.03ms
          Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
          HTTP sessions: 1 of 8
          = Ethernet =
          Interface state: active
          Error counts: 0 0 0 0 0 0
          Socket states: 5 2 2 2 2 0 0 0
          === Multicast handler ===
          Responder is inactive, messages received 0, responses 0
          

          in side M122 file under the Movement Locks

          Movement locks held by null, 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
          File2 is idle in state(s) 0
          Queue2 is idle in state(s) 0
          Q0 segments left 0, axes/extruders owned 0x0000006
          Code queue 0 is empty
          Q1 segments left 0, axes/extruders owned 0x0000000
          Code queue 1 is empty
          

          I don't know if there's an issue under this section causing this problem

          I ran M121 and I get this error

          m121
          Error: Pop(): stack underflow on HTTP
          

          Also, here's my most recent config.g file

          ; 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 Sun Dec 03 2023 20:33:20 GMT-0600 (Central Standard Time)
          
          ; General preferences
          M575 P1 S1 B57600                       ; enable support for PanelDue
          G90                                     ; send absolute coordinates...
          M83                                     ; ...but relative extruder moves
          M550 P"Makinta-R1500"                   ; set printer name
          
          ; Wait a moment for the CAN expansion boards to start
          G4 S2
          
          ; 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 T5:5:10:10 ; physical drive 0.0 goes forwards
          M569 P0.2 S1                            ; physical drive 0.2 goes forwards
          M569 P0.3 S1                            ; physical drive 0.3 goes forwards
          M584  Y0.0 Z0.2 X0.3                ; set drive mapping
          M92 X80.00 Y80.00 Z80.00 E420.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 X500.00 Y500.00 Z20.00 E250.00     ; 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 X1500 Y1500 Z150 S0                ; set axis maxima
          
          ; Endstops
          
          M574 Y1 S1 P"io0.in"                    ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io0.in
          M574 Z1 S1 P"io1.in"                    ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io1.in
          
          ; Z-Probe
          M558 P0 H5 F120 T12000                  ; disable Z probe but set dive height, probe speed and travel speed
          M557 X15:215 Y15:195 S20                ; define mesh grid
          
          ; Heaters
          M140 H-1                                ; disable heated bed (overrides default heater mapping)
          
          ; Fans
          M950 F0 C"out3" Q500                    ; create fan 0 on pin out3 and set its frequency
          M106 P0 S0 H-1                          ; set fan 0 value. Thermostatic control is turned off
          M950 F1 C"out4" Q500                    ; create fan 1 on pin out4 and set its frequency
          M106 P1 S1 H T45                        ; set fan 1 value. Thermostatic control is turned on
          
          ; Tools
          M563 P0 D0 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
          

          here's the current driver status

          12/7/2023, 8:21:18 PM	M569 P0.0
          Drive 0 runs forwards, active high enable, timing 5.0:5.0:10.0:10.0us (actual 5.0:5.7:10.7:11.0us)
          

          M98

          ~~M98 P"config.g"
          HTTP is enabled on port 80
          FTP is disabled
          TELNET is disabled
          Error: bad drive number
          Error: in file macro line 58: G10: Invalid tool number
          Error: in file macro line 59: G10: Invalid tool number~~
          

          thank you

          fcwiltundefined 1 Reply Last reply Reply Quote 0
          • fcwiltundefined
            fcwilt @moe.adams9093
            last edited by fcwilt

            @moe-adams9093

            Let's start with the easy one: M121 will "pop" the saved state of the machine but you need to do M120 first to save the state of the machine to have something to "pop".

            The error mentioning M92 is very odd. It may be caused by referencing the E axis but you have no E drive in the M584.

            That is the first thing I would do - remove the E in M92 and see if the error goes away.

            Frederick

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

            moe.adams9093undefined 1 Reply Last reply Reply Quote 0
            • moe.adams9093undefined
              moe.adams9093 @fcwilt
              last edited by

              @fcwilt Thank you, for all your help.

              I did figure it out I was using the old configurator tool for the 3.5 firmware, and I didn't know that Reprap has a new configurator tool after I did a new config setup the motors are working fine now these are just testing motors next step is going with the 1 HCL + Moons Nema 24 with the incremental encoder so hopefully that goes smooth.

              fcwiltundefined dc42undefined droftartsundefined 3 Replies Last reply Reply Quote 1
              • fcwiltundefined
                fcwilt @moe.adams9093
                last edited by

                @moe-adams9093

                I never used the config tools - I felt they just got in the way of learning all the bits and pieces I needed to know to really understand what was going on in the various files.

                Very glad you got it working so far. Keep us informed of your progress.

                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
                • dc42undefined
                  dc42 administrators @moe.adams9093
                  last edited by

                  @moe-adams9093 thanks, I'll mark this as solved. Please start a new thread if you have other problems unrelated to this one.

                  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

                  1 Reply Last reply Reply Quote 0
                  • dc42undefined dc42 marked this topic as a question
                  • dc42undefined dc42 has marked this topic as solved
                  • droftartsundefined
                    droftarts administrators @moe.adams9093
                    last edited by droftarts

                    @moe-adams9093 can you post your current config.g?

                    Also, see https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_CNC

                    Ian

                    Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                    1 Reply Last reply Reply Quote 0
                    • moe.adams9093undefined
                      moe.adams9093
                      last edited by

                      Sure, I do get some errors when I start up the duet controller I'm going to post some screenshots, as well as M122, M98, and Config.g.

                      Screen Shots.PNG

                      M122

                      12/9/2023, 1:46:27 PM	M122
                      === Diagnostics ===
                      RepRapFirmware for Duet 3 MB6XD version 3.5.0-rc.1 (2023-08-31 16:21:04) running on Duet 3 MB6XD v1.0 (standalone mode)
                      Board ID: 08DLM-956DA-M2NS4-6JKD6-3S86T-1B32S
                      Used output buffers: 1 of 40 (18 max)
                      Error in macro line 54 while starting up: exactly one of EFHJPSR must be given
                      === RTOS ===
                      Static ram: 153300
                      Dynamic ram: 117976 of which 0 recycled
                      Never used RAM 71860, free system stack 210 words
                      Tasks: NETWORK(1,ready,36.0%,182) ETHERNET(5,nWait,0.1%,317) HEAT(3,nWait,0.0%,340) Move(4,nWait,0.0%,339) CanReceiv(6,nWait,0.0%,941) CanSender(5,nWait,0.0%,335) CanClock(7,delaying,0.0%,344) MAIN(1,running,63.9%,162) IDLE(0,ready,0.0%,30), total 100.0%
                      Owned mutexes:
                      === Platform ===
                      Last reset 00:18:19 ago, cause: power up
                      Last software reset at 2023-12-08 02:09, reason: User, Gcodes spinning, available RAM 71756, slot 1
                      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
                      Error status: 0x00
                      MCU temperature: min 16.9, current 35.3, max 35.4
                      Supply voltage: min 26.7, current 26.8, max 26.8, under voltage events: 0, over voltage events: 0, power good: yes
                      12V rail voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0
                      Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/48/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-12-09 13:46:25
                      Slowest loop: 4.30ms; fastest: 0.07ms
                      === Storage ===
                      Free file entries: 20
                      SD card 0 detected, interface speed: 25.0MBytes/sec
                      SD card longest read time 3.5ms, write time 0.0ms, max retries 0
                      === Move ===
                      DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, ebfmin 0.00, ebfmax 0.00
                      no step interrupt scheduled
                      Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
                      === DDARing 0 ===
                      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                      === DDARing 1 ===
                      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                      === Heat ===
                      Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
                      === GCodes ===
                      Movement locks held by null, 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
                      File2 is idle in state(s) 0
                      Queue2 is idle in state(s) 0
                      Q0 segments left 0, axes/extruders owned 0x0000000
                      Code queue 0 is empty
                      Q1 segments left 0, axes/extruders owned 0x0000000
                      Code queue 1 is empty
                      === CAN ===
                      Messages queued 5499, received 0, lost 0, boc 0
                      Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 5499/0/0
                      Tx timeouts 0,0,5498,0,0,0 last cancelled message type 30 dest 127
                      === Network ===
                      Slowest loop: 3.95ms; fastest: 0.03ms
                      Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
                      HTTP sessions: 1 of 8
                      = Ethernet =
                      Interface 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
                      

                      M98 P"config.g"

                      12/9/2023, 1:48:12 PM	M98 P"config.g"
                      HTTP is enabled on port 80
                      Warning: Sensor number 0 has not been defined
                      Warning: Heater 0 predicted maximum temperature at full power is 321°C
                      Warning: Sensor number 1 has not been defined
                      Error: exactly one of EFHJPSR must be given
                      

                      Config.g

                      ; Configuration file for RepRapFirmware on Duet 3 Main Board 6XD
                      ; executed by the firmware on start-up
                      ;
                      ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.1 on Thu Dec 07 2023 21:03:57 GMT-0600 (Central Standard Time)
                      
                      ; General
                      M550 P"MAKINTA-R1500"                   ; set hostname
                      
                      ; Network
                      M552 P0.0.0.0 S1                        ; configure Ethernet adapter
                      M586 P0 S1                              ; configure HTTP
                      
                      ; Motor Idle Current Reduction
                      M906 I30                                ; set motor current idle factor
                      M84 S30                                 ; set motor current idle timeout
                      
                      ; External Drivers
                      M569 P0.0 S1 R0 T5:5:10:0               ; driver 0.0 goes forwards and requires an active-low enable signal (X axis)
                      M569 P0.1 S1 R0 T5:5:10:0               ; driver 0.1 goes forwards and requires an active-low enable signal (Y axis)
                      M569 P0.2 S1 R0 T5:5:10:0               ; driver 0.2 goes forwards and requires an active-low enable signal (Y axis)
                      M569 P0.3 S1 R0 T5:5:10:0               ; driver 0.3 goes forwards and requires an active-low enable signal (Z axis)
                      
                      ; Kinematics
                      M669 K0                                 ; configure Cartesian kinematics
                      
                      ; Axes
                      M584 X0.0 Y0.1:0.2 Z0.3                 ; set axis mapping
                      M350 X16 Y16 Z16 I0                     ; configure microstepping without interpolation
                      M92 X20 Y20 Z20                         ; configure steps per mm
                      M208 S1 X0 Y0 Z0                        ; set axis minima
                      M208 S0 X1500 Y1500 Z150                ; set axis maxima
                      M566 X5000 Y5000 Z5000                  ; set maximum instantaneous speed changes (mm/min)
                      M203 X10000 Y10000 Z10000                ; set maximum speeds (mm/min)
                      M201 X1000 Y1000 Z1000                  ; set accelerations (mm/s^2)
                      
                      ; Endstops
                      M574 X1 P"!io1.in" S1                   ; configure X axis endstop
                      M574 Y1 P"!io2.in+!io3.in" S1           ; configure Y axis endstop
                      M574 Z1 P"!io4.in" S1                   ; configure Z axis endstop
                      
                      
                      ; Heaters
                      M950 H0 C"out0" T0                      ; create heater #0
                      M143 H0 P0 T0 C0 S140 A0                ; configure heater monitor #0 for heater #0
                      M307 H0 R2.43 D5.5 E1.35 K0.56 B1       ; configure model of heater #0
                      M950 H1 C"out1" T1                      ; create heater #1
                      M143 H1 P0 T1 C0 S285 A0                ; configure heater monitor #0 for heater #1
                      M307 H1 R2.43 D5.5 E1.35 K0.56 B0       ; configure model of heater #1
                      
                      ; Heated beds
                      M140 P0 H0                              ; configure heated bed #0
                      
                      ; Spindles
                      M950 C"io4.out+pson+led" Q500 L60:10000 ; configure spindle #0
                      
                      ; Miscellaneous
                      M453                                    ; select CNC mode
                      

                      please let me know how can I fix those errors.

                      Thank you

                      droftartsundefined 1 Reply Last reply Reply Quote 0
                      • droftartsundefined
                        droftarts administrators @moe.adams9093
                        last edited by

                        @moe-adams9093 said in CNC Setup Duet 3D 6XD Controller Board:

                        For this error in M122 (and onscreen in DWC, and in the response to running config.g) Error in macro line 54 while starting up: exactly one of EFHJPSR must be given it relates to this line:

                        M950 C"io4.out+pson+led" Q500 L60:10000 ; configure spindle #0

                        See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#configuration-examples-and-notes

                        You need an R parameter to denote this output as a spindle, ie

                        M950 R0 C"io4.out+pson+led" Q500 L60:10000 ; configure spindle #0
                        

                        I'm not sure these are the best pins for laser control. io4.out and pson are 3.3V signalling, while led is 5V.

                        For the DWC incompatibility error, check what version of RRF and DWC you are using in the Setting > General and Settings > Machine specific menu options. They should match.

                        Ian

                        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

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