SLVAFW1 August 2024 DRV8818
There are multiple ways to adjust the regulated current value at each step. As mentioned earlier, DRV8818 uses a dedicated VREF pin using Equation 2 to calculate the peak current. The VREF pin voltage in a motor driver is generally adjusted using the buffered DAC in an MCU for high accuracy.
However, most low-cost micro-controllers have limited buffered DAC resources (usually just one). This makes them expensive to drive multiple stepper loads. Besides, the accuracy requirement for regulating current calculated by VREF is generally not too high in most use cases. As an example, a 5% error on VREF or regulated current is acceptable, without causing obvious performance differences. Thus, PWM-ing with a low pass RC filter can also be a possible option to adjust the VREF voltage. Mainstream MCUs normally provide more than 10 PWM channels making it easier to control the VREF of multiple motor drivers with a single MCU.
As a further improvement, Texas Instruments’ advanced motor driver series DRV8452 and DRV8462 integrate a standstill power saving feature. In this mode, the device automatically reduces the regulated current to a holding current value to reduce power loss. This eliminates the need to change the VREF pin voltage manually.
When the controller is not sending any step pulses and the motor is holding the same position, DRV8452 and DRV8462 can be configured to operate in the standstill power saving mode. When this mode is enabled by writing 1b to the EN_STSL bit, the power dissipation of the system can be reduced by lowering the coil current from run current to holding current.
After the last STEP pulse, the device waits for an amount of time programmed by the TSTSL_DLY register, after which the coil currents are ramped down from 'run' current to holding current over a time period programmed by the TSTSL_FALL register, as shown in Figure 3-3. This feature can be used to switch between a lower hold current and a higher run current by the controller thereby reducing power dissipation when the stepper is on hold for extended periods of time in an application. The STSL flag goes up to indicate that the device is in standstill power saving mode. Once the next STEP pulse is detected, the coil current immediately ramps up to the 'run' current value. The available options for TSTSL_FALL and TSTSL_DLY are mentioned in the data sheets of DRV8452 and DRV8462.
The 'run' current is programmed by the TRQ_DAC register and the holding current is programmed by the ISTSL register. In advanced motor drivers like DRV8889-Q1, DRV8899-Q1, and DRV8434S, a torque DAC is integrated which allows the host MCU to adjust motor driver current through SPI interface. Users can scale the output current by adjusting the TRQ_DAC register expressed in %. The full-scale regulation current can be calculated using the equation: