feat(FOC): 重构FOC控制器实现并修复SVPWM算法支持

- 修复类名拼写错误:FOC_Controlroller -> FOC_Controller
- 移除不必要的角度归一化函数,直接使用fmod优化性能
- 添加完整的SVPWM算法实现,提高电机控制效率
- 重构PID参数配置,使用动态参数调整机制
- 增加电流反馈功能,实时监测电机运行状态
- 优化电压安全限制,提高系统稳定性
- 更新控制模式映射,支持更多控制策略
- 改进CAN通信协议,增加电流反馈传输
This commit is contained in:
cbb
2026-02-02 02:23:16 +08:00
parent 25e2edfd0c
commit 173fadadd2
14 changed files with 386 additions and 233 deletions
+3 -3
View File
@@ -13,7 +13,7 @@
FlashEEPROM flashEEP = FlashEEPROM();
extern angle_sensor KTH7823;
extern CAN_transmiter CAN0_transmiter;
extern FOC_Controlroller FOC; // FOC控制
extern FOC_Controller FOC; // FOC控制
fmc_state_enum write_ADDRESS(u32 address, u32 data) {
fmc_unlock();
@@ -125,7 +125,7 @@ u8 FlashEEPROM::read_saved_system_config(void) {
FOC.control_mode = (u8)data[0];
FOC.limit_voltage = data[1];
FOC.limit_velocity = data[2];
FOC.target_current = data[2];
KTH7823.angle_set(data[3]);
FOC.target_angle = data[4];
FOC.target_velocity = data[5];
@@ -389,7 +389,7 @@ FlashEepromStatus FlashEEPROM::save_system_config(bool saved) {
u32 CRC_NUM = 0x0000;
float data[CONFIG_SAVED_NUM] = {
(float)FOC.control_mode, FOC.limit_voltage,
FOC.limit_velocity, FOC.rt_angle,
FOC.target_current, FOC.rt_angle,
FOC.target_angle, FOC.target_velocity};
// 如果系统配置标记已保存,则无需再次保存