课程设计四相单四拍步进电机控制系统设计.docx
《课程设计四相单四拍步进电机控制系统设计.docx》由会员分享,可在线阅读,更多相关《课程设计四相单四拍步进电机控制系统设计.docx(13页珍藏版)》请在冰豆网上搜索。
课程设计四相单四拍步进电机控制系统设计
算机控制综合实验课程
设计说明书
学生姓名:
学号:
学院:
信息与通信工程学院
专业:
自动化
题目:
四相单四拍步进电机控制系统设计
指导老师职称
2011年12月26日
课程设计任务书
11/12学年第一学期
学院:
信息与通信工程学院
专业:
自动化
学生姓名:
学号:
课程设计题目:
四相单四拍步进电机控制系统设计
起迄日期:
2011年12月26日~2012年1月6日
课程设计地点:
指导教师:
系主任:
下达任务书日期:
2011年12月26日
课程设计任务书
1.设计目的:
设计一个计算机步进电机程序控制系统,可以对步进电机的转速、转向以及位置进行控制。
通过设计,掌握步进电机的工作原理、掌握步进电机控制系统的设计原理、设计步骤,进一步提高综合运用知识的能力。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):
(1)选择步进电机,设计接口电路和驱动电路,对步进电机进行控制。
(2)选择控制算法,编写控制程序,实现四相步进电机在单四拍工作方式下先正转
90度,然后再反转60度,要求其速度可调,转向可控。
(3)写出设计说明书。
3.设计工作任务及工作量的要求(包括课程设计计算说明书、图纸、实物样品等):
(1)查阅资料,确定设计方案
(2)选择器件,设计硬件电路,并画出原理图和PCB图
(3)画出流程图,编写控制程序
(4)撰写课程设计说明书
课程设计任务书
4.主要参考文献:
1张艳兵,王忠庆。
计算机控制技术。
国防工业出版社
2顾德英,张健,马淑华.计算机控制技术【M】.北京:
北京邮电大学出版社,2006.
3华张家生.电机原理与拖动基础【M】.北京:
北京邮电大学出版社,2006.成英,
4张家生.电机原理与拖动基础【M】.北京:
北京邮电大学出版社,2006.
5.设计成果形式及要求:
课程设计说明书1份原理图和PCB图各1份程序清单1份
6.工作计划及进度:
起迄日期
11年12月26日~12月27日
12月28日~12月31日
12年1月2日~1月3日
1月3日~1月4日
1月5日~1月6日
工作内容
查阅资料,确定设计方案
设计硬件电路画出流程图,编写控制程序撰写课程设计说明书课程设计答辩
系主任审查意见:
签字:
年月日
1系统概述错.误!
未定义书签。
2系统硬件设计5...
2.1系统硬件原理图5..
2.2各硬件单元功能说明及I/O口、功能键分配5.
2.3硬件连接图6...
3系统软件设计6...
3.1工作方式下的控制模型7..
3.2流程图9...
4结束语9...
系统概述
步进电动机是一种将电脉冲信号转换相应的角位移的特种电动机。
是工业过程控制及仪表中的主要控制元件之一。
步进电动机具有快速起动能力,而且精度高,在数字控制系统中可以直接接受来自计算机的数字信号,不需要进行数/模转换,所以步进电动机在定位场合得到了广泛应用。
本次课程设计通过键盘控制四相电动机的起动,单四拍、双四拍、四相八拍三种工作方式及正反转的选择。
并通过七段数码管显示剩余工作步数。
从而达到手动控制与直观显示的结合。
本系统应用芯片8255,LED显示单元,键盘模拟控制键,四相步进电动机及其驱动电路,接线较为简单。
软件编程采用的是汇编语言,程序中包括主程序,显示子程序,延时子程序。
系统硬件设计
1.1系统硬件原理图
图1系统硬件原理图
1.2各硬件单元功能说明及I/O口、功能键分配
(1)8255芯片:
8255作为整个系统的主控单元,与系统总线连接,接受外部控制信息,并通过设定的I/O口将控制信息输出到数码管显示单元,LED显示单元及驱动电路。
系统设置8255工作方式0,A、B、C口均为输出,PA0—PA7与数码管相连显示剩余工作步数,PB0—PB3连接电动机的A、B、C、D四相控制电动机的运转,PC0,PC1分别与LED0、LED1连接,PB4—PB7及PC3—PC7不用。
(2)键盘模拟功能键:
“0”键控制起动,“1”键控制选择单四拍正转工作方式,“2”健控制选择单四拍反转工作方式,“3”键控制选择双四拍正转工作方式,“4”键控制选择双四拍反转工作方式,“5”键控制四相八拍正转工作方式,“6”键控制选择四相八拍反转工作方式,“7”键控制选择停止退出程序。
(3)驱动电路:
驱动步进电机。
I/O及功能键分配表如表1所示
表1I/O及功能键分配表
I/O口及功能键
PA0—
PA7
PB0—
PB3
PC0
PC1
0键
1键
2键
分配
数码管控制接口
步进电机驱动接口
反转指示
正转指示
起动
单四拍正转
单四拍反转
I/O口及功能键
3键
4键
5键
6键
7键
--
--
分配
双四拍正转
双四拍反转
四相八拍正转
四相八拍反转
退出
--
--
1.3
硬件连接图
软件
系统
设计
1.4工作方式下的控制模型
单四拍正转、单四拍反转、双四拍正转、双四拍反转、四相八拍正转及四相八拍反转六种工作方式下的控制模型分别如表2、3、4、5、6、7所示。
表2单四拍正转控制数字模型
步序
D相
C相
B相
A相
字模
PB3
PB2
PB1
PB0
1
0
0
0
1
01H
2
0
0
1
0
02H
3
0
1
0
0
04H
4
1
0
0
0
08H
表3单四拍反转控制数字模型
步序
D相
C相
B相
A相
字模
PB3
PB2
PB1
PB0
1
1
0
0
0
08H
2
0
1
0
0
04H
3
0
0
1
0
02H
4
0
0
0
1
01H
表4双四拍正转控制模型
D相
C相
B相
A相
字模
步序
PB3
PB2
PB1
PB0
1
0
0
1
1
03H
2
0
1
1
0
06H
3
1
1
0
0
0CH
4
1
0
0
1
09H
表5双四拍反转控制模型
步序
D相
C相
B相
A相
字模
PB3
PB2
PB1
PB0
1
1
0
0
1
09H
2
1
1
0
0
0CH
3
0
1
1
0
06H
4
0
0
1
1
03H
1.5流程图
图3程序流程图
结束语计算机控制技术的课程设计是一个综合运用知识的过程,它不仅需要计算机控制理论、程序设计方面的基础知识,而且还需要具备一定的生产工艺知识。
设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制软件的设计等,以便使学生掌握计算机控制系统设计的总体思路和方法。
此次课程设计选作的是步进电机控制系统设计,设计要求1.通电方式选择键三个,分别为单四拍、双四拍和四相八拍;2.启动键和方向控制键;3.正反转指示灯;4.剩余工作步数LED显示。
此次课程设计经过前期查找资料,设计硬件电路,自编初步程序,设计期间
在实验室调试程序,最终实现了以上基本功能,并且还实现了在不同工作方式之间的切换,屏幕显示剩余拍数两项功能,对步进电机的控制有了初步了解,同时也对芯片8255,数码管显示部分加强了运用。
通过此次设计,将所学的专业理论知识与实际开发实际结合起来,理论联系实际,提高了专业技能。
在设计过程中得到了同学的帮助,老师的指导,在此一并感谢!
;源程序如下:
片选IOY0对应的端口始地址
根据CHECK配置信息修改下列符号值*******************
MY8255_
A
EQU
IOY0+00H*4
;8255
的A口地址
MY8255_
B
EQU
IOY0+01H*4
;8255
的B口地址
MY8255_
C
EQU
IOY0+02H*4
;8255
的C口地址
IOY0EQU9800H
MY8255_MODEEQUIOY0+03H*4;8255的控制寄存器地址
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENT
KEQU09H;工作步数
TABSHZDB03H,06H,0CH,09H;双四拍正转模型
TABSHFDB09H,0CH,06H,03H;双四拍反转模型
TABLE1DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;七段数码管字模DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK1
START:
MOVAX,DATA
MOVDS,AX
MOVAL,80H;初始化8255,工作方式0,A,、B、C口均为输出
MOVDX,MY8255_MODE
OUTDX,AL
WAIT1:
MOVAH,08H;等待启动键“0”按下
INT21H
CMPAL,30H
JEMAIN
JMPWAIT1
MAIN:
MOVAH,08H;判断工作方式控制键是否按下
INT21H;若键按下转到相应的程序,否则循环等待.
CMPAL,33H
JESHUANGSI;转双四拍正转
CMPAL,34H
JESHUANGSI1转;双四拍反转
CMPAL,35H
JEQUIT1
JMPMAIN
;单四拍正转
ZHENGSI:
MOVAL,02H;点亮正转指示灯
MOVDX,MY8255_C
OUTDX,AL
MOVCL,K
ZHENGSI0:
LEABX,TABLE1;数码管显示剩余步数
MOVAL,CL
XLAT
MOVDX,MY8255_A
OUTDX,AL
ZHENGSI1:
MOVBL,04H;驱动电机
MOVDX,MY8255_B
LEADI,TABSZ
ZHENGSI2:
MOVAH,0BH;判断是否有按键切换工作方式
INT21H;有按键跳回判断按键对应程序,否则继续执行程序INCAL
JZMAIN
CALLXIAN;调用显示子程序,显示工作剩余拍数
MOVAL,[DI]
OUTDX,AL
CALLDLY;调用延时子程序
INCDI
DECBL;判断是否工作完所有拍数,有则退出等待重选工作方式,否则继续循环JNZZHENGSI2
DECCL
JNZZHENGSI0
JMPWAIT1
;中间跳转
SHUANGSI:
JMPSHSIZH
SHUANGSI1:
JMPSHSIF
;双四拍正转
SHSIZH:
MOVAL,02H
MOVDX,MY8255_C
OUTDX,AL
MOVCL,K
SHSIZH0:
LEABX,TABLE1
MOVAL,CL
XLAT
MOVDX,MY8255_A
OUTDX,AL
SHSIZH1:
MOVBL,08HMOVDX,MY8255_BLEADI,TABSHZ
SHSIZH2:
MOVAH,0BHINT21H
INCAL
JZMAIN1
CALLXIAN
MOVAL,[DI]
OUTDX,AL
CALLDLY
INCDI
DECBL
JNZSHSIZH2
DECCL
JNZSIBAZH0
JMPWAIT1
;中间跳转程序WAIT00:
JMPWAIT1
;双四拍反转
SHSIF:
MOVAL,01H
MOVDX,MY8255_C
OUTDX,AL
MOVCL,K
SHSIF0:
LEABX,TABLE1
MOVAL,CL
XLAT
MOVDX,MY8255_A
OUTDX,AL
SHSIF1:
MOVBL,4
MOVDX,MY8255_BLEADI,TABSHFSHSIF2:
MOVAH,0BHINT21H
INCAL
JZMAIN1
CALLXIAN
MOVAL,[DI]
OUTDX,AL
CALLDLY
INCDI
DECBL
JNZSHSIF2
DECCL
JNZSHSIF0
JMPWAIT00
MAIN11:
JMPMAIN1;四相八拍正转
SIBAZH:
MOVAL,02H
MOVDX,MY8255_C
OUTDX,AL
MOVCL,K
SIBAZH0:
LEABX,TABLE1
MOVAL,CL
XLAT
MOVDX,MY8255_A
OUTDX,AL
SIBAZH1:
MOVBL,08H
MOVDX,MY8255_B
LEADI,TABBZ
SIBAZH2:
MOVAH,0BH
INT21H
INCAL
JZMAIN11
CALLXIAN
MOVAL,[DI]
OUTDX,AL
CALLDLY
INCDI
DECBL
JNZSIBAZH2
DECCL
JNZSIBAZH0
结束退出程序
JMPWAIT00
QUIT:
MOVDX,MY8255_A
MOVAL,00H
OUTDX,AL
MOVAX,4C00H
INT21H
;软件延时子程序DLYPROCNEAR
PUSHCX
PUSHAX
MOVCX,0FFFFHD1:
MOVAX,5FFFHD2:
DECAX
JNZD2
LOOPD1
POPAX
POPCX
RETDLYENDPXIANPROCNEAR;剩余拍数显示子程序PUSHDXMOVDL,BLADDDL,30HMOVAH,02HINT21HMOVDL,20HMOVAH,02HINT21HPOPDXRETXIANENDPCODEENDSENDSTART