1. FOC控制中ADC采样中断的核心作用与工程定位
在基于STM32的FOC(Field-Oriented Control)电机控制系统中,ADC采样中断并非一个孤立的外设配置环节,而是整个控制环路的时序心脏与数据源头。它直接决定了电流环的更新频率、角度估算的实时性以及SVPWM调制的同步精度。本节将深入解析硬石科技FOC固件中ADC采样中断的完整实现逻辑,重点阐明其在系统架构中的不可替代性。
FOC控制的核心在于“解耦”——将三相定子电流分解为直轴(d-axis)和交轴(q-axis)分量,并分别施加PI调节。这一过程严格依赖于三个关键输入:精确的转子电角度、实时的两相定子电流(通常为Ia、Ib或Ib、Ic)、以及由SVPWM生成的电压矢量。其中,电流采样必须在功率器件开关状态最稳定的时刻进行,以规避开关噪声干扰;而角度计算则需与编码器/霍尔信号严格对齐,以保证坐标变换的物理意义。ADC采样中断正是承载这两项任务的统一调度点,其触发时机由高级定时器(如TIM1)的更新事件(UEV)或比较匹配事件(CCx)精确驱动,确保采样动作与PWM周期零点或特定扇区边界完全同步。
从系统级视角看,该中断服务函数(ISR)构成了一个高频、确定性的控制任务。其执行周期即为FOC控制环的基准周期(例如20kHz对应50μs),所有核心算法——包括角度积分、Clarke变换、Park变换、PI调节、反Park变换及SVPWM占空比更新——均被封装在此ISR内完成。这种设计摒弃了主循环轮询的不确定性,将控制律的执行严格绑定于硬件时序,是实现高性能伺服响应的基础。需要强调的是,此ISR并非仅执行ADC读取,而是整个FOC控制律的原子化执行单元,任何在其中引入的非确定性操作(如复杂浮点运算、未优化的查表)都将直接劣化系统动态性