refactor(FOC): 移除代码冲突标记并优化FOC控制器实现

- 移除了所有git冲突标记(<<<<<<< HEAD, =======, >>>>>>>)
- 清理了校准步骤相关注释代码
- 修复了Iq,Id计算中的角度处理逻辑
- 优化了PID控制器参数设置和初始化流程
- 重构了SVPWM相电压设置方法,移除了重复的相电压设置函数
- 修复了关闭功能和电源电压安全限制的计算

feat(CAN): 增强CAN通信协议支持多种控制模式

- 实现了目标电流、速度、角度的多参数控制
- 添加了PID参数动态配置功能
- 支持7种不同控制模式的切换
- 实现了控制模式切换时PID状态重置机制

refactor(pid): 扩展PID控制器功能接口

- 添加了set_P方法替代原有的set_P_percent
- 新增set_limit方法用于输出限幅控制
- 实现了reset方法用于PID状态重置
- 优化了PID参数设置接口

fix(timer): 优化定时器任务调度机制

- 重构了任务调度的时间片管理逻辑
- 实现了基于查找表的任务分配方式
- 优化了100us、1ms、10ms、100ms等不同周期的任务调度
- 提高了系统实时性表现

perf(config): 优化系统配置和数学常量定义

- 添加了必要的GD32头文件包含
- 重新组织了PID参数命名规范
- 定义了常用数学常量如三角函数相关数值
- 优化了定时器频率和周期计算公式
This commit is contained in:
cbb
2026-03-09 01:48:12 +08:00
parent 1ee2f68a89
commit 2b93a4537c
8 changed files with 212 additions and 399 deletions
+22 -2
View File
@@ -6,7 +6,6 @@
#include <algorithm>
#include <cmath>
extern CAN_transmiter CAN0_transmiter;
PIDController::PIDController(float P, float I, float D, float ramp, float limit)
: P(P), I(I), D(D), output_ramp(ramp) // PID控制器加速度限幅
@@ -68,4 +67,25 @@ void PIDController::set_PID(float P, float I, float D) {
* @param P: P参数
* @return void
*/
void PIDController::set_P_percent(float pp) { this->P = pp; }
void PIDController::set_P(float pp) {
this->P = pp;
}
/**
* @brief 设置输出限幅
*
* @param limit: 输出限幅
* @return void
*/
void PIDController::set_limit(float limit) { this->limit = limit; }
/**
* @brief 重置PID控制器状态
*
* @return void
*/
void PIDController::reset() {
error_prev = 0.0f;
output_prev = 0.0f;
integral_prev = 0.0f;
}