подключение датчиков 1-wire: вопрос дилетанта

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
kuzmich
Сообщения: 8
Зарегистрирован: 24 апр 2012, 15:17

подключение датчиков 1-wire: вопрос дилетанта

Сообщение kuzmich » 24 апр 2012, 15:31

Здравствуйте.

не сильно пока разбираюсь в схемотехники и читая о 1-wire не понял один момент:

везде пишут что датчики подключаются к ведущим устройствам напрямую и просто, ну например перем от этого http://www.ab-log.ru/files/File/Datasheets/DS9490.pdf контакты 1-Wire Data и 1-Wire Return и цепляются на контакты DS18B20 Data Input и Grand соответственно, и третий контакт замыкают с первым и с должно работать...

зачем тогда нужна сложная обвязка для датчика температуры с сайта http://www.radioseti.ru/ ?

объясните пожалуйста.
спасибо.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Andrey_B » 24 апр 2012, 16:01

DS18B20 может работать в двух режимах питания: паразитное (берется прямо из шины) и внешнее (от 3,3 до 5В).
Внешнее питание необходимо в двух случаях:
1. Когда мы хотим, чтобы шина оставалась свободной во время конвертации температуры. 12 битная конвертация занимает 750 мс. При использовании паразитного питания в это время шина занята, то есть никто больше ничего передавать по ней не может. 750мс - это 0,75 секунды. В нагруженной сети это может иметь существенное значение.
2. При измерении температуры свыше 100 градусов.

Напряжение 3,3-5В очень небольшое и на длинных линиях возможно падения напряжения ниже допустимого порога. В этих случаях используют повышенное напряжение (например, 12В), а в обвязку датчика включают элементы для стабилизации напряжения.

kuzmich
Сообщения: 8
Зарегистрирован: 24 апр 2012, 15:17

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение kuzmich » 24 апр 2012, 16:26

Спасибо за ответ.

Учитывая что я планирую использовать 5-6 датчиков на шине до 50-60 то думая мне лучше выбрать схему с внешним питание? т.е. уже с обвязкой. только вот разница в цене сильно огорчает 80 рублей против 270.

а какой посоветуете использовать источник питания, при условие что на шине будет еще несколько исполнительных элементов: то что снимается с USB компьютера и подается на выход адаптера DS9490, или что-то типа этого датчика питания: http://benuks.ru/oborud.html#7

хотя, насколько я понял, они дают разное: адаптер 5 вольт на 1 контакт,датчик питания 12 и 18 на второй и пятый контакт....

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Andrey_B » 24 апр 2012, 16:35

5-6 датчиков на 60 метровой шине вполне прекрасно будут себя чувствовать и на паразитном питании.
В качестве источника питания можно использовать любой качественный блок питания, в том числе БП компьютера, если они будут подходить по напряжению.

Armann
Сообщения: 4
Зарегистрирован: 29 май 2012, 20:21

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Armann » 29 май 2012, 21:57

Доброе время суток.
В электронике вообще и в 1wire в частности чайник, наставьте на путь истинный пожалуйста :)
Есть DS9490R и DS18B20, исходные данные:
- соединены витой парой, длина не больше полуметра
- 5в контроллера соединены с 5в датчика, OW (Wire data) контроллера с DQ датчика, GND_OW контроллера с GND датчика, вроде все прозвонил - контакт есть, КЗ нет
- контроллер подсоединен в USB-порт сервера
- на сервере Убунта, owfs 2.8p13 установлена из репозитория
- выполнена команда: "owfs -uall --debug /mnt/1wire/"
- содержимое папки /mnt/1wire:

Код: Выделить всё

05.4AEC29CDBAAB
10.67C6697351FF
alarm
bus.0
bus.1
settings
simultaneous
statistics
structure
system
uncached
- устройство, которое начинается на 05 - в файле type записано 'DS2405' (откуда это? У меня только только 1 контроллер и 1 датчик)
- устройство на 10 - температурный датчик, в файле type строка 'DS18S20'

Проблема - в файле temperature каждый раз разное значение температуры, меняется примерно в диапазоне от 0 до 100, причем абсолютно хаотично, безо всякой видимой закономерности

Что я сделал не так? Что можно проверить? Мог я перегреть датчик (припаивал к ножкам проводки, но датчик все время держал пальцами - горячо, но терпимо)?

P.S. при запуске owfs имею такой лог:

Код: Выделить всё

owfs -uall --debug /mnt/1wire/
FUSE library version: 2.8.6
nullpath_ok: 0
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56
INIT: 7.17
flags=0x0000047b
max_readahead=0x00020000
   INIT: 7.12
   flags=0x00000011
   max_readahead=0x00020000
   max_write=0x00020000
   unique: 1, success, outsize: 40
При выполении одной команды 'cat /mnt/1wire/10.67C6697351FF/temperature':

Код: Выделить всё

unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 56
LOOKUP /10.67C6697351FF
getattr /10.67C6697351FF
   NODEID: 2
   unique: 2, success, outsize: 144
unique: 3, opcode: LOOKUP (1), nodeid: 2, insize: 52
LOOKUP /10.67C6697351FF/temperature
getattr /10.67C6697351FF/temperature
   NODEID: 3
   unique: 3, success, outsize: 144
unique: 4, opcode: OPEN (14), nodeid: 3, insize: 48
open flags: 0x8000 /10.67C6697351FF/temperature
   open[0] flags: 0x8000 /10.67C6697351FF/temperature
   unique: 4, success, outsize: 32
unique: 5, opcode: READ (15), nodeid: 3, insize: 80
read[0] 32768 bytes from 0 flags: 0x8000
   read[0] 12 bytes from 0
   unique: 5, success, outsize: 28
unique: 6, opcode: READ (15), nodeid: 3, insize: 80
read[0] 32768 bytes from 12 flags: 0x8000
   read[0] 0 bytes from 12
   unique: 6, success, outsize: 16
unique: 7, opcode: FLUSH (25), nodeid: 3, insize: 64
   unique: 7, error: -38 (Function not implemented), outsize: 16
unique: 8, opcode: RELEASE (18), nodeid: 3, insize: 64
release[0] flags: 0x8000
   unique: 8, success, outsize: 16

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Andrey_B » 29 май 2012, 22:46

owfs, по всей видимости, не видит DS9490R, а соответственно и ваш DS18B20
Указанные вами адреса 05... и 10... - это фейковые устройства. Во всяком случае 10.67C6697351FF точно зашит в owfs как отладочный виртуальный датчик для тестирования сети без железа.
Проверяйте подключение DS9490R.
Скомпилируйте из исходников последнюю версию 2.8p15. В ней были устранены некоторые проблемы работы с USB-мастерами.

Armann
Сообщения: 4
Зарегистрирован: 29 май 2012, 20:21

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Armann » 30 май 2012, 05:50

понял, спасибо, попробую

Armann
Сообщения: 4
Зарегистрирован: 29 май 2012, 20:21

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Armann » 02 июн 2012, 22:28

Скомпилил и установил версию 2.8p15, исчезли все датчики (и заодно каталог bus.1), но присоединенный температурный DS18B20 так и не появился. Попробовал уже его поменять - не видит
Датчик с контроллером соединены так:
- Vdd контроллера соединены с Vdd датчика
- OW (Wire data) контроллера с DQ датчика,
- GND_OW контроллера с GND датчика
- GND (земля контроллера) и SUSO (5 контакт контроллера) в воздухе, может это неправильно?
Что еще можно проверить?

P.S. lsusb контроллер видит

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Andrey_B » 02 июн 2012, 23:49

Armann, отключите от DS9490R все датчики. Мастер - такой же элемент сети и он должен быть виден под адресом типа 81.*
Если мастер не виден, значит есть проблемы с мастером или параметрами запуска owfs.
Если мастер появляется, но при подключении датчика вся сеть пропадает, значит неправильно подключается датчик.

Armann
Сообщения: 4
Зарегистрирован: 29 май 2012, 20:21

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Armann » 03 июн 2012, 13:09

Разобрался... в даташите на датчик я с чего то решил что датчик изображен сверху, несмотря на надпись 'Bottom view' :oops:
Соответственно датчик у меня был подключен строго наоборот :oops:
Сейчас все работает, спасибо за помощь!

Vermus
Сообщения: 54
Зарегистрирован: 29 июл 2013, 17:12

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Vermus » 02 янв 2014, 11:48

продолжу отсюда :)

Прошло время, разобрался немного. Теперь такая проблема, есть датчик температурный ds18b20, схема с сайта бенукс. Не хочет работать почему-то (мастер в сети есть, термометр не виден, осциллографа у меня нет :) ). Подключаю паразитно - все ок. подключаю через схему с питанием 5V (проверил мультиметром - реально 5V) - тишина. "Земля" одна , питание от БП 220-12V. Плюс есть напряжение между 5V и data - это нормально? со стабилитроном КС156 - 3.96 V, без него 2,6 где-то. - это все замерено на ножках ds18b20 .
Уже и дату напрямую (без резистора) припаивал и кс156 убирал, не пойму, что не хватает. В контроллер подключено только 1-wire data и земля.

Подскажите куда копать?

ps. ds18b20 покупал здесь! должно же быть внешнее питание (читал вроде есть вариант PAR - но на моих ничего такого не написано).
update. Решил вопрос, дело было в витой паре - обжал лишнее в коннекторе для DS9490R, а оно перемкнуло походу c другого конца. :( Выщипал лишние контакты в коннекторе и обжал по новой - все работает.
Последний раз редактировалось Vermus 03 янв 2014, 21:41, всего редактировалось 1 раз.

shemnik69
Сообщения: 338
Зарегистрирован: 20 дек 2012, 15:52
Откуда: Саратов Saratov
Контактная информация:

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение shemnik69 » 02 янв 2014, 23:28

Как практический вариант попробуйте так:
Для датчиков лучше использовать гибкий провод в разно цветной оплетке (можно от UTP (только многожильный от Патч-корда) припаиваем к датчику DS18b20 провода длинной 30-40 см. Изолируем выводы термоусадкой 1.5 и общей 4 с натяжкой на корпус. Получается удобный элемент , провода скручиваем в витую "тройку" и с учетом цвета например оранжевый +5. Синй общий бело-синий дата) для удобства провода фиксируем через 10 15 см термоусадкой. Если нужно герметичность то на корпус можно одеть ещё термоусадку, и с добавлением например парафина (от свечки) немного (нагреть для обжатия ( излишки выйдут, а пространство будет полностью заполнено.) lдалее делаем такой же модуль из микросхемы LM78l05 также ее обжимаем термоусадкой и делаем выводы. Соединяем провода +5 в. общий и на вход LM78l05 будем подавать питание 12 в. Ток потребления датчика небольшой и никакой нагрев стабилизатора не страшен.
Полученные датчики очень просто вяжутся в систему 1-ware/ т.е цепляются к проводу (витая пара) (например пайка) основной шины и распределяются в местах их установки.
Можно применять разъемы и коннекторы RJ-12(45) но иногда это не удобно.
А так данный вариант прокладки например в каналах плинтуса очень прост.

kinord
Сообщения: 99
Зарегистрирован: 24 фев 2012, 10:08

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение kinord » 13 апр 2014, 14:09

Что бы не создавать лишнюю тему - спрошу здесь:

как лучше герметизировать датчики температуры для уличных условий, а особенно для прокладки в грунте?

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Mixman » 13 апр 2014, 14:42

Вот вариант того, что у меня торчит из балкона на улице http://umkv.ru/25-ili-to-chto-vne-kvartiry_173.htm
Ливни, - 25 градусов - все выдержало. Причем у меня на паразитном питании.

mbix
Сообщения: 7
Зарегистрирован: 15 апр 2014, 08:58

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение mbix » 20 апр 2014, 12:18

назрел вопрос, читал что 1-ware не любит ответвлений. это истинно только при паразитном питании, или наличие внешнего питания никак не влияет на этот момент ?

shemnik69
Сообщения: 338
Зарегистрирован: 20 дек 2012, 15:52
Откуда: Саратов Saratov
Контактная информация:

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение shemnik69 » 20 апр 2014, 20:29

Вопрос ответвлений, объясняется не тем как питается конкретный датчик, а тем что при любом способе контакта ответвления от основного ствола шины данное сопряжение порождает гармоники и отраженные сигналы, которые могут сильно искажать фронты (переход в 1 или 0) и как следствие сеть падает.
Конечно в DS 9490r присутствует механизм обработки подобных искажений но его возможности тоже не безграничны.
В то же время, на форумах присутствуют положительные отклики (хотя я тут скептик и не сторонник отхода от рекомендуемого стандарта) о работе древовидных схем сети. Так что всяко бывает.
Но наверное все таки разумнее будет следовать рекомендациям разработчика.
Еще момент, понятно в любой момент времени по сети общаются только мастер сети и датчик (или другое), остальные как правило "слушают".. то например датчики температуры можно так соединять, но всего несколько (штук 5-7). Ключи как правило такой вариант не приемлют у них сложнее протокол обмена и они чувствительнее к помехам.
И еще паразитное питание, при всей "красоте" и простоте все таки скорее вынужденный вариант, я такой нигде не применяю.

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Mixman » 21 апр 2014, 14:24

А я не смог справиться с т=75 (или 85 уже не будет помню) на ds18b20 с питанием от стабилизатора, хотя на паразитном питании все работает великолепно.

seven
Сообщения: 2
Зарегистрирован: 07 май 2014, 23:40

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение seven » 07 май 2014, 23:48

Привет всем. Есть вопрос по подключению DS18B20 к адаптеру DS9490R.
Подключил как везде пишут, а именно:
1 нога (GND) - 4 GND_OW 1-Wire Return
2 нога (DQ) - 3 OW 1-Wire Data
3 нога (VDD) - 1 VDD 5VDC Output
Все как на рисунке (1 и 2):
Изображение
Но датчик начинает сильно греться, в руках не удержать. Понял что перепутаны питание и земля. Подключил как на рисунке 3 - все работает.
Рисунки 1 и 2 взяты из официальных даташитов. Та и на форумах везде пишут что подключать нужно именно так. Так в чем прикол? Спасибо.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение Andrey_B » 07 май 2014, 23:54

А чем рисунок 1 отличается от рисунка 3? Все абсолютно также.
На рисунке 1 есть важная заметка - Bottom View. Это значит "вид снизу", а не сверху!

seven
Сообщения: 2
Зарегистрирован: 07 май 2014, 23:40

Re: подключение датчиков 1-wire: вопрос дилетанта

Сообщение seven » 08 май 2014, 00:10

Блин. :oops: Был невнимателен, думал то вид сверху. Прошу прощения за тупой вопрос.

Ответить