联系我们
电 话:0532-83812497
邮 箱:info@sd1718.com
DS1820及其高精度温度测量的实现
2014-11-13
在传统的模拟信号远距离温度测量系统中需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题才能够达到较高的测量精度。我们在为某水电站开发水轮发电机组轴瓦温度实时监测系统时为了克服上面提到的三个问题采用了新型数字温度传感器DS1820在对其测温原理进行详细分析的基础上提出了提高DS1820测量精度的方法,使DS1820的测量精度由0.5℃提高到0.1℃以上取得了良好的测温效果。
1 DS1820简介
DS1820是美国DALLAS半导体公司生产的可组网数字式温度传感器在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。与其它温度传感器相比DS1820具有以下特性:
(1)独特的单线接口方式DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯。
(2)DS1820支持多点组网功能多个DS1820可以并联在唯一的三线上实现多点测温。
(3)DS1820在使用中不需要任何外围元件。
(4)温范围-55℃~+125℃固有测温分辨率0.5℃。
(5)测量结果以9位数字量方式串行传送。
DS1820内部结构框图如图1所示。
DS1820测温原理如图2所示。图中低温度系数晶振的振荡频率受温度影响很小用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数当计数器1的预置值减到0时温度寄存器的值将加1 计数器1的预置将重新被装入计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数如此循环直到计数器2计数到0时停止温度寄存器值的累加此时温度寄存器中的数值即为所测温度。图2中的斜率累加器用于补偿和修正测温过程中的非线性其输出用于修正计数器1的预置值。
在正常测温情况下DS1820的测温分辩率为0.5℃以9位数据格式表示其中最低有效位(LSB)由比较器进行0.25℃比较当计数器1中的余值转化成温度后低于0.25℃时清除温度寄存器的最低位(LSB)当计数器1中的余值转化成温度后高于0.25℃置位温度寄存器的最低位(LSB)如-25.5℃对应的9位数据格式如下:
2 提高DS1820测温精度的途径
2.1 DS1820高精度测温的理论依据
DS1820正常使用时的测温分辨率为0.5℃这对于水轮发电机组轴瓦温度监测来讲略显不足在对DS1820测温原理详细分析的基础上我们采取直接读取DS1820内部暂存寄存器的方法将DS1820的测温分辨率提高到0.1℃~0.01℃.
DS1820内部暂存寄存器的分布如表1所示其中第7字节存放的是当温度寄存器停止增值时计数器1的计数剩余值第8字节存放的是每度所对应的计数值这样我们就可以通过下面的方法获得高分辨率的温度测量结果。首先用DS1820提供的读暂存寄存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,超声波测厚仪然后切去测量结果中的最低有效位(LSB)得到所测实际温度整数部分T整数,然后再用BEH指令读取计数器1的计数剩余值M剩余和每度计数值M每度考虑到DS1820测量温度的整数部分以0.25℃、0.75℃为进位界限的关系实际温度T实际可用下式计算得到:
T实际=(T整数-0.25℃)+(M每度-M剩余)/M每度
2.2 测量数据比较
表2为采用直接读取测温结果方法和采用计算方法得到的测温数据比较通过比较可以看出计算方法在DS1820测温中不仅是可行的也可以大大的提高DS1820的测温分辨率。
3 DS1820使用中注意事项
DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点但在实际应用中也应注意以下几方面的问题:
(1)较小的硬件开销需要相对复杂的软件进行补偿由于DS1820与微处理器间采用串行数据传送因此在对DS1820进行读写编程时必须严格的保证读写时序否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时对DS1820操作部分最好采用汇编语言实现。
(2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题容易使人误认为可以挂任意多个DS1820在实际应用中并非如此。当单总线上所挂DS1820超过8个时就需要解决微处理器的总线驱动问题这一点在进行多点测温系统设计时要加以注意。
(3)连接DS1820的总线电缆是有长度限制的。试验中当采用普通信号电缆传输长度超过50m时读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时正常通讯距离可达150m当采用每米绞合次数更多的双绞线带屏蔽电缆时正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
(4)在DS1820测温程序设计中向DS1820发出温度转换命令后程序总要等待DS1820的返回信号一旦某个DS1820接触不好或断线当程序读该DS1820时将没有返回信号程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
1 DS1820简介
DS1820是美国DALLAS半导体公司生产的可组网数字式温度传感器在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。与其它温度传感器相比DS1820具有以下特性:
(1)独特的单线接口方式DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯。
(2)DS1820支持多点组网功能多个DS1820可以并联在唯一的三线上实现多点测温。
(3)DS1820在使用中不需要任何外围元件。
(4)温范围-55℃~+125℃固有测温分辨率0.5℃。
(5)测量结果以9位数字量方式串行传送。
DS1820内部结构框图如图1所示。
DS1820测温原理如图2所示。图中低温度系数晶振的振荡频率受温度影响很小用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数当计数器1的预置值减到0时温度寄存器的值将加1 计数器1的预置将重新被装入计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数如此循环直到计数器2计数到0时停止温度寄存器值的累加此时温度寄存器中的数值即为所测温度。图2中的斜率累加器用于补偿和修正测温过程中的非线性其输出用于修正计数器1的预置值。
在正常测温情况下DS1820的测温分辩率为0.5℃以9位数据格式表示其中最低有效位(LSB)由比较器进行0.25℃比较当计数器1中的余值转化成温度后低于0.25℃时清除温度寄存器的最低位(LSB)当计数器1中的余值转化成温度后高于0.25℃置位温度寄存器的最低位(LSB)如-25.5℃对应的9位数据格式如下:
2 提高DS1820测温精度的途径
2.1 DS1820高精度测温的理论依据
DS1820正常使用时的测温分辨率为0.5℃这对于水轮发电机组轴瓦温度监测来讲略显不足在对DS1820测温原理详细分析的基础上我们采取直接读取DS1820内部暂存寄存器的方法将DS1820的测温分辨率提高到0.1℃~0.01℃.
DS1820内部暂存寄存器的分布如表1所示其中第7字节存放的是当温度寄存器停止增值时计数器1的计数剩余值第8字节存放的是每度所对应的计数值这样我们就可以通过下面的方法获得高分辨率的温度测量结果。首先用DS1820提供的读暂存寄存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,超声波测厚仪然后切去测量结果中的最低有效位(LSB)得到所测实际温度整数部分T整数,然后再用BEH指令读取计数器1的计数剩余值M剩余和每度计数值M每度考虑到DS1820测量温度的整数部分以0.25℃、0.75℃为进位界限的关系实际温度T实际可用下式计算得到:
T实际=(T整数-0.25℃)+(M每度-M剩余)/M每度
2.2 测量数据比较
表2为采用直接读取测温结果方法和采用计算方法得到的测温数据比较通过比较可以看出计算方法在DS1820测温中不仅是可行的也可以大大的提高DS1820的测温分辨率。
3 DS1820使用中注意事项
DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点但在实际应用中也应注意以下几方面的问题:
(1)较小的硬件开销需要相对复杂的软件进行补偿由于DS1820与微处理器间采用串行数据传送因此在对DS1820进行读写编程时必须严格的保证读写时序否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时对DS1820操作部分最好采用汇编语言实现。
(2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题容易使人误认为可以挂任意多个DS1820在实际应用中并非如此。当单总线上所挂DS1820超过8个时就需要解决微处理器的总线驱动问题这一点在进行多点测温系统设计时要加以注意。
(3)连接DS1820的总线电缆是有长度限制的。试验中当采用普通信号电缆传输长度超过50m时读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时正常通讯距离可达150m当采用每米绞合次数更多的双绞线带屏蔽电缆时正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
(4)在DS1820测温程序设计中向DS1820发出温度转换命令后程序总要等待DS1820的返回信号一旦某个DS1820接触不好或断线当程序读该DS1820时将没有返回信号程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
相关推荐:
下一篇:红外测温仪--应用领域篇