基于AT89S52单片机的步进电机控制_第1页
基于AT89S52单片机的步进电机控制_第2页
基于AT89S52单片机的步进电机控制_第3页
基于AT89S52单片机的步进电机控制_第4页
基于AT89S52单片机的步进电机控制_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、 密级: 公 开 科学技术学院NANCHANG UNIVERSITY COLLEGE OFSCIENCE AND TECHNOLOGY学 士 学 位 论 文 THESIS OF BACHELOR(2011 2012 年)题 目 基于AT89S52单片机的步进电机控制 学 科 部: 专 业: 班 级: 学 号: 学生姓名: 指导教师: 起讫日期: 2011/12/52012/5/24 目 录摘 要I第一章绪 论11.1 引言11.2 设计要求11.3 设计内容21.4 小结2第二章系统总体方案设计32.1 主要器件简介32.1.1 AT89S52单片机简介32.1.2 ULN2003A简介32.

2、1.3 四相五线永磁型步进电机M35SP-7NP简介42.1.4 红外遥控简介42.2 步进电机的工作原理52.2.1 步进电机简介52.2.2 步进电机的工作原理62.3 步进电机常见的控制方案与驱动技术简介72.4 系统总体设计方案102.4.1系统框图102.4.2 系统设计方案与功能简述102.5 小结11第三章系统整体硬件设计123.1 单片机最小系统电路设计123.2 状态显示模块硬件电路设计133.3 按键与红外接收模块硬件电路设计143.4 ULN2003A步进电机驱动模块硬件电路设计143.5 ISP单片机在线程序下载器接口电路15第四章系统软件设计164.1 软件设计思路1

3、64.2 系统设计主程序流程图164.3 主程序初始化流程图174.4 步进电机运行控制子程序流程图184.5系统程序简要说明20第五章系统运行与调试215.1开发软件简介215.1.1 Keil编程软件简介与使用215.1.2 Proteus仿真软件的简介与使用215.1.3系统的仿真图225.2系统的软硬件联调及问题总结22第六章总结与展望24参考文献(References)25致 谢26附录一:系统原理图27附录二:实物照片28基于AT89S52单片机的步进电机控制摘 要:步进电动机由于用其组成的控制系统既简单、廉价、低噪音、响应快、速度位移控制精准,又非常稳定可靠,因此在办公自动化设备

4、、数控系统以及各种控制装置等众多领域有着极其广泛的应用。文章以单片机AT89S52为控制核心,通过单片机的IO口输出的具有时序的脉冲信号作为步进电机的控制信号,实现了步进电机的速度控制。本设计在AT89S52单片机最小系统的基础上,外扩驱动芯片ULN2003A作为步进电机的驱动电路、外扩3个按键以及红外线来实现对步进电机的状态控制、外扩发光二极管显示步进电机的正反转、外扩数码管显示电机运行速度的大小。在硬件设计的基础上,通过在keil下进行软件编程,最终完成了基于单片机的步进电机的控制系统设计。本文从硬件和软件两个方面对基于单片机的步进电机的控制进行了详细的介绍,最后给出了调试过程和PROTE

5、US仿真图,该设计具有设计成熟、简单可靠、稳定性高等特点。 关键词:步进电机,脉冲,驱动机构,单片机,转动The stepping motor control system based on AT89S52 MCUAbstract:Stepper motor because of the open-loop system composed of simple, cheap, low noise, fast response speed, displacement control precision, it is very stable and reliable, therefore in th

6、e office automation equipment, CNC system and various control devices and many other fields have a wide range of applications.This paper introduces a singlechip stepper motor control design, AT89S52 single-chip computer to control the stepping motor, SCM through the I / O port with the output timing

7、 of the pulse signal as a stepper motor control signal, the design uses 3 keys and infrared ray to realize the stepper motor state control, through the microcontroller, motor drive chip ULN2003A, the corresponding keys and the infrared remote controller to realize the above function, stepping motor

8、positive and negative conversion of light-emitting diode display, its running speed to a certain level in the digital tube display. This paper describes the stepper motor, infrared control and microcomputer principle, system block diagram, hardware circuit, program flow, and the entire system in the

