Проект устройства со световыми эффектами на основе микроконтроллера ATtiny12 семейства AVR фирмы Atmel - Курсовая работа

бесплатно 0
4.5 176
Особенности микроконтроллера ATTINY семейства AVR. Описание ресурсов микроконтроллера ATTINY12: описание процессора, порты ввода/вывода, периферийные устройства, архитектура ядра. Разработка устройства со световыми эффектами на базе микроконтроллера.


Аннотация к работе
Важной особенностью этих микроконтроллеров является эффективное использование выводов кристалла, например, в 8-выводном корпусе все выводы (кроме, разумеется, выводов питания) могут использоваться в качестве линий ввода / вывода. При этом некоторые модели имеют выводы, способные работать либо только как входы, либо только как выходы. Отличительной особенностью моделей семейства AVR, выпускающихся в 8-выводном корпусе, является совмещение функций ввода / вывода с функциями управления (выводы для подключения внешнего резонатора и вывод сброса). Микроконтроллеры из каждой группы моделей семейства AVR имеют различное количество портов и соответственно контактов ввода / вывода: 1 ATTINY11x имеют один 6-разрядный порт ввода / вывода (порт B). Во всех микроконтроллерах ATTINY семейства AVR подавляющее большинство контактов ввода / вывода имеют дополнительные функции и используются периферийными устройствами микроконтроллеров.В данном курсовом проекте был разработан проект устройства со световыми эффектами на основе микроконтроллера ATTINY12 семейства AVR фирмы Atmel.

Введение
Популярность микроконтроллеров ATTINY постоянно увеличивается. Не последнюю роль в этом играет соотношение показателей «цена/ быстродействие/ энергопотребление», являющееся одним из лучших на рынке 8-разрядных микроконтроллеров. Кроме того, постоянно растет число выпускаемых сторонними производителями разнообразных программных и аппаратных средств поддержки разработок устройств на их основе. Все это позволяет говорить о микроконтроллерах ATTINY как о новом индустриальном стандарте среди 8-разрядных микроконтроллеров общего применения.

Объектом исследования является устройство управления световых эффектов.

Предметом исследования является Система управления объектом исследования.

Цель курсовой работы - разработка и программирование микропроцессорной системы устройства световых эффектов на базе микроконтороллера, основываясь на знаниях, полученных при изучении дисциплины «Микроконтроллеры и микропроцессорные системы».

1. Особенности микроконтроллера ATTINY семейства AVR

Микроконтроллеры ATTINY семейства AVR являются 8-разрядными микроконтроллерами с RISC архитектурой. Они имеют электрически стираемую FLASH память программ (ряд моделей имеет также энергонезависимую EEPROM память данных), а также разнообразные периферийные устройства. Состав этих устройств меняется от модели к модели, более того, одно и то же устройство в разных моделях использует различные ресурсы микроконтроллера (в частности, различные выводы).

Они изготавливаются по мало-потребляющей КМОП технологии, которая в сочетании с усовершенствованной RISC архитектурой позволяет достичь наилучшего соотношения быстродействие /энергопотребление. Удельное быстродействие этих микроконтроллеров может достигать значения 1 MIPS/МГЦ (1 миллион операций в секунду на 1 МГЦ тактовой частоты). Микроконтроллеры описываемого семейства предназначены в первую очередь для низко-стоимостных («бюджетных») приложений и соответственно являются самыми дешевыми из всех микроконтроллеров семейства AVR. Важной особенностью этих микроконтроллеров является эффективное использование выводов кристалла, например, в 8-выводном корпусе все выводы (кроме, разумеется, выводов питания) могут использоваться в качестве линий ввода / вывода. [2, с. 9]

2. Описание ресурсов микроконтроллера TINY12 микроконтроллер процессор периферийный ядро

Основными характеристиками центрального процессора микроконтроллеров рассматриваемого семейства являются: 1 полностью статическая архитектура;

2 минимальная тактовая частота равна нулю;

3 АЛУ подключено непосредственно к регистрам общего назначения;

4 большинство команд выполняются за один машинный цикл;

5 многоуровневая система прерываний;

6 поддержка очереди прерываний;

7 5-8 источников прерываний (из них до 2-х внешних);

8 трехуровневый аппаратный стек. [1, с. 13]

2.2 Порты ввода / вывода

