Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Внешний термометр с трендом, максимальной и минимальной температурой

Компоненты и расходные материалы

Arduino UNO
× 1
Прецизионный датчик температуры TS-NTC-103, 10 кОм
× 1
Стандартный ЖК-экран Adafruit - 16x2, белый на синем
× 1
Источник питания RobotGeek 12 В постоянного тока 2.0A - США
× 1
Конденсатор 100 нФ
× 2
Конденсатор 470 мкФ
× 1
Металлопленочный резистор, допуск 10 кОм 0,1%
× 1
кнопка (обычно выключена)
× 1
Поворотный потенциометр (общий)
× 1
Резистор 10 кОм
× 1

Об этом проекте

Введение

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

Как его построить

Строить его довольно просто. Подключите компоненты, как показано на схеме. Выход 5 В на Arduino Uno должен быть подключен ко всем соединениям + 5 В (стрелки). Также соедините все контакты заземления. Термометр питается от внешнего источника питания 12 В постоянного тока, подключенного к Arduino. Загрузите скетч и загрузите его на свой Arduino, и все готово.

Что вам понадобится:

  • Arduino Uno
  • ЖК-дисплей 1602A
  • Источник питания 12 В постоянного тока.
  • B + B Thermo Technik TS-NTC-103 (10 кОм)
  • Металлопленочный резистор 10 кОм, допуск 0,1%
  • потенциометр 10 кОм, линейный
  • Резистор 820 Ом (допуск не важен, подойдет 10%, 5% или лучше)
  • Резистор 10 кОм (допуск не важен)
  • Конденсатор 0,1 мкФ (=100 нФ) 16 В (2 шт.)
  • Elco 470 мкФ 16 В
  • кнопка (обычно выключена)
  • Корпус, если вы хотите его встроить

Датчик, высокоточный NTC

NTC, который я использую, представляет собой прецизионный датчик температуры B + B Thermo Technik с сопротивлением 10 кОм. Этот датчик имеет допуск по сопротивлению при 25 ° C ± 0,5%. Датчики температуры NTC серии TS-NTC имеют широкий диапазон измерения -60 ... +150 ° C и, следовательно, подходят для применений, где до теперь использовались дорогие платиновые резисторы. Как базовое сопротивление, так и значение B находятся в пределах допуска ± 0,5%, так что компонент может использоваться во многих приложениях без температурной калибровки, а также может быть заменен без дополнительной настройки. Таким образом, с помощью простого измерения сопротивления можно достичь точности ± 0,12 K при 25 ° C. В диапазоне температур -60 ... + 85 ° C максимальная погрешность составляет около ± 0,5 К. Вы можете использовать любой другой высокоточный NTC, но тогда вам придется изменить коэффициенты Стейнхарта-Харта в эскизе, чтобы они соответствовали этому NTC (см. Приближение Стейнхарта-Харта).

Очевидно, что для высокоточных измерений температуры другой резистор делителя напряжения, включенный последовательно с NTC, также должен быть типа с низким допуском. Я использовал металлопленочный резистор 10 кОм, допуск 0,1%, 0,6 Вт, температурный коэффициент 25 ppm. Подойдет любой другой резистор с допуском не более 0,5%.

Кабель NTC улавливает шум

NTC находится вне дома. В моем случае с парой метров кабеля. Чтобы избежать помех от другого электрически «шумного» оборудования в доме, я поместил развязывающий конденсатор 0,1 мкФ от аналогового температурного входа Arduino Uno (вывод 14) на землю. После этого осциллограф все еще показывал некоторый шум на выводе 14. Шум был вызван часами ЖК-дисплея 1602. Он исчез после того, как разделительный конденсатор емкостью 0,1 мкФ был помещен между VDD и выводом Vss ЖК-дисплея. Этот конденсатор следует припаивать непосредственно к плате ЖК-дисплея, проводя провода как можно короче (не более 1 см).

Осциллограф показал, что сигнал на выводе 14 после этого был чистым. Чтобы избежать шума и пульсаций от импульсного источника питания, я поместил напряжение 470 мкФ между 5 В и землей Arduino

Размещение NTC

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

О программном обеспечении.

Библиотека LiquidCrystal включена для команд 1602 LCD. Объявлено несколько констант и переменных. Пожалуйста, прочтите комментарии в эскизе для получения дополнительной информации. A, B и C - коэффициенты Стейнхарта-Харта для NTC I. Для других NTC вам необходимо изменить эти коэффициенты. Целочисленный интервал в строке 17 определяет время между двумя последовательными измерениями, которое составляет 3 секунды. Для обеспечения плавного хода измерения температуры вычисляется текущее среднее значение из 30 последовательных измерений (numReadings в строке 22). Следовательно, отображаемая температура всегда является средней температурой за последние 90 секунд. Для вычисления скользящего среднего используется массив:readings [numReadings] или в данном случае readings [30] в строке 21. Каждое показание представляет собой целое число от 0 до 1023.

Приближение Стейнхарта-Харта

NTC (отрицательный температурный коэффициент) - это резистор с сопротивлением, зависящим от температуры. Сопротивление уменьшается при повышении температуры. К сожалению, связь между сопротивлением и температурой не прямолинейна. Но кривую R-T можно аппроксимировать формулой. На практике используются две аппроксимационные формулы. Так называемая Бета-формула и формула Стейнхарта-Харта. Поскольку последний дает наилучшее приближение, я использую именно его. Часто производитель дает нам значения для обоих приближений. Однако TS-NTC-103 можно использовать в широком диапазоне температур от -60 до +150 градусов по Цельсию. Поскольку мы используем его в гораздо меньшем диапазоне - прибл. -10 ... + 30 градусов Цельсия, мы получим лучшее приближение, если рассчитаем коэффициенты самостоятельно специально для этого диапазона. Я использовал три пары сопротивление-температура из спецификаций производителя в нашем рабочем диапазоне (-10, 0 и +20 градусов по Цельсию). Рассчитать коэффициенты просто с помощью онлайн-калькулятора Stanford Reasearch Systems. На диаграмме ниже вы видите данные (красные точки) приближения бета-модели и приближения Стейнхарта-Харта. В правом нижнем углу вы видите, что при номинале резистора 10 кОм приблизительная температура составляет 25 0035 градусов по Цельсию с приближением Стейнхарта-Харта, что довольно хорошо, и 25,7716 градусов по Цельсию с бета-приближением, что существенно хуже. (NTC составляет 10 000 при 25 градусах Цельсия)

Ссылка на NTCcalculator

Код

Ардуино
Версия 1.4 решает проблему соглашения в объявлении функции PrintPG (), которая вызывала ошибку компилятора в автономном редакторе, но без проблем в веб-редакторе версия 1.3 включает гистерезис для стрелки тренда

Схема


Производственный процесс

  1. Контроль доступа с помощью QR, RFID и проверки температуры
  2. Измерение температуры с помощью однопроводного датчика DS18B20 и Raspberry Pi
  3. Считать температуру с помощью DS18B20 | Raspberry Pi 2
  4. Измерение температуры с помощью RASPBERRY PI
  5. Датчик температуры Python и Raspberry Pi
  6. Простая температура и влажность на Raspberry Pi
  7. Мониторинг температуры с помощью Raspberry Pi
  8. Сделай сам:мониторинг и регулирование температуры для домашнего пивоварения
  9. Контролируемый мониторинг температуры в помещении Raspberry Pi с выводом изображения Gnuplot и возможностью оповещен…
  10. Датчик температуры и освещенности Raspberry Pi