Электрификация

Справочник домашнего мастера

Цифровая шкала для трансивера из Китая

Большой самодельный семисегментный индикатор на светодиодах

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

Однако первые потребляют довольно большую мощность и недолговечны. вторые по этим параметрам вполне подходят но для нормального зрительного восприятия знаков их приходится устанавливать через каждые 5..10 мм, так что число светодиодов получается большим. Например, для изготовления индикатора из элементов размером 72 мм (высота знака — примерно 150 мм) понадобится 70 светодиодов (при шаге 8 мм).

Конструкция сегмента

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

Рис. 1. Конструкция сегмента.

Схема

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

Светодиоды HL1 -HL14 — сверхъяркие зеленого цвета свечения в прозрачных корпусах диаметром 5 мм. например, LDGL3333, LDGM3333. LDGM3343 фирмы LIGITEK. Минимальный ток необходимый для одновременного свечения всех элементов индикатора — примерно 25 мА прямое падение напряжения на каждом элементе — около 6 В.

Рис. 2. ПРинципиальная схема сегмента индикатора.

Основа конструкции индикатора — две печатные платы, чертежи которых показаны на рис. 3. На первой из них (по рисунку — левой) монтируют элементы В и С на второй — Е и F (согласно общепринятой маркировке показанной на рис 1, 6) Элементы А D G и соединительные перемычки устанавливают между платами.

Рис. 3. Печатные платы для самодельных цифровых сегментов на светодиодах.

Изготовление

Изготовление индикатора начинают с нарезки трубочек длиной 77 мм Затем формуют выводы светодиодов — руководствуясь расположением их на платах, показанным на рис. 3, сгибают выводы под прямым углом на расстоянии примерно 2 5…3 мм от корпуса (вывод катода HL14 сгибают на расстоянии, большем на 5 мм).

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

Рис. 4. Коробчатая рамка.

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

Заготовку вырезают из тонкого (толщиной 0.25 — 0.4 мм) плотного картона (например, электрокартона марки ЭВ). Места сгиба показаны на чертеже тонкими штриховыми линиями. места разреза — утолщенными линиями Для того чтобы внутренние стенки удерживались в согнутом состоянии, между ними вклеивают прямоугольные пластины из того же материала.

Рамку с платами помещают в склеенный из непрозрачного листового полистирола корпус, в боковых стенках которого просверлены отверстия под выводы индикатора Внутренние размеры корпуса должны быть на 1 …2 мм больше соответствующих размеров рамки с платами Сверху корпус закрывают крышкой из зеленого органического стекла.

Д. Мамичев. Р-2010-05.

Миниатюрный вольтметр на семисегментном LED индикаторе и PIC16F684

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

Прочитав статьи Edward Ned’а, я собрал DIP-версию и проверил ее в работе. Действительно вольтметр работал, ток через вывод микросхемы к индикатору не превышал 16 миллиампер в импульсе, так что работа микросхемы без резисторов, ограничивающих токи сегментов, вполне допустима и не вызывает перегрузок элементов.
Не понравилось слишком частое обновление показаний на дисплее и предложенная шкала «999». Хотелось подправить программу, но исходных кодов автор не выкладывает.
В это же мне потребовались вольтметр и амперметр для небольшого блока питания. Можно было собрать на PIC16F690 совмещенный вариант, а можно было собрать два миниатюрных вольтметра, причем габариты двух вольтметров получались меньше совмещенного варианта.
Свой выбор я остановил на микросхеме PIC16F684 и написал исходный код для посегментной развертки индикатора.
В процессе написания кода возникла идея программируемого переключения шкал и положения запятой, что и удалось реализовать.

Что умеет мой вольтметр

• Автоматически определяется тип индикатора, поэтому в схеме будут работать как общий анод, так и общий катод.
• С помощью кнопки выставляется желаемая шкала измерений «1023», «511», «343», «256» или «204». Это означает, что при входном напряжении 5 Вольт будет, зажигается максимальное число из вышеуказанных. Поскольку число 10 зажечь на первом элементе индикатора невозможно, то вместо него зажигается верхний сегмент.
• Кнопкой выставляется желаемое место запятой – после первого, второго знака или без запятой.
• Можно запрограммировать сдвиг значений на постоянную величину – потребовался этот режим для правильного измерения тока (вычитается ток измерителя напряжения). Этот вариант и был применен, что и отображено на блок-схеме приложенном примере.

Питание измерителя осуществляется от источника 7,5 – 12 Вольт, при токе 15 – 25 мA, потребление тока зависит от индикатора. Более яркие индикаторы потребляют больший ток.

Выбор шкал измерителя

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

Полная принципиальная схема измерителя

Конструкция

Деталей в схеме очень мало, и все они расположены на плате между выводами индикатора 0,36″.



Кнопка используется только перед установкой в конечное устройство, при эксплуатации ей не пользуются.

Описание программы

При включении происходит измерение падения напряжения на резисторе R4 и по результатам измерений происходит выбор примененного типа индикатора «Общий катод» или «Общий анод».
Для отображения запятой выводов микроконтроллера не хватило, и поэтому запятая формируется переключением катодов или анодов через резистор R5. Величина этого резистора влияет на яркость свечения запятой и подбирается по отсутствию паразитной засветки незажженных запятых.
Сдвиг шкалы вычисляется автоматически по результатам измерения паразитного тока, протекающего по шунту блока питания, если это необходимо.
После установки нужных значений шкалы, положения запятой и сдвига показаний производится запись установленных значений в EEPROM и в дальнейшем эти данные вызываются из памяти при включении.
Программа написана на «mikroC for PIC» и снабжена достаточным количеством комментариев для понимания ее работы.

Управление кнопкой

• Короткое нажатие вызывает смену шкалы. Шкалы меняются по кругу («1023», «511», «343», «256» или «204»). На индикаторе загорается максимальное значение шкала на 0,5 секунды, а затем высвечивается значение входного напряжения.
• Длительное (0,5 – 1 сек) нажатие перемещает запятую вправо по кругу (после первого, второго знака или без запятой).
• Если кнопка удерживается при включении 0,5 — 2 сек, то измеритель ожидает 3 секунды, пока установятся режимы блока питания и записывает величину паразитного тока в память. При этом нагрузка от блока питания не должна быть подключена.
Если эту коррекцию надо изменить, то операцию можно повторить.
Если коррекцию надо убрать, то кнопку надо удерживать при включении более 3 секунд.

Пример применения


Был собран малогабаритный блок питания, у него получились следующие параметры:
Напряжение 0 – 31,2 Вольта.
Ток 0 – 2,2 Ампера.

Как видно из блок-схемы, через шунт протекает ток, потребляемый измерителем напряжения, который сдвигает показания измерителя тока в сторону увеличения. Этот ток имеет постоянную величину, поэтому этот сдвиг можно учесть в программе измерителя.
Для измерения напряжения в этом случае удобными оказались значения: шкала «343» и запятая после 2-го знака. При этом максимальное значение шкалы составит 34,3 Вольта, что вполне приемлемо.

Для измерения тока удобными оказались значения: шкала «255» и запятая после 1-го знака, соответственно максимальное значение шкалы составит 2,55 Ампера. В связи с тем, что по токоизмерительному шунту протекает ток, потребляемый измерителем, показания тока были завышены. После проведения коррекции этот паразитный ток стал вычитаться из общих показаний и показания стали правильными.
После установки шкал в блоке питания были подобраны значения резисторов делителя R2, R3 и коэффициент усиления OP1 так, чтобы показания соответствовали контрольным.

Ссылки

• Простейший вольтметр на PIC16F676.
• Суперпростой вольтметр стал ещё проще!
• Готовые миниатюрные вольтметры с доставкой, кому недосуг паять.
• Семисегментные LED индикаторы с Али.
• Чипы PIC16F684.

Файлы

▼ Исходный код и модель в Proteus 🕗 21/02/19 ⚖️ 25,29 Kb ⇣ 16

Помогите проекту. Поделитесь с друзьями.

Семисегментный индикатор ввиду своей красочности часто применяется для отображения информации, например значения температуры, величины напряжения либо тока. В этой статье мы продолжаем изучать программирование микроконтроллеров и уже научимся подключать к микроконтроллеру 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.

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

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

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

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

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

