ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:204.12KB ,
资源ID:17541947      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17541947.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(步进电机控制系统课程设计.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

步进电机控制系统课程设计.docx

1、步进电机控制系统课程设计计算机与信息科学系课程设计报告课程名称: 微型计算机控制技术 设计题目: 步进电机控制系统 1.系统概述 1 1.1步进电机控制工作原理 11.2系统设计思路 12.系统硬件设计 2 2.1总体设计 2 2.2步进电机控制电路 3 2.3显示电路 43.系统软件设计 5 3.1总体设计 5 3.2 关键模块设计 104.结束语 10 4.1设计感想 14 4.2个人分工情况 15参考文献 15附录 15 1.系统概述1.1步进电机控制工作原理步进电机实际上是一个数字角度转换器,也是一个串行的数模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4 个方

2、面。从结构上看 ,步进电机分为三相、四相、五相等类型 ,常用的则以三相为主。三相步进电机的工作方式有三相单三拍、三相双三拍和三相六拍3 种 ,下面具体加以阐述。1.1.1步进电机的启停控制步进电机由于其电气特性,运转时会有步进感 ,即振动感。为了使电机转动平滑 ,减小振动 ,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波 ,可以减小步进电机的步进角 ,提高电机运行的平稳性。在步进电机停转时 ,为了防止因惯性而使电机轴产生顺滑 ,则需采用合适的锁定波形 ,产生锁定磁力矩 ,锁定步进电机的转轴 ,使步进电机的转轴不能自由转动。 1.1.2步进电机的转向控制如果给定工作方式正序换相通电 ,步进

3、电机正转。若步进电机的励磁方式为三相六拍 ,即 A-AB-B-BC-C-CA。如果按反序通电换相 ,即则电机就反转。其他方式情况类似。1.1.3步进电机的速度控制如果给步进电机发一个控制脉冲 ,它就转一步 ,再发一个脉冲 ,它会再转一步。2 个脉冲的间隔越短 ,步进电机就转得越快。调整送给步进电机的脉冲频率 ,就可以对步进电机进行调速。1.1.4步进电机的换向控制步进电机换向时 ,一定要在电机减速停止或降到突跳频率范围之内再换向 ,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第1 个脉冲前发出。对于脉冲的设计主要要求要有一定的脉冲宽度(一般不小于

4、5s)、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了减速换向加速3 个过程。 1.2系统设计思路 此次我们所设计的是一个步进电机控制系统,主要由单片机80C51,并行输入/输出接口8255A,3相步进电机,7段数码管,及一些其他相关元件设计而成。可以通过开关来控制系统的启/停工作,当系统运转时,用开关来控制方向,并使相应的指示灯亮起,同样由开关来选择工作模式,这次设计并不是使用键盘来输入运转步数,而是由8个开关置0/1设步数。运转时,用3位7段数码管来输出剩余步数。最后根据思路所设计出来的硬件图设计相适应的软件。详细的设计步骤将在下面说明。 2. 系统硬件设计2.1总体

5、设计设计一个单片机三相步进电机控制系统要求系统具有如下功能:(1)用K0-K2做为通电方式选择键,K0为单三拍,K1为双三拍,K2为三相六拍;(2)K3、K4分别为启动和方向控制;(3)正转时红色指示灯亮,反转时黄色指示灯亮,不转时绿色指示灯亮;(4)用K5-K12作为步数的给定值。(5)用3位LED显示剩余工作步数。根据设计要求用PROTIU所做的硬件连线图如下图1: 图12.2步进电机控制电路2.2.1启/停控制、正/反转控制、工作模式控制电路分析(1)K3为启/停控制开关,控制整个系统的开启和关闭。(2)K4为正/反转控制开关,控制步进电机的转向。(3)K0-K3为工作模式控制开关,KO

6、接电时,为步进电机单三拍工作模式;K1接电时,为步进电机双三拍工作模式;K2接电时,步进电机工作模式为三相六拍。如图2: 图22.2.2步数给定值控制电路用8255A的PA8个口来作为步数的输入口,用开关K5-K12来控制8位2进制数的数值,开关接电则为1,接地为0,控制步数范围0255。如图3: 图32.2.3步进电机控制电路将80c51的P1.0-P1.3作为步进电机的输出控制口。如图4:图42.3显示电路2.3.1发光二极管显示电路用3个不同颜色的发光二极管来作为指示灯显示,将PC7接红灯,PC6接黄灯,PC5接绿灯,正转时红色指示灯亮,反转时黄色指示灯亮,不转时绿色指示灯亮。图52.3

7、.2八段数码管显示电路由8255A的PB口取出显示码如图6,从80c51的P1.5-1.7输出位选码如图7,设计中我们主要用到3位显示步数既可。 图6 图73系统软件设计3.1总体设计3.1.1步进电机的工作方式(1)三相单三拍工作方式 在这种工作方式下,A、B、C三相轮流通电,电流切换三次,磁场旋转一周,转子向前转过一个齿距角。因此这种通电方式叫做三相单三拍工作方式。这时步距角b (度)为 b = 360 /mz (公式1)式中:m定子相数; z 转子齿数单三拍的数学模型: 步序 控制位工作状态控制模型P1.7P1.6P1.5P1.4P1.3P1.2C相P1.1B相P1.0A相1000000

8、01A01H 200000010B02H300000100C04H表1(2)三相六拍工作方式 在这种工作方式下,绕组以AABBBCCCAA时序(或反时序)转换6次,磁场旋转一周,转子前进一个齿距,每次切换均使转子转动1. 5,故这种通电方式称为三相六柏工作方式。其步距角b 为:b = 360 /2mz = 180 /mz(公式2)六拍的数学模型: 步序 控制位工作状态控制模型P1.7P1.6P1.5P1.4P1.3P1.2C相P1.1B相P1.0A相100000001A01H 200000011AB03H300000010B02H400000110BC06H500000100C04H60000

9、0101CA05H 表2 (3)双三拍工作方式 这种工作方式每次都是有两相导通,两相绕组处在相同电压之下,以ABBCCAAB (或反之)方式通电,故称为双三拍工作方式。以这种方式通电,转子齿所处的位置相当于六拍控制方式中去掉单三拍后的三个位置。它的步距角计算公式与单三拍时的公式相同。极分度角/齿距角= R + k1/m进一步化简得齿数z:z = q (mR + k) (公式3)式中:m相数; q每相的极数; k (m - 1)的正整数;R正整数,为0、1、2、3。双三拍的数学模型:步序 控制位工作状态控制模型P1.7P1.6P1.5P1.4P1.3P1.2C相P1.1B相P1.0A相10000

10、0011AB03H 200000110BC06H300000101CA05H表33.1.2系统总体流程图设计说明:设8255地址为8000-8300H,显示位地址为30H。首先复位单片机,然后判断是否启动,没启动绿灯亮重新确认启动。启动后读取PC口数据,判断工作方式。接着由双向开关K5到K12来置入步数值到R0中。由PC4口的双向开关来控制步进电机的正反转,如果是正转则红灯亮,反转则绿灯亮。前置流程已经完毕,接着就是由P1口输入控制模型来让步进电机转动,每走一步R0-1,没走完继续直至RO=0。最后由八段数码管同步输出所剩步数。具体流程详见下流程图。 图8总体程序设计:ORG 0000HAJM

11、P MAINMAIN: MOV A,#020H ;PC5口置1,绿灯亮,不工作 MOV DPTR,#8002 MOVX DPTR,A LCALL DELAYLOOP:MOV DPTR,#8002 MOVX A,DPTR ANL A,#020H ;判断是否启动,若没启动则重新启动 JZ MAIN MOV DPTR,#8002 ;判断工作模式; MOVX A,DPTR ANL A,#01H JNZ L1 MOV DPTR,#8002 MOVX A,DPTR ANL A,#02H JNZ L2 MOV DPTR,#8002 MOVX A,DPTR ANL A,#04H JNZ A,L3L1: MOV

12、 DPTR,#DONE1 ;跳转到方式1的控制模型 JMP LP2L2: MOV DPTR,#DONE2 ;跳转到方式2的控制模型 JMP LP2L3: MOV DPTR,#DONE3 ;跳转到方式3的控制模型 JMP LP2LP2:MOV DPTR,#8000 ;读入PA口设定的步数到R2 MOVX A,#DPTR MOV R0,ALP3: MOV DPTR,#8002 ;判断PC4口(正反转口)是否为0,为0电机反转 MOVX A,#DPTR ANL A,#010H JZ LP5 MOV A,#080H ;PC4不为0,正转,红灯亮 MOV R1,#00HLP4: MOV A,R1 ;P1

13、口输出电机模型 MOVC A,A+DPTR JZ LP3 MOV P1,A LCALL DELAY INC R1 ;控制步数加1 DEC R0 ;剩余步数减1 LCALL LED ;LED显示剩余步数 DJNZ R0,LP4 ;步数未走完,继续 RETLP5:MOV A,#040H ;PC4为0,反转,黄灯亮 MOV R1,A AJMP LP4DONE1:DB 01H,02H,04H,00H,01H,04H,02H,00HDONE2:DB 03H,06H,05H,00H,03H,05H,06H,00HDONE3:DB 01H,03H,02H,06H,04H,05H,00H,01H,05H,04

14、H,06H,02H,03H,00H DELAY: MOV R2,#0DELAY0: MOV R4,DELAY0 RETDISPLY:MOV A,#30H ;(显示输出参考课本P68) MOV DPTR,#8001 MOV DPTR,A MOV R2,#30H ;显示缓冲区首地址送R2 MOV R3,#04H ;位选码指向最左一位,第三位 DISPY1: MOV A,R ;取出要显示的数 MOV DPTR,#SEGTAB ;指向换吗表首址 MOVC A,A+DPTR ;取出显示码 MOV DPTR,#8001 ;从B口输出显示码 MOV A,R3 ;从P1口输入位选码 MOV P1,A LCAL

15、L DELAY MOV A,R3 JNB ACC.O,DISPY2 RETDISPY2:INC R2 ;求下一位待显示的数的存放地址 MOV A,R3 ;求下一个位选码 RR A MOV R3,A AJMP DISPY1DELAY: MOV R4,#20 ;延时程序DELAY1: MOV R5,#0 DJNZ R5,DELAY1 DJNZ R4,DELAY1 RETSEGTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;对应字符0 F,8段管显示码 END3.2关键模块设计3.2.1三相步进电机模块

16、设计设计说明:在此设计中,采用的是三相步进电机,对于步进电机模块的程序设计采用循环程序设计方法。先把正反转向的控制模型存放在内存单元中,然后再逐一从单元中取出控制模块并输出。首先启动,选择步进电机的拍数,输入步数,然后读入正反转的控制模型驱动步进电机转动。三相步进电机的模块子程序设计:MOV DPTR,#8002 MOVX A,DPTR ANL A,#020H ;判断是否启动,若没启动则重新启动 JZ MAIN MOV DPTR,#8002 ;判断工作模式; MOVX A,DPTR ANL A,#01H JNZ L1 MOV DPTR,#8002 MOVX A,DPTR ANL A,#02H

17、JNZ L2 MOV DPTR,#8002 MOVX A,DPTR ANL A,#04H JNZ A,L3L1: MOV DPTR,#DONE1 ;跳转到方式1的控制模型 JMP LP2L2: MOV DPTR,#DONE2 ;跳转到方式2的控制模型 JMP LP2L3: MOV DPTR,#DONE3 ;跳转到方式3的控制模型 JMP LP2LP2:MOV DPTR,#8000 ;读入PA口设定的步数到R2 MOVX A,#DPTR MOV R0,ALP3: MOV DPTR,#8002 ;判断PC4口(正反转口)是否为0,为0电机反转 MOVX A,#DPTR ANL A,#010H JZ

18、 LP5 MOV A,#080H ;PC4不为0,正转,红灯亮 MOV R1,#00HLP4: MOV A,R1 ;P1口输出电机模型 MOVC A,A+DPTR JZ LP3 MOV P1,A LCALL DELAY INC R1 ;控制步数加1 DEC R0 ;剩余步数减1 LCALL LED ;LED显示剩余步数 DJNZ R0,LP4 ;步数未走完,继续 RETLP5:MOV A,#040H ;PC4为0,反转,黄灯亮 MOV R1,A AJMP LP4DONE1:DB 01H,02H,04H,00H,01H,04H,02H,00HDONE2:DB 03H,06H,05H,00H,03

19、H,05H,06H,00HDONE3:DB 01H,03H,02H,06H,04H,05H,00H,01H,05H,04H,06H,02H,03H,00H 三相步进电机的流程框图:图93.2.2显示模块设计设计说明:显示模块是用3位八段数码管来显示剩余步数。先将显示缓冲区首地址送R2,指向最左边一位,然后取出要显示的数据,指向换码表首地址,取出显示码,从PB口输出显示码,P1口输入位选码,显示出3位剩余步数,最后修改显示缓冲区,求下一位位选码继续显示。显示模块的程序框图:图10显示模块子程序:DISPLY:MOV A,#30H MOV DPTR,#8001 MOV DPTR,A MOV R2,

20、#30H ;显示缓冲区首地址送R2 MOV R3,#04H ;位选码指向最左一位,第三位 DISPY1: MOV A,R ;取出要显示的数 MOV DPTR,#SEGTAB ;指向换吗表首址 MOVC A,A+DPTR ;取出显示码 MOV DPTR,#8001 ;从B口输出显示码 MOV A,R3 ;从P1口输入位选码 MOV P1,A LCALL DELAY MOV A,R3 JNB ACC.O,DISPY2 RETDISPY2:INC R2 ;求下一位待显示的数的存放地址 MOV A,R3 ;求下一个位选码 RR A MOV R3,A AJMP DISPY1DELAY: MOV R4,#

21、20 ;延时程序DELAY1: MOV R5,#0 DJNZ R5,DELAY1 DJNZ R4,DELAY1 RETSEGTAB: DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;对应字符0 F,8段管显示码4.结束语4.1设计感想经过这个学期对微机的深入学习,并且在老师的悉心指导和严格要求下,我们终于完成了三相步进电机设计课程。从书本上的知识到自己亲手的课程设计,每一步对我们来说无疑是巨大的尝试和挑战,也成就了我们目前在大学期间独立完成的最大的项目。记得在刚接到这个课题时,由于对相关知识不是很了解,我们都有些茫然不知所措。设计好一个步进电机需要什么专业知识?带着这个疑问我们开始了地学习和实验:去图书馆查阅相关资料、上网去了解相关的内容,渐渐头脑中的概念清晰了起来。在具体设计的过程中,我们遇到了更大的困难。我们不断地给自己提出新的问题,然后去论证、推翻,再接着提出新的问题。在这个循环往复的过程中,我们这篇稚嫩的设计日臻完善。虽然我们的设计作品不是很成熟,即使借鉴前人的很多资料仍然还有很多不足之处,但我仍然心里有一种莫大的幸福感,因为我们实实在在地走过了一个完整的设计所应该走的每一个过程,并且享受了每一个过程。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2