Подключение датчика температуры



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

 

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

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

  • нож с тонким лезвием;
  • пассатижи, кусачки;
  • многожильный провод (для подачи питания);
  • паяльник.

Теперь можно все сделать самостоятельно.

Инструкция по подключению датчика температуры


  1. Необходимо знать, что датчик — это шнур, который имеет длину более 2 м, а на конце такого шнура и находится сам прибор, измеряющий температуру (в большинстве случаев такой прибор выделяется иным цветом, чем шнур, как правило, он черный).
  2. Подключить устройство можно следующим образом: он подключается к аналого-цифровому преобразователю. Его функция заключается в том, чтобы перевести аналоговый сигнал с датчика (напряжение или ток) в цифровой. Один вывод (это может быть любой вывод) должен быть заземлен, а другой должен быть подключен к регистру, который имеет сопротивление 3-4 Ом.
  3. Такие приборы нужно подключить к определенному модулю (это может быть система сбора информации), после этого посредством USB-интерфейса вся информация, которая была получена, отправляется на персональный компьютер. На таком компьютере установлена специальная программа, которая отображает и может выполнять разные действия, используя переданную информацию. Программа содержит много функций, в процессе работы все они могут понадобиться. Некоторые современные модели систем сбора информации имеют дисплеи, с помощью которых можно наблюдать за результатом после того, как процесс измерения температуры произведен.

Для чего используются разные схемы подключения?

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


Это лучше показать на конкретном примере: если прибор Pt100 при температуре 0 градусов Цельсия (сопротивление 100 Ом) будет подключен по двухпроводной схеме посредством медного провода, который имеет сечение 0,12 мм², а соединительный кабель имеет длину 3 м, то 2 провода вместе дадут сопротивление около 0,5 Ом. Именно в результате этого и получается погрешность, так как в сумме датчик даст показатель 100,5 Ом, а это идентично температуре приблизительно 101,2 градуса Цельсия.

Если подключение осуществлено таким образом, то погрешность может создать определенные проблемы, но их можно избежать. Для этого используется специальный корректирующий прибор (использовать его можно только в том случае, если аппарат это позволяет), корректировка вводится на 1,2 градуса. Однако с помощью такой корректировки полностью компенсировать сопротивление проводов датчиков не получится, поскольку медные провода — это термосопротивления, то есть показатель этих проводов подвержен изменениям под влиянием температуры. Например, часть проводов с нагреваемой камерой, которая имеется вместе с устройстыом нагревателя, не меняет сопротивление, а та часть проводов, которая находится за пределами камеры, может меняться под воздействием температуры в помещении.

В этом случае сопротивление проводов 0,5 Ом при нагреве на каждые 250 градусов становится больше почти в 2 раза, что необходимо учитывать.


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

При использовании такой схемы подключения можно получить относительно высокую точность даже в том случае, если сопротивление проводов оказывает значительное влияние на точность измерения. Тем не менее, такая схема не учитывает, что провода из-за погрешностей изготовления могут иметь разную степень сопротивления (причины могут быть разными — неоднородность материала, изменение сечения по длине и иные причины). Если длина проводов маленькая, то такие погрешности вводят небольшие отклонения в отображаемой температуре при использовании двухпроводной схемы подключения, но если провода имеют большую длину, то отклонения могут быть очень существенными. В этих случаях необходимо применять четырехпроводную схему подключения, прибор в такой схеме измеряет непосредственно сопротивление датчика, соединительные провода при этом не учитывается.

Двухпроводная схема подключения проводов применяется в следующих случаях:

  • если измерительный диапазон небольшой (не превышает 40 градусов), а высокая точность не требуется (погрешность в 1 градус допустима);
  • если провода соединения с большим сечением и небольшой длины, тогда сопротивление проводов небольшое по сравнению с аналогичными показателями прибора и существенной погрешности не наблюдается. Если сопротивление двух проводов в сумме составляет 0,1 Ом на градус, нужная точность 0,5 градуса, то есть получается меньшая погрешность, чем допустимая.

Трехпроводная схема подключения датчиков температуры применяется в следующих случаях:

  • такая схема подключения является одной из самых распространенных, применяется для измерений на расстоянии датчика от 3 до 100 м, таким образом, в диапазоне до 300 градусов допустимо иметь погрешность около 0,5 процента. Для прецизионных измерений с точностью до 0,1 градуса применяется четырехпроводная схема подключения.

Проверка датчиков температуры

После того как подключается такой прибор, надо проверить, как он работает. Для этого потребуется обычный тестер для измерения, а для датчиков с сопротивлением 0 градусов до 100 Ом оптимальный диапазон измерения тестера до 200 Ом.

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


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

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

Техника безопасности

  1. Устройство разбирать нельзя, все работы необходимо проводить в резиновых перчатках, если оборудование повреждено, если на кабелях электропитания отсутствует изоляция или она повреждена, то установку осуществлять нельзя. Нужно помнить о том, что с электричеством шутки плохи, и если не соблюдать технику безопасности, все может закончиться очень плохо.
  2. Такие приборы могут осуществлять помехи, они отрицательным образом могут сказаться на работе других устройств, которые находятся поблизости. Это нужно учитывать, поэтому все аппараты, которые работают на электричестве, во время проведения работ должны быть отключены.
  3. Если возникли какие-то сложности, необходимо, чтобы все работы осуществляли квалифицированные специалисты. Используя приведенные выше инструкции, все можно сделать самостоятельно, однако если возникли проблемы, то лучше не рисковать и доверить их устранение специалистам.
  4. После завершения всех работ нужно убедиться в том, что прибор прочно закреплен в определенном месте. Этот фактор является очень важным, забывать об этом не стоит.
  5. При осуществлении таких работ нужно не забывать о том, что оборудование обладает крайней чувствительностью к воде и к влажности.
  6. Любые работы, связанные с электричеством, категорически запрещены во время грозы.

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

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

1poteply.ru

Краткий обзор популярных цифровых датчиков температуры

Выбор датчика температуры нужно делать с учетом целого ряда параметров. Речь идет не только о метрологических характеристиках – диапазоне температур, точности, разрядности. Очень часто при поиске оптимального сенсора на первое место ставят такие качества как уровень потребления, габариты, простота подключения, возможность параллельной работы нескольких датчиков в сетевой конфигурации и так далее. Все это приводит к тому, что «идеального» сенсора, подходящего для всех случаев жизни, не существует, и разработчикам приходится искать компромиссные варианты.


Сейчас среди разработчиков популярны датчики температуры, которые работают с одно- или двухпроводными шинными интерфейсами: 1-wire, I²C, SMAART и так далее. Это позволяет использовать микроконтроллеры с малым числом выводов для одновременной работы с множеством датчиков. Рассмотрим достоинства и особенности некоторых популярных сенсоров (таблица 2).

Таблица 2. Характеристики популярных датчиков температуры


Параметр DS18B20 STLM75 TMP107 LMT01
Производитель Maxim Integrated STMicroelectronics Texas Instruments Texas Instruments
Диапазон измеряемых температур, °С -55…125 -55…125 -55…125 -50…150
Разрешение, бит 9/10/11/12 9 14 12
Точность, °С ±0,5…±2 ±0,5…±2 ±0,4…±0,7 ±0,5…±0,6875
Время измерения, мс 93,75…750 150 18 54
Напряжение питания 3…5,5 В 2,7…5,5 В 1,7…5,5 В 2…5,5 В
Ток потребления (активное состояние), мкА 1500 150 400 125
Ток потребления (режим ожидания), мкА 1 1 10 34
Интерфейс 1-Wire I²C/SMBus USART/SMAART Однопроводной
с токовым выходом
Корпус SOIC8, uSOP8, TO-92 SOIC8, TSSOP8, SOIC8 TO-92

