Управление яркостью нескольких RGB светодиодов

Обсуждаем цифровые устройства...
Ответить
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Управление яркостью нескольких RGB светодиодов

Сообщение ArtemKuchin »

Не знаю в тот ли раздел.

Ну суть такая, есть несколько пар RGB светодидов. Точнее 4 пары. Каждый канал (R,G,B) для пары управляется отдельно. Каждая пара управляется отдельно. Всего получается: 4х3=12 каналов управления. Точность установки яркости по каждому каналу нужна не менее 127 шагов. Ток светодиодов - 20мА.

Можно было бы просто резисторы поставить и сделать мультиканальный ШИМ (app note AVR136), но проблема в том, что
на светодиодах большой разброс Vf и можно легко получить разброс по токам в 20% и даже более, что просто неприемлимо - надо согласованную цветопередачу делать (ну, более или менее).

Городить источники тока на 12 каналов из рассыпухи - шиза полная. Но найти готовый мультиканальный драйвер (хотя бы на 8 каналов), чтобы на каждый выход можно было устанавливать свою скважность ШИМ и чтобы был доступен прямо сейчас не вышло. Только с доставкой через месяц и заказом от 4 шт (а они по 200р мин). Но не в цене проблема, ждать месяц - ужас.

Нашел один на 3 канала с 3-мя каналами управлением ШИМ. Это как разервный вариант.

Пока есть идея попроще. Взять что-то вроде
http://www.onsemi.com/pub_link/Collateral/CAT4008-D.PDF
- простой мультиканальный источник тока.
На на каждый выход еще повесить MOSFET и дергать на нем ШИМ (частота 100-1000 Гц, как получится) с МК.

Главный вопрос, не сведет ли это сам драйвер с ума, что у него то есть выход, то нет. Определения размыкания выхода там нет, он тупой драйвер, что и надо в этом случае. Но как там будет при этом вести себя источник тока - непонятно.
Вдруг он там полчаса нарастать будет, потом падать, дергать напряжение немерянно при вырубании транзистора и делать какие-то другие гадости.

Или можно туда посылвать данные по сериному протоколу с такой скоростью, чтоб эмулировать ШИМ на входе. Но мне кажется, со скорости у атмеги не хватит. чтобы получить при этом хотя бы 127 шагов т частоту регенрации в 100Гц.
127 шагов на кажтый период шипа, это получается надо иметь частоту исходной обработки сигнала шим 100*127=12700 Гц.
При частоте в 8 МГЦ получаем 629 тактов на обработку каждого такта ШИМ. А каналов то 12! Т.е. 50 тактов на канал и за это время надо успеть загрузит данные на сериную шину. посчитать все. Не выглядит реальным. Если ло 20МГ поднять, то на ASM может быть получится, но я пишу на С.
Долой идиотизм!
Реклама
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ChipKiller »

может просто взять 2 МК - например mega48 и связать их к примеру по SPI (как раз 12 каналов аппаратного ШИМа)
Реклама
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ChipKiller »

может просто взять 2 МК - например mega48 и связать их к примеру по SPI (как раз 12 каналов аппаратного ШИМа)
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ArtemKuchin »

Вы не проняли проблему. Шим - шимом. Сделать мильон каналов шима - не проблема. МК-ши tiny рупль - горстка. ТОК чем регулировать? Просто резисторы не прокатывают.
Долой идиотизм!
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ARV »

ArtemKuchin писал(а):Сделать мильон каналов шима - не проблема. МК-ши tiny рупль - горстка.
очень резкое и опрометчивое заявление. сделайте хотя бы 100 и покажите результат! чтобы выжать из одного МК 24 канала ШИМ (речь об AVR) надо быть виртуозом ассемблера...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
Psych
Опытный кот
Сообщения: 848
Зарегистрирован: Ср мар 02, 2011 07:47:39
Откуда: Уфа

Re: Управление яркостью нескольких RGB светодиодов

Сообщение Psych »

1 МК - 1 ШИМ - 1 Драйвер LED(Или просто источник тока) -12 MOSFET-1 Счетчик, для экономии ножек МК
Реклама
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ArtemKuchin »

ARV писал(а):
ArtemKuchin писал(а):Сделать мильон каналов шима - не проблема. МК-ши tiny рупль - горстка.
очень резкое и опрометчивое заявление. сделайте хотя бы 100 и покажите результат! чтобы выжать из одного МК 24 канала ШИМ (речь об AVR) надо быть виртуозом ассемблера...
Я не говорил что на ОДНОМ МК! КЛючевая фраза: "МК-ши tiny рупль - горстка"

Psych писал(а):1 МК - 1 ШИМ - 1 Драйвер LED(Или просто источник тока) -12 MOSFET-1 Счетчик, для экономии ножек МК
Мультиплексировать источник тока? Тут все не так все просто. Во-первых это означает совсем другой режим работы светодиодов и другие токи. Т.е. вместое 20мА постоянного тока нужо иметь 100 мА, иначе яркость ниже плинтуса.
Если использовать реальный драйвер с ШМИМ входом, то мой вопрос остается в силе - как он будет себя вести при постоянном передергивании выхода (то подключен, то нет). Если использоватьй свой источник тока (причем линейный), то должно, конечно все получится. Вообзе мысль интересная, надо попробовать подумать ее, тепловыделение посчитать и источник нормальный подобрать. Спасибо.
Долой идиотизм!
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение BCluster »

а техаз инструментс вам сэмплы не шлють? Нам за 3 дня любые (: у них там куча драйверов есть
Аватара пользователя
Psych
Опытный кот
Сообщения: 848
Зарегистрирован: Ср мар 02, 2011 07:47:39
Откуда: Уфа

Re: Управление яркостью нескольких RGB светодиодов

Сообщение Psych »

ArtemKuchin писал(а): Мультиплексировать источник тока? Тут все не так все просто. Во-первых это означает совсем другой режим работы светодиодов и другие токи. Т.е. вместое 20мА постоянного тока нужо иметь 100 мА, иначе яркость ниже плинтуса.
Сории, но я здесь не понял(((. Почему другой режим? И Другие токи? Это из за того что светодиоды будут работать поочереди? Или из-за мосфетов?
ArtemKuchin писал(а): Если использовать реальный драйвер с ШМИМ входом, то мой вопрос остается в силе - как он будет себя вести при постоянном передергивании выхода (то подключен, то нет). Если использоватьй свой источник тока (причем линейный), то должно, конечно все получится. Вообзе мысль интересная, надо попробовать подумать ее, тепловыделение посчитать и источник нормальный подобрать. Спасибо.
А что если нагрузить драйвер уже чем нибудь, чтоб в холостую не пахал?! Пусть пашет на нагрузку и мосфеты.
BCluster писал(а):а техаз инструментс вам сэмплы не шлють? Нам за 3 дня любые (: у них там куча драйверов есть
А можно поподробней, как это правильнее сделать?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ARV »

ArtemKuchin писал(а):Я не говорил что на ОДНОМ МК! КЛючевая фраза: "МК-ши tiny рупль - горстка"
да вы сделайте хоть на куче МК 100 каналов - вот ключевое слово. для горстки МК потребуется протокол связи, и окажется, что рублевые (кстати, где вы их нашли? чуть меньше доллара штука вообще-то) тиньки не тянут... и т.д. и т.п.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Radan
Мучитель микросхем
Сообщения: 465
Зарегистрирован: Ср июн 21, 2006 08:24:32
Откуда: Лисичанск
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение Radan »

ARV писал(а):
ArtemKuchin писал(а):Сделать мильон каналов шима - не проблема. МК-ши tiny рупль - горстка.
очень резкое и опрометчивое заявление. сделайте хотя бы 100 и покажите результат! чтобы выжать из одного МК 24 канала ШИМ (речь об AVR) надо быть виртуозом ассемблера...
ШИМ ШИМу рознь. И в количестве бит, и в частоте... А для светодиодов на Меге16 сделать 32 канала 8-битного ШИМа не нужно быть виртуозом ассемблера. Можно просто на бейсике написать - http://lightportal.at.ua/publ/dekorativ ... a/14-1-0-2 . И разрядность там реально можно повысить. А вот при 10 битах и выше уже можно и разброс параметров светодиодов компенсировать.
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ArtemKuchin »

ARV писал(а):
ArtemKuchin писал(а):Я не говорил что на ОДНОМ МК! КЛючевая фраза: "МК-ши tiny рупль - горстка"
да вы сделайте хоть на куче МК 100 каналов - вот ключевое слово. для горстки МК потребуется протокол связи, и окажется, что рублевые (кстати, где вы их нашли? чуть меньше доллара штука вообще-то) тиньки не тянут... и т.д. и т.п.
Ну для поставленно задачи связи по SPI или TWI хватит за глаза. Рупль, доллар - один хрен.

Radan:

Посмотрел исходник. Любопытное решение "в лоб". Только вот большой вопрос, какая же там частота шима реально + частота смены каналов. Все как-то плывет. Но верю, что работает, я так делал, но больше так делать не хочу.
Долой идиотизм!
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ARV »

ArtemKuchin писал(а):Ну для поставленно задачи связи по SPI или TWI хватит за глаза. Рупль, доллар - один хрен.
хрен-то может и один (хотя лично я в курсе, что их больше, например, японский хрен васаби тоже есть), а вот вы возьмите и нарисуйте хотя бы схему на тех самых "однохренных" тиньках для управления сотней RGB. поверьте, я знаю, что говорю - это непросто, особенно с SPI, тем более что SPI и TWI далеко не во всех тиньках имеются.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ArtemKuchin »

ARV писал(а):
ArtemKuchin писал(а):Ну для поставленно задачи связи по SPI или TWI хватит за глаза. Рупль, доллар - один хрен.
хрен-то может и один (хотя лично я в курсе, что их больше, например, японский хрен васаби тоже есть), а вот вы возьмите и нарисуйте хотя бы схему на тех самых "однохренных" тиньках для управления сотней RGB. поверьте, я знаю, что говорю - это непросто, особенно с SPI, тем более что SPI и TWI далеко не во всех тиньках имеются.
Это конечно уже все не по теме но все же. А в чем проблема соединить линией SPI 100500 тиней (С SPI-ем) и сделать одну управляющую, которую все будут слушать, чего она им говорит показывать? Это, конечно, в приложении к моей задаче. Хотя мне сколько шимов не требуется.
Долой идиотизм!
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ArtemKuchin »

Последние вести с фронта :)

Итак, светодиоды выбраны: RGB с общим катодом. Так уж вышло.
Крутой драйвер я пока передумал использовать. Дорого и долго ждать.


Проблемы:
1) Разброс Vf дикий (от 2.8 до 4 для синего, например)
2) Разброс светимости при одном токе (20мА) - +- 50%!!!
3) Серийно их не запитаешь, всего получается 24 канала. Да и нельзя, так как каждый диод требует отдеьлной калибровки (см ниже).


Из пунктов 1 и 2 следуют, что требуется клибровка интенсивности для каждого излучателя в каждом светодиоде. Причем высокоточная! Паять тучу резисторов смотреть и перепаивать - нереально. На "глазов" откалибровать смотря в сам диод - нереально - слишком ярко. Только если раскидать на площадь и сравнивать с другими, тогда можнро как-то на глаз.
Все это значит, что надо говорить много-много-битовый шим, чтобы еще на главную регулировку осталось минимум 7 бит.
Т.е. надо брать 16 битовый таймер и шимить им и через интефейс калибровки (кнопочками) подводить каждый цвет на глаз к одной интенсивности уже на месте.
Чтобы сократить разброс из-за dVf и оставить больше значащих бит в шиме для планируется использовать источник тока на 100мА, который будет перелючаться MOSFET-ами на светодиоды. Таким образом остается только разброс по свечению.
Источник тока будет один, мультиплексированный по светодиодам. Т.е. каждый светодиод будет светить 1/24 времени высокочастотным шимом (килогерцы). Но сворее всего их будет два и два шим канала, чтобы каждый был 1/12. Тут есть вопрос. Если по спецификации диод можно светить на 100мА при скважности 10%, значит ли это автоматом. что им же можно светить на 200мА при скважности 5%? Если так, то можно сделать источник на 200мА и светить в режиме 1/24.

Я все это хотел на атмеге 88 или 8 построить. Но там ног не хватает. Варианта два - переходит на атмегу 16 илм поставить пару демультиплексоров (на 8 и на 16 каналов) и чепез них сигнал подавать.

В теории, можно построить калибратор на основе одного из этих же светодиодов. Но это в теории. Если глах хватит, то и на фиг калибратор.
Долой идиотизм!
Аватара пользователя
Psych
Опытный кот
Сообщения: 848
Зарегистрирован: Ср мар 02, 2011 07:47:39
Откуда: Уфа

Re: Управление яркостью нескольких RGB светодиодов

Сообщение Psych »

ArtemKuchin писал(а): Если по спецификации диод можно светить на 100мА при скважности 10%, значит ли это автоматом. что им же можно светить на 200мА при скважности 5%? Если так, то можно сделать источник на 200мА и светить в режиме 1/24.
Скорее всего да. Импульсный ток светодиода пропорционален скваженности шима.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ARV »

Psych писал(а):
ArtemKuchin писал(а): Если по спецификации диод можно светить на 100мА при скважности 10%, значит ли это автоматом. что им же можно светить на 200мА при скважности 5%? Если так, то можно сделать источник на 200мА и светить в режиме 1/24.
Скорее всего да. Импульсный ток светодиода пропорционален скваженности шима.
а если сделать 10 Ампер в импульсе и светить со скважностью 1/1200? :)))
это я к тому, что существует предельное значение импульсного тока, превышать которое нельзя в любом случае.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ArtemKuchin »

В даташите Maximum Pulse Forward Current при 1/10 пульса - 100мА.
Классика.
Но это же при 1/10, а не вообще максимум.
Так что несовсем и понятно.
Долой идиотизм!
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Re: Управление яркостью нескольких RGB светодиодов

Сообщение ArtemKuchin »

Рассуждение о шим каналах для себя и для ARV :)

Предположим мы хотим 24 канала ШИМ, с частотой 100Гц и разрешением 12 бит.
Есть атмега 16 МГЦ.

Не считаем общий код, считает все на каждый канала на каждый бит и т.д.

Итак, всего у нас есть 16000000 тактов в секунду.
16000000/24 = 666667 тактов на 1 канал в секунду
666667/100 = 6667 тактов на 1 канал за один период 100герцового шима
разрешение 12 бит, это 4096 возможных соотношений включенной части и выключеной по продолжительно времени.
Т.е. каждый период шима надо 4096 пересчитывать значение ШИМ канала. чтобы понять, пока включать или пора выключать его.
Имеем
6667/4096=1.6 такта на 1 канал на один пересчет

Вывод: такой один МК не тянет 100%

ARV: правильный ли у меня ход мысле и вывод?

А вообще, мне кажется, 100-500 шим каналов на нормальной частоте и с хорошим разрешением проще всего сделать на копеешной CPLD. Я правда с ними совсем не игрался еще.
Долой идиотизм!
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Управление яркостью нескольких RGB светодиодов

Сообщение Engineer_Keen »

Мда, великоваты требования для одного AVR. Наверное максимум что можно получить при 16МГц для 24 каналов это ~60Гц@10бит (проверял на 2313+595 регистры). Зато 8битный ШИМ зашкаливает за 300Гц :)))
Ответить

Вернуться в «Цифровая техника»