Страница 1 из 2
RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 01:17:54
BRUTUS
Всем доброго мяу.
Новобранец на коте (хотя читатель уже лет 10), будем осваиваться)
Пытаюсь сообразить, как управлять семисегментником в кол-ве 4 разряда, да не простым, а цветным, плюс двоеточие. Для сокращения кол-ва ног - RGB будет общее для всех сегментов.
(Можно было бы и цветом каждого дёргать, круто и красиво, но (7 х 4 + 2) х 3 = 90 я столько ШИМ-а нигде не возьму ).
Вот набросал упрощённую схемку урезанную до одного разряда, видим 7 rgb-светодиодов с общим анодом, все катоды (и остальных разрядов тоже будут) - ШИМятся мосфетами с трёх ног МК.

Теперь вопрос, чем лучше дёргать аноды (собсно включать сегменты и рисовать цифры)? Изначально планировал на дарлингтонах uln2003, но в данном случае не пройдёт, ибо хоть светодиоды с общим анодом - но индикатор из них выстроен с общим КАТОДОМ. Можно и P-канальниками решить вопрос, но не хочу три десятка на плату лепить. Есть ли какие-то сборки, лезущие в мою схему, для общего катода?
p.s. Потом сегменты пойдут на сдвиговые регистры
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 08:33:52
BOB51
Можно и 4 канала без заметных проблем аппаратно-программно ШИМить, ежли за основу АВРку взять...
А "прототип" воть отсюда:
http://radiokot.ru/forum/viewtopic.php? ... 2#p2593182
Собственно сам контроллер с индикатором - это проект
http://radiokot.ru/forum/download/file.php?id=236647
собственно его дисплейную развертку оставить и до трех ключей сократить - будеть Ваш трехцветник-семисегментник.

Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 10:41:43
Mishany
90 каналов шим разве проблема? 12 шт 74HC595
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 10:48:02
BRUTUS
...ну намётки есть по первой ссылке, спасибо, но там пример дефолтного управления индикаторами с
общим анодом - просто они там немножко вниз головой на схеме
http://img.radiokot.ru/files/20529/tcspkrxf3.GIF - и там выходами сборки рулятся
катоды
А у меня ж как я заметил выше, по сути индикаторы с
общим катодом, и дёргать нада анодами и юлн2003(2803) уже не пройдёт, что ж и спрашиваю, как красиво закоммутировать три десятка анодов?
Может просто бросить на сдвиговые регистры напрямую? Просто где-то попадалось что 74hc595 держит в пике до 35мА на 1 ногу и до 70мА суммарно - как бы мало для мощных RGB 5050
Добавлено after 4 minutes 27 seconds:
Mishany писал(а):90 каналов шим разве проблема? 12 шт 74HC595
стоп, а разве можно как-то замутить быстрый немерцающий шим на сдвиговиках? Сколько оно ног съест у МК?
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 10:53:32
Pink-Pank
BRUTUS писал(а):стоп, а разве можно как-то замутить быстрый немерцающий шим на сдвиговиках? Сколько оно ног съест у МК?
"Немерцаемость" напрямую зависит от частоты, с которой вы будете все это дело переключать.
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 11:41:23
BOB51
В том проекте принцип ШИМованой развертки (по текущему состоянию там у каждого разряда своя яркость может независимо выставляться).
Тип индикаторов (ОА/ОК), их количество (и возможное применение 589х файл-сборок) определяется пользователем при относительно небольшой переделке исходника в соответствующих местах.
Так шо берем за основу и кромсаем в свое удовольствие!

Тем более исходник с полным открытым текстом...
Насчет подключения... это как кому надоть...
вот такое даст каждой матрице свой цвет, но по всем сегментам в пределах текущей матрицы одинаковый:
http://img.radiokot.ru/files/20529/14iempz973.GIF
итогом довесок из 2И-НЕ и 3*N ключей с понижением яркости в N раз.
Возможно попытаться выдавать посегментно - у каждого сегмента будет свой цвет, но тогда частоту развертки придется поднять еще в 8 раз, что не во всех случаях приемлемо как по длине проводников, так и по результирующей яркости.

Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 12:35:28
BRUTUS
...сижу штудирую регистры, раньше хватало общедоступных наработок (готовое брал да юзал не вникая), а теперь частный случай - придется изучать)
P.S. Накопал на просторах - ШИМ на регистрах придётся делать рукописный - а не аппаратный - самому программно строить меандр с нужной скважностью каждому из 90 каналов, и заталкивать в регистры значения импульсов в данный момент ШИМа... блин голова уже начинает подкипать от такого кол-ва единиц и нулей которые нужно десятки тысяч раз в секунду сменить....
Это выходит вся цепочка из, допустим 12 8-битных регистров должна пропихиваться новыми данными с частотой самого ШИМ-а умноженной на его битность?... Например: пусть комфортный шим будет с частотой 1 кГц (
больше не надо, это не освещение а индикатор), пусть шим будет восьмибитным (255 градаций), это значит что для его реализации минимальная частота ногодрыга регистрами нужна 1кГц х 255 = 255кГц?
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 12:43:08
Pink-Pank
У меандра скважность всегда = 50%
Если у Вас частота ШИМ 1 кГц, то не зависимо от разрядности - она останется = 1 кГц.
цепочка из 12 8-битных регистров должна пропихиваться с частотой 1*12*8 кГц.
+ забыли учесть время, затрачиваемое на управление сдвиговыми регистрами
Обычно частота работы контроллера выбирается на порядок больше этой частоты. А лучше больше раз в 20-30. Настраивается таймер, который будет работать с заданной частотой.
И в обработчике прерывания от таймера делаются все необходимые манипуляции по загону необходимых данных в порты сдвиговых регистров.
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 12:59:34
BOB51
Там народ "чуток слукавил" - 90 каналов теоретически на 595х вытянуть можно...
НО... на всех каналах будет одинаковая длительность в данный момент времени.
Или же перезагрузка всего регистрового блока должна будет проводиться на закритичной частоте...
полный цикл регенерации хотя бы 62Гц
0.016 секунды
0,016/90=0,0001777
подгоним разрешающую хотя-бы 255 градаций
0,0001777/256=0,000000694140625
и за это время надо сгенерировать 90+2 тактовых импульса сопровождения для заполнения регистров
0,000000694140625/90=0.00000000771 секунды на один такт для регистра

Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 13:12:05
BRUTUS
BOB51 писал(а):
ладненько, не будем усложнять детальным управлением цветом, будем делать так - катоды всех разрядов (цвет к цвету само собой) соединяются - цвет общий по всем разрядам, мне сложнее и не надо... С ШИМ-ом на катодах разобрались, оставляю как я сам изобразил вначале, но посоветуйте таки наконец недорогой вариант как подтягивать 30 анодов к питанию? Пока остался вариант сделать, чтобы регистры управляли анодами через доступные мне в продаже дешевые P-канальные ключи SI2301CDS, ну или биполярники (еще дешевле), набросайте кто нить пожалуйста как их включить и каким уровнем управлять (0/1), тыщщу лет не сталкивался как с Р-канальниками, так и с биполярниками и онубел немного)
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 13:44:56
BOB51
А откудыва 30 анодов взялись?
Матрица 8 сегментов - итогом или 24 или 32 точки.
Для загрузки придется таки городушку из 595-х с ключами цеплять (эмиттерны повторители)...
а там на каждый цвет свою комбинацию в регистровую линейку загоняем - вплоть до раздельного цвета у каждой точки (программа обработки потребует сложный и объёмный буфер отображения).
Минимум - у каждой позиции дисплея свой цвет на всех сегментах позиции...

Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 14:50:14
BRUTUS
BOB51 писал(а):А откудыва 30 анодов взялись?
По секрету, индикатор
семисегментный (необходимый минимум для цифры), разряда 4, плюс двоеточие между вторым и третьим разрядом), и эти (7 х 4) + 2 = 30 RGB-светодиодов (с общим анодом) объединены в семисегментники с общим катодом для каждого цвета
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 15:12:54
BOB51
Чегось вот такого, ежли постоянное включение всех деталюх (не разьемное):
http://img.radiokot.ru/files/20529/14ije1f0vm.GIF

Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 15:29:29
ARV
а я стесняюсь спросить: поставлена задача каждый сегмент сделать разноцветным? это типа таблицы Рабкина? или я чего-то не понял?
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 16:36:10
BRUTUS
на все вопросы, возникшие на данном этапе, ответил, от души подсказывали, добрейший форум, всем по плюсу
Схемку финальную (конечного индикатора) в голове набросал
Начинаю рассчитывать BOM, разумнее в более стабильной валюте (не хочу заниматься расточительством для хобби

):
- RGB-светодиоды 5050 SMD : $0.026/шт - нуно 30шт
- биполярники npn на эммитерные повторялки : BC817 - $0.027/шт - тоже 30шт
- полевички на ргб - вмеру мощные - IRLML2502TR - $0.12/шт - 3шт
- 595-тые сдвиговики в smd - $0.14/шт - 4шт
Бюджетненько выходит, всё в SMD
Добавлено after 7 minutes 49 seconds:
ARV писал(а):а я стесняюсь спросить: поставлена задача каждый сегмент сделать разноцветным? это типа таблицы Рабкина? или я чего-то не понял?
ого какие асоциации...) Неа, всё банальнее
Сразу хотел такое
Спойлер

Но потом упростил и должно получиться большое табло для цифровых часов, с настраиваемым цветом ВСЕГО табла
Во-первых РГБ это красиво
Во-вторых РГБ своими руками это интересно
В третьих - большие (пару дюймов и больше) даже одноцветные семисегментники стоят блин ничерта не гуманно, еще и поди достань)
Табло будет выпилено на ЧПУ-шке и осветодиоджено светиками, надёрганными с дешевой РГБ-ленты
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 20:05:57
СКАЗОЧНИК
Признаюсь, всю тему не читал... Ибо фильм параллельно смотрю.
Однако в мою голову пришла мысль. Если на каждый цвет в индикаторе использовать один регистр 595ый, то чтобы отобразить цифру необходимо три таких регистра (цвета же три и запятая) итого 8 выводов. Как раз подходит. С МК это займет 3 ноги. А если с МК еще 3 ноги задействовать на то, чтобы каждый регистр по отдельности можно было подавать ШИМ нужной скважности, то цвет можно менять как угодно.
Не каждого сегмента конечно, но всего индикатора очень плавно.
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 20:11:48
ARV
я так понимаю, что готовых RGB-семисегментников у вас нет... будете колхозить сами?
так вот, дарю идею: берете ленту из
WS2801 или более новые
WS2811 и нарезаете ее сегментами... управление статическое, никакой мороки не надо, все по 1 проводку. библиотеки готовые есть.
Re: RGB-семисегментник, управление
Добавлено: Пн ноя 21, 2016 20:17:09
СКАЗОЧНИК
ARV писал(а):берете ленту из WS2801
Таким макаром скоро забудут обычные РГБ светодиоды.

Re: RGB-семисегментник, управление
Добавлено: Вт ноя 22, 2016 05:27:39
Mishany
90 каналов на 595 с шим 1кГц это наврятли... 60 гц вполне возможно, 3 - 4 пинов хватит для управления.
Re: RGB-семисегментник, управление
Добавлено: Вт ноя 22, 2016 07:23:23
ARV
СКАЗОЧНИК писал(а):Таким макаром скоро забудут обычные РГБ светодиоды.

я считаю, что если есть возможность выбора, то всегда надо стремиться выбирать размер геморроя по размеру (_*_). а то может и не поместиться... чем городить хрен знает сколько каналов ШИМ, а потом еще с не меньшей яростью городить программу для всего этого, заметно проще воспользоваться более удобным решением, причем заведомо 100% удачным.
а простые RGB надо оставлять для случаев, когда не требуется каждый засвечивать тысячами оттенков. если бы топикстартер хотел просто семисегментный индикатор сделать цветным, т.е. чтобы все сегменты всех разрядов одновременно светились бы одинаковым цветом - это было бы разумно делать и на обычных RGB. в крайнем случае - каждый разряд своим цветом. но каждый сегмент - это уже слишком геморно... и без возможности дальнейшего роста малой кровью.