Смекни!
smekni.com

Разработка светодиодной матрицы (стр. 5 из 13)

То есть, фактически, картинка показывается за пять циклов: сначала первая строка, потом вторая, потом третья и так далее до пятой строки, после чего все циклы повторяются, но, за счет очень быстрого переключения строк, мы видим один статичный кадр (фрейм) - Рисунок 2.8.

Рисунок 2.8 – Пример фрейма

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

Переключая такие псевдостатичные картинки (но уже с различимой для глаза скоростью) можно получить динамическое изображение. Шесть (к примеру) фреймов для нашей матрицы займут в памяти 5*6=30 байт. Фреймы можно хранить в памяти данных EEPROM. Она имеет размер 128 байт, то есть позволяет хранить до 25 фреймов. Посчитаем: 25*5=125 + 2 байта (для хранения информации о количестве загруженных фреймов и о скорости смены фреймов).

Если соединить контроллер с компьютером через USART, то можно будет загружать фреймы прямо с компьютера.

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

В нашем примере мы будем загружать фреймы из EEPROM в ОЗУ, причём только в нулевой банк, в котором, за вычетом всех пользовательских переменных, на фреймы остается 86 байт, то есть максимум 17 фреймов.

Для реализации динамической картинки "вращающийся крест" нам понадобится 6 фреймов (Рисунок 2.9).

Рисунок 2.9 – Реализация картинки «вращающийся крест»

2.6 Разработка программного обеспечения микроконтроллера

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

Листинг программы для первого случая (Эффект-1) приведен в Приложении Б, а для эффекта «Вращающийся крест» в Приложении В.

2.7 Выбор, описание и расчеты элементной базы

Рассмотрим принципиальную схему (Приложение Д).

Транзисторы VT1- VT5 - это драйверы строк (в открытом состоянии они подключают соответствующие строки к шине питания), VT6 - VT10 - драйверы столбцов (в открытом состоянии они подключают соответствующие столбцы к земле). Когда на базы транзисторов VT1-VT5 подан высокий уровень ("1") - они открываются, когда низкий ("0") - закрываются. Для транзисторов VT6 - VT10 все наоборот, - когда на базах высокий уровень ("1") - транзисторы закрыты, а когда низкий ("0") - открыты. Если светодиод оказывается подключен и к земле и к питанию - через него начинает протекать ток, и, соответственно, он светится.

Использование драйверов обусловлено тем, что максимальный ток порта ввода/вывода ограничен 25мА, а при полностью включенной строке или столбце суммарный ток светодиодов порядка 50 мА, т.е. мы не можем подключать строки и столбцы непосредственно к выводам контроллера.

Элементы:

R1- R25 = 220 Ом. Эти резисторы являются токоограничивающими (ограничивают токи, протекающие через светодиоды). В общем-то светодиоды бывают разные - у одних номинальный ток 10мА, у других 5 мА, у одних падение 1,5В, у других 2В и т.д. Как в общем случае посчитать номинал токоограничивающего резистора?

RTO=(UПИТ-UD-UTR1-UTR2)/IНОМ, (2.1)

где UПИТ - напряжение питания,

UD - падение напряжения на светодиоде,

UTR1 - падение напряжения (коллектор-эмиттер) на открытом транзисторе 1 (драйвер строки),

UTR2 - падение напряжения (коллектор-эмитер) на открытом транзисторе 2 (драйвер столбца),

IНОМ - номинальный ток светодиода.

R26 - R35 = 470 Ом. Эти резисторы ограничивают токи баз транзисторов.

R36 = 1 кОм. Резистор, подтягивающий -MCLR к питанию.

С1 = 0,1 мкФ. Конденсатор, фильтрующий ВЧ помехи по питанию контроллера .

VT1 - VT5 = КТ315 (падение напряжения в открытом состоянии 0,4 В);

VT6 - VT10 = КТ361 (падение напряжения в открытом состоянии 0,4 В).

Спецификация элементной базы приведена в Приложении Ж.

2.8 Разработка схемы электрической принципиальной

По имеющемуся набору данных построим электрическую схему светодиодной матрицы в САПР Accel Eda (Рис. 2.10).

