• Объявления

    • admin

      Анонсы постов вашего блога в группах паяльника   04.09.2016

      Самые интересные посты будут анонсироваться в группах VK и FaceBook. Охват одного поста составляет несколько тысяч человек. Пример анонса записи про книгу Sprint Layout: в группе VK, в группе Facebook.  Поэтому если вы считаете, что ваш пост будет интересен аудитории, то не стесняйтесь - пишите, сделаем пост!
  • записей
    7
  • комментариев
    5
  • просмотров
    286

Подключение DS18B20 к ПК

Yanshun

386 просмотров

Помню понадобилось мне подключить пару датчиков температуры от Dallas DS18B20 в ПК и мониторить показания с записью их в лог-файл.  Собирать отдельно устройство для этого дела мне не хотелось, а помниться, что я краям ухом слышал, что есть возможность их подключения к RS232, в простонародье Com-порт. Но так как у меня нет этого порта, на самом деле он распаян на печатной плате доски, но переходника у меня не было, но было куча разных преобразователей  с USB в RS232 . Начал искать по просторам сети, кто как реализовывал данную идею, чтобы знать какие камни меня из-за угла подстригают. Нашел в сети пару схем и начал их паять, деталей там было, "кот на плакал", но почему-то не одна из схем не заработала у меня Начал спрашивать на данном форуме, мне сказали, что это не возможно, но сдаваться было глупо, ведь у кого-то заработало.
Начал дальше искать и наткнулся на один замечательный форум про спиртные напитки, кому как не им знать про температуру. Там было довольно простое решение, я с начало засомневался на счет его работоспособности, но решил повторить, ведь даже ничего паять не пришлось и куча положительных отзывов. Взял из кучи первый попавшийся преобразователь на CP2102 и подключил датчики к нему, и о чудо все сразу заработало. Сразу подключил 3 датчика, так как мне нужно было именно такое количество, все замечательно  заработало. Тестирования я проводил на Win 7 x64 и XP в программе Термомониторинг Но пользоваться советую программой Temp. Keeper правда она платная, но цена ее очень маленькая. Но если Вам по какой-то причине нет возможно приобрести ее на просторах сети имеется ключик для нее.
К чему все это было, дело в том, что мой знакомый заметив такую игрушку попросил и ему сварганить подобное устройство, но на 5 датчиков. Для мониторинга температуры в помещении, систему отопления. Чтобы узнать в какой из комнат большие теплопотери  и последить за работой газового котла. Я с начало отказывался и искал любой выход из капкана, но когда он принес бутылек  темного :drinks: и посидев пару часиков, мое желание помочь поднялось. На следующий день я начал искать преобразователи и варганить датчики.
Какое было ТЗ: преобразователь втыкается в USB ПК, преобразователь на СР2102, по шнуру длиной 2 метра идет в распределительную коробку и оттуда каждый датчик по 1,5 метра, 5 штук, расходиться.
Спаял датчики и все поместив в термоусадку подключил все к распределительной коробке. В коробке у меня было два конденсатора на 1000 мкф/10В и 0,1, так-же и резистор на 4к7. Втыкаю я в ПК все это, но устройство не работает, я давай все проверять, все правильно косяков нет, но почему не работает.  Начал отключать датчики по очереди, результата не дало, откинул резистор и подключил датчик, все сразу начало работать. Начал потихоньку накидывать датчики, когда дошел до пятого все опять перестало работать. Начал разбираться в чем причина, а оказалось, что провод на котором был пятый датчик имеет экран, все остальные четыре были без экрана и не переплитались между собой, прямая укладка была. Возможно это повлияло, что я Rx и Tx соединил в распределительной, а не на плате преобразователя, выяснять было лень поэтому был просто заменен провод. Витая пара тоже не подошла, из-за того что проводники свиты между собой, а нужно чтобы провода шли параллельно друг другу. 
Хотя взял витую пару, 20 метров, и подав по ней только питания датчика, а сигнал по отдельному проводом, не из витой пары, все замечательно заработало. Видимо наводка питание глушило сигнал.

При использовании на большое расстояние может понадобиться внешний БП на 5В, если он вблизи от датчиков, либо на 12/24В если далеко, но в распредилительной коробке должен стоять стабилизатор на +5В.

Вот такие пироги. Всем удачных запусков.

Подключение DS18B20 к ПК.JPG

Программа.jpg

SNC00678.jpg

SNC00679.jpg

SNC00680.jpg

SNC00681.jpg

SNC00682.jpg

SNC00684.thumb.jpg.985c0ec5a877ca73baeec82f30913c39.jpgSNC00685.thumb.jpg.b9f507071342031f6597b5410434b574.jpgSNC00686.thumb.jpg.bec1b7eae002658a801fe7e9688aaff1.jpg

Подключение DS18B20 к ПК.spl7



5 комментариев


Рекомендуемые комментарии

Для android бы такую софтину! Подошел к окну, воткнул шнурок USB-OTG и смотри реальную температуру на улице

Поделиться комментарием


Ссылка на комментарий
Цитата

выяснять было лень

А зря поленились. Ибо, выкинуть подтягивающее линию сопротивление - очень странное решение. Она должна быть подтянута, и чем меньше сопротивление (в пределах разумного, естественно) - тем лучше.

Скорее всего, выход TX платы ограничивается сопротивлением, так сказать "защита от дураков". По этому и происходит подтяжка линии через него. Но, в таком случае, передаваемые в линию "нулевые" импульсы будут очень нестабильные, и их фронты будут сильно зависеть от ёмкости линии.
Если сопротивление стоит (а это 99,9%, иначе, при ответе от датчиков, был бы "коротыш" и, как минмиум, ничего не работало бы) - совет : Заменить его на диод, а подтягивающее сопротивление поставить обратно, уменьшив его сопротивление до ~1...1,5 КОм. Либо, если сможете, запаять диод параллельно этому сопротивлению, а само сопротивление заменить на 1..1,5 КОм. Тогда проблем со связью, при любых проводах, не будет.

18 часов назад, getshket сказал:

Подошел к окну, воткнул шнурок USB-OTG и смотри реальную температуру на улице

:wacko:
А повесить обычный градусник за окно не пробовали ? Подошёл к окну и без в сяких лишних телодвижений посмотрел температуру на улице.

  • Лайк 1
  • Одобряю 2

Поделиться комментарием


Ссылка на комментарий

@Alex Доброе утро.

По началу я всеми способами пытался вернуть сопротивление, брал многооборотный резистор на 10к и потихоньку уменьшая сопротивление пытался найти нужный номинал, но ни с одним номиналом, вплоть до 0, не заработало, только исключения резистора приводило к стабильной работе.
На счет НУЛЕВЫХ импульсов Вы совершенно правы, подключать все датчики пришлось на одну фирму провода и длину, как только я пытался подключить другой провод, фирма сечение, устройство сразу крашилось. Хотя для линии питания датчика это не играло роли, только для линии данных.
Большое спасибо теперь мне стало известно почему устройство "отвергало" другие провода.
Но мне повезло, что все проводники были одной длины и провод одной марки, все стабильно работает уже неделю, если будут какие-то проблемы сразу об этом мне сообщат. Если проблема появиться при работе устройство, поставлю диод, резистор поставить не получится, не стабильно с ним работает. Резистор остался в распредилительной коробке я всего лишь отпаял один вывод, вернуть не проблема.

Время покажет, спасибо за совет.

Поделиться комментарием


Ссылка на комментарий
3 минуты назад, Yanshun сказал:

резистор поставить не получится, не стабильно с ним работает

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

  • Одобряю 1

Поделиться комментарием


Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас