Умная RGB подсветка в выключателе на светодиодах WS2812B

Это продолжение предыдущего проекта в котором с помощью микроконтроллера Attiny13 я управлял обычным RGB светодиодом. Решение в принципе рабочее, но я решил все таки сделать RGB подсветку на умных светодиодах WS2812B.

WS2812 представляет собой RGB светодиод в корпусе SMD 5050 в корпус которого встроена микросхема WS2811.

Светодиод WS2812B
Светодиод WS2812B
Размеры и цоколевка светодиода WS2812B
Размеры и цоколевка светодиода WS2812B
Цоколевка и основные параметры светодиодов WS2812B
Цоколевка и основные параметры светодиодов WS2812B

Управлять светодиодом будем с помощью Atmega328 по CAN шине на микросхеме TJA10140. На этот раз была выбрана Atmega328 так как имеет аппаратный UART и для удобства написания программы. На будущее возможно добавить несколько эффектов для индикации каких либо событий. Код для микроконтроллера написан в среде Arduino IDE и доступен на GitHub.

Микроконтроллер Atmega328P
Микроконтроллер Atmega328P

Такая плата ставится в каждую группу выключателей.

Питание организовано на готовом регулируемом DC DC преобразователе, приобретенного на али. Преобразователь построен на базе микросхемы MP1584EN и поддерживает входное напряжение от 4,5 до 28 Вольт, а выходное регулируется в диапазоне от 0,8 до 25 Вольт.

DC DC преобразователь с выходом на 5 вольт
DC DC преобразователь с выходом на 5 вольт
Вот такой сэндвич получился
Вот такой сэндвич получился

Для управления устройством используется CAN шина, выполненная на микросхеме TJA1040. Команда управления имеет следующий вид:

21R150G12B70 , где 21 — адрес устройства. R150, G12 и B70 — уровень красного, зеленого и синего соответственно.

Для отправки команды сразу на все устройства используется адрес 99 (99R150G12B70).

Для записи в память устройства значения цвета, по умолчанию, т.е. при включении устройства после подачи на него питания, необходимо отправить команду с адресом 88 (88R150G12B70) и данный цвет будет записан в энергонезависимую память EEPROM микроконтроллера.

CAN шина организована на микросхеме TJA1040
CAN шина организована на микросхеме TJA1040
Плата под термоусадкой, вид сбоку
Плата под термоусадкой, вид сбоку
Подключение с помощью винтовых терминалов с шагом 2.54 мм
Подключение с помощью винтовых терминалов с шагом 2.54 мм
Готовые к установки на пять выключателей.
Готовые к установки на пять выключателей.

 

Подписаться
Уведомлять
guest

11 комментариев
Старые вначале
Новые вначале По голосам
Межтекстовые Отзывы
Посмотреть все комментарии
Дмитрий
Дмитрий
6 лет назад

Можете сделать фото устройства, установленного в подрозетник с выключателем? Хватает места, или нужен глубокий подрозетник?

У вас одна витая пара к каждому блоку выключателей? По 2 проводникам CAN шина, а по остальным питающее напряжение? Сколько вольт?

А платы с микроконтроллером заводские или самостоятельно изготавливали? Поделитесь как это сделать? Заказать возможно?)

Дмитрий
Дмитрий
6 лет назад
Ответить на  instalator

Спасибо за ответы! Но ещё остались вопросы. CAN передатчик для всех выключателей — один? Топология самой CAN шины тоже звезда? Разве шина не должна быть шиной? Или всё-таки вы так скоммутировали кабели, что получилась длинная шина (контроллер света-выключатель-контроллер света-выключатель-….)? Просто если CAN работает звездой (где выключатели — это оконечные устройства, а контроллер освещения центральный узел), то это прекрасно, очень удобно. Сколько у вас выключателей с RGB подсветкой всего? Какие примерно от них расстояния до контроллера? А платы приходят с уже распаянным компонентами или самостоятельно распаиваете? Я бы купил у вас готовых плат) Я точно также планирую сделать RGB подсветку в… Читать далее »

Дмитрий
Дмитрий
6 лет назад

А каким устройством отправляете команды в CAN шину?

Дмитрий
Дмитрий
6 лет назад

А по какой топологии проложена витая пара до выключателей? (звездой, или шиной от выключателя к выключателю). Каждое помещение отдельной веткой или нет?
И как организована CAN шина?

Алексей
Алексей
6 лет назад
Ответить на  instalator

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

Артем
Артем
5 лет назад

А можете скинуть схему с номиналами и гербер файл, если имеется? Что бы повторить

11
0
Поделиться своими мыслямиx