室内温度监测模块设计 利用BD1020温度传感器做一个室内温度监测模块,能实时显示温度值,温度超过阈值时能进行声光提示,并可对报警功能进行开关控制。 首先介绍本次的主角:温度传感器BD1020HFV;之前参加的罗姆设计大赛中因为传感器数量的限制没有申请到这个传感器,这次有试用机会果断上手试用。 先开箱上图,传感器模块的正面及背面 BD1020HFV是一种低静态电流(4μA)高精度温度传感器;主要应用于:手机(射频模块,电池热管理),音频系统,数码相机,LCD, PDP,DVD和蓝光的光学检测模块;传感器有较宽的工作电压范围:2.4V ~ 5.5V;测量精度:±1.5°C Ta=30°C ;温度灵敏度:-8.2 mV/°C(典型值);较低的功耗,静态电流:4.0µA(3V时);传感器的尺寸非常小 这个传感器对温度有非常好的线性响应。 本次设计的系统结构如图所示
本设计中控制器选用了51单片机,单片机内置10位ADC;工作电压为3.3V,ADC参考电压为电源电压,也为3.3V。 3.3/1023=3.226mV 3.23/8.2=0.4 所以采用10位ADC进行温度转换,则温度的转换精度大概为0.4度左右;如果想进一步提高转换精度可以降低参考电压或者采用更高精度(分辨率)的ADC。 如果采用32位处理器,可以进一步提高转换精度,一般32位处理器都内置了12位的ADC,多以如果采用12位的ADC,若参考电压也为3.3V,则 3.3/4095=0.806mV 0.806/8.2=0.098(约为0.1)则温度的转换精度可达到0.1度。 软件设计中采用多次采样(5次)取平均值的方式进一步减小误差。 软件采用keilC51,开发界面如下图 测试结果如图所示 跟DHT11 和小米温湿度计的对比 通过比较,该传感器的测温还是比较准的,由于采用了10位ADC,所以温度变化最小约为0.4度,如果采用12位的ADC,温度变化可以为0.1度 下面上一个动图和视频, 设计中设定温度值超过25度进行声光报警。 视频见附件 |