微机步进电机课件设计 标准版.docx
- 文档编号:9077740
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:11
- 大小:120.04KB
微机步进电机课件设计 标准版.docx
《微机步进电机课件设计 标准版.docx》由会员分享,可在线阅读,更多相关《微机步进电机课件设计 标准版.docx(11页珍藏版)》请在冰豆网上搜索。
微机步进电机课件设计标准版
微机原理课程设计报告书
课题名称
步进电机控制
姓名
杨鹏
学号
1112401-12
学院
通信与电子工程学院
专业
通信工程
指导教师
谭跃
2013年7月5日
一、设计任务及要求
通过8086CPU、可编程并行I/O芯片8255A、步进电机驱动芯片ULN2003A以及相应的辅助芯片和开关,用汇编语言编写了电机的正转、反转、加速、减速、停止程序,实现了步进电机的控制功能。
并最终在Proteus7.8SP2中进行了芯片的绘制连接和系统的仿真验证
指导教师签名:
2013年6月24日
二、指导教师评语
指导教师签名:
2013年7月5日
三、成绩
验收盖章
年月日
一、设计目的:
1.了解步进电机控制的基本原理,掌握控制步进电机转动的编程方法。
2.进一步熟练掌握8255A并行I/O口的工作方式以及编程方法。
3.体会系统整体设计的流程与方法,为以后系统级设计积累经验。
二、设计要求
1.通过开关K1实现步进电机的开始与停止;
2.通过开关K2来选择步进电机的正转与反转;
3.通过开关K3,K4组成(2-4译码)四档电机转速选择;
4.对每只开关的选择情况同时通过4位8段数码管来显示;
5.扩展设计:
可以在以上功能基础上,增加控制步进电机单步转动的开关;增加控制电机加速转动的开关;增加控制电机减速的开关。
三、设计思路
1.步进电机概述:
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。
使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。
由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。
本次课程设计采用的是四相八拍步进电机。
步进电机的基本参数:
(一)步进电机的静态指标术语
1、相数:
产生不同对N、S磁场的激磁线圈对数。
常用m表示。
2、拍数:
完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A.
3、步距角:
对应一个脉冲信号,电机转子转过的角位移用θ表示。
θ=360度(转子齿数*运行拍数),以常规二、四相,转子齿为50齿电机为例。
四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。
4、定位转矩:
电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)
5、静转矩:
电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。
此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。
虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。
电机正反转控制:
当电机绕组通电时序为A-AB-B-BC-C-CD-D-DA时为正转,通电时序为DA-D-CD-C-BC-B-AB-A时为反转。
2.步进电机的工作原理:
步进电机的工作就是步进转动,其功用是将脉冲电信号变换为相应的角位移或是直线位移,就是给一个脉冲信号,电动机转动一个角度或是前进一步。
步进电机的角位移量与脉冲数成正比,它的转速与脉冲频率(f)成正比,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
如下所示的步进电机为一四相步进电机,采用单极性直流电源供电。
只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。
图1是该四相反应式步进电机工作原理示意图:
图1
开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。
而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。
依次类推,A、B、C、D
四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2所示:
图2步进电机工作时序波形图
如表1所示,首先使HA线圈和HB线圈有驱动电流,接着使HB和HC、HC和HD、HD和HA,又返回到HA和HB有驱动电流,按这种顺序切换,电机轴按顺时针方向旋转。
表1步进电机激磁方式
相
顺序
HA
HB
HC
HD
0
+
+
-
-
1
-
+
+
-
2
-
-
+
+
3
+
-
-
+
4、电路及连线设计
按图3连接线路,用8255输出脉冲序列,开关K0~K6控制步进电机转速,K7控制步进电机转向。
8255的片选信号CS接288H~28FH。
PA0~PA3接BA~BD;PC0~PC7接K0~K7。
编写程序实现步进电机的顺时针旋转控制。
当K0K6中任一开关为“1”(向上拨)时步进电机启动,全部为“0”时步进电机停止,其中K0为“1”时速度最慢,K6为“1”时速度最快。
K7为“1”(向上拨)时步进电机顺时针转动,为“0”(向下拨)时逆时针转动。
图3
5、实验执行流程图:
6、程序设计
DATASEGMENT
ioportEQU0c800h-0280h;0c800h是I/O端口的基本地址
P55AEQUioport+288H;定义P55A为8255A端口的地址(A口做输出)
P55CEQUioport+28AH;定义P55C为8255C端口的地址(C口做输入)
P55CTLEQUioport+28BH;定义P55CTL为8255控制字端口的地址
BUFDB0;定义一个字节数据(用来存入开关的状态)
MESDB'K0-K6ARESPEEDCONTYOL',0AH,0DH;写入一些文字用来描述
DB'K6ISTHELOWESTSPEED',0AH,0DH;各个开关所代表的速度
DB'K0ISTHEHIGHESTSPEED',0AH,0DH;K0为最低速,K6为最高速
DB'K7ISTHEDIRECTIONCONTROL',0AH,0DH,'$';K7为方向键
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,CODE
MOVCS,AX
MOVAX,DATA
MOVDS,AX;程序的初始化(给CS,DS赋值)
MOVDX,OFFSETMES
MOVAH,09
INT21H;显示各个开关的信息
MOVDX,P55CTL
MOVAL,8BH;(8BH=10001011B,为控制字)
OUTDX,AL;A口做输出,C口做输入
送33H到A口输出给后面电机的正反转提供初只调用BIOS功能的INT16的1号功能,判断是否按下如果有则返回DOS如果没有判断开关的状态。
MOVBUF,33H
OUT1:
MOVAL,BUF
MOVDX,P55A
OUTDX,AL;间接寻址获得AL的值
pushdx
MOVAH,06h
MOVdl,0ffh
INT21H;检查是否有键按下
popdx
JEIN1;有键按下就停止,没有则转向IN1去执行
MOVAH,4CH
INT21H
IN1:
MOVDX,P55C
INAL,DX;获得各个开关的状态
TESTAL,01H
JNZK0
TESTAL,02H
JNZK1
TESTAL,04H
JNZK2
TESTAL,08H
JNZK3
TESTAL,10H
JNZK4
TESTAL,20H
JNZK5
TESTAL,40H
JNZK6;检查各个开关的状态,分别转向相应的程序
STOP:
MOVDX,P55A
MOVAL,0FFH
JMPOUT1;置停止信息并转向OUT1
判断完状态则跳转到执行的程序献给BL复制实现岩石时间控制转速然后判断K7的状态是1还是0。
K0:
MOVBL,10H
SAM:
TESTAL,80H;继续判断K7是否为0
JZZX0;为0就转向ZX0(循环右移程序)
JMPNX0;为1就转向NX0(循环左移程序)
K1:
MOVBL,2FH;BL为延时子程序的内层循环计数器
JMPSAM
K2:
MOVBL,4FH
JMPSAM
K3:
MOVBL,6FH
JMPSAM
K4:
MOVBL,8FH
JMPSAM
K5:
MOVBL,0AFH
JMPSAM
K6:
MOVBL,0CFH
JMPSAM
ZX0:
CALLDELAY;调用延时子程序
MOVAL,BUF
RORAL,1
MOVBUF,AL
JMPOUT1;循环右移
NX0:
CALLDELAY;调用延时子程序
MOVAL,BUF
ROLAL,1
MOVBUF,AL
JMPOUT1;循环左移
延时程序是由两曾循环程序构成的BL是外曾循环的次数CX是内层循环的次数严实时间长则脉冲频率小转速慢
DELAYPROCNEAR;定义延时子程序
DELAY1:
MOVCX,0FFFFH
DELAY2:
LOOPDELAY2
DECBL
JNZDELAY1
RET
DELAYENDP
CODEENDS
ENDSTART
7、设计总结
微机原理这门课程学完后我有很大的收获,对汇编语言有了初步的了解。
并且通过本实验让我对汇编语言产生很大的兴趣,让我掌握了汇编编程的总体思路,本实验利用微机控制步进电机的调速,在实验过程中遇到的问题告诉我们理论的编程要结合实际的电动机技术指标调试延迟时间和实验箱的。
可以通过改变CX的赋值来控制电动机的转动速度。
CX越小电动机的转动速度越大。
也可以通过改变BL的值来改变单个开关的速度。
我们把CX称为总开关,BL成为分开关。
从而达到从K0到K6速度逐渐变快,而K7控制电动机的反转。
当K7闭合时电动机反转。
从这次实验中并让我进一步的学习到了8255的应用和掌握了8255的初始化和其编程。
对我们以后的工作和学习起到的积极的作用。
8、参考资料
[1]王小明. 电动机的单片机控制(第一版)[M],北京航空航天大学出版社,2002
[2]楼天顺、周佳社.微机原理与接口技术[M], 北京科学出版社,2006[69-121]
[3]迟成文、王保秀. 汇编语言程序设计[M], 中国科学技术大学出版社,1993[55-73]
[4]陆忠华. 汇编语言程序设计[M], 科学出版社,1993[22-89]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机步进电机课件设计 标准版 微机 步进 电机 课件 设计