基于单片机的精度高成本低的测温方案介绍
用传统的水银或酒精温度计来测量温度,不仅测量时间长、读数不方便、而且功能单一,已经不能满足人们在数字化时代的要求。本文提出了一种新型的数字式温度测量电路的设计方案。杭州晶华微电子有限公司最新研制了一款高精度数字温度传感器芯片SD5075,兼容ADT75/LM75A/TMP75,且价格更低,精度更高,可替代性好,本文将重点介绍。
系统组成:
整个系统由数字温度传感器、单片机、显示、按键和电源这几个部分组成。电路设计见下图:
电路图
SD5075可设置迟滞阈值寄存器和过温阈值寄存器。如果实际测试环境温度高于设置的过温阈值寄存器则通过开漏引脚ALARM输出报警信号。实际环境温度低于迟滞阈值寄存器则解除报警信号。Alarm输出有2种可选的工作模式:Alarm比较器模式和Alarm中断模式。Alarm输出可选择高电平或低电平有效。详细的操作流程可参考SDIC官方网站的SD5075单总线数字温度传感器规格书。
SD5075介绍:
SD5075是一款高准确度温度传感器芯片,内含高精度测温ADC,在-40℃~ +100℃范围内典型误差小于±0.5℃,在-55℃~ +125℃范围内典型误差小于±1.0℃。通过两线I2C/SMBus接口可以很方便与其他设备建立通信。设置A2 ~ A0的地址线,可支持8片芯片并联总线连接。
本芯片可选3种工作模式:连续测温模式,单次测温模式,关断模式。可根据速度或功耗的需求灵活选择和配置。
SD5075特点:
1、12位数字温度读数,分辨率为0.0625℃。
2、在-40℃~+100℃范围内最大误差±0.8℃,在-55℃~+125℃范围内最大误差±1.5℃。
3、2线通信接口,跟I2C/SMBUS协议兼容。
4、提供过温报警功能,可设置过温阈值及迟滞恢复阈值。
5、可选连续测温模式或单次测温模式。
6、低功耗:连续测温时典型工作电流只有170uA,关断模式工作电流小于1uA.
7、工作电压范围:2.7V~5.5V.
8、管脚兼容ADT75/LM75A/TMP75.
SD5075管脚描述:
图SD5075管脚图
SDA:两线通信数据线
SCL:两线通信时钟线
ALARM:作温度报警或者SMBus Alert用
GND:地
A2-A0:地址选择信号
VDD:电源
单片机
采用的单片机型号为SD8102,也是杭州晶华微电子研制的。具有16k Bytes OTP空间,256 Bytes SRAM,19个可编程I/O口,3个16位的定时/计数器,内置2M的RC振荡器。该单片机也可以采用普通的51单片机或PIC单片机替代。
显示、按键和电源
采用5位数码管显示,保留1位小数,输出方式采用动态扫描形式,选择单片机的5个I/O口作为数码管的位线和8个I/O口作为数码管的段线;
通过S0按键来切换摄氏度和华氏度显示。
采用外接电源方式供电(5~12V不需加限流电阻,大于12V时加个470R/3W的限流电阻),通过HT7533降压为3.3 V给系统各模块供电。
软件设计
单片机程序流程参考下图:
程序流程图
结语:
此测温方案选用的SD5075测温芯片具有功耗低,测温精度高和价格便宜等优点,非常适用于普通测温场合。同时还兼容ADT75/LM75A/TMP75等测温芯片。
单片机测温方案SD810 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)