毕业设计(论文)-步进电机调试装置设计与实现.doc_第1页
毕业设计(论文)-步进电机调试装置设计与实现.doc_第2页
毕业设计(论文)-步进电机调试装置设计与实现.doc_第3页
毕业设计(论文)-步进电机调试装置设计与实现.doc_第4页
毕业设计(论文)-步进电机调试装置设计与实现.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

题 目 步进电机调试装置设计与实现 学生姓名 学号 所在学院 物 理 与 电 信 工 程 学 院 专业班级 通 信1201 班 指导教师 完成地点 陕西理工学院 2016年 05月 30日陕西理工学院本科毕业设计任务书院(系) 物理与电信工程学院 专业班级 通信工程(通信1201) 学生姓名 一、毕业设计题目 步进电机调试装置设计与实现 二、毕业设计工作自 2015 年 11 月 9 日 起至 2016 年 5 月 18 日止三、毕业设计进行地点: 通信实验室 四、毕业设计应完成内容及相关要求: 设计内容:基于单片机或其它控制器,利用集成芯片或其他自设的电路作为电机驱动,以数字集成电路技术为基础,单片机技术为核心,以单片机语言进行软件设计,采用模块化结构,设计出一个步进电机调试装置。该装置能够驱动步进电机进行正转、反转、加速、减速、停止。掌握系统硬件、软件工作原理,针对相关功能模块,熟练掌握步进电机的一般控制方法。设计要点:(1)熟练应用单片机进行电路系统设计;(2)掌握步进电机的工作原理;(3)基于42或57步进电机,步进电机及驱动器购买,控制器自行开发;(4)根据电路原理图,制作电路板,完成样品制作、调试、改进;(5)系统测试与性能分析,分析存在的技术问题,并提出改进的方法;(6)撰写论文。 五、毕业设计的进度安排:1.开题报告截止日期:2016年3月18日完成任务:(1)开题报告撰写,并于指定时间在系统中提交开题报告。(2)完成在系统中下达的外文翻译原文并提交。2. 论文(设计)实施阶段截止日期:2016年5月18日完成任务:(1)查阅文献资料拟定毕业论文(设计)大纲,进行相关实验、调查或文献综述。(2)4月中旬必须在系统中提交中期检查,教师审核后按照整改意见修改。(3)提交初稿,教师进行初审,退回修改,直到初稿审核通过,进行定稿阶段。3. 评阅及答辩阶段截止日期:2016年6月13日完成任务:(1)定稿论文评阅,答辩PPT制作。(2)论文答辩,答辩后按照修改意见对论文进行终稿定稿。 指导教师签名 专业负责人签名 学院领导签名 批准日期 2016-01-10 步进电机调试装置设计与实现(陕西理工学院物理与电信工程学院通信1201班,陕西 汉中 723000) 指导教师:摘要步进电机运用广泛,是一种将电脉冲信号转换成角位移或线位移的控制元件,输入的脉冲频率决定着它的转速,而转向则是由通电时序决定。本设计采用的是STC89C51单片机对步进电机进行控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过ULN2003芯片驱动步进电机正常工作,LCD1602作为显示模块,便于观察步进电机的当前状态。最终实验结果显示,步进电机能正常完成正反转、加减速、停止、复位等功能,虽然最终的硬件较为粗糙,转速较慢,但基本功能都可以实现,完成了预期目标,但还有很大完善空间。关键字 步进电机,单片机,正反转,加减速 Design and implementation of the stepper motor debugging mechanism (Grade12,Class1,Major of Communication Engineering,School of Physics and telecommunication Engineering of Shaanxi University of Technology, Hanzhong 723003,Shaanxi)Tutor: Abstract:Stepping motor is widely used, it is a kind of transform electrical pulse signal into angular displacement or linear displacement control components, input pulse frequency determines its speed, and the steering is decided by the electric timing. This design uses a STC89C51 microcontroller to control the step motor, the output sequence of square wave through the I/O port as a stepping motor control signal, the signal after ULN2003 chip driving a stepper motor to work properly, LCD1602 as a display module, easy to observe the current state of the stepper motor. Finally the experimental results show that the stepper motor can complete positive &negative, deceleration and stop and reset function, although the final hardware is relatively rough, speed is slow, but the basic function can be realized, completed the expected target, but also has the very big perfect space.Key words: Stepper motor and single chip microcomputer, positive &negative, deceleration1 引言1 1.1 课题研究的目的和意义1 1.2 课题研究的主要内容12 专业知识和方案设计2 2.1设计所需专业知识2 2.2 设计方案23 硬件分析与设计3 3.1 步进电机3 3.1.1 步进电机的分类3 3.1.2 步进电机的基本参数3 3.1.3 步进电机的结构与原理3 3.1.4 永磁步进电机的控制原理4 3.1.5 步进电机的特点4 3.2 控制模块5 3.2.1 单片机最小系统5 3.2.2单片机的引脚功能6 3.2.3 主要特性6 3.2.4 键盘控制电路7 3.3 LCD液晶显示模块8 3.3.1 LCD1602简介8 3.3.2 接口引脚功能8 3.4 驱动模块10 3.4.1 ULN2003104 软件分析与设计12 4.1 程序流程图12 4.2 读键盘子程序流程图13 4.3 键盘处理子程序流程图13 4.4 电机控制中断程序流程图15 4.5 主程序工作过程16 4.6 Proteus仿真175 调试与改进18 5.1 调试结果18 5.2 不足与改进18致谢19参考文献20附录A: 汇编语言源程序21附录B:外文原文26附录C:外文翻译37陕西理工学院毕业论文1 引言1.1 课题研究的目的和意义步进电机又叫做脉冲电动机或阶跃电动机,它是基于电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速、顺时针、逆时针转动控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行。单片机控制的步进电机应用广泛,在工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等领域中都有涉及1。随着经济和电子技术的发展,步进电机的应用将会更加广泛,这也对步进电机的工作性能有了更高的要求。1.2 课题研究的主要内容本设计的要求是基于单片机或其它控制器,利用集成芯片或其他自设的电路作为电机驱动,以数字集成电路技术为基础,单片机技术为核心,以单片机语言进行软件设计,采用模块化结构,设计一个步进电机调试装置。本次设计选用的是42四相八拍步进电机,利用单片机控制步进电机实现运转。通过改变脉冲频率来调节步进电机的速度,改变通电时序改变步进电机的转向,并且通过液晶显示屏显示其转速的级别和转向。步进电机可以作为一种控制用的特种电机,利用其没有积累误差的特点,广泛应用于各种开环控制。2 专业知识和方案设计2.1设计所需专业知识 本设计的要求是基于单片机或其它控制器,利用集成芯片或其他自设的电路作为电机驱动,以数字集成电路技术为基础,单片机技术为核心,以单片机语言进行软件设计,采用模块化结构,设计一个步进电机调试装置。由于是以数字集成电路技术为基础,单片机技术为核心,因此,对数电、单片机、电路和C语言的相关基础知识必须非常熟悉。做硬件之前,必须进行仿真,所以要求我们对proteus仿真软件熟练掌握。2.2 设计方案步进电机的控制方式有很多种,可以采用电子电路控制、PLC控制和单片机控制。由于电子电路控制步进电机灵活度不高,PLC控制不能在高频率下进行,控制精度小,而随着科技的迅速发展,单片机的应用正在不断深入,同时我们在课程中对单片机也是有所学习,简单,方便,易上手,综合起来,步进电机的控制方式我们采用STC89C52。 总体设计主要由三个大模块组成,包括控制模块、驱动模块和显示模块。控制模块:步进电机的速度控制是通过单片机发出的脉冲频率来实现,转向是由通电时序决定,正序换相通电即正转,反向通电换相即反转。控制模块主要由STC89C52单片机和按键开关,自锁开关组成。驱动模块:ULN2003芯片是高耐压、大电流达林顿阵列,由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路,单片机通过I/O口输出的时序方波作为步进电机的控制信号,经过芯片ULN2003驱动步进电机。显示模块:LCD1602液晶显示器具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,因此,这次选择是用它作为显示模块。液晶显示模块电机驱动模块STC89C51键盘控制模块图2.1 总体设计框图第 2 页 共 46页3 硬件分析与设计3.1 步进电机步进电机是一种能够将电脉冲信号转换成角位移或线位移的控制元件。根据要求,本次采用的是42四相八拍永磁式步进电机,单相步进电动机输出功率一般很小,它主要的作用是微小功率驱动。多相步进电动机有多相方波脉冲驱动,用途非常广泛2。一般情况下,输入步进电机的脉冲总数与步进电机的总角度严格成正比,连续输入特定频率的脉冲时,步进电机的转速与输入脉冲的频率保持严格的对应关系,它转动的速度不受电压,负载等影响。本次毕业设计采用的是步进角为0.9度的四相八拍永磁式步进电机。3.1.1 步进电机的分类步进电机一般分为三大类,混合式步进电机、永磁式步进电机和反应式步进电机。(1)混合式步进电机:如字面意思,它混合了反应式步进电机和永磁式步进电机的优点,有两相和五相之分,两相步进角一般为1.8度,而五相步进角一般为 0.72度。 (2)永磁式步进电机:通常是两相,它的体积和转矩都很小。 (3)反应式步进电机:通常是三相步进电机,可以实现大扭矩输出,它有一个缺点,振动和噪声相对都比较大。反应式步进电机的转子是软磁材料制成的,的那个自伤缠绕着多相励磁绕组,通过这些激励磁场的变化,产生转矩,步进角一般为1.5度。3.1.2 步进电机的基本参数 (1)相数:电机内部线圈绕组的对数。四相指的是四对。(2)拍数:电机内部磁场发生一次周期性变化所需要的脉冲数,拿四相电机来说,有四相四拍运行方式即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) 电机正反转:这里说的电机正反转也就是顺时针和逆时针转动,当电机绕组通电时序为A-AB-B-BC-C-CD-D-DA时为顺时针转动,通电时序为DA-D-CD-C-BC-B-AB-A时为逆时针转动。3.1.3 步进电机的结构与原理步进电机内部分为转子和定子两部分:定子:由硅钢片叠加而成,定子上每两个相对应的磁极组成一组,总共有八个磁极,也就是有四组。转子:它的外部表面平均的分布着一些很小的齿,由软磁材料制作而成。步进电机是将脉冲信号转变成角位移,如字面意思,也就是说,步进电机每接收到一个脉冲信号,步进电机就转动一个固定的角度,所以说,用单片机控制是最简单的一种方法。 步进电机相对于其他电机,它有一个最大的不同,是通过输入脉冲信号来进行控制的,也可以说输入脉冲的数量决定着步进电机的总转动角度3。驱动电路通过接收单片机的输出脉冲来控制步进电机正常运转。其基本工作原理如下:(1)步进电机转动方向的控制如果给定工作方式正序换相通电,步进电机就顺时针转动,如果按反序通电换相,则电机就逆时针转。 (2)步进电机转动速度的控制步进电机每接收到一个脉冲信号,就转动一步,再接收一个脉冲信号,就再转动一步,两个输入脉冲间隔时间越短,步进电机就转的越快,通过改变单片机输出脉冲频率,可以实现对步进电机转动速度的控制。3.1.4 永磁步进电机的控制原理这次毕设用的是永磁式步进电机,所以先简单的介绍一下永磁式步进电机的原理。其接线图如图3.1所示: 图3.1 四相永磁步进电机接线图从图中可以看出,四相步进电机共有四组线圈,其中有五根引线,A、B、/A、/B和COM.只要轮流给各引出端口供电,步进电机就能转动。C用来标识COM端口,只要给AC、BC或/AC、/BC,轮流加电就能驱动步进电机运转。这样就很容易确定驱动电路,因为步进电机的工作电压为 12V,因此可以选择用一个开路输出达林顿驱动器作为驱动,通过 P1.0、 P1.2来控制各线圈的接通与切断。开机时,P1.0、 P1.2均为高电平,依次将 P1.0、 P1.2(或P1.1、 P1.3反向)切换为低电平就可以驱动步进电机转动。3.1.5 步进电机的特点(1)一般情况下,步进电机的精度为步进角的3-5%,没有累计误差,具有良好的跟随性。(2)步进电机外表的温度可以达到80到90,属于正常现象,但不允许高于100。(3)步进电机的转速越快,输出力矩越小。(4)步进电机带惯性负载能力较差,噪声和振动较大。(5)步进电机与驱动电路可以组成开环控制系统,非常简单,而且可靠。步进电机的价格是一般电机的四分之一。(6)步进电机动态响应快,启动停止反应迅速,方便控制。(7)速度可以在很宽的范围内进行调节,速度越慢,输出力矩越大。(8)相对于一般的电机,步进电机只能通过脉冲电源供电才能运行,不能直接使用交流电源和直流电源。(9) 步进电机存在失步和振荡。(10)步进电机在低速可以正常运转,但如果高于一定速度就无法启动,并且会有啸叫声产生。3.2 控制模块步进电机控制系统共分为两个模块:单片机最小系统模块、键盘控制模块。单片机最小系统主要由复位电路和时钟电路组成。复位电路为单片机系统提供可靠复位,使单片机能正常启动4。时钟电路采用外部时钟方式,保证单片机个功能部件都是以时钟频率为基准,有条不紊地一拍一拍地工作。键盘控制模块包括方向控制键、加速键和减速键、启停键,分别与单片机的P1.5、P3.7、P1.6、P3.6和P3.1、P3.0相连。实现对步进电机的控制。3.2.1 单片机最小系统单片机是把微型计算机主要部分都集成在一块芯片上的单芯片微型计算机。图3.2中表示单片机的典型结构图。由于单片机的高度集成化,缩短了系统内的信号传送距离,优化了结构配置,大大地提高了系统的可靠性及运行速度,同时它的指令系统又很适合于工业控制的要求,因此单片机在工业过程及设备控制中得到了广泛的应用。本次设计选用STC89C52作为步进电机的控制芯片STC89C52的结构简单并可以在编程器上实现闪烁式的电擦写达几万次以上使用方便等优点,而且完全兼容MCS52系列单片机的所有功能。STC89C52是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机5。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-52指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,STC89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。程序存储器时钟CPUI/O口定时/计数器数据存储器图3.2 典型单片机结构图单片机通过与外界交换信息,进行实时控制和实时数据处理。人们需要通过人机对话,了解系统的工作情况和进行控制。单片机芯片与其它CPU比较,功能虽然要强得多,但由于芯片结构、引脚数目的限制,片内ROM、RAM、I/O口等不能很多,在构成实际的应用系统时需要加以扩展,以适应不同的工作情况。单片机应用系统根据系统扩展和系统配置的状况,可以分为最小应用系统、最小功耗系统、典型应用系统。本设计是设计一款最小应用系统,最小应用系统是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关量的输入/输出控制、时序控制等。对于片内有ROM/EPROM的芯片来说,最小应用系统即为配有晶体振荡器、复位电路和电源的单个芯片;对与片内没有ROM/EPROM芯片来说,其最小应用系统除了应配置上述的晶振、复位电路和电源外,还应配备EPROM或EEPROM作为程序存储器使用。3.2.2 单片机的引脚功能图3.3 单片机的引脚排列(1)VCC(40):电源+5V。(2)VSS(20):接地,也就是GND。(3)XATL1(19)和XATL2(18):振荡电路。单片机是一种时序电路,必须有脉冲信号才能工作,在它的内部有一个时钟产生电路,有两种振荡方式,一种是内部振荡方式,只要接上两个电容和一个晶振即可;另一种是外部振荡方式,采用外部振荡方式时,需在XTL2上加外部时钟信号。(4)PSEN(29):片外ROM选通信号,低电平有效。(5)ALE/PROG(30):地址锁存信号输出端/EPROM编程脉冲输入端。(6)RST/VPD(9):复位信号输入端/备用电源输入端。(7)EA/VPP(31):内/外部ROM选择端。(8)P0口(39-32):双向I/O口。(9)P1口(1-8):准双向通用I/0口。(10)P2口(21-28):准双向I/0口。3.2.3 主要特性与MCS-52兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:全静态工作:0Hz-24Hz三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路6。(1) 振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(2)芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,STC89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.2.4 键盘控制电路键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。键盘实质是一组按键开关的集合。键盘所用开关为机械弹性开关,利用了机械触点的合、断作用。一个电压信号在机械触点的断开、闭合过程中,都会产生抖动,一般为510ms;两次抖动之间为稳定的闭合状态,时间由按键动作所决定;第一次抖动前和第二次抖动后为断开状态。按键的闭合与否,反映在输出电压上就是呈现出高电平或低电平。通过对输出电平的高低状态的检测,便可确认按键按下与否。在本设计中,高电平表示按键断开,低电平表示按键闭合状态。为了确保单片机对一次按键动作只确认一次按键,必须消除抖动的影响。消除按键抖动通常采用硬件、软件两种方法。由于硬件消抖电路设计复杂,本设计中没有采用,在此不再详细叙述;软件消抖适合按键较多的情况,方便简单7。其原理图如图3.4,图3.5所示:图3.4 单片机控制模块原理图图3.5 按键控制模块原理图3.3 LCD液晶显示模块3.3.1 LCD1602简介液晶显示模块在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。这里向大家介绍一款LCD1602液晶显示模块,它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。1602外观如图3.6所示:图3.6 1602字符型液晶显示器实物3.3.2 接口引脚功能图3.7 LCD1602引脚图1602LCD采用标准的16脚(带背光)接口,各引脚接口说明如表3.1所示:表3.1 各引脚说明符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,低电平时选择指令寄存器、高电平时选择数据寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。图3.8 显示模块原理图3.3.3 LCD1602的优点在单片机系统中应用晶液显示器作为输出器件有以下几个优点:(1)显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。(2)数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。(3)体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。(4)功耗低:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。3.4 驱动模块3.4.1 ULN2003本系统的设计目的为了高效控制步进电机的转动,因此需要将单片机发出的脉冲转化为步进角度,才能控制步进电机转动,我们在这里采用ULN2003为步进电机提供脉冲信号。ULN2003NPN达林顿连接晶体管是低逻辑电平数字电路(如TTL,CMOS或PMOS/NMOS)和大电流高电压要求的灯、继电器、打印机锤和其他类似负载间的接口的理想器件。广泛用于计算机,工业和消费类产品中。所有器件有集电极开路输出和用于瞬变抑制的续流箝位二极管8。ULN2003的设计与标准TTL系列兼容。它的管脚连接图如图3.9所示:图3.9 ULN2003管脚连接图3.4.2 ULN2003主要特性表.3.2 ULN2003主要特性表参数名称符号数值单位输入电压VIN30V输入电流IIN25mA功耗PD1W工作环境温度Topr-20to +85贮存温度Tstg-55to+150ULN2003芯片是高耐压、大电流达林顿阵列,由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。功率电子电路大多要求具有大电流输出能力,以便于驱动各种类型的负载。功率驱动电路是功率电子设备输出电路的一个重要组成部分9。ULN2003芯片高压大电流达林顿晶体管阵列产品属于可控大功率器件。步进电机驱动电路的工作过程是:首先从P1口输出00000001B,由于单片机与ULN2003连接只用到了P1.0P1.3,所以ULN2003与单片机连接的四个管脚中每时刻只有一个管脚处于导通状态(采用单拍方式对步进电机控制),其他管脚处于断开状态。这样就使得与ULN2003连接的步进电机只有一个引出端导通。该系统驱动原理图如图3.10所示:图3.10 步进电机驱动原理图第 11 页 共 46 页4软件分析与设计步进电机调试系统的软件需要同时完成读取键盘、处理键盘、控制步进电机转动、控制液晶显示屛显示等任务,这就必须通过中断技术来实现。在本设计中,主程序采用查询方式扫描键盘端口,检测按键动作是否发生,若有按键动作则处理键盘,根据按键值修改相应参数值,实现键盘的实时处理功能。定时器0中断服务程序控制步进电机的转动:根据当前显示的速度进行键盘手动改变T0定时时间常数,设置TH0和TL0的值,达到对转速精确控制的目的;根据转动方向控制位的值,控制脉冲信号循环移动的方向,达到对转动方向控制的目的10。4.1 程序流程图步进电机调试系统的主程序在对整个系统初始化后主要完成读键盘和处理键盘的功能,如图4.1所示: 初始化结束检测速度并显示 检测正反转并显示处理键盘子程序 是否有键按下 开始 Y结束 N 图4.1 步进电机调试系统主程序流程图第 17 页 共 52 页系统上电复位后,先调用初始化子程序,对步进电机各端口,相关参数进行初始化,设置T0工作方式控制时间常数。初始化完成后,步进电机处于停止状态,T0定时器处于关闭状态。然后循环调用读键盘子程序和键盘处理子程序,等待中断,以便实现步进电机转动控制。4.2 读键盘子程序流程图首先初始化实际键值参数为0FH,然后扫描P2口,与初始值比较,相等则说明没有键按下,不相等则软件消抖,以便确认是否真的有键按下。延时10ms后再次扫描P2口,第二次与初始值比较,若相等则表明前一次比较不相等是由抖动产生;如果相等则表明确实有键按下。执行键盘之程序里的指令,将相应的变量值改变,为键盘处理子程序做准备11。如图4.2所示:处理键盘子程序有键按下启动 N Y处理键盘子程序有键按下启动图4.2 扫描键盘字程序流程图KEY: MOV P2,#03H ;读键盘情况 JNB KEY2,FZ ;判断正反转 CJNE R4,#08,LOOPZ ;是否为结束标志 MOV R4,#0FFHLOOPZ: INC R4 ;正转 MOV A,R4 MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A ACALL DELAY2 AJMP LOOP4.3 键盘处理子程序流程图按键处理子程序流程图如图4.3所示:步进电机的启停控制通过启停定时器T0来实现,因为定时器T0控制着脉冲信号的输出,关闭定时器T0也就阻止了脉冲信号的输出。START: MOV DPTR,#TAB MOV R4,#0 MOV P1,#03H CLR FLAG MOV P0,#8DH ;地址 第1行第13位 CALL ENABLE MOV A,#31H ;1 CALL WRITE2 MOV SPD,#00H ;速度 SPD MOV DELAY_V,#04H ;延时时间LOOP: JNB KEY2,FAN MOV P0,#85H ;地址 第1行第5位 CALL ENABLE MOV A,#5AH ;Z 正 ACALL WRITE2 AJMP SPEEDFAN: MOV P0,#85H ;地址 第1行第5位 CALL ENABLE MOV A,#46H ;F 反 ACALL WRITE2第 14 页 共 46 页初始化变量量量开始P2.3是否按下P2.2是否按下P2.0是否按下P2.1是否按下退出TR0取反,通过启停T0启停步进电机取反方向控制为,改变电机转动方向修改速度参数值,减速修改速度参数值,加速是是是是图4.3键盘处理子程序流程图4.4 电机控制中断程序流程图定时器中断0服务程序流程图如图4.4所示:定时器中断0服务程序的中断时间由当前的转速决定。进入中断程序后,首先要保护现场,再根据当前值设置TH0和TL0的值。然后判断转动方向控制位的值,如果是0则控制脉冲信号P1.0、P1.2输出,如果是1则控制脉冲信号P1.1、P1.3输出。最后恢复现场,返回,等待下次中断。通过用当前转速控制中断时间,控制了脉冲的输出频率,也就达到了控制步进电机转动速度的目的;通过检测方向控制位的电平,选择脉冲信号P1.0、P1.2与P1.1、P1.3间的切换,控制了步进电机各引出端的接通顺序,也就到实现了步进电机转动方向的控制12。各模块控制的详细程序附于最后。第 16 页 共 53 页改变方向控制变量值退出有控制位查询输出脉冲判断转动方向控制位的值开始设置TD时间参数否 是图4.4 定时器中断0服务程序流程4.5 主程序工作过程(1) 系统初始化。系统初始化包括定时器T0初始化,步进电机工作状态的初始化。 (2)键盘扫描及按键处理。判断是否有按键按下,若有则进行按键处理。按键功能包括数字按键,启动按键,停止按键,正转按键,反转按键、复位按键等功能按键。(3)系统启动。单片机读取开关状态标志,判断是否启动系统。4.6 Proteus仿真由于Proteus软件本身优良的仿真特性,所设计的程序能用于Proteus中,完成仿真过程的同时,即基本验证所设计程序的准确性,从而完成系统开发中的控制程序的设计部分。Proteus仿真步进电机的界面如图4.5所示。第 17 页 共 52 页图4.5 Proteus仿真界面通过Proteus软件的仿真,所编写的程序达到了预期的效果,仿真实现了程序的调试过程。第 17 页 共 52 页5 调试与改进5.1 调试结果 本系统的设计思路为:首先从整体上划分出各功能模块,然后硬件和软件同时进行依次完成各个功能模块,最后将各个模块联系起来完成整个系统。连接好硬件电路,上电复位,程序开始运行。(1)运行后会生成一个文件,插入到STC89C52芯片里;按下开始键,步进电机开始转动,LCD液晶显示器显示当前速度档位和转向;(2)此时每按下加速键一次,LCD液晶显示器显示数值加1,步进电机转动速度相应增加;此时每按下减速键一次,LCD液晶显示器显示数值减1,步进电机转动速度相应减少;此时若按下方向控制键,步进电机立即向相反方向转动,转动速度保持不变;此时若按下启停键,步进电机停止转动,LCD液晶显示器停止显示为0,符合设计要求,如图5.1所示。图5.1 实物图5.2 不足与改进步进电机调试装置的设计与实现这个题目比较简单,由于回校时间短,最终设计出来的成品比较粗糙,存在以下不足:步进电机转速很慢,经过测试,步进电机的转速每分钟只有16转,所以造成在进行加速和减速操作的时候,效果不是很明显。改进方法:步进电机转速慢有两个原因,一是购买的电机不是按照要求的那种型号,上网看了一下,同一种类也分很多型号,样式;最重要的原因是程序编写设定的脉冲频率可能太小,导致转速低。可以通过换特定型号的电机以及修改程序来解决设计中存在的不足。第 19 页 共 46 页致谢经过近两个月的努力,在赵老师和同组成员的帮助下,本次毕业设计顺利完成。步进电机调试系统主要分为硬件设计和软件设计两个部分:硬件设计主要是把单片机最小系统、键盘控制模块、步进电机驱动模块、显示模块、各个硬件功能模块及其它元件合理搭配并连接起来使其能够为软件运行提供一个硬件平台。软件设计主要是通过编写程序代码,实现对整个系统的控制。在系统上电复位后程序自动运行,通过接受外部的键盘操作修改系统参数值,控制步进电机的启停,以及转速的增减和转动方向的改变。本次设计由于设计时间较短,个人能力以及精力等因素的限制,加之设计经验的不足,该系统还有许多不尽如人意的地方。通过这次设计,加深对单片机控制系统的了解。将所学的理论知识应用到实践中,在系统的设计中做了如下的工作。(1)查阅相关资料。根据课题要求查阅资料,然后在老师的指导下,有针对性地学习相关知识,对资料进行消化和吸收。(2)根据系统的要求确定控制系统的总体设计方案。系统以STC89C52单片机为控制核心,并设计相应的接口电路,包括键盘电路、显示电路、步进电机的驱动电路等。(3)编写应用程序。软件是根据控制系统的要求设计的,包括主程序的设计、T0中断程序设计、键盘显示程序设计、调速程序设计等程序的设计。(4)用keil软件完成程序的编写和调试,并用Proteus软件进行系统仿真。在把理论设计转换成实物的整个过程,如:电路设计、画电路图、焊接电路、检查调试、软件流程控制设计分析、烧写软件到整个软硬件系统的调试,最后直到系统完成。其中整个系统的前期准备是首先必须做到位的,如控制什么、用什么控制、得到什么结果,进而对各部分应选择具体的芯片作进一步的考虑,以使系统得到最优的表现。通过本课题,一方面我在查阅资料的基础上,了解STC89C52单片机控制的一些基本技术,掌握其控制系统的分析方法与实现方法,能对单片机外围电路设计进行系统学习与掌握;另一方面,在设计步进电机控制系统的硬件电路,控制程序和相应的电路图时,应充分运用所学知识,善于思考,琢磨,分析。最后,再次对帮助过我的指导老师和同学表示诚挚的谢意,老师在需求分析方面给了我很大的帮助,使我能很快地就确定了系统的目的和开发方案,同时感谢同组成员间的帮助,大家经常在一起讨论商量,互相提建议,给了我很大方便,因为有充分的、默契的合作,才会有顺利的结果。第 17 页 共 52 页参考文献1袁任光,张伟武.电动机控制电路选用与258实例M.北京:机械工业出版社,2005(2):33-38. 2李夙.异步电动机直接转矩控制M.北京:机械工业出版社,2010(1):124-127. 3王鸿钰.步进电机控制入门M.上海:

温馨提示

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

评论

0/150

提交评论