Меню

Ток для семисегментного индикатора



Светодиодные семисегментные индикаторы

Их конструкция и особенности

Наверняка вы уже видели индикаторы – «восьмёрки». Это и есть семисегментный светодиодный индикатор, который служит для отображения цифр от 0 до 9, а также децимальной точки (DP – Decimal point) или запятой.

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

В зависимости от модели сборка может состоять из 1 – 4 семисегментных групп. Например, индикатор АЛС333Б1 состоит из одной семисегментной группы, которая способна отображать всего лишь одну цифру от 0 до 9.

А вот светодиодный индикатор KEM-5162AS уже имеет две семисегментных группы. Он является двухразрядным. Далее на фото показаны разные светодиодные семисегментные индикаторы.

Светодиодные семисегментные индикаторы

Также существуют индикаторы с 4-мя семисегментными группами – четырёхразрядные (на фото – FYQ-5641BSR-11). Их можно использовать в самодельных электронных часах.

Четырёхразрядный индикатор

Как обозначаются семисегментные индикаторы на схемах?

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

Обозначение семисегментного индикатора на принципиальных схемах

Стоит только обратить внимание на то, что каждому выводу соответствует конкретный знакосегмент, к которому он подключен. Также имеется один или несколько выводов общего катода или анода – в зависимости от модели прибора.

Особенности семисегментных индикаторов.

Несмотря на кажущуюся простоту этой детали и у неё есть особенности.

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

Вот, например, цоколёвка уже знакомого нам 4-ёх разрядного индикатора FYQ-5641BSR-11.

Цоколёвка семисегментного индикатора FYQ-5641BSR

Как видим, аноды у светодиодов каждой цифры объединены и выведены на отдельный вывод. Катоды же у светодиодов, которые принадлежат к знакосегменту (например, G), соединены вместе. От того, какую схему соединений имеет индикатор (с общим анодом или катодом) зависит очень многое. Если взглянуть на принципиальные схемы приборов с применением семисегментных индикаторов, то станет ясно, почему это так важно.

Кроме небольших индикаторов есть большие и даже очень большие. Их можно увидеть в общественных местах, обычно в виде настенных часов, термометров, информеров.

Чтобы увеличить размеры цифр на табло и одновременно сохранить достаточную яркость каждого сегмента, используется несколько светодиодов, включенных последовательно. Вот пример такого индикатора – он умещается на ладони. Это FYS-23011-BUB-21.

Индикатор FYS-23011-BUB-21

Один его сегмент состоит из 4 светодиодов, включенных последовательно.

Цоколёвка индикатора FYS-23011

Чтобы засветить один из сегментов (A, B, C, D, E, F или G), нужно подать на него напряжение в 11,2 вольта (2,8V на каждый светодиод). Можно и меньше, например, 10V, но яркость тоже уменьшится. Исключение составляет децимальная точка (DP), её сегмент состоит из двух светодиодов. Для неё нужно всего 5 — 5,6 вольт.

Работа семисегментного индикатора на светодиодах

Также в природе встречаются двухцветные индикаторы. В них встраиваются, например, красные и зелёные светодиоды. Получается, что в корпус встроено как бы два индикатора, но со светодиодами разного цвета свечения. Если подать напряжение на обе цепи светодиодов, то можно получить жёлтый цвет свечения сегментов. Вот схема соединений одного из таких двухцветных индикаторов (SBA-15-11EGWA).

Двухцветный семисегментный индикатор

Если коммутировать выводы 1 ( RED ) и 5 ( GREEN ) на «+» питания через ключевые транзисторы, то можно менять цвет свечения отображаемых чисел с красного на зелёный. А если же одновременно подключить выводы 1 и 5, то цвет cвечения будет оранжевым. Вот так можно баловаться с индикаторами .

Управление семисегментными индикаторами.

Для управления семисегментными индикаторами в цифровых устройствах используют регистры сдвига и дешифраторы. Например, широко распространённый дешифратор для управления индикаторами серии АЛС333 и АЛС324 – микросхема К514ИД2 или К176ИД2. Вот пример.

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

