片机课程设计报告--步进电机控制设计.doc_第1页
片机课程设计报告--步进电机控制设计.doc_第2页
片机课程设计报告--步进电机控制设计.doc_第3页
片机课程设计报告--步进电机控制设计.doc_第4页
片机课程设计报告--步进电机控制设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机课程设计报告步进电机控制设计日期: 2012.6.18-6.21 目录1、概要2、课程设计目的及要求3、整体系统分析4、硬件系统分析5、软件系统分析6、调试结果7、结论附一:元器件清单附二:源程序1、概要步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。本次课程设计主要采用AT89S52芯片,用汇编语言编写出电机的正转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片ULN2004以及相应的按键实现以上功能,并且步进电机的工作状态要用相应的发光二极管显示出来。控制系统主要由硬件设计和软件设计两部分组成。其中,硬件设计包括单片机的最小系统模块、电源模块、控制模块、步进电机ULN2003A驱动模块、彩灯显示模块5个功能模块的设计。并且通过仿真控制系统对硬件、软件进行了调试和改善,实现了上述功能。本系统具有智能性、实用性及可靠性的特点。2. 课程设计目的及要求2.1 课程设计目的l 增进对单片机的感性认识,加深对单片机理论方面的理解;l 掌握单片机的内部功能模块的应用,如定时器/计数器、中断、存贮器、I/O口、A/D转换等;l 了解和掌握单片机应用系统的软硬件设计过程及实现方法。2.2 课程设计要求l 设计一个步进电机控制器,要求用多个按键控制电机的启动/停止、加速、减速、反转等控制功能。l 用彩灯显示电机的转动状态,如加速就控制彩灯快速闪烁,减速则控制彩灯慢速闪烁等。3. 整体系统分析3.1步进电机控制工作原理步进电机实际上是一个数字角度转换器,也是一个串行的数模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4 个方面。从结构上看 ,步进电机分为三相、四相、五相等类型 ,本次设计的是四相电机。四相步进电机的工作方式有单四拍、双四拍和单双八拍3 种 。3.1.1步进电机的启停控制步进电机由于其电气特性,运转时会有步进感 ,即振动感。为了使电机转动平滑 ,减小振动 ,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波 ,可以减小步进电机的步进角 ,提高电机运行的平稳性。在步进电机停转时 ,为了防止因惯性而使电机轴产生顺滑 ,则需采用合适的锁定波形 ,产生锁定磁力矩 ,锁定步进电机的转轴 ,使步进电机的转轴不能自由转动。 3.1.2步进电机的转向控制如果给定工作方式正序换相通电 ,步进电机正转。若步进电机的励磁方式为单四拍,即 A -B C - D。如果按反序通电换相 ,即则电机就反转。3.1.3步进电机的速度控制如果给步进电机发一个控制脉冲 ,它就转一步 ,再发一个脉冲 ,它会再转一步。2 个脉冲的间隔越短 ,步进电机就转得越快。调整送给步进电机的脉冲频率 ,就可以对步进电机进行调速。3.1.4步进电机的换向控制步进电机换向时 ,一定要在电机减速停止或降到突跳频率范围之内再换向 ,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第1 个脉冲前发出。对于脉冲的设计主要要求要有一定的脉冲宽度(一般不小于5s)、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了减速换向加速3 个过程。3.2系统设计思路 我们本次设计的步进电机控制系统主要有单片机89S52、ULN2003A步进电机驱动芯片、四相永磁式步进电机、LED显示管及其其他相关元件组成。可以通过开关来控制系统的启/停工作,并通过LED显示管的工作状态显示步进电机的正、反转和前进、后退的状态。其总体设计框图1所示:AT89S52单片机控制模块ULN2003A五线四相步进电机驱动模块LED发光二极管显示五线四相步进电机开关控制模块图1 系统设计框图4. 硬件系统设计4.1主要元件简介4.1.1 AT89S52单片机AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU在掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图2. AT89S52引脚图4.1.2 ULN2003A驱动芯片ULN2003 是高耐压、大电流、内部由七个硅NPN 达林顿管组成的驱动芯片。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它 能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来 处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受 50V 的电压,输出还可以在高负载电流并行运行。图 3. ULN2003A引脚图4.2模块分析4.2.1 时钟晶振电路时钟电路是整个系统的心脏,控制着步进电机工作节奏。单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。89S52单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式. 图4中的外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30PF左右,晶振频率选12MHz。 图4 时钟电路4.2.2 复位电路为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图5 复位电路4.2.3 步进电机驱动电路本设计采用ULN2003A芯片。ULN2003 是高耐压、大电流、内部由七个硅NPN 达林顿管组成的驱动芯片。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它 能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来 处理的数据。ULN2003A 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受 50V 的电压,输出还可以在高负载电流并行运行。其中1B、2B、3B、4B分别与P1.0、P1.1、P1.2、P1.3相接图6 电机驱动电路4.2.4 显示电路由于系统显示的内容比较简单,所以显示选用发光二级管既方便又经济。当步进电机开始工作的时候,发光二极管发光;当步进电机不工作时,发光二极管不发光;当步进电机加速运行时,发光二级管快速闪烁;当步进电减速运行时,发光二极管减速闪烁。图7 显示电路4.2.5 系统总电路综合以上各模块,可得到总电路图:图8 电路总体仿真图5软件系统设计按硬件图连接好电路以后,开始用汇编语言写程序,并运行程序,程序编写程序流程图:(源程序见附录)开始分配地址空间 电机停转状态设置T0,T1工作方式,T0,T1置初值开中断启动T0调用键盘程序有键按下中断等待否定时时间到键盘处理程序是 停止T1否T0中断入口起、停标志位0 是启动T1显示程序定时时间到中断返回T1中断入口电机驱动程序中断返回主程序流程图取键值 正转按键按下否是起停标志位置“1”正反标志位置“0”开启T0反转按键按下是 否起停标志位置“1”正反标志位置“1”开启T0返回停止键按下速度计数减1起停标志位置“0”关闭T0、T1是 否速度计数加1否加速键按下最小速度是是否 是最大速度减速键按下 是 否速度计数减1否速度计数加1 键盘处理程序流程图6.调试结果 完成焊接任务后,接着就要对系统进行调试了。 连接并检查完基本线路后,我们将程序烧写到芯片上,但是开始我们设计的程序却烧写不上,我们以为是我们焊接的电路出现了问题,但检查后电路没问题,之后才知道我们用的芯片烧写器不行,换了个烧写器后程序便能够正确烧写进去了。然后就按下各个开关按键进行测试,最后电机和显示器都基本上按照设计要求工作了。最后的调试之所以能够如此顺利,与我们之前遇到的一系列问题和我们组员的辛勤付出是密不可分,最终电机能按要求转起来了就是对我们最好的鼓励!7.总结本次单片机课程设计可谓是困难重重,在设计制作的过程中确实遇到了很多问题,有的通过我们组员的努力最终解决了,有的最后没有解决。其中最大的一个问题就是软件程序的编写,在我们确定设计方案后,就开始用汇编语言编写程序了,在我们开始自己编写之前,通过网络查阅了一些相关的资料,也参考了一些其他成功的程序。但在我们编好之后,在进行计算机仿真测试的时候,总是不成功,不是电源通不上电,就是电机的转动状态不受控制,不能实现加速、减速、正反转等问题,最后,我们只好寻找指导老师寻求指导帮助。在这一点上我们没有做成功,心中难免有些许遗憾。其中遇到的另一个问题就是我们在进行调试时,程序不能烧写到芯片上,不过通过我们用排除法一步步排查后发现是由于烧写器功能的缺失,并不是硬件和软件问题,换了个烧写器后问题也就迎刃而解了。通过本次课程设计,我们深深体会到了理论知识学习的重要性,如果没有扎实的理论知识作为奠基,那么在今后的实践运用中就像是无头之蝇,没有一点头绪,不知从何入手,最终只能求助于他人,被动地进行工作。不管对以后的工作还是学习都起不到积极的促进作用。在本次课程设计活动中,我们团队也体会到了分工协作的重要性,主要负责写程序,焊接电路,负责撰写设计报告,每个组员分工明确,遇到个人难以解决的问题就一起商量讨论,组员之间既独立又不失联系协作,极大的提高了工作效率。这点是值得我们在今后的工作和学习中好好运用的。 附一: 元器件清单元器种类规格型号数量单片机ST89S521步进电机28BYJ-481驱动芯片ULN2003A芯片189S52配插座1开关5LED管2电阻10k47k35电容10uf30pf12振荡器12MHz1 附二:源程序ORG 00HSTART: MOV DPTR , #TAB1 MOV R0, #03H MOV R1 , #4H MOV R4, #00H MOV P1, #03HWAIT: MOV P1 , R0 MOV P0, #0FFH JNB P0.4,TIZ JNB P0.0,POS JNB P0.1,NEG SJMP WAITPOS : MOV A,R4 MOVC A,A+DPTR ACALL DELAY INC R4 AJMP KEYNEG: MOV R4,#6 MOV A,R4 MOVC A,A+DPTR MOV P1,A ACALL DELAY AJMP KEYKEY: MOV P0,#0FFH JB P0.4,ZZ1 AJMP TIZTIZ: MOV P1,#00H SETB P0.5 SETB P0.6 AJMP KEYZZ1: JB P0.0,FZ1 CJNE R4,#8,LOOPZ MOV R4,#0LOOPZ: MOV A,R4 MOVC A,A+DPTR MOV P1,A SETB P2.1 CPL P2.0 JNB P0.2,JIASUZ JNB P0.3,JIANSUZ ACALL DELAY INC R4 AJMP KEYFZ1: JB P0.1,KEY CJNE R4,#255,LOOPF MOV R4,#8LOOPF: DEC R4 MOV A,R4 MOVC A,A+DPTR MOV P1,A SETB P2.0 CPL P2.1 JNB P0.2,JIASUF JNB P0.3,JIANSUF ACALL DELAY AJMP KEYDELAY:MOV A,R1 MOV R6,ADD1: MOV R5,#6HDD2:MOV R7,#0DD3:DJNZ R7,DD3DJNZ R5,DD2 DJNZ R6,DD1RET JIASUZ:ACALL DELAY1CJNE R1,#02,L1JMP L2L1: DEC R1L2: JMP LOOPZJIANSUZ:ACALL DELAY1 CJNE R1,#08H,L3 JMP L4L3: INC R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论