Термодатчик для ардуино своими руками

Arduino: Делаем самостоятельно датчик температуры

arduino232 1

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

Принципиальная схема платы:

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

arduino232 2
РИС 2

arduino232 3
Фото 1

1. Помещаем датчик в среду с температурой Т1 (19,9 ГрадС)и записываем значение цифрового отсчета Ud1 (450)

2. Помещаем датчик в среду с температурой Т2 (-2,8 ГрадС) и записываем значение цифрового отсчета Ud2 (503) для этой температуры

3. Получив систему линейных уравнений : Т1=A-B*Ud1 и T2=A-B*Ud2

Разрешая их относительно неизвестных A и B получаем А=0,46, а В=229,5

Теперь несложно вычислить реальную температуру при любом полученном цифровом значении Ud по формуле 1.1. Ниже приведен фрагмент скетча где этот момент явно виден в моменте перехода переменной gett от целочисленного значения к значению с плавающей точкой.

Ниже дается фрагмент кода настроечных параметров АЦП с уравнением перевода цифрового отсчета падения напряжения на диодном датчике в значение реальной температуры.

При работе с другими видами Ардуино необходимо руководствоваться DataSheets применяемого микроконтроллера в части использования АЦП, где последний, необходимо настроить на работу с выбранным каналом аналогового ввода, с использованием встроенного источника опорного напряжении, к которому предполагается подключение блокировочного конденсатора. Кстати такой конденсатор, емкостью 0,1 МкФ необходимо установить также параллельно диодному датчику, т.к. при малых токах диоды имеют свойство формировать «белый шум» из-за которого показания будут искажаться и «прыгать».

arduino232 4
РИС 4 (плата Ардуино на схеме не показана)

arduino232 5
ФОТО 2

arduino232 6Фото 3

1. Чистяков Н.И. Справочная книга радиолюбителя-конструктора М. «Радио и связь» (1990)

Источник

Термостат на arduino и DS1820

1481443450 pic 0003

Изначально термостат делался просто как термометр, для контроля температуры за окном. Затем во время морозов, стала подмерзать картошка в подполье и был добавлен функционал для контроля за микроклиматом. Паспортные данные коммутационного реле – 250В и 10А( 2,5кВт). Т.к жара в подполье не нужна, тэна на киловатт вполне хватит.

Необходимые материалы и инструменты:
-коробка от средство ухода за обувью
-USB-зарядка для для телефона(любая,не менее 0,7А)
-Arduino-Pro-Mini
-2-х строчный 8 символьный дисплей(WH0802A-NGA-CT он более компактный)
-энкодер с кнопкой (можно приобрести в любом радиомаг, кнопку можно и не встроенную)
-шильд с 5В реле (я приобрел в свое время кучу китайских реле без опторазвязки, поэтому мне понадобился еще Оптрон PC817 и резистор на 470 Ом. Если у вас на шильде собрана опторазвязка, то вы можете подключить шильд непосредственно к порту arduino)
-USB-разъем
-2 USB-удлинителя 3 метровых (один для шнура питания, ко второму подпаяем DS1820)
— DS1820 (с любой буквой)
-паяльник
-клеевой пиcтолет
-шильд FTDI232

Шаг 1: Первым делом нам надо прошить ардуинку, т.к у меня Pro Mini (она идет без преобразователя USB-RS232) мне необходимо впаять линейку с пинами на ардуинку. С той стороны где выведены DTR, TXD, RXD, VCC, GND, GND. Теперь соединяем FTDI232 DTR к DTR, VCC к VCC, GND к GND, TXD к RXD, RXD к TXD. Запускаем arduino IDE загружаем скетч и прошиваем(скетч в конце).

1481026463 pro mini modul atmega328 5 v 16 m dlya arduino sovmestimyy s

1481026481 ft232rl ftdi basic usb posledovatelnyy port dlya arduino pro mini skachat kabel usb k 232

Шаг 2: Теперь займемся корпусом. Отрываем губку у «ФУКС», все хорошо обезжириваем, глубокую часть коробочки можно пройти наждачкой (что-бы крепче приклеилось). Размечаем отверстие под энкодер, USB-разъем(маму) и сам дисплейчик. На крышку коробки приклеиваем реле. Надо постараться расположить реле подальше от процессора и расположить компоненты так, что-бы потом крышка закрылась (место предостаточно).

Шаг 3: Теперь берем USB-удлинитель отрезаем разъем гнездо (мама). Разделываем отрезанный конец, сверлим в корпусе отверстие под кабель, просовываем его и проклеиваем кл.пистолетом. Плюс у кабеля красный, минус черный(я на всякий проверяю), плюс на плюс разъема, минус на минус (распиновку разъема я не привожу – в инете есть). Между плюсом разъема и 2 средними(у меня они соединены) надо распаять резистор 4.7кОм.

1481026652 snapshot 20161206 1

1481026711 doc001204975

1481026783 termostat

Шаг 5: Все компоненты схемы соединены. Подключаем наш датчик(без него дисплей останется черным),подаем питание. В первой строке – значение температуры, во 2 если горит “*” – реле вкл, нет – выкл. Теперь попробуем выставить пределы переключения реле. Нажимаем вал энкодера(или вашу кнопку) появится значение предела при котором реле будет включаться, вращая вал – значение увеличивается или уменьшается. Нажав на вал еще раз – получим верхний предел(реле будет выключаться),выставляем значение и нажимаем еще раз. Прибор будет контролировать температуру, значение пределов сохраняется при отключении питания. Все.

Источник

Делаем термометр на основе Arduino UNO и датчика DS18B20

В этом уроке мы будем использовать датчик температуры DS18B20 с Arduino UNO для создания термометра. Датчик DS18B20 является хорошим вариантом, когда в проекте с высокой точностью требуется хорошая реакция. Мы покажем как подключить DS18B20 к вашему Arduino UNO и отобразить данные температуры на ЖК-дисплее 16×2.

Обзор датчика DS18B20

Датчик DS18B20 взаимодействует с Arduino через 1-проводную шину. По определению для связи с Arduino требуется только одна линия данных (и земля).

DS18B20

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

Особенности DS18B20

arduino termometr modul

datchik temperaturi

Требования к комплектующим

Требования к оборудованию для вашего термометра достаточно стандартные, нам пригодятся:

arduino termometr 1

arduino termometr 2

arduino termometr 3

arduino termometr 4

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

Сделайте соединения согласно приведенной ниже схеме.

arduino termometr shema

Соединяем датчик и Ардуино

Соединения для ЖК-дисплея и Arduino UNO

Подключите потенциометр, как показано выше, к контакту 3 на ЖК-дисплее, для управления контрастностью.

Этот проект работает на температурах до 125° C. В случае наличия некоторого диссонанса в значении показанной температуры дважды проверьте соединения с резистором, подключенным к DS18B20. После соединения всего, что описано выше, мы можем перейти к программированию.

Исходный код для термометра

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

После скачивания обеих библиотек переместите файлы в папку библиотек Arduino по умолчанию. Затем скопируйте код в IDE Arduino и загрузите его после двойной проверки правильности подключения вашего датчика.

Примерно это выглядит так:

arduino termometr 5

Мы смогли измерить температуру до 100°C с помощью этого датчика! Он очень отзывчив.

arduino termometr itog

После того, как вы создали проект, потестируйте устройство, погрузив датчик в горячую и холодную воду.

Источник

Лазерный инфракрасный термометр Arduino

В этом проекте мы создадим цифровой лазерный инфракрасный термометр на основе Ардуино и в распечатанном 3D-корпусе.

Шаг 1. Вступление

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

arduino lazer termometr

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

Это простой проект, который можно использовать как отличное введение в сенсоры, 3D дизайн или печать, электронику и программирование.

Шаг 2. Необходимые компоненты

Компоненты, необходимые для сборки нашего инфракрасного термометра Ардуино приведены ниже:

Многие компоненты можно приобрести в большинстве интернет-магазинов.

Шаг 3. Инфракрасный датчик температуры GY-906

gy 906

Я использовал датчик инфракрасного термометра GY-906, который является переходной платой для бесконтактного инфракрасного термометра MLX90614 от Melexis.

Выносная плата очень недорогая и ее легко интегрировать, поставляется с подтягивающими резисторами 10К для интерфейса I2C.

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

Шаг 4. Электроника

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

arduino ik shema 1

Схема нашего устройства (нажмите на схему для увеличения):

arduino ik shema

Слева у нас есть наш лазер с токоограничивающим резистором 200 Ом, управляемый от цифрового выхода 5. Также есть стандартная кнопка, которая подключена между 5 В и цифровым входом 2. Есть подтягивающий резистор 5 кОм, чтобы когда переключатель разомкнут, на вход ничего не идет, а вместо этого устанавливается на 0 В.

