- •Харківський національний університет радіоелектроніки
- •Дипломний проект пояснювальна записка
- •Допускається до захисту
- •Харківський національний університет радіоелектроніки
- •Завдання на дипломний проект (роботу)
- •Календарний план
- •1 Анализ состояния вопросов управления роботами и постановка задач проектирования
- •2 Разработка аппаратной части микроконтроллерной системы управления
- •3 Разработка программного обеспечения микроконтроллерной системы
- •4 Охрана труда и безопасность в чрезвычайных ситуациях
- •5 Экономическая часть
2 Разработка аппаратной части микроконтроллерной системы управления
2.1 Выбор базовой микроконтроллерной платформы
Выбор микроконтроллера является одним из самых важных решений, от которых зависит работоспособность проекта. При выборе микроконтроллера существуют количественные критерии, которые необходимо учесть: стоимость, быстродействие, объем памяти, потребляемая мощность, архитектура и т.д.
Все микроконтроллеры можно разделить по признаку разрядности, быстродействию, схемы организации памяти и количеству портов ввода-вывода.
Однако значительно проще и удобнее работать с отладочными комплектами. Он состоит из печатной платы, на которой уже распаяны: микроконтроллер, кварцевый резонатор, стабилизатор питания, разъемы для подключения периферийных устройств, ЖК-индикатор и т.п. Кроме того, в комплект входят средства проектирования – программный компилятор и отладчик, а так же множество программных библиотек, облегчающих разработку ПО для устройства.
2.1.1 Отладочная плата STML32L-Discovery
STM32L-Discovery (рисунок 2.1) – это отладочная плата, в основе которой лежит микроконтроллер семейства STM32L на ядре Cortex-M3, которые отличаются ультранизким энергопотреблением.
Эта плата – полноценный инструментарий, включающий в себя оценочную плату, программатор и отладчик с поддержкой самых популярных программных средств разработки от таких фирм как IAR, Keil и Atollic.
Рисунок 2.1 – Отладочная плата STML32L-Discovery
В основе STM32L-Discovery заложен 32МГц микроконтроллер STM32L152RBT6 с 128 KБ Flash, 16 KБ RAM и 4 KБ EEPROM. Наличие встроенного программатора–отладчика ST-LINK позволяет разрабатывать приложения без дополнительных устройств. Сигналы встроенного ST-LINK выведены на внешний разъем, что позволяет так же использовать STM32L-Discovery в качестве программатора-отладчика для других разработок.
Основные характеристики STM32L-Discovery:
Микроконтроллер STM32L152RBT6;
Ядро Cortex-M3, 128 KB Flash, 16 KB RAM, 4 KB EEPROM;
Интерфейсы USB 2.0 FS, 3xUSART, 2xSPI, 2xI2C;
8 таймеров;
24-канальный 12-бит АЦП 1мкс, компараторы, 2х12-бит ЦАП;
Часы реального времени;
Встроенный контроллер LCD 8х40;
Встроенный программатор ST-Link с возможностью программировать другие микроконтроллеры STM32;
LCD дисплей 24х8 в форм-факторе DIP28;
Возможность измерения потребляемого тока;
Два пользовательских светодиода;
Все свободные выводы STM32L152RBT6 выведены на контактные площадки, 51 из которых настраиваемые выводы GPIO.
2.1.2 Отладочная плата Arduino UNO
Существует несколько версий платформ Arduino. Различаются они размерами и техническими характеристиками. В линейке устройств Arduino в основном применяются микроконтроллеры ATmega328, ATmega168, ATmega2560, ATmega32U4 с частотой тактирования 16 или 8 МГц. В микроконтроллер предварительно прошивается загрузчик (BootLoader), поэтому внешний программатор не нужен.
Одной из самых популярных среди пользователей Arduino, является модель Uno (рисунок 2.2).
Рисунок 2.2 - Arduino Uno
Платформа выполнена на базе контроллера ATmega328p с тактовой частотой 16 МГц, оснащена 32 кБ flash-памяти, 2 кБ SRAM-памяти и 1 кБ EEPROM. На плате расположены 14 цифровых контактов, которые могут быть настроены на дополнительные задачи (ШИМ, внешнее прерывание, последовательный порт) и 6 контактов аналогового ввода, каждый из которых предоставляет разрешение в 1024 градации. Кроме того на плате есть кнопка Reset для сброса процессора. Питание может осуществляться как через USB-порт, так и от внешнего источника: батарейки или электросети через блок питания. Источник определяется автоматически. Рекомендуемый диапазон напряжения: 7-12 В. Технические характеристики Arduino UNO представлены в таблице 2.1.
Таблица 2.1 – Технические характеристики Arduino UNO
Характеристика |
Значение |
Микроконтроллер |
ATmega328 |
Рабочее напряжение |
5 В |
Предельное входное напряжение |
6-20 |
Цифровые входы/выходы |
14 (6 - ШИМ) |
Аналоговые входы |
6 |
Ток через вход/выход |
40 мА |
Ток для вывода 3.3 В |
50 мА |
Флеш-память |
32 Кб |
ОЗУ |
2 Кб |
Энергонезависимая память |
1 Кб |
Тактовая частота |
16 МГц |
Стоимость |
22 $ |
Ещё одной отличительной особенностью Arduino является наличие плат расширения, так называемых shields. Это дополнительные платы, которые ставятся поверх Arduino (рисунок 2.3), чтобы дать ему новые возможности. Платы устроены таким образом, что их можно ставить сразу несколько, в зависимости от требований к устройству.
Рисунок 2.3 – Arduino с установленными платами расширения
2.1.3 Отладочная плата Arduino Mega 2560
Arduino Mega (рисунок 2.4) построена на микроконтроллере ATmega2560. Плата имеет 54 цифровых входа/выходf (14 из которых могут использоваться как выходы ШИМ), 16 аналоговых входов,4 последовательных порта UART, кварцевый генератор 16 МГц, USB коннектор, разъем питания, разъем ICSP и кнопка перезагрузки. Краткие технические характеристики представлены в таблице 2.2.
Рисунок 2.4 – Arduino Mega 2560
Arduino Mega 2560 совместима со всеми платами расширения, разработанными для платформ Uno.
Таблица 2.2 – Технические характеристики Arduino Mega 2560
Характеристика |
Значение |
Микроконтроллер |
ATmega2560 |
Рабочее напряжение |
5 В |
Предельное входное напряжение |
6-20 |
Цифровые входы/выходы |
54 (14 - ШИМ) |
Аналоговые входы |
16 |
Ток через вход/выход |
40 мА |
Продолжение таблицы 2.2
Характеристика |
Значение |
Ток для вывода 3.3 В |
50 мА |
Флеш-память |
256 Кб |
ОЗУ |
8 Кб |
Энергонезависимая память |
4 Кб |
Тактовая частота |
16 МГц |
Стоимость |
38 $ |
Таким образом, оценив технические характеристики представленных отладочных плат, в качестве основной для проекта была выбрана Arduino Mega, так как она обладает приемлемыми техническими характеристиками, не сложная в обращении и содержит достаточное количество портов для подключения дополнительных устройств.
2.2 Выбор датчиков и исполнительных устройств
2.2.1 Датчик линии
Для того, чтобы робот мог следовать контрастной линии, он должен быть оснащен соответствующими датчиками – датчиками линии. Работа этих устройств основана на различиях в отражающей способности светлых и темных участках поверхности. Таким образом, большинство датчиков строятся на основе оптопары – светодиода с фототранзистором. Помимо этого, датчики могут быть оснащены дополнительной электроникой, определяющей их режим работы (аналоговый либо цифровой) и позволяющей произвести настройку чувствительности устройства. Лучше всего показывают себя датчики, работающие в ИК-диапазоне, так как это позволяет существенно снизить паразитные засветки от внешних источников.
Аналоговый датчик линии.
Сенсор (рисунок 2.5) устанавливается на расстоянии 5-10 мм от поверхности и способен не только отличать чёрную поверхность от белой, он так же позволяет отличить оттенки серого. Это даёт возможность точно контролировать процесс перехода границы от чёрного к белому и наоборот, так как результатом является усреднённое значение яркости небольшого участка под фотоэлементом.
Интерфейс датчика представляет собой три контакта: питание, земля и аналоговый выход, напряжение на котором пропорционально яркости поверхности.
Рисунок 2.5 – Аналоговый датчик линии от компании Amperka
Основной фотоэлемент работает в инфракрасном спектре. Дополнительно на сенсоре установлен светодиод, который загорается когда поверхность под датчиком светлая. Это удобно для диагностики и настройки.
Так же на датчике установлен переменный резистор, который позволяет регулировать чувствительность сенсора в широких пределах. Это дает возможность откалибровать датчик под особенности конструкции, материал покрытия и различные условия внешнего освещения.
Напряжение питания и потребляемый ток составляют 5В и 10мА соответственно. Стоимость датчика составляет 4,5 $.
Цифровой датчик линии.
Датчик (рисунок 2.6) имеет три вывода: питание, GND и цифровой выход.
Рисунок 2.6 – Цифровой датчик линии от компании Amperka
Функциональность и схема построения такая же, как у аналогового датчика, с той лишь разницей, что в аналоговом датчике сигнал с фототранзистора сразу поступает на выход, а в цифровом датчике проходит через триггер Шмитта IC1(рисунок 2.7), который придает ему значения либо 0 – белая поверхность, либо 1 – черная поверхность.
Напряжение питания и потребляемый ток составляют 3-5В и 10мА соответственно. Рыночная стоимость датчика составляет 4,5 $.
Рисунок 2.7 – Схема цифрового датчика линии Amperka
Так как, в данном проекте нет нужды работать с оттенками серого, а достаточно только определять наличие или отсутствие линии под датчиком, то в качестве датчика линии для робота был выбран цифровой. Помимо этого, работа с цифровым сигналом значительно проше и быстрее, чем с аналоговым.
2.2.2 Датчик препятствия
Датчики препятствия являются неотъемлемой частью сенсорной системы любого мобильного робота, способного ориентироваться в пространстве.
Простейшим датчиком препятствия является контактный. Как правило, это бампер, расположенный на корпусе робота, под которым находится кнопка. При столкновении бампера с препятствием копка замыкает (либо размыкает) электрическую цепь, что позволяет системе управления робота распознать столкновение и отреагировать. Недостатком таких датчиков является то, что зачастую требуется отреагировать на возникновения препятствия до столкновения с ним. Для этого применяют датчики, основанные на инфракрасных, либо ультразвуковых излучениях.
Инфракрасный датчик препятствия E18-D80NK.
Функционирование данного датчика (рисунок 2.8) основано на так называемых TSOP-сенсорах – оптических датчиков, излучающих модулированный сигнал и демодулирующих входной сигнал. Это позволяет реагировать только на сигнал определенной частоты, избегая засветок от посторонних излучателей.
Рисунок 2.8 – Инфракрасный датчик препятствия E18-D80NK
Схема работы передатчика и приемника таких датчиков показана на рисунках 2.9 и 2.10.
Рисунок 2.9 – Принцип работы передатчика TSOP-сенсора
Рисунок 2.10 – Принцип работы приемника TSOP-сенсора
Помимо источника и приемника данный датчик содержит в себе дополнительную электронику, позволяющую настроить его на требуемую дистанцию реагирования. Подключается датчик с помощью трех выводов: питание, земля и цифровой выход. Недостатком такого датчика является то, что с его помощью можно определить только факт возникновения препятствия, но не расстояние до него. Технические характеристики приведены в таблице 2.3.
Таблица 2.3 – Технические характеристики датчика E18-D80NK
Характеристика |
Значение |
Расстояние срабатывания, см |
3-80 |
Напряжение питания, В |
5 |
Потребляемый ток, мА |
100 |
Диапазон рабочей температуры, ◦С |
-25 - 70 |
Стоимость |
11 $ |
Инфракрасные дальномеры компании Sharp.
Дальномеры Sharp (рисунок 2.11) представлены тремя моделями, отличающимися между собой только диапазоном измеряемых расстояний.
Рисунок 2.11 – Инфракрасный дальномер Sharp GP2Y0A02YK
Работа дальномеров основана на том же принципе, что и ИК-датчик препятствия. Внутренняя архитектура датчика представлена на рисунке 2.12
Рисунок 2.12 – Внутренняя архитектура дальномеров Sharp
Выводом датчиков является аналоговый сигнал, с уровнем напряжения, зависимым от расстояния до препятствия. Таким образом, по графикам зависимости напряжения от расстояния (рисунок 2.13) из спецификации к датчикам можно точно определять дистанцию до препятствия.
|
|
а) |
б) |
Рисунок 2.13 – Зависимость выходного напряжения от расстояния до препятствия: а) датчика GP2Y0A21YK; б) датчика GP2Y0A02YK
В таблице 2.4 приведены основные характеристики датчиков Sharp.
Таблица 2.4 – Технические характеристики датчиков Sharp
Характеристика |
Значение |
||
Модель |
GP2Y0A41SK |
GP2Y0A21YK |
GP2Y0A02YK |
Диапазон расстояний, см |
4-30 |
10-80 |
20-150 |
Напряжение питания, В |
4,5-5,5 |
4,5-5,5 |
5 |
Потребляемый ток, мА |
30-40 |
30-40 |
33-50 |
Стоимость |
16 $ |
22 $ |
10 $ |
Основным недостатком таких датчиков является то, что на их работу влияют засветки от солнца и светоотражающие свойства поверхности препятствия.
Ультразвуковой дальномер HC-SR04.
Ультразвуковой дальномер (рисунок 2.14) работает по принципу сонара. Он генерирует звуковые импульсы на частоте 40 кГц и слушает эхо, отраженное от препятствия. По времени распространения звуковой волны в обе стороны можно однозначно определить расстояние до объекта.
Рисунок 2.14 – Ультразвуковой дальномер HC-SR04
Разъем сенсора представляет собой четыре контакта: питание, входной контакт Trig, выходной контакт Echo и земля.
Если на сигнальный вход Trig подается высокий уровень в течении 10мкс, то ультразвуковой модуль будет излучать восемь наборов ультразвукового сигнала с частотой 40 кГц, после чего выход Echo устанавливается в высокий уровень и остается в нем, пока не вернется эхо (рисунок 2.15).
Рисунок 2.15– Последовательность работы дальномера HC-SR04
Длительность импульса на выходе Echo пропорциональна расстоянию до препятствия, которое рассчитывается по формуле, приведенной в спецификации:
|
(2.1) |
где L – расстояние до препятствия, см;
t – длительность импульса Echo, мкс.
Диаграмма направленности датчика показана на рисунке 2.16.
Рисунок 2.16– Диаграмма направленности дальномера HC-SR04
Характеристики датчика представлены в таблице 2.5
Таблица 2.5 – Характеристики датчика HC-SR04
Характеристика |
Значение |
Диапазон измеряемых расстояний, см |
2-400 |
Напряжение питания, В |
5 |
Потребляемый ток в режиме тишины, мА |
2 |
Потребляемый ток в режиме работы, мА |
15 |
Угол наблюдения |
30° |
Разрешение, см |
1 |
Стоимость |
4,5 $ |
Ультразвуковой дальномер URM37.
Принцип работы дальномера URM37 (рисунок 2.17) такой же, как и у HC-SR04. Датчик собран с применением микроконтроллера AVR, который выполняет управление датчиком и обрабатывает сигнал от него, вычисляя расстояние до объекта (по задержке между отправкой и приемом ультразвукового импульса). В программе датчика предусмотрена встроенная температурная коррекция измерения расстояния, что является уникальной особенностью для датчиков расстояния низкого ценового диапазона.
Рисунок 2.17 – Ультразвуковой дальномер URM37
Для считывания данных предусмотрен целый ряд интерфейсов: Serial или PWM, TTL или RS232. Всё это делает сенсор крайне гибким в использовании и подходящим для широкого круга задач. Выбор интерфейса TTL или RS232 производится простой перестановкой джамперов на плате сенсора (рисунок 2.18).
|
|
а) |
б) |
Рисунок 2.18– Выбор интерфейса в датчике URM37: а) Режим стандартного RS232; б) Режим TTL
Диаграмма направленности сенсора представлена рисунке 2.19
Рисунок 2.19 – Диаграмма направленности дальномера URM37
Интерфейс датчика представляет собой девять контактов, назначения которых показаны в таблице 2.6
Таблица 2.6 – Интерфейс датчика URM37
Вывод |
Назначение |
VCC |
Питание +5В |
GND |
Земля |
RST |
Сброс |
PWM |
Выход ШИМ |
MOTO |
Выход управления сервоприводом |
COMP/TRIG |
В режиме COMP – если измеренное расстояние меньше заданной величины, то на выходе низкий уровень. В режиме TRIG – управляющий выход для ШИМ |
PWR_ON |
Вход, разрешающий работу датчика |
RXD |
Вход последовательного канала связи |
TXD |
Выход последовательного канала связи |
Также предусмотрены разные режимы работы, выбор которых осуществляется путем занесения команд (таблица 2.7) в память EEPROM через последовательный порт (RS232 RXD, TXD).
Таблица 2.7 – Режимы работы датчика URM37
Режим |
Команда |
Описание |
Последовательный, пассивный |
0x00 |
В этом режиме сенсор всегда ждет команды, которая должна прийти через последовательный порт. Когда принята соответствующая команда, то датчик измерит расстояние и вернет его значение через последовательный порт, и затем вернется к ожиданию следующей команды. |
Автономный триггерный |
0x01 |
В этом режиме сенсор измеряет расстояние каждые 25 мс и сравнивает его с пороговым. Если измеренное значение меньше порогового, то выход COMP/TRIG переводится в низкий уровень. Ножка PWM выведит измеренное расстояние, где каждые 50 мкс низкого уровня соответствуют расстоянию 1 см. |
Пассивный ШИМ |
0x02 |
В этом режиме переход в лог. 0 вывода COMP/TRIG соответствует началу измерения расстояния. Длительность импульса лог. 0 пропорциональна углу поворота сервопривода. После успешного чтения сенсора ножка PWM выведет импульс, где каждые 50 мкс соответствуют 1 см. |
Основные характеристики датчика URM37 представлены в таблице 2.8
Таблица 2.8 – Основные характеристики датчика URM37
Характеристика |
Значение |
Напряжение питания, В |
5 |
Продолжение таблицы 2.8
Характеристика |
Значение |
Потребляемый ток, мА |
<20 |
Диапазон расстояний, см |
4 - 300 |
Разрешение, см |
1 |
Эффективный угол обзора |
30◦ |
Диапазон рабочих температур, ◦С |
-10 - +70 |
Стоимость |
24 $ |
Таким образом, рассмотрев характеристики некоторых датчиков препятствия, можно составить их сравнительную характеристику (таблица 2.9).
Таблица 2.9 – Сравнительная характеристика датчиков препятствия
Датчик |
Преимущества |
Недостатки |
ИК датчик препятствия E18-D80NK |
Простота работы с датчиком; Низкая стоимость. |
Невозможность измерять расстояние; Реагирование на внешние засветки и отражающие свойства препятствия |
ИК дальномеры Sharp |
Измеряет расстояние; Работает со звукопоглощающими материалами |
Реагирование на внешние засветки и отражающие свойства препятствия |
УЗ дальномер HC-SR04 |
Измеряет расстояние; Низкая стоимость; Не реагирует на цвет |
Некорректная работа со звукопоглощающими материалами |
УЗ дальномер URM37 |
Измеряет расстояние; Не реагирует на цвет материала |
Некорректная работа со звукопоглощающими материалами |
Таким образом, в качестве датчиков препятствия выбран ультразвуковой дальномер HC-SR04. Тот факт, что он позволяет точно определять расстояние до препятствия, дает возможность программно устанавливать точное значение или диапазон расстояний до препятствия, на которое должен реагировать робот. Кроме того, для работы с датчиком существует несколько библиотек, которые значительно облегчают разработку программы.
2.2.3 Шасси робота
Выбор шасси для мобильного робота зависит от типа робота, его целей и назначения. На них должен уместиться контроллер, драйвер двигателей, моторы, датчики, питание, дополнительные модули и компоненты. Кроме того, от них зависит проходимость робота на различных поверхностях, а так же алгоритм и сложность управления роботом.
Основными типами шасси, применяемыми в роботах, являются шасси на гусеничном и на колесном ходу.
Важное отличительное качество гусеничных шасси (рисунок 2.20) заключается в их маневренности. Обладая независимым приводом для каждой из гусениц в отдельности, мобильный робот может легко менять направление собственного движения.
Рисунок 2.20– Гусеничные шасси
Благодаря тому, что скорость каждой из гусениц регулируется в отдельности, достаточно легко управлять движением мобильного робота. Для задания какого-либо направления движения необходимо изменить относительную скорость приводов.
Недостатком таких платформ является сложность ходовой части ввиду наличия в ней большого количества деталей. Кроме того, при развороте на месте гусеницы могут портить поверхность.
Четырехколесные платформы могут быть построены по такому же принципу, как автомобиль, где одна пара колес – ведущая, а другая – направляющая рулевая, приводимая в движение механизмом управления.
Преимуществом таких платформ является то, что для каждой пары колес можно использовать по одному электродвигателю. Кроме того, система управления такими шасси достаточно проста. Однако для обеспечения поворота необходимо свободное пространство, следовательно, такая система недостаточно маневренна.
Так же четырехколесные платформы могут состоять из жестко закрепленных колес, каждое из которых управляется собственным двигателем (рисунок 2.21). Такие платформы обладают значительно большей маневренностью, достаточно хорошей проходимостью и могут совершать разворот на месте, так же, как гусеничные. Однако, в связи с тем, что на платформе установлено четыре электродвигателя, существенно возрастает потребляемый системой ток.
Рисунок 2.21 – Четырехколесная платформа
Двухколесные шасси (рисунок 2.22) представляют собой платформу, с установленными на ней двумя колесами, каждое из которых управляется собственным электродвигателем.
Рисунок 2.22 – Двухколесная платформа
Помимо ведущих колес, на платформу устанавливают один или два дополнительных ролика, что позволяет сделать ее более устойчивой. Это является недостатком данных шасси, так как в некоторых случаях ролики начинают влиять на динамику движения робота.
Преимуществами данной платформы являются простота управления и высокая маневренность.
В результате анализа преимуществ и недостатков каждого типа шасси сделан вывод, что наиболее приемлемой для данного проекта платформой является двухколесное шасси с дифференциальным приводом в силу своей маневренности и относительно несложной технической реализации. Оно содержит в себе достоинства гусеничного шасси (высокая маневренность) и исключает недостатки четырехколесного шасси (потребляемый ток).
Трехколесное шасси RKP-202A-2WD.
Шасси RKP-202A-2WD (рисунок 2.23) представляет собой акриловую платформу с установленными на ней двумя электромоторами с редукторами и одним пассивным роликовым колесом, свободно вращающимся на 360 градусов. Так же на платформе установлен отсек для элементов питания.
Рисунок 2.23– Двухколесная платформа
Передаточное соотношение редукторов составляет 48:1. Каждый мотор редуктор имеет в комплекте механическую часть энкодера для определения реальной скорости вращения колес. Характеристики скорости моторов представлены в таблице 2.10.
Таблица 2.10 – Характеристики моторов в зависимости от напряжения питания
Напряжение, В |
Ток, мА |
Скорость шасси, м/мин |
3 |
100 |
20 |
5 |
190 |
39 |
6 |
240 |
48 |
Технические характеристики шасси представлены в таблице 2.11.
Таблица 2.11 – Технические характеристики шасси RKP-202A-2WD
Характеристика |
Значение |
Коэффициент передачи редуктора |
48:1 |
Габариты платформы |
200 х 170 мм |
Диаметр колеса |
65 мм |
Продолжение таблицы 2.11
Характеристика |
Значение |
Материал |
пластик |
Стоимость |
25 $ |
Так как ось вращения колес размещена в передней части платформы, то в некоторых случаях (например, при разворотах на месте) такая конструкция может некорректно выполнять маневры, цепляясь за препятствия. Кроме того, пассивное колесо, выполненное в виде ролика, так же может негативно сказываться на маневренности.
Четырехколесное шасси.
Четырехколесное шасси (рисунок 2.24) обладает такими же характеристиками, как и трехколесное. Отличается оно размерами и формой самой платформы, а так же наличием дополнительного ролика в передней части платформы.
На платформе так же установлены два мотора редуктора с передаточной характеристикой 48:1.
Рисунок 2.24– Четырехколесная платформа
Технические характеристики данной платформы представлены в таблице 2.12.
Таблица 2.12 – Технические характеристики четырехколесного шасси
Характеристика |
Значение |
Коэффициент передачи редуктора |
48:1 |
Габариты платформы |
160 х 150 мм |
Диаметр колеса |
65 мм |
Материал |
пластик |
Стоимость |
20 $ |
Так как ось вращения колес находится по центра платформы, то в ней отсутствует недостаток, присущий трехколесной платформе.
Двухколёсное шасси miniQ.
Данное шасси (рисунок 2.25) представляет собой круглую платформу с парой колес, вращаемых микромоторами с редукторами и дополнительной шаровой опорой. Так же на платформе расположено множество отверстий для крепления различной электроники.
Рисунок 2.25– Платформа miniQ
Технические характеристики данной платформы представлены в таблице 2.13.
Таблица 2.13 – Технические характеристики шасси miniQ
Характеристика |
Значение |
Коэффициент передачи редуктора |
50:1 |
Габариты платформы |
диаметр 122 мм |
Клиренс |
4,2 см |
Колеса |
42х19 мм |
Потребляемый ток |
40-360 мА |
Крутящий момент |
0,72 кг*см |
Скорость шасси без нагрузки |
34 м/мин |
Стоимость |
40 $ |
В данной платформе устранены недостатки, присущие предыдущим рассмотренным платформам. Эта платформа круглая, а ось вращения колес проходит через центр платформы. Кроме того роликовое колесо заменено на шариковую опору, которая не влияет на движение робота. Все это делает робота достаточно маневренным и простым в управлении, поэтому для проекта была выбрана данная платформа.
2.2.4 Драйвер двигателей
Платформа имеет два электромотора, которыми нужно управлять. Так как на выходах микроконтроллера ток не более 40 мА, а электродвигателям требуется на порядок больше, то напрямую их к контроллеру подключить невозможно. Для этого применяют схемы, основанные на транзисторных ключах и, так называемых, Н-мостах (рисунок 2.26). Н-мост – это электрическая схема, состоящая из четырех ключей и нагрузки между ними, позволяющая пропускать ток через нагрузку в различных направлениях.
Рисунок 2.26– Традиционная схема Н-моста
Управление мотором в данном случае осуществляется парами транзисторов Q1, Q4 и Q2, Q3. Открывая одну пару и закрывая другую, происходит коммутация соответствующих выходов мотора на питание и на землю, что заставляет его вращаться в соответствующем направлении.
Для управления двигателями в роботах, как правило, применяются Н-мосты с дополнительной управляющей логикой и реализованные в виде интегральных схем, например, семейства L298. На этих же схемах функционируют платы расширения Arduino для подключения двигателей.
Arduino Motor Shield.
Плата расширения Motor Shield (рисунок 2.27) является драйвером двигателей от компании Arduino.
Рисунок 2.27– Arduino Motor Shield
Она позволяет управлять двумя двигателями постоянного тока с помощью платы Arduino, независимо регулируя скорость и направление каждого из них. Кроме того, можно так же измерять ток, потребляемый каждым двигателем.
Данная плата расширения имеет два раздельных канала, называемых канал А и канал В, каждый из которых использует 4 вывода Arduino для управления двигателем. Можно использовать каждый канал отдельно, чтобы управлять двумя двигателями постоянного тока, либо объединить их для управления одним биполярным шаговым двигателем.
Выводы платы, разделенные по каналам, показаны в таблице 2.14.
Таблица 2.14 – Выводы Arduino Motor Shield
Функция |
выводы на канал А |
Выводы на канал В |
Направление |
D12 |
D13 |
ШИМ |
D3 |
D11 |
Торможение |
D9 |
D8 |
Токовое считывание |
A0 |
A1 |
Плата расширения должна питаться от внешнего источника питания, поскольку микросхема L298, расположенная на плате, имеет два раздельных блока питания: один для логики, второй для управления потреблением двигателя. Внешнее питание может подаваться либо с AC/DC преобразователя, либо с батареи. Технические характеристики платы приведены в таблице 2.15.
Таблица 2.15 – Характеристики Arduino Motor Shield
Характеристика |
Значение |
Рабочее напряжение |
от 5 до 12 В |
Контроллер двигателя |
L298P |
Максимальный ток |
2 А на канал |
Продолжение таблицы 2.15
Характеристика |
Значение |
Токовое считывание |
1.65 В/А |
Стоимость |
22 $ |
Motor Shield компании Amperka.
Плата расширения Motor Shield (рисунок 2.28) так же изготовлена на основе микросхемы L298 и позволяет управлять моторами с напряжением 5-24В в режиме раздельного питания и 7-12 в режиме объединенного питания.
Рисунок 2.28– Motor Shield от Amperka
Плата имеет два независимых канала. Используя их, можно подключить: два DC-мотора, один двухфазный шаговый двигатель, или один DC-мотор с током до 4 А, если объединить каналы.
При разгоне и торможении двигатели сами индуцируют кратковременный обратный ток большой величины, который может выжечь контакты микроконтроллера. На Motor Shield установлены возвратные диоды, которые это предотвращают.
Для коммутации с микроконтроллером используются четыре цифровых контакта Arduino, указанных в таблице 2.16.
Таблица 2.16 – Выводы Motor Shield
Назначение |
Канал А |
Канал B |
Направление |
D4 |
D7 |
Скорость (ШИМ) |
D5 |
D6 |
На плате предусмотрена возможность выбора источника питания, путем перестановки джампера: от платы Arduino или от внешнего источника, подключаемого к клеммам «+» и «-». В таблице 2.17 приведены основные характеристики Motor Shield.
Таблица 2.17 – Характеристики Motor Shield от Amperka
Характеристика |
Значение |
Напряжение питания в раздельном режиме |
от 4,8 до 24 В |
Напряжение питания в объединенном режиме |
от 7 до 12 В |
Контроллер двигателя |
L298P |
Максимальный ток |
2 А на канал |
Стоимость |
20 $ |
Таким образом, обе представленные платы основаны на микросхеме L298P и имеют схожие характеристики, удовлетворяющие требованиям. Motor Shield от Amperka занимает определенный диапазон пинов Arduino (D4-D7) , что удобнее в работе и программировании, в отличии от Arduino Motor Shield. Однако, она не обладает возможностью резкой остановки двигателей и токового считывания, но в данном проекте такие возможности не требуются, поэтому в качестве драйвера двигателей была выбрана плата Motor Shield от Amperka.
2.3 Подключение датчиков и исполнительных устройств
2.3.1 Подключение двигателей к драйверу
Электродвигатели в платформе miniQ расположены таким образом, что для движения вперед (либо назад), их следует вращать в разных направлениях. Плата драйвера имеет два независимо управляемых канала М1и М2, каждый из которых состоит из двух клемм, условно обозначенных «+» и «-», к которым подключаются коллекторные моторы.
Если подключить два электромотора таким образом, чтобы их одноимённые контакты щёточного узла соответствовали одному и тому же обозначению на плате, то, при подаче на плату одинаковых управляющих импульсов, моторы будут вращаться в одну и ту же сторону. Поэтому, для управления роботом, следует подключать один из моторов разноименно. Схема подключения электромоторов к драйверу представлена на рисунке 2.29.
Таким образом, при подаче логической еденицы на 4 и 7 входы драйвера, отвечающие за направления вращения моторов и установки разрешающего сигнала на 5 и 6 платформа начнет двигаться вперед, а при логическом нуле на 4 и 7 входы – назад.
Рисунок 2.29– Схема подключения двигателей к Motor Shield
2.3.2 Подключение драйвера к микроконтроллерной платформе
Драйвер двигателей Motor Shield устроен таким образом, что при подключении к плате Arduino занимает на ней определенные контакты. Контакты на драйвере, отвечающие за скорость вращения левого и правого двигателей подключаются к 5 и 6 цифровым контактам Arduino соответственно. Вывод, отвечающий за направление вращения левого двигателя, занимает четвертый цифровой выход платы, правого – седьмой. Кроме того, для питания внутренней логики драйверу требуется напряжение 5 В, которое подается через выход 5v c Arduino. Таким образом, драйвер занимает четыре цифровых выхода микроконтроллера (с 4 по 7) и параллельно подключается к питающему выходу 5v и земле GND.
2.3.3 Подключение датчиков линии к микроконтроллерной платформе
На платформу устанавливаются два цифровых датчика линии. Интерфейс каждого датчика представляет собой три контакта: питание, земля и цифровой выход, значение на котором определяет цвет поверхности под датчиком (низкий уровень – белый, высокий – черный). Таким образом, информационные выходы каждого датчика можно подключить к любому цифровому контакту Arduino, для удобства были выбраны D41 контакт для правого датчика и D43 – для левого. Для датчиков не требуется отдельно выделенного питания, поэтому их питающие входы параллельно подключаются к выходу 3.3v на плате. Таким же образом к выходу GND на плате Arduino подключается и земля.
2.3.4 Подключение УЗ-дальномеров к микроконтроллерной платформе
На платформу устанавливаются четыре ультразвуковых дальномера HC-SR04. Каждый датчик имеет четыре контакта для подключения к микроконтроллерной плате: питание, входной контакт Trig, выходной контакт Echo и земля. С помощью цифрового выхода Trig инициируется процесс измерения расстояния до препятствия. После измерения расстояния, данные считываются с помощью цифрового выхода Echo. Таким образом, для каждого датчика требуется по два цифровых выхода платы Arduino. Выбранные выходы представлены в таблице 2.18.
Таблица 2.18 – Выходы Arduino занимаемые УЗ-дальномерами
Датчик |
Выходы датчика |
Выход Arduino |
Передний левый |
Trig |
D30 |
Echo |
D31 |
|
Передний правый |
Trig |
D32 |
Echo |
D33 |
|
Боковой левый |
Trig |
D34 |
Echo |
D35 |
|
Боковой правый |
Trig |
D36 |
Echo |
D37 |
Так как для питания дальномеров не требуется отдельного источника, то их питающие входы Vcc и земля GND параллельно подключаются к выходу 5v и GND на плате Arduino.
2.3.5 Подключение источников питания
Для обеспечения надежной работы устройства, необходимо выбрать и правильно подключить источники питания для схем. В данном проекте требуется питание для платы Arduino и для драйвера двигателей Motor Shield.
Для питания платы Arduino рекомендуемое входное напряжение находится в пределах 7-12 В.
Плата Motor Shield использует два контура питания. Один контур используется для питания внутренней логики драйвера, питание на него подается с контакта 5v платы Arduino. Другой контур – силовой, напряжение на который приходит с клеммника PWR. От этого контура запитана микросхема Н-моста и нагрузка.
На плате Motor Shield установлен джампер, который позволяет переключить режим питания платы. Когда джампер находится в положении PWR JOIN, происходит объединение контакта Vin Arduino и положительного контакта клеммника PWR. Этот режим используется для обеспечения питания и Arduino и силовой нагрузки от одного источника питания. Этот режим имеет ряд недостатков: при работе двигателей по цепи питания может проходить очень большой ток, на который цепь Vin Arduino не рассчитана. Кроме того, при резких скачках нагрузки может возникнуть кратковременная просадка напряжения, которая приведет к перезагрузке управляющего контроллера Arduino.
Таким образом, плату драйвера двигателей и микроконтроллерную плату следует питать раздельно. Так как для стабильной работы Arduno требуется напряжение от 7 до 12 В, то в качестве источника питания для данной платы была выбрана 7,2 B NiMh аккумуляторная батарея HPI Plazma (рисунок 2.30) емкостью 1100 мАч.
Рисунок 2.30– Аккумуляторная батарея HPI Plazma 7.2v
Номинальное напряжение работы двигателей, установленных на колесной платформе – 6 В. Поэтому для питания драйвера двигателей и нагрузки был выбран 6 В NiMh аккумулятор HPI Plazma 2/3A (рисунок 2.31) емкостью 1600 мАч.
Рисунок 2.31– Аккумуляторная батарея HPI Plazma 2/3A
Основные характеристики выбранных источников питания представлены в таблице 2.19.
Таблица 2.19 – Характеристики выбранных источников питания
Характеристика |
Значение |
|
HPI Plazma 7.2v |
HPI Plazma 2/3A |
|
Тип батареи |
NiMh |
NiMh |
Напряжение |
7.2 В |
6 В |
Емкость |
1100 мАч |
1600 мАч |
Масса |
34 $ |
26$ |
Таким образом, была разработана общая схема устройства (рисунок 2.32).
Рисунок 2.32– Принципиальная схема устройства
2.4 Размещение датчиков на платформе
Одной из основных задач, возникающих в процессе проектирования информационно-измерительной системы мобильного робота, является задача выбора числа датчиков и мест их размещения на платформе с целью обеспечения корректного выполнения алгоритма функционирования и минимизации площади «слепой зоны».
2.4.1 Размещение датчиков линии
Существует несколько способов следовать по линии и все они используют один, два или больше датчиков линии. При использовании одного датчика, робот следует за краем линии, непрерывно отслеживая переход от темного к светлому и наоборот. Этот способ хорошо работает на низких скоростях, но становится непригодным на высоких, когда робот не успевает среагировать и сходит с линии.
Два датчика используются подобно одному, за исключением того, что каждый датчик управляет своим двигателем. Линия располагается в промежутке между датчиками и по сути робот пытается ее избежать. Недостатком данного способа является тот факт, что робот не может отличить колебание между краями линии от потери линии и в этом случае уедет прочь.
Использование третьего датчика дает роботу возможность определить собственно линию и ее края. Таким образом, робот может различать выезд за линию. Это дает возможность приспосабливаться к таким ситуациям, как кривые линии и повороты. Это позволяет увеличить скорость при движении по прямой и более тонко регулировать скорость при изменениях ситуации.
В данном проекте не требуется такая точность следования линии, как при использовании трех датчиков, поэтому робот использует два датчика.
Датчики следует располагать друг от друга на несколько большем расстоянии, чем толщина следуемой линии. Таким образом, при толщине контрастной линии в 2 см, датчики располагаются в передней части робота, симметрично относительно продольной оси на расстоянии 4 см друг от друга.
Такое расположение позволяет следовать линии, совершая при этом минимум корректировок (рисунок 2.33).
2.4.2 Размещение УЗ-дальномеров
На платформу устанавливаются две пары ультразвуковых дальномеров. Одна пара датчиков предназначена для определения расстояния до препятствия, находящегося на пути робота. Кроме того, с помощью этих датчиков система управления решает, в какую сторону совершить объезд препятствия. Дальномеры располагаются в передней части робота, симметрично относительно продольной оси. Так как угол обзора датчиков - 30°, то дальномеры направлены с отклонением в 15° от продольной оси. Такое расположение позволяет роботу «видеть» 60° сектор впереди себя.
Вторая пара датчиков предназначена для определения и контроля расстояния до препятствия во время объезда. Датчики расположены в передней части робота и направлены в боковые стороны параллельно поперечной оси робота. Такое расположение позволяет реагировать на изменения расстояния с неким опережением (рисунок 2.34).
Рисунок 2.33– Схема размещения датчиков линии
Рисунок 2.34– Схема размещения УЗ-дальномеров
