Очередная умная розетка для очередного умного дома

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

Очередная умная розетка для очередного умного дома

Все остальное под катом. Осторожно! Много картинок.

Предисловие


Сначала надо сказать, что в городе, в котором я сейчас живу, очень большая проблема с электронными компонентами (резисторы по 5р. штука, а о микроконтроллерах тут вообще не слышали). Все приходится заказывать или просить товарищей мне передавать из более продвинутых в этом плане мест. Надеюсь, эта информация объяснит возможные вопросы по применению тех или иных компонентов. Это не первое моё устройство и, благодаря использованию готовых модулей, надобность в рисовании схем отпала. Представлю только схему симисторного ключа.

Компоненты


Заказал у наших любимых друзей из поднебесной замечательные модули с распаянным nRF24LE1. О этом микроконтроллере уже много написано на хабре (тут, и тут, и еще вот тут), и это очень помогло на старте.
Мои модули, в отличие от большинства рассмотренных на хабре, меньше размером и имеют PLS с маленьким шагом (кстати, может сообщество подскажет, как правильно называются эти штырьки и где достать ответную часть).

Очередная умная розетка для очередного умного дома

В качестве мученника модернизируемого был выбран обычный, уже прошедший испытание бухгалтерами и уборщицами, сетевой фильтр. Я его протер на сколько смог, но некоторая усталость от постоянных пинаний ногами налицо.

Очередная умная розетка для очередного умного дома

Так же из поднебесной были заказаны симисторы BTA16 (600v, 16A) и опто-симисторы MOC3063. Рассыпуха частично была, частично докупил.
Итак, в бой!

Процесс разработки


Для начала разобрал сетевой фильтр, что бы понять, хватит ли мне места.

Очередная умная розетка для очередного умного дома
Места вагон и телега хватает.

Далее для прошивки nRF24LE1 решил использовать microUSB разъем. Контактов хватает, но нужно подтягивать вход PROG к питанию, чтобы перевести мк в режим программирования. Решил обойтись простым джампером (который пришлось самому делать из термоусадки и проволоки).

Очередная умная розетка для очередного умного дома

Отдельное, большое, спасибо посту от MaksMS, а так же ему лично. Статья и переписка с ним очень помогли начать программировать nrf24le1, а так же завести радио часть.

Итак, модуль отзывается на запросы программатора (использую USB ASP), переходим к управлению силовой части. Для управления симистором решил использовать опто-симистор MOC3063. Данная микросхема полностью отделяет силовую часть от низковольтовой, но есть один нюанс. MOC3063 имеет встроенный детектор перехода через 0 (zero-cross) в сети питания и сама подает открывающий импульс на симистор, что в свою очередь ведет к тому, что мы не можем диммировать розетку, но эту цель я и не преследовал. Схема включения ниже:

Очередная умная розетка для очередного умного дома

Схема проста, думаю, дополнительных объяснений не надо. Единственное отступление, вместо ограничивающего резистора поставил зеленый светодиод, который будет оповещать о включении опто-симистора.
По схеме собрал, маленькие, модули для 5-и розеток (на фото только 3):

Очередная умная розетка для очередного умного дома

Очередная умная розетка для очередного умного дома

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

Очередная умная розетка для очередного умного дома

Очередная умная розетка для очередного умного дома

Припаял управляющие выводы симисторных модулей к пинам микроконтроллерного модуля 0.2, 0.1, 0.0, 1.6, 1.5.
5 желтых светодиодов припаял к выводам 0.7, 1.0, 1.1, 1.2, 1,3. К выводам 0.5, 0.6 припаял зеленый и красный светодиоды для индикации работы модуля (парсинг команд, прием или отправка данных).
Все это добро упаковал в корпус сетевого фильтра.

Очередная умная розетка для очередного умного дома

Симисторные модули отлично поместились в промежутки между коробками для вилок (на фото к ним идет зеленые и серые проводки), под модулями установлены зеленые светодиоды (в заранее высверленные отверстия) в противоположной от них стороне, установлены желтые светодиоды.
Слева посередине видны концы двух светодиодов состояния мк.
Ну и в левом нижнем углу виден сам радиомодуль с висящим разъемом для программирования. Постой, а где же хваленый microUSB!? На момент съемки, microUSB кабель, который у меня был, оказался слишком длинным и программатор не видел мк.

Далее, самая большая проблема всего мероприятия: питание для микроконтроллера. Сначала хотел сделать конденсаторное питание, но нужных конденсаторов и стабилитрона в городе не нашел, а заказывать и ждать уже не было желания. Решил использовать блок питания из зарядки для какого-то телефона.

Очередная умная розетка для очередного умного дома

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

Очередная умная розетка для очередного умного дома

Понятно, что конденсаторный вариант был бы гораздо меньших размеров, но у зарядки есть гальваническая развязка, что позволяет в будущем вывести разъем для программирования вне корпуса.
Тем не менее, блок отлично поместился в корпус фильтра, и вся конструкция приняла следующий вид:

Очередная умная розетка для очередного умного дома

После сборки в рабочем состоянии:

Очередная умная розетка для очередного умного дома

Очередная умная розетка для очередного умного дома

Функционал


К сожалению, пока не могу выложить прошивку, потому что она очень запутана. Писалась с учетом работы в сети со многими устройствами, и в ней куча лишнего. Если сообществу будет интересно и я наконец получу инвайт то опубликую все в следующем посте. Хочется отметить, что никакого хитрого алгоритма там нет. Все сводится к простому дерганью пинами вкл/выкл. Никакого шима и тд. Простое мигание светодиодами (силовые модули для мк — обычные светодиоды)

Принцип работы следующий: при получении пакета от сервера, модуль определяет, что следует сделать с выбранной розеткой, и включает или выключает её. В выключенном состоянии на против розетки горит желтый светодиод, во включенном состоянии горит зеленый.
Тут я допустил очень серьезную ошибку, надо было сверлить дырки для светодиодов перпендикулярно к отверстиям для вилки. Так как 80% всех блоков питания, что я нашел дома, закрывают или оба светодиода, или один.

Немного о сервере

Сервер представляет собой такой же модуль nRF24LE1, подключенный через USB-UART конвертер к ПК, с которого через Java приложение идет управление другими устройствами в сети. Фото ниже

Очередная умная розетка для очередного умного дома

Заключение


Сетевой фильтр уже трудится на благо моего дома. Софт еще сырой и смысла его показывать и краснеть нет.
Тем кто собирается повторять сие чудо я могу прислать облегченную версию прошивки и сервера, а так же дать пару советов:
  • Светодиоды надо установить перпендикулярно, а для особо обеспеченных оргстеклом, рекомендую сделать светящуюся обводку. Будет круто!
  • Сам радио модуль стоит установить в противоположную сторону от входа напряжения. Помех меньше, да и места больше.
  • Используйте короткие microUSB
  • Стоит добавить функцию сохранения состояния пинов при отключении питания. Сам планирую в новой версии прошивки это сделать


Отдельная благодарность доценту Юрию Ивановичу Иванову (каф. САУ, ЮФУ) за помощь в разработке конденсаторных и других типов блоков питания. Хоть в этом проекте их нет, буду применять их в следующих, и обязательно расскажу об этом, если сообщество одобрит этот пост.

Ожидаю критики а лучше похвалы и предложений по улучшению конструкции.

Необходимая документация

Даташит на nRF24LE1
Даташит на BTA16
Даташит на MOC3063
Схема управления силовой нагрузкой с более развернутым описанием
Источник: http://habrahabr.ru/post/221247/