AndyWasHere

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

21 posts in this topic

AndyWasHere    5

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

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

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

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

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
wowa    4

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

Share this post


Link to post
Share on other sites
Migray    5

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

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

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

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

Бюджетные Wi-Fi-/ Bluetooth-решения для IoT-применения

Обзор основной линейки поставок и новинок Espressif Systems – экономически выгодных SoC Wi-Fi-/ Bluetooth-чипов и модулей для IoT-применений: от простых портативных устройств до промышленных решений

Подробнее...

Lexi    1

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

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

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

Share this post


Link to post
Share on other sites
AndyWasHere    5

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

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

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

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

Share this post


Link to post
Share on other sites

Управляемый свет интернета вещей: Philips и протокол DALI 2.0

Полностью программируемые драйверы Philips Xitanium поддерживают все варианты регулировки яркости света и силы тока. Надежность системы значительно повышается при интеллектуальном мониторинге температуры светодиодного источника света. Разнообразие моделей в семействе обеспечивает максимальную гибкость в настройке рабочих параметров.

Подробнее...

Lexi    1

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

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

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

Share this post


Link to post
Share on other sites
wowa    4

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

Share this post


Link to post
Share on other sites
Alexeyslav    653

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

Share this post


Link to post
Share on other sites
wowa    4

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

Share this post


Link to post
Share on other sites
Migray    5

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
Alexeyslav    653

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

Share this post


Link to post
Share on other sites
Migray    5

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

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

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
Alexeyslav    653

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

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

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

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

Share this post


Link to post
Share on other sites
Migray    5
А с регистрами плата поменьше будет да?

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

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

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
Ahab    0

Добрый день.

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

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

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

Share this post


Link to post
Share on other sites
Migray    5

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

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

Share this post


Link to post
Share on other sites
Ahab    0
Ahab, загляни в пост №3 этой темы.

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

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

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

Edited by Ahab

Share this post


Link to post
Share on other sites
Migray    5

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

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
Ahab    0

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

Share this post


Link to post
Share on other sites
Alexeyslav    653

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now