www.diagram.com.ua
www.diagram.com.ua
Русский: Русская версия English: English version
Translate it!
Поиск по сайту

+ Поиск по журналам
+ Поиск по статьям сайта
+ Поиск по схемам СССР
+ Поиск по Библиотеке

Бесплатная техническая библиотека:
Все статьи А-Я
Энциклопедия радиоэлектроники и электротехники
Новости науки и техники
Архив статей и поиск
Ваши истории из жизни
На досуге
Случайные статьи
Отзывы о сайте

Справочник:
Большая энциклопедия для детей и взрослых
Биографии великих ученых
Важнейшие научные открытия
Детская научная лаборатория
Должностные инструкции
Домашняя мастерская
Жизнь замечательных физиков
Заводские технологии на дому
Загадки, ребусы, вопросы с подвохом
Инструменты и механизмы для сельского хозяйства
Искусство аудио
Искусство видео
История техники, технологии, предметов вокруг нас
И тут появился изобретатель (ТРИЗ)
Конспекты лекций, шпаргалки
Крылатые слова, фразеологизмы
Личный транспорт: наземный, водный, воздушный
Любителям путешествовать - советы туристу
Моделирование
Нормативная документация по охране труда
Опыты по физике
Опыты по химии
Основы безопасной жизнедеятельности (ОБЖД)
Основы первой медицинской помощи (ОПМП)
Охрана труда
Радиоэлектроника и электротехника
Строителю, домашнему мастеру
Типовые инструкции по охране труда (ТОИ)
Чудеса природы
Шпионские штучки
Электрик в доме
Эффектные фокусы и их разгадки

Техническая документация:
Схемы и сервис-мануалы
Книги, журналы, сборники
Справочники
Параметры радиодеталей
Прошивки
Инструкции по эксплуатации
Энциклопедия радиоэлектроники и электротехники

Бесплатный архив статей
(500000 статей в Архиве)

Алфавитный указатель статей в книгах и журналах

Бонусы:
Ваши истории
Викторина онлайн
Загадки для взрослых и детей
Знаете ли Вы, что...
Зрительные иллюзии
Веселые задачки
Каталог Вивасан
Палиндромы
Сборка кубика Рубика
Форумы
Голосования
Карта сайта

ДИАГРАММА
© 2000-2022

Дизайн и поддержка:
Александр Кузнецов

Техническое обеспечение:
Михаил Булах

Программирование:
Данил Мончукин

Маркетинг:
Татьяна Анастасьева

Перевод:
Наталья Кузнецова

Контакты

При использовании материалов сайта обязательна ссылка на https://www.diagram.com.ua

сделано в Украине
сделано в Украине

Диаграмма. Бесплатная техническая библиотека

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека для любителей и профессионалов

Матричный светодиодный дисплей

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Освещение

Комментарии к статье Комментарии к статье

При разработке прибора на основе микроконтроллера почти всегда возникает проблема выбора устройства отображения информации. Если требуется выводить на индикатор буквы, цифры и другие символы высокой яркости большого размера, то зачастую лучшее решение - матричный светодиодный дисплей. В предлагаемой статье рассматривается разработанный автором модуль такого дисплея на восемь знакомест. Он может работать с различными источниками информации, получая от них данные для отображения по интерфейсу TWI (I2C). Прототипом блока управления светодиодной матрицей послужила микросхема MAX6953.

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

Знакогенератор модуля содержит символы с кодами $20-$7F, согласно кодовой таблице ASCII (знаки препинания, цифры, латинские буквы и некоторые другие символы), и с кодами $A8, $B8, $00-$FF (русские буквы в соответствии с кодовой таблицей CP1251). При желании набор отображаемых символов можно дополнить, внеся изображения новых символов в находящуюся в программе микроконтроллера таблицу знакогенератора.

Реализовано "мигание" символа на любом из восьми знакомест. Номер знакоместа и частоту мигания задает источник информации. Предусмотрена регулировка яркости свечения светодиодов как автоматически, в зависимости от внешней освещенности, так и вручную.

Модуль соединяется с источником информации по интерфейсу TWI (I2C). Если связи нет, на дисплей выводится сообщение "No Data!". Адрес модуля на шине TWI - $A0. При необходимости (например, если к той же шине подключены и другие устройства с тем же адресом) его можно изменить. Для этого в программе микроконтроллера модуля (файле MATRIX_8D.asm) нужно найти строку

.equ AddrTWI = $A0

и заменить в ней адрес $A0 другим, после чего оттранслировать программу заново.

Блок управления светодиодами состоит из двух узлов, схемы которых показаны на рис. 1 и рис. 2. Платы узлов соединяют между собой, стыкуя разъемы X3 с X12, X4 c X9, а X6 с X7. К разъему X2 присоединяют кабель от источника информации. Через разъем X1 после изготовления модуля программируют микроконтроллер DD1 (ATmega8-16PU). Во FLASH-память микроконтроллера нужно загрузить коды из файла MATRIX_8D.hex, а его конфигурация должна быть запрограммирована в соответствии с табл. 1, где значения разрядов, отличающиеся от установленных изготовителем микроконтроллера, выделены цветом.

Матричный светодиодный дисплей
Рис. 1 (нажмите для увеличения)

Матричный светодиодный дисплей
Рис. 2

Таблица 1

Разряд Знач. Разряд Знач.
RSTDISBL 1 BODLEVEL 0
WDTON 0 BODEN 0
SPIEN 0 SUT1 1
CKOPT 1 SUT0 0
EESAVE 1 CKSEL3 1
BOOTSZ1 0 CKSEL2 1
BOOTSZ0 0 CKSEL1 1
BOOTRST 1 CKSEL0 1

Примечание.0 - разряд запрограммирован, 1 - разряд не запрограммирован.

На платах имеется восемь (по одному на каждое знакоместо дисплея) узлов A1-A8, формирующих под управлением микроконтроллера сигналы, подаваемые на объединенные катоды каждого ряда светодиодов знакоместа матрицы. Все эти узлы одинаковы и собраны по схеме, изображенной на рис. 3. В каждом имеются микросхема МС74HC595AD, преобразующая выдаваемый микроконтроллером последовательный код в параллельный, и набор усилителей тока с открытым коллектором на составных транзисторах (микросхема ULN2803ADW). К каждому из разъемов X1 узлов А1-А8 подключают катоды рядов светодиодов соответствующего знакоместа.

Матричный светодиодный дисплей
Рис. 3

Программа микроконтроллера поочередно выбирает узлы A1-A8 для загрузки в них кодов, выводя на выходы PC0-PC2 микроконтроллера код от О до 7 (на единицу меньше номера знакоместа), а на выход PC3 - сигнал, разрешающий работу дешифратора DD2 (см. рис. 1). В результате на соответствующем коду выходе дешифратора устанавливается низкий логический уровень, что разрешает соединенной с ним микросхеме DD1 (рис. 3) прием последовательного кода, формируемого программой на выходе PB3 микроконтроллера.

Сигналами, формируемыми на выходах PD3-PD7 и усиленными транзисторами VT2-VT6, поочередно подается напряжение питания в каждую из пяти цепей, объединяющих аноды колонок светодиодов матрицы. Колонки с одинаковыми номерами восьми знакомест соединены параллельно и включаются одновременно, что делает мерцание дисплея менее заметным. Транзистор VT1, управляемый сигналом с выхода PB0 микроконтроллера, позволяет выключить все светодиоды дисплея одновременно.

Для питания модуля дисплея на разъем X8 подают напряжение 9 В, 50 Гц. Его можно получить от любого подходящего понижающего трансформатора. Автор использовал трансформатор ТП-132-3 с напряжением на вторичной обмотке 9 В при токе нагрузки 0,5 А. Переменное напряжение выпрямляет диодный мост VD2. Интегральный стабилизатор DA1 обеспечивает напряжением 5 В микросхемы модуля. На полевом транзисторе VT8 и параллельном стабилизаторе DA2 построен стабилизатор с регулируемым выходным напряжением. Использована схема, описанная И. Нечаевым в статье "Стабилизатор с малым минимальным падением напряжения". Устанавливаемое с помощью подстроечного резистора R17 напряжение Uярк через транзисторы VT1-VT6 поступает на аноды светодиодов и определяет яркость их свечения.

Дополнительно управляет яркостью полевой транзистор VT7. На его затвор подано напряжение с образованного переменным резистором R11, постоянными резисторами R12, R13 и фоторезистором R16 делителя напряжения. Сопротивление фоторезистора уменьшается при возрастании освещенности места, где установлен дисплей. В результате напряжение на затворе транзистора VT7 растет и он открывается, что уменьшает напряжение Uярк и яркость свечения светодиодов дисплея. Переменным резистором R11 устанавливают оптимальные пределы автоматического изменения яркости. Сняв перемычку S1, автоматическое управление яркостью можно отключить.

Светодиодная матрица расположена на двух одинаковых платах, собранных по показанной на рис. 4 схеме. Разъем X1 первой светодиодной платы соединяют с разъемом X5 платы, схема которой изображена на рис. 1, а разъемы X2-X5 - с разъемами X1 узлов A1-A4 на той же плате. Аналогично соединяют вторую светодиодную плату с той, схема которой показана на рис. 2, используя разъем X11 и разъемы Xl узлов A5-A8.

Матричный светодиодный дисплей
Рис. 4 (нажмите для увеличения)

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

Все печатные платы модуля - двусторонние из фольгированного стеклотекстолита толщиной 1,5 мм. Чертеж печатных проводников платы, на которой находятся микроконтроллер и узлы A1-A4, показан на рис. 5, а расположение деталей на ней - на рис. 6.

Матричный светодиодный дисплей
Рис. 5

Матричный светодиодный дисплей
Рис. 6

Плату с узлами A5-A8 изготавливают по чертежу, показанному на рис. 7, а детали на ней располагают согласно рис. 8. На обеих платах позиционные обозначения относящихся к узлам A1-A8 деталей (в том числе разъемов) снабжены префиксами, совпадающими с номером узла, например, 8DD1. Разъемы X5, X11 и 1X1-8X1 размещены на сторонах плат, противоположных тем, где установлены остальные детали. Так сделано для удобства их непосредственной стыковки с разъемами, находящимися на платах светодиодных матриц. Чертеж этих плат (их две одинаковые) приведен на рис. 9. Разъемы на них установлены на стороне, противоположной светодиодам. На всех платах используются однорядные разъемы PBS (гнезда) и PLS (штыри).

Матричный светодиодный дисплей
Рис. 7

Матричный светодиодный дисплей
Рис. 8

Матричный светодиодный дисплей
Рис. 9

Исключение представляют двухрядные X1, X2 (PLD-6) и X10 (PBD-4) на платах управления.

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

Таблица 2

Символ Код символа, HEX Адрес в блоке Дисплейные коды
BIN HEX
@ 40 0 1 2 3 4 01111100 10000010 11110010 10010010 01100100 7С 80 F2 92 64
А 41 5 6 7 8 9 01111110 10001000 10001000 10001000 01111110 7Е 88 88 88 7Е
В 42 10 11 12 13 14 11111110 10010010 10010010 10010010 01101100 FE 92 92 92 6С
С 43 15 16 17 18 19 01111100 10000010 10000010 10000010 01000100 7С 82 82 82 44

Программа переписывает дисплейные коды символа в ячейки ОЗУ, где они временно хранятся перед выводом на дисплей. Аппаратный модуль SPI микроконтроллера поочередно вдвигает эти коды в последовательные регистры микросхем 74HC595 тех узлов A1-A8, для которых они предназначены. Отсюда они переносятся в их регистры хранения сигналами, формируемыми на выходе PB2 микроконтроллера.

Общее число колонок светодиодов в восьмиразрядном дисплее - 5x8=40. Обновлять информацию на нем необходимо с частотой не менее 100 Гц, иначе возможно мерцание. Таким образом, на запись информации в одну колонку может быть израсходовано не более 1/100/40=0,00025 с - это 4000 периодов тактовой частоты микроконтроллера, равной 16 МГц. Запросы прерывания программы приблизительно с таким периодом генерирует восьмиразрядный таймер микроконтроллера с предварительным делителем тактовой частоты на 64. Коэффициент пересчета таймера задан равным 62. Фактическая частота обновления информации получилась равной 16000000/64/62/40=100,8 Гц.

Всякий раз, когда выведенную на дисплей информацию нужно изменить, ее источник должен передать в модуль по интерфейсу TWI пакет из адресного и десяти информационных байтов. Адресный байт должен содержать адрес модуля с нулем (признаком записи) в младшем двоичном разряде. Первые восемь информационных байтов содержат коды символов, которые должны быть выведены на дисплей в порядке слева направо. Старшие четыре разряда девятого байта должны содержать число, на 7 единиц большее номера мигающего знакоместа на дисплее (номера отсчитываются от 1 до 8 слева направо). При нулевом значении этого байта мигание выключено. Период мигания задает число в десятом байте, каждая его единица соответствует 50 мс.

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

Обработка ошибок приема в программе микроконтроллера не производится. Если принят код символа, отсутствующего в знакогенераторе, на соответствующее знакоместо будет выведен вопросительный знак в прямоугольной рамке. Команда очистки дисплея не предусмотрена. Вместо нее следует передавать информационный пакет с восемью символами пробела ($20).

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

Внешний вид модуля дисплея без корпуса со стороны светодиодов показан на рис. 10, а со стороны установки микросхем - на рис. 11. Перед первым включением собранной конструкции необходимо установить минимальное значение напряжения Uярк. Узел автоматического регулирования яркости настраивают в зависимости от условий работы дисплея.

Матричный светодиодный дисплей
Рис. 10

Матричный светодиодный дисплей
Рис. 11

Корпус модуля - от видеопроигрывателя фирмы Philips. Линии SDA и SCL подключены к модулю через переключатель на два направления и два положения. В одном положении информация поступает от любого внешнего источника через установленный на корпусе модуля четырехконтактный разъем. Во втором - от находящихся в том же корпусе электронных часов, собранных по схеме, изображенной на рис. 12.

Матричный светодиодный дисплей
Рис. 12

Часы построены на микроконтроллере ATmega8535-16PU (DD1) и микросхеме DS1307 (DD2) - часах реального времени с интерфейсом I2C. Для связи с микросхемой DD2 микроконтроллер DD1 использует ту же двухпроводную шину, по которой он передает информацию в модуль дисплея. Но адреса микросхемы ($D0) и модуля ($A0) на шине разные, что дает микроконтроллеру часов возможность различать их. Позаботиться о том, чтобы адреса не совпадали, нужно и при соединении модуля дисплея с другими источниками информации.

Во FLASH-память микроконтроллера часов заносят коды из файла MasterDevice.hex, а конфигурацию программируют согласно табл. 3. Как и в табл. 1, состояния разрядов, отличающиеся от установленных изготовителем, выделены цветом.

Таблица 3

Разряд Знач. Разряд Знач.
S8535C 1 BODLEVEL 1
WDTON 1 BODEN 1
SPIEN 0 SUT1 1
С КОРТ 1 SUT0 1
EESAVE 1 CKSEL3 1
BOOTSZ1 0 CKSEL2 1
BOOTSZ0 0 CKSEL1 0
BOOTRST 1 CKSEL0 1

Примечание. 0 - разряд запрограммирован, 1 - разряд не запрограммирован.

В часах имеются семь кнопок управления. Их назначение:

SB1 - установка микроконтроллера в исходное состояние, перезапуск программы;

SB2 - переход в режим установки времени и даты. На дисплей кратковременно выводится надпись "Время". Затем выводится название регистра, содержимое которого предстоит изменить, и записанное в нем значение;

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

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

SB5 - запись в регистр нового значения, на дисплей кратковременно выводится надпись "Запись";

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

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

Программы микроконтроллеров модуля дисплея и часов можно скачать с ftp://ftp.radio.ru/pub/2014/06/disp.zip.

Автор: Н. Салимов

Смотрите другие статьи раздела Освещение.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Рекомендуем скачать в нашей Бесплатной технической библиотеке:

раздел сайта Молниезащита

журналы Радиодизайн (годовые архивы)

книга Защита от однофазных замыканий на землю в сетях 6-35 кВ. Шабад М.А., 2007

книга Радиолюбительские карманные приемники на транзисторах. Зотов В.Е., 1964

статья Нормы испытаний электрооборудования и аппаратов электроустановок потребителей. Усредненные распределения напряжений по подвесным фарфоровым изоляторам гирлянд ВЛ 35 - 220 кВ

статья Организация питания в условиях автономного выживания

справочник Зарубежные микросхемы и транзисторы. Серия L

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:

[lol][cry][!][?]




Бесплатная техническая библиотека Бесплатная техническая документация для любителей и профессионалов