基于单片机的仓库数据采集系统设计
2011-03-26易燕李海雁戴祖诚
易燕,李海雁,戴祖诚
(1.昆明学院物理科学与技术系,云南昆明650214;2.昆明学院信息技术学院,云南昆明650214)
现代生产中,人们发现要长时间保存商品就要为其创造合适的存储环境;对仓库温湿度的检测和控制是其中最为重要的一环。传统的方法是通过人工干预,使用湿度表、毛发湿度表、双金属式测量计和湿度试纸等检测设备,对温度和湿度不符合要求的库房进行通风、去湿和降温等操作[1]。但这种人工方法费时费力、效率低,且测试出的温度及湿度误差大,测量的精确度随机性大。为此,笔者设计了一种经济、准确并且可靠的智能仓库数据采集控制系统。
系统要求温度检测范围为-35~+58℃、测量精度为0.5℃,湿度检测范围为10%~100%RH,检测精度为1%RH;并可以对仓库的温度和湿度进行实时的显示,当仓库温度和湿度超过预设的警戒值时,会发出报警并通知上位机系统以便进行温湿度的调节控制。
1 系统总体设计
1.1 温度传感器选型
DALLAS公司的DS18B20是采用1-Wire总线技术的温度传感器产品,具有以下的优点[2]:
1)采用单总线的接口方式与微处理器连接时仅需要一条数据线即可实现微处理器与DS18B20的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点。
2)测量温度范围宽,测量精度高。测量范围为-55~+125℃,精度为±0.5℃。
3)支持多点组网功能。多个DS18B20可以并联在唯一的单线上,实现多点测温。
4)供电方式灵活。DS18B20可以通过内部寄生电路从数据线上获取电源。当数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更趋简单,可靠性更高。
5)掉电保护功能。DS18B20内部含有EEPROM,在系统掉电以后,它仍可保存分辨率及报警温度的设定值。
DS18B20具有体积更小、适用电压更宽、更经济、可选更小的封装方式,更宽的电压适用范围,适合于构建经济的测温系统。DS18B20完全可以满足系统需求,并且价格便宜,搭建系统容易,可靠性好,由此选择其作为系统的温度传感器。
1.2 湿度传感器选型
空气湿度测量的原理一般是根据当某种物质吸收周围空气中的水分后,发生了物理或化学性质的变化,从而可以间接地获得此物质吸收的水分含量,这样根据物质原来和现在的质量,经过计算就可以得出周围空气的相对湿度;使用电容式、电阻式和湿涨式湿敏元器件测量周围空气湿度,则是分别通过其中含有的高分子材料,在吸收周围空气水分后,电阻率、介电常数以及体积发生变化的情况进行计算得出的。
HS1100/HS1101湿度电容式传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大[3]。不需校准的完全互换性,快速响应时间,高可靠性和长期稳定性,专利设计的固态聚合物结构;有顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适宜于制造流水线上的自动插件和自动装配过程等,适用于线性电压输出和频率输出两种电路[4]。HS1100/1101元件可以测量的相对湿度在1%~100%RH范围内;其电容量的测量范围为16~200 pF,误差小于等于±2%RH;对湿度的变化响应时间小于5 s;对电容的温度系数为0.04 pF/℃[5]。图1是HS1100/HS1101典型的电容值与空气湿度对应曲线。由此,可知HS1100/HS1101的空气湿度灵敏度很高,符合本系统的应用。
图1 HS1100/HS1101典型反应曲线Fig.1 Typical response curve of HS1100/HS1101
1.3 系统方案设计
系统主要完成的功能是对仓库中各个节点的温度和湿度数据进行采集,对数据的实时性、精确性以及可靠性都有很高的要求。所以设计的系统必须具有高度的灵敏性,可以对周围环境的细微变化有较快的反应,而还要有较强的鲁棒性,可以在故障中较快地恢复工作。为此,笔者设计了如图2所示的方案。
图2 系统总体设计方案Fig.2 Entire design scheme of system
如图2所示,系统采用以单片机AT89C52为核心控制;多个DS18B20芯片布置于仓库各个角落作为温度数据采集节点,并通过单根数据线连接至AT89C52;在每个温度检测节点周围布置一种HS1100/1101湿度检测节点,并通过TLC555振荡电路连接至单片机进行数据的处理,空气湿度通过555测量电路就转变为与之呈反比的频率信号。表1给出了其中的一组典型测试值。
表1 空气湿度与电压频率的典型值Tab.1 Typical values of air humidity and voltage frequency
在系统采集温度和湿度数据的同时,单片机控制仓库LED显示屏上的温度和湿度值显示,实时刷新数据;当温度和湿度超出预设的报警范围时,单片机控制启动报警电路;一般情况下,系统通过单片机实时地向上位机系统输出仓库温湿度数据;根据温湿度数据,上位机控制其他相关系统完成相应的工作。
2 系统软件设计
2.1 DS18B20软件设计
由于DS18B20与单片机之间采用1-Wire总线数据传送,为了保证数据可靠地传输,任意时刻1-Wire总线上只能有一个控制信号或数据。进行数据通信时应符合1-Wire总线协议,否则将无法读取测量结果[6]。其读写时序主要有初始化、读时间片和写时间片3种时序操作。访问DS18B20的操作顺序应该遵循以下3步:1)初始化;2)ROM命令;3)DS18B20命令。其关键程序如下:
2.2 HS1100/1101软件设计
使用HS1100/1101连接TLC555测量空气湿度,只需要知道此刻的TLC555的振荡频率查表即可。编程中要注意,各个湿度值与频率值的对应关系不是连续的,即当频率值落在某个范围内时,取频率值的下限。其关键程序如下:
2.3 系统软件总体流程设计
系统中主要有5个功能模块:1)温度数据采集;2)湿度数据采集;3)LED显示;4)报警系统;5)上位机数据传输。在系统的主体流程中,温度和湿度数据应该首先被采集,而后要据此判断是否需要进行报警,接着进行LED显示和上位机的数据传输。软件流程如图3所示。
图3 系统软件流程图Fig.3 Flow chart of system software
3 结论
笔者设计了一种基于AT89C52单片机的仓库数据采集系统,可以动态地检测仓库中各个测试点的温度和湿度变化,及时地进行报警,并向上位机传输实时数据。经过实践证明,系统的各项性能指标均符合要求,且所采集数据的精度高、系统稳定性好,具有很好的实用价值。
[1]郑海英,于铁利,郑宏伟.单片机在温度控制系统中的应用[J].辽宁工学院学报,2005,25(6):362-364.
ZHENG Hai-ying,YU Tie-li,ZHENG Hong-wei.Application of single-chip microcomputer in temperature control system[J].Journal of Liaoning Insititute of Technology,2005,25(6):362-364.
[2]李志全.智能仪表设计原理及其应用[M].北京:国防工业出版社,1998.
[3]张琳娜.传感检测技术及应用[M].北京:中国计量出版社,1999.
[4]潘其光,黄国华,王有章,等.常用测温仪表技术问答[M].北京:国防工业出版社,1989.
[5]Humirel.HS1100/HS1101 data sheet[EB10L](2002-06-07)[2011-05-10]http://www.datasheetcatalog.ovg/datasheet/humirel/HS1100.pdf.
[6]胡汉才.单片机原理及接口技术[M].北京:清华大学出版社,1996:134-138.