9、 debugging process of the problems encountered and their solutions. The design is simple and reliable, sophisticated design, high stability.Key words: stepping motor pulse,driving mechanism, single chip microcomputer,rotation28第一章 绪 论1.1 引言步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Steppingmotor、Pulse motor或Stepper s

10、ervo,其应用发展已有约80年的历史。步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。当电流流过定子绕组时,定子绕组产生一矢量磁场,该矢量场会带动转子旋转一角度,使得转子的一对磁极磁场方向与定子的磁场方向一着该磁场旋转一个角度。因此,控制电机转子旋转实际上就是以一定的规律控制定子绕组的电流来产生旋转的磁场。每来一个脉冲电压,转子就旋转一个步距角,称为一步。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,同时步进

11、电机只有周期性的误差而无累积误差,精度高,步进电动机可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速起停、正反转控制等,这是步进电动机最突出的优点。正是由于步进电机具有突出的优点,所以成了机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。优点明显的步进电机被广泛应用在电子计算机的许多外围设备中,例如打印机,纸带输送机构,卡片阅读机,主动轮驱动机构和存储器存取机构等,步进电机也在军用仪器,通信和雷达设备,摄影系统,光电组合装置,阀门控制,数控机床,电子钟,医疗设备及自动绘图仪,数字控制系统,工具机控

12、制,程序控制系统以及许多航天工业的系统中得到应用。因而,对于步进电机控制的研究也就显得尤为重要了。为了得到良好的控制性能,对步进电机的控制的研究就一直没有停止过,许多重大的技术得以实现。基于微型单片机的控制系统则通过软件来控制步进电机,能够更好地发挥步进电机的潜力。因此,用微型单片机控制步进电机己经成为了一种必然的趋势,也符合数字化的时代发展要求。其中步进电机的驱动,可以采用汇编语言或C语言进行软件开发,通过串行或并行通信的方式实现机与步进电机控制器之间的数据通信,最终实现由PC机直接控制步进电机的方法。此外还可以采用无线控制技术,实现远、近距离的无线遥感控制步进电机,实现一些人不宜直接接触的

13、工业现场等环境复杂的地方,不过无线控制步进电机也可以用来在家居环境中,比如遥控窗帘等等。本文正是采用红外无线技术,能够实现10M左右的红外控制步进电机,非常方便实用。1.2 设计要求本设计的要求如下:1、开始通电时,步进电机停止转动2、单片机分别接有按键开关K1、K2和K3,用来控制步进电机的转向,要求如下:1)当按下K1键时,步进电机正转;2)当按下K2键时,步进电机反转;3)当按下K3键时,步进电机停止转动。3、能够通过相应颜色的指示灯和数码管来指示步进电机运行状态和运行速度级别。4、正转采用一相激磁方式,反转采用12相激磁方式。5、能够实现通过红外发射装置来实现对步进电机的控制。6、能够

14、编程实现所需的各种功能,并能正常调试。1.3 设计内容本论文采用的电动机是四相五线步进电机,采用的方法是利用AT89S52单片机产生控制脉冲来控制步进电机的运行转态。最终能够实现步进电机的运行状态、转速级别的显示,能通过按键和红外遥控器来控制步进电机的启动、加速、减速、正反转和停止等功能。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的

15、目的。本设计就是通过改变脉冲频率来调节步进电机的速度等级的,并且通过数码管显示其转速的级别。另外通过单片机实现它的正反转,步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。1.4 小结 步进电机凭借着其优良的性能,如步进电机无累积误差,精度高,可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速起停、正反转控制等。所以广泛应用于各种控制场合中,从工业控制到到玩具家用等等,或者说用到了精确转动的地方,就用到了步进电机。本文也旨在通过对步进电机的研究来实现对其进行各种控制,并将其应用到实际生活之中去,其中本文采用红外接收装置意在实现通过对步

