Does anyone have Breakout Board working with External Drivers?



  • Does anyone have the Duet Breakout Board working with External Drivers Working? Here's what the config.g file looks like.

    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Thu Nov 16 2017 18:16:14 GMT-0600 (Central 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
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
    M208 X0 Y0 Z0 U0 S1 ; Set axis minima
    M208 X600 Y600 Z201.9 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y2 Z2 U1 S1 ; Set active high endstops
    M558 P3 X0 Y0 Z0 F600 T6000 I1 H7 ; Set Z probe type to mode 6, Z axis only, 5mm dive height
    ; M558 P6 I1 H5 F120 T6000 ; Set Z probe type to switch and the dive height + speeds
    G31 P500 X15 Y15 Z0.2 ; Set Z probe trigger value, offset and trigger height
    M557 X20:480 Y20:280 S40 ; Define mesh grid

    ; Drives
    M569 P5 S0 R1 T4:4:5:0 ; Drive 5 goes X forwards
    M569 P6 S0 R1 T4:4:5:0; Drive 6 goes Y forwards
    M569 P7 S0 R1 T4:4:5:0; Drive 7 goes Z forwards

    ; Motor remapping
    M584 X5 Y6 Z7 ; Driver X=5,Y=6, Z=7 ,

    ; Configure Drives
    M350 X16 Y16 Z16 ; Configure microstepping with interpolation
    M92 X200 Y200 Z200 ; Set steps per mm
    M566 X200 Y100 Z1200 ; Set maximum instantaneous speed changes (mm/min)
    M203 X200 Y200 Z200; Set maximum speeds (mm/min)
    M201 X200 Y200 Z500 ; Set accelerations (mm/s^2)
    M906 X6000 Y6000 Z6000 ; 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 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S20000 ; 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 ; Set machine name
    M552 S1 ; Enable network
    ; Access point is configured manually via M587 by the user
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

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

    ; Custom settings are not configured

    ; Miscellaneous
    M501 ; Load saved parameters from non-volatile memory
    T0 ; Select first tool


  • administrators

    Here are some posts from users with the breakout board:

    https://forum.duet3d.com/topic/9193/expansion-breakout-board-configure-drive-5-and-6-with-endstops
    https://forum.duet3d.com/topic/8731/leadshine-blm57180-not-achieving-max-speed

    One of our OEMs uses the breakout board in their commercial machines.



  • The breakout board works well but you will have to read the data sheet for your drivers in detail, here are a couple sticking points.

    • Voltage level for step/dir signal
    • Signal timings (pulse width), These may have to be extended past what is in the data sheet to work properly
    • Microstepping values have no effect on the breakout board, so your steps/mm value should be set as full steps. (unless you have a microstep value set on the external driver).


  • Hi, just reading through various posts in an effort to learn more about this.

    There are. Or many people that are knowledgeable in this regard so I’m taking a chance her, could you pls give me some advise.

    I am also making use of external drivers(DQ860MA) and Nema 34 Steppers, directly coupled to 20-05 ball skrew.

    I, after a few hours of playing around got the drivers correctly related via the Breakout board.

    I now have motion and end stops working but am only able to achieve about 2m/min where I was hoping for 3.5.

    If I set speeds to go any faster the motors start but when near point of full speed suddenly stop dead, it’s atvthis point that I high pitches and loud noise can be heard.

    Pulse rev on external driver currently set to 800.

    Do you think I can improve on speeds with changes to firmware or am I going to have to replace ball screws to 20/10?


  • administrators

    @darnz said in Does anyone have Breakout Board working with External Drivers?:

    I now have motion and end stops working but am only able to achieve about 2m/min where I was hoping for 3.5.

    That suggests that either your accelerations are set too high or the supply voltage to the drivers is too low for the speed you are trying to achieve. See the back emf calculator at reprapfirmware.org.



  • Many thanks, I’m using 48V for external drivers.

    But will tweak acceleration settings and see if any improvement.


  • administrators

    Also run M122 after attempting movement at high speed and check the hiccup count in the report. If it's very high then you will need to use lower microstepping.



  • @shaneh
    Hi,
    I have x&y "jmc"-allintegrated-stepper ("iHSS60") hooked up to a duet2 (ethernet) 1.04 + breakoutboard

    I got this in the config.g:

    ; seems to be: 0=X, 1=Y, 2=Z, 3=e0, 4=e1, 5=e2(exp-pcb:Drv5), 6=e3(exp-pcb:Drv6), ... see https://duet3d.dozuki.com/Wiki/Using_external_stepper_motor_drivers
    M569 P5 S1 R1 T3.4:3.4:6:0 ; the external driver individual timing
    M569 P6 S1 R1 T3.4:3.4:6:0 ; the external driver individual timing

    For external drivers I think you cannot specify M350, but just note that value on a sticky-note for yourself and calculate with it the steps per millimeter you have in M92 which definetly you have to specify(!) for your given/wanted (micro-)stepping... also M906 & M84 are reserved for the internal-drivers, since the duet2 has no way to tell your external driver which volt/ampere or idle-time to use, what is part of the external-driver...


  • administrators

    @shaneh, you are right about M92 and M350. However, M18 and M84 can still be used to turn off current to external drivers, if you have connected the Enable signals to them.


Log in to reply