《两相步进电机控制系统毕业设计.doc》由会员分享,可在线阅读,更多相关《两相步进电机控制系统毕业设计.doc(71页珍藏版)》请在三一办公上搜索。
1、 毕业设计(论文)基于AT89S52单片机的两相步进电机控制系统2013年6月13日基于AT89S52单片机的两相步进电机控制系统摘 要本文应用AT89S52单片机、步进电机驱动芯片ULN2003A、字符型LCD液晶显示屏和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。系统以单片机作为步进电机的控制核心,完成了步进电机的控制的硬件电路设计以及软件的设计,实现了步进电机的启停、正反转,以及转速的实时显示。以三维工作台作为被控对象,每个方向由一个步进电机驱动相应的滚珠丝竿机械装置进而实现完成了各个坐标方向的精确运动,以此模拟实现切割机上下、前后的精确切割。由键盘模块实时键入相应
2、数值来控制三个坐标轴上各个步进电机的转速值、行进距离以及运行状态,并通过LCD液晶显示屏显示各个电机对应的转速、行进距离、行进中的坐标值实时变化状态和电机运行状态以及电机运行是否到位等信息。为满足实际运用需要,本系统以PC机作为平台,基于VB语言设计完成了一个人机交互性强的界面的上位机的实现,并通过由RS232构成的串口通信方式,实现单片机与上位机串口的双向通信运用。在上位机系统界面上通过程序设计实现了对各个坐标方向的步进电机的远程控制操作以完成对应的各个步进电机相应的启动、急停、前进、返回等一系列动作以及相应转速值、行进坐标值的实时输入发送与接收显示,达到远程监控的效果。关键词:步进电机,上
3、位机,液晶显示 Control system of two phase stepper motor based on AT89S52 singlechip Author:Mai mingjie Tutor:Song aijuanAbstract Based on AT89S52 singlechip, stepper motor driver chip ULN2003A, character type LCD and keyboard array, the thesis builds a stepping motor control system integrating stepper mot
4、or controller and driver. Making the singlechip as the cybernetic core of the stepper motor, the system completes hardware circuits design and softwares design which are controlled by the stepper motor, therefore, it realizes the stepper motors start and stop, positive inversion and revolving speeds
5、 real-time display. Three-dimensional workbench being as controlled objective, corresponding ball spiral wire rod mechanical device is driven by a stepper motor in every direction to realize the accurate motion in each coordinate direction, accordingly, it imitates the cutting machines precise cutti
6、ng of up and down, front and back. Relevant numerical value typed by the keyboard in real time controls each stepper motors revolving speed value, travel distance and running state in three coordinate axises. Corresponding revolving speed and travel distance of each motor, coordinate figures real-ti
7、me state of change on the move, motors running state on the move and other information are displayed by LCD. In order to meet the practical application, with the PC as the platform, the system achieves a PC of strong man-machine interactive interface. Besides, it realizes the two-way communication a
8、pplication of the singlechip and the PC through the serial port. On the interface of PC, the remote control operati seron is realized by the program design for each stepper motor in its coordinate direction. In this way, the system achieves the start, stop, forward, back, and aies of corresponding a
9、ctions like these of each stepper motor as well as the real-time type and display of the relevant revolving speed value and coordinate value in the process so as to reach the effect of remote monitoring. Keyword: stepper motor, PC, LCD目 录1 绪 论11.1 设计的背景及目的11.2 国内外研究现状11.3 论文构成及研究内容22 系统总体方案设计42.1 方案
10、的选择与论证42.1 系统各部分组成及其功能简介63 系统的硬件设计83.1 单片机最小系统83.1.1 AT89S52简介83.1.2 单片机最小系统设计133.1.3 单片机I/O口分配及实现的功能143.2 步进电机简介143.2.1 步进电机的分类143.2.2 两相步进电机的结构及其工作原理153.3 步进电机驱动模块设计193.3.1 ULN2003A简介193.3.2 电机驱动电路设计213.4 串口通信模块与上位机的设计223.5 LCD12864字符型液晶屏显示模块设计233.5.1 LCD12864字符型液晶屏简介243.5.2 LGM12641BS1R中KS0108控制器
11、的指令功能说明253.5.3 LGM12641BS1R中KS0108控制器的基本编程原理273.6 键盘模块设计304 系统软件设计334.1 系统软件的整体设计334.2 系统初始化模块设计344.3 键盘输入与液晶显示程序模块344.4 步进电机运行控制模块354.5 上位机模块的软件设计36结 论39致 谢40参考文献41附 录42附录A42附录B51附录C521 绪 论1.1 设计的背景及目的步进电动机在国外通常被称为Steppingmotor、Pulse motor或Stepper servo,其应用及其发展已有约80年的历史。步进电机又称为脉冲电机,是数字控制系统中的一种常用执行元
12、件。其功用是将脉冲电信号变换为相应的角位移或直线位移,即给一脉冲电信号,电动机就转动一个角度或前进一步。步进电机的角位移量或线位移量与脉冲数成正比,它的转速,或线速度与脉冲频率成正比。正是由于脉冲电信号与步进电机转角存在着这种线性关系,并且在负载能力范围内这些关系不会因电源电压、负载大小、环境条件的波动而变化,这使得步进电机不会出现误差的累积现象,因而步进电机在速度控制、位置控制等方面得到了广泛的应用。此外,其还可以在很宽的频率范围内通过改变脉冲输出频率来调速,能够快速启动、反转和制动。由于它不需要变换就能直接将数字脉冲信号转换为角位移,很适合采用微型计算机控制。在实际应用中,步进电机是数字控
13、制系统和自动控制系统中应用最为广泛的执行元件之一,在数控机床、机器人控制、绘图仪、物料计量、包装机械等精密机械中都有应用。 传统的步进电机控制系统采用分立元件的控制回路,或者集成电路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要改变控制方案就一定要重新设计电路,不利于系统的改进升级。基于微型单片机的控制系统则通过软件来控制步进电机,能够更好地发挥步进电机的潜力。因此,用微型单片机控制步进电机己经成为了一种必然的趋势,也符合数字化的时代发展要求。1.2 国内外研究现状步进电机最早是在19世纪20年代由英国人开发的,并成功地被英国海军用作定位控制和远程遥控。我国在建国初期就已经能够生产
14、和应用,较早是在江浙一带、北京、四川等地都有对其进行生产,并且在各行业中已被广泛使用。目前在国外,在大功率的工业设备驱动上从驱动电路的成本、加速度绝对速度、系统惯量与最大扭矩比及噪音和效率上来看,现基本上不使用大扭矩步进电动机,而是用直流电动机,这相对于步进电机来说比较经济合算。而在小功率的场合依旧广泛使用步进电机,比如一些工业器材工业生产装备、包装机、银行自动柜员机、打印机及速印机等等。随着微型计算机与控制技术的发展,目前在国外更倾向于用更多现代的手段逐步将步进电机排挤出驱动应用,当然除了旋转编码器、打印机、复印机还使用光电编码带或感应编码带配合直流电动机,实现闭环直线位移控制。在国内,过去
15、用大力矩步进电动机实现机床数控,有实力的公司现在也采用交流电动机驱动数控机床,而在驱动设备上国内与国外还存在着很大的差距,主要差距是国外对交流电动机的控制理论与工程分析和应用能力强,先进的控制理论作为软件,并写在控制器内部。在对步进电机的细分控制技术上,国内在改革开放初期才基本掌握,这要远远晚于国外。到了19世纪50年代后期晶体管的发明也开始逐渐应用在步进电机上,使得对步进电机进行数字化的控制变得更为容易实现。往后经过不断的改良,使得今日步进电机已广泛运用在需要较高定位精度、高响应性、稳定性等灵活控制性高的机械控制系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的
16、应用踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合方面,步进电机用得较多。在组成结构形式上,步进电机存在多种不同的结构形式。经过近八十年的发展,逐渐形成以混合式与磁阻式为主的产品格局。混合式步进电机最初是作为一种低速永磁同步电机设计的,是工业应用最为广泛的步进电机品种。步进电机在工业自动化装备,办公自动化设备中有着广泛的应用,近年来,控制技术、计算机技术及微电子技术的迅速发展有力地推动了步进电机控制技术的进步,提高了步进电机的高性能伺服控制的设计方法与具体实现技术,反映了步进电机伺服控制技术的最新发展。1.3 论文构成及研究内容在一般的步进电机工作中,其电源均采用单极
17、性直流电,通过对步进电机的各相绕组按恰当的时序方式通电,就可使其执行步进转动。当某一相绕组通电时相应的两个磁极就分别形成N-S极产生磁场,并与转子形成磁路。在磁场的作用下,转子将转动一定的角度,使转子齿与定子齿对齐,从而使步进电机向前走一步。转子的角位移大小及转速分别与输入的电脉冲数及频率成正比,并在时间上与输入的脉冲同步。只要能正确控制输入的电脉冲数、频率以及电机各相绕组通电的相序,即可得到所需要的转角、转速及转动方向,通过单片机输出一定频率的脉冲给步进电机驱动芯片就能够很容易地实现对步进电机的数字化控制。本设计采用AT89S52单片机以实现对两相步进电机的转速及步进量的控制。由单片机产生的
18、控制脉冲信号送于步进电机驱动器,驱动器接收到脉冲信号并驱动步进电机完成启停、正反转等一系列动作以此驱动与电机相链接的由螺旋丝杆构成的机械装置,以实现切割机上下、前后的精确运动。通过矩阵键盘模块实时键入相应数值来控制电机的启停、前进后退和转速,并通过LCD字符型液晶显示屏显示各个步进电机对应的运行状态及运行档速和步进距离。此外在PC机上设计一个基于VB语言的人机交互界面,并通过RS232与单片机实现串口的双向实时通信,以此在人机界面下控制完成电机相应的一系列动作,并能实时显示与电机相对应的运行状态等相关信息,以达到远程监控的效果。本课题的研究目的之一就是设计一套硬件系统较简单、经济,但功能较为齐
19、全,适应性强,操作方便,交互性强,可靠性高但控制精度应用要求不是很高的步进电机控制系统。2 系统总体方案设计2.1 方案的选择与论证1 基于电子电路的控制由于步进电机是受电脉冲信号控制的,电脉冲信号的产生、分配、放大全靠电子元器件的功能来实现。此外,由于脉冲控制信号的驱动能力一般都很弱,因此必须有功率放大驱动电路。步进电机与控制电路、功率放大驱动电路组成一体,构成步进电机驱动系统。此种控制电路设计简单,功能强大,可实现完成一般步进电机的细分任务。在该方案下的系统主要由三部分组成:即脉冲信号的产生电路、脉冲信号的分配电路、功率放大驱动电路。系统组成如图2.1所示。 图2.1 基于电子电路控制系统
20、此种方案即可作为开环控制,也可实现闭环控制。开环控制时,其平稳性好,成本低,设计简单,然而却未能实现较高精度的细分。但如果采用闭环控制,就可以实现高精度的细分,进而可以实现无级调速。闭环控制是不断地检测转子的位置和速度,然后通过反馈环节和适当的处理,由系统程序自动计算并给出脉冲链数,使步进电机每一步都响应控制信号的命令,从而只要控制策略正确得当,那么步进电机就不大可能出现轻易丢步的现象。该方案大多是通过一些大规模集成电路来控制实现实际需要的脉冲输出频率和脉冲输出数,但功能相对较为单一,如需改变控制方案,那么设计电路就得需要重新设计,并且还要消耗大量的元器件,使得设计成本过高。由此可见,这种方案
21、的灵活性不高,且不利于对系统的升级改进。2 基于PLC的控制PLC也可称为可编程控制器,是一种专门在工业生产控制系统上广泛使用的计算机。PLC作为新一代的工业控制器,由于具有通用性好、实用性强、硬件配套齐全、编程简单易学、可靠性和稳定性高等优点而被广泛应用于各行业的自动控制系统中。基于PLC的步进电机控制系统有PLC控制器、环形分配器和功率驱动电路组成。该控制系统采用PLC控制器来产生控制脉冲,主要是通过PLC软件编程输出一定数量的方波脉冲,控制步进电机的转角进而控制伺服机构的进给量,同时通过编程控制脉冲频率来控制步进电机的转动速度,进而控制机械机构的进给速度。环形脉冲分配器将PLC输出的控制
22、脉冲按步进电机的通电顺序分配到相应的电磁绕组。基于PLC控制的步进电机可以采用软件编程方式实现的环形分配器,也可采用硬件方式实现的环形分配器。采用软件环形分配器占用PLC的CPU资源较多,特别是步进电机绕组相数大于4时,对于大型生产线应该不予以考虑。采用硬件环形分配器,虽然硬件结构稍微复杂些,但可以节省PLC资源,目前市场一般都有很多种专用芯片可以选用。步进电机功率驱动电路将PLC输出的控制脉冲经过功率运放将其放大,以力求达到比较大的驱动能力,使得能够驱动步进电机运行。采用软件来产生控制步进电机的环型脉冲信号,并用PLC中的定时器来产生速度脉冲信号,这样就可以省掉专用的步进电机驱动器,降低硬件
23、成本。但由于PLC的扫描周期一般为几毫秒到几十毫秒,相应的频率只能达到几百赫兹,因此,受到PLC工作方式的限制及其扫描周期的影响,步进电机不能在高频下工作,无法实现高速控制。并且在速度较高时,由于受到扫描周期的影响,相应的控制精度也就随之降低了。3 基于单片机的控制采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。用软件代替环形分配器,达到了对步进电机的最佳控制。系统采用单片机I/O口接口线直接接步进电机驱动芯片的输入端,进而输出控制脉冲去控制步进电机各相绕组的通电。此外,由于单片机具有的强大功能,因此可以设计大量的外围电路;设计键盘作为一个外部输入模块,设置了步进电机正转、反转、档
24、速、以及步进量的输入、停止等功能,采用键值处理子程序和设置定时中断子程序相结合的方法,调用并执行系统要求完成的一系列动作的子程序,进而完成对步进电机的最佳控制,利用LCD显示器及时显示步进电机正转、反转、档速和进给量等电机运行状态。环形分配器其功能由单片机系统软件编程实现,通过采用软件编程的办法实现对控制脉冲的分配。本方案有以下优点:(1)单片机软件编程可以使复杂的控制过程实现自动控制和精确控制,避免了失步、振荡等对控制精度的影响;(2)用软件编程实现的方式代替环形分配器,通过对单片机的设定,用同一种电路实现了多相步进电机的控制和驱动,大大提高了接口电路的灵活性和通用性;(3)单片机的强大功能
25、使显示电路、键盘电路、复位电路等外围电路有机的组合集成在一起,大大地提高了系统的交互性。基于以上优点,本论文的设计采用基于单片机的步进电机的控制方案。2.1 系统各部分组成及其功能简介本设计的整个系统组成包括单片机最小系统、步进电机驱动模块、基于VB的上位机监控显示模块、串口下载通信模块、LGM12641BS1R液晶显示屏显示模块及键盘输入控制模块等组成。系统各部分组成框图如图2.2所示。单片机最小系统的功能是作为整个控制系统的核心,它主要负责产生控制步进电机控制脉冲信号以及经由串口接收和发送给上位机的相关控制指令,并通过单片机的软件编写程序代替环形脉冲分配器输出脉冲信号以控制步进电机的转速、
26、转向。步进电机转动的角度大小与单片机输出的脉冲数成正比,而步进电机转动的速度与输出的脉冲频率成正比,而步进电机转动的的方向与电机各相绕组通电的顺序有关,也就是说与输出的脉冲顺序间接有关。步进电机驱动模块负责将单片机输送给步进电机的信号功率放大,从而驱动步进电机工作。而步进电机模块也就是被控对象,主要是驱动与之链接的由螺旋丝杆构成的机械装置,以此完成系统的上下前后左右的直线位移运动。串口下载模块主要是负责实现计算机和单片机之间的双向通信,并将在计算机里面编译好的程序下载到单片机芯片当中。LGM12641BS1R液晶显示模块主要是显示输入和正在运行的各个电机的转速、电机步进量及电机的运行状态等系统
27、的实时信息。基于VB的上位机监控显示模块,它主要是通过上位机监控系统界面向单片机发送和接收数据,实现单片机与电脑的双向即时通信,并且将控制指令发送给单片机,单片机接收到指令并调用处理电机运行的相应子程序;单片机将电机转速状态、步进量等状态反馈输送给上位机,上位机接收到后就即刻在显示界面显示出来,实现了人机交互性的目的,这样也就实现了远程监控的效果。键盘输入模块,为了节省I/O口并得到满足系统要求的键值,采用矩阵键盘扫描方式获取相应键值,通过设定的相应键值处理子程序,并通过子程序实现完成了各个电机的正转、反转、电机速度及步进量的设定等功能。此外,该模块结合定时器的中断服务程序,完成了对各个步进电
28、机的一系列动作的系统要求,力求达到对系统最佳的实时控制。图2.2 系统总体框图3 系统的硬件设计3.1 单片机最小系统3.1.1 AT89S52简介AT89S52是美国ATMEL公司生产的AT89S系列中的增强型产品,采用了该公司的技术领先的Flash存储器,是低功耗、高性能、采用CMOS工艺制造的8位单片机。片内含8KB字节的可系统编程的Flash只读程序存储器。它的Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,功能强大。其主要特性参数及功能特性如下:1 与MCS-51产品指令系统完全兼容; 2 可在线ISP编程的8KB平片内Flash存储器
29、; 3 4.05.5V的工作电压范围; 4 振荡器和时钟电路的全静态工作频率为0Hz30MHz; 5 双数据指针DPTR0和DPTR1; 6 256B的片内数据存储器; 7 可编程的32根I/O接口线;8 3个可编程定时/计数器; 9 具有8个中断源、6个中断矢量、2级优先权的中断系统; 10 1个可编程的全双工的UART串行通信口; 11 可在“空闲”和“掉电”两种低功耗模式运行; 12 8位字长的CPU;13 1个看门狗定时器WDT;14 可编程的3级程序锁定位; 15 具有断电标志位POF;AT89S52单片机的封装形式有三种,分别为:PDIP、TQEP和PLCC,本设计采用PDIP封装
30、形式的AT89S52单片机,其引脚排列如图3.1所示。 图3.1 PDIP封装的AT89S52引脚排列图该芯片各引脚的名称、序列号及简要功能说明如表3.1所示。表3.1采用PDIP封装形式的AT89S52单片机各引脚及功能说明序号 引脚名称引脚序号功能说明1P0口3239 8位并行双向的I/O口,访问外部存储器时,可作为低8位地址线/数据总线复用 2P1口18 用户使用的通用I/O口,准双向8位,编程和校验时作为低8位地址线,P1.0和P1.1引脚另有第二功能3P2口2128 通用8位、准双向I/O口,访问外部存储器时,可作为高8位地址线4P3口1017 8位、准双向I/O口,还提供了一些第二
31、功能5/VPP31 访问芯片内部和芯片外部程序存储器的选择信号6RST9 复位信号输入端,高电平有效7ALE/30 低8位地址锁存信号/编程脉冲输入829 外部程序存储器读选通信号,低电平有效9VCC40 电源电压的输入引脚,4.05.5V10XTAL2 XTAL11819 芯片内震荡器反相放大器的输出端和输入端11GND20 电源接地引脚 P0口3932引脚:P0口是8位并行、双向、漏极开路型输出的I/O口,也即地址I/O数据总线复用口。作为输出口用时,可以能驱动8个TTL逻辑门电路,该口内无上拉电阻,由两个MOS管串接,既可以断开漏极输出又可以处于高阻态,因此称为双向、漏极开路I/O口。对
32、外程序存储器和数据存储器进行访问时,该口作为低8位地址线和数据总线复用。在对片内F1ash存储器编程时,该口作为接收指令的字节代码,而在程序校验时需,要求外接10k的上拉电阻。该口作为通用I/O口使用时,需要外接上拉电阻。作为输入口使用时,需对每个引脚写入1成为高阻抗输入口,这时该口为准双向I/O口。P1口18引脚:Pl是一个具有内部上拉电阻的8位、双向I/O口,Pl口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,当编程和校验程序时定义为,该口定义为低8位的地址线。将每个引脚置成高电平1,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。引脚P1.0同时还是定时/计数器T2的外
33、部计数输入,引脚P1.1同时还是定时/计数器T2捕获/重装操作的控制信号。P2口2128引脚:P2是一个带内部上拉电阻的8位、准双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。将每个引脚置成高电平1,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRi指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高字节地址和一些控制信号。P
34、3口1017:P3口是一组带有内部上拉电阻的8位、双向I/O口。P3口输出缓冲级可驱动4个TTL逻辑门电路。将该口的各引脚置成1时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它还具有的第二功能,其具体第二功能如表3.2所示。此外P3口还能接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST复位端口9引脚:该引脚为复位信号输入端,高电平有效。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机系统复位。当定时监视器WDT(看门狗)溢出,将使该引脚输出高电平并持续98个
35、振荡周期。 表3.2 P3口的引脚的第二功能端口引脚第二功能说 明P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2外部中断0请求P3.3外部中断1请求P3.4T0定时器0外部事件计数输入P3.5T1定时器1外部事件计数输入P3.6外部RAM写选通P3.7外部RAM读选通 ALE/PROG端口30引脚:低字节地址锁存允许信号/编程脉冲输入端。当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节地址到外接地址锁存器中,以实现低字节地址和数据的分时复用。在非访问外围器件期间,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟信号
36、或用于定时目的。如若在对F1ash存储器编程期间,该引脚还用作编程脉冲输入()。如果有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱信号拉高,单片机执行外部程序时,应设置ALE无效。:程序储存允许()输出是外部程序存储器的读选通信号,当AT89S52的CPU读取外部程序存储器取指令代码(或数据)时,被读取的指令代码被送到P0口。每个机器周期两次有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的信号。/VPP端口31引脚:为访问芯片内部和芯片外部程序存储器的选择信号。为低
37、电平(接地)时,对程序存储器的操作限定在外部程序存储器进行,地址为0000HFFFFH。端为高电平(接电源电压VCC)时,CPU首先从芯片内部程序存储器(地址为0000HFFFFH)的0000H单元开始读取存储的指令代码,如果芯片外部有扩展的程序存储器,则CPU在执行完芯片内部程序存储器种的程序后,自动转向去执行外部程序存储器中的程序。VPP为片内Flash存储器的编程电压。对片内Flash存储器进行编程时,该引脚接编程电压VPP(5V或12V),对编程程序进行校验时,该引脚接电源电压VCC。XTAL1端口19引脚:芯片内振荡器反相放大器及内部时钟发生器的输入端。XTAL2端口18引脚:芯片内
38、振荡器反相放大器的输出端。存储器结构:AT89S52单片机的存储器结构分为程序存储器和数据存储器,各自又有芯片内和扩展部分,因此AT89S52单片机的存储器结构共分为4部分,即片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。程序存储器:如果引脚接地(GND),全部程序均执行外部存储器。在AT89S52,假如接至电源电压(VCC),程序首先执行地址从0000H0FFFH(4KB)内部程序存储器,再执行地址为1000HFFFFH(60KB)的外部程序存储器。数据存储器:AT89S51的具128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行
39、,128字节均可设置为堆栈区空间。 晶体振荡器特性:AT89S52一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。此外,外接石英晶体(或陶瓷谐振器)及电容Cl、C2接在放大器的反馈回路构成并联振荡电路。对外接电容Cl、C2虽然没十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10pF。当然,用户也可以采用外部时钟。这种情况下,外部时
40、钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。Flash闪速存储器的并行编程:AT89S52单片机内部8KB字节的可快速编程的Flash存储阵列。编程方法可通过传统的EPROM编程器使用高电压(+12V)和协调的控制信号进行编程。编程方法:AT89S52的代码是逐一字节进行编程的。编程前,须设置好地址、数据及控制信号,AT89S52编程方法如下:首先在地址线上加上要编程单元的地址信号,其次在数据线上加上要写
41、入的数据字节,进而激活相应的控制信号,再者将EA/Vpp端加上+12V编程电压,此外在每对Flash存储阵列写入一个字节或每写入一个程序加密位,加上ALE/PROG编程脉冲。每个字节写入周期是自身定时的,大多数约为50s。改变编程单元的地址和写入的数据,重复以上步骤,直到全部文件编程结束。3.1.2 单片机最小系统设计采用AT89S52单片机构成了控制系统的核心,其基本模块就主要包括复位电路和晶体震荡电路。在本设计当中,单片机的P0口、P1口、P2口、P3口全部参与系统工作,单片机最小系统的接线如图3.2所示。图3.2 单片机最小系统图 3.1.3 单片机I/O口分配及实现的功能 P0口的全部
42、端口主要用于负责处理LGM12641BS1R液晶显示器的读写数据/命令。 P1口的全部端口主要用于外接矩阵键盘电路并由此通过程序的设定进行键盘的扫描。 P2口的全部端口主要用于负责处理输出脉冲给控制电机驱动芯片ULN2003A从而让其工作。 P3口的部分端口用于LGM12641BS1R液晶显示器的控制使能端以控制实现液晶显示器的读写操作功能,既与LGM12641BS1R液晶显示器的的使能位端口相接。部分用于串口通信模块的连接,以实现单片机与上位机的双向通信和程序的下载。3.2 步进电机简介步进电机作为执行元件,是一种将电脉冲转化为角位移的执行机构,是机电一体化的关键产品之一,广泛应用在各种自动
43、化控制系统中。当步进电机驱动器接收到一个脉冲信号,它就驱动步进电机按设定方向转动一个固定的角度,因此可以通过控制脉冲数来控制角位移,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度,从而达到调速的目的。总体上说,步进电机有如下优点:可以用数字信号直接进行开环控制,控制简单;在需要更高控制精度时可进行闭环控制;位移与脉冲信号数对应,没有角累积误差,能精确定位;具有优秀的启停响应,可以瞬间启动和急速停止;具有优秀的反转响应;改变脉冲的顺序,可以方便地改变转动的方向;停止时也可以保持转矩,无刷、造价较低、可靠性高。但是,步进电机也存在如下缺点:难以获得较大的转矩,不宜用作高速转动
44、;在体积、重量方面没有优势,能源利用率低;超过负载时会破坏同步,高速工作时会发出振动和噪声。3.2.1 步进电机的分类步进电动机的种类很多,从广义上讲,步进电机的类型分为机械式、电磁式和组合式三大类型。按结构特点分,电磁式步进电机可分为反应式(VR)、永磁式(PM)和混合式(HB)三大类;按相数分则可分为单相、两相、三相以及三相以上。目前使用最为广泛的是反应式和混合式步进电机,而工业上广泛使用的是三相步进电机。1 反应式步进电机(Variable Reluctance,简称VR),反应式步进电机的转子是由高导磁材料构成的齿状转子和定子,转子中没有绕组。它的结构简单,成本低,步距角可以做得很小,
45、一般为1.5,但动态性能相对较差,噪声和振动都很大。反应式步进电机一般为三相,可实现大转矩输出。2 永磁式步进电机(Permanent Magnet,简称PM)永磁式步进电机的转子是用永磁材料制成的,转子本身就是一个磁源。转子的极数和定子的极数相同,且用转子和定子之间的吸引力和排斥力产生转动;由于它的出力大,所以步距角比较大,一般为7.5或15。由于它输出转矩大,故动态性能好,消耗功率小(相比反应式),但启动运行频率较低,而且还需要正负脉冲供电。3 混合式步进电机(Hybrid,简称HB),混合式步进电机综合了反应式和永磁式两者的优点。混合式与传统的反应式相比,结构上转子加有永磁体,以提供软磁
46、材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低。由于永磁体的存在,该电机具有较强的反电势,其自身阻尼作用比较好,使其在运转过程中比较平稳、噪声低、低频且振动小。这种电动机最初是作为一种低速驱动用的交流同步机设计的,后来发现如果各相绕组通以脉冲电流,这种电动机也能做步进增量运动。由于能够开环运行以及控制系统比较简单,因此这种电机在工业领域中得到广泛应用。 由于本设计的设计目的更注重整个系统在自动机械应用中的整体配合,所以在本设计中采用混合式步进电机。尽管步进电机的种类繁多,但他们的工作原理和工作方式是基本一致且相通的,由于在本设计中采用的是混合型两相步进电机,因此在下面对步进电机的工作原理阐述时,只介绍两相步进电机的工作原理,其余类型的电机就不一一阐述了。3.2.2 两相步进电机的结构及其工作原理两相步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。当电流流过定子绕组时,定子绕组产生一矢量磁场,该矢量场会带动转子旋转一定的角度,使得转子的一对磁极磁场方向与定子的磁场方向沿着该磁场旋转一个角度。因此,控制电机转子旋转实际上就是以一定的规律来控制定子绕组的