一、系统原理图
本系统是实现温度和湿度数据采集系统,通过下位机(A189S52)直接控制SHT11,将得到的温度湿度数据通过串口发送到上位机(PC机),用上位机实现温度湿度数据的保存,分析处理。系统的主要组成原理如下图所示。
(1)电源部分,外接电源为5-18V的直流电源,经过LM7805稳压后输出5V的电压供系统;(2)单片机和SHT11数据采集部分,两者采用IIC接口,由于AT89S51没有IIC接口,所以通过软件模拟实现IIC通信;(3)与上位机串口通信部分,该部分采用RS232通信模式,采用MAX232接口芯片;完整原理图如下图所示。
二、制作注意事项
电源部分:注意LM7805的极性,通过查看数据手册,或者用万用表实测,确保输入输出正确接入,避免烧坏LM7805或者其他器件。
通信时钟:保证和上位机通信的准确性和精度,推荐使用11.0592MHz的晶体振荡器。(使用12MHz的会有不可避免的误差存在)SHT11焊接:SHT11体积很小,焊接时一定要非常小心,用不超过350℃烙铁的焊接,每次接触 SHT11的时间不能超过3S,以免烧坏或影响 SHT11内部传感器精度。
SHT11在电路板位置:如果读者朋友选择制作整体PCB版,那么请在SHT11.和其他连线或者地之间留开一定的间隙,以减少PCB的热传导,这对提高环境温度湿度测量准确度的提升有好处。笔者实现本系统时,使用万能板做为平台,SHT11和AT89S52中间使用长4CM的导线连接作为隔热,也可以达到很好的效果。
SHT11上拉电阻的连接:如果不加上拉电阻或者阻值选用不当。将给应用带来麻烦。通常情况,建议在数据线DATA上加10k-20k的上拉电阻。具体情况由用户根据自己的单片机类型进行实际调整。
三、软件程序
本系统的硬件实现非常简单,而软件编程却相对复杂。
本系统软件分成两大部分,一是下位机AT89S52程序,二是上位机数据采集和分析界面。前者使用C语言编写。后者使用VB语言开发。下面给出部分与上述硬件电路配套的C51应用程序,和上位机控制界面图。