基于Nios II步进电机控制器IP核的设计与实现
2.1.1 逻辑任务模块设计
产生控制步进电机所需的脉冲信号一般可以采用ROM查表法或状态机法。本文采用状态机法,即状态机的每个状态输出一种脉冲信号。以四相单、双八拍制式来控制步进电机举例进行说明,其模块设计原理如图2所示,图中共有8种状态,每种状态对应每种输出状态。该制式电机相位顺序为A—AB—B—BC—C—CD—D—DA,那么输出状态即为1000—1100—0100—0110—0010—0011—0001—1001。本文引用地址:https://www.eepw.com.cn/article/160991.htm
逻辑任务模块采用VHDL语言进行编写,本模块采用控制规则如下,其中,xiangwei为控制电机的相位;direction为控制电机正/反转位;pai为选择节拍数位。
(1)如果xiangwei为0,direction为0,pai为00,电机转向为C—B—A—C(三相单拍反转)。
(2)如果xiangwei为0,direction为0,pai为01,电机转向为CB—BA—AC(三相双拍反转)。
(3)如果xiangwei为0,direction为1,pai为00,电机转向为A—B—C(三相单拍正转)。
(4)如果xiangwei为0,direction为1,pai为01,电机转向为AB—BC—CA(三相双拍正转)。
(5)如果xiangwei为1,direction为0,pai为00,电机转向为D—C—B—A(四相单拍反转)。
(6)如果xiangwei为1,direction为0,pai为01,电机转向为DC—CB—BA—AD(四相双拍反转)。
(7)如果xiangwei为1,direction为0,pai为10,电机转向为D—DC—C—CB—B—BA—A—AD—DC—C—CB—B—BA—A—AD(四相单、双拍反转)。
(8)如果xiangwei为1,direction为1,pai为00,电机转向为A—B—C—D(四相单拍正转)。
(9)如果xiangwei为1,direction为1,pai为01,电机转向为AB—BC—CD—DA(四相双拍正转)。
(10)如果xiangwei为1,direction为1,pai为10,电机转向为A—AB—B—BC—C—CD—D—DA(四相单、双拍正转)。
根据上述控制规则编写逻辑任务模块程序并进行仿真,得到仿真结果如图3所示,所得结果与设计要求一致。
评论