打印
[电机控制专用MCU]

APM32F035系列-电机开发系列-环路执行及状态机介绍

[复制链接]
632|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1.1环路介绍
在矢量控制(FOC)中,"快环"和"慢环"通常指的是控制算法中的两个不同的控制回路,它们是以不同的频率运行。
1.1.1快环(Fast Loop):
快环是指电流控制回路,它运行在较高的频率,通常与PWM(脉冲宽度调制)更新率同步。
快环负责精确控制电机的相电流,这对于实现精确的转矩控制至关重要。
由于电机电流可以迅速变化,因此快环需要快速响应,以确保系统的稳定性和性能。快环的周期通常在微秒到几十微秒的范围内。
1.1.2慢环(Slow Loop):
慢环是指速度控制回路或位置控制回路,它运行在较低的频率。
慢环负责调节电机的速度或位置,根据实际速度或位置与设定值之间的差异来调整电流指令。
速度或位置变化不会像电流那样迅速,因此慢环的更新频率可以低得多,通常在毫秒级别。
在整个电机控制系统中,快环和慢环的分离允许控制器以不同的时间尺度处理不同的动态过程。电流控制(快环)需要快速响应,以适应电机电流的快速变化和电磁力矩的生成,而速度和位置控制(慢环)则可以在较慢的时间尺度上进行,因为它们的动态变化相对较慢。
在实际F035的FOC应用中,快环电流控制通常是通过直接在定时器中断或PWM事件中调用电流控制函数来实现的,而慢环控制则可能在主循环中或者通过较低优先级的中断服务例程来实现。这种分离确保了电流控制的实时性和速度/位置控制的灵活性。
1.2状态机介绍
本案例中采用了主状态机嵌套子状态机的结构,如下所示:
四个主状态:INIT、STOP、FAULT、RUN;
同时主状态RUN的六个子状态:run-calib、run-ready、run-align、run-startup、run-spin、run-freewheel。
对主状态机的描述如下:
Fault:当系统有错误发生时一直处于此状态,直到错误的标志位被清除。
而后会延时一段时间,然后从Fault状态跳转到STOP状态等待起动命令。
Init:此主状态执行变量初始化。
Stop:系统完成初始化等待速度命令。此状态内下关闭PWM输出。
Run:当在运行状态时,若有Stop指令下发,便会执行系统停止运行操作。
当运行在Run状态时,其子状态会相应被调用并执行:
Run-Calib:可以执行电流偏置ADC自校准功能。执行完此状态后系统将切Ready状态,同时禁止PWM输出。
Ready:使能PWM输出,同步采样电流,并执行异常状态检查。
Align:执行采样电流,调用预定位算法,同时更新PWM。在指定时间内执行态,系统将切换到Startup子状态,同时采样直流母线电压并滤波处理。
Startup:采样电流,采用开环起动电机,并调用观测器估计转子转速和位置,调用相应算法,更新PWM。如果起动成功,系统将Spin子状态,同时采样直流母线电压并滤波处理。
Spin:采样电流,调用观测器估计转子转速和位置,调用相应算法,更新PWM,电机开始切入闭环运行。
Freewheel:使能PWM输出,并采用短接制动的方式进行停机,由于转子惯性,需等待到电机停止运行后在进行状态的切换,进而切换到Ready状态。如果有错误发生则将进入Fault状态。
综上所述,系统的状态机流程图如下图所示。
图1-1状态机流程图


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

14

帖子

0

粉丝