No Image

Аналоговый датчик температуры arduino

СОДЕРЖАНИЕ
599 просмотров
12 декабря 2019

Датчик температуры на выходе которого формируется напряжение пропорционально температуре по шкале Цельсия. Датчик функционально схож с LM35 но не является его полным аналогом.

Характеристики датчика:

  • Диапазон температур: −40°C — +125°C
  • Точность температуры: типичная, в диапазоне -40°C … +125°C, ±2°C , при температуре 25°C: ±1°C.
  • Линейность: ±0.5°C.
  • Разрешение: 10.0 mV/°C
  • Напряжение на выходе при 25°C: 750мВ.
  • Напряжение питания: 2,7В — 5,5В.

Купить:

Особенности работы с датчиком:

Как и у похожего аналогового датчика LM35, на выходе формируется напряжение пропорционально температуре по шкале Цельсия, величина напряжения также 10.0 mV на 1°C, но в отличии от LM35, где отсчет начинается от 0°C и при 25°C датчик формирует напряжение 250mV, TMP36 ведет отсчет от -50°C, а при 25°C на выходе датчика будет 750mV.

TMP36 лишен основного недостатка LM35 при совместном использовании с Arduino, невозможность измерения отрицательных температур, но недостатки все таки пристукивают. При использовании встроенного в микроконтроллер источника опорного напряжения 1,1 вольт, максимальная температура датчика ограниченна 60°C но это всё еще пригодно для домашних или уличных термометров.

Крайне не рекомендуется использовать в качестве опорного напряжения для АЦП, напряжение питания или напряжение от встроенного стабилизатора на 3,3 вольта, подключенное на вход AREF, стабильность тех напряжений крайне низкая, что будет негативно сказываться на точности показаний датчика. Правильным решением будет использование встроенного источника опорного, а если верхняя граница в 60°C не достаточна, либо внешний источник опорного, например MAX6125, либо использовать другой, более подходящий, датчик температуры.

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

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

Видео:

Аналоговый датчик температуры простой в освоении, дешевый и при этом позволяет в режиме реального времени контролировать температуру окружающей среды!

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

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

Датчик температуры TMP36

Технические характеристики

Эти технические характеристики относятся к аналоговым датчикам температуры TMP36 (-40 до 150 градусов по цельсию).

