MAX6675 показывает возрастающие показания

Я использую плату MAX6675 и термопару k-типа для измерения температуры. Проблема в том, что даже при выполнении примера значение температуры продолжает расти.

MAX6675 test
27.25
C = 27.25
F = 130.10
109.00
C = 218.00
F = 816.80
872.00
C = 1744.00
F = 2624.00
832.00
C = nan
F = nan
512.75
C = nan
F = nan

Я использую библиотеку max6675.h. Есть ли способ это исправить?

#include "max6675.h"

int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
int vccPin = 3;
int gndPin = 2;

void setup() {
  Serial.begin(9600);
  // используем контакты Arduino
  pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);
  pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW);

  Serial.println("MAX6675 test");
  // ждем, пока чип MAX стабилизируется
  delay(500);
}

void loop() {
  // базовый тест считывания, просто выводим текущую температуру

   Serial.print("C = "); 
   Serial.println(thermocouple.readCelsius());
   Serial.print("F = ");
   Serial.println(thermocouple.readFahrenheit());

   delay(1000);
}

Изменить: добавлен код (https://github.com/adafruit/ MAX6675-library/blob/master/examples/serialthermocouple/serialthermocouple.pde)

, 👍0

Обсуждение

Код? Проводка? ...?, @Majenko

Я думаю, что твой дом горит. Или, может быть, ваш код неверен, но невозможно сказать, пока вы его нам не предоставили., @Gerben

Вывод не похож на этот эскиз, за исключением выводимых значений. Ваша функция цикла() запрограммирована на выборку и печать двух строк каждую секунду: «C = .... \n» «F = .... \n», однако показанный вами вывод содержит еще одну строку, предшествующую каждой паре. Вы хотите сказать, что эскиз (или библиотека) создает 3 строки, из которых закодированы только 2?, @JRobert

Я добавил строку, которая была просто C= thermocouple.readCelsius() Serial.print (C), @Michael H.

Пожалуйста, предоставьте изображение вашей проводки или, по крайней мере, подтвердите, что контакты GND, VCC, DO, CS и CLK действительно подключаются к контактам данных 2, 3. 4, 5 и 6 соответственно - как указано в вашем коде. Я предполагаю, что это версия библиотеки AdaFruit? Если все это подтвердится, то это почти наверняка аппаратное обеспечение: термопара, MAX6675 или сам Arduino., @John Burger

Проверьте проводку датчика. Возвращаемое значение NAN указывает, что «термопара не подключена». https://github.com/adafruit/MAX6675-library/blob/master/max6675.cpp#L38, @Mikael Patel

Я могу подтвердить, что контакты совпадают, и я использую библиотеку AdaFruit (самую последнюю версию, которую я могу загрузить с помощью менеджера библиотек), @Michael H.

После тестирования некоторых других термопар типа K я теперь думаю, что мне просто досталась плохая плата. Спасибо за помощь, @Michael H.


1 ответ


Лучший ответ:

1

После тестирования некоторых других тепловых пар типа K я теперь думаю, что мне просто досталась плохая плата. Мне удалось заказать новый, и он работал без проблем

,