Страница 1 из 3
Управление кучей 7-и сегментников
Добавлено: Сб мар 06, 2010 13:15:21
BarsMonster
Добрый день, снова я к вам за советом
Нужно сделать управление 16(возможно больше) 7-и сегментных светодиодных индикаторов (управление яркостью желательно), вот сижу думаю как бы это сделать, чтобы и дешево и сердито

.
Рассматриваемые варианты:
1) Сдвиговые регистры + резисторы. Яркость регулировать напряжением питания регистров. Цена обвязки получается около 30 центов на разряд, небольшой гемор с запаиванием 16*8 = 128 резисторов
2) Сдвиговые регистры без резисторов. Яркость регулировать напряжением питания регистров, ток ограничен внутренним сопротивлением выходных цепей регистра. Цена обвязки получается около 25 центов на разряд, проще не придумать.
3) Светодиодные контроллеры - я нашел TB62706BN и BD7851FP. Удобно, не мерцает, стабилизация тока по каждому каналу, но цена 2$ на 16 бит = 1$ на разряд.
4) Динамическая индикация - 8 бит на сегменты, дешифратор 4-х битный - очень дешево и сердито. Однако, скважность уже не очень, мерцание я вообще не люблю. Какая частота нужна чтобы совсем не мерцало? Не будет ли МК в основном этой динамической индикацией заниматься?
5) Динамическая индикация - по вспомогательному МК на каждые 4-8 разрядов. Т.к. контроллер только индикаторами и занимается, может переключать их с максимальной частотой. Цена - 1.5$(на какую-нить Mega8-48 ) на 4-8 разрядов 0.18-0.37$ на разряд.
Какие мнения? Что на ваш взгляд практичнее? Насколько плох вариант 2 со сдвиговыми регистрами без резисторов?
Добавлено: Сб мар 06, 2010 13:35:00
ARV
не знаю, что там выгоднее всего, но напрямую без резисторов я бы точно не советовал светодиоды подключать ни к каким регистрам при любом напряжении питания.
Добавлено: Сб мар 06, 2010 18:16:50
Danko
по п.4 и п.5
если взять мега16 и динамическую индикацию не 8 бит, а 16 бит на два разряда то получите динамику в 16 разрядов, а частоту для 8 разрядов.
Если правильно рассчитаете транзисторные ключи, так чтобы они когда надо полностью открывались и когда надо - закрывались, то и динамическая индикация в 16 разрядов будет работать.
Вы забили про статическую индикацию т.е. 16 регистров хранения по 1 на каждый разряд и запись в динамическом режиме (легко програмно реализовать да и частота динамики минимальная) или запись только в те ячейки информация в которых изменилась (над програмой нужно будет хорошо подумать). Плюс никакого мерцания.
Вообще термин
дешево и сердито хорош в учебном проекте, а в практическом проекте должен быть термин:
надежно и сердито. 
и резисторы и транзисторные ключи должны быть обязательно.
Добавлено: Сб мар 06, 2010 18:22:27
Twilo
я делал похожее но статическую индикацию, на каждый разрад по сдвиговому регистру+резисторы
Добавлено: Сб мар 06, 2010 18:31:23
AndyWorld
Немного не в тему....
У меня валяется списанное валютное табло. В нем 7-сегментиников тьма! И все суперяркие. В обвязе логика и ULN2003. Индикоторы с ОА.
Вопрос такой, есть прошивка под ОК но нет исходников и есть прорва индикаторов с ОА. Если использовать ULN2003 между МК и индикатором будет ли он корректно работать? По идее ключи должны работать как инверторы...
Добавлено: Сб мар 06, 2010 20:12:49
Aheir
На каждый разряд - по регистру с резисторами (ну нельзя без резисторов, палево это), управление яркостью - ШИМом по входу OutputEnable регистров (надо подобрать регистры с таким входом, 74HC595, например)
Добавлено: Сб мар 06, 2010 21:27:06
md5sum
Danko писал(а):Если правильно рассчитаете транзисторные ключи, так чтобы они когда надо полностью открывались и когда надо - закрывались, то и динамическая индикация в 16 разрядов будет работать.
Добавлю, что при скважности 10 полной яркости уже не получить.
Если светодиоды не супер яркие, то при такой скважности и при токе в импульсе 50 ма у меня светодиоды светят (определял визуально) процентов на 50-60 от нормальной яркости. Увеличивать ток не рискнул.
При скважности в 16 (по числу разрядов) будет хуже....
Если остановишься на динамической индикации, то в каждом цикле управляй несколькими разрядами...
Добавлено: Сб мар 06, 2010 21:30:56
stas00n
16-разрядная динамическая индикация светодиодными индикаторами - это круто. Даже по энергопотреблению. Мои соображения такие:
"классически" (8 резисторов) сделать не выйдет - слишком большие импульсные токи нужны для получения нормальной яркости - светодиоды погорят либо яркость маленькая будет. Надо дробить на группы по 4-6 разрядов. Накрайняк по 8 (надо смотреть, что с яркостью будет при непревышении макс. допустимого тока светодиодов). Если подробить по 8, то в принципе, должно хватить одного многоногого МК, с 8-разрядным сдвиговым регистром (плюс, разумеется, силовые ключи - я бы взял 2 штуки ULN2803 на сегменты, и транзисторы RET (8 штук) на разряды).На МК сожрутся почти все ноги - надо 2 некастрированых порта на сегменты и три вывода для управления регистром. Еще какая периферия предвидится? У меня в таймере 6 разрядов и 8 кнопок управления было реализовано на PIC16F84 и К561ИР2. А насчет
Какая частота нужна чтобы совсем не мерцало? Не будет ли МК в основном этой динамической индикацией заниматься?
- мерцания не будет видно уже на 50 Гц, правда, если будешь грызть сухарики и смотреть на индикатор - цифры будут прыгать