DS18B20 – популярный датчик температуры, работающий в диапазоне -55…125°С. Его главными преимуществами являются доступность, невысокая стоимость, программируемая разрядность измерений 9/10/11/12 бит, возможность подключения множества датчиков на общую двухпроводную шину 1-Wire, малое потребление в спящем режиме до 1 мкА. Вместе с тем у этого сенсора есть и недостатки, в том числе – достаточно высокое потребление в активном режиме до 1,5 мА, невысокое быстродействие при высокой разрядности измерений, относительно узкий диапазон рабочих напряжений от 3 В.

STLM75 – датчик температуры, который также работает с диапазоном -55…125°С. По сравнению с DS18B20 данный сенсор может похвастаться сверхнизким потреблением как в активном, так и в спящем режиме (150 мкА и 1 мкА соответственно), а также работой с напряжениями питания 2,7…5,5 В. Для связи с STLM75 используется I²C-шина с возможностью одновременного подключения до девяти устройств. Недостатком датчика является малое разрешение – всего 9 бит.


TMP107 производства Texas Instruments имеет максимальную разрядность среди рассматриваемых датчиков – 14 бит, отличную точность – ±0,4…±0,7°С, минимальное время преобразования – 18 мс. Особенностью датчика является интерфейс SMAART, c помощью которого можно подключить до 32 датчиков на 3-проводную шину. Однако уровень потребления TMP107 достаточно высок как в активном режиме (до 400 мкА), так и в режиме сна (10 мкА),. и для работы с ним потребуется один внешний буфер с тремя состояниями, например, SN74LVC1G125. В результате измерительный блок займет больше места на плате.

LMT01 – близкий по идеологии к датчику DS18B20, но превосходит его по ряду параметров: шире диапазон рабочих напряжений (2…5,5 В), меньше потребление и время преобразования (54 мс). Выходная разрядность датчика – 12 бит. LMT01 отличается наиболее широким диапазоном рабочих температур, составляющим -50…150°С, и максимальной точностью – ±0,5…±0,6875°С. В отличие от TMP107, данный сенсор в простейшем случае требует для подключения наличия единственного внешнего резистора, так как работает с токовым интерфейсом.

Характеристики датчика температуры LMT01


Датчик температуры LMT01 выпускается в двухвыводном корпусном исполнении TO-92 (рисунок 1).

В качестве чувствительного элемента в LMT01 используется полупроводниковый диод (рисунок 2). Сигнал с диода оцифровывается с помощью 12-битного ΣΔ-АЦП и источника опорного напряжения. Полученный цифровой поток преобразуется в последовательность счетных токовых импульсов с помощью встроенных токовых регуляторов верхнего и нижнего плеча. Кроме того, в состав микросхемы входит регулятор напряжения для формирования напряжения питания.

Датчик предназначен для измерения температуры в диапазоне -50…150°С с разрешением 12 бит, что позволяет получать величину единичного отсчета 0,0625°C (рисунок 3). На разных участках рабочего диапазона погрешность принимает различные значения:

  • при -20…90°C погрешность не превышает ±0,5°C;
  • при 90…150°C погрешность не превышает ±0,62°C;
  • при -50…-20°C погрешность не превышает ±0,7°C.

 

Для получения результатов измерения используется достаточно необычный двухпроводной токовый интерфейс. Такое решение дает следующие основные преимущества:

  • высокая стойкость к электромагнитным помехам;
  • возможность размещения датчика как на плате, так и вне ее, например, на выносном проводе длинной до 2 м.

Особенности двухпроводного токового интерфейса в датчиках температуры LMT01

Как было сказано выше, для передачи результата измерений LMT01 формирует битовую последовательность в виде счетных импульсов тока. Для этого датчику требуется всего лишь два вывода (рисунок 4). Чтобы преобразовать токовые импульсы в форму, привычную для цифровых микросхем, в некоторых случаях можно использовать единственный резистор (но не всегда – об этом ниже).

После включения питания LMT01 начинает цикл измерения, который занимает до 54 мс (рисунок 5). В течение этого времени на выходе датчика формируется ток малого уровня 28…39 мкА. После этого следует цикл передачи результата измерения в виде импульсов тока амплитудой 112…143 мкА. Приемный микроконтроллер должен вести подсчет этих импульсов, например с помощью встроенного счетчика/таймера. Так как частота сигналов составляет около 82…94 кГц, то при максимальном числе импульсов (4095) длительность передачи может достигать 50 мс.

