SO:起始状态。该状态主要完成的工作是将上位机设置的步进电机运行参数写入
相应的寄存器中,并等待启动信号。当接收到start(即COM=0x01)信号时,计数器和步
数计数器都使能,当前分频值寄存器counter now赋值为上位机定义的起始频率F IN1}
状态机进入下一个状态S1;
S1:加速运行状态。在该状态下,步进电机将按照预设的加速度ACC加速。当接
收到停机命令COM=0x02或运行的步数超过总步数时,进入紧急停机状态S4。步进电
机的速度F-WANT是通过上位机设置的。在步进电机运行的过程中,其速度可以通过
上位机进行调整。故在加速状态中,还需要对这种情况进行判断和相应状态转换。若
步进电机调整后速度大于当前运行速度,状态机进入减速调整状态S6。否则步进电机
停留在S1状态加速,达到稳定速度后进入稳定运行状态S2o
S2:稳定运行状态。在该状态下,步进电机达到目标速度,匀速运行。在进入该
状态后,首先要对停机命令COM=0x02和当前运行步数进行判断。判断方法和操作同
Sl状态一致。在这个状态下,当前速度即是目标速度,若在此状态中对速度进行调整,
调整速度大于当前速度,进入加速调整状态SS;调整速度小于当前速度,进入减速调
整状态S6。除此两种情况外,步进电机停留在S2状态,直到当前运行步数达到减速
点,进入S3减速运行状态。
S3:减速运行状态。在该状态中,步进电机将按照预设的减速度ACC减速。进入
减速状态的前提条件是步进电机己进行至减速点。同速度调整一样,在步进电机的运
行过程中,其运行总步数也是可以通过上位机进行调整的。所以在进入减速状态时,
要首先判断步进电机是否已经达到减速点。这个减速点由总步数和减速步数来确定。
若电机未运行至减速点,电机重新进行Sl状态,对电机的运行状态进行重新判断。若
当前运行步数达到或超过总步数步进电机进入停机状态S7。若当前运行步数还未达到
总步数,且当前速度还未到停机速度,步进电机减速,直至停机速度。
S4:紧急停机状态。在该状态下,状态机可以解决步进电机在运行中遇到的不能
正常运行的问题。若此时,电机当前运行速度还未达到停机速度,电机将依然按设定
减速度减速,直至停止速度,而且,任何命令都不能改变这个趋势。否则,电机进入
停机状态S7o
SS:加速调整状态。该状态用于步进电机速度调整后的操作。若当前运行速度小
于调整后速度,电机继续加速;否则将当前运行速度设置为调整后速度,并进入状态
S2。
S6:减速调整状态。该状态同SS状态作用相同。若当前运行速度大于调整后速度,
电机减速;否则将当前运行速度设置为调整后速度,并进入状态S2o
S7:停机状态。在该状态下,各计数器复位清0,并一直停留在该状态中。
状态机中加速与减速的实现是通过控制分频预定值N的增加与减少而实现的,N
值增加则频率减小,N值减少则频率增大。在状态机中,N的变化呈时间线性,因此
所合成的方波周期T也呈时间线性,而频率了与时间呈倒数关系。因此加速度不是线
J性的,达不到理想状态的直线加速。
|