【毕业论文设计】基于单片机的步进电机控制器的设计论文_第1页
【毕业论文设计】基于单片机的步进电机控制器的设计论文_第2页
【毕业论文设计】基于单片机的步进电机控制器的设计论文_第3页
【毕业论文设计】基于单片机的步进电机控制器的设计论文_第4页
【毕业论文设计】基于单片机的步进电机控制器的设计论文_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、【毕业论文设计】基于单片机的步进电机控制器的设计论文专科生毕业设计(论文)(2011届)课题名称 基于单片机的步进电机控制器设计 系 别 机电工程系 专 业 应用电子技术 班 级 电子200805 姓 名 邹义江 学 号 200803041319 指导教师 李敏、游佳 起讫时间: 2010年 6 月 30日 2010 年 12 月 20 日(共 20 周)基于单片机的步进电机控制系统设计目录第1章绪论 31.1引言 31.2步进电机常见的控制方案与驱动技术简介 50>.常见的步进电机控制方案 5.步进电机驱动技术 7第2章步进电机概述 102.1步进电机的分类 102.2步进电机的工作原

2、理 11.结构及基本原理 11.两相电机的步进顺序 112.3 步进电机的工作特点 14第3章系统的硬件设计 163.1系统设计方案 16.系统的方案简述与设计要求 16. 系统的组成及其对应功能简述 163.2单片机最小系统 18.AT89S51简介 18.单片机最小系统设计 23.单片机端口分配及功能 243.3串口通信模块 243.4数码管显示电路设计 25.共阳数码管简介 25.共阳数码管电路图 263.5电机驱动模块设计 27.L298简介 27.电机驱动电路设计 283.6驱动电流检测模块设计 30.OP07芯片简介 30.ADC0804芯片简介 32.电流检测模块电路图 353.

3、7独立按键电路设计 36第4章系统的软件实现 374.1系统软件主流程图 374.2系统初始化流程图 384.3按键子程序 39第五章 总结 43致谢 44参考文献 45摘要:本文应用单片机、步进电机驱动芯片、字符型LCD和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在X/Y轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的应用实例。 In this paper, microc

4、ontroller, stepper motor driver chips, character LCD and keypad array, build a set of stepper motor controller and driver as one of the stepping motor control system. Two-dimensional table as a charged object by stepper motor drive ball screw in X / Y axis linkage. This paper discusses a minimum of

5、parameters to determine the trajectory of a circular interpolation method and the method of frequency control stepper motor. Stepper motor control system has been developed using the software and hardware co-simulation method, can effectively reduce the system development cycle and cost. Finally, th

6、e stepper motor control system application examples.关键词: 步进电机控制系统,插补算法,变频调速,软硬件协同仿真1章绪论1.1引言步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Steppingmotor、 Pulse motor或Stepper servo,其应用发展已有约80年的历史。步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。当电流流过定子绕组时,定子绕组产生一矢量磁场,该矢量场会带动转子旋转

7、一角度,使得转子的一对磁极磁场方向与定子的磁场方向一着该磁场旋转一个角度。因此,控制电机转子旋转实际上就是以一定的规律控制定子绕组的电流来产生旋转的磁场。每来一个脉冲电压,转子就旋转一个步距角,称为一步。根据电压脉冲的分配方式,步进电机各相绕组的电流轮流切换,在供给连续脉冲时,就能一步一步地连续转动,从而使电机旋转。步进电机每转一周的步数相同,在不丢步的情况下运行,其步距误差不会长期积累。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,同时步进电机只有周期性的误差而无累积误差,精度高,步进电动机可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速

8、起停、正反转控制等,这是步进电动机最突出的优点1。正是由于步进电机具有突出的优点,所以成了机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用2。比如在数控系统中就得到广泛的应用。目前世界各国都在大力发展数控技术,我国的数控系统也取得了很大的发展,我国已经能够自行研制开发适合我国数控机床发展需要的各种档次的数控系统。虽然与发达国家相比,我们我国的数控技术方面整体发展水平还比较低,但已经在我国占有非常重要的地位,并起了很大的作用。除了在数控系统中得到广泛的应用,近年来由于微型计算机方面的快速发展,使步进电机的

9、控制发生了革命性变革。优点明显的步进电机被广泛应用在电子计算机的许多外围设备中,例如打印机,纸带输送机构,卡片阅读机,主动轮驱动机构和存储器存取机构等,步进电机也在军用仪器,通信和雷达设备,摄影系统,光电组合装置,阀门控制,数控机床,电子钟,医疗设备及自动绘图仪,数字控制系统,工具机控制,程序控制系统以及许多航天工业的系统中得到应用3。因而,对于步进电机控制的研究也就显得尤为重要了。为了得到良好的控制性能,对步进电机的控制的研究就一直没有停止过,许多重大的技术得以实现。上世纪80年代以后,由于微型计算机以多功能的姿态出现,步进电动机的控制方式变得更加灵活多样。原来的步进电机控制系统采用分立元件

10、的控制回路,或者集成电路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要改变控制方案就一定要重新设计电路,不利于系统的改进升级。基于微型单片机的控制系统则通过软件来控制步进电机,能够更好地发挥步进电机的潜力。因此,用微型单片机控制步进电机己经成为了一种必然的趋势,也符合数字化的时代发展要求。还比如为了适应一些领域中高精度定位和运行平稳性的要求,出现的步进电机细分驱动技术,就包括振荡器、环行分配器控制的细分驱动、基于单片机斩波恒流驱动、基于单片机的直流电压驱动三种常见驱动方式,除上述三种步进电机的驱动方案之外,目前报道的驱动方案还有根据汇编语言或C语言进行软件开发,通过串行或并行通行的

11、方式实现机与步进电机控制器之间的数据通信,最终实现由PC机直接控制步进电机的方法。但是在有些应用场合,并不需要高精度的控制,而是需要在满足一般工作要求的情况下,尽量使控制系统做到:系统硬件结构简单,成本低;功能较为齐全;适应性强;电机各种运行状态指示一目了然,操作方便;系统抗干扰能力强,可靠性高等要求。本论文就是采用这个思路进行设计。一般步进电机控制器都用硬件实现,虽然电路可以做到了高集成度,可价格较贵,功能相对较单一,并且设计要求有所改变,就得改变整个硬件电路,比较麻烦。而采用单片机的软件和硬件结合进行控制,运用其强大的可编程和运算功能,充分利用单片机的各种资源,能灵活的对步进电机进行控制,

12、实现其不同模式、步数、正反转、转速等控制,如果需改变控制要求,一般只需改变软件就能适应新的环境,并且在本设计中利用动态扫描技术,把显示电路和键盘电路有机的结合起来,能做到一定的人机交换,而且为了抗干扰,提高可靠性,具有一定的应用价值。1.2步进电机常见的控制方案与驱动技术简介.常见的步进电机控制方案 1、基于电子电路的控制步进电机受电脉冲信号控制,电脉冲信号的产生、分配、放大全靠电子元器件的动作来实现。由于脉冲控制信号的驱动能力一般都很弱,因此必须有功率放大驱动电路。步进电机与控制电路、功率放大驱动电路组成一体,构成步进电机驱动系统。此种控制电路设计简单,功能强大,可实现一般步进电机的细分任务

13、。这个系统由三部分组成:脉冲信号产生电路、脉冲信号分配电路、功率放大驱动电路。系统组成如图1.1所示。图1.1基于电子电路控制系统此种方案即可为开环控制,也可闭环控制。开环时,其平稳性好,成本低,设计简单,但未能实现高精度细分。采用闭环控制,即能实现高精度细分,实现无级调速。闭环控制是不断直接或间接地检测转子的位置和速度,然后通过反馈和适当的处理,自动给出脉冲链,使步进电机每一步响应控制信号的命令,从而只要控制策略正确电机不可能轻易失步4。该方案多通过一些大规模集成电路来控制其脉冲输出频率和脉冲输出数,功能相对较单一,如需改变控制方案,必须需重新设计,因此灵活性不高。2、基于PLC的控制PLC

