SLVSHO5 April 2024 DRV8215
PRODUCTION DATA
For voltage regulation, an internal circuit monitors the voltage difference between the output pins. This voltage difference is integrated over time to get an average DC voltage value. The time depends on the cut-off frequency of the output filter which can be set by the OUT_FLT register. For best results, choose a cut-off frequency equal to a value at least 20 times lower than the PWM frequency. Eg, if you PWM at 20kHz, OUT_FLT=11b (1000Hz) is sufficient.
The DC voltage value is compared to the target motor voltage programmed by the I2C register, WSET_VSET.
When speed/voltage regulation mode is active, an internal bridge control scheme is employed. DUTY_CTRL must be set to 0b. The duty cycle cannot be manually programmed by the user.
If the averaged output voltage is lower than VSET, the duty cycle of the internal bridge control output is increased.
If the averaged output voltage is higher than VSET, the duty cycle of the internal bridge control output is decreased.
During PWM regulation, the H-bridge is enabled to drive current through the motor winding during the PWM on time. The current flow direction depends on the EN/IN1 and PH/IN2 polarity.
During the PWM off time, winding current is recirculated by enabling both of the low-side FETs in the bridge.
If the programmed output voltage (VSET) is greater than the VM supply voltage, the device operates at 100% duty cycle and the voltage regulation feature is disabled. In this mode, the device behaves like a conventional H-bridge driver.
Bit | Value |
---|---|
0b | 50 kHz |
1b | 25 kHz |
In voltage regulation mode, the motor speed can vary slightly because the voltage drop across the motor coil resistance introduces a small error. The speed regulation mode eliminates this error by directly regulating the target motor speed. To enable speed regulation, the REG_CTRL bit must be set to 10b.
When Speed/Voltage regulation is inactive, the user can still PWM internally. To do this, set DUTY_CTRL to 1b and program the duty cycle value into PROG_DUTY. Please note that in this case, I2C_BC is used to decide if the information about the direction or rotation (Forward/Reverse/Coast/Brake/Sleep) is extracted:
As an example, if the settings in Table 7-14 are followed, the device PWMs at 50kHz with approximately 50% duty cycle in the forward direction.
Bit | Value |
---|---|
I2C_BC | 1b |
DUTY_CTRL | 1b |
PMODE | 1b |
PWM_FREQ | 0b |
PROG_DUTY | 011111b |
I2C_EN_IN1 | 1b |
I2C_PH_IN2 | 0b |