《气体泄漏超声检测系统的设计.doc》由会员分享,可在线阅读,更多相关《气体泄漏超声检测系统的设计.doc(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、,目 录第1章 绪论11.1 课题来源11.2 课题目的11.3 课题意义21.4 应解决的主要问题21.5 技术要求2第2章 方案论证42.1 可行性研究42.1.1 经济可行性研究42.1.2 技术可行性研究42.1.3 方案提出52.1.4 方案分析52.1.3 方案确定72.2 需求分析7第3章 过程论述83.1 概要设计83.1.1 系统功能设计83.1.2 系统结构设计83.2 详细设计93.2.1 硬件设计93.2.2 软件设计19第4章 系统测试284.1 硬件测试284.2 软件测试284.2.1 单元测试284.2.2 集成测试304.2.3 功能测试314.2.4 测试结
2、果32结 论33后 记34参考文献35附 录36第1章 绪论1.1 课题来源本毕业设计课题是属于教师拟定性课题,主要是研究基于单片机的对步进电机的有效控制。步进电机是一种能将数字输入脉冲转换成旋转或直线增量运动的电磁执行元件,每输入一个脉冲电机转轴步进一个步距角增量。电机总的回转角与输入脉冲数成正比例,相应的转速取决于输入脉冲频率。步进电机是机电一体化产品中关键部件之一,通常被用作定位控制和定速控制。步进电机惯量低、定位精度高、无累积误差、控制简单等特点。广泛应用于机电一体化产品中,如:数控机床、包装机械、计算机外围设备、复印机、传真机等。选择步进电机时,首先要保证步进电机的输出功率大于负载所
3、需的功率。而在选用功率步进电机时,首先要计算机械系统的负载转矩,电机的矩频特性能满足机械负载并有一定的余量保证其运行可靠。在实际工作过程中,各种频率下的负载力矩必须在矩频特性曲线的范围内。一般地说最大静力矩Mjmax大的电机,负载力矩大1 。选择步进电机时,应使步距角和机械系统匹配,这样可以得到机床所需的脉冲当量。在机械传动过程中为了使得有更小的脉冲当量,一是可以改变丝杆的导程,二是可以通过步进电机的细分驱动来完成。但细分只能改变其分辨率,不改变其精度。精度是由电机的固有特性所决定。选择功率步进电机时,应当估算机械负载的负载惯量和机床要求的启动频率,使之与步进电机的惯性频率特性相匹配还有一定的
4、余量,使之最高速连续工作频率能满足机床快速移动的需要。基于单片机的悬挂运动控制系统,具有硬件电路结构简单,精确度高,抗干扰性强等优点。1.2 课题目的培养综合运用四年大学所学知识去分析问题和解决实际问题的能力。在实践中检验所学知识,从而加强理论与实践的相结合。 体验一个科研项目开发的全过程,学会单片机开发应用方法,锻炼应用能力,动手能力。本课题设计是具有一定难度的基于单片机的应用系统开发项目,培养学生创新精神和创新能力。通过这次毕业论文及设计,检验的综合素质和专业教育的培养效果,并且使学会阅读、利用英文文献资料,阅读并翻译外文资料的能力,学会设计报告和论文。1.3 课题意义随着社会的发展、科技
5、的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的自动门系统就是其中之一。同时也标志了自动控制领域成为了数字化时代的一员 3。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。通过对“微机控制自动门系统”的研究和设计,精心撰写了微机控制自动门系统论文。本论文着重阐述了以单片机为主体,LED点阵显示芯片及步进电机为核心的系统。本设计主要应用SST89E58作为控制核心,LED点阵显示芯片、步进电机、压力传感器、电位器相结合的系统。充分发挥了单片机的性能。其优点硬件电
6、路简单,软件功能完善,控制系统可靠,性价比较高等特点,具有一定的使用和参考价值。1.4 应解决的主要问题在基于单片机的悬挂运动控制系统中,主要分三个部分设计,一个是输入和键盘显示模块;另一个是步进电机驱动模块;第三个是最小系统和输出模块设计。主要解决的问题是:1. 单片机最小系统硬件设计;2. 步进电机驱动模块设计;3. 输出部分的软硬件设计;4. 主程序设计;5. 绘图板的设计。1.5 技术要求设计一电机控制系统,控制物体在倾斜(仰角100度)的板上运动。在一白色底板上固定两个滑轮,两只电机(固定在板上)通过穿过滑轮的吊绳控制一物体在板上运动,运动范围为80cm100cm。物体的形状不限,质
7、量大于100克。物体上固定有浅色画笔,以便运动时能在板上画出运动轨迹。板上标有间距为1cm的浅色坐标线(不同于画笔颜色),左下角为直角坐标原点, 示意图如下。第2章 方案论证2.1 可行性研究2.1.1 经济可行性研究开发一个基于计算机的系统主要是为了获取较好的经济效益和社会益。因此对待开发系统的经济可行性的论证就成为可行性研究的重要内容。1. 成本估算 (1) 购置并安装软硬件及有关设备费用。悬挂运动控制系统主要由核心模块、步进电机驱动模块、输入模块、显示模块、通讯模块等组成。核心模块由SST98E58和启动单片机所用到的电容、电阻和晶振组成。步进电机驱动模块由1K4、330欧的电阻,561
8、0、5609、2N3055、MJ2955三极管,1N4007二极管等组成。输出模块由一块1602液晶显示器构成。输入模块主要由16个OMRON按钮组成。通讯模块由单片机的串行口和MAX232芯片组成。以上元件共需大约489元。(2) 系统开发费用悬挂运动系统主要是的硬件和软件主要是由我一个人完成,从设计到实现一共用了大约2个月的时间。费用约为800元。(3) 系统安装、运行和维护费用。本系统完全实现后由单片机控制步进电机带动重物绘图。单片机需要5V的电源。维护的费用主要是在测试时出现的错误需要更正时,替换的元器件大概10元左右。(4) 人员培训费用悬挂运动系统主要由专业人员操作,而且操作非常简
9、单,费用几乎没有。2. 成本-效益分析社会效益:悬挂运动系统是大学生电子竞赛中的一个题目。本次毕业设计,对本系统的功能进行了进一步的完善,特别是对步进电机的驱动,从硬件到软件都比较稳定,如果在将来的的实验或竞赛中还要用到单片机对步进电机的控制,可以将本系统的硬件和软件直接应用或作为参考,所以,本系统对学校的教学和科研开发都有着深远的意义。2.1.2 技术可行性研究1. 风险分析:悬挂运动控制系统要完成的功能为设计一电机控制系统,控制物体在倾斜(仰角100度)的板上运动。在一白色底板上固定两个滑轮,两只电机(固定在板上)通过穿过滑轮的吊绳控制一物体在板上运动,运动范围为80cm100cm。物体的
10、形状不限,质量大于100克。物体上固定有浅色画笔,以便运动时能在板上画出运动轨迹。板上标有间距为1cm的浅色坐标线(不同于画笔颜色),左下角为直角坐标原点。悬挂运动控制系统硬件系统的路已经设计好,并且可能很快的实现。相应的软件设计已经有了三种备选方案。2. 资源分析:所需的硬件器件可以很快购齐。编程语言(C51)已经熟练掌握。3. 技术分析:电机主要分为步进电机和直流电机,如果需要对电机进行有效的精确的控制,选用步进电机更为合理。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个
11、脉冲信号,电机则转过一个步距角2。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。单片机是微型机的主要分支,在结构上的最大特点是把CPU、存储器和定时器、多种输入、输出接口电路集成电路芯片上,将来的控制系统中,对于芯片的集成度要求更高。就其组成和功能而言,一块单片机芯片就是一台计算机。本次设计主要分硬件
12、设计和软件设计。硬件系统包括开发平台SST89E58单片机实验与开发集成系统,将其作为硬件系统的检测方式之一。硬件系统主要是由自己搭建电路,以此为基本方式来制作此项设计。单片机芯片采用SST89E58系列单片机中的。软件系统中主要是采用C51语言来进行软件方面的编程。具体的环境是应用KeilC开发平台,以此来进行程序的编译、通讯以及程序的调试。SST89E58单片机实验与开发集成系统软件直观且易于掌握。现在比较普遍的单片机编程语言主要有两种汇编和C51编程语言,汇编语言的可读性、可移植性差,没有通用性,而C51更接近人类语言、直观、更易于描述复杂算法,所以选用的是C51语言。经过以上分析,本系
13、统可以按时完成任务。2.1.3 方案提出对本系统的软件设计已经准备了闭环数字控制方式和开环数字控制方式两套方案。2.1.4 方案分析方案1: 闭环数字控制方式闭环数字控制方式,主要利用光电传感器检测法,结构图如图2.1所示。首先单片机根据输入的数据来计算物体要移动的距离并控制物体往坐标的大概方向运动,红外发射接收器来探测悬挂物体移动了多少个1*1cm的小方格,并经过A/D送给单片机,单片机通过特定的算法计算出物体的坐标,并控制电机的转动来控制物体往坐标进发,在此过程中单片机不断计算,不断调整电机的转速和方向使悬挂物体做一定路线的移动。但其缺点是,电路复杂,不但要求要有A/D电路,光电探测电路,
14、还要其电路要做得十分精确。任何一个电路设计得不好,也会使物体运动产生很大的偏差5。 微机单片机电机驱动电机D/A光电传感器图2.1 闭环数字控制方案2: 开环数字控制方式开环数字程序控制方式,即没有反馈系统,开环数字控制的结构图如图2.2所示。由图可看出,此种控制方式与上面的控制方式少了反馈电路6。单片机由输入的数据来计算物体要移动的距离,直接发出控制脉冲来控制电机的转动,进而控制物体的运动方向。由于少了反馈电路,系统的精度只与单片机所采用的算法准确性有关,此种方式电路结构简单,成本低且易于调整和维护,是一种较理想的方式。单片机电机驱动电机微机 图2.2 开环数字控制方式2.1.3 方案确定
15、综合上面所述,考虑时间和调试的复杂性,本设计采用方案2。2.2 需求分析 当今时代,是一个新技术层出不穷的时代。在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。大部分的高等工科学校都已开设了单片机课程。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。过去习惯于传统电子领域的工程师、技术员正面临着全新的挑战,如不能在较短时间内学会单片机,势必会被时代所遗弃,只有勇敢地面对现实,挑战自我,加强学习,争取在
16、较短的时间内将单片机技术融会贯通,才能跟上时代的步伐。步进电机是一种离散运动的装置4,它和现代数字控制技术有着紧密的本质的联系。步进电机亦是一种将电脉冲转化为角位移或直线位移的执行机构,当步进电机驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(又称之为步进角),为此可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过脉冲频率来控制步进电机的转动速度和加速度,从而达到调速的目的。这里给出悬挂运动控制系统的要求:基本要求:1. 控制系统能够通过键盘或其他方式任意设定坐标点参数;2. 控制物体在80cm100cm的范围内作自行设定的运动,运动轨迹长度不小
17、于100cm,物体在运动时能够在板上画出运动轨迹,限300秒内完成;3. 控制物体作圆心可任意设定、直径为50cm的圆周运动,限300秒内完成;4. 物体从左下角坐标原点出发,在150秒内到达设定的一个坐标点(两点间直线距离不小于40cm)。第3章 过程论述3.1 概要设计3.1.1 系统功能设计1. 硬件设计总体结构由AT89C52系列单片机等芯片构成,大致分为以下几个部分。首先是最小系统部分。这个部分是以单片机为核心的一个单片机最小系统。根据设计之前对设计题目的分析,可大致的了解到系统所要求程序和所要存储数据单元的大小,这里采用的单片机为SST系列单片机中的SST89E58。其次是信号的采
18、集部分和键盘输入显示部分设计。然后是信号的输出部分。根据键盘的输入,选定一个工作模试,选定进行绘制的图形,再根据输入的参数,绘制出具体的图形。最后本设计是要实现电机的驱动部份,因为,电机的驱动是用四项模拟信号输入来控制的,所以要设计一个电机驱动电路,把单片机输出的数字信号,转换成电机能够使用的模拟信号。2. 软件设计在设计中,需要对键盘的输入数据进行采集,并将采集来的数据显示在屏幕上,然后将输入的数据传给上位机,并根据输入的数据执行相应的操作,控制步进电机绘制出所需的图形。3.1.2 系统结构设计单片机本身具备比较强大的功能,但往往不能满足一个实际应用系统的功能要求,有些单片机本身就缺少一些功
19、能部分需要扩展至应用系统所要求的规模。单片机无法直接与微型计算机进行通信,如果想让单片与微机通信必须将max232芯片与单片机串口相联7。悬挂控制系统由键盘,MSC1602液晶显示器,SST89E58单片机,42BYG205电机等组成。功能框图如图3.1。键盘采用44矩阵键盘通过程序设计完成键盘扫描。LCD显示器通过P2口接收数据。单片机收到命令后,按照相应的算法,经过计算后发出控制信号传给电机。电机根据信号实现相应的动作。键盘控制部分SST89C52单片机控制部分LCD显示部分电机控制部分微机图3.1 功能框图原理总框图:单片机接收串行通讯PC机显示图3.2 串行通信原理图3.2 详细设计3
20、.2.1 硬件设计1. 整体设计悬挂运动控制系统主要由核心模块、步进电机驱动模块、输入模块、显示模块、通讯模块等组成。如图3.1所示。本系统能够完成以下功能:由键盘输入工作模式和坐标数据,其中工作模式包括:模式1:画直线,输入起点和终点的坐标后,电机将带动重物运动出一条直线的轨迹。模式2:画圆,输入圆心和半径的数据后,电机将带动重物运动出一圆形轨迹。模式3:3边图形,输入3个点的坐标后,电机将带动重物运动出一个三角形的轨迹。模式4:4边图形,输入4个点的坐标后,电机将带动重物运动出一个四边形的轨迹。然后显示模块会将工作的状态显示在LCD上,反映输入的数据是否正确,和电机当前的运行状态。步进电机
21、驱动模块,将单机输出的5V信号转换成步进电机所需要的12V信号,提供步进电机所需要的驱动电流。通讯模块是能max232芯片,使用一定的协议,使单片机能与微机之间进行通讯,实现上位机与下位机之间的相互控制。各个模块的具体工作原理,将在下面作出详细说明。2. 主要功能模块设计悬挂运动控制系统主要由最小系统模块、步进电机驱动模块、输入模块、显示模块等组成。通过键盘输入数据,可以完成以下功能:将工作的状态显示在LCD上,控制步进电机将重物移至指定位置,控制步进电机带动重物画出指定的图形,包括圆形、直线、多边形等。(1) 核心模块 核心模块是整个悬挂运动系统的最基本的部分。主要由SST89E58单片机和
22、支持单片工作的一些器件,如晶振、电源和相关的电阻、电容组成,见图3.4。SST98E58内部具有三总路线和32K的存储器,所以不用扩展总线和外部存储8。各IO口分部如下:P0口作为键盘接口,P1口作为电机驱动接口,P2口作为LCD的数据接口,P3.3、P3.4、P3.5作为LCD的控制线接口。(2) 步进电机驱动模块步进电机的驱动模块是完成对步进电机的驱动,步电机是由12V电压驱动的,这个驱动电路的主要功能是将5V的电压转换为12V电压9。见附录图 3.3。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负
23、载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。感应子式步步进电机大体分为两种: 反应式步进电机,感应子式步进电机。我们使用的是两相的感应子式步进电机,当电机绕组通电时序为时为正转,通电时序为时为反转。我们的对步进电机驱动是将输出4个的+5V和0V信号经过集成运放LM324变换成两个5V的信号9,再经过步进电机的驱动电路形成步进电机所需的两个12V的信号,分别对应步进电机的两相AB,按照上述顺序变换,实现对步进电机的驱动。图3.3 整体设计框图图3.4 核心结构框图(3) 输入模块输入模块是由自行焊接的4x4矩阵的键盘实现的10,在这16个按键中,包括09的数字键,一个确定键,一个
24、光标控制键,一个标志键,两个电机驱动键,一个模式选择键。见图 3.5。将键盘的8根线,接到单片机P0口上,前4根为行线,后4根为列线,采用行列扫描的方法,对键盘监测:首先给所有的行线为高电平,列线顺序给某一根线低电平11。当某一键按下,并且列线扫描到该键所在的列时,会使该键所在的行线接口钳制到低电平,这时就可以确定是那一个键按下了。(4) 显示模块显示模块是由一块1602LCD构成,在单片机中编写程序控制其显示内容。见图3.6。 1602是一块(16个字符2行的)液晶显示器。有8根数据线(D0D7)和三根控制线(RS、R/W、E)与单片机相联RS:数据/命令选择端,R/W:读写选择端,E:使能
25、信号。可以通过程序设计完成对1602的初始化和输出控制。图3.5 输入模块框图(5) 通讯模块 本悬挂运动控制系统利用单片机自带的串行口,通过max232与微型计算机相联,实现相互控制。Max232又叫做双通道RS232线性驱动/接收器12。该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。串行异步通信最广泛使用的总路线接口标准RS-232C。232C接口标准采用EIA电平。它规定:高电平为+3V15V,低电平为+3V+15V。实际应用常采用12V或15V。 基本约定:I、波特率:9600II、一位启始位,8位数据,一位停止位,无奇偶校验位。 传送顺序:第一个
26、字符,表示图形标志,根据标志位,决定数据位的字符个数。所画的五个图形分别用1、2、3、4、5表示。其中1表示直线,2表示圆形,3表示三角形,4表示四边形,5表示五边形。直线:连续8字节数据(直线的两个点),最后组装成4个无符号字符型数据。圆形:连续6字节数据,前4个为圆心坐标,后2个为半径。三角形:连续12字节数据(三个点的坐标),最后组装成6个无符号字符型数据。四边形:连续16字节数据(四个点的坐标),最后组装成8个无符号字符型数据。五边形:连续20字节数据(五个点的坐标),最后组装成10个无符号字符型数。图3.6 显示模块框图(6) 系统组成原理图系统的总体框图如图 3.7图3.7 系统控
27、制硬件总框图3. 主要元器件功能与选用(1) 步进电机介绍步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
28、目前,生产步进电机的厂家的确不少,但具有专业技术人员,能够自行开发,研制的厂家却非常少,大部分的厂家只一、二十人,连最基本的设备都没有。仅仅处于一种盲目的仿制阶段。这就给用户在产品选型、使用中造成许多麻烦。签于上述情况,我们决定以广泛的感应子式步进电机为例。叙述其基本工作原理。望能对广大用户在选型、使用、及整机改进时有所帮助。(2) 步进电机控制原理步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。步进电机区别于其他控制电机的最大
29、特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为A-B-CD,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉
30、冲频率,就可以对步进电机进行调速。(3) 电机选择方案1:直流电机。直流电机又分为直流无刷电机和直流有刷电机,是最早实现调速的电动机,其优点是有良好的线性调速特性,简单的控制性能,高的效率,但其数字控制方面较难把握。方案2:步进电机。步进电机是多种机电设备中被广泛应用的一种电机,它主要由定子和转子构成。定子的主要结构是绕组。三相、四相、五相步进电机分别有三个、四个、五个绕组,其它以此类推。绕组按一定的通电顺序工作着,这个通电顺序我们称为步进电机的“相序”。转子的主要结构是磁性转轴,当定子中的绕组在相序信号作用下,有规律的通电、断电工作时,转子周围就会有一个按此规律变化的电磁场,因此一个按规律变
31、化的电磁力就会作用在因此转子上,使转子发生转动。它将电脉冲信号转换成角位移,即给一个脉冲信号,步进电动机就转动一个角度,因此非常适合于单片机控制。另外步进电机还有动态响应快易于起停,易于正反速及变速等优点。综合上面所述,为易于单片机控制,本设计采用方案2。(4) 驱动方式的选择我们知道步进电动机使用脉冲电源工作。开关管是按照控制脉冲的规律“开”和“关”,使直流电源以脉冲方式向绕组L供电,这一过程我们称它为步进电动机的驱动。单电压驱动 单电压驱动是指电动机绕组在工作时,只用一个电压电源对绕组供电。它的特点是电路简单,一般只用于小功率步进电动机的驱动。双电压驱动 双电压驱动是用提高电压的方法使绕组
32、中的电流上升波形变陡。它的基本思路是在低频段使用较低的电压驱动,在高频段使用较高的电压驱动。这种驱动方法在低频段具有单电压驱动的特点,在高频段具有良好的高频性能。本设计考虑到变压器,因采用了单电压驱动.(5) SST89E58单片机SST89E58是一个低电压,高性能CMOS 8位单片机,片内含32k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM)。该器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统。由于片内置通用8位中央处理器和Flash存储单元,功能强大的SST89E58单片机可为您提供许多较复杂系统控制
33、应用场合。 (6) 对于本系统开发来说存在下列很明显的优点内部含FLASH存储器。因此在系统开发过程中可以十分容易进行程序的修改,这就大大缩短了系统的开发周期。同时,在系统工作过程中,能有效的保存一些数据信息,即使外界电源损坏也不影响到信息的保存。和80C51插座兼容。SST89E58单片机的引脚是和80C51一样的,所以,当用SST89E58单片机取代80C52时,可以直接进行代换。时钟方式。SST89E58单片机采用静态时钟方式,所以可以节省电能,这对于降低便携式产品的功耗十分有用。编程亦无废品产生。一般的OTP产品,一旦错误编程就成了废品。而89C51单片机内部采用了Flash存储器,所
34、以,错误编程之后仍可以重新编程直到正确为止,故不存在废品。可以进行反复系统试验。用SST89E58单片机设计的系统,可以反复进行系统试验,每次试验可以编入不同的程序,这样可以保证用户的系统设计达到最优。而且随的需要和发展,还可以进行修改,使系统能不断追随新的要求。SST89E58是用静态逻辑来设计的,其工作频率可下降到0HZ,并提供两种可用软件来选择的省电方式空闲方式(Idle Mode)和掉电方式(Power Down Mode)。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时间被“冻结”,使一切功能都暂停,只保存
35、片内RAM中的内容,直到下一次硬件复位为止。(7) LM324是四运放集成电路,它采用14脚双列直插塑料封装。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路
36、中。(8) 主要应用反相交流放大器此放大器可代替晶体管进行交流放大,可用于扩音机前置放大等。电路无需调试。放大器采用单电源供电,由R1、R2组成1/2V+偏置,C1是消振电容。放大器电压放大倍数Av仅由外接电阻Ri、Rf决定:Av=-Rf/Ri。负号表示输出信号与输入信号相位相反。按图中所给数值,Av=-10。此电路输入电阻为Ri。一般情况下先取Ri与信号源内阻相等,然后根据要求的放大倍数在选定Rf。Co和Ci为耦合电容。 同相交流放大器同相交流放大器的特点是输入阻抗高。其中的R1、R2组成1/2V+分压电路,通过R3对运放进行偏置。 电路的电压放大倍数Av也仅由外接电阻决定:Av=1+Rf/
37、R4,电路输入电阻为R3。R4的阻值范围为几千欧姆到几十千欧姆。 交流信号三分配放大器此电路可将输入交流信号分成三路输出,三路信号可分别用作指示、控制、分析等用途。而对信号源的影响极小。因运放Ai输入电阻高,运放A1-A4均把输出端直接接到负输入端,信号输入至正输入端,相当于同相放大状态时Rf=0的情况,故各放大器电压放大倍数均为1,与分立元件组成的射极跟随器作用相同R1、R2组成1/2V+偏置,静态时A1输出端电压为1/2V+,故运放A2-A4输出端亦为1/2V+通过输入输出电容的隔直作用,取出交流信号。有源带通滤波器许多音响装置的频谱分析器均使用此电路作为带通滤波器,以选出各个不同频段的信
38、号,在显示上利用发光二极管点亮的多少来指示出信号幅度的大小。这种有源带通滤波器的中心频率 ,在中心频率fo处的电压增益Ao=B3/2B1,品质因数 ,3dB带宽B=1/(*R3*C)也可根据设计确定的Q、fo、Ao值,去求出带通滤波器的各元件参数值。R1=Q/(2foAoC),R2=Q/(2Q2-Ao)*2foC),R3=2Q/(2foC)。上式中,当fo=1KHz时,C取0.01Uf。此电路亦可用于一般的选频放大。此电路亦可使用单电源,只需将运放正输入端偏置在1/2V+并将电阻R2下端接到运放正输入端既可。 比较器当去掉运放的反馈电阻时,或者说反馈电阻趋于无穷大时(即开环状态),理论上认为运
39、放的开环放大倍数也为无穷大(实际上是很大,如LM324运放开环放大倍数为100dB,既10万倍)。此时运放便形成一个电压比较器,其输出如不是高电平(V+),就是低电平(V-或接地)。当正输入端电压高于负输入端电压时,运放输出低电平。 图中使用两个运放组成一个电压上下限比较器,电阻R1、R1组成分压电路,为运放A1设定比较电平U1;电阻R2、R2组成分压电路,为运放A2设定比较电平U2。输入电压U1同时加到A1的正输入端和A2的负输入端之间,当Ui U1时,运放A1输出高电平;当Ui U2,则当输入电压Ui越出U2,U1区间范围时,LED点亮,这便是一个电压双限指示器。 若选择U2 U1,则当输
40、入电压在U2,U1区间范围时,LED点亮,这是一个“窗口”电压指示器。 此电路与各类传感器配合使用,稍加变通,便可用于各种物理量的双限检测、短路、断路报警等。 单稳态触发器此电路可用在一些自动控制系统中。电阻R1、R2组成分压电路,为运放A1负输入端提供偏置电压U1,作为比较电压基准。静态时,电容C1充电完毕,运放A1正输入端电压U2等于电源电压V+,故A1输出高电平。当输入电压Ui变为低电平时,二极管D1导通,电容C1通过D1迅速放电,使U2突然降至地电平,此时因为U1U2,故运放A1输出低电平。当输入电压变高时,二极管D1截止,电源电压R3给电容C1充电,当C1上充电电压大于U1时,既U2
41、U1,A1输出又变为高电平,从而结束了一次单稳触发。显然,提高U1或增大R2、C1的数值,都会使单稳延时时间增长,反之则缩短。如果将二极管D1去掉,则此电路具有加电延时功能。刚加电时,U1U2,运放A1输出低电平,随着电容C1不断充电,U2不断升高,当U2U1时,A1输出才变为高电平。3.2.2 软件设计1. 主程序总流程图在设计系统的总流程中.比较简单. 但在子程序相当复杂.程序总图如图3.8所示:2. 主程序设计以往,人们研制单片机应用系统,几乎都是使用汇编语言编写应用程序。经管汇编语言具有能够直接操作硬件、指令执行速度快等优点,但汇编语言不是结构化的程序设计语言,用它编写的程序可读性差,
42、不便于资料的交流和移植,调试也比较麻烦;而C语言恰好克服了汇编语言的缺点,而且又具有汇编语言的优点。故本系统采用KEIL 51软件用C语言进行的程序设计13。系统上电后,对设备进行初始化,之后便进入判断测试状态还是运行状态,如果是运行状态便进行波特率设置,如果是测试状态,便显示当前波特率,如果改变波特率,则进行发送数据,重新判断是运行还是测试状态。如果运行的是波特率设置,则之后进行键盘设置,可以对通道进行选择,选择后边进行A/D转换状态,之后发送数据,系统在进行判断是测试状态还是运行状态。如果键盘处理的是定时器,则改变定时常数,然后进行A/D数据转换,之后发送数据,又进行判断是测试状态还是运行
43、状态14。图3.8 主程序流程图对与一个开环控制系统来说,最重要的就是它的算法的选择,然后就是针对算法的编程.(1) 控制算法的论证方案1: 逐点比较直线插补算法17逐点比较法是数控机床中广泛采用的一种软件插补算法,该方法普遍用于二坐标数控加工系统.所谓逐点比较法就是在绘图过程中,绘图笔每移动一步都要与理想线路进行比较,然后决定下一步的移动方向用步步修正的方法画出所期望的线段. 逐点比较法的基本原理是斜率比较法即线段的起点与笔当前的位置构成的直线斜率与要绘线段斜率进行比较当前者斜率小于后者斜率时,笔应该向方向走一步当前者斜率大于后者斜率时,笔应该向方向走一步如图3.9所示,为欲画的路线,为画笔
44、开始所在的位置,当的斜率小欲画线段的斜率时,向方向移动一步,到达点然后再用线段的斜率与的斜率进行比较,当的斜率大欲画线段斜率时,向方向移动一步。图3.9 逐点比较直线插补算法方案2:逐点比较圆弧插补算法18 圆弧轨迹插补不同于直线,一段圆弧可能跨越几个象限。每当一段圆弧跨过象限后,原来的偏差计算、坐标计算式必须进行修改。在插补过程中每走一步必须检查是否会跨越象限,一旦查到跨越象限,就要根据顺圆或逆圆改进进入该象限的一套计算方法。传统的过象限处理是采用查表的方法,即用旧的标志字通过查表取得新标志字,替换旧标志字,当再次进行插补时,根据新的标志字进行插补和进给。查表法处理起来相当麻烦。符号判别法是
45、根据动点坐标本身位置的变化自动转换运算和判别,自动转入其他象限,改变偏差计算、坐标计算式。方案3:数学建模法21。数学建模法是指用数学方法,运用几何知识(极坐标)把圆上的点和两个电机所在的位置联系起来,通过相关计算把圆上的点的坐标用数学表达式表示出来,并转换成电机所要转动的偏移量,最后把偏移量转化为电机所要转的速度。此方法,计算复杂,但所得数据较为准确,只要编程正确,用电机所画出来的线就不会编差大。上述几种方法我们都尝试编程,但在调试过程中,前两种方法的误差比较大.达不到比赛的要求,最后我们只能采用方案3。采用方案3的算法相当复杂, 而且要经过了无数次调试.(2) 直线的计算和编程从图3.10
46、我们可以看到假设原点坐标X0,Y0,要达到的坐标点X1,Y1图3.10 数学建模算法那么到坐标点的距离L我们没有采用Y=KX+B的直线方程,而是把L的长度分为COUNT_L等分我们计算出每一个增量INC_X,INC_Y我们假设一个变量i,i的范围从1-COUNT_L所以每走一步的坐标值画直线函数的流程图如图3.11图3.11 直线函数的流程图部分程序如下:void draw_line(float x0,float y0,float x1,float y1) for(i=1; i=count_ll; i+)xx=inc_x*i+x0 ; xxx=xx ;yy=inc_y*i+y0 ;L_l=sqrt(xx+15)*(xx+15)+(115-yy)*(115-yy) ;L_r=sqrt(95-xx)*(95-xx)+(115-yy)*(115-yy) ;inc_Ll=L_l-