在过低的平均电流下运行时会由于信噪比 (SNR) 降低而面临挑战。这种情况通常发生在:
- PWM 期间低占空比较低时
- 电机电流的直流分量值较低时
如图 4-1 所示,电机平均电流较低时,电流纹波会严重失真。器件无法区分噪声和电流纹波。对于扫地机器人滚轮电机示例,观察到该值为 90mA。波形是在 11V 电压下将 PWM 占空比设置为 30% 的情况下获得的。
下面列出了一些可能提高精度的解决方法:
- 将 FLT_GAIN_SEL 设置为 11b 以利用整个信号范围。这有助于数字滤波器区分噪声和电流纹波。
- 如果可能,降低电源电压并增加 PWM 占空比,使平均电流保持不变。这样可以改善电流纹波波形。
- SPEED 寄存器值在调优过程中会波动,从而导致 KMC 错误。请调整 KMC 的值以检查性能是否得到改善。
- 调整 EC_FALSE_PER 和 EC_MISS_PER 寄存器的值,了解调优是否有所改善。有关详细说明,请参阅 DRV8234 数据表。例如,图 4-2 展示了 EC_FALSE_PER = 10b 且 EC_MISS_PER = 10b(从默认值 01b 修改)时的性能。表 4-1 计算了这种情况下的精度。
- 重新调优 INV_R、INV_R_SCALE、KMC 和 KMC_SCALE 的值。请确保按照节 3.2.1和节 3.2.2中的说明调优这些寄存器。
- 如 DRV8234 数据表第 8.2.3.1.2.2.2 节所述,存在多对 KMC 和 KMC_SCALE 调优值。选择另一个可能的值对。
- 设置 DIS_EC = 1b 以关闭误差校正器。这样也会提高性能,如图 4-3 所示。
表 4-1 低电流期间提高精度
参数 |
30% 占空比 |
已调整误差校正器寄存器 |
误差校正器已关闭 |
编码器计数 |
16 |
32 |
32 |
RC_OUT 计数 |
28 |
48 |
49 |
精度 |
116%(1) |
100% |
102%(2) |
(1) 精度 > 100% 表示该算法计入了一些额外的纹波。用 100 减去精度可以计算出百分比误差。因此,以 30% 占空比运行并旋转 4 圈后的误差为 16%。
(2) 误差校正器关闭后的误差下降到 2%。