• Объявления

    • admin

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

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

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

Yanshun

7 954 просмотра

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

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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

  • Комментарии блога

    • На данной автоматике были неисправны один светодиод LD 2 и подстроечник Р1.
    • Запуск платы на столе.
      Устанавливаем перемычке согласно документации на Ваш котел. 1. Подключаем неоновые лампочки на 220В на разъемы J2 (треходовой кран), J3 (Насос), J1 выводы 1 и 2 (Запуск розжига.)  2. На разъем J1 выводы 5 и 6 подаем 220В, Сеть. 3. Восле подачи питания щелкнуло реле К2 и включился насос. Загорелся светодиод LD1 (DHW) 4. На разъем J4 выводы 5 и 6 (DHW.S) подключаем терморезистор на 10к. Температура бойлера.
      При нагревании данного датчика до 60 градусов происходит отключения реле К1 и К2.
      Напряжение на модуляционной катушке изчезает. 5. Реле К2 сразу отключилось. 6. Если сейчас установить перемычку Комнатного термостата, разъем J1 выводы 3 и 4 (ROOMST.), тогда заработает Насос и Треходовой клапан, так как напряжение на данный разъемы J2 и J3 будет ити через комнатный термостат, разумеется если он замкнутый. Так-же если установить резистор, постоянный, на 10к (от 8к2 до 10к) на разъем J5 выводы 3 и 4 (DHW SET), тогда включится реле К2. 7. Устанавливаю на разъем J5 выводы 3 и 4 (DHW SET), установка температуры бойлера постоянно поддерживает 60 градусов, резистор, постоянный, на 10к, см. докуменацию на объвязку платы. Плата реагирует только на его отсутствие, при его замыкании плата продолжает работать, как ни вчем не бывало. 8. Включилось реле К2, запустился насос. 9. Устанавливаю лампочку на 28В мощностью 4,8 Ватт на разъем J4 выводы 1 и 2 (MOD), модуляционная катушка. 10. Устанавливаю перемычку на разъем J4 выводы 7 и 8 (FLOW SW.), согласно документации на объвязку платы.
      Без этой перемычки запуск розжига не произойдет, так как входы ОУ буду привязаны к земле через резистор R33 и защитные диоды D12-14. 11. Через 15 сек. появилось на модулляционной катушке  напряжение 13,5В,(Пусковая мощность, ее можно регулировать резистором Р2). Произошел запуск платы на розжиг. Нагрев Бойлера. 12. Подключаю переменный резистор на 10к к разъему J5 выводы 1 и 2 (CH SET), температура системы отопления от +30 до 85 градусом, можно устанавливать.
      Какой в оригинале стоит я не знаю.
      При его обрыве автоматика не будет нагревать контур отопления. При возобновлении соединения автоматика может сразу не запуститься, это нормально, так как идет отсчет Антицикличности (Устанавливается JP2), по истечении времени автоматика запуститься.
      13. Подключаю терморезистор на 10к к разъемы J4 к выводам 3 и 4 (СN S.), датчик температуры отопления. Отключение автоматики при 1к1 и включение ее при 1к2. Если данный резистор будет в обрыви или в КЗ, розжиг не произойдет пока не будет устранена неисправность, реле К1 не включится. При КЗ датчика отключается реле К1 и снимается напряжение с модуляционной катушки. Если обрыв датчика, то отключается реле К1, но напряжение на модуляционной катушке остается.
      При нагревании данного датчика плавно уменьшается напряжение на модуляционной катушке и при достижении установленной температуры отключает реле К1 и обесточивается модуляционная катушка. НА данной автоматике этот датчик приоритетный, лубое его повреждение и плата не запустится на розжиг ни на каком из режимов. 14. После этого светодиод LD2 (BURNER ON), начал тускленько блымать, это не правильно светодиоды должны ярко гореть, он был в обрыве, хотя по истечению некоторого временем он все начинал работать. Ни когда бы не подумал, что может выйти из строя светодиод. Начал проверять транзисторы Q4 и Q6, полностью рабочие, ну думаю сдох электролит С4, выпаял проверил все отлично, но все-же решил поменять, но проблема так и осталась. Решил просто замкнуть Коллектор Q4 с Анодом D8, в обход светодиода и сразу все заработало, как положенно.
      Светодиод с падение 1,95В и емкостью 15pF, диаметром 5 мм., красного свечения/матовый. Целый вечер провозился с ним. Р2 настройка пусковой мощности. Если даный регулятор выкручен на максимум к реле, то при запуске розжига на модулятор не будет (Вернеее 0В) поступать в течении 15 сек. напряжение, потом оно плавно подымится до 14В и таким останется. Если регулятор выкрутить на минимум от реле, то на модулятор после запуска розжига поступит 10В. Если после розжига, когда щелкнуло реле К1, начать крутить Р2 в сторону реле, то напряжение можно уменьшать до 0В, но как только Вы дойдете до середины положения переменника, напряжение перескочить на 14В и не будет уже изменятся. На регулировку пусковой можности у Вас есть ровно 10-15 сек. после запуска розжига. Регуляторы Р1 и Р2 настраиваются единожды под мощность котла и больше не трогаются.
      Р1 можно настраивать только в режиме отопления, после 15сек. как произошел розжиг. Если крутить от реле то напряжение на модуляционной катушке будет рости от 0В до 14В. Если нагреть диоды, пальцем, D9, D12 то напряжение на модуляционую катушку сказу станет 21В. Так-же если установить перемычку LPG (JP1), то напряжение сразу подымится до 21В. У данной автоматике приоритет Бойлер, а не отопление. После того, как произошел розжиг платы (после 15 сек. от запуска) на выводе 9 U4.3 поставить щуп мультиметра, то напряжение покажет 10.6В и начнет медленно падать, так и должно быть, а то Вы можете подумать что конденсатор С9 не исправен. Данные измерения проводились с отключеным резистором на 10к DHW SET разъем J5 выводы 4 и 5. Чтобы себе облегчить измерения.
      В случае обрыва Регулятора температуры отопления, напряжение на U4.4 на выводе 13 в  упадет до 0 и на 14-выводе появится 10В. 
      После этого на выводе 13 плавно будет подыматся до 12В, как только подымется до 7.5В, напряжение на 14-выводе изменется с 10В на 0.
      Так-же жестко установится напряжение на микросхеме U4.3 вывод 8=10В, а вывод 9=0В. И сохранится до тех пор пока не будет восстановленно соединение переменника. Фото
       
       
    • 1. На схеме 6Н6П, а в тексте  6Н23П. Что используется реально ? Ну и как быть с внутренним сопротивлением триода ? Может катодный повторитель был бы лучше
    • @Олег Л хм, буду знать.
  • Записи блога