Проект роботаx

advertisement
ПРОЕКТИРОВАНИЕ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ УПРАВЛЕНИЯ
ДВИЖЕНИЕМ МОБИЛЬНОГО РОБОТА ПО ЗАДАННОЙ ТРАЕКТОРИИ
1. Системотехническое проектирование
Структурная
схема
микропроцессорной
системы
управления
движением робота по заданной траектории представлена на рисунке 1.
Рисунок 1-Структурная схема микропроцессорной системы
Проектирование микропроцессорной системы выполнено на базе
микроконтроллера семейства AVR Atmega 328P. Микроконтроллер — это
самостоятельная компьютерная система, которая содержит процессор,
вспомогательные схемы и устройства ввода-вывода данных, размещенные в
общем корпусе.
Входная
информация
поступает
в
микроконтроллер
с
пяти
светочувствительных датчиков, которые фиксируют величину отраженного
от поверхности света. Для управления подачей питания и пуском программы
предусмотрены кнопки управления. Для отладки программы и контроля
процесса выполнения программы предусмотрен вывод информации на LCDэкран.
LCD - экран подключается к цифровому порту микроконтроллера и
позволяет визуально контролировать показания датчиков в процессе отладки
программы, и следить за процессом работы робота.
Мобильный робот имеет два колеса, которые управляются двумя
двигателями
постоянного
тока.
Управление
движением
робота,
осуществляется с помощью двигателей постоянного тока, что дает
возможность регулирования скорости и направления передвижения робота
по поверхности. Что бы управлять направлением движения нужно лишь
переключать
полярность
напряжения
электродвигателей.
Поэтому
управление двигателем осуществляется с помощью серии импульсов
переменной
ширины – этот метод регулировки скорости называется
широтно-импульсной модуляцией (ШИМ).
Особенностью
специальных
микроконтроллера
регистров
управления
AVR
таймером,
является
что
наличие
обеспечивает
формирование ШИМ - сигналов определенной частоты и коэффициента
заполнения. Поэтому управление двигателей осуществляется с помощью
ШИМ-сигналов формируемых специальными выводами микроконтроллера.
Робот имеет независимые двигатели и колесо на каждой стороне, что
позволяет применить метод передвижения, названный дифференциальным
управлением.
С
помощью
дифференциального
управления
можно
осуществлять запуск двух двигателей, на разных скоростях.
Что бы робот, совершил движение только прямо, нужно задать
значение для двух колес одинаковое.
Для того что бы добиться поворота колес влево, вправо, или разворота
робота, необходимо задавать разные величины вращения колес.
Например, чтобы робот совершил поворот направо, необходимо
увеличить скорость вращения левого колеса, а скорость правого колеса
уменьшить.
Для разворота робота вокруг себя, необходимо задать одинаковое
значения , но одному из колес отрицательное, а второму положительное.
Данный принцип управления представлен на рисунке 2.
Рисунок 2 – Установка скоростей для управления направлением
движения робота
В устройстве предусмотрены разъемы для установки элементов
питания, разъем для программирования микроконтроллера ISP, светодиоды
для индикации.
Питание микроконтроллера,
датчиков, составляют 5В, питание
двигателя 9 В. Для этих целей применяются два стабилизатора напряжения
на 5 и 9 В. К выходу источника питания установлен зеленый светодиод,
который сообщает, что напряжение в схеме достаточное по величине.
2. Схемотехническое проектирование
Электрическая схема была собрана в среде схемотехнического
моделирования цифровых устройств Proteus VSM, рисунок 3. Режим
моделирования
работы
схемы
микроконтроллер .Hex-файла.
доступен
только
после
записи
в
Рисунок 3- Схемотехническое моделирование
Написание программы для микроконтроллера выполнено в среде
AVRStudio, которая содержит компилятор для микроконтроллеров AVR и
позволяет прошивать микроконтроллер по интерфейсу ISP.
В программе предусмотрен
контроль напряжения питания, его
значение выводится на LCD-экран, если напряжение в норме выполняется
первоначальная калибровка: микроконтроллер снимает показания с пяти
светочувствительных датчиков в процессе поворота на +90 и -90 градусов.
Показания датчиков записываются в предварительно созданный числовой
массив, значения которых в последующем используются для сравнения с
текущими показаниями датчиков в процессе движения робота вдоль
лабиринта.
После калибровки микроконтроллер ждет нажатия кнопки - Пуск, для
начала
движения по лабиринту. После нажатия кнопки, робот начинает
движение, и его маршрут записывается в массив, текущий путь отражается
на LCD-экране. Датчики считывают состояния отраженного света с
поверхности.
При поворотах, двигатели регулируют скорость вращения
колес. При повороте направо, левое колесо вращается быстрее правого, при
повороте налево, правое колесо вращается быстрее левого, при попадании на
белое поле происходит поворот на 1800. Если робот едет прямо по черной
полосе - скорость вращения колес двигателями одинаковая.
Первый обход лабиринта робот выполняет по правилу «левой руки»:
на перекрестках робот выбирает левый из существующих коридоров. Если
найден поворот слева по ходу движения робота, то он едет налево. Если на
этом шаге поворот слева отсутствует, но есть проход вперед, то робот идет
вперед. Если нет прохода слева и спереди, но есть коридор справа, робот
поворачивает направо. Если коридоров нет (робот оказался в тупике), то он
поворачивает на 180
0
и идет в обратном направлении. Когда робот попадет
на полное черное поле - он остановится. Черное поле считается выходом из
лабиринта.
На рисунке 4 представлен поэтапный алгоритм пошагового исключения
из маршрута движения тупиковых ситуаций и определение оптимального
пути при повторном проходе лабиринта.
Робот способен двигаться по траектории любой геометрической
формы. С целью минимизации отклонения от маршрута используется ПИДрегулирование. Экспериментальные исследования показаны на рисунках 5- 6.
Рисунок 4 – Алгоритм исключения тупиковых ситуаций
Рисунок 5 – Движение робота по лабиринту
Конструкция
робота
уникальна,
спроектирована
в
процессе
конструкторского проектирования.
3. Конструкторское проектирование
На этапе конструкторского проектирования для электрической схемы,
показанной на рисунке 3, в программной среде Proteus PCB выполнена
трассировка печатной платы, результат представлен на рисунках 6-8.
Рисунок 6 – Трассировка двухсторонней печатной платы
Рисунок 7 - 3D-вид нижней стороны печатного узла
Рисунок 8 - 3D-вид печатного узла
Для анализа температурного режима печатного узла выполнено
моделирование теплового режима работы в программной
результаты показаны на рисунках 9-10.
Рисунок 9- Изотерма верхнего слоя печатного узла
Рисунок 10- Изотерма нижнего слоя печатного узла
среде Triana.,
Анализ результатов теплофизического моделирования печатного узла
показал, что температурный режим соответствует нормальным условиям
эксплуатации и температура внутри корпуса не превышает 22 С0.
Для конструктивного оформления печатного узла робота в программной
среде Solid Works был спроектирован корпус робота и изготовлен на 3Dпринтере. На рисунках 11-12 представлен спроектированный вид корпуса.
Студентами группы были спроектированы и другие варианты корпусов,
которые показаны на рисунках 13-14.
Экспериментальные исследования показали работоспособность всего
аппаратно-программного комплекса.
Рисунок 11 – Вид шасси корпуса
Рисунок 12 – Корпус, изготовленный на 3D-принтере
Рисунок 13 – Вариант 2 для корпуса робота
Рисунок 14 – Вариант 3 для корпуса робота
ВЫВОДЫ
В
результате
проделанной
работы
по
проектированию
микропроцессорной системы управления движением мобильного робота по
заданной траектории разработаны структурная и электрические схемы
микропроцессорной системы,
разработана
и изготовлена конструкция
робота.
В ходе работы исследованы принципы управления движением робота,
разработан алгоритм программы для микроконтроллера, под управлением
которой
осуществляется
движение
робота
по
заданной
траектории.
Программа написана на языке высокого уровня Си в программной среде
AVR Studio и отлажена на реальной модели мобильного робота колесного
типа.
При первом запуске робот исследует траекторию движения, отыскивая
возможные выходы из лабиринта. При повторном запуске робот исключает
из траектории движения тупиковые маршруты и осуществляет движение по
оптимальному маршруту. Таким образом, можно сделать вывод о том, что
робот обладает искусственным интеллектом.
Демонстрация работы робота представлена в видеофайле.
Созданная модель робота может быть использована в образовательном
процессе в качестве действующей модели микропроцессорной системы.
Данная система является открытой системой, в которую можно вносить как
аппаратные, так и программные изменения, проектировать разные типы
корпусов.
Download