武汉软件工程职业学院
课程设计报告
课程名称:微机原理与接口技术课程设计
设计题目: 步进电机控制接口设计
系 别: 软件学院
专 业: 嵌入式系统工程
组 别: 第四组
学生姓名: 孙欣 学 号: 1297811110904
起止日期:2012年6月18日~ 20##年6月25日
指导教师: 黄崇新
目 录
第一章 绪论...................................................................................................................................... 1
第二章 分析...................................................................................................................................... 2
2.1 课程设计题目........................................................................................................................ 2
2.2 课程设计任务及要求............................................................................................................. 2
2.2.1 任务.............................................................................................................................. 2
2.2.2 课程设计的要求............................................................................................................ 2
2.3 运行环境及开发工具............................................................................................................. 3
2.3.1 运行环境....................................................................................................................... 3
2.3.2 开发工具....................................................................................................................... 3
第三章 设计...................................................................................................................................... 4
3.1 基本原理................................................................................................................................ 4
3.2 设计方法................................................................................................................................ 4
3.2.1 硬件设计方法....................................................................................................................... 4
3.2.2 软件设计方法....................................................................................................................... 5
3.3 程序流程图............................................................................................................................ 5
第四章 调试与操作说明................................................................................................................... 16
4.1 综合调试步骤........................................................................................................................ 16
4.2 操作说明................................................................................................................................ 17
第五章 课程设计心得与体会............................................................................................................ 18
参考文献.............................................................................................................................................. 21
附录 步进电机控制程序................................................................................................................... 22
第一章 绪 论
步进电机是机电设备中广泛使用的一种电机,它将电脉冲信号直接转化为角位移或直线位移。步进电机输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比,因此可用输入电脉冲的数量、频率及电机各相绕组的通电顺序来精确控制步进电机的启停、转速、转向。传统的步进电机控制方法是由触发器产生控制脉冲来进行控制的。当步进电机参数发生变化时,需要重新进行控制器的设计。而且传统的触发器构成的控制系统,控制电路复杂、控制精度低、生产成本高。以微电子芯片为控制核心,以电力电子功率变换器为执行机构,在自动控制理论的指导下组成的控制系统,能通过控制电机转速或转矩进而控制生产机械或运动部件按照人们所希望的规律运动。克服了传统控制器的缺点,满足工业生产新的控制要求,体现了更大的优越性,因此广泛应用于数字控制系统中。如今各领域步进电机无处不在,高精度,实时监控的步进电机控制系统具有重要意义和实用价值。
目前单片机正朝着高性能和多品种方向发展趋势将是进一步向着COMS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。同时,EDA技术的发展,使得芯片的功能能够按人的意愿进行设计,对节省能源和人性化设计有着重要的促进意义。本文介绍一种利用AT89C51单片机作为控制器,实现对步进电机简易控制的方案。该控制系统具有电路简单可靠,通用性强,成本低廉,灵活方便等特点。
第二章 分析
2.1 课程设计题目:
步进机控制接口设计
2.2 课程设计任务及要求
2.2.1 任务
主要功能:
1) 微机步进电机起动与停止控制;
实现方法:设置硬开关或软开关。
如按按键SW1启动或SW2停止。按S或s键启动,按ESC键停止。
2) 微机步进电机的速度控制;
实现方法:设置延时子程序。
即以一定的时间间隔送相序代码,不同的时间间隔就可实现不同的速度控制。
3) 微机步进电机的方向控制;
实现方法:设置相序表指针。
2.2.2 课程设计的要求
课程设计的教学要求体现于整个工作的各个阶段中,可根据所选课题的特点而有所侧重,但应达到如下的基本要求:
1、 明确设计任务要求
2、 分析任务并合理选择设计方案
3、 软件流程图的绘制
4、 软件的设计
5、 综合调试
6、 撰写课程设计报告
2.3 运行环境及开发工具
2.3.1 运行环境:
Windows XP
2.3.2 开发工具:
MF
第三章 设计
3.1 基本原理
(1)步进电机控制原理
步进电机是将电脉冲信号转换成角位移的一种机电式数模转换器。步进电机旋转的角位移与输入脉冲的个数成正比;步进电机的转速与输入脉冲的频率成正比;步进电机的转动方向与输入脉冲对绕组加电的顺序有关。因此,步进电机旋转的角位移、转速以及方向均受输入脉冲的控制。
3.2 设计方法
3.2.1 硬件设计方法
1、 单片机
单片微型机计算机是微型计算机的一个重要分支,也是具有生命力的机种,单片微型计算机简称单片机。特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件;中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部部件设备和结合,便可成为一个单片机控制系统
2、按键
键盘部分,设定正,反转和启动、停止、加减速等功能操作。本系统在启动电机后步进电机匀速的运行。为了实现系统的启动、停止和正、反转,要设置相应的按钮和开关进行功能键处理。
3.2.2 软件设计方法
(1)启动后首先读一遍键盘。
(2)根据键盘判断电机是正转代码、反转代码或者停止代码。
(3)根据键盘所读判断是否加速、减速或者保持启动时候的速度,然后设定延时的时间。
(4)判断设计的八拍是否完成,完成后清零从头开始下一个八拍,没有完成接着完成。
(5)返回开始继续循环。
3.3 程序流程图
第四章 调试与操作说明
4.1综合调试步骤
1、检测实验平台及配套设备是否完好
检测各硬件模块是否断路或者短路,根据电路图查看接线线路是否正确。检测接线无误后,接入电源,测量各芯片的供电电压,检查无误后,进入软件调试阶段。
2、调试自己设计的软件控制程序是否符合要求
首先下载程序到单片机后复位启动,电机开始转动,然后可以按正转和反转,接下来可以按加速按钮或者减速按钮进行加速或者减速,调试完成后按关停止开关可以步进电机停止运行。
4.2 操作说明
步进电机原理
反应式步进电机是本系统的控制部件,它的定子是四相8个磁极,每个极靴上有相等的小齿,转子圆周上均匀分布着许多个小齿。定、转子的尺宽、尺距都相等。当A相通电,A相极下的小齿与转子齿对齐时,B相下小齿刚好错开t/4,B 相错开2t/4,D相错开3t/4。控制步进电机的运行速度实际上就是控制系统发出CP脉冲的频率或者换向的周期。
(1)步进电机的工作方式:实际使用的步进电机以单、双八拍的方式工作。若以A-AB-B-BC-C-CD-D-DA-A次序通电为正转,则按A-AD-D-DC-C-CB-B-BA-A通电为反转。
2)运动速度的控制:当改变脉冲的周期时,ABCD四相绕组高低电平的宽度将发生变化,这就导致通电和断电变化的速率发生变化,使电机转速发生变化,所以调节脉冲的周期就可以控制步进电机的运动速度。
(3)旋转角度的控制:因为每输入一个脉冲,就使步进电机四相绕组的状态变化一次,并相应地旋转一个角度,所以步进电机的旋转角度由输入的脉冲数确定。
第五章 课程设计心得与体会
通过微机步进电机控制系统设计,深入了解与掌握步进电机的控制原理与可编程芯片8255A、8253、8259A等的使用方法。在这次设计实践中,培养了我们查阅专业资料、工具书或参考书,了解有关工业标准,掌握现代设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。
参考文献
[1] 韩雁、徐煜明主编 微机原理与接口技术 电子工业出版社 20##年1月
[2] 刘乐善主编 微型计算机接口技术及应用 华中科技大学出版社,20##年4月第1版
[3] 华中科技大学计算机学院自编MFID微机实验平台 微机原理与接口实验指导书
[4] 宋杰 微机原理与接口技术课程设计 机械工业出版社,20##年4月第1版
附录:步进电机控制程序
DATA SEGMENT
PSTAA DB 05H,15H,14H,54H,50H,51H,41H,45H
PSTAB DB 45H,41H,51H,50H,54H,14H,15H,05H
MESG DB '(1) Press SW1 to ZK.',10,13
DB '(2) Press SW2 to ZM.',10,13
DB '(3) Press SW3 to FM.',10,13
DB '(4) Press SW4 to FK.',10,13
DB '(5) Press Any Key to Quit.',10,13,'$'
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:MOV AX,DATA
MOV DS,AX
MOV AH,09H
MOV DX,OFFSET MESG ;显示提示信息
INT 21H
MOV DX,303H ;8255初始化
MOV AL,81H
OUT DX,AL
MOV AL,09H ;关74ls373
OUT DX,AL
WAIT1:MOV AH,0BH ;检查有无按键
INT 21H
CMP AL,0H
JNZ QUIT1 ;有按键盘退出
MOV DX,302H ;检查开关状态
IN AL,DX
TEST AL,01H
JZ ZM ;若按SW1则正向慢速
TEST AL,02H
JZ ZK ;若按SW2则正向快速
TEST AL,04H
JZ FM ;若按SW3则反向慢速
TEST AL,08H
JZ FK ;若按SW4则反向快速
JMP WAIT1 ;无开关按下则等待
ZM: MOV AH,0BH ;检查有无按键
INT 21H
CMP AL,0H
JNZ QUIT1 ;有按键盘退出
MOV DX,303H ;无按键盘则打开74LS373
MOV AL,08H
OUT DX,AL
MOV CL,8 ;设置循环次数
MOV SI,OFFSET PSTAA ;设置正向相序表指针
L1: MOV DX,302H ;读开关状态
IN AL,DX
TEST AL,02H
JZ ZK
TEST AL,04H
JZ FM
TEST AL,08H
JZ FK
MOV DX,300H ;送相序码
MOV AL,[SI]
OUT DX,AL
PUSH CX
sub al,al ;设置延时参数
SUB CL,CL
MOV BX,20
CALL DELAY ;延时
POP CX
INC SI
DEC CL
JNZ L1 ;循环次数未到转
JMP ZM
ZK:MOV AH,0BH
INT 21H
CMP AL,0H
JNZ QUIT1
MOV DX,303H
MOV AL,08H
OUT DX,AL
MOV CL,8
MOV SI,OFFSET PSTAA
L2:MOV DX,302H
IN AL,DX
TEST AL,01H
JZ ZM
TEST AL,04H
JZ FM
TEST AL,08H
JZ FK
MOV DX,300H
MOV AL,[SI]
OUT DX,AL
PUSH CX
sub al,al
SUB CL,CL
MOV BX,1
CALL DELAY
POP CX
INC SI
DEC CL
JNZ L2
JMP ZK
FM:MOV AH,0BH
INT 21H
CMP AL,0H
JNZ QUIT1
MOV DX,303H
MOV AL,08H
OUT DX,AL
MOV CL,8
MOV SI,OFFSET PSTAB
L3:MOV DX,302H
IN AL,DX
TEST AL,08H
JZ FK
TEST AL,01
JZ ZM
TEST AL,02H
JZ ZK
MOV DX,300H
MOV AL,[SI]
OUT DX,AL
PUSH CX
sub al,al
SUB CL,CL
MOV BX,20
CALL DELAY
POP CX
INC SI
DEC CL
JNZ L3
JMP FM
FK:MOV AH,0BH
INT 21H
CMP AL,0H
JNZ QUIT1
MOV DX,303H
MOV AL,08H
OUT DX,AL
MOV CL,8
MOV SI,OFFSET PSTAB
L4:MOV DX,302H
IN AL,DX
TEST AL,04H
JZ FM
TEST AL,01H
JZ ZM
TEST AL,02H
JZ ZK
MOV DX,300H
MOV AL,[SI]
OUT DX,AL
PUSH CX
sub al,al
SUB CL,CL
MOV BX,1
CALL DELAY
POP CX
INC SI
DEC CL
JNZ L4
JMP FK
QUIT1:MOV DX,303H ;关于4LS373
MOV AL,09H
OUT DX,AL
MOV AX,4C00H ;结束用户程序返回
INT 21H
DELAY PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH AX
MOV AH,2CH
INT 21H
POP AX
ADD AL,CL
ADD BH,DH
ADD BL,DL
CMP BL,100
JB SECS
SUB BL,100
INC BH
SECS:CMP BH,60
JB MINS
SUB BH,60
INC AL
MINS:CMP AL,60
JB HRS
SUB AL,60
INC CH
HRS:CMP CH,24
JNE CHECK
SUB CH,CH
CHECK:PUSH AX
MOV AH,2CH
INT 21H
POP AX
CMP CL,AL
JA QUIT
JB CHECK
CMP DX,BX
JB CHECK
QUIT:POP DX
POP CX
POP BX
POP AX
RET
DELAY ENDP
CODE ENDS
END START