Перейти к содержанию
  • записи
    43
  • комментария
    283
  • просмотров
    50 707

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


Yanshun

27 807 просмотров

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

15 Комментариев


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

Цитата

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добрый день.

Решил проверить идею @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 сказал:

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

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

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

Друзья а как сделать чтобы на максимальном растоянии допустим 100метров было допустим 50датчиков?

хочу потестить,сегодня пришли 50шт 18б20...хочу по 4х0.22 без экрана начать...и сдвоенные жилы лучше кинуть на питание?

Изменено пользователем Станислав Кузнецов
Ссылка на комментарий

@Shahabbas Доброе утро.
Действительно не справится :D, видимо на алике удалили лот.
Вот сылка на официальный сайт данной игрушки, а где приобрести данный девайс , каждый решит самостоятельно

maxim-ds9490r-.jpg

DS9490-DS9490R.pdf

5.jpg

Изменено пользователем Yanshun
Ссылка на комментарий

А у меня заработало только с одним датчиком. Видимо из за  длинного провода около 6-7 метров и то работает с постоянными ошибками.С COM портом такого не было. На других адаптерах кроме СP2102 не работает! Ну может только у меня. Кому надо вот реально работающие, проверенные схемы. Это тем у кого остался COM порт. Транзисторы первой схемы ставил BSS138. Вторая схема "железобетонная" хоть выдёргивай на горячую  с COM порта.

Программу использую Temp.Keeper.

sch.gif

1.gif

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

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Добавить комментарий...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...