Электротехнический интернет-журнал Electrik.info

"Электрик Инфо" - онлайн журнал про электричество. Теория и практика. Обучающие статьи, примеры, технические решения, схемы, обзоры интересных электротехнических новинок. Уроки, книги, видео. Профессиональное обучение и развитие. Сайт для электриков и домашних мастеров, а также для всех, кто интересуется электротехникой, электроникой и автоматикой.
 

 

  • Как отличить хороший самозажимной клеммник от подделки
  • Почему горят ТЭНы на водонагревателях и стиральных машинах и как их заменить
  • Способы и схемы управления тиристором или симистором
  • Стрелочные и цифровые мультиметры - достоинства и недостатки
  • Что такое биодинамическое освещение
  • Устройство плавного пуска электродвигателя: назначение, устройство и принцип работы, преимущества, схема подключения
  • Электрик  

    Электрик Инфо » Схемы на микроконтроллерах » Измерение температуры и влажности на Arduino – подборка способов
    Количество просмотров: 15907
    Комментарии к статье: 0


    Измерение температуры и влажности на Arduino – подборка способов

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

    Измерение температуры и влажности на Arduino – подборка способов

    Измерение терморезистором

    Самым простым способом определения температуры является использование терморезистора. Это вид резистора сопротивление которого зависит от температуры окружающей среды. Выделяют терморезисторы с положительным и отрицательным температурным коэффициентом сопротивления – PTC (еще называют позисторы) и NTC-терморезисторы соответственно.

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

    График зависимости сопротивления от температуры

    Что мы здесь видим? Первое что бросается в глаза – это то, что у PTC-терморезистора график ломанный и измерять ряд значений температуры будет затруднительно или невозможно, а вот у NTC терморезистора график более-менее равномерный, хоть и явно нелинейный. Что это значит? С помощью NTC терморезистора легче измерять температуру, потому что легче выяснить, функцию по которой изменяются его значения.

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

    Даташит TC-терморезисторов от компании Vishay

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

    Для описания этого изменение существует уравнение Штейнхарта-харта.

    Уравнение Штейнхарта-харта

    где A, B и C – это константы термистора определяемые по измерениям трёх температур с разницей не менее 10 градусов Цельсия. При этом разные источники указывают, что для типичного 10 кОм NTC-термистора они равны:

    Константы термистора

    Примечание:

    Кто хорошо понимает технический текст на английском языке и любит вычисления может ознакомиться со следующим документом: https://www.bipm.org/utils/common/pdf/ITS-90/Guide-SecTh-Thermistor-Thermometry.pdf

    Это брошюра об измерениях температуры с помощью термистора выпущенная Консультативным комитетом по термометрии (ККТ).

    Однако использование такого уравнение трудоёмко и в любительских проектах неоправданно, поэтому можно воспользоваться beta-уравнением для термистора.

    B – бета-коэффициент, он рассчитывается на основе измерения сопротивления для двух различных температур. Указывается либо в даташите (что проиллюстрировано ниже), либо вычисляется самостоятельно.

    B – бета-коэффициент из даташита

    При этом B указывается в виде:

    бета-коэффициент

    Это значит, что коэффициент высчитывался исходя из данных полученных при измерении сопротивления при температурах 25 и 100 градусов Цельсия, именно такой вариант распространён более всего. Тогда его высчитывают по формуле:

    B = (ln(R1) – ln(R2)) / (1/T1 - 1/T2)

    Типовая схема подключения термистора к микроконтроллеру изображена ниже.

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

    Здесь R1 – это постоянный резистор, термистор подключается к источнику питания, а данные снимаются со средней точки между ними, на схеме условно указано, что сигнал подаётся к выводу A0 – это аналоговый вход Ардуино.

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

    Для расчета сопротивления термистора можно использовать следующую формулу:

    Rтермистора=R1⋅((Vсс/Vвыход)−1)

    Чтобы перевести в понятный для ардуино язык нужно вспомнить о том, что у ардуино 10-битный АЦП, значит максимальное цифровое значение входного сигнала (напряжением 5В) будет равно 1023. Тогда условно:

    • Dmax = 1023;

    • D – фактическое значение сигнала.

    Тогда:

    Rтермистора=R1⋅((Dmax /D)−1)

    Теперь используем это для вычисления сопротивления и последующего вычисления температуры термистора с помощью бета-уравнения на языке программирования для Ардуино. Скетч будет таким:

    Скетч

    DS18B20

    Еще большую популярность для измерения температуры с помощью. Ардуино нашёл цифровой датчик DS18B20. Он связывается с микроконтроллером по интерфейсу 1-wire, вы можете подсоединить несколько датчиков (до 127) на один провод, а для обращения к ним вам придётся узнать ID каждого из датчиков.

    Примечание: ID вы должны знать даже если используете всего 1 датчик.

    Цифровой датчик DS18B20

    Схема подключения датчика ds18b20 к Ардуино выглядит так:

    Схема подключения датчика ds18b20 к Ардуино
    Схема подключения датчика ds18b20 к Ардуино

    Также есть режим паразитного питания – его схема подключения выглядит так (нужно два провода вместо трёх):

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

    В таком режиме не гарантируется корректная работа при измерении температуры выше 100 градусов Цельсия.

    Цифровой датчик температуры DS18B20 состоит из целого набора узлов, как и любая другая ЦИМС. Её внутреннее устройство вы можете наблюдать ниже:

    Цифровой датчик температуры DS18B20

    Для работы с ним нужно скачать библиотеку Onewire для Ардуино, а для самого датчика рекомендуется использовать библиотеку DallasTemperature.

    Скетч

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

    DHT11 и DHT22 – датчики влажности и температуры

    DHT11 и DHT22 – датчики влажности и температуры

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

      DHT11  DHT22
    Определение влажности в диапазоне 20-80% 0-100%
    Точность измерений 5% 2-5%
    Определение температуры от 0°C до +50°C от -40°C до +125°C
    Точность измерений 2,5% плюс-минус 0,5 Градусов Цельсия
    Частота опроса 1 раз в секунду 1 раз в 2 секунды
    Схема подключения датчика влажности к ардуино

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

    • 1 вывод – питание;

    • 2 вывод – данные;

    • 3 вывод – не используется;

    • 4 вывод – общий провод.

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

    Схема подключения датчика влажности в виде модуля к ардуино

    Для работы нам нужна библиотека dht.h её нет в стандартном наборе, поэтому её нужно скачать и установить в папке libraries в папке с arduino IDE. Она поддерживает все датчики этого семейства:

    Пример использования библиотеки:

    Пример использования библиотеки

    Заключение

    В наше время создать свою станцию для измерения температуры и влажности очень просто благодаря платформе Arduino. Стоимость таких проектов составляет 3-4 сотни рублей. Для автономной работы, а не вывода данных на компьютер, может использоваться символьный дисплей (их мы описывали в недавней статье), тогда можно построить портативный прибор для использования как дома, так и в машине. Пишите в комментариях что еще вы хотели бы узнать о простых самоделках на ардуино!

    Смотрите также по этой теме: Популярные датчики для Arduino - подключение, схемы, скетчи

    Покупки в Aliexpress с кэшбэком

    Алексей Бартош

    Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте сеть умных гаджетов!

    Записывайтесь в онлайн-университет от GeekBrains:

    Факультет Интернет вещей

    Обучение Интернет вещей и современные встраиваемые системы

    Вы сможете:

    • Изучить C, механизмы отладки и программирования микроконтроллеров;

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

    • Получить удостоверение и сертификат, подтверждающие полученные знания.

    Starter box для первых экспериментов в подарок!

    После прохождения курса в вашем портфолио будет: метостанция с функцией часов и встроенной игрой, распределенная сеть устройств, устройства регулирования температуры (ПИД-регулятор), устройство контроля влажности воздуха, система умного полива растений, устройство контроля протечки воды...

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

    Подробнее здесь: Интернет вещей и современные встраиваемые системы






    Поделитесь этой статьей с друзьями:

    Другие статьи с сайта Электрик Инфо:

  • Самые популярные датчики для Arduino
  • Подключение аналоговых датчиков к Ардуино, считывание показаний датчиков
  • Датчики температуры. Часть вторая. Терморезисторы
  • Датчики влажности - как устроены и работают
  • Чем отличаются аналоговые и цифровые датчики
  • Применение моста Уитстона для измерения неэлектрических величин
  • Промышленные датчики температуры
  • Датчики температуры. Часть четвертая. Еще несколько видов термодатчиков
  • Пример использования современных средств автоматизации в теплице, как сдела ...
  • Какой датчик температуры лучше, критерии выбора датчика
  • Категория: Схемы на микроконтроллерах

    Датчики, Аналоговая электроника, Электрические измерения, Программирование Ардуино, Ардуино, Arduino для начинающих

    Добавление комментария
    Имя:*
    Комментарий:

    Популярные статьи:

    Присоединяйтесь к нам в социальных сетях:

    ВКонтакте | Facebook | Одноклассники | Яндекс Дзен

     


    Популярные разделы сайта:

    Электрика дома  Электрообзоры  Энергосбережение
    Секреты электрика Источники света Делимся опытом
    Домашняя автоматика Электрика для начинающих
    Практическая электроника Электротехнические новинки

    Copyright © 2009-2021 Электрик Инфо - Electrik.info, Андрей Повный
    Вся информация на сайте предоставлена в ознакомительных и познавательных целях.
    За применение этой информации администрация сайта ответственности не несет.
    Перепечатка материалов сайта запрещена.

    Источник иллюстраций: авторские рисунки и фотографии, электрика на стоковых фото