《粮库温度测量显示系统课程设计.doc》由会员分享,可在线阅读,更多相关《粮库温度测量显示系统课程设计.doc(18页珍藏版)》请在三一办公上搜索。
1、专业方向课程设计课题:多点粮库温度测量显示系统 班 级 学生姓名 学号 指导教师 1.系统方案设计1.1 概述粮食是人类赖以生存的基本物质,是关系国民生计的重要物资,也是军需民食的特殊商品。中国有句老话:“常将有日思无日,莫待无时想有时”,居安思危,未雨绸缪,永远不会过时。随着粮食流通体制改革的不断深化、粮食市场全面放开已成定局,随着人民生活水平的提高,全社会对粮食质量问题提出了新的要求;加入世界贸易组织后粮食贸易的全球化,客观上也要求粮食质量工作与国际接轨。面对新形势,如何加强储粮工作,发挥粮食部门在粮食储存方面的优势,是摆在粮食储备工作面前的一个重要课题。目前我国地方各大型粮库都存在着不同
2、程度的粮食储存变质的问题。大部分粮库还采取人工测量温度的方法,不仅增大了粮库工作人员的工作量,而且工作效率底,尤其是大型粮库的温度测量不能及时而彻底的完成,导致大面积坏粮的情况时有发生。据统计,我国每年因粮食储存不当而发霉变质的粮食就达上亿斤,造成无法估量的的经济损失。粮食的温度是影响粮食储藏的重要参数,两者之间是相互关联的,粮食在正常储藏条件下(即安全条件下),含水量一般在12以下,不会使粮食温度发生突变,一旦粮食受潮含水量增加,超过20以上时,就满足了粮粒发芽的条件,新陈代谢加快而产生呼吸热,使局部粮温升高,必然引起粮食发热和霉变,且极易产生连锁反应,从而造成难以挽回的损失因此,粮食温度监
3、控技术在农业上的应用是十分重要的。随着科学技术的不断进步与发展,温度传感器的种类日益繁多,数字温度传感器更因适用于各种微处理器接口组成的自动温度控制系统具有可以克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端等优点,被广泛应用于工业控制、电子测温计、医疗仪器等各种温度控制系统中。其中,比较有代表性的数字温度传感器有DS18B20、MAX6575、DS1722、MAX6635等。相比较而言,传统的温度检测以热敏电阻为温度敏感元件,热敏电阻成本低,但需要后续信号处理电路,而且热敏电阻的可靠性相对较差,测量温度的准确度低,检测系统的精度差。数字式温度传感器的种类也不少,并且在实际工
4、程设计中具有上述诸多优点。本设计是基于温度传感器的温度检测系统中的温度检测、电路控制、报警系统及显示部分的实现。以智能温度传感器应用技术和单片机应用技术为核心进行开发,并且以理论分析和该技术方案为基础,在不断地研究过程中进行不断的调整,完成了一个温度监测系统的设计。1.2 系统方案框图本系统采用单片机及外围电路完成。最重要的部分即测温电路将采用数字温度芯片测量温度,这样输出的信号为数字信号,可以直接由单片机来处理;按键输入电路用于进行调时和温度查询,以方便对系统各项参数的修改;时钟及复位电路将提供给单片机必不可少的时钟信号和复位信号以使单片机正常工作。报警电路用于当仓库温度超过额定范围时,及时
5、报警通知。显示电路则是显示仓库温度。系统的原理框图如图1所示。图1 系统原理框图2.工作原理2.1 检测原理电路设计原理图如图2所示,控制器使用单片机AT89S51,温度传感器使用DS18B20,用液晶实现温度显示。本温度计大体分三个工作过程。首先,由DS18B20温度传感器芯片测量当前的温度,并将结果送入单片机。然后,通过AT89S51单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块。最后,SMC1602A芯片将送来的值显示于显示屏上。由图2可看到,本电路主要由DSl8B20温度传感器芯片、SMCl602A液晶显示模块芯片和AT89S51单片机芯片组成。其中,DSI8
6、B20温度传感器芯片采用“一线制”与单片机相连,它独立地完成温度测量以及将温度测量结果送到单片机的工作。图2 硬件设计电路图2.2 温度传感器选择用于粮仓温湿度监控系统的温度传感器主要是Dallas的DS18B20系列温度传感器。DS18B20是美国DALLAS公司生产的单线数字温度传感器,它具有微型化、低功耗、高性能、抗干拢能力强、易配微处理器等优点,特别适合于构成多点温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS18B20都有唯一的产品号并可存入其ROM中,以便在构成温湿度测控系统时在单线上挂接任意多个DS18B20芯片。从DS18B20读出或写入DS18B20信息仅
7、需要一根口线,其读写及温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18B20供电,而无需额处电源。DS18B20能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统,因而使用DS18B20可使系统结构更趋简单.可靠性更高。温度传感器选用一总线温度传感器DS18B20。DS18B20是美国DALLAS半导体公司生产的可组网数字式温度传感器,与其它温度传感器相比,DS18B20具有以下特性:独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。DS18B20支持多点组网功能,多个DS1820可以并联在唯一的三线上,实
8、现组网多点测温。DS18B20在使用中不需要任何外围元件,全部传感器元件及转换电路集成在形如一只三极管的集成电路内。温度范围55125,固有测温分辨率0.5;测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC效验码,具有极强的抗干扰纠错能力;测量结果以9位数字量方式串行传送。DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:(1)系统的硬件虽然简单但需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取
9、测温结果。(2)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(3)连接DS18B20的总线电缆有长度限制。由于信号电缆本身存在电阻,距离过长时将导致信号衰减。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m。DS18B20有PR-35和SOIC两种封装形式,管脚排列如表1所示。本系统选用PR-35封装形
10、式。DS18B20返回温度值虽然只有9位,如图3所示。表1 DS1820管脚排列管脚管脚定义说明8脚SOIC 3脚PR-352 1GND地1 2I|O数据输入端8 3VCC电源3 4 5 6 7NC空脚图3 DS18B20温度值表示方法D9为符号位,0表示正,1表示负,高字节的其他位(D10D15)是以符号位的扩展位表示的;D0D8为数据位,以二进制补码表示。温度是以1/2LSB形式表示的。表2为数值和温度的关系。表2 DS18B20数值和温度的关系温度数据(二进制)数据(十六进制)+1250000 0000 1111 101000FAH+250000 0000 0011 00100032H+
11、0.50000 0000 0000 00010001H00000 0000 0000 00000000H+0.51111 1111 1111 1111FFFFH-251111 1111 1100 1110FFCEH-551111 1111 1001 0010FF92H因到粮仓内环境温度不能出现负温情况,因此本系统不考虑负温情况,这样,在硬件选取上可以考虑选用商业级器件,不必要选用工业级器件,可以大幅度降低成本。因此单片机读取温度信息后,只需将低字节(D0D8)送入上位机和控制电路即可。2.3 测量电路介绍2.3.1 显示电路显示电路采用SMCI602A液晶显示模块芯片该芯片可显示162个字符,
12、比以前的七段数码管LED显示器在显示字符的数量上要多得多。另外,由于SMCl602芯片编程比较简单,界面直观,因此更加易于使用者操作和观测。SMCl602A芯片的接口信号说明如表3所列。驱动电路包含在SMCI602A液晶显示模块芯片,所以不必外加驱动电路。其控制由单片机来完成,亮度调节是通过变阻器R2完成。表3 SMCl602A芯片的接口信号说明2.3.2 温度检测电路DS18B20 最大的特点是单总线数据传输方式,DS18B20 的数据I/O 均由同一条线来完成。DS18B20 的电源供电方式有2 种: 外部供电方式和寄生电源方式。工作于寄生电源方式时, VDD 和GND 均接地, 它在需要
13、远程温度探测和空间受限的场合特别有用, 原理是当1 Wire 总线的信号线DQ 为高电平时, 窃取信号能量给DS18B20 供电, 同时一部分能量给内部电容充电, 当DQ为低电平时释放能量为DS18B20 供电。但寄生电源方式需要强上拉电路, 软件控制变得复杂(特别是在完成温度转换和拷贝数据到E2PROM 时) , 同时芯片的性能也有所降低。因此, 在条件允许的场合, 尽量采用外供电方式。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻。在这里采用前者方式供电。DS18B20与芯片连接电路如图4所示。图4 DS18B20与单片机的连接外部电源供电方式是DS18B20最佳的工作方
14、式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。在开发中使用外部电源供电方式,比寄生电源方式只多接一根VCC引线。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC 降到3V 时,依然能够保证温度量精度。2.3.3 温度报警电路本设计采软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。当所测温度超过或者低于所预设的温度时,数据口相应拉高电平,报警输出。也可采用发光二级管报警电路,如果需要报警,则只需将相应位置1,当参数判断完毕后,再看报警模型单元ALARM 的内容是否与预设一样,如不一样,则发光报警。报警电路硬件
15、连接见图5。图5 蜂鸣器电路连接图3.系统软件设计3.1 软件设计方法整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软
16、件和各执行模块之间地调度关系。主程序需要调用4 个子程序,分别为液晶屏显示程序,温度测试及处理子程序,报警子程序,中断设定子程序。各模块程序功能如下:1)液晶屏显示程序:控制系统的显示部分。2)温度测试及处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。3)报警子程序:进行温度上下限判断及报警输出。4)中断设定程序:实现设定上下限报警功能。3.2 测试系统流程图3.2.1初始化流程初始化流程见图6。首先对AT89S51的寄存器初试化,并检测DS18B20是否存在,如果存在,开始检测温度,完成一系列的转化操作,做适当处理后,由显示电路显示,最后进入一个循环程序,不断检测温度是否超过设定范
17、围,一旦超过,做报警处理。在主机初始化过程,主机通过拉低单总线至少480us,来产生复位脉冲。接着,主机释放总线,并进入接收模式。当总线被释放后,上拉电阻将单总线拉高。在单总线器件检测到上升沿后,延时1560us,接着通过拉低总线60240us,以产生应答脉冲。其程序如下:图6 初始化流程图源程序: 其中TEM PD IN 定义为DS18B20 的数据管脚, 主机为AT89S51。N ITDS1820: SETBTEM PD NNO PNO PCLRTEM PD NMOV R6, # 0A 0H ; 延时640 LsDJN ZR6, MOV R6, # 0A 0HDJN ZR6, SETBTE
18、M PD N ; 释放总线MOV R6, # 32H ; 延时100 Ls, 等待回应DJN ZR6, MOV R6, # 3CHLOO P1820: MOV C, TEM PD N ; 采样总线信号JCN ITDS1820OU TDJN ZR6,LOO P1820MOV R6, # 064HDJN ZR6, SJM PN ITDS1820RETIN ITDS1820OU T: SETBTEM PD NRET3.2.2 读DS18B20流程读DS18B20流程见图7。首先设置循环次数为8次,通过总线延迟将8位数据读入单片机内。当从DS18B20 读数据时,主机生成读时间隙。当主机把数据从高电平
19、拉到低电平时,写时间隙开始,数据线必须保持至少1s;从DS18B20输出的数据在读时间隙的下降沿出现后15s 内有效。因此,主机在读时间隙开始后必须把I/O 脚驱动拉为的电平保持15s,以读取I/O 脚状态。在读时间隙的结尾,I/O 引脚将被外部上拉电阻拉到高电平。所有读时间隙必须最少60s,包括两个读周期至少1s的恢复时间。源程序: 假设要读1B 的数据, 且数据放在A 中。READDS1820:MOV R7, # 08H ; 1 个字节8 位SETBTEM PD INNO PNO PREADDS1820LOO P: CLRTEM PD INNO P SETBTEM PD IN ; 释放总线
20、MOV R6, # 05H ; 延时10 LsDJN ZR6, MOV C, TEM PD N ; 采样总线数据MOV R6, # 14H ; 延时40 LsDJN ZR6, RRCA ; 采样数据存入ASETBTEM PD IN ; 释放总线DJN ZR7, READDS1820LOO P ; 采样下一位MOV R6, # 14H ; 延时40 LsDJN ZR6, RET图7 读DS18B20流程图3.2.3 写18B20流程写18B20流程见图8。同样,先设置循环次数为8次,通过总线延迟将8位数据写入单片机内。图8 写DS18B20流程图当主机把数据从逻辑高电平拉到逻辑低电平的时候,写时
21、间隙开始。有两种写时间隙,写1 时间隙和写0 时间隙。所有写时间隙必须最少持续60s,包括两个写周期至少1s 的恢复时间。I/O线电平变低后,DS18B20 在一个15s 到60s 的窗口内对I/O 线采样。如果线上事高电平,就是写1,如果是低电平,就是写0。主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的15s 内允许数据线拉到高电平。主机要生成一个写0 时间隙,必须把数据线拉到低电平并保存60s。每个读时隙都由主机发起,至少拉低总线1us,在主机发起读时序之后,单总线器件才开始在总线上发送0 或1。所有读时序至少需要60us。源程序: 假设要写1 B 的数据, 且
22、数据放在A 中。SETBTEM PDNNOPNOPWRITEDS1820LOP: CLRTEM PD INMOV R6, # 08H ; 延时15 LsDJN ZR6, RRCA ; 将要写数据存入CMOV TEM PD IN , C ; 将数据写入总线MOV R6, # 14H ; 延时40 LsDJN ZR6, SETBTEM PD IN ; 释放总线DJN ZR7,WR ITEDS1820LO P ; 写8 位RET3.2.4 报警模块流程报警流程图如图9所示。首先将标志位全部清除,以避免之前程序的影响。取出温度,判断温度是否大于设定值,大于上限,置位上限报警标志,小于下限值同样操作。最
23、后执行报警程序。3.2.5 中断设定流程中断模块采用了外中断和内中断套用方法。当设计需要实现上下限报警时,利用INT0口进行中断,set 键进行上下限报警温度设定,进入温度设定状态后(按一下温度设定键),首先会提示显示“UP”字母,表示要用户设定高温报警温度,按S3 键 ,表示本位数字+1,按S4 表示移向下一位,如果4 位高温设定完毕,则显示“DO”,表示要用户设定低温报警温度。4位低温设定完毕,如果用户设置的高温比设定的低温高的话则显示“ERRO”表示错误提示,同时会有蜂鸣器及时报警提示,然后自动显示“UP”,让用户重新进行温度设定。中断设定子程序流程图见图10。图9 报警流程图图10 中
24、断设定子程序流程图4.系统安装与调试系统软硬件调试的目的是通过控制程序和硬件电路的配合工作,进行一些操作,以验证系统的软、硬件是否能够完成设计的功能。调试的过程是按照系统的设计功能来划分的。硬件电路系统测试首先是保证各个元件之间以及各个模块之间的连接正确并且接触良好,这是整个硬件电路系统正常工作的前提。接着分别测试各个硬件模块的性能。按照测试性质的不同可分为电压测试和信号测试两种。单片机输入输出接口主要是信号测试。根据理论计算和软件仿真的预期结果,再通过对响应的信号进行测试。测试结果与预期结果基本一致,保证了系统按照设计的思路正常运行。通过测试硬件电路系统中的几个测试点,确保关键的电压信号满足
25、要求,确保各个引脚连接正确,确保系统正常运行。系统的软件调试借助于PROTEL DXP99型仿真软件,在进行系统软件的连续调试之前要先进行软件的初调,就是要使各个子程序模块运行正确,程序的运行流程正确。(1) 原理图连线设计确定起始点和终止点,Protel99就会自动地在原理图上连线,从菜单上选择Place/Wir e后,按空格键切换连线方式,自动连线、任意角度、45连线、90连线,使得设计 者在设计时更加轻松自如。只要简单地定义AutoWire方式。自动连线可以从原理图的任 何一点进行,不一定要从管脚到管脚。(2) 检查原理图电性能可靠性检查原理图电性能可靠性主要是查看程序运行的步骤是否正确
26、,在某时刻程序运行所处的位置是否正确,是否能正确运行各个中断服务程序。打开LCD Controller.ddb 设计数据库,点取LCD Controller 文件夹下的LCD Cont roller.prj原理图设计窗口,Protel99可以帮助我们进行电气规则检查选择Tools下面 的ERC,在Rule Matrix种选择要进行电气检查的项目,设置好各项后,在Setup Ele ctrical Rlues Check对话框上选择OK即可运行电气规则检查,检查结果将被显示到 界面上。 5.课程设计体会与总结本设计利用AT89S51 芯片控制温度传感器DS18B20,再辅之以部分外围电路实现对环
27、境温度的测控,性能稳定,精度教高,而且扩展性能很强大。由于DS18B20 支持单总线协议,我们还可以将多个DS18B20 可以并联到3 根或2 根线上,CPU 只需一根端口线就能与诸多DS18B20 通信,占用较少的微处理器的端口就可以实现多点测温监控系统。由于DS18B20的测量精度只有0.5 度,往往很多场合需要更加精确的温度,在所测温度精度不变的基础上必须对数据进行校正。由于DS18B20 是基于带隙结构的数字式温度传感器,PN 结增量电压正比于IC 绝对温度(PTAT),它的测温精度较高,但存在着一定的误差.不过,其误差在时间和外部环境变化的条件下,保持相当高的稳定性。通过这次课程设计
28、我学到了很多,这阶段我查过很多资料,查阅到很多关于温度控制电路的知识。以前对课程设计只停留在理论的基础上,通过此次课程设计感受理论与实际的差别,看着很简单,但在实际操作的过程中会遇到很多的问题。首先,我们需要考虑如何去设计一个合理的方案,通过我们查询资料,请教老师,学会如何去独立思考问题。在这个过程中我锻炼了自学能力并培养了坚持的信念。非常感谢这次的课程设计,在此向我的指导教师致以深深的谢意,感谢老师的耐心指导。在课程设计的过程中也看到了我自身的不足,如原理知识掌握不实,曾经学过的知识如今却不会应用,希望日后学校能够为我们创造更多这样自己动手实践的课程,提供给我们更多的锻炼机会来培养实践能力,
29、对我们今后的发展,将产生很大的影响。附录:参考文献1、孙育才.单片微型计算机及其应用.东南大学出版社.20042、沈德金 陈粤初.单片机接口电路与应用程序实例.北京航天航空大学出版社.1990. 3、姜忠良 陈秀云.温度的测量与控制.清华大学出版社 2005. 4、赵继文 何玉彬.传感器与应用电路设计. 科学出版社 2001.5、吕 泉.现代传感器原理与应用. 清华大学出版社 2002.6、李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,19987、李广弟.单片机基础.北京:北京航空航天大学出版社,19948、阎石.数字电子技术基础(第三版). 北京:高等教育出版社,19899、王勇 叶敦范.基于AT89S51 的便携式实时温度检测仪J.选自仪表技术与传感器.200610、康光华.电子技术基础-数字部分(第五版).高等教育出版社,200511、陈生潭.信号与系统(第三版).西安电子科技大学出版社,200812、谢嘉奎.电子线路-非线性部分(第四版).高等教育出版社,199913、胡翔骏.电路分析(第二版).高等教育出版社,200614、杨路明.C语言程序设计教程.北京邮电大学出版社,200515、刘坤.51单片机C语言应用开发技术大全.人民邮电出版社,2008