基于单片机的步进电机控制系统设计综述_第1页
基于单片机的步进电机控制系统设计综述_第2页
基于单片机的步进电机控制系统设计综述_第3页
基于单片机的步进电机控制系统设计综述_第4页
基于单片机的步进电机控制系统设计综述_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的步进电机控制系统设计基于单片机的步进电机控制系统设计摘要:本文应用AT89S51单片机、步进电机驱动芯片、字符型LED和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。实现步进电机的正反转速度控制并且显示数据。整个系统采用模块化设计,结构简单,可靠,通过人机交互换接口可实现各功能设置,操作简单,易于掌握。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。该系统可应用于步进电机在机电一体化控制等大多数场合。最后给出了步进电机控制系统的应用实例。 关键词: AT89S51;LED;步进电机;软硬件协同仿真 Design of Ste

2、pper Motor Based on SCMAbstract:In this paper, microcontroller, stepper motor driver chips, character LED and keypad array, build a set of stepper motor controller and driver as one of the stepping motor control system. Implementation of step motor and reversing speed control and display the data.Th

3、e whole system uses modular design, simple structure reliable, through man-machine exchange interface can be set up to realize each function, simple operation, easy to master. Stepper motor control system has been developed using the software and hardware co-simulation method, can effectively reduce

4、 the system development cycle and cost. The system can be applied to the stepping motor in electromechanical integration control and so on most occasions. Finally, an application example is given of stepper motor control system.Key words:AT89S51; LED; Stepping Motor; software and hardware

5、co-simulation引言随着数字化技术发展,数字控制技术得到了广泛而深入的应用。步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Steppingmotor、 Pulse motor或Stepper servo,其应用发展已有约80年的历史。因为步进电动机组成的控制系统结构简单,价格低廉,性能上能满足工业控制的基本要求,所以广泛地应用于手工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,投影仪、数码摄像机、大型望远镜、卫星天线定位系统、医疗器件以及各种可控机械工具等

6、等。步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制1。当电流流过定子绕组的时候,定子绕组产生一个矢量磁场,该矢量场会带动转子旋转一定角度,使转子的一对磁极磁场方向与定子的磁场方向向着该磁场旋转一个角度。因此,控制电机转子旋转实际上就是根据一定的规律来控制定子绕组电流来产生旋转的磁场。每来一个脉冲电压转子就会旋转一个步距角,称为一步。根据电压脉冲分配方式,步进电机各相绕组的电流会轮流切换,在供给连续脉冲的时候就能一步一步地连续转动,从而使电机旋转。步进电机每转一周的步数相同,在不丢步的情况下运行,其步距误差不会长期积累。在非超载的情况下,电机的转速、停止的位置只取决

7、于脉冲信号的频率和脉冲数,而不受负载变化的影响,同时步进电机只有周期性的误差而无累积误差,精度高,步进电动机可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速起停、正反转控制等,这是步进电动机最突出的优点2。正是因为步进电机具有突出的优点,所以被广泛的用于各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用3。比如在数控系统中就得到了广泛的应用。目前,世界上所有的国家都在发展数控技术,我国数控系统也取得了很大的发展,我国已经能够开发各种等级的数控机床控制系统。近些年来因为微型计算机方面快速发展,步进电机的控制也发生了革命性变革。有明显优点

8、的步进电动机被广泛的用于电子计算机的很多外围设备中,比如打印机,纸带输送的机构,卡片阅读机器,主动轮的驱动机构以及存储器的存取机构等,步进电动机也在军用的仪器,通信以及雷达设备,摄影系统,光电的组合装置,阀门控制,数控机床,电子钟,医疗卫生设备和自动绘图装置,数字控制装置,程序的控制系统以及很多航天工业系统中得到应用4。因而,对于步进电动机控制的研究也就显得非常重要了。1 步进电机概述 1.1 步进电机的概述在电气时代的今天,电动机一直在现代的生产和生活起着十分重要的作用5。 跟据相关资料统计目前90以上的动力来源是电动机。我们国家生产的电能大约60用在了电动机上。电动机在我们生活中占有重要地

9、位,步进电机是机电一体化中一种关键的产品,是专门用于位置和速度精确控制的特种电动机。其最大的特点就是“数字性” ,它在控制器的推动下运转一个角度,这个角度被称为一步或步矩角,很适合微机和单片机的控制。伴随着微电子和计算机的技术发展,步进电机的需求量与日俱增,在国民经济各个领域都有应用。鉴此,设计开发了一种基于单片机的步进电机控制系统。步进电动机是将电脉冲信号转换为相应的角位移或直线位移,用电脉冲信号进行控制的特殊运行方式的同步电动机,它通过专用电源把电脉冲按一定顺序供给定子各项控制绕组,在气隙中产生类似于旋转磁场的脉冲磁场。每输入一个脉冲信号,电动机就移动一步。它把电脉冲信号变换成角位移或直线

10、位移,其角位移量或直线位移量S与电脉冲数K成正比,其转速n或线速度v与脉冲频率f成正比。步进电动机调速范围大,动态性能好,能快速起动、制动、反转。当用微电脑进行数字控制时,它不需要进行D/A转换,能直接把数字脉冲信号转换为角位移。由于步进电动机是根据组合电磁铁的理论设计的,力求定子各相绕组间没有互感,定、转子都采用凸极结构,而不考虑空间磁场谐波的有害影响,只尽一切可能去增加定位转矩的幅值和定位精度,把转速控制和调节放在次要地位,故步进电动机主要用于计算机的磁盘驱动器、绘图仪、自动记录仪以及调速性能和定位要求不是非常精确的简易数控机床等的位置控制。目前,步进电动机的功率做得越来越大,已生产出功率

11、步进电动机,它可以不通过传动齿轮等力矩放大装置,直接由功率步进电动机来带动机床运动,从而简化结构,提高系统精度。1.2 步进电机的分类步进电机的种类很多,从广义上来讲,步进电动机的类型可以分成机械式、电磁式和组合式三种类型。按照结构的特点电磁式步进电动机可以分成反应式(VR)、永磁式(PM)和混合式(HB)三种类型;按照相数分则可以分为单相、两相和多相三种。目前使用最为广泛的为反应式和混合式步进电机6。(1)反应式步进电动机(Variable Reluctance,简称VR)。反应式的步进电机的转子是的原材料是软磁材料,其中是没有绕组的。它结构简单,成本低,步距角也很小,但是它的动态性能是比较

12、差的。反应式的步进电机分为单段式的和多段式的两种类型。 (2)永磁式步进动电机(Permanent Magnet,简称PM)。永磁式的步进电机的转子的材料是永磁材料,这个转子它自身是一个磁源,并且它的极数与定子是一样的,因此一般的步距角是较大的。它的输出转矩较大、动态性能很好、消耗功率相对较小,但是启动运行的频率较低,还是要正负脉冲供电。(3)混合式步进电动机(Hybrid,简称HB)。混合式步进电动机综合了反应式和永磁式两种电机的优点。它与传统的反应式相比,结构上转子加上了永磁体,用来提供软磁材料的工作点,定子激磁只需要提供变化的磁场不必提供磁材料工作点的耗能,所以该电机效率高,电流小,发热

13、低。1.3 步进电机的结构在结构上步进电机是的组成部分是定子和转子,可以用于旋转角以及转速的高精度的控制。当电流经过定子的绕组时,定子绕组所产生的矢量场将带动转子转动一定的角度,使磁场的转子和定子磁极磁场的方向旋转一定角度。所以,控制电机的转子实际上是控制定子绕组电流产生的旋转磁场。每有一个脉冲电压,转子旋转一个步距角,称为一个步骤。根据脉冲电压的分布,各相绕组电流的电机开关的步骤,再提供连续的脉冲,可以一步一步的连续转动,使电机转动。电动机将电能转换成机械能,步进电机将电脉冲转化为具体的旋转运动。每个由运动产生的脉冲是精确的,可重复的,这就是为什么步进电机的定位应用程序有效的原因。 1.4

14、步进电机的原理步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。 现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。 永磁式步进电机一般为两相,转矩和体积较小,步

15、进角一般为7.5度或15度。 反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩7。 混合式步进电动机是指混合了永磁式电动机和反应式电动机的优点。它又可以分为两相和五相:两相的步进角一般为1.8度而五相的步进角一般为0.72度。这种步进电动机的应用最为广泛。 步进电动机的一些基本参数: (1)电动机固有步距角 电动机固有步距角表示控制系统每发一个步进脉冲信号,电机所转动的角度8。电动机出厂的时候就给出了一个步距角的值,比如86BYG250A型电动机给出的值为0.9°

16、/1.8°(表示半步工作时是0.9°、整步工作时是1.8°),该步距角可以称为“电动机固有步距角”,它不一定是电动机实际工作的时候的真正步距角,真正步距角和驱动器有关。 (2)步进电动机相数 步进电动机相数是指电动机内部的线圈组数,目前常用的步进电动机有二相、三相、四相、五相。电动机相数不同,它的步距角也不同,一般二相电动机的步距角为0.9°/1.8°、三相步距角的为0.75°/1.5°、五相步距角的为0.36°/0.72° 。在没有细分驱动器的情况下,用户主要是根据选择不同相数的步进电动机来满足步距角的

17、要求。使用细分驱动器,那么“相数”就会没有意义,用户只需要在驱动器上改变细分数,就能改变步距角。 (3)保持转矩(HOLDING TORQUE) 保持转矩是指步进电动机通电但是没有转动的时候,定子锁住转子的力矩。保持转矩是步进电动机最重要的参数之一,一般步进电动机在低速时的力矩比较接近保持转矩。因为步进电动机的输出力矩随着速度的增大而在不断的衰减,输出功率也随着速度的增大而变化,这样保持转矩就成为了衡量步进电动机最重要的参数之一。比如,当人们说2N.m的步进电动机,在没有特殊说明的情况下是指保持转矩为2N.m的步进电动机。 1.5 步进电机选用中的注意事项(1)步进电动机用于低速场合,即每分钟

18、转速不超过1000转,(0.9度时6666PPS),最好是在1000-3000PPS(0.9度)之间使用,可以通过减速装置使电机在此间工作,这时电动机工作效率高较,噪音较低。 (2)步进电动机最好不要使用整步状态,因为整步状态时的振动比较大。 (3)因为历史原因,只有标称为12V电压的电动机使用12V之外,其他电动机的电压值不是驱动的电压伏值,可以根据驱动器来选择驱动电压(建议:57BYG采用直流24V-36V,86BYG采用直流50V,110BYG采用高于直流80V),当然12V电压除12V恒压驱动之外也可以采用其他的驱动电源,但是需要考虑温升。 (4)转动惯量较大的负载应该选择大机座号电动

19、机。 (5)电动机在较高速度或着较大惯量负载时,一般不会在工作速度起动,而是用逐渐升频的提速方式,这样一使电机不会失步,二还能在减少噪音的时候提高停止的定位的精度度。 (6)高精度的时候,应该用机械减速的方式来提高电机的速度,或着用高细分数驱动器解决,也可以采用五相电动机,不过它的整个系统的价格较贵,生产厂家少,它被淘汰的说法是外行话。 (7)电动机不应该在振动的区域内工作,如果必须在振动的区域内工作可以通过改变电压、电流或加一些阻尼来解决。 (8)电动机在600PPS(0.9度)以下工作,应该采用小电流、大电感、低电压来驱动。 (9)应该遵循先选电机后选驱动的原则。2 步进电机常见的控制方案

20、与驱动技术简介2.1 常见的步进电机控制方案 2.1.1 基于电子电路的控制步进电机的电脉冲信号控制,电脉冲信号的产生、分配,以实现运动的电子元件放大。因为驱动脉冲控制信号非常微弱,所以必须有一个功率放大器电路。步进电机和控制电路,功率放大电路是由步进电机驱动系统构成。控制电路设计简单,功能强大,可以实现步进电机的一般任务。该系统由三个部分组成:脉冲信号产生电路,脉冲信号分配电路,功率放大电路。系统组成如图2-1所示。脉冲控制器环形分配器功率放大驱动电路步进电机 图 2-1 基于电子电路控制系统这个方案既可以开环控制也可以闭环控制。开环控制时,其稳定性好,成本低,设计简单,但未能实现高精度细分

21、。闭环控制时,可实现高精度细分、无级调速。闭环控制是直接或间接转子位置和速度的检测,然后通过反馈和适当的处理,自动给出脉冲链,每一步的步进电机响应控制信号的命令,只要控制策略正确就不可能轻易出现步进电机失步9。该方案通过一些大规模集成电路控制输出脉冲的频率和脉冲数,功能比较简单,如需要改变控制方案,必须要重新设计,所以灵活性不高。2.1.2 基于单片机的控制利用单片机控制步进电机,实现了软件和硬件的结合。用软件代替环形分配器,是步进电机的最佳控制。系统采用单片机接口线直接控制各相步进电机的驱动电路。由于单片机的强大功能,还可设计一些外围电路,键盘作为外部中断源,步进电机的正转,反转,档次,停止

22、等的一些功能,通过使用组合的中断以及查询调用中断服务程序的方法,步进电动机最佳的控制显示时间,正转和反转的速度等。环形分配器,它的功能是通过单片机的系统来实现脉冲分配软件编程方法。该方案具有以下的一些优点:(1)单片机的软件编程能使麻烦的控制的过程实现自动控制和精确的控制,避免失步振荡,控制精度的影响;(2)用软件代替环形分配器,基于单芯片组,使用相同的电路实现多相步进电机控制和驱动,大大提高了接口电路的灵活性和通用性;(3)单片机的强大功能使显示电路、键盘电路、复位电路等外围电路结合在一起,大大提高了系统的交互性能10。2.2 步进电机驱动的技术步进电机的单电压驱动是通过改变电路时间常数来提

23、高电机的高频特性。这种驱动技术在六十年代早期就都得到了广泛的应用,它具有结构简单,成本低的优点;缺点是串联连接的电阻会产生大量的能量损失,特别是在高频率操作时更严重,所以仅适用于小功率或性能要求不高的步进电机驱动。单电压串联电阻驱动是基于单电压绕组电路串联电阻的电压驱动技术,用于提高常数的电路,提高了电机高频特性的时间。它也优化了步进电机的响应频率,减少电机的共振,也带来了巨大的损失,效率低。这个驱动器现阶段主要被应用在小功率或着启动操作频率要求不是很高的场合。步进电机中高低压驱动指的是不管电机工作的频率是多少,导通相前沿的电流上升沿的斜率是通过高压供电的方式来提高的,之后的绕组电流是用低电压

24、方式来维持的,就是通过增加绕组电流注入量来增加的出力,而不是不断改变时间的常数来改善电路转矩变频性能。但使用这种驱动的方式的电动机,它的绕组电流的波形会在高压工作结束和低压工作开始的衔接处呈现凹形,使电机的输出力矩有一定的下降。该驱动器在实际应用中还是比较常见的。3 步进电机驱动控制技术在混合式步进电机的特点及工作原理的基础上,本章对步进电机驱动和控制步进电机的技术进行了详细的分析和比较。首先介绍了传统的驱动方式:单电压驱动(包括单电压串联电阻驱动),双电压驱动(包括高和低电压驱动)和恒流斩波器的优缺点及原理,然后重点介绍了细分驱动模式和原则。31 步进电动机的驱动概述3.1.1 一般驱动系统

25、的组成结构步进电机与直流电机、交流电机是不一样的,它不能直接接到交直流电源上,但必须使用专用设备步进电机驱动器。步进电机驱动系统的性能和运动性能,除了本身之外,也在很大程度上取决于驱动器的优劣。因此,对步进电动机驱动器的研究几乎是对步进电动机的研究同步进行的。步进电机驱动的主要组成如图3-1所示,一般由环形分配器,信号处理阶段,驱动阶段等,对功率步进电机驱动程序也需要各种保护电路。环形分配器推动级信号放大与处理驱动级保护图3-1 步进电动机驱动器构成环形分配器接受来自控制器的CP脉冲,并且要按照步进电机状态转换表要求生产各阶段的信号打开或关闭。每来一个CP脉冲,环形分配器的输出就转换一次。同时

26、,环形分配器也必须要接受控制器的方向信号,它决定了状态转换和输出是正向或逆向顺序转换,决定了步进电机的转向。因此,步进电机的旋转速度,加速或减速,启动或停止都取决于CP脉冲的有无或频率的高低。信号放大与处理的作用就是放大环分输出信号,成为足够大的信号被送入相应推动级。信号的处理具有一些变换和合成的功能,能产生斩波,抑制等某些特殊功能信号,从而可以产生具有特殊的功能的驱动。信号的处理还要经常的与一些保护电路以及控制电路相组合,形成一些具有相对性能比较高的驱动的输出。推动级将小信号放大,成为强大到能够推动某些驱动级的大信号。有时候,推动级也承担电平转换功能。保护级的作用就是保护驱动级的安全11。一

27、般可以根据需要设置过电流保护,过热保护,过压保护,欠压保护等。3.1.2 驱动器的特点为了满足步进电机输出的各种需求,驱动级必须提供足够电压和电流的电机绕组,但步进电机和一般电子设备的驱动是有很多不同的,这主要表现在:(1)所有绕组都是开关工作,电机的绕组绝大部分是连续的交流或直流,但是步进电机的绕组是脉冲电源使绕组电流不连续。(2)电机每相绕组线圈绕在铁芯上,所以都有较大电感。电流上升率限制绕组通电,因此影响了电机绕组电流的大小。(3)绕组断点的时候,电感储能维持目前已经有的电流不能发生突变,导致电流截止相不能立即停止。为了使电流尽快截止,必须正确地设计续流回落。绕组的导通和截止具有强大的反

28、电势,截止时,驱动级器件的安全将受到反电势的有害影响。(4)电动机运行时各相绕组中产生旋转电动势,这些电势的大小和方向都会对绕组电流产生大的影响。由于旋转电势与电机速度基本成正比,速度越高,电势越大,绕组的电流越小,使电机的输出转矩随着发动机转速的增加而下降。驱动级线路,既要保证绕组的电流电压足够充分和波形的准确,又要确保功率放大装置安全运行,此外,还应确保效率高,功耗低,成本低。这必须设计合理路线,合适的功率器件的选型。驱动级的功率放大器包括功率晶体管、大功率晶体管、大功率达林顿晶体管、可控硅、可关断可控硅、场效应功率管、双极型晶体管和场效应功率管的复合管和各种电源模块等。步进电机驱动器使用

29、一个电压驱动(包括单电压串联电阻驱动),双电压驱动(包括高和低电压驱动),斩波恒流驱动和细分驱动等。下面的工作原理是两种驱动方式的介绍和优缺点。将在后面详细说明细分驱动方式。3.2 步进电动机驱动技术分析3.2.1 单电压驱动单电压驱动是指在工作过程中电机绕组,只有一个方向缠绕电源电压。示意图如图3-2所示,前面推动级输出信号In作用于三极管的基级,一相绕组的集电极连接电机,另一端绕组直接连接电源电压。因此,当三极管导通时,电源电压全部作用在电机绕组上。综上所述,单电压驱动具有以下特点:电路简单,成本低,良好的低频响应;共振,高频率时,负载能力迅速下降。 图3-2 单电压驱动的原理图 图3-3

30、 单电压串电阻驱动单电压驱动的致命弱点是线圈绕组导通的时候回路电气时间常数较大,导致导通时电流在绕阻上升速度较慢,导致导通脉冲宽度T接近时绕组电流迅速下降。因为=L/R,因此减少电气时间常数方法是减小绕阻电感L或增加绕组回路电阻R。对已经确定了的步进电机,绕阻电感也已经确定。因此在电路中只能用增加回路电阻的方法。单电压串联电阻驱动,示意图如图3-3所示。单电压串联电阻驱动的主要缺点是效率低、损耗大。与单电压驱动相比,导电铜损为i2R,串联电阻后的导通铜损为i2(R+RS),所以电源提供大部分消耗在串联电阻上。3.2.2 双电压驱动双电压驱动的基本思想是在低频段用较低的电压驱动,在高频段用较高的

31、电压驱动,电路如图3-4所示。电源直接供电,直接接到由大功率管TH和二极管DL组成的电源转换开关上。当关闭TH时,低电压供电,当打开TH时,高电压供电,DL在反向截止状态时,自动停止供电的低电压电源。 高电压工作 低电压工作图3-4 双电压驱动的原理图高压驱动电路如图3-5所示,初一看,似乎与双电压之间的差异不大,但实际工作过程是不同的。如图所示,是每个阶段的单元电路。主回路由高压管、电机绕组、低压管串联而成。高压管加高电压,低压管加低电压,电机绕组线圈不能串联电阻。每个阶段的传导过程中,低压管的输入信号和高压管输入信号如图3-6所示。当低压管输入信号为高电平,该相导通;当低压管输入电平为低电

32、平,该相截止。高压管的输入信号是由低压管输入信号的前沿信号获得的,高压管输入信号前沿与低压管输入信号同步。但脉冲宽度要小得多,高、低电压驱动可以确保在很宽的频带内保证相绕组的平均电流较大,在截止时可以快速释放,因此能产生较大的并且较稳定的电磁转矩,使驱动系统能够获得较高的响应。图3-5 高低压驱动的原理图图3-6 高低压管输入信号4 系统的硬件设计4.1 系统设计方案 4.1.1 系统的方案简述与设计要求本设计采用单片机AT89S51来作为整个步进电机控制系统的运动控制核心部件,采用了电机驱动芯片L298及其外围电路构成了整个系统的驱动部分,再加上作为执行部件的步进电机来构成了一个基本的步进电

33、机控制系统。系统的具体功能和要求如下:(1)单片机最小系统板的设计;(2)设计兼有两相两拍和两相四拍的脉冲分配器; (3)实现步进电机的启停、正转、反转控制; (4)驱动电路可提供电压为12V,电流为0.3A的驱动信号; (5)能实现步进电机的转速调节,最低转速为25转/分,最高转速为100转/分; (6)步进电机的转速由数码管显示; (7)键盘扫描电路的设计。4.1.2 系统的组成及其对应功能简述整个系统的组成包括单片机最小系统,电机驱动模块,串口下载模块,数码管显示模块,电机驱动电流检测模块,独立按键等模块组成。具体框图如图4-1所示:计算机独立按键控制模块串口通信模块单片机最小系统步进电

34、机驱动电流显示模块数码管显示模块电机驱动模块图4-1系统总体框图单片机最小系统作为整个系统的控制核心,它主要负责产生控制步进电机转动的脉冲,通过单片机的软件编程代替环形脉冲分配器输出控制步进电机的脉冲信号,步进电机转动的角度大小与单片机输出的脉冲数成正比,步进电机转动的速度与输出的脉冲频率成正比,而步进电机转动的的方向与输出的脉冲顺序有关。同时单片机系统还负责处理来自电机驱动电流检测模块检测到的电流值。与此同时,单片机将会把电机转速,电机的转动方向,以及电流检测模块检测到的电机驱动的电流通过数码管显示出来。电机驱动模块负责将单片机发给步进电机的信号功率放大,从而驱动电机工作。串口下载模块主要是

35、负责实行计算机和单片机之间的通信,将在计算机里面编写好的程序下载到单片机芯片当中。数码管显示模块就主要是显示电机转速,电机转向,和通过电机的电流等系统的实时信息。电机驱动电流检测模块主要是检测通过电机驱动芯片的电流,然后通过运放将检测到的信号放大,最后将放大后的信号通过模数转换芯片ADC0804处理后送给单片机。独立按键作为一个外部中断源,和单片机端口连接,通过它设置了电机的正转,反转,加速,减速,显示电机电流等功能。采用了中断和查询相结合的方法来调用中断服务程序,完成了对步进电机的最佳的及时的控制。本节主要是在第一章和第二章的基础上引出了本论文将要采用的设计方案,并详细的清楚的一条条列出了设

36、计要实现的基本设计要求。然后是基于我的设计方案,比较简单的但有条理的描述了系统的各个部分的组成以及其对应的基本功能。通过这一章的内容,我们能对本设计有一个简单的总体的把握,既是能清楚的知道本题目的设计内容,设计方法,以及最终的预期目标。4.2 单片机最小系统4.2.1 AT89S51简介AT89S51是美国生产的具有低功耗,高性能的CMOS8位的单片机,片内含有4kbytes 的可以系统编程的Flash只读程序存储器。它的器件所采用的是ATMEL公司高密度,非易失性的存储技术来生产的,具有兼容标准的8051指令系统以及引脚12。它集Flash程序存储器一方面能够在线编程(ISP)另一方面也可以

37、用传统的方法来编程和通用的8位的微处理器在单片机的芯片中,功能非常强大。(1)主要的性能参数·可以与MCS-51产品的指令系统完全的兼容在一起 ·4k字节的系统编程(ISP)Flash 闪速存储器 ·1000 次的擦写周期 ·工作的电压范围是4.0-5.5V ·全静态的工作模式:0Hz33MHz ·具有三级的程序加密锁 ·128×8字节的内部RAM ·有32个可以编程的输入输出口线 ·有2个16位的定时计数器 ·有6个中断源 ·全双工的串行的UART 通道 ·空闲功

38、耗非常低以及掉电模式13 ·中断可以从空闲模式中唤醒系统 ·看门狗(WDT)以及具有双数据的指针 ·具有掉电标识以及快速的编程特性 ·在系统中编程是很灵活的(ISP 字节或着是页写模式)(2)功能特性的概述AT89S51提供以下的标准功能:4k字节Flash 闪速存储器,128字节的内部的RAM,32个IO 口线,看门狗(WDT),两个数据指针,两个16 位的定时计数器,一个5 向量两级中断结构,一个全双工的串行通信口,片内振荡器及时钟电路。同时,AT89S51 可降至0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,

39、但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM的内容,但振荡器会停止工作并且禁止其它所有部件的工作一直到下边的一个硬件复位的时候。(3)引脚的功能说明 图4-2 AT89S51引脚排列该设计使用到的单片机芯片对应管脚名称位置等如图4-2的引脚功能图详细说明。·VCC:电源电压·GND:地·P0口:P0口是一组具有8位的漏极开路型的双向I0口,也就是地址数据的总线的复用口。当作输出口时,每一位能够驱动8个TTL的逻辑门电路,对该端口写“l”时能当做高阻抗的输入端用。当数据总线的复用口时,在访问的期间会激活内部的上拉电阻。当F1ash 编程

40、的时候,P0口会接收到指令字节,而程序校验时,会输出一些指令字节,当校验的时候,需要外接上拉的电阻。访问外部的数据或程序存储器的时候,这组口线会分时地转换地址(低8 位)。·P1口:Pl口是一个带有内部的上拉电阻的8 位双向的IO 口,P1输出的缓冲级能够驱动(吸收或着输出电流)4个TTL的逻辑门电路。对端口写“l”,可以通过内部上拉电阻把端口拉到高电平,这时候可以作输入口。作为输入口使用的时候,由于内部存在上拉电阻,某个引脚被外部信号拉低的时候会输出一个电流 (IIL )。·P2口:P2口是带内部的上拉电阻的8位的双向IO口,P2口输出缓冲级可以驱动(吸收或着输出电流)4

41、个TTL的逻辑门电路。对该端口写“1”,可以通过内部的上拉电阻把对应端口拉到相应高电平,这时候可以作输入口。当作输入口使用的时候,由于内部有上拉电阻,某个引脚被外部的信号拉低的时候会输出电流 (IIL )。当访问外部程序存储器或着16位地址的外部数据存储器的时候,P2口会送出高8 位地址数据。当访问8 位地址外部的数据存储器的时候,P2上的内容在整个的访问期间是不会改变的。Flash 编程或着校验的时候,P2也会接收到高位地址以及其它控制信号的。·P3口:P3口是含有内部的上拉电阻8 位双向的IO口。P3口的输出缓冲级能够驱动(吸收或着输出电流)4个TTL逻辑门的电路。对P3口写入“

42、l”的时候,它们会被内部上拉电阻拉高并可以作为输入端口。当作为输入端时,被外部拉低的P3口会用上拉电阻输出电流(IIL )。P3口除了可以作为一般的IO口线之外,更重要的用途是它具有第二功能,如下表所示:P3口还可以接收一些用于Flash 闪速存储器编程和程序校验的控制信号。具体功能如表4-1所示表4-1P3口的引脚及功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选

