单片机控制步进电机软件系统实现(共32页)_第1页
单片机控制步进电机软件系统实现(共32页)_第2页
单片机控制步进电机软件系统实现(共32页)_第3页
单片机控制步进电机软件系统实现(共32页)_第4页
单片机控制步进电机软件系统实现(共32页)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、PAGE 毕业设计(b y sh j)(论文)设计(论文)题目单片机控制步进电机软件系统实现姓 名:学 号:学 院:专 业:年 级指导教师:目 录摘 要1Abstract1一、引言(ynyn)3(一)设计(shj)概述3(二)本设计(shj)的主要任务及功能3二、单片机简介3(一)单片机概论3(二)单片机的主要特点3(三)单片机的选型4三、步进电动机的简介6(一)步进电动机的基本参数6(二)步进电动机的分类8(三)步进电机通电方式与运行原理9(四)步进电机的速度控制10四、系统软件设计11(一)系统初始化12(二)系统待机,键盘扫描13(三)步进电机运行,脉冲输出16(四)下位机数据接收18(

2、五)系统仿真19五、总结20(一)结论(jiln)21(二)结语(jiy)21参考(cnko)文献22附 录23谢 辞27PAGE 36摘 要 近年来,随着微电子技术、电力电子技术和单片机技术的发展,以及数控系统的广泛应用,促进了步进电机的驱动和控制系统的发展,使步进电动机在机械、轻工、精密机械等领域,特别是数控机床(sh kn j chun)上得到了广泛的应用。步进电机具有控制简便定位准确等特点,鉴于传统的脉冲系统移植性不好,本设计使用单片机控制系统代替脉冲发生器和脉冲分配器,用软件的方法产生控制脉冲,通过(tnggu)软件编程可以方便的控制步进电机的加减速和转向。本设计采用51单片机来控制

3、步进电机(dinj),并给出步进电机的三相单三拍和三相六拍的单片机控制的具体实现方法,用汇编程序对步进电机的转速、方向进行控制。关 键 词步进电机,单片机,控制系统,软件编程,汇编语言AbstractIn recent years, with microelectronics technology, power electronic technology and single-chip microcomputer technology development, and the wide application of CNC system, promote the stepping motor

4、drive and control system development, make the stepper motor in machinery, light industry, precision machinery, etc, especially CNC machine has been widely used. Stepper motor has the advantages of easy control and exact placement, whereas the transplant of tradtional pulse is poor, this design usin

5、g portable single-chip microcomputer control system in place of the pulse generator and pulse splitter, use software method control pulse through programming can easily control the stepping motor deceleration and steering. This design USES the 51-series microcomputer to control and stepper motors, s

6、tep motor three-phase list three clap and three-phase six-step clap of single-chip microcomputer control, using the method of stepping motor assembly program to control the speed and direction. Key wordsStepping motor,Single Chip Microcomputer,Control system,Software programming,Assembly language引言(

7、ynyn)在工业控制系统中,通常要控制机械部件的平移和传动,对位移和角度的控制要求较高,一般电机很难实现(shxin)对位置和角度的精确控制,而步进电机可精确实现所设定的角度和转数,具有良好的步进特性,最适合于数字控制,步进电动机的位移与输入脉冲数成正比。因此,当它转一转后没有累计误差,具有良好的跟随性。由步进电动机与驱动电路组成的开环数控系统,既简单廉价,又可靠。而且步进电动机的动态响应快,易于起停、正反转及变速。因此被广泛应用于开环数控机床、绘图仪、自动记录仪表等。而单片机芯片体积小,兼容性强,高速度,低价格,低工作电压,低功耗等特点,使单片机成为驱动步进电机的最佳控制单元。用单片机控制步

8、进电机的驱动电源是近年来发展起来的一种新型步进电机驱动电源的控制方式。利用单片机控制步进电机不仅灵活、方便、便于实现、编程容易、节约成本,并且结构简单、可靠性好、抗干扰能力强,因此可在工业领域中得到广泛应用。(一),设计(shj)概述本设计的功能是实现一个基于51单片机控制的三相步进电机系统,由单片机产生驱动脉冲信号,步进电机的驱动器收到驱动脉冲信号后,步进电机将会按照设定的方向转动一个固定的角度,将电脉冲转化成角位移。电机的转速由脉冲信号频率来控制决定,可以通过控制脉冲的个数来控制角位移量从而达到调速的目的。(二),本设计的主要任务及功能结合对步进电机的了解,然后对步进电机的控制原理和驱动方

9、式作系统的说明,采用51单片机来控制步进电机,并给出步进电机的三相单三拍和三相六拍的单片机控制的具体实现方法,用汇编程序对步进电机的转速、方向进行控制。 主要内容如下:1.通过控制面板键盘来控制步进电机的转向、模式及加减速。2.通过上位机控制面板来控制步进电机的转向、模式及加减速。单片机简介,单片机概论单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一

10、个单片机控制系统。(二),单片机的主要特点单片机在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。 由于单片机的这C种结构形式及它所采取的半导体工艺,使其具有很多显著的特点,因而在各个领域都得到了迅猛的发展。单片机主要发如下特点:1.有优异(yuy)的性能价格比。 2.集成(j chn)度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下

11、工作。 3.控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次(dn c)的微机。 4.低功耗、低电压,便于生产便携式产品。 5.外部总线增加了I C及SPI等串行总线方式,进一步缩小了体积,简化了结构。 6.单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。(三),单片机的选型本课题对单片机没有什么特殊要求,因此选择了市场上比较主流的51系列单片机,具体使用AT89C51片子,51单片机内部具有的硬件资源如图1所示。外部中断中断控制4kBEPROMCPUOSC总线控制

12、128BRAM48 I/O口定时器1定时器0串行口P0 P1 P2 P3TXD RXD计数器输入 图1,51单片机内部结构 该单片机具有以下特点:1.与MCS-51系列单片机兼容; 2.4K字节可编程闪烁存储器;3.寿命:1000写/擦循环;4.数据保留时间:10年;5.全静态工作:0Hz-24Hz;6.三级程序(chngx)存储器锁定;7.128*8位内部(nib)RAM;8.32可编程I/O线;9.两个(lin )16位定时器/计数器;10.5个中断源 ;11.可编程串行通道;12.低功耗的闲置和掉电模式;13.片内振荡器和时钟电路。AT89C51单片机的引脚 图2,80C51VCC:供电

13、电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部

14、上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并

15、用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外

16、,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效(yuxio)。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管(bgun)是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入(shr)及内部时钟工作电路的输入。XTA

17、L2:来自反向振荡器的输出。步进电动机的简介进电机又称脉冲电机或阶跃电机,是一种将脉冲信号变换成相应的角位移(或线位移)的电磁装置,是一种特殊的电动机。一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入肘步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。 (一),步进电动机的基本参数1.步距角指每给一个电脉冲信号

18、步进电动机所应转过的角度的理论值。用b表示步则有式中,Zr二转子齿数,步进电动机及其速度控制ml一运行拍数,通常(tngchng)等于相数或相数的整数倍。2.齿距角相邻(xin ln)两齿中心线间的夹角,通常定子和转子具有相同的齿距角。齿距式中,Zr为转子(zhun z)齿数3.零位或初始稳定平衡位置指不改变绕组通电状态,转子在理想空载状态下的平衡位置。4.失调角失调角是指转子偏离零位的角度。5.矩角特性矩角特性是指不改变各相绕组的通电状态,即一相或几相绕组同时通电流时,电磁转矩与失调角的关系,即T=f(e),如图3所示 图3,矩角特性6.最大静转矩矩角特性上转矩最大值称为最大静转矩。7.最大

19、静转矩特性绕组电流改变时,最大静转矩与相应电流的关系称为最大静转矩特性8.精度步进电动机的精度有两种表示方法:一种是用步距误差最大值来表示种是用步距累积误差最大值来表示。最大步距误差是指电机旋转一周内相邻两步之间最大步距和理想步距值,用理想步距的百分数表示。最大累积误差是指任意位置开始经过任意步之间,角位移误差的最大9.响应频率在某一频率范围内步进电动机可以任意运行而不会丢失一步,则这一最大率称为响应频率。通常用起动频率来做为衡量的指标。它是指在一定负载下直起动而不失步的极限频率,称为极限起动频率或跳变频率。10.运行频率指拖动一定负载使频率(pnl)连续上升时,步进电动机能不失步运行的极限频

20、率。11.起动(q dn)矩频特性在给定的驱动条件下,负载(fzi)惯量一定时,起动频率与负载转矩之间的关系为起动矩频特性,又称为牵入特性。如图4所示 图4,矩频特性12.运行矩频特性在负载惯量不变时,运行频率与负载转矩之间的关系称为运行矩频特性,称为牵出特性。如图4所示。13. 惯频特性在负载力矩一定时,频率和负载惯量之间的关系,称为惯频特性。惯频特性又分为起动惯频特性和运行惯频特性。如图5所示 图5,惯频特性14.单步响应单步响应是指步进电动机在带电不动的情况下,改变一次脉冲电压,转起动到停止的运动轨迹。如图6所示。 图6,单步(dn b)响应 (二),步进电动机的分类(fn li) 步进

21、电动机的种类很多,从广义上讲,步进电机的类型分为机械式、电磁式和组合式三大(sn d)类型。按结构特点电磁式步进电机可分为反应式(VR)、永磁式(PM)和混合式(HB)三大类;按相数分则可分为单相、两相和多相三种。目前使用最为广泛的为反应式和混合式步进电机。1.反应式步进电机(VR),反应式步进电机的转子是由软磁材料制成的,转子中没有绕组。它的结构简单,成本低,步距角可以做得很小,但动态性能较差。反应式步进电机有单段式和多段式两种类型。2.永磁式步进电机(PM),永磁式步进电机的转子是用永磁材料制成的,转子本 身就是一个磁源。转子的极数和定子的极数相同,所以一般步距角比较大。它输出转矩大,动态

22、性能好,消耗功率小(相比反应式),但启动运行频率较低,还需要正负脉冲供电。3.混合式步进电机(HB),混合式步进电机综合了反应式和永磁式两者的优点。混合式与传统的反应式相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低。因永磁体的存在,该电机具有较强的反电势,其自身阻尼作用比较好,使其在运转过程中比较平稳、噪声低、低频振动小。由于能够开环运行以及控制系统比较简单,因此这种电机在工业领域中得到广泛应用。由于本设计的设计目的更注重整个系统的有机结合,所以只采用反应式步进电机。反应式步进电动机的典型结构如图7

23、所示 图7,反应式步进电动机的典型(dinxng)结构(三),步进电机(dinj)通电(tng din)方式与运行原理 本设计主要涉及了三相六拍和三相单三拍步进电动机的通电方式,下面就这两种通电方式加以介绍。工作时以电脉冲向A、B、C三相控制绕组轮流通入直流电流,转子就会一步步地转动。因轮流通电方式的不同,三相反应式步进电动机有三相单三拍、三相双三拍、三相六拍等三种通电方式。每改变一次通电状态为一拍。“三拍”指一个通电循环为三拍,“六拍”则指一个通电循环为六拍。“单”是指每拍只有一相绕组通电,“双”则指每拍有两相绕组通电。三相六拍是单、双拍方式。1.单三拍通电方式的基本原理设A相首先通电(B、

24、C两相不通电),产生A-A轴线方向的磁通,并通过转子形成闭合回路。这时A、A极就成为电磁铁的N、S极。在磁场的作用下,转自总是力图转到磁阻最小的位置,也就是要转到转子的齿对齐A、A极的位置;接着B相通电(A、C两相不通电),转子便顺时针方向转过30,它的齿和C、C极对齐。不难理解,当脉冲信号一个一个发来时,如果按ACBA的顺序通电,则电机转子便逆时针方向转动。这种通电方式称为单三拍方式。 图8单三拍通电方式2.六拍通电方式的基本原理设A相首先(shuxin)通电,转子齿与定子A、A对齐(图9a)。然后再A相继续通电的情况(qngkung)下接通B相。这时定子B、B极对转子(zhun z)齿2、

25、4产生磁拉力,是转自顺时针方向转动,但是A、A极继续拉住齿1、3,因此转子转到两个拉力平衡为止。这时转子的位置如图2-3b所示,即转子从图2-3a位置顺时针转过15。接着A相断电,B相继续通电。这时转子齿2、4和定子B、B极对齐图(图9c),转子从(图9b)的位置又转过了15。其位置如图9d所示。这样,如果按AA、BBB、CCC、AA的顺序轮流通电,则转子便顺时针方向一步一步的转动,步角距15。电流交换六次,磁场旋转一周,转子前进了一个齿距角。如果按AA、CCC、BBB、AA的顺序通电,则电机转子逆时针方向转动。这种通电方式称为六拍方式。 图9,六拍通电方式(四),步进电机的速度控制如果给步进

26、电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。2个脉冲的间隔越短,步进电机就转得越快。调整送给步进电机的脉冲频率,就可以对步进电机进行调速。步进电机的加减速控制在步进电机控制系统中,通过实验发现,如果信号变化太快,步进电机由于惯性跟不上电信号的变化,这时就会产生堵转和丢步现象。所以,步进电机在启动时,必须有加速过程,在停止时必须有减速过程。理想的加速曲线一般为指数曲线,步进电机整个减速过程的频率变化规律是整个加速过程频率变化规律的逆过程。选定的曲线比较符合步进电机加减速过程的运行规律,能充分利用步进电机的有效转矩 ,快速响应性好,缩短加减速的时间,并可防止失步和过冲现象。在一个实

27、际的控制系统中,要根据负载的情况来选择步进电机。步进电机能响应而不失步的最高步进频率称为 “启动频率”,与此类似 , “停止频率” 是指系统控制信号突然关断,步进电机不冲过目标位置的最高步进频率。电机的启动频率、停止频率和输出转矩都要和负载的转动惯量相适应,有了这些数据 ,才能有效地对电机进行加减速控制。加速过程由突跳频率加加速曲线组成(减速过程反之)。突跳频率是指步进电机在静止状态时突然施加的脉冲启动频率 f 0。步进电机的最高起动频率(突跳频率)一般为 0. 1 kHz 到 34 kHz ,而最高运行频率则可以达到 N 102kHz。以超过最高起动频率的频率直接起动 ,会产生堵转和丢步的现

28、象。较为理想的起动曲线应是按指数规律起动。但实际应用时对起动段的处理可采用按直线拟合的方法 ,即阶梯加速法。一般可按2种情况处理。(1)已知突跳频率,则按突跳频率分段(fn dun)起动,分段数 n = f/f0;(2)未知突跳频率,则按段拟合至给定的起动频率 ,每段频率的递增(dzng)量(也称阶梯频率)f = f/8 ,即采用8段拟合。在运行(ynxng)控制过程中,将起始的速度(频率)分为 n 分 ,作为阶梯频率,采用阶梯加速法将速度连续升到所需要的速度,然后锁定,按预置的曲线运行,如图10所示。 图10,步进电机运行过程中频率变化曲线 用单片机实现步进电机的加/减速控制,实际上就是控制

29、发脉冲的频率。加速时,使脉冲频率增高,减速时则相反。如果使用定时中断来控制电机的速度 ,加减速控制就不断改变定时器的初值。速度从v1v2 变化 ,如果是线性增加,则按给定的斜率加/减速;如果是突变,则按阶梯加速法处理。系统的软件设计步进电机控制的最大特点是开环控制,不需要反馈信号。因为步进电机运动不产生旋转量的误差累计。由单片机实现的步进电机控制系统如图11所示。 图11,单片机控制(kngzh)步进电机 系统软件主流程:系统上电复位后,先经过必要的参数初始化后,便进入按键查询,等待(dngdi)操作,当有按键按下后,程序便调用相应的子程序运行。流程图如图12所示。 图12,系统(xtng)的

30、主流程图(一),系统初始化即对相应的系统参数进行初始化,包括系统上电默认的运行参数设定(正向、速度50R/MIN、三相单三拍、连续运行模式)、系统各指针复位、中断设定、定时器设定、堆栈设定、变量初始值设定等等。 图13主要(zhyo)程序如下:MAIN: MOV SP,#60H ;将堆栈(duzhn)SP地址置为01100000 MOV R2,#01H ;对步进电机转向控制(kngzh)单元R2赋初值,默认正转 MOV R4,#01H ;R4为模式控制单元,默认是三相单三拍 MOV P1,#0F0H ;程序通电执行时,电机默认停机 MOV TMOD,#01H ;置定时0为方式1 MOV TH0

31、,#0D8H ;为定时器0赋初值,默认初速为50R/MIN MOV TL0,#0F0H MOV 25H,#0FFH ;设置调速单元低八位 MOV 24H,#00H ;设置调速单元高八位 SETB EA ;开单片机总中断 SETB ET0 ;开定时器/计数器0允许 MOV R0,#00H ;设定查表初值 MOV R7,#5 ;初始速度档数 (二),系统待机,键盘扫描 系统经过初始化后,便进入待机状态,等待键入相应操作 键盘扫描流程图: 图14,键盘(jinpn)扫描流程图定义(dngy)按键变量: K0 EQU P0.0 ;起、停键 K1 EQU P0.1 ;加速(ji s)键 K2 EQU P

32、0.2 ;减速键 K3 EQU P0.3 ;正反转控制键 K4 EQU P0.4 ;模式选择键:三相单三拍 K5 EQU P0.5 ;模式选择键:三相六拍键盘扫描程序:KEY0: JB K0,KEY1 ;检测键K0是否按下 ACALL DELAY ;按键必须持续一定时间(这里为10MS) JB K0,KEY1 ;KO按下是否持续10MS JNB K0,$ ;按键是否放开,消抖动 CPL 00H ;检测(jin c)程序运行状态 JNB 00H,KEY00 ;如果(rgu)为运行中则跳至停止程序,否则继续 SETB TR0 ;启动(qdng)定时器0 AJMP KEY1 ;检测下一按键 KEY0

33、0: MOV P1,#0F0H ;停止程序,使电机停转 CLR TR0 ;关闭定时器0 KEY1: JB K1,KEY2 ;检测键K1是否按下 ACALL DELAY ;按键必须持续一定时间(这里为10MS) JB K1,KEY2 ;K1按下是否持续10MS JNB K1,$ ;按键是否放开,消抖动 MOV A,R7 ;将调速系数移入累加器 ADDC A,#5 ;增加调速系数,加速 MOV R7,A CJNE R7,#255,KEY2 ;是否达到了最高速980R/MIN?是则不加 MOV R7,#255 ;如果达到了最高速则不再增加,以最高速转动 KEY2: JB K2,KEY3 ACALL

34、DELAY JB K2,KEY3 JNB K2,$ MOV A,R7 SUBB A,#5 ;减少调速系数,减速 MOV R7,A CJNE R7,#0,KEY3 ;是否达到了最低速?是则不减 MOV R7,#5;如果达到了最低速则不再减少,以最低速8R/MIN转动 KEY3: JB K3,KEY4 ACALL DELAY JB K3,KEY4 JNB K3,$ MOV A,R2 ;将转向控制单元移入累加器 CPL A ;取反,即正转时按下变反转,反转时按下变正转 MOV R2,A KEY4: JB K4,KEY5 ACALL DELAY JB K4,KEY5 JNB K4,$ MOV DPTR

35、,#TAB1 ;K4如果按下则电机按单三拍模式转动 MOV R4,#01H KEY5: JB K5,KEY6 ACALL DELAY JB K5,KEY6 JNB K5,$ MOV DPTR,#TAB2 ;K5如果按下则电机按六拍模式(msh)转动 MOV R4,#00H KEY6: SJMP KEY0 ;继续(jx)检测按键 (三),步进电机(dinj)运行,脉冲输出 1.延时程序 DELAY:MOV R6,#20 DELAY1:MOV R5,#248 DJNZ R5,$ DJNZ R6,DELAY1 RET 所用单片机晶振为fosc=12MHZ,则每个机器周期t=fosc/12=1S.则上

36、面这段程序所表示的延时时间为:T=20*(248*2+2)+2+2=10002S10ms 2.脉冲输出 由上文步进电机的介绍可以得出三相单三拍和三相六拍的控制模型如下面的表所示(P1口输出):P1口输出状态绕组控制字00000001A01H00000010B02H00000100C04H 表1,三相单三拍的控制模型P1口输出状态绕组控制字00000001A01H00000011AB03H00000010B02H00000110BC06H00000100C04H 表2,三相六拍的控制模型三相单三拍的输出脉冲程序,设R2为转向控制单元,改变延时程序延时的时间就可以改变步进电机的的转速,不断调用此子

37、程序就可以让点击连续运转,程序如下:RUN: MOV A,R2 JZ FANZ ZHENGZ: MOV A,#01H MOV P1,A ACALL DELAY MOV A,#02H MOV P1,A ACALL DELAY MOV A,#04H MOV P1,A ACALL DELAY RET FANZ: MOV A,#04H MOV P1,A ACALL DELAY MOV A,#02H MOV P1,A ACALL DELAY MOV A,#01H MOV P1,A ACALL DELAY RET上面那段程序是采用软件延时的办法进行速度控制,其缺点是控制精度低。而且在实际应用中,系统中除了

38、(ch le)步进电机外还有其他控制对象 ,在处理其他任务时就不能对步进电机进行有效地控制,无法满足步进电机的控制要求。因此 ,比较实用的方法是采用定时器工作在中断方式下,可以达到比较高的控制精度。下面给出三相六拍步进电机的中断程序进行速度控制的程序,改变定时器0的初值便可以改变速度,定时器0溢出中断时便执行中断程序,改变R2内容便可以控制电机的转向:ORG 0000HAJMP MAINORG 000BHAJMP RUNMAIN: MOV SP,#60H MOV R2,#01H MOV TMOD,#01HMOV TL0,#78H MOV TH0,#0ECHSETB EASETB ET0SETB

39、 TR0MOV P1,#0F0HMOV R0,#00HRUN: MOV A,R2 JZ FANZHENG: MOV TL0,R6 MOV TH0,R7 MOV DPTR,#TAB1 MOV A,R0 MOVC A,A+DPTR MOV P1,AINC R0 CJNE R0,#06H,RET0 MOV R0,#00HRET0: RETIFAN: MOV TL0,R6 MOV TH0,R7MOV DPTR,#TAB2MOV A,R0MOVC A,A+DPTRMOV P1,AINC R0CJNE R0,#06H,RET0MOV R0,#00HRETITAB1:DB 01H,03H,02H,06H,0

40、4HTAB2:DB 04H,06H,02H,03H,01H END (四),下位(xi wi)机数据接收 上位机把对控制对象的命令通过串口传送给单片机,单片机通过中断方式接收并保存至接收缓存区,再对接收到的数据进行处理,根据得到的数据判断(pndun)速度档数以及电动机模式,同时判断步进电机应正转还是反转。本设计中串口工作在串口模式1,波特率为9600b/s,使用SCON,SBUF作为其串口控制寄存器和串口数据缓冲器;参考程序(chngx)如下: ORG 0000H AJMP MAIN ORG 0023H ;串行口的中断入口地址 LJMP JIESHOU ;串行口的中断程序 MAIN: MOV

41、 SP,#60H ;将堆栈SP地址置为01100000 MOV TMOD,#20H ;置定时1为方式2 MOV TH1,#0F4H ;置定时器1初值 MOV TL1,#0F4H SETB TR1 ;启动定时器1 SETB EA ;开单片机总中断 SETB ET0 ;开定时器/计数器0允许 SETB ES ;开串口中断 MOV SCON,#50H ;设定串行方式1并允许接收 MOV R1,#30H ;R1为接收缓冲区的首地址(dzh) MOV R3,#10H ;R3为接收(jishu)的数据块长度 JIESHOU: PUSH PSW PUSH ACC CLR RI MOV A,SBUF MOV

