Существует несколько способов подключения датчиков температуры DS18B20 к сети 1-wire. В этой заметке я опишу способ подключения температурного датчика по схеме с «паразитным» питанием, где в качестве мастера сети 1-wire используется оригинальное USB-устройство DS9490R.
Данный способ подключения является очень удобным, т.к. используются всего две жилы проводника, а так же нет необходимости в дополнительной обвязке со схемой стабилизации питания (если вы планируете использовать в качестве мастера другие устройства, то возможно будет необходима подтяжка — об этом я расскажу позже). Правда стоит отметить, что в официальной документации говорится о возможных негативных последствиях при подключении температурного датчика, но на практике, при использовании мастера DS9490R, я с этими проблемами не встречался.
Итак, схема подключения датчика довольно простая: в качестве шины сети 1-wire я использую простой кабель UTP-5 (витая пара) и, с целью уменьшения помех на линии, использовал для DATA и GND две свитых в одну пару жилы. Ножки датчика 1 (GND) и 3 (Vdd) соединяются накоротко и подключаются к PIN4 у DS9490R. Ножка 2 (DATA) подключается к PIN3 у DS9490R. Таким способом к одному мастеру можно подключить много датчиков (я проверял работоспособность на 15 одновременно подключенных датчиках).
Принципиальная схема подключения DS18B20 с паразитным питанием:
После подключения, датчики появляются в OWFS и показывают температуру 🙂
Преимущества данной схемы подключения:
- Простой и довольно дешевый способ подключения большого количества датчиков температуры
- Нет необходимости во внешнем питании
- Нет необходимости в дополнительной «обвязке»
Недостатки:
- Возможна нестабильная работа на шинах большой длинны и большим количеством ведомых устройств в сети
- Желательно использовать фирменный мастер сети DS9490R