Контроллер освещения для умного дома (вторая версия)
Это, скажем так, вторая итерация контроллера для управления освещением в моем умном доме моей умной квартире и надеюсь последняя. За 1.5 года использования предыдущего контроллера, который делался в основном как временное решение, нареканий не возникло. В новом контроллере сделал больше входов и выходов, что бы покрыть все группы освещения используемое в квартире.
Немного о начинке контроллера.
16 опторазвязанных входов для подключения к выключателям, выключатели используются самые обычные от фирмы Schneider Electric. серии Unica, без переделки и без установки в них пружинки, что бы сделать не фиксируемыми, хотя такой вариант тоже будет работать после небольшой доработки программы в микроконтроллере. На входы подается положительное напряжение 12 вольт.
Выход переключается при изменении состояния выключателя, т.е. если допустим выключатель был включен, а свет не горел, то выключив выключатель свет загорится, при этом если свет выключить голосовой командой, либо другим доступным способом, но не выключателем то если теперь мы включим выключатель то свет загорится. Проблема данного подхода в том, что положение не дает нам однозначного ответа включен ли свет или нет. Это не особо представляет проблему на одиночном выключателе и одной группе освещения в комнате, но когда в комнате групп освещения больше одной, что довольно часто, например люстра разделенная на две группы, которая заведена на двойной выключатель и допустим в данный момент горит одна из них, то по положению выключателей невозможно определить за какую группу освещения отвечает выключатель, если они при этом оба выключены. Для преодоления этого конфуза я сделал подсветку каждого выключателя управляемой через контроллер по CAN шине. Подсветка выполнена на RGB светодиоде, таким образом можно задать любой цвет на каждом выключателе по отдельности либо же одновременно на всех, например для визуализации какого то события, при этом красный будет сигнализировать о некоторых возникших проблемах в системе умный дом. Так же можно на ночь выставлять приглушенную красную подсветку, а к утру менять ее на синию, что положительно складывается на режиме сна и пробуждении.
Выходы выполнены на трех микросхемах ULN2003 представляющей из себя сборку мощных транзисторов Дарлингтона, с выходным напряжением до 50 Вольт и током до 500 мА на один канал.
Дополнительно есть входы для подключения ИК светодиода и фототранзистора для автоматизации подсветки в шкафу с раздвижными дверцами. Фотодатчик стоит за каждой из двух створок и работает на отражение от обратной стороны створки шкафа. Таким образом при открытии любой из них, автоматически включается светодиодное освещение шкафа, если створку не закрывать долгое время, то освещение отключится по таймауту.
Так же на контроллере организовано 9 выходов на полевых транзисторах, выход на которых управляется с помощью ШИМ микроконтроллера. На эти выходы подключается светодиодная подсветка, в том числе и RGB.
Остальные порты ввода вывода микроконтроллера выведены на терминалы для возможности подключения других датчиков и модулей расширения.
Контроллер управляется и отдает состояния выходов и входов на сервер умного дома по протоколу MQTT. Ethernet на контроллере выполнен на очень распространенной микросхеме W5100. В качестве мозга используется микроконтроллер фирмы Atmel — Atmega2560, в который залит бутлоадер от Arduino Mega2560 для возможности программирования контроллера через переходник USB-UART. Входы выключателей после опторазвязки идут на микросхему MCP23017, представляющую из себя 16-битный расширитель порта ввода/вывода с последовательным интерфейсом I2C через который и считывается состояние входов.
Для питания контроллера используется DC-DC Step-down или понижающий ШИМ преобразователь выполненный на распространненой микросхеме MC34063. Которая допускает входное напряжение до 40 Вольт.
CAN интерфейс выполнен на микросхеме TJA1040. Так же есть возможность вместо CAN использовать RS485 запаяв на плату соответствующую микросхему MAX485.
Код контроллера можно посмотреть на моей странице GitHub.
Схема подключения реле:



у вас описка с Q2 — такой самолет не летает
Что именно не летает?
летает, но вниз головой
На скорую руку делал, сразу и не приметил… Подправлю
Здравствуйте. Есть ли возможность приобрести ваше устройство? либо схемы печатки ,чтобы изготовить у себя в городе?
Добавил архив с герберами
ЗДРАВСТВУЙТЕ. А где в архиве описание элементов для монтажа,
Скажите, а схему всего устройства можете выложить? В целях обучения она бы очень помогла.
Добавил, но она не соответствует плате.
Добрый день, подскажите пожалуйста номиналы следующих конденсаторов:
C28, C30-C32, C46-C50, C53, D17, D18, FB6 — к сожалению в BOM, пустые места напротив.
Для этих C24-C25, C29, C34-C37, C51-C52, C60-C65 — 0.1 uF?
С30-С32 0,1
C46, С47 — 20pF
C53 — 0.1
D17 — ss24
D18 — ss54
Для этих C24-C25, C29, C34-C37, C51-C52, C60-C65 — 0.1 uF? Да, они есть в файле ты его смотрел? Список элементов_Версия 5_rev2
Да! Конечно) Просто он без uF и так как в предыдущем устройстве которое я собирал был 0.1 pF, — решил уточнить)
Вот конденсаторы которые в обвязке w5100 я не подскажу сходу, я их с шилда брал, если шилд w5100 есть можно на нем глянуть.
Ок, гляну, спасибо в любом случае, круто когда такие проекты доступны для повторения)
шилд вот такой, там по сути компоновка такая же.