Каждый порт Микроконтроллера ATTINY состоит из определенного числа выводов, через которые микроконтроллер может принимать или передавать цифровые сигналы. Задание направления передачи данных через любой контакт ввода / вывода может быть произведено программно в любой момент времени. При этом некоторые модели имеют выводы, способные работать либо только как входы, либо только как выходы. Входные буферы портов построены по схеме триггера Шмитта. Для большинства линий, сконфигурированных как входные, также имеется возможность подключения внутреннего подтягивающего резистора сопротивлением 35-120 КОМ между входом и шиной питания-Vcc. Кроме того, если между входом с задействованным внутренним подтягивающим резистором и общей шиной подключить нагрузку, этот вход может служить источником тока. В портах ввода / вывода микроконтроллеров ATTINY семейства AVR реализована истинная функциональность вида «чтение / модификация / запись». Благодаря этому, используя команды SBI и CBI, можно выполнять операции над любым выводом, не воздействуя на другие выводы порта. Это относится к изменению режима работы контакта ввода / вывода, к изменению выходного значения и к изменению состояния внутреннего подтягивающего резистора (для входов).

Отличительной особенностью моделей семейства AVR, выпускающихся в 8-выводном корпусе, является совмещение функций ввода / вывода с функциями управления (выводы для подключения внешнего резонатора и вывод сброса). Соответственно в распоряжении пользователя оказываются до 6 линий ввода / вывода, т.к. эти модели могут быть сконфигурированы для работы без внешнего резонатора и без вывода аппаратного сброса.

Микроконтроллеры из каждой группы моделей семейства AVR имеют различное количество портов и соответственно контактов ввода / вывода: 1 ATTINY11x имеют один 6-разрядный порт ввода / вывода (порт B).

Контактов ввода / вывода - 5, входных контактов -1;

2 ATTINY12x имеют один 6-разрядный порт ввода / вывода (порт B).

Контактов ввода / вывода - 6;

3 ATTINY15L также имеет один 6-разрядный порт ввода / вывода B.

Контактов ввода / вывода - 6;

4 ATTINY28x имеют три порта ввода / вывода: порт A (4-разрядный), порт B (8-разрядный) и порт D (8-разрядный). Общее количество контактов ввода / вывода равно 11, выходных контактов - 1 (линия порта A), входных контактов - 8 (порт B).

Во всех микроконтроллерах ATTINY семейства AVR подавляющее большинство контактов ввода / вывода имеют дополнительные функции и используются периферийными устройствами микроконтроллеров. [1, c. 77]

2.3 Характеристики подсистемы ввода / вывода

Основными характеристиками подсистемы ввода / вывода являются: 1 программное конфигурирование и выбор портов ввода / вывода;

2 выводы могут быть запрограммированы как входные или как выходные независимо друг от друга;

3 входные буферы с триггером Шмитта на всех выводах;

4 возможность подключения к входам внутренних подтягивающих резисторов (сопротивление резисторов составляет 35 - 120 КОМ).

Расположение выводов моделей ATTINY12/12L/12V показано на рис. 1.

Рисунок 1 - Расположение выводов моделей ATTINY12/12L/12V

Описание выводов модели ATTINY12/12L/12V показано в таблице 1. [3, c. 15]

Таблица 1 - Описание выводов модели ATTINY12/12L/12V

Обозначение Номер вывода Вывода описание Тип

PB0 (MOSI/AIN0) 5 I/O 0-й разряд порта B (вход данных при программировании, положительный вход компаратора)

PB1 (MISO/INT0/ AIN1) 6 I/O 1-й разряд порта B (выход данных при программировании, вход внешнего прерывания, отрицательный вход компаратора)

PB2 (SCK/T0) 7 I/O 2-й разряд порта B (вход тактового сигнала при программировании, вход внешнего тактового сигнала таймера / счетчика T0)

PB3 (XTAL1) 2 I/O 3-й разряд порта В (Вход тактового генератора)

PB4 (XTAL2) 3 I/O 4-й разряд порта В (Выход тактового генератора)

PB5 (RESET) 1 I/O 5-й разряд порта В, тип выхода - открытый коллектор (Вход сброса)

GND 4 P Общий вывод

VCC 8 8 P Вывод источника питания

2.4 Периферийные устройства

Набор периферийных устройств, имеющихся в составе того или иного микроконтроллера, зависит от конкретной модели. В общем, в составе микроконтроллеров ATTINY12 семейства AVR встречаются следующие периферийные устройства: 1 8-разрядный таймер / счетчик с предделителем (таймер - T0);

2 второй 8-разрядный таймер / счетчик с предделителем (таймер - T1);

3 сторожевой таймер WDT;

4 одноканальный генератор сигнала с ШИМ разрядностью 8 бит;

