Лампа настроения или RGB светильник с ПДУ - Световые эффекты - Микроконтроллеры - Каталог статей - Собери свою радиосхему! Сайт радиолюбителей.
Собери свою радиосхему!
Воскресенье, 04.12.2016, 02:53 Приветствую Вас Гость

Чебоксары

Главная | Регистрация | Вход | RSS

Каталог статей

Главная » Статьи » Микроконтроллеры » Световые эффекты

Лампа настроения или RGB светильник с ПДУ

В отличие от известных аналогов, все сделано на самом маленьком и дешевом микроконтроллере из доступных - attiny13. В качестве ключевых транзисторов VT1...VT3  применены IRLML2402, если светодиод маломощный, то можно заменить их транзисторами, только не забывайте про резистор. Резисторы R1...R3 ограничивают ток кристаллов мощного светодиода, их сопротивление зависит от напряжения питания и параметров самого светодиода. Надо подобрать их так, чтобы обеспечивался одинаковый ток через кристаллы (либо, если есть точные параметры светодиода, надо выбрать такие значения токов, чтобы обеспечивалась одинаковая яркость каждого кристалла). В моем случае для красного кристалла пришлось ставить 7.5 Ом, а для синего и зеленого по 5,6 Ом.


Схема светильника:



Конденсатор С2 может быть любым электролитическим, чем больше емкость, тем лучше, напряжение не менее 10 вольт. С1 - обязательно керамический, достаточно 0,1 мкФ, параллельно ему очень желательно поставить конденсатор на 100vra/ Оба конденсатора надо разместить как можно ближе к выводам питания МК, и при разводке платы учесть пути протекания силовых токов, чтобы МК не сбоил. Если что - соедините 1 вывод МК с плюсом питания.

При прошивке микроконтроллера необходимо установить следующее состояние fuse-битов: LOW BYTE 0x7A, HIGH BYTE 0xFB. Разные программаторы  показывают состояние фьюзов по-разному, но все нормальные программаторы должны уметь показывать шестнадцатиричное значение fise-байтов, поэтому я привел именно их, чтобы не было никакой путаницы. На всякий случай поясняю: надо включить встроенный генератор 9,6 МГц, отключить делитель на 8, настроить схему BOD на 1,8 вольта. Все прочие можно не трогать, оставив, как было.


Пуль дистанционного управления

Для пультов дистанционного управления производится довольно много специализированных микросхем, но для домашнего творчества лучше и проще использовать микроконтроллер. Я выбрал attiny13, как наиболее миниатюрный среди недорогих и дешевых микроконтроллеров. Так как каждый порт этого контроллера способен выдавать ток до 40 мА, то ИК-светодиод запросто можно подключать к микроконтроллеру без дополнительных ключевых транзисторов, тем более что можно соединить три порта для увеличения суммарной нагрузочной способности. А теперь внимание - вопрос знатокам: если у attiny13 всего 8 ножек, 2 из которых питающие, а одна - вход сброса, использовать который нежелательно (так как в этом случае повторная прошивка микроконтроллера будет сильно затруднена), сколько остается свободных выводов для подключения 5-и кнопок? Правильный ответ: две.

Интерсуетесь, как можно подключить 5 кнопок к двум выводам микроконтроллера? Да все очень просто! Ведь в выбранном нами микроконтроллере есть встроенное АЦП, а значит кнопками можно коммутировать напряжения с резисторного делителя, и тогда МК будет способен определить нажатую кнопку по входному напряжению.

Однако, не все так уж просто, потому как для пульта дистанционного управления очень важно минимальное потребление энергии в режиме ожидания, и именно поэтому основную часть времени микроконтроллер должен находиться в режиме сна, т.е. практически в полностью отключенном состоянии. Естественно нельзя использовать делитель напряжения, постоянно подключенный к батареи питания пульта, чтобы не разрядить ее быстро. Придется подключить делитель к одному из свободных выводов и подавать на него питание только в нужные моменты. И тут снова вопрос: нужный момент - это когда нажата кнопка, не так ли? И получается, что нажатие кнопки мы должны определить по напряжению, которое подается только после нажатия кнопки...


Cхема пульта:



Главное, что надо учитывать, это то, что сопротивления в делителе могут быть совсем не любого номинала. Дело в том, что встроенная подтяжка - это резистор порядка 30-40 килоом, а значит для надежного появления низкого логического уровня при нажатии любой кнопки сопротивление резисторов в делителе (если они все одинаковые - это удобно) не должно быть больше 10-15 килоом. Я остановился на сопротивлении 10К.

Пульт работает в стандарте RC5, причем для управления яркостью я использовал стандартные команды, а для выбора цвета - команды изменения уровня. Код семейства выбран соответствующий - осветительные устройства, поэтому пульты от магнитол и телевизоров не будут влиять на наш светильник (и наоборот).

Исходник программы пульта содержит подробные комментарии, там все просто, надеюсь, проблем разобраться у желающих не возникнет. Ну а для непрограммистов я предлагаю готовую прошивку для МК. Следует отметить, что SMD-микроконтроллер нужно программировать или в специальном адаптере, или прямо в схеме, припаяв к нему проводки. В последнем случае надо после программирования соединить между собой припоем выводы 7-6-5, а вывод 1 соединить с питанием. Если потребуется повторная перепрошивка - надо соответственно освободить выводы, фьюзы для Мк нужно выставлять следующим образом:



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

По материалам сайта simple-devices.ru

Скачать
файлы проекта.

Категория: Световые эффекты | Добавил: Адвансед (15.07.2012)
Просмотров: 4649 | Теги: ATtiny13 | Рейтинг: 5.0/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Логин:
Пароль:
Категории раздела
Источники питания и приборы
Охрана и контроль доступа
Измерительные устройства
Часы, таймеры, счетчики
Световые эффекты
Защита и контроль
Для начинающих
Разное
BASCOM AVR
Информация по МК, FAQ
Поиск
Наш опрос
Что значит (как переводится) PWM?
Всего ответов: 36

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
у нас тут все на bascom)

Подавляющее количество часов на Atmega8 выполнены с использо...

В чем тогда может быть причина, что у меня показывает лишь в...

Рейтинг@Mail.ru