feat(FOC): 实现电角度零位自动校准并修复ADC采样干扰问题

- 新增FlashEEPROM用于保存零位校准角,掉电不丢失
- 实现安全的零位校准算法:运行中禁止校准、对齐后重新采样、保存到Flash
- 重构ADC架构:分离ADC0(PWM同步电流采样)和ADC1(VBUS/DRV温度轮询)
- 解决ADC采样冲突:移除ADC0的regular连续扫描,避免与注入组抢占资源
- 修复VBUS电压读取错误:从DMA缓冲区改为直接ADC1单次转换
- 修正开环控制Uq幅值限幅逻辑,保留符号避免反转时抖动
- 更新CAN协议:电流数据改为有符号16位打包,支持负电流传输
- 调整版本号至v26.8.16.7
This commit is contained in:
cbb
2026-08-16 02:13:37 +08:00
parent 42c9f2f669
commit 76f7987238
10 changed files with 214 additions and 95 deletions
+13
View File
@@ -90,6 +90,19 @@ class sampler {
*/
void ADC0_1_IRQHandler(void);
/**
* @brief ADC1 初始化(VBUS / DRV温度 专用,单通道单次软件触发)
* @return void
*/
void adc1_config(void);
/**
* @brief ADC1 单次软件触发转换并等待完成(仅主循环任务上下文调用)
* @param[in] channel ADC 通道号(ADC_CHANNEL_6 / ADC_CHANNEL_9)
* @return u16 转换原始值
*/
u16 adc1_read_raw(u8 channel);
#ifdef __cplusplus
}
#endif