cpl 0 7 декабря, 2004 Опубликовано 7 декабря, 2004 · Жалоба Собрал макет который позволяет поиграть с яркостью светодиодов по средствам ШИМ. С контролера пишу в память значения который выводит из памяти Cyclon через ШИМ на светодиодный драйвер (mbi5026) три цвета RGB, яркость меняется хорошо но явно видно что нелинейно, уже на ранних значениях (всего 255 по каждому цвету) видно что яркость быстро нарастает затем уже начинает замедляться и потом плохо различается белый с серым. серый 50% и белый 100% яркость. Может кто сталкивался с подобной задачкой посоветуйте как подравнять яркость сделать ее более линейной. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GMavr 0 7 декабря, 2004 Опубликовано 7 декабря, 2004 · Жалоба По слухам, зрительные и слуховые ощущения человека имеют логарифмическую зависимость. Соответственно, на каждом шаге нужно менять среднюю мощность, выделяемую на светодиоде в какое-то число раз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hmm 0 7 декабря, 2004 Опубликовано 7 декабря, 2004 · Жалоба ... ШИМ. ШИМ "управляет" источником тока или временем включения ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Elias 0 8 декабря, 2004 Опубликовано 8 декабря, 2004 · Жалоба На 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 тысяч, поэтому не удивительно что Вы видите ступеньки когда глаз ждет этих ступенек, готов к ним и рядом есть точка для сравнения... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
at90 0 9 августа, 2005 Опубликовано 9 августа, 2005 · Жалоба А как реализовать шим на плис. Особо не пинайте, я только начинаю изучать плис. Плис EPM7128. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 67 9 августа, 2005 Опубликовано 9 августа, 2005 · Жалоба А как реализовать шим на плис. Особо не пинайте, я только начинаю изучать плис. Плис EPM7128. <{POST_SNAPBACK}> А как бы Вы это делали на рассыпухе? Точно так же и на ПЛИС (ну почти так же :) ). Простейший вариант: счетчик, компаратор, регистр. Счетчик молотит по кругу, в регистр пишется величина порога, компаратор сравнивает выход счетчика с выходом регистра. Если одно больше другого, то на выходе один уровень, иначе другой. Получается несимметричный ШИМ. Если нужен симметричный, то почти то же самое, только счетик должен не в одну сторону считать по кругу, а быть реверсивным и считать от нуля до какого-то значения, затем обратно до нуля. В обоих случаях выход компаратора нелишне пропустить через триггер для устранения "иголок". Меняя значение порога в регистре, меняем скважность ШИМа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 9 августа, 2005 Опубликовано 9 августа, 2005 · Жалоба А как реализовать шим на плис. Особо не пинайте, я только начинаю изучать плис. Плис EPM7128. <{POST_SNAPBACK}> так же как в любом МК Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
at90 0 9 августа, 2005 Опубликовано 9 августа, 2005 · Жалоба А как реализовать шим на плис. Особо не пинайте, я только начинаю изучать плис. Плис EPM7128. <{POST_SNAPBACK}> так же как в любом МК <{POST_SNAPBACK}> В м мк я могу объявить переменную. Допустим тип char. A как обьявить переменные в AHDL. Я сделал два восьмибитных счётчика и они съели 16 блоков. А сколько блоков нужно одному регистру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 10 августа, 2005 Опубликовано 10 августа, 2005 · Жалоба В м мк я могу объявить переменную. Допустим тип char. A как обьявить переменные в AHDL. Я сделал два восьмибитных счётчика и они съели 16 блоков. А сколько блоков нужно одному регистру. БЛИН !!! ты не си код читай, а смотри доку на МК, описание как сделан блок ШИМ !!! очень хорошо у атмела в аврках расписанно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
at90 0 10 августа, 2005 Опубликовано 10 августа, 2005 · Жалоба В м мк я могу объявить переменную. Допустим тип char. A как обьявить переменные в AHDL. Я сделал два восьмибитных счётчика и они съели 16 блоков. А сколько блоков нужно одному регистру. БЛИН !!! ты не си код читай, а смотри доку на МК, описание как сделан блок ШИМ !!! очень хорошо у атмела в аврках расписанно <{POST_SNAPBACK}> С шимами разобрался. А как теперь прилепить мне внешнее озу, чтобы там хранить значения для шима. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bzx 0 27 августа, 2005 Опубликовано 27 августа, 2005 · Жалоба С шимами разобрался. А как теперь рилепить мне внешнее озу, чтобы там хранить значения для шима.<{POST_SNAPBACK}> Для хранения N битного значения порога компаратора внешнее озу не требуется. Достаточно N D-триггеров. Для загрузки порога (для начала) лучше сфорганить подобие SPI интерфейса: CS-выбор микросхемы, CLK-внешнее тактирование и DATA-данные для загрузки (порог) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
at90 0 30 августа, 2005 Опубликовано 30 августа, 2005 · Жалоба С шимами разобрался. А как теперь рилепить мне внешнее озу, чтобы там хранить значения для шима.<{POST_SNAPBACK}> Для хранения N битного значения порога компаратора внешнее озу не требуется. Достаточно N D-триггеров. Для загрузки порога (для начала) лучше сфорганить подобие SPI интерфейса: CS-выбор микросхемы, CLK-внешнее тактирование и DATA-данные для загрузки (порог) <{POST_SNAPBACK}> Дело в том что у меня к плмске прицеплена матрица 8на 32. Запись идёт в сдвиговый регистр на 32. И поэтому я должен сранивать значения в компараторе и записывать в регистр 0 или 1 при этом ещё и разворачивать матрицу. Поэтому мне и нужна память. Думаю вобще использовать двухпортовую память. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться