实验八步进电机控制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八步进电机控制
一、实验目的
a)了解步进电机控制的基本原理,掌握步进电机转动编程方法。
b) 熟悉51系列单片机得工作原理及调试方法
c)设计基于51系列单片机控制的步进电机调速的原理图d)实现51系列单片机对步进电机的速度控制,实现步进电机的启动与停止:实现加速,匀速,和减速控制。
二、实验仪器
计算机、单片机实验箱、MCS51仿真开发系统、杜邦线若干三、实验基本原理
步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,微电脑控制步进电机最适合。
步进电机区别于其他控制电机的最大特点是,他是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲总数决定,而电机的转速由脉冲信号频率决定。
(程序框图)
(实验电路)
四、实验内容及步骤
1.内容:
a)步进电机插头接80958B实验系统J1插座,
b)P1.O-P1.3接HA-HD也可把L1-L4接A B C D 孔。
c)执行程序,从键盘上输入数字使显示器显示,第一位为0(正转),为1(反转),第二位0-F显示转速,第3-6位为设定步数
d)按EXEC键后,使步进电机开始转动,步数逐渐减小到零时步进电机停止转动。
2.程序:
;================== 硬件实验步进电机控制
=========================
ORG 0CA0H
DOJ0: MOV SP,#53H
LCALL LEDP
DOJ6: LCALL X2 ;X1 ;调键扫显示子程序(见软件实验十)
JB ACC.4,DOJ5
LCALL X3 ;调数字键处理子程序(见软件实验十)
DB 79H,7EH
SJMP DOJ6
DOJ5: CJNE A,#16H,DOJ6 ;不是执行键转
MOV A,7AH
SWAP A
ORL A,79H
MOV R6,A ;低字节步距数送R6 MOV A,7CH
SWAP A
ORL A,7BH
MOV R7,A ;高字节步距数R7 MOV A,7EH
CJNE A,#00H,DOJ2 ;判转动方向
DOJ1: MOV P1,#03H ;顺时针转动
LCALL DEL0Y
LCALL GGJ0
MOV P1,#06H
LCALL DEL0Y
LCALL GGJ0
MOV P1,#0CH
LCALL DEL0Y
LCALL GGJ0
MOV P1,#09H
LCALL DEL0Y
LCALL GGJ0
SJMP DOJ1
DOJ2: MOV P1,#09H ;逆时针转动
LCALL DEL0Y
LCALL GGJ0
MOV P1,#0CH
LCALL DEL0Y
LCALL GGJ0
MOV P1,#06H
LCALL DEL0Y
LCALL GGJ0
MOV P1,#03H
LCALL DEL0Y
LCALL GGJ0
SJMP DOJ2
DEL0Y: MOV A,7DH ;根据(7D)内容改变延时时间
SWAP A
CLR C
RRC A
RRC A
MOV R2,A
DELY1: MOV R5,#01H
DEL1Y: LCALL DIS
DJNZ R5,DEL1Y
DJNZ R2,DELY1
RET
GGJ0: CJNE R7,#00H,GGJ1 ;步距数为0停止 CJNE R6,#00H,GGJ1 ;不为0减1后显示 AJMP DOJ4
GGJ1: DJNZ R6,DOJ3
CJNE R7,#00H,DDJ8
DOJ4: LCALL DOJ7
SJMP DOJ4
DDJ8: DJNZ R7,DOJ3
AJMP DOJ4
DOJ3: LCALL DOJ7
RET
DOJ7: MOV R0,#79H
MOV A,R6
LCALL PTDS5
MOV A,R7
LCALL PTDS5
LCALL SSEE ;显示
RET
PTDS5: MOV R1,A
ACALL PTDS6
MOV A,R1
PTDS6: ANL A,#0FH
MOV @R0,A
INC R0
RET
SSEE: SETB RS1 ;换工作区 MOV R5,#05H
SSE2: MOV 30H,#20H
MOV 31H,#7EH
MOV R7,#06H
SSE1: MOV R1,#0DDH
MOV A,30H
MOVX @R1,A ;字位送入 MOV R0,31H
MOV A,@R0
MOV DPTR,#DDFF
MOVC A,@A+DPTR ;取字形代码 MOV R1,#0DCH
MOVX @R1,A ;字形送入 MOV A,30H ;右移
RR A
MOV 30H,A
MOV A,#0FFH
MOVX @R1,A ;关显示
DJNZ R7,SSE1 ;6位显示完了吗?
DJNZ R5,SSE2 ;5次显示完了吗?
CLR RS1
RET
五、实验结果及处理(数据暂时不填)
六、实验结果分析及问题讨论
1、根据步进电机的原理可知,步进电机可用于精确制动控制,旋转角度容易控制。
2、了解步进电机与直流电机的区别。
3、换成直流电机该怎么操作。