Stepper Motor Control
Figure 1. DRV881x PCB designed for NEMA17 mount on
The 3D printer requires separate control for three independent axis. Each of the controlled axis must have a high precision electronic driver. Mechanical part of the each axis is based on a precise bipolar stepper motor connected to a drive shaft via claw coupling. An additional driver and mechanics are used for the extruder.
The stepper motor control is based on a TI DRV8818 . The DRV8818 is an improved version of the TI DRV8811. Main difference between these two devices is in the value of the ON-resistance of the DRV8818 output MOSFET. A direct dependence of total power dissipation (TPD) over the device and ON-resistance is a critical parameter when running motors at higher levels of currents. Roughly calculated, difference of the ON-resistance between the two before mentioned devices is 0.6 Ω. At the peak current value, TPD of the DRV8818 is 1.46 W and is lower by 2.37 W then it would be if the DRV8811 was selected.
Both DRV8811 and DRV8818 are fully functional stand alone stepper motor drivers. The integration of various functions in single IC package decreases the requirements on the processor unit. The processor unit controls only three signals per driver. This allows minimal MSP430 processor pin usage per driver device and that was one of the important parameters for a project design. Furthermore, the stepping sequence for the motor is realized by the DRV8818 internal step indexer logic which also reduces the computational burden on the processor unit. The DRV8818 supports advanced current routing for motor windings realized by an integrated H-bridge. Integration of the H-bridge inside the DRV8818 package reduce the number of external discrete elements and improves matching and thermal equilibrium between the transistors. The transistor switches used in the H-bridge are protected from the voltage spikes caused by turning the power off in a motor winding by the integrated fast schottky diodes.
In chematic presented below the single stepper motor driver is presented. The chop (peak) current is defined by the trimmer R18 connected in series with the resistors R19 and R110. The ICHOP is calculated by an expression ICHOP = VREF / (8RSENSE). In this case, the voltage VREF,min is 0.17 V, and the voltage VREF,max is 1.59 V. The minimum and maximum values of the voltage VREF define the currents ICHOP,min at 0.21 A, and ICHOP,max at 1.99 A. The current sensing resistors R11 and R12 have resistance of 0.1 Ω.
The activation of the driver is controlled by ACTIVE signal. The ACTIVE signal allows the processor to shut off the output stage of the DRV8818. During the period between two steps of the motor, the output stage is inactive. When the ACTIVE signal is low, all functions of the device are suspended and the device is in a low power state. Stepping of the motor is controlled with the rising edge of the impulses on the STEP terminal. The maximum stepping frequency of 500 kHz is defined by the device data sheet. The wake-up time is the time interval needed for the device to become fully active after the signal on the ACTIVE terminal is changed from a low to high, in order to prevent loosing step impulses or other irregularities. Selected value was experimentally confirmed as the correct choice.
The signal on the DIRECTION terminal selects the clockwise or the counter clockwise rotation of the stepper motor. The direction of rotation is selected upon the terminal voltage level. The DRV8818 supports two current decay modes. In this project fast decay mode is selected. The mode selection is done by grounding the DECAY terminal. The full step indexing mode is selected by grounding terminals USM0 and USM1.