






Коптильный комплекс на базе Arduino. Шаг 3 Датчики температуры
Начнем с датчиков температуры.... Я не буду глубоко вдаваться в теорию вопроса, но для раскрытия темы придется слегка обобщить материал.
Как уже сказано в "Шаге 0", прошивка позволяет легко менять различное подключенное оборудование. Определимся со списком этого оборудования.
На мой взгляд, на первое время будет достаточно реализовать подключение следующих датчиков:
- 1 : LM35 ( TMP35, TMP37, LM335) National Semiconductor(диапазон −55˚...150˚C точность + / - 0.75°C)
- 2 : 10 кОм (подтяжка 4.7К) NTC thermistor(диапазон -55…125 °C точность + / - 0.5°C) стоит в KY-013
- 3 : 100 кОм (подтяжка 4.7К) ATC Semitec 104GT-2 thermistor (диапазон -50…300 °C точность + / - 0.6°C)
- 4 : 200 кОм (подтяжка 4.7К) ATC Semitec 204GT-2 thermistor (диапазон -50…300 °C точность +/- 0.6°C) (добавлено 28 10 2017)
- 5 : DS18B20 ATC Semitec 104GT-2 thermistor (диапазон -50…125 °C точность + / - 0.6-2.0°C) стоит в KY-001
- 6 : MAX6675 + К-тип термопара (диапазон -200˚...1350˚C точность +/- 0.25°C) (добавлено 29 09 2017)
- 7 : BME280 (диапазон -40 до + 85 °C точность + / - 1°C)
- 8 : HTU21D (SHT21, Si7021 HDC1080) (диапазон −40˚...125˚C точность + / - 0.4°C)
- 9 : SHT31 (диапазон 0%...100% точность +/- 2%) + Т -40-125°C +/- 0.2°C
- 10 : AM2305/DHT22(диапазон 0%...100% точность +/- 2%) + Т -40-125°C +/- 0.4°C
Список конечно можно расширять, если это нужно....
Почему именно они?
Это популярные представители основных семейств датчиков температуры в массовом сегменте.
LM 35 - представитель семейства "интегральных датчиков температуры"
Это датчики у которых выходное напряжение пропорционально температуре по шкале Цельсия. Очень простое подключение и код для контроллера. Низкая цена. Но не терпит "вольностей" при монтаже.. Все экранируем, ставим RC цепочки... и.т.д. Смотрим
datasheet LM35.pdf (306.53 КБ)
Скачано: 408.
Основная ценность этих датчиков в том, что у них ЛИНЕЙНАЯ зависимость значения напряжения на выходе от температуры. Коэффициент 10 мВ/ °C.
10 кОм/100 кОм/200 кОм терморезисторы Точные, экономичные, живучие при высоких температурах, стабильные... в общем все вроде чудесно.. Картину портит нелинейность параметров. На разных температурах значение сопротивления на градус разные. Эта особенность отбила желание применять их у многих. Причем эти многие, не понимая причины, кричат "врут", "большая погрешность"... и.т.д. И при этом бурно аплодируют всяким "цифровым" заменителям у которых внутри они же и стоят.. Есть дрейф показателей со временем.... Да, есть трудности пересчета значений, но при нормальном подходе все очень даже не плохо..
DS18B20 Один из самых распространенных представителей семейства "цифровых датчиков температуры". Такой "крепкий середнячёк". Все у него без рекордов, средняя точность, не очень экономичные, склонны к саморазогреву и смерти на низких температурах. Требуют контроллер для снятия показаний. Но функциональность отличная... Имеют память где хранят значения, сигналят о превышении порогов температуры, 2 вида питания основное/паразитное (правда на паразитном питании сужается диапазон).... В общем заслуженно попал в список.
MAX6675 + К-тип термопара Arduino контроллеры не в состоянии переварить данные от термопары, возможности АЦП не позволяют этого. Но если пропустить через дополнительный модуль это становится реальным. Говорить про термопару нечего, достаточно посмотреть на характеристики. (добавлено по комментарию)
AM2305, SHT31, BME280 и HTU21D - комбинированные датчики которые измеряют не только температуру но и влажность, а BME280 еще и давление. Подробней остановлюсь на них в следующем шаге. Так как попали они в список по теме влажности.. А температура уже "прицепом"...
Подключение к контроллеру
Сопротивления на 4,7 кОм нужно подобрать/купить/найти как можно более точные....
Программные вопросы
- Выбор датчиков
В конфигурации просто поменять цифру типа датчика на нужную.
Если у Вас есть уличный температурный датчик (он является дополнительным оборудованием) установите в строке #define TEMP_SENSOR_EXT тип нужного датчика . Это действие подключит датчик наружной температуры.. Все просто.
Напоминаю: в программе существует поправка показаний датчиков. Она меняет +/- на всем диапазоне измерений..
- Точность
LM35 - с ним все очень просто, расчет линейный, реализовано 3 уровня точности.
Для выбора точности поменяйте в этом месте значение:
10 кОм/100 кОм терморезисторы - расчет идет не по формуле а через массив значений. Где значению АЦП соответствует свое значение температуры:
Левая колонка - значение АЦП, правая - Температура....
Если у Вас стандартный терморезистор - ничего менять не нужно... Если непонятно что.. то тут можно подправить в нужную сторону значения АЦП...
Например: в диапазоне 15-55 градусов температура отличается от 1 до 0.5 градусов, свыше 55 температура точная...
Первый путь - Заносим в табличный редактор колонку АЦП, посчитали кол-во строк где нужно поменять. Поделили, получили вес 1 строки. Пропорционально разбросали поправку..
Второй путь - Плавно нагревая датчик, контролируем по поверочному прибору температуру и снимаем показания АЦП. Вносим их в таблицу.
- Усреднение
Цифровые датчики сами усредняют показания, в случае аналоговых это сделано программно.
На экране Вы видите не фактические показания аналоговых датчиков, а усредненные за период. Если что-то не нравится, можно изменить эти интервалы. Меняем их в переменных:
Например: хотим обновлять на экране раз в 2 секунды
Меняем 3000 на 2000.
Сами датчики опрашиваются чаще, если мы хотим за 2 секунды делать 10 замеров то меняем 300 на 200. Если 5 замеров то меняем 300 на 600 и у переменной "const int NumRead" поменяем значение с 10 на 5.
А можно ничего не менять, выбрать свои датчики и пользоваться.... У меня с такими настройками все норм показывает...
Надеюсь понятно описал....
- Установка
Подготовил новый релиз программы с подключенными датчиками температуры.
Необходимо скачать библиотеку OneWire. Скачать.
Те кто ставит первый раз, не забываем установить шрифты. Там все картинки.
И заменить прошивку контроллера.
TARNET8.RAR (12.6 КБ)
Скачано: 458 (Устарела, см. более свежие версии выше)
Так как дополнил список новыми датчиками, дополню эту статью после получения их по почте. Без практической проверки работоспособности кода публиковать его не буду.
Следующий шаг - "Вентиляторы"
Спасибо за внимание))
- vash, viktor25, Константин М и 5 другим пользователям это нравится
А такой штукенс - https://ru.aliexpres...2753850553.html
имеет низкую цену и резьбу для крепления.
И еще. Датчик температуры можно сказать вечный, а вот датчик влажности работает в агрессивной среде и будет часто выходить из строя. Надо искать относительно точный и самый дешевый.