14、也叫可编程控制器,是一种工业上用的计算机。PLC作为新一代的工业控制器,由于具有通用性好、实用性强、硬件配套齐全、编程简单易学和可靠性高等优点而广泛应用于各行业的自动控制系统中。步进电机控制系统有PLC、环形分配器和功率驱动电路组成。控制系统采用PLC来产生控制脉冲。通过PLC编程输出一定数量的方波脉冲,控制步进电机的转角进而控制伺服机构的进给量,同时通过编程控制脉冲频率来控制步进电机的转动速度,进而控制伺服机构的进给速度。环形脉冲分配器将PLC输出的控制脉冲按步进电机的通电顺序分配到相应的绕组。PLC控制的步进电机可以采用软件环形分配器,也可采用硬件环形分配器。采用软件环形分配器占用PLC资

15、源较多,特别是步进电机绕组相数大于4时,对于大型生产线应该予以考虑。采用硬件环形分配器,虽然硬件结构稍微复杂些,但可以节省PLC资源,目前市场有多种专用芯片可以选用。步进电机功率驱动电路将PLC输出的控制脉冲放大,达到比较大的驱动能力,来驱动步进电机。 采用软件来产生控制步进电机的环型脉冲信号,并用PLC中的定时器来产生速度脉冲信号,这样就可以省掉专用的步进电机驱动器,降低硬件成本。但由于PLC的扫描周期一般为但由于PLC的扫描周期一般为几毫秒到几十毫秒,相应的频率只能达到几百赫兹,因此,受到PLC工作方式的限制及其扫描周期的影响,步进电机不能在高频下工作,无法实现高速控制。并且在速度较高时,

16、由于受到扫描周期的影响,相应的控制精度就降低了。3、基于单片机的控制采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。用软件代替环形分配器,达到了对步进电机的最佳控制。系统中采用单片机接口线直接去控制步进电机各相驱动线路。由于单片机的强大功能,还可设计大量的外围电路,键盘作为一个外部中断源,设置了步进电机正转、反转、档次、停止等功能,采用中断和查询相结合的方法来调用中断服务程序,完成对步进电机的最佳控制,显示器及时显示正转、反转速度等状态。环形分配器其功能由单片机系统实现,采用软件编程的办法实现脉冲的分配。本方案有以下优点: 1 单片机软件编程可以使复杂的控制过程实现自动控制和精确控

17、制,避免了失步、振荡等对控制精度的影响; 2 用软件代替环形分配器,通过对单片机的设定,用同一种电路实现了多相步进电机的控制和驱动,大大提高了接口电路的灵活性和通用性; 3 单片机的强大功能使显示电路、键盘电路、复位电路等外围电路有机的组合,大大提高系统的交互性5。基于以上优点,本次设计采用基于单片机的控制方案。.步进电机驱动技术步进电动机上个世纪就出现了,它的组成、工作原理和今天的反应式步进电动机没有什么本质区别,也是依靠气隙间的磁导变化来产生电磁转矩。上世纪80年代以后,由于廉价的微型计算机以多功能的姿态出现,步进电动机的控制方式变得更加灵活多样。步进电机驱动技术指的是用步进电机驱动器的驱

18、动级来实现对步进电机各相绕组的通电和断电,同时也是对绕组承受的电压和电流进行控制的技术。到目前为止,步进电机驱动技术通常分为单电压驱动、单电压串电阻驱动、高低压驱动、斩波恒流驱动、升频升压驱动和细分驱动等。单电压驱动是通过改变电路的时间常数以提高电机的高频特性。该驱动方式早在六十年代初期国外就已大量使用,它的优点是结构简单、成本低;缺点是串接电阻器的做法将产生大量的能量损耗,尤其是在高频工作时更加严重,因而它只适用于小功率或对性能指标要求不高的步进电机驱动。单电压串电阻驱动是在单电压驱动技术的基础上为电枢绕组回路串入电阻,用以改善电路的时间常数以提高电机的高频特性。它提高了步进电机的高频响应、