43、通)·RST:RST是复位信号输入端。当振荡器工作的时候,RST引脚会出现两个机器周期以上的高电平使单片机复位。WDT溢出使该引脚输出高电平,设置SFR AUXR 的DISRT0 位(地址8EH)可以打开或关闭该功能。DISRT0 位缺为RESET 输出高电平打开状态。·ALEPROG:地址锁存允许信号端。当89S51上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。ALE端的负载驱动能力为8个LS型TTL(低功耗甚高速TTL)负载。此引脚的第二功能PROG在对片内带有4

44、KB Flash ROM的89S51编程写入(固化程序)时,作为编程脉冲输入端。·PSEN:程序储存允许(PSEN)输出信号端。当AT89S51由片外程序的存储器取指令(或常数)时,每个机器周期两次PSEN有效(即输出2个脉冲)。但在此期间内,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。PSEN的端口同样可驱动8个LS型TTL负载。·EAVPP:外部程序存储器地址允许输入端/固化编程电压输入端14。当EA接高电平的时候,CPU只能访问片内Flash ROM并且执行内部的程序存储器里的指令;但当PC(程序计数器)的值超过0FFFH(对89S51为4KB)时,将

45、自动转去执行片外的程序存储器里的程序。输入信号EA接低电平(接地)时,CPU只能访问片外ROM并执行片外的程序存储器里的指令,不管是否会有片内的程序存储器。然而需要注意的是,如果保密位LB1被编程,则复位时在内部会锁存EA端的状态。当EA 端保持高电平(接VCC端)时,CPU则执行内部的程序存储器中的程序。F1ash 存储器编程的时候,该引脚加上+12V 的编程电压Vpp。 ·XTAL2:接外部晶体和微调电容的一端。在89S51片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。若须采用外部时钟电路,则该引脚悬空。要检查89S51的振荡电路是否正常工作,可用示波器查

46、看XTAL2端是否有脉冲信号输出。·XTAL1:接外部晶体和微调电容的另一端。在片内,它是振荡电路反相放大器的输入端。在采用外部时钟时,该引脚输入外部时钟信号。·存储器结构:MCS-51单片机内核采用程序存储器和数据存储器空间分开的结构,均具64KB外部程序和数据的寻址空间。 ·程序存储器:若EA引脚接地(GND),全部程序都执行外部存储器。在AT89S51中,如果EA 接至Vcc(电源+),程序会首先执行地址从0000H0FFFH(4KB)内部程序存储器,然后再执行地址为1000HFFFFH(60KB)的外部程序存储器。·数据存储器:AT89S51中的

47、具128字节的内部RAM,这128个字节可以利用直接或间接的寻址方式访问,堆栈操作可以利用间接寻址方式进行,128个字节均可设置为堆栈区空间。(4)晶体振荡器特性 AT89S51是一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是这个放大器的输入端和输出端。该放大器与作为反馈元件的片外石英晶体或着陶瓷谐振器一起构成自激振荡器。它外边接石英晶体以及电容Cl、C2 接在放大器的反馈回路构成并联振荡电路。对外接电容Cl、C2 虽然没有十分严格的要求,但是电容容量的大小会轻微影响到振荡频率的高低、振荡器工作的稳定性、起振的难易程度以及温度稳定性。如果要使用石英晶体,我们推荐电容

48、使用30pF±10pF,而如果要使用陶瓷谐振器建议选择40pF±10pF。用户还可以采用外部时钟。在这种情况下,外部时钟脉冲会接到XTAL1端,即内部时钟发生器的输入端,XTAL2就要悬空。因为外部时钟信号是通过一个2分频触发器后当作内部时钟信号的,所以对外部时钟信号的占空比没有特殊的要求,但是最小高电平持续的时间和最大的低电平持续的时间应该符合产品技术条件的要求。(5)Flash闪速存储器的并行编程AT89S51单片机内部4k字节的可快速编程的Flash存储阵列。编程方法可通过传统的EPROM编程器使用高电压(+12V)和协调的控制信号进行编程。AT89S51的代码是逐一

49、字节进行编程的。 编程方法:编程前,必须要设置好地址、数据以及控制信号,AT89S51 编程方法如下: (1)在地址线上加上需要编程单元的地址信号。(2)在数据线上加上需要写入的数据字节。(3)激活相应的控制信号。(4)在EAVpp 端加上+12V的编程电压。(5)每对Flash 存储阵列要写入一个字节或每写入一个程序加密位,需要加上一个ALEPROG编程脉冲。每个字节写入的周期都是自身定时的,大多数约是50us。然后改变编程单元的地址和写入的数据,重复15 步骤,最后直到全部文件编程结束。4.2.2 单片机最小系统设计采用AT89S51单片机构成了控制系统的核心,其基本模块就主要包括复位电路

50、和晶体震荡电路。在本设计当中,单片机的P 0口、P 1口、P 2口、P 3口全部参与系统工作,单片机最小系统的接线如图4-3所示:图4-3单片机最小系统图4.2.3 单片机端口分配及功能(1)其中P0口用于控制数码管的具体显示功能,既是数码管的段选。(2)P1口主要用于控制电机驱动芯片L298的工作,以及ADC0804芯片的编程的读写控制。(3)P2口主要用于控制数码管的公共端,既是数码管的位选。与此同时还处理键盘扫描电路。(4)P3口主要用于负责处理ADC0804的模数转化芯片的工作。4.3 串口通信模块本设计采用串口通信,来实现计算机与单片机的通信。其具体的电路图如图4-4所示。图4-4串

51、口通信模块4.4 数码管显示电路设计本设计的显示部分可以用液晶显示的方案可供选择,液晶显示和数码管显示的区别主要体现在以下几个方面:数码管显示内容单一,而液晶显示器显示内容丰富,因为液晶一般都是七段八字的只能显示单一的内容,而液晶显示的内容就很丰富;数码管还比液晶显示耗电,而且使用液晶也比使用数码管显得美观。但是控制液晶显示器的时候占用的系统资源多,编程更复杂,最关键的是液晶显示的成本是数码管的几十倍,所以考虑到应用价值,最终还是确定选用数码管实现本设计的显示部分功能。4.4.1 共阳数码管简介四位共阳数码管的管脚分配如下图4-5所示:图4-5四位共阳数码管管脚定义数码管的管脚排列:从数码管的

52、正面观看,左下角的那个脚为1脚,从1脚开始,按照逆时针方向排列依次是1脚到12脚,其中12、9、8、6为公共角,为位选信号输入端。剩余的八个脚是段选信号输入端,其对应方式是A-11、B-7、C-4、D-2、E-1、F-10、G-5、DP-3。只有详细的了解了数码管的管脚定义,以及段选位选情况,我们才能通过编程对其正常的显示进行很好的控制。在本设计当中采用了数码管动态扫描的方式进行显示,下面我们对数码管动态扫描显示作一详细介绍。数码管动态显示界面是单片机中应用最广泛的一种显示方式之一,动态驱动就是将所有的数码管中的8个需要显示的笔划"a,b,c,d,e,f,g,dp "的同名

53、端连在一起,并且为每个数码管的公共极COM都增加位元选通控制电路,位元选通是由各自独立的I/O线控制,在单片机输出字形码的时候,所有数码管都会接收到相同的字形码,但是,究竟是哪个数码管会显示出字形,这取决于单片机对位元选通COM端电路的控制,因此我们只需要将要显示的数码管的选通控制打开,这个位元就会显示,没有选通的数码管是不会亮的。经过分时轮流地控制各个LED数码管的COM端,就会使每个数码管轮流的受控显示,这就是所谓的动态驱动。在这个轮流显示的过程中,每位元数码管点亮的时间是12ms,因为人视觉的暂留现象和发光二极管余辉效应,虽然各位数码管不是同时点亮的,但是如果扫描速度很快,人们也会感觉到

54、一组很稳定的显示资料,不会出现闪烁感,动态显示和静态显示效果都是一样的,能够节省很多的I/O口,并且功耗更低18。4.4.2 共阳数码管电路图本设计选用了数码管显示设计,其段选的控制A、B、C、D、E、F、G、DP按照数码管的简介资料选用了P 0口作为其控制端口,其位选部分由于单片机的控制端口输出的电压不足以直接点亮数码管,所以在单片机控制端口和数码管的位选控制端口加入了三极管,其具体的电路连接如图4-6所示。图4-6 数码管显示电路4.5 驱动电流检测模块设计本设计的驱动芯片电流检测模块的实际应用意义在于检测流过电机的电流值并及时显示,对于防止电机过流而损坏电机有一定的意义。从上面的L298

55、的芯片资料当中我们可以知道L298的Pin1和Pin15可与电流侦测电阻连接来侦测电机正常工作的情况下的工作电流。一般检测电流的方法是通过检测电压值,然后通过欧姆定律换算电流值的方法测试电流,本设计也不例外。设计采用的42BYG101反应式步进电机,其额定电流值0.2安,在加上一般常用的电流侦测电阻都是1欧姆或0.1欧姆,这样换算来检测到的电压值一般是在mV级,这样以来,要是直接将检测到的电压值送给ADC0804进行模数转换那么由于精度的原因势必会对检测结果的准确性造成很大的影响。所以考虑到这一原因我们是先将检测到的电流值经过OP07作放大处理后再将信号送给模数转换芯片处理这样保证了检测值的可靠性。ADC0804输出的数字信号再送给单片机的P3口,经过单片机处理后最后将检测到的数字信号通过数码管显示出来。而在显示这一部分有这样一个问题,就是步进电机的工作电流不是一个恒定值,它是随着时间的变化,会在一个小范围内不停的波动

温馨提示

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

评论

0/150

提交评论