Радиофицированный торшер или еще «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 и там же развел плату.

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

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

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

Технология многократно описана, желающие могут ознакомиться с моими персональными ''граблями''.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

С торшером все понятно, а вот когда стал «примеривать» этот модуль к роутеру и модему, понял, что некоторые вещи не додумал и в скетч были добавлены следующие функции:

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

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

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

Имея достаточный набор таких «коммутаторов», можно спокойно реализовывать какие-нибудь автоматические сценарии с учетом данных от каких-либо проводных или беспроводных «датчиков», но об этом как-нибудь в следующий раз…

ссылка на оригинал статьи http://habrahabr.ru/post/195884/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *