Всем привет!

Спустя почти год решил выложить результат работы над блоком управления освещением (громко сказано, да? 😀 ), который собрал в одном корпусе ранее отлаженные разные блоки (центральный узел, блок усиления ШИМ, узел управления).

Освещение комнаты выполнено с помощью светодиодных лент, купленных на али. Чтобы протестировать как оно будет, сначала я заказал одну 5-метровую ленту на светодиодах серии 5630, потом докупил ленточки катушки 3 ещё.

Конструктивно (электрически и логически) освещение разделено на 2 части. Одна часть-светодиодные ленты на профиле, расположенные почти у потолка в комнате, вторая часть-такие же ленты на профиле, установленные на шкафу. Они светят вверх и создают приятный рассеянный свет.

Узлы связи и индикации остались отдельными, так как всё может работать и без них. Основа проекта — разбросанный на шкафу и соединённый проводочками набор, вечно глючащий из-за отваливающихся при случайном задевании соединений. Напоминаю, что началось всё с этого. Там же описание как это всё работает. Однако, 4 года уже проекту оказывается!

примерная схема всего безобразия получилась такой:

Управление светодиодными лентами происходит с центрального контроллера в виде  msp430g2553 и небольшой обвязки, стабилизаторов разного уровня питания, модуля часов (пока не задействован) на DS1394+, вместо которого для повышения стабильности применён Ds3234. Защита от дребезга и защита входных портов контроллера реализована на триггере 7414, к которому приходит шлейф проводов от кнопок (витая пара), установленных по месту:

модули bluetooth и индикатор — опция. Пока подключен только bluetooth. Всё это многообразие собрано на вот этой печатной плате:

От души насыпал перемычек (и всё равно пришлось что-то подключать навесным монтажом), потому что это не окончательный вариант, а разводку двухсторонних плат я пока не освоил.

Управление по bluetooth организовано программой на смартфоне, настроена отправка команд:

команды дублируют нажатия физических кнопок, всё просто и понятно. В прерывании — обработка нажатия кнопок, в прерывании на наличие информации в буфере UART — обработка содержимого этого буфера. Сильно мудрёно не делал, хотя желание сделать обработку прямых установок значений яркости освещения — огромно, не хватает такой функции сильно.

много на процессе травления останавливаться не буду, получилось не очень качественно видимо из-за старого фоторезиста. А жаль, пришлось восстанавливать впоследствии некоторые дорожки и дорабатывать много зазоров (в основном минимальный зазор у меня был выбран 0,2мм):

Готовая плата:

отмытая от флюса:

обратная сторона:

Установленный блок, который сначала был протестирован и признан годным — сначала жил отдельно в своём ящичке рядом с разводкой на линии освещения и блоком питания, сейчас временно выведен из эксплуатации в связи с переездом и пока вставлен в общий электрощит:

Вот такая используется светодиодная ленточка в профиле для освещения комнаты:

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

Точно сейчас не помню цифры, но кажется, все три ленты, общей длиной порядка 15 метров, потребляют здесь порядка 50Вт. А должны бы под сотню, с учётом предварительных испытаний тестового образца, который я заказал первым. Просто после покупки первого мотка светодиодной ленты, которая устроила всем, следующие были вообще не те. Если внимательно посмотреть на фото, — видно где часть ленты светится чуть ярче, чем другая часть. На самом деле это не сильно заметно если не приглядываться (а смотреть на ленту на полной яркости — больно!), но подляна остаётся подляной. И света в итоге получается много меньше, чем должно было (ну и ладно, и так адски ярко!).

Реализованные хотелки:

— при горячем включении устанавливается минимальная яркость обоих каналов (вдруг ночью к примеру это произойдёт);

— питание от дежурного источника с выводом сигнала на включение силового БП;

— вывод на дисплей состояния системы (не подключен, эти функции пока закомментированы);

— независимое управление максимальной яркостью обоих источников (коридор и комната);

— свободный один таймер в режиме ШИМ для канала на перспективу;

— плавное включение/выключение по событиям: коридор — по датчику движения, комната — по нажатию кнопки (или по команде bluetooth).

Нереализованные перспективные хотелки:

— переработать алгоритм из линейной в логарифмическую регулировку;

— датчик температуры для контроля питания и самого блока (для блока можно использовать встроенный в контроллер или микросхему часов);

— часики и соответственно управление по расписанию;

— программирование расписания кнопками на устройстве;

— переход на контроль по сети;

— третий и четвёртый канал ШИМ для управления ещё двумя источниками;

— вывод в UART информации о состоянии блока;

— программная блокировка работы для того, чтобы дети не игрались.

Чувствую, что для всего этого уже не хватит ресурсов маленького микроконтроллера, придётся переходить на какой-нибудь msp430f5529. А ещё лучше — для ШИМ использовать отдельную специализированную МС, тогда можно будет не париться с ШИМом по таймеру.

и традиционно, ссылки:

файлы проекта

проект в CCS