Duet 3 MH6HC with Duet expansion 1XD, configuration issue



  • Hii,
    I have Duet 3 Main board with Pannel due7", currently i am using small stepper motors, that works fine,
    now we purchase "NEMA34 12Nm motor 86EBP181ALC and driver ZDM-2HA865 closed loop stepper motor drive", and also purchase "Duet3Expansion1XD" for 4 external stepper drive.
    but in Rip Rap configuration not showing any option to configure the Duet3Expansion1XD. so how can be configured. if anyone have config file for external 1xd running Cartesian printer.
    Please check the attachment........


  • Moderator


  • administrators

    We're still working on the configtool to add support for the 1XD. In the meantime you'll probably be able to choose tool boards as a replacement but the CAN addresses will be off (121 vs 122).

    Please follow the EXP1XD documentation for further information.



  • @chrishamm tommarow we need to start the printing then how can we map X,Y,Z axis of external stepper motor



  • @chrishamm [0_1606676388351_config (20).zip](Uploading 100%)



  • can you send config. file then we edit manually 1xd expansion board mapping.config.json



  • @Phaedrux can you send sample config. with mapping of 1-X axis, 2-Y axis and 2-Z axis using EXP1XD .config.json


  • Moderator



  • We have configured the 1XD external driver: But showing following errors:
    30/11/2020, 12:07:39 M32 "0:/gcodes/config.g"
    File 0:/gcodes/config.g selected for printing
    Error: Setting not available for external drivers
    Setting not available for external drivers
    Ethernet is enabled, configured IP address: 0.0.0.0, actual IP address: 192.168.0.120
    Finished printing file 0:/gcodes/config.g, print time was 0h 0m
    30/11/2020, 12:07:38 Upload of config.g successful after 0s

    Config .g code here:
    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.8 on Fri Nov 20 2020 11:43:55 GMT+0530 (India Standard Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Duet 3" ; set printer name

    ; Drives
    M569 P40.0 S1 R1 ; change enable polarity, active = disable drive
    M569 P41.0 S1 R1 ; change enable polarity, active = disable drive
    ;M569 P42.0 S1 R1 ; change enable polarity, active = disable drive

    M584 X40.0 Y41.0 Z0.2 E0.3
    ;M584 X40.0 Y41.0 Z42.0 E0.3 ; set X, Y, Z, Extruder drivers
    ;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 S0 ; physical drive 0.3 goes backwards
    ;M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X100.00 Y100.00 Z400.00 E90.00 ; set steps per mm
    M566 X900.00 Y900.00 Z60.00 E900.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z600.00 E6000.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E500.00 ; set accelerations (mm/s^2)
    M906 X2000 Y2000 Z2000 E2000 ; set motor currents (mA)
    M84 S0 ; Disable motor idle current reduction

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X230 Y230 Z230 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"!^io3.in" ; configure active-high endstop for low end on X via pin !^io3.in
    M574 Y1 S1 P"!^io1.in" ; configure active-high endstop for low end on Y via pin !^io1.in
    M574 Z1 S1 P"!^io2.in" ; configure active-high endstop for low end on Z via pin !^io2.in

    ; Z-Probe
    M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
    M557 X15:220 Y15:220 S20 ; define mesh grid

    ; Heaters
    M308 S0 P"temp1" Y"thermistor" T100000 B5000 ; configure sensor 0 as thermistor on pin temp1
    M950 H0 C"out2" T0 ; create bed heater output on out2 and map it to sensor 0
    M307 H0 B1 S1.00 ; enable 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 B5000 ; 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 S230 ; set temperature limit for heater 1 to 230C

    ; Fans
    M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
    M106 P0 S0.8 H-1 ; set fan 0 value. Thermostatic control is turned off

    ; Tools
    M563 P0 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
    M575 P1 S1 B57600
    M570 H0 P999 S240
    M552 S1
    M552 192.168.0.132

    ; Miscellaneous
    M575 P1 S1 B57600 ; enable support for PanelDue



  • @dkraja42

    M350 and M906 are not needed for the drives which use the external drivers, because microstepping and current setting are done in the external drivers (either by switches or by firmware setting of the external driver).

    You've defined 2 drivers (40.0, 41.0, missing 0.2 and 0.3), but using 4 (XYZE).



  • @JoergS5 can you modify code for our requirement is:

    1. X axis stepper-01 nos
    2. Y axis stepper-02 nos
    3. Z axis stepper-02 nos
    4. internal extruder


  • @dkraja42 said in Duet 3 MH6HC with Duet expansion 1XD, configuration issue:

    ; Drives
    M569 P40.0 S1 R1 ; change enable polarity, active = disable drive
    M569 P41.0 S1 R1 ; change enable polarity, active = disable drive
    ;M569 P42.0 S1 R1 ; change enable polarity, active = disable drive
    M584 X40.0 Y41.0 Z0.2 E0.3
    ;M584 X40.0 Y41.0 Z42.0 E0.3 ; set X, Y, Z, Extruder drivers
    ;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 S0 ; physical drive 0.3 goes backwards
    ;M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping

    should be changed to
    M569 P40.0 S1 R1 ; change enable polarity, active = disable drive
    M569 P41.0 S1 R1 ; change enable polarity, active = disable drive
    M569 P42.0 S1 R1 ; change enable polarity, active = disable drive
    M569 P0.0 S1 ; physical drive 0.0 goes forwards

    and then in the M584:
    M584 X40.0 Y41.0 Z42.0 E0.0 ; set X, Y, Z, Extruder drivers
    so here you map your M569 P numbers to the letters of the drives.

    And remove X, Y and Z from M350 and M906.



  • @JoergS5 ok. thanks. i will try



  • @JoergS5
    M32 "0:/gcodes/config.g"
    File 0:/gcodes/config.g selected for printing
    Error: Bad command: 584 X40.0 Y41.0 Z42.0 E0.0
    Ethernet is enabled, configured IP address: 0.0.0.0, actual IP address: 192.168.0.120
    Finished printing file 0:/gcodes/config.g, print time was 0h 0m

    ; Drives
    M569 P40.0 S1 R1 ; change enable polarity, active = disable drive
    M569 P41.0 S1 R1 ; change enable polarity, active = disable drive
    M569 P42.0 S1 R1 ; change enable polarity, active = disable drive
    M569 P0.0 S1 ; physical drive 0.0 goes forwards

    584 X40.0 Y41.0 Z42.0 E0.0 ; set X, Y, Z, Extruder drivers
    M92 X100.00 Y100.00 Z400.00 E90.00 ; set steps per mm
    M566 X900.00 Y900.00 Z60.00 E900.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z600.00 E6000.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E500.00 ; set accelerations (mm/s^2)
    M84 S0 ; Disable motor idle current reduction
    Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X230 Y230 Z230 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"!^io3.in" ; configure active-high endstop for low end on X via pin !^io3.in
    M574 Y1 S1 P"!^io1.in" ; configure active-high endstop for low end on Y via pin !^io1.in
    M574 Z1 S1 P"!^io2.in" ; configure active-high endstop for low end on Z via pin !^io2.in

    ; Z-Probe
    M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
    M557 X15:220 Y15:220 S20 ; define mesh grid

    ; Heaters
    M308 S0 P"temp1" Y"thermistor" T100000 B5000 ; configure sensor 0 as thermistor on pin temp1
    M950 H0 C"out2" T0 ; create bed heater output on out2 and map it to sensor 0
    M307 H0 B1 S1.00 ; enable 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 B5000 ; 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 S230 ; set temperature limit for heater 1 to 230C

    ; Fans
    M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
    M106 P0 S0.8 H-1 ; set fan 0 value. Thermostatic control is turned off

    ; Tools
    M563 P0 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
    M575 P1 S1 B57600
    M570 H0 P999 S240
    M552 S1
    M552 192.168.0.132

    ; Miscellaneous
    M575 P1 S1 B57600 ; enable support for PanelDue


  • administrators

    You appear to have lost the M at the start of the M584 line.



  • @dc42 yes we corrected M584 command line. but not able to move any axis.
    30/11/2020, 13:04:11 M32 "0:/gcodes/homex.g"
    File 0:/gcodes/homex.g selected for printing
    30/11/2020, 13:04:10 Upload of homex.g successful after 0s
    30/11/2020, 13:03:59 M32 "0:/gcodes/config.g"
    File 0:/gcodes/config.g selected for printing
    Ethernet is enabled, configured IP address: 0.0.0.0, actual IP address: 192.168.0.120
    Finished printing file 0:/gcodes/config.g, print time was 0h 0m
    30/11/2020, 13:03:58 Upload of config.g successful after 0s


  • administrators

    1. Are the red status LEDs on the expansion boards all blinking in sync with the one on the main board?

    2. Have you tested the axis motors individually, using G91 followed by G1 H2 moves, e.g. G91 G1 H2 X10 ?



  • @dkraja42 all your config files are in the folder gcodes rather than the folder sys.
    until you move them, they won't work correctly



  • @dc42 said in Duet 3 MH6HC with Duet expansion 1XD, configuration issue:

    ed stat

    We have check all the manually G91 code but not able to move.
    We have attached Video link and some images. please check ..
    https://drive.google.com/file/d/1bjjLoMsEUapcxTMKrXVd_gO4B-17KvXU/view?usp=sharingWhatsApp Image 2020-11-30 at 1.15.21 PM.jpeg WhatsApp Image 2020-11-30 at 1.15.21 PM (1).jpeg



  • @dkraja42 and you removed M350 and M906 completely. Please remove XYZ values for it only, not the command completely. For E you still need the settings:

    M350 E16 I1 ; configure microstepping with interpolation
    M906 E2000 ; set motor currents (mA)



  • @JoergS5 PLEASE CHECK THE MAPPING OF 1XD BOARD:
    M122 B42
    Diagnostics for board 42:
    Duet EXP1XD firmware version 3.2-beta4 (2020-11-26)
    Bootloader ID: SAMC21 bootloader version 2.0 (2020-10-15b1)
    Never used RAM 6140, free system stack 51 words
    HEAT 42 CanAsync 88 CanRecv 82 MAIN 398 AIN 64
    Last reset 00:13:27 ago, cause: power up
    Last software reset at 2020-11-30 14:02, reason: HardFault, available RAM 6188, slot 1
    Software reset code 0x0060 ICSR 0x00000003 SP 0x20002928 Task MAIN
    Stack: ffffffff 00000002 00000007 00000001 41000000 000185d3 a5a5a5a4 81000200 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 2000142c 00000000 200041a0 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 20001a28 200041a0 a5a5a5a5 a5a5a5a5 0000fa91 a5a5a5a5
    Driver 0: position 20000, 4000.0 steps/mm
    Moves scheduled 1, completed 1, in progress 0, hiccups 0
    No step interrupt scheduled
    VIN: 12.8V
    MCU temperature: min 24.7C, current 27.0C, max 27.2C
    Ticks since heat task active 155, ADC conversions started 403949, completed 403949, timed out 0
    Last sensors broadcast 0x00000000 found 0 158 ticks ago, loop time 0
    CAN messages queued 27, send timeouts 0, received 7285, lost 0, free buffers 36

    30/11/2020, 14:43:19 M122 B41
    Diagnostics for board 41:
    Duet EXP1XD firmware version 3.2-beta4 (2020-11-26)
    Bootloader ID: SAMC21 bootloader version 2.0 (2020-10-15b1)
    Never used RAM 6140, free system stack 49 words
    HEAT 42 CanAsync 88 CanRecv 82 MAIN 398 AIN 64
    Last reset 00:12:32 ago, cause: power up
    Last software reset at 2106-02-07 06:28, reason: HardFault, available RAM 6188, slot 0
    Software reset code 0x0060 ICSR 0xffffffff SP 0xffffffff Task ����
    Driver 0: position -465000, 1000.0 steps/mm
    Moves scheduled 3, completed 3, in progress 0, hiccups 1
    No step interrupt scheduled
    VIN: 12.9V
    MCU temperature: min 25.2C, current 27.8C, max 28.0C
    Ticks since heat task active 199, ADC conversions started 376096, completed 376095, timed out 0
    Last sensors broadcast 0x00000000 found 0 202 ticks ago, loop time 0
    CAN messages queued 24, send timeouts 0, received 6785, lost 0, free buffers 36

    30/11/2020, 14:42:58 M122 B40
    Diagnostics for board 40:
    Duet EXP1XD firmware version 3.2-beta4 (2020-11-26)
    Bootloader ID: SAMC21 bootloader version 2.0 (2020-10-15b1)
    Never used RAM 6140, free system stack 50 words
    HEAT 42 CanAsync 88 CanRecv 82 MAIN 328 AIN 64
    Last reset 00:12:11 ago, cause: power up
    Last software reset time unknown, reason: HardFault, available RAM 6188, slot 1
    Software reset code 0x0060 ICSR 0x00000003 SP 0x20002950 Task MAIN
    Stack: 20004258 000007d0 20002d08 4b05fc5f 41000000 0000e37f 0000e380 01000000 200041a0 0000608f a5a5a5a5 20001a28 20001a28 200041a0 a5a5a5a5 0000fa9f a5a5a5a5 a5a5a5a5 a5a5a5a5 00014f35 a5a5a5a5 a5a5a5a5 00000000 0000e925 20001914 00000000 00000000
    Driver 0: position -700000, 1000.0 steps/mm
    Moves scheduled 4, completed 4, in progress 0, hiccups 0
    No step interrupt scheduled
    VIN: 13.0V
    MCU temperature: min 27.3C, current 29.1C, max 29.4C
    Ticks since heat task active 14, ADC conversions started 365628, completed 365628, timed out 0
    Last sensors broadcast 0x00000000 found 0 17 ticks ago, loop time 0
    CAN messages queued 25, send timeouts 0, received 5038, lost 0, free buffers 36



  • @dkraja42 I don't have a 1XD, so I have no experience with the M122 statistics, but they look ok for me. No hiccups and no errors reported, and CAN seems to work ok also.

    Board 41 had a hiccup, I would check it again when you made bigger, faster, more moves.



  • @JoergS5 Please see the config.g file:

    Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.8 on Fri Nov 20 2020 11:43:55 GMT+0530 (India Standard Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Duet 3" ; set printer name

    ; Drives
    M569 P40.0 S1 R1 ; change enable polarity, active = disable drive
    M569 P41.0 S1 R1 ; change enable polarity, active = disable drive
    M569 P42.0 S1 R1 ; change enable polarity, active = disable drive
    M569 P0.0 S1 ; physical drive 0.0 goes forwards
    M584 X40.0 Y41.0 Z42.0 E0.0 ; set X, Y, Z, Extruder drivers

    M350 E16 I1 ; configure microstepping with interpolation
    M92 X100.00 Y100.00 Z400.00 E90.00 ; set steps per mm
    M566 X900.00 Y900.00 Z60.00 E900.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z600.00 E6000.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E500.00 ; set accelerations (mm/s^2)
    M906 E2000 ; set motor currents (mA)

    M84 S0 ; Disable motor idle current reduction

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X230 Y230 Z230 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"!^io3.in" ; configure active-high endstop for low end on X via pin !^io3.in
    M574 Y1 S1 P"!^io1.in" ; configure active-high endstop for low end on Y via pin !^io1.in
    M574 Z1 S1 P"!^io2.in" ; configure active-high endstop for low end on Z via pin !^io2.in

    ; Z-Probe
    M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
    M557 X15:220 Y15:220 S20 ; define mesh grid

    ; Heaters
    M308 S0 P"temp1" Y"thermistor" T100000 B5000 ; configure sensor 0 as thermistor on pin temp1
    M950 H0 C"out2" T0 ; create bed heater output on out2 and map it to sensor 0
    M307 H0 B1 S1.00 ; enable 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 B5000 ; 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 S230 ; set temperature limit for heater 1 to 230C

    ; Fans
    M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
    M106 P0 S0.8 H-1 ; set fan 0 value. Thermostatic control is turned off

    ; Tools
    M563 P0 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
    M575 P1 S1 B57600
    M570 H0 P999 S240
    M552 S1
    M552 192.168.0.132

    ; Miscellaneous
    M575 P1 S1 B57600 ; enable support for PanelDue



  • @dkraja42 this looks ok also. But please run the code
    M98 P"0:/sys/config.g"
    to check the config.g,.

    If you run and one or more of the motors are turning in the wrong direction, this can be corrected in the M569 by changing from S1 to S0.



  • @dc42 Dear sir,

    Can you setup and check the configuration via Remote Access. After 2 days we need to start the production. so we need help to run the my 3d printer.


Log in to reply