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

    [3.6.0-beta.4] DWC and Multiple Motion Issue in CNC Mode

    Scheduled Pinned Locked Moved
    Beta Firmware
    2
    2
    135
    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.
    • davidjryanundefined
      davidjryan
      last edited by

      My setup:
      1 6HC - @ 3.6.0-beta.4 (was 3.5.4)
      3 3HC - all @ 3.6.0-beta.4 (was 3.5.4)
      System has 13 stepper axes across the 4 boards (X, Y, Z, A, B, C, D, W, a, b, d, e, f)
      System is set to CNC mode M453. This is a non-printer application
      RPi 4, 4GB in SBC mode

      All of my prior identified issues with 3.6.0-beta.3 were resolved with 3.6.0-beta.4.

      The new issues may have been in prior betas, I just didn't get past the original CNC mode issues in beta3 to discover the new issues.

      New issue #1:
      When homing any axis or all axes, the DWC re-racks the axes above 6 (so 7 through 13) on the Dashboard display and the Machine Position header.
      Here is a screen grab of the issue:
      Duet Home All.mp4

      New issue #2:
      The multiple motion systems feature is no longer working (or the required coding has changed).

      This code in 3.5.4 works without issue:

      M400
      M598
      M596 P1
      G92 'F0
      G91 G1 'F180 F4000
      
      M596 P0
      G91 G1 'B90 'D-0.8 F22000
      G91 G1 'B90 'D0.8 F22000
      G91 G1 'B90 'D-0.8 F22000
      G91 G1 'B90 'D0.8 F22000
      

      In 3.6.0-beta.4, it faults on line 8 and I get Axis 'B is in use by a different motion system message.

      My movement queue is set up with:

      ; Set motion system queue parameters
      M595 P100 R50 Q0            ; set motion system queue 0 to 100 steps
      M595 P100 R50 Q1            ; set motion system queue 1 to 100 steps
      

      It seems like any time I try to switch between motion systems, I get the error when referencing any axis. I always call M400 and M598 before M596.

      I reverted back to 3.5.4 to get my system working again.

      config.g

      ; General preferences
      M453                                                        ; set CNC mode
      M550 P"A1000-0"                                             ; set name of controller
      G90                                                         ; set absolute coordinates
      G4 P1000                                                    ; 1s delay for CAN comms
      ; Drives
      ; Motors are wired to Duet A-A, B-B - motor directions are flipped here
      M569 P0.0 S0                                                ; physical drive 0.0 goes forwards
      M569 P0.1 S0                                                ; physical drive 0.1 goes forwards
      M569 P0.2 S0                                                ; physical drive 0.2 goes forwards
      M569 P0.3 S1                                                ; physical drive 0.3 goes reverse
      M569 P0.4 S1                                                ; physical drive 0.4 goes reverse
      M569 P0.5 S1                                                ; physical drive 0.5 goes reverse
      M569 P1.0 S0                                                ; physical drive 1.0 goes forwards
      M569 P1.1 S0                                                ; physical drive 1.1 goes forwards
      M569 P1.2 S0                                                ; physical drive 1.2 goes forwards
      M569 P2.0 S1                                                ; physical drive 2.0 goes reverse
      M569 P2.1 S1                                                ; physical drive 2.1 goes reverse
      M569 P2.2 S0                                                ; physical drive 2.2 goes forwards
      M569 P3.0 S0                                                ; physical drive 3.0 goes forwards
      M569 P3.1 S0                                                ; physical drive 3.1 goes forwards
      M569 P3.2 S0                                                ; physical drive 3.2 goes reverse
       
      ; Set motion system queue parameters
      M595 P100 R50 Q0                                            ; set motion system queue 0 to 100 steps
      M595 P100 R50 Q1                                            ; set motion system queue 1 to 100 steps
       
      ; Set drive mapping
      M584 X0.0 Z0.1 R0                                           ; set linear drive mapping 
      M584 A0.2 B0.3 C0.4 D0.5 R0                                 ; set linear drive mapping 
      M584 Y1.2 W3.0 R0                                           ; set linear drive mapping 
      M584 'A2.0 'B2.1 'D2.2 'E1.0 'F1.1 R1                       ; set rotary drive mapping 
       
      ; Set microstepping interpolation
      M350 X16 Z16 A16 B16 C16 D16 Y16 W16 I1        ; configure microstepping with interpolation for linear motors
      M350 'A16 'B16 'D16 'E16 'F16 I1                            ; configure microstepping with interpolation for rotary motors
       
      ; Set axes scale values
      M92 X60.00 Z507.00 A1520.50 B1520.50 C1520.50 D1520.50 Y54.00 W53.75                ; set steps per mm
      M92 'A20.90 'B8.88 'D10.50 'E9.00 'F9.00                                            ; set steps per degree
       
      ; Set max speed change values
      M566 X400.00 Z400.00 A400.00 B400.00 C400.00 D400.00 Y400.00 W400.00                ; set maximum instantaneous speed changes (mm/min)
      M566 'A450.00 'B900.00 'D500.00 'E450.00 'F450.00                    		        ; set maximum instantaneous speed changes (mm/min)
       
      ; Set max speeds
      M203 X40000.00 Z20000.00 A5000.00 B5000.00 C5000.00 D5000.00 Y30000.00 W7000.00     ; set maximum speeds (mm/min)
      M203 'A30000.00 'B35000.00 'D5000.00 'E40000.00 'F40000.00                          ; set maximum speeds (mm/min)
       
      ; Set accelerations
      M201 X3000.00 Z1500.00 A500.00 B500.00 C500.00 D500.00 Y2000.00 W1000.00            ; set accelerations (mm/s^2)
      M201 'A2000.00 'B2000.00 'D1000.00 'E5000.00 'F2000.00                    ; set accelerations (mm/s^2)
       
      ; Set motors currents and idle factor
      M906 X2000 Z1400 A3000 B3000 C3000 D3000 Y1500 W1500 I5       ; set motor currents (mA) and motor idle factor in per cent
      M906 'A3500 'B2800 'D2800 'E1500 'F2800 I5                                        ; set motor currents (mA) and motor idle factor in per cent
       
      ; Set idle timeout
      M84 S30                                      						                ; Set idle timeout
       
      ; Axis Limits - minimum
      M208 X-2 Z-85 A-5 B-5 C-5 D-5 Y-2 W-2 S1                          ; set linear axis minimum
      M208 'A-5 'B-30 'D-5 'E-100 'F-30 S1                                     ; set rotary axis minimum
       
      ; Axis Limits - maximum
      M208 X601 Z50 A200 B380 C380 D380 Y195 W200 S0      ; set linear axis maximum
      M208 'A400 'B10000 'D180 'E10000 'F10000 S0                 ; set rotary axis maximum
       
      ; Endstops
      M574 X1 S1 P"!^3.io4.in"        ; 
      M574 Y1 S1 P"!^2.io4.in"        ; 
      M574 Z1 S1 P"!^3.io5.in"        ;
      M574 A1 S1 P"!^3.io0.in"        ;
      M574 B1 S1 P"!^3.io1.in"        ;
      M574 C1 S1 P"!^3.io2.in"        ;
      M574 D1 S1 P"!^3.io3.in"        ; 
      M574 W1 S1 P"!^0.io6.in"        ; 
      M574 'A1 S1 P"!^2.io0.in"       ; 
      M574 'B1 S1 P"!^2.io1.in"       ;
      M574 'D1 S1 P"!^2.io2.in"       ; 
      M574 'E2 S1 P"!^0.io8.in"       ; 
       
      ; Inputs - for use with M581/2 commands
      M950 J0 C"!^0.io0.in"	        ; 
      M950 J1 C"!^0.io1.in"	        ; 
      M950 J2 C"!^0.io2.in"           ; Spare
      M950 J3 C"!^0.io3.in"           ; 
      M950 J4 C"!^0.io4.in"           ; spare
      M950 J5 C"!^0.io5.in"           ; spare
      M950 J7 C"!^0.io7.in"           ; 
      M950 J10 C"!^1.io0.in"	        ; 
      M950 J11 C"!^1.io1.in"	        ; 
      M950 J12 C"!^1.io2.in"	        ; 
      M950 J13 C"!^1.io3.in"	        ; 
      M950 J14 C"!^1.io4.in"	        ; 
      M950 J15 C"!^1.io5.in"	        ; 
      M950 J23 C"!^2.io3.in"	        ; spare
      M950 J25 C"!^2.io5.in"	        ; spare
       
      ; Thermister configuration (if installed)
      M308 S0 P"temp0" Y"thermistor" T100000 B4261    ; sensor 0
      M308 S1 P"temp1" Y"thermistor" T100000 B4261    ; sensor 1
       
      ; Outputs - for use with M42 commands
      ; Board 0
      M950 P0 C"0.io0.out"	        ; 
      M950 P1 C"0.io1.out"	        ; 
      M950 P2 C"0.io2.out"	        ; 
      M950 P3 C"0.io3.out"	        ; 
      M950 P4 C"0.io4.out"	        ; Spare
      M950 P5 C"0.io5.out"	        ; Spare
      M950 P6 C"0.io6.out"	        ; 
      M950 P7 C"0.io7.out"	        ; 
      M950 P8 C"0.io8.out"	        ; Spare 
      ; Board 1
      M950 P9  C"1.io0.out"	        ; Spare 
      M950 P10 C"1.io1.out"	        ; Spare 
      M950 P11 C"1.io2.out"	        ; Spare 
      M950 P12 C"1.io3.out"	        ; Spare 
      M950 P13 C"1.io4.out"	        ; Spare 
      M950 P14 C"1.io5.out"	        ; Spare 
      ; Board 2
      M950 P15 C"2.io0.out"	        ; Spare 
      M950 P16 C"2.io1.out"	        ; Spare 
      M950 P17 C"2.io2.out"	        ; Spare 
      M950 P18 C"2.io3.out"	        ; Spare 
      M950 P19 C"2.io4.out"	        ; Spare 
      M950 P20 C"2.io5.out"	        ; Spare 
      ; Board 3
      M950 P21 C"3.io0.out"	        ; Spare 
      M950 P22 C"3.io1.out"	        ; Spare 
      M950 P23 C"3.io2.out"	        ; Spare 
      M950 P24 C"3.io3.out"	        ; Spare 
      M950 P25 C"3.io4.out"	        ; Spare 
      M950 P26 C"3.io5.out"	        ; Spare 
       
      ; Fan configuration (if installed)
      ; 4 Wire Fan Configuration
      M950 F0 C"!0.out4+out4.tach" K2
      ; 3 Wire Fan Configuration
      ;M950 F0 C"0.out4+out4.tach" K2
       
      ; Turn on fan to initial setting
      ;M106 P0 S1 B0.5
       
      ; NeoPixel RGBW LED Strip configuration
      M950 E0 C"led" T2 Q3000000
      
      T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
      • T3P3Tonyundefined
        T3P3Tony administrators @davidjryan
        last edited by

        @davidjryan thanks, we are looking into this and the other report here:
        https://forum.duet3d.com/topic/36866/multiple-motion-system/47

        www.duet3d.com

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