Для управления большими семисегментными индикаторами, такими как, FYS-23011-BUB-21 применяются специализированные драйверы, например, микросхема MBI5026.

Что внутри семисегментного индикатора?

Ну и немного вкусненького. Любой электронщик не был бы таковым, если бы не интересовался «внутренностями» радиодеталей. Вот что внутри индикатора АЛС324Б1.

Индикатор АЛС324 в разобранном виде

Чёрные квадратики на основании – это кристаллы светодиодов. Тут же можно разглядеть золотые перемычки, которые соединяют кристалл с одним из выводов. К сожалению, этот индикатор уже работать не будет, так как были оборваны как раз эти самые перемычки . Но зато мы можем посмотреть, что скрывается за декоративной панелькой табло.

Источник

Ток для семисегментного индикатора

О среднем токе замолвите слово (к вопросу о динамической индикации).

Автор: Олег Петрович
Опубликовано 18.03.2010

Общаясь на форуме, обратил внимание, что многие кототоварищи не понимают почему не рекомендуется подключать 7-ми сегментные светодиодные индикаторы напрямую к МК, что и побудило меняу взять в лапы перо и, не претендуя на полноту изложения материала, попробовать разобраться с данным вопросом.
Изыскания будем проводить на базе Atmega16. На порт РАх — подключены ОА индикаторов, на порт РВх — подключены сегменты индикаторов, но все сказанное справедливо для любой системы с динамической индикацией на светодиодных 7-ми сегментных индикаторах, как с ОА, так и с ОК.
Исходные данные для анализа:
Максимальные токи через выводы МК:

Читайте также:  Электростатической генерации переменного тока

Ток потребления собственно МК:

Теперь давайте посмотрим на рис.1

У нас имеется 3-х разрядный 7-ми сегментный светодиодный индикатор, например KingBright BA56-12GWA (Iv ср=8мкд при Iпр.ср=10 мА) разряды обозначены HL1-HL3, управляемый с помощью МК.
Разберем крайний случай — на всех индикаторах светится «8» (все сегменты включены).
Как видно из рисунка в каждый момент времени t1, t2, t3 через выводы МК Vcc и GND будут протекать суммарные токи IЦПУ+(7*IHLx), где х — номер соответствующего разряда индикатора.
Давайте посмотрим, какой максимальный ток через 1 сегмент можно обеспечить при таком подключении индикатора.
Согласно ДШ (см. выше) максимальный ток через выводы МК Vcc и GND для меги16 составляет 200 мА (что справедливо для большинства МК семейства AVR), вычитаем из него ток потребляемый самим МК 20 мА при F=8 МГц, остается 180 мА на разряд. Казалось бы, вполне достаточно, чтобы получить нормальную яркость индикатора — 180/7=25,7 мА, а не тут то было. Поскольку общий анод каждого индикатора запитан через вывод МК, то максимальный суммарный ток на 1 разряд индикатора, согласно ДШ, равен 40 мА, или 40/7=5,7 мА на один сегмент, и это тоже вроде бы ничего, но у нас имеется 3 индикатора.
Посмотрим, что при этом происходит.
Как известно, человеческий глаз — прибор довольно инерционный, поэтому мы и не видим смены кадров на экране телевизора, переключения цифр на многоразрядных дисплеях при динамической индикации. Яркость источника света оценивается глазом по интенсивности излучения, которое в свою очередь прямо пропорционально току через сегмент индикатора. Таким образом, опуская ряд математических выкладок, мы имеем полное право утверждать, что средняя яркость сегмента будет пропорциональна среднему (за период повторения) току через сегмент, а он, как известно, для 3-х индикаторов, будет равен 1/3 от тока сегмента во включенном состоянии, для нашей схемы получится около 2 мА на сегмент.
Плюсы схемы:
Простота, не требуются внешние элементы, кроме токоограничительных резисторов.
Минусы:
Не все индикаторы могут обеспечить достаточную яркость при таком среднем токе через сегмент.
Опять же, через выводы МК Vcc и GND одновременно протекают максимально возможные токи, что тоже не есть хорошо.
«Где же выход?» спросите вы.

Выход №1.
Исключить ограничение, связанное с подключением ОА индикатора к выводу МК.
Для это надо поставить транзисторный ключ между МК и индикатором (рис.2).

Транзистор должен обеспечивать Iк макс > 180 мА, подойдет практически любой маломощный транзистор.
При этом через вывод РАх будет протекать Iб, который в h21Э/2 (2-коэффициент тока базы, вводится для гарантированного обеспечения режима насыщения транзистора, обычно 1,5-3) раза меньше чем Iк=IHLx.
Таким образом, можно обеспечить ток через 1 сегмент порядка

Средний ток составит около 8,3 мА, при этом яркость будет вполне достаточна для большинства практических применений.
При этом максимальный ток будет протекать только через вывод МК GND, что уже в 2 раза облегчает работу МК по тепловому режиму.

Выход №2.
Для тех, кому и этого мало (девайс будет эксплуатироваться при большой освещенности, ну например в автодевайсе) можно рекомендовать добавить, к предыдущему варианту, между МК и выводами сегментов ULN2003A (7 ключей) или ULN2803A (8 ключей), для тех, у кого задействована десятичная точка (рис.3). Максимальный ток через сегмент при этом можно поднять до 500 мА, и соответственно средний примерно до 167 мА, главное не перестараться и не спалить индикатор.

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

Источник

Семисегментный индикатор

Существуют такие параметры, для которых было бы удобнее выдавать объективную информацию, чем просто индикацию. Например, температура воздуха на улице или время на будильнике. Да, все это можно было бы сделать на светящихся лампочках или светодиодах. Один градус – один горящий светодиод или лампочка и тд. Но считать эти светлячки – ну уж нет! Но, как говорится, самые простые решения – самые надежные. Поэтому, долго не думая, разработчики взяли простые светодиодные полосы и расставили их в нужном порядке.

Семисегментные индикаторы

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

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

Читайте также:  Что такое еременный ток

семисегментный индикатор с точкой

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

Что получается в итоге? Каждая полоска на семисегментном индикаторе засвечивается светодиодом или группой светодиодов. В результате, засветив определенные сегменты, мы можем вывести цифру от 0 и до 9, а также буквы и символы.

Виды семисегментных индикаторов и обозначение на схеме

Существуют одноразрядные, двухразрядные, трехразрядные и четырехразрядные семисегментные индикаторы. Более четырех разрядов я не встречал.

семисегментный индикатор одноразрядный семисегментный индикатор двухразрядный

семисегментный индикатор трехразрядный семисегментный индикатор четырехразрядный

На схемах семисегментный индикатор выглядит примерно вот так:

семисегментный индикатор обозначение на схемах

В действительности же, помимо основных выводов, каждый семисегментный индикатор также имеет общий вывод с общим анодом (ОА) или общим катодом (ОК)

Семисегментный индикатор

Внутренняя схема семисегментного индикатора с общим анодом будет выглядеть вот так:

семисегментный индикатор внутреннее строение с общим анодом

а с общим катодом вот так:

семисегментный индикатор с общим катодом

Если семисегментный индикатор у нас с общим анодом (ОА), то в схеме мы должны на этот вывод подавать “плюс” питания, а если с общим катодом (ОК) – то “минус” или землю.

Как проверить семисегментный индикатор

У нас имеются в наличии вот такие индикаторы:

семисегментные индикаторы

Для того, чтобы проверить современный семисегментный индикатор, нам достаточно мультиметра с функцией прозвонки диодов. Для начала ищем общий вывод – это может быть или ОА или ОК. Здесь только методом тыка. Ну а далее проверяем работоспособность остальных сегментов индикатора по схемам выше.

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

семисегментный индикатор как проверить

Иногда напряжения на мультиметре не хватает для проверки сегмента. Поэтому, берем блок питания, и выставляем на нем 5 Вольт. Чтобы ограничить ток через сегмент, проверяем через резистор на 1-2 Килоома.

семисегментный индикатор проверка

Таким же образом проверяем индикатор от китайского приемника

Семисегментный индикатор

В схемах семисегментные индикаторы соединяются с резисторами на каждом выводе

Семисегментный индикатор

В нашем современном мире семисегментные индикаторы заменяются жидко-кристаллическими индикаторами, которые могут высвечивать абсолютно любую информацию

Семисегментный индикатор

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

Источник

Семисегментный индикатор | Программирование микроконтроллеров

Программирование микроконтроллеров Курсы

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

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

Семисегментные индикаторы

По количеству разрядов различают одно-, двух-, трех-, и четырехразрядные индикаторы. Бывает и более разрядов, но они встречаются довольно редко.

Семисегментный индикатор. Принцип работы семисегментного индикатора

Устройство семисегментного индикатора

Любой семисегментный индикатор обязательно состоит из семи сегментов. Отсюда и происходит его название. Каждый сегмент – это обычный отдельный светодиод. Мощные семисегментники могут содержать в одном сегменте несколько, как правило, последовательно соединенных светодиодов.

Кроме того в корпусе помимо сегментов находится еще и точка или запятая или другой символ.

С помощью семи сегментов можно изобразить десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и некоторые буквы, как латиницы, так и кириллицы.

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

Соединение выводов семисегментного индикатора

Вне зависимости от количества разрядов и размеров цифр каждый сегмент имеет название в виде одной из первых букв английского алфавита: a, b, c, d, e, f, g. Точка обозначается dp.

Семисегментный индикатор

Для того чтобы засветить один из светодиодов семисегментного индикатора с общим анодом следует на общий вывод (анод) подать «+», а на соответствующий отдельный вывод – «-» источника питания.

Принцип работы семисегментного индикатора

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

Чтобы отобразить на индикаторе цифру или букву следует засветить несколько сегментов. Например, для отображения единицы 1 задействуются сегменты b и c. При отображении восьмерки 8 задействуются все символы от a до g. Пятерка получается из таких символов: a, c, d, f, g.

Семисегментный индикатор. Отображение цифр

Как подключить семисегментный индикатор к микроконтроллеру

Теперь рассмотрим, как подключить семисегментный индикатор к микроконтроллеру ATmega8. Подключим его к порту D. Данные порт имеет все восемь бит, что очень удобно сочетается с количеством выводов одноразрядного семисегментного индикатора, у которого их также восемь с учетом вывода для точки.

Схемы подключения с общим анодом ОА и общим катодом ОК аналогичны, только общий вывод подключается соответственно к плюсу или минусу источника питания.

Схема подключения семисегментного индикатора к микроконтроллеру

Все светодиоды подключаются к выводам микроконтроллера через отдельные резисторы сопротивлением 220…330 Ом.

Читайте также:  Генераторы постоянного тока как возбудители синхронного двигателя

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

Схема подключения семисегментного индикатора к микроконтроллеру ATmega8

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

Распиновка семисегментного индикатора

Теперь создадим модель в Протеусе и соберем схему на макетной плате. Далее по мере написания кода будем проверять работу микроконтроллера на модели и на реальном устройстве.

Семисегментный индикатор и микроконтроллер

Семисегментный индикатор в Proteus находится в категории (Category) Optoelectronics (Оптоэлектроника). Ниже в подкатегории (Sub-category) следует кликнуть по строке 7-Segment Displays. После этого в окне результатов (Results) выбираем одноразрядный семисегментный индикатор 7SEG-MPX1-CC.

Семисегментный индикатор Proteus

Код для микроконтроллера ATmega8

Теперь пишем код. Сначала настраиваем порт D полностью на выход. Для отображения единицы 1 задействуются сегменты b и c, выводы которых подключены к PD1 и PD2. Поэтому соответствующие биты регистр PORTD нужно установить в единицу.

PORTD = 0b00000110; //1

После компиляции кода и прошивки кода результаты мы видим в Proteus и на макетной плате.

Модель семисерментного индикатора в Proteus

Семисегментный индикаторы с общим катодом

Аналогичным образом формируются все цифры.

Давайте сделаем программу более интересной, так, чтобы цифры изменялись в порядке нарастания от нуля до девяти с паузой 0,3 секунды.

#define F_CPU 1000000L

PORTD = 0b00111111; //0

PORTD = 0b00000110; //1

PORTD = 0b01011011; //2

PORTD = 0b01001111; //3

PORTD = 0b01100110; //4

PORTD = 0b01101101; //5

PORTD = 0b01111101; //6

PORTD = 0b00000111; //7

PORTD = 0b01111111; //8

PORTD = 0b01101111; //9

Данный код можно значительно упорядочить и этим мы займемся в последующих статьях по программированию микроконтроллера ATmega8. На этом заканчиваем наше первое знакомство с семисегментными индикаторами.

Как читать электрические схемы и создавать электронные устройства

Еще статьи по данной теме

Proteus 8.4

Логические операции | Программирование микроконтроллеров AVR на С

Массивы | Программирование микроконтроллеров

Тут такая засада.
На Atiny2323 все работает нормально, на Atmega8 семисегментный индикатор постоянно мерцает. Правда схема такая же как и на Atiny2323 т.е. без кварца. Не подскажите в чем дело?

Дело в том, что по-умолчанию частота работы встроенного генератора (RC-цепочки) Atiny2323 4 МГц, а ATmega8 — 1 МГц, поэтому на меге заметна частота мерцания.

Дмитрий,
Поизучал даташит, правильно понимаю что для установки 4Мгц нужно установить CKSEL3..0 в 0011?

Дмитрий, и еще вопрос в догонку.
Какие кварцы (частоты, типы, кол-во) стоит прикупить для изучения микроконтроллеров?

Сначало зажги светодиод,потом помигай им,потом подключи кнупку,чтоб программа заработал когда нажал кнопку и т.д.кварц для этого не нужен.От простого к сложному.

Автору большое спасибо. После видео уроков на ютубе появился интерес к МК.
Большая просьба автору. Вы собирались сделать материал по динамической индикации —
семи-сегментного индикатора. Возможно, вы бы, могли бы сделать материал, сегменты индикатора к разным портам. Например к двум портам МК.

Andrei, никто не хочет за это дерьмо с разными портами браться, я сам долго искал, у всех подключение к одному порту (так головняка меньше). То что я смог переварить взято с радиокота https://radiokot.ru/forum/viewtopic.php?f=57&t=131489. Да, через анус, но работает.
код:
/*
* M48_dinamind_radiokot.c
*
* Created: 28.11.2018 10:37:52
* Author: Left
*/

#define F_CPU 1000000UL
#include
#include
#include
//—————————————————————
#define SetBit(reg, bit) reg |= (1 29.11.2018 Ответить

Относительно просто динамическую индикацию подключать, применяя оператор switch case.

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

Это нужно быть совсем нубом в прерывании тратить время на перебор 13ти кейсов в свитче.
Все делается одним сдвигом N влево в зависимости от размера кейса и джамп на кейс по получившимся смещению после сдвига N. 2 инструкции чтобы попасть в кейс. Но для этого нужно уметь на ассемблере написать.
Еще гасится весь дисплей, потом куча кода проходит до момента отображения сегмента. Все это время дисплей не горит. Лажа полная, а не пример.
У меня даже на убогом нувотоне, где одна инструкция по 3 такта,а не один как у avr обновление дисплея занимает 4.7микросекунды. То есть я могу его обновлять с частотой аж 200 кГц. И каждая нога тоже отдельно дергается, а не просто в порт кинуть. И между моментом когда все гасится и отображается новый сегмент вообще нет пробела, следующей же ассемблерной инструкцией начинает зажигаться.
Так что хочешь сделать быстро и качественно динамическую индикацию без ассемблера не обойтись.

Что-то не весь код с копировался, напиши почту я сброшу.

Источник