Создание простейшего устройства, реагирующего на изменение показаний фотодатчика
Принцип работы фотодатчика, свойство поверхностей отражать падающий на них свет. Подключение резистора в эмиттерную цепь транзистора. Алгоритм движения робота, программы для следования робота по линии, для движения устройства моторами вперед и назад.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 30.01.2013 |
Размер файла | 142,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Введение
Современную микроэлектронику трудно представить без такой важной составляющей, как микроконтроллеры. Микроконтроллеры незаметно завоевали весь мир. В последнее время на помощь человеку пришла целая армия электронных помощников. Мы привыкли к ним и часто даже не подозреваем, что во многих таких устройствах работает микроконтроллер.
Микроконтроллерные технологии очень эффективны. Одно и то же устройство, которое раньше собиралось на традиционных элементах, будучи собрано с применением микроконтроллеров, становиться проще. Оно не требует регулировки и меньше по размерам.
Кроме того, с применением микроконтроллеров появляются практически безграничные возможности по добавлению новых потребительских функций и возможностей к уже существующим устройствам. Достаточно просто поменять программу!
Где же применяются микроконтроллеры? Да просто везде! Применение достаточно широкое. Нет такой техники, которая нас окружает, где бы не применялись микроконтроллеры.
Однако задача разработки радиоэлектронных устройств с применением микроконтроллеров требует знания и понимания принципов их работы, но главное - умение составлять управляющие программы. Без программы микроконтроллер просто кусочек пластмассы с ножками. В данной курсовой работе мы познакомимся с микроконтроллерами ближе, рассмотрим простейший пример с микроконтроллером серии ATMEL AVR ATmega 8, разберем программу, составив алгоритм работы, и сделаем необходимые выводы.
Задание на курсовую работу
Мы не будем подробно рассматривать структуру микроконтроллера, а сразу преступим к разбору простейшего устройства (робота), который реагирует на изменения показаний датчиков (в данном случае применим один датчик). При изменении этих показаний робот должен выбрать траекторию следования самостоятельно. Для этого нам понадобиться создать такую схему, чтобы это реализовать, и конечно не обойдемся и без программы реализованной на языке более высокого уровня «СИ + +».
Следовательно, для этого в первую очередь мы разберемся со схемой данного устройства, затем составим алгоритм работы устройства, и напишем программу, которая реализует поставленную нами цель.
Схема
Поставленная выше задача прекрасно решается при помощи микроконтроллера ATmega 8. главное в схеме - это фотодатчик. Его принцип работы основан на свойстве поверхностей отражать падающий на них свет. Для фотодатчика в данной схеме подойдет яркий красный светодиод и фототранзистор.
Для оптимальной возможности работы устройства логично подключить в эммитерную цепь транзистора резистор, номиналом 220 Ом. Что бы устройство могло перемещаться по траектории, необходимо подключить к драйверу движения (L293D) два электромотора. Ну и конечно без чего уж точно мы не обойдемся, это конечно сам микроконтроллер, подключенный к фотореагирующей цепи и к драйверу движения. Полная схема устройства приведена ниже:
Алгоритм программы. Блок-схема
Рассмотрим программу, которая будет включать моторы, если датчик находится над белой поверхностью, и выключать - если над черной.
На первый взгляд алгоритм такого устройства очень простой. Мы должны проверить состояние фотодатчика. При условии, что на фотодатчике 1 (протекание тока в эммитерной цепи к микроконтроллеру) начинается движение моторов. Если робот находиться на черной линии, то вращение моторов должно прекратиться. Блок-схема для данной части работы:
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Программа для данной части
/***********************************************************************
ПРИМЕР 3:: ВРАЩЕНИЕ МОТОРАМИ С ИСПОЛЬЗОВАНИЕМ ФОТОДАТЧИКА:
************************************************************************/
#include <avr/io.h>
int main(void) // начало основной программы
{
DDRC = 0xff; // все выводы порта C сконфигурировать как выходы
DDRD = 0x00; // все выводы порта D сконфигурировать как входы
PORTD = 0xff; // установить "1" на всех выводах порта D,
// включаем подтягивающие резисторы
while (1) { // Бесконечный цикл
// ПРОВЕРЯЕМ СИГНАЛ НИЗКОГО УРОНЯ ОТ ФОТОДАТЧИКА
if (!(PIND & (1<<PIND1))) // проверить "0" на линии 1 порта D
{
// ---------- вращаем моторы вперед ----------
PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
PORTC &= ~_BV(PC2); // установить "0" на линии 2 порта C
PORTC |= _BV(PC3); // установить "1" на линии 3 порта C
PORTC &= ~_BV(PC4); // установить "0" на линии 4 порта C
// --------------------------------------------------
}
else
{
// ---------- вращаем моторы назад ----------
PORTC &= ~_BV(PC1); // установить "0" на линии 1 порта C
PORTC |= _BV(PC2); // установить "1" на линии 2 порта C
PORTC &= ~_BV(PC3); // установить "0" на линии 3 порта C
PORTC |= _BV(PC4); // установить "1" на линии 4 порта C
// --------------------------------------------------
}
} // закрывающая скобка бесконечного цикла
} // закрывающая скобка основной программы
Добившись уверенного срабатывания датчика, напишем программу для следования робота по линии. Алгоритм движения робота строится на следующем принципе. Когда датчик находится над белым полем, то робот поворачивается в правую сторону по направлению к черной линии. Когда датчик находится над черной линией, то робот поворачивается в левую сторону, съезжая с черной линии. Чередуя повороты по направлению к линии и от нее, робот движется вперед, следуя по границе белого и черного. Напишем соответствующий алгоритм работы устройства:
фотодатчик робот транзистор
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Напишем программу для данного устройства
/****************************************************************
ПРИМЕР 4:: ПРОСТЕЙШИЙ АЛГОРИТМ СЛЕДОВАНИЯ ПО ЛИНИИ:
*****************************************************************/
#include <avr/io.h>
int main(void) // начало основной программы
{
DDRC = 0xff; // все выводы порта C сконфигурировать как выходы
DDRD = 0x00; // все выводы порта D сконфигурировать как входы
PORTD = 0xff; // установить "1" на всех выводах порта D,
// включаем подтягивающие резисторы
while (1) { // Бесконечный цикл
// ПРОВЕРЯЕМ СИГНАЛ НИЗКОГО УРОНЯ ОТ ФОТОДАТЧИКА
if (!(PIND & (1<<PIND1))) // проверить "0" на линии 1 порта D
{
// ---- включаем левый мотор, останавливаем правый -----
PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
PORTC &= ~_BV(PC2); // установить "0" на линии 2 порта C
PORTC |= _BV(PC3); // установить "1" на линии 3 порта C
PORTC |= _BV(PC4); // установить "1" на линии 4 порта C
// -----------------------------------------------------
}
else
{
// ---- останавливаем левый мотор, включаем правый -----
PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
PORTC |= _BV(PC2); // установить "1" на линии 2 порта C
PORTC |= _BV(PC3); // установить "1" на линии 3 порта C
PORTC &= ~_BV(PC4); // установить "0" на линии 4 порта C
// -----------------------------------------------------
}
} // закрывающая скобка бесконечного цикла
} // закрывающая скобка основной программы
Заключение
Целью курсового проекта являлось создание устройства способное реагировать на изменение фотодатчика, и эта реакция должна приводить в движение робота по определенной траектории. Мы рассмотрели основную схему, написали программы для отдельной реализации (проверка фотодачтика для движения моторами вперед и назад, и программа для движения робота по линии). Вообще реализовать данный проект большого труда не составит. Требуется всего лишь несколько элементов схемы и программатор для прошивки робота. Это лишь всего простейшая основа для дальнейшей модернизации.
Список литературы
1. Евстифеев А.В. «Микроконтроллеры AVR семейств Tiny и Mega фирмы «ATMEL» - 2004 г.
2. Белов А.В. «Конструирование устройств на микроконтроллерах» - Санкт -Петербург, 2005 г.
3. Белов А.В. «Самоучитель по микропроцессорной технике» -Санкт-Петербург 2005 г.
4. Белов А.В. «Микроконтроллеры AVR в радиолюбительской практике» Санкт-Петербург, 2007 г.
5. Белов А.В. «Создаем устройства на микроконтроллерах» Санкт-Петербург, 2007 г.
Размещено на Allbest.ru
Подобные документы
Разработка функционально законченного устройства для обработки входных сигналов линии с использованием цифровых устройств и аналого-цифровых узлов. Алгоритм работы устройства. Составление программы на языке ассемблера. Оценка быстродействия устройства.
курсовая работа [435,5 K], добавлен 16.12.2013Проектирование системы регулирования дорожного движения на перекрестке (системы управления светофорами) на основе микроконтроллера группы PIC 16F84. Принцип действия устройства, функциональная схема и описание ее элементов. Алгоритм и листинг программы.
курсовая работа [361,4 K], добавлен 24.12.2012Рассмотрение устройства простейшего проволочного тензорезистора. Изучение основных параметров микросхемы АЦП HX711. Выбор датчика, микропроцессора и дисплея. Разработка алгоритма работы программы, программы устройства и выбор языка программирования.
курсовая работа [1,5 M], добавлен 26.07.2022Структурная и принципиальная схемы усилителя для фоторезистора. Проектирование входного устройства. Расчет масштабирующего усилителя, блока регулировки, усилителя мощности. Разработка фильтра нижних частот, режекторного фильтра, источника питания.
курсовая работа [2,2 M], добавлен 10.12.2015Разработка системы, предназначенной для управления поворотом устройства перемещения робота. Выбор и расчет передаточной функции микропроцессора, усилителя, электромагнитного клапана, гидроцилиндра. Расчет датчика обратной связи и устойчивости системы.
курсовая работа [972,1 K], добавлен 20.10.2013Конструкция и принцип работы абонентской телефонной линии. Разработка сервисного устройства выборочного ограничения исходящей междугородной связи. Моделирование сервисного устройства, разработка программы и тестирование устройства и анализ результатов.
дипломная работа [11,5 M], добавлен 24.08.2011Проектирование модуля оперативного запоминающего устройства и программы его тестирования, основные технические требования. Описание работы программы функционального контроля памяти, алгоритм теста. Программа тестирования устройства на ассемблере.
курсовая работа [56,7 K], добавлен 29.07.2009Разработка и описание алгоритма функционирования устройства, отладка рабочей программы на языке команд микропроцессора. Обоснование аппаратной части устройства. Составление электрической принципиальной схемы устройства, расчет быстродействия устройства.
курсовая работа [50,2 K], добавлен 03.12.2010Исследование абстрактного цифрового автомата Мили заданного устройства. Алгоритм его работы, таблицы прошивки и возбуждения постоянного запоминающего устройства. Составление функции возбуждения, функциональной и электрической принципиальной схемы.
курсовая работа [758,5 K], добавлен 18.02.2011Что такое робот, истоки робототехники и классификация роботов. Проектирование робота для разминирования различных технических объектов. Технические расчеты движения и координирования руки и различных сил действующих на нее, особенности корпуса и головы.
курсовая работа [128,0 K], добавлен 12.08.2010