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)
@Michael H., 👍0
Обсуждение1 ответ
Лучший ответ:
▲ 1
После тестирования некоторых других тепловых пар типа K я теперь думаю, что мне просто досталась плохая плата. Мне удалось заказать новый, и он работал без проблем
,
@Michael H.
Смотрите также:
- Эмуляция 1-проводных устройств
- Использование библиотеки емкостных датчиков с мультиплексором 74HC4067
- Датчик освещенности BH1750 всегда дает выходной сигнал 54612 лк
- Не удалось найти подходящую библиотеку для MPU9250.
- Ошибка повторного объявления библиотеки Arduino
- Использование Broadcom AFBR-S50 с Arduino
- Тензодатчик Arduino HX711 сильно дрейфует
- Мой ультразвуковой датчик показывает диапазон только 4 см?
Код? Проводка? ...?, @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.