Температурный датчик DS18s20 (часть 1)

Адаптер 1-wire

Собственно с чего появился этот материал. Как-то раз в длинные выходные осенью 2010 года в офисе проводили работы мосэнергосбыт с отключением электричества, о чем я узнал только придя на работу и открывая дверь серверной почувствовал, что температура воздуха превышает 30°С. Блоки бесперебойного питания не дали серверам выключится, а вот кондиционер оказался выключен.

В тот же день начался поиск какого-либо решения для мониторинга температуры воздуха в серверной. Искалось изначально готовое решение, но поиски не увенчались успехом, либо цена решения была слишком высокой, либо решения были под windows. И вот вспомнив, что в счастливое советское детство в 6-7 классе я посещал несколько кружков, в том числе кружок Радиоэлектроники и наткнувшись в интернете на нижеуказанную схему было решено — паять срочно:). Тем более, что это решение подразумевало использование нескольких программных решений под различные платформы, нас интересовала поддержка FreeBSD. Поискав еще немного, были обнаружены записи об использовании программы Digitemp во FreeBSD. С тех пор прошло уже много времени и Digitemp появился в портах /usr/ports/misc/digitemp.

Детали для нескольких комплектов, т.к. появилось желание при успешном опыте собрать такую же схему для дома, но сразу на несколько датчиков были куплены в магазине «Чип и Дип» на ул. Гиляровского, паяльник был, так же была канифоль и немного припоя.

Схема температурного датчика для RS232Схема подключения температурного датчика для RS232

Список деталей:

  • DSUB — разъем RS232 (female) + корпус — 1шт.
  • C1 — электролитический конденсатор 10мкф/10вольт— 1шт.
  • D1 — стабилитрон 3,9 вольт — 1шт.
  • D2 — стабилитрон 5,6 вольт — 1шт.
  • D3 — стабилитрон 6,2 вольт — 1шт.
  • D4, D6 — диоды Шоттки 1N5818 — 2шт.
  • D5 — диод 1N4148 — 1шт.
  • R1 — резистор 1,5кОм — 1шт.
  • Датчик температуры DS18s20 — 1шт. (datasheet)

Список требуемого инструмента:

  • Паяльник разумной мощности (у меня на 40ватт)
  • Припой
  • Канифоль или паяльная кислота (флюс)
  • Пинцет
  • Удобно иметь небольшие тиски
  • Увеличительное стекло, для просмотра маркировки деталей
  • Трехжильный провод для датчика (для небольшой длинны до 3-х метров подойдет телефонный кабель)

Разъем D-SUB 9 (RS232)Разъем RS232 (D-SUB9) с корпусом
Маркировка электролитического конденсатора
У электролитического конденсатора длинная ножка указывает на +, короткая на минус, так же сбоку на корпусе конденсатора имеется маркировка – (минус)

Распиновка диодов, стабилитронов

Резистор на 1,5 кОм

С резистором все проще, его можно подключать как угодно, не забываем, что нам нужен резистор на 1,5кОм

Распиновка температурного датчика DS18S20

Распиновка температурного датчика и внешний его вид.

Надеюсь, что со схемой и деталями Вы разобрались:) У меня после многолетнего перерыва общения с паяльником эта схема поместилась в корпус для разъема RS232. Датчик присоединен через трех пиновый разъем от компьютерного кулера.

Получился у нас простой адаптер 1-wire сети, теоретическая протяженность которой может составлять 300 метров и иметь 250 датчиков (устройств). То что удалось достичь на практике — это 3 датчика DS1820 подключенных параллельно тремя отрезками по 2м, 3м и 4 метра и теперь я знаю температуру не только в серверной, но и дома в трех точках: на улице, лоджии и комнате.

Параллельное соединение 1-wireПример параллельного подключения датчиков

В следующей части материала мы рассмотрим как и чем снимать данные с датчиков и в чем хранить эти данные:)

Температурный датчик DS18s20 (часть 1): 3 комментария

  1. Собирал такую схему, так компактно конечно не получилось, но смог подключить 9 датчиков на шину около 15 метров, ответвление каждого датчика не более 20 см от шины. В этом режиме иногда один из датчиков (произвольный) показывает состояние busy в момент опроса.

  2. в схеме явный недопустимый косяк, видимый невооруженным глазом. земля, она же GND ОБЫЧНО на 5 ноге, а никак не на 2, делайте выводы…

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

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