Разработка цифрового устройства отображения положения энкодера на линейной шкале с применением микроконтроллера ATMega 8

Описание:
Доступные действия
Введите защитный код для скачивания файла и нажмите "Скачать файл"
Защитный код
Введите защитный код

Нажмите на изображение для генерации защитного кода

Текст:

Министерство образования и молодежной политики СК

ГБПОУ  «Лермонтовский региональный многопрофильный колледж»

Работа допущена к защите

Зав.кафедрой «Компьютерные системы

 и комплексы»

______________Н.Н.Шляхова

«____»_________2016 г.

КУРСОВАЯ РАБОТА

Пояснительная записка

на тему:Разработка цифрового устройства отображения положения энкодера на линейной шкале с применением микроконтроллера ATMega 8

ПМ.02 Применение микропроцессорных систем, установка и настройка периферийного оборудования

специальность 09.02.01 «Компьютерные системы и комплексы»

Выполнил студент гр.

ВТ44

Мальнев А.С.

группа

подпись

Ф.И.О. студента

Проверил

оценка   и  подпись

Ф.И.О. преподавателя

Лермонтов, 2016

СОДЕРЖАНИЕ

                                                                                                        стр.

ВВЕДЕНИЕ

1.ВЫБОР МИКРОКОНТРОЛЛЕРА ДЛЯ РЕАЛИЗАЦИИ УСТРОЙСТВА

2.ПРОЕКТИРОВАНИЕ ЭНКОДЕРА НА ЛИНЕЙНОЙ ШКАЛЕ с применением МИКРОКОНТРОЛЛЕРЕ ATMEGA8

3.РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ

4.РАЗРАБОТКА ПРОГРАММЫ ДЛЯ ОТОБРАЖЕНИЯ ПОЛОЖЕНИЯ ЭНКОДЕРА НА ЛИНЕЙНОЙ ШКАЛЕ С ПРИМЕНЕНИЕМ МИКРОКОНТРОЛЛЕРА ATMEGA8

5. ТЕСТИРОВАНИЕ ПРОГРАММЫ

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЕ


Введение

 Энкодер по-научному он называется «преобразователь угол-код». Название говорит само за себя: он позволяет перевести угол поворота в некий код. Абсолютные энкодеры выдают непосредственно угол, абсолютное положение, тогда как инкрементальный – определённое число щелчков на оборот и направление.


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

Здесь изображены датчики которые реагируют на «дырки» — это могут быть оптические датчики работающие на просвет или отражение, магнитные, реагирующие на намагниченность диска или контактные, размыкаемые диэлектрическим диском.

При вращении ручки вращается скользящий контакт сложной формы над тремя секторами, которые соединены с соответствующими выводами. Вот он и замыкает средний сектор на контактные площадки то левого, то правого вывода в нужной последовательности.

1.     Выбор микроконтроллера для реализации УСТРОЙСТВА

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

К наиболее распространенным встроенным устройствам относятся устройства памяти и порты ввода/вывода (I/O), интерфейсы связи, системные часы. Устройства памяти включают оперативную память (RAM), постоянные запоминающие устройства (ROM), перепрограммируемую ROM (EPROM), электрически перепрограммируемую ROM (EEPROM). Средства I/O включают последовательные порты связи, параллельные порты (I/O линии), аналого-цифровые преобразователи (A/D), цифроаналоговые преобразователи (D/A), драйверы жидкокристаллического дисплея (LCD) или драйверы вакуумного флуоресцентного дисплея (VFD). Встроенные устройства обладают повышенной надежностью, поскольку они не требуют никаких внешних электрических цепей.

В отличие от микроконтроллера контроллером обычно называют плату, построенную на основе микроконтроллера, но достаточно часто при использовании понятия "микроконтроллер" применяют сокращенное название этого устройства, отбрасывая приставку "микро" для простоты. Также при упоминании микроконтроллеров можно встретить слова "чип" или "микрочип", "кристалл" (большинство микроконтроллеров изготавливают на едином кристалле кремния), сокращения МК или от английского microcontroller – MC.

Микроконтроллеры можно встретить в огромном количестве современных промышленных и бытовых приборов: станках, автомобилях, телефонах, телевизорах, холодильниках, стиральных машинах... и других устройствах. Среди производителей микроконтроллеров можно назвать Intel, Motorola, Hitachi, Microchip, Atmel, Philips, Texas Instruments, Infineon Technologies (бывшая Siemens Semiconductor Group) и многих других.

   Основным классификационным признаком микроконтроллеров является разрядность данных, обрабатываемых арифметико-логическим устройством (АЛУ). По этому признаку они делятся на 4-, 8-, 16-, 32- и 64-разрядные. Сегодня наибольшая доля мирового рынка микроконтроллеров принадлежит восьмиразрядным устройствам (около 50 % в стоимостном выражении). За ними следуют 16-разрядные и DSP-микроконтроллеры (DSP - Digital Signal Processor – цифровой сигнальный процессор), ориентированные на использование в системах обработки сигналов (каждая из групп занимает примерно по 20 % рынка). Внутри каждой группы микроконтроллеры делятся на CISC- и RISC-устройства. Наиболее многочисленной группой являются CISC-микроконтроллеры, но в последние годы среди новых чипов наметилась явная тенденция роста доли RISC-архитектуры.

Тактовая частота, или, более точно, скорость шины, определяет, сколько вычислений может быть выполнено за единицу времени. В основном производительность микроконтроллера и потребляемая им мощность увеличиваются с повышением тактовой частоты. Производительность микроконтроллера измеряют в MIPS (Million Instruсtions per Second – миллион инструкций в секунду).

В курсовой работе будет использоваться микроконтроллер ATmega8.

ATmega8 поддерживается различными программными средствами и интегрированными средствами разработки, такими как компиляторы C, макроассемблеры, программные отладчики/симуляторы, внутрисхемные эмуляторы и ознакомительные наборы.

Также у микроконтроллера ATmega8 низкая цена и он широко распространен, что также повлияло на выбор именно этого микроконтроллера.

2.     ПРОЕКТИРОВАНИЕ ЭНКОДЕРА НА ЛИНЕЙНОЙ ШКАЛЕ с применением МИКРОКОНТРОЛЛЕРЕ ATMEGA8


3.     РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ


4.     РАЗРАБОТКА ПРОГРАММЫ ДЛЯ ОТОБРАЖЕНИЯ ПОЛОЖЕНИЯ ЭНКОДЕРА НА ЛИНЕЙНОЙ ШКАЛЕ с применением МИКРОКОНТРОЛЛЕРА ATMEGA8


5.     ТЕСТИРОВАНИЕ ПРОГРАММЫ НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8

Предварительно программа была протестирована в программе Proteus.

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


Схема на микроконтроллере ATmega8 была смоделирована в программе Proteus. Скриншот схемы  на микроконтроллере ATmega8 в программе proteus,  представлен на рис.2.

Рис.  Скриншот процесса сборки схемы в программе proteus

Микроконтроллер был прошит скомпилированным .hex файлом. Схема работала в соответствии с алгоритмом.

Схема была собрана на беспаечной отладочной плате с прошитым микроконтроллером.  Программа работала в соответствии с алгоритмом.


Заключение


Список литературы

1.     Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL, 5_е изд.

2.     Ревич Ю. В. Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера, БХВ-Петербург, 2014

3.     Лаврищев И.Б., Кириков А.Ю., Добряков В.А. Разработка принципиальных электрических схем, СПб.: СПбГУ-НиПТ Санкт-Петербург 2004

4.     http://www.myrobot.ru/stepbystep/mc_about.php

5.     http://mail.zetlab.ru/catalog/programs/scada/scada-zetview-rukovodstvo-polzovatelya/zet_encoder_1.php


ПРИЛОЖЕНИЕ

ПРОГРАММЫ ДЛЯ ОТОБРАЖЕНИЯ ПОЛОЖЕНИЯ ЭНКОДЕРА НА ЛИНЕЙНОЙ ШКАЛЕ С ПРИМЕНЕНИЕМ МИКРОКОНТРОЛЛЕРА ATMEGA8

$regfile = "m8def.dat"

$crystal = 8000000

$hwstack = 34

$swstack = 32

$framesize = 34

Config Portd.4 = Input               "для подключения второго выхода энкодера

Config Int0 = Falling                 "прерывание INT0 по заднему фронту

On Int0 Encod

Enable Interrupts

Enable Int0

"конфигурируем подключение дисплея

Config Lcdpin=Pin,Rs=Portc.0,E=Portc.1,Db4=Portc.2,Db5=Portc.3,Db6=Portc.4,Db7=Portc.5

Config Lcd = 16 * 2

Cursor Blink

Cls

Lcd "AVRproject.ru"

Lowerline

Lcd "Bargraf demo"

Wait 3

Cursor Noblink

Cursor Off

Cls

Const Lcd_bar_style = 1               "выбранный стиль барографа

$include "lcd_bar.bas"                "подрубаем внешний файл библиотеки

Dim Value As Byte                     "переменная с которой работаем

Do

 Disable Interrupts                  "запрещаем прерывания во время работы с дисплеем

 Locate 1 , 3

 Lcd_bar Value , 12                    "выводим барограф размером 12 символов

 If Value > 100 Then Value = 0        "держим переменную в пределах от 0 до 100

 Locate 2 , 1

 Lcd "Value = " ; Value ; " %"        "выводим числовое значение переменной

 Enable Interrupts                  "снова разрешаем прерывания

 Waitms 70

 Cls

Loop

End

Encod:

 Waitms 2                            "ждем пока утихнет дребезг контактов

 If Pind.2 = 0 Then

  If Pind.4 = 0 Then                 "если на ноге единица (импульс не пришел) тогда

  Incr Value                         "инкрементируем переменную (увеличиваем на 1)

  Else                               "в обратном случае

  Decr Value                         "декрементируем переменную (уменьшаем на 1)

  End If

 End If

 Gifr = 64                           "сбрасываем регистр хранения прерывания INT0

Return


/*Простой логический код*/


int n;

void setup()
{
 pinMode(2, INPUT);
 pinMode(3, INPUT);
 
 Serial.begin(9600);
}

void loop()
{

if (digitalRead(3)==HIGH) // В одну сторону
{
while(digitalRead(3)==HIGH);
while(digitalRead(2)==HIGH);

delayMicroseconds(10);
 
n=n-1;
Serial.println(n);
}

if (digitalRead(2)==HIGH) // В другую
{
while(digitalRead(2)==HIGH);
while(digitalRead(3)==HIGH);

delayMicroseconds(10);
 
n=n+1;
Serial.println(n);
}
}

Информация о файле
Название файла Разработка цифрового устройства отображения положения энкодера на линейной шкале с применением микроконтроллера ATMega 8 от пользователя higitiro
Дата добавления 5.5.2020, 18:33
Дата обновления 5.5.2020, 18:33
Тип файла Тип файла (zip - application/zip)
Скриншот Не доступно
Статистика
Размер файла 334.07 килобайт (Примерное время скачивания)
Просмотров 400
Скачиваний 146
Оценить файл