1、- .呼伦贝尔学院本科生毕业论文题 目基于单片机的步进电机 专 业电子信息工程 姓 名 世霞 学 号 2011081435指导教师红峰年月日目录中文摘要2第一章绪论51.1 步进电机及其开展51.2 步进电机在我国的开展应用及前景51.3 设计研究容6第二章步进电机控制总系统设计72.1系统框架72.2步进电机的选择72.3电机驱动的选择8第三章系统硬件电路设计93.1系统硬件总电路构成93.2 步进电机系统93.2.1 步进电机的原理93.2.2 步进电机的特点93.2.3 步进电机的分类103.2.4 永磁步进电机的控制原理103.3 单片机系统113.4 键盘控制电路123.5 数码管驱
2、动显示电路133.6 步进电机驱动电路133.7 红外接收电路15第四章控制系统软件分析与设计164.1 主程序流程图164.2 读按键子程序流程图164.3 按键处理子程序流程图174.4 电机控制中断程序流程图18第五章系统调试与改进205.1 调试与改进205.2 运行结果20第六章总结21附录 B23致34基于单片机的红外遥控步进电机作 者:世霞指导教师:红峰中文摘要步进电动机由于用其组成的开环系统既简单,廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。随着微电子和计算机技术的开展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类
3、产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,本钱低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。本设计是采用STC89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。参加红外遥控模块,红外接收
4、器,红外发射器,让操作更简单快捷。根据不同的需要我们可以有五个不同档位速度的选择,并可以实现正反转。为了更显人性化,我们加上了一个数码管显示,显示步进电机的运行状态。关键词:步进电机,单片机,正反转控制,电机驱动,红外遥控ABSTRACTStepper motordue to the use oftheposition of theopen-loop system is simple,cheap,and very practical,so it is usedwidely in many fieldsof printerand other office automation equipment
5、 and variouscontrol device.Withthe development of microelectronics and puter technology, the stepper motor demandgrow with each passing day,it is widely used in the printer,electric toys and otherconsumer productsand C machines,industrial robots,medical equipment and othermechanical and electricalpr
6、oducts,whichare appliedinvarious fields of the national economy.Studies of the stepping motor control system,to improve the control precision and responsespeed,is of great significance toenergy savingetc.Stepper motor is apulse signal can beconverted intomechanicalangular displacement or line displa
7、cement ponents,stepper motor controlsystem is posed ofsteppingcontrollerposed ofa power amplifier,and stepping motor.Using single chip microputer control,using software instead ofthe abovestep controller,thecircuit is simple,lowcost,reliability is improved greatly.Software programmingflexibility top
8、roduceoperation modeof different types ofstepper motorexcitationsequenceto control all kinds ofstepper motor.This designis the use of STC89C51 microcontrollertocontrolthe stepping motor,temporalsidethrough the I/O port outputwaveas the control signalof step motor ,the signal through thechip ULN2003
9、to drive thestepper motor.According to different needs,wecan have ten differentgearspeed selection , and the realization ofpositive inversion.In order tobe more humanized,weadded adigital display ,displaythe operating state of the stepping motor.Keywords:Stepping motorsingle-chip microputerpositive
10、inversion controlmotor driveInfrared remote control第一章 绪论1.1 步进电机及其开展步进电机又称为脉冲电动机或阶跃电动机它是基于最根本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。随着经济的开展,技术的进步和电子技术的开展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。步进电机的原始模型起源于1830年至1860年,1870年前后开场以控制为目的的尝试,应用于氩弧灯的
11、电极输送机构中,这被认为最早的步进电机。1950年后期晶体管的创造也逐渐应用在步进电机上,对于数字化的控制变得更为容易。到20世纪60年代后期,在步进电机本体方面随着永磁材料的开展,各种实用性步进电机应运而生。步进电机往后经过不断改进,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要准确操作各项指令动作的灵活控制性场合步进电机用得最多。1.2 步进电机在我国的开展应用及前景我国步进电机的研究及制造起始于本世界50年代后期,从50年代后期到
12、60年代后期,主要是高等院校和科研机构为研究一些装置而使用或开发少量产品。我国在文化大革命中开场大量生产和应用步进电机,例如、等各地都有投入生产,而且都在各行业使用,其中的驱动电路所有半导体器件都是完全国产化的,当时是全分立元器件构成的逻辑运算电路,还有电容耦合输入的计数器,触发器,环形分配器。中等耐压的大功率半导体器件也完全国产化。70年代初期,步进电机的生产和研究都有所突破,除反映在驱动器设计方面的长足进步以外,对反响式步进电机本体的设计研究开展到一个较高的水平。70年代中期至80年代中期为成品开展阶段,新品种高性能电动机不断被开发。至80年代中期以来,由于步进电机准确模型做了大量研究工作
13、,各种混合式步进电机及驱动器作为产品广泛利用。国外在大功率的工业设备驱动上,目前根本不使用大扭矩步进电动机,因为从驱动电路的本钱,效率,噪音,加速度,绝对速度,系统惯量与最大扭矩比来比拟,比拟不划算,还是用直流电动机,加电动机编码器整体技术和经济指标高。一些少数高级的应用,就用空心转杯电机,交流电机。国外在小功率的场合,还使用步进电机,例如一些工业器材,工业生产装备,打印机,复印件,速印机,银行自动柜员机。国过去是用大力矩步进电动机实现机床数控,有实力的公司现在也采用交流电动机驱动数控机床,在驱动设备的主要差距,是国外对交流电动机的控制理论与工程分析和应用能力强,先进的控制理论作为软件,写在控
14、制器部。目前,生产步进电机的厂家确实不少,但具有专业技术人员,能够自行开发,研制的厂家却非常少,大局部的厂家只一、二十人,连最根本的设备都没有。仅仅处于一种盲目的仿制阶段。这就给户在产品选型、使用中造成许多麻烦。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。1.3 设计研究容本论文所选的步进电机是四相步进电机,采用的方法是利用单片机控制步进电机的驱动。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信
15、号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而到达准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而到达调速的目的。本次毕业设计就是通过改变脉冲频率来调节步进电机的速度的,并且通过数码管显示其转速的级别。另外通过单片机实现它的正反转,步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。本设计的目的是以单片机为核心设计出一个单片机控制步进电机的控制系统。本系统采用STC89C51作为控制单元,通过键盘实现对步进电机转动方
16、向及转动速度的控制,并且将步进电机的转动速度动态显示在数码管上。主要实现功能:15个按键控制整个电路,对应功能分别是:正转、反转、复位、速度加、速度减;红外遥控控制速度加减,电机正反转;2数码管显示电机运行速度的档数和正反转的指示;35个小红灯,一个为电源指示,四个指示电机的转速。第二章步进电机控制总系统设计2.1系统框架硬件主要以单片机为核心,本次毕业设计选用的步进电机是四相步进电机,通过软件和硬件的结合实现步进电机的启停、正转、反转、加速、减速功能,并且步进电机所处的状态用相应的发光二极管显示。主要通过三大块来设计,包括驱动电路的设计、状态显示局部和按键局部是设计。本设计的系统总框图如图2
17、-1所示。红外遥控模块单片机键盘控制模块电机驱动模块数码管显示模块电源模块图2-1总体设计框图2.2步进电机的选择步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停顿的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机那么转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。系
18、统是单片机控制,整个设计的电压是5v,所以电机的电压也要选择5v可以驱动的,所以本实验选择28BYJ-48步进电机作为设计对象,步进电机28BYJ48型四相八拍电机,电压为DC5VDC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度一个步距角。当通电状态的改变完成一个循环时,转子转过一个齿距。2.3电机驱动的选择系统的设计目的为了高效控制步进电机的转动,因此需要将单片机发出的脉冲转化为步进角度,才能控制步进电机转动,我们在这里采用ULN2003为步进电机提供脉冲信号。ULN200
19、3七NPN达林顿连接晶体管是低逻辑电平数字电路如TTL,CMOS或PMOS/NMOS和大电流高电压要求的灯、继电器、打印机锤和其他类似负载间的接口的理想器件。广泛用于计算机,工业和消费类产品中。所有器件有集电极开路输出和用于瞬变抑制的续流箝位二极管。ULN2003的设计与标准TTL系列兼容。第三章 系统硬件电路设计3.1系统硬件总电路构成以51单片机为核心处理器、单片机作为主控制器,DC-5V步进电机,集成芯片ULN2003作为电机驱动。五个按键输入,对应功能分别是:正转、反转、复位、速度加、速度减;LED数码管显示电机的正反转,同时显示电机运行速度的档数;5个小红灯一个为电源指示,四个指示电
20、机的转速。3.2 步进电机系统步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多一样步电动机。单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。多相步进电动机有多相方波脉冲驱动,用途很广。使用多相步进电动机,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度称为步距角。正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化
21、的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。3.2.1 步进电机的原理步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反响式步进电机简称VR、永磁式步进电机简称PM和混合式步进电机简称HB。 步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进展控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其根本原理作用如下:1控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,
22、其各相通电顺序为ABCD,通电控制脉冲必须严格按照这一顺序分别控制A、B、C、D相的通断。2控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,那么电机就反转。3控制步进电机的速度 如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进展调速。3.2.2 步进电机的特点1. 一般步进电机的精度为步进角的3-5%,角位移与输入脉冲数严格成正比,没有累计误差,具有良好的跟随性。2. 步进电机外表不允许较高的温度。步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下
23、降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。3. 步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率或速度的增大而相电流减小,从而导致力矩下降。4. 步进电机自身的噪声和振动较大,带惯性负载的能力较差。5. 由步进电机与驱动电路组成的开环数控系统,既非常简单、廉价,又非常的可靠。同时,它也可以与角度反响环节组成高性能的闭环数控系统。6. 步进电机的
24、动态响应快,易于启停,正反转及变速。7. 速度可在相当宽的围平滑调节,低速下仍能保证获得大转矩,因此,一般可以不用减速器而直接驱动负载。8. 步进电机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源。9. 步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施。10. 步进电机低速时可以正常运转,但假设高于一定速度就无法启动,并伴有啸叫声。步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的开展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。3.2.3 步进电机的分类现在比拟常用的步进电机包括反响式步进电机VR、永磁式步进
25、电机PM、混合式步进电机HB和单相式步进电机等。1. 反响式步进电机:一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反响式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。2. 永磁式步进电机:一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;3. 混合式步进电机:是指混合了永磁式和反响式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛,性能最好。3.2.4 永磁步进电机的控制原理在本设计以常用的永磁式步进电机为例,用单片机控制步进电机。其接线图如图3-1所示:图3-
26、1 永磁步进电机接线图从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有 5根引出线。要使用步进电机转动,只要轮流给各引出端通电即可。将 端标识为C,只要 AC、BC或/AC、/BC,轮流加电就能驱动步进电机运转,加电的方式可以有多种,如果将 端接正电源,那么只要用开关元件如三极管 ,将 A、B或/A、/B轮流接地。不难设计出控制电路,因其工作电压为 12V,因此用一块开路输出达林顿驱动器这里用ULN2003,关于ULN2003将在后面介绍作为驱动,通过 P1.0、 P1.3来控制各线圈的接通与切断。开机时,P1.0、 P1.3均为高电平,依次将 P1.0、 P1.2
27、 或P1.1、 P1.3反向切换为低电平即可驱动步进电机运行。如果要改变电机的转动速度只要改变两次接通之间的时间。改变转速,只要改变 P1.0、 P1.2 或P1.1、 P1.3反向轮流变低电平的时间即可到达要求,因为不会影响到其他功能的实现,这个时间可以用延时来实现,。这里以定时的方式来实现。下面首先计算一下定时时间。 按要求,最低转速为 20 转/分,而上述步进电机的步距角为 7.5,即每 48 个脉冲为 1 周,即在最低转速时,要求为960脉冲/分,相当于 62.5ms/脉冲。而在最高转速时,要求为 100转/分,即 48000 脉冲/分,相当于 12.5ms/脉冲。3.3单片机系统本次
28、设计选用STC89C5l作为步进电机的控制芯片。STC89C51的构造简单并可以在编程器上实现闪烁式的电擦写达几万次以上。使用方便等优点,而且完全兼容MCS5l系列单片机的所有功能。STC89C51是一种带4K字节闪烁可编程可擦除只读存储器 FPEROMFAlsh ProgrAmmABle And ErAsABle ReAd Only Memory的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。EA/VP31X119X218RESET9P37/RD17P36WR16P32/INT012P33/
29、INT113P34/T014P35/T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30P31/TXD11P30/RXD10GND20VCC40U1STC89C52图3-2 单片机引脚图3.4 键盘控制电路键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。键盘实质是一组按键开关的集合。键盘所用开关为机械弹性开关,利用了机械触点的合、断作用。一个电压信号
30、在机械触点的断开、闭合过程中,都会产生抖动,一般为510ms;两次抖动之间为稳定的闭合状态,时间由按键动作所决定;第一次抖动前和第二次抖动后为断开状态。按键的闭合与否,反映在输出电压上就是呈现出高电平或低电平。通过对输出电平的上下状态的检测,便可确认按键按下与否。在本设计中,高电平表示按键断开,低电平表示按键闭合状体。并且,为了能直观形象的表示按键闭合与否,还为每个按键相应增加了发光二极管,按键断开时,发光二极管灭,当有键闭合时,相应的发光二极管变亮。为了确保单片机对一次按键动作只确认一次按键,必须消除抖动的影响。消除按键抖动通常采用硬件、软件两种方法。由于硬件消抖电路设计复杂,本设计中没有采
31、用,在此不再详细表达;软件消抖适合按键较多的情况,方便简单。其原理是在第一次检测到有键按下时,执行一段延时10ms的子程序后在确认该键电平是否仍保持闭合状态电平,如果保持闭合状态电平那么确认为真正有键按下,从而消除了抖动的影响。其原理图如下图:图3-4 键盘控制模块原理图3.5 数码管驱动显示电路数码管是一种半导体发光器件,其根本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元多一个小数点显示;按能显示多少个“8”可分为1位、2位、4位等等数码管:按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到
32、一起形成公共阳极()的数码管,共阳数码管在应用时应将公共极接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极()的数码管,共阴数码管在应用时应将公共极接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。由于它的价格廉价使用简单在电器特别是家电领域应用极为广泛。本设计采用共阳极数码管来显示时间,利用三极管的开关作用驱动数码管。图3-5 数码管驱动显示电路3.6 步进电机驱动电路本系统的设计目的为了高效控制步进电机的转动
33、,因此需要将单片机发出的脉冲转化为步进角度,才能控制步进电机转动,我们在这里采用ULN2003为步进电机提供脉冲信号。ULN2003七NPN达林顿连接晶体管是低逻辑电平数字电路如TTL,CMOS或PMOS/NMOS和大电流高电压要求的灯、继电器、打印机锤和其他类似负载间的接口的理想器件。广泛用于计算机,工业和消费类产品中。所有器件有集电极开路输出和用于瞬变抑制的续流箝位二极管。ULN2003的设计与标准TTL系列兼容。它的管脚连接图如下图:图3-6 ULN2003管脚连接图其主要特性为:表3-1 ULN2003主要特性表极限值假设无其他规定,Tamb=25参数名称符号数值单位输入电压VIN30
34、V输入电流IIN25mA功耗PD1W工作环境温度Topr-20to +85贮存温度Tstg-55to+150ULN2003芯片概述与特点:ULN2003芯片是高耐压、大电流达林顿阵列,由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。功率电子电路大多要求具有大电流输出能力,以便于驱动各种类型的负载。功率驱动电路是功率电子设备输出电路的一个重要组成局部。ULN2003芯片高压大电流达林顿晶体管阵列产品属于可控大功率器件。步进电机驱动电路的工作过程是:首先从P1口输出00000001B,由于单片机与ULN2003连接只用到了P
35、2。4P2。7,所以ULN2003与单片机连接的四个管脚中每时刻只有一个管脚处于导通状态采用单拍方式对步进电机控制,其他管脚处于断开状态。这样就使得与ULN2003连接的步进电机只有一个引出端导通。. word.zl- .3.7红外接收电路红外线遥控器已被广泛使用在各种类型的家电产品中,它的出现给电器的使用带来很多便利,红外遥控系统一般由红外发射装置和红外接收设备两局部组成。红外发射装置又可由键盘电路、红外编码芯片、电源和红外发射电路组成。红外接收设备可由红外接收电路、红外解码芯片、电源和应用电路组成。通常为了信号能更好的被传输,发送端将基带二进制信号调制为脉冲串信号,通过红外发射管发射。常用
36、的有通过脉冲宽度来实现信号调制的脉宽调制和通过脉冲串之间的时间间隔来实现信号调制的脉冲调制两种方法。第四章 控制系统软件分析与设计步进电机控制系统的软件需要同时完成读取键盘、处理键盘、控制步进电机转动、控制数码管动态显示等任务,这就必须通过中断技术来实现。在本设计中,主程序采用查询方式扫描键盘端口,检测按键动作是否发生,假设有按键动作那么处理键盘,根据按键值修改相应参数值,实现键盘的实时处理功能。定时器0中断效劳程序控制步进电机的转动:根据当前显示的速度进展键盘手动改变T0定时时间常数,设置TH0和TL0的值,到达对转速准确控制的目的;根据转动方向控制位的值,控制脉冲信号循环移动的方向,到达对
37、转动方向控制的目的。4.1 主程序流程图系统分为电机正转、电机反转、电机加速与电机减速的几局部组成,其主程序框图如图4-1所示:开场初始化调按键、显示子程序调按键子程序调用正反转子程序调用加减速子程序停顿图4-1 步进电机控制系统主程序流程图4.2读按键子程序流程图按键采用扫描的方法,与初始值比拟,相等那么说明没有键按下,不相等那么软件消抖,以便确认是否真的有键按下。延时10ms后再次扫描,第二次与初始值比拟,假设相等那么说明前一次比拟不相等是由抖动产生;如果相等那么说明确实有键按下。执行键盘之程序里的指令,将相应的变量值改变,为键盘处理子程序做准备。如图4-2所示:启动否是否有键按下处理键盘
38、子程序是图4-2 扫描键盘字程序流程图4.3按键处理子程序流程图步进电机的启停控制通过启停定时器T0来实现,因为定时器T0控制着脉冲信号的输出,关闭定时器T0也就阻止了脉冲信号的输出。开场初始化变量取反方向控制为,改变电机转动方退出修改速度参数值,加速修改速度参数值,减速TR0取反,通过启停T0启停步进电机是是是是S1是否按下遥控右键是否按下遥控上键是否按下遥控下键是否按下红外遥控程序流程图初始化变量开场S4是否按下S3是否按下S1是否按下S2是否按下退出TR0取反,通过启停T0启停步进电机取反方向控制为,改变电机转动方向修改速度参数值,减速修改速度参数值,加速 是是是是键盘处理子程序流程图4
39、.4 电机控制中断程序流程图定时器中断0效劳程序流程图如图4-4所示:定时器中断0效劳程序的中断时间由当前的转速决定。进入中断程序后,首先要保护现场,再根据当前值设置TH0和TL0的值。然后判断转动方向控制位的值,最后恢复现场,返回,等待下次中断。通过用当前转速控制中断时间,控制了脉冲的输出频率,也就到达了控制步进电机转动速度的目的;通过检测方向控制位的电平,控制了步进电机各引出端的接通顺序,也就到实现了步进电机转动方向的控制。开场设置T0时间参数判断转动方向控制位的值有控制位查询输出脉冲退出改变方向控制变量值是图3.4 定时器中断0效劳程序流程图. word.zl- .第五章系统调试与改进5
40、.1 调试与改进在系统完成后测试系统,检查硬件和软件是否能够协调运行,并对系统出现的情况进展分析,看是否能够到达系统创作之初所设想的效果,如达不到那么重新修改系统的硬件构造或者修改软件的程序局部,直到到达设计需要为止。本系统的设计思路为:首先从整体上划分出各功能模块,然后硬件和软件同时进展依次完成各个功能模块,最后将各个模块联系起来完成整个系统。在硬件调试的过程中,遇到了很多问题。主要有:1. 确定步进电机的使用方法,和控制模式。此处尤为重要,这是整个系统的根底,也是确定软件是否能控制步进电机思路的开端。2. 单片机应用(电源)考前须知:在电源两端应该加一个47uF以上的电解电容和一个0。1u
41、F的小电容,进展电源去藕滤波。3.电机档位切换时,转速不明显,应当对每个档位中断的二维数组值改变大点。软件测试的时候也有些问题,主要有:1.软件去抖方式,和时间的控制。2.控制步进电机转动的程序段完成后,调试发现对步进电机速度的控制围过小,查阅资料后发现设计思路不太合理,原先的设计思路是用主程序控制步进电机转动,采用延时方式控制步进电机速度,由定时器处理键盘;改进程序,主程序用来处理键盘,由定时器控制步进电机转动,步进电机转动速度由定时器定时时间决定。问题得到解决,不仅扩大了步进电机速度的控制围,也使得单片机对步进电机速度的控制更加准确。由于编译只能检查是否存在语法错误,所以还要看是否存在逻辑
42、错误。程序修改好以后,当显示编译0错误,0警告的时候,这说明已经没有语法错误了,是否有逻辑错误还要看接上电路板通过仿真以后,步进电机能否正常转动,显示是否正常。5.2 运行结果进电机一开场不能正常转动,以为是电路焊接有问题,为了防止再次出现虚焊,首先将电路板用万用表检查了一遍,没问题。程序也是正确的。后来仔细看了步进电机工作原理,原来步进电机要正常实现正反转,四个相序必须弄清。把电机接上电源,用高电平分别接触电机的引线,每接触一下电机就会向前或向后转动一下,经过几次试验,终于搞清了电机的四个相序,排列顺序分别是1A,2C,3B,4D。弄清了相序,把电路板重新布线,焊接好,结果电机能够正常转动了
43、。. word.zl- .第六章 总 结经过教师耐心细致的指导,经过近两个月的努力,本次毕业设计课题步进电机控制系统告一段落。步进电机控制系统主要分为硬件设计和软件设计两个局部:硬件设计主要是把单片机最小系统、键盘控制模块、步进电机驱动模块、数码显示模块、红外模块、测速模块各个硬件功能模块及其它元件合理搭配并连接起来使其能够为软件运行提供一个硬件平台。软件设计主要是通过编写程序代码,实现对整个系统的控制。在系统上电复位后程序自动运行,通过承受外部的键盘操作修改系统参数值,控制步进电机的启停,以及转速的增减和转动方向的改变;定时器T0根据系统参数控制步进电机的转动;实现步进电机转动速度的动态显示
44、。本系统具有相当的实用功能,两片单片机分别实现步进电机控制和测速,能根本符合实际应用需求,本次设计由于设计时间较短,个人能力以及精力等因素的限制,加之设计经历的缺乏,该系统还有许多不尽如人意的地方。该系统未能完全的实现设计的所有功能。如:利用键盘输入转速值实现转速的控制,动态设置最低转速和最高转速等。在把理论设计转换成实物的整个过程,如:电路设计、分析计算、画电路图、焊接电路、检查调试、软件流程控制设计分析、编写调试软件、烧写软件到整个软硬件系统的调试,最后直到系统完成。其中整个系统的前期准备是首先必须做到位的,如控制什么、用什么控制、得到什么结果,进而对各局部应选择具体的芯片作进一步的考虑,以使系统得到最优的表现。通过本课题,一方面我在查阅资料的根底上,了解STC89C51单片机控制的一些根本技术,掌握其控制系统的分析方法与实现方法,能对单片机外围电路设计进展系统学习与