|
|
  |
256 градаций на AVR, Как получить 256 градаций яркости светодиода по средствам PWM AVR |
|
|
|
Jan 22 2006, 21:09
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
В принципе к сказаному выше могу добавить следующее. 1) Можно управлять шимом правда яркость - имеет нелинейную зависимость. 2) Управление ШИМом светодиодных панно, по моему полный бред. Это что же при разрешении 16*16 - 256 каналов шим? Как правило там имитация шима. Т.е опрос идёт значительно выше чем необходимо. Но в любом случае не в 256 раз. Т.е 256 градаций не обеспечивается. 3) На твоём месте (3 канала, отсутствие точности и технических условий) можно сделать и на ШИМе. Можно даже на програмном. Главное в твоей задаче, на мой взгляд, не как передать а как выделить сигнал. Никто не будет тебя ругать, что нота ми, - 2.1кнд а не - 2.1003 к примеру. Но если барабан не вызывает значительного изменения свечения, то это провал.  Поэтому сосредоточь свои исследования на фильтрах. Это моё мнение при условии что я правильно понял задачу. Удачи.
|
|
|
|
|
Jan 22 2006, 23:36
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 837

|
Цитата(SasaVitebsk @ Jan 23 2006, 00:09)  1) Можно управлять шимом правда яркость - имеет нелинейную зависимость. Это поправимо Цитата(SasaVitebsk @ Jan 23 2006, 00:09)  2) Управление ШИМом светодиодных панно, по моему полный бред. Это что же при разрешении 16*16 - 256 каналов шим? Именно так. Только для полноцвета не 256, а 768  Цитата(SasaVitebsk @ Jan 23 2006, 00:09)  Т.е 256 градаций не обеспечивается запросто обеспечивается и больше. Естественно, при таких объемах AVR отдыхает.
|
|
|
|
|
Jan 23 2006, 10:29
|

Знающий
   
Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095

|
[quote name='_LD' date='Jan 23 2006, 03:36' post='80350'] 2) Управление ШИМом светодиодных панно, по моему полный бред. Это что же при разрешении 16*16 - 256 каналов шим? [/quote] Именно так. Только для полноцвета не 256, а 768  [quote name='SasaVitebsk' post='80330' date='Jan 23 2006, 00:09'] Т.е 256 градаций не обеспечивается [/quote] запросто обеспечивается и больше. Естественно, при таких объемах AVR отдыхает. [/quote] Если я правильно понял, человеку нужен светодиодный фонарь RGB, откуда панно 16х16 взялось? ИМХО чтобы управлять цветностью фонаря достаточно три канала ШИМ (если еще будет преобразователь напряжение-ток, как кто-то выше предложил, будет проще...), по каналу на каждый цвет...
|
|
|
|
|
Jan 23 2006, 18:42
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 837

|
Цитата(Old1 @ Jan 23 2006, 13:29)  Если я правильно понял, человеку нужен светодиодный фонарь RGB, откуда панно 16х16 взялось? к слову пришлось  а вылезло все вот окуда: >парни да вы чего ШИМ? >это тупиковый вариант - яркость будет зрительно меняться только в очень ОЧЕНЬ малом диаппазоне Типа, для регулировки яркости ШИМ ни-и-и-зя. Плохо будет
|
|
|
|
|
Jan 23 2006, 19:12
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 837

|
[/quote] какие ваши предложения? [/quote] автор топика говорил о следующем: >Есть у меня интересная задачка - >нужно получить 256 градаций яркости группы сверхярких >светодиодов. Так вот есть ли такая возможность по средствам AVR? Количество каналов указано не было. Из чего невозможно заключить, можно ли использовать аппаратные ШИМы, сколько процессорного времени уйдет на генерацию, если делать это программно. Как было правильно замечено, визуально яркость от скважности зависит нелинейно. Но это не повод ругать ШИМ как класс  Реально с восьмибитного ШИМа можно получить ~32 градации яркости, образующие почти прямую линию на графике визуальной яркости. Если угодно, можно назвать это гамма-коррекцией. Восьмибитный ШИМ легко реализуем на AVR как на таймерах, так и программным дрыганьем ножек. Мне доводилось делать программно восьмибитный 16-ти канальный ШИМ на AVR. Если указанного количества градаций не хватает, нужно повышать разрядность ШИМа. AVR-ные таймеры способны генерировать 10-битный ШИМ. Думаю, этого будет достаточно. Если же требуется 256 реальных градаций яркости, при переборе которых визуально происходит плавное линейное нарастание яркости, то мне для этого с трудом хватает 12-ти битного ШИМа  ага, увидел пропущенное мной письмо по поводу фонаря. автор топика говорит про >Есть подобные аналоги и они получают 16 млн оттенков без обратной связи, > покрайней мере так заявлено в описании. Либо это комерческий трюк? Есть понятие "точность воспроизведения яркости", и есть понятие "разрешающая способность при отображении яркости". Описанные 16 млн. цветов - безусловно, разрешающая способность, ибо разброс светодиодов и величина стабильности тока через светодиод имеют точность в разы ниже, чем требуется. Тем не менее, это скорее не рекламный трюк. Действительно, 16 млн. цветов. Какие проблемы сделать три 16-ти битных ШИМа, пересчитать их по линеаризующей табличке и выплюнуть на три светодиода. Разрешающая способность по яркости - действительно 16 млн
Сообщение отредактировал _LD - Jan 23 2006, 19:17
|
|
|
|
|
Jan 24 2006, 04:44
|

Мастер-фломастер
   
Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700

|
Цитата(_artem_ @ Jan 23 2006, 22:26)  256 градаций на PWM не бред если в обратную связь поставить измеритель светопотока на фотодиоде . При работе на очень низкой освешенности придется ввести поправку на dark current плюсь табличное перевод значений тока диода в освешенность если линейность фотодиода на требуемом участке измерения освешенности нс соответствует требуемым. ну вот хоть одна грамотная идея... а то все шим шим ну уж разве речь а шиме как таковом - извольте... делаем шим например изменение состояния по OCR - 8 бит на выход нч фильтр (типа кустарного цапа) после опреционником делаем преобразователь напряжение ток и вуаля - диппазаон регулирования "зрительный" намного сместился в большую сторону и это реально видно, а не то что гдето только в конце даппазона можно чтото различить...
--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
|
|
|
|
|
Jan 24 2006, 18:19
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 837

|
Цитата(Kovrov @ Jan 24 2006, 07:44)  делаем шим например изменение состояния по OCR - 8 бит на выход нч фильтр (типа кустарного цапа) после опреционником делаем преобразователь напряжение ток и вуаля - диппазаон регулирования "зрительный" намного сместился в большую сторону и это реально видно, а не то что гдето только в конце даппазона можно чтото различить... Попробуем формализовать утверждения. Первая схема. Берем ШИМ с частотой ~100 Гц (чтобы глаз не замечал моргания), задаемся номинальным током через светодиод, и пропускаем/не пропускаем этот ток через светодиод, как велит ШИМ. Число позиций ШИМ - 256. Вторая схема. Берем тот же ШИМ, интегрируем его (получая напряжение от 0 до Vcc), подаем напряжение на линейный преобразователь напряжение->ток (0 вольт соответствует ток 0 ампер, Vcc соответствует номинальный ток светодиода), ток пропускаем через светодиод. Утверждается, что зависимость видимого свечения светодиода от значения ШИМ будет иметь совершенно разный характер для этих двух случаев?
|
|
|
|
|
Jan 24 2006, 19:07
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(_LD @ Jan 24 2006, 21:19)  Цитата(Kovrov @ Jan 24 2006, 07:44)  делаем шим например изменение состояния по OCR - 8 бит на выход нч фильтр (типа кустарного цапа) после опреционником делаем преобразователь напряжение ток и вуаля - диппазаон регулирования "зрительный" намного сместился в большую сторону и это реально видно, а не то что гдето только в конце даппазона можно чтото различить...
Попробуем формализовать утверждения. Первая схема. Берем ШИМ с частотой ~100 Гц (чтобы глаз не замечал моргания), задаемся номинальным током через светодиод, и пропускаем/не пропускаем этот ток через светодиод, как велит ШИМ. Число позиций ШИМ - 256. Вторая схема. Берем тот же ШИМ, интегрируем его (получая напряжение от 0 до Vcc), подаем напряжение на линейный преобразователь напряжение->ток (0 вольт соответствует ток 0 ампер, Vcc соответствует номинальный ток светодиода), ток пропускаем через светодиод. Утверждается, что зависимость видимого свечения светодиода от значения ШИМ будет иметь совершенно разный характер для этих двух случаев? Не совсем так. В первом случае (если частота ШИМа не очень большая) формальная "средняя" яркость будет изменяться линейно. Доказать это элементарно, если исходить из предположения что время переходных процессов (то есть время зажигания и время гашения) занимает ничтожный процент от всего цикла работы. А это верно для небольших частот ШИМа. Во втором случае яркость тоже зависит линейно, ЕСЛИ предположить что светодиод ВСЮ мощность на себе преобразует в свет. т.к. W=U*I, а U якобы константа при различном токе... Очевидно первый способ более прост и надёжен в реализации при ТЕОРИТИЧЕСКИ одинаковых результатах. Однако человеческие органы чувств устроены таким образом, что человек оценивает ЛОГАРИФМ величины. т.е. что бы человек думал что яркость изменяется линейно, надо яркость регулировать по экспоненциальному закону. Кстати это касается и звука тоже. Знающие люди подтвердят, что "звуковые" потенциометры нелинейны. Так что если надо сделать RGB фонарик, то не стоит заморачиваться с операционниками, а применить ШИМ "в лоб". При этом не забыв значение яркости регулировать экспоненциально. По поводу светодиодных матриц 16*16*3, кто то сказал что 768ШИМ каналов это много, а теперь подумайте, 768 операционников + те же 768 ШИМов(или ЦАПов) это не много? P.S. считается что средний глаз различает ВСЕГО 64 оттенка серого, при условии что он их одновременно охватывает сразу все.
|
|
|
|
|
Jan 24 2006, 19:28
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(_LD @ Jan 24 2006, 20:19)  Первая схема. Берем ШИМ с частотой ~100 Гц (чтобы глаз не замечал моргания), задаемся номинальным током через светодиод, и пропускаем/не пропускаем этот ток через светодиод, как велит ШИМ. Число позиций ШИМ - 256.
Вторая схема. Берем тот же ШИМ, интегрируем его (получая напряжение от 0 до Vcc), подаем напряжение на линейный преобразователь напряжение->ток (0 вольт соответствует ток 0 ампер, Vcc соответствует номинальный ток светодиода), ток пропускаем через светодиод.
Утверждается, что зависимость видимого свечения светодиода от значения ШИМ будет иметь совершенно разный характер для этих двух случаев? Да, т.к. в первом случае надо учитывать еще инертность СД, что и вносит нелинейность. Для простоты понимания вместо СД возьмите мощную лампу накаливания. При подаче питания невооруженным глазом будет заметен плавный разогрев до макс яркости и так же плавное остывание при отключении питания. Тот же эффект, только в других масштабах, имеет место и для СД. ;>
|
|
|
|
|
Jan 24 2006, 20:36
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 837

|
Цитата(Petka @ Jan 24 2006, 22:07)  Цитата(_LD @ Jan 24 2006, 21:19)  Попробуем формализовать утверждения.
Первая схема. Берем ШИМ с частотой ~100 Гц (чтобы глаз не замечал моргания), задаемся номинальным током через светодиод, и пропускаем/не пропускаем этот ток через светодиод, как велит ШИМ. Число позиций ШИМ - 256.
Вторая схема. Берем тот же ШИМ, интегрируем его (получая напряжение от 0 до Vcc), подаем напряжение на линейный преобразователь напряжение->ток (0 вольт соответствует ток 0 ампер, Vcc соответствует номинальный ток светодиода), ток пропускаем через светодиод.
Утверждается, что зависимость видимого свечения светодиода от значения ШИМ будет иметь совершенно разный характер для этих двух случаев?
Не совсем так. В первом случае (если частота ШИМа не очень большая) формальная "средняя" яркость будет изменяться линейно. Доказать это элементарно, если исходить из предположения что время переходных процессов (то есть время зажигания и время гашения) занимает ничтожный процент от всего цикла работы. А это верно для небольших частот ШИМа. Скажем, до килогерца точно верно. Цитата(Petka @ Jan 24 2006, 22:07)  Во втором случае яркость тоже зависит линейно, ЕСЛИ предположить что светодиод ВСЮ мощность на себе преобразует в свет. т.к. W=U*I, а U якобы константа при различном токе... Достаточно убедиться, посмотрев в даташите на светодиод, что график зависимости интенсивности свечения почти линейно зависит от тока. А вот U, увы, далеко не константа. Цитата(Petka @ Jan 24 2006, 22:07)  Очевидно первый способ более прост и надёжен в реализации при ТЕОРИТИЧЕСКИ одинаковых результатах. Однако человеческие органы чувств устроены таким образом, что человек оценивает ЛОГАРИФМ величины. т.е. что бы человек думал что яркость изменяется линейно, надо яркость регулировать по экспоненциальному закону. Верно. НО. Это верно для ОБОИХ примеров. Функция, которая визуально линеаризует нарастание яркости при равномерном увеличении выводимого значения, примерно соответствует функции y=x^n, при значении n от ~2 до ~5 (устанавливал экспериментально, наблюдая градиент на светодиодном панно. К тому же оптимальное значение n зависит от внешней освещенности, так что геморрой еще тот  ). Типа, числовое выражение яркости (диапазон 0..1) подставляем вместо x, получаем y в диапазоне 0..1, и это значение должно определять скважность при выводе. Цитата(Petka @ Jan 24 2006, 22:07)  Так что если надо сделать RGB фонарик, то не стоит заморачиваться с операционниками, а применить ШИМ "в лоб". При этом не забыв значение яркости регулировать экспоненциально. По поводу светодиодных матриц 16*16*3, кто то сказал что 768ШИМ каналов это много, а теперь подумайте, 768 операционников + те же 768 ШИМов(или ЦАПов) это не много? Солидарен с тобой, у меня нет сомнений в этом вопросе. Сомнения есть у моих оппонентов  Цитата(Petka @ Jan 24 2006, 22:07)  P.S. считается что средний глаз различает ВСЕГО 64 оттенка серого, при условии что он их одновременно охватывает сразу все. Наверное, в этом вопросе готов поспорить. А что значит "охватывает"? Боковое зрение считается?  Цитата(defunct @ Jan 24 2006, 22:28)  Да, т.к. в первом случае надо учитывать еще инертность СД, что и вносит нелинейность. Для простоты понимания вместо СД возьмите мощную лампу накаливания. Нельзя приводить в пример прибор, инертность которого отличается на несколько порядков. Инертность светодиодов - микросекунды.
|
|
|
|
|
Jan 24 2006, 20:41
|

учащийся
    
Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249

|
Цитата(defunct @ Jan 24 2006, 21:28)  Да, т.к. в первом случае надо учитывать еще инертность СД, что и вносит нелинейность. Для простоты понимания вместо СД возьмите мощную лампу накаливания. При подаче питания невооруженным глазом будет заметен плавный разогрев до макс яркости и так же плавное остывание при отключении питания. Тот же эффект, только в других масштабах, имеет место и для СД. ;> Скорость светодиода определяется по параметру rise and fall time . инертность светодиода определяется по rise и fall times . Для обычных диодо эти значения не приводятся для наименее медленных оптопередатчиков (LED) видимого красного спектра наихудшее значение в пределах единиц микросекунд. Измерить их легко по методике изложенной вот здесь : http://www.i-fiberoptics.com/educ/IF-LM_04.pdf Насчет линейности и шим Хамаматсу пишет что : http://sales.hamamatsu.com/assets/pdf/catsandguides/LED.pdf "In DC operation the radiant output power vs forward current characteristics usually show linear line up to the maximum rating . Likewise nearly linear characteristics can be obtained with pulsed operation if the pulse width and duty ratio are slected properly. Therefore if power at certain current level is measured , the approximate power at a different current value can be readily estimated ". Но также и добавляет что с увеличением температуры мошность световой радиации падает так что необходимо вводить поправку на температуру.
--------------------
Зачем лаять на караван , когда на него можно плюнуть?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|