Автор работы: Пользователь скрыл имя, 30 Января 2014 в 12:58, курсовая работа
В техническом задании на этот проект, предлагается разработать автономный робот, который мог бы проходить через неизвестный лабиринт. Робот должен двигаться через лабиринт, находя стенки лабиринта с помощью инфракрасных (ИК) локаторов (пар излучатель-приемник), и принимая решения, продвигаться вперед или назад, чтобы продолжить путь через лабиринт. При своем движении робот должен также избегать «мин» (магнитов), скрытых в полу лабиринта. Робот обнаруживает «мины" с помощью датчика Холла. Если робот обнаруживает «мину», то он останавливается, дает задний ход и объезжает ее.
Введение........................................................................................3
1.Описание проекта......................................................................4
2.Теоритические основы проекта................................................5
2.1. Подсистемы 68HC12, используемые в проекте................5
2.2. Компоненты системы..........................................................6
2.2.1. Пара ИК излучатель-приемник....................................6
2.2.2. Датчики Холла...............................................................7
3.Конструкция робота..................................................................9
4.Структура программы и блок-схема алгоритмов.................11
Заключение..................................................................................12
Программный код..........................................................................13
БАЛТИЙСКАЯ МЕЖДУНАРОДНАЯ АКАДЕМИЯ
Курсовая работа по микропроцессорам и встраиваемым системам
Тема: «Система привода робота»
Выполнила: студентка 3
курса
программы:
«Автоматизация
проектирования
микроэлектронных чипов»
вечернего отделения
Домаренко Татьяна
номер студ. билета: RI9B019
Проверил:
проф. Лемберский И.Г.
Рига 2012
Оглавление
Введение......................
1.Описание проекта.......................
2.Теоритические
основы проекта.......................
2.1. Подсистемы 68HC12, используемые в проекте................5
2.2. Компоненты системы.......................
2.2.1. Пара ИК излучатель-приемник...........
2.2.2. Датчики Холла.........................
3.Конструкция робота..........
4.Структура программы и блок-схема алгоритмов.................11
Заключение....................
Програмный код...........................
Введение
каждом из войлочных
лотков аккуратно написано название инструмента. В том же лотке хранится так_
же и инструкция по применению инструмента.
В этом проекте я покажу на различных примерах, как разрабатываются
встраиваемые микроконтроллерные системы. Я тщательно выбрала
проект, чтобы показать, как используются подсистемы МК 68HCI2 и
HCS12 для выполнения разнообразных задач. Методы совместного использования этих периферийных модулей я покажу на ряде примеров. Для каждого такого примера, я приведу детальное описание проекта, список используемых в нем подсистем 68HC12, краткие основы теории, если это необходимо, детальную структуру программы, сопровождаемую блок-схемой алгоритма и хорошо документированным программным кодом. Я рассмотрю следующий пример применения: Система привода для робота, движущегося вдоль стенок лабиринта.
каждом из войлочных
лотков аккуратно написано название инструмента. В том же лотке хранится так_
же и инструкция по применению инструмента. В предыдущих главах мы опи_
сывали хорошие аппаратные средства, программное обеспечение, и средства раз_
работки систем. Именно они и лежат в этом «сундучке» инструментов, позволя_
ющих разрабатывать, производить и внедрять встроенные системы управления.
В этой главе мы покажем на различных примерах как разрабатываются микро_
контроллерные системы. Мы тщательно выбрали проекты, чтобы показать, как
используются подсистемы МК 68HCI2 и HCS12 для выполнения разнообраз_
1.Описание проекта
В техническом задании на этот проект, предлагается разработать автономный робот,
который мог бы проходить через неизвестный лабиринт. Робот должен двигаться через лабиринт, находя стенки лабиринта с помощью инфракрасных (ИК) локаторов
(пар излучатель-приемник), и принимая решения, продвигаться вперед или назад, чтобы продолжить путь через лабиринт. При своем движении робот должен также
избегать «мин» (магнитов), скрытых в полу лабиринта. Робот обнаруживает «мины»
с помощью датчика Холла. Если робот обнаруживает «мину», то он останавливается, дает задний ход и объезжает ее.
2.Теоритические основы проекта
Начнем с создания списка функций, требуемых операционной системе робота для выполнения всех его задач. Эти задачи сводятся к следующим:
• Аналого-цифровое преобразование выходных сигналов ИК-датчиков;
• Сравнение сигнала датчика ИК-излучения с пороговым уровнем, соответствующим обнаружению стенки;
• Создание алгоритма поворота робота, позволяющего определить, в каком направлении он должен повернуть в ответ на сигналы ИК-датчиков;
• Разработка функций управления приводом, осуществляющих движение робота вперед и назад и повороты влево или вправо;
• Создание механизма для обработки выходных сигналов датчика Холла;
• Обеспечение функции, позволяющей останавливаться, давать задний ход и
обходить обнаруженную «мину»;
• Отображение выполняемых функций на символьном ЖК индикаторе.
2.1 Подсистемы 68HC12, используемые в проекте
По списку требуемых функций мы можем определить, какие периферийные модули МК 68HC12 необходимо использовать и какие другие внешние устройства
будут необходимы для решения нашей задачи. К используемым устройствам и
системам относятся:
• Датчики ИК-излучения и датчики Холла;
• Модуль аналого-цифрового преобразования ATD в составе МК 68HC12 для
оцифровки сигналов инфракрасных датчиков и датчика Холла;
• Модуль ШИМ МК 68HC12 для модуляции ширины импульса;
• Интерфейс сопряжения МК с ЖК дисплеем;
• Интерфейс сопряжения МК с ИК-датчиками;
• Интерфейс сопряжения МК с датчиком Холла;
• Интерфейс драйвера двигателя;
• Аккумуляторные батареи, для питания двигателей, датчиков, и отладочной
платы MC68HC912B32EVB.
2.2 Компоненты системы
Пара ИК излучатель-приемник. Рис.1
Пара излучатель-приемник – ИК локатор
Резистор (Re) ограничивает ток ИК излучателя на уровне номинального значения (Ie). Ток
приемника формирует на резисторе Rd выходное напряжение приемника (Vout)
В паре ИК излучатель-приемник объединены источник и приемник инфракрасного (ИК) излучения. Источником является светоизлучающий диод с соответствующей схемой, а приемником – фототранзистор, чувствительный к ИК-диапазону излучения с собственной схемой, показанной на рис. 1. Для питания ИК диода используются электрические цепи. Фототранзистор имеет светочувствительный переход база-эммитер. Когда свет соответствующей длины волны падает на переход, в нем возникает базовый ток. В цепь эммитера включен резистор нагрузки, сопротивление которого позволяет обеспечить необходимую величину выходного напряжения. Часто вместо резистора с фиксированным сопротивлением используется 10-оборотный измерительный потенциометр, позволяющий индивидуально подстраивать чувствительность каждого приемника. График зависимости выходного напряжения от расстояния до стенки лабиринта может быть получен экспериментально. Выходной сигнал каждого приемника подается на канал АЦП микроконтроллера 68HC12.
Датчики Холла
Рис. 2. Датчик Холла HAL114 компании Micronas
Датчики Холла, как и показывает их название, используют эффект Холла, чтобы
генерировать напряжение, пропорциональное напряженности обнаруженного магнитного поля. На рынке имеются датчики Холла двух типов: (1)переключатели и
(2)линейные датчики.
Датчик переключающегося типа, обнаружив присутствие магнитного поля, фиксируется во включенном состоянии. Он остается в этом состоянии, даже если магнитное поле исчезает.
Линейный датчик формирует аналоговое выходное напряжение, пропорциональное измеряемому магнитному потоку. И именно такой прибор мы будем использовать для обнаружения «мин».
Датчики Холла поставляются несколькими изготовителями. Мы выбрали простой датчик с тремя выводами HAL114 фирмы Micronas, схема включения которого
содержит два резистора R, RL и конденсатор C, как показано на рис. 2. Как и ранее,
график зависимости выходного напряжения от расстояния до стенки лабиринта может быть получен экспериментально. Выходной сигнал с датчика подается на канал
АЦП микроконтроллера 68HC12.
Полная схема интерфейса связи МК 68HC12 с аппаратными средствами робота показана на рис. 3. Закончив на этом краткий обзор аппаратных средств, мы перейдем к обзору программного обеспечения робота.
Рис. 3. Интерфейс между аппаратными средствами робота и 68HC12
/*имя файла: robot.c */
Система управления роботом, движущимся в лабиринте: это система слежения за стенками лабиринта. Робот использует пять ИК_датчиков, состоящих из излучателя и приемника, чтобы определять свое положение относительно стенок лабиринта. Робот определяет расположение стенки, основываясь на информации, получаемой от датчиков. Если сигнал от ИК-приемника превыщает порог опорного напряжения, то стенка находится в непосредственной близости
от робота.Основываясь на информации, получаемой от пяти датчиков,робот может определять, какое направление дальнейшего движения избрать, чтобы избежать столкновения со стенками лабиринта.
Датчик Холла позволяет роботу обнаружить магниты или "скрытые мины", установленные под полом лабиринта. Робот имеет также ЖК дисплей для сообщения информации пользователю. Программа использует метод полинга для считывания результатов АЦП.Сигнал модуля ШИМ
управляет драйвером двигателей колес робота.
Конструкция робота
Конструкция робота приведена на рис. 4. Корпус его состоит из двух легких
связанных вместе алюминиевых платформ. На нижней платформе расположены
два двигателя постоянного тока, приводящие в движение два больших колеса, установленных с обеих сторон корпуса. При использовании этой конструкции с двумя
колесами, робот
может управляться подобно танк
ролика с обеих сторон от робота используются, чтобы обеспечить его равновесие и
устойчивость. Находясь в покое, робот опирается на три точки. На верхней платформе установлены пять ИК пар излучатель-приемник, которые позволяют роботу обнаружить стенки прямо перед собой и с любой стороны от корпуса. Верхная платформа содержит также отладочную плату с микроконтроллером 68HC12, которая используется, чтобы принимать входные сигналы, вырабатывать решения, основанные на этих сигналах, и формировать сигналы управения двигателями для реализации этих решений. На нижней пластине робота установлен датчик Холла, позволяющий обнаруживать магнитные «мины».
Чтобы начать движение через неизвестный лабиринт, робот помещается вблизи
от его входа. Предназначение робота состоит в том, чтобы проходить через лабиринты, избегая столкновения со стенками и контакта с «минами», скрытыми в полу.
Робот едет вперед, когда на оба двигателя поступает одинаковое постоянное напряжение. Когда робот движется вперед с помощью двигателей постоянного тока, он
непрерывно проверяет свое положение относительно стенок и магнитов с помощью
пяти ИК локаторов и датчика Холла.
Рис. 4. Робот, движущийся вдоль стенок лабиринта
Робот оборудован двумя основными колесами, с приводом от двигателей постоянного тока. Когда робот движется вперед, он постоянно следит за положением стенок, используя
инфракрасные локаторы (пары излучатель-приемник), и за «минами», скрытыми в полу,
с помощью датчика Холла.
Стенки лабиринта окрашены белой краской с высоким коэффициентом отражения, чтобы ИК-сигналы, поступающие от источников, отражались от стенок обратно
на приемники. Если робот приближается к стенке, то ее присутствие обнаруживается
соответствующим ИК локатором. Например, если робот приближается к углу, расположенному с правой стороны (см. рис. 5), то передняя стенка обнаруживается передним локатором, а правая – правым локатором. Робот затем отвечает на принятые им входные сигналы, поворачивая влево, чтобы избежать столкновения со стенками.
Рис. 5. Робот, разработанный, чтобы обнаруживать близлежащие стенки
При использовании пяти инфракрасных датчиков, робот готовится сделать левый поворот, избегая стенок, расположенных спереди и справа
Структура
программы и блок-схема
Рабочая программа для этого проекта разработана Томом Шеи, бывшим студентом университета штата Вайоминг, с помощью компилятора ImageCraft ICC12.
Прежде чем представить полный текст программы, рассмотрим структуру основ
ной программы и блок-схему ее алгоритма, представленные на рис. 6.
Рис.6
а) Структура программы
б) Блок-схема алгоритма UML
Заключение
В этом проекте я показала на различных примерах, как разрабатываются
встраиваемые
проект, чтобы показать, как используются подсистемы МК 68HCI2 и
HCS12 для выполнения разнообразных задач. Методы совместного использования этих периферийных модулей я показала на ряде примеров. Для каждого такого примера, я привела детальное описание проекта, список используемых в нем подсистем 68HC12, краткие основы теории, детальную структуру программы, сопровождаемую блок-схемой алгоритма и хорошо документированным программным кодом. Я рассмотрела следующий пример применения: Система привода для робота, движущегося вдоль стенок лабиринта.