feat(FOC): 添加齿槽转矩补偿功能

- 实现齿槽转矩补偿算法,通过查表+线性插值方式计算补偿电压值
- 添加齿槽转矩校准功能,支持正转3次+反转3次的非阻塞校准状态机
- 在所有控制模式中集成齿槽转矩补偿,包括开环、角度、速度、电流和MIT模式
- 硬编码预校准的正反转补偿表数据
- 通过CAN命令支持运行时触发校准功能
- 添加相关配置参数和调试开关
This commit is contained in:
cbb
2026-05-19 01:26:42 +08:00
parent 9955132e0e
commit bec7c11b87
7 changed files with 322 additions and 109 deletions
+7
View File
@@ -99,6 +99,7 @@ u8 hardware_init(void) {
void do_task(u32 currentTasks) {
busy_task_enter(); // DWT: 记录忙碌起始周期
cnt_test++;
// 按照优先级和重要性处理任务
if (currentTasks & (1 << TASK_CURRENT_UPDATE)) { // 更新电流采样值
sampler.update_current();
@@ -147,6 +148,12 @@ void do_task(u32 currentTasks) {
}
}
}
// 齿槽转矩校准 tick(DEBUG,平时不启用)
#if FOC_DEBUG
FOC.calibrate_cogging_tick();
#endif
if (currentTasks & (1 << TASK_MCU_TEMP_UPDATE)) { // 更新 mcu 温度传感器值
sampler.update_mcu_temp();
}