62948 (Разработка светодиодной матрицы), страница 3
Описание файла
Документ из архива "Разработка светодиодной матрицы", который расположен в категории "". Всё это находится в предмете "коммуникации и связь" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "коммуникации и связь" в общих файлах.
Онлайн просмотр документа "62948"
Текст 3 страницы из документа "62948"
Рисунок 1.10 - Зависимость светового выхода от прямого тока
В стандартном варианте, в режиме мультиплексирования используется отдельный вывод общих катодов для каждой цифры, в то время как все аноды объединены для всех цифр. Число требуемых выводов может быть подсчитано как, 1 – для каждой цифры, плюс 1 - для каждого сегмента цифры. Более экономичная схема использования выводов в режиме мультиплексирования основана на том, что используется только один вывод. Поскольку на вывод светодиода попеременно подается сигнал то от цифры, то от сегмента, то n выходов может использоваться для управления n цифрами и n-1 сегментами. Такой подход задан в светодиодном драйвере Maxim MAX6951 для управления 8-ю цифрами на всего 9-ти ножках.
РАЗДЕЛ 2 РАЗРАБОТКА СВЕТОДИОДНОЙ МАТРИЦЫ
2.1 Постановка задачи
Требуется разработать светодиодную матрицу, которая будет использоваться в праздничные и торжественные дни, на дискотеках, создавая различные световые эффекты.
Разработка устройства будет производиться с учётом следующих требований:
- простота схемы (минимальное количество компонентов);
- устойчивость к изменениям напряжения, долговечность;
- многообразие световых эффектов;
- низкое энергопотребление.
2.2 Разработка структурной схемы устройства и функциональной спецификации
Разработаем структурную схему светодиодной матрицы для создания световых эффектов (Рисунок 2.1).
Функциональная спецификация светодиодной матрицы:
-
Входы:
Электропитание МК (ИП).
-
Выходы:
Управление светодиодной матрицей 5х5 (D1-D25).
-
Функции:
При включении питания МК по заранее запрограммированной программе последний включает набор светодиодов светодиодной матрицы 5х5, создавая различные эффекты.
МК
ИП
СМ 5х5
Рисунок 2.1 – Структурная схема светодиодной матрицы
Структурная схема имеет следующие условные обозначения:
- ИП – источник питания;
- МК – микроконтроллер;
- СМ 5х5 – светодиодная матрица 5х5.
Для проектирования выберем микроконтроллеры серии PIC16F628A. Выбор связан простотой программирования, относительной дешевизной, надежностью, малым током потребления и рядом других признаков о которых будет сказано ниже и в Приложении А.
2.3 Аппаратные средства микроконтроллеров серии PIC16F628А
PIC16F628A - Основные характеристики
Характеристика RISC ядра:
Тактовая частота от DC до 20МГц
Поддержка прерываний 8-уровневый аппаратный стек
Прямая, косвенная и относительная адресация 35 однословных команд
- все команды выполняются за один машинный цикл, кроме команд ветвления и условия с истинным результатом
Особенности микроконтроллеров:
Внешний и внутренний режимы тактового генератора
- Прецизионный внутренний генератор 4МГц, нестабильность +/- 1%
- Энергосберегающий внутренний генератор 37кГц
- Режим внешнего генератора для подключения кварцевого или керамического резонатора
Режим энергосбережения SLEEP
Программируемые подтягивающие резисторы на входах PORTB
Сторожевой таймер WDT с отдельным генератором
Режим низковольтного программирования
Программирование на плате через последовательный порт (ICSP) (с использованием двух выводов)
Защита кода программы
Сброс по снижению напряжения питания BOR
Сброс по включению питания POR
Таймер включения питания PWRT и таймер запуска генератора OST
Широкий диапазон напряжения питания от 2.0В до 5.5В
Промышленный и расширенный температурный диапазон
Высокая выносливость ячеек FLASH/EEPROM
- 100 000 циклов стирания /записи FLASH памяти программ
- 1 000 000 циклов стирания /записи EEPROM памяти данных
- Период хранения данных FLASH/EEPROM памяти > 100 лет
Характеристики пониженного энергопотребления:
Режим энергосбережения:
- 100нА @ 2.0В (тип.)
Режимы работы:
- 12мкА @ 32кГц, 2.0В (тип.)
- 120мкА @ 1МГц, 2.0В (тип.)
Генератор таймера TMR1:
- 1.2мкА, 32кГц, 2.0В (тип.)
Сторожевой таймер:
- 1мкА @ 2.0В (тип.)
Двухскоростной внутренний генератор:
- Выбор скорости старта 4МГц или 37кГц
- Время выхода из SLEEP режима 3мкс @ 3.0В (тип.)
Периферия:
16 каналов ввода/вывода с индивидуальными битами направления
Сильноточные схемы портов сток/исток, допускающих непосредственное подключение светодиодов
Модуль аналоговых компараторов:
- Два аналоговых компаратора
- Внутренний программируемый источник опорного напряжения
- Внутренний или внешний источник опорного напряжения
- Выходы компараторов могут быть подключены на выводы микроконтроллера
TMR0: 8-разрядный таймер/счетчик с программируемым предделителем
TMR1: 16-разрядный таймер/счетчик с внешним генератором
TMR2: 8-разрядный таймер/счетчик с программируемым предделителем и постделителем
CCP модуль:
- разрешение захвата 16 бит
- разрешение сравнения 16 бит
- 10-разрядный ШИМ
Адресуемый USART модуль
Таблица 2.1 – Сравнительная характеристика микроконтроллеров PIC16F
PICmicro | Память программ | ||||||||
(слов) | Память данных | Портов I/O | CCP | ||||||
(ШИМ) | USART | Компар. | Таймеры 8/16 бит | ||||||
ОЗУ | |||||||||
(байт) | EEPROM | ||||||||
(байт) | |||||||||
PIC16F627A | 1024 | 224 | 128 | 16 | 1 | + | 2 | 2/1 | |
PIC16F628A | 2048 | 224 | 128 | 16 | 1 | + | 2 | 2/1 | |
PIC16F648A | 4096 | 256 | 256 | 16 | 1 | + | 2 | 2/1 |
Общий вид микроконтроллера PIC16F628A изображен на рисунке 2.2, а наименование выводов на рисунке 2.3.
Рисунок 2.2 - Общий вид микроконтроллера PIC16F628A
Рисунок 2.3 – Расположение выводов микроконтроллера PIC16F628A
Рисунок 2.4 – Структурная схема микроконтроллера PIC16F628A
2.4 Разработка функциональной схемы устройства
Зная тип микроконтроллера, согласно п.1.1 разрабатываем функциональную схему светодиодной матрицы (Рис. 2.5).
ИП
МК «+»
3,5-5В
Светодиодная
матрица
5 х 5
ДСтр1
ДСтр2
ДСтр3
ДСтр4
ДСтр5
Д
С
т
б
1
Д
С
т
б
2
Д
С
т
б
3
Д
С
т
б
4
Д
С
т
б
5
Рисунок 2.5 – Функциональная схема светодиодной матрицы:
ДСтр1- ДСтр5 – драйвер строки;
ДСтб1- ДСтб1- драйвер столбца.
2.5 Разработка алгоритма управления
Мы рассмотрим два случая световых эффектов для светодиодной матрицы.:
-
Эффект 1 - движущиеся строки и столбцы;
-
Универсальная программа для программирования любых световых эффектов. + пример работы - "вращающийся крест".
Для эффекта 1 алгоритм будет иметь вид, представленный на рисунке 2.6.
Рисунок 2.6 – Алгоритм программы эффекта 1 для светодиодной матрицы
Теперь составим алгоритм для универсальной программы (Рис. 2.7).
Рисунок 2.7 – Алгоритм универсальной программы для светодиодной матрицы
Контроллер управляет драйверами строк и столбцов светодиодной матрицы, в качестве которых выступают обычные биполярные транзисторы.
Чтобы подключить строки 1, 2, 3, 4, 5 к шине питания - нужно подать "1" на выходы контроллера RA2, RA3, RA1, RA7, RA6 соответственно, а для того, чтобы подключить столбцы 1, 2, 3, 4, 5 к нулевой шине (к земле) - нужно подать "0" на выходы контроллера RB3, RB4, RB5, RB6, RB7 соответственно.
Для первого и второго варианта основная проблема нашей матрицы в том, что на ней невозможно включить несколько произвольных светодиодов одновременно в разных строках и столбцах. Однако, в одном столбце (или строке) одновременно включить несколько произвольных светодиодов можно. Но! Если мы будем включать нужные нам светодиоды, например, построчно, при этом очень быстро меняя строки, то для глаза рисунок сольется и будет казаться точно таким же, как если бы мы произвольно включили несколько светодиодов в разных строках и столбцах.
То есть, фактически, картинка показывается за пять циклов: сначала первая строка, потом вторая, потом третья и так далее до пятой строки, после чего все циклы повторяются, но, за счет очень быстрого переключения строк, мы видим один статичный кадр (фрейм) - Рисунок 2.8.
Рисунок 2.8 – Пример фрейма
Так как каждый фрейм у нас состоит из пяти строк, в каждой из которых по пять столбцов, то весь фрейм кодируется 5*5 битами. Для удобства будем использовать один байт на столбец (старшие три бита использовать не будем), итого получим 5 байт на фрейм.
Переключая такие псевдостатичные картинки (но уже с различимой для глаза скоростью) можно получить динамическое изображение. Шесть (к примеру) фреймов для нашей матрицы займут в памяти 5*6=30 байт. Фреймы можно хранить в памяти данных EEPROM. Она имеет размер 128 байт, то есть позволяет хранить до 25 фреймов. Посчитаем: 25*5=125 + 2 байта (для хранения информации о количестве загруженных фреймов и о скорости смены фреймов).