Страница 5 из 6
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Чт окт 27, 2016 15:51:15
СКАЗОЧНИК
Что-то я тут подумал (а толковой обучалки для начинающих по DC-DC степ даун я не нашел) и пришел к выводу.
Как же МК будет контролировать выходное напряжение? Если он и запустит трансформатор через ключи и все будет работать, то проверить он сможет это только с АЦП, однако, если он не сможет изменять частоту на выходе.. Только отключать или включать с пробелами... Не знаю чего это за конструкция такая...
Кто же стабилизировать напряжение будет на уровне 5 Вольт. А лучше даже 4,5 где-то.
Добавлено after 1 minute 44 seconds:
В программах у дяди Володи (Старичок) указаны марки колец, в которых еще надо ориентироваться. А откуда я знаю, какое кольцо я вытащил из блока питания, который был под рукой?
Добавлено after 1 minute 44 seconds:
Да и программы его рассчитаны на уже подготовленных строителей импульсных блоков питания. Которые знают все нюансы типа Дед тайм, Дюти цикл, Плотность тока и т.д. и т.п.
Добавлено after 7 minutes 7 seconds:
Кстати, программки клевые. Вот только бы описали вот те определения. Вроде про плотность тока нашел. Но про циклы и таймы не понимаю.
И про типы колец тоже.
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Чт окт 27, 2016 15:58:52
oleg110592
СКАЗОЧНИК писал(а):Как же МК будет контролировать выходное напряжение?
тут правда ток контролируется, но можно и переделать ("ток любит напряжение"(c)):
http://klim.in.ua/wp/2010/10/power-led- ... er-tiny25/
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Чт окт 27, 2016 17:18:57
Z_h_e
А я бы попробовал заряжать кондер
http://radiokot.ru/forum/viewtopic.php? ... 6#p2900136 и потом стабилизировать обычным транзистором. Наверняка будет шум по питанию, но Вам же не звуковой усилитель или какой-то аналоговый измеритель запитывать.
Добавлено after 1 hour 11 minutes 45 seconds:
Наваял нечто в протеусе. Вроде что-то похоже. На коллекторе транзистора можно контролировать напряжение и изменять ШИМ.
Возможно в динамике и реале ничего хорошего и не выйдет, а может чего и получится.
Во вложение файл протеуса 7.
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пт окт 28, 2016 16:59:10
СКАЗОЧНИК
Заинтересовал меня метод с ШИМ и если считывать на ТИНИ2313 встроенным компаратором напряжение, то можно его и регулировать этим же ШИМ. Вроде остальные микросхемы в блоках питания подобным образом и работают, как я умудрился в них разобраться.
Т.е. Задаем частоту где-то 100 кГц. На выходе два полевика, трансформатор на кольце, выходная обмотка контролируется компаратором через какой-нибудь делитель. Внутри контроллера ШИМ меняется, что заставляет убавлять или прибавлять выходное напряжение.
Обмотки же надо посчитать и колечко подобрать.
Все это делать в фоне.
Вывод на светодиоды делает этот же МК. Токма посчитать надо все наложения прерывания (запрещенные прерывания) и т.д.
Добавлено after 1 hour 20 minutes 20 seconds:
Кстати, туплю и не могу найти. В программах у Старичка (Владимира) есть расчет для гантелек? Не для торов или Ш образных, а для гантелек?
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Сб окт 29, 2016 02:46:28
akl
Двухтактник тем и хорош, что преобразует напряжение в зависимости от коэффициента трансформации. Напряжение питания WS2812B может быть в пределах 3,5...5,3V, а аккумулятор суперкара КАМАЗ 21...25V. При коэффициенте 5:1 напряжение на выходе будет 4,2...5V. Минус падение на 1 диоде Шоттки 0,5V даёт 3,7...4,5V. Нужна стабилизация?
СКАЗОЧНИК писал(а):Вывод на светодиоды делает этот же МК. Токма посчитать надо все наложения прерывания (запрещенные прерывания) и т.д.
Проще подключить аппаратный модуль генерации двухтактного ШИМ и обойтись без прерываний. Иначе, головная боль от непредсказуемых результатов.
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Сб окт 29, 2016 10:07:48
СКАЗОЧНИК
Я бы все равно сделал стабилизацию... На встроенном компараторе. А вдруг генератор там в разбег пойдет или еще чего случится.
Про питание светодиодов читал, тем и хороши, что диапазон довольно большой. И даже указал, что можно не 5 Вольт сделать, а 4,5-4,8, чтобы не приближаться к крайним значениям.
А ШИМ конечно, аппаратный. Другой и не смотрю.
У меня тормоз возник именно в расчете трансформатора. Ибо подходящих колец дома я не могу найти. Измерить марку феррита (ну это еще ладно) не могу, нету чем индуктивность измерять.
Есть одинаковые ферритовые гантельки, довольно крупные, а у В.Денисенко нету в программах расчета под них.
Я уже начитался про Пуш-Пулы. Понял что такое дэд тайм и что такое дъюти цикл. )))))
Короче, все уперлось в расчет трансформатора.
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Вс ноя 13, 2016 22:25:49
aam
Здравствуйте!
Тоже купил такие диоды. Стал включать, обнаружил что жутко геморный в плане реализации на МК протокол при всей его простоте...

Да еще и SPI и UART у меня заняты под другие нужды. "В лоб" дергать ножкой тоже нельзя - подвешу проц на целых 3 мс (на 100 диодов) даже без возможности обработать прерывание. А модуль I2C можно использовать для этих целей?
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 09:46:17
СКАЗОЧНИК
Вообще, надо считать и определять на сколько часто надо выводить информацию на эти светодиоды. Если достаточно вывести один раз, а потом можно достаточно долгое время не менять ее, то можно сделать процедуру вывода тупой с отключений внешних прерываний. А после вывода уже обрабатывать все остальное, пока светодиоды сами себе светят до следующей посылки.
А если сильно часто надо менять цвета, то нагружать МК еще всякими вещами уже чревато.
Ну или брать что-то типа СТМ32 с большей частотой и ДМА. Там можно все проще.

Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 11:22:11
aam
В том то и проблема, что надо часто. Пытаюсь сделать ЦМУ. Диодов штук 100. Соответственно, обновлять лучше не реже 30 раз/с.
СКАЗОЧНИК писал(а):можно сделать процедуру вывода тупой с отключений внешних прерываний.
Все бы хорошо, но если в устройстве используются такие
асинхронные вещи, как например, прием команд от ПДУ или по UART, то можно поиметь много проблем.
СКАЗОЧНИК писал(а):Ну или брать что-то типа СТМ32 с большей частотой и ДМА.
Я его и взял какраз

Но большая частота не поможет при реализации "в лоб" программным путем, т. к. нет гарантии, что прерывание впишется между фронтами 1 импульса. При программной реализации прерывания придется запрещать однозначно.
Интересный алгоритм нашел здесь:
https://geektimes.ru/post/255548/ и библиотеку по нему:
https://github.com/Silencer2K/stm32f10x-ws2812b-lib Успользуется ШИМ таймера+ПДП. Но у него есть очень существенный недостаток - немеряно жрет ОЗУ. На 1 диод расходуется 48 байт ОЗУ. Хотя на мой взгляд можно было бы сократить до 24 байт на диод, все равно неприемлемо много.
Для тех, кто делает цветомузыку на Пентиуме - может и ничего, а вот при выборе МК согласно решаемой задаче такой алгоритм не подойдет.
В общем, после долгих и мучительных рассуждений пришел к выводу, что все же лучше делать на SPI+ПДП. Избыточность при этом получается всего 3-хкратная, а если буфер сделать не на все диоды, то можно сэкономить много памяти. На и I2C не выйдет, т. к. разрывы будут и скорость мала. UART ну никак осовбодить не могу, а он всего дин у выбранного МК. SPI тоже вроде как занят, но я на него хотел цифровой переменный резистор вешать, можно наверное для него программный SPI написать или же поискать другой резистор.
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 12:29:13
Reflector
Эмулятор спектрума на F4 помимо эмуляции самого z80, музыкального сопроцессора и т.д., примерно раз в 1us в прерывании подготавливает для DMA буфер для индикатора. По одному адресу берется битовая маска для 8 точек, по другому адресу хранится атрибут цвета, нужно их скомбинировать и получить на выходе восемь 16-ти битных значений. Иногда используют просто огромную таблицу для всех возможных вариантов цветов, а рассчитывают только адрес, но я видел и реализации где тупо в цикле считают цвета для каждой точки и складывают в буфер DMA. У тебя не F4, но и времени нужно целых 30us на светодиод, потому точно так же можно обойтись одним или двумя буферами по 48 байт. Изначально все хранишь в наиболее компактной форме, перед выводов преобразуешь в подходящую для передачи по DMA.
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 12:45:30
BOB51
ЦМУ или еще чего...
Подход попроще - есть светодиодный (максимум мультиплекс по каждому из цветов для снижения суммарного энергопотребления) дисплей на который с определенной периодичностью выдается картинка из буфера вывода.
Гнать ту картинку чаще, чем воспринимает инерционность зрения смысла совершенно нету (будет сливаться в "кашу").
Вот из того и исходим. Тем более в данном случае "пиксели экрана с памятью".

Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 12:51:08
aam
Я хочу сделать двойной буфер некоторого размера, который передается модулем SPI, а 2-я половина заполняется. По половинному ПДП передается 2-я половина, 1-я заполняется и т. д. При этом в буфере данные представлены в виде "3 такта SPI на 1 бит WS2812", что полностью соответствует даташиту на 2812 по таймингам. Главное как тактовую частоту выбрать... А избыточность равна всего 3-м. Разбиение по 3 и заполнение по идее можно сделать довольно быстрым. И пока половина буфера выплевывается в SPI должно еще остаться время чтоб успеть принять команду от ПДУ или байт по УАРТ без потерянных пакетов и переполнений.
BOB51 писал(а):Гнать ту картинку чаще, чем воспринимает инерционность зрения смысла совершенно нету (будет сливаться в "кашу").
Ну так 30 кадров/с - разве часто? Не случайно же это считается стандартным периодом для кино и т. п. Реже нельзя - динамичность потеряю и цвет будет меняться рывками.
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 13:31:03
BOB51
У меня расчет обновлений на 0,016/секунду - частота обновлений ~62Гц - и то простая программная реализация вполне культурненько и с комфортом на "стандартной" АВРке при частоте тактового генератора в 16МГц работаеть...

Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 13:32:39
Z_h_e
Не знаю что у Вас за STM32. Но наверняка из всей мощи периферии можно что-то придумать замутить.
Кроме того, прерывания могут быть вложенными. Используйте, например SysTick, у него прерывание по умолчанию почти самый верхний приоритет и кажется понизить не удастся. В прерывании дернули ногой и вернулись обратно в уарты и пр. Опять же в STM есть специальные масочные регистры для порта, в которых можно установить или сбросить отдельные порты, не используя операций чтения текущего состояния порта и логических И или ИЛИ.
По-моему проблема надумана, хотя конечно Вам виднее.
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 13:59:25
aam
BOB51 писал(а):простая программная реализация вполне культурненько и с комфортом на "стандартной" АВРке при частоте тактового генератора в 16МГц работаеть
А пульт есть?
Z_h_e, насколько я понял, у СТМ32 вход в прерывание и выход из него занимают по 12 тактов, т. е. 24 такта на пустое прерывание. МК у меня STM32F030. Значит при 48 МГц такт равен 20,83 нс. Пустое прерывание займет 500 нс, даже ножкой дернуть некогда. А длительность импульса высокого уровня для нуля у 2812 равна 400+/-150 нс. Т. е. при программной реализации во время передачи я больше ничего другого впринципе не успею. И тут уже безразницы - пустые циклы наматывать или прерывание задействовать - прерывание не может быть длинее пустого прерывания, т. к. если оно возникнет во время передачи, даже если во время пустого цикла, тайминги неизбежно собьются.
Теперь про пульт. 100 диодов передаются 3 мс. Длительность импульса протокола NEC - 0,56 мс...
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 14:04:40
BOB51
А зачем мне пульт?
Для работы в режиме примитивного контроллера дисплея всего-то SPI/I2C для загрузки данных из ведущего необходимы...

Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 14:08:43
aam
А, ну так тогда у Вас и задача значительно проще! А мне нужен пульт. Да, забыл сказать, т. к. весь пакет от пульта длится около 110 мс, то я неизбежно теряю несколько бит из этого пакета и таким образом прием правильной команды невозможен вообще, даже при повторной передаче.
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 14:12:34
Z_h_e
Подзабыл я STM, получается не катит по прерыванию.
Можно сделать отдельный видеопроцессор на каком-нибудь МК. Передавать ему изображение, а он пускай заморачивается с выводом картинки. А передавать можно 256 битный цвет, мне кажется не нужно 24 бита цвета на пикель. Кроме того передавать можно не весь экран, а только участки где есть изменения, если это конечно допустимо.
Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пн ноя 14, 2016 14:15:56
BOB51
И мя на то же намякиваю...

Re: Светодиоды c пиксельной адресацией WS2812B
Добавлено: Пт дек 02, 2016 09:30:24
vahmurka
aam писал(а):Интересный алгоритм нашел здесь:
https://geektimes.ru/post/255548/ Используется ШИМ таймера+ПДП. Но у него есть очень существенный недостаток - немеряно жрет ОЗУ. На 1 диод расходуется 48 байт ОЗУ
А в чём проблема? Берём STM32F103C8T6 за менее 2$. 100*48=4.8К из 20К ОЗУ. много жрёт только ПДП буфер остаётся ещё куча памяти. сами массивы с пикселями занимают 4байта на пиксель.
Прерываниям USART и SPI абсолютно не мешает так как полностью работает в фоне аппаратно