Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Какая макс. длина провода для DS18B20?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
hd44780
Хочу датчик DS18B20 на лоджию вывести.
Радиосвязь по разным причинам не катит - спец микрухи у меня есть, но мелкие - припаять не могу.
Пытался ставить самопальные модули - чего-то неработает. Кинул я пока на это, решил проводком сделать.
Расстояние где-то метров 15-20. Схема включения стандартная, 3-х проводная.
И где Pull-up резистор ставить - возле датчика или на плате, рядом с контроллером?
Будет оно работать на такой длине или надо всякие ретрансляторы городить (магистральные усилители lol.gif )?

Спасибо.
GDI
на 15-20 метров будет прекласно работать, а вообще, знакомый делал 200м при растягивании тайм-слотов.
Пулл-ап надо ставить на плате контроллера.
hd44780
Цитата(GDI @ Nov 17 2008, 13:04) *
на 15-20 метров будет прекласно работать, а вообще, знакомый делал 200м при растягивании тайм-слотов.
Пулл-ап надо ставить на плате контроллера.


Спасибо. Куплю провод, буду делать.
Пока все.
zhevak
Цитата(hd44780 @ Nov 17 2008, 15:54) *
Расстояние где-то метров 15-20. Схема включения стандартная, 3-х проводная.
И где Pull-up резистор ставить - возле датчика или на плате, рядом с контроллером?
Будет оно работать на такой длине или надо всякие ретрансляторы городить (магистральные усилители lol.gif )?


1. У меня DS18S20 установлен на балконе. Двупроводная схема (телефонная лапша, неэкранированнная), длина провода примерно 20 м. Резистор 4.7 КΩ на плате, радом с МК. На ногах DS18S20 -- ничего.

Уже года три впахивает за милую душу. Претензий нет вообще никаких.

2. Если у Вас три провода уже прокинуто, и Вы беспокоитесь о качестве связи, то предлагаю Вам рассмотреть такой вариант. На дальнем конце рядом с датчиком разместить МК, а связь с датчиком можно сделать и дву-, и трех-проводную. Передачу же по длинному проводу -- осуществить своим протоколом. Тепература очень медленно изменяется, поэтому скорость можно взять чуть-ли не 1 бит в секунду, а измерять температуру -- раз в минуту. Вам же важна не столько скорость передачи, сколько уйти от проблемы затянутых фронтв, которые получаются из-за распеделенной емкости кабеля и большой величины сопротивления поддтяжки. (Индкутивность кабеля и его омическое сопротивление малы, поэтому ими можно пренебречь.)

3. Пока что-нибудь не начнете сами делать, ничего у Вас не измениться. Не бойтесь ошибиться!

Удачи!
hd44780
Провода у меня пока нет.
Лапша - интересный вариант, где-то у меня полно ее было... Еще со времен СССР, когда любая мелочь была дефицитом.
Вот только с 2-х проводной схемой для DS-ки никогда не работал.
Особо чем-то от 3-х проводной отличается?
xemul
Цитата(hd44780 @ Nov 17 2008, 13:37) *
Провода у меня пока нет.
Лапша - интересный вариант, где-то у меня полно ее было... Еще со времен СССР, когда любая мелочь была дефицитом.
Вот только с 2-х проводной схемой для DS-ки никогда не работал.
Особо чем-то от 3-х проводной отличается?

Vcc DS18B20 вешается на землю. На время преобразования нужно выдавать на шину нормальное питание (strong pull-up в даташитах) - н-р, 5 В через 100 Ом (которые у меня все равно висят с ноги контроллера в шину, так что остается только установить пин в 1 и назначить выходом). При этом, естесно, используется режим однократного преобразования.
Видел, как 17 DS18B20 уживались на ~ 100 м лапше, но картинки на ней бациллоскопом не смотрел.
hd44780
Спасибо всем.
Буду делать smile.gif
Krik99
Разве Vcc датчика вешается на землю? я думал на data, хотя могу ошибаться. А нащёт паразитного питания, так dallas предлагают ставить транзистор, чтобы открывать Vcc на прямую по проводу data во время приобразования.
GDI
Если там всего один датчик на линии, то должно хватить и просто вывода МК, не к чему там городить транзистор, надо , конечно , справиться в даташите на счет тока портебления в режиме измерения температуры.
hd44780
Датчик один на ноге - не люблю ставить много.
Это у меня метеостанция - это для нее 3-й датчик.
Если я повешу все на один провод, то мне тогда придется городить механизм связки ID1 - улица; ID2 - комната; ID2 - лоджия.
Мне проще повесить каждый датчик на свою ногу и все.
xemul
Цитата(GDI @ Nov 17 2008, 15:28) *
Если там всего один датчик на линии, то должно хватить и просто вывода МК, не к чему там городить транзистор, надо , конечно , справиться в даташите на счет тока портебления в режиме измерения температуры.

