Arduino: термопара K-типа с усилителем MAX6675
В этом руководстве вы узнаете, как считывать температуру с помощью термопары K-типа с усилителем MAX6675 и платы Arduino. Термопара K-типа — это тип датчика температуры с широким диапазоном измерений: от -200 до 1350 °C (от -326 до 2300 °F).
В этом руководстве рассматривается, как подключить термопару K-типа к плате Arduino, установить необходимую библиотеку и использовать простой скетч для отображения показаний датчика в Serial Monitor.
В этом руководстве мы рассмотрим следующие темы:
Что такое термопара K-типа?
Термопара — это устройство, состоящее из двух различных электрических проводников, которые образуют электрическое соединение — термическое соединение. Изменение температуры на этом соединении создает небольшое, но измеримое напряжение на опорном соединении, которое можно использовать для расчета температуры.
Термопара может быть изготовлена из различных металлов. Используемые металлы влияют на диапазон напряжения, стоимость и чувствительность. Существуют стандартизированные комбинации металлов, которые дают различные типы термопар: B, E, J, N, K, R, T и S.
В нашем руководстве рассматривается термопара K-типа. Термопара K-типа изготовлена из хромелевых и алюмелевых проводников и имеет общий диапазон температур от -200 до 1260 °C (от -326 до 2300 °F).
Усилитель MAX6675
Для получения температуры от термопары нам нужен усилитель термопары. Выходная температура от усилителя термопары зависит от напряжения, считанного на опорном соединении. Напряжение на опорном соединении зависит от разности температур между опорным соединением и термическим соединением. Поэтому нам необходимо знать температуру на опорном соединении.
Усилитель MAX6675 оснащен датчиком температуры для измерения температуры на опорном соединении (компенсация холодного спая) и усиливает крошечное напряжение на опорном соединении, чтобы мы могли считывать его с помощью наших микроконтроллеров. Усилитель MAX6675 взаимодействует с микроконтроллером по протоколу связи SPI, а данные выводятся с разрешением 12 бит.
Обычно термопару K-типа и усилитель MAX6675 можно приобрести в комплекте. Ниже приведен список наиболее важных характеристик MAX6675. Для более подробного описания обратитесь к даташиту MAX6675.
Прямое цифровое преобразование выхода термопары K-типа
Компенсация холодного спая
Простой последовательный интерфейс, совместимый с SPI
Диапазон рабочего напряжения: от 3,0 до 5,5 В
Диапазон рабочих температур: от -20 до 85 °C
Разрешение температуры 0,25 °C, позволяет считывать температуру до 1024 °C (1875 °F).
Подключение термопары K-типа к усилителю MAX6675
Как упоминалось ранее, MAX6675 взаимодействует с микроконтроллером по протоколу связи SPI.
MAX6675 |
Микроконтроллер |
|---|---|
SO |
MISO |
CS |
CS |
SCK |
CLK |
VCC |
VCC (3,3 В или 5 В) |
GND |
GND |
Получение температуры с термопары K-типа и усилителя MAX6675
В этом разделе вы узнаете, как получить температуру с термопары K-типа. Мы покажем простой пример, который считывает температуру и отображает её в Serial Monitor Arduino IDE.
Необходимые компоненты
Для выполнения этого руководства вам понадобятся следующие компоненты:
Arduino (читайте Лучшие стартовые наборы Arduino)
Соединительные провода (мама-папа)
Вы можете воспользоваться приведенными выше ссылками или перейти непосредственно на MakerAdvisor.com/tools, чтобы найти все компоненты для ваших проектов по лучшей цене!
Схема подключения – Arduino с термопарой K-типа и усилителем MAX6675
Подключите усилитель MAX6675 к Arduino, как показано на следующей схеме.
Также можно воспользоваться следующей таблицей.
MAX6675 |
Arduino |
|---|---|
GND |
GND |
VCC |
3,3 В |
SCK |
Pin 6 |
CS |
Pin 5 |
SO |
Pin 4 |
Установка библиотеки MAX6675 для Arduino
Существуют различные библиотеки для получения температуры с термопары K-типа с помощью усилителя MAX6675. Мы будем использовать библиотеку max6675 от Adafruit.
Выполните следующие шаги для установки библиотеки в Arduino IDE:
Откройте Arduino IDE и перейдите в Sketch > Include Library > Manage Libraries. Должен открыться менеджер библиотек.
Введите «max6675» в поле поиска и установите библиотеку от Adafruit.
Код – Получение температуры с термопары K-типа и усилителя MAX6675
Получение температуры с термопары K-типа на Arduino очень просто. Библиотека предоставляет пример, который считывает температуру и отображает результаты в Serial Monitor Arduino IDE.
Этот код является примером, предоставленным библиотекой.
// this example is public domain. enjoy! https://learn.adafruit.com/thermocouple/
#include "max6675.h"
int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
void setup() {
Serial.begin(9600);
Serial.println("MAX6675 test");
// wait for MAX chip to stabilize
delay(500);
}
void loop() {
// basic readout test, just print the current temp
Serial.print("C = ");
Serial.println(thermocouple.readCelsius());
Serial.print("F = ");
Serial.println(thermocouple.readFahrenheit());
// For the MAX6675 to update, you must delay AT LEAST 250ms between reads!
delay(1000);
}
Как работает код
Сначала подключите библиотеку max6675.h.
#include "max6675.h"
Определите пины, которые подключены к усилителю термопары MAX6675.
int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;
Создайте объект MAX6675 с именем thermocouple на ранее определенных пинах.
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
В функции setup() инициализируйте Serial Monitor на скорости 9600 бод.
Serial.begin(9600);
В функции loop() мы считываем температуру и отображаем её в Serial Monitor. Библиотека предоставляет метод для считывания температуры в градусах Цельсия и метод для считывания температуры в градусах Фаренгейта.
thermocouple.readCelsius(): возвращает температуру в градусах Цельсия.thermocouple.readFahrenheit(): возвращает температуру в градусах Фаренгейта.
Следующие строки считывают температуру и отображают её в Serial Monitor.
Serial.print("C = ");
Serial.println(thermocouple.readCelsius());
Serial.print("F = ");
Serial.println(thermocouple.readFahrenheit());
Как видите, получение показаний температуры с использованием термопары K-типа и усилителя MAX6675 очень просто.
Демонстрация
Загрузите код на плату Arduino. Не забудьте выбрать плату, которую вы используете, в Tools > Board и выбрать COM-порт, к которому подключена ваша плата, в Tools > Port.
После загрузки кода откройте Serial Monitor на скорости 9600 бод.
Новые показания температуры отображаются в Serial Monitor каждую секунду.
Заключение
В этом руководстве вы узнали, как считывать температуру с помощью термопары K-типа и усилителя MAX6675. Термопары имеют широкий диапазон измерения температуры и позволяют считывать очень высокие температуры — до 1024 °C (1875 °F) при использовании термопары K-типа с MAX6675.
У нас есть руководства для других популярных датчиков с платой Arduino, которые могут вам понравиться:
Узнайте больше об Arduino с помощью наших ресурсов: