feat(FOC): 优化FOC控制逻辑与热管理机制
- 移除冗余的三值约束宏定义 `_constrain3` - 修改关机逻辑,引入 `thermal_uncontrol` 标志替代旧 shut_down 计数方式 - 调整恢复函数中错误标志位清零逻辑 - 将部分 uint8_t 类型成员变量改为 bool 类型以提高可读性 - 在类中添加电源电压成员变量并调整 PID 参数初始化 - 移除 PID 控制器中不必要的 CAN 测试代码 - 添加 thermal 控制相关文件引用及初始化 - 使用 switch 替代多重 if-else 提高控制模式处理效率 - 引入基于定时器的任务负载均衡调度机制 - 初始化热量控制器并在主循环中调用更新逻辑
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user