1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 4

Датчики для умного дома (мой опыт)

Тема в разделе "Умный дом", создана пользователем Sa., 05.12.12.

  1. Sa.
    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895

    Sa.

    писатель

    Sa.

    писатель

    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895
    Адрес:
    Обнинск
    Датчики для умного дома (мой опыт)
    Около полутора лет я занимаюсь вопросами альтернативной энергетики (http://www.forumhouse.ru/threads/127927/). А там где альтернативная энергетика, там сразу и датчики, и системы управления. О них в данной теме.

    Исходные условия:
    - датчики должны быть недорогими.

    - датчики должны быть аналоговыми. Тут стоит расшифровать. Самый простой датчик - это аналоговый датчик. Никаких тебе цифровых протоколов, API к этим протоколам. Нужно только АЦП чтобы считать информацию.

    - для чтения датчиков нам нужен прибор, у которого есть АЦП и который можно прочитать по LAN, желательно простеньким протоколом, в моем случае SNMP.

    Опробовал я несколько приборчиков, в том числе Jerome, Arduino и остановился на болгарской плате с релюхами. При стоимости в 2 500 р мы получаем 8 релюх и 8 портов АЦП. Ставим плату по месту мониторинга и управления (в моем случае в 80 метрах от сервера) и мониторим и управляем.

    Плату с релюхами можно найти на Ebay по запросу Ethernet Relay controller module - WEB server IP

    Теперь об Архитектуре моего "умного дома":

    В центре панорамы стоит сервер на Linux. Компьютер PC Eee с потреблением 40 вт.

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

    На сервере крутятся в кроне несколько программок на перле, которые по SNMP протоколу опрашивают порты плат, и выдают команды на включение и выключение релюх.

    Дальше я расскажу какие аналоговые датчики я использовал.
     

    Вложения:

    • Datasheet-2.jpeg
    Sa. , 05.12.12
    #1 + Цитировать
  2. Sa.
    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895

    Sa.

    писатель

    Sa.

    писатель

    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895
    Адрес:
    Обнинск
    Ну а теперь о датчиках. Первым делом мне была интересна скорость ветра. Взял простенький тахогенератор на Митино за 500 р, повесил на него крышечки от киндерсюрприза - получился отличный анемомент.

    То есть все решение - тахогенератор. В зависимости от скорости вращения (в моем случае пропорционально скорости ветра) он выдает напряжение. Это напряжение я измеряю на первом порту АЦП, умножаю на коэффициент (подобран эмпирически) - получаю скорость ветра.

    Следующие датчики - это виртуальные датчики. Контроллер заряда солнечных батарей TriStar MPPT выдает по протоколу ModBas массу данных. Из этих данных я выбираю:

    - напряжение АКБ
    - температуру АКБ
    - мощность солнечной генерации

    Иногда контроллер зависает - тогда информация не получается. Надо учитывать в логике такие провалы.

    Следующий важный датчик - датчик холла, который позволяет измерить силу тока. Сила тока нужна в куче случаев:

    - расчет генерации ветрогенератора
    - учет потребления домом
    - учет потребления разными потребителями

    Я выбрал вот такой датчик CSLA2CD Honeywell ACDC 72 Amps он мне понравился тем что является бесконтактным, то есть вешается на провод. Выход аналоговый.

    На вход подаю 12 вольт, выход делю делителем так чтобы получить результат в диапазоне от 0 до 3 вольт.

    Датчик измеряет как постоянный так и переменный ток. Переменный ток - на выходе переменное напряжение, которое перед измерением я выпрямляю диодом и RC цепочкой.

    Измеряю температуру датчиком LM35CZ. На ебее он стоит порядка 30 рублей. Питание 3,3 вольта - на выходе аналоговый сигнал измеряемый все тем же болгарским десятиразрядным АЦП.

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

    Просто так АЦП напряжение в сети не измерить, нужна гальваническая развязка иначе бах и порт АЦП вылетел. Гальванической развязкой служит оптопара IL300 стоимостью 150 р на ебее. Я взял какой-то зарядник от старого телефона, повесил на трансформатор эту опторазвязку, выходы подключил на АЦП.

    Хочу отметить, что все датчики надо калибровать. То есть, в общем случае, мы получаем с датчиков какое-то напряжение от 0 до 3,3 вольт (диапазон измерения АЦП). Дальше берем соответствующий прибор (тестер, термометр, анемомент) и расчитываем коэффициент, который вносим в программу на перле.

    Например, $speed = 2*2.7495*$v_tacho, где $v_tacho - напряжение с АЦП, 2*2.7495 - волшебный калибровочный коэффициент.
     

    Вложения:

    • 999582282.jpeg
    • 51kpNeKQVdL._SL500_AA300_.jpeg
    Sa. , 05.12.12
    #2 + Цитировать
  3. Sa.
    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895

    Sa.

    писатель

    Sa.

    писатель

    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895
    Адрес:
    Обнинск
    Датчик угла поворота (лежит поверх концевых выключателей).

    По жизни, этот датчик - обычный переменный резистор на 500 ом. На него подается 3,3 вольта, со среднего вывода берется напряжение, которое линейной формулой преобразуется в угол поворота.

    Два таких датчика у меня стоит на платформе слежения за солнцем. Угол поворота датчика в 270 градусов позволяет использовать его в достаточно широком диапазоне применений.

    Стоимость датчика угла поворота - 300 р на Митинском рынке.

    Немного о напряжениях.

    В сети ДОМа и остальных строений - 220.

    Эти 220 зарезервированы 4-мя 190 АКБ и прибором Xtender 4000 - 48.

    На АКБ повешены контроллеры заряда с Солнечных батарей (1340 вт) и Ветрогенератора (2квт). Все что генерируют эти два источника подается в ДОМ замещая собой внешнюю сеть. Зимой удается заместить порядка 10% потребления, летом до 40%.

    Блок релюх работает по 12 вольт. Также от 12 вольт работают два актуатора, двигающие платформу с СБ по солнцу.

    В блоке релюх стоит стабилизатор на 3,3 вольта.

    Итого: у нас два системных напряжения с общим нулем: 12 в и 3,3 в.

    АЦП блока релюх на 8 портов измеряет напряжение в диапазоне 0...3,3 в и дискретностью 1024 уровня. АЦП неточное. Приходится снимать показания несколько раз и усреднять.

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

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

    Вложения:

    • IMG_2266.JPG
    Sa. , 05.12.12
    #3 + Цитировать
  4. Sa.
    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895

    Sa.

    писатель

    Sa.

    писатель

    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895
    Адрес:
    Обнинск
    Следующий этап - вода.

    Заказал датчик потока и сенсор переключения. Когда дойдут - расскажу подробнее.

    Общая идея такая: нам надо считать энергоресурсы - тут в помощь датчик потока и два термометра. Также нам надо иметь качественное представление о потоке. Например, где-то прорвало воду - надо это диагностировать и принять решение о закрытии воды.
     

    Вложения:

    • ;.jpeg
    • $(KGrHqJHJDQE92O7FilDBPoWDonG0w~~60_3.jpeg
    Sa. , 05.12.12
    #4 + Цитировать
  5. Dan!la
    Регистрация:
    30.01.09
    Сообщения:
    6.146
    Благодарности:
    6.567

    Dan!la

    Строю дом

    Dan!la

    Строю дом

    Регистрация:
    30.01.09
    Сообщения:
    6.146
    Благодарности:
    6.567
    Адрес:
    Санкт-Петербург
    Не понимаю, зачем людям такой геморрой... Времени что ли 2 вагона свободного... Конечно, современным датчикам не доверяем, но наступим на 5 граблей, потратив 3 года на отладку... :flag:
     
    Dan!la , 05.12.12
    #5 + Цитировать
  6. Weis
    Регистрация:
    14.06.10
    Сообщения:
    4.117
    Благодарности:
    2.431

    Weis

    Живу здесь

    Weis

    Живу здесь

    Регистрация:
    14.06.10
    Сообщения:
    4.117
    Благодарности:
    2.431
    Адрес:
    Санкт-Петербург
    А по теме есть что сказать? Или так: "Здесь был Вася"?:aga:
     
    Weis , 05.12.12
    #6 + Цитировать
  7. Dan!la
    Регистрация:
    30.01.09
    Сообщения:
    6.146
    Благодарности:
    6.567

    Dan!la

    Строю дом

    Dan!la

    Строю дом

    Регистрация:
    30.01.09
    Сообщения:
    6.146
    Благодарности:
    6.567
    Адрес:
    Санкт-Петербург
    Не увидел вопросов и просьб что-то подсказать. Поэтому по теме сказать нечего или
    :aga:
     
    Dan!la , 05.12.12
    #7 + Цитировать
  8. Лифтанутый
    Регистрация:
    11.04.08
    Сообщения:
    3.241
    Благодарности:
    8.570

    Лифтанутый

    УВЕРЕННЫЙ

    Лифтанутый

    УВЕРЕННЫЙ

    Регистрация:
    11.04.08
    Сообщения:
    3.241
    Благодарности:
    8.570
    Адрес:
    Москва
    Вы видимо не увлекаетесь ничем. поэтому так пишите. Это же не от лишнего времени - это хобби! :hello: Парень творческий -хочет разобраться, за что ему респект. Конечно он ошибается в том что не ставит общей задачи а начинает с деталей- поэтому сложно понять что и для чего. Нужна конечная цель, что хотим получить - вот тогда ему смогут помочь те кто имеет опыт. ;)

    для чего два термометра? (были раньше расходомеры с измерительным нагревателем) неужто такое чудо? Для измерения потока можно обычный водосчетчик с выходом. прорыв воды - датчик аварии непонятно что нужно. сенсор переключения - к чему это?

    для повышения точности измерения угла поворота правильнее использовать многооборотный потенциометр с мультипликатором (редуктор наоборот)
     
    Лифтанутый , 05.12.12
    #8 + Цитировать
  9. Sa.
    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895

    Sa.

    писатель

    Sa.

    писатель

    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895
    Адрес:
    Обнинск
    Что такое "современный датчик"?

    И что такое обычный водосчетчик с выходом? Сколько стоит такой водосчетчик?

    Что такое прорыв воды? это возможные места прорыва на площади в 30 соток. Приезжаешь вечером, а на участке гейзер и маленькое озеро.

    Задачу в общем не поставил, согласен. Вернее не описал тут цель, это не значит что ее нет - исправлюсь.
     
    Sa. , 05.12.12
    #9 + Цитировать
  10. Dan!la
    Регистрация:
    30.01.09
    Сообщения:
    6.146
    Благодарности:
    6.567

    Dan!la

    Строю дом

    Dan!la

    Строю дом

    Регистрация:
    30.01.09
    Сообщения:
    6.146
    Благодарности:
    6.567
    Адрес:
    Санкт-Петербург
    Вооот! Нельзя начать делать колёса, не поняв, что в конце должен получиться паровоз.

    А на увлечения мои, кстати, в той же области, очень мало времени. Поэтому считаю, что нужно минимизировать свои изыскательные работы в той области, где уже всё давно изучено, сделано и налажено, а свой творческий потенциал направить на отработку алгоритмов или чего-то еще, а не изобретать 120-й по счёту велосипед, утомительная и кропотливая наладка которого сведёт на нет всё желание и весь творческий потенциал.
     
    Dan!la , 05.12.12
    #10 + Цитировать
  11. Лифтанутый
    Регистрация:
    11.04.08
    Сообщения:
    3.241
    Благодарности:
    8.570

    Лифтанутый

    УВЕРЕННЫЙ

    Лифтанутый

    УВЕРЕННЫЙ

    Регистрация:
    11.04.08
    Сообщения:
    3.241
    Благодарности:
    8.570
    Адрес:
    Москва
    сказано хорошо:hndshk: по остальному - каждый сам себе хозяин.
    практически в любой конторе по установке водосчетчиков можно купить б. у. недорого. у меня таких в квартире четыре шт, освободятся через три года.

    Думаю что места прорыва всегда известны, если трубопроводы из полимерной трубы - они не размораживаются и не рвутся (при грамотной прокладке). Другое дело - места соединений. Их надо минимизировать. Если длины большие, то верно - по датчику протока или определенному падению давления насоса можно предположить аварию на участке. Но конкретные места прорыва фиксировать датчиками воды непросто.
     
    Лифтанутый , 05.12.12
    #11 + Цитировать
  12. 1970krisman
    Регистрация:
    13.12.10
    Сообщения:
    380
    Благодарности:
    93

    1970krisman

    Живу здесь

    1970krisman

    Живу здесь

    Регистрация:
    13.12.10
    Сообщения:
    380
    Благодарности:
    93
    Адрес:
    Покров
    Странная фраза. Вы уверенно рассказываете о техническом решении и тут же как подключить спрашиваете. А что конкретно подключить где информация о датчике, ссылка на описание или фото нутра.
     
    1970krisman , 05.12.12
    #12 + Цитировать
  13. Weis
    Регистрация:
    14.06.10
    Сообщения:
    4.117
    Благодарности:
    2.431

    Weis

    Живу здесь

    Weis

    Живу здесь

    Регистрация:
    14.06.10
    Сообщения:
    4.117
    Благодарности:
    2.431
    Адрес:
    Санкт-Петербург
    Ну это только так кажется:) Или так должно быть, а на деле... Поговорка :"Аппетит приходит во время еды" не просто так появилась.
    Sa_ начинал с малого (с такого мааааленького "паровоза"), не представляя куда заведет его казалось бы безобидное занятие (да и сейчас вряд ли скажет с уверенностью на чем остановится. Усовершенствования можно только остановить, закончить не удастся:)]).
    И хорошо что не представлял, мог бы и не взяться за такое дело (нанял бы спецов, заплатил денег и готово).
    Он не схемотехник, не электронщик, не программист и т. п. Он человек, который умеет думать, учиться, ставить перед собой задачи и находить решения (пусть кому-то и покажется что не оптимальным образом).
    Его опыт, описываемый здесь, ценен в первую очередь тем, что показывает всем (а не только "людям в теме") как будучи "не спецом ни разу" можно решать задачи автоматизации в небольших масштабах, не затрачивая серьезных денег. И решать успешно:super:
    Так что полегче дорогие товарищи;)
     
    Weis , 06.12.12
    #13 + Цитировать
  14. Sa.
    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895

    Sa.

    писатель

    Sa.

    писатель

    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895
    Адрес:
    Обнинск
    Спасибо! Сенсей Weis.

    Для сомневающийся:

    Я не схемотехник, но это не значит что я не могу собрать не макетной плате объвязку для простенького датчика или оптопары. Просто результат будет не сразу, а после 20-ти минутного эксперимента.

    И я не программер, но это совсем не значит, что я не могу скопировать из программки примера пару строк в свою программу. Но это значит, что искать библиотеки для каждого цифрового датчика я не буду.

    А на самом деле я придумываю сложные информационные системы. Я думаю, приходит озарение, я пишу документ и по этому документу народ потом пару-трешку лет командой из 5-10 человек программит какую-нибудь систему управления.

    Поэтому, создавая свою систему, я прекрасно вижу куда дело двинется в ближайший год-два.

    Например, цифровой счетчик воды никуда не прилепишь. Безусловно, можно к нему создать микроконтроллер, например, на ардуино, который посчитает импульсы, переведет их в скорость потока и отправит метров за сто по витой паре на сервер. Но гораздо проще, с точки зрения универсальности, взять частотный счетчик за 500 р, повесить на него интегратор в виде кондиционера и резистора, снять АЦП уровень напряжения, умножить на коэффициент и получаешь скорость потока по SNMP запросу.

    Про то как найти протечку. Безусловно, нельзя поставить датчики потока на все возможные хвосты, где может случится фонтан. Тем более, хвосты разбросаны на протяжении 300 метров труб. В морозы может сорвать кран уличной воды (ну да, бывает я так туплю, что включаю летнюю воду, а потом заморозки). НО! можно повесить датчик на вход водопровода и анализировать потоки с подозрительными свойствами (никого нет дома, а идет сильный поток воды, как пример). И принимать решение - подозрительный поток - выключаем насос до выяснения.

    Дальше я расскажу алгоритмы, которые у меня объединяют все датчики в одну систему.
     
    Sa. , 06.12.12
    #14 + Цитировать
  15. Sa.
    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895

    Sa.

    писатель

    Sa.

    писатель

    Регистрация:
    11.04.11
    Сообщения:
    939
    Благодарности:
    895
    Адрес:
    Обнинск
    Вообще, затея выросла из желания управлять трекером Солнечных батерей. Для этих целей был поставлен компьютер и LabJack.

    У ЛэбДжека остались лишние порты и на них были подключены датчики холла, которые измеряли генерацию ветра и потребление хозяйства.

    Это была первая версия системы. Основная проблема состояла в том, что расширить систему и распространить ее на мастерску, расположенную в 60 метрах, было невозможно. В итоге я прошерстил тему LAN контроллеров и нашел платку, представленную в начале темы.

    Имея сервер и несколько таких платок я могу собрать данные с совершенно разных датчиков, расположенных на достаточно большом расстоянии друг от друга, и сделать это единнобразно, примерно так (кусок программки на перле):

    # этот порт у меня будет измерять напряжение с тахогенератора
    my $wind = '.1.3.6.1.4.1.19865.1.2.3.8.0';

    #Открыли SNMP сессию с прибором на 60-м адресе
    my ($session60, $error60) = Net: SNMP->session(
    -hostname => "192.168.0.60",
    -community => "private",
    -timeout => "5");

    #Читаем параметр с датчика
    $response = $session60->get_request(-varbindlist => [$wind],);
    $f_wind=$response->{$wind};

    Все! Уменя в виде переменной есть показания датчика. Дальше я программно могу вычислить какую-то логику и дать команды на релюхи.

    Пример реального сценария:

    1. Измеряем напряжение в сети.
    2. Если оно = 0, значит сеть выключили и мы живем на аккумуляторах.
    3. Чтобы не тратить аккумуляторы на разные некритичные задачи мы:
    - выключаем насос фильтра бассейна (300 вт)
    - выключаем все сегменты теплых полов (165, 600, 800, 1000 вт), электрическим ТП я отапливаю мастерскую
    - выключаем часть уличного освещения (200 вт)
    - включаем аварийную уличную подсветку чтобы не поломать ноги (лампочки по 1 вт)
    - пока не придумал...

    Сценарий 2:

    1. Измеряем напряжение на АКБ.
    2. Если больше 54 вольт, значит альтернативные источники дают энергии больше чем потребляет хозяйство.
    3. Измеряем температуру в мастерской
    4. Если там не очень жарко, то включает очередной сегмент теплого пола.

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

    Есть еще сценарии управления освещением ночью с целью экономии электричества. Может в масштабах квартиры это не очень ценно, но когда большая территория и куча светильников, то поневоле задумаешься над оптимальными сценариями их включения и над реализацией.
     
    Sa. , 06.12.12
    #15 + Цитировать