1、(2013届)本科毕业设计(论文)资料题目名称基于单片的步进电机控制的设计学院(部)电气与信息工程学院专业电气工程及其自动化学生姓名班级学号指导教师姓名职称最终评定成绩湖南工业大学教务处2013届本科毕业设计(论文)资料第一部分毕业论文(2013届)本科毕业设计(论文)学院(部)电气与信息工程学院专业电气工程及其自动化学生姓名班级学号指导教师姓名职称最终评定成绩2013年6月湖南工业大学本科毕业设计(论文)I摘要步进电机从诞生以来发展迅速,它广泛应用于医疗设备、检测仪器、数码产品等人类社会的各个方面。本文设计的步进电机是基于单片机AT89C52控制,四相单四拍运行。单片机采用软件的方式发送脉冲
2、,经过驱动器74LS245将信号放大后送给步进电机。采用两个按键分别控制电机的正反转,两个按键分别控制电机的加减速,两个数码管分别显示电机的转向和速度档位。通过改变相邻两相脉冲发送的时间间隔,即调节脉冲的宽度,来改变电机的速度。控制正反转的按键采用查询方式。控制加减速的按键采用中断服务控制方式,一旦有加速或者减速键按下就会产生中断,单片机就会立即进入中断程序,进行相应的操作。这样可以很方便的控制电机的加减速。另外,数码管实时显示电机的速度和方向,让用户使用起来更加直观和安全。基于脉冲的控制,使步进电机相比其它电机而言控制更加平稳和精确。相信步进电机的发展会越来越快,技术也会越来越成熟,步进电机
3、将更好的造福于人类。关键词步进电机,单片机,中断服务,脉冲湖南工业大学本科毕业设计(论文)IIABSTRACTSTEPPERMOTORHASBEENDEVELOPINGRAPIDLYSINCEITSBIRTH,ITISWIDELYUSEDINMEDICALEQUIPMENT,TESTINGINSTRUMENTS,DIGITALPRODUCTSANDOTHERVARIOUSASPECTSOFHUMANSOCIETYSTEPPERMOTOROFTHISDESIGNISBASEDONSINGLECHIPMICROCOMPUTERAT89C52,ANDITISRUNNINGBYFOURPHASEFOU
4、RITSENDPULSESWITHTHEMETHODOFSOFTWARE,THEMESSAGEWILLBESENDEDTOSTEPPERMOTORTHROUGHTHEAMPLIFICATIONBY74LS245WEUSETWOMUTTONSCONTROINGTHEMOTORFORWARDINGANDREVERSING,TWOBUTTONSCONTROLLINGTHEMOTORACCELERATINGANDDECELERATING,TWODIGITALTUBEDISPLAYINGTHEDIRECTIONANDTHEGEARSOFSPEEDOFTHEMOTORBYCHANGINGTHEINTERV
5、ALBETWEENTHEPULSESOFTWOPHASEOFNEIGHBOURING,NAMELY,BYADJUSTINGTHEWIDTHOFPULSE,WECHANGETHESPEEDOFTHEMOTORWECONTROLTHETWOBUTTONSOFFORWARDINGANDREVERSINGBYTHEWAYOFQUERYINGWEUSETHEWAYOFINTERRUPTSERVICECONTROLLINGTHEBUTTONSOFACCELERATINGANDDECELERATINGONCETHEACCELERATIONORDECELERATIONKEYSHASBEENPRESSEDTHE
6、SINGLECHIPMICROCOMPUTERWILLGENERATEINTERRUPTS,ANDITWILLENTERTHEINTERRUPTINGPROGRAMIMMEDIATELY,ANDDOTHECORRESPONDINGOPERATIONINTHISWAY,WEWILLCONTROLTHEMOTORACCELERATINGANDDECELERATINGCONVENIENTLYBESIDES,DIGITALTUBECANDISPLAYTHESPEEDANDDIRECTIONOFTHEMOTORIMMEDIATELY,WHICHWOUDMAKETHEUSERINTUITIVEANDSAF
7、ERTHESTEPPERMORORWHICHBASEDONTHECONTROLLINGOFPULSEAREMORESTEADYANDCORRECTCOMPAREDWITHOTHERSIBELIVETHATTHEDIVELOPINGOFSTEPPERMOTORWILLBEFASTER,ANDTHETECHNOLOGYWILLBEMOERMATUREINAWORD,THESTEPPERMOTORWILLSERVICEPEOPLEBETTERINTHEFUTUREKEYWORDSSTEPPERMOTOR,SINGLECHIPMICROCOMPUTER,INTERRUPTINGSERVICE,PULS
8、E湖南工业大学本科毕业设计(论文)III目录摘要IABSTRACTII第1章绪论111课题背景112本文研究的内容1第2章步进电机的结构和工作原理221步进电机的特点222步进电机的构造223步进电机的工作原理324步进电机的主要参数425步进电机的选型5第3章步进电机的硬件设计531单片机简介532硬件设计总体思路1033步进电机的脉冲分配10331硬件分配法11332软件分配法1234步进电机的驱动1235电机运行电路设计14351正反转电路设计14352加减速电路设计1436显示电路的设计15第4章步进电机的程序设计1641主程序设计1642外部中断0程序1843外部中断1程序1944正
9、转脉冲程序1945反转脉冲程序2146速度显示程序2247延时程序22第5章步进电机的仿真2351硬件仿真图23湖南工业大学本科毕业设计(论文)IV52速度与方向显示仿真2453脉冲信号的生成25结论28参考文献29致谢30附录31湖南工业大学本科毕业设计(论文)1第1章绪论11课题背景步进电机我们又称为脉冲电动机或阶跃电动机,它基于电磁感应原理,将电脉冲信号转变为角位移或线位移。步进电机广泛应用于工业自动控制、数控机床、机器人、计算机外围设备、照相机、卫星天线定位系统等。随着经济的发展与科技的进步,步进电机的应用领域将更加广阔,更好的服务于人类。步进电机起源于1830年至1860年,1870
10、年前后把这种电机应用在氩弧灯的电极输送机构中,这被认为是最早的步进电机1。1973年德国百格拉公司发明了五相混合式步进电机及其驱动器,1993年又推出了性能更加优越的三相混合式步进电机2。我国在80年代以前,以反应式步进电机为主,80年代后混合式步进电机开始发展。图11步进电机的图片12本文研究的内容本文研究试图基于单片机采用软件的方式发出脉冲信号,经过功率放大器送给电机。设计四个按键分别控制步进电机的正转、反转、加速和减速,实现方便的正反转和加减速。设计两个数码管显示电机的运行速度等级和方向,达到实时监测步进电机的运行状态,既方便安全又经济实惠。1欧伟明,何静,凌云,刘剑单片机原理与应用电子
11、工业出版社,20092张迎新单片机原理及应用(第二版)电子工业出版社,2009湖南工业大学本科毕业设计(论文)2第2章步进电机的结构和工作原理21步进电机的特点1步进电机的角位移与输入脉冲数严格成正比,没有累计误差,具有控制精确和良好的跟随性3。2由步进电机与单片机、驱动电路组成的开环系统,既方便廉价又可靠安全。如果加上角度反馈就会成为高性能的闭环控制系统4。3速度可以在比较宽的范围内调节,低速运行时仍具有较大转矩,因此可以不需要减速器而直接驱动负载。4步进电机动态响应快,可以方便快速的实现正反转和加减速控制。5步进电机只能通过专门的脉冲电源供电,不能由一般的交流电或直流电供电,这由它的工作原
12、理决定的。6步进电机的噪声和振动较大,带惯性负载的能力不强。7步进电机的力矩随转速的升高而下降。8步进电机外表不允许较高的温度,外表温度一般不超过8090摄氏度。22步进电机的构造步进电机由转子和定子组成,如图12所示,分别介绍如下1定子由硅钢片叠成,在定子上有6大磁极,每2个相对的磁极组成一对,一共有3对。定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开0、1/3、2/3,(为相邻两转子的齿距)4。2转子由软磁材料制成,其外表面均匀分布着小齿,它们大小相同,间距相同4。3宋文绪,杨帆自动检测技术(第三版)高等教育出版社,20084陈士进,朱学忠步进电机系统驱动与控制策略综述J电机技术
13、,2007年06期湖南工业大学本科毕业设计(论文)3图12步进电机结构图电机的A1、B1、C1接电源,分别有三个开关控制,A2、B2、C2分别接地。23步进电机的工作原理如上图所示给处于错齿状态的三相通电,则转子在电磁力的作用下,将向磁导率最大(即磁阻最小)的位置转动,也就是趋于对齿的状态转动5。步进电机是一种感应电机,它的工作原理是给电机的三相按一定的相序分时通直流电,即形成一系列的脉冲信号,步进电机就会连续的转动。以四相步进电机为例说明6(1)方向控制通电换向的过程称为脉冲分配。四相单四拍的通电顺序为ABCDA;四相双四拍的通电顺序为ABBCCDDAAB。通电控制脉冲信号必须严格按照这一顺
14、序控制四相的通断,才能保证步进电机的正常运行。电机如要反转,则通电顺序刚好相反。反转时,四相单四拍通电顺序为ADCBA;四相双四拍为BAADDCCBBA。四相步进电机工作时序波形图如下A单四拍B双四拍图13步进电机工作时序波形图脉冲分配如下表所示表11四相单四拍脉冲分配表5王宗培,史敬灼二相混合式步进电机仿真模型分析J微特电机,1998年06期6韩轩五相混合式步进电机驱动系统的设计与仿真D大连交通大学,2010年ABCDN1000N10100N20010湖南工业大学本科毕业设计(论文)4表12四相双四拍脉冲分配表(2)速度控制两个相邻脉冲通电时间间隔越短,步进电机速度就越快。因此可以通过控制这
15、一时间间隔来控制电机的转速。24步进电机的主要参数1步进电机的相数指电机内部的线圈数,常用的有两相、三相、五相的步进电机。2拍数完成一个磁场周期性变化所需脉冲数,或电机转过一个齿距角所需脉冲数,用M表示。3齿距角相邻两齿中心线间的夹角,通常定子和转子具有相同的齿距角。其计算公式为Z2/Z(Z是转子的齿数)6。4步距角指每给一个电脉冲信号电动机转子所应转过的角度的理论值。BZ/NZ2/NZ(N是工作拍数,Z是转子的齿数)。5保持转矩指步进电机通电但没有转动时,定子锁住转子的力矩。6定位转矩电机在没有通电状态下,电机转子自身的锁定力矩。7失调角转子齿轴线偏移定子齿轴线的角度,电机转动必然存在失调角
16、,由失调角而产生的误差,采用细分驱动是不能解决的。8失步电机运转时的步数不等于理论上的步数。9运行矩频特性电机在某一测试条件下测得运行中的输出力矩与频率关6韩轩五相混合式步进电机驱动系统的设计与仿真D大连交通大学,2010年N30001ABCDN1100N10110N20011N31001湖南工业大学本科毕业设计(论文)5系的曲线。25步进电机的选型步进电机的选型包括三个方面电机最大速度、电机定位精度和电机力矩选择,下面分别介绍(1)电机最大速度选择步进电机最大速度一般在6001200R/MIN。交流伺服电机的额定速度一般为3000R/M,最大速度为5000R/M。机械传动系统要根据此参数设计
17、。(2)电机定位精度选择机械传动比确定以后,可根据控制系统的定位精度选择步进电机的步距角和驱动器的细分等级。一般选一个步距角对应系统定位精度的1/2或者更小。(3)电机力矩选择步进电机的动态力矩一般情况下不容易确定。通常先确定电机的静力矩,静力矩的选择依赖于电机工作的负载。负载一般分为惯性负载和摩擦负载。直接起动(一般低速起动)时两种负载都要考虑,加速起动时主要考虑惯性负载,恒速运行时只考虑摩擦负载就可以了。一般地,静力矩为摩擦负载的23倍,静力矩确定好了,电机的几何尺寸就确定了7。第3章步进电机的硬件设计步进电机的硬件设计包括单片机最小系统、脉冲分配、驱动模块、运行控制模块、显示模块。下面分
18、别予以介绍。31单片机简介7李颖,五相混合式步进电机控制技术研究D西北工业大学,2007年湖南工业大学本科毕业设计(论文)6单片机诞生于20世纪70年代,美国INTEL公司1996年宣布1997年推出MCS48单片机,随后单片机技术飞速发展,至今有30多年历史8。我国从20世纪70年代末80年代初开始进行单片机的应用与研发。单片机从8位发展到16位和32位,这不得不说是一个惊人的进步。单片机是单片微型计算机的简称。单片机是将中央处理器CPU,程序存储器ROM或EPROM,数据存储器RAM,定时器/计数器,并行及串行口等电路集成在一块芯片上做成的微型计算机9。单片机的典型结构如下图31所示。图3
19、1单片机的典型结构单片机与一般的微型机相比,具有以下特点1控制功能强。为满足工业控制的要求,在单片机的指令系统中有非常系统的数据传送指令、算术运算指令、逻辑运算及移位指令、控制转移指令和位操作指令。这些指令让单片机更加灵活。2集成度高、体积小、可靠性强。3低功耗、低电压,便于生产便携式产品。4具有很高的性价比,功能强大而且成本较低,可应用于生活各领域。5采用串行接口,可以大大减少器件的引脚,简化系统结构。另外串行传输速度也在不断提高。6在程序存储器发面,FLASHROM单片机问世,让程序存储器的编写可以擦除,单片机的使用更加便捷10。下面以ATMEL公司AT89C52单片机为例进行介绍,如图3
20、2所示8陈忠平,曹巧媛,曹琳琳,刘琼,申晓龙单片机原理及接口清华大学出版社,20079WQYANGDMSPINK,ETANIMAGERECONSTUCTIONALGORITHMBASEDONLANDWEBERSITERATIONMETHODFORELECTRICALCAPACITANCETOMOGRAPHYMEASSCITECHNOL1999,101065106910曲家骇,王季,伺服控制系统中的传感器M机械工业出版社1998时钟CPU定时计数器RAMROM并行口串行口湖南工业大学本科毕业设计(论文)7图32单片机引脚图1引脚功能说明1VCC给单片机提供电源电压,GND接地。2P0口P0口是一
21、组8位漏极开路型双向I/O口。当其扩展外部存储器及I/O接口时,P0口作为低8为地址总线/数据总线的分时复用。P0口也可作为通用的I/O口使用,但要加上拉电阻,这时为准双向口。这在仿真和做电路板时一定要注意。3P1口P1口是一个带内部上拉电阻的8位双向I/O口。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。另外,P10和P11还可分别作为定时/计数器2的外部计数输入(P10/T2)和输入(P11/T2EX),参见表31。FLASH编程和程序校验期间,P1接收低8位地址11。11张友德,赵志英,涂时亮,单片机微机原理,应用与实验M上海复旦大学出版社,2003122136湖
22、南工业大学本科毕业设计(论文)8表31P10和P11的第二功能引脚号功能特性P10T2(定时/计数器2外部计数脉冲输入),时钟输出P11T2EX(定时/计数2捕获/重装载触发和方向控制)4P2口P2是一个内部带上拉电阻的8位准双向I/O口。对P2端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。在CPU从外部程序存储器取指令和访问外部数据存储器时,P2口输出16位地址中的高8位地址。5P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出可驱动4个TTL逻辑门电路。对P3口写入“1”时,引脚被内部上拉电阻拉高并可作为输入口。P3口如表32所示,除了作为一般的I/O口外
23、,更重要的用途是其具有第二功能,特别是五个中断源,它在本设计中发挥了非常大的作用。表32P3口的第二功能端口引脚第二功能P30RXD(串行输入口)P31TXD(串行输出口)P32INT0(外中断0)P33INT1(外中断1)P34T0(定时/计数器0)P35T1(定时/计数器1)P36WR(外部数据存储器写选通)P37RD(外部数据存储器读选通)6RST复位输入。当单片机工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。单片机在复位时,各种参数恢复到初始设置。7ALE/PROG当CPU访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。通常情况下
24、ALE以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟频率或用于定时需要。对FLASH存储器编程时,该引脚还用于输入编程脉冲(PROG)。另外可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,禁止ALE操作。该位置位以后,只有MOVX和MOVC指令才能将ALE激活。应该注意的是,单片机执行外部程序时,应设置ALE禁止位无效12。12ATEMLAT89S51DATASHEETSWEBSITEWWW21ICCOM湖南工业大学本科毕业设计(论文)98PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当CPU由外部程序存储器取指令时,每个机器周期PSEN两次有
25、效,即输出两个脉冲。在此期间,在访问外部数据存储器时将跳过两次RSEN信号。9EA/VPPEA为片外程序存储器访问允许控制信号输入端。当EA为高电平时,单片机读片内程序存储器,当程序计数器PC值超过0FFH时,将自动转向片外存储器。当EA为低电平时,只读片外程序存储器。FLASH存储器编程时,该引脚要加上12V的编程使能电压。10XTAL1振荡器反相放大器及内部时钟发生器的输入端。11XTAL2振荡器反相放大器的输出端。2单片机的最小系统单片机的最小系统包括单片机、晶振电路、复位电路和电源。本设计的最小系统如下图33所示,因为在PROTUES软件里单片机自动带电源,所以就没有特定的电源引脚了。
26、图33单片机的最小系统晶振电路它控制着单片机的工作节奏。89C52单片机的时钟信号有两种产生方式,一种是内部方式,一种是外部方式。如图33下面分别对其予以介绍。1内部时钟方式利用芯片内部的振荡电路实现。在单片机的外部引脚XTAL1、XTAL2两端接晶振和电容,构成了稳定的自激振荡器,产生的脉冲信号送入内部时钟电路。外接晶振时,C1、C2一般选择30PF,C1、C2对时钟有微调作用,晶振的频率范围可在333MHZ之间选择。为减小寄生电容和保证振荡器更稳定的工作,晶振和电容安装时应尽量与XTAL1、XTAL2靠近。本设计采用内部湖南工业大学本科毕业设计(论文)10时钟方式。2外部时钟方式使用现成的
27、外部振荡器产生的脉冲信号,外部时钟信号接XTAL1端,XTAL2端悬空。这种方式用的比较少。复位电路在时钟电路工作之后,只要在RST引脚上出现两个机器周期以上的高电平,单片机就可以复位。当RST引脚变为低电平则退出复位,进入单片机的初始工作状态。本设计采用手动复位,按下复位键电容放电,电容迅速放电,RST变为高电平,当复位键弹起后,电源VCC对电容重新充电,使RST引脚出现正脉冲而复位。电容一般为22UF,R1为1K,R2为200。32硬件设计总体思路如下图34所示,通过P1口发送脉冲信号。信号经过74LS245功率放大器放大后送给步进电机。P34和P35接两个按键分别控制电机的正转与反转。P
28、32和P33对应外部中断0和外部中断1,分别控制电机的加速和减速。P0口和P2口接两个共阳极的数码管分别显示步进电机的转向和速度等级。本设计步进电机采用四相单四拍,转子齿为50齿,根据步距角计算公式B2/NZ360/50/418度(N是工作拍数,Z是转子的齿数)。即给步进电机发送一个脉冲,电机转动18度。图34步进电机的总体硬件图33步进电机的脉冲分配脉冲分配通常有两种方法硬件分配和软件分配,各有其特点,硬件法比价湖南工业大学本科毕业设计(论文)11稳定,但参数比较固定;软件法采用编写程序,不需要额外的硬件,成本低,而且控制灵活。故本设计采用软件分配法。下面分别介绍。331硬件分配法以CT74
29、LS194为例来说明其工作原理。图35环形脉冲分配器如图电路图35所示,环形脉冲分配器是使一个矩形脉冲按一定的顺序在输出端Q0Q3之间,轮流分配反复输出的电路13。工作原理介绍如下把输出端Q3反馈接至右移输入端DSR,使DSRQ3,CR1。初始时,M1M011,寄存器处于并行输入方式。D0D1D2D31000,输入CP脉冲,在脉冲上升沿到来时输出端Q0Q1Q2Q31000。工作时,M1M001,让芯片处于右移方式。DSRQ30,当第一个CP脉冲上升沿到来时,右移一位变为Q0Q1Q2Q30100,DSR0。同理第二个CP脉冲上升沿到来时,Q0Q1Q2Q30010,DSR0。第三个上升沿脉冲到来时
30、,Q0Q1Q2Q30001,DSR1。第四个上升沿脉冲到来时Q0Q1Q2Q31000,回到初始状态。若不断输入脉冲则寄存器重复以上的过程。环形脉冲的状态表如下表33所示。13谢自美电子线路设计实验测试M武汉华中科技大学出版社,2000212230湖南工业大学本科毕业设计(论文)12表33环形脉冲分配器状态表CPM1M0DSRQ0Q1Q2Q30110100010100100201000103011000140101000332软件分配法软件法是单片机P1口的P10P13四个引脚通过写“1”或者“0”的方法获得脉冲,每个脉冲的时间通过延时程序控制。P10P13的脉冲分配表如下表34所示。表34P1
31、0P13的脉冲分配表P1口的脉冲经过驱动器74LS245送给步进电机。74LS245驱动器将在下面内容介绍。34步进电机的驱动步进电机的驱动有7输入7输出的ULN2001、ULN2002、ULN2003、ULN2004和8输入8输出的ULN2823和ULN2824,但这些芯片的输出都取反。本设计的输入与输出电位相同故采用74LS245。74LS245是我们常用的芯片,用来驱动LED管或者其他设备,它是8路同相三态双向总线收发器14。74LS245还具有双向三态功能,既可以输出数据,也可以输入数据。一般情况下,当单片机的I/O口总线负载达到或超过其最大负载能力时,必须接入74LS245等总线驱动
32、器,才能带动负载。14李广第,单片机基础北京航空航天大学出版社,2001P13P12P11P10N0001N10010N20100N31000湖南工业大学本科毕业设计(论文)13如图37所示,当片选端CE低电平有效时,DIR“0”,信号由B传输给A,即接收数据15。DIR“1”,信号由A传输给B,即发送数据。当CE为高电平时,A、B均为高阻态。P2口与驱动器输入线对应相连。图3674LS245引脚图如图37所示,在本设计中74LS245接单片机的P1口,P10P13分别接74LS245的A0A3,输出端B0B3接步进电机的A、B、C、D四相输入端。E端接地,AB/BA端接5V电源。数据从A传输
33、给B。图37驱动模块电路图15求是科技编著,单片机典型模块设计实例导航北京人民邮电出版社,2004湖南工业大学本科毕业设计(论文)1435电机运行电路设计步进电机的运行控制包括电机正反转控制和加减速控制。351正反转电路设计图38正反转电路设计如图38所示,P34接S1,控制电机的正转,P35接S2控制电机的反转。其原理为P3口自带上拉电阻,默认输出高电平。将两个引脚通过开关接地,当有键按下并且常闭时,该引脚被拉为低电平。编程时采用查询方式检测到P34有低电平,P1口发送正转脉冲;检测到P35有低电平时,P1口发送反转指令。在没有按下加减速按键,即没有产生外部中断的情况下,单片机一直在检测两个
34、按键是否按下。若有键按下则进行相应的操作。352加减速电路设计图39加减速电路设计如图39按键S3接外部中断0,按键S4接外部中断1。设置外部中断0和湖南工业大学本科毕业设计(论文)15外部中断1均为下降沿触发方式。设为下降沿触发,外部中断信号即下降沿的撤除是自动完成的。加速原理点动S3则瞬间P32被拉为低电平,随后又立即回复高电平,这样的下降沿信号能使外部中断0产生中断请求。单片机进入中断后,确定速度档位是多少,根据速度档位发送相应频率的脉冲给步进电机,得到不同的速度。同时根据速度档位显示当前的速度。减速时点动S4通过P33的外部中断1产生中断,减速原理与加速原理相同。36显示电路的设计显示
35、电路包括电机转动速度显示和方向显示。如图310所示P0口接一个共阳极数码管用来显示电机的转向,正转时显示“1”,反转时显示“2”。P2口接一个共阳极数码管显示电机的速度档位,可显示15五个档位。两个数码管的七段引脚分别接P0口与P2口的7个引脚,两个COM端接5V电源。图310显示电路湖南工业大学本科毕业设计(论文)16第4章步进电机的程序设计本设计的程序设计包括一个主程序和五个主要子程序。这五个子程序分别为正脉冲发送程序、反脉冲发送程序、加速程序、减速程序、速度显示程序。延时程序在正脉冲发送程序和反脉冲发送程序中被调用,用来控制相邻两个脉冲的间隔时间。控制这个时间就可以达到调速的目的了。下面
36、分别对主程序和子程序进行介绍。41主程序设计图41主程序流程图如上图41,系统初始化程序YYY开始系统初始化S1闭合调用正转脉冲和速度显示程序S2闭合调用反转脉冲和速度显示程序NN湖南工业大学本科毕业设计(论文)17MOVR2,01HMOVR4,1MOVR5,8SETBIT0SETBIT1SETBEAETBEX0SETBEX1在初始化程序中,R2记速度的档位,初值为1即起动速度为一档,满足电机低速起动要求。R4初值为正转起始脉冲序列0001,R5初值为反转起始脉冲序列1000。外部中断0和外部中断1均设为下降沿触发。最后三条指令打开总中断允许、打开外部中断0以及外部中断1允许。中断请求标志由T
37、CON控制,TCON寄存器如表41。表41TCON寄存器TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88HIT0为外部中断0的中断触发方式控制位。当IT00,为电平触发方式,即INT0输入低电平信号时形成有效的中断请求16。当IT01,为下降沿触发方式,即INT1输入负跳变信号时形成有效的中断请求17。同理IT1的触发方式相同,本设计INT0和INT1均采用下降沿触发,这样可以自动撤除外部中断信号。按键检测原理为如果S1闭合,则调用正转脉冲程序和和速度显示程序,另外方向直接显示“1”即可。调用了子程序之后又反过来继续检测检测S1是否按
38、下。如果S1没有按下则检测S2是否按下,S2按下则调用反转脉冲程序和速度显示程序,方向直接显示“2”。若S2没有按下则继续检测S1是否被按下。总之,产生了中断就进入中断服务程序,没有中断则一直检测按键。16刘守义,王静霞单片机应用技术西安电子科技大学出版社,200217于海生,微型计算机控制技术北京清华大学出版社,19996湖南工业大学本科毕业设计(论文)1842外部中断0程序图42外部中断0程序流程图如图42寄存器R2储存速度档位值,当外部中断0产生中断时,即有加速信号输入,R2自加1,在R2的值等于6时,R2恢复为5返回,小于6时直接返回R2值,这样保证速度在五档以后不能加速了。速度显示程
39、序根据R2的值显示出速度。入口R21R26R25返回NY湖南工业大学本科毕业设计(论文)1943外部中断1程序图43外部中断1程序流程图当外部中断1产生中断时,即有减速信号输入,R2自减1,在R2的值等于0时,R2恢复为1返回,大于0时直接返回R2值,这样保证速度到一档时不再减速。速度显示程序根据R2的值显示出速度档位。44正转脉冲程序正转脉冲程序是步进电机设计中最核心的部分。不同宽度的脉冲决定着电机的不速度。其流程图如下图44Y入口R21R20R21返回N湖南工业大学本科毕业设计(论文)20图44正转脉冲程序流程图正转脉冲程序的作用是完成正转脉冲的发送。设R4的值为正转脉冲序列,进入正转脉冲
40、程序先将R4的值送给P1口,由P1口送给步进电机。TAB2建立了一个脉冲宽度表,根据R2的值即速度档位调用相应的延时程序就得到了对应的脉冲宽度。延时之后将R4的值乘以2,也就是将脉冲序列左移1位。然后检测R4的值是否等于16,若等于16说明一个周期的最后一个序列1000已经延时完毕,这时将R4的值恢复1返回。若R4的值不等于16直接返回。TAB2表的数据如下TAB2DB00H,3CH,28H,1EH,14H,05H这五个数据分别对应0档至5档的延时程序里的R1的值,通过改变R1的值来达到不同延时时间的目的。对应五个速度的延时时间分别为60MS、40MS、30MS、入口送R4的值给P1口根据R2
41、的值调用延时程序将R4的值乘以2R416R41返回YN湖南工业大学本科毕业设计(论文)2120MS、10MS。45反转脉冲程序图45反转脉冲程序流程图反转脉冲程序完成反转脉冲的发送。设R5的值为反转脉冲序列,入口时先将R5的值送给P1口,经P1口送给步进电机,驱动电机运行。TAB2建立了一个脉冲宽度表,根据R2的值即速度档位调用相应的延时程序就得到了对应的脉冲宽度。延时时间用R1的值来控制。延时之后将R2的值除以2,也就是将脉冲序列右移1位。然后检测R5的值是否等于0,若等于0说明一个周期内的最后一个序列0001已经延时完毕,这时将R5的值恢复8即1000返回。若R5的值不等于0则直接返回。入
42、口送R5的值给P1口根据R2的值调用延时将R5的值除以2R50R58返回YN湖南工业大学本科毕业设计(论文)2246速度显示程序MOVA,R2MOVDPTR,TAB1MOVCA,ADPTRMOVP2,ARETTAB1DB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,0F8H,80H,90H设R2为速度档位,用数据表查询的方式调用要显示的数字代码,数字代码送给P2口,由接在P2口的数码管显示对应的数字。TAB1中的10个代码分别对应七段共阳极数码管数字0到9的代码。共阳极数码管的工作原理是给某一段写0即送低电平,该段就点亮。47延时程序DELAYMOVR1,ADL2MOVR3
43、,25/延时1MSDL1MOVR0,255DJNZR0,DJNZR3,DL1DJNZR1,DL2RET本延时程序有三个嵌套,单片机的晶振采用12MHZ,其周期为1/12US。里面两层嵌套的时间为(255错误未找到引用源。22)错误未找到引用源。25错误未找到引用源。1/12US1067US1067MS。这样第三层的R1的值就决定了延时时间。可以近似看成R1是多少就延时多少毫秒。湖南工业大学本科毕业设计(论文)23第5章步进电机的仿真步进电机的仿真基于PROTUES仿真系统,它是一款功能强大的单片机仿真软件。可以在做实物电路板之前检测硬件和软件设计是否合理。PROTUES软件可以像PROTEL软
44、件一样,完成单片机电路原理图的绘制、PCB的设计。更为重要的是,可与KEILUVISION4等软件结合进行编辑、编译和仿真调试。下面从硬件电路图、速度与方向显示、脉冲序列的生成和电机转动四个方面来介绍步进电机的仿真情况。51硬件仿真图图51步进电机仿真硬件电路图硬件电路如图51,它的设计和工作原理在前面章节已有介绍。仿真系统开始运行,没有任何按键按下,两个数码管均显示“0”。湖南工业大学本科毕业设计(论文)2452速度与方向显示仿真图52速度与方向显示(A)图53速度与方向显示(B)图52所示,S1按下,电机正转,左边数码管显示“1”表示正转,右边数码管显示“1”表示速度一档。同理图53显示正
45、转三档速度。图54速度与方向显示(C)图55速度与方向显示(D)图54和图55均为S2按下,电机反转,左边数码管均显示“2”。图54显示速度二档,图55显示速度五档即最高档。当速度达到最高档时,按加速按键不会起作用;当速度达到最低档时按减速键也不起作用。这样设计可以防止误操作。湖南工业大学本科毕业设计(论文)2553脉冲信号的生成图56正脉冲信号图57反脉冲信号湖南工业大学本科毕业设计(论文)26图58反脉冲五档信号如图56所示,为步进电机运行时的正转脉冲,从上至下依次为A相、B相、C相、D相的脉冲,他们分别对应P10、P11、P12、P13。可以清楚的看到脉冲的变化过程如表51。但由于步进电
46、机的干扰,方波信号不平滑,可见示波器的仿真效果是不错的。表51正脉冲信号如图57为反脉冲信号,四相的顺序与正转相同。容易得出反脉冲信号的变化过程如表52。DCBAN0001N10010N20100N31000湖南工业大学本科毕业设计(论文)27表52反脉冲信号图58为反转五档速度的脉冲,这是最高速度,很直观地看到,脉冲速度比较快,脉冲宽度比较小。通过仿真测试,可以直观的检测我们的设计,也让我们更好的了解步进电机的各项特性。DCBAN1000N10100N20010N30001湖南工业大学本科毕业设计(论文)28结论经历几个月的努力,基于单片机的步进电机控制的设计顺利完成了。在设计过程中,也遇到
47、了不少麻烦,硬件的设计经过几次修改,主要是关于选择驱动器方面,最终比较选择了74LS245。编写软件程序与仿真调试是最麻烦的事了。我的设计思路是这样的一、先查阅相关的资料熟悉步进电机的控制原理。二、设计好初步的硬件电路,并用PROTUES软件画出硬件电路图。三、开始写步进电机的测试程序,比如数码管的静态显示,按键的查询和固定宽度的脉冲发送,并将这些程序一一调试通过。四、构思整个程序的框架,写出主程序和主要子程序的流程图。五、根据流程图写出所有程序,并在PROTUES调试通过。事实证明按照这样的思路可以达到事半功倍的效果,从刚开始的遥遥无期,到碰到问题时的各种纠结,到最终将步进电机的波形调出来这
48、一刻让我激动不已。这一过程记载了我的奋斗历程。通过本次设计让我对步进电机有了进一步的了解,同时也算是一次产品设计的尝试。硬件部分采用的器件应用广泛,且价格低廉,如AT89C52单片机、驱动器74LS245等。这就意味着所有的器件功能比较强大和稳定。本设计的亮点是脉冲分配采用软件编程的方式,大大降低了成本,而且调速灵活,调速范围广泛;另外加速和减速采用中断方式不占用CPU的时间,大大提高了步进电机的效率。本设计电路简单、低成本且易于操作,能够满足人们对电机的高精度、宽范围以及平稳性的要求,具有广泛的应用前景。湖南工业大学本科毕业设计(论文)29参考文献1欧伟明,何静,凌云,刘剑单片机原理与应用电
49、子工业出版社,20092张迎新单片机原理及应用(第二版)电子工业出版社,20093宋文绪,杨帆自动检测技术(第三版)高等教育出版社,20084陈士进,朱学忠步进电机系统驱动与控制策略综述J电机技术,2007年06期5王宗培,史敬灼二相混合式步进电机仿真模型分析J微特电机,1998年06期6韩轩五相混合式步进电机驱动系统的设计与仿真D大连交通大学,2010年7李颖,五相混合式步进电机控制技术研究D西北工业大学,2007年8陈忠平,曹巧媛,曹琳琳,刘琼,申晓龙单片机原理及接口清华大学出版社,20079WQYANGDMSPINK,ETANIMAGERECONSTUCTIONALGORITHMBASEDONLANDWEBERSITERATIONMETHODFORELECTRICALCAPACITANCETOMOGRAPHYMEASSCITECHNOL1999,101065106910曲家骇,王季,伺服控制系统中的传感器M机械工业出版社199811张友德,赵志英,涂时亮,单片机微机原理,应用与实验M上海复旦大学出版社,200312213612ATEMLAT89S51DATASHEETSWEBSITEWWW21ICCOM13谢自美电子线路设计实验测试M武汉华中科技大学出版社,200021223014