Справа у нас есть основной выключатель, который соединяет нашу батарею 9 В с выводами VIN и GND на Arduino Nano. Дисплей OLED и инфракрасный датчик температуры GY-906 подключены к 3,3 В, а линии SDA подключены к A4, а SCL к A5. На дисплее и GY-906 уже есть подтягивающие резисторы на линиях I2C.

Шаг 5. Программирование

Нужно будет установить следующие библиотеки, чтобы код компилировался.

Программа постоянно считывает данные о температуре с MLX90614, но отображается на OLED только при нажатии кнопки триггера. Если нажать на курок, лазер также включается, чтобы помочь определить, какой объект измеряется.

Код для нашего инфракрасного термометра Ардуино ниже:

Шаг 6. Делаем 3D-корпус

arduino ik korpus

Все создано в Fusion 360. В основании термометра есть место для батареи 9 В, переключателя Вкл/Выкл и спускового механизма (триггера), который представляет собой простую кратковременную кнопку. Крышка основания защелкивается на месте. Есть также пространство для прокладки проводки базовых компонентов в верхней части термометра.

Имеется отверстие для 0,96-дюймового OLED-дисплея и передняя часть на конце термометра для лазера и датчика MLX90614. Как лазер, так и датчик могут быть запрессованы в отверстие. Верхняя часть предназначена для Arduino Nano, и, честно говоря, я действительно недооценил количество проводов, необходимое для подключения в небольшом пространстве.

Все файлы можно скачать по этой ссылке.

Теперь, когда у вас есть лазерный инфракрасный термометр, собранный и запрограммированный, пришло время проверить его!

Нажмите кнопку питания и подождите пока загрузится дисплей.

Источник

Автоматическая регулировка температуры в доме с помощью терморезистора и Arduino

Наверняка многие из вас задумывались об автоматической регулировке температуры в доме – то есть чтобы нагрев дома включался автоматически (без вашего участия) при понижении температуры ниже некоторого минимального порога. В этой статье мы рассмотрим подобный проект автоматического управления температурой в доме на основе использования платы Arduino и терморезистора. Ранее на нашем сайте мы уже рассматривали подключение терморезистора к плате Arduino.

control relay using arduino based on temperature 0

Необходимые компоненты

Работа схемы

Схема устройства представлена на следующем рисунке.

control relay using arduino based on temperature circuit diagram

Схема содержит такие элементы как плата Arduino, ЖК дисплей, реле (Relay) и терморезистор (термистор). При повышении температуры реле будет включаться, а при понижении температуры ниже заданного порога – выключаться. Реле управляет цепью электрической лампочки – оно выполняет роль домашнего устройства, управляемого в зависимости от температуры. Весь процесс измерения температуры и включения/выключения лампочки выполняется платой Arduino. Также плата Arduino выводит информацию о температуре и статусе системы на экран ЖК дисплея.

Реле (Relay)

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

spdt relay working

Когда к катушке реле не приложено никакого напряжения общий провод реле COM соединен с контактом NC (normally closed contact – нормально замкнутым контактом). Когда же к катушке реле будет приложено управляющее напряжение, то оно переключит рычаг (якорь) реле и тогда контакт COM будет уже соединен с контактом NO (normally open contact – нормально разомкнутым контактом), что позволит сравнительно большому току протекать через эти контакты. Реле изготавливаются на различные номиналы напряжения, мы в нашем проекте использовали реле на 5 В, которое позволяет коммутировать переменный ток 7A-250VAC.

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

5v relay driver circuit module 0 rotated

Внутренняя схема соединений реле показана на рисунке ниже и она содержит в своем составе транзистор, диод и резистор.

5v relay driver circuit module circuit diagram 0

Расчет температуры с помощью терморезистора

Схема используемого нами делителя напряжения представлена на следующем рисунке.

formation of voltage divider circuit by thermistor and resistor 0

Напряжение на терморезисторе в этой схеме можно определить из известного напряжения:

Из этой формулы можно выразить значение сопротивления терморезистора Rt (R – известное сопротивление 10 кОм):

Значение Vout мы затем будем определять в коде программы с помощью считывания значения на выходе АЦП на контакте A0 платы Arduino.

Математически, сопротивление терморезистора можно вычислить с помощью известного уравнения Стейнхарта-Харта (Stein-Hart equation).

T = 1/(A + B*ln(Rt) + C*ln(Rt) 3 ).

В этой формуле A, B и C — константы, Rt – сопротивление терморезистора, ln — натуральный логарифм.

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

Объяснение программы для Arduino

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

Источник

Поделиться с друзьями
admin
Здоровая спина
Adblock
detector