Рисунок 2.10 – Схема электрическая принципиальная светодиодной матрицы в САПР Accel Eda


3 ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ОБЪЕКТА РАЗРАБОТКИ

В данном разделе проводится технико-экономический расчет стоимости светодиодной матрицы.

Стоимость устройства будет состоять из стоимости разработки ПО для микроконтроллера, стоимости разработки конструкторской документации (КД) и стоимости сборки и испытания устройства.

3.1 Расчет расходов на ПО, которое разрабатывается

Исходные данные для расчета стоимости разработки ПО, которое разрабатывается приведены в таблице 3.1.

Таблица 3.1 – Исходные данные по предприятию

№п/п Статьи затрат Усл. обоз. Ед. изм. Значения
Проектирование и разработка ПО
1 Часовая тарифная ставка программиста Зпр грн. 8,00
2 Коэффициент сложности программы с коэф. 1,40
3 Коэффициент коррекции программы Р коэф. 0,05
4 Коэффициент увеличения расходов труда Z коэф. 1,3
5 Коэффициент квалификации программиста k коэф. 1,0
6 Амортизационные отчисления Амт % 10,0
7 Мощность компьютера, принтера WМ Квт/ч 0,40
8 Стоимость ПЕОМ IBM Sempron LE1150(AM2)/1GB/TFT Втз грн. 3200,00
9 Тариф на электроэнергию Це/е грн. 0,56
10 Норма дополнительной зарплаты Нд % 10,0
11 Отчисление на социальные расходы Нсоц % 37,2
12 Транспортно-заготовительные расходы Нтр % 4,0
Эксплуатация П0
13 Численность обслуживающего персонала Чо чел 1
14 Часовая тарифная ставка обслуживающего персонала Зпер грн. 6,00
15 Время обслуживания систем То час/г 150
16 Стоимость ПЕОМ Втз грн. 3200,00
17 Норма амортизационных отчислений на ПЕОМ На % 10,0
18 Норма амортизационных отчислений на ПЗ НаПО % 10,0
19 Накладные расходы Рнак % 25,0
20 Отчисление на содержание и ремонт ПЕОМ Нр % 10,0
21 Стоимость работы одного часа ПЕОМ Вг грн. 6,5

Первичными исходными данными для определения себестоимости ПО является количество исходных команд (операторов) конечного программного продукта. Условное количество операторов Q в программе задания может быть оценено по формуле:

, (3.1)

где у – расчетное количество операторов в программе, что разрабатывается (единиц);

с – коэффициент сложности программы;

р – коэффициент коррекции программы в ходе ее разработки.

Рассчитанное количество операторов в разработанной программе – 500.

Коэффициент с – относительная сложность задания относительно отношения к типичной задаче, сложность которой принята более 1, лежит в границах от 1,25 до 2,0 и выбирается равным 1,30.

Коэффициент коррекции программы р – увеличение объема работ за счет внесения изменений в программу лежит в границах от 0,05 до 0,1 и выбирается равным 0,05.

Подставим выбранные значения в формулу (3.1) и определим величину Q:

Q = 200∙1,3 (1 + 0,05) = 273.


3.2 Расчет расходов на создание ПО

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

(3.2)

где То– расходы труда на описание задания;

Ти – расходы труда на изучение описания задания;

Та– расходы труда на разработку алгоритма решения задания;

Тп – расходы труда на составление программы по готовой блок-схеме;

Тотл – расходы труда на отладку программы на ЭВМ;

Тд– расходы труда на подготовку документации.

Составные расходы труда, в свою очередь, можно определить по числу операторов Q для ПО, которое разрабатывается. При оценке расходов труда используются:

- коэффициенты квалификации разработчика алгоритмов и программ – k;

– увеличение расходов труда в результате недостаточного описания задания – Z.

Коэффициент квалификации разработчика характеризует меру подготовленности исполнителя к порученной ему работе (он задается в зависимости от стажа работы), k = 1,0.

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

Все исходные данные приведенные в таблице 3.1.

а) Трудоемкость разработки П0 составляет:

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

Расходы труда на изучение описания задания Те с учетом уточнения описания и квалификации программиста могут быть определены по формуле: