2419
0.6
2014-04-29
Очередная умная розетка для очередного умного дома
Много лет мечтал о создании умного дома, но каждый раз останавливала проблема связи модулей (розеток, датчиков и выключателей) с центром и между собой. Но прогресс не стоит на месте, все чаще и чаще встречающаяся информация о микроконтроллерах со встроенными трансиверами подтолкнула меня опять вернуться к моей давней идее. В этом посте я расскажу о том, как создавалась «умная розетка» (на самом деле сетевой фильтр), который и представлен на фото ниже.
Все остальное под катом. Осторожно! Много картинок.
Мои модули, в отличие от большинства рассмотренных на хабре, меньше размером и имеют 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% всех блоков питания, что я нашел дома, закрывают или оба светодиода, или один.
Тем кто собирается повторять сие чудо я могу прислать облегченную версию прошивки и сервера, а так же дать пару советов:
Отдельная благодарность доценту Юрию Ивановичу Иванову (каф. САУ, ЮФУ) за помощь в разработке конденсаторных и других типов блоков питания. Хоть в этом проекте их нет, буду применять их в следующих, и обязательно расскажу об этом, если сообщество одобрит этот пост.
Ожидаю критики а лучше похвалы и предложений по улучшению конструкции.
Даташит на BTA16
Даташит на MOC3063
Схема управления силовой нагрузкой с более развернутым описанием
Источник: habrahabr.ru/post/221247/
Все остальное под катом. Осторожно! Много картинок.
Предисловие
Сначала надо сказать, что в городе, в котором я сейчас живу, очень большая проблема с электронными компонентами (резисторы по 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
Схема управления силовой нагрузкой с более развернутым описанием
Источник: habrahabr.ru/post/221247/
Bashny.Net. Перепечатка возможна при указании активной ссылки на данную страницу.
Комментарии
Кому доверить свой бизнес? Часть 3 — помощник бизнесмена
Новые разработки в области бионики позволяют бегать и танцевать