Files
Motor_v2/Robot_V2/main.cpp
T
cbb 971374d8ec feat(FOC): 增加闭环速度控制算法
- 重构setPhaseVoltage函数实现,提高执行效率
- 增加update_power函数,动态更新电源电压
- 优化velocity_open_loop函数,调用、setPhaseVoltage避免重复代码
- 实现angle_control和velocity_control闭环控制函数
- 调整PID控制器参数初始化及增加参数设置接口
- 改进电流和编码器速度卡尔曼滤波器实现
- 更新CAN通信数据打包逻辑,增加测试字段
- 在定时器中断中集成多种控制模式切换逻辑
- 完善角度传感器数据处理,改进速度计算方法
- 减小速度滤波数组大小,提升响应速度
2025-11-06 02:07:15 +08:00

32 lines
854 B
C++

#include "main.h"
#include "Can.h"
#include "DengFOC.h"
#include "Timer.h"
#include "adc.h"
#include "ang_sensor.h"
#include "core_cm4.h"
#include "initial.h"
#include "systick.h"
// 全局变量定义
CAN_transmiter CAN0_transmiter; // CAN初始化
FOC_Controlroller FOC; // FOC控制初始化
sampler sampler; // 采样器初始化
angle_sensor KTH7823; // 角度传感器初始化
int main(void) {
systick_config(); // 系统时钟初始化
USART0_init(); // 调试串口初始化
User_timer_init(); // Timer初始化
driver_init(); // 电机驱动初始化
watchdog_init(5000); // 看门狗初始化
angsens_MG_test(); // 角度传感器磁感应强度测试
while (1) {
// delay_1ms(100);
// std::printf("1\n");
fwdgt_counter_reload(); // 看门狗复位
CAN0_transmiter.communication_check(); // CAN通信
}
}