Operation at low average current
presents challenges due to the reduced signal to noise ratio (SNR). Usually, this
happens at:
- Low duty cycle during PWM
- Low value of motor current's DC
component
As shown in Figure 4-1, the current ripples are highly distorted at low average motor current. The
device is unable to distinguish between noise and current ripples. For the vacuum
robot wheel motor example, this value was observed to be 90mA. The waveform was
obtained by setting the PWM duty cycle to 30% at 11V.
The possible workarounds to improve accuracy are listed as follows:
- Set FLT_GAIN_SEL to 11b to
utilize the full signal range. This assists the digital filter in
differentiating between noise and current ripples.
- If
possible, lower the supply voltage and increase the PWM duty cycle such that
average current remains the
same.
This improves the current ripple waveform.
- The SPEED register value
fluctuates during the tuning process, thereby facilitating erroneous KMC. Tweak
the value of KMC to check if performance improvement is yielded.
- Tweak the values of EC_FALSE_PER
and EC_MISS_PER registers to see if tuning improves. For a detailed description,
refer to the data sheet of DRV8234. As an example, Figure 4-2 shows the performance when EC_FALSE_PER = 10b and EC_MISS_PER = 10b from the
default values of 01b. Table 4-1 calculates the accuracy in this case.
- Re-tune the values for INV_R,
INV_R_SCALE, KMC, and KMC_SCALE. Make sure that the registers are tuned as per
instructions in Section 3.2.1 and Section 3.2.2.
- As mentioned in section
8.2.3.1.2.2.2 of the data sheet for DRV8234, multiple pairs of tuned values for
KMC and KMC_SCALE exist. Choose another possible pair.
- Turn off the error corrector by
setting DIS_EC = 1b. This also leads to improved performance as shown in Figure 4-3.
Table 4-1 Improved Accuracy During Low
Currents
Parameter |
30% Duty |
Tweaked Error Corrector Registers |
Error Corrector turned off |
Encoder Counts |
16 |
32 |
32 |
RC_OUT Counts |
28 |
48 |
49 |
Accuracy |
116%(1) |
100% |
102%(2) |
(1) Accuracy > 100% indicates that the algorithm counted some extra ripples. The
percentage error can be calculated by subtracting the accuracy from 100. Hence,
error at 30% duty cycle operation ios 16% over 4 revolutions.
(2) Error when the error corrector is turned off comes down to 2%.