SLOSE84B August 2022 – October 2023 DRV8452
PRODUCTION DATA
Conventional peak current mode control looks at instantaneous current in the sensing MOSFETs to determine drive and decay durations. As a result, the motor driver reacts to instantaneous inaccuracies in the system. These sudden changes in current cause audible noise from the motor.
To ensure noiseless stepper motor operation, the DRV8452 features the silent step decay mode. The silent step is a voltage mode PWM regulation scheme to remove noise due to PWM switching at standstill and low speeds. Thus, silent step operated stepper motor applications are highly suitable for applications such as 3D printer, medical equipment and factory automation, where low noise operation is critical.
When the device is operating with silent step decay mode -
The silent step loop is designed for low bandwidth operation, therefore at moderate to high motor speeds, the decay mode can be switched back to one of the conventional current-mode decay schemes programmed by the DECAY bits. Transition from silent step to another decay mode is immediate, whereas the transition from other decay modes to silent step happens at the boundary of electrical half-cycles.
Figure 7-19 shows the block diagram of the silent step decay mode implementation -
Table 7-23 shows the SPI register parameters related to the silent step decay mode.
Parameter |
Description |
---|---|
EN_SS |
When EN_SS bit is 1b, silent step decay mode is enabled. Device starts operating with silent step after one zero cross each for currents in coil A and coil B. Writing 0b to EN_SS disables silent step decay mode, and the decay mode changes as per DECAY bit setting. |
SS_PWM_FREQ[1:0] |
Represents the PWM frequency (FPWM) in silent step decay mode.
|
SS_SMPL_SEL[1:0] | Silent step current zero
cross sampling time. Default value is 2 μs. If current waveform is
distorted around zero crossing, increase the sampling time.
|
SS_KP[6:0] |
Represents the proportional gain of the silent step PI controller. Has a range of 0 to 127, with a default value of 0. |
SS_KI[6:0] |
Represents the integral gain of the silent step PI controller. Has a range of 0 to 127, with a default value of 0. |
SS_KP_DIV_SEL[2:0] |
Divider factor for KP. Actual KP = SS_KP / SS_KP_DIV_SEL.
|
SS_KI_DIV_SEL[2:0] |
Divider factor for KI. Actual KI = SS_KI / SS_KI_DIV_SEL.
|
SS_THR[7:0] |
Programs the frequency
at which the device transitions from silent step decay mode to
another decay mode programmed by the DECAY bits. This frequency
corresponds to the frequency of the sinusoidal current waveform.
|
To convert the SS_THR threshold to STEP frequency (fSTEP) for a specified microstepping setting, Equation 14 should be used -
Where usm corresponds to the number of microsteps (4, 16, 256 etc.). When the device is operating with custom microstepping mode, use usm = 256 in Equation 14 when calculating the STEP frequency.
The gain vs frequency plot of the silent step loop is shown below -
The loop transfer function has two poles and one zero -
One pole at origin
One pole (fP) due to the motor coil resistance and inductance -
One zero (fZ) created by the PI loop
The proportional gain KP should be chosen to achieve the desired loop gain. Use the following equation to calculate the KP -
Where UGB is the unity-gain bandwidth of the loop, RMOTOR is the motor coil resistance, LMOTOR is the motor coil inductance, IFS is the full-scale current and VM is the supply voltage.
The zero should be placed to cancel the motor pole. By equating fP and fZ for a discretized implementation, the following equation can be used to calculate KI.
As an example, consider the following use case -
VM = 24 V
IFS = 5 A
RMOTOR = 0.3 Ω
LMOTOR = 0.7 mH
UGB = 200 Hz
FPWM = 25 kHz
Above 50 RPM, the decay mode should change from silent step to smart tune ripple control.
Using the previous equations, KP = 0.18326 and KI = 0.00314. The following register values can be set -
SS_KP = 0101111b = 47
SS_KI = 0000001b = 1
SS_KP_DIV_SEL = 011b = 1/256
SS_KI_DIV_SEL = 011b = 1/256
50 RPM corresponds to roughly 42.6 kpps at 1/256 microstepping, which is equivalent to 42 Hz frequency of the sinusoidal current waveform. So SS_THR = 00010101b = 21.
Figure 7-21 shows the smooth sinusoidal coil current waveforms when the motor operates in silent step decay mode.
The SS_SMPL_SEL bits influence the smoothness of current waveform around zero crossing point. Default value of 2 μs sampling time will work well for most motors and applications. In case current waveform distortion is oberved around the zero crossing, the value of sampling time can be increased to a maximum of 5 μs. Figure 7-22 is an example of transition from silent step decay mode to smart tune ripple control decay mode with a sampling time of 5 μs.