#include <avr/io.h>

int main(void)

{

DDRD = 0b11111111;

while (1)

{

PORTD = 0b00000110; //1

}

}

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

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

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

#define F_CPU 1000000L

#include <avr/io.h>

#include <util/delay.h>

int main(void)

{

DDRD = 0b11111111;

while (1)

{

PORTD = 0b00111111; //0

_delay_ms(300);

PORTD = 0b00000110; //1

_delay_ms(300);

PORTD = 0b01011011; //2

_delay_ms(300);

PORTD = 0b01001111; //3

_delay_ms(300);

PORTD = 0b01100110; //4

_delay_ms(300);

PORTD = 0b01101101; //5

_delay_ms(300);

PORTD = 0b01111101; //6

_delay_ms(300);

PORTD = 0b00000111; //7

_delay_ms(300);

PORTD = 0b01111111; //8

Сообщества ›
Электронные Поделки ›
Блог ›
Делаем цифровую шкалу

Немножко теории
Наверное нет необходимости рассказывать, что такое 7-сегментные индикаторы. Как сложно и представить область техники, где они не применяются. Соответственно по их подключению написано масса статей, но попробую все таки написать свою 🙂
Итак: что же такое 7-сегментный индикатор?
Обратимся к Википедии: «Семисегме́нтный индика́тор — устройство отображения цифровой информации. Это — наиболее простая реализация индикатора, который может отображать арабские цифры.
Семисегментный индикатор, как говорит его название, состоит из семи элементов индикации (сегментов), включающихся и выключающихся по отдельности. Включая их в разных комбинациях, из них можно составить упрощённые изображения арабских цифр. Часто семисегментные индикаторы делают в курсивном начертании.»


Сегменты обозначаются буквами от A до G; восьмой сегмент — десятичная точка (decimal point, DP), предназначенная для отображения дробных чисел.

По сути говоря данный индикатор — это 8 светодиодов расположенных на панели определенным образом.
Соответственно самая простая схема включения — подсоединить все 8 ножек на выводы микроконтроллера (микросхемы — дешифратора) через балластные резисторы, а на общий провод подавать либо «+» (для индикаторов с общим анодом) либо «-» (для индикаторов с общим катодом).
Пример подключения индикатора с общим анодом для схемы индикации включенной передачи АКПП Лансера приведен ниже

А как быть, если нужно выводить не 1 цифру, а 2,3,4 и более?
И вот тут на помощь приходит человеческая психика. Если мозгу показать несколько быстросменяющихся изображений, то он не успев обработать каждое по отдельности «сольет» их вместе. Этот принцип лег в основу мультипликации. Т.е. для вывода нескольких разрядов (нескольких цифр) нужно подключить к микроконтроллеру не только провода сегментов, но и общие провода каждого из разрядов. Тогда чтобы вывести первый разряд (опять же для схемы с общим анодом) нужно подать «+» только на общий провод первого разряда и «-» на нужные провода сегментов. Задержать изображение на 2-3 милисекунды, переключится на второй разряд и проделать то же самое с ним, поле чего перейти на третий (четвертый и т.д.) или вернутся к первому. Проделывая все это достаточно быстро мы получим в мозгу единую картинку, где все разряды горят одновременно. Для схемы с общим катодом, соответственно, перекидывать нужно «-«.

Кстати, транзисторы в этой схеме необязательны — можно подключить выводы индикатора непосредственно к выводам микроконтроллера и затем не подавать на них напряжение (выводы 8-10 данной схемы), а наоборот «притягивать к земле» выводя на них «низкое» напряжение или попросту говоря 0. А «высокое» напряжение (или 1) подается на общие выводы разрядов, которые не должны в данный момент гореть.
Более подробно о таком способе подключения написано здесь — arduino-kit.com.ua/instru…-indikator-i-arduino.html

В чем же «бяка» данной схемы? А в том, что для вывода например трехразрядного числа нужно задействовать 11 ножек микроконтроллера, причем 7 из них, чтобы не раздувать программу, должны относится к одному порту.
Все это хорошо, но, например, у Attiny2313 такой только порт В на котором «висят» и оба входа аналогового компаратора.
И вот тут на помощь приходят специальные драйверы.
Чаще всего применяют драйвера MAX7219 и MAX7221, управляемые по SPI. Материал по работе с этими драйверами разместил недавно serdgos тут — www.drive2.ru/c/2812487/. Поэтому повторятся не буду — желающие могут почитать. Данные драйвера позволяют уменьшить количество задействованных выводом, но опять же требуют использования дополнительной библиотеки и «привязаны» к строго определенным ножкам микроконтроллера. А есть ли более «хардкорные» решения? Оказывается есть — драйвер CD4026.

Описание Драйвера
Чип CD4026 предназначен для управления 7-сегментными индикаторами и представляет собой счётчик до десятка с встроенным сдвиговым регистром.

Счётчик увеличивается на единицу всякий раз, когда контакт «clock» становится HIGH (на восходящем фронте). Выходы a-g становятся HIGH в соответствии со значением счётчика, и отражают его значение арабской цифрой при подключении 7-сегментного индикатора с общим катодом.


Контакт «reset» должен быть притянут к земле в общем случае. Когда он становится HIGH, счётчик сбрасывается в ноль.
Контакт «disable clock» также должен быть притянут к земле в общем случае. На время пока он HIGH сигналы на контакт «clock» игнорируются.
Контакт «enable display» должен снабжаться напряжением питания. Иначе выходы a-g будут выставлены в LOW. Контакт «enable out» возвращает его значение с небольшой задержкой.
Контакт «÷10» (обозначен как h в таблице) принимает HIGH для значений 0-4 и LOW для 5-9. Его выход может быть отправлен на вход «clock» следующего 7-сегментного драйвера, чтобы организовать счётчик числа с несколькими разрядами.
Контакт «not 2» принимает значениние LOW тогда и только тогда, когда значение счётчика — 2. В остальных случаях он HIGH.
Рабочее напряжение питания: 3—15 В.

Подключение
С этим все просто: смотрим даташит на индикатор. Я использовал 3х- разрядный, но принципиально разницы с четырехразрядным нет, — для подключения четвертого разряда нужно будет еще задействовать вывод 6 индикатора (сейчас он «пустой»).

Сопоставив даташиты у меня получилась такая схема подключения
и после распайки

В качестве источника сигнала выступал Arduino Pro Micro c задействованными выводами
Pin2 Выход на счетчик
Pin3 Сброс счетчика
Pin4 Подключение разряда 1
Pin6 Подключение разряда 2
Pin9 Подключение разряда 3
Точку не подключал, ибо сейчас ненужно, а принцип подключения тот же.

Программа
Так как задействовано Arduino. то и язык соответствующий — модифицированный С.
Прога секундомера, считающего секунды с момента включения, «накидана по быстрячку» чтобы проверить работоспособность, поэтому слегка корява — уж извините.

#define CLOCK_PIN 2
#define RESET_PIN 3
#define DIGIT_1PIN 4
#define DIGIT_2PIN 6
#define DIGIT_3PIN 9

// Обнуляем счётчик при старте, чтобы он не оказался
// в случайном состоянии
resetNumber();
}

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

Семисегментный светодиодный индикатор
Схема подключения одноразрядного семисегментного индикатора
Схема подключения многоразрядного семисегментного индикатора

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

Семисегментный светодиодный индикатор, как говорит его название, состоит из семи элементов индикации (сегментов), включающихся и выключающихся по отдельности. Включая их в разных комбинациях, из них можно составить упрощённые изображения арабских цифр.
Сегменты обозначаются буквами от A до G; восьмой сегмент — десятичная точка (decimal point, DP), предназначенная для отображения дробных чисел.
Изредка на семисегментном индикаторе отображают буквы.

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

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

Всего семисегментный светодиодный индикатор может отобразить 128 символов:

В обычном светодиодном индикаторе девять выводов: один идёт к катодам всех сегментов, а остальные восемь — к аноду каждого из сегментов. Эта схема называется «схема с общим катодом», существуют также схемы с общим анодом (тогда все наоборот). Часто делают не один, а два общих вывода на разных концах цоколя — это упрощает разводку, не увеличивая габаритов. Есть еще, так называемые «универсальные», но я лично с такими не сталкивался. Кроме того существуют индикаторы со встроенным сдвиговым регистром, благодаря чему намного уменьшается количество задействованных выводов портов микроконтроллера, но они намного дороже и в практике применяются редко. А так как необъятное не объять, то такие индикаторы мы пока рассматривать не будем (а ведь есть еще индикаторы с гораздо большим количеством сегментов, матричные).

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

Подключение одноразрядного семисегментного индикатора к микроконтроллеру

На схеме ниже, показано как подключается одноразрядный семисегментный индикатор к микроконтроллеру.
При этом следует учитывать, что если индикатор с ОБЩИМ КАТОДОМ, то его общий вывод подключается к «земле», а зажигание сегментов происходит подачей логической единицы на вывод порта.
Если индикатор с ОБЩИМ АНОДОМ, то на его общий провод подают «плюс» напряжения, а зажигание сегментов происходит переводом вывода порта в состояние логического нуля.

Осуществление индикации в одноразрядном светодиодном индикаторе осуществляется подачей на выводы порта микроконтроллера двоичного кода соответствующей цифры соответствующего логического уровня (для индикаторов с ОК — логические единицы, для индикаторов с ОА — логические нули).

Токоограничительные резисторы могут присутствовать в схеме, а могут и не присутствовать. Все зависит от напряжения питания, которое подается на индикатор и технических характеристик индикаторов. Если, к примеру, напряжение подаваемое на сегменты равно 5 вольтам, а они рассчитаны на рабочее напряжение 2 вольта, то токоограничительные резисторы ставить необходимо (чтобы ограничить ток через них для повышенного напряжении питания и не сжечь не только индикатор, но и порт микроконтроллера).
Рассчитать номинал токоограничительных резисторов очень легко, по формуле дедушки Ома.
К примеру, характеристики индикатора следующие (берем из даташита):
— рабочее напряжение — 2 вольта
— рабочий ток — 10 мА (=0,01 А)
— напряжение питания 5 вольт
Формула для расчета:
R= U/I (все значения в этой формуле должны быть в Омах, Вольтах и Амперах)
R= (напряжение питания — рабочее напряжение)/рабочий ток
R= (5-2)/0.01 = 300 Ом

Подключение многоразрядного семисегментного индикатора к микроконтроллеру

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

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

Осуществление индикации разрядами осуществляется динамическим путем:
— выставляется двоичный код соответствующей цифры на выходах порта РВ для 1 разряда, затем подается логический уровень на управляющий транзистор первого разряда
— выставляется двоичный код соответствующей цифры на выходах порта РВ для 2 разряда, затем подается логический уровень на управляющий транзистор второго разряда
— выставляется двоичный код соответствующей цифры на выходах порта РВ для 3 разряда, затем подается логический уровень на управляющий транзистор третьего разряда
— итак по кругу
При этом надо учитывать:
— для индикаторов с ОК применяется управляющий транзистор структуры NPN (управляется логической единицей)
— для индикатора с ОА — транзистор структуры PNP (управляется логическим нулем)

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

Следующие статьи:
Часть 2: Перевод двоично кода десятичного числа в код семисегментного индикатора. Программа вывода цифры на одноразрядный светодиодный индикатор.
Часть 3: Многоразрядный семисегментный индикатор: организация динамической индикации, алгоритм работы, программа индикации

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

Предыдущий урок Список уроков Следующий урок

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

Этому способствуют следующие их качества.

  • Низкая цена. В средствах индикации нет ничего дешевле светодиодных цифровых индикаторов.
  • Разнообразие размеров. Самые маленькие и самые большие индикаторы – светодиодные. Мне известны светодиодные индикаторы с высотой цифры от 2,5 мм, до 32 см.
  • Светятся в темноте. В некоторых приложениях это свойство чуть ли не решающее.
  • Имеют различные цвета свечения. Бывают даже двухцветные.
  • Достаточно малые токи управления. Современные светодиодные индикаторы могут подключаться к выводам микроконтроллеров без дополнительных ключей.
  • Допускают жесткие условия эксплуатации (температурный диапазон, высокая влажность, вибрации, агрессивные среды и т.п.). По этому качеству светодиодным индикаторам нет равных среди других типов элементов индикации.
  • Неограниченный срок службы.

Типы светодиодных индикаторов.

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

Сегменты обозначаются латинскими буквами от ”A” до ”H”.

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

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

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

Статическое управление светодиодным индикатором.

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

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

R = ( U питания — U сегмента ) / I сегмента

Для этой схемы: I сегмента = ( 5 – 1,5 ) / 1000 = 3,5 мА

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

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

Засветится сегмент, на управляющем выводе которого будет сформирован высокий уровень (5 В).

Мультиплексированный режим управления светодиодными (LED) индикаторами.

Для подключения каждого семисегментного индикатора к микроконтроллеру требуется восемь выводов. Если индикаторов (разрядов) 3 – 4, то задача становится практически не выполнимой. Просто не хватит выводов микроконтроллера. В этом случае индикаторы можно подключить в мультиплексированном режиме, в режиме динамической индикации.

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

Для подключения трех индикаторов потребовалось 11 выводов, а не 24, как при статическом режиме управления.

При динамической индикации в каждый момент времени горит только одна цифра. На общий вывод одного из разрядов подается сигнал высокого уровня (5 В), а на выводы сегментов поступают сигналы низкого уровня для тех сегментов, какие должны светиться в этом разряде. Через определенное время зажигается следующий разряд. На его общий вывод подается высокий уровень, а на выводы сегментов сигналы состояния для этого разряда. И так для всех разрядов в бесконечном цикле. Время цикла называется временем регенерации индикаторов. Если время регенерации достаточно мало, то человеческий глаз не заметит переключения разрядов. Будет казаться, что все разряды светятся постоянно. Для исключения мерцания индикаторов считается, что частота цикла регенерации должно быть не менее 70 Гц. Я стараюсь использовать не менее 100 Гц.

Схема динамической индикации для светодиодов с общим катодом выглядит так.

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

Расчет элементов динамической индикации светодиодных (LED) индикаторов.

Расчет несколько сложнее, чем для статического режима. В ходе расчета необходимо определить:

  • средний ток сегментов;
  • импульсный ток сегментов;
  • сопротивление резисторов сегментов;
  • импульсный ток общих выводов разрядов.

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

Выберем средний ток сегмента 1 мА.

Теперь рассчитаем импульсный ток сегмента. Чтобы обеспечить требуемый средний ток, импульсный ток должен быть в N раз больше. Где N число разрядов индикатора.

I сегм. имп. = I сегм. средн. * N

Для нашей схемы I сегм. имп. = 1 * 3 = 3 мА.

Рассчитываем сопротивление резисторов, ограничивающих ток.

R = ( U питания — U сегмента ) / I сегм. имп.

R = ( 5 – 1,5 ) / 0.003 = 1166 Ом

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

I разряда имп. = I сегм. имп. * 8

Для нашей схемы I разряда имп. = 3 * 8 = 24 мА.

В итоге:

  • сопротивление резисторов выбираем 1,1 кОм;
  • выводы микроконтроллера управления сегментами должны обеспечивать ток не менее 3 мА;
  • выводы микроконтроллера выбора разряда индикатора должны обеспечивать ток не менее 24 мА.

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

Схемы с дополнительными ключами.

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

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

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

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

Для выбора разряда в этой схеме необходимо сформировать сигнал высокого уровня. Соответствующий ключ откроется и замкнет общий вывод разряда на землю.

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

Ключи для индикаторов с повышенным напряжением питания.

Бывают индикаторы больших размеров, в которых каждый сегмент состоит из нескольких светодиодов, соединенных последовательно. Для питания таких индикаторов требуется источник с напряжением большим, чем 5 В. Ключи должны обеспечивать коммутацию повышенного напряжения с управлением от сигналов уровней микроконтроллера (обычно 5 В).

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

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

Между переключением разрядов индикатора на короткое время (1-5 мкс) должны выключаться все сегменты. Это время необходимо на завершение переходных процессов коммутации ключей.

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

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Наверх