电动机控制方法各有不同,有直流电动机和步进电动机两种常见方式。直流电动机驱动可以使用模拟量信号和PWM信号。而步进电动机虽然绕线制不同,但其控制方式相同,必须以脉冲电流来驱动,以1相与2相轮流交替导通,每送一励磁信号可走9°,正反转运行平滑。
1 硬件设计
正反转步进电动机采用单片机模拟量输出信号,模拟信号经过ULN2003A电平转换后驱动步进电动机转动从而获得不同的转速,而且可通过按键实现步进电动机正转、反转、停止操作。按照如表8-2所示的元器件清单添加元器件,编辑完成后按照如图8-2所示的原理图连接硬件电路。
表8-2 元器件清单(电动机控制)
图8-2 正反转步进电动机原理图
2 程序设计
/********程序段:启动停止,然后全速正反转切换********/
ORG 0000H;起始地址00H
START:MOV DPTR,#RUNTABLE;DPTR指向励磁控制数据表RUNTABLE
MOV R0,#3
MOV R4,#0
MOV P1,#3
WAIT:MOV P1,R0;初始角度,0°
MOV P0,#0FFH;设置为输入端口
JNB P0.0,POS;判断“正转”按钮状态
JNB P0.1,NEG;判断“反转”按钮状态
SJMP WAIT;循环
JUST:JB P0.1,NEG;首次按钮处理
POS:MOV A,R4;每送一励磁信号正转9°
MOVC A,@A+DPTR;将数据表数据载入A
MOV P1,A;输出给步进电动机
ACALL DELAY;延时
INC R4
AJMP KEY
NEG:MOV R4,#6;每送一励磁信号反转9°
MOV A,R4
MOVC A,@A+DPT
MOV P1,A
ACALL DELAY
AJMP KEY
KEY:MOV P0,#03H;设置为输入口(www.xing528.com)
MOV A,P1
JB P0.0,FZ1
CJNE R4,#8,LOOPZ;判断是否结束
MOV R4,#0
LOOPZ:MOV A,R4
MOVC A,@A+DPTR
MOV P1,A;输出控制脉冲
ACALL DELAY;延时
INC R4;计数器加1
AJMP KEY
FZ1:JB P0.1,KEY;判断按钮
CJNE R4,#255,LOOPF;判断是否结束
MOV R4,#7
LOOPF:DEC R4
MOV A,R4
MOVC A,@A+DPTR
MOV P1,A;输出控制脉冲
ACALL DELAY;程序延时
AJMP KEY
DELAY:MOV R6,#5
D1:MOV R5,#80H
D2:MOV R7,#0
D3:DJNZ R7,D3
DJNZ R5,D2
DJNZ R6,D1
RET
RUNTABLE: ;励磁控制数据表
DB 02H,06H,04H,0CH
DB 08H,09H,01H,03H
END
调试顺利运行程序,可看见启动时,转速起始为0,只有停止LED亮;按键K1按下后正转后停止,按键K2按下后反转后停止,对应LED亮。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。