5 (один из режимов работы таймера T1);

6 аналоговый компаратор;

7 10-разрядный АЦП (4 канала);

8 аппаратный модулятор. [1, с. 14]

2.5 Архитектура ядра RISC

Ядро микроконтроллеров ATTINY семейства AVR выполнено по усовершенствованной RISC (enhanced RISC) архитектуре, в которой используется ряд решений, направленных на повышение быстродействия микроконтроллеров.

Арифметико-логическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32-рабочим регистрам, объединенным в регистровый файл. Благодаря этому АЛУ выполняет одну операцию (чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за один машинный цикл. Кроме того, в микроконтроллерах ATTINY семейства AVR каждая из команд занимает только одну ячейку памяти программ.

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

В отличие от RISC-микроконтроллеров других фирм, в микроконтроллерах AVR используется 2-уровневый конвейер, а длительность машинного цикла составляет всего один период кварцевого резонатора. В результате, при более низкой тактовой частоте они могут обеспечивать ту же производительность, что и RISC-микроконтроллеры других фирм. [4, с. 30]

Архитектура ядра микроконтроллеров ATTINY семейства AVR показана на рис. 2.

Рисунок 2 - Архитектура ядра микроконтроллеров ATTINY семейства AVR

2.6 Устройство управления микроконтроллеров ATTINY семейства AVR

Микроконтроллеры ATTINY предоставляют пользователю широкие возможности по выбору источника тактового сигнала и его частоты. Здесь может быть использован встроенный генератор с внутренним или внешним кварцевым резонатором, внешний сигнал синхронизации, встроенный RC-генератор с внутренней или внешней времязадающей RC-цепочкой. Исключение составляет лишь микроконтроллер ATTINY15L. В этой модели тактовый сигнал может вырабатываться только встроенным генератором с внутренней RC-цепочкой.

Все микроконтроллеры ATTINY имеют два режима пониженного энергопотребления: Idle (режим ожидания) и Power Down. А микроконтроллер ATTINY15L имеет еще и дополнительный режим - ADC Noise Reduction (режим снижения шумов АЦП). Эти режимы часто называют одним словом «спящий» режим. Каждый из этих режимов позволяет значительно сократить энергопотребление в периоды бездействия микроконтроллера. Вход в этот режим выполняется по команде SLEEP. При выходе микроконтроллера из «спящего» режима производится его реинициализация (сброс в исходное состояние и просто сброс).

Разумеется, сброс микроконтроллера может произойти не только при его «пробуждении». Другими событиями, при которых осуществляется сброс микроконтроллера, являются подача напряжения питания, снижение напряжения питания ниже минимально допустимого уровня, срабатывание сторожевого таймера, появление на выводе RESET - сигнала низкого уровня. [4, c. 22]

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

3. Разработка устройства со световыми эффектами на базе микроконтроллера ATTINY12

3.1 Структурная блок-схема микроконтроллеров ATTINY12/12L/12V

Структурная блок-схема микроконтроллеров ATTINY12/12L/12V показана на рис. 3. [1, c. 21]

Рисунок 3 - Структурная блок-схема микроконтроллеров ATTINY12/12L/12V

3.2 Структурная схема световых эффектов

Схема состоит из микроконтроллера ATTINY12 семейства AVR, дешифратора двоично-десятичного кода в десятичный, десяти светодиодов и резисторов ограничителей тока.

Структурная схема световых эффектов приведена на рис. 4.

Рисунок 4 - Структурная схема световых эффектов

Отличительной особенностью микроконтроллера tiny12 является встроенный АЦП с четырьмя коммутируемыми входами. Макет позволяет наглядно изучить свойства АЦП, работу портов ввода-вывода, вместить в небольшую память МК различные подпрограммы, поэкспериментировать с динамическим режимом работы светодиодов. [7]

3.3 Монтажная плата

Новшеством является использование резисторов R12, R13 и конденсатора СЗ. С помощью резистора R12 на входе АЦП 3 (альтернативная функция вывода РВ4) можно установить напряжение от 0 до 5 В. (для несимметричных входов диапазон входных напряжений составляет шину питания - Vcc). Конденсатор СЗ позволяет сгладить всплески напряжения при изменении регулятора R12. Тем самым АЦП преобразует интегрированное значение напряжения на входе. Для ограничения тока на вход АЦП установлен резистор R13. Для более эффективного сброса микроконтроллера в схеме установлена цепочка Rll, С2. Дешифратор VI управляет непосредственно светодиодами. [6]

3.4 Алгоритм работы системы

Алгоритм работы системы световых эффектов представлен на рис. 6.

Рисунок 6 - Алгоритм работы системы

3.5 Описание алгоритма работы системы

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

Работа АЦП микроконтроллера ATTINY12 отличается от правил, установленных более развитых моделей семейства AVR. На первом этапе необходимо выполнить коммутацию аналогового входа АЦП с помощью встроенного аналогового мультиплексора. Для этого в разрядах 0-2 регистра ADMUX устанавливается соответствующая комбинация нулей и единиц. Кроме того, необходимо установить источник опорного напряжения с помощью разрядов 6и 7 регистра ADMUX.

На втором этапе с помощью разрядов 0-2 регистра ADCSR задается тактовая частота АЦП путем деления тактовой частоты микроконтроллера. Затем разрешается работа АЦП, выбирается режим его работы.

(в данном случае - одиночное преобразование), и активизируется преобразование.

По завершении преобразования, которое длится 25 тактов АЦП, данные записываются в регистры ADCL и ADCH. Чтение этих регистров выполняют в строгой последовательности: вначале ADCL, затем ADCH.

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

Подпрограмма задержки выполнена в виде трех вложенных циклов (их количество определяется числом, считанным из АЦП). На данном этапе можно изменить программу и использовать встроенный в микроконтроллер таймер

При этом работа АЦП будет более наглядно проявляться паузами между моментами включения светодиодов (в представленной программе не реализовано).

Подпрограмма опроса реализована с применением команды загрузки данных из памяти программ LPM. При этом данные сохраняются в регистре R0. Считанные данные поступают в порт В на выводы PB0-PB3. Двоичный код с порта В микроконтроллера поступает на двоично-десятичный дешифратор VI. Он преобразует двоичный код в единичный сигнал (активный уровень - нулевой) на одном из выводов.

Первый световой эффект - бегущая единица, второй - поочередное мигание светодиодов по кругу, третий - чередующееся последовательное мерцание с реверсом по одному (таблица 2). [8]

В памяти программ микроконтроллера осталось еще много свободного места, поэтому можно придумать дополнительные световые эффекты.

Таблица 2 - Порядок размещения светодиодов по часовой стрелке

Светодиоды 10 9 8 7 6 5 4 3 2 1 Порт В, двоичный код Шестна-дцатерич-ные коды прошивки порта В

Программа Шаг

1 1 0 0 0 0 0 0 0 1 0 0 0010 02

1 2 0 1 0 0 0 0 0 0 0 0 1000 08

1 3 0 0 1 0 0 0 0 0 0 0 0111 07

1 4 0 0 0 1 0 0 0 0 0 0 0110 06

1 5 0 0 0 0 0 0 1 0 1 0 0011 03

1 6 0 0 0 0 0 0 0 0 0 0 0001 01

1 7 0 0 0 0 0 0 0 0 1 1 0000 00

1 8 0 0 0 0 1 0 0 0 0 0 0101 05

1 9 0 0 0 0 0 1 0 0 0 0 0100 04

1 10 1 0 0 0 0 0 0 0 0 0 1001 09

2 1 0 1 0 0 0 0 0 0 0 0 1000 08

2 2 0 0 0 0 0 1 0 0 0 0 0100 04

2 3 0 0 1 0 0 0 0 0 0 0 0111 07

2 4 0 0 0 0 1 0 0 0 0 0 0101 05

2 5 0 0 0 1 0 0 0 0 0 0 0110 06

2 6 0 0 0 0 0 0 0 0 0 1 0000 00

2 7 0 0 0 0 0 0 1 0 0 0 0011 03

2 8 0 0 0 0 0 0 0 0 1 0 0001 01

2 9 0 0 0 1 0 0 0 0 0 0 0110 06

2 10 0 0 0 0 0 0 0 0 0 1 0000 00

2 11 0 0 1 0 0 0 0 0 0 0 0111 07

2 12 0 0 0 0 1 0 0 0 0 0 0101 05

2 13 0 1 0 0 0 0 0 0 0 0 1000 08

2 14 0 0 0 0 0 1 0 0 0 0 0100 04

2 15 0 0 0 0 0 0 0 1 0 0 0010 02

2 16 1 0 о 0 0 0 0 0 0 0 1001 09

3 1 0 0 0 0 0 0 0 1 0 0 0010 02

3 2 0 0 0 0 0 1 0 0 0 0 0100 04

3 3 1 0 0 0 0 0 0 0 0 0 1001 09

3 4 0 0 0 0 1 0 0 0 0 0 0101 05

3 5 0 0 0 0 0 1 0 0 0 0 0100 04

3 6 0 0 0 0 0 0 0 0 0 1 0000 00

3 7 0 0 0 0 1 0 0 0 0 0 0101 05

3 8 0 0 0 0 0 0 0 0 1 0 0001 01

3 9 0 0 0 0 0 0 0 0 0 1 0000 00

3 10 0 0 0 0 0 0 1 0 0 0 0011 03

3 11 0 0 0 0 0 0 0 0 1 0 0001 01

3 12 0 0 0 1 0 0 0 0 0 0 0110 06

3 13 0 0 0 0 0 0 1 0 0 0 0011 03

3 14 0 0 1 0 0 0 0 0 0 0 0111 07

3 15 0 0 0 1 0 0 0 0 0 0 0110 06

3 16 0 1 0 0 0 0 0 0 0 0 1000 08

3 17 0 0 1 0 0 0 0 0 0 0 0111 07

3 18 0 0 0 0 0 0 0 1 0 0 0010 02

3.6 Разработка принципиальной схемы устройства и ее описание

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

Принципиальная схема устройства показана на рис. 7.

Рисунок 7 - Принципиальная схема устройства

Микроконтроллер выбран с тактовой внутренней частотой 1,6 МГЦ. При использовании микроконтроллера с другой тактовой частотой частота световых эффектов изменится. При использовании частоты выше 25 МГЦ световые эффекты становятся динамическими, с включением всех светодиодов. Если в динамическом режиме чаще включать одни и те же светодиоды, то они будут светиться постоянного, в то время как остальные будут мигать. При достижении определенной динамической частоты все световые эффекты сольются в постоянное свечение (это происходит на уровне примерно 1,5 В на выводе 2 микроконтроллера). [5]

3.7 Пример устройства со световыми эффектами

Новогодняя полупрозрачная игрушка в виде шара разрезается пополам (надрезается алмазным стеклорезом и аккуратно смещается), после чего в соответствии с площадью разрезанной полусферы изготавливается плата. На плате размещаются светодиоды рис. 8, регулируется скорость световых эффектов, и через хвостовое отверстие продевается провод для подачи питания 5 В. [2, c. 63]

Рисунок 8 - Плата управления световыми эффектами

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

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

Программу можно ввести программатором STK200. Вместо микросхемы 74НС42 можно использовать К155ИД6, К155ИД10. Переменный резистор R12 желательно выбирать с возможностью точной регулировки от 0,19 до 0,9 В. Один из вариантов точной настройки - подобрать резистор номиналом 150..360 КОМ, и впаять его между верхним выводом R12 и питанием 5 В.

Равномерное, нормальное, видимое переключение светодиодов происходит примерно на уровне 0,3 В на выводе 2 микроконтроллера. Если светодиоды светятся с разной яркостью, то к выводам 8 и 16 микросхемы дешифратора (выводы питания) необходимо припаять конденсатор на 22 МКФ, 16 В с учетом полярности конденсатора и выводов микросхемы. [2, c. 64]

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

Пример использования устройства показан на рис. 9.

Рисунок 9 - Пример использования устройства

Вывод
В данном курсовом проекте был разработан проект устройства со световыми эффектами на основе микроконтроллера ATTINY12 семейства AVR фирмы Atmel.

В ходе проектирования были разработаны: описание объекта, структурная и принципиальная схема, алгоритм работы системы, пример устройства со световыми эффектами и текст программы на языке ассемблера для микроконтроллерной системы.

Список литературы
1 Евстифеев, А.В. Микроконтроллеры AVR семейств ATTINY и Mega фирмы ATMEL, 5-е изд., стер.-М.: Издательский дом «Додэка-XXI», 2008. - 560 с.

2 Кравченко, А.В. 10 практических устройств на AVR микроконтроллерах. Книга 1. - М.: Издательский дом «Додэка - XXI, К. «МК - Пресс», 2008. - 224 с., ил.

3 Кузин, А.В. Микропроцессорная техника. М.: ИЦ Академия, 2008. - 304 с.

4 Микроконтроллеры AVR семейства Classic фирмы ATMEL - 2-е изд., стер. - М.: Издательский дом «Додэка - XXI», 2004. - 288 с., с ил.

5 Микроконтроллеры - http://smps.h18.ru.

6 Примеры устройств - http://remolom2.narod.ru.

7 Радиосхемы - http://chip.webservis.ru.

8 Устройства на микроконтроллерах - http://www.pic16f84.narod.ru.
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?