19、减少了电动机的共振,也带来了损耗大、效率低的缺点。这种驱动方式目前主要用于小功率或启动、运行频率要求不高的场合。高低压驱动是指不论电动机的工作频率是多少,在导通相的前沿用高电压供电来提高电流的上升沿斜率,而在前沿过后采用低电压来维持绕组的电流,即采用加大绕组电流的注入量以提高出力,而不是通过改善电路的时间常数来使矩频性能得以提高。但是使用这种驱动方式的电机,其绕组的电流波形在高压工作结束和低压工作开始的衔接处呈凹形,致使电机的输出力矩有所下降。这种驱动方式目前在实际应用中还比较常见。为了弥补高低压电路中电流波形的下凹,提高输出转矩,七十年代中期研制出斩波电路,该电路由于采用斩波技术,使绕组电流

20、在额定值上下成锯齿形波动,流过绕组的有效电流相应增加,故电机的输出转矩增大,而且不需外接电阻,整个系统的功耗下降,效率较高,因而恒流斩波电路得到了广泛应用,本文正是应用恒流斩波技术实现了驱动控制。为改善恒流驱动方式的低频特性,设计一个低速时低电压驱动,高速时高电压驱动的电路,使其成为一个由脉冲频率控制的可变输出电压的开关稳压驱动电源。在低速运行时,电子控制器调节功率开关管的导通角,使线路输出的平均电压较低,电动机不会像在恒流斩波驱动下那样在低速容易出现过冲或共振现象,从而避免产生明显的振荡。当运行速度逐渐变快时,平均电压渐渐提高以提供给绕组足够的电流。调频调压线路性能优于恒电压和恒电流线路,但

21、实际运行中需要针对不同参数的电机,相应调整其输出电压与输入频率的特性。细分驱动是指在每次脉冲切换时,不是将绕组的全部电流通入或切除,而是只改变相应绕组中电流的一部分,电动机的合成磁势也只旋转步距角的一部分。细分驱动时,绕组电流不是一个方波而是阶梯波,额定电流是台阶式的投入或切除。比如:电流分成n个台阶,转子则需要n次才转过一个步距角,即n细分细分驱动最主要的优点是步距角变小,分辨率提高,且提高了电机的定位精度、启动性能和高频输出转矩:其次,减弱或消除了步进电机的低频振动,降低了步迸电机在共振区工作的几率。可以说细分驱动技术是步进电动机驱动与控制技术的一个飞跃6。1.3本文研究的内容在一般的步进

22、电机工作中,其电源均采用单极性直流电,通过对步进电机的各相绕组按恰当的时序方式通电,就可使其执行步进转动。当某一相绕组通电时相应的两个磁极就分别形成N-S极产生磁场,并与转子形成磁路。在磁场的作用下,转子将转动一定的角度,使转子齿与定子齿对其,从而使步进电机向前“走”一步。转子的角位移大小及转速分别与输入的电脉冲数及频率成正比,并在时间上与输入的脉冲同步。只要能正确控制输入的电脉冲数、频率以及电机各相绕组通电的相序,即可得到所需要的转角、转速及转向,通过单片机很容易实现对步进电机的数字控制。本设计采用AT89S51单片机实现对两相步进电机的转速控制。由单片机产生的脉冲信号经过脉冲分配器后分解出

23、对应的四相脉冲,分解出的四相脉冲经驱动电路功率放大后驱动步进电机的转动。本课题的研究目的之一就是设计一套硬件系统较简单、经济,但功能较为齐全,适应性强,操作方便,交互性强,可靠性高的步进电机控制系统。第章17。 1 反应式步进电机 Variable Reluctance,简称VR 反应式步进电机的转子是由软磁材料制成的,转子中没有绕组。它的结构简单,成本低,步距角可以做得很小,但动态性能较差。反应式步进电机有单段式和多段式两种类型; 2 永磁式步进电机 Permanent Magnet,简称PM 永磁式步进电机的转子是用永磁材料制成的,转子本身就是一个磁源。转子的极数和定子的极数相同,所以一般

24、步距角比较大。它输出转矩大,动态性能好,消耗功率小 相比反应式 ,但启动运行频率较低,还需要正负脉冲供电; 3 混合式步进电机 Hybrid,简称HB 混合式步进电机综合了反应式和永 磁式两者的优点。混合式与传统的反应式相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低。因永磁体的存在,该电机具有较强的反电势,其自身阻尼作用比较好,使其在运转过程中比较平稳、噪声低、低频振动小。这种电动机最初是作为一种低速驱动用的交流同步机设计的,后来发现如果各相绕组通以脉冲电流,这种电动机也能做步进增量运动。由于能够开

25、环运行以及控制系统比较简单,因此这种电机在工业领域中得到广泛应用。由于本设计的设计目的更注重整个系统的有机结合,所以只采用反应式步进电机7。2.2步进电机的工作原理 .图.2.28 9。图图图第章.1图.13.2TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在和数据总线复用,在访问期间激活内部上拉电阻。在F1ash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)。?P1 口:Pl 是一个带内部上拉电阻的8 位双向I O 口,Pl 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门

26、电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 (IIL )。?P2 口:P2 是一个带内部上拉电阻的8 位双向I O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 (IIL )。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器

27、(如执行MOVXRi 指令)时,P2 口线上的内容 (也即特殊功能寄存器(SFR)区 P2 寄存器的内容),在整个访问期间不改变。Flash 编程或校验时,P2 亦接收高位地址和其它控制信号。? P3 口:P3 口是一组带有内部上拉电阻的8 位双向I O口。P3口输出缓冲级可驱动 (吸收或输出电流)4 个TTL逻辑门电路。对P3口写入“l”表.1P3口的引脚及功能5、Flash 闪速存储器的并行编程AT89s51单片机内部4k字节的可快速编程的Flash存储阵列。编程方法可通过传统的EPROM编程器使用高电压(+12V)和协调的控制信号进行编程。AT89S51的代码是逐一字节进行编程的。 编程

28、方法:编程前,须设置好地址、数据及控制信号,AT89S51 编程方法如下: 1在地址线上加上要编程单元的地址信号。2在数据线上加上要写入的数据字节。3激活相应的控制信号。4将EA Vpp 端加上+12V 编程电压。5每对Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE PROG编程脉冲。每个字节写入周期是自身定时的,大多数约为50us。改变编程单元的地址和写入的数据,重复15 步骤,直到全部文件编程结束。.图图四位共阳数码管的管脚分配如下图3.5所示:图数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,

29、d,e,f,g,dp "的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给

30、人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O,而且功耗更低。图图Sense A;Sense B):电流检测端,分别为两个H桥的电流反馈脚,不用时可以直接接地;2、2;3脚(Output1;Output2):1Y1、1Y2输出端;3、4脚(VS):功率电源电压,此引脚与地必须连接 100nF电容器;4、5;7脚(Input 1; Input):1A1、1A2输入端,TTL 电平兼容;5、6;11脚(Enable A;Enable B):TTL 电平兼容输入 1EN、2EN 使能端,低电平禁止输出;6、8脚(GND):GND接地端;7、9脚(

31、VSS):逻辑电源电压。此引脚必须与地连接100nF电容器;8、10;12脚(Input3;Input4):2A1,2A2输入端,TTL电平兼容;9、13;14脚(Out3;Out4):2Y1、2Y2 输出端,监测引脚15;.图图Op07芯片是一种低噪声,非斩波稳零的双极性运算放大器集成电路。由于OP07具有非常低的输入失调电压(对于OP07A最大为25V),所以OP07在很多应用场合不需要额外的调零措施。OP07同时具有输入偏置电流低(OP07A为±2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大

32、传感器的微弱信号等方面。150V最大V/超稳定时间:2V/month最大高电源电压范围: ±3V至±22V图图8 . PIN9 VREF/2 :辅助参考电压输入端2、ADC0804工作原理ADC0804是属于连续渐进式(Successive Approximation Method)的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。以输出8位的ADC0804动作来说明“连续渐进式A/D转换器”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。第一次寻找结果:10000000 (若假

33、设值输入值,则寻找位假设位1)第二次寻找结果:11000000 (若假设值输入值,则寻找位假设位1)第三次寻找结果:11000000 (若假设值 输入值,则寻找位该假设位0)第四次寻找结果:11010000 (若假设值输入值,则寻找位假设位1)第五次寻找结果:11010000 (若假设值 输入值,则寻找位该假设位0)第六次寻找结果:11010100 (若假设值输入值,则寻找位假设位1)第七次寻找结果:11010110 (若假设值输入值,则寻找位假设位1)第八次寻找结果:11010110 (若假设值 输入值,则寻找位该假设位0)这样使用二分法的寻找方式,8位的A/D转换器只要8次寻找,12位的A

34、/D转换器只要12次寻找,就能完成转换的动作,其中的输入值代表图4.10的模拟输入电压Vin。对8位ADC0804而言,它的输出准位共有28256种,即它的分辨率是1/256,假设输入信号Vin为05V电压范围,则它最小输出电压是5V/2560.01953V,这代表ADC0804所能转换的最小电压值。4、分辨率与内部转换频率的计算对8位ADC0804而言,它的输出准位共有28256种,即它的分辨率是1/256,假设输入信号Vin为05V电压范围,则它最小输出电压是5V/2560.01953V,这代表ADC0804所能转换的最小电压值。表3.2列出的是812位A/D转换器的分辨率和最小电压转换值

35、。表.2A/D转换器的分辨率和最小电压值图图第章本系统的软件设计主要分为系统初始化、延时子程序、按键响应程序,数码管显示程序,读ADC0804子程序及控制脉冲输出几部分,事实上每一部分都是紧密相关的,每个功能模块对于整体设计都是非常重要,单片机AT89S51通过软件编程才能使系统真正的运行起来,软件设计的好坏也直接决定了系统的运行质量。程序流程图的设计遵循自顶向下的原则,即从主体遂逐步细分到每一个模块的流程。在流程图中把设计者的控制过程梳理清楚。具体程序的讲解将在本章各节做详细讲解。4.14.1.2图.3图图aBabAbAB反转:ABAbabaBAB两相八拍通电方式:正转:ABBaBaabbA

36、bAAB反转:ABAAbbabaaBBAB以两相四拍正转为例其程序代码如下: if i 1 AL 1; BL 1; aL 0; bL 0; else if i 2 AL 0; BL 1; aL 1; bL 0; else if i 3 AL 0; BL 0; aL 1; bL 1; else if i 4 AL 1; BL 0; 二、系统组成.计如图是机械手微机控制系统硬件电路。本系统选用MCS-51系列中的8031芯片,扩展了一片2732,以存放用户程序。由于随机存储的数据不多,只利用片内RAM。采用两位LED显示器和2×8键盘,P35、P36和P37分别输出X、Y、和Z方向的控制

37、脉冲,P16和P1.7分别用来控制步进电机的正/反转和产生复位信号。 机械手动作 机械手装升降盘上,如图所示。图中A点固定,步进电机MZ带动B点,改变A、B间的较小距离,使得机械手移动较大距离。 货架 货架分三层,每层有4个包位,共计12个包位。 图中数字为包位编码,编码的个位数表示X位置,十位数表示Y位置(层数),以供计算机查讯、判断之用。本例采用SB-2A型步进电机,它工作于三相六拍的工作方式。 电机按顺时针方向旋转(即正转)时,各相脉冲顺序为:A 1A 1,B 1B 1B,C 1C 1C 1,A 1 电机按逆时针方向旋转(即反转)时,各相脉冲顺序为:A 1A 1,C 1C 1C 1,B

38、1B 1B 1,A 1 系统软件包括:主程序、取包程序、存包程序、货位判断程序、X、Y方向运动和机械手动作子程序等。 (1)程序流程图 限于篇幅,只给出主要流程图。2、脉冲序列的生成程序 对于步进电机的控制,实际上是控制步进脉冲的个数和步进脉冲的间隔,而步进电机的间隔又可转化为某基准延时子程序的循环次数。因此,可以很方便地用软件来控制步进电机的运行,达到各种控制目的。主程序功能:管理键盘和显示以及有关控制。 无键按下或执行有关命令后,显示提示符“-” (2)程序清单 ORG 0000H AJMP MAIN MAIN: MOV SP, #60H MOV R0, #40H MOV A, #12H;

39、字符“-” ML0: MOV R0, A ;的编码 INC R0 CJNE R0, #42H, ML0SETB P1.7 ;复位信号 ;键输入/显示/键判断 F6H-特殊数据 R3-键号暂存器ML1:ACALL DIR ACALL KEY ADD A, 0F6H ;键号+F6 用于数字/功能键的判断 JC SUN1 ;功能键转移至SUN1 MOV 41H,40H ;数字键号送显示缓冲区 MOV R0, 40H MOV R3 , A ANL A, 0FH ;保留低四位 MOV R0,A AJMP ML1功能键处理程序(A、B、C键) SUN1: MOV A, R3 ; CJNE A, 0AH,S

40、UN2 AJMP QBCX SUN2: CJNE A, 0BH,SUN3 AJMP CBCX SUN3: CJNE A, 0CH,ML1 AJMP SUN键盘子程序 KEY:ACALL KS1 JNZ LK1 NI:ACALL DIR AJMP KEY LK1:ACALL DIR ACALL DIR ACALL KS1 JNZ LK2 AJMP NI LK2: MOV P1, 00HMOV R6, 05H ;延时等待发送 DK6: DJNZ R6, DK6 JB P33 LONE MOV A, 00H AJMP LKP LONE:JB P34, NEXT MOV A, 08HLKP: ADD

41、A, R4 PUSH ACC LK3: ACALL DIR ;仅做一次处理 ACALL KS1 JNZ LK3 POP ACC ;取键值于ACC RET MOV R3, 0FEH MOV R4, 00H LK4:MOV SBUF,R3 NEXT: INC R4 MOV A, R3 JNB ACC.7,KED RL A MOV R3, A AJMP LK4 KED:AJMP KEY 判断键盘有无键按下子程序无键按下A 00H KS1: MOV SBUF,00H MOV R6, 05H DS6: DJNZ R6, DS6 MOV A, P3 CPL A ANL A, 18H RET显示子程序P1口

42、-LED位扫描输出口 R2-位扫描寄存器 初值为01H SBUF-LED段码发送缓冲器 DIR: PUSH PSW SETB PSW,4 MOV R0,40H MOV R2,01H D1: MOV P1,R2 MOV A,R0 ADD A,14H MOVC A,A+PC MOV SBUF,A MOV R7,02H D2: MOV R6,0FFH D3: DJNZ R6,D3 DJNZ R7,D2INC R0 MOV A,R2 RL A MOV R2,A JNB ACC.2,D1 POP PSW RET DB 3FH,06H,5BH,4FH延时子程序YSH: PUSH PSW MOV R0,0FFH SH: MOV R1,0FFH SH0: DJNZ R1,#H0 DJNZ R0, SH POP PSW RETDB 66H,60H,70H,07HDB 7FH,6rH,77H,7CHDB 39H,5EH,79H,71HDB 31H,6EH,40H,23HDB 00H延时子程序YSH: PUSH PSW MOV R0,0FFH SH: MOV R1,0FFH SH0: DJNZ R1,#H0 DJNZ R0, SH POP PSW RET机械手控制示意图取包子程序 P1.6-正/反转控制 30H、31H步进脉冲暂存器(X方向)QBCX: SETB P1.6 ;正转 MOV 30H,0

温馨提示

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

评论

0/150

提交评论