AndyWasHere

7-сег Индикаторы На Сдвиговых Регистрах

21 сообщение в этой теме

AndyWasHere    5

Здравствуйте форумчане

нужно управлять большим количеством индикаторов (>10) через МК, причем нужно яркое свечение

динамическая индикация здесь наверное неприемлима

обновляются индикаторы довольно редко, а МК хотелось бы занять другими процессами, нежели мигание

встретил на каком то форуме интересную идею управлять индикаторами через сдвиговые регистры

никогда ранее почему то не читал об этом и не встречал таких схем

всего 2 проводка управления на индикатор получается (реально ~5 выводов МК занято против динамической индикации, где минимум 7..10 получается)

любой символ можно получить (против дешифраторов семисегментного кода, где только заданные есть)

хочу разработать такую схему

MK -> демультиплексор -> сдвиговые регистры -> индикаторы

как думаете, есть ли камни преткновения в этой идее?

или мб я плохо смотрел и кто нибудь подкинет схемку с реализацией этой идеи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
wowa    4

Если нехочется чтобы процесор потратил 0,1% своего времени на обновление информации на 20 7 сегментных индикаторах - то сделайте один длинный регистр ( на 74НС595 например ) и заливайте туда данные тогда когда надо.. Проблема у такого решения у меня была такая - иногда случалось что пролезли помехи ( было это дело на длинном кабеле > 5m ) и на индикаторах появлялись случайные букавки... и перед заливкой приходилось чистить регистры. Довольно долго заливалось..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Что-то я не понял, зачем нужен демультиплексор?

Вообще все просто, и на форуме уже не раз описывалось.

Берем SPI-совместимые сдвиговые регистры.

Например TLC5921 или MIC5891.

И каскадируем до скольких разрядов надо.

Serial CLoK - тактирование сдвиговых регистров

Serial data INput - вход информации

Serial data OUTput - выход информации, подается на вход следующей микросхемы для наращивания

XLAT (Strobe) - перезапись информации из сдвигового регистра в регистр/защелку

BLANK (Output Enable) - разрешение свечения светодиодов, можно сразу подключить к "1" или "0"

Все SCLK объединяем, также поступаем с XLAT

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lexi    1

А еще можно дешифраторы применить с паралельной записью в регисторы.

А там драйвера.

Хм... надо попробывать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
AndyWasHere    5

я не догадался использовать один сдвиговый регистр, хотел сделать отдельный на каждый индикатор

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

вобщем, спасибо всем за ответы

информации по 7-сег индикаторам в инете много, но она очень разрознена. поэтому я даже не знал, как сделать правильно запрос в поисковике, чтобы найти индикацию на сдвиговых регистрах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lexi    1

Ничег страшного :).

Для этого и есть форум.

Главное вопрос дельный, особенно для тех, кто хочет делать всякие бегий и статичные строки))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
wowa    4

Кстати вот новинка с схемах - управление на 300 каналов через ЛПТ порт - то что вам надо!!! Только вместо порта подключить МК... И ненадо мелочиться - подключайте один регистр на один индикатор и с точкой - проще будет потом рисовать буквы и знаки.. дешифратор обычно имеет всего 16 букв и цифр..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    637

Как я это вижу, делать один большой регистр нет смысла - ведь на КАЖДЫЙ выход надо будет поставить еще и по транзистору, или ключу а это накладно. Гораздо проще сделать так как это я делал с матричными индикаторами, регистр на 30 разрядов из 8 микрух 561ИР9 (они мало жрут и умеют отключать свой выход и делать инверсию) и 14 общих. Таким образом я подключил 12 индикаторов с матрицей 5x7 символов. Так же стоит поступить и в вашем случае, регистр скажем на 14 бит, и линий сканирования уменьшится вдвое. если взять 28 бит - можно вывести сразу 4 разряда. Вобщем, надо стремится к тому чтобы сетка была квадратной, так уйдет меньше всего транзисторов соответственно уменьшатся и затраты. Светодиоды, многие допускают импульсный ток превышающий до 10 раз от номинального, т.е. повысив ток в динамической индикации яркость останется на том же уровне как и в статической.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
wowa    4

А я на 74НС595 неставил транзисторы.. Просто резистор 100 ом и всё было ярко...И главное всё было програмно до безобразия просто!!! Одна функция выводила 20 цыфр 20 раз за секунду без особого напряжения... У меня на них выводились координаты на ЧПУ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Alexeyslav, посмотри пожалуйста на TLC5921 еще раз, повнимательней.

На КАЖДОМ выходе стоит СТАБИЛИЗАТОР ТОКА.

И резистор, задающий ток на все 16 выходов всего один.

Ток по всем каналам будет одинаковый, в не зависимости, один или 2 светодиода стоит в нагрузке канала.

Плюс ко всему, в каждый канал встроен контроль состояния светодиода.

Если светодиод сгорел, на специальном выводе появляется сигнал ошибки.

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

А теперь скажи, нафига этому чуду враждебной техники еще транзистор на каждый выход?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    637

Ммм, современные микросхемы это хорошо, но где их достать? не все могут дотянутся до таких микросхем ... а транзисторы они всегда и везде есть и всегда будут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

У динамической индикации есть свои нестатки.

1. Хотя некоторые светодиоды допускают кратковременное превышение тока, но такой режим все равно серьезно уменьшает их ресурс.

2. Для некоторых задач динамика не приемлема в принципе, например засветка фотоматериала.

3. При очень большом числе индикаторов будет существенным уменьшение яркости, да и мерцание может проявиться.

4. Процессор вынужден постоянно заниматься регенерацией изображения.

При использовании регистров, способных запоминать свое состояние, все эти недостатки устраняются.

Если современная комплектация с кучей наворотов недоступна, можно использовать те-же 74НС595 + токоограничивающий резистор на кажный канал

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

Вообще недостатком решения на внешних микросхемах является увеличение размеров плат. Хотя если индикаторы большие, то регистры будут стоять за ними, с другой стороны печатной платы.

У любого способа есть достоинства и недостатки, и отдавать предпочтение нужно в зависимости от самой задачи и частоты смены отображаемой информации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    637

А с регистрами плата поменьше будет да? При всех прочих равных условиях, динамическая индикация требует меньше элементов, гораздо меньше. Единственный недостаток динамической индикации - броски тока по питанию в моменты комутации линий, впрочем для многих устройств это приемлемо.

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

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

Самый нормальный вариант, все же небольшой регистр + динамическая индикация, т.е. отображать не по одной цифре, а сразу 4 это сократит количество общих проводов, и уменьшит скважность импульсов подаваемых на светодиоды.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5
А с регистрами плата поменьше будет да?

Регистры - внешние микросхемы, и их много.

Размеры плат большие, поэтому и написал про это, как недостаток.

При всех прочих равных условиях, динамическая индикация требует меньше элементов, гораздо меньше.

Не спорю, это вполне логично.

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

Можно гнать инфу с не очень большой скоростью. Если микруха способна 2 мегабита в секунду воспринять, дай ей 500 кБит, и все нормально.

На экранированном кабеле с хорошим согласованием индикаторы с регистрами можно на несколько метров от проца отнести.

Но проблема действительно может быть, и об этом надо помнить.

Самый нормальный вариант, все же небольшой регистр + динамическая индикация, т.е. отображать не по одной цифре, а сразу 4 это сократит количество общих проводов, и уменьшит скважность импульсов подаваемых на светодиоды.

Вполне возможное решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Ahab    0

Добрый день.

Поясните пожайлуста как как записывать информацию в случае использования сдвиговых регистров.

Нашел пример в протеусе http://www.roboforum.ru/viewtopic.php?f=11&t=2749 , но никак не пойму как это работает.

Как мне например вывести цифры 123 ? И для каких целей используется каждый вход?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Ahab, загляни в пост №3 этой темы.

Там про выводы расписано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Ahab    0
Ahab, загляни в пост №3 этой темы.

Там про выводы расписано.

Я имею в виду не SPI-совместимые регистры, а 74HC595.

Схему я приложил в модели для протеуса.

Изменено пользователем Ahab

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Ну так она очень похожа, можно юзать по тому-же алгоритму.

Вывод 11 SRCLK - аналогичен SCLK - тактирование сдвиговых регистров

Вывод 14 SER - аналогичен SIN - вход информации

Вывод 9 QH` - аналогичен SOUT - выход информации, подается на вход следующей микросхемы для наращивания

Вывод 12 RCLK - аналогичен XLAT - перезапись информации из сдвигового регистра в регистр/защелку

Вывод 13 OE` - аналогичен BLANK - разрешение выхода

Вот только сброс добавлен, SRCLR`, вывод 10 который.

По нему сдвиговый регистр в "0" сбрасывается.

Обозначения выводов приведены из даташита, ссылка на него в посте №12

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Ahab    0

С выводами понятно, а насчет алгоритма вывода чисел, например, вывести цифры 123 - нужно преобразовать их в двоичный вид и просто записать в вывод SER ? Тактируя при этом SRCLK естественно. Я правильно понимаю ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
AndyWasHere    5

надо записывать т.н. семисегментный код, тактируя его по CLK

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    637

Выводить надо не код цифры, а её семисегментное представление - табличные значения соответствующие каждой цифре в зависимости от полярности включения светодиодов и количества сегментов на цифру(есть сложные 18-сегментные индикаторы), и не забывать про 8-й сегмент-точку если она нужна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас