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

Термометр на Arduino с температурным датчиком LM35

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

Данный проект — цифровой термометр (цифровой датчик температуры Arduino), построенный на основе прецизионного интегрального датчика  LM35.

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

В данной схеме задействован датчик температуры LM35 для определения уровня температуры, который может измерять от -55 до 150°С. Измеренная температура отображается на ЖК-дисплее 16х2 с помощью Arduino.

Необходимые компоненты для проекта «Термометр на Arduino»

Цифровой термометр на Arduino использует легко доступные компоненты, которые каждый может приобрести в любом магазине электроники.

  • Arduino
  • Датчик температуры LM35
  • ЖК-дисплей 16х2
  • Потенциометр 1кОм

Работа термометра

Выходное напряжение датчика LM35 линейно пропорционально температуре (по Цельсию).

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

Arduino имеет аналоговый вывод (A0), способный считывать аналоговые сигналы от любого датчика. Как показано на принципиальной схеме, аналоговый вывод A0 Arduino подключается к выходу LM35.

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

Arduino имеет 10-битный встроенный АЦП, поэтому он может считывать значение от 0 до 1023 , то есть для нулевого напряжения он считывает 0000, а для VCC (5 В) он считывает 1023.

Таким образом, мы масштабируем значения 0 — 1023 в новый диапазон 0 — 500, потому что LM35 выдает значения с шагом 10мВ на каждый градус, так что максимально возможный прирост составляет 500 (5В/0,01В).

Используя это сопоставление, мы можем принимать каждое приращение в значении АЦП как шаг повышения по шкале. Если значение АЦП равно 27, то значение измеряемо температуры составляет 27°C.

Скетч термометра

#include long A; int B; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { lcd.begin(16,2); lcd.print(«THERMO METER»); pinMode(A0,INPUT); } void loop() { A=analogRead(A0); B=map(A,0,1023,0,500); lcd.setCursor(0,0); lcd.print(«TEMPERARTURE: «); lcd.setCursor(0,1); lcd.print(B); lcd.

print(«‘C «); }

Теперь перейдем к логике программы. Сначала нам необходимо объявить  переменную long «A», чтобы сохранить значение, считанное с LM35, которое имеет диапазон от 0 до 1023.

Затем объявляем другую целочисленную переменную «B» для хранения отображаемого (преобразованного) значения.

Значение температуры считывается из вывода A0 и хранится в переменной «A». Затем переменная «A» преобразуется в диапазон от 0 до 500 и сохраняется в переменной «B». Значение «B» выводиться непосредственно на ЖК-экране 16х2.

www.circuitsgallery.com

Источник: http://fornk.ru/3389-termometr-na-arduino-s-temperaturnym-datchikom-lm35/

Персональный сайт – Цифровой термометр на LM35 (+ 90…-50 C)

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

Популярность этого датчика объясняется многими причинами. Ниже приведены его основные характеристики:

  • Калибруется непосредственно в градусах Цельсия
  • Линейный коэффициент преобразования +10.0 мВ/ºС
  • Гарантируемая точность 0.5 ºС (при +25 ºС)
  • Заявленный рабочий диапазон от -55 ºС до +150 ºС
  • Подходит для дистанционных измерений
  • Низкая стоимость вследствие подстройки на уровне кристалла
  • Работает от 4 до 30 В
  • Потребляемый ток менее 60 мкА
  • Малый саморазогрев, 0.08 ºС в неподвижном воздухе
  • Типичная нелинейность всего ± ¼ ºС
  • Низкое выходное сопротивление, 0.1 Ома при нагрузке 1 мА.

Для большого числа разнообразных применений, учитывая низкую стоимость, распространенность и простоту включения, LM35 – совсем неплохой выбор.   

 На нашем сайте тоже есть вариант такого термометра (Простой цифровой термометр), схема которого была первоначально опубликована на сайте http://www.voltsandbytes.com .

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

1) либо применения специальной схемы с измерением дифференциального сигнала (рис. 2).

 
Рисунок 1. Схема включения с биполярным питанием.

 
Рисунок 2. Схема включения с дифференциальным выходом.

https://www.youtube.com/watch?v=XAy2A-5PZ5o

И та и другая схемы, мягко говоря, не совсем удобны для подключения к микроконтроллеру.

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

Во втором случае дело обстоит проще, но под рукой должен быть микроконтроллер, имеющий АЦП с дифференциальным входом (например, ATTiny261). При этом расходуется два входа АЦП микроконтроллера.

Предлагаемая мною схема цифрового термометра является логическим развитием Простого Цифрового Термометра (вернее, его версии на ATTiny261). Она использует несколько измененный вариант включения LM35 с дифференциальным выходом. Изменение схемы включения было произведено с целью уйти от применения дифференциального выхода. Схема включения LM35 приведена на рис. 3.

Рисунок 3. Схема включения LM35

Как видно из рисунка, выходной сигнал измеряется (вольтметром) относительно общего провода.

Резистор R1 и транзистор Q1(включенный как диод) образуют схему смещения уровня вывода GND датчика температуры или схему «расщепления» питания.

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

 Измерение выходного сигнала, как уже говорилось выше, осуществляется относительного общего провода питания. При нулевом значении температуры выходное напряжение составляет 0.69В (при использовании транзистора BC857A). Снижение температуры ниже нуля вызывает уменьшение выходного напряжения (10 мВ на 1 ºС). Подъем температуры выше нуля приводит к росту выходного напряжения.

Схема термометра приведена на рис.4.

Рисунок 4. Схема цифрового термометра.

Сигнал с датчика температуры подается непосредственно на вход АЦП микроконтроллера. В качестве источника опорного напряжения микроконтроллера служит внутренний источник с напряжением 2,56 В. Используется 10 бит АЦП.

Это позволяет получить дискретность измерения температуры 0,25 ºС.

И, хотя, в данном варианте термометра на индикацию выводятся десятые доли градуса, большого смысла в этом нет, так как уже «инструментальная» погрешность измерения (без учета  погрешности самого датчика) в силу ограниченности разрядной сетки АЦП уже больше 0.25 ºС.

Данная разработка не претендует на полноту и была сделана с целью показать один из вариантов работы с датчиком температуры LM35. Любые изменения, доработки и т.п., а также вопросы (пока только через avrdoc@yandex.ru) приветствуются. 

Источник: http://avrdoc.narod.ru/index/0-13

Мониторинг температуры с помощью Arduino и датчика LM35

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

LM35 – это идеальный температурный датчик для измерения температуры окружающей среды.

Он обеспечивает линейный выход, пропорциональный температуре, где 0 В соответствует температуре 0 градусов Цельсия, а изменение выходного напряжения на 10 мВ соответствует изменению температуры на один градус Цельсия.

Датчики LM35 проще в использовании по сравнению с термисторами и термопарами, потому что они очень линейны и не требуют никакой обработки сигнала.

Выход LM35 может быть подключен непосредственно к аналоговому входу Arduino. Поскольку аналого-цифровой преобразователь (АЦП, ADC) Arduino обладает разрешением 1024 бита, а опорное напряжение составляет 5 В, для вычисления температуры из измеренного значения АЦП будет использоваться следующая формула:

[T = {5,0 cdot ext{analogRead(temperaturePin)} over 1024} cdot 100,0]

Для отображения температуры мы будем использовать жидкокристаллический дисплей (LCD).

Эксперимент

Цель данного эксперимента – построить монитор температуры, используя LM35, 16×2 LCD дисплей и плату Arduino.

Необходимые комплектующие

  • 1 x Arduino Mega2560;
  • 1 x LCD;
  • 1 x потенциометр 5 кОм;
  • 1 x макетная плата;
  • 1 x датчик температуры LM35;
  • 1 x резистор 1 кОм;
  • перемычки.

Схема соединений

Схема соединений

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

Выводы LCD дисплея

LCD дисплей подключен к Arduino, как показано ниже. Средний вывод потенциометра подключен к выводу 3 LCD дисплея, чтобы изменять его контрастность. Другие два вывода потенциометра подключены к линиям 5V и GND. Вывод включения EN LCD дисплея подключен к выводу 9 Arduino, а вывод дисплея RS подключен к выводу 8 Arduino. Вывод RW дисплея подключен к общему проводу.

Подключение LCD дисплея к ArduinoВывод LCD дисплеяВывод платы Arduino
DB4 4
DB5 5
DB6 6
DB7 7
RS 8
EN 9

Код

Для записи данных на дисплей программа использует библиотеку LiquidCrystal.h. В функции loop() непрерывно считывается значение на выходе датчика, преобразуется в градусы Цельсия, а затем выводится на LCD.

// LCD библиотека Arduino #include // Определение выводов LCD LiquidCrystal lcd(8,9,4,5,6,7); // инициализация переменных int value=0; float volts=0.0; float temp=0.0; float tempF=0.0; void setup() { pinMode(3,INPUT); // установка вывода 3 Arduino на вход Serial.begin(9600); // открыть последовательный порт и установить скорость 9600 бит/с lcd.begin(16,2); // установить количество строк и столбцов LCD дисплея } void loop() { value=analogRead(A0); // прочитать из A0 volts=(value/1024.0)*5.0; // преобразование в вольты temp= volts*100.0; // поеобразование в температуру в градусах Цельсия tempF=temp*9/5+32; // поеобразование в температуру в градусах Фаренгейта // показать температуру на LCD дисплее Serial.print(“temperature= “); Serial.println(temp); lcd.setCursor(0,0); lcd.print(“TEMP= “); lcd.print(temp); lcd.print(” C”); lcd.setCursor(0,1); lcd.print(“TEMP= “); lcd.print(tempF); lcd.print(” F”); delay(500); }

Видео

Вот и всё! Надеюсь, статья оказалась полезной. Оставляйте комментарии!

Оригинал статьи:

  • Keep Your Cool: Monitor Temperature with an Arduino

Arduino Mega 2560

Отладочная плата Arduino Mega 2560 построена на микроконтроллере ATmega2560.

Она имеет 54 цифровых входных/выходных выводов (15 из которых могут использоваться в качестве ШИМ выходов), 16 аналоговых входов, 4 порта UART (аппаратных последовательных порта), кварцевый резонатор 16 МГц, подключение USB, разъем питания, разъем ICSP и кнопку перезагрузки. Она содержит всё необходимое для работы с микроконтроллером;…

Набор перемычек (папа-папа)

Набор перемычек папа-папа. 40 штук по 15 см.

Символьный LCD дисплей 16×2 HD44780

Символьный (буквенно-цифровой) LCD дисплей. 2 строки по 16 символов. Построен на базе контроллера HD44780. По умолчанию поддерживается в Arduino IDE с помощью библиотеки LiquidCrystal.

Источник: https://radioprog.ru/post/183

Схема термостата

Источник: http://el-shema.ru/publ/drugie_materialy/skhema_termostata/11-1-0-372

Датчик температуры LM35 подключение к Ардуино – Блоги – КиберХобби

15 августа 2017 в 13:20

307

Платформа Arduino

Датчик температуры lm35 может использоваться во многих простых проектах, например, метеостанция на Ардуино. Рассмотрим на данном занятии простой аналоговый термодатчик LM35: как работает радиоэлемент, схема его подключения к Arduino UNO. Рассмотрим простой скетч для датчика температуры, который будет выдавать показания температуры на монитор компьютера или LCD дисплей.

Характеристики датчика lm35, описание

— питание: 2,7-5,5 Вольт; 

— потребляемый ток: 50 mkА; 

— диапазон температур: 10°C — 125°C

 — погрешность: 2 градуса.

Вместо lm35 можно использовать любой другой датчик температуры, например, TMP35, LM35, TMP37, LM335. Выглядит датчик как транзистор и поэтому его легко спутать, поэтому всегда внимательно читайте маркировку на радиоэлементах. Часто на основе данного датчика производители делают модули температуры для Ардуино (смотри фото выше). Если у вас только сам датчик lm35, то он имеет три вывода.

Если посмотреть на температурный сенсор lm35 со стороны контактов и срезом вверх (как на рисунке), то слева будет положительный контакт для питания 2,7-5,5 Вольт, контакт по центру — это выход, а справа — отрицательный контакт питания (GND).

Как подключить датчик lm35 к Ардуино

Для этого нам понадобятся:

– Плата Arduino Uno;

– Макетная плата;

– USB-кабель;

– температурный датчик LM35;

– 1 светодиод;

– 1 резистор 220 Ом;

– Провода «папка-папка».

Данный датчик аналоговый, поэтому на выходе мы имеем значения не 0 или 1, а непрерывное изменение напряжения в диапазоне от 0 до 5 вольт. Следовательно, мы должны подключить датчик lm35 к Arduino к аналоговым портам A0-A5 по схеме, изображенной далее. После сборки схемы загрузите простой скетч для снятия значений с аналоговых датчиков и вывода их в последовательный порт.

Соберите схему с lm35 и загрузите программу. Скачать готовый скетч можно здесь.

int temp; // освобождаем память для переменной “temp” void setup() // процедура setup { pinMode(A0, INPUT); // сенсор LM35 подключим к аналоговому входу A0 Serial.begin(9600); // подключаем монитор порта } void loop() // процедура loop { temp = analogRead(A0); // переменная находится в интервале 0 – 1023 Serial.println(temp); // выводим значение датчика на монитор delay(100); // ставим небольшую задержку }

Пояснения к коду:

  1. В первой строчке мы освободили память в микроконтроллере для переменой temp;
  2. Оператор int указывает, что значения temp могут принимать только целое число.

Калибровка температурного датчика lm35

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

int temp; // освобождаем память для переменной “temp” float grad; // освобождаем память для переменной “grad” void setup() // процедура setup { pinMode(A0, INPUT); // сенсор LM35 подключим к аналоговому входу A0 Serial.begin(9600); // подключаем монитор порта } void loop() // процедура loop { temp = analogRead(A0); // переменная находится в интервале 0 – 1023 grad = ( temp/1023.0 )*5.0*1000/10; // формулу можно изменять Serial.println(grad); // выводим значение температуры на монитор delay(100); // ставим небольшую задержку }

Пояснения к коду:

  1. Переменная float — это число с плавающей точкой, используется для аналоговых величин, поскольку позволяют описать их более точно, чем целые числа.;
  2. В формуле grad = ( temp/1023.0 )*5.0*1000/10; можно менять значения чисел, чтобы точнее откалибровать температурный датчик;

Мы в ВКонтакте

Наш канал на YouTube

Ссылка на источник

Об авторе

Источник: https://cyberhobby.ru/posts/show/100/

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

В этой статье мы рассмотрим популярные датчики температуры для 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 обладает малым нагревом прибора в нормальных условиях.

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

Предлагаемый проверенный и неплохо себя зарекомендовавший термостат работает в диапазоне 0 – 100°С. Он осуществляет электронный контроль температуры, коммутируя нагрузку через реле. Схема собрана с использованием доступных микросхем LM35 (датчик температуры), LM358 и TL431.

Схема электрическая термостата

Детали для устройства

  • IC1: LM35DZ температурный датчик 
  • IC2: TL431 прецизионный источник опорного напряжения 
  • IC3: двойной однополярный ОУ LM358. 
  • LED1: 5 мм светодиод
  • В1: PNP транзистор A1015
  • Д1 – Д4: 1n4148 и 1N400x кремниевые диоды
  • ZD1: стабилитрон на 13 В, 400 мВт
  • Подстроечный резистор 2.2 к
  • Р1 – 10к 
  • R2 – 4,7 М
  • Р3 – 1.2 К
  • Р4 – 1к
  • Р5 – 1к
  • Р6 – 33 Ом
  • С1 – 0.1 мкф керамический
  • С2 – 470 мкФ электролитический
  • Реле на 12 В постоянного тока однополюсное двухпозиционное 400 Ω или выше

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

Схема переключает реле в зависимости от температуры, определяемой однокристальным датчиком LM35DZ. Когда LM35DZ обнаруживает температуру выше, чем заданный уровень (установленный регулятором), реле срабатывает. Когда температура падает ниже заданной температуры – реле обесточивается.

Таким образом и удерживается нужное значение инкубатора, термостата, системы подогрева дома и так далее. Схема может питаться от любого источника переменного или постоянного тока 12 В, или от автономного аккумулятора. Существует несколько версий датчика температуры LM35:

  • LM35CZ и LM35CAZ (в to-92 корпусе) − 40 – +110C
  • LM35DZ (в to-92 корпус) 0 – 100с. 
  • LM35H и LM35AH (в-46 корпус) − 55 – +150C

Принцип работы

Как работает терморегулятор. Основой схемы является температурный датчик, который представляет собой преобразователь градусы – вольты. Выходное напряжение (на выводе 2) линейно изменяется вместе с температурой от 0 В (при нуле) до 1000 мВ (при 100 градусах).

Это значительно упрощает расчет цепи, так как нам нужно только обеспечить прецизионный источник опорного напряжения (TL431) и точный компаратор (А1 LM358) с целью построения полной тепловой управляемости коммутатором. Регулятор и резистор задают опорное напряжение (vref) 0 – 1.62 В.

Компаратор (А1) сравнивает опорное напряжение vref от (установленного регулятором) с выходным напряжением LM35DZ и решает, следует ли включить или выключить питание реле. Цель резистора R2 создать гистерезис, который помогает предотвратить дребезг реле.

Гистерезис обратно пропорционален значению R2.

Настройка

Никаких специальных приборов требуется. Например, чтобы установить 70С срабатывания подключите цифровой вольтметр или мультиметр через тестовые точки “ТР1” и “масса”. Отрегулируйте vr1, пока не получите точное значение 0,7 В на вольтметре. Другой вариант схемы, с использованием микроконтроллера, смотрите здесь.

Название Температурный диапазон Точность Погрешность Вариант исполнения Библиотека
DS18B20 -55С…125С +-0.

0625С

+-2% Существует в 3 видах —  8-Pin SO (150 mils), 8-Pin µSOP, и 3-Pin TO-92, последний изготавливается во влагозащитном корпусе. Onewire.

h

DHT11 0С…50С +-2С +-2% температура, +-5% влажность Изготавливается в виде готового прямоугольного модуля с 4 ножками, третья не используется. Также встречаются модули с тремя ножками и сразу установленным резистором на 10 кОм. DHT.

h

DHT22 -40С…125С +-0,5С +-0,5% температура, от +-2 до +-5% влажность DHT.h
LM35 -55С…150С +-0.5С (при 25С) +-2% Существует несколько видов корпуса: TO-46 (для датчиков LM35H, LM35AH,

LM35CH, LM35CAH,

LM35DH)

TO-92 (для датчиков LM35CZ, LM35CAZ,

LM35DZ)

SO-8 для датчика LM35DM

TO-220 для датчика LM35DT.

TMP36 -40С…150С +-1С +-2% Изготавливается в трехвыводном корпусе TO-92, восьмивыводном SOIC и пятивыводном SOT-23.

Источник: https://ArduinoMaster.ru/datchiki-arduino/podkluchenie-datchik-temperatury-arduino/

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}