External Stepper drivers

  • Hello, we are using external Stepper motor drivers named TB6600 with 4.5A output current capacity.
    Does we require duet expansion header breakout board for the same or we can driver directly from the expansion header?

    Please find the link to the external Stepper motor drivers we using.


  • administrators

    The signal level on the expansion header is 3.3V whereas most external stepper drivers specify 5V. Nevertheless, most external stepper drivers work when driven direct from the expansion header.

  • Please find the image of the external stepper driver we using.
    https://www.google.co.in/search?q=exter … WdJeGRkMrM:

    It has pinouts like



    whereas in Duetwifi expansion header we have ENA, DIR, STEP and STOP for one particular drive.
    Please guide us on the connections.

  • administrators

    I suggest the following:

    ENA+ to +3.3V
    ENA- to ENA

    DIR+ to DIR
    DIR- to GND

    PUL+ to STEP
    PUL- to GND

  • Hello,
    I tried the connections as suggested by you.
    ENA+ to 3.3v
    ENA- to ENA

    DIR+ to DIR
    DIR- to GND

    PUL+ to STEP
    PUL- to GND

    It doesn't move the stepper motor.
    I am using TB6600 Stepper motor drivers.
    Please help me.

  • administrators

    Did you use the M584 command to remap the appropriate axes or extruders to the external drivers?

    You may also need to extent the step pulse timing, using the T parameter of the M569 commands that correspond to external drivers.

  • What should be the T Parameter ?
    I do i find its exact value ?

  • ; Configuration file for Duet WiFi (firmware version 1.17 to 1.19)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool on Sun Nov 19 2017 10:11:05 GMT+0530 (India Standard Time)

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRapFirmare
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X510 Y550 Z576.4 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 Z2 S0 ; Set active low endstops

    ; Drives
    M569 P0 S0 ; Drive 0 goes backwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes backwards
    M569 P3 S0 ; Drive 3 goes backwards
    M569 P5 S0 T5 ; Drive 5 goes backwards
    M584 X5 Y2 Z1 E3 ; Apply custom drive mapping
    M350 X16 Y16 Z16 E16 I0 ; Configure microstepping without interpolation
    M92 X320 Y320 Z640 E837 ; Set steps per mm
    M566 X600 Y600 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X5000 Y5000 Z400 E6000 ; Set maximum speeds (mm/min)
    M201 X400 Y400 Z200 E250 ; Set accelerations (mm/s^2)
    M906 X2000 Y2000 Z2000 E1400 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M140 H-1 ; Disable heated bed
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; Tools
    M563 P0 D0 H1 ; 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

    ; Network
    M550 PFibrox 3D Printing Solutions ; Set machine name
    M551 Ppass4567 ; Set password
    M552 S1 ; Enable network
    M587 S"F3D600_Machine_Wifi" P"F3D600_Machine_Wifi" ; Configure access point. You can delete this line once connected
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Fans
    M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Custom settings are not configured

    ; Miscellaneous
    T0 ; Select first tool

  • kindly help me where I am going wrong in the above Gcode.

  • administrators

    I deduce that you have just the X motor connected to an external driver, and that driver is connected to E5_EN, E5_STEP and E5_DIR on the expansion connector. Try adding parameter T3 to your M569 P5 command.

  • Driver is connected to E5_EN, E5_STEP and E5_DIR on the expansion connector,
    M569 P5 S0 T3 added

    still motor doesn't moves !
    I have checked Stepper motor and Drives (TB6600) with Arduino and i works fine.

  • administrators

    I suggest you use a multimeter to check the voltage between ENA+ and ENA- on your external drivers. It should be 0 when you start the Duet, changing to almost 3.3V when you first command the X motor to move.

    Similarly, measure the voltage between DIR+ and DIR-. It should switch between 0V and 3.3V depending on which way you try to move the X motor. For example, if you send G91 first, then G1 S2 X10 will set it one way and G1 S2 X-10 will set it the other way.

    If those are both working, then although most external drivers work OK with the 3.3V signals provided by the Duet, it's possible that your drivers need a full 5V.

Log in to reply