Duet3 Driver broken?

  • I am struggling with my new Duet3D 3 board I received last week. I am hooking it up instead of my Ramps 1.4 board and managed to boot it up with a Pi4 as the SBC.

    I have made all the connectors and connected all my motors to the board (Driver 0 = X, Driver 1 = Y, Driver 2 = ZA, Driver 3 = ZB, Driver 4 = Extruder).

    I am somehow getting constant errors on Driver 3 and 5, they either complain about out of phase A/B, or simply do not move the motor. The problem is tho, if i hook the Nema 17 motors up to the other ports they move fine, also swapping using confirmed working cables. I started using driver 5 as I thought hey might be a bad driver, but also driver 5 refusing to run any motor.

    I am running the latest 3.0.1-RC3 firmware I think (bit unclear in docs all). What am I doing wrong, could it be that the board is broken? The diagnostics does not seem to indicate any timeout or problems with the driver?

    Here is my config:

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Mar 01 2020 13:51:27 GMT+0100 (Central European Standard Time)
    ; General preferences
    G90                                          ; send absolute coordinates...
    M83                                          ; ...but relative extruder moves
    M550 P"Duet 3"                               ; set printer name
    ; 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
    M569 P0.3 S1                                 ; physical drive 0.3 goes forwards
    M569 P0.4 S1                                 ; physical drive 0.4 goes forwards
    M584 X0.0 Y0.1 Z0.2:0.3 E0.4                     ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                      ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z2560.00 E400           ; set steps per mm
    M566 X900.00 Y900.00 Z12.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 X1000 Y1000 Z1000 E1000 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 X300 Y300 Z250 S0                       ; set axis maxima
    ; Endstops
    M574 X1 S0 P"io0.in"                         ; configure active-low endstop for low end on X via pin io0.in
    M574 Y1 S0 P"io1.in"                         ; configure active-low endstop for low end on Y via pin io1.in
    M574 Z1 S0 P"io2.in"                         ; configure active-low 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:215 Y15:195 S20                     ; define mesh grid
    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0                           ; create bed heater output on out0 and map it to sensor 0
    M143 H0 S90                                  ; set temperature limit for heater 0 to 90C
    M307 H0 B0 S1.00                             ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                      ; map heated bed to heater 0
    M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1
    M950 H1 C"out1" T1                           ; create nozzle heater output on out1 and map it to sensor 1
    M143 H1 S280                                 ; set temperature limit for heater 1 to 280C
    M307 H1 B0 S1.00                             ; disable bang-bang mode for heater  and set PWM limit
    ; 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 H1 T45                            ; set fan 1 value. Thermostatic control is turned on
    ; 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

  • Moderator

    @renarj check you have connected the ZB motor to the correct driver, the physical order of the drivers on the board isn’t necessarily what you expect; it’s
    0 1 2
    5 4 3

    So driver 3 is behind driver 2, not behind driver 0.

    See the wiring diagram here: https://d17kynu4zpq5hy.cloudfront.net/igi/duet3d/TF1FBCbopEsxvYAv.huge


  • Uh wow, that is exactly the problem is, it seems ....

    I feel like an idiot now, thanks for the help much appreciated 🙂

  • administrators

    It's an easy mistake to make. The "obvious" order made the PCB routing more difficult.

  • I (paper) printed a copy of the main image on the page "Duet 3 Mainboard 6HC - Wiring Diagram" and hung it on the wall next to my printer. It's useful for identifying specific connectors AND for identifying the wiring needed for specific pins.

    (My copy also has notes on what's connected to which connector, etc. )


    (edit: fixed the link to go to the mainboard, not the expansion board)

Log in to reply