Просто вывода МК хватит и на 20 датчиков - паразитное питание предполагает, что в любой момент времени активно не более одного датчика. А вот резистор привязки придется уменьшить.
Цитата
Standby Current IDDS 750 1000 nA 7),8)
Active Current IDD VDD=5V 1 1.5 mA 9)
7) Standby current specified up to 70 C. Standby current typically is 3 uA at 125 C.
...
9) Active current refers to supply current during active temperature conversions or EEPROM writes.

Еще одна оговорка в даташите:
Цитата
The use of parasite power is not recommended for temperatures above +100 C since the DS18B20 may not be able to sustain communications due to the higher leakage currents that can exist at these temperatures. For applications in which such temperatures are likely, it is strongly recommended that the DS18B20 be powered by an external power supply.
kolobok0
Цитата(hd44780 @ Nov 17 2008, 12:54) *
Хочу датчик DS18B20 на лоджию вывести....Расстояние где-то метров 15-20. Схема включения стандартная, 3-х проводная.И где Pull-up резистор ставить - возле датчика или на плате, рядом с контроллером?Будет оно работать на такой длине или надо всякие ретрансляторы городить (магистральные усилители lol.gif )?..


Немного смешно и грустно...
как тут уже сказали - городить ничего не надо. Надо просто заглянуть в даташит. Для тех кто давно туда заглядывал - могу сообщить очень удивительную вещь. подгружать нуна на стороне датчика, а не на плате. для тех кто хочет проверить в живую - рекомендую осцилом глянуть, вопросы сами отпадут. растягивать сигнал - не нужно.

ну это ежели не получиться возле платы вляпать резистор smile.gif 1Wire без проблем (без подгрузке) тянет около 3-5 метров (пром. зона). Больше я бы не стал - необходимо нагружать. а где - лучше гляньте даташиты. Во всех датчиках этой серии 21, 20 с разными буковками - на схеме с подаваемым общим питанием нарисована линия и ВОЗЛЕ датчика резистор. Ну или ручками, ручками...сам решал этот вопрос на практике. потом полез в даташит - был уверен что рядом с МК ставить..ан нифига smile.gif просто смотрим как правило мимо все - вот и результат...


удачи Вам
(круглый)
ЗЫ
В даташите на второй странице указан резистор ВОЗЛЕ датчика (обратите внимание что линия обозначена пунктиром). На странице 5 указан ВНЕШНИЕЕ питание либо ЛИНИЯ датчиков. На странице 8 дана ФИГУРНАЯ схема объясняющая как работать нуна МК, т.е. для понимания куда надо её подтягивать...

ЗЫ ЗЫ
Для тех кто всё же не согласен - ВЫ правы, спорить не буду. Верю больше глазкам и осцилу - увы.
xemul
Цитата(hd44780 @ Nov 17 2008, 15:44) *
Датчик один на ноге - не люблю ставить много.
Это у меня метеостанция - это для нее 3-й датчик.
Если я повешу все на один провод, то мне тогда придется городить механизм связки ID1 - улица; ID2 - комната; ID2 - лоджия.
Мне проще повесить каждый датчик на свою ногу и все.

Хозяин - барин.
Но, имхо, проще сделать колодку (с непосредственным питанием) для привязки датчиков прямо на коробочке, определять ID датчика с непосредственным питанием и (н-р) кнопкой и светодиодом назначать его в нужное место.
Плюсы: все хозяйство висит на одной ванварной шине и на одной ноге контроллера - код проще.
Минусы: нужно прописывать FindROM() и MatchROM() - код сложнее.smile.gif

2kolobok0 И правильно, чего спорить-то? "Даташит - не догма, а руководство к действию." (с) электронное собрание сочинений дедушки Ленина smile.gif
Если условия позволяют использовать паразитное питание (и привязка, естесно, только у контроллера), то почему бы и нет?
Коробочка, которую я поминал, обрабатывала 8 шин на лапше с 17-ью DS18B20-PAR на каждой (16 этажей и чердак, по три температурных профиля по длинным фасадам и по одному по торцам).
add
Цитата(kolobok0 @ Nov 17 2008, 15:55) *
...
...На странице 8 дана ФИГУРНАЯ схема объясняющая как работать нуна МК, т.е. для понимания куда надо её подтягивать...
..

Все конечно хорошо... но там же подписано где находится шина 1-wire bus...:-)
выход у датчика с открытым коллектором(условно), а следовательно образуется токовая петля которую целесообразно "подтягивать " непосредственно у контроллера.
На странице 2 указанна BLOCK DIAGRAM Figure 1!!! а на странице 8 HARDWARE CONFIGURATION!!!
Так что делаем выводы.
зы: а на счет осцила... это надо еще разобраться что и где там у вас заваливалось...
Krik99
Но всётаки, куда надо поцепить пин Vcc на ds18b20 чтобы перевести его на паразитное питание? Есть идея попробовать подправить стандартную либу Code Vision для паразитного питания.
Baser
Цитата(Krik99 @ Nov 17 2008, 18:25) *
Но всётаки, куда надо поцепить пин Vcc на ds18b20 чтобы перевести его на паразитное питание?

На землю (разве трудно взглянуть в даташит?)
Цитата
Optional VDD pin. VDD must be grounded for operation in parasite power mode.

Нажмите для просмотра прикрепленного файла

Цитата(kolobok0 @ Nov 17 2008, 14:55) *
Немного смешно и грустно...
как тут уже сказали - городить ничего не надо. Надо просто заглянуть в даташит. Для тех кто давно туда заглядывал - могу сообщить очень удивительную вещь. подгружать нуна на стороне датчика, а не на плате. для тех кто хочет проверить в живую - рекомендую осцилом глянуть, вопросы сами отпадут. растягивать сигнал - не нужно.
В даташит заглядывать, конечно, нужно. сам это всегда рекомендую wink.gif

Только кроме даташитов есть еще и руководства по применению. Посмотрите Application Note 132
Quick Guide to 1-Wire net Using PCs and Microcontrollers Нажмите для просмотра прикрепленного файла какие схемы подключения рекомендует производитель. Да и "с точки зрения банальной эрудиции": возле какого датчика цеплять подтяжку при множестве датчиков на шине?
ivainc1789
Вот тут прозвучала мысль, "растягивать таймслоты". А разве тайминги на шине не ЖЕСТКО фиксированы? По даташиту там допуски очень небольшие, в любом случае Tslot <= 120us. Поясните, если не так...
Serjio
Вообще-то, если хотите использовать паразитное питание то и ставьте соответствующие датчики. У них префикс PAR (DS18B20-PAR). Обычные датчики в паразитном режиме плохо работают. В свое времядля использования простых датчиков припаивал, через диод шоттки и резистор, кондер к ноге питания. Когда на линии единица конденсатор заряжается через диод и резистор, а когда идет преобразование датчик питается от кондера.
Тайм-слоты у шины 1-wire "почти" фиксированы (60 μs < TX “0” < 120μs - слот чтения), что и ограничивает дальность связи. При большой длине начинает сильно сказываться емкость линии связи.
xemul
Цитата(Serjio @ Nov 18 2008, 12:17) *
Вообще-то, если хотите использовать паразитное питание то и ставьте соответствующие датчики. У них префикс PAR (DS18B20-PAR). Обычные датчики в паразитном режиме плохо работают.

Ознакомьтесь, чтобы больше не вводить людей в заблуждение.
Цитата
The "-PAR" Advantage
...
To solve this problem, Dallas created the DS18B20-PAR, DS18S20-PAR, and DS1822-PAR. These devices are identical to the DS18B20, DS18S20, and DS1822 except that VDD is internally connected to GND

И все.
А "-PAR" - это таки суффикс.
add
Цитата(xemul @ Nov 19 2008, 10:06) *
...чтобы больше не вводить людей в заблуждение.
И все.
А "-PAR" - это таки суффикс.

Так получается что -PAR означает что Vdd у датчика подтянуто внутри к GND? Прально я понял? 05.gif
Serjio
Согласен - идентичные, кроме ноги питания, но "
To solve this problem, Dallas created the DS18B20-PAR, DS18S20-PAR, and DS1822-PAR" , т.к. многие цепляют датчики не задумываясь о свободных ножках.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.