Одноцветная светодиодная матрица 128*32

pahuchiy
Offline
Зарегистрирован: 04.03.2018

Приветствую. Хочу сделать одноцветный дисплей 128*32. Без градаций яркости.

Именно сделать а не составить из множества готовых модулей типа 8*8.  Причина в том что диоды должны распологаться на определённом расстоянии друг относительно друга. (впрочем, это, наверное, не важно)

На каких контроллерах лучше всего это собирать?

Самым простым (для меня) вариантом видится MAX7219 (64 шт.) + 74HC595 (не считал сколько нужно)

Может есть варианты получше? 

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

MAX7219 - она уже с контролем яркости, Вам же, вроде, не надо?

pahuchiy
Offline
Зарегистрирован: 04.03.2018

Да, не надо. А что, наличие такой возможности будет плохо сказываться на работе? Предложите свой вариант. 

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

Да, нет, не сказывается, просто Вы так подчеркнули, что мол типа не надо :)

Тогда у меня второй вопрос - а нафига 595 регистры? 7219 отлично каскадируется, выстраивайте их 64 штуки в ряд, каждая управляет либо полустрокой, либо двумя столбцами Вашей матрицы как удобнее будет и не нужны никакие сдвиговые регистры.

pahuchiy
Offline
Зарегистрирован: 04.03.2018

да, всё верно. 595 не нужны. просто они в 10 раз дешевле... Если всё делать на них то можно существенно сэкономить. Но это сложно...

Буду, значит, всё делать на 7219, спасибо.

p/s: может есть ещё альтернатива для 7219 (с таким же или лучшим соотношением цена/простота ) ?

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

Есть, конечно, ТМ1668 или TM1628 (они почти одинаковые) заметно дешевле (десять и восемь рублей за штуку при бесплатной доставке). Эти микросхемы обслуживают до 70 (а вторая, так и больше) светодиодов. Так они ещё к тому же умеют корованы грабить считывать до 20 кнопок с подавлением дребезга. Это т.н. "драйверы передней панели" - управляют кучей светодиодов и кнопки читают.

Есть правда нюанс - они не каскадирутся, поэтому придётся давать им персональные CS (можно сделать на 8-ми сдвиговых регистрах).

pahuchiy
Offline
Зарегистрирован: 04.03.2018

ЕвгенийП пишет:

Есть, конечно, ТМ1668 или TM1628 

Для первого проекта мне сложновато будет. Буду делать на MAX7219.

такая схема сгодится?

Светодиоды планирую обычные 3-милиметровые:

Рабочий ток:20 (ma)

Рабочее напряжение:

-Красный: 1.9 В-2.1 В

Какой резистор в этом случае нужен?

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

Ну, в даташите ж написано - 27 килоом.

pahuchiy
Offline
Зарегистрирован: 04.03.2018

128*32=4096 светодиодов.

4096*0,02А=81,92А Мой не самый слабый БП и тот только 40А.

Нагуглил, что красные светодиоды начинают светить уже при 5-10 мА. Это так? В пасмурный день можно будет увидеть?

Проверить сам к сожалению не могу.

Я правильно понимаю, что снизить потребление до 40А можно правильно подобрав резисторы? Скажем, на 64 кОм?

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

Во-первых, таки да - они начинают светиться уже с 3mA, а при 5-ти Вы на глаз не отличите от 20-ти. Я никогда не делаю больше 10 при статической индикации и 20 при динамической. Это позволяет светодиодам работать с хорошим запасом и жить долго и счастливо.

Во-вторых - Вы неправильно считаете суммарный ток. Они не светятся все одновременно, т.к. у MAX динамическая индикация - в каждый конкретный момент времени светится только одна цифра.

Поэтому считать надо так. В наихудшем случае - все позиции заняты цифрой 8 (все сегменты сетятся). Тогда для одной MAX7219 ток составит 8х20 - 160mA (это если на максимальной яркости!), всего таких MAX'ов у Вас 64, т.е. 64 * 0,16 = 10,24А.

Всё, больше не будет, т.к. это при всех 8-ках и на макисмальной яркости.

Смело ставьте компьютерный БП - за глаза хватит.

pahuchiy
Offline
Зарегистрирован: 04.03.2018

спасибо, значит, если я захочу яркость поменьше, то резисторы нужно поставить чтобы было хотябы 10 мА (64 кОм)?

sadman41
Offline
Зарегистрирован: 19.10.2016

7219 позволяет выставить яркость программно.

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

pahuchiy пишет:

спасибо, значит, если я захочу яркость поменьше, то резисторы нужно поставить чтобы было хотябы 10 мА (64 кОм)?

Ставьте какие хотите, я бы ставил таки 27, но Вы попробуйте, посмотрите, а там решите.

Не бойтесь ставить 20 - он будет светиться на 20 но всего 1/8 времени, а 7/8 времени будет выключен, это ж динамическая индикация 

Яроксть регулируется программно, но разумеется при той же программной настройке, чем меньше резщистор, тем больше яркость.

Я бы поставил 27К, а потом поэкспериментировал бы с яркостью, может и придушенная - красиво. так и ладно.

bwn
Offline
Зарегистрирован: 25.08.2014

А я бы другим путем пошел, впаял переменник, определил порог при котором изменение яркости перестает быть заметным и вкорячил ближайший по номиналу. В итоге - яркость максимально доступная, ток минимально требуемый. ИМХО.

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

А чем программно плохо?

С Вашим подходом, конечно программно остаётся, причём боле тонко. Но тут есть нюанс - при Вашем подходе ТС нужно 64 переменника и каждый настраивать отдельно. Там ведь при каскадировании токозадющий резистор свой на каждый корпус.

bwn
Offline
Зарегистрирован: 25.08.2014

ЕвгенийП пишет:

А чем программно плохо?

С Вашим подходом, конечно программно остаётся, причём боле тонко. Но тут есть нюанс - при Вашем подходе ТС нужно 64 переменника и каждый настраивать отдельно. Там ведь при каскадировании токозадющий резистор свой на каждый корпус.

Ну что Вы, на такой подвиг не подбивал.)))) Подобрать на одном и чуть добавить ток, далее применять ко всем. На мой взгляд, для 64 матриц, есть смысл поэкспериментировать. Возможно и энергию значительно сэкономишь и лишний нагрев уменьшишь.