我对编程非常陌生。我正在尝试通过我的树莓派3读取PT100 rtd。我读到我需要Max31865 RTD放大器来正确读取数据,因为电阻太小了。我相当确定我把它正确地插上了。我使用的是这段代码,只是稍微编辑了一下。https://github.com/steve71/MAX31865
到目前为止,我得到了两个不同的输出,但它似乎与我正在更改的任何内容(主要是与readTemp相关的字节)没有关联,因为我已经运行了两次相同的代码,并获得了这两个输出。输出结果如下:
config register byte: ff
RTD ADC Code: 32767
PT100 Resistance: 429.986877 ohms
Straight Line Approx. Temp: 767.968750 degC
Callendar-Van Dusen Temp (degC > 0): 988.792111 degC
high fault threshold: 32767
low fault threshold: 32767
和
config register byte: 08
RTD ADC Code: 0
PT100 Resistance: 0.000000 ohms
Straight Line Approx. Temp: -256.000000 degC
Callendar-Van Dusen Temp (degC > 0): -246.861024 degC
high fault threshold: 0
low fault threshold: 0
任何帮助都将不胜感激。
发布于 2017-07-06 04:16:25
我现在也在处理同样的问题。您使用的Pt100是三线制还是四线制?
我修复了这个问题,方法是将原始代码(https://github.com/steve71/MAX31865)第78行的正确配置状态寄存器设置为0xA2
self.writeRegister(0, 0xA2)
我使用的是四线制,所以我不得不将bit4从1(三线制)改为0(二线制或四线制)
0xb10100010
在这之后,我得到了这个作为输出
config register byte: 80
RTD ADC Code: 8333
PT100 Resistance: 101.721191 ohms
Straight Line Approx. Temp: 4.406250 degC
Callendar-Van Dusen Temp (degC > 0): 4.406808 degC
high fault threshold: 32767
low fault threshold: 0
兄弟..。我房间里很冷,不是吗?为了解决这个问题,我不得不将线路170中的参考电阻更改为430欧姆
R_REF = 430.0 # Reference Resistor
这很奇怪,因为我红了很多次,有一个400欧姆的电阻安装在这个设备上作为参考。事实上,SMD电阻上有一个3位数的代码"431“,意思是430欧姆。嗯..。
但现在我在这里又好又暖和
Callendar-Van Dusen Temp (degC > 0): 25.091629 degC
诚挚的问候
发布于 2017-11-23 04:45:32
你把这事解决了吗?如果您没有这样做,下面的python类方法适用于我。我记得我在接线力终端时遇到了一些问题,从内存中看,对于双线,你必须桥接两个力终端。
def _take_Resistance_Reading(self):
msg = '%s: taking resistance reading...' % self.Name
try:
self.Logger.debug(msg + 'entered method take_resistance_Reading()')
with self._RLock:
reg = self.spi.readbytes(9)
del reg[0] # delete 0th dummy data
self.Logger.debug("%s: register values: %s", self.Name, reg)
RTDdata = reg[1] << 8 | reg[2]
self.Logger.debug("%s: RTD data: %s", self.Name, hex(RTDdata))
ADCcode = RTDdata >> 1
self.Logger.debug("%s: ADC code: %s", self.Name, hex(ADCcode))
self.Vout = ADCcode
self._Resistance = round(ADCcode * self.Rref / 8192, 1)
self.Logger.debug(msg + "success, Vout: %s, resistance: %s Ohm" % (self.Vout, self._Resistance))
return True
except Exception as e:
https://stackoverflow.com/questions/44931935
复制相似问题