Using external drivers
There are two broad reason for using external drivers. You may want to use the expansion header to drive more extruders but not want to use a Duex2 or Duex5 expansion board on the DuetWifi or the Duex4 on the Duet0.8.5 or Duet 0.6 alternatively you may want to drive larger stepper motors than the internal stepper drivers are rated for, and you want to use the expansion header to connect to larger external stepper drivers.
In either case the expansion header has support for 5 external drivers on the DuetWifi and 4 on Duet0.8.5 or Duet0.6. The pinouts for the expansion header are important to make a note of when connecting external drivers:
If the drivers require no more than about 2mA @ 3V on the step, dir and enable inputs, then you can drive them directly from the expansion connector of the Duet. See the expansion connector pinouts at [link]. Otherwise, you should use 3.3V to 5V level shifting ICs such as 74HCT04 to boost the signal level to 5V and drive them.
Adding additional extruders
Most external drivers will want a STEP, DIR and EN (step, direction and enable) signal, for example the popular StepStick style drivers have the following pin out:
Showing that the STEP, DIR and EN pins. From experience, even though the stepsticks are 5V boards they work fine with the 3.3V from the Duet boards, however different StepStick clones might vary.
External Extruders Example
This example shows how to add one external stepper driver to drive a third extruder on a DuetWifi.
At the DuetWifi end the pins needed to connect to are highlighted in this image:
A custom cable is made up that connects these pins to the Stepstick.
In this example the Stepstick is mounted on on a RAMPS 1.3 pcb, just adding the minimal components needed to support 1 more driver. It was much quicker to use a RAMPS pcb that was spare than to use stripboard to make a custom stepper driver carrier for the stepstick driver, however that is all that the pcb is doing so directly connecting to the stepstick or using a stripboard will also work. It is important to connect a bulk capacitor of ~100uF between power and ground close to the stepstick.
At the RAMPS pcb end:
And the RAMPS PCB with the other components fitted:
Using External Drivers for X/Y/Z Axis
If your motors are rated above about 2.8A and you are using the Duet WiFi, or above about 2A and you are using the Duet 0.6 or 0.8.5, or if they need higher voltage than the Duet can provide, then you need external stepper motor drivers. These may have optically isolated step/dir/enable inputs. For example, stepper motor drivers rated at up to 5A using the TB6600 stepper driver chip are widely available on eBay.
The same principle as described above for adding an additional extruder driver is used to add an external driver for a movement axis. What is also required is to remap the X/Y/Z axis to this external driver. The drive numbers are:
|5||E2 Axis (Expansion Header)|
|6||E3 Axis (Expansion Header)|
|7||E4 Axis (Expansion Header)|
|8||E5 Axis (Expansion Header)|
|9||E6 Axis (Expansion Header)|
To remap the X, Y or Z motors to external drivers in RepRapFirmware 1,14 or later, use the M584 command (see http://reprap.org/wiki/G-code#M584:_Set_drive_mapping). The Enable signals on the expansion connector are active low by default but you can change this using the M569 command (see http://reprap.org/wiki/G-code#M569:_Set_axis_direction_and_enable_values). You can also set a minimum step pulse width in the M569 command (try 1us or 2us when using external drivers), and configure the direction.