Подключение термопары к плате Ардуино

Функциональность и богатство возможностей микроконтроллеров помогают автоматизировать многие ниши, требовавшие ранее человеческого внимания. Охранные системы, управление климатом помещений или контроль производственных линий — все названное под силу цифровым помощникам человека, которые не просто выполняют последовательность действий, но и реагируют в рамках своей программы на изменившиеся обстоятельства.

Микроконтроллер Arduino UNO

Одной из распространенных моделей микроконтроллеров стали Arduino. Мини-компьютер, обладающий расширенной функциональностью и возможностью относительно простого подключения внешнего оборудования — по праву держит пальму первенства в деле производства прототипов, финальных устройств или участия в DIY-проектах.

Одно из применений Arduino — контроль температуры и запуск вспомогательной аппаратуры в зависимости от ее изменений. Примером служит обычный кондиционер — он работает только в те периоды, когда требуется нагреть или охладить воздух в помещении для приведения его характеристик в соответствие с заложенными значениями. Схематичная конструкция аппарата достаточно проста и характерна для всех устройств, содержащих логический контур:

логический контур

Вместо вентилятора и нагревателя применяют другие автоматы включения внешнего оборудования, термометр может быть заменен на любой иной датчик или их комплекс. В число подобных входят сенсоры, реагирующие на освещение, звук, приближение, движение среды или нагрев. Причем последние могут быть представлены как специализированными термометрами, так и термопарой, подключаемой к Arduino. Вместо блока дистанционного управления используются электронные компоненты, обеспечивающие многообразие интерфейса с пользователем.

Применение термопары с микроконтроллером

Одной из популярных схем для Ардуино стали «умные» измерители нагрева, способные не только демонстрировать температуру, но и производить различные действия в зависимости от ее текущих значений. Измерения в пределах от −50 до 150 ℃ проводятся достаточно несложным датчиком соединяемым с микроконтроллером. Другое дело, если речь идет об очень высоких или сверхнизких значениях характеристики от −273 до 400 ℃ или выше. Здесь потребуется подключить термопару к Ардуино.

термопара с подключенным преобразователем MAX7765

Нишей потребления связки контроллера и термодатчика могут стать паяльники, печи, холодильные установки сверхнизких температур, детекторы открытого пламени. Все те сферы, где требуется точно знать критические уровни нагрева или охлаждения.

Что такое термопара

Термопара представляет собой два соединенных сваркой проводника из разных металлов. За счет отличия температуры холодной части спайки и нагреваемой, на концах электродов возникает ток (эффект Зеебека). Сила его зависит от материалов, применяемых для каждого из проводников, но, в лучшем случае, не превышает нескольких милливольт на сантиметр их поверхности.

эффект Зеебека

Подключение термопары к микроконтроллеру

Определение нагрева с помощью термопары требует обязательного получения информации о температуре холодной части конструкции. Последние данные используются для расчета показаний. Соответственно к Ардуино подключается не только сама термопара, но и датчик определяющий текущее состояние нагрева одного из ее концов.

Так как вырабатываемый ток связкой проводников низок, в обязательном порядке требуется усилитель, для соединения их с микроконтроллером. Нужна и подстройка самодельных устройств под используемые материалы в спайке и их длину. Облегчается ситуация при использовании специализированных АЦП, наподобие MAX6675 или MAX31855. Устройства преобразуют характеристики тока, полученные от термопары, в числовые значения, которые уже и передаются в Ардуино посредством пинов данных.          Если использовать только прямое повышение уровня тока иными схемами, — соединение усилителя производится к аналоговым входам микроконтроллера. К сожалению, градация последних составляет всего 1024 уровня, что непосредственно влияет на точность получаемых показаний.

АЦП MAX6675, MAX31855

АЦП Max 31855

Представленная далее схема, как и сам АЦП изначально не рассчитаны на использование с термопарами, требующими заземления, что нужно учитывать при разработке финальной конструкции устройства. Платы MAX6675 и MAX31855 электрически взаимозаменяемы. Единственное различие в подключаемой библиотеке. Для первого АЦП получить ее можно по адресу http://github.com/adafruit/MAX6675-library, для второго https://github.com/adafruit/Adafruit-MAX31855-library.

Схема подключения

У обоих АЦП на плате 5 выходных контактов. Два используются для питания, на них подается +5В и GND соответственно. Остальные размечены следующим образом:

Контакт Описание Используется
CLK Используется при побитовой передаче — указывая, что можно забрать следующий бит IN/OUT
DO Побитовый вывод результата OUT
CS Устанавливается в HIGH контроллером Arduino для проведения замера IN

схема подключения платы MAX 31855 и 6651

В качестве линий питания и земли можно также использовать цифровые пины Arduino, но нежелательно. Будут заняты еще два контакта. В случае, если все же требуется использовать такую конструкцию, в инициализацию void setup () нужно добавить следующие строки:

pinMode(pVCC, OUTPUT);
pinMode(pGND, OUTPUT);
digitalWrite(pVCC, HIGH);
digitalWrite(pGND, LOW);
//Пауза на активацию датчика
delay(500);

Соответственно в шапке скетча задать

// пин на котором +5В
#define  pVCC 5
// пин для земли
#define pGND 6

Скетч работы с АЦП

// пины соединенные с АЦП MAX
#define DO 2
#define CS 3
#define CLK 4
// для MAX6675
#include "max6675.h"
MAX6675 TD(CLK, CS, DO);
// для MAX
#include "Adafruit_MAX31855.h"
Adafruit_MAX31855 TD(CLK,CS,DO);
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("Celsius = ");
Serial.println(TD.readCelsius());
Serial.print(";   Farentgeit = ");
Serial.println(TD.readFahrenheit());
delay(500);
}

Некоторые замечания по специализированным АЦП

В случае с аналого-цифровым преобразователем непонятно откуда он берет температуру «холодного» конца термопары. Скорее всего считает ее равной измеренной встроенным термодатчиком. Соответственно  точность показаний зависит от непосредственного расположения усиливающей платы рядом с измеряющей линией.

собранный макет конструкции

Кроме вышеназванной проблемы стоит не забывать о «шумности» входов преобразователя, на которую жалуются пользователи АЦП MAX. Для уменьшения мешающего фактора рекомендуется разместить между контактами термопары фильтрующий конденсатор от 0.001 до 0.01 мкФ.

Критичны и выходные параметры самих спаянных рабочих проводников. Термопара должна давать именно то количество вольт на градус разницы, на которые рассчитаны усилители.

В окончание

Подключить термопару к Arduino очень просто, и программно, и аппаратно. Требуется только операционный усилитель. За рамки статьи вышел разговор об использовании аналоговых его вариантов, зато в целом и полностью рассмотрена схема с применением преобразующих силу полученного тока в цифровой сигнал моделей.

Видео по теме

Ссылка на основную публикацию
Adblock
detector