300 Гц - самое то. Динамическая индикация для контроллера - фигня, отнимет 1-2% ресурсов, если конечно грамотно подвесить ее на прерывания, а не делать циклы ожидания.
Добавлено: Сб мар 06, 2010 21:34:55
stas00n
ПС с такой разрядностью я бы смотрел в сторону LCD, если надо чтоб в темноте видно было - то с подсветкой. Или VFD..
Добавлено: Сб мар 06, 2010 21:45:54
stas00n
ППС: регулировка яркости - изменением длительности свечения (ШИМ) - в начале каждой фазы индикации по-быстрому грузим регистр сдвига, таймер, - по переполнению таймера сбрасываем регистр.
Добавлено: Сб мар 06, 2010 22:04:05
Хатуль_мадан
Если хотите дешево и надежно, к тому же без мерцания, то лучше всего поле индикации разбить на 2 группы по 8 индикаторов в динамическом режиме. Индикаторы должны быть желательно суперяркие. По деталям выходит такая картина: 2 регистра защелки, 16 резисторов токоограничивающих и 8 транзисторных ключей при использовании индикаторов с ОА или 1 микросхема ULN2803 в случае индикаторов с ОК. Регулировка яркости осуществляется длительностью импульсов динамической индикации. По загрузке микропроцессора вообще проблем нет, но как и было ранее сказано это нужно организовавать в прерываниях.
Добавлено: Сб мар 06, 2010 22:28:01
stas00n
Хатуль_мадан, зачем 2 регистра-защелки? достаточно одного 8-разрядного с последовательным входом (поскольку разбили на 2 группы, одновременно светятся 2 разряда), годится вышеупомянутый К561ИР2 (HEF4015). Насчет деталей - ты забыл буфер на сегменты. В моем видении набор такой: МК, 8-разрядный последовательный регистр, индикаторы с общим анодом, 16 резисторов, 2 м/с ULN2803, 8 p-n-p RET'ов (или обычных транзисторов, но тогда еще плюс 16 резисторов).
Добавлено: Сб мар 06, 2010 22:35:17
neon-f
какие трудности? восем резисторов и одна 74HC595 на цифру - 0,2$ максимум 0,3$. Яркость рулить шимом по входу ОЕ. Дешево, и ни малейшего мерцания (статика ведь)
Добавлено: Сб мар 06, 2010 22:40:49
Хатуль_мадан
Вот примерно так можно все организовать. Алготитм следующий: сначала по шине данных заливаем код для 1 индикатора в 1 защелку, потом код для 9 индикатора во вторую защелку, включаем соответствующий разряд микросхемой ULN2803 и общую индикацию сигналом ОЕ, выжидаем время (если требуется для регулировки яркости) и отключаем ОЕ. Далее все то же самое для второй пары индикаторов, и т.д. При частоте прерываний, например в 1 мС, индикация будет с частотой обновления каждого индикатора 125 Гц. Этого вполне достаточно.
Добавлено: Сб мар 06, 2010 22:47:00
Хатуль_мадан
neon-f писал(а):какие трудности? восем резисторов и одна 74HC595 на цифру - 0,2$ максимум 0,3$. Яркость рулить шимом по входу ОЕ. Дешево, и ни малейшего мерцания (статика ведь)
Да вот как раз дешево не выходит резисторы 16*8=128 + 16 микросхем 74HC595, да еще и по портам подключения понадобится 8+16+1=25 ножек микроконтроллера, все это еще и по плате протащить надо...

Добавлено: Сб мар 06, 2010 23:01:07
neon-f
Да что вы такое говорите, теоретически можно обойтись 2 ногами контролера, если все регистры паровозиком включить.
а по цене - мой самый дешевый вариант. Ведь при динамике нужно через светодиоды пропускать бОльший ток, а это значит ключи на все сегметы и разряды. На разряды довольно мощные. А каждый ключ это 1-2 транзистора, и 2-4 резистора.
Добавлено: Сб мар 06, 2010 23:01:27
stas00n
Хатуль_мадан, теперь понятно, я подразумевал решение "наоборот" - ULN-ка управляет сегментами, а регистр - разрядами. Но и так тоже хорошо - главный бенефит твоей схемы - экономия ног контроллера. Кстати, их можно сэкономить еще больше применив вместо 373-х микросхем упомянутый neon-f 595-е. Недостаток, - имхо, возможно мало будет яркости без буферов. У меня сейчас перед глазами трехразрядный индикатор ТОТ-5361HG, резисторы по 120 ом (ток в импульсе около 15 мА), так хочется уже немного яркости добавить, днем плоховато видно, но больше контроллер без буфера не потянет.. Если такой ток на 8 разрядов растянуть, то совсем тускло будет.
neon-f - слишком много микросхем, - представляешь насколько печатную плату будет труднее развести? А если одностороннюю?
Добавлено: Сб мар 06, 2010 23:14:26
neon-f
микрухи в soi корпусе разместить даже проще будет чем 24 ключа на рассыпухе. если цифры больших размеров, регистры можно разместить внутри этих цифр, или прямо под ними.
Ну а без ключей на сегментах и разрядах получим поделку не подходящую для практического применения
Добавлено: Сб мар 06, 2010 23:15:18
stas00n
neon-f писал(а):Да что вы такое говорите, теоретически можно обойтись 2 ногами контролера, если все регистры паровозиком включить.
а по цене - мой самый дешевый вариант. Ведь при динамике нужно через светодиоды пропускать бОльший ток, а это значит ключи на все сегметы и разряды. На разряды довольно мощные. А каждый ключ это 1-2 транзистора, и 2-4 резистора.
А в твоем решении кроме 16 корпусов "паровозиком" надо еще 128 резисторов. Деталей таки больше, согласен? Зато рулить можно 8-ногой тини

Добавлено: Сб мар 06, 2010 23:16:59
stas00n
Короче, ждем автора, решений предложено море, пускай выбирает..