Контроллер шины 1 wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.

Автор не несёт ответственности за возможные негативные последствия вызванные попытками применить на практике материалы данной статьи!

Железо
Датчик подключается к COM порту компьютера. Мы будем собирать его навесным монтажом в корпусе разъёма DB9.
Возможные грабли:
Перед закупкой деталей убедитесь, что COM порт вашего сервера мониторинга имеет стандартное питание 9 В. Померьте напряжение между 4 и 5 контактом. Убил кучу времени пытаясь завести схему на сервере Hewlett Packard с 5-ти вольтовым портом. У стандартного порта напряжение между 4 и 5 контактом будет примерно 10-11,5 вольт

Для стандартного порта схема простейшего контроллера выглядит следующим образом:

По сути — это просто преобразователь уровней.

Для сбора схемы с одним датчиком были закуплены в «Чип&Дип» следующие детали:

1.Диод Шоттки — 1N5818 – 2шт.
2.Стабилитрон на 3,9 В — BZX55C3v9 – 1шт.
3.Стабилитрон на 6,2 В — BZX55C6v2 – 1шт.
4.Резистор на 1,5 КОм – 1шт.
5.Датчик температуры DS1820 – 1шт.
6.Корпус разъема DB9 – 1шт.
7.Разъем DB9 мама (Female) – 1шт.

Всё это дело обошлось примерно в 420р. По ценам января 2011 года.

Самая дорогая деталь – сам датчик (

280р.). Если необходимо наблюдать за температурой в нескольких точках, можно купить несколько датчиков и соединить их параллельно. Каждый датчик имеет уникальный идентификатор.
Маркировка датчика DS1820

Штриху на корпусе соответствует катод.
Я советую сначала скрутить все детали “ в воздухе ” с помощью пинцета или маленьких плоскогубцев

Видео:Sm контроллер шины что это, 1Скачать

Sm контроллер шины что это, 1

Лишние концы выводов деталей лучше откусить уже после пайки.

Выводы, которыми схема будет припаиваться к разъёму, откусываем в последнюю очередь

Возможные грабли:
В советском радиолюбительском жаргоне используется слово МАМА для обозначения разъема с дырочками и, ПАПА – разъём со штырьками. Буржуины, соответственно, используют обозначения МУЖСКОЙ и ЖЕНСКИЙ пол. Так, что обозначения в каталогах F и M это не Father и Mother, а Female и Male. Будьте внимательны при заказе радиодеталей дистанционно! ?

Для удобства монтажа я откусил неиспользуемые контакты разъёма

Припаиваем схему к контактам разъёма

Напаиваем датчик на кабель

В качестве кембриков я использовал изоляцию от более толстого провода. Третий вывод я не использовал.

Я использую один датчик, поэтому просто втянул его в кабель, потащив за проводники с обратной стороны

Для придания эстетического вида можно использовать и термоусадку. Если красивость не важна, никто не запрещает использование изоленты.

В работе это выглядит примерно так

Если кто собирается вешать несколько датчиков в разных местах или экспериментировать с разными устройствами, рекомендую размещать схему вот в таком разъёме-переходнике

Это позволит более оперативно производить различные коммутации. Такой переходник знаком техническим специалистам телекоммуникационных компаний. Без такого к «кошкиной» консоли не подберёшься. ?

Видео:Как подключить и пользоваться датчиками температуры шины 1-Wire?Скачать

Как подключить и пользоваться датчиками температуры шины 1-Wire?

Теперь софт
В портах FreeBSD программы Digitemp нет.
Придётся ставить вручную из исходников. Исходники можно скачать с сайта разработчиков по адресу:
http://www.digitemp.com
Для компиляции понадобится gmake, если не установлен, собираем из портов

Начинаем ставить Digitemp.

После разархивирования у нас появится папка /usr/temporaly_source_code_folder/digitemp-3.6.0

После компиляции в папке появится исполняемый файл digitemp_DS9097. Проверяем:

Программа выведет встроенный Help. Всё ОК.В принципе, кроме этого файла нам больше ничего и не нужно.
Создаём рабочую папку нашей системы наблюдения за температурой.

Контроллер присоединён к COM1, выполняем его инициализацию.

Будет выведена информация о найденных датчиках и создан файл конфигурации .digitemprc примерно следующего содержания:

TTY /dev/cuau0
READ_TIME 1000
LOG_TYPE 1
LOG_FORMAT «%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F»
CNT_FORMAT «%b %d %H:%M:%S Sensor %s #%n %C»
HUM_FORMAT «%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%»
SENSORS 1
ROM 0 0x28 0x4B 0xD1 0xC7 0x02 0x00 0x00 0xF0

Как видно, у меня один датчик. Нумерация датчиков начинается с нуля.
Пробуем снять показания.

Практическое применение схемы для формирования графиков изменения температуры описано в статье:
http://www.lissyara.su/articles/freebsd/programms/mrtg+digitemp/
Система оповещения о превышении температуры на основе Nagios описана в статье:
http://www.lissyara.su/articles/freebsd/programms/nagios+digitemp/

Лирическое отступление
Шина 1-Wire (один провод) была разработана в недрах капиталистической фирмы Dallas Semiconductor в 90-х годах прошлого века. Она представляет из себя сеть, с одним ведущим устройством (мастером) и несколькими ведомыми. На самом деле для осуществления связи используется минимум два провода: линия данных и земля, из-за этого в некоторых русскоязычных источниках я встречал термин «двухпроводная шина». Предусматривается и возможность дополнительного питания устройств по отдельному проводу (3-й вывод датчика). Однако ведомые устройства умеют накапливать энергию импульсов данных во встроенных ёмкостях (паразитное питание). Существуют и устройства со встроенными аккумуляторами. Стандарт предусматривает передачу данных на расстояния до 300-м (в рассматриваемой схеме конечно меньше) со скоростью 16,3 Кб/с. Фирма гарантирует уникальность идентификатора каждого устройства. Самым распространённым устройством, с которым, наверняка, каждый сталкивался, является DS1990A в корпусе MicroCAN — домофонная таблетка. Таблетка содержит внутри только уникальный код, который отдаёт по запросу. С помощью DS9097 его можно читать, однако соответствующего софта под FreeBSD я не нашёл ?

Читайте также: Подобрать шины для автобуса

размещено: 2011-02-03,
последнее обновление: 2011-02-16,
автор: Капитан

Видео:Лекция 309. 1-wire интерфейсСкачать

Лекция 309.  1-wire интерфейс

BlackCat, 2011-02-03 в 23:46:16

Спасибо. Интересный материал.

Nebuchadnezzar, 2011-02-04 в 8:26:46

спасибо, Капитан, за дополненную статью. на днях завёл датчик в серверную и по синусоиде на графике обнаружилось, что один из кондеев (они у нас работают попарно с ежечасным переключением) или не работает или работает не эффективно. за описание монтажа особое спасибо. буду делать.

Перед закупкой деталей убедитесь, что COM порт вашего сервера мониторинга имеет стандартное питание 9 В. Померьте напряжение между 4 и 5 контактом. Убил кучу времени пытаясь завести схему на сервере Hewlett Packard с 5-ти вольтовым портом. У стандартного порта напряжение между 4 и 5 контактом будет примерно 10-11,5 вольт

Пожалуйста не путайте людей. Приёмопередатчики компьютеров на интерфейсе RS232 как правило питаются от -/+ 12В имеющихся в нём. Ввиду экономии энергии исключение точно составляют ноутбуки и т.п. Те самые «10-11,5 вольт» (кстати — Вольт это фамилия и пишется с большой буквы) получаются благодаря падению напряжения на выходных каскадах микросхем. Стандарт RS232 описывает уровни напряхения на сигнальных линиях в диапазоне от -/+ 3В до -/+ 25В.

Шина 1-Wire (один провод) — не что иное ка «однопроводная шина». Разумеется под этим понимается один информационный провод.

Хочу отметить что статья бесспорно полезна на практике.

MYed
вам прямая дорога в серверную, и тестер вам в руки!

З.Ы. очепятку исправил, » не что иное ка «

Не поленился, залез в словарь иностранщины, применяемой в нашем великом и могучем . . .
Если говорим об итальянце, пишем Вольт, если об единице измерения — вольт.
Наезд отклонён.
Совет пройтись по серверной с тестером остаётся в силе.
Прошу выложить результаты замеров для серверов HP и более других!

Капитан Не вступая в перепалку замечу, что \»Ампер\» вы наверняка тоже пишите с маленькой буквы.

Видео:1. Железо контроллера Wiren BoardСкачать

1. Железо контроллера Wiren Board

Дорогой Капитан не сочтите за наезд. Вы не всё представляете себе в «электрификации» — пожалуйта без громких заявлений.

Жену свою поучи электрификации . . .

З.Ы. так что там с результатами замеров в серверной?

Nebuchadnezzar, 2011-02-07 в 15:11:27

сходил в серверную, измерил. у моих серверов (в основном супермикры) 10-11V.
Кэп, лучше расскажите, что делать если питания не хватает. у меня дома качалка на mini-itx, так походу там как раз низкое напряжение, а забортную температуру снять охота.

Нарыл в блокноте перерисованную откуда-то схему (ссылка не сохранилась). Помню, что автор успешно использовал данное решение на переходнике USB — RS232.

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

Проанализировал схему адаптера данной статьи. Для обладателей COM-портов с уровнями +/- 5В есть следующая рекомендация — попробуйте уменьшить номинал резистора, скажем до 300 Ом. Но дабы не спалить COM-ы, не используйте доработанный адаптер на 12 вольтовых портах.

Nebuchadnezzar схема приведённая Капитан-ом для прямого подключения к COM-порту не годится. Её можно использовать, скажем, после преобразователя уровней RS232-TTL.

Тогда остаётся вариант от производителя
http://www.treeworks.narod.ru/schems/DS9097u-009.jpg
Микросхемку идентификатора можно не использовать.
Цитата:
Works with bipolar logic signals of ± 5V to
± 12V (RS232C) as well as unipolar signals
of 5V to 12V

Читайте также: У велосипеда за зиму спускает шины

Nebuchadnezzar, 2011-02-10 в 8:01:11

Видео:FLprog урок №2 шины данных Uart\I2C\ICSP\OneWireСкачать

FLprog урок №2 шины данных Uart\\I2C\\ICSP\\OneWire

когда искал информацию по теме температурных датчиков, наткнулся на статью на хабре. [url=http://habrahabr.ru/blogs/DIY/55780/#habracut] схема аналогичная, но там деталек больше

Афанасий, 2011-02-10 в 12:38:47

С RRDTool как-то красивее (http://www.unix.ck.ua/content/monitoring-temperatury-s-pomoshchyu-rrdtool)

Это просто пиздец какой-то! Сделайте уже порт наконец для этой софтины, а то стремно видеть когда в хорошей статье софт из сорцов компиляют. А Капитану троекратное ура! За находчивость, смекалку и handmade. ?

Кап спасибо огромное за статью — обязательно возьму на заметку.

inkindly, 2011-09-13 в 23:36:39

Лучше делать на макетной плате,у меня все аккуратно и понятно получилось. И свободно сидит в корпусе COM-штекера. Один минус. Пробовал запустить на Windows — температуру показывает около 0. В комнате +20. На серваке с Ubuntu linux Server 9.04 вообще ничего не выводит.

Капитан, 2011-10-08 в 12:59:48

inkindly
хороший комментарий:
\»лучше делать по-другому, но не заработало\»

Капитану огромное спасибо. Собрал по твоей схеме, все пошло с первого раза. Включил в схему три датчика. Один на улице, один на компрессоре кондиционера и один в серверной. Температуру вижу. Теперь осталось привязать кондей с подогревателями к компьютеру и написать прогу по контролю запуска кондея при низких теппературах и влючению/отключению подогрева компрессора и дренажа. Быть может найду уже готовое решение.

Повторил схему несколько раз — работало стабильно при наличии
«высоковольтажного» ком-порта, на части хостов компортов свободных не было, пришлось покупать USB переходники, ни на одном из них не заработала. Вышел из ситуации использованием наружного блока питания, т.е. на датчиках третий вывод подключается к отдельно протянутой линии питания (т.е. протягивать придётся не две а три линии: GND-Data-Uпит.
Общий провод блока питания и предлагаемой схемы соединял возле хоста мониторинга.
Для того чтобы снизить инертность датчиков и погрешность измерения выводы откусывал и наращивал тоненькими «волосинками» — проводниками многожильного провода (в противном случае солидно врёт, особенно если вентилятором обдувается и выводы не обрезаны и не теплоизолированы).


2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов. 2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540 2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма 2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh 2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ 2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией. 2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat 2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp. 2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл. 2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления… 2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий. 2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp. 2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG 2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк 2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты. 2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации. 2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =) 2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы — ZFS 2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к 2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача — объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах. 2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела 2010-04-30, gonzo111
proftpd file auth&quota
Proftpd — квоты и авторизация из файлов, без использования базы данных и/или системных пользователей 2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email. 2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию… 2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон. 2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы 2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org. 2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов. 2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента 2010-03-01, BlackCat
Шлюз: Часть 1
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding. 2010-02-23, Morty
darkstat
Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики 2010-01-23, gonzo111
squid+sams+sqstat
Пилим squid и sams — примеры конфигов с объяснениями. Установка SqStat. 2009-12-19, schizoid
mpd5 + radius + ng_car + Abills
Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car 2009-11-16, lissyara
UFS->ZFS
Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386. 2009-11-13, gx_ua
fusefs-ntfs
Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
вверх
Читайте также: Зимние шины для suv авторевю

Статистика сайта
Сейчас на сайте находится: 12 чел.
За последние 30 мин было: 39 человек
За сегодня было
1884 показов,
342 уникальных IP

Видео:Работа с 1-wire ds18b20. Примеры проектов.Скачать

Работа с 1-wire ds18b20. Примеры проектов.

Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле
    • Правообладателям
    • Политика конфиденциальности


    🔥 Видео

    Опрос дискретных входов по шине 1-wire. Длина шины 300 метровСкачать

    Опрос дискретных входов по шине 1-wire. Длина шины 300 метров

    Как устранить проблему с sm контроллер шиныСкачать

    Как устранить проблему с sm контроллер шины

    Датчик температуры 1-Wire. Модель DS18B20. Производитель Module electronic. Умный дом.Скачать

    Датчик температуры 1-Wire. Модель DS18B20. Производитель Module electronic. Умный дом.

    Метеостанция ч.1.1. Осциллограммы с шины 1-Wire. Читаем коды.Скачать

    Метеостанция ч.1.1. Осциллограммы с шины 1-Wire. Читаем коды.

    #11 - Подключение датчиков 1-Wire, Siensor D107 и настройка данных с шины CAN-LOGСкачать

    #11 - Подключение датчиков 1-Wire, Siensor D107 и настройка данных с шины CAN-LOG

    Контроллер для умного дома на DIN-рейку c Zigbee, 1wire, RS485, сухими контактами JetHome JetHub D1+Скачать

    Контроллер для умного дома на DIN-рейку c Zigbee, 1wire, RS485, сухими контактами JetHome JetHub D1+

    MCP2515, контроллер CAN шины с интерфейсом SPIСкачать

    MCP2515, контроллер CAN шины с интерфейсом SPI

    56. Взаимодействие датчиков DS18B20 по шине 1 Wire с микроконтроллером PIC (Урок 47. Теория)Скачать

    56. Взаимодействие датчиков DS18B20 по шине 1 Wire с микроконтроллером PIC (Урок 47. Теория)

    Конвертер 1- Wire to RS485Скачать

    Конвертер 1- Wire  to RS485

    FLProg урок внеплановый#7 I2C OneWireСкачать

    FLProg урок внеплановый#7 I2C OneWire

    Программирование МК ESP32. Урок 49. ULP. 1-Wire. Прием данныхСкачать

    Программирование МК ESP32. Урок 49. ULP. 1-Wire. Прием данных

    Связь между МК по 1WIRE ВведениеСкачать

    Связь между МК по 1WIRE  Введение

    Умная теплица Nextion + 1 WireСкачать

    Умная теплица  Nextion + 1 Wire

    лекция 352 Реализация 1wire интерфейса на Atmega8Скачать

    лекция 352 Реализация 1wire интерфейса на Atmega8
Поделиться или сохранить к себе:
Технарь знаток