10th Axis "D2.0" stopped moving, now reported as "E0.3" by M584



  • Hi,

    I have a Duet3 6HC and two 3HC configured to drive 10 stepper motors.
    Axes: XYZ UVW ABC & D

    Firmware is 3.1.1
    SBC mode with a RPi4, LCD TS and booting directly from SATA SSD on USB3.0

    6HC defaults to CAN address 0
    3HC have CAN address of 1 & 2 by way of the DIP switches

    I have done updates & upgrades etc
    sudo apt-get updates
    sudo apt-get upgrade
    M997 B0
    M997 B1
    M997 B2
    M997 S0:2

    The 10th stepper "D" on driver 2.0 used to work but now does not move. (I have been tidying up config.g)
    If I swap the CAN addresses of the 3HC boards, this anomaly follows CAN address 2
    So I can prove the stepper drivers have not blown up.
    Tried the 10th stepper "D" on 2.1 & 2.2 too, does not move.

    Any endstops configured for board 2 DO work and are shown in DWC
    ; 3HC Board 2
    M574 D1 S1 P"^!2.io0.in"
    ;M574 ?1 S1 P"^!2.io1.in"
    ;M574 ?1 S1 P"^!2.io2.in"

    In DWC all the 10 axes XYZ UVW ABC & D are shown.

    However, in response to M584 I get:
    Driver assignments: X0.0 Y0.1 Z0.2 U0.3 V0.4 W0.5 A1.0 B1.1 C1.2 E0.3, 10 axes visible

    Why is axis D2.0 not reported, but E0.3 instead ?
    I would have expected E2.0
    I have not configured any extruders.

    I have checked my config.g about 10 times now, can't see any typos etc

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    
    ; firmare V3.1.1 as of December 2020
    ; support for 10 axes ONLY at this time !
    ; see this Forum thread for future releases 3.1.2 or 3.1.3 to correct this	
    ; https://forum.duet3d.com/topic/20088/cnc-mode-need-12-16-axes-how-to/2?_=1607778151592
    
    
    ; Machine plan and axis assignment
    
    ;                         Plan View
    ;                           Back
    
    			   RAILs              PODs
    ;                ↑
    ;                [Z]=========←[D]⇿[?]⇿[?]→
    ;                ⬍
    ; Left	[Y]=========←[A]⇿[B]⇿[C]→		Right
    ;                ⬍
    ;               [X]=========←[U]⇿[V]⇿[W]→
    ;                ↓
    ;   	
    ;                         Front
    ;                    Operator Position
    
    
    M80 ; turn on 24V 42A PSU using ATX method
    G4 S5 ; wait 5 seconds for the 2 off 3HC boards to boot up
    
    ; General preferences
    G90                                ; send absolute coordinates...
    M83                                ; ...but relative extruder moves
    M550 P"Duet 3"                     ; set printer name
    
    ; Use command M98 P"config.g" to check the syntax of this file
    ; Use M584 to check drive/axis mapping
    
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ; M569: Set motor driver direction, enable polarity and step pulse timing
    ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M569_Set_motor_driver_direction_enable_polarity_and_step_pulse_timing
    
    ; Main 6HC Board, CAN Addr #0
    M569 P0.0 S1                                            ; physical drive 0.0 goes forwards, X
    M569 P0.1 S1                                            ; physical drive 0.1 goes forwards, Y
    M569 P0.2 S1                                            ; physical drive 0.2 goes forwards, Z
    M569 P0.3 S1                                            ; physical drive 0.3 goes forwards, U
    M569 P0.4 S1                                            ; physical drive 0.4 goes forwards, V
    M569 P0.5 S1                                            ; physical drive 0.5 goes forwards, W
    
    ; 1st 3HC Board, CAN Addr #1
    M569 P1.0 S1                                            ; physical drive 1.0 goes forwards, A
    M569 P1.1 S1                                            ; physical drive 1.1 goes forwards, B
    M569 P1.2 S1                                            ; physical drive 0.2 goes forwards, C
    
    ; 2nd 3HC Board, CAN Addr #2
    M569 P2.0 S1                                            ; physical drive 2.0 goes forwards, D
    ;M569 P2.1 S1                                           ; physical drive 2.1 goes forwards, future "F" ?
    ;M569 P2.2 S1                                           ; physical drive 2.2 goes forwards, future "J" ?
    
    ; 3rd 3HC Board, CAN Addr #3
    ; V3.1.2 or 3.1.3
    ;M569 P3.0 S1                                           ; physical drive 3.0 goes forwards, future "P" ?
    ;M569 P3.1 S1                                           ; physical drive 3.1 goes forwards, future "Q" ?
    ;M569 P3.2 S1                                           ; physical drive 3.2 goes forwards, future "R" ?
    
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ; M584: Set drive mapping
    ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping
                                           
    ; Main 6HC Board CAN #0
    M584 X0.0				; X axis, Board 0, Stepper Channel 0, RAIL A
    M584 Y0.1				; Y axis, Board 0, Stepper Channel 1, RAIL B
    M584 Z0.2				; Z axis, Board 0, Stepper Channel 2, RAIL C
    
    M584 U0.3				; U axis, Board 0, Stepper Channel 3, Left   POD on RAIL A
    M584 V0.4				; V axis, Board 0, Stepper Channel 4, Center POD on RAIL A
    M584 W0.5				; W axis, Board 0, Stepper Channel 5, Right  POD on RAIL A
    
    ; 1st 3HC Board CAN #1
    M584 A1.0				; A axis, Board 1, Stepper Channel 0, Left   POD on Center RAIL B
    M584 B1.1				; B axis, Board 1, Stepper Channel 1, Center POD on Center RAIL B
    M584 C1.2				; C axis, Board 1, Stepper Channel 2, Right  POD on Center RAIL B
    
    ; 2nd 3HC Board CAN #2
    M584 D2.0				; D axis, Board 2, Stepper Channel 0, Left   POD on RAIL C
    ;M584 D2.1				; ? axis, Board 2, Stepper Channel 1, Center POD on RAIL C
    ;M584 D2.2				; ? axis, Board 2, Stepper Channel 2, Right  POD on RAIL C
     
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ; M350: Set microstepping mode
    ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M350_Set_microstepping_mode
    ; later than M584
    
    M350 X16 Y16 Z16 I1					        ; configure 1/16th microstepping with interpolation
    M350 U16 V16 W16 A16 B16 C16 D16 I1         ; configure 1/16th microstepping with interpolation
    
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ; M92: Set axis steps per unit
    ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M92_Set_axis_steps_per_unit
    
    M92 X17.65 Y17.65 Z17.65      	; set steps per mm RAILS
    M92 U20.00 V20.00 W20.00 A20.00 B20.00 C20.00 D20.00 ; ?20.00 ?20.0 set steps per mm PODs
    
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ; M566: Set allowable instantaneous speed change
    ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M566_Set_allowable_instantaneous_speed_change
    
    ; 6HC Board
    M566 X900.00 Y900.00 Z900.00                                                   ; set maximum instantaneous speed changes (mm/min) RAILs
    M566 U900.00 V900.00 W900.00 A900.00 B900.00 C900.00 D900.00; ?900.00 ?900.00  ; set maximum instantaneous speed changes (mm/min) PODs
    
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ; M203: Set maximum feedrate mm/minute
    ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M203_Set_maximum_feedrate
    
    M203 X9000 Y9000 Z9000	                       ; RAILs
    M203 U9000 V9000 W9000 A9000 B9000 C9000 D9000 ; ?4000 ?4000; PODs
    
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ;M201: Set max acceleration mm/s^2
    ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M201_Set_max_acceleration
    
    M201 X6000 Y6000 Z6000	; RAILs
    M201 U4000 V4000 W4000 A4000 B4000 C4000 D4000 ; ?4000 ?4000; PODs
    
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ;M906: Set motor currents
    ;https://duet3d.dozuki.com/Wiki/Gcode#Section_M906_Set_motor_currents
    
    M906 X800 Y800 Z800 I30	                   ; set motor currents (mA) and motor idle factor in per cent RAILs
    M906 U800 V800 W800 A800 B800 C800 D800 I30;                                                           PODs
    ;M906 ?800 I30
    ;M906 ?800 I30
    
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ; M84: Stop idle hold
    ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M84_Stop_idle_hold
    
    M84 X Y Z S30	; Set idle timeout, 30 seconds RAILs
    M84 U V W A B C D S30 ; PODs
    
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ; M208: Set axis max travel
    ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M208_Set_axis_max_travel
    
    M208 X0 Y0 Z0 S1                                  ; set axis minima RAILs
    M208 X2000 Y2000 Z2000 S0                         ; set axis maxima RAILs
    
    M208 U0 V0 W0 A0 B0 C0 D0   S1					  ; set axis minima left PODs
    M208 U3000 V3000 W3000 A3000 B3000 C3000 D3000 S0 ; set axis maxima left PODs
    
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ; Endstops
    ; M574: Set endstop configuration
    ; https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_RepRapFirmware_Num_3
    
    ; RAIL & POD endstop switches are normally open NO magnetic reed switches. BAD, inform client !
    ; The switches close when in proximity of a magnet, i.e HOME LOW position
    
    ; Xnnn Position of X endstop: 0 = none, 1 = low end, 2 = high end.
    ; endstops at low end of travel, hence S1
    
    ; Possible combinations
    ;   0.io0.in 		logivc level , no pullup resistor
    ;  ^0.io0.in 		active high, pullup resistor
    ;  !0.io0.in 		active low
    ; ^!0.io0.in 		active low, pullup resistor <= try this one
    
    ; 6HC Board 0
    M574 X1 S1 P"^!io0.in"
    M574 Y1 S1 P"^!io1.in"
    M574 Z1 S1 P"^!io2.in"
    M574 U1 S1 P"^!io3.in"
    M574 V1 S1 P"^!io4.in"
    M574 W1 S1 P"^!io5.in"
    
    ; 3HC Board 1
    M574 A1 S1 P"^!1.io0.in"
    M574 B1 S1 P"^!1.io1.in"
    M574 C1 S1 P"^!1.io2.in"
    
    ; 3HC Board 2
    M574 D1 S1 P"^!2.io0.in"
    ;M574 ?1 S1 P"^!2.io1.in"
    ;M574 ?1 S1 P"^!2.io2.in"
    
    ; 3HC Board 3
    ;M574 ?1 S1 P"^!3.io0.in"
    ;M574 ?1 S1 P"^!3.io1.in"
    ;M574 ?1 S1 P"^!3.io2.in"
    
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ;M563
    ;M453
    ;T0                                                      ; select first tool
    M564 S0 H0 ; ignore end stops for development
    
    

    Any ideas Guys ?

    Thanks,
    JuJu


  • Moderator

    Can you send M98 P"config.g" and report any errors?


  • administrators

    I have run your config.g file on RRF 3.2RC1 in standalone mode and I get this in response to M584:

    Driver assignments: X0.0 Y0.1 Z0.2 U0.3 V0.4 W0.5 (r)(c)A1.0 (r)(c)B1.1 (r)(c)C1.2 (r)(c)D2.0 E0.3, 10 axes visible

    So the D axis configuration is working. The reason that E0.3 is reported is that RRF configures a default extruder. I may change this in the 3.2 release.

    Are you sure that your board is still running firmware 3.1.1 ? Run M115 to check.



  • Hi Guys,

    Thanks for your suggestions, here are the M98 & M115 responses:

    20/12/2020, 10:32:30 M98 P"config.g"
    No errors reported, green background to above text in console, assume it's OK ?

    20/12/2020, 10:30:34 M115 B0
    FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.1.1 ELECTRONICS: Duet 3 MB6HC v1.01 or later FIRMWARE_DATE: 2020-05-19b2

    20/12/2020, 10:30:40 M115 B1
    Board EXP3HC firmware 3.1.0 (2020-05-15b1)

    20/12/2020, 10:30:44 M115 B2
    Board EXP3HC firmware 3.1.0 (2020-05-15b1)

    Thanks,

    Julian.


  • administrators

    Thanks. Please retry with 3.2RC1 when the package is published.


Log in to reply