51单片机在玻璃管加热控制系统中的应用
3.3 步进电动机正反转驱动子程序的设计
本系统所选用的步进电动机为110BF3-15型,它有三相绕组,向三相绕组输入脉冲输入脉冲的顺序有三种,分别为单三拍、双三拍、三相六拍。本系统选择双三拍输入方式。输入方式是靠软件来控制的。双三拍控制软件是最简单的软接口之一。首先要以8255A的PA口为输出口,接着把控制信息送到PA0~PA2中,对应的I/O线为“1”(高电平有效),则步进电动机相应的相绕组通电,步进电机转子就转动。要求转子以不同的方向转动,三相绕组的通电顺序就不同,则相应的控制字也就不一样,双三拍绕组通电控制信息表如表1[2]。
由表1可知,正反转所需要的信息串为03H→06H→05H→03H,这时按AB→BC→CA→AB顺序通电。反转时所需的信息串为05H→06H→03H→05H,这是按照顺序CA→BC→AB→CA通电。
表2为步进电动机不同步相控制方式的控制字(十六进制,下同)。
表1 步进电动机相绕组通电控制信息表

表2 不同步相控制方式的控制字

考虑步进电动机的正反转之后,双三拍控制软件清单如下[3]:
DS :MOV A,#00H ;初始化使PA0~PA2为输出
MOV DPTR,#0C000H ;
MOVX @DPTR,A ;
MOV DPTR,#0C000H ;为AB相通电
MOV A,#03H
MOVX @DPTR,A
LCALL DELY ;调延时
MOV DPTR,#0C000H ;为BC相通电
MOV A,#06H
MOVX @DPTR,A
LCALL DELY ;调延时
MOV DPTR,#0C000H ;为CA相通电
MOV A,#05H
MOVX @DPTR,A
LCALL DELY ;调延时
DELY:MOV 0CH,#0FH ;延时子程序
RET
评论