Pull to refresh

Мой опыт построения промышленной сети 1-Wire

Reading time 4 min
Views 47K

Предыстория

Как и многие хабрапользователи, обладая некоторыми навыками и неплохой фантазией, как-то наткнулся на сайт, тогда еще он висел на народе, и посвящался сопряжению самодельных устройств с ПК. Именно тогда зародилось семя безудержного интереса, чтобы что-то сделать и управлять этим с компьютера. Тогда, конечно, все начиналось с lpt порта принтера и постепенно перерастало на com порт и в конечном на usb. Все бы ничего, пока не наткнулся на сайт, посвящений созданию системы умного дома. Тогда я понял, что мне действительно интересно. Опустим долгий и интересный рассказ и перейдем прямо к теме.Пишу данную статью в качестве любителя, не профи, и надеюсь она поможет вам создать свою сеть с нуля, или почерпнуть полезный опыт для своей сети.В статья я хочу описать создание своей сети 1wire с нуля, включая все этапы построения и полезные советы.
  • Проектирование, печать, травление, лужения и пайка печатной платы;
  • Монтаж промышленной шины 1wire;
  • Программные и аппаратные средства управления и мониторинга.
Итак, самое простое для создания сети — это мастер сети и любое устройство, работающие на этом протоколе. Обычно устройства приходится делать самому(кроме датчиков темературы) или покупать за большие деньги. Для новичка понадобится мастер сети usb/com исполнения и пару датчиков температуры. Все это можно подключить, используя штатное питание порта, так называемое паразитное питание, либо подключить дополнительный блок питания в случае большого количества устройств и длинны шлейфа.Я, например, использую готовый мастер сети на usb порт (DS9490R):Как можно видеть, одним концом вставляется в usb порт, обслуживающей системы, это может быть компьютер или wi-fi роутер, или однопалатные решения. Другой конец является «мамой» разъема RJ-11 (стандартный телефонный разъем).Использую также и калиброванные датчики температуры(DS18B20+):Также я использую и планирую использовать:
  • Калиброванные датчики температуры(DS18B20+);
  • 4х-канальные Аналого-Цифровые преобразователи(DS2450S);
  • 8и-канальные чипы входа/выхода(DS2408+).
К сожалению, это все чипы, платы мне пришлось создавать самому, тем более в мануале к каждому чипу можно найти стандартные схемы использования с номиналами элементов и вариантами подключения.Вот несколько плат, что я уже создал. Платы на пятерку не тянут, поэтому не стоит копировать их буквально:VANIL-1880: (небольшая плата 8 входов/выходов для любых нужд — герконы, датчики движения управление слаботочными системами и прочее...)imageVANIL-1853S (плата с 5 входами/выходами и 3мя симисторами для подключения высоковольтных приборов, радиаторов не использовал, поэтому только через реле или магнитные пускатели, спектр применения очень широкий):imageКак видно, все аккуратно помещается в стандартные пластиковые распаянные коробочки с помощью винтиков и термоклея. На данный момент использую сеть только из 20 термодатчиков, для мониторинга температуры на даче, все подключено к серверу на Gentoo Linux. ПО для работы с сетью owfs.Это первая часть статьи предназначена для ознакомления, остальная подробная информация будет добавлена позже и по желанию хаброюзеров. Также хотелось бы узнать и ваш опыт и выслушать критику.Про травление плат: перешел сегодня с хлорного железа на соль + лимонную кислоту + перекись водорода. Пока нет информации о качестве травления, плата все еще травится:imageСостав такой: 100мл перекиси, 30 грамм лимонной кислоты и 5-6 грамм поваренной соли.И так спустя немного времени хочу дополнить статью, и в первую очередь скажу, что новый способ травления плат мне понравился, чуть дольше но эффект не хуже, чем от хлорного железа.Я травил плату для контроля уровня жидкости в колодце с технической водой, там установлено два датчика, один чуть выше носа, а второй на самом верху, также существует полуавтоматическое управление, запуск и остановка вручную, индикаторы в виде лампочек, говорящие о работе системы. Датчики уровня жидкости обычно дорогие, поэтому сделал их самостоятельно, к сожалению нету возможности сфотографировать, они уже погружены в колодец. Но с удовольствием опишу компоненты и конструкцию.Список используемых компонентов:
  • Геркон для металлических дверей, круглый, запаянные внутренности
  • Кусок ПНД трубы около 10-15 см
  • Силикон, для кровельных работ
  • Резиночка от распаянной коробки с дырочкой
  • Кусок UTP провода, 4-х жильный(меньше не было) нужной длинны
  • Поплавковый материал, я использовал полистирол
Вот фотографии компонентов(данная реализация датчика еще не проверенна временем): также полежный инструмент для резки пнд прилагается: Данная система не работает с 1wire напрямую, можно лишь считывать статус ее работы. Чего на самом деле достаточно, хотя простым подключением к одному из 8 входов/выходов, можно имитировать наполнение колодца и запустить откачку с компьютера.все смонтировано в герметичный ящик, включая блоки питания на дин рейку Также новичкам советую купит отладочную плату, выглядит вот так:Вот фотографии ящика:Для проектирования плат пользуюсь программой SLayer5Единственное не выложил сюда разводки всех плат, а также тех что еще не реализовал.Но данная тема не есть конечный продукт, лишь мой опыт, и я его собираюсь развивать.Теперь немого программной части, я все делал под Gentoo Linux поэтому в ядре пришлось собрать fuse для работы owfs, если вы знаете линукс, то вам несложно будет включить пару новых пунктов при компиляции ядра. Это что касается софа. Опрашиваю датчики я через крон каждые15 минут, потом вывожу графики деля на 4, то есть показания за час.К сожалею не могу уместить в этой статье, все что хотел, поэтому напишу остальное в следующей части, ищите по тегу 1wire
Tags:
Hubs:
+16
Comments 17
Comments Comments 17

Articles