16、进电机的红外无线控制,能扩展其应用范围。总之,步进电机是一种非常实用和易控制的电机,研究其功能、控制特点非常有必要。第二章 系统总体方案设计2.1 主要器件简介2.1.1 AT89S52单片机简介AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,32个可编程I/O口线,两个16位定时器/计数器,该器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能

17、强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。2.1.2 ULN2003A简介ULN2003A概述与特点:ULN2003A是高耐压、大电流达林顿陈列,其内部结构如图1所示。图1 ULN2003内部结构图ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它 能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来 处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并能够在关态时承受 50V 的电压,输出还可以在高负载电流并行运行。达林顿对管还可并联使用以达到更高的输出电流能力。ULN20

18、03A的输出结构是集电极开路的,所以要在输出端接一个上拉电阻,在输入低电平的时候输出才是高电平。在驱动负载的时候,电流是由电源通过负载灌入ULN2003A的。ULN2003A的应用电路如图2所示。图2 ULN2003的应用电路2.1.3 四相五线永磁型步进电机M35SP-7NP简介M35SP-7NP是四相五线永磁型步进电机,其转矩和体积较小,步进角为7.5度。电机共有四组线圈,四组线圈的一个端点连在一起引出,一根为电源引出线,这样一共有5根引出线。步进电机内部结构图如图3所示。图3 步进电机内部结构图2.1.4 红外遥控简介红外遥控系统由发射和接收两大部份组成,应用编/解码专用集成电路芯片来进

19、行控制操作,如下图4和图5所示。发射部份包括键盘矩阵、编码调制、LED红外发送器;接收部份包括光、电转换放大器、解调、解码电路。由于采用不同芯片其发送和接受的过程是不一样的,此次设计采用的是HT6221红外编码芯片,0038一体化红外接收头。红外遥控编码和解码原理如下图所示:键盘编码调制LED光/电放大解调解码遥控发射器遥控接收器图4 红外遥控系统bit“0”0.56ms1.125msbit“1”0.56ms2.25ms图5 遥控码的“0”和“1”2.2 步进电机的工作原理2.2.1 步进电机简介步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置

20、只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。(一)步进电机的静态指标术语1、相数:产生不同对N、S磁场的激磁线圈对数。常用m表示。2、拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电

21、机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A。3、步距角:对应一个脉冲信号,电机转子转过的角位移用表示。=360度(转子齿数*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为=360度/(50*8)=0.9度(俗称半步)。(二)步进电机动态指标及术语:1、步距角精度:步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在

22、5%之内,八拍运行时应在15%以内。2、失步:电机运转时运转的步数,不等于理论上的步数。称之为失步3、失调角:转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。4、电机正反转控制:当电机绕组通电时序为A-AB-B-BC-C-CD-D-DA时为正转,通电时序为DA-D-CD-C-BC-B-AB-A时为反转。(三)步进电机的特征如下:1、一般步进电机的精度为步进角的3%-5%,且不积累。2、步进电机外表允许的最高温度。一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。3、步

23、进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减少,从而导致力矩下降。4、步进电机低速时可以正常转动,但若高于一定速度就无法启动,并伴有啸叫声。步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。步进电动机以其显著的特点,在数字

24、化制造时代发挥着重大的用途。伴随着不同数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。2.2.2 步进电机的工作原理步进电机的工作就是步进转动,其功能是将脉冲电信号变换为相应的角位移或是直线位移,就是给一个脉冲信号,电动机转动一个角度或是前进一步。步进电机的角位移量与脉冲数成正比,它的转速与脉冲频率(f)成正比,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。如下图6所示的步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进

25、电机步进转动。图6 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图7所示: 图7 步进电机工作时序波形图2

26、.3 步进电机常见的控制方案与驱动技术简介(一)常见的步进电机控制方案1、基于电子电路的控制步进电机受电脉冲信号控制,电脉冲信号的产生、分配、放大全靠电子元器件的动作来实现。由于脉冲控制信号的驱动能力一般都很弱,因此必须有功率放大驱动电路。步进电机与控制电路、功率放大驱动电路组成一体,构成步进电机驱动系统。此种控制电路设计简单,功能强大,可实现一般步进电机的细分任务。这个系统由三部分组成:脉冲信号产生电路、脉冲信号分配电路、功率放大驱动电路。系统组成如图8所示。图8 基于电子电路控制系统此种方案即可为开环控制,也可闭环控制。开环时,其平稳性好,成本低,设计简单,但未能实现高精度细分。采用闭环控

27、制,即能实现高精度细分,实现无级调速。闭环控制是不断直接或间接地检测转子的位置和速度,然后通过反馈和适当的处理,自动给出脉冲链,使步进电机每一步响应控制信号的命令,从而只要控制策略正确电机不可能轻易失步。该方案多通过一些大规模集成电路来控制其脉冲输出频率和脉冲输出数,功能相对较单一,如需改变控制方案,必须需重新设计,因此灵活性不高。2、基于PLC的控制基于PLC的步进电机控制系统有PLC、环形分配器和功率驱动电路组成。控制系统采用PLC来产生控制脉冲。通过PLC编程输出一定数量的方波脉冲,控制步进电机的转角进而控制伺服机构的进给量,同时通过编程控制脉冲频率来控制步进电机的转动速度,进而控制伺服

28、机构的进给速度。环形脉冲分配器将PLC输出的控制脉冲按步进电机的通电顺序分配到相应的绕组。PLC控制的步进电机可以采用软件环形分配器,也可采用硬件环形分配器。 采用软件来产生控制步进电机的环型脉冲信号,并用PLC中的定时器来产生速度脉冲信号,这样就可以省掉专用的步进电机驱动器,降低硬件成本。但受到PLC工作方式的限制及其扫描周期的影响,步进电机不能在高频下工作,无法实现高速控制。并且在速度较高时,由于受到扫描周期的影响,相应的控制精度就降低了。3、基于单片机的控制采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。用软件代替环形分配器,达到了对步进电机的最佳控制。系统中采用单片机接口线

29、直接去控制步进电机各相驱动线路。由于单片机的强大功能,还可设计大量的外围电路,键盘作为一个外部中断源,设置了步进电机正转、反转、档次、停止等功能,采用中断和查询相结合的方法来调用中断服务程序,完成对步进电机的最佳控制,显示器及时显示正转、反转速度等状态。环形分配器其功能由单片机系统实现,采用软件编程的办法实现脉冲的分配。本方案有以下优点:(1)单片机软件编程可以使复杂的控制过程实现自动控制和精确控制,避免了失步、振荡等对控制精度的影响;(2)用软件代替环形分配器,通过对单片机的设定,用同一种电路实现了多相步进电机的控制和驱动,大大提高了接口电路的灵活性和通用性;(3)单片机的强大功能使显示电路

30、、键盘电路、复位电路等外围电路有机的组合,大大提高系统的交互性。基于以上各种方案的对比,可以看出基于单片机的步进电机控制优势明显,故本次设计采用基于单片机的控制方案。(二)步进电机驱动技术步进电动机上个世纪就出现了,它的组成、工作原理和今天的反应式步进电动机没有什么本质区别,也是依靠气隙间的磁导变化来产生电磁转矩。步进电机驱动技术指的是用步进电机驱动器的驱动级来实现对步进电机各相绕组的通电和断电,同时也是对绕组承受的电压和电流进行控制的技术。到目前为止,步进电机驱动技术通常分为单电压驱动、单电压串电阻驱动、高低压驱动、斩波恒流驱动、升频升压驱动和细分驱动等。单电压驱动是通过改变电路的时间常数以

31、提高电机的高频特性。它的优点是结构简单、成本低;缺点是串接电阻器的做法将产生大量的能量损耗,尤其是在高频工作时更加严重,因而它只适用于小功率或对性能指标要求不高的步进电机驱动。这种驱动方式目前主要用于小功率或启动、运行频率要求不高的场合。高低压驱动是指不论电动机的工作频率是多少,在导通相的前沿用高电压供电来提高电流的上升沿斜率,而在前沿过后采用低电压来维持绕组的电流,即采用加大绕组电流的注入量以提高出力,而不是通过改善电路的时间常数来使矩频性能得以提高。但是使用这种驱动方式的电机,其绕组的电流波形在高压工作结束和低压工作开始的衔接处呈凹形,致使电机的输出力矩有所下降。这种驱动方式目前在实际应用

32、中还比较常见。细分驱动是指在每次脉冲切换时,不是将绕组的全部电流通入或切除,而是只改变相应绕组中电流的一部分,电动机的合成磁势也只旋转步距角的一部分。细分驱动时,绕组电流不是一个方波而是阶梯波,额定电流是台阶式的投入或切除。比如:电流分成n个台阶,转子则需要n次才转过一个步距角,即n细分细分驱动最主要的优点是步距角变小,分辨率提高,且提高了电机的定位精度、启动性能和高频输出转矩:其次,减弱或消除了步进电机的低频振动,降低了步迸电机在共振区工作的几率。可以说细分驱动技术是步进电动机驱动与控制技术的一个飞跃。 通过对比以上各种驱动技术,我们可以看出细分驱动技术优势明显,其控制的步距角小,定位精度高

33、,启动性能好等,此次设计也是采用的细分驱动技术。2.4 系统总体设计方案2.4.1系统框图步进电机的控制系统的框图如图9所示:AT89S52键盘输入数码管显示ULN2003A步进电机驱动电路步进电机LED指示灯红外接收头电源电路振荡电路复位电路图9 系统结构框图2.4.2 系统设计方案与功能简述本次设计采用AT89S52单片机作为控制器元件。整个控制系统主要由四部分组成,各部分主要功能简介如下:(1) 键盘与红外控制电路部分 键盘由单片机的P3口的P3.5、P3.6、P3.7来控制,采用独立按键设计。其功能分别为:正转(加速)、反转(减速)、停止。红外接收头采用万能式一体式接收头,连接在单片机

34、的P3.2(INT0)口,通过外部中断在接收处理遥控器发射的控制信号。在软件中,采用循环扫描法来实现键盘的识别与处理。(2) 显示电路控制部分在此次设计里,显示器件采用了一位8段共阳LED数码管显示器。通过它来显示步进电机当前运行级别等级。显示硬件电路采用共阳数码管加PNP型9012三极管驱动,驱动电流更大,使数码管更加明亮,使电路的连接更加规范稳定。(3) 步进电机的励磁控制步进电动机的励磁方式可以分为全步励磁及半步励磁。适当控制步进电机A、B、/A、/B的励磁信号,即可控制步进电机的转动。每输出一个脉冲信号,步进电动机只走一步。因此,依序不断地送出脉冲信号,即可令步进电动机连续转动。在本设

35、计中,通过设置AT89S52的定时器的初始值来实现89C51的端口输出相应的相序脉冲,从而实现对步进电机的控制。(4) 步进电机的驱动电路在本设计中,采用ULN2003A作为步进电机的驱动芯片,ULN2003A是高耐压、大电流、内部由七个硅NPN 达林顿管组成的驱动芯片。经常用在显示驱动、继电器驱动、照明灯驱动、电磁阀驱动、伺服电机、步进电机驱动等电路中。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在

36、关态时承受 50V 的电压,输出还可以在高负载电流并行稳定的运行。是最佳的驱动选择之一。2.5 小结本章主要介绍了此次设计中所用的各种器件以及整个系统设计的总体方案,包括AT89S52单片机介绍、基本器件四相五线永磁型步进电机M35SP-7NP简介、步进电机驱动芯片ULN2003A简介以及红外遥控简介等,并绘出了系统框图,对各部分框图的功能进行了介绍。在下一章将通过具体的电路来实现上述框图的功能。第三章 系统整体硬件设计3.1 单片机最小系统电路设计图10所示的为AT89S52单片机的最小系统图,它是单片机工作的基本保证,包括电源电路、振荡电路和复位电路。单片机的复位采用高电平复位,主要有按键

37、复位和上电复位,此处上电复位电路利用10uF电解电容充电,10K电阻对充电电容放电,电容充电时间为t=10uF * 10K=100mS,足以使单片机在高电平期间完成复位操作。按键复位,5V电源经过220限流电阻和按键直接接到RST引脚,当按键按下RST直接被拉高实现复位操作。振荡电路是产生单片机工作的时序是单片机所必须的,单片机的一切控制操作都是基于这个时钟基准工作的。MCS-51单片机的时钟振荡器是由单片机内部反相器的外接晶振及微调电容组成的一个三点式振荡器,将晶振和微调电容接到单片机的XTAL1和XTAL2引脚段即可产生自激振荡,产生时钟周期。在实际中采用12MHz晶振和2个30pF微调电

38、容组成单片机的振荡电路。RAM是单片机的数据存储器,分为片内和片外,AT89S52单片机内部的有256B RAM,可寻址空间为64K,此处设计无外接扩展。ROM是单片机的程序存储器,也分为片内外ROM,可寻址空间为64K,在AT89S52单片机中,有8K的内部ROM,足够此次设计中程序的存储,也无需扩展外接。在图10中下部分为电源接口电路,在此次设计中采用适配器,将5V电源通过电源座接口引进,供整个系统工作。电源是所有系统工作的基础,电源稳定,系统的工作才能可靠。电源在引进本系统后,有开关控制电源的接通,0.1uF电容滤波处理,还有LED电源指示灯等。图10 单片机最小系统图3.2 状态显示模

39、块硬件电路设计 状态显示模块硬件电路包括LED显示电路设计和数码管显示电路设计两部分。图11所示的电路为指示等电路,其中红色的LED表示步进电机停止转动,绿色的表示步进电机正转,黄色的表示步进电机反转。电路中采用LED灯的负极接单片机的I/O口,正极经220R限流电阻到5V电源,这样IO口输出低电平就可以驱动LED灯,此种接法采用灌电流驱动,提高了单片机的驱动能力。图12所示的电路是数码管驱动电路用来指示步进电机运行速度的级别,采用共阳数码管,用PNP三极管驱动。只要单片机的P30口输出一个低电平,PNP三极管导通,三极管的基极(COM网络)会被拉高,就可以驱动数码管显示了。此种接法可使数码管

40、的亮度增加,显示清晰。 图11 转向指示灯电路 图12 数码管显示与驱动电路3.3 按键与红外接收模块硬件电路设计 在电路中红外信号发送采用现有的遥控器发射红外线,在接收模块中由红外接收头去接收遥控器发射的红外线,在单片机程序中通过对红外遥控器键值的判断来实现相应的操作,从而实现对步进电机的正反转控制,速度调节和速度级别的显示。图13是按键电路,S1按下表示步进电机正转,S2按下表示步进电机反转,S3按下步进电机停止转动。采用低电平控制。在程序中,单片机不停的扫描检测对应IO口电平的变化,来判断是哪个键按下,从而在程序中去调用相应的程序,执行操作。图14是红外接口电路,此处只要插上一个红外接收

41、头就可以接收到红外信号,并对步进电机进行控制。 图13 按键电路 图14 红外接口电路3.4 ULN2003A步进电机驱动模块硬件电路设计此电路是步进电机的驱动部分,选用的是ULN2003A芯片来驱动的,ULN2003系列是一款高耐压,大电流达林顿管驱动器,包含7个NPN达林顿管。通过ULN2003A构成的驱动电路比较常用,如下图15所示。通过单片机的P2.0P2.3 输出脉冲到ULN2003A的IN1IN4口,经信号放大后从OUT1OUT4 口分别输出到电机的A、B、C、D相,这样通过单片机的IO口输出的脉冲信号经过ULN2003A放大后,连接到步进电机A、B、C、D四相后,可直接驱动步进电

42、机,实现对步进电机的控制。图15 步进电机驱动电路3.5 ISP单片机在线程序下载器接口电路 图16是AT89S52特有的在线程序下载接口电路,只需要一个ISP线就可以很方便的将写好的程序下载到单片机中去。图16 程序下载接口电路3.6 小结本节主要介绍了系统设计中硬件电路的设计,包括单片机最小系统电路,与ULN2003步进电机驱动电路等。在相应电路中都有文字说明,具体介绍了各个模块电路的工作过程或是设计思想。第四章 系统软件设计4.1 软件设计思路在程序设设计中,首先是对系统进行各种初始化处理,包括定时器,中断以及其他寄存器和/口的处理等。在main()函数中的主循环不停的执行按键扫描并调用

43、数码管显示程序,单片机检测到有按键按下,判断该值,并执行相应的操作,如果是正转按键按下,则置位正转标志位,单片机于是调用正转程序代码,向单片机I/O口输出控制脉冲,控制步进电机的正转。同理,当有反正或是停止按键按下时,单片机调用相应的程序,使单片机的IO口输出相应的控制脉冲,从而控制步进电机的运转。程序运行后,单片机开始不停地通过外部中断0检测有无中断信号输入(红外控制信号通过红外接收头接到单片机的外部中断0引脚输入端),如果有检测到中断信号,就转入中断服务程序,控制相关的变量,让单片机处理红外信号,将其接收到的红外信号转变为原始代码,单片机再根据这个代码值来做相应的处理,包括调用显示程序和步

44、进电机控制程序等。4.2 系统设计主程序流程图系统分为初始化程序、电机运行子程序(包括电机正转、反转、加减速停止等)、按键及红外扫描子程序等组成,其主程序框图如下图17所示。程序流程图相关说明,单片机上电后,程序开始执行,首先系统初始化,包括各个寄存器,IO口,中断,定时器等等,之后开始按键扫描。当有按键按下时,单片机就会调用相关的步进电机运行子程序。若有外部中断0输入(即接收到了红外信号),单片机开始处理红外程序,根据红外处理后的结果开始调用步进电机运行子程序和显示子程序。完成之后系统返回,开始下一次扫描,如此循环。系统初始化扫描按键显示程序开始等待外部中断0返回有按键按下?调用步进电机运行

45、子程序接收到红外信号?YYNN图17 系统主程序流程图4.3 主程序初始化流程图对相应的系统参数进行初始化,包括系统上电默认运行参数设定,包括四相八拍的工作方式,初始速度档位是30转/分,系统中断设定,定时器设定,载入定时器初值和默认的工作参数等,具体流程图如下图18所示。定时器中断允许开始外部中断允许设置定时器工作方式1、装初值开启定时器0、TR0=1载入默认工作参数各I/O端口初始化图18 系统初始化程序流程图4.4 步进电机运行控制子程序流程图步进电机控制子程序流程图说明,如图19所示。程序开始执行后,当有按键或是红外信号被单片机检测到后,判别这个信号是方向控制信号还是步进电机启动运转信

46、号,若是方向控制信号,置位控制方向的标志位,改变步进电机的转动方向。若是红外信号控制信号,处理之后调用,步进电机运行程序,输出控制脉冲去控制步进电机的运转。若是复位键或是停止键,系统复位或是将停止标志位置位,停止输出控制脉冲,步进电机停止运转。当多次按下正转键或是反转键时,步进电机开始加速或是减速,其速度值以0-9等级级别在数码管上显示。是方向键(或红外信号)吗?是启动键(或红外信号)吗?是复位键(停止信号)吗?转换正反转电机运行(电机控制脉冲)调用正反转指示灯显示语句开始记下同一按键(或红外信号)按下的次数的n返回是否否是是扫描按键、红外控制信息将n转换成需要到达的转速级别N,控制电机加、减

47、速数码管显示转速级别N图19 步进电机运行控制子程序流程图4.5系统程序简要说明主要函数及头文件的说明:#include<reg52.h> /AT89S52单片机的包含文件void main() /负责系统程序的初始化,按键扫描,数码管显示,/LED指示灯display() /负责数码管显示,显示电机转速级别void timeint(void) interrupt 1 /定时器中断处理函数,负责扫描红外控制信号以及/电机脉冲产生控制等void gorun() /电动机运行脉冲控制序列产生函数,通过改变调用/该函数的时间间隔可以实现加减速,并且也可以控/制电机正反转#include&

48、lt;IRed.h>/红外脉冲处理头文件,对接收到的脉冲处理文件本次设计的软件部分,是很重要的一个环节,是整个系统的灵魂。在主函数main中,初始化系统,开启定时中断与外部中断。在while中不停进行按键扫描,并调用显示函数。同时定时器不停的产生控制脉冲,控制步进的运行状态,并进行红外脉冲的扫描。另外,外部中断0与红外接收头相连,当有红外控制信号脉冲发射出来,经过外部中断0的处理,翻译成按键对应的标志码,在定时中断中检测这个按键代码值,就可以执行相应的操作,从而去控制电机及显示。综合各个模块就可以实现整个系统的功能。第五章 系统运行与调试5.1开发软件简介本设计在设计过程中主要用到仿真软

49、件PROTEUS和C51编译器keil这两个开发软件,其中仿真软件Proteus能在不搭建真实的硬件电路板就可以模拟出真实的效果来,而keil C51能很好的编译单片机程序,并且在keil里面能很方便的调试单片机的程序从而实现了两个开发软件的优势互补,大大加快整个设计的开发速度,本次设计绘制原理图及PCB图采用的软件是Altium公司的Altium Designre 6.9,Altium Designer 是业界首例将设计流程、集成化 PCB 设计、可编程器件(如 FPGA)设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行电子线路、PCB和FPGA设计以及嵌入式设计的解决

50、方案,是绘制原理图和PCB最佳选择之一。5.1.1 Keil编程软件简介与使用Keil 是美国Keil公司的C51编译器,它被嵌入到了Keil uVision集成开发环境中。Keil是目前最常用的编译器,支持浮点等到类型,支持多维数组,能生成对应的汇编代码,能直接编译汇编代码程序和内嵌多种工具,可以方便的链接,生成可执行文件。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。5

51、.1.2 Proteus仿真软件的简介与使用Proteus软件是来自英国Labcenter electronics公司的EDA工具软件。 Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。Proteus 产品系列也包含了革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处

52、理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型。PROTEUS的特点主要有:(1)支持许多通用的微控制器,如PIC,AVR,HC11以及8051; (2)交互的装置模型包括:LED和LCD显示,RS232终端,通用键盘;(3)强大的调试工具;包括寄存器和存储器,断点和单步模式;(4)IAR C-SPY 和Keil uVision3等开发工具的源层调试;(5)应用特殊模型的DLL界面-提供有关元件库的全部文件。5.1.3系统的仿真图图20 系统仿真图图20为仿真结果图,在Proteus中电路连接如上,D1蓝色灯,表示电机正转,D2黄色

53、灯,表示电机反正,D3红色灯,表示电机停止运转。数码管表示步进电机运行的速度级别0-9级。三个按键分别是正转、反转、停止。当上电开始仿真时,红灯亮,步进电机停止,数码管显示为0,系统正常。当按下正转键,步进电机开始正转,数码管显示1,步进电机运行最快,再按一下数码管显示2,电机速度降低一个等级,如此直至显示9,之后又回归到显示0,步进电机停止运行。同理,反转键也是如此。在任何时候按下停止按键时,步进电机都会立刻停止运转,数码管显示为0。5.2系统的软硬件联调及问题总结(一)硬件调试的步骤仿真完全实现其所需的功能以后,并在接入电源之前,用万用表对整个电路进行检查,查看是否在联线过程中是否出现问题。检查硬件电路内容按如下步骤:1、检查线路的焊接问题。2、检查电路是否有没接的线路。3、各种外围器件有没接错。在接上电源以后看芯片是否都是在正常工作电压下工作,其它器件是否正常工作等。(二)调试总结虽然在仿真软件调试好之后没有什么问,看似都很正常。可到了实物总会遇到一些问题。首先,在焊接完成后,上电,烧录程序,发现预先的程序在刚做好的板子上跑步起来,电机嗡嗡的想,但不转,开始检查硬件电路才发现,电机接口插座焊反了,拆焊,重新装上,电机转动起来,各种显示也正常。其次,在

温馨提示

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

评论

0/150

提交评论