基于GPRS的水库监测系统——水位信号采集及传输设计毕业论文.doc_第1页
基于GPRS的水库监测系统——水位信号采集及传输设计毕业论文.doc_第2页
基于GPRS的水库监测系统——水位信号采集及传输设计毕业论文.doc_第3页
基于GPRS的水库监测系统——水位信号采集及传输设计毕业论文.doc_第4页
基于GPRS的水库监测系统——水位信号采集及传输设计毕业论文.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

jiu jiang university毕 业 论 文题 目 基于gprs的水库监测系统 水位信号采集及传输设计 英文题目a water-level monitoring system of the reservoir based on gprs 院 系 信息科学与技术学院 专 业 计算机科学与技术 月信息科学与技术学院学士学位论文摘 要目前国内的水库监测只是针对大中型水库,而大量分布的小型水库还是监测的盲点。正是这些小型水库的监测失控造成了近些年的洪涝和干旱的重要原因。但是大中型水库的监测模式不适应用于网点多,分散零散的小型水库监测。为此,设计了适合集中控制分布式的小型水库网点模式的水位测距仪。系统的硬件部分主要是超声波传感器,利用超声波传感器进行模拟采集数据,数据处理部分采用stc12c5a60s2单片机为核心控制器件,由显示芯片lcd1602进行现场显示,再通过,max232传到上位机。由上位机进行显示。本论文联系于基于gsm 网络的gprs 网络通信技术实现远程数据传输,从而实现远程水位实时监控功能的系统。本论文对电路的功能和工作原理进行详细介绍。关键词:分布式水库,水位监测,超声波,数据采集,数据传输abstractat present the domestic reservoir monitoring is aimed at large and medium-sized reservoir, and a large number of distribution of small reservoir or monitoring blind spot. it is these small reservoir monitoring control caused by the recent floods and droughts are important causes of. but large and medium-sized reservoir monitoring mode is not adapted for outlets, scattered scattered small-sized reservoir monitoring. to this end, we design a centralized control of distributed small reservoir model.here uses the sensor mainly is the ultrasonic sensor, carries on analog data gathering using the ultrasonic sensor. data-acquisition takes stc12c5s60s2 single chip microcomputer as the key controller element. the display chip lcd1602 field display.and sent to the pc through max232 the main communication wire,also it will be shown.this paper mainly introduces a remote monitoring system, which accomplishes remote data transfer by the technique of gprs based on gsm network. this paper the circuit function and working principle in detail introduction.keywords: distributed reservoir, a water-level monitoring, ultrasonic wave, data acquisition, data transmission 目 录摘 要iabstractii1 概述1.1选题意义(1)1.2 测距方法发展与比较(1)1.3 设计思路及要求(2)1.4 论文章节说明(3)1.5 小结(4)2 超声波测距原理2.1 超声波简介(5)2.2 超声波测距原理(5)2.3 温度补偿原理及运算(6)2.4关于超声波长距离和短距离的测量问题和限制(7)2.5 小结(7)3 软硬件说明3.1 使用软件简介(8)3.2 硬件(9)3.3小结(15)4 硬件设计与实现4.1 电路规划说明(16)4.2 电路原理图设计(16)4.3 pcb图设计(17)4.4 感光法制作电路板(18)4.5 手工焊接技术(20)4.6电路板成品图(22)4.7 小结(22)5 程序设计5.1 程序整体规划说明(24)5.2 ds18b20温度传感器程序(24)5.3 超声波测距程序说明(26)5.4lcd1602程序说明(27)5.5 显示程序和main函数说明(29)5.6小结(31)6 程序调试与误差分析6.1 使用keil和protues调试程序说明(32)6.2 写入程序及演示结果说明(33)6.3 最终电路实物图(36)6.4 性能和误差分析(37)6.5 小结(37)结束语(38)致 谢(39)参考文献(40)附录一(41)56信息科学与技术学院学士学位论文1 概述1.1选题意义目前国内的水库监测系统只是针对大中型水库,而在中国小型水库的管理失控却是洪涝和干旱的主要原因。对小型水库的监测将在未来变的更加重要。所以制作适合分布零散的小型水库的监测系统非常有必要。超声波测距在现代工业测量中有着广泛的应用,超声波可以在一些特定场合或者环境比较恶劣的环境下使用。超声波仪器比光学器件更有利于管理。并且利用单片机控制超声波监测水位有比较快速,方便,计算简单,容易做到实时监控,而且精度高等优点。因为超声波在测距在某些方面有的优势。设计好的超声波测距仪监测小型水库的水位就显得有必要。这就是本设计的意义所在。1.2 测距方法发展与比较1.2.1 国际超声波测距发展一般认为,关于超声波的研究最初起始于1876年f.galton的气哨实验。经过这么多年的发展,随着超声波技术研究的不断深入,而且他的高精度、无损、非接触等优点,超声波的应用变得越来越普及。目前已经广泛地应用在机械制造、电子冶金、航海、宇航、石油化工、交通等工业领域。此外在材料科学、医学、生物科学等领域中也有广泛的应用。国外在提高超声波测距方面做了大量的研究。对超声波测距的精度主要取决于所测的超声波传输时间和超声波在介质中的传输速度,二者中以传输时间的精度影响较大,所以大部分文献采用降低传输时间的不确定度来提高测距精度。目前相位探测法和声谱轮廓分析法或二者结合起来的方法是主要的降低探测传输不确定度的方法。1.2.2 测距方法简介在人类发展的过程中,我们使用过很多方法,大体分为三类,比如目测,步测,臂长尺测,等等原始的方法;再有或者用步枪测量,指南针测量,甚至车辆测量的方法;对于用更加先进的技术的测量距离的,普遍的是超声波测距,以及激光测距,红外线测距。测量是向着精确度越来越高发展,在隐性发面测量的记录更加快捷。1.2.3 激光与超声波测距比较超声波测距与激光测距是现在最常用的两大工业测量方法,有各自的优缺点。超声波优点是比较耐脏污,即使传感器上有尘土,只要没有堵死就可以测量,可以在较差的环境中使用,所以倒车雷达多半使用超声波。超声波缺点是精度较低。激光测距的优点是精确,缺点是需要注意人体安全,且制做的难度较大,成本较高,而且光学系统需要保持干净,否则将影响测量。综上所述,超声波仪器不需要更多的人去保养,更适合在更加不好的环境。1.3 设计思路及要求1.3.1 系统设计总体中的个体本毕业设计题目是三个题目中的一个,属于下位机。中间包括gprs传输,上位机是处理信号的服务器。在这个整体中本设计的要求仅仅是把距离和温度数据通过串口传输出去。传输分两种,一种是方便实验可以直接和电脑连接,一种是通过连接gprs。这两种方式并不需要改程序去适应。只需要添加传输格式即可。而本设计的任务就是数据采集。水位监测系统整体图如图1-1所示。图1-1 整体图1.3.2 系统设计要求 (1)超声波温度补偿测距; (2)发送的连续性; (3)是通过max232串口,方便连接gprs设备,能远距离传输;1.4 论文章节说明本论文主要介绍整个设计,包括设计的选题,原理,所用的软件,硬件以及测试全部过程,通过论文可以全部还原设计的每个方面。第一章,概述;顾名思义就是大概的说明一下超声波在社会发展中的情况,即“被”超声波选择和选择超声波的原因。第二章,超声波测距原理;具体的说明超声波的原理,测距所需要注意的环境等情况,包括测距中需要用到的超声波的不确定性而引起的误差,即温度补偿声波在空气中的传播速度的误差。第三章,软硬件使用说明;这章简单的说明设计过程中所用到的软件。认识和分析所用的硬件的特点。为后边的设计的过程做必要的准备。第四章,程序设计及实现;在第三章已经认识了所需要的软件之后,先决定写程序,因为可以通过软件模拟程序的实现。第五章,电路设计及实现;在一切就绪以后就必须动手做实物。这个章节主要介绍过程和所用的物件。第六章,调试;分析错误并解决,分析误差并尽力减小误差。错误来源有程序错误和硬件拼装错误,所以用的是调试软件的软件,硬件的错误只能靠人工去发现并解决。1.5 小结通过本章节的说明,了解论文题目的研究意义,即声波的速度比其他测量方式慢,且为非接触式等原因。以及超声波的发展。并对论文题目的设计需求和论文章节说明做了介绍,分别是:概述,超声波测距原理,软硬件说明,程序设计与实现,电路设计与实现,调试等章节。2 超声波测距原理2.1 超声波简介声音是与人类生活紧密相关的一种自然现象。当声的频率高到超过人耳听觉的频率极限(根据大量实验数据统计,取整数为20000赫兹)时,人们就会觉察不出周围声的存在,因而称这种高频率的声为“超”声。超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强。利用超声波的这种性能就可制成超声传感器,或称为超声换能器,它是一种既可以把电能转化为机械能、又可以把机械能转化为电能的器件或装置。换能器在电脉冲激励下可将电能转换为机械能,向外发送超声波;反之,当换能器处在接收状态时,它可将声能转换为电能。2.2 超声波测距原理超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停 止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离s,即:s=340t/2。 由于超声波也是一种声波,其声速v与温度有关。在使用时,如果传播介质温度变化不是很大的情况,则可认为超声波速度在传播的过程中是基本不变的。如果对测距精度要求很高,则应通过温度补偿的方法对测量结果加以数值校正(将在一面一节中谈到)。只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的基本原理。超声波的测距原理如图2-1所示。 t 超声波发射 障碍物 超声波接收图2-1 超声波的测距原理 h=scos (2.2-1) =arctg(l/h) (2.2-2)式中:l-两探头之间中心距离的一半.又知道超声波传播的距离为:2s=vt (2.2-3)式中:v超声波在介质中的传播速度; t超声波从发射到接收所需要的时间.将(2.22)、(2.23)代入(2.2-1)中得:h=(vtcosarctgl/h)/2 (2.2-4)其中,超声波的传播速度v在一定的温度下是一个常数(例如在温度t=30度时,v=349m/s);当需要测量的距离h远远大于l时,则(2.24)变为: h=vt/2 (2.2-5)所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离h.2.3 温度补偿原理及运算在本设计中,需要考虑温度对超声波传播速度的影响,所以对超声波传播速度加以修正,以减小误差。下面公式是超声波传播速度与空气温度的关系。v = 3314 + 0607t式中,t为实际温度单位为,v为超声波在介质中的传播速度单位为ms。超声波波度与温度关系如表2-2所示。表 2-1 超声波波速与温度的关系表温度()-30-20-100102030100声速(ms)313319325323338344349386在通过上边的公式得到比较真实的速度以后带入(2.2-5)中,就得到h=(3314 + 0607t)*t/2这里采用的主要元器件是是美国dallas半导体公司生产的单总线数字温度传感器ds18b20,其具有精度高、智能化、体积小、线路简单等特点。将ds18b20数据线与单片机的p1.0口相连,就可以实现温度测量。2.4关于超声波长距离和短距离的测量问题和限制由于超声波发送探头发射的信号不是单一方向的,而是向一片区域发送信号,并且超声波探头的发送功率有限。所以在测量的时候需要注意一些问题,对于长距离,被测目标必须垂直于超声波测距仪;被测目标表面必须平坦;测量时在超声波测距仪周围没有其他可反射超声波的物体,即开阔地,等。对于短距离,由于两个探头之间是有一定距离的,所以超声波无法收回回波。所以必须注意在测量时保持距离在0.5cm以上比较好。2.5 小结通过对本章的介绍,熟悉了超声波的原理,并对超声波测距的方式进行了说明。其中对于超声波对于温度的变化是本设计中的难点。另外对于超声波测距的限制也具体说了。为超声波测距后边的调试工作做好理论基础。3 软硬件说明3.1 使用软件简介3.1.1 软件使用说明论文题目主要的软件是keil uvision4,protues,protel 99se。同时也用到了一些其他的软件,包括串口小助手,和增加电脑串口数量的一些小型工具软件等辅助模拟的软件。虽然他们始终贯彻于整个程序调试的环节,但是软件比较简单,故不细说。3.1.2 keil uvision4简介keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用c来开发,体会更加深刻。keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,并且全windows界面1。3.1.3 protues简介proteus是目前最好的模拟单片机外围器件的工具,可以仿真51 系列、avr,pic 等常用的mcu 及其外围电路。当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型。proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机cpu 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。3.1.4 protel 99se简介protel 99se是应用于windows9x/2000/nt操作系统下的eda设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3d模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源-地层和16个机加工层2。3.2 硬件3.2.1 硬件使用说明在明确设计方向之后,需要了解哪些功能需要哪些硬件去实现,功能包括,温度测量(ds18b20),超声波收发,以及处理的过程(stc12c5a60s2芯片),但是芯片提供的电平无法满足实际的传输需求,需要用到max232电平转换。本设计中的常规电压是+5v。所用硬件是选择这个电压的。以下硬件大体主要从这四个方面做介绍,对电路板等其他必须用到或者都熟悉的硬件不做介绍。3.2.2 ds18b20温度传感器ds18b20是dallas公司开发的单总线高精度数字式半导体温度传感器。它具有节省系统i/o口线资源,结构简单,成本低廉,精确度高,便于总线扩展和维护等诸多优点。单总线是dallas半导体公司近年推出的新技术。他将数据线、控制线、地址线合为1根信号线,即只需要三根线。单总线适用于单个主机系统,能够控制一个或多个从机设备。ds18b20抗干扰能力强,转换精度高,使用时无需标定或调试,与微处理器的接口电路简单,可方便地实现多点组网测温,给硬件设计工作带来了极大的方便。另外采用ds18b20能缩短开发周期,有效地降低成本,简化系统设计,扩展方便、占用系统i/o资源少3。ds18b20提供912位精度的温度测量,温度测量范围为- 55 + 125,在- 1085范围内。(在本设计中需要用的温度范围更小,所以用这个非常合适。)测量分辨率为0.5,增量值最小可为0.625,电源供电范围3.05.5v。将测量温度转换为12位的数字量最大需要750ms,而且ds18b20有2种供电方式:外部供电方式和寄生电源方式4。采用信号线寄生供电,不需额外的外部供电,在需要远程温度探测和空间受限的场合特别有用。每个ds18b20有唯一的64位序列号,这使得可以有多个ds18b20同时在一条单总线上工作。ds18b20如图3-1所示。图3-1 ds18b20外形由图可一目了然的看出,除dq直接相连单片机外,vcc和gnd不占用单片机的引脚,大大的节约了单片机的引脚。3.2.3 max232电平转换max232芯片是美信(maxim)公司专门rs-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。是专为无法提供+12v单电源供电的串口使用。比较适合在非常有限的印刷电路板上使用5。max232和芯片在本应用中的电路图如图3-2,3-3所示。由max232和应用原理图可以直观的看出,每个引脚对应的硬件。t1out和t1in是对应的,其他同理。左边1到6是电容的引脚,为max232供能和储能的作用;其中串口中引脚3为txd,用着发送数据,引脚4为接受数据的rxd。图3-2 max232芯片图图3-3 max232在本应用中的电路图3.2.4 stc12c5a60s2芯片说明在本设计中使用过at89c20516已经stc12c5a60s2等芯片,但是这些芯片在某些功能上不能完成本设计要完成的任务,所以在老师的推荐下使用stc12c5a60s2芯片。见stc12c5a60s2说明书7。stc12c5a60s2单片机是宏晶科技生产的单时钟/机器周期的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成max810专用复位电路,2路pwm,8路高速10位a/d转换,强干扰场合8。stc12c5a60s2芯片外形和stc12c5a60s2引脚功能图如图3-4,3-5所示。图3-4 stc12c5a60s2芯片外形图3-5 stc12c5a60s2引脚功能图图中可以看到,第十,十一引脚,是与串口相连的,p0.0到p0.7是添加的lcd1602显示器的双向数据端,其实如p3.6数据写,p3.7数据读等等的引脚与lcd1602的引脚一一对应即可。3.2.5 超声波收发探头和电路超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声探头多用作探测方面。它有许多不同的结构,可分直探头、斜探头、表面波探头、兰姆波探头、双探头等。本设计使用的就是双探头,一个接受一个发送。超声探头的核心是其塑料外套或者金属外套中的一块压电晶片。构成晶片的材料可以有许多种。由于晶片的大小,如直径和厚度也各不相同,因此每个探头的性能都是不同的,我们使用前必须预先了解清楚该探头的性能参数。超声波传感器的主要性能指标包括:(1)工作频率。工作频率就是压电晶片的共振频率。当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大,灵敏度也最高。 (2)工作温度。由于压电材料的居里点一般比较高,特别时诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间地工作而不失效。医疗用的超声探头的温度比较高,需要单独的制冷设备。 (3)灵敏度。主要取决于制造晶片本身。机电耦合系数大,灵敏度高。超声波测距模块如图3-6所示。图3-6 超声波测距模块如图所示,这个模块有五个引脚,引脚的功能分别是,电源(+5v),控制引脚,接收端,空引脚,接地引脚。3.2.6 lcd1602液晶显示器为了显示方便,设计增加了显示器,相对价格来说,选择了这款比较熟悉的。从功能上来说,它使用的是+5v的电压,是本设计中的使用电压,对比度可调,有复位电路,以及各种控制命令,等等好处。lcd1602引脚图如图3-7所示。图3-7 lcd1602引脚图引脚功能如下:第1脚:vss为电源地 第2脚:vdd接5v电源正极 第3脚:v0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10k的电位器调整对比度)。 第4脚:rs为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:rw为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:e(或en)端为使能(enable)端。 第714脚:d0d7为8位双向数据端。 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。3.3小结本章对所用到的主要的硬件做了简单的介绍,包括ds18b20测量温度,只占用单片机的一个引脚,大大的简化了单片机的系统设计。max232的电平转换给需要+12v的串口提供了足够的电压。stc12c5a60s2整个系统的心脏部分。lcd1602提供了实时显示,并介绍了引脚的作用。4 硬件设计与实现4.1 电路规划说明整个电路分为两个部分,超声波的电路和max232电路。对于温度的电路部分不需要特意去准备。因为ds18b20可以直接和主芯片相连。对于超声波的电路设计,是通过接受的信号经过放大后传进主芯片的。max232的电路是固定的,所以需要的是动手做。4.2 电路原理图设计4.2.1 电路图设计原理图的设计是先在稿子上画好大体的模样,需要的零件,然后在protel上画。对于资料的整理需要从网络或者图书里得到芯片的每个引脚的功能,便于连线,对需要用到的零件有一定的认识。电路原理图如图4-1所示。图4-1 原理图图中由于需要封装的原因以及部分零件库里面没有,有代替零件。4.3 pcb图设计4.3.1 pcb电路图设计方法(1)原理图画好和将每个元件的封装添加好(确保填入的pcb封装与原理图中元件可对应)(2)做erc校验(3)生成网络表。(4)在pcb设计界面中装入此网络表。设定好板层。(5)元件布局(6)连线(7)规则检查9。4.3.2 pcb图pcb图如图4-2所示。图4-2 pcb图4.4 感光法制作电路板(1) 准备pcb图: 注意其大小,最在用protel画图的时候将栅格的大小调整。(2)打印: 用激光打印机将pcb图打印到菲林纸上。在打印之前要设置打印选项,因为我的图是在底层的,所以要选择打印底层并选择打印孔、不需要镜像。(3)裁板: 因为在实验室里使用的感光板是15cm 10cm大小的,而我的板子是7.5cm 6.4cm。所以需要将感光板裁成合适大小,避免浪费。我用的是电钻来裁剪感光板,同时选用直径为1.0毫米的铣刀作为电钻的钻头。(4)曝光: 将打印有电路图的菲林纸铺在撕去了保护膜的感光板上(注意将菲林纸有墨的一面种感光板贴紧),将铺好菲林纸的感光板放在两块玻璃板中间,用夹子夹好固定,将夹好的玻璃板放于日光灯下曝光(注意将有菲林一面朝上)。根据经验,在夏天,用日光灯曝光时间约为8到9分钟,冬天可长1到3分钟,不过同时要根据室外的光线来调整曝光时间,最好不要晚上做板子,除非你有曝光机。曝光图如图4-3所示。图4-3 曝光(5) 显影: 将显影剂(烧碱)与水按1:20的比例配置好,如果实在是没有测量工具的话可以先在容器倒入一矿泉水瓶的三分之一水量,然后放入约为小手指大小的显影剂,混合均匀后,放入一小块的感光板实验一下,之后根据它的反应来调整显影剂的浓度。然后将曝光好的板子放入其中显像,并微微晃动让板子表面的显影液均匀流动。显影剂配置的好的话,只要几分钟就能看到最终效果:除线路和焊盘上一层绿色的感光膜外,其他地方均为裸露的红色铜。显影图如图4-4所示。图4-4 显影(6) 蚀刻: 将三氯化铁按与水的比例为4:6配置好,将显影好的板子放入装有三氯化铁溶液的塑料盆中(不要用金属盆,特别是铜的),蚀刻电路板,在蚀刻的同时,如果给溶液加热的保持温度在50-60度之间,温度越高蚀刻速度越快。最终效果是除有线路的地方有感光膜覆盖铜线外,其他地方的铜均已被腐蚀掉,剩下绝缘的基板,这样电路板就算是做好了。(在这个过程中,可能无法很好的掌握好比例,可以通过调节水温的方法实现)。蚀刻图如图4-5所示。图4-5蚀刻(7)去膜:将蚀刻好的电路板,再次放入显影液溶液中,去掉线路上的感光膜,这个显影液的浓度没有什么要求。最终效果是板上只剩下需要的线路,且线路上没有感光膜,均为红色的铜线。(8)钻孔:用电钻对零件孔或需要钻孔的地方进行钻孔,选用1.0mm的钻头。钻孔图如图4-6所示。图4-6 钻孔4.5 手工焊接技术(1) 焊接的工具焊接所用的工具为电烙铁,电烙铁有内热式和外热式两种,电子制作中以2040w的内热式烙铁为宜,焊台是比电烙铁更为优越的焊接工具。不同用途所使用的烙铁类型也不同,从烙铁头就可以分为很多种,一般使用的是尖锥式密集焊点的烙铁。暂时不用的电烙铁要放在烙铁架上,新的烙铁也不能拿来就用,需要先给烙铁镀上一层焊锡才能使用。(2) 锡焊前的预制工作先用砂纸或利器将焊件表面的氧化物及污垢处理干净,使焊件露出金色光泽,然后用预热好的烙铁头沾上锡,在焊件表面均匀地涂上一层锡,良好的镀层应该均匀发亮,无颗粒和表面凹凸现象。(3) 手工焊接的五步操作法a 准备施焊:一手拿电烙铁,一手拿焊锡丝。电烙铁有握笔式和拳握法。 b 加热焊接点:将烙铁边侧放置于焊件与焊盘形成的直角处,使焊接升温。c 送入焊锡丝:及时将焊锡丝放置到电烙铁焊接处的对面,接触焊件。d 移开焊锡丝:落在焊点上的焊料适量后,迅速移开焊锡丝。 e 移开电烙铁:当焊点上的焊料接近饱满,充分浸润在焊盘和焊件之间,在焊锡最光亮,流动性最强时,及时迅速地移开电烙铁,移开的时候往上稍稍提拉(完全焊接过程所用的时间大约35秒)。(4) 焊接技术要点 注意焊接时机。最好的焊接时间是在做完了电路板之后就立即焊接,防止电路板放置时间过长被氧化,所以电路板打好孔之后中马上就进行焊接。 注意拿板方式。不要用手直接接触电路板的铜线电路,防止手上的污渍沾上电路板,导致元件焊接不上。正确的方式应该是使用手指同时拿板的边缘处。 注意焊接顺序。焊接顺序为先焊接元件高度低的,后焊接元件高度高的,比如飞线就应该最先焊。部分元件,如dip封装的底座、idc封装的插针,最好是装上元件之后,再进行焊接,防止底座因受热变形,影响焊接过程。 注意焊接过程中元件高度调整。元件焊接完后,应该是紧靠在板上的,防止之后意外受力,导致反面焊接处的铜皮翘起断裂,所以,在焊接两个引脚的元件的时候,应先焊一边的管脚,压紧后再焊另一边的管脚;焊接多个引脚的元件的时候,先对角焊好,调整后再焊其他的引脚。4.6电路板成品图下图为修改前的成品图如图4-7所示。图4-7 成品图4.7 小结对于硬件的做法,只为这个实验,而去准备,而不是批量化的生产,是比较麻烦的。在制作的过程中因为无法正确的掌握药品的用量,所以开始很担心,但是后来在做的过程中,认为升高温度应该也是可以的,就用了升高温度,结果是肯定的。对于其他步骤,在做的过程中才能感悟到,实践很简单,就是照做就行,也有点难,因为细节很难把握。5 程序设计5.1 程序整体规划说明程序是单片机内使用的程序,通过keil来调试,再通过isplay写入单片机。在程序内部,首先是对单片机的初始化,ds18b20初始化,串口置位,超声波置位。然后对温度的测量,在得到温度的同时超声波测量时间差,并和温度进行运算得到距离值。在通过串口传送出去,lcd是实时负责显示的部分。在本章中列出了一些重要的程序段,但详细程序见附录一。5.2 ds18b20温度传感器程序对于本程序单片机访问ds18b20需要经过以下几个步骤,ds18b20程序流程图如图5-1所示。图5-1 ds18b20程序流程图说明如下。 (1)ds18b20复位。(2)写入跳过rom的字节,即0 xcc。(3)写入开始转换的功能命令,0 x44。(4)ds18b20再次复位。(5)再次写入跳过rom的字节,即0 xcc。(6)写入暂存的功能命令,0 xbe。(7)读入结果的低八位。(8)读入结果的高八位10。其中读出数据部分程序为:void temperatuerresult(void) unsigned char i,temp_buff2,crc_data=0; while(init_ds18b20(); writeonechar(0 xcc); writeonechar(0 x44); delay_ds18b20(50000); while(init_ds18b20(); writeonechar(0 xcc); writeonechar(0 xbe); for(i=0;i8);/发送距离数据的高位senddata1(tempdistance);/发送距离数据的低位senddata1(w);senddata1(temperature);/发送温度数据senddata1(o);senddata1(k);5.6小结通过本章节的说明,了解到本设计的几个功能模块的工作方式,包括ds18b20的程序,超声波测距的程序,以及输出函数等。stc12c5a60s2是本设计的头脑位置。是处理数据和调用个个器件的核心。stc12c5a60s2向超声波探头发送脉冲获得时间差并通过与温度一起计算得到距离值。距离和温度值可以由lcd1602直接显示,也可以通过向串口发送命令“f”,来获得数据。6 程序调试与误差分析6.1 使用keil和protues调试程序说明keil主要是对程序是否出错进行调试,但是程序正确不代表可以在单片机里运行,所以需要用到protues进行模拟。在keil进行调试时的步骤是如下。(1)先建立.c文件,并选择所用到的单片机型号。(2)编译写好了的文件。(3)调试,通过keil拥有的工具进行单步或者其他查看值的方式调试。(4)将编译好的正确的程序生成hex文件。在使用protues。在画好基本的电路图后,可以把生成好了的hex文件导入单片机,编译。通过串口助手查看结果。具体步骤为:(1)画基本电路图。由于protues能强大功能,所以不需要完整的电路图,比如,对于温度的测量的模拟只需有串口和单片机芯片再有ds18b20三个就足够,不需要再实际电路中用到的电阻或者电容。(2)设置各种参数,比如单片机的晶振,串口的串口号。(3)导入hex文件,并且编译。(4)模拟,通过串口助手查看结果。对于超声波的模拟只能通过keil查看程序的正确性,然后通过给一个假的值进行估计。因为在protues里没有超声波的模块,其他类似的软件也没有相应的模块。而实际上对于超声波的程序是比较好估计的。其中本设计开始之初ds18b20的测试如6-1,6-2图所示。图中三个数据为一组,如10 00 e2。其中10 00表示的是测试温度值1。e2是超声波的数据。当把测试温度改变为15时,数据改变为f0 00,温度测量正确。图6-1 ds18b20模拟图图6-2 ds18b20模拟图6.2 写入程序及演示结果说明整体调试从使用下载工具写入程序到单片机开始。对于单片机的程序写入是比较简单的,只要在网络上找到这种芯片的下载工具,然后连接线路,连接线路的特点是,单片机的txd和写入线路的rxd相连,反之单片机的rxd和写入线路的txd相连。接地线,电源线可以控制,这四点做好即可。所用可以使用usb线路,也可以使用其他线路,对于本设计由于是用txd和txd输出的,可以直接使用这两个接口就可以操作。在实际中也可以直接引出两个引脚来下载程序。在准备下载之前不需要通电,需要下载机提示给单片机供电才供电。程序下载完毕即可以进行实验,可用直尺或者其他可以看得见的工具和试验品测试的距离进行比较,查看误差,并且进行修改。对于电路的测试,主要是查看是否通电,所有硬件运行是否正常,不正常的换掉,在实验初期其实很难遇到这样的问题,只要电路图没有问题,零件质量比较可靠,比较容易一次完成。下载程序到芯片如图6-3所示。图6-3 下载程序到芯片本设计的超声波测距仪,通过串口发送到电脑上的数据显示如6-4,6-5图所示。图中从发送数据区发送了命令“f”,数据接受区接收到数据,由于在拍摄过程中的抖动,所以数据有一点误差。其中53,57,4f,4b,分别是s,w,o,k。在第一张图中十六进制00 ee距离数据对应的是十进制的238。十六进制的1c对应十进制的28。在第二张图中十六进制的00 df对应十进制的223。十六进制的1b对应十进制的27。数据发送是正确的。图6-4 超声波测距仪发送到电脑上的数据图6-5 超声波测距仪发送到电脑上的数据6.3 最终电路实物图最终电路图如图6-6,6-7所示。图6-6 最终电路实物图(一)图6-7 最终电路实物图(二)6.4 性能和误差分析对于本设计超声波的测距,起初对超声波的性能不太了解,把理想测量距离设的太高,最后导致的结果是无法实现。无法实现的原因有,首先在本设计中很少使用到电容,导致能量供给不足,电容在实践操作中有是难点,和花钱的地方。其次是硬件的排列,比如超声波模块很难固定,固定了往往是歪的,导致测量距离误差。还有就是超声波探头,超声波探头有一层金属网膜,这层金属网膜距离大约有五毫米,但是真正发送信号的部分是在圆形的中间部分,这个距离无法控制,并且具体的发送部分到超声波探头前端距离不知道多少,虽然很少,但是会导致错误。6.5 小结本章从软件和硬件两个方面说明了对本设计的调试过程,软件主要是修改程序,通过protues模拟程序是否正确。硬件部分主要是把写好的程序写入单片机进行验证。另外介绍除软件和硬件之外的误差情况,结束语曾经看过二八法则。里边有这么一个道理,在你学习的知识里边20%的才是会用到的,另外的80%一辈子都可能用不到。这个毕业设计让我从新认识了这一点,你在解决一个问题的时候需要大量的资料,看很多文章,但是其中大部分都是无关紧要的。但是无法逃避这种无关紧要。因为你不知道,你这个100%中那个些是构成20%的东西。我所希望的论文也从这点出发,所以用了大量的章节来说到一些东西,他们都是必要的,同时对于像我这样不了解的人来说,这些又完全没有必要。论文的结构就是 对理论清楚,然后对做的过程进行简单的介绍,通过图更直观。对于做硬件,在做的过程中,不确定性很多,而且遇到的也不知道在什么情况下,但是这种不确定行不是阻碍前进的原因,做起来远比想象中的容易一些。致 谢由于个人技术和爱好等原因,本设计做了很久才做出来。在大四下学期的时间里非常感谢胡华老师和严青老师对我设计的指导。在这半年里,胡老师和严青老师严格的要求,认真,严谨的治学态度给我留下了深刻的印象。从开始我对硬件方便的一窍不通,到如今能做出物品出来。在从论文的选题,资料的查询,做出东西来,最后到论文的结稿都是在老师的帮助下进行的。在此,我对两位老师表示我深深的感谢。同时,我还要感谢老师介绍的师兄们,以及和我一起做毕业设计的同学们。他们不厌其烦的回答我不明白的地方,和我讨论我们需要怎么去做。用他们宝贵的时间解决我的问题。没有他们的帮助我的毕业设计会面对很大的困难。参考文献1 陈海宴.51单片机原理及应用-基于keil c与proteusm.北京:北京航空航天大学出版社,2010.25302 老虎工作室.电路设计与制板protel 99se入门与提高m.人民邮电出版社铁力市劳动局铁力市经济贸易委员会合署办公机构t8 p8,2007.1621633 卢艳军.单片机基本原理及应用系统m.北京:机械工业出版社,2005.7124 张鑫.单片机原理及应用m.北京:电子工业出版社,2002.17325 杨文显.现代微型计算机与接口m.北京:清华大学出版社,2002.2022096 孟武胜,李亮.基于at89c52单片机的步进电机控制系统设计j.西北工业大学学报,2007,16:16237 何立民.单片机应用技术选编m.北京:北京航空航天大学出版社,2003.22638 李光飞,胡佳文.单片机课程设计实例指导m.北京:北京航空航天大学出版社,2002.7129 赵广林.protel 99 se电路设计与制版m.北京:电子工业出版社,2003.203010 元增民,张文希.单片机原理与应用基础m.长沙:国防科技大学出版,2005.445611 黎小桃,刘祖明.实例解析protel99se电路原理图与pcb设计m.机械工业出版社,2011.156159附录一ds18b20程序:/延迟程序void delay_ds18b20(unsigned int t)/ 延迟 while(t-); /以下是初始化程序bit init_ds18b20(void) bit x=0; dq = 1; /拉高电平 delay_ds18b20(8); dq = 0; /降级电平 delay_ds18b20(100); dq = 1; /拉高电平 delay_ds18b20(10); x=dq; /如果x=0则初始化成功 x=1则初始化失败 delay_ds18b20(20); return x;void ds18b20init()bit temp = 1; /如果x=0则初始化成功 x=1则初始化失败temp = init_ds18b20();while(temp = 1)temp = init_ds18b20();if(temp = 0) break;/写一个字节,void writeonechar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) dq = 0;/ 给脉冲信号 dq = dat&0 x01;/ 数据写入 delay_ds18b20(5); dq = 1; / 给脉冲信号 dat=1; /读一个字节unsigned char readonechar(void) unsigned char i=0; unsigned char dat = 0; for (i=8;i0;i-) dq = 0; / 给脉冲信号 dat=1; dq = 1; / 给脉冲信号 if(dq) dat|=0 x80;/ 数据读入 delay_ds18b20(4); return(dat);/再次读数据,这次读出的是需要的数据void temperatuerresult(void) unsigned char i,temp_buff2,crc_data=0; while(init_ds18b20(); writeonechar(0 xcc); /程序说明里已经说过,不在多说。 writeonechar(0 x44); delay_ds18b20(50000); while(init_ds18b20(); writeonechar(0 xcc); writeonechar(0 xbe); for(i=0;i2;i+) temp_buffi = readonechar(); tpmsb=temp_buff1; /读入温度数据高字节 tplsb=temp_buff0; /读入温度数据低字节 /温度需要处理void readds18b20(void) unsigned char zhengshu,xiaoshu;unsigned int xiaoshutemp; temperatuerresult();/复位温度传感器 xiaoshu = tplsb&0 x0f;/把得到的温度数据进行下列处理 tpmsb = tpmsb4; xiaoshutemp = xiaoshu *62

温馨提示

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

评论

0/150

提交评论