全数字温湿度仪的设计与实现全数字温湿度仪的设计与实现
本文从实际应用出发,较全面地介绍了全数字温湿度仪的设计与实现。方案采用AT89S52单片机作为
MCU,DS18B20作为数字温度传感器,奥松DHT11为数字湿度传感器,1602液晶模块为显示部件,结合相关电
路组成温湿度计的硬件部分,嵌入式编程采用C51语言。
本文不仅包括器件选型方面的硬件知识,同时给出了传感器驱动等典型程序段。实践证明,本温湿度仪具有测量数据准确、显
示直观、反应快、量程大、误差小、免标定、报警温度可设定等优点,稳定可靠,值得推广。
0 引言
温湿度仪是日常生活、工矿企业、养殖等场所经常使用的测量温度、湿度的仪表,老式温湿度仪存在反应慢、精度低、量程
小、标定繁琐等缺点。近年来,随着数字传感器发展与普及,温湿度仪也在朝着数字化、免标定、方便设置报警、实时监控等
方向发展。尤其以DS18B20、DHT11为代表的数字传感器,属于集成传感器,可靠性很高,因此,采用微控制器结合数字传
感器,设计全数字的温湿度仪,具有普遍的实际意义和社会价值。
1.功能结构描述
本温湿度仪以MCU为核心,利用最新数字化温湿度传感器作为测量器件,LCM为显示部件,蜂鸣器为提示音和报警声输出,
由于本仪表还具有其他功能,所以设置了三个按键作为输入部分,以完成多个显示界面切换及进行相关设置的功能。功能结构
示意图如图1所示:
2.硬件选型
2.1 温度传感器选型
以热电偶、热敏电阻等为主,输出电压、电流或频率等模拟物理量的模拟传感器,在需要数字信号的场合应用不够方便。近几
年涌现出一些数字温度传感器,如ADT7301、TMP205等,但经过综合比较,这里采用了美国Dallas公司出品的DS18B20[1],
优势是反映快、精度高(可编程9-12位,最高0.0625℃)、体积小、误差小(<±0.5℃)、测温范围大(-55~125℃)、接口
简单,尤其值得称道的是其“单总线”数据传输方式,与单片机交换信息仅需要一根I/O线。而且,可同一总线挂接多个传感器,
每一个都有自己唯一的64位序列号。实际应用中,采用了DS18B20的外部电源供电方式。
2.2 湿度传感器选型
近年来市面上典型数字湿度传感器有瑞士SHT11等型号,精度高范围大,但价格较高,这里最终选用奥松DHT11[2],该传感器
由一个电阻式感湿元件、NTC测温元件和8位单片机组成,相比前者有较大价格优势,精度5%RH,误差<2%RH,湿度范围
20~95%RH.而且,该传感器也是单线制串行接口,编程上与18B20有一定相似之处。该传感器缺点是不如电容型精度高。由
于该传感器温度测量的性能指标不及DS18B20,所以只用了其湿度测量功能。
2.3 MCU选型
鉴于温湿度测量实时性要求不高,数字化温度、湿度传感器及液晶显示模块对M C U速度要求也不算高,以上器件加上键盘、
蜂鸣器等硬件资源占用的引脚数也不多,所以采用经典的51系列单片机是很好的选择。尤其美国Atmel公司生产的AT89S5x系
列单片机[3],质优价廉,完全满足上述要求,而且具有ISP下载功能,可实现在对板载芯片进行程序升级,十分方便。最终C51
程序经编译生成的HEX文件为15k大小,可下载到AT89S52芯片。
2.4 显示部件选型
为了提升仪表外观档次,没有使用传统数码管,而是采用了应用较广的字符点阵型液晶显示模组LCM1602,其具有微功耗、体
积小、编程显示灵活等特点。由于各厂家1602液晶大都基于HD44780液晶芯片的,故控制原理相同,方便替换。该液晶型号
国内外生产厂家不少,如长沙太阳人、深圳金马等,价格约十元。应用时通过模拟口线方式将LCM1602与MCU连接。
2.5 电源选型
本系统MCU、传感器等都可使用+5V供电,故需配置直流电源。这里采用两种供电方案(开关切换),一是外置220VAC转
5VDC的线性电源或开关电源,PCB板上只留一个DC-002电源插座,二是采用两节碱性电池结合Boost电路为系统提供电源。
在采用后一方案时,有MAX1674、TPS60110、SP6641A等多种芯片选择,但从经济性和方便采购等方面考虑,最终选择上
海贝岭公司的开关型DC/DC升压稳压芯片BL8530[4].该芯片仅0.8V的启动电压、高电流的负载驱动能力,极低的静态功耗