4.5 4.6 4.7
温度采集电路 ............................................................................... 19 温度显示电路 ............................................................................... 20 实物功能实现图 ........................................................................... 20
5 软件设计 .................................................................................. 22
5.1 5.2
系统主程序设计 ........................................................................... 22 程序调试 ....................................................................................... 24
结 论 ................................................................................................ 25 参考文献 .......................................................................................... 26 致 谢 .......................................................................................... 27 附录1:系统程序 ........................................................................... 28 附录2:系统电路原理图 ............................................................... 44
天津职业技术师范大学2012届本科生毕业设计
1 引言
1.1 温度采集的发展现状
在科技时代,数据的重要性不言而喻。因为温度传感器被广泛应用于工农业,科学研究和生活等领域。近百年来,温度传感器的发展大致经历了:传统的含有敏感元件的分立式温度传感器,模拟集成温度传感器和智能温度传感器三个阶段。目前,国际上新型的温度传感器正从模拟式向数字化,由集成化向智能化,网络化方向发展。
1.2 温度采集系统的目的及意义
目前, 我国地方及垦区的各种大型粮库都还存在着程度不同的粮食储存变质问题。根据国家粮食保护法规, 必须定期抽样检查粮库各点的粮食温度, 以便及时采取相应的措施, 但大部分粮库目前还是采取人工测温的方法, 这不仅使粮库工作人员工作量增大, 且工作效率较低, 尤其是大型粮库的温度检测任务如不能及时彻底完成, 则有可能会造成粮食大面积变质。据有关资料统计, 我国每年因粮食变质而损失的粮食达100亿斤, 直接造成的经济损失是惊人的。近年来, 随着计算机应用技术的普及,使粮库温度的大面积和多点自动检测成为可能。各行各业对温度监测的要求都特别高。因此,温度的测量是非常重要的。
国内外工业生产与集成温度探测技术联系的越来越紧密,借助当今高精度的数字温度采集芯片的处理能力,实施对温度的实时监控,对降低生产安全因素,提高劳动效率,改善生产环境有很重要的积极作用。一般显示输出及超过界限的报警,需要单片机采集数据,然后驱动蜂鸣器报警。
1
天津职业技术师范大学2012届本科生毕业设计
2 系统原理
目前,我国各种大型粮库存在着不同程度的粮食变质问题,人工测温方法工作效率低。因此,借助数字温度采集芯片的处理能力,实施对温度的实时监控,对降低生产安全因素,提高劳动效率,改善生产环境有很重要的积极作用。
仓库的四路温度监测与报警系统以AT89S51为核心,本系统的采集对象是温度,因此系统设计应该包括:温度采集模块、数据存储模块、温度转化模块、温度显示模块、复位模块、供电系统等几个基本部分。前向通道包括电源、四路DS18B20传感器输入和按键复位电路。后向通道包括在线编程端口和LED显示电路。电源给整个系统提供4~5.5V的直流电流。温度传感器将分散于各数据点的温度数据转化为数字信号送入单片机内寄存器待处理。一个复位按键用来对整个系统进行跳出复位,防止程序进入死循环。LED数码管作为当前通道代码及该通道温度值的显示设备串口可以实现在线系统编程。系统设计框图如图2-1所示。
图 2-1 系统设计框图
2
天津职业技术师范大学2012届本科生毕业设计
3 系统方案论证及选择
3.1 传感器的选择
方案一:该方案由单片机、模拟温度传感器AD590、运算放大器、A/D转换器、LCD显示电路、集成功率放大器、报警器组成。该方案采用模拟温度传感器AD590作为测温元件,传感器测量的温度变化转换成电流的变化,再通过电路转换成电压的变化,使用运算放大器交给信号进行适当的放大,最后通过模数转换器将模拟信号转换成数据信号,传给单片机,单片机将温度值进行处理之后用LCD显示,当温度值超过设定值时开始报警。
方案二:该方案使用单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,采用多个温度传感器对多点温度进行检测,通过键盘模块对温度上限设置,超过其温度值就报警。
方案论证:方案一采用模拟温度传感器,转换结果需要经过运算放大器传给处理器。它控制虽然简单,但电路复杂,不容易实现对多点温度测量和监控。由于采用了多个分立元件和模数转换器,容易出现误差,因此本方案并不可取。方案二采用智能温度传感器DS18B20,它直接输入数字量,精度高,电路简单,只需要模拟DS18B20的读写时序,根据DS18B20的协议读取转换的温度。方案二中的传感器与传统传感器相比,单总线技术可以让单片机节省大量的I/O资源,而且外部与传感器的相连的电缆、端子、槽盒、桥架,连线设计与接头校对的工作量也大大减少,即节省了投资,也减少了设计、安装的工作量。同时,由于传感器直接输出的是数字信号,使系统省掉了放大、A/D转换等相关电路,系统的稳定性、可靠性有了大幅提高。利用此传感器可以轻松的设计出一种高效的、简练的、且易维护的测温系统。通过以上比较,选用方案二中的DS18B20传感器。
3.2 单片机的选择
方案一:AT89C51是ATMEL公司的C51单片机,它是在8051的基础上增强了一些特性,如时钟。更优秀的是由Flash存储器取代了原来的ROM,相对于8051,AT89C51的性能已经算是非常优越的了。AT89C51内有4K字节的Flash程序存储器,128字节的片内RAM,2个定时器或计数器,6个中断源,5个可用中断,2个中断级别。支持掉电模式和空闲模式,都是MSC8051指令集。但不能在线编程,这就限制了它的发展。
方案二:选择性能更加优良的AT89S51除了具有上述AT89C51的功能外,还有ISP功能、特殊功能寄存器和不同的极限工作频率。AT89S51不但多了ISP功能,还有一个很好用的内部看门狗,硬件看门狗WatchDog是一个自我保护装置。 它时刻监视系统的运行。 一旦系统运行不正常, 看门狗会复位系统。实际
3
天津职业技术师范大学2012届本科生毕业设计
上看门狗是一个计时器, 你要让这个计时器置零前给它一个信号,让它重新计时,这样起到一个监视系统运行的作用。 一般很多MCU带有这个电路,但是你可以不使用它,这样在上电的时候禁止它。 如果你要使用看门狗,那么你的系统就必须每隔一段时间给这个电路一个信号。如果不断地“喂”它,也就是不断地复位它,表示程序自己没有死机,过一段时间,它就会计数溢出,MCU就复位,以避免程序卡死后没人管。AT89C51最高可以使用的晶振频率是24MHz,AT89S51可以使用的最高晶振频率更高,达33MHz。新增加很多功能,性能有了较大提升,价格基本不变,甚至比AT89C51更低!
方案论证:通过以上比较,选用性能更高的AT89S51单片机。
3.3 DS18B20
DS18B20是智能温度传感器,它的输入、输出采用数字量,通过单总线接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度数值以串口形式发给主机,主机按照通讯协议用一个I/O口模拟DS18B20时序,发送初始化命令、ROM命令和功能命令给DS18B20,并读取温度值,在内部进行相应的数据处理,用字符型液晶显示模块显示各点的温度值。在系统启动之时,可以通过按键设置各点温度的上限值和下限值,当某点温度超过设置值时,报警器开始报警,从而实现了对各点温度实时监控。
每个DS18B20有自己的序列号,因此本系统可以在一根总线上接4个DS18B20,通过CRC校验,对各个DS18B20的ROM进行寻址,地址符合的DS18B20才作出响应,接收足迹命令,向主机发送转换的温度。采用这种DS18B20寻址技术,使系统硬件电路更加简单。
DS18B20虽然有测温简单的特点,但在实际应用中应该注意以下几点: 1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C语言等高级语言进行系统程序设计时,对DS18B20 操作部分最好采用C语言实现。
2) 在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20 超过8个时钟,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
3) 连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线
4