0,0
рейтинг
1 октября 2013 в 00:21

Администрирование → Радиофицированный торшер или еще «2 копейки» в копилку «умного дома»

После серии постов про DIY-диммер «умного дома» решил рассказать о своей реализации подобного проекта.



Цель моего поста — поделиться опытом и предложить несколько направлений для размышления.

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

В какой-то из вечеров, «обнаружил» давно забытый в углу гостиной торшер, который никто уже очень давно не включал.

Обусловлено это тем, что свет в гостиной управляется универсальным пультом Logitech и через веб. Чтобы это было возможно, была сделана небольшая железка на ардуино, которая принимала ИК-команды от пульта и «нажимала кнопки» на радиопульте от потолочного светильника. Дополнительно эта железка оборудована модулем nRF24L01+ и умеет принимать команды от других модулей, в частности моих LAN- и GSM-шлюзов и передавать данные о своем состоянии. Но не о ней речь в этом посте (чуть-чуть писал об этом тут).

Итак, обнаружена «проблемная область» — нерадиофицированный торшер.

Поразмыслив над этой темой, придумалось, что сходная задачка (дистанционное включение-выключение) может очень даже пригодиться еще минимум в двух местах — питание роутера и модема провайдера (реализовать перезагрузку «по питанию»).

В дальнейшем появилась мысль сделать собственные выключатели (да-да, для установки в стандартные подрозетники и управляемые еще и через радиоканал), но пока до реализации руки не дошли из-за нехватки времени.

Таким образом получается, что проект как минимум не «одноразовый» и может быть тиражирован как в ближайшем, так и не очень близком будущем.

Сказано-сделано, смотрю, что же есть в «закромах родины» (ящичек с радиодеталями) и обнаруживаю:
  • предусмотрительно закупленные релюшки с напряжением 5В, которые могут коммутировать вполне себе «взрослые» 250В с током до 7А,
  • в качестве МК хотел использовать atmega168, но оказалось, что я под какие-то свои будущие нужды приобрел парочку atmega8 в DIP-корпусах, но руки мои до них так пока и не добрались — настал их черед,
  • пакетик транзисторов КТ306Г (еще из советских времен).

От кварцевого резонатора в схеме решил отказаться в пользу упрощения схемы и платы.
МК буду программировать через ISP с помощью программатора USBtinyISP, который уже тоже давно ждал своего времени.

Сразу задумался о питании разрабатываемого модуля.

Городить еще один блок питания к блоку, который коммутирует питание торшера (или другого устройства), как-то совсем не хотелось. Сделать сразу полную схему с питанием — тоже. И тут на глаза попалась зарядка для iPhone (нашел в Москве место, где их можно купить по 100 рублей и по этому случаю купил 5 штук «про запас»).

Правильный инструмент в руки и вуаля:


Замечательная платка импульсного БП с 5В на выходе и током до 1А — использую ее.

Первый прототип реализован на макетной плате и гордо продемонстрирован жене в работе.
Первая реакция: «Но ты же не оставишь эту конструкцию в таком виде и сделаешь для нее корпус?»

Корпус был «изготовлен» из обычной мыльницы.

Чтобы блок был «универсальным», оборудовал его обычной электрической вилкой и соответствующей розеткой. Розетка, к сожалению, на тот момент нашлась только такая, аналогичную которой я использовал для изготовления садового удлинителя (приобретена в строительном магазине). Мягко говоря, и вилка, и розетка несколько «крупноваты».

В общем, как обычно — «я его слепила из того, что было»:


На изготовление прототипа ушло где-то пару часов.
Где-то час ушел на написание и тестирование скетча и небольшие танцы с бубном по его заливке в МК (ни один МК при прошивке не пострадал от неверно выставленных фьюзов).

После нескольких дней опытной эксплуатации торшер обрел «вторую жизнь».

Можно приступать к тиражированию.

Только в этот раз итерация началась с поиска подходящего корпуса, в который бы уместилась основная плата и плата блока питания. Дополнительно хотелось оставить функцию зарядки (USB-разъем).

Подходящий корпус был обнаружен в ближайшем «Чип и Дип» (да, дорого, но зато сразу). Размер корпуса 63х44х31мм и его внутренняя компоновка вполне четко дали размеры будущей основной платы.

Схемку быстро накидал в Eagle и там же развел плату.
Если требуется схема и плата — сообщите в комментариях — сделаю апдейт к статье.


upd: схема:


Сначала хотел остановиться на односторонней плате, но после нескольких попыток оптимизации разводки — отказался от этой идеи и решил заЛУТить двустороннюю плату по этому методу.

Для меня это был первый опыт (сразу 100% успешный, хотя и не без огрех).

Технология многократно описана, желающие могут ознакомиться с моими персональными ''граблями''.
Шаблон платы печатал на лазерном МФУ Samsung SCX-3200. Делать это пришлось в гостях и достаточно второпях, поэтому, возможно, не нашел всех правильных настроек: максимальное количества тонера и максимальное качество — первую настройку нашел, а вот до второй не добрался или качество печати у аппарата недостаточное для ЛУТ. В результате шаблон получился только «сносный» — на краях изображения дорожек была «бахрома», которая потом так же была перенесена на результирующую плату.

Поскольку это «первый опыт», решил использовать этот шаблон и сделать «проверочную» плату.
Сильно позже распечатал свои шаблоны на HP1320n с «правильными» настройками — качество оказалось несравнимо выше и никаких нежелательных артефактов на распечатке не наблюдалось.

Для переноса тонера на фольгированный стеклотекстолит воспользовался подложкой от детских наклеек (оказывается, сейчас продают целые «книжки-наклейки» вместо старомодных «книжек-раскрасок»). Сам материал — отлично подошел, но из-за того, что наклейки «вырубаются» на прессе — основа пострадала (на фото ниже видно на бликах характерные «разрезы» по местам бывших наклеек):


После тщательной «утюжки» и последующего «отмачивания» тонер практически полностью перешел на будущую плату (бумага просто отслоилась от платы, а тонер остался на меди). А вот в местах «разрезов» медь окислилась (повышенная температура и доступ воздуха) — это хорошо видно на фото:


Плату перед травлением внимательно рассматривал под лампой — дорожки подкрашивать не пришлось.
Травил в растворе хлорного железа, постоянно контролируя процесс (вспоминая свои детские поделки, когда платы рисовал цапон-лаком).

Результат оказался вполне жизнеспособным (на дорожках местами виден не до конца отмытый тонер):


После внимательнейшего осмотра плат на просвет, выяснился еще один косяк шаблона — недостаточная плотность тонера, которая особенно хорошо оказалась заметна на толстых дорожках. Этот дефект выглядел как сеточка из очень-очень маленьких протравленных отверстий, расположенных в строгом геометрическом порядке.

Дорожки залудил паяльником (325 градусов), в качестве флюса использовал обычный глицерин — результирующая плата меня полностью удовлетворила — никаких «залипух» и «трещин» («сеточка» тоже затянулась).

Плату развел таким образом, что не было ни одного «свободного» переходного отверстия (т.е. все переходы — только через выводные элементы). Но малость просчитался: несколько переходов оказались под разъемом ISP и разъемом под радиомодуль. При монтаже задумался, каким образом можно это обойти, и нашел достаточно простое решение: распустил многожильный провод на тонкие жилы и аккуратно запаял кусочки этой жилы с двух сторон в тех отверстиях, где нужен был переход, при этом минимально занимая пространство внутри отверстия. Это позволило реализовать переход и отверстия остались достаточно свободными для того, чтобы соответствующие разъемы нормально встали на свои места и были распаяны.

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


Таким образом, получили все компоненты будущего модуля:


Первая «примерка» к новому корпусу:


Позднее между платами добавлена жесткая прокладка, вырезанная из старой пластиковой карты, чтобы исключить возможный контакт.
Дополнительно в корпусе было организовано отверстие для USB-разъема, чтобы можно было от этого блока еще и заряжать что-нибудь (рядом с торшером расположен столик, на котором телефоны/планшеты регулярно «ночуют»).

Собственно, результирующее устройство рядом с прототипом:


В этот раз вилку и розетку взял более компактные (в «расход» пошел удлинитель из ИКЕА). К сожалению, они только белого цвета, мне черный вариант подошел бы больше:


С торшером все понятно, а вот когда стал «примеривать» этот модуль к роутеру и модему, понял, что некоторые вещи не додумал и в скетч были добавлены следующие функции:
  • сохранение в EEPROM текущего состояния (вкл/выкл)
  • восстановление текущего состояния после сброса (например, при выключении питания).
  • временной режим работы (перманентная коммутация или временная). К примеру, для роутера и модема не нужно давать две команды — «выключить» и потом «включить», а дать одну команду «выключиться на ХХ секунд»
  • возможность удаленно менять все параметры блока через радиоканал и сохранение этих параметров в EEPROM (чтобы не делать уникальную прошивку для конкретного устройства, а иметь возможность настроить конкретный блок под конкретную задачу)
  • возможность удаленно прочитать все текущие параметры блока (как состояние, так и «настройки»)
  • «сторожевая собака» (глупо было бы оставить роутер или модем без питания из-за «зависания» модуля и лишить себя доступа к домашним системам извне).


