在過(guò)低的平均電流下運(yùn)行時(shí)會(huì)由于信噪比 (SNR) 降低而面臨挑戰(zhàn)。這種情況通常發(fā)生在:
- PWM 期間低占空比較低時(shí)
- 電機(jī)電流的直流分量值較低時(shí)
如圖 4-1 所示,電機(jī)平均電流較低時(shí),電流紋波會(huì)嚴(yán)重失真。器件無(wú)法區(qū)分噪聲和電流紋波。對(duì)于掃地機(jī)器人滾輪電機(jī)示例,觀察到該值為 90mA。波形是在 11V 電壓下將 PWM 占空比設(shè)置為 30% 的情況下獲得的。
下面列出了一些可能提高精度的解決方法:
- 將 FLT_GAIN_SEL 設(shè)置為 11b 以利用整個(gè)信號(hào)范圍。這有助于數(shù)字濾波器區(qū)分噪聲和電流紋波。
- 如果可能,降低電源電壓并增加 PWM 占空比,使平均電流保持不變。這樣可以改善電流紋波波形。
- SPEED 寄存器值在調(diào)優(yōu)過(guò)程中會(huì)波動(dòng),從而導(dǎo)致 KMC 錯(cuò)誤。請(qǐng)調(diào)整 KMC 的值以檢查性能是否得到改善。
- 調(diào)整 EC_FALSE_PER 和 EC_MISS_PER 寄存器的值,了解調(diào)優(yōu)是否有所改善。有關(guān)詳細(xì)說(shuō)明,請(qǐng)參閱 DRV8234 數(shù)據(jù)表。例如,圖 4-2 展示了 EC_FALSE_PER = 10b 且 EC_MISS_PER = 10b(從默認(rèn)值 01b 修改)時(shí)的性能。表 4-1 計(jì)算了這種情況下的精度。
- 重新調(diào)優(yōu) INV_R、INV_R_SCALE、KMC 和 KMC_SCALE 的值。請(qǐng)確保按照節(jié) 3.2.1和節(jié) 3.2.2中的說(shuō)明調(diào)優(yōu)這些寄存器。
- 如 DRV8234 數(shù)據(jù)表第 8.2.3.1.2.2.2 節(jié)所述,存在多對(duì) KMC 和 KMC_SCALE 調(diào)優(yōu)值。選擇另一個(gè)可能的值對(duì)。
- 設(shè)置 DIS_EC = 1b 以關(guān)閉誤差校正器。這樣也會(huì)提高性能,如圖 4-3 所示。
表 4-1 低電流期間提高精度
| 參數(shù) |
30% 占空比 |
已調(diào)整誤差校正器寄存器 |
誤差校正器已關(guān)閉 |
| 編碼器計(jì)數(shù) |
16 |
32 |
32 |
| RC_OUT 計(jì)數(shù) |
28 |
48 |
49 |
| 精度 |
116%(1) |
100% |
102%(2) |
(1) 精度 > 100% 表示該算法計(jì)入了一些額外的紋波。用 100 減去精度可以計(jì)算出百分比誤差。因此,以 30% 占空比運(yùn)行并旋轉(zhuǎn) 4 圈后的誤差為 16%。
(2) 誤差校正器關(guān)閉后的誤差下降到 2%。