Технические характеристики очень схожи также с датчиками модели LM35/TMP35 (выходой сигнал в цельсиях) и LM34/TMP34 (в фаренгейтах). Основное преимущество модели ’36 перед ’35 или ’34 – этот датчик температуры имеет широкий диапазон чувствительности и не генерирует отрицательные значения напряжения при минусовой температуре. Во всем остальном функционал одинаковый.

  • Размер: корпус TO-92 (около 0.2" x 0.2" x 0.2") с тремя коннекторами
  • Цена: $2.00 в магазине Adafruit (Китай, конечно же предлагает дешевле)
  • Диапазон измеряемых температур: от — 40°C до 150°C / -40°F до 302°F
  • Диапазон сигнала на выходе: от 0.1В (-40°C) до 2.0В (150°C), но точность падает после 125°C
  • Питание: от 2.7 В до 5.5 В, сила тока — 0.05 мА
  • Даташит

Как измерить температуру

Для использования TMP36 достаточно подключить левый коннектор к источнику питания (2.7 — 5.5В), а правый – к земле. Со среднего коннектора мы будем снимать аналоговое значения напряжения, которое прямопропорционально (линейная зависимость) температуре. Значение аналогового напряжения не зависит от источника питания.

Для преобразования напряжения в температуру используется зависимость:

Temp in °C = [(Vout in mV) — 500] / 10

То есть, например, если напряжение на выходе равно 1 В, температура равна:

((1000 mV — 500) / 10) = 50 °C

Если вы используете датчик температуры LM35 или подобный ему, используйте линию “a” на рисунке выше и формулу:

Temp in °C = (Vout in mV) / 10

Проблемы, которые могут возникнуть при работе с несколькими датчиками

Если при добавлении в ваш проект нескольких датчиков вы замечаете, что данные температуры противоречивы, это означает, что сенсоры создают друг другу помехи при сцитывании аналоговых данных. Исправить это можно, добавив задержку между считываниями.

Проверка датчика температуры

Проверить эти датчики несложно. Для этого вам понадобятся батарейки или источник питания.

Подключите источник питания 2.7 – 5.5 В (отлично подходят также 2-4 батарейки АА) таким образом, что земля подключена к 3 пину (справа), а напряжение питания – к 1 пину (слева).

После этого выставьте на своем мультиметре режим DC (постоянный ток). Подключите его его к земле и свободному среднему (2) коннектору. Если у вас датчик температуры TMP36 и вокруг комнатная температура (около 25 °C), напряжение дожно быть около 0.75 В. Обратите внимание, что если вы используете LM35, напряжение составит 0.25 В.

Читайте также:  Декупаж коробок и шкатулок

Датчик показывает температуру 26.3 °C, что равно 79.3 F

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

С пальцами на датчике температура поднялась до 29.7°C / 85.5°F:

Или вы можете коснуться датчика кусочком льда (желательно так, чтобы влага с него не попала на ваше электрическую цепь). В результате температура уменьшится.

С кусочком льда на сенсоре температура опустилась до 18.6°C / 65.5°F.

Использование датчика температуры

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

Внутри подобных датчиков находится маленький чип. Чип достаточно тонкий, так что устанавливать датчик надо осторожно. Будьте аккуратны со статическим электричеством при установке датчика. Убедитесь, что питание подключено правильно и находится в диапазоне от 2.7 до 5.5 В – постоянный ток. Не используйте батарейки на 9 В!

Чувствительный элемент датчика находится в пластиковом обрезанном по одной грани цилиндре с тремя «ногами». «Ноги» легко изгибаются для установки на монтажной плате. К ним можно припаять провода. Если вы хотите сделать ваш датчик водонепроницаемым – вот отличный проект с Instructables.

Считывание аналоговых значений температуры

В отличие от датчиков силы и фоторезисторов TMP36 и подобные датчики не работают как резистор. В связи с этим считывать данные температуры получится только с использованием аналогового пина на плате Arduino.

Не забудьте, что для питания необходим диапазон от 2.7 до 5.5 вольт. В приведенной выше схеме подключения датчика температура к Arduino используется пин 5 вольт. Но можно использовать и пин 3.3 вольта. Вне зависимости от напряжения питания, считываемое аналоговое значение напряжения будет находится в диапахоне от 0 до 1.75 В.

Если вы используете 5 В Arduino и подключаете датчик напрямую к аналоговому пину, можно использовать следующие формулы для преобразования 10-битных аналоговых значений в температуру:

Напряжение на пине в миливольтах = (значения с аналогового пина ADC) * (5000/1024)

С помощью этой зависимости мы преобразуем числовое значение в диапазоне 0-1023 с аналогового пина в 0-5000 миливольт (= 5 вольт)

Если вы используете 3.3 Arduino, используйте следующую зависимость:

Напряжение на пине в миливольтах = (значения с аналогового пина ADC) * (3300/1024)

Эта зависимость преобразовывает числовое значение 0-1023 с аналогового пина в 0-3300 миливольт (= 3.3 вольт)

После этого, для преобразования милливольт в температуру, используйте формулу:

Температура в цельсиях = [(аналоговое напряжение в милливольт) — 500] / 10

Простой термометр на Arduino

В этом примере программы для Arduino показано как можно быстро создать термометр с использованием датчика температуры. Текущее значение температуры будет отображаться в серийном мониторе в градусах по Цельсию и по Фаренгейту.

int sensorPin = 0; //аналоговый пин, к которому подключен датчик температуры TMP36 //разрешающая способность равна 10 мВ/градус по Цельсию

//с отступом 500 мВ для отрицательных температур

* setup() – эта функция отрабатывает один раз при запуске Arduino

* Инициализация серийного протокола связи с компьютером

Serial.begin(9600); //Начало обмена данными с компьютером по серийному протоколу,

// чтобы отобразить результат измерений в серийном мониторе

void loop() // запускается вновь и вновь

//получаем значения напряжения с датчика температуры

int reading = analogRead(sensorPin);

// преобразовываем полученные данные в напряжение. Если используем Arduino 3.3 В, то меняем константу на 3.3

float voltage = reading * 5.0;

Serial.print(voltage); Serial.println(" volts");

// теперь отображаем температуру

float temperatureC = (voltage — 0.5) * 100 ; //конвертируем 10 мВ на градус с учетом отступа 500 мВ

//в градусы ((напряжение – 500 мВ) умноженное на 100)

Serial.print(temperatureC); Serial.println(" degrees C");

// преобразуем в градусы по Фаренгейту

float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;

Serial.print(temperatureF); Serial.println(" degrees F");

delay(1000); //ожидаем 1 секунду

Повышаем точность измерений датчиком температуры

Для более точных показаний с меньшими внешними шумами, можно использовать источник питания 3.3 В, который подключен к пину AREF вместо 5 В.

В примере дополнительно использован фоторезистор, но вы можете его спокойно проигнорировать.

Обратите внимание, что мы подключили датчик температуры TMP36 к пину A1.

При использовании пина 3.3 В для питания датчика не забудьте указать "analogReference(EXTERNAL)" в функции setup() как это сделано в коде ниже:

/* Пробный скетч для датчика температуры

#define aref_voltage 3.3// мы подключаем 3.3 В к AREF и проверяем напряжение мультиметром!

int tempPin = 1;//аналоговый пин, к которому подключен аналоговый датчик температуры TMP36

//разрешающая способность 10 мВ/градус по Цельсию

//с отступом 500 мВ для отрицательных температур

int tempReading;// считывание аналоговых значений с датчика

// подключаем серийный протокол для обмена данными с Arduino

// Если вы подключаете aref к источнику питания, который не равен 5 В

Читайте также:  Дизайн проект 3 комнатной квартиры копэ

Serial.print(tempReading);// необработанные аналоговые значения

// преобразовываем полученные значения в напряжение

float voltage = tempReading * aref_voltage;

// отображаем значения напряжения

Serial.print(voltage); Serial.println(" volts");

// теперь отображаем температуру

float temperatureC = (voltage — 0.5) * 100 ; //преобразовываем 10 мВ на градус по цельсию с учетом поправки 500 мВ

//в градусы ((напряжение — 500mV) умножить на 100)

Serial.print(temperatureC); Serial.println(" degrees C");

// конвертируем в градусы по Фаренгейту

float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;

В этой статье мы рассмотрим популярные датчики температуры для Arduino ds18b20, dht11, dht22, lm35, tmp36. Как правило, именно эти датчики становятся основой для инженерных проектов начального уровня для Arduino. Мы рассмотрим также основные способы измерения температуры, классификацию датчиков температуры и приведем сравнение различных датчиков в одной таблице.

Описание датчиков температуры

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

  • Термопары;
  • Термисторы;
  • Пьезоэлектрические датчики;
  • Полупроводниковые датчики;
  • Цифровые датчики;
  • Аналоговые датчики.

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

Любой температурный датчик можно описать набором характеристик и параметров, которые позволяют сравнивать их между собой и выбирать подходящий под конкретную задачу вариант. Основными характеристиками являются:

  • Функция преобразования, т.е. зависимость выходной величины от измеряемого значения. Для датчиков температуры этот параметр измеряется в Ом/С или мВ/К.
  • Диапазон измеряемых температур.
  • Метрологические параметры – к ним относятся различные виды погрешностей.
  • Срок службы.
  • Время отклика.
  • Надежность – рассматриваются механическая устойчивость и метрологическая стойкость.
  • Эксплуатационные параметры – габариты, масса, потребляемая мощность, стойкость к агрессивному воздействию среды, стойкость к перегрузкам и другие.
  • Линейность выходных значений.

Датчики температуры по типу

  1. Термопары. Принцип действия термопар основывается на термоэлектрическом эффекте. Представляет собой замкнутый контур из двух проводников или полупроводников. В контуре возникает электрический ток, когда на месте спаев появляется разность температур. Чтобы измерить температуру, один конец термопары помещается в среду для измерения, а второй требуется для снятия значений. На спаях возникают термоЭДС E(t2) и E(t1), которые и определяются температурами t2 и t Результирующая термоЭДС в контуре будет равна разности термоЭДС на концах спаев E(t2)- E(t1). Термопары чаще всего выполняются из платины, хромеля, алюмеля и платинородия. Наибольшее распространение в России получили пары металлов ХА(хромель-алюмель), ТКХ(хромель – копель) и ТПП (платинородий-платина). Большим недостатком таких приборов является большая погрешность измерений. Из преимуществ можно выделить возможность измерения высоких температур – до 1300С.
  2. Терморезистивные датчики. Изготавливаются из материалов, обладающих высоким коэффициентом температурного сопротивления (ТКС). Принцип работы заключается в изменении сопротивления проводника в зависимости от его температуры. Такие приборы обладают высокой точностью, чувствительностью и линейностью измеренных значений. Основными характеристиками устройства являются номинальное электрическое сопротивление при температуре 25 С и ТКС. Терморезистивные датчики различаются по температурному коэффициенту сопротивления – бывают термисторы с отрицательным (NTC) и положительным (PTC, позисторы) ТКС. Для первых с ростом температуры уменьшается сопротивление, для позисторов – увеличивается. Терморезистивные датчики чаще всего применяются в электронике и машиностроении.
  3. Пьезоэлектрический датчик. Такое устройство работает на пьезоэффекте. Под воздействием электрического тока происходит изменение линейных размеров -прямой пьезоэффект. Когда подается разнофазный ток с определенной частотой, происходит колебание пьезорезонатора. Частота определяется температурой. Зная полученную зависимость, можно определить необходимые данные о частоте и температуре. Диапазон измерения температуры широк, устройство обладает высокой точностью. Датчики чаще всего используются в научных опытах, которые требуют высокой надежности результатов.
  4. Полупроводниковый датчик. Измеряют в диапазоне от -55С до 150С. Принцип работы основан на зависимости изменения напряжения на p-n-переходе от температуры. Так как эта зависимость практически линейна, есть возможность создать датчик без сложной схемы. Но для таких приборов схема содержит одиночный p-n-переход, поэтому датчик отличается большим разбросом параметров и невысокой точностью. Исправить эти недостатки получилось в аналоговых полупроводниковых датчиках.
  5. Аналоговый датчик. Приборы стоят дешево и обладают высокой точностью измерения, что позволяет их применять в микроэлектронике. В схеме содержатся 2 чувствительных элемента (транзистора), обладающих различными характеристиками. Выходной сигнал – это разность между падениями напряжений на транзисторах. При помощи калибровки датчика внешними цепями можно увеличить точность измерения, которая находится в диапазоне от +-1С до +-3С. Датчики обладают тремя выходами, один из них используется для калибровки.
  6. Цифровой датчик. В отличие от аналогового датчика цифровой содержит дополнительные элементы – встроенный АЦП и формирователь сигнала. Подключаются по интерфейсам SPI, I2C, 1-Wire, что позволяет подключать сразу несколько датчиков к одной шине. Подобные устройства стоят немного дороже аналоговых, но при этом они значительно упрощают схемотехнику устройства.
  7. Существуют и другие датчики температуры. Например, для автоматических систем могут применяться сигнализаторы, также существуют пирометры, измеряющие энергию тела, которую оно излучает в окружающую среду. В медицине нередко используются акустические датчики – их принцип работы заключается в разности скорости звука при различных температурах. Эти датчики удобно применять в закрытых полостях и в недоступных средах. Похожие датчики – шумовые, они работают на зависимости шумовой разности потенциалов на резисторе от температуры.
Читайте также:  Бетон для фундамента дома из пеноблоков

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

Датчики температуры для работы с Ардуино

При работе с микроконтроллером Ардуино наиболее часто используются следующие датчики температуры: DS18B20, DHT11, DHT22, LM35, TMP36.

Датчик температуры DS18B20

DS18B20 – цифровой 12-разрядный температурный датчик. Устройство доступно в 3 вариантах корпусов – 8-Pin SO (150 mils), 8-Pin µSOP, и 3-Pin TO-92, чаще всего используется именно последний. Он же изготавливается во влагозащитном корпусе с тремя выходами. Датчик прост и удобен в использовании, к плате Ардуино можно подключать сразу несколько таких приборов. А так как каждое устройство обладает своим уникальным серийным номером, они не перепутаются в результате измерения. Важной особенностью датчика является возможность сохранять данные при выключении прибора. Также DS18B20 может работать в режиме паразитного питания, то есть без внешнего питания через подтягивающий резистор. Подробная статья о ds18b20.

Датчики температуры DHT

DHT11 и DHT22 – две версии датчика DHT, обладающие одинаковой распиновкой. Разливаются по своим характеристикам. Для DHT11 характерно определение температуры в диапазоне от 0С до 50С, определение влажности в диапазоне 20-80% и частота измерений 1 раз в секунду. Датчик DHT22 обладает лучшими характеристиками, он определяет влажность 0-100%, температурный диапазон увеличен – от -40С до 125С, частота опроса 1 раз за 2 секунды. Соответственно, стоимость второго датчика дороже. Оба устройства состоят из 2 основных частей – это термистор и датчик влажности. Приборы имеют 4 выхода – питание, вывод сигнала, земля и один из каналов не используется. Датчик DHT11 обычно используется в учебных целях, так как он показывает невысокую точность измерений, но при этом он очень прост в использовании. Другие технические характеристики устройства: напряжение питания от 3В до 5В, наибольший ток 2,5мА. Для подключения к ардуино между выводами питания и выводами данных нужно установить резистор. Можно купить готовый модуль DHT11 или 22 с установленными резисторами.

Датчик температуры LM35

LM35 – интегральный температурный датчик. Обладает большим диапазоном температур (от -55С до 150С), высокой точностью (+-0,25С) и калиброванным выходом. Выводов всего 3 – земля, питание и выходной мигнал. Датчик стоит дешево, его удобно подключать к цепи, так как он откалиброван уже на этапе изготовления, обладает низким сопротивлением и линейной зависимостью выходного напряжения. Важным преимуществом датчика является его калибровка по шкале Цельсия. Особенности датчика: низкая стоимость, гарантированная точность 0,5С, широкий диапазон напряжений (от 4 до 30В) ток менее 60мА, малый уровень собственного разогрева (до 0,1С), выходное сопротивление 0,1 Ом при токе 1мА. Из недостатков можно выделить ухудшение параметров при удалении на значительное расстояние. В этом случае источниками помех могут стать радиопередатчики, реле, переключатели и другие устройства. Также существует проблема, когда температура измеряемой поверхности и температура окружающей среды сильно различаются. В этом случае датчик показывает среднее значение между двумя температурами. Чтобы избавиться от этой проблемы, можно покрыть поверхность, к которой подключается термодатчик, компаундом.

Схема подключения к микроконтроллеру Ардуино достаточно проста. Желательно датчик прижимать к контролируемой поверхности, чтобы увеличить точность измерения.

  • Использование в схемах с развязкой по емкостной нагрузке.
  • В схемах с RC цепочкой.
  • Использование в качестве удаленного датчика температуры.
  • Термометр со шкалой по Цельсию.
  • Термометр со шкалой по Фаренгейту.
  • Измеритель температуры с преобразованием напряжение-частота.
  • Создание термостата.

TMP36 – аналоговый термодатчик

Датчик температуры Использует технологии твердотельной электроники для определения температуры. Устройства обладают высокой точностью, малым износом, не требуют дополнительной калибровки, просты в использовании и стоят недорого. Измеряет температуру в диапазоне от -40С до 150С. Параметры схожи с датчиком LM35, но TMP36 имеет больший диапазон чувствительности и не выдает отрицательное значение напряжения, если температура ниже нуля. Напряжение питания от 2,7В до 5,5В. Ток – 0.05мА. При использовании нескольких датчиков может возникнуть проблема, при которой полученные данные будут противоречивы. Причиной этого являются помехи от других термодатчиков. Чтобы исправить эту неполадку нужно увеличить задержку между записью измерений. Низкое выходное сопротивление и линейность результатов позволяют подключать датчик напрямую к схеме контроля температуры. TMP36 также, как и LM34 обладает малым нагревом прибора в нормальных условиях.

Комментировать
599 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock detector