ЭЛЕКТРОНИКА Помогите со сдвиговым регистром! TPIC6B595

artybyte

✩✩✩✩✩✩✩
21 Июн 2024
13
0
Управлять одним регистром и при помощи него управлять 8-ю светодиодами оказалось не сложно. Очень важен керамический конденсатор на 100 нанофарад между питанием микросхемы и заземлением. Без него работать не будет.

Регистр при загрузке в него единиц открывает мосфеты, замыкая сток на землю. То есть, грубо говоря, микросхема это последнее звено, разделяющее питание светодиода и заземление. Она в открытом виде закорачивает катод светодиода на землю.

Главный вопрос - как при помощи двух регистров управлять светодиодной матрицей 8 на 8? Я поискал схемы в интернете и не нашёл. Есть микросхема 74hc595, но она работает по другому.

Прошу, помогите.
 

poty

★★★★★★✩
19 Фев 2020
3,230
940
@artybyte, я согласен с @Эдуард Анисимов - переход от линейного управления к матричному предполагает динамическую индикацию, тут уже либо изощрённая "игра" с таймерами, либо процессор только и будет заниматься тем, что её обеспечивать.
Схема стандартная в целом: все аноды одного ряда подключаются к одному выходу одного из регистров, все катоды столбца - к другому. В зависимости от схемы соединения внутри матрицы управление может осуществляться либо попиксельно, либо порядово.
 
  • Лойс +1
Реакции: artybyte

artybyte

✩✩✩✩✩✩✩
21 Июн 2024
13
0
@poty,
Согласен про MAX7219. Она хороша. Но с Китая приехала горсть регистров, и в целом ждать уже нет времени. Человек ждёт свою бегущую строку. Да, тут динамическая индикация, но на мой взгляд это интересно. Нам нужно 500 раз в секунду пробегать по строчно сверху вниз, либо снизу вверх.
Вы точно уверены, что регистр может работать как вход и выход? То есть, нам ведь нужно через регистр пропустить ток и подать его на анод матрицы, но такой возможности нет. Значит схема которую вы предлагаете сработает?
 

poty

★★★★★★✩
19 Фев 2020
3,230
940
нужно 500 раз в секунду пробегать по строчно сверху вниз, либо снизу вверх.
Динамическая индикация сохраняет нам радиодетали, но имеет недостатки в виде затрат вычислительной мощности (+сложность программирования, если требуется делать что-то ещё помимо вывода) и уменьшения яркости пикселя пропорционально количеству динамических сегментов. К тому же аппаратный ШИМ здесь практически не применить и его придётся эмулировать в коде (либо использовать комбинацию таймеров, но их, как правило, не хватает).
Вы точно уверены, что регистр может работать как вход и выход?
Не очень понял про вход и выход. Вы имеете в виду sink и source? (То есть возможность как отдавать, так и потреблять ток) Да, может (впрочем, напрямую подключать не советую). Но у Вас после регистра стоит MOSFET, а он буферизует пин регистра. В этом случае катодами можно управлять так, как у Вас сейчас, а аноды включить, например, через BJT во включении с общим эмиттером.
 
  • Лойс +1
Реакции: artybyte

Bruzzer

★★★✩✩✩✩
23 Май 2020
472
133
@artybyte,
Без дополнительной обвязки не заработает.
Если ток маленький, то возможно достаточно только резисторы ток ограничивающие. (Возможно они должны быть в любом случае).
Резистор отдает ток или в диод - если MAX7219 закрыт, или в MAX7219 если он открыт и стягивает весь ток на себя.
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,410
976
58
Марий-Эл
@artybyte, Не забывайте, что вам нужно, допустим, заземлять столбец, а на строку подавать плюс питания.
Напрямую с регистров это делать нежелательно. Необходимы ключи на транзисторах.
Вот тут то и начнётся самое интересное.
Но ардуинщики могут делать это напрямую, если ток потребления одного светодиода будет меньше, чем может дать сдвиговый регистр на выходе.
 
  • Лойс +1
Реакции: artybyte

artybyte

✩✩✩✩✩✩✩
21 Июн 2024
13
0
Да в целом программная часть не проблема. Проблема в том, как заставить регистр принимать и отдавать ток с DRAIN выводов.
На примере управления 8-ю светодиодами стало ясно, что ардуинка нано способна обеспечить нужный режим работы с ШИМ пинов.
Может у кого есть схема как включить регистр на отдачу тока с Drain' ов?
 

artybyte

✩✩✩✩✩✩✩
21 Июн 2024
13
0
IMG_20240622_150737.jpg
Вот так выглядит тестовая схема для управления 8-ю диодами. Всё довольно просто. Но как видите, микросхема завелась только в режиме Sink а не Source. Её можно заставить выпускать ток?
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,410
976
58
Марий-Эл
Просто открытый исток.
1719062439085.png
Можно попробовать так. Должно работать.
На микросхему не смотрите. Я просто вставил похожую, что бы объяснить идею.
На верхнюю микросхему в первую ячейку ячейку загоняете "0". Транзистор будет закрыт.
На нижнюю микросхему в первую ячейку загоняете "1".
Ток течёт через резистор -> светодиод -> выходной транзистор нижней микросхемы на землю. Светодиод горит.
Если в верхней микросхеме в ячейку загнать "1". Транзистор откроется и заземлит резистор и на светодиод не хватит.
Верхний пусть управляет столбцами, нижний строками.
По верхнему гонишь нолик, им будет выбираться столбец.
По нижнему гонишь "1", она будет выбирать строку.
 

artybyte

✩✩✩✩✩✩✩
21 Июн 2024
13
0
@Эдуард Анисимов, Хмм, спасибо. Выглядит работоспособно. Попробую собрать, запустить и написать тестовый код. Отпишусь сюда после тестов, думаю, этот тред поможет кому-то ещё кто хочет сделать динамическую индикацию, ибо повторюсь, что именно этой схемы нигде нет. Вчера около часа шерстил гугл и ничего не нашёл. Есть схема управления на 74hc595, но как я понял, она работает по другому.

Эдуард, как думаешь, если поставить один регистр для управления строкой у десяти матриц - он не умрёт от тока? Допустим если он будет поджигать линию у десяти матриц, соответственно на 2 миллисекунды через сток будет идти 10 мА * 8 светодиодов в строке * 10 матриц = 800 мА. По этой причине я подумал, что нужно к каждой матрице в этом каскаде подключать по два регистра на управление строками и столбцами что-бы не было чрезмерной нагрузки. Да, это затратно по элементам, но зато в таком исполнении строка проживёт годы.

P.S. это будет бегущая строка из десяти матриц 8х8 для магазина хоз. товаров. По ней будут бегать наименования товаров.

@Эдуард Анисимов, да, можно ограничить ток ещё сильнее, что бы уложиться в максимум по току на стоке, но яркость пострадает. При токе в 10 миллиампер яркости будет достаточно что-бы строка читалась в умеренно освещённом помещении на расстоянии в метров 40.
 

poty

★★★★★★✩
19 Фев 2020
3,230
940

@artybyte, не забудьте, что при динамической индикации светодиоды никогда не будут работать весь период, соответственно яркость будет существенно ниже.
 

artybyte

✩✩✩✩✩✩✩
21 Июн 2024
13
0
@poty, Я уже попробовал, и при ограничении тока в 10 миллиампер яркость неплохая. На красных светодиодах

@Эдуард Анисимов,

1719070004415.png

Предварительная схема выглядит так.
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,410
976
58
Марий-Эл
@artybyte, Нужно учесть, что при динамической индикации общий ток раз в 10 меньше, но это не точно. Точную формулу я не помню. А сгорит или нет, считать нужно.
Плохо только то, что один резистор будет ограничивать ток группы диодов. А когда светится группа, яркость упадёт.
 

artybyte

✩✩✩✩✩✩✩
21 Июн 2024
13
0
@Эдуард Анисимов, Я видел на одной из схем что также помимо 510 ом присутствовали резисторы на 51 ом. У вас есть идеи где они должны стоять?
 

poty

★★★★★★✩
19 Фев 2020
3,230
940

@artybyte, попробовали динамическую индикацию? Динамическая индикация примерно соответствует ШИМ с duty, эквивалентном 1/ количество_элементов.
 

artybyte

✩✩✩✩✩✩✩
21 Июн 2024
13
0
@Эдуард Анисимов, я погонял тестовую схему из восьми диодов около часа. В режиме сдвига бита влево и вправо с частотой около 50 герц, и с частотой в 1 кГц. За час диоды не умерли. Оставлю сегодня схему на всю ночь, если к утру диоды будут живы, значит можно использовать сопротивление рассчитанное просто по закону Ома :)

@poty, да, вот в сообщении сверху описал.
 

poty

★★★★★★✩
19 Фев 2020
3,230
940

@Эдуард Анисимов, можно управлять строкой, так, чтобы резистор всегда соответствовал одному горящему светодиоду.


@artybyte, управление строкой - это не динамическая индикация.
 

artybyte

✩✩✩✩✩✩✩
21 Июн 2024
13
0
1719070589783.png

Еще можно сказать про те матрицы которые есть для тестов. Судя по всему, просто тупо загонять туда байты из массива не выйдет, нужно будет сделать некоторый "маппер". Ибо диод по координатам 1, 1 зажигается если подать плюс на девятую ногу, а минус на 13-ю.

@poty, разве динамическая индикация может быть только при управлении каждым отдельным светодиодом? Если зажигать светодиоды по одной линии за такт - это уже не Д.И.?
 

bort707

★★★★★★✩
21 Сен 2020
3,058
910
@artybyte
А может не изобретать велосипед? То что вы строите - это монохромная ЛЕД-панель.
led-digital-clock-2.jpg
Бегущие строки делаются на них. Они бывают разных цветов, размер чаще всего 32х16 пикселей. Панели можно соединять последовательно.

Библиотек ардуино для управления ими просто валом
 
  • Лойс +1
Реакции: artybyte

artybyte

✩✩✩✩✩✩✩
21 Июн 2024
13
0
@bort707, всегда есть более простой вариант. Но я изначально выбрал такой способ решения, ибо работал на производстве. И там были спроектированы бегущие строки для ЭД-4М именно по этой технологии. Мне понравилась эта реализация и я захотел сделать так же. На TPIC6B595
 

poty

★★★★★★✩
19 Фев 2020
3,230
940
@Эдуард Анисимов, без сомнения. Вопрос лишь в том, сделал ли ТС именно так, с учётом предыдущего сообщения о том, что он управляет не отдельным пикселем, а целой линией.
Также остаются вопросы: будет ли ТС управлять яркостью каждого пикселя или яркостью всей панели? От этого зависит сложность программирования.