- UID
- 85059
- 性别
- 男
|
实验二十七 步进电机控制实验
一.实验要求
利用P0输出脉冲序列,74LS244输入开关量,开关K2-K8控制布进电机转换(分6档),K0,K1控制步进电机转向。必须要K2-K8中一开关和K0,K1中一开关同时为'1'时步进电机才启动,其他情况步进电机不工作。
步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转。驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。微电脑控制步进电机最适合。
二.实验目的
1.了解步进电机控制的基本原理。
2.掌握控制步进电机转动编程方法。
三.实验电路及连线
K1-K8接PI0-PI7,PO0-PO3接SMA-SMD。
CS244接8200H,CS273接8300H。
四.实验说明
1. 本实验使用的步进电机用直流+12V电压,电机线圈由A、B、C、D四相组成。
2. 驱动方式为四相四拍方式,各线圈通电顺序如下表。表中首先向A线圈输入驱动电流, 接着B、C、D线圈驱动,最后又返回到A线圈驱动,按这种顺序切换,电机轴按顺时针方向旋转。若通电顺序相反,则电机轴按逆时针方向旋转。
(注:为提高步进电机负载能力和运行平稳,可使用四相八拍驱动方式。) 顺序/相 0 1 2 3
A 0 1 1 1
B 1 0 1 1
C 1 1 0 1
D 1 1 1 0
五.实验程序框图
六.实验程序
PI EQU 8200H ;开关输入口地址
PO EQU 8300H ;输出口地址
ORG 0000H
SJMP START
ORG 0040H
START:
MOV SP,#60H
CLR C
PUSH PSW
mov r5,#01110111B ;R5与C一起组成状态存储器
READ:
MOV DPTR,#PI
MOVX A,@DPTR ;读开关状态
JB ACC.0,DIRECT0 ;判断转动方向
JB ACC.1,DIRECT1 ;
SJMP READ ;正反向开关均未开则重读开关
DIRECT0:
MOV R7,#00H ;设置方向标志
SJMP SPEED
DIRECT1:
MOV R7,#0FFH ;设置方向标志
SPEED:
JB ACC.2,SPEED0 ;判定转速开关
JB ACC.3,SPEED1
JB ACC.4,SPEED2
JB ACC.5,SPEED3
JB ACC.6,SPEED4
JB ACC.7,SPEED5
AJMP READ ;无任何速度开,则重读开关
SPEED0: MOV R6,#61H ;设置转速0常数
AJMP WAVE
SPEED1: MOV R6,#51H ;设置转速1常数
AJMP WAVE
SPEED2: MOV R6,#31H ;设置转速2常数
AJMP WAVE
SPEED3: MOV R6,#21H ;设置转速3常数
AJMP WAVE
SPEED4: MOV R6,#11H ;设置转速4常数
AJMP WAVE
SPEED5: MOV R6,#09H ;设置转速5常数
MOV B,R6
WAVE:
LCALL DELAY ;延时,决定转速
DJNZ R6,WAVE
MOV DPTR,#PO ;置输出口地址
MOV A,R5
CJNE R7,#00H,NEG ;判断转向标志
POP PSW
RL A ;改变相位
SJMP SSS
NEG: POP PSW
RR A ;改变相位
SSS:
PUSH PSW
MOV R5,A ;保存相位
ANL A,#0FH
MOVX @DPTR,A ;相位输出
AJMP READ
DELAY: ;延时子程序
MOV R0,#20H
delay1: mov r1,#04fh
djnz r1,$
DJNZ R0,delay1
RET
END |
|