ajsihds 2024-11-11 13:07 采纳率: 0%
浏览 11

Arduino ESP8266读取MAX31855热电偶温度不准确的问题

Arduino ESP8266读取MAX31855热电偶温度不准确的问题
读取到的室温为40摄氏度,冷端却只有3摄氏度。(温度计测出实际室温为20摄氏度左右)
目前已经换过Arduino Nano进行测试,也换过其他MAX31855模块,测试的结果不变。
下面是我用的代码,采用的是Adafruit_MAX31855库的官方示例代码。


#include "Adafruit_MAX31855.h"

#define MAXDO   4
#define MAXCS   0
#define MAXCLK  2

// initialize the Thermocouple
Adafruit_MAX31855 thermocouple(MAXCLK, MAXCS, MAXDO);

void setup() {
  Serial.begin(9600);

  while (!Serial) delay(1); // wait for Serial on Leonardo/Zero, etc

  Serial.println("MAX31855 test");
  // wait for MAX chip to stabilize
  delay(500);
  Serial.print("Initializing sensor...");
  if (!thermocouple.begin()) {
    Serial.println("ERROR.");
    while (1) delay(10);
  }

  Serial.println("DONE.");
}

void loop() {
  // basic readout test, just print the current temp
   Serial.print("Internal Temp = ");
   Serial.println(thermocouple.readInternal());

   double c = thermocouple.readCelsius();
   if (isnan(c)) {
     Serial.println("Thermocouple fault(s) detected!");
     uint8_t e = thermocouple.readError();
     if (e & MAX31855_FAULT_OPEN) Serial.println("FAULT: Thermocouple is open - no connections.");
     if (e & MAX31855_FAULT_SHORT_GND) Serial.println("FAULT: Thermocouple is short-circuited to GND.");
     if (e & MAX31855_FAULT_SHORT_VCC) Serial.println("FAULT: Thermocouple is short-circuited to VCC.");
   } else {
     Serial.print("C = ");
     Serial.println(c);
   }

   delay(1000);
}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 创建了问题 11月11日

    悬赏问题

    • ¥15 husky+kinova jaco2 仿真
    • ¥15 MATLAB数据处理
    • ¥15 zigbee终端设备入网失败
    • ¥15 金融监管系统怎么对7+4机构进行监管的
    • ¥15 硬件IIC从模式的数据发送,中断数据的接收,不能用HAL库(按照时序图)
    • ¥20 QAxWidget上显示一个word文档后,如何直接在该QAxWidget上修改和保存word文档
    • ¥15 Simulink仿真报错,请问如何解决
    • ¥20 宝塔面板无法添加Node项目,一直处于正在添加脚本页面
    • ¥50 Dkeil5 CT107D单片机的程序编写
    • ¥30 Ubuntu20.04中PVN3D复现过程交叉编译问题