51单片机驱动与控制步进电动机的设计_第1页
51单片机驱动与控制步进电动机的设计_第2页
51单片机驱动与控制步进电动机的设计_第3页
51单片机驱动与控制步进电动机的设计_第4页
51单片机驱动与控制步进电动机的设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要步进电机在控制系统中具有广泛的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等。有时从一些旧设备上拆下的步进电机(这种电机一般没有损坏)要改作它用,一般需自己设计驱动器。本设计采用8051对感应子式步进电机步进电机进行控制,通过io口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片l298n驱动步进电机;同时,用 4x4的键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74ls164作为4位单个数码管的显示驱动,从单片机输入信号;利用单片机的语音功能播报电机的转速。最后对所设计的步进电动机驱动器进行了性能测试分析,结果表明:该驱动器达

2、到了系统设计前所提出的各项指标。系统运行安全、可靠、稳定。整个系统电路简单实用、性能优良、通用性强。关键词:步进电机 ,单片机 ,数码管,只读存储器,i/o接口目 录第1章 前言 第2章 方案论证比较设计2.1单片机概述2.1.1 单片机微控制器嵌入式应用的概念2.1.2 单片机的特点和应用2.2步进电机概述2.1.感应子式步进电机工作原理2.2.2步进电机的应用2.3单片机控制步进电机的设计思路第3章 控制系统的硬件电路设计3.1 mcs-5131.1 8051单片机内部结构3.1.2 8051单片机的cpu3.1.3芯片的引脚排列和说明3.2 步进电机的驱动电路设计3.3数码管显示电路的设

3、计3.4 44键盘电路的设计第4章 控制系统的软件设计4.1 控制脉冲的产生4.2 语音报数第5章 结论 致谢参考文献第1章 前言步进电机最早是在1920年由英国人所开发。1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。以后经过不断改良,使得今步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确作各项指令动作的灵活控制性场合步进电机用得最多。随着微电子计算机技术的发展,单片机控制步进电机的需求量与俱增,在各个国

4、民经济领域都有应用。 一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向,因此非常适合于单片机控制。本设计主要是利用mcs-51对感应子式步进电机步进电机,控制的要求是开机后,电机不转,按下启动键,电机旋转,速度为25转/分,按下加1键,速度增加,按下减1键,速度降低,最高速度为100转/分,最低转带为25转/分,按下停止键,电机停转。速度

5、值要求在数码管上显示出来,并利用语音功能播报电机的转速。第2章 方案论证比较设计2.1 单片机的概述单片机是一个单芯片形态、面向控制对象的嵌入式应用计算机系统。它的出现及发展使计算机技术从通用型数值计算领域进入到智能化的控制领域。从此,计算机技术在两个重要领域通用计算机领域和嵌入式计算机领域都得到了极其重要的发展,并正在深深地改变着我们的社会。2.1.1 单片机微控制器嵌入式应用的概念1单片机概念所谓单片机,即把组成微型计算机的各个功能部件,如中央处理器cpu、随机存储器ram、只读存储器rom、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在一块芯片中,构成一个完整的微型计算机。因

6、此单片机早期的含义为单片微型计算机(single chip microcomputer),直接译为单片机,并一直沿用至今。单片机是单芯片形态作为嵌入式应用的计算机,它有惟一的、专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级体积的优点和在现场环境下可高速可靠地运行的特点,因此单片机又称之为嵌入式微控制器(embedded micro controller)。但是,在国内单片机的叫法仍然有着普遍的意义。我们已经把单片机理解为一个单芯片形态的微控制器,它是一个典型的嵌入式应用计算机系统。目前按单片机内部数据通道的宽度,把它们分为4位、8位、16位及32位单片机。2单片机和微处理器随着大规

7、模与超大规模集成电路技术的快速发展,微计算机技术形成了两大分支:微处理器(micro processor unit,mpu)和单片机(micro controller unit,mcu)。微处理器mpu是微型计算机的核心部件,它的性能决定了微型计算机的性能。通用型的计算机已从早期的数值计算、数据处理发展到当今的人工智能阶段。它不仅可以处理文字、字符、图形、图像等信息,而且还可以处理音频、视频等信息,并正向多媒体、人工智能、数字模拟和仿真、网络通信等方向发展。它的存储容量和运算速度正在以惊人的速度发展。高性能的32位、64位微型计算机系统正向中、大型计算机挑战。3单片机和嵌入式系统面向检测控制对

8、象,嵌入到应用系统中去的计算机系统称之为嵌入式系统。实时性是它的主要特征,对系统的物理尺寸、可靠性、重启动和故障恢复方面也有特殊的要求。由于被嵌入对象的体系结构、应用环境等的要求,嵌入式计算机系统比通用的计算机系统 应用设计更为复杂,涉及面也更为广泛。从形式上可将嵌入式系统分为系统级、板级和芯片级。系统级嵌入式系统为各种类型的工控机,包括进行机械加固和电气加固的通用计算机系统,各种总线方式工作的工控机和模块组成的工控机。它们大都有丰富的通用计算机软件及周边外设的支持,有很强的数据处理能力,应用软件的开发也很方便。但由于体积庞大,适用于具有大空间的嵌入式应用环境,如大型实验装置、船舶、分布式测控

9、系统等。板级嵌入式系统则有各种类型的带cpu的主板及oem产品。与系统级相比,板级嵌入式系统体积较小,可以满足较小空间的嵌入式应用环境。芯片级嵌入式系统则以单片机最为经典。单片机嵌入到对象的环境、结构体系中去作为其中一个智能化的控制单元,是最典型的嵌入式计算机系统。它有惟一的专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级的体积和在现场运行环境下的高可靠性,它最能满足各种中、小型对象的嵌入式应用要求。因此,单片机是目前发展最快、品种最多、数量最大的嵌入式计算机系统。但是,一般的单片机目前还没有通用的系统管理软件或监控程序,而只是放置由用户调试好的应用程序。它本身不具备开发能力,常常需

10、要专门的开发工具。2.1 单片机的特点和应用1单片机的基本组成单片机的结构特征是将组成计算机的基本部件集成在一块晶体芯片上,构成一台功能独特的、完整的单片微型计算机。图2-1为单片机的典型结构框图。图2-1 单片机的典型结构框图下面简要介绍各组成部分。(1)中央处理器单片机中的中央处理器cpu和通用微处理器基本相同,由运算器和控制器组成,另外增设了“面向控制”的处理功能,如位处理、查表、多种跳转、乘除法运算、状态检测、中断处理等,增强了实时性。(2)存储器单片机的存储空间有两种基本结构。一种是普林斯顿结构(princeton),将程序和数据合用一个存储器空间,即rom和ram的地址同在一个空间

11、里分配不同的地址。cpu访问存储器时,一个地址对应惟一的一个存储单元,可以是rom,也可以是ram,用同类的访问指令。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,称为哈佛(harvard)结构。cpu用不同的指令访问不同的存储器空间。由于单片机实际应用中“面向控制”的特点,一般需要较大的程序存储器。目前,包括mcs-51和80c51系列的单片机均采用程序存储器和数据存储器截然分开的哈佛结构。 数据存储器(ram)在单片机中,用随机存取的存储器(ram)来存储数据,暂存运行期间的数据、中间结果、缓冲和标志位等,所以称之为数据存储器。一般在单片机内部设置一定容量(64b256b)的r

12、am,并以高速ram的形式集成在单片机内,以加快单片机的运行速度。同时,单片机内还把专用的寄存器和通用的寄存器放在同一片内ram统一编址,以利于运行速度的提高。对于某些应用系统,还可以外部扩展数据存储器。 程序存储器(rom)单片机的应用中常常将开发调试成功后的应用程序存储在程序存储器中,因为不再改变,所以这种存储器都采用只读存储器rom的形式。单片机内部的程序存储器常有以下几种形式:l 掩膜rom(mask rom) 它是由半导体厂家在芯片生产封装时,将用户的应用程序代码通过掩膜工艺制作到单片机的rom区中,一旦写入后用户则不能修改。所以它适合于程序已定型,并大批量使用的场合。8051就是采

13、用掩膜rom的单片机型号。l eprom 此种芯片带有透明窗口,可通过紫外线擦除程序存储器的内容。应用程序可通过专门的写入器脱机写入到单片机中,需要更改时可通过紫外线擦除后重新写入。8751就是采用eprom的单片机型号。l romless 这种单片机内部没有程序存储器,使用时必须在外部并行扩展一片eprom作为程序存储器。8031就是romless型的单片机。l flash rom(mtp rom)闪速存储器 这是一种可由用户多次编程写入的程序存储器。它不需紫外线擦除,编程与擦除完全用电实现,数据不易挥发,可保存10年。编程/擦除速度快,4kb编程只需数秒,擦除只需10ms。例如at89系列

14、单片机,可实现在线编程,也可下载。这是目前大力发展的一种rom,大有取代eprom型产品之势。(3)并行i/o口单片机为了突出控制的功能,提供了数量多、功能强、使用灵活的并行i/o口。使用上不仅可灵活地选择输入或输出,还可作为系统总线或控制信号线,从而为扩展外部存储器和i/o接口提供了方便。(4)串行i/o口高速的8位单片机都可提供全双工串行i/o口,因而能和某些终端设备进行串行通信,或者和一些特殊功能的器件相连接。(5)定时器/计数器在实际的应用中,单片机往往需要精确地定时,或者需对外部事件进行计数,因而在单片机内部设置了定时器/计数器电路,通过中断,实现定时/计数的自动处理。2单片机的特点

15、单片机独特的结构决定了它具有如下特点。(1)高集成度、高可靠性单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的cpu。单片机程序指令,常数及表格等固化在rom中不易破坏,许多信号通道均在一个芯片内,故可靠性高。(2)控制功能强为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力、i/o口的逻辑操作及位处理能力,非常适用于专门的控制功能。(3)低电压、低功耗为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8v3.6v,而工作电流仅为数百微安。(4)优异的性能价格

16、比单片机的性能极高。为了提高速度和运行效率,单片机已开始使用risc流水线和dsp等技术。单片机的寻址能力也已突破64kb的限制,有的已可达到1mb和16mb,片内的rom容量可达62mb,ram容量则可达2mb。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。3单片机的应用由于单片机功能的飞速发展,它的应用范围日益广泛,已远远超出了计算机科学的领域。小到玩具、信用卡,大到航天器、机器人,从实现数据采集、过程控制、模糊控制等智能系统到人类的日常生活,到处都离不开单片机。其主要的应用领域如下。(1)在测控系统中的应用单片机可以用于构成各种工业控制系统、

17、自适应控制系统、数据采集系统等。例如,工业上的锅炉控制、电机控制、车辆检测系统、水闸自动控制、数控机床及军事上的雷达、导弹系统等。(2)在智能化仪器仪表中的应用单片机应用于仪器仪表设备中促使仪器仪表向数字化、智能化、多功能化和综合化等方向发展。单片机的软件编程技术使长期以来测量仪表中的误差修正、线性化的处理等难题迎刃而解。(3)在机电一体化中的应用单片机与传统的机械产品结合使传统的机械产品结构简化,控制走向智能化,构成新一代的机电一体化产品。这是机械工业发展的方向。(4)在智能接口中的应用计算机系统,特别是较大型的工业测控系统中采用单片机进行接口的控制管理,单片机与主机并行工作,可大大提高系统

18、的运行速度。例如,在大型数据采集系统中,用单片机对模/数转换接口进行控制不仅可提高采集速度,还可以对数据进行预处理。如数字滤波、误差修正、线性化处理等。(5)在人类生活中的应用单片机由于其价格低廉、体积小巧,被广泛应用在人类生活的诸多场合,如洗衣机、电冰箱、空调器、电饭煲、视听音响设备、大屏幕显示系统、电子玩具、信用卡、楼宇防盗系统等。单片机将使人类的生活更加方便舒适,丰富多彩。22 步进电机的概述 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角

19、。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。 虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。 221感应子式步进电机工作原理(一)反应式步进电机原理由于反应式步进电机工作原理比较简单。下面先叙述三相反应式步进电机原理。1、结构: 电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。0、1/3、2/3,(相邻两

20、转子齿轴线间的距离为齿距以表示),即a与齿1相对齐,b与齿2向右错开1/3,c与齿3向右错开2/3,a与齿5相对齐,(a就是a,齿5就是齿1)下面是定转子的展开图:2、旋转:如a相通电,b,c相不通电时,由于磁场作用,齿1与a对齐,(转子不受任何力以下均同)。 如b相通电,a,c相不通电时,齿2应与b对齐,此时转子向右移过1/3,此时齿3与c偏移为1/3,齿4与a偏移(-1/3)=2/3。如c相通电,a,b相不通电,齿3应与c对齐,此时转子又向右移过1/3,此时齿4与a偏移为1/3对齐。 如a相通电,b,c相不通电,齿4与a对齐,转子又向右移过1/3 这样经过a、b、c、a分别通电状态,齿4(

21、即齿1前一齿)移到a相,电机转子向右转过一个齿距,如果不断地按a,b,c,a通电,电机就每步(每脉冲)1/3,向右旋转。如按a,c,b,a通电,电机就反转。 由此可见:电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定。 不过,出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用a-ab-b-bcc-ca-a这种导电状态,这样将原来每步1/3改变为1/6。甚至于通过二相电流不同的组合,使其1/3变为1/12,1/24,这就是电机细分驱动的基本理论依据。 不难推出:电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移1/m,2/m(m-1)/m,1。并且导电按一定的相

22、序电机就能正反转被控制这是步进电机旋转的物理条件。只要符合这一条件我们理论上可以制造任何相的步进电机,出于成本等多方面考虑,市场上一般以二、三、四、五相为多。 3、力矩: 电机一旦通电,在定转子间将产生磁场(磁通量)当转子与定子错开一定角度产生力f与(d/d)成正比 s 其磁通量=br*sbr为磁密,s为导磁面积 f与l*d*br成正比 l为铁芯有效长度,d为转子直径 br=ni/rni为励磁绕阻安匝数(电流乘匝数)r为磁阻。力矩=力*半径力矩与电机有效体积*安匝数*磁密 成正比(只考虑线性状态)因此,电机有效体积越大,励磁安匝数越大,定转子间气隙越小,电机力矩越大,反之亦然。(二)感应子式步

23、进电机1、特点: 感应子式步进电机与传统的反应式步进电机相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低。因永磁体的存在,该电机具有较强的反电势,其自身阻尼作用比较好,使其在运转过程中比较平稳、噪音低、低频振动小。 感应子式步进电机某种程度上可以看作是低速同步电机。一个四相电机可以作四相运行,也可以作二相运行。(必须采用双极电压驱动),而反应式电机则不能如此。例如:四相,八相运行(a-ab-b-bc-c-cd-d-da-a)完全可以采用二相八拍运行方式.不难发现其条件为c=,d=. 一个二相电机的内部

24、绕组与四相电机完全一致,小功率电机一般直接接为二相,而功率大一点的电机,为了方便使用,灵活改变电机的动态特点,往往将其外部接线为八根引线(四相),这样使用时,既可以作四相电机使用,可以作二相电机绕组串联或并联使用。2、分类 感应子式步进电机以相数可分为:二相电机、三相电机、四相电机、五相电机等。以机座号(电机外径)可分为:42byg(byg为感应子式步进电机代号)、57byg、86byg、110byg、(国际标准),而像70byg、90byg、130byg等均为国内标准。3、步进电机的静态指标术语相数:产生不同对极n、s磁场的激磁线圈对数。常用m表示。拍数:完成一个磁场周期性变化所需脉冲数或导

25、电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即ab-bc-cd-da-ab,四相八拍运行方式即 a-ab-b-bc-c-cd-d-da-a.步距角:对应一个脉冲信号,电机转子转过的角位移用表示。=360度(转子齿数j*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为=360度/(50*8)=0.9度(俗称半步)。定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力

26、矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。 虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。4、步进电机动态指标及术语:1、步距角精度: 步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。2、失步: 电机运转时运转的步数,不等于理论上的步数。称之为失步。3、失调角: 转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决

27、的。4、最大空载起动频率: 电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。5、最大空载的运行频率: 电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。6、运行矩频特性: 电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。如下图所示:其它特性还有惯频特性、起动频率特性等。 电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。如下图所示:其中,曲线3电流最大、或

28、电压最高;曲线1电流最小、或电压最低,曲线与负载的交点为负载的最大速度点。要使平均电流大,尽可能提高驱动电压,使采用小电感大电流的电机。7、电机的共振点: 步进电机均有固定的共振区域,二、四相感应子式步进电机的共振区一般在180-250pps之间(步距角1.8度)或在400pps左右(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。8、电机正反转控制: 当电机绕组通电时序为ab-bc-cd-da或()时为正转,通电时序为da-ca-bc-ab或()时为反转。22

29、2、步进电机的应用(一)步进电机的选择 步进电机有步距角(涉及到相数)、静转矩、及电流三大要素组成。一旦三大要素确定,步进电机的型号便确定下来了。1、步距角的选择 电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速)。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有0.36度/0.72度(五相电机)、0.9度/1.8度(二、四相电机)、1.5度/3度 (三相电机)等。2、静力矩的选择 步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。单一

30、的惯性负载和单一的摩擦负载是不存在的。直接起动时(一般由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行进只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的2-3倍内好,静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸)3、电流的选择 静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流(参考驱动电源、及驱动电压) 综上所述选择电机一般应遵循以下步骤: 4、力矩与功率换算 步进电机一般在较大范围内调速使用、其功率是变化的,一般只用力矩来衡量,力矩与功率换算如下: p= m =2n/60 p=2nm/60 其p为功率单位为瓦,为每秒角速

31、度,单位为弧度,n为每分钟转速,m为力矩单位为牛顿米 p=2fm/400(半步工作) 其中f为每秒脉冲数(简称pps)(二)、应用中的注意点 1、步进电机应用于低速场合-每分钟转速不超过1000转,(0.9度时6666pps),最好在1000-3000pps(0.9度)间使用,可通过减速装置使其在此间工作,此时电机工作效率高,噪音低。 2、步进电机最好不使用整步状态,整步状态时振动大。 3、由于历史原因,只有标称为12v电压的电机使用12v外,其他电机的电压值不是驱动电压伏值 ,可根据驱动器选择驱动电压(建议:57byg采用直流24v-36v,86byg采用直流50v,110byg采用高于直流

32、80v),当然12伏的电压除12v恒压驱动外也可以采用其他驱动电源, 不过要考虑温升。 4、转动惯量大的负载应选择大机座号电机。 5、电机在较高速或大惯量负载时,一般不在工作速度起动,而采用逐渐升频提速,一电机不失步,二可以减少噪音同时可以提高停止的定位精度。 6、高精度时,应通过机械减速、提高电机速度,或采用高细分数的驱动器来解决,也可以采用5相电机,不过其整个系统的价格较贵,生产厂家少,其被淘汰的说法是外行话。 7、电机不应在振动区内工作,如若必须可通过改变电压、电流或加一些阻尼的解决。 8、电机在600pps(0.9度)以下工作,应采用小电流、大电感、低电压来驱动。 9、应遵循先选电机后

33、选驱动的原则。2.3单片机控制步进电机的设计思路本设计主要是利用mcs-51对感应子式步进电机步进电机,控制的要求是开机后,电机不转,按下启动键,电机旋转,速度为25转/分,按下加1键,速度增加,按下减1键,速度降低,最高速度为100转/分,最低转带为25转/分,按下停止键,电机停转。速度值要求在数码管上显示出来,并利用语音功能播报电机的转速。第3章 控制系统的硬件电路设计3.1mcs-51结构3.1.1 8051单片机内部结构通道0驱动器通道2驱动器ram地址锁存器ram通道0锁存器通道2锁存器rom/epromb寄存器程序地址寄存器缓冲器pc递增器程序计数器pc数据指针dptrvccgnd

34、p1.0p1.7堆栈指针spacctmp2psw通道3锁存器通道1锁存器通道1驱动器通道3驱动器tmp1scontmodpcontcontl0th1th0tl1iesbuf(tx/rx)ip中断、串行口和定时器逻辑振荡器p3.0p3.7rsteaalepsenxtal2xtal1alu(+5v)指令寄存器定时和控制逻辑指令译码器图3.1 8051单片机内部结构3.1.28051单片机的cpucpu即中央处理器,是单片机的核心部件,它完成各种运算和控制操作,cpu由运算器和控制器两部分组成。(1)运算器cyacf0rs1rs0ovp运算器以算术逻辑单元alu为核心,加上累加器acc、暂存寄存器t

35、mp和程序状态字寄存器psw等所组成。alu主要用于完成二进制数据的算术和逻辑运算,并通过对运算结果的判断影响程序状态字寄存器psw中有关位的状态。psw: 3.1.3芯片的引脚排列和说明mcs-51系列单片机芯片均为40条引脚,hmos工艺制造的芯片用双列直插(dip)方式封装,其引脚示意及功能分类如图3.1所示。p1.0p1.1p1.2p1.3p1.4p1.5p1.6p1.7rst/vpdrxd/p3.0txd/p3.1int0/p3.2int1/p3.3t0/p3.4t1/p3.5wr/p3.6rd/p3.7xtal2xtal1vss123456789101112131415161718

36、192080514039383736353433323130292827262521222324vccp0.0p0.1p0.2p0.3p0.4p0.5p0.6p0.7ea/vppale/progpsenp2.7p2.6p2.5p2.4p2.3p2.2p2.1p2.0图3.2 8051芯片的引脚排列各引脚功能说明如下:1. 主电源引脚vcc(40脚):接+5v电源正端。vss(20脚):接+5v电源地端。 2. 外接晶体引脚xtal1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,对于hmos单片机,该引脚接地;对于chm

37、os单片机,该引脚作为外部振荡信号的输入端。xtal2(18脚):接外部石英晶体的另一端。在单片机内部,它是片内振荡器的反相放大器的输出端。当采用外部时钟时,对于hmos单片机,该引脚作为外部振荡信号的输入端;对于chmos单片机,该引脚悬空不接。2. 输入/输出引脚 (1) p0口(3932脚):p0.0p0.7统称为p0口。在不接片外存储器与不扩展i/o口时,可作为准双向输入/输出口。在接有片外存储器或扩展i/o口时,p0口分时复用为低8位地址总线和双向数据总线。 (2) p1口(18脚):p1.0p1.7统称为p1口,可作为准双向i/o口使用。对于52子系列,p1.0与p1.1还有第二功

38、能:p1.0可用作定时器/计数器2的计数脉冲输入端t2,p1.1可用作定时器/计数器2的外部控制端t2ex。(3) p2口(2128脚):p2.0p2.7统称为p2口,一般可作为准双向i/o口使用;在接有片外存储器或扩展i/o口且寻址范围超过256字节时,p2口用作高8位地址总线。 表3.1 p3口第二功能引 脚 第二功能p3.0 rxd 串行口输入p3.1 txd 串行口输出端p3.2 int0 外部中断0请求输入端,低电平有效p3.3 int1外部中断1请求输入端,低电平有效p3.4 t0 定时器/计数器0计数脉冲输入端p3.5 t1 定时器/计数器1计数脉冲输入端p3.6 wr 外部数据

39、存储器写选通信号输入端,低电平有效p3.7 rd 外部数据存储器读选通信号输入端,低电平有效(4) p3口(1017脚):p3.0p3.7统称为p3口。除作为准双向i/o口使用外,还可以将每一位用于第二功能,而且p3口的每一条引脚均可以独立定义为第一功能的输入输出或第三功能。p3口的第二功能如表2.1所示。4. 控制线 (1) ale/prog(30脚):地址锁存有效信号输入端。ale在每个机器周期内输出两个脉冲。在访问片外程序存储器期间,下降沿用于控制锁存p0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。但要注意,在访问片外数据存储器期间,ale脉冲会

40、跳空一个,此时作为时钟输出就不妥了。对于片内含有eprom的机型,在编程期间,该引脚用作编程脉冲prog的输入端。 (2) psen(29脚):片外程序存储器读选通信号输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线p0口读回指令或常数。在访问片外数据存储器期间,psen信号将不再出现。 (3) rst/vpd引脚(9脚):rst即为reset,vpd为备用电源。该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引

41、脚上高电平必须持续10ms以上才能保证有效复位。当vcc发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源vpd(+5v)为内部ram供电,以保证ram中的数据不丢失。 (4)ea/vpp(31脚):ea为片外程序存储器选用端。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。对于片内含有eprom的机型,在编程期间,此引脚用作21v编程电源vpp的输入端。综上所述,mcs-51系列单片机的引脚可归纳为以下两点:(1) 单片机功能多,引脚数少,因而许多引脚都有第二功能。(2) 单片机对外呈现3总线形式,由p2、p0口组成16位地址总线;由p0口分时

42、复用为数据总线;由ale、psen、rst、ea与p3口中的int0、int1、t0、t1、wr、rd共10个引脚组成控制总线,如图2.1(b)所示。由于是16位地址线,因此,可使片外存储器的寻址范围达到64kb。3.2 步进电机的驱动电路设计这款步进电机是从废旧的洗衣机上拆下来的,其驱动电压12v,步进角为 7.5度 .一圈 360度 , 需要 48 个脉冲完成。 该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。 采用51驱动uln2003的方法进行驱动。 图3.3单片机控制35by48s03型步进电机的电路原理图3.3、数码管显示电路的设计数

43、码管的显示驱动使用74ls164,通过spce061a的iob0和iob1口对data和clk发送数据。图3.4 数码管显示电路3.4 4x4键盘电路在设计中,使用了标准的4x4键盘,其电路图如图35所示。单片机的a口低8位为键盘的接口。尽管设计要求中只需要4个键对步进电机的状态进行控制,但考虑到对控制功能的扩展,我们使用了4x4的键盘。图35第4章 控制系统的软件设计4.1 控制脉冲的产生本系统的主要控制对象为步进电机。步进电机是一种将电脉冲转化为角位移的执行机构,因此产生符合系统要求的步进电机驱动脉冲为整个系统设计中的关键。本系统的脉冲分频电路由图2所示。整个电路采用3片8254来产生x,

44、y,z三个轴的驱动脉冲信号,鉴于y,z轴的电路与x轴相同,因此图中只表示了x轴脉冲数输出的电路原理。 inte18254是可编程定时/计数器,片内包含3个独立通道,每个通道均为功能相同的16位计数器,每个计数器的工作方式和计数长度分别由软件编程选择。8254是8253的改进型,操作方式及引脚与8253完全相同。8253计数频率为2.6mhz,8254的计数频率则更高,可达到6mhz。本系统选择8254作为脉冲分频电路的主控芯片。 图2 脉冲分频电路图4.2语音报数2、语音报数程序设计中语音报数使用的是sacma2000,考虑到程序比较简单,首先使用了自动报数方式,但发现不能进行连续报数,于是使

45、用了非自动方式,流程图如图42所示。图42第5章 结论控制电路如图3所示,开机后,电机不转,按下启动键,电机旋转,速度为25转/分,按下加1键,速度增加,按下减1键,速度降低,最高速度为100转/分,最低转带为25转/分,按下停止键,电机停转。速度值要求在数码管上显示出来。1要求分析按上面的分析,改变转速,只要改变p1.0p1.3轮流变低电平的时间即可达到要求,这个时间不应采用延时来实现,因为会影响到其他功能的实现。这里以定时的方式来实现。下面首先计算一下定时时间。按要求,最低转速为25转/分,而上述步进电机的步距角为7.5,即每48个脉冲为1周,即在最低转速时,要求为1200脉冲/分,相当于

46、50ms/脉冲。而在最高转速时,要求为100转/分,即48000脉冲/分,相当于12.5ms/脉冲。可以列出下表表4.1步进电机转速与定时器定时常数关系速度 单步时间(us) th1 tl1 实际定时(us)25 50000 76 0 49996.826 48077 82 236 48074.1827 46296 89 86 46292.6128 44643 95 73 44640.155 100 12500 211 0 12499.2表中不仅计算出了th1和tl1,而且还计算出了在这个定时常数下,真实的定时时间,可以根据这个计算值来估算真实速度与理论速度的误差值。表中th1和tl1是根据定时

47、时间算出来的定时初值,这里用到的晶振是11.0592m。有了上述表格,程序就不难实现了,使用定时/计数器t1为定时器,定时时间到后切换输出脚即可。2程序实现定义dsb1a实验板的s1为启动键,s2为停止键,s3为加1键,s4为减1键,程序如下:startend bit 01h ;起动及停止标志minspd equ 25 ;起始转动速度maxspd equ 100 ;最高转动速度speed data 23h ;流动速度计数djcount data 24h ;控制电机输出的一个值,初始为11110 111hidden equ 10h ;消隐码counter data 57h ;显示计数器dispb

48、uf data 58h ;显示缓冲区org 0000hajmp mainorg 000bhjmp disporg 001bhjmp djzdorg 30hmain: mov sp,#5fhmov p1,#0ffhmov a,#hiddenmov dispbuf,amov dispbuf+1,amov dispbuf+2,amov djcount,#11110111bmov speed,#minspd ;起始转动速度送入计数器clr startend ;停转状态mov tmod,#00010001b ;mov th0,#high(65536-3000)mov tl0,#low(65536-300

49、0)mov th1,#0ffh;mov tl1,#0ffhsetb tr0setb easetb et0setb et1loop: acall key ;键盘程序jnb f0,m_next1 ;无键继续acall keyproc ;否则调用键盘处理程序m_next1:mov a,speedmov b,#10div abmov dispbuf+5,b ;最低位mov b,#10div abmov dispbuf+4,bmov dispbuf+3,ajb startend,m_next2clr tr1 ;关闭电机jmp looporl p1,#11110000bm_next2:setb tr1 ;

50、启动电机ajmp loop ;主程序结束;-d10ms: ;-延时程序,键盘处理中调用keyproc:mov a,b ;获取键值jb acc.2,startstop ;分析键的代码,某位被按下,则该位为1jb acc.3,keystyjb acc.4,upspdjb acc.5,dowspdajmp key_retstartstop:setb startend ;启动ajmp key_retkeysty: clr startend; ;停止ajmp key_retupspd:inc speed;mov a,speedcjne a,#maxspd,k1 ;到了最多的次数?dec speed ;是

51、则减去1,保证下次仍为该值k1:ajmp key_retdowspd:dec speedmov a,speedcjne a,#maxspd,key_ret ;不等(未到最大值),返回mov speed,#minspd;key_ret:retkey: 获取键值的程序retdjzd: ;定时器t1用于电机转速控制push accpush pswmov a,speedsubb a,#minspd ;减基准数mov dptr,#djhmovc a,a+dptrmov th1,amov a,speedsubb a,#minspdmov dptr,#djlmovc a,a+dptrmov tl1,amov a,djcountcpl aorl p1,amov a,djcountjnb acc.7,d_next1jmp d_next2d_next1:mov djcount,#11110111

温馨提示

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

评论

0/150

提交评论