DS18S20 – температурный датчик на портах компьютера

DS18S20 – температурный датчик на портах компьютера

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

Компьютерный тепловой синдром

Выделяемое электроникой компьютера тепло — это естественная враждебная среда «железа» ПК, особенно когда компьютер эксплуатируется в условиях повышенной температуры окружающей среды. Электроника большей части современных ПК оснащается датчиками температуры, установленными на теле процессора, а также на материнской плате. Эти датчики доступны для контроля через «Linux» приложение «lm_sensors».

В качестве  альтернативы можно также рассматривать некоторые конструкции жёстких дисков (HDD, SSD) компьютеров, которые тоже содержат датчики температуры в составе электроники. В этом варианте контролировать сенсоры доступно через «Linux» приложение «hddtemp».

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

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

Достаточно эффективную измерительную сенсорную сеть обещает помочь создать электронный прибор DS18S20 – однопроводной, (с поддержкой паразитного питания), датчик от фирмы «Dallas Semiconductor» («Maxim»). На известном китайском портале есть лот по цене всего 50 руб.

Что представляет собой сенсорный элемент DS18S20?

Электронный компонент —  миниатюрный датчик в стандартном исполнении TO-92, обладает температурным диапазоном: — 55˚C / +125˚C при точности до 0,5º (с некоторым ограничением Т-диапазона). Существуют аналоги:

DS1820 (даташит)

DS18B20 (даташит)

DS1821, DS1821S (даташит)

Сенсор, внешне напоминающий транзистор, уникален тем, что требует минимум компонентов схемы для сопряжения с последовательным портом ПК. Программное обеспечение для связи с этим видом датчика температуры доступно под «Linux» и «Windows».

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

Не исключается возможность подключения сразу группы датчиков DS18S20 через параллельную схему. Обусловлена такая возможность наличием уникальных 64-битных адресов, которые допустимо запрашивать индивидуально на 1-проводной шине.

!Следует обратить внимание, внешнее обозначение DS18S20 на корпусе прибора может быть отмечено как «DS1820». Но характеристики этих двух модификаций немного отличаются. Например, по времени чтения. Следует уточнять спецификацию.

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

Рассмотрим электронные схемы, подходящие для подключения датчиков температуры DS18S20 через последовательный порт ПК. Схемы, показанные ниже, являются реализацией одноканального интерфейса последовательного порта DS9097U от «Dallas Semiconductor». Если последовательный порт ПК отсутствует, допустимо использовать «USB-to-SERIAL» адаптер.

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

  1. Схема на паразитном режиме.
  2. Схема без паразитного режима.

Рассмотрим оба варианта для лучшего понимания возможностей интерфейсов.

Схема паразитного режима

Схематичный расклад подключения сенсора для работы в так называемом «паразитном» режиме, когда питание на прибор подаётся не с линий питания, а непосредственно от линий данных порта.

Это решение предполагает:

  • четыре соединения с последовательным портом ПК,
  • два соединения с датчиком температуры,
  • включение двух стабилитронов,
  • включение двух диодов Шоттки,
  • добавление одного резистора.
Схема паразитного режима питания DS18S20
Здесь представлена принципиальная схема так называемого «паразитного» режима на соединение датчика с персональным компьютером через интерфейс порта DB9

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

Стоит отметить, коммерческие версии уже реализованной схемы для последовательного порта и USB доступны в продаже непосредственно от производителя «Maxim» и других.

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

  • датчик температуры DS18S20
  • стабилитрон 1N5228 на 3,9В
  • стабилитрон 1N5234 на 6,2В
  • диод Шоттки 1N5818
  • резистор постоянный номиналом 1,5 кОм
  • часть разъёма DB9 («мама»)
Распиновка датчика температуры DS18S20
Распиновка этого прибора предполагает работу всего с тремя сигнальными контактами, причём в «паразитном» режиме фактически используются только два пина

Выводы температурного датчика DS18S20 в спецификации TO-92 (если считать слева направо) предназначены под включение:

  • земляной шины (GND),
  • ввода/вывода данных (DQ),
  • напряжения питания (VDD).

При работе схемы в паразитном режиме, терминал питания (VDD) не используется. Эту точку необходимо заземлять. Обусловлено такое включение тем, что датчик DS18S20  получает питание от линии передачи данных.

Ограничения схемы паразитного режима

Практика применения схемы паразитного режима показала: линейные проводники между электрической схемой и непосредственно датчиком температуры DS18S20 допустимо увеличивать до 100 метров. Если же требуется использовать схему, когда расстояния превышают 100 м, использовать датчик в паразитном режиме также допустимо, но придётся подавать питание уже на вывод VDD датчика температуры.

Применение схемы с датчиком DS18S20 в паразитном режиме несколько снижает допустимый предел максимальной температуры. В этом схемном варианте граница 125˚C уже недоступна, а максимально допустимый порог снижается приблизительно до 70-75˚C. Однако такой граничной температуры вполне достаточно для большинства электронных применений.

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

  • нестабильной работы,
  • полной неработоспособности,

на последовательном порту некоторых моделей ноутбуков («Dell Latitude D610», «Dell PowerEdge» и др.). Как выяснилось, перебои связаны с низким напряжением последовательного порта и / или недостаточным током для внутренней схемы DS18S20, работающей в паразитном режиме. Видоизменённая (не паразитная) схема интерфейса устраняет проблемы.

Схема без паразитного режима

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

Эту версию схемы интерфейса последовательного порта дополняют три компонента – диоды D5, D6 и конденсатор C1. Компоненты используются для подачи питания на контакт VDD датчика температуры. То есть вариация заземления вывода VDD, в данном случае, исключается.

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

Набор деталей схемы без паразитного режима:

  • проводной датчик температуры (DS18S20),
  • стабилитрон на 3,9В (1N5228 / 1N4730),
  • стабилитрон на 6,2В (1N5234 / 1N4735),
  • два диода Шоттки (1N5818 / 1N5819),
  • светодиод (1N4148),
  • стабилитрон 5,6В,
  • конденсатор танталовый 10 мкФ,
  • резистор постоянный 1,5 кОм,
  • интерфейс порта DB9 («мама»).

Сборка конструкции на температурный датчик

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

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

Размещение компонентов на плате
Малочисленность комплектующих деталей электронной схемы позволяет внедрить всё содержимое непосредственно в корпус разъёма DB9. В результате получается удобный интерфейс

Сам датчик DS18S20 припаивается на противоположном конце проводной линии, выведенной от электронной платы. Длина линии должна учитываться в соответствии с ранее отмеченными нюансами. Контакты 1 и 3 датчика соединяются вместе. Для изоляции контакта 2 от других контактов используется короткая изолирующая поливинилхлоридная трубка.

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

Схемы подключения через USB интерфейс

Учитывая отказ производителей новых компьютеров включать в системные материнские платы последовательные порты DB9, актуальной становится необходимость сопряжения температурного датчика DS18S20 с интерфейсом иного типа. Явным претендентом здесь видится порт USB.

Существуют различные по исполнению недорогие адаптеры «USB-to-SERIAL». Однако далеко не все из таких преобразователей успешно сочетаются с новыми версиями операционных систем, включая «Windows 10».

Адаптер usb-to-serial для подключения
Адаптер «USB-to-SERIAL», на примере широко распространённого исполнения с микросхемой PL2303TA, предоставляет возможность подключения температурного датчика на компьютерах, где отсутствует порт DB9

Рекомендуется использовать «USB-to-SERIAL» адаптеры, построенные на микросхемах PL2303TA или аналогичных. На практике отмечена стабильная работа таких адаптеров с «Windows XP» / «Vista» / 7, 8, 10 / «MacOS X» / «Linux».

Этот тип адаптера эмулирует 1-проводной интерфейс DS9097, который вполне устойчиво работает на взаимодействие с 1-проводными устройствами, идентичными схеме интерфейса последовательного порта.

Распиновка «USB-to-SERIAL» адаптера PL2303TA:

  • красный (+ 5В),
  • белый (RXD),
  • чёрный (земляная шина),
  • зеленый (TXD).

Драйверы адаптера «USB-to-SERIAL»

Под операционную систему «Windows» и «MacOS X» потребуется установить соответствующие «Prolific» драйверы (доступны здесь или использовать этот, если есть проблемы в «Windows 7»).

Между тем относительно недавний дистрибутив «Linux» показывает успешную работу адаптеров без необходимости загрузки драйверов. В частности, тестировался «USB-to-SERIAL» адаптер на PL2303TA, подключаемый к «Ubuntu» версий 12.04 и 14.04.2. Каких-либо драйверов не потребовалось.

Чтобы использовать «USB-to-SERIAL» адаптер на PL2303TA с температурными датчиками, работающими в паразитном режиме, следует подключать один или несколько приборов DS18S20 так:

  • красный (не используется),
  • белый (не используется),
  • черный (подключен на GND и VDD),
  • зеленый (подключен на выход DQ).

Тестирование в паразитном режиме по длине кабеля

На практике тестировался «USB-to-SERIAL» адаптер на PL2303TA с тремя температурными датчиками типа DS18S20. Все три прибора, подключенные параллельно, работающие в паразитном режиме, соединялись с рабочей платой через кабель длиной 300 метров. По результатам эксперимента отмечалась нормальная работа. Все три датчика температуры успешно обнаруживались системой.

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

Эти результаты испытаний заставляют сомневаться в требованиях подключения датчиков температуры DS18S20 в непаразитарном (c внешним питанием) режиме при использовании адаптеров USB на PL2303TA. Как показал тест, микросхема PL2303TA успешно работает в паразитном режиме с более длинными (длиннее 100 метров) соединительными линиями.

Программное обеспечение для работы с DS18S20

Запрос температурных датчиков, подключенных через USB-последовательный адаптер PL2303TA на «Linux» или «Windows», практически аналогичен подключению через интерфейс физического последовательного порта. Единственное различие заключается в необходимости указывать порт USB вместо последовательного порта при инициализации программного обеспечения «digitemp».

После загрузки «digitemp» для ОС «Windows» либо «Linux», извлечь исполняемый файл из архива. Следует подчеркнуть: требуется версия, подходящая для адаптера последовательного порта DS9097, поскольку описанная ранее схема интерфейса последовательного порта эквивалентна 1-проводному адаптеру последовательного порта DS9097U.

Конфигурирование под «Windows» с последующей инициализацией

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

Для варианта с COM 1 программной строкой «digitemp» (Только первой строкой сверху. Всё что ниже — распечатка программы), создаётся файл конфигурации:

Команда приложению "digitemp"
Создание конфигурационного файла «digitemp» под использование температурного датчика DS18S20 на компьютере персонального управления с инсталлированной ОС «Windows»

Регулировка задержки и чтение данных

Температурный датчик DS18S20 обладает несколько замедленным временем отклика (преобразование температуры в сигнал), чем аналогичный прибор серии DS1820. Датчику DS18S20 требуется около 750 мс для преобразования, а «digitemp» по умолчанию ставит — 1000 мс.

Если в процессе чтения получаются некорректные показания температуры, рекомендуется замедлить задержку чтения выполнения «digitemp» изменением параметра чтения по умолчанию — 1000 мс при помощи команды.

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

Команда приложению 1

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

Команда приложению 2


При помощи информации: MartyBugs