1、1“温湿度传感器”作品简介作品名称:基于 51 单片机的温湿度检测电路 2目 录1、 作品名称(3)2、 作品简介及其功能(3)3、 电路设计思路及其硬件的选择(3)4、 电路的设计与成型(3)4.1 供电部分(3)4.2 微控制器部分(4)4.3 测温部分(4)4.4 测湿部分3(5)4.5 报警部分(5)4.6 键盘部分(5)4.7 显示部分(6)4.8 整体电路及其 PCB板(6)5、电路软件的设计(7)5.1 温度部分(7)5.2 湿度部分(8)5.3 液晶显示部4分(9)5.4 主程序(10)6、所思所感(11)7、参考文献(11)1、作品名称:基于单片机的温湿度检测电路2、作品简介
2、及其功能:随着工业自动化的愈趋完善,各种各样的传感器被用在了各式各样的场合。而温度和湿度这两个重要的参数成为了实现过程控制自动化必不可少的过程。换言之,问题具体化为了选择怎样的传感器及如何去检测温湿度的变化,并根据检测结果调整系统以使之保持在最佳工作状态。本电路即是用来检测环境温度及湿度的情况并实时显示及作出处理的。虽然原理很简单却可靠实用。下面将给出详细描述。 3、电路设计思路及其硬件的选择先说测温部分。考虑到测温方案有很多种,包括电阻式测温、热电偶测温等等。而由于外界诸多因素的变化,由分立元件所搭建的电路会受到各种各样的干扰而导致测5量结果的偏差,比如电阻会因温度升高而阻值降低,三极管在发
3、热状态下基极电流会升高等等。这会带来测量误差,从而导致一系列负面响应。考虑到这些问题,方案最终被定在了集成温度测量传感器 DS18B20 上。DS18B20 是美国 DALLAS 公司生产的集成温度传感器。它将测温、处理及输入输出等模拟+数字电路集成在一块形似三极管的三端芯片上,体积小巧、功能强大,且数据的输入输出只需要一跟端口线,并且可在一根总线上并联多个芯片以实现多点测温。用之与单片机结合简直是温度检测的不二选择。再说湿度检测部分。湿度检测部分也有许多方案可供选择,同样也有集成湿度检测元件。但考虑到其价格及普遍使用程度,最后放弃了集成元件的方案,改用分立式的电容测湿电路。本电路在工业上使用
4、普遍且方案成熟,不失为可行方法之一。控制器方面,自然是使用 STC89C52 了,实惠够用。辅助部分有键盘部分和显示部分,会在后面有详细的介绍。4、电路的设计与成型:4.1 供电部分:电路图如图 4.1.1 所示。图 4.1.1 电源电路考虑到取电源的方便性,电路的电源部分采取了标准 9V 电源接口引入然后用LM7805 集成稳压芯片稳压输出稳定 5V 电压的方案。这种方案最大的好处是节省电源部分的体积,缺点则是无法透彻理解电源稳压的原理及实现方法。4.2 微控制器部分:微控制器电路图如图 4.2.1 所示:6图 4.2.1 微控制器电路微控制器为通用的 51 单片机系统,简单明了。4.3 测
5、温部分:温度检测电路如图 4.3.1 所示。 如图所示,集成温度传感器的数据接口 直接与单片机的 P2.5 口相连,且需要加一个10K 的上拉电阻。图 4.3.1 测温电路4.4 测湿部分:测湿电路图如图 4.4.1 所示。由于测湿传感器是采用的电容式测湿传感器,故对湿度的测量转变为了对变化电容的容值检测。检测容值的有效方案首选由 555 芯片组成的多谐振荡器,如右图所示。如图,当电路通电时,电容 HS0001被充电。当触发端 2 脚的电压上升到 2*VCC5/3 图 4.4.1 测湿电路时,输出端 3 变为低电平,同时电容通过 7 脚放电,2 脚电平下降;当 2 脚电平下降到VCC5/3 时
6、,输出端 3 脚转变为高电平。电容 HS0001 放电所需时间为:Td=RH4*CHS0001*2当放电结束时,VCC5 将通过 RH3、RH4 向电容 HS0001 充电。2 脚电压由 VCC5/3上升到 2*VCC5/3 所需的时间为:Tu=(RH4+RH3)*CHS0001* 2当 3 脚上升到 2*VCC5/3 时,电路又翻转为低电平。如此周而复始,就在电路的输出端 3 脚得到一个周期性的矩形波,通过单片机的外部中断口可以检测这个矩形波并得到其频率,频率的计算公式如下:f=1/(Td+Tu)=1/(2*RH4+RH3)* CHS0001*27进而得到电容值的计算公式:CHS0001=1
7、/(2*RH4+RH3)*f*2这样就能得到测湿电容 CHS0001 的电容值并与湿度一一对应起来了。4.5 报警部分:报警部分如图 4.5.1 所示。当温度或者湿度超过设定值时,单片机会控制蜂鸣器发声报警。电路中的三极管 9012 当做开关管使用,给低电平就导通。 图 图 4.5.1 报警电路4.6 键盘部分:键盘部分如图 4.6.1 所示。由于整体电路不需要很多按键,所以用不到矩阵键盘的方案。单片机只需要检测哪个按键有了低电平,即可确定哪个按键被按下了。图图 4.6.1 按键电路4.7 显示部分:显示部分如图 4.7.1 所示。本电路采用了 1602 液晶显示,接口简单,控制方便。由于本电
8、路占用单片机的 I/O 口并不多,所以采用了并行接口方式。图 4.7.1 液晶显示电路4.8 整体电路及其 PCB 板:8整体电路如图 4.8.1 所示:图 4.8.1 整体电路PCB 图如图 4.8.2 所示:9图 4.8.2 PCB 印制板图5、电路软件的设计:5.1 温度部分:用单片机控制 DS18B20 非常方便。先对之进行初始化,之后就能从其中读出数据了。以下是程序。/初始化程序段void init_18B20(void)reset_18B20();/总线复位wbyte_18B20(0xcc);/忽略检查 ROM 匹配操作 wbyte_18B20(0x4e);/设置写模式(写暂存器)
9、/*wbyte_18B20(0x21);/设置温度上限为 33【设置则精度只能是 0.5】wbyte_18B20(0x1c);/设置最低温度为 28*/wbyte_18B20(0x1f);/写温度计配置寄存器/数据提取程序段10uint getdat_18B20()float c;uint temp;uchar h,l;conv_18B20();reset_18B20();delay_18B20(1);/稍作延时wbyte_18B20(0xcc);wbyte_18B20(0xbe);/发送读取温度数据的命令l=rbyte_18B20();/读取低 8 位h=rbyte_18B20();/读取高
10、 8 位flag_18B20=hif(flag_18B20) /最高位为 1,温度为负temp=h;temp=temp#include#include13void main()init_1602();init_18B20();init_freq();while(1);6、所思所感:说实话,其实以前已经分别做过了温度和湿度的检测电路,这次只不过把它们俩整合起来而已,可以说是驾轻就熟,较为顺利。通过这次制作,我强化了 PCB 板的布局、压缩等多方面的技巧,收获不小。可以说这次在传感器应用方面的收获没有在制板方面的收获主要,这也可算是不错了。我明白了一个道理,只要用心,即使是最平凡的事上也能得到收获的,而且千万不要小看每一件简单的事物,即使最细微的细节也能导致一个系统的崩盘。防微杜渐才是主要的,亡羊补牢之侥幸心理要不得。7、参考文献【1】 张毅刚.新编 MCS-51 单片机应用设计.哈尔滨工业大学出版社;【2】 郭天祥.51 单片机 C 语言教程 .电子工业出版社