ST电机库状态机解析(一)
ST电机库状态机解析(一)
·
我们在读ST的FOC驱动库源码的时候,经常发现有些操作并不是通过函数来实现的,其中电机控制FOC库的操作由一个状态机驱动,如下图所示:

该状态机处理电机启动和电机停止程序,并对库检测到的故障进行管理,这些状态由下表描述。
| 状态 | 描述 |
| ICL WAIT | 浪涌限制保护,等它失效,系统进入空闲状态。(需要浪涌保护功能) |
| IDLE | 系统准备就绪,可以开启电机。 |
| OFFSET MEASUREMENT | 测量电流采样电路的偏置电压,并写入程序。 |
| CHARGE BOOT CAP | 栅极驱动器引导电容器充电,之后进入校准、启动或运行状态。 |
| ALIGNMENT | 编码器对齐,有感时启用,对齐后进入WAIT STOP MOTOR状态 |
| WAIT STOP MOTOR | 连接到电机的编码器已经对齐,可能还没有回到静止状态。系统在一段固定且可配置的时间内保持这种状态,之后电机被认为是静止的。然后如果使用正交编码器或一组霍尔传感器作为主要的速度和位置反馈方法,则转换到RUN状态,否则转换到START状态。 |
| START | 系统正在执行电机启动程序。当过程完成时,状态机转换到SWITCH OVER状态。(无感) |
| SWITCH OVER | 电机由开环到闭环,之后进入RUN状态 |
| RUN | 运行状态 |
| STOP | 电机停止,然后进入IDLE或者ICL WAIT状态 |
| FAULT NOW | 故障状态,只要存在一个活动故障条件,系统就保持这种状态。当最后一个活动故障条件消失时,状态机移动到FAULT OVER状态。 |
| FAULT OVER | 当至少有一个故障处于活动状态,且不再存在活动故障条件时,系统进入该状态。在接收到“确认错误”命令之前,它将一直保留在其中。然后返回到IDLE或ICL WAIT状态。 |
状态机结构体MCI_State_t,由电机控制库的中频任务执行;可以通过调用MC_GetSTMStateMotor*()函数来检索每个电机的当前状态。

注:此处以5.4.8版本为例,6.2为MCI_State_t。
以上就是ST电机库状态机的简单介绍,下一篇是状态机的命令传递机制,即如何使用。
更多推荐



所有评论(0)