42、R1,A INC R1 DJNZ R3,HE MOV R7,30H ;接收(jishu)高八位作为调速系数 MOV A, 31H ;分解后八位,分别作为正反向控 ANL A,#01H ;制系数和模式控制系数 MOV R2,A MOV A,31H ANL A,#10H SWAP A MOV R4,A CLR RI POP ACC POP PSW HE: RETI END(五),系统仿真本系统的仿真是在PROTEUS的ISIS下进行的。Proteus嵌入式系统仿真与开发平台是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业

43、的单片机软件仿真系统。该软件的特点主要有:(1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势;(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等;(3)目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片;(4)支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿

44、真51、AVR、PIC。Proteus的基本工作过程为: 运行Proteus的ISIS程序后,进入该仿真软件的主界面;设置view菜单下的捕捉对齐和system下的颜色、图形界面大小等项目;通过工具栏中的p 按钮,在pick devices窗口中选择电路所需的元件,放置元件并调整其相对位置,并进行元件参数设置和元器件间连线; 编写程序,在source 菜单的Define code generation tools菜单命令下,选择程序编译的工具、路径、扩展名等项目,在source 菜单的Add / remove source files命令下,加入单片机硬件电路的对应程序;通过debug菜单的相

45、应命令调试程序,观察电路的运行情况。此软件部分配合另外两位同学负责的上位机和电路部分进行了仿真,所有(suyu)要求基本上都能实现,信号输出图如下: 图15,步进电机(dinj)三相单三拍输出信号图16,步进电机三相六拍输出(shch)信号总结 本次设计我及另外两名同学(另外两名同学分别负责上位机和外围电路的设计)通过分析步进电机机构、工作原理,查阅步进电机控制系统(kn zh x tn)的相关科技文献,遵循实用、简单、可靠和低成本的原则,设计了一种即可用于精度不是很高,但控制需完备的步进电机控制系统。从实验(shyn)的结果中可以看出,用Proteus软件进行单片机虚拟仿真可以很好的来检验程

46、序的正确性,达到(d do)课题的要求。(一),结论对于本次设计,有以下结论:1.采用单片机作为控制核心,利用其强大的功能,把键盘电路、驱动电路、显示电路和上位机电路有机的结合起来,组成一个操作方便,交互性强的控制系统。而且整个系统所包含的技术几乎包括了所学专业所要求的知识,有利于实践教学取得最大效果。2.键盘电路采用动态扫描技术,节约了单片机资源。 3.系统软件采用结构化设计,具有易维护性。4.通过做这个毕业设计,我能非常有目的的、有机的去选择相关知识,在比较短的时间里系统地掌握了单片机技术、步进电机、电子技术等相关知识,并极大的提高了系统的开发能力。(二),结语由于水平限制,因此对于控制精

47、度不高,本设计选择了反应式步进电机,并且采用开环的驱动电路,如果要想得到更高性能的控制,可以选用混合式的步进电机,采用闭环的细分驱动电路。可以肯定,随着技术的不断发展,步进电机的控制应用前景将越来越广阔,而其控制系统也将向着智能化和网络化的方向发展。在这次毕业设计中使我对步进电机有了更深的了解,对单片机也有了更高层次的了解,了解了在单片机系统中扩展简单I/O接口,外部中断技术的基本使用方法,掌握了中断处理程序的编程方法,在课程设计过程中,不断调试程序和修改程序,提高了我们对单片机的应用能力,分析问题和解决问题的能力。本次设计中,遇到了一些困难,主要原因是平时的知识掌握的不够,通过我和我们小组的

48、另外两名同学讨论,共同查阅了很多资料和论文后,共同努力才做成的。由于我们以前对这方面接触比较少,一开始都不知如何下手,我们的指导老师给了我们细致的讲解和大量资料,才使我们少走了很多弯路,在设计过程中,老师也给了我们耐心的指导,在这里表示衷心的感谢。参考文献1赵晓安. MCS-51单片机原理(yunl)及应用. 天津:天津大学出版社,2001.3 2刘宝廷 程树康等 步进电动机及其驱动(q dn)控制系统.1997年11 月第 1 版3 徐惠民、安德宁 单片微型计算机原理接口(ji ku)与应用 第1版 北京:北京邮电大学出版社,19964黄仁欣.单片机原理及应用技术.北京:清华大学出版社,20

49、07.2.5刘乐善.微型计算机接口技术及应用.武汉华中科技大学出版社2007.56潘兴民.微型计算机控制技术.北京:电子工业出版社,2003.7杨新军. 步进电机程序控制. 英才高职论坛. 2006年第 1期8 刘兴辉,毕国玲. 步进电机的单片机控制系统研制. 辽宁大学学报.自然科学版.第34卷第4期2007年9吴红星.电机驱动与控制专用集成电路及运用。北京:中国电力出版社,2006.10何立民.MCS-51系列单片机应用系统设计,北京:北京航空航天大学出版社,1994.11彭宣戈,黄传莲,朱 兵.用单片机直接控制步进电机的一种方法.井冈山师范学院学报,2004,25(5):70-71.12余

50、祖俊.微机监测与控制应用系统设计北京:清华大学出版社,2002.附 录附录1:本设计(shj)单片机程序K0 EQU P0.0 ;定义按键(n jin)变量:起、停键K1 EQU P0.1 ;加速(ji s)键K2 EQU P0.2 ;减速键K3 EQU P0.3 ;正反转控制键K4 EQU P0.4 ;模式选择键:三相单三拍K5 EQU P0.5 ;三相六拍 ORG 0000H AJMP MAIN ORG 000BH ;定时器0溢出中断入口 LJMP RUN ;中断执行程序 ORG 0023H ;串行口的中断入口地址 LJMP JIESHOU ;串行口的中断程序 MAIN: MOV SP,#

51、60H ;将堆栈SP地址置为01100000 MOV R2,#01H ;对步进电机转向控制单元R2赋初值,默认正转 MOV R4,#01H ;R4为模式控制单元,默认是三相单三拍 MOV P1,#0F0H ;程序通电执行时,电机默认停机 MOV TMOD,#21H ;置定时0为方式1;定时1为方式2 MOV TH0,#0D8H ;为定时器0赋初值,默认初速为50R/MIN MOV TL0,#0F0H MOV 25H,#0FFH ;设置调速单元低八位 MOV 24H,#00H ;设置调速单元高八位 MOV TH1,#0F4H ;置定时器1初值 MOV TL1,#0F4H SETB TR1 ;启动

52、定时器1 SETB EA ;开单片机总中断 SETB ET0 ;开定时器/计数器0允许 SETB ES ;开串口中断 MOV SCON,#50H ;设定串行方式1并允许接收 MOV R1,#30H ;R1为接收缓冲区的首地址 MOV R3,#10H ;R3为接收的数据块长度 MOV R0,#00H ;查表首地址 MOV R7,#5 ;默认(mrn)速度档数 KEY0: JB K0,KEY1 ;检测(jin c)键K0是否按下 ACALL DELAY ;按键必须持续一定(ydng)时间(这里为10MS) JB K0,KEY1 ;KO按下是否持续10MS JNB K0,$ ;按键是否放开,消抖动

53、CPL 00H ;检测程序运行状态 JNB 00H,KEY00 ;如果为运行中则跳至停止程序,否则继续 SETB TR0 ;启动定时器0 AJMP KEY1 ;检测下一按键 KEY00: MOV P1,#0F0H ;停止程序,使电机停转 CLR TR0 ;关闭定时器0 KEY1: JB K1,KEY2 ;检测键K1是否按下 ACALL DELAY ;按键必须持续一定时间(这里为10MS) JB K1,KEY2 ;K1按下是否持续10MS JNB K1,$ ;按键是否放开,消抖动 MOV A,R7 ;将调速系数移入累加器 ADDC A,#5 ;增加调速系数,加速 MOV R7,A CJNE R7,#255,KEY2 ;是否达到了最高速980R/MIN?是则不加 MOV R7,#255 ; ;如果达到了最高速则不再增加,以最高速转动 KEY2: JB

温馨提示

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

评论

0/150

提交评论