• Объявления

    • admin

      Размещайте материалы своей компании БЕСПЛАТНО!   18.04.2018

      Редакционная политика портала позволяет размещать на бесплатной основе различные типы материалов: интересную информацию, наработки, технические решения, аналитические статьи и т.д. Пример такого блога. Взамен мы рекламируем ваш блог в наших группах в соц. сетях, ну и плюс естественная самореклама от пользователей форума и блогов, которые будут читать ваш блог. К примеру охват одного поста только в нашей группе VK составляет более 10 тыс. человек. Т.е. мы предлагаем бартер - вы ведете у нас блог и публикуете какую-то полезную и интересную информацию связанную с вашим производством, а мы рекламируем ваш блог в наших соц. сетях. Блоги можно полностью кастомизировать: поставить изображение шапки, сделать меню или оглавление, также в своем блоге вы будете модератором - сможете удалять комментарии и т.д. Ведение своего блога требует времени и навыков, но рекламный эффект колоссальный, т.к. это живое общение и отклик. Посты не должны быть рекламой, а также должны соответствовать правилам форума. Для тех компаний, которые будут публиковать интересный контент, права в дальнейшем будут расширяться - сможете публиковать больше ссылок, пресс-релизы, новости компании, анонсы и т.д. Ну а если вы хотите размещать платную рекламу: условия и прайс размещения на сайте и форуме, коммерческая тема на форуме, реклама в группе VK.
  • записей
    19
  • комментарий
    51
  • просмотров
    3 348

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

Yanshun

4 817 просмотров

Помню понадобилось мне подключить пару датчиков температуры от 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

  • Одобряю 2


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


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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

  • Одобряю 1

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


Ссылка на комментарий
В 17.02.2018 в 03:44, Alex сказал:

и без в сяких лишних телодвижений

тогда посмотрю на брелке автосигнализации. Без лишних движений.

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


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

Добрый день.

Решил проверить идею @Alex  с диодом и сопротивление, чтобы спать спокойно уже. Но ничего хорошего с этого не вышло, как только я все подключал, устройство сразу крашелось. Диоды использовал  1N4148/1N400x,  ставил переменник и пытался найти нужный номинал, но ничего не выходило полезного, устройство так и не запустилось. Пришлось все вернуть как было изначально. Печалька однако :( а я так надеялся.
e695161a0783.gif

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


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

@Yanshun У меня на 1820 работало на витой паре вполне так себе, только датчик (и) был(и) подключен(ы) к Atmege2313, а она сама передавала в компорт. Расстояние - метра 4 было. Датчиков 2 стояло, потом 1. На температурной сигнализации работало.

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


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

Нет, это было кучу времени назад, больше 10 лет.

В меге была примитивная программа, ищущая датчики и передающая по ком-порту номер датчика, температуру с датчика 1 раз в секунду. На управляющем компе - программа на Делфи, рисовала графики, в случае аварийной ситуации  включала сирену на всю мощь.Еще первый Делфи был.

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


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

Прицепил к простому бойлеру Ariston на 100 Л три датчика DS18B20: на трубы входа/выхода воды и в трубку с терморегулятором (все соединил тончайшими тремя проводами). Далее через витую пару 4 метра на ATMega 2560. При подключении блока питания (зарядка телефона Samsung 1A/5V) к USB ATMega2560 все отлично. При питании всего этого по USB ноутбука для отладки - датчики обнаруживаются через раз, потому делаю по 5 попыток их найти при инициализации. Банально не хватает напряжения у USB старого ноутбука на такой длине проводов. Подтягивающий резистор стоит в цепи, как положено.

Очень удивило, что витая пара стала злом в вашем случае! Может она из некачественной меди? Сейчас такого хватает.

Изменено пользователем Sattva

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


Ссылка на комментарий
10 часов назад, Sattva сказал:

Может она из некачественной меди

Добрый день.
Возможно Вы правы, мне было просто лень это выяснять, поэтому я просто заменил провода.
Сылкой на Ваш проект поделитесь?

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


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

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

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

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

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

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

Войти

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

Войти сейчас