реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Плис + ШИМ управления яркостью LED, Методы реализации и проблемы
cpl
сообщение Dec 7 2004, 15:08
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 6-12-04
Пользователь №: 1 340



Собрал макет который позволяет поиграть с яркостью светодиодов по средствам ШИМ.
С контролера пишу в память значения который выводит из памяти Cyclon
через ШИМ на светодиодный драйвер (mbi5026) три цвета RGB,
яркость меняется хорошо но явно видно что нелинейно, уже на ранних значениях (всего 255 по каждому цвету) видно что яркость быстро нарастает
затем уже начинает замедляться и потом плохо различается белый с серым.
серый 50% и белый 100% яркость.
Может кто сталкивался с подобной задачкой посоветуйте как подравнять
яркость сделать ее более линейной.
Go to the top of the page
 
+Quote Post
GMavr
сообщение Dec 7 2004, 18:34
Сообщение #2





Группа: Участник
Сообщений: 14
Регистрация: 21-06-04
Пользователь №: 79



По слухам, зрительные и слуховые ощущения человека имеют логарифмическую зависимость. Соответственно, на каждом шаге нужно менять среднюю мощность, выделяемую на светодиоде в какое-то число раз.
Go to the top of the page
 
+Quote Post
Hmm
сообщение Dec 7 2004, 18:51
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 329
Регистрация: 22-06-04
Пользователь №: 124



Цитата(cpl @ Dec 7 2004, 18:08)
... ШИМ.


ШИМ "управляет" источником тока или временем включения ?


--------------------
Талант не пропить ...
Go to the top of the page
 
+Quote Post
Elias
сообщение Dec 8 2004, 06:16
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 24
Регистрация: 22-06-04
Пользователь №: 92



На http://www.leds.ru/forum.dhtml?part=3 уже обсуждалась данная проблема
привожу пост от туда:

Изменение яркости светодиода -- Илья -- 2004-02-26 00:58:35
Пожайлуста подскажите! При линейном изменении ШИМ яркость меняется нелинейно, и особенно когда светодиод пости не горит. Из-за этого при ШИМ 256 бит и корректировки на линейность появляются видимые на глаз ступенки (время от мин. до макс. 10 сек.), делать ШИМ с большей разрядностью нет возможности. Можно ли обойти проблему "ступенек" по другому и с чем связана сильная нелинейность.

Изменение яркости светодиода -- Денис -- 2004-02-26 10:47:31
Вероятно это связанно с тем, что есть определенная задержка зажигания светодиода. Некоторые модели на частоте 10 кгц и скважности 2 реально светятся как при скважности 10 - очень сильная задержка.
Могу порекомендовать уменьшить частоту ШИМа (ло 100 гц) или заменить светодиоды на более шустрые.
Интересно, какие светодиоды Вы используете и какая частота ШИМ?
Денис.

Изменение яркости светодиода -- Илья -- 2004-02-26 23:51:36
Светодиоды тестировались разные - суперяркие HP, Kingbright и noname, да и задача ориентирована на различные типы светодиодов. Частота ШИМ варьировалась в пределах 50-200 Гц, и видимых на глаз отличий не наблюдалось. Единственное, что могу сказать относительно инерционности, то например довольно медленные АЛ307 (при форсированных токах) показывают даже лучшую картину, чем суперяркие. Также подмечен тот факт, что суперяркие светодиоды уже светятся при очень малых линейных токах порядка 2-10 мкА, а при скважности 255 вполне солидно подсвечиваются. Да, а светодиоды каких фирм посоветовали бы Вы, и почему?

Изменение яркости светодиода -- Денис -- 2004-02-28 11:43:30 Илья!
А не попались ли вы на эффект адаптации глаза?
Попробуйте рядом включить два одинаковых светодиода, один со скважностью 255, а другой со скважностью 1 и проверьте как подсвечивается (при одновременном разглядывании двух светляков) тот, что имеет скважность 255.
Мне кажется в этом проблемма.
Денис.

Изменение яркости светодиода -- Илья -- 2004-02-28 20:11:07
Попробовал как посоветовали, конечно светодиод со скважностью 255 затеняется другим светодиодом, но при плавном зажигании первого с горящим вторым не сильно уменьшает эффект ступенек на высоких скважностях (а именно от 240-245 до 255).

Изменение яркости светодиода -- Денис -- 2004-03-02 17:14:07
Вот - вот...
Получается что при ярко горящем соседнем ШИМ работает плавно до уровня 240, а дальше заметны ступеньки. Так это оно и есть - это все равно что ступеньки при ШИМе 0-10 при не горящем светодиоде. Глаз-то успел адаптироваться.
Динамический диапазон глаза намного больше чем 256 градаций, если я не ошибаюсь где-то в районе 5-15 тысяч, поэтому не удивительно что Вы видите ступеньки когда глаз ждет этих ступенек, готов к ним и рядом есть точка для сравнения...
Go to the top of the page
 
+Quote Post
at90
сообщение Aug 9 2005, 07:17
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



А как реализовать шим на плис. Особо не пинайте, я только начинаю изучать плис.
Плис EPM7128.


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
dxp
сообщение Aug 9 2005, 08:44
Сообщение #6


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(at90 @ Aug 9 2005, 13:17)
А как реализовать шим на плис. Особо не пинайте, я только начинаю изучать плис.
Плис EPM7128.
*

А как бы Вы это делали на рассыпухе? Точно так же и на ПЛИС (ну почти так же smile.gif ).

Простейший вариант: счетчик, компаратор, регистр. Счетчик молотит по кругу, в регистр пишется величина порога, компаратор сравнивает выход счетчика с выходом регистра. Если одно больше другого, то на выходе один уровень, иначе другой. Получается несимметричный ШИМ. Если нужен симметричный, то почти то же самое, только счетик должен не в одну сторону считать по кругу, а быть реверсивным и считать от нуля до какого-то значения, затем обратно до нуля.

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


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 9 2005, 08:45
Сообщение #7


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(at90 @ Aug 9 2005, 02:17)
А как реализовать шим на плис. Особо не пинайте, я только начинаю изучать плис.
Плис EPM7128.
*

так же как в любом МК


--------------------
Go to the top of the page
 
+Quote Post
at90
сообщение Aug 9 2005, 09:43
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



Цитата(des00 @ Aug 9 2005, 11:45)
Цитата(at90 @ Aug 9 2005, 02:17)
А как реализовать шим на плис. Особо не пинайте, я только начинаю изучать плис.
Плис EPM7128.
*

так же как в любом МК
*



В м мк я могу объявить переменную. Допустим тип char. A как обьявить переменные в AHDL. Я сделал два восьмибитных счётчика и они съели 16 блоков. А сколько блоков нужно одному регистру.


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 10 2005, 04:01
Сообщение #9


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(at90 @ Aug 9 2005, 04:43)
В м мк я могу объявить  переменную. Допустим тип char. A как обьявить переменные в AHDL. Я сделал два восьмибитных счётчика и они съели 16 блоков. А сколько блоков нужно одному регистру.


БЛИН !!! ты не си код читай, а смотри доку на МК, описание как сделан блок ШИМ !!!
очень хорошо у атмела в аврках расписанно


--------------------
Go to the top of the page
 
+Quote Post
at90
сообщение Aug 10 2005, 09:43
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



Цитата(des00 @ Aug 10 2005, 07:01)
Цитата(at90 @ Aug 9 2005, 04:43)
В м мк я могу объявить  переменную. Допустим тип char. A как обьявить переменные в AHDL. Я сделал два восьмибитных счётчика и они съели 16 блоков. А сколько блоков нужно одному регистру.


БЛИН !!! ты не си код читай, а смотри доку на МК, описание как сделан блок ШИМ !!!
очень хорошо у атмела в аврках расписанно
*


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


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
bzx
сообщение Aug 27 2005, 10:38
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528



Цитата(at90 @ Aug 10 2005, 12:43)
С шимами разобрался.  А как теперь рилепить мне внешнее озу, чтобы там хранить значения для шима.
*

Для хранения N битного значения порога компаратора внешнее озу не требуется. Достаточно N D-триггеров. Для загрузки порога (для начала) лучше сфорганить подобие SPI интерфейса: CS-выбор микросхемы, CLK-внешнее тактирование и DATA-данные для загрузки (порог)


--------------------
Для связи email: info собака qbit.su
Go to the top of the page
 
+Quote Post
at90
сообщение Aug 30 2005, 05:09
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



Цитата(bzx @ Aug 27 2005, 13:38)
Цитата(at90 @ Aug 10 2005, 12:43)
С шимами разобрался.  А как теперь рилепить мне внешнее озу, чтобы там хранить значения для шима.
*

Для хранения N битного значения порога компаратора внешнее озу не требуется. Достаточно N D-триггеров. Для загрузки порога (для начала) лучше сфорганить подобие SPI интерфейса: CS-выбор микросхемы, CLK-внешнее тактирование и DATA-данные для загрузки (порог)
*



Дело в том что у меня к плмске прицеплена матрица 8на 32. Запись идёт в сдвиговый регистр на 32. И поэтому я должен сранивать значения в компараторе и записывать в регистр 0 или 1 при этом ещё и разворачивать матрицу. Поэтому мне и нужна память. Думаю вобще использовать двухпортовую память.


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 14th July 2025 - 20:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01486 секунд с 7
ELECTRONIX ©2004-2016