Главная > STM8 > Моя лампа настроения. Часть 1.

Моя лампа настроения. Часть 1.

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

К слову. В последнее время я уделяю блогу гораздо меньше времени, чем раньше. Связано это со многими переменами в моей жизни, но, главным образом, с тем, что я нашел работу. Да-да, теперь я инженер-разработчик на одном из предприятий, производящих ОПС. Так что большая часть моей энергии с недавних пор повернута в другое русло. Ну а кроме того, одна из знакомых девушек стала писать мне гораздо чаще среднего, и я решил заняться этим случаем поплотнее.

Итак, я решил сделать лампу настроения. Казалось бы, зачем? В сети есть огромное количество таких проектов, повторяй и радуйся. Однако, как говорил Василий Иванович в известном анекдоте, есть нюанс. Абсолютное большиство подобных проектов имеют, кхм, особенность — ни один из них не использует нормальных светодиодных драйверов. Не верите? А вот. И вот. А здесь вообще, прости Господи, применяют биполярники. Причем ладно бы включили их как источники тока, так нет же…

В общем, я решил показать миру, как надо делать Настоящие Лампы Настроения. Я ведь не зря экспериментировал cо светодиодными драйверами. Первым делом, как и собирался, я повторил ту же схему четыре раза (да, мне было лень отмывать платы от флюса):

На фото их три — просто четвертый я сделал немного позже. Далее я прикрутил к радиатору эпичный светодиод:

К светодиоду подсоединил драйвера:

Ну и тут началось самое интересное. Для разнообразия я решил делать всю конструкцию на основе STM8S103K3T6C. Изначально меня сильно обрадовала возможность настроить вывод порта как выход с открытым коллектором. Тут это было бы чрезвычайно удобно, ибо управлять ZXLD1360 надо, именно прижимая вывод ADJ к земле для того, чтобы погасить канал, и оставляя плавающим, чтобы перевести драйвер в рабочий режим. Однако, как уже знают читатели моего блога, меня постигло разочарование — вывод, настроеный как выход таймера, автоматически использует двухтактный каскад. Тем не менее, ко времени обнаружения этого печального факта я уже настроился на STM8, и решил уже не менять целевой процессор. В результате мне пришлось-таки добавить выходные транзисторы, и получилась вот такая схема:

Используемый таймер имеет только три канала ШИМ, так что диммирование белого кристалла не поддерживается — его можно только включать и выключать. Дополнительно я вывел UART и несколько свободных ножек. UART используется для управления уже в текущей версии прошивки; к ножкам я планирую подключить кнопки. Но это когда я наконец найду подходящий корпус. Один нюанс: для удобства разводки платы выход третьего ШИМ-канала надо переназначить с PA3 на PD2. Это делается изменением option byte’а в режиме программирования — и кто говорил, что у STM8 нет фьюзов? Я делал это с помощью ST Visual Programmer через STM8S-Discovery. «Родной» выход канала 3 на вский случай разведен на J8.1.

Получилось как-то так (с обратной стороны на плате две перемычки):

Архив со схемой, разводкой и прошивкой можно взять тут.

Что до UART’а, девайс умеет принимать команды, определенные в prjdef.h:

/*Service commands*/
#define CMD_STOPAUTO      0x01
#define CMD_GOAUTO        0x02
#define CMD_SETRGB        0x03
#define CMD_SETWHITE      0x04

Команды передаются пакетами по четыре байта на скорости 9600 bps. Первый — собственно команда, остальные три — параметры. Неиспользуемые командой параметры игнорируются, но пересылать их все равно обязательно.

CMD_STOPAUTO — выключает режим плавной смены цветов, который активен по умолчанию. Параметров нет.

CMD_GOAUTO — включает режим плавной смены цветов. Параметров нет.

CMD_SETRGB — выставляет произвольный RGB-цвет. Параметры, соответственно, значения R, G, B в диапазоне 0-255.

CMD_SETWHITE — управление белым кристаллом. Если первый следующий за командой байт не ноль — кристалл включается. Если ноль — выключается. Остальные два байта игнорируются.

При включении, как уже было скзано, по умолчанию активен режим плавной смены цветов. Пока что этим функционал устройства и исчерпывается, а само оно находится на этапе отладки:

На этом пока все. Но под музыку в темноте уже смотрится очень приятно. К слову, тестировал под этот трек — ну ваще-е-е…

Рубрики:STM8
  1. YS
    21/07/2012 в 16:26

    Vga :

    Ток базы нестабилен. Сколько видел стабилизаторов тока по этой схеме – напряжение базы стабилизировано диодами. Хотя если сделать ток делителя в районе 20-50мА и поставить транзистор с высоким усилением – возможно и покатит.
    Освещать я бы предпочел обычной лампой. Тем более около 5Вт на комнату явно мало. Даже для настольной лампы маловато.
    TSOP дешевле радиомодуля и можно заодно управление с ПДУ прикрутить, а так да – лучше.

    Если просто с резисторами катит — то и так покатит. Там скорее не столько ток базы, сколько входное сопротивление, которое, понятно, будет h21э*Rэ. Думаю, даже не надо 20мА, хватит и пяти.

    Ну, как ночник/фоновое освещение я бы сказал — вполне. Сам изумился.

    Не знаю, зачем мне управление этой штукой с ДУ. Но это, конечно, лично на мой вкус.

  2. YS
    21/07/2012 в 13:45

    Генераторы тока – заметное усложнение сомнительной оправданности.

    Да какое там усложнение? Просто резистор из коллектора в эмиттер переставить.

    Насчет лампы постоянного освещения… В общем, сей проект должен найти свое пристанище в каком-нибкдь корпусе типа икеевского торшера и влиться в домашние светильники. Так что большую часть времени он, скорее всего, будет светить белым. Потому я и не хочу прикручивать TSOP. А мигать/переливаться он, скорее всего, будет под WinAMP либо когда, например, пришло письмо.

    • Vga
      21/07/2012 в 15:38

      Просто резистор из коллектора в эмиттер переставить.

      Этого недостаточно, нужно еще стабилизировать напряжение на базе. А это еще два диода или стабистор на 1-1.5В. Еще можно применить МК на 3.3В, но тогда на резисторе будет большое падение напряжения, да и питание на СИДы потребуется в районе 7В.

      Так что большую часть времени он, скорее всего, будет светить белым.

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

      Потому я и не хочу прикручивать TSOP.

      Не вижу взаимосвязи. А TSOP позволяет избавиться от провода к компу. Сигнал-то можно не только с пульта, но и с компа передавать.

      • YS
        21/07/2012 в 15:45

        нужно еще стабилизировать напряжение на базе.

        МК на пять вольт, с выходной ножки делитель 5:1 на базу — питание МК-то стабильно. В эмиттер резистор 2.5 Ома, вот и ток около 300 мА. И никаких стабисторов.

        Не думаю, что в этом есть большой смысл.

        Тупо чтобы светло было. Этот диод мою комнату освещает вполне неплохо.

        Сигнал-то можно не только с пульта, но и с компа передавать.

        Тогда лучше радиомодуль. А то и вообще bluetooth или Wi-Fi.

      • Vga
        21/07/2012 в 15:54

        Ток базы нестабилен. Сколько видел стабилизаторов тока по этой схеме — напряжение базы стабилизировано диодами. Хотя если сделать ток делителя в районе 20-50мА и поставить транзистор с высоким усилением — возможно и покатит.
        Освещать я бы предпочел обычной лампой. Тем более около 5Вт на комнату явно мало. Даже для настольной лампы маловато.
        TSOP дешевле радиомодуля и можно заодно управление с ПДУ прикрутить, а так да — лучше.

  3. Vga
    30/06/2012 в 01:05

    Ну резисторы. Ну биполярники. И что? Девайс работает в тепличных условиях — безлимитное стабильное питание, стабильная температура. Резисторы в таких условиях прекрасно справятся с задачей, а схема получается куда проще, дешевле и доступнее по деталям (я несколько раз пытался заказать драйверы ZX, но ни разу не выгорело). Ладно б там диод был по 3А на каждый кристалл, так нет — они 350мА.
    Алсо вариант с TSOP’ом мне куда больше нравится, чем с UART’ом.

    • YS
      20/07/2012 в 22:11

      Дыг как-то глупо ставить биполярники для управления светодиодами, и даже не включить их как генераторы тока, хотя такое решение само просится.

      Стабильная температура? А стабильная ли? Как минимум, саморазогрев кристалла-то есть.

      Хм, грустно у вас там. Но не едиными ZXLD жив человек. Сейчас LED-драйверов выпускается куча.

      Ну, как минимум не 350 — паспортный ток 700мА/кристалл.🙂 350 мА — ток измерения параметров. У меня они светят на 620 мА.

      Я вывел кучу ног, так что, если что, можно и TSOP прикрутить. Но только я в этом не вижу особой необходимости (для себя).

      • Vga
        21/07/2012 в 05:11

        Генераторы тока — заметное усложнение сомнительной оправданности. Параметры, влияющие на ток диодов — достаточно стабильны, температура кристаллов достаточно предсказуема, так что вполне можно посчитать резисторы на worst case. К тому же, ЕМНИП, максимальный ток через диоды будет при максимальной температуре, которая будет при максимальной яркости — это вполне нормально.
        620мА — тоже не так уж много, хотя тут уже вылазит проблема — резисторы нужны на 1-2Вт, и они будут горячие. Здесь уже может быть смысл в перекладывании роли печки на транзисторы.
        В импульсниках смысл я вижу только при большой мощности либо ограниченном питании (скажем, при желании запитать от USB RGB-диод с 350мА на кристалл они уже необходимы). Ну или когда актуален высокий КПД — для лампы постоянного освещения.

  1. No trackbacks yet.

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s