Raspberry pi 为什么我的温度传感器突然变得不稳定?

Raspberry pi 为什么我的温度传感器突然变得不稳定?,raspberry-pi,sensors,Raspberry Pi,Sensors,我有四个DS18B20温度传感器连接到我的Raspberry Pi。我使用1根电线和一个上拉电阻器 我通过cat直接从1wire设备中读取值,并将未经计算的值放入gnuplot数据文件中 这个装置已经运行了好几个星期了,在0°C到30°C的范围内测量了不同位置的冷却箱。我得到了非常准确的读数和曲线图 但突然,所有传感器的值开始“抖动”,传感器变得不稳定。它们也下降了——全部四个——大约四分之一摄氏度。颤振大约在0.1摄氏度到0.2摄氏度之间。其中两个传感器实际上在流体中(0.5升和25升),因此

我有四个DS18B20温度传感器连接到我的Raspberry Pi。我使用1根电线和一个上拉电阻器

我通过
cat
直接从1wire设备中读取值,并将未经计算的值放入gnuplot数据文件中

这个装置已经运行了好几个星期了,在0°C到30°C的范围内测量了不同位置的冷却箱。我得到了非常准确的读数和曲线图

但突然,所有传感器的值开始“抖动”,传感器变得不稳定。它们也下降了——全部四个——大约四分之一摄氏度。颤振大约在0.1摄氏度到0.2摄氏度之间。其中两个传感器实际上在流体中(0.5升和25升),因此它们几乎不可能突然下降或颤振

活动时间与我检查冷却器箱的时间一致。我可能移动或触摸了一些传感器部件。但这能解释温度变化吗?发生了什么事?我怎样才能修好它


似乎问题的原因可能是分辨率降低。这是存储在传感器本身中的(易失性)设置。它可以设置为9、10、11或12位。分辨率越高,测量越精确,但测量时间越长

根据DS18B20数据表,通电后默认分辨率设置为12位。此外,处理与传感器的单线通信的驱动程序通常在默认情况下也会在启动期间设置可能的最高分辨率。这可以解释为什么在OP的情况下重新启动修复了问题,但不能解释为什么首先会发生分辨率的变化。这可能取决于具体设置,并且可能必须根据具体情况予以解决


此外,为了确认测量确实是在较低的分辨率下进行的,可以获得样本的数值,并检查测量变化的最小值。例如,对于12位分辨率,最小增量为0.0625度,而对于9位分辨率,最小增量可能只会改变0.5度,两者之间不会有任何变化。

分辨率是否可能以某种方式改变?你试过将其设置回12位吗?@JacekŚlimok我没有登录到Pi,所有脚本都自动运行。而且,我甚至不知道我可以改变他的决心。这需要对寄存器进行一些写操作吗?我无法想象这怎么会发生。我想它们是在重新启动后重置的?如果我没记错的话,是驱动程序设置了分辨率。至于传感器-数据表中规定通电后的默认分辨率为12位。我会检查波动的数值是否只在较低分辨率的数值范围内,例如只在0.25度的步长内变化。@JacekŚlimok你知道吗?看来你的怀疑是对的。重启后,一切恢复正常。但是:a)这一定是自发发生的(即没有登录),b)我没有证据表明分辨率降低了,但我认为该图符合该假设。把你的怀疑作为一个答案,我会接受。我如何投票将这个问题转移到raspberrypi.stackexchange.com?