feat(FOC): 添加FOC控制器初始化函数、支持电压自适应PID调整

添加了FOC控制器的init()方法,用于统一初始化电机控制参数,
包括速度环、角度环和电流环的PID参数设置。同时优化了CAN通信
中的PID参数计算逻辑,引入电压补偿机制,提高了电机控制精度。
This commit is contained in:
cbb
2026-01-21 11:48:31 +08:00
parent c0b5f6902b
commit 3f24292ac1
5 changed files with 46 additions and 21 deletions
+7 -7
View File
@@ -12,7 +12,7 @@
// 版本号定义 - 可根据实际项目进行调整
constexpr u16 SOFTWARE_VERSION_MAJOR = 26;
constexpr u16 SOFTWARE_VERSION_MINOR = 1;
constexpr u16 SOFTWARE_VERSION_PATCH = 19;
constexpr u16 SOFTWARE_VERSION_PATCH = 20;
constexpr u16 SOFTWARE_VERSION_BUILD = 1;
constexpr u16 HARDWARE_VERSION_MAJOR = 25;
@@ -53,16 +53,16 @@ constexpr u32 OTA_AVAL = 0x00000000; // 全零表示可用
constexpr u8 PP = 11;
constexpr float DIR = -1.0f;
constexpr u16 REDUCTION_RATIO = 25;
constexpr float CURRENT_OFFSET = -1.615f; // 当前电流传感器的零点偏移
constexpr float CURRENT_OFFSET = -1.62f; // 当前电流传感器的零点偏移
constexpr float HOLD_PWM_DUTY = 0.95f;
constexpr u16 ANGLESENS_OFFSET = +0;
constexpr float KE_FACTOR = 14.0f;
// PID配置
constexpr float current_loop_p = 6e-2f / 100; // 电流P
constexpr float vel_loop_p = 0.01f / 100; // 速度P
constexpr float angle_loop_p = 20.0f / 100; // 角度P
constexpr float vel_angloop_p = 0.12f / 100; // 速度 速度-角度P
constexpr float ang_angloop_p = 100.0f / 100; // 角度 速度-角度P
constexpr float current_loop_p = 6e-2f / 100 * 12; // 电流P
constexpr float vel_loop_p = 0.01f / 100 * 12; // 速度P
constexpr float angle_loop_p = 20.0f / 100 * 12; // 角度P
constexpr float vel_angloop_p = 0.12f / 100 * 12; // 速度 速度-角度P
constexpr float ang_angloop_p = 100.0f / 100 * 12; // 角度 速度-角度P
// 常量定义
constexpr u8 SIZE_FLOAT = sizeof(float);