Бесплатная техническая библиотека ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ Матричный светодиодный дисплей. Энциклопедия радиоэлектроники и электротехники Энциклопедия радиоэлектроники и электротехники / Освещение При разработке прибора на основе микроконтроллера почти всегда возникает проблема выбора устройства отображения информации. Если требуется выводить на индикатор буквы, цифры и другие символы высокой яркости большого размера, то зачастую лучшее решение - матричный светодиодный дисплей. В предлагаемой статье рассматривается разработанный автором модуль такого дисплея на восемь знакомест. Он может работать с различными источниками информации, получая от них данные для отображения по интерфейсу 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
Примечание.0 - разряд запрограммирован, 1 - разряд не запрограммирован. На платах имеется восемь (по одному на каждое знакоместо дисплея) узлов A1-A8, формирующих под управлением микроконтроллера сигналы, подаваемые на объединенные катоды каждого ряда светодиодов знакоместа матрицы. Все эти узлы одинаковы и собраны по схеме, изображенной на рис. 3. В каждом имеются микросхема МС74HC595AD, преобразующая выдаваемый микроконтроллером последовательный код в параллельный, и набор усилителей тока с открытым коллектором на составных транзисторах (микросхема ULN2803ADW). К каждому из разъемов X1 узлов А1-А8 подключают катоды рядов светодиодов соответствующего знакоместа.
Программа микроконтроллера поочередно выбирает узлы 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.
Вместо дискретных светодиодов для построения дисплея можно использовать готовые светодиодные знакосинтезирующие матрицы с организацией 5x8 или 5x7 элементов с анодами, подключенными к колонкам матрицы. Учтите только, что матрицы 5x7 не позволят полноценно отобразить все русские буквы. Все печатные платы модуля - двусторонние из фольгированного стеклотекстолита толщиной 1,5 мм. Чертеж печатных проводников платы, на которой находятся микроконтроллер и узлы A1-A4, показан на рис. 5, а расположение деталей на ней - на рис. 6.
Плату с узлами A5-A8 изготавливают по чертежу, показанному на рис. 7, а детали на ней располагают согласно рис. 8. На обеих платах позиционные обозначения относящихся к узлам A1-A8 деталей (в том числе разъемов) снабжены префиксами, совпадающими с номером узла, например, 8DD1. Разъемы X5, X11 и 1X1-8X1 размещены на сторонах плат, противоположных тем, где установлены остальные детали. Так сделано для удобства их непосредственной стыковки с разъемами, находящимися на платах светодиодных матриц. Чертеж этих плат (их две одинаковые) приведен на рис. 9. Разъемы на них установлены на стороне, противоположной светодиодам. На всех платах используются однорядные разъемы PBS (гнезда) и PLS (штыри).
Исключение представляют двухрядные X1, X2 (PLD-6) и X10 (PBD-4) на платах управления. Коды символов, принятые от источника информации, программа микроконтроллера DD1 сохраняет в ОЗУ, а затем анализирует и отыскивает в таблице знакогенератора соответствующие изображению нужного символа коды для вывода на дисплей. Фрагмент знакогенератора, состоящего из десяти блоков по 16 символов, приведен в табл. 2. Каждый символ описывается пятью (по числу колонок матрицы) восьмиразрядными (по числу рядов матрицы) двоичными кодами. Единицы в этих кодах соответствуют включенным светодиодам, нули - выключенным. Таблица 2
Программа переписывает дисплейные коды символа в ячейки ОЗУ, где они временно хранятся перед выводом на дисплей. Аппаратный модуль 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ярк. Узел автоматического регулирования яркости настраивают в зависимости от условий работы дисплея.
Корпус модуля - от видеопроигрывателя фирмы Philips. Линии SDA и SCL подключены к модулю через переключатель на два направления и два положения. В одном положении информация поступает от любого внешнего источника через установленный на корпусе модуля четырехконтактный разъем. Во втором - от находящихся в том же корпусе электронных часов, собранных по схеме, изображенной на рис. 12.
Часы построены на микроконтроллере ATmega8535-16PU (DD1) и микросхеме DS1307 (DD2) - часах реального времени с интерфейсом I2C. Для связи с микросхемой DD2 микроконтроллер DD1 использует ту же двухпроводную шину, по которой он передает информацию в модуль дисплея. Но адреса микросхемы ($D0) и модуля ($A0) на шине разные, что дает микроконтроллеру часов возможность различать их. Позаботиться о том, чтобы адреса не совпадали, нужно и при соединении модуля дисплея с другими источниками информации. Во FLASH-память микроконтроллера часов заносят коды из файла MasterDevice.hex, а конфигурацию программируют согласно табл. 3. Как и в табл. 1, состояния разрядов, отличающиеся от установленных изготовителем, выделены цветом. Таблица 3
Примечание. 0 - разряд запрограммирован, 1 - разряд не запрограммирован. В часах имеются семь кнопок управления. Их назначение: SB1 - установка микроконтроллера в исходное состояние, перезапуск программы; SB2 - переход в режим установки времени и даты. На дисплей кратковременно выводится надпись "Время". Затем выводится название регистра, содержимое которого предстоит изменить, и записанное в нем значение; SB3 - переход из режима отображения текущего времени в режим отображения даты. В режиме установки времени и даты - переход к регистру с меньшим адресом, что отображается на дисплее; SB4 - переход из режима установки времени и даты в режим отображения текущего времени. При нажатии на эту кнопку запускается внутренний генератор часов, счет секунд начинается с нуля. На дисплей кратковременно выводится надпись "Готово"; SB5 - запись в регистр нового значения, на дисплей кратковременно выводится надпись "Запись"; SB6 - увеличение значения для записи в выбранный регистр, сама запись происходит при нажатии на кнопку SB5; SB7 - переход из режима отображения даты в режим отображения текущего времени. В режиме установки времени и даты - уменьшение значения для записи в выбранный регистр, сама запись происходит при нажатии на кнопку SB5. Программы микроконтроллеров модуля дисплея и часов можно скачать с ftp://ftp.radio.ru/pub/2014/06/disp.zip. Автор: Н. Салимов Смотрите другие статьи раздела Освещение. Читайте и пишите полезные комментарии к этой статье. Последние новости науки и техники, новинки электроники: Искусственная кожа для эмуляции прикосновений
15.04.2024 Кошачий унитаз Petgugu Global
15.04.2024 Привлекательность заботливых мужчин
14.04.2024
Другие интересные новости: ▪ Марсианский грунт доставят на Землю ▪ Разработана технология для добычи воды на Луне ▪ Холодостойкие никель-кадмиевые аккумуляторы ▪ Оценка роста человека за 2000 лет Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки: ▪ раздел сайта Защита электроаппаратуры. Подборка статей ▪ статья Хлестаков. Крылатое выражение ▪ статья Репейник. Легенды, выращивание, способы применения ▪ статья Типы ветроэнергетических установок. Энциклопедия радиоэлектроники и электротехники ▪ статья Предсказание стопочки карт. Секрет фокуса
Оставьте свой комментарий к этой статье: All languages of this page Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте www.diagram.com.ua |