实验五-步进电机控制(1).doc
- 文档编号:150387
- 上传时间:2022-10-04
- 格式:DOC
- 页数:18
- 大小:547KB
实验五-步进电机控制(1).doc
《实验五-步进电机控制(1).doc》由会员分享,可在线阅读,更多相关《实验五-步进电机控制(1).doc(18页珍藏版)》请在冰豆网上搜索。
实验五步进电机控制
一、实验目的与要求
1、了解步进电机的基本原理,掌握步进电机的转动编程方法
2、了解影响电机转速的因素有那些
二、实验设备
STAR系列实验仪一套、PC机一台。
三、实验内容
编写程序:
使用G5区的键盘控制步进电机的正反转、调节转速,连续转动或转动指定步数;将相应的数据显示在G5区的数码管上。
四、控制原理
步进电机的驱动原理是通过它每相线圈的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲来控制,所以调节脉冲的频率便可改变步进电机的转速,微控制器最适合控制步进电机。
另外,由于电机的转动惯量的存在,其转动速度还受驱动功率的影响,当脉冲的频率大于某一值(本实验为f.>100hz)时,电机便不再转动。
实验电机共有四个相位(A,B,C,D),按转动步骤可分单4拍(A->B->C->D->A),双4拍(AB->BC->CD->DA->AB)和单双8拍(A->AB->B->BC->C->CD->D->DA->A).
五、程序框图
N
Y
N
Y
N
N
N
N
0->需要刷新显示标志
1->步进电机未转动过标志
1->转动方向标志(1:
表示顺时针方向)
33H->下次送给步进电机值
5->步进电机转速
初始化8255(PC口输出)
初始化8253(计数器T0设置在模式2状态,BCD码计数,CLK0/210)
初始化8259(允许8253中断)
初始化8253中断向量
初始化显示缓冲区:
(数码管第8位:
0,顺时针方向;5、7位消隐;6位:
转速;
1、2、3、4位:
0,表示连续转动,其他值表示需要转动的步数)
调用显示子程序
有键按下
需要刷新显示标志=1
0->需要刷新显示标志
调用步数调整子程序
关中断(终止步进电机转动)
数码管的1、2、3位->2、3、4位
键值送给数码管的第一位
调用改变转向子程序
键值>9
键值=0AH
调用增速子程序
调用减速子程序
调用启动步进电机子程序
Y
键值=0BH
键值=0CH
键值=0DH
开始
Y
Y
Y
改变方向子程序:
Y
Y
N
N
Y
开始
转动方向标志=0
91H->下次送给步进电机值
下次送给步进电机值循环右移二次
1->转动方向标志
0->送给数码管的第7位
步进电机未转动过标志
33H->下次送给步进电机值
下次送给步进电机值循环左移二次
0->转动方向标志
1->送给数码管的第7位
步进电机未转动过标志
返回
启动步进电机子程序:
Y
N
Y
开始
0->步进电机未转动过标志
取转动步数
取转速对应的延时值(转速延时)
初始转速延时1=初始转速延时
转速延时<50
初始转速延时=50
返回
开中断
初始转速延时=转速延时
增速子程序:
Y
N
开始
转速=11
转速+1
转速送给数码管第5位
返回
减速子程序:
N
Y
开始
转速=0
转速-1
转速送给数码管第5位
返回
定时中断程序:
N
N
Y
N
N
N
Y
Y
N
Y
初始转速延时1=转速延时
初始转速延时-1=0
时
初始转速延时1-1
初始转速延时=初始转速延时1
1-1
转动方向标志=0
时
下次送给步进电机值循环右移一次
1-1
转动步数=0
时
1->需要刷新显示标志转动步数减一
1-1
转动步数=0
时
关中断
清中断标志
开始
下次送给步进电机值循环左移一次
1-1
返回
下次送给步进电机值->8255的PC口(控制步进电机转动一步)
Y
六、实验原理图
七、实验步骤
1、主机连线说明:
E1区:
A、B、C、D
——
B4区:
PC0、PC1、PC2、PC3
E5区:
CLK
——
B2区:
2M
E5区:
CS、A0
——
A3区:
CS5、A0
E5区:
A、B、C、D
——
G5区:
A、B、C、D
B3区:
CS、A0
——
A3区:
CS1、A0
B3区:
INT、INTA
——
ES8688:
INTR、INTA
C5区:
CS(8253)、A0、A1
——
A3区:
CS2、A0、A1
C5区:
GATE0
——
C1区:
VCC
C5区:
CLK0
——
B2区:
1M
C5区:
OUT0
——
B3区:
IR0
B4区:
CS(8255)、A0、A1
——
A3区:
CS3、A0、A1
2、调试程序,查看运行结果是否正确
八、演示程序
.MODEL
TINY
EXTRN
Display8:
NEAR,SCAN_KEY:
NEAR
IO8259_0
EQU
0F000H
IO8259_1
EQU
0F001H
Con_8253
EQU
0E003H
T0_8253
EQU
0E000H
IO8255_Con
EQU
0D003H
;CS3
IO8255_PC
EQU
0D002H
.STACK
100
.DATA
StepControl
DB
0
;下一次送给步进电机的值
buffer
DB
8DUP(0)
;显示缓冲区,8个字节
buffer1
DB
8DUP(0)
;显示缓冲区,8个字节
SpeedNo
DB
0
;选择哪一级速度
StepDelay
DB
0
;转动一步后,延时常数
StartStepDelay
DB
0;若选择速度过快,延时由长到短,最终使用对应延时常数
StartStepDelay1
DB
0
;StartStepDelay
bFirst
DB
0
;有没有转动过步进电机
bClockwise
DB
0 ;=1顺时针方向=0逆时针方向转动
bNeedDisplay
DB
0
;已转动一步,需要显示新步数
StepCount
DW
0
;需要转动的步数
StepDelayTab:
DB
250,125,83,62,50,42,36,32,28,25,22,21
.CODE
START:
MOV
AX,@DATA
MOV
DS,AX
MOV
ES,AX
NOP
MOV
bFirst,1
;有没有转动过步进电机
MOV
bClockwise,1
;顺时针方向
MOV
StepControl,33H
;下一次送给步进电机的值
MOV
SpeedNo,5
;第五级速度
CALL
Init8255
CALL
Init8253
CALL
Init8259
CALL
WriIntver
MOV
buffer,0
;显示缓冲器初始化
MOV
buffer+1,0
MOV
buffer+2,0
MOV
buffer+3,0
MOV
buffer+4,10H
MOV
AL,SpeedNo
MOV
buffer+5,AL
MOV
buffer+6,10H
MOV
buffer+7,0
STAR2:
LEA
SI,buffer
LEA
DI,buffer1
MOV
CX,8
REP
MOVSB
LEA
SI,buffer1
CALL
Display8
STAR3:
CALL
Scan_Key
JB
STAR5
CMP
bNeedDisplay,0
JZ
STAR3
MOV
bNeedDisplay,0
CALL
Step_SUB_1
JMP
STAR2
STAR5:
CLI
;终止步进电机转动
CMP
AL,10
JNB
STAR1
MOV
AH,buffer+2
MOV
buffer+3,AH
MOV
AH,buffer+1
MOV
buffer+2,AH
MOV
AH,buffer
MOV
buffer+1,AH
MOV
buffer,AL
JMP
STAR2
STAR1:
CMP
AL,14
JNB
STAR3
LEA
SI,DriverTab
SUB
AL,10
SHL
AL,1
XOR
AH,AH
MOV
BX,AX
JMP
CS:
[SI+BX]
DriverTab:
DW
Direction
;转动方向
DW
Speed_up
;提高转速
DW
Speed_Down
;降低转速
DW
Exec
;步进电机根据方向、转速、步数开始转动
Direction:
CMP
bClockwise,0
JZ
Clockwise
MOV
bClockwise,0
MOV
buffer+7,1
AntiClockwise:
CMP
bFirst,0
JZ
AntiClockwise1
MOV
StepControl,91H
JMP
Direction1
AntiClockwise1:
MOV
AL,StepControl
ROR
AL,2
MOV
StepControl,AL
JMP
Direction1
Clockwise:
MOV
bClockwise,1
MOV
buffer+7,0
CMP
bFirst,0
JZ
Clockwise1
MOV
StepControl,33H
JMP
Direction1
Clockwise1:
MOV
AL,StepControl
ROL
AL,2
MOV
StepControl,AL
Direction1:
JMP
STAR2
Speed_up:
MOV
AL,SpeedNo
CMP
AL,11
JZ
Speed_up2
Speed_up1:
INC
AL
MOV
SpeedNo,AL
MOV
buffer+5,AL
Speed_up2:
JMP
STAR2
Speed_Down:
MOV
AL,SpeedNo
CMP
AL,0
JZ
Speed_Down1
DEC
AL
MOV
SpeedNo,AL
MOV
buffer+5,AL
Speed_Down1:
JMP
STAR2
Exec:
MOV
bFirst,0
CALL
TakeStepCount
LEA
BX,StepDelayTab
MOV
AL,SpeedNo
XLAT
MOV
StepDelay,AL
CMP
AL,50
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 步进 电机 控制