基于DS18B20的锂动力电池单体温度采集

猜不透你

猜不透你

2020-10-18

1.DS18B20测温原理

DS18B20测温原理如图1所示,在图1中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号发送给计数器1。高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。图2中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。

编辑搜图

请点击输入图片描述

计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在 -55 ℃ 所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。

编辑搜图

请点击输入图片描述

由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。因DS18B20采用一线通信接口,所以必须先完成ROM设定,否则记忆和控制功能将无法使用。首先提供以下功能命令之一:

1)读ROM。

2)ROM匹配。

3)搜索ROM。

4)跳过ROM。

5)报警检查。

这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。

2.基于DS18B20的锂动力电池单体温度采集

锂动力电池模组主要由多个单体电芯所组成,通过合理的模组设计,可以通过有限的几个采样点来得到整个锂动力电池模组内电芯的温度。正常工作的时候,电芯的温度是均匀的,而在锂动力电池模组出现异常情况下,电芯的温度会出现较大的温差。考虑到电池管理系统对温度测量实时性和准确性的要求,在进行电动汽车锂动力电池单体温度采集系统设计时,需要考虑以下问题:

1)温度采集系统是整个电动汽车电池管理系统的一个重要组成部分,鉴于电池管理系统自身的复杂性,要尽量节省单片机端口资源的使用。

编辑搜图

请点击输入图片描述

2)合理设计软硬件,保证系统工作的稳定性和可靠性。

3)要求系统可以识别单线总线上挂接的所有单总线器件,按照设计需要准确得到目标器件的温度值,并确保数据传感器数据被总线控制器接收的准确性。

(1)DS18B20 的连接方式

DS18B20 采用单总线技术,测温范围-55℃~+125℃,全数字温度转换及输出,支持多点组网功能,实现多点温度采样。采用DS18B20 多点组网功能也可以实现锂动力电池单体温度采样,但是多点采样时需要识别每个DS18B20 独有的ROM 码,影响采样速度,同时无法将ROM码同器件的实际物理位置关联起来,所以多点组网功能不适合锂动力电池单体温度的巡检。基于DS18B20的分时读取数据的多点温度采样方法,采样启动和数据读取都是跳过ROM 码校验进行的。

编辑搜图

请点击输入图片描述

DS18B20 的连接方式如图2所示,在图2中 K1、K2,……Kn是光电继电器,其通断情况同样由移位寄存阵控制。一开始K1,K2,……Kn 全部闭合,MCU向所有DS18B20 发送采样启动命令,启动命令发送完后断开所有光电继电器,然后逐个闭合K1、K2,……Kn,读取相应传感器的温度数据,实现分时读取数据。采用同时启动分时读取数据的多点温度采样方法,其所用时间仅比单点温度采样所用的时间多了数据读取的时间,所以其采样速度比较快。

(1)DS18B20的供电方式

1)DS18B20在寄生电源供电方式下,DS18B20从单线信号线上汲取能量,在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。寄生电源供电方式的优点有:

1)进行远距离测温时,无需本地电源。

2)可以在没有常规电源的条件下读取ROM。

3)电路更加简洁,仅用一根I/O口实现测温。

要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7kΩ上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。

编辑搜图

请点击输入图片描述

2)DS18B20寄生电源强上拉供电方式。为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10μs内把I/O线转换到强上拉状态。在强上拉方式下可以解决电流供应不足的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。

3)DS18B20的外部电源供电方式。在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85℃。

(3)DS18B20应用中应注意事项

DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下问题:

1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。

编辑搜图

请点击输入图片描述

2)当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

3)连接DS18B20的总线电缆是有长度限制的,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。在用DS18B20进行长距离测温系统设计时,要充分考虑总线分布电容和阻抗匹配问题,否则总线分布电容将使信号波形产生畸变。

4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。测温电缆线应采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。

精彩推荐

粤ICP备16095388号-1