在 FOC 控制器中新增 `update_power` 方法,用于实时获取母线电压, 提升控制系统对电源状态的感知能力。 feat(CAN): 优化 CAN 配置与通信处理 将 CAN 相关宏定义改为 constexpr 常量,并引入角度转换因子。 修正接收数据解析方式,增强通信稳定性与精度。 feat(angle_sensor): 实现角度累积与绕回处理 重写角度传感器驱动,支持角度连续测量与自动绕回处理。 新增 `update`、`getAngle` 和 `reset` 接口,提高角度读取准确性。 feat(main): 增加角度传感器磁感应强度测试 在主函数初始化阶段调用磁感应强度检测函数,辅助判断传感器工作状态。
31 lines
830 B
C++
31 lines
830 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);
|
|
fwdgt_counter_reload(); // 看门狗复位
|
|
CAN0_transmiter.communication_check(); // CAN通信
|
|
}
|
|
} |