ШИМ и регистровый сдвиг.

Dimanoss
Offline
Зарегистрирован: 29.05.2016

День добрый.  Хотелось бы посоветоваться.

Вводная такая.  Несколько разнесённых источников освещения на светодиодах.  В каждом источнике - 4-5 RGB-диодов.  Источники необходимо синхронизировать меж собой (намечаются эффекты).  Изначально думка была такая:  одна ардуина + сдвиговые регистры.  Смущало лишь то, что не подбирались регистры с нужной разрядностью  - хотелось бы одну микросхемку на один источник, но при таком раскладе нужно 15ти-(16ти)-разрядные регистры искать.

А теперь вот что подумалось: если у меня будет 15-20 таких источников света, а передача сигнала - ПОСЛЕДОВАТЕЛЬНАЯ, то кое-какие насыщенные по времени эффекты (например - мерцание свечи) реализовать не получится.  Не хватит попросту ширины пропускания шины.  Точнее - скорости, раз последовательно.  Там же и ШИМ как-то должен "пролазить"...  :-(

И какая альтернатива может быть?  На каждый источник света - по ардуине, а их потом меж собой как-то связывать?

Спасибо.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Я бы использовал не сдвиговый регистр, а шим-контроллер/светодиодный драйвер TLC5940.

- 16 каналов
- сама поддерживает стабильный ток (не нужны органичивающие резисторы, вернее нужен один на 16 каналов)
- сама даёт 12-разрядный ШИМ
- есть возможность подкорректировать ток отдельных диодов если они оказались ярче других, например.
- управляется по SPI и может каскадироваться
- требует 5 пинов от Ардуино (минимум) хоть одна, хоть каскад из 20-ти.

На десяток-два скорости хватит, если будете аккуратно программировать (хотя, конечно, смотря что Вы там программировать собрались).

Недостаток: библиотека, что на гитхабе, занимает сразу оба таймера. Писать свою - можно и в принципе несложно. Если будет интерес - расскажу за счёт чего там можно таймер освободить.

Logik
Offline
Зарегистрирован: 05.08.2014

Ws2812b или Ws2811 или аналогичные и навсегда забыть по перхоть. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Logik пишет:

Ws2812b или Ws2811 или аналогичные и навсегда забыть по перхоть. 

Кстати, классно! Подороже, чем с TLC, но если бюджет позволяет, то самое оно.

Dimanoss
Offline
Зарегистрирован: 29.05.2016

Спасибо.  Хотел я без SMD-пайки обойтись, но, видимо, не получится.... :-)   Есть, правда, в наших краях PL9823 и APA106, но не особо дёшево и надо ещё поискать.

Duino A.R.
Offline
Зарегистрирован: 25.05.2015

Dimanoss пишет:

Спасибо.  Хотел я без SMD-пайки обойтись, но, видимо, не получится.... :-)


Ws2812b обычно продают уже смонтированными на линейные или кольцевые панельки группами или в виде готовых светодиодных лент. Даже если и одиночные, то тоже на небольшой платке. Так что пайка там требуется вполне себе обычных "макро размеров".

Dimanoss
Offline
Зарегистрирован: 29.05.2016

просто в задумке были "классические" 5мм-диоды, под это и корпуса светильников готовились.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Dimanoss пишет:

просто в задумке были "классические" 5мм-диоды, под это и корпуса светильников готовились.

Ну, тогда паяйте сами. Правда там нужна 1 микросхема на 1 диод (потому я и писал. что это дороже). А нет, так TLC5940 никто не отменял - 16 каналов на одном чипе.