📄 步进电机运行系统控制设计.txt
字号:
步进电机运行系统控制设计
栏 目 树 形 导 航
| 首页 | 学习中心 | 课设与竞赛 | 下载中心 | 图片现场 | 技术留言 | 关于我们 | 本站提供 |
|
竞赛与设计首页
|
关于竞赛
|
历届电子竞赛题目
|
竞赛作品选编
|
历届仪器元器件范围
|
单片机课程设计
|
您现在的位置: 奔跑的单片机 >> 课设与竞赛 >> 单片机课程设计 >> 信息正文 用户登录 新用户注册
步进电机运行系统控制设计 热 【字体:小 大】
步进电机运行系统控制设计
作者:佚名 信息来源:网络 点击数:2901 更新时间:2006-5-26
步进电机运行系统控制设计
一、 设计的性质与目的:
性质:该设计是在学生学完《单片机原理与应用》和电子学相关课程的基础上,结合测控技术与仪器和机电工程专业的特点进行的具有一定难度和覆盖面的综合性实践环节。
目的:综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。
二、 设计内容与要求:
1、 根据设计任务,设计该单片机应用系统的硬件电路图,软件流程图并编制相应的软件,实现硬件和软件的调试。
2、 按下不同的键,分别使步进电机实现顺时针和逆时针旋转一步,连续按键,不仅电机连续运转,显示器显示步进电机的状态。
3、 按下不同的键作步进电机速度及转向的控制并显示步进电机的状态。
A) 电机正向或逆向运转的切换
B) 电机加速运转
C) 电机减速运转
D) 电机按给定速度匀速运转
三、 实验注意事项:
1、 实验中所用仪器及设备均应按操作规程操作,实验前应仔细阅读指导书。
2、 实验应独立思考,发现问题尽量自己解决。
3、 实验结果需经老师检查后方算完成。
四、 设计方案:
1、步进电机工作原理及硬件连线图:
步进电机驱动原理是通过对它每相线圈中的电流的顺序切换使电机作步进式旋转,驱动电路有脉冲信号来控制,所以调解脉冲信号的频率变可以改变步进电机的转速,因此微电脑控制步进电机最合适。
如下图所示,实验使用的不仅电机用直流+5V电压,每相电流为0.16A,电机线圈由4相组成。即Ф1(A);Ф2(B);Ф3(C);Ф4(D);
驱动方式为二相激磁方式各线圈通通电顺序如下表:
相
顺序 1 2 3 4
0 1 1 0 0
1 0 1 1 0
2 0 0 1 1
3 1 0 0 1
二相激磁通电次序
表中首先向Ф1线圈-Ф2线圈输入驱动电流,接着Ф2-Ф3,Ф3-Ф4,又返回到Ф1-Ф2,按这种顺序切换,点击按顺时针方向旋转。这时的相序位0,1,2,3;如果使电机逆时针方向旋转,相序为3,2,1,0。
步进电机的驱动电路如右图所示,微电脑向步进电机输入端传送1或0信息,则可实现上述操作。
实验可通过不同长度的延时来得到不同频率的步进电机输入脉冲,从而得到多种步进速度。
连线方式:
A)74LS273的011-014分别接步进电机BA-BD,74LS273片选端CS2接08-1F.
B) 步进电机插头接J8。
2、程序设计思路:
根据题目要求,程序应具备以下几个功能:
可通过键盘控制步进电机的转速,方向
可通过LED数码管显示电机运行状态
电机运转状态可以是正反转,加速减速,五种不同速度的各种组合
3、硬件电路图:
4、软件流程图:
五、 子程序调试:
1、 显示子程序调试
显示子程序清单:
ORG 4000H
LJMP REST
ORG 4200H
REST: MOV DPTR,#1B31H
MOV A,#0D3H
MOVX @DPTR,A
MOV A,#2AH
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
MOV A,#40H
MOVX @DPTR,A
MOV A,#90H
MOVX @DPTR,A
MOV 20H,#00H
MOV 21H,#00H
MOV 22H,#00H
MOV R0,#21H
MOV R2,#02H
MAIN: LCALL MANI
LJMP MAIN
MANI: MOV DPTR,#1B31H
MOV A,#90H
MOVX @DPTR,A
MOV DPL,#30H
MANI1: MOV A,@R0
LCALL TABLE
MOVX @DPTR,A
INC R0
DJNZ R2,MANI1
MOV R0,#21H
MOV R2,#02H
RET
TABLE: INC A
MOVC A,@A+PC
RET
DB 3FH,06H,5BH,4FH
DB 66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH
DB 39H,5EH,79H,71H
DB 73H
END
编译并运行该程序,LED上应显示"00"改变21H及22H中的值,LED上应该显示对应的符号。
2、键盘中断服务程序调试
键盘中断服务程序清单:
ORG 4000H
LJMP REST
ORG 4200H
REST: MOV SP,#70H
MOV DPTR,#1B31H
MOV A,#0D3H
MOVX @DPTR,A
MOV A,#2AH
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
MOV A,#40H
MOVX @DPTR,A
MOV A,#90H
MOVX @DPTR,A
SETB EX0
SETB EA
LPP: SJMP LPP
KEY: PUSH ACC
PUSH PSW
PUSH DPL
MOV DPL,#30H
MOVX A,@DPTR
ANL A,#3FH
ACCEL: CJNE A,#02H,DECEL
CLR TR1
MOV 25H,#01H
MOV 21H,#0AH
MOV 23H,#00H
SETB TR1
LJMP OUTK
DECEL: CJNE A,#06H,BACK
CLR TR1
MOV 25H,#02H
MOV 21H,#0EH
MOV 23H,#0C0H
SETB TR1
LJMP OUTK
BACK: CJNE A,#03H,FRONT
MOV 20H,#01H
MOV 22H,#0BH
LJMP OUTK
FRONT: CJNE A,#07H,STOP
MOV 20H,#00H
MOV 22H,#0FH
LJMP OUTK
STOP: MOV 25H,#00H
CJNE A,#08H,STEP1
CLR TR1
MOV 21H,#00H
LJMP OUTK
STEP1: CJNE A,#09H,STEP2
CLR TR1
MOV 21H,#01H
MOV 23H,#00H
SETB TR1
LJMP OUTK
STEP2: CJNE A,#0AH,STEP3
CLR TR1
MOV 21H,#02H
MOV 23H,#3FH
SETB TR1
LJMP OUTK
STEP3: CJNE A,#0BH,STEP4
CLR TR1
MOV 21H,#03H
MOV 23H,#66H
SETB TR1
LJMP OUTK
STEP4: CJNE A,#0CH,STEP5
CLR TR1
MOV 21H,#04H
MOV 23H,#7FH
SETB TR1
LJMP OUTK
SREP5: CJNE A,#0DH,POINT
CLR TR1
MOV 21H,#05H
MOV 23H,#0C0H
SETB TR1
LJMP OUTK
POINT: CJNE A,#05H,OUTK
CLR TR1
MOV 21H,#0DH
LCALL DIREC
OUTK: POP DPL
POP PSW
POP ACC
RETI
END
将8279的IRQ端接INT01。编译并运行该程序,依次按下各键,则20H-25H中的值会作对应的改变。各键与20H-25H中的数值对应关系如下:
键位
地址 0键 1键 2键 3键 4键 5键 B键 F键 A键 E键 D键
20H -- -- -- -- -- -- #01H #00H -- -- --
21H #00H #01H #02H #03H #04H #05H -- -- #0AH #0EH #0DH
22H -- -- -- -- ―― ―― #0BH #0FH -- -- --
23H -- #00H #3FH #66H #7FH #0C0H -- -- #00H #0C0H --
24H #00H #00H #00H #00H #00H #00H -- -- #01H @02H #00H
注:"--"表示不作变动
3、定时器中断服务程序调试
定时器中断服务程序清单:
ORG 001BH
LJMP TINT
ORG 4000H
LJMP REST
ORG 4200H
REST: MOV SP,#70H
ANL TMOD,#0F0H
ORL TMOD,#02H
MOV TH0,#05H
MOV TL0,#05H
MOV 23H,#00H
MOV 20H,#00H
MOV 25H,#00H
MOV R7,#33H
MOV DPTR,#1B08H
SETB ET1
SETB EA
SETB TR1
LPP: SJMP LPP
TINT: PUSH ACC
PUSH PSW
PUSH DPL
LCALL DIREC
LCALL REL
OUTT: POP DPL
POP PSW
POP ACC
RETI
DIREC: MOV DPL,#08H
MOV R1,20H
MOV A,R7
CJNE R1,#00H,BACKD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -