Здесь уже было много обзоров лент на светодиодах WS2812, возможно кому-то будет интересна RGBW версия. Как и в прошлых версиях запускать буду от ПЛИС, знаю, что на ардуино проще и дешевле, но вот что было под рукой на том и тестирую.
Ниже приведён немного изменённый драйвер ws2812b. Я пробовал разные времянки, т.к. есть несколько версий даташитов, где китайцы путаются с номинальной длиной импульсов и возможным допуском на импульс и весь бит. В коде задержки исходя из тактовой частоты 50 МГц.
Никаких ambilight-подобных самоделок описывать не буду, кому понадобится пусть сам развлекается. Эта лента будет интересна скорее тем, кто хочет сделать разноцветную подсветку в комнате со всякими эффектами и возможностью включить полноценную белый не RGB подсветку.
Продавец предлагает версии с холодным, нейтральным и тёплым белым светом я выбрал RGBNW (нейтральный).
Для проверки ленты реализовал бегущие огни. Для динамического изменения параметров бегущих огней без пересинтезирования прошивки в проекты Xilinx ISE можно добавить блок VIO (Virtual Input-Output). Output в нём это выход блока в котором мы будем менять значения через графический интерфейс. Тут я использовал 48 бит 32 бита на цвет бегущей строки и 16 бит на длину.
И подключить его к ChipScope через ICON блок.
В ChipScope вместе с Logic Analizer (который я показывал в прошлом обзоре) это выглядит как-то так (значения цветов и длины можно менять в табличке и они сразу изменятся в проекте):
вот так вставляются в код
icon_core icon_inst (
.CONTROL0(ilaw), // INOUT BUS [35:0]
.CONTROL1(viow) // INOUT BUS [35:0]
);
ila_core ila_inst (
.CONTROL(ilaw), // INOUT BUS [35:0]
.CLK(clk), // IN
.TRIG0(ldcn[8:0]), // IN BUS [8:0]
.TRIG1(cn), // IN BUS [9:0]
.TRIG2(clr), // IN BUS [31:0]
.TRIG3(bcn_), // IN BUS [7:0]
.TRIG4(ccn_), // IN BUS [4:0]
.TRIG5(en), // IN BUS [0:0]
.TRIG6(rd), // IN BUS [0:0]
.TRIG7(fn), // IN BUS [0:0]
.TRIG8(data) // IN BUS [0:0]
);
vio_core vio_inst (
.CONTROL(viow), // INOUT BUS [35:0]
.CLK(clk),
.SYNC_OUT(vioi) // IN BUS [47:0]
);
Я разбил общую шину 48 бит на отдельные, отвечающие за цвет и длину бегущей строки. Различные комбинации, между которыми я переключался можно увидеть на видео:
Бегущая строка длиной 1, 72, 143 элемента, различных цветов.
Т.к. мой блок питания 5 В всего на 25 Вт, на полной яркости он немного проседал. Но большее падение напряжения вызывает сопротивление самой ленты, в то время как в начале напряжение просело до 4,8В, то на конце ленты было 4,0 В при токе 5,9 А (Это я пробовал включать все 144 элемента на максимум) таким образом лучше подключать питание к ленте с обоих концов. По отдельности цвета потребляют 1,4 А красный, зелёный и синий и 2,7 А белый (когда включено 144 элемента), соответственно 0,01 А и 0,019 А в расчёте на один элемент.
Да, забыл упомянуть два момента:
— синий светодиод немного засвечивает белый люминофор;
— лента на 144 элемента спаяна из двух кусков по 72 (впрочем, и ws2812b были сделаны так же).
Планирую купить+30Добавить в избранноеОбзор понравился+42
+58
Не, не, я хоть и использовал рабочий программатор раньше, но не так давно специально обзор писал и на отладочную плату и на сравнение программаторов, так что всё сам покупал.
Цена маленькой ПЛИС не сильно отличается от ардуино UNO (народная ардуино нано конечно сильно дешевле). Плюс не очень красиво бездоказательно обвинять человека в воровстве.
Не понимаю логики, человек реализовал что-то своё, на том, что было. Или прям вот все обязаны диодами управлять только с ардуинок? Что за глупости, мыслите шире.
Судя по виду, это отладочная плата, причем из простейших. Так что вряд ли с работы. На работу, если и покупают, то полным фаршем — проще потом жить.
А насчет с работы… Вот у меня лежит там пара десятков плат мертвых. На 90% — без шансов на восстановление. Их уже списали. А на каждой пара ПЛИСин (пусть старенькие Циклон2), ARM7, SRAM, кучка всяких стабилизаторов… Причем большая часть микросхем исправна. Ну, или почти исправна. Вот, давеча, пытался восстановить. Все отлично, но не работает CAN — что-то там с с этой ногой. Но остальные 143 работают. Для какой-то поделки ARM7… Хех, почему бы и нет?
Еще есть вариант — «по диагонали». Плюс подключается на один конец, а минус — на другой. Так обеспечивается одинаковое напряжение на каждом светодиоде (ну при постоянных характеристиках самой ленты).
Нее, тогда на краях ленты напряжение будет отличаться от напряжения в точке подключения. Ведь до края дойдет черeз сопротивление 1/4R + 3/4R (если принять всю длину ленты за R). А в точке подключения будет 0R+1/2R
Не люблю тыкать людей в их ошибки, но вы считаете неправильно. Так, как вы указали считается только при послетдовательном подключении. При «моём» же варианте в самой дальней точки ленты от точки подключения питание пойдёт через сопротивление 1/4 R,.При подключении «с обоих концов» — 1/2R.
а я наоборот — люблю когда меня тычут — способствует развитию…
В «вашем» варианте — 1/4 будет на самом дальнем конце. В других точках — будет другое сопротивление. Так? Ну и как это будет способствовать равномерности свечения ленты? Никак.
В «моем» варианте — в любой точке будет 1/2R. Т.е. на все светодиоды придет одинаковое напряжение. Да, оно будет ниже, чем в «вашем» варианте в самой дальней точке. Но равномерность достигается постоянством параметров по всей длине. а не максимальным напряжением…
Ну сами посчитайте — в каком варианте все вольтметры покажут одинаковое напряжение?
Одинаковое -да, будет. Но суммарные потери будут больше, они и так на лентах довольно большие из-за балластных резисторов и тонких токоведущих дорожек, поэтому, если стоит задача энергосбережения, то имеет смысл делать так. Неравномерность в теории будет, но довольно маленькая, скорее всего и не разглядишь.
Интересно. У меня 11 метров ленты WS2812 по 60 диодов на метр, запитанная через каждые 2.5 метра, потребляет 7 ампер, БП 80 Вт. Ваша больше, что у меня не так?
Ребята, кто в теме. Какую ленту взять для потолочной подсветки в комнате покругу. Чтоб и красиво и недорого. RGB обязательно. Кто может помочь, в ЛС плиз чирканите. Спасибо.
в далеком уже 2012 году брал такую — [ Huizhuo освещение ] 5 м водонепроницаемый RGB 5050 300 свет с 24 ключи ИК контроллер + блок питания за цельных 22,4 бакса
сейчас по той ссылке уже ничего конечно нет :(
Она до сих пор служит мне для фоновой подсветки в комнате — я ее пустил по периметру окна. Занавеска прекрасно рассеивает свет
тут можно глянуть —
контролера который в комплекте мне вполне хватает — поигрался немного режимами и в итоге осталось 2-3 которые периодически использую
чаще всего это плавная смена цветов как в ролике поэтому пульт использую очень редко а контроллер помнит последний режим
Но ПЛИС…
А насчет с работы… Вот у меня лежит там пара десятков плат мертвых. На 90% — без шансов на восстановление. Их уже списали. А на каждой пара ПЛИСин (пусть старенькие Циклон2), ARM7, SRAM, кучка всяких стабилизаторов… Причем большая часть микросхем исправна. Ну, или почти исправна. Вот, давеча, пытался восстановить. Все отлично, но не работает CAN — что-то там с с этой ногой. Но остальные 143 работают. Для какой-то поделки ARM7… Хех, почему бы и нет?
В «моем» варианте в любой точке ленты будет 1R.
В «вашем» варианте — 1/4 будет на самом дальнем конце. В других точках — будет другое сопротивление. Так? Ну и как это будет способствовать равномерности свечения ленты? Никак.
В «моем» варианте — в любой точке будет 1/2R. Т.е. на все светодиоды придет одинаковое напряжение. Да, оно будет ниже, чем в «вашем» варианте в самой дальней точке. Но равномерность достигается постоянством параметров по всей длине. а не максимальным напряжением…
Ну сами посчитайте — в каком варианте все вольтметры покажут одинаковое напряжение?
Или, где я ошибаюсь?
p.s. ссылка немного порезалась, 5050, warm, ip67.
сейчас по той ссылке уже ничего конечно нет :(
Она до сих пор служит мне для фоновой подсветки в комнате — я ее пустил по периметру окна. Занавеска прекрасно рассеивает свет
тут можно глянуть —
www.youtube.com/watch?v=CJ0vYvfOghQ
контролера который в комплекте мне вполне хватает — поигрался немного режимами и в итоге осталось 2-3 которые периодически использую
чаще всего это плавная смена цветов как в ролике поэтому пульт использую очень редко а контроллер помнит последний режим