【嵌入式电机控制#33】FOC:意法电控驱动层源码解析——整体框架篇(了解,常查阅)
平台:STM32F407+硬石科技F4Pro工业运动控制驱动板
FOC库版本:5.4.8
一、FOC电机控制软件框架
之前我们接触了MCSDK这个软件,它分为两个部分:
(1)FOC电机库(库文件,建立在HAL库之上)
(2)电机控制台(一种上位机,负责初始化)
(1)芯片外设库:HAL库/LL库、CMSIS启动
(2)电机库/UI库:涉及底层和中下层(控制算法层),FOC算法、外设配置、中断机制、UI交互。
· (3)电机应用层:API接口(常规使用直接调应用层函数)
(4)用户层:用户自由调控的内容
二、驱动层初始化流程
这里没什么难度,需要记住一点,电机执行在中断中完成。
三、两大中断三大任务
1. 两大中断
(1)ADC转换完成中断
(2)SYSTICK中断
其实安全任务和中频任务也是挂在SYSTICK中断函数里的,通过二次计数判断把自身周期增到500us的整数倍。
2. 三大任务
(1)高频任务(FOC,也就是电流环):与PWM周期一致
(2)安全任务:500us
安全任务做的就是老三样,板温、故障、总线电压
(3)中频任务(速度环):500us的整数倍(在500us中断内计数实现)