Светодинамическое устройство на микроконтроллере

В конце октября 2016-го я наткнулся на Радиокоте на описание «Простой цветомузыки» автора Евгения Пашигорова (aka peg), оригинальное схемное решение которой вызвало во мне настойчивое желание изготовить такое устройство, с небольшими переделками под светодиоды. Однако, убедившись в трудности приобретения микросхем 155-й серии (равно как и их буржуйских аналогов 74-й серии), пришёл к выводу, что реализовывать заложенную в этом устройстве идею визуализации нужно программно, на МК.

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

Как настоящий радиохламер, я максимально использовал детали из хлама. К ним относятся: сердце устройства — AT90S2313, керамический резонатор, транзисторы, ОУ, микрофон, диод и конденсаторы. А также некоторые резисторы.

В качестве оптического и корпусного оформления послужил так называемый «светильник настроения» из супермаркета за 2,59 Евро. Из него же были взяты почти все светодиоды.

светильник настроения

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

Итак, вернёмся к устройству. Сначала принципиальную схему моей реализации:

принципиальная схема

Здесь видно, что кроме микрофонного усилителя и выходных ключей, устройство полностью реализовано на микроконтроллере.

Входной усилитель-ограничитель (здесь и далее обозначение модулей схемы Пашигорова) реализован на аналоговом компараторе МК. Кстати, чувствительности самого этого компаратора хватает для работы от линейного выхода музыкального центра. Но поскольку источником питания служат три элемента AA, то имело смысл выполнить устройство полностью беспроводным, для чего и потребовались микрофон с предусилителем.

Счётчик входных импульсов реализован в обработчике прерывания аналогового компаратора.

Задающий генератор и схема управления счётчиком, дешифратором и регистром-защёлкой выполнена на таймере-счётчике T0 и соответствующих программных сегментах. Интеграторы каналов реализованы программно.

Яркость светодиодов регулируется импульсно-кодово, с помощью так называемой Binary Angle Modulation (подробнее можно почитать на easyelectronics.ru). Для этого задействован таймер-счётчик T1. При регулировке яркости я постарался учесть особенность человеческих органов зрения воспринимать силу света не пропорционально, поэтому использовал преобразование через нелинейную функцию. Ниже приведены графики для сравнения. Обе оси градуированы под диапазон значений одного байта (0-255), что упрощает программирование соответствующих функций и создание таблиц. Ось X для всех функций — мощность светового воздействия (явная для графика восприятия или расчётная для корректирующей функции). Ось Y — уровень восприятия или результирующая мощность на СИД.

графики

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

Токоограничивающие резисторы я подбирал экспериментально, по имевшимся светодиодам. Номиналы резисторов в базах T1 — T4 наверняка можно увеличить в несколько раз, я их не расчитывал и с ними не экспериментировал.

Остановимся на схеме аналоговой части. Входы МК подключены без развязки к микрофонному усилителю, схема которого найдена в интернете. Такое хитрое подключение аналогового компаратора МК вызвано желанием сэкономить несколько резисторов и конденсаторов.

Аналоговые входы МК допускают размах входного напряжения в пределах питающего, поэтому я принял решение подавать выходной сигнал с ОУ без развязки, а опорное напряжение — со средней точки, получаемой обычным делителем. Нужно было всего лишь обеспечить небольшую разницу потенциалов прямого и инверсного входов компаратора, что и реализовано на дополнительном резисторе R3. При указанных на схеме номиналах и питающем напряжении 4,5 В, эта разница составляет около 25 мВ, чего вполне достаточно для хорошей чувствительности устройства.

Питание аналоговой части отвязано от цифровой диодом с малым прямым падением. Это необходимо для снижения влияния пульсаций, вызванных включением СИД. Например, импульсные токи синего канала достигают сотни мА, поэтому без хорошей фильтрации питающего напряжения эти пульсации вызывали самовозбуждение устройства. Применение диода Шоттки вызвано желанием расширить рабочий диапазон питающего напряжения в нижнюю сторону с целью более полного использования емкости батареи. Мной применен SMD диод с падением 340 мВ. Какой? — Из Хлама!

Монтаж схемы выполнен на растровой макетной плате (от лени разводить, травить и сверлить печатку).

фото печатной платы

Готовое устройство в собранном виде внешне не отличается от «донора». Исключением является отверстие, которое из-за своего размера (1 мм) практически незаметно.

фото готового устройства

В архиве прилагаю ещё пару фоток, прошивку и исходный код на ассемблере, который я постарался достаточно прокомментировать.

Работу устройства можно посмотреть на Youtube.

С вопросами прошу в форум.

Добавить комментарий