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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

步进电机控制Word文档下载推荐.docx

1、由于它每转一周有固定的步数,步进精确和步进误差不会长期积累,因此步进电机在需要精确定位的场合得到广泛的应用。在控制系统中,使用单片机作为控制系统的核心器件主要具有控制能力强;抗干扰能力强,可靠性高而且系统扩展容易等优势,因此在大都情况下采用单片机控制。由单片机通过控制脉冲的个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲的频率即可以控制电机的速度和加速度,从而达到调速的目的。基于步进电机本身的优越性和应用的广泛性,这正是用单片机控制步进电机课程设计的实际意义。本次课程设计中,着重于通过控制脉冲数来控制位移,实现准确定位,还在键盘中设置功能键进行一定的扩展,使其步进电机的运行能够

2、正转反转,并且在转动当中还可以实现暂停继续等功能。在本次课程设计中,老师和同学们都提出了很好的意见,并给予了悉心的指导,在此表示衷心的感谢。由于时间的仓促和作者水平有限,设计中的错误与不妥之处在所难免,恳请读者批评指正。 作者 2008年12月第1章 方案设计1.1设计任务1.1.1设计要求(1)用带中断行列式键盘作为数据和暂停等功能的输入(2)七段数码管显示当前步进电机的运行状态(3)采用集成芯片作为步进电机的驱动电路(4)使用PROTEUS软件对程序进行仿真和调试1.1.2设计任务(1)根据设计要求划分功能模块(2)编程实现模块要求(3)根据模块画出总电路图(4)画出模块程序流程图(5)编

3、写整个源程序代码(6)PROTEUS仿真与调试1.2方案设计与论证1.2.1总体方案论证与比较方案一、采用AT89C51单片机作为整机的控制单元。以AT89C51单片机为核心的控制电路,采用模块化的设计方案,使用行列式键盘作为数据的输入、数码管做数据的输出显示、以L298作为驱动控制步进电机,实现步进电机进行正转、反转、暂停、继续。修改延时子程序可控制步进电机的转速。在本系统中,行列式键盘起着人机交互的作用,是输入电路的主要组成部分,行列式键盘是通过反转法编程实现的,相对于行列的查询法,更加简单实用,容易理解。在行列式键盘的程序设计中,利用了中断程序,更好的体现了控制的实时性,它既和硬件有关,

4、又和软件有关,使得步进电机的控制更灵活,效率更高;利用四位一体的七段数码管显示输入的步数,并动态显示当前剩余步数;以L298数字芯片作为步进电机的驱动电路,解决单片机驱动能力不足的缺点。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现,具有高度的智能化、人性化,一定程度体现了智能,能满足系统的要求。此方案的基本原理如图1.1所示。 图1.1 方案一原理框图方案二、采用电机专用驱动数字芯片L297以及L298组合使用控制步进电机。采用数字电路对单片机对步进电机控制的信号进行处理,由于L297以及L298的组合使用,能有效的减少单片机I/O口的使用,并大幅度

5、的提高单片机的带负载能力。但由于该课程设计可用的I/O口充足,如果过多的使用数字芯片,这样必然带来高成本、电路复杂等缺点。因此,本方案灵活性不高,效率低,不利于步进电机的性能。同时,对各路信号处理也比较困难。比较以上两种方案的优缺点,方案一简洁、灵活、可扩展性好,能达到设计要求,因此本设计采用方案一来实现。第2章 电路设计2.1系统电路原理 系统电路图如图2.1所示 图2.1 系统电路图2.2主要元器件选择单片机具有运算能力强、功耗低、大寻址范围以及廉价等特点,基于单片机的上述优越性,所以首选单片作为整个电路设计的核心控制器件。综合单片机存储器,驱动能力,抗干扰能力等各个方面的要求选择ATS8

6、9C51。显示电路采用四位一体的七段数码管既能够满足显示的要求,同时相对于使用LCD作为电路显示单元来说,从显示效果上七段数码管显示具有字符大,亮度高等特点,从硬件电路上七段数码管驱动也同样简单,并且七段数码管的成本更低,更符合设计效益方面的要求。由于单片机最高输出电压为+5V,而步进电机的额定工作电压是+12V,所以必须采用外围的驱动电路。步进电机的驱动电路多种多样,从设计的要求分析,我们可以采用单电源供电方式电路作为步进电机的驱动电路。两相步进电机工作在双相四拍工作方式时需要四种不同状态的时序脉冲,所以使用步进电机驱动芯片L298能够使电路的结构更简单,并且能够提高电路的稳定性和可靠性。2

7、.3单元电路设计 2.3.1步进电机控制原理 步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。 步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:(1)控制换相顺序 通电换相这一过程称为脉冲分配。例如:两相步进电机的双相四拍工作方式,其各相通电顺序时序如图所示:通电控制脉冲必须严格按照这一顺序分别控制A、B两相的通断。图2.2 步进电机原理图 图2.3 步进

8、电机双相四拍工作时序图(2)控制步进电机的转向 如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。(3)控制步进电机的速度 如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。2.3.2步进电机驱动原理 步进电机可以有多种驱动方式,例如单电源供电方式,高低双电源供电等,综合该设计各方面的因素,采用单电源供电方式作为步进电机驱动,电路结构比较简单,也具有一定的可靠性。但在高频时会产生干扰,影响步进电机的正常运行。单电源供电方式原理图如图2.4所示:图2.4 单

9、电源供电方式原理图采用数字芯片L298作为步进电机驱动电路,L298引脚分布及内部结构如图2.5所示。单片机对步进电机的控制信号从L298的In1-In4输入,步进电机的控制信号从Out1-Out4输出。 图2.5 L298引脚及内部结构 2.3.3数码显示管在此次课程设计中,为了更好的实现人机交互,让我们更好的控制步进电机的转动,我们用四合一的8位数码显示管来显示我们输入的转动次数,并且通过程序让步进电机每转动一次,数码显示管上的数相应减少一,当步进电机转完我们需要其转动的次数时,数码显示管上显示的数字也减少到“0”,然后数码显示管会显示英文单词“OVER”,由此提醒人步进电机已经转动完成,

10、从而实现人们对步进电机的动态控制。数码显示管是由二极管显示字段的显示器件,它由8个发光二极管构成,通过不同的组合可以显示0到9,A到F以及小数点等字符。数码管通常有共阴极和共阳极两种类型,共阴极数码管阴极必须接低电平(一般为地),当一个发光二极管的阳极连到高电平时,此二极管亮;共阳极数码管的发光二极管是阳极并接到高电平(一般为+5V),需点亮的发光二极管阴极接到低电平即可。显然,要显示一个字型就应该使此字型的相应发光二极管点亮,实际上就是送一个不同电平的组合代表的数据到数码管。在此次课程设计中,我们采用的使共阳极数码显示管,因为,在数码显示管于单片机相连接时,若为共阴极,则必须接上上拉电阻,这

11、样数码显示管对单片机的压力太大,而共阳极却不要,所以为了减低单片机的压力,减少成本,增大元器件的寿命,我们采用的使共阳极的数码显示管。2.3.4行列式键盘在单片机的应用系统中,扫描键盘只是CPU的工作任务之一。在实际应用中,要想做到既能及时响应键操作,又不过多的占用CPU的工作时间,就要根据应用系统中的忙闲情况选择适当的键盘工作方式。键盘的工作方式一般有循环扫描和中断扫描两种。循环扫描方式是利用CPU在完成其它工作的空余,调用键盘扫描子程序,来响应键输入要求。在执行键功能程序时,CPU不再响应键输入要求。键盘扫描程序应具备以下4项功能:1,判断键盘上有无按下。2,去除键的抖动操作。3,扫描键盘

12、,得到按下键的键号。4,判别闭合的键是否释放。采用循环扫描键盘的工作方式,虽然也能响应键入的命令或数据,但这种工作方式不管键盘上有无按键按下,CPU总要定时扫描键盘;而应用系统在工作时,并不需要按键输入,因此,CPU常处于空扫描状态。中断扫描工作方式可以提高CPU的工作效率,即只在键盘有键按下时发中断请求,CPU响应中断请求后,转入中断服务程序,进行键盘扫描,识别键码。中断扫描工作方式是一种简易键盘接口电路,其直接有80C51P1口的高,低字节构成4*4行列式键盘。键盘的列线与P1口的低四位相接,键盘的行线接到P1口的高四位。在中断扫描方式中,有一个与门,其输入端分别与各列线相连,而输入端接单

13、片机外部中断输入INT0。初始化时,键盘行输入口全部置0。当有键按下时,INT0端为低电平,向CPU发中断请求,若CPU开放外部中断,则响应中断请求,进入中断服务程序。综合以上所述,我们采用中断工作方式。第3章 程序设计3.1系统程序流程 3.1.1主程序流程图 由于程序实现的功能比较的多,为了能够更清晰的体现设计思路,编写合理规范的程序;同时也是为了能够更好的协调各模块的功能,提高程序的执行效率和,所以一般首先画出主程序的流程图,然后在主程序流程图结构的指导下完成各个部分的功能。这种设计的思路充分的体现了模块化的设计思想,因为模块化的设计思想能够使编写的程序在以后的调试和修改的过程中也显得比

14、较的容易。主程序流程图如图3.1所示。 图3.1 主程序流程图3.1.2中断服务程序流程图 中断服务程序主要实现键盘的功能并且把用户从键盘输入的数据存储到相应的存储单元中。中断服务程序流程图如图3.2所示。图3.2 中断服务程序流程图3.1.2显示子程序流程图 数码管采用动态扫描的显示方法,从P2.0-P2.3口依次高电平选通需要显示的数码管,显示数字的字形码存放在60H到63H单元中。为了观察到比较稳定而且亮度高的显示效果,延时子程序一般延时2-5ms。显示子程序流程图如图3.3所示。图3.3 显示子程序流程图3.2系统程序设计 ORG 0000H LJMP MAIN ORG 0003H L

15、JMP KEY ORG 0100;*程序初始化* MAIN:SS BIT 20H ;1代表开始 ZZ BIT 21H ;1代表正转 FF BIT 22H ;1反转 PP BIT 23H ;1表示暂停 JX BIT 24H ;1代表继续 BACK BIT 25H; MOV SP,#30H MOV P1,#0FH MOV IE,#81H MOV 60H,#00H MOV 61H,#00H MOV 62H,#00H MOV 63H,#00H SETB IT0*控制主程序* START: JB SS,BEGIN LCALL DISP LJMP START ;没有开始,则等待 BEGIN: JB ZZ,

16、ZHENG JB FF,FAN LJMP START*步进电机正转程序* ZHENG:SETB P2.4 SETB P2.5 CLR P2.6 CLR P2.7 LCALL DISP ;完成一步 LCALL CHECK JB BACK ,POS1 LJMP WAN POS1:CLR P2.4 SETB P2.6 JB BACK ,POS2 POS2: CLR P2.5 SETB P2.7 LCALL DISP; JB BACK ,POS3 POS3: JB BACK ,ZHENG*步进电机反转程序* FAN: JB BACK ,POSS1 POSS1: JB BACK ,POSS2 POSS2

17、: JB BACK ,POSS3 POSS3: JB BACK ,FAN*步进电机步数为0,暂停,继续功能查询子程序* CHECK:MOV R1,#60H DEC R1 CJNE R1,#0FFH,OV1 INC R1 MOV 60H,#09H MOV 61H,#09H MOV 62H,#09H CLR BACK LJMP RETURN1 OV1:SETB BACK L2:JB PP,PAUSE1 ;等于1则跳转到暂停 PAUSE1:JB JX,L1 LJMP L2 L1:LJMP L2 RETURN1:RET*步数显示子程序* DISP:MOV DPTR,#DAT SETB P2.0 CLR

18、 P2.1 CLR P2.2 CLR P2.3 MOV A,60H MOVC A,A+DPTR MOV P0,A LCALL DELAY CLR P2.0 SETB P2.1 MOV A,61H SETB P2.2 MOV A,62H SETB P2.3 MOV A,63H MOV P0,#0FFH RET DAT: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H*键盘中断服务程序* KEY: PUSH ACC PUSH PSW MOV P1,#0F0H ;高位输出1,读低四位的状态 MOV A,P1 ;送入A ANL A,#0F0H

19、 ;屏蔽低四位,保存高四位 MOV B,A MOV P1,#0FH ;低位输出1,读高四位状态 MOV A,P1 ANL A,#0FH ;屏蔽高四位,保存低四位 ORL A,B ;AB相或形成查表字符 MOV R0,#00H ;键码保存在R0中 MOV DPTR,#TAB LOOP:MOV A,R0 CJNE A,B,NEXT ;若相等则送键码到80H8FH单元中,不相等则继续查找 LJMP KEY1 NEXT:INC R0 CJNE R0,#10H,LOOP LJMP RETURN ; 查完没有键按下则返回主程序 TAB:DB 0EEH, 0EDH, 0EBH, 0E7H DB 0DEH,

20、0DDH, 0DBH, 0D7H DB 0BEH, 0BDH, 0BBH, 0B7H DB 07EH, 07DH, 07BH, 077H KEY1: MOV DPTR,#TAB1 ADD A,R0 JMP A+DPTR TAB1:AJMP OPR1 AJMP OPR2 AJMP OPR3 AJMP OPRZZ AJMP OPR4 AJMP OPR5 AJMP OPR6 AJMP OPRFZ AJMP OPR7 AJMP OPR8 ;以上为09数字键的入口地址 AJMP OPR9 AJMP OPRPA AJMP OPRST AJMP OPR0 AJMP OPRGO OPR1:MOV 63H,62

21、H MOV 62H,61H MOV 61H,60H MOV 60H,#01H LJMP RETURN OPR2: MOV 60H,#02H OPR3: MOV 60H,#03H OPRZZ:SETB ZZ CLR FF OPR4: MOV 60H,#04H OPR5: MOV 60H,#05H OPR6: MOV 60H,#06H OPRFZ:SETB FF CLR ZZ OPR7: MOV 60H,#07H OPR8: MOV 60H,#08H OPR9: OPRPA:SETB PP CLR JX OPRST:SETB SS OPR0: OPRGO:SETB JX CLR PP RETURN

22、:POP PSW POP ACC RETI*延时子程序* DELAY:MOV R7,#100 DE:MOV R6,#50 DJNZ R6,$ DJNZ R7,DE*显示提示信息OVER程序* WAN:MOV P2,#08H MOV P0,#0C0H MOV P2,#04H MOV P0,#0C1H MOV P2,#02H MOV P0,#86H MOV P2,#01H MOV P0,#88H END第4章 系统仿真4.1系统仿真使用Proteus软件画出系统电路图,然后加载程序文件。点击开始按钮,进行系统仿真。仿真结果如图4.1所示。图4.1 系统仿真图4.2系统仿真结果分析从键盘输入步进电机的运行步数,确定步进电机的转动方向,然后按下开始键按钮,从PROTEUS仿真中我们可以看到电机按照我们预设的要求转动并且数码管也比较清晰的显示着步进电机当前剩余的步数,当步数减为0的时候,显示提示信息“OVER”告诉我们所有步数已经执行完毕。在步进电机正常转动的过程中,按下暂停键,电机停止转动,数码管同样显示当前剩下的步数,等待开始按钮按下;当开始键按下后,系统恢复暂停前的运行状态。开始键和步进电机方向

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1