Arduino читает термопару типа K с помощью ADS1115

Я заказал ADS1115, чтобы измерить температуру термопары типа K, но мне не удается получить точные показания. У меня это работало при обычном контакте A0, но поскольку таблица типа K показывает довольно низкие напряжения, шкала 0–1023 неточна.

Когда термопара находится при комнатной температуре (около 22°C), на мультиметре она показывает 00,0 милливольт (что я не понимаю, поскольку оно не соответствует таблице), а моя программа выводит значение около -40 и напряжение -0,005. Когда я нагреваю его до тех пор, пока не измеряю 10,0 милливольт (около 250°C согласно таблице), Arduino печатает значение 53 и 300 милливольт.

Что я делаю не так? Подозреваю что-то с расчетом, но не могу понять, как это сделать, очень мало знаю о милливольтах.

Может ли кто-нибудь помочь мне понять, что я делаю не так и что мне следует делать?

У меня термопара и ADS1115 подключены, как показано на рисунке ниже. проводка

Я использую следующий код

#include <Adafruit_ADS1X15.h>

const int analogFruitPin = 0;

Adafruit_ADS1115 ads;

void setup()
{
  Serial.begin(9600);
  ads.begin();
  ads.setGain(GAIN_FOUR);
  ads.setDataRate(RATE_ADS1115_860SPS);
}

void loop()
{
  int sensorValue = ads.readADC_SingleEnded(analogFruitPin);
  float voltage = sensorValue * (5.0 / 32768.0);
  Serial.println(voltage,3);
  Serial.println(sensorValue);
  delay(500);
}

, 👍2

Обсуждение

на мультиметре показывает 00,0 милливольт... как вы это измерили?, @jsotola

Я просто измеряю + и - термопары обычным мультиметром, показания мультиметра увеличиваются, когда я его нагреваю., @Bart

См. библиотечную функцию [computeVols()](https://github.com/adafruit/Adafruit_ADS1X15/blob/master/Adafruit_ADS1X15.cpp#L286-L312), чтобы узнать, как рассчитывается напряжение в зависимости от вашего sensorValue * (5.0/32768.0). ., @hcheung

@Барт, когда ты доберешься до этого, тебе следует принять ответ, который касается твоего вопроса, или перефразировать свой вопрос. Это приведет к отправке электронных писем всем участникам процесса, чтобы дать им возможность перефразировать свой ответ. Кроме того, если вам интересно, зачем беспокоиться о термопаре, если вам нужен второй, более обычный датчик температуры … ну, термопары могут работать при сильной жаре (например, в гончарной печи), и они недороги., @st2000


2 ответа


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

0

Добро пожаловать! Интересно, но ожидаемо. Термопарам требуется так называемая компенсация холодного спая. Это цепь или другой термоядерный элемент, который компенсирует эффект термопары, когда подводящие провода подключаются к вашему измерительному устройству. Эти подводящие провода термопары должны быть изготовлены из того же металлического материала, что и провода термопары. Металлы различаются в тех местах, где вы подключаетесь к измерительному устройству, и при изменении температуры они будут генерировать напряжение независимо от чувствительного зонда, именно так работает термопара. Эта ссылка поможет: https://www.tegam.com/what-exactly-is- компенсация холодного спая/

Для получения дополнительной информации перейдите по этой ссылке: https://randomnerdtutorials.com/arduino-k-type-thermocouple -max6675/

,

Значит, я никогда не смогу измерить это с какой-то точностью?, @Bart

... не без холодного упоминания. Например, цифровой мультиметр с функцией термопары имеет дополнительный датчик температуры рядом с местом, где провод термопары соединяется с проводами (образуя второй спай), которые затем подключаются к АЦП. В идеале мы хотим знать температуру 2-го спая. Вам следует проголосовать за или принять ответ @Gil. Но я добавлю ответ, указав вам на продукт Adafruit, который содержит как АЦП, так и датчик температуры холодного спая., @st2000


0

Чтобы упростить проект термопарного датчика температуры, рассмотрите возможность использования АЦП, который также содержит данные о температуре холодного спая. датчик. Этот продукт от Adafuit.com объединяет оба продукта в один пакет с помощью Microchip.com Интегральная схема MCP9601.

Короче говоря, термопары генерируют небольшое напряжение в местах соприкосновения разнородных металлов. Это справедливо в тех случаях, когда провода термопары соприкасаются друг с другом. Это также верно, когда провода термопары касаются металла, соединяющего их со цепью АЦП (обычно называемой «холодным спаем»). Чтобы найти температуру, при которой провода термопары соприкасаются, нам нужно вычесть влияние «холодного спая». Для этого нам нужно сначала узнать температуру «холодного спая». Обычно мы делаем это с помощью второго датчика температуры, поскольку это более практичное (и портативное) решение, чем традиционная ледяная баня при нулевой температуре (вероятно, отсюда и произошел термин «холодный спай»).

,