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

 
 
> Управление RGB светодиодами на STM32F3
Jenya7
сообщение Aug 16 2018, 07:09
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Для управления RGB светодиодом нужно три PWM сигнала.
Таймеров генерирующих PWM у меня 5 - TIM1, TIM2, TIM3, TIM4, TIM8. А мне надо 8 независимых каналов.
В свое время я делал расширение портов на 74595. Может есть какой способ расширить PWM порт?
Самое милое дело поставить FPGA но они дорогие. Может есть какой специальный чип?

Сообщение отредактировал Jenya7 - Aug 16 2018, 07:10
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Jenya7
сообщение Aug 16 2018, 07:46
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



RGB светодиод управляется следующим образом.

У каждого цвета есть свой код, например
R G D
красный 255 0 0
зеленый 0 255 0
синий 0 0 255
желтый 255 255 0 (смешение цветов)
какой то 255 128 128

чтоб получить этот цвет нужно выставить процентное отношение напряжений на ножках светодиода

(TIM_Period = 8000)

красный PWM1_TIMER->CCR1 = 8000 PWM1_TIMER->CCR2 = 0 PWM1_TIMER->CCR3 = 0
зеленый PWM1_TIMER->CCR1 = 0 PWM1_TIMER->CCR2 = 8000 PWM1_TIMER->CCR3 = 0
синий PWM1_TIMER->CCR1 = 0 PWM1_TIMER->CCR2 = 0 PWM1_TIMER->CCR3 = 8000
желтый PWM1_TIMER->CCR1 = 8000 PWM1_TIMER->CCR2 = 8000 PWM1_TIMER->CCR3 = 0
какой то PWM1_TIMER->CCR1 = 8000 PWM1_TIMER->CCR2 = 4000 PWM1_TIMER->CCR3 = 4000

то есть для уапрвления одной RGB лентой нам нужен один таймер

а...не все понимают откуда берутся цветовые коды. переименуйте RGB.txt в RGB.exe и там будет объяснение.


Сообщение отредактировал Jenya7 - Aug 16 2018, 08:36
Прикрепленные изображения
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  RGB.txt ( 9.5 килобайт ) Кол-во скачиваний: 5
 
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 16 2018, 08:10
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Jenya7 @ Aug 16 2018, 10:46) *
У каждого цвета есть свой код, например
R G D
красный 255 0 0

256-й градаций яркости??? Итого по всем 3-м == 2^24 градаций цвета?
Вы реально думаете различить их на глаз?

Или речь идёт не о восприятии глазом человека? Для чего яркостью управлять? Для глаза или яркость нужно регулировать для какого-то тех.процесса?
И чей глаз - человека или может мухи? biggrin.gif Если последнее, то да - пожалуй частоту обновления значений нужно взять повыше, 50...100 Гц для мухи пожалуй маловато будет. biggrin.gif
ТЗ как всегда приходится осиливать телепатически....

PS: Если речь о восприятии глазом человека, то при большом числе градаций яркости проблема будет не с тем как это технически реализовать, а с нелинейностью зависимости значения напряжения формируемого ШИМ и ощущения яркости данной цветовой составляющей глазом. Без учёта этого и проработки этого, нет никакого смысла делать большое число градаций яркости - 10-и...20-и будет за глаза. Даже 20 уже много будет....
Есть как нелинейность зависимости яркости свечения светодиода от приложенного напряжения, так и нелинейность восприятия яркости свечения глазом человека. Да и нелинейность восприятия для разных цветов тоже есть.
И тогда окажется что 64,64,0 - это вовсе не жёлтый цвет, а скорее оранжевый, даже ближе к красному. smile3009.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 16 2018, 09:31
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (jcxz @ Aug 16 2018, 11:10) *
256-й градаций яркости??? Итого по всем 3-м == 2^24 градаций цвета?
Вы реально думаете различить их на глаз?
Градаций цвета + градаций яркости. Когда (если) автор темы сделает 256 градаций яркости - он поймет, что надо делать еще логарифмичесое преобразование заданной яркости к скважности ШИМ и что 8-битного ШИМа недостаточно, а для приятного и незаметного глазу изменения яркости нужно минимум 1024 уровня ШИМ.

QUOTE (jcxz @ Aug 16 2018, 11:10) *
50...100 Гц для мухи пожалуй маловато будет. biggrin.gif
Да и для человека тоже. Это же не лампа накаливания с громадной инерционностью. Если перемещать взгляд или вертеть головой у мерцающего с такой частотой светодиода - мерцания будут заметны и головная боль гарантирована. При быстром перемещении взгляда хорошо заметна развертка динамической индикации на светодиодных семисегментных индикаторах с частотой цикла обновления 200 Гц. 1000 Гц уже почти незаметна.

QUOTE (Jenya7 @ Aug 16 2018, 10:46) *
то есть для уапрвления одной RGB лентой нам нужен один таймер
То есть для управления одной лентой вам нужно 3 выхода ШИМ. Некторые таймеры имеют 4 выхода ШИМ и ничего не мешает вам использовать оставшийся для другой ленты.
И вы бы сразу огласили свою терминологию: что "канал" у вас - это три выхода ШИМ для управления одной лентой. Итого вам надо 3*8=24 выхода ШИМ Угадал? Тогда или смотреть кристаллы с достаточным количеством выходов ШИМ (если такие есть) или переходить от ШИМа к более другой модуляции (Binary Code Modulation). Последняя, кстати, элементарно реализуется на STM32 ногодрыгом через ПДП.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Jenya7   Управление RGB светодиодами на STM32F3   Aug 16 2018, 07:09
- - Forger   Если речь про STM32 и частота ШИМ одинаковая, то э...   Aug 16 2018, 07:20
|- - Jenya7   Цитата(Forger @ Aug 16 2018, 12:20) Если ...   Aug 16 2018, 07:26
||- - Forger   Цитата(Jenya7 @ Aug 16 2018, 10:26) откуд...   Aug 16 2018, 07:28
|- - jcxz   Цитата(Forger @ Aug 16 2018, 10:20) Если ...   Aug 16 2018, 07:41
|- - Forger   Цитата(jcxz @ Aug 16 2018, 10:34) А зачем...   Aug 16 2018, 07:41
|- - Forger   Цитата(Jenya7 @ Aug 16 2018, 10:46) RGB с...   Aug 16 2018, 08:04
|- - Jenya7   Цитата(Сергей Борщ @ Aug 16 2018, 14:31) ...   Aug 16 2018, 10:30
||- - mantech   Цитата(Jenya7 @ Aug 16 2018, 13:30) а что...   Aug 16 2018, 10:35
||- - Forger   Цитата(Jenya7 @ Aug 16 2018, 13:30) да. н...   Aug 16 2018, 10:54
||- - Arlleex   Цитата(Forger @ Aug 16 2018, 14:54) Мля, ...   Aug 16 2018, 11:14
|- - jcxz   Цитата(Сергей Борщ @ Aug 16 2018, 12:31) ...   Aug 16 2018, 11:13
- - Aleksandr Baranov   TLC5955 не спасет Вас?   Aug 16 2018, 12:13
|- - Jenya7   Цитата(Aleksandr Baranov @ Aug 16 2018, 17...   Aug 16 2018, 13:07
|- - Forger   Посмотрите в сторону RGB-лент со встроенными контр...   Aug 16 2018, 13:12
- - adnega   +1 Или что-то из WS2801, WS2811, WS2812...   Aug 16 2018, 13:03


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 17:08
Рейтинг@Mail.ru


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