На текущий момент оба модуля (прототип и первый в «серии») успешно трудятся и решают свои задачи. Пара плат и корпусов ждут своего часа…

В голове бродят мысли о выключателях в стандартные подрозетники (и мысль разобрать один из китайских радиоуправляемых выключателей, дабы произвести небольшой реверс-инжиниринг, чтобы не наступить на какие-нибудь еще грабли или даже «выпотрошить» его почти целиком и заменить внутренности на свои).

Имея достаточный набор таких «коммутаторов», можно спокойно реализовывать какие-нибудь автоматические сценарии с учетом данных от каких-либо проводных или беспроводных «датчиков», но об этом как-нибудь в следующий раз…
Алексей Степанов @avstepanov
карма
103,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (46)

  • +12
    Мыльницы — наше все! :)
    Мой розберри
    image
    • +2
      У мя малинка в родном транспортировочном корпусе отлично сидит. И цвет — что надо :)
      Тут пока еще без проделанных отверстий
      image
      • 0
        Ломаю голову, что у Вас к GPIO подключено?
        • +1
          ds18b20, bmp085, dht22 — все просто :)
          Хотя в версии на фотографии — пока только 1-wire сеть с подключенными двумя датчиками ds18b20.
          Тут описание.
  • +3
    Отличная работа! Руки растут откуда надо )
    Приятно читать такие статьи
  • 0
    А что за приемопередатчик у вас такой и как выглядит передатчик для сервера?
    Ps каюсь, нашел в статье упоминание, спасибо! :)
  • 0
    Замечательная платка импульсного БП с 5В на выходе и током до 1А
    Ух ты какая замечательная! Где брали?
    • 0
      Kindle charger, или что-что похожее
      • 0
        Похоже на китайчонка, но не уверен насчёт фарша
        • 0
          Китайчонок был приобретен в магазине «Профи» на Митинском рынке (только все не разбирайте, мне еще тоже пригодятся ;)). Там же есть и зарядки для iPad (5В 2А) — 200 рублей.
          • 0
            Я на E-bay таких заказал. только там они в кубик упаковыны и схема на 2 части разделена. Самое то для питания таких штуковин. Единственное но, нужно инспектировать и периодически следить за такими блоками питания. Бывает брак.
          • 0
            Кстати, спасибо, за фото в распиленном виде. Тоже хотел питать от этой штуки устройство, но не решался пилить :)
    • 0
      Судя по внешке www.aliexpress.com/item/Free-shipping-10pcs-lot-AC-Power-USB-Wall-Charger-For-iPhone-5-4-4S-3GS-iPod/728590555.html
      Вот такие у меня китайцы, мне десяток обошелся в 8 с чем-то баксов, то есть меньше бакса за штучку, сейчас вон вижу, что чуть подороже.
    • 0
      На всякий случай предупрежу, что такие китайские блоки питания часто могут дать намного меньший ток, чем обещают. То есть, на 1A я бы не рассчитывал. К счастью, радиовыключатель в статье много не кушает.
      На eBay их много продаётся.
      • 0
        А некоторые выдают несколько большее напряжение, вплоть до 10В, и не все девайсы готовы его переварить. Ripe Atlas так сжег.
        • 0
          Предварительно напряжение на БП было измерено тестером — все в норме. Только после этой процедуры он пошел «в работу». А так да, бывает разное…
      • 0
        Подобные китайчики за $1 еще и склонны к пиротехническим эффектам. Автор явно любит риск.
  • 0
    На фотке «я его слепила из того, что было» надо было вилку втыкнуть в розетку, а-ля «радиофикатор торшера кусает себя за вилку» :)
  • +4
    Ух ты — 2Т306Г в современном девайсе! Да я их уже лет 100 не видел, хотя где-то в закромах валялась коробочка с чем-то похожим. Круто =).
    Ну а пост про эл-ное устройство без схемы — это как-то прям странно имхо. Что ж сразу то не выложить?
    • 0
      У меня где-то таких горсточка валяется позолоченных, ну или по крайней мере так выглядящих. Еще есть германиевые ГТ109 которые даже меньше чем SOT-23(или нет?).
    • 0
      Добавил в пост схему.
  • –1
    Внешний вид весьма напоминает
    Z-Wave Aeon Labs Inline Smart Energy
  • +1
    А если у usb блока питания потянуть за вилки, то корпус легко открывается.
    • 0
      Мои БП запаяны крепко — тянул во все стороны и пытался выламывать, но ничего не получилось — поэтому «трепанация».
  • 0
    А адрес радиомодуля программатором через ISP задается?
    Или как-то можно без ISP?
    • 0
      На текущий момент — пока только через ISP, но я уже корректирую — будет еще один параметр, который можно будет перезаписывать и он будет становиться «адресом» модуля (параметр SensorID из моего предыдущего поста).
      • +1
        Можно применить несколько другую технологию — дать возможность откликаться устройству на широковещательный адрес и реализовать команду «сменить адрес». Можно реально менять адрес только если он еще не задан. Тогда система обнаружив безадресное устройство в сети назначит следующий свободный и занесет его в БД считав идентификатор назначения(класс устройств — цифра/аналог, возможность управления или считывания состояния) и «способности» нового устройства.
  • +3
    А что если в качестве корпуса использовать сразу нечто в этом роде?

    • 0
      Поддерживаю вариант с розеткой, сам недавно её использовал
      Розетка-терморегулятор
  • 0
    Круто, но к вопросу о достижении максимальной миниатюрности, у китайцев есть еще например платки на базе микросхемы nRF24LE1, которая, в отличие от nRF24L01+ уже имеет встроенный микроконтроллер (Enhanced 8051 CPU and 16kB Flash). Заказал себе таких несколько.

    item.taobao.com/item.htm?id=13746037317

    Вот еще полезные дополнения:
    item.taobao.com/item.htm?id=25829656909
    item.taobao.com/item.htm?id=18376576364
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        1000 перезаписей даже для поиграться хватит очень надолго. SSD-шки современные — 3000 циклов записи… контроллеры современные — для флэша те же цифры.
        • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Не факт еще, что это решение менее габаритно.
      SMD-модуль от китайцев на этом же NRF24L01+ имеет размеры порядка 15х10 мм.
      А продемонстрированный вами — 20х20. Соответственно, если правильно изготовить плату можно получить очень малогабаритный «слоеный пирожок» габаритами меньше или сравнимыми с вашим модулем, при этом на нем будет свой выбранный контроллер, а не то, что нам навязывает производитель этой микрухи.

      А какая речь может идти о миниатюризации при использовании компонентов в дип корпусах, да еще и таких? Там модуль — далеко не самое узкое место.
  • 0
    Конечно, не факт, но думаю, что одно из самых малогабаритных. Мое предложение не претендует на звание самого лучшего — я просто упомянул о существовании такой микросхемы для тех, кому это может быть интересно. Потому что сейчас весь eBay завален именно модулями на NRF24L01+, а о других продуктах Nordic Semiconductor не так много шума.

    P. S. Я тоже сначала хотел изготовить плату-кирпичик, на которой будет уже сразу микроконтроллер, совместимый с Arduino, запаянный NRF24L01+ и PCB или чип-антенна, но потом решил сперва попробовать эту микросхему, когда узнал, что на ее основе тоже есть похожие модули.
    • 0
      На цены тоже смотрел при выборе. Вместо одной платы на nRF51822 можно купить 4-5 плат на nRF24LE1 или еще больше на NRF24L01+
      • НЛО прилетело и опубликовало эту надпись здесь
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Не думали в Тиньку засунуть ради уменьшения размеров и удешевления? Прям вижу одностороннюю плату вдвое меньше по размеру.
    • 0
      Думал, но в «закромах» обнаружилась только атмега8. Надо будет пополнить тиньками. Кстати, у какой тиньки есть аппаратный SPI?
      • 0
        Разве не у всех? Их же по SPI и шьют… (могу ошибаться)
        • 0
          Там SPI Slave чисто для заливки прошивки и еепрома. SPI Master в принципе, говорят, легко реализуем программно, вопрос — хватит ли памяти в 13й тиньке чтобы все это впихнуть.

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

          Есть еще «более другие» тиньки, типа 45й, но по цене уже равняются, а иногда превышают мегу8.
        • 0
          Собственно, далеко ходить не надо.
          • 0
            Спасибо, познавательно. Все оказалось просто :)
  • 0
    А я вот усиленно курю маны про cc2530/31, микруха копеечная, но подозреваю, если правильно раскурить часть стэка xbee про кластеры, и их кооперативную ОС, то можно, не заботясь об адресации, расстояниях(при достаточном количестве роутеров), легко и просто обойтись вообще без доп микроконтроллера. Сейчас пока осваиваю азы на девелоптерском комплекте, крыша ползет, но качество документации на уровне.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.