Страница 1 из 1
Управление яркостью нескольких RGB светодиодов
Добавлено: Ср мар 30, 2011 12:04:27
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 может быть получится, но я пишу на С.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Ср мар 30, 2011 18:15:50
ChipKiller
может просто взять 2 МК - например mega48 и связать их к примеру по SPI (как раз 12 каналов аппаратного ШИМа)
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Ср мар 30, 2011 18:15:53
ChipKiller
может просто взять 2 МК - например mega48 и связать их к примеру по SPI (как раз 12 каналов аппаратного ШИМа)
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Ср мар 30, 2011 18:43:13
ArtemKuchin
Вы не проняли проблему. Шим - шимом. Сделать мильон каналов шима - не проблема. МК-ши tiny рупль - горстка. ТОК чем регулировать? Просто резисторы не прокатывают.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Ср мар 30, 2011 20:20:40
ARV
ArtemKuchin писал(а):Сделать мильон каналов шима - не проблема. МК-ши tiny рупль - горстка.
очень резкое и опрометчивое заявление. сделайте хотя бы 100 и покажите результат! чтобы выжать из одного МК 24 канала ШИМ (речь об AVR) надо быть виртуозом ассемблера...
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Ср мар 30, 2011 22:07:32
Psych
1 МК - 1 ШИМ - 1 Драйвер LED(Или просто источник тока) -12 MOSFET-1 Счетчик, для экономии ножек МК
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Чт мар 31, 2011 07:31:42
ArtemKuchin
ARV писал(а):ArtemKuchin писал(а):Сделать мильон каналов шима - не проблема. МК-ши tiny рупль - горстка.
очень резкое и опрометчивое заявление. сделайте хотя бы 100 и покажите результат! чтобы выжать из одного МК 24 канала ШИМ (речь об AVR) надо быть виртуозом ассемблера...
Я не говорил что на ОДНОМ МК! КЛючевая фраза: "МК-ши tiny рупль - горстка"
Psych писал(а):1 МК - 1 ШИМ - 1 Драйвер LED(Или просто источник тока) -12 MOSFET-1 Счетчик, для экономии ножек МК
Мультиплексировать источник тока? Тут все не так все просто. Во-первых это означает совсем другой режим работы светодиодов и другие токи. Т.е. вместое 20мА постоянного тока нужо иметь 100 мА, иначе яркость ниже плинтуса.
Если использовать реальный драйвер с ШМИМ входом, то мой вопрос остается в силе - как он будет себя вести при постоянном передергивании выхода (то подключен, то нет). Если использоватьй свой источник тока (причем линейный), то должно, конечно все получится. Вообзе мысль интересная, надо попробовать подумать ее, тепловыделение посчитать и источник нормальный подобрать. Спасибо.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Чт мар 31, 2011 09:16:06
BCluster
а техаз инструментс вам сэмплы не шлють? Нам за 3 дня любые (: у них там куча драйверов есть
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Чт мар 31, 2011 09:26:48
Psych
ArtemKuchin писал(а):
Мультиплексировать источник тока? Тут все не так все просто. Во-первых это означает совсем другой режим работы светодиодов и другие токи. Т.е. вместое 20мА постоянного тока нужо иметь 100 мА, иначе яркость ниже плинтуса.
Сории, но я здесь не понял(((. Почему другой режим? И Другие токи? Это из за того что светодиоды будут работать поочереди? Или из-за мосфетов?
ArtemKuchin писал(а):
Если использовать реальный драйвер с ШМИМ входом, то мой вопрос остается в силе - как он будет себя вести при постоянном передергивании выхода (то подключен, то нет). Если использоватьй свой источник тока (причем линейный), то должно, конечно все получится. Вообзе мысль интересная, надо попробовать подумать ее, тепловыделение посчитать и источник нормальный подобрать. Спасибо.
А что если нагрузить драйвер уже чем нибудь, чтоб в холостую не пахал?! Пусть пашет на нагрузку и мосфеты.
BCluster писал(а):а техаз инструментс вам сэмплы не шлють? Нам за 3 дня любые (: у них там куча драйверов есть
А можно поподробней, как это правильнее сделать?
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Чт мар 31, 2011 09:30:07
ARV
ArtemKuchin писал(а):Я не говорил что на ОДНОМ МК! КЛючевая фраза: "МК-ши tiny рупль - горстка"
да вы
сделайте хоть на куче МК 100 каналов - вот ключевое слово. для горстки МК потребуется протокол связи, и окажется, что рублевые (кстати, где вы их нашли? чуть меньше доллара штука вообще-то) тиньки не тянут... и т.д. и т.п.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Чт мар 31, 2011 10:16:59
Radan
ARV писал(а):ArtemKuchin писал(а):Сделать мильон каналов шима - не проблема. МК-ши tiny рупль - горстка.
очень резкое и опрометчивое заявление. сделайте хотя бы 100 и покажите результат! чтобы выжать из одного МК 24 канала ШИМ (речь об AVR) надо быть виртуозом ассемблера...
ШИМ ШИМу рознь. И в количестве бит, и в частоте... А для светодиодов на Меге16 сделать 32 канала 8-битного ШИМа не нужно быть виртуозом ассемблера. Можно просто на бейсике написать -
http://lightportal.at.ua/publ/dekorativ ... a/14-1-0-2 . И разрядность там реально можно повысить. А вот при 10 битах и выше уже можно и разброс параметров светодиодов компенсировать.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Чт мар 31, 2011 12:49:17
ArtemKuchin
ARV писал(а):ArtemKuchin писал(а):Я не говорил что на ОДНОМ МК! КЛючевая фраза: "МК-ши tiny рупль - горстка"
да вы
сделайте хоть на куче МК 100 каналов - вот ключевое слово. для горстки МК потребуется протокол связи, и окажется, что рублевые (кстати, где вы их нашли? чуть меньше доллара штука вообще-то) тиньки не тянут... и т.д. и т.п.
Ну для поставленно задачи связи по SPI или TWI хватит за глаза. Рупль, доллар - один хрен.
Radan:
Посмотрел исходник. Любопытное решение "в лоб". Только вот большой вопрос, какая же там частота шима реально + частота смены каналов. Все как-то плывет. Но верю, что работает, я так делал, но больше так делать не хочу.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Чт мар 31, 2011 13:30:40
ARV
ArtemKuchin писал(а):Ну для поставленно задачи связи по SPI или TWI хватит за глаза. Рупль, доллар - один хрен.
хрен-то может и один (хотя лично я в курсе, что их больше, например, японский хрен
васаби тоже есть), а вот вы возьмите и нарисуйте хотя бы схему на тех самых "однохренных" тиньках для управления сотней RGB. поверьте, я знаю, что говорю - это непросто, особенно с
SPI, тем более что SPI и TWI далеко не во всех тиньках имеются.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Чт мар 31, 2011 14:54:08
ArtemKuchin
ARV писал(а):ArtemKuchin писал(а):Ну для поставленно задачи связи по SPI или TWI хватит за глаза. Рупль, доллар - один хрен.
хрен-то может и один (хотя лично я в курсе, что их больше, например, японский хрен
васаби тоже есть), а вот вы возьмите и нарисуйте хотя бы схему на тех самых "однохренных" тиньках для управления сотней RGB. поверьте, я знаю, что говорю - это непросто, особенно с
SPI, тем более что SPI и TWI далеко не во всех тиньках имеются.
Это конечно уже все не по теме но все же. А в чем проблема соединить линией SPI 100500 тиней (С SPI-ем) и сделать одну управляющую, которую все будут слушать, чего она им говорит показывать? Это, конечно, в приложении к моей задаче. Хотя мне сколько шимов не требуется.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Пн апр 04, 2011 14:31:06
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 каналов) и чепез них сигнал подавать.
В теории, можно построить калибратор на основе одного из этих же светодиодов. Но это в теории. Если глах хватит, то и на фиг калибратор.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Пн апр 04, 2011 14:57:43
Psych
ArtemKuchin писал(а):
Если по спецификации диод можно светить на 100мА при скважности 10%, значит ли это автоматом. что им же можно светить на 200мА при скважности 5%? Если так, то можно сделать источник на 200мА и светить в режиме 1/24.
Скорее всего да. Импульсный ток светодиода пропорционален скваженности шима.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Пн апр 04, 2011 15:06:21
ARV
Psych писал(а):ArtemKuchin писал(а):
Если по спецификации диод можно светить на 100мА при скважности 10%, значит ли это автоматом. что им же можно светить на 200мА при скважности 5%? Если так, то можно сделать источник на 200мА и светить в режиме 1/24.
Скорее всего да. Импульсный ток светодиода пропорционален скваженности шима.
а если сделать 10 Ампер в импульсе и светить со скважностью 1/1200?
это я к тому, что существует предельное значение импульсного тока, превышать которое нельзя в любом случае.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Пн апр 04, 2011 15:18:44
ArtemKuchin
В даташите Maximum Pulse Forward Current при 1/10 пульса - 100мА.
Классика.
Но это же при 1/10, а не вообще максимум.
Так что несовсем и понятно.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Вт апр 05, 2011 14:38:35
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. Я правда с ними совсем не игрался еще.
Re: Управление яркостью нескольких RGB светодиодов
Добавлено: Вт апр 05, 2011 16:35:13
Engineer_Keen
Мда, великоваты требования для одного AVR. Наверное максимум что можно получить при 16МГц для 24 каналов это ~60Гц@10бит (проверял на 2313+595 регистры). Зато 8битный ШИМ зашкаливает за 300Гц
