Перейти к содержанию
    

Выбор драйверов и схемы для управления семисегментным индикатором (возможно FAQ)

Хотел одновременно поделиться информацией для таких же теоретиков как я (подбирал, чтобы не искать в разных местах), чтобы как-то систематизировать современные решения и выбрать метод организации работы с 7-сегментными индикаторами, а также спросить мнения практиков и обсудить приведенные данные, чтобы увидеть все особенности, плюсы/минусы итп применения той или иной схемы. Не буду затрагивать теорию динамической и статической индикации, лишь только буду рассматривать микросхемы в разрезе их применимости к одной или другой схеме. Может получится неплохая тема типа ЧАВО (FAQ). Посему просьба желающим - высказаться, по возможности дополнив и исправив приведенную мной информацию. Основу наполнял читая статьи и комментарии: https://habr.com/ru/articles/591945/https://habr.com/ru/articles/485696/.

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

74HC595 8-битный сдвиговый регистр - самый распространенный в прошлом вариант реализации (хотя и сейчас регулярно встречается). Из плюсов достаточно понятный и простой способ использования, универсализм и гибкость, позволяет использовать SPI, что снижает количество используемых портов МК, а также позволяет соединять 74HC595 в цепочку увеличивая разрядность, из минусов - по сути микросхема не является драйвером - это скорее способ увеличить количество портов, тк для схемы необходимо рассчитать и установить токоограничивающие резисторы. Для реализации схемы динамической индикации возможно потребуется установка силовых транзисторов в цепь общей точки. Тут кстати для динамической индикации видел разные варианты, кто-то цепляет к 74HC595 сегменты, а кто-то общие точки, смотря чего больше в вашем варианте и где будет польза от экономии портов.

TLC59284 16CH Constant-Current LED Driver with Switching Delay - встречал применение в темах, но не сильно популярная как мне показалось микруха. Минусы: заточена под общий анод, плюсы - вроде как избавляемся от заботы рассчитывать и ставить токоограничивающие резисторы. Применение в динамической индикации аналогично с 74HC595 (хотя не знаю как она себя поведет в данном случае, тут пока просто предположение и вопрос к практикам).

MBI5167 8-канальный драйвер для светодиодов с внешней регулировкой выходного тока, 3…45мА. Минусы: заточена под общий анод, в целом думаю аналогично предыдущему варианту. MBI5029 (16 каналов), MBI5368 (24 канала)  тоже под общий анод по сути как 74HC595 можно завязать в динамической индикации.

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

MAX6950 Драйвер светодиодного дисплея, 5 знаков 7 сегментов, SPI, QSPI, MICROWIRE интерфейс, 2.7В до 5.5В. Про плюсы и минусы судить сложно, но явный минус - это неудобная инструкция и сложная схема подключения индикаторов, по крайней мере в случае сравнения с MAX7219/MAX7221, ну и заточка под индикаторы с общим катодом. Возможно минус - это цена, вроде все эти Максимы дорогие под 8-11 евро, хотя есть китайские аналоги с Али, сильно дешевле, но пока не понятно, что они из себя представляют, тут как раз прошу практикующих рассказать про клоны, особенно узнать у тех, кто уже применял например MAX7219/MAX7221 с Алиэкспресс.

MAX6951 Драйверы LED (7 сегментов) дисплеев на 8 цифр, 4-Wire. Аналогично с MAX6950 - разницу я вижу только в количестве цифр.

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

MAX7221 Драйвер 8-разрядного цифрового светодиодного индикатора на 8 цифр с последовательным SPI интерфейсом. Аналогично с MAX7219, но мягче фронты и полная поддержка SPI.

TM1637 Драйвер 8-разрядного цифрового светодиодного индикатора до 6 знаков под общий анод, Китайчина с I2C еще и клаву может опросить, любимая игрушка ардуинщиков.

STLED316S - Драйвер 8-разрядного цифрового светодиодного индикатора до 6 знаков - заточка для общего анода, в чем-то аналогично с TM1637, но в программном плане и полной совместимости не проверял.

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

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

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


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

5 hours ago, auric said:

74HC595

TPIC6(A/B/C)595 - Тот же 74HC595 но с мощными выходами (открытый коллектор)

 

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


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

6 часов назад, auric сказал:

Китайчина с I2C еще и клаву может опросить, любимая игрушка ардуинщиков.

Там не I2C, т.к. нет адреса устройства и поэтому посадить его на одну шину с другими устройствами, как правило, не получается. Это нужно иметь в виду.

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


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

Мнение таково: ставить 7-сегментники считаю пережитком прошлого.

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

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

Но если прямо заставляют ставить сегментный, то в 99% случаев ограничиваюсь сдвиговым регистром на каждый разряд.

Никаких дрыганий ногами на МК, т.е. динамических индикаций, т.к. все это костыли, и тратить на них вычислительные ресурсы не лучшая затея.

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

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


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

31 минуту назад, Arlleex сказал:

Мнение таково: ставить 7-сегментники считаю пережитком прошлого.

Есть множество разных ситуаций, когда именно эти индикаторы оказываются лучше и куда более оправданными, чем полноценные дисплеи. В том числе исходя из соображений контрастности, надёжности и доступности.
Зачем придумывать сложную индикацию, когда нужно видеть отдельный показатель на пульте, тем более что нужно видеть ясно и достаточно издалека? ЖК в этом случае - лишние проблемы. OLED - выгорают...

31 минуту назад, Arlleex сказал:

Никаких дрыганий ногами на МК, т.е. динамических индикаций, т.к. все это костыли, и тратить на них вычислительные ресурсы не лучшая затея.

Вот поэтому TM1637 так любим и популярен, потому что прост и удобен.

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


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

27 минут назад, Arlleex сказал:

7-сегментники считаю пережитком прошлого.

Вовсе нет! У каждого типа индикатора своя область применения. Сегментные индикаторы с огромным успехом используются в самых разнообразных устройствах - от бытовых часов до топливораздаточных колонок на АЗС и даже в кабине пилотов современных самолетов. Скажите им, что это пережиток прошлого 🙂
Более того, (история идет по кругу) виртуальные панели нередко имеют шрифты с эмуляцией сегментных индикаторов.

По теме микросхем. Одна из самых распространенных - MAX7219/7221, либо дешевый китайский вариант с любой маркировкой. Если индикаторы с 14-ю или 16-ю сегментами, тогда MBIхххх на 16 выходов.

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


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

56 минут назад, makc сказал:

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

Если мы говорим о каких-нибудь стендах, панелях управления, и прочем "крупногабарите", то да. Чем проще и понятнее, тем лучше.

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

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

29 минут назад, EdgeAligned сказал:

У каждого типа индикатора своя область применения.

Бесспорно.

Цитата

от бытовых часов до топливораздаточных колонок на АЗС и даже в кабине пилотов современных самолетов.

В кабине самолета уже редко можно встретить что-то с отдельным 7-сегментным индикатором. Просто 4-5 блочных монитора перед глазами + подсвечиваемые тумблеры/кнопки светосигнализаторами с нужной пиктограммой.

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


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

1 час назад, Arlleex сказал:

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

Да, текст на них выводить - то ещё удовольствие... :rofl: Лучше уж банальный 1602 поставить c честным знакогенератором.

 

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


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

Мониторы мониторами, но для индикации у отдельных крутилок - семисегментники. Нередко бывает нужным сделать индикацию чисел (и ничего кроме них) прямо на месте возле крутилки. Семисегментники тут как нельзя более подходят по простоте и наглядности.

Светодиодные индикаторы имеют самый широкий температурный диапазон, устойчивее всего к вибрациям, скорость работы самая высокая, самый высокий контраст и яркость элемента. Так что рано списывать такие индикаторы. А для отображения текста буквами придуманы 14- и 16-сегментные - на них можно отобразить любой текст. Ну и отдельная тема - матричные LED-ы, в том числе и RGB - вся уличная реклама на них. А сейчас, с появлением панелей с шагом 2,5 и 1,8 мм - так еще и панели для помещений. У них конечно свои недостатки - вес и энергопотребление, но как показывает практика, в презентационных и информационных областях у этих панелей сейчас бесспорное лидерство.

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


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

21 час назад, EdgeAligned сказал:

По теме микросхем. Одна из самых распространенных - MAX7219/7221, либо дешевый китайский вариант с любой маркировкой. Если индикаторы с 14-ю или 16-ю сегментами, тогда MBIхххх на 16 выходов.

Смущает цена на оригинальные MAX7219/7221, хотя как уже писал есть на алиэкспресс с такой же маркировкой, но пока не вижу массу отзывов работавших с ними. Хотелось бы понять как с ними дела обстоят?

Кстати что имелось ввиду про "дешевый китайский вариант с любой маркировкой"?

Всем: Недавно наткнулся на TM1638 - тоже я так понял кого-то клонировали, но как мне кажется довольно удачно. Но отличие от 1637 уже не I2C, а SPI (да кстати на 1637 в документации прописано про отсутствие адреса, так что тоже не совсем I2C). Причем опять с особенностью: шина MISO и MOSI объединена в DIO, то есть получается полудуплекс, мне как-то не приходилось настраивать и работать с SPI на STM32 в таком режиме, зато начитался особенностей настройки порта SPI под полудуплекс (у кого получилось расскажите как), есть вариант подключить MOSI через резистор 1К, есть вариант с диодом Шоттки (встречал рекомендацию чисто в виде текста, я правда не совсем понимаю схему, буду рад, если кто пояснит), и можно оставить настройку фулдуплекс. Короче буду рад, если кто что посоветует.

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

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


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

Цена как цена, чеж там такого то? На мой взгляд, самый нормальный вариант, который тянет как семисегментники, так и матрицы 8х8.
Вот как раз цена на MAX6950 - это как раз перебор. Да и не получили они распространения. Я так понял, список составлялся на основе того, что было в симуляторе Proteus?

Дешевый китайский вариант - это любые подобные микросхемы драйверов, типа тех же TMхххх.

Если индикатор с большими цифрами, в котором по два и более светиков на сегмент, тогда драйверы типа MBI и им подобные. Так же эти драйверы подойдут для 14- и 16-сегментников и матричных панелей.

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


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

23 минуты назад, EdgeAligned сказал:

Я так понял, список составлялся на основе того, что было в симуляторе Proteus?

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

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


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

7 минут назад, auric сказал:

читал что народ рекомендует

ха, интересно, кто ж рекомендует MAX6950 то? У них же даже до апокалипсиса цена была нескромная. Ну эт точно "протеусячники" советовали 🙂 

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

1 час назад, auric сказал:

ачитался особенностей настройки порта SPI под полудуплекс

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

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


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

1 час назад, EdgeAligned сказал:

ха, интересно, кто ж рекомендует MAX6950 то?

ну собственно в статье из шапки рекомендовали как плюс данной микросхемы питание от 2,7В. Где-то еще встречал (например на https://forum.ixbt.com/topic.cgi?id=48:5979-2, хотя сама тема очень старая, когда-то их ставили), но да она не такая популярная сейчас, но встречается при поиске, то что приведена первой среди "динамических драйверов" не значит что она самая лучшая, но не писать ее не мог, тк понимать ее плюсы и минусы тоже неплохо.

1 час назад, EdgeAligned сказал:

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

Тут два пути - схема либо программа, про программу уже писал, не пробовал не было задач, а вот со схемой - это народное творчество (http://www.microcontroller.it/english/Tutorials/Elettronica/componenti/TM1638.htm), порт при этом остается настроен как full.

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

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


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

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...