feat(FOC): 优化FOC控制逻辑与热管理机制

- 移除冗余的三值约束宏定义 `_constrain3`
- 修改关机逻辑,引入 `thermal_uncontrol` 标志替代旧 shut_down 计数方式
- 调整恢复函数中错误标志位清零逻辑
- 将部分 uint8_t 类型成员变量改为 bool 类型以提高可读性
- 在类中添加电源电压成员变量并调整 PID 参数初始化
- 移除 PID 控制器中不必要的 CAN 测试代码
- 添加 thermal 控制相关文件引用及初始化
- 使用 switch 替代多重 if-else 提高控制模式处理效率
- 引入基于定时器的任务负载均衡调度机制
- 初始化热量控制器并在主循环中调用更新逻辑
This commit is contained in:
cbb
2025-11-12 00:46:26 +08:00
parent 7a602dda48
commit db2d08032c
9 changed files with 145 additions and 65 deletions
-2
View File
@@ -29,7 +29,6 @@ float PIDController::operator()(float error) {
// 将P,I,D三环的计算值加起来
float output = proportional + integral + derivative;
CAN0_transmiter.testfloat_union.f = D;
output = _constrain(output, -limit, limit);
// 输出斜坡限制
@@ -41,7 +40,6 @@ float PIDController::operator()(float error) {
else if (output_rate < -output_ramp)
output = output_prev - output_ramp * TIME_SLICE;
}
CAN0_transmiter.testfloat_union.f = output;
// 保存值(为了下一次循环)
integral_prev = integral;
output_prev = output;