По числу подсчитанных импульсов (PC) можно определить значение температуры согласно формуле 1:

Подключение датчика температуры , (1)

Таким образом при 0°C датчик сформирует около 800 импульсов.

К сожалению, использование одного внешнего резистора не всегда возможно из-за ограничений по минимальному падению напряжения на датчике LMT01. В течение цикла измерения падение на датчике должно быть не менее 2,15 В. В течение цикла передачи данных падение напряжения допустимо уменьшать до 2 В. Несложно сделать некоторые приблизительные расчеты.

Рассмотрим устройство с напряжением питания Vdd = 3,3 В. Если принять минимально допустимое падение на датчике равным 2,15 В во время цикла измерения, то на резисторе будем наблюдать сигнал не более 1,15 В. Для большинства цифровых контроллеров логическая единица составляет 0,7∙Vdd, что для нашего случая составит 2,31 В. В итоге использование простого резистора оказывается невозможным, так как микроконтроллер попросту не «увидит» сигнал логической единицы. Выходом из этой ситуации может стать использование микроконтроллера со встроенным компаратором или схем преобразования уровней.

Базовые схемы включения датчика температуры LMT01

Существует несколько вариантов решения проблемы согласования уровней напряжений между управляющим контроллером и датчиком LMT01.

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

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

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

Заметим, что ток, формируемый LMT01, достаточно мал. Это позволяет использовать для питания датчиков выводы GPIO-микроконтроллера, что дает разработчикам дополнительные преимущества:

  • возможность сокращения потребления сенсора за счет его отключения с помощью GPIO. В таком состоянии ток утечки LMT01 составляет всего 1 мкА, что гораздо меньше тока в рабочем режиме (34 мкА и 125 мкА);
  • возможность подключения нескольких датчиков к одному входу микроконтроллера (рисунок 9). При таком включении выводы VN датчиков объединяются, а входы VP подключаются к разным GPIO.

Подключение LMT01 к Аrduino

Для подключения LMT01 к Arduino Nano (рисунок 10) достаточно лишь одного резистора. Для подсчета импульсов с выхода LMT01 используется внутренний компаратор. В качестве положительного входа компаратора задействован встроенный источник опорного напряжения REF 1.25 В. Подключение выполнено следующим образом:

  • LMT01 подключен контактом VP к порту D12 Arduino, этот выход цифрового порта используется для подачи питания на LMT01;
  • вывод VM LMT01 подключен к земле через резистор 16 кОм. Номинал этого резистора выбран таким образом, чтобы порог сравнения 1,25 В попадал как раз посередине между уровнями логических 0 и 1 для токового выхода LMT01;
  • сигнал с выхода LMT01 снимается с точки соединения резистора и вывода VM и подается на отрицательный вход компаратора D7.

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

Для проверки работоспособности датчик LMT01 охлаждался с помощью специального аэрозольного баллончика. Таким способом очень просто получить температуру ниже -40°С без использования специализированной термокамеры. Результат испытаний можно увидеть на рисунке 11, а на рисунке 12 представлен сигнал на выводе D7 Аrduino.

Скетч для выдачи значения температуры можно найти в архиве примеров кода для LMT01.

Подключение LMT01 к ATiny25

На рисунке 13 представлена схема и макет подключения LMT01 к микроконтроллеру ATiny25 в корпусе SOIC-8. В данном случае использовался дополнительный ключ на биполярном транзисторе. Использование транзистора позволяет подавать сигнал на любой цифровой порт входа микроконтроллера без компаратора. На рисунке 14 показана схема в работе. Пусть вас не смущает большая отладочная плата MSP432 – на ней используется лишь преобразователь UART/USB. В терминал выводится значение температуры без дробной части, что упрощает и сокращает код программы. Осциллограммы сигналов с LMT01 можно посмотреть на рисунке 15.

Программа для ATiny25 написана на Си (GCC) и использует счет импульсов по прерываниям со входа INT0. Тактовая частота – 8 МГц. Для отсчета временных интервалов задействован таймер TIMER1.

Исходный проект “LMT01 demo programm for ATtiny25 MCU” и дополнительную информацию можно найти в архиве примеров кода для LMT01.

Подключение LMT01 к PIC10F204

На рисунке 16 представлен макет подключения LMT01 к микроконтроллеру PIC10F204 в корпусе DIP-8. Так как данный микроконтроллер имеет в своем составе компаратор, внешний ключ на транзисторе не нужен. Схема подключения представлена на рисунке 17. На рисунке 18 представлены осциллограммы сигналов для разных измеряемых температур.

В связи с крайне ограниченными ресурсами PIC10F204 код программы был написан на ассемблере и занял большую часть объема Flash-памяти. Результаты измерения выводятся через программный UART на скорости 9600 бит/с. Счет импульсов идет программным способом на пределе скорости для тактовой частоты 4 МГц. В программе реализован прямой пересчет для получения результата с максимальным разрешением 0,0625°C без использования программного умножения и деления. Для отображения результата используется подпрограмма b24dec для перевода 24-битного результата в ASCII-код. Исходный код проекта LMT01_MSP430 с дополнительными материалами можно найти в архиве «Примеры кода для LMT01».

Подключение LMT01 к MSP430

Схема подключения LMT01 к недорогой отладочной плате Launchpad MSP-EXP430G2 приведена на рисунке 19. Для подключения использовался вариант c внутренним компаратором, подсчет импульсов производился с помощью таймера. Все это существенно упрощает как схему подключения, так и код программы. Макет устройства приведен на рисунке 20 (на фото питание на LMT01 подается с P2.4, однако в прилагаемом примере для этого используется линия P1.6). Программа имеет множество комментариев на русском языке и будет понятна даже начинающему разработчику. Значение температуры и «сырые» данные (число импульсов) выводятся в UART на скорости 9600 бит/с. Результат работы программы приведен на рисунке 21.

В архиве можно найти код программы для работы LMT01 совместно с MSP430G2553.

Заключение

Датчик температуры LMT01 найдет применение в различных устройствах, где необходима высокая точность измерения 0,5°C и широкий диапазон. Малое время измерения и низкий ток потребления позволяют использовать LMT01 в батарейном оборудовании. Высокая разрешающая способность 0,0625°C гарантирует точное слежение даже за малыми температурными изменениями. Минимальное число линий подключения и простой алгоритм вычитывания цифрового результата позволяет использовать LMT01 даже с самыми простыми 6-выводными микроконтроллерами. Для быстрого старта разработчик может использовать подробную документацию производителя, а также приложенные к данной статье примеры кода для разных МК.

www.compel.ru

Продолжим разговор о системе управления отоплением частного дома. Сегодня о подключении датчиков температуры. В инструкции, конечно, есть схема подключения, но я бы акцентировал дополнительно твое внимание на том, что датчики должны быть подключены последовательно, без образования “звезды”.

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

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

Последовательное соединение датчиков температуры А вот эта схема – пример последовательного соединения датчиков температуры DS18B20. То есть, к одному непрерывному кабелю, подключенному к NM8036, последовательно подключаются датчик за датчиком на всем протяжении кабеля.

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

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

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

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

Кабель витая пара При монтаже датчиков температуры я использовал кабель “витая пара”, каким прокладывают компьютерные сети. В этом кабеле 8 разноцветных жил, скрученных попарно. Во-первых, это оказалось очень удобным для выполнения соединений с возвратом, а во-вторых – кабель “витая пара” как раз очень хорош для таких целей, снижая количество наведенных помех.

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

Вход и выход кабеля У кабеля четыре пары: синий и белосиний, коричневый и белокоричневый, розовый и белорозовый, зеленый и белозеленый. Все провода бело- использую под общий провод. Провод коричневый – Data на входе, синий – питание на входе. На выходе: Data – зеленый, питание – розовый.

Подключение датчика к кабелю На другом конце кабеля “с возвратом” подключаю датчик по указанной схеме, т.е., все белые – общий, зеленый и коричневый – Data, синий и розовый – питание.

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

Но вот кабели раскинуты, датчики подпаяны. Как их закреплять? Вопрос неоднозначен, если задаваться целью измерения температуры с точностью до десятых градусов. Собственно, датчик так и меряет, но он меряет свою температуру. А измерение температуры датчика и температуры воды в трубе – далеко не одно и то же.

Казалось бы, чего тут сложного? Приклеил датчик к трубе – и он будет измерять температуру воды в трубе. Разве не логично? Логично. Но неверно. Во-первых, сама поверхность трубы уже дает погрешность, ведь она омывается воздухом, температуру которого не всегда равна температуре воды. Во-вторых, что самое важное, датчик прижат к трубе только одной поверхностью. Остальные – опять же омываются воздухом и температура самого датчика получается вовсе не равной температуре поверхности трубы.

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

Но я опять же пошел по пути упрощения. В ролике на странице Тепловой аккумулятор РІ системе отопления. я показывал, как крепил датчики к трубам с помощью обыкновенного матерчатого пластыря. Да, показания датчиков не соответствуют действительности. Разница в пределах от одного до полутора градусов. Ну и что?

Я же не термостат собираю для научных экспериментов, у меня просто система управления отоплением частного дома. Да и при программировании системы ничто не мешает мне учитывать эту разницу, что я, собственно и сделал. Например, в прихожке у меня разница показаний датчика и градусника (один от другого в 2-х миллиметрах) – 1,3 градуса. Градусник показывает 24, а датчик – 22,7. Кто из них врет – разве важно? Хотя, я больше все таки цифровому датчику доверяю.

Что еще по датчикам? Вроде все. Ага, вот еще: не спеши датчики сразу все на место прикручивать/приматывать. Определять их потом будет непросто. Пусть пока в воздухе висят, чтобы потом, когда запустишь при настройках “Поиск датчиков” и все они будут определены, можно было ладонями изменять их температуру и давать имена в системе.

Система ведь датчики определит по их серийным номерам и вывалит тебе список этих серийников. Откуда она знает, что вот этот серийник принадлежит датчику возле унитаза, а вот этот – датчику под кроватью? Вот тогда заползешь под кровать, подогреешь датчик ладошками, подышишь на него, а супругу попросишь посмотреть на список датчиков. И узнаешь среди всех, у которого температура поднялась. И узнаешь, какой у него серийный номер, да и название ему присвоишь: Кровать!

sebestroj.ru

1Технические характеристики датчика температуры и влажности DHT11

Итак, датчик DHT11 имеет следующие характеристики:

  • диапазон измеряемой относительной влажности – 20..90% с погрешностью до 5%,
  • диапазон измеряемых температур – 0..50°C с погрешностью до 2°C;
  • время реакции на изменения влажности – до 15 секунд, температуры – до 30 секунд;
  • минимальный период опроса – 1 секунда.
Габаритные размеры и внешний вид датчика температуры и влажности DHT11
Габаритные размеры и внешний вид датчика температуры и влажности DHT11

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

Приобрести датчик температуры и влажности DHT11 по низкой цене можно на этом сайте.

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

Рассмотрим схему подключения датчика температуры и влажности DHT11 к микроконтроллеру, в частности, к Arduino.

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

Давайте посмотрим, что показано на рисунке.

Обозначение на рисунке Описание Примечание
MCU Микроконтроллер или одноплатный компьютер Arduino / Raspberry Pi и др.
DHT11 Датчик температуры и влажности Выводы 1Pin, 2Pin и 4Pin задействованы в схеме, один из выводов датчика – 3-ий пин 3Pin – ни к чему не подключается.
DATA Шина данных Если длина соединительного кабеля от датчика к микроконтроллеру не превышает 20 метров, то эту шину рекомендуется подтянуть к питанию резистором 5,1 кОм; если больше 20 метров – то другой подходящий номинал (меньший).
VDD Питание датчика Допустимы напряжения от ~3,0 до ~5,5 вольт постоянного тока; если используется питание ~3,3 В, то желательно использовать питающий провод не длиннее 20 см.

Соберём рассмотренную схему. Я также по традиции включу в цепь логический анализатор, чтобы можно было изучить временную диаграмму информационного обмена с датчиком.

Сенсор температуры и влажности DHT11 подключён к Arduino UNOСенсор температуры и влажности DHT11 подключён к Arduino UNO
Сенсор температуры и влажности DHT11 подключён к Arduino UNO

Сенсор DHT11 часто продаётся в виде готовой сборки с необходимой обвязкой – подтягивающими резистором и фильтрующим конденсатором (как на предыдущей фотографии). Для экспериментов с Arduino я рекомендую покупать именно такой.

3Считывание данных с сенсора DHT11 при помощи Arduino

Давайте пойдём таким путём: скачаем библиотеку для датчика DHT11, установим её стандартным способом (распаковав в директорию libraries среды разработки для Arduino).

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

  #include <dht11.h> // подключаем библиотеку  dht11 sensor; // инициализация экземпляра датчика  #define DHT11PIN 8 // вывод 8 будет шиной DATA    void setup() {   Serial.begin(9600);  }    void loop() {   int chk = sensor.read(DHT11PIN);     Serial.print("h=");   Serial.print(sensor.humidity);   Serial.print("%t");     Serial.print("t=");   Serial.print(sensor.temperature);   Serial.println("C");      delay(2000);  }  

Загрузим этот скетч в Arduino. Подключимся к Arduino с помощью монитора COM-порта и увидим следующее:

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

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

4Временная диаграмма информационного обмена датчика температуры и влажности DHT11 с микроконтроллером

С помощью временной диаграммы, полученной с логического анализатора, разберёмся, как осуществляется информационный обмен.

Для связи с микроконтроллером датчик температуры и влажности DHT11 использует однопроводный последовательный пакетный интерфейс. Один информационный пакет длительностью около 4 мс содержит: 1 бит запроса от микроконтроллера, 1 бит ответа датчика и 40 битов данных от датчика (16 битов информации о влажности, 16 битов информации о температуре и 8 проверочных битов). Давайте подробнее рассмотрим временную диаграмму информационного обмена Arduino с датчиком DHT11.

Временная диаграмма информационного обмена датчика температуры и влажности DHT11 с микроконтроллеромВременная диаграмма информационного обмена датчика температуры и влажности DHT11 с микроконтроллером
Временная диаграмма информационного обмена сенсора DHT11 с микроконтроллером

Из рисунка видно, что есть два типа импульсов: короткие и длинные. Короткие в данном протоколе обмена обозначают нули, длинные импульсы – единицы.

Итак, первые два импульса – это запрос Arduino к DHT11 и, соответственно, ответ датчика. Далее идут 16 бит влажности. Причём они разделены на байты, старший и младший, старший слева. То есть на нашем рисунке данные о влажности такие: 0001000000000000 = 00000000 00010000 = 0x10 = 16% относительной влажности.

Данные о температуре, аналогично: 0001011100000000 = 00000000 00010111 = 0x17 = 23 градуса Цельсия.

Контрольная сумма – это всего-навсего арифметическое суммирование 4-х полученных байтов данных:
00000000 +
00010000 +
00000000 +
00010111 =
00100111 в двоичной системе или 0 + 16 + 0 + 23 = 39 в десятичной.

5Работа с датчиком DHT11 без библиотеки

Теперь мы знаем достаточно для того чтобы написать собственную программу для работы с сенсором температуры и влажности DHT11 без использования сторонних библиотек. Напишем скетч, который будет опрашивать раз в секунду датчик и выводить в последовательный порт компьютера принятый пакет и данные о температуре, влажности, а также проверочный байт. На 13-ую ножку Arduino выведем контрольный сигнал и, подключившись в ней логическим анализатором, проверим, что мы верно считываем информацию от датчика.

You May Also Like

About the Author: admind

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.