Радиолоцман Электроника en
расширенный поиск +
  
Срезы:Arduino
Микроконтроллеры

27-05-2013

Ardusumo - открытая платформа для создания боевых роботов

Идея

Ardusumo – это универсальная платформа с открытым исходным кодом для создания роботов с колесным приводом, которые снабжены инфракрасными датчиками для обнаружения и объезда препятствий и могут следовать по маршруту, отмеченному темными линиями на белом фоне (Рисунок 1).

Ardusumo - открытая платформа для создания боевых роботов
Рисунок 1. Ardusumo – платформа для создания роботов.

Изначально проект Ardusumo задумывался с целью привлечения студентов и радиолюбителей в мир робототехники: корректно написанный код для Ardusumo позволит роботу выполнять различные автономные движения, платформа объединяет датчики и исполнительные устройства различных типов.

Основа проекта – отладочная плата Arduino. Несущая конструкция (шасси) представляет собой плату, объединяющую механические и электронные узлы. Разнообразие вариантов сборки поддерживается модульной конструкцией и универсальностью подключения.

Рисунок 2. Возможный вариант конструкции робота Ardusumo.

Электронная схема робота Ardusumo очень проста: отладочная плата Arduino UNO, четыре оптических датчика – три впереди и один сзади, два инфракрасных датчика и драйвер электродвигателей. Оптические датчики расположены снизу шасси (направлены вниз) и используются в режиме следования по маршруту, а также для определения пересечения роботом разделительной границы.

Каждый оптический датчик содержит светодиод, направленный на поверхность, по которой двигается робот и приемник отраженного излучения. Таким образом, по интенсивности отраженного света робот может определить маршрут движения (определяется более высокая интенсивность при освещении отражающей поверхности). Передние датчики устанавливаются на одной линии перпендикулярно продольной оси платформы. Средний датчик отслеживает линию движения и обнаруживает уход робота с нее (Рисунок 3). В этом случае микроконтроллер распознает направление смещения и выдает команды корректировки. Задний датчик предназначен для обнаружения приближения робота к краю кольца и в этом случае микроконтроллер подает команду движения вперед для выхода из тупика.

Два инфракрасных датчика – это «глаза» робота, которые располагаются сверху на плате и немного развернуты в разные стороны. Благодаря этим датчикам робот может обнаруживать и объезжать препятствия (Рисунок 3).

Два светодиода, расположенные впереди снизу, используются для подсветки поверхности перед роботом и подключены непосредственно к микроконтроллеру на плате Arduino. Для звукового оповещения используется компактный звуковой излучатель.

Для устойчивости робота снизу шасси устанавливаются две дополнительные шаровые опоры.

Возможная конструкция робота Ardusumo
Рисунок 3. На нижней стороне несущей платы расположены оптические датчики, светодиоды подсветки и две шаровые опоры. На верхней стороне несущей платы расположены плата Arduino, ИК датчики препятствия и колесный привод.

Принципиальная схема изображена на Рисунке 4.

Принципиальная схема робота Ardusumo
Рисунок 4. Принципиальная схема робота Ardusumo

«Сердцем» робота, как упоминалось выше, является плата Arduino UNO. Все необходимые сигналы управления доступны на коннекторах платы. Сигнальные линии D4, D5, D6, D7, D8, D9 и D10 используются для управления микросхемой-драйвером электродвигателей. Сигнал ШИМ, генерируемый микроконтроллером (линии D10 и D5), необходим для управления скоростью двух электродвигателей, обеспечивающих движение и вращение робота.

Контроллер двигателей микросхема TB6612FNG – представляет собой сдвоенный мостовой ШИМ драйвер с интегрированной простой логикой управления. Каждый интегрированный драйвер содержит выходной мост, образованный четырьмя комплементарными MOSFET ключами с защитными диодами.

Каждая секция контроллера двигателей управляется ШИМ сигналом, который подается на входы PWMA и PWMB (соответственно канал A и канал B). Сигнал ШИМ одинаковый для двух электродвигателей M1 и M2. Входы AIN1, AIN2 и BIN1 и BIN2 используются для управления режимами работы выходных мостов каналов A и B, соответственно.

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

Продолжим анализ принципиальной схемы. К выводам платы Arduino RST и A4 подключены две кнопки: P2 – для сброса микроконтроллера и P1 – для пользовательской функции. Цифровой выход D11 используется для управления двумя красными светодиодами подсветки поверхности впереди робота. К выходу D12 подключен звуковой излучатель BZ1.

К аналоговым входам Arduino A1 и A2 подключаются инфракрасные датчики дистанции Sharp GP2D120 с аналоговым выходом (Рисунок 5). Выходной сигнал датчиков пропорционален расстоянию от него до препятствия. Использование двух датчиков дает нам возможность определения расстояния до препятствия и (приблизительно) его положение.

«Глаза» робота - инфракрасные датчики расстояния.
Рисунок 5. «Глаза» робота – инфракрасные датчики расстояния GP2D120.

Инфракрасные датчики необходимо подключать через трехвыводные коннекторы S1 и S2, к которым дополнительно подводится питание +5 В и «земля» (Рисунок 6).

Рисунок 6. Расположение основных электронных и механических узлов на шасси робота Ardusumo.

Четыре аналоговых оптических датчика Vishay CNY70 для отслеживания маршрута движения подключаются к A2, D2, D3 и D1 линиям платы Arduino. Каждый оптический датчик состоит из светодиода и фототранзистора. Светодиод излучает свет по направлению к поверхности, а фототранзистор определяет интенсивность отраженного сигнала. Принцип основан на увеличении обратного тока насыщения коллекторного перехода фототранзистора. Чем ближе отражающая поверхность, тем выше интенсивность отраженного света, но стоит обратить внимание на цвет поверхности: если она белая, то интенсивность отраженного света будет больше, чем, если бы она была черной. В цепь эмиттера фототранзистора каждого датчика включен резистор (R8, R2, R4, R6), таким образом на соответствующих входах  платы Arduino мы получим напряжение, уровень которого будет пропорционален интенсивности отраженного света.

Для питания робота используются 6 NiMH аккумуляторов, которые обеспечивают номинальное напряжение 7. 2 В. Не исключен вариант питания от шести батареек, в этом случае напряжение будет равно 9 В. Плата Arduino питается от встроенного регулятора напряжения 5 В. Контроль напряжения питания возложен на микроконтроллер: используется аналоговый вход А3 платы Arduino и делитель напряжения на резисторах R12 и R11.

Таблица 1. Список использованных компонентов

Обозначение
в схеме
Номинал Примечание
R1, R3, R5,
R7, R11, R12
47 кОм  
R2, R4, R8 390 Ом  
R9 100 Ом  
R10 270 Ом  
C1, C2 100 нФ 63 В  
C3, C4, C5,
C6
470 мкФ 16 В  
C7, C8 1 мкФ 35 В  
C9 100 мкФ 35 В  
T1, T2, T3, T4 CNY70 Аналоговый оптический датчик
P1, P2 Миниатюрные кнопки без фиксации  
BZ1 Компактный звуковой излучатель  
SW1 Выключатель питания  
U1 TB6612FNG Двухканальный драйвер
электродвигателей
LD1, LD2 Светодиоды 5 мм  
F1 Предохранитель 1 А  
S1, S2 Коннекторы для подключения
ИК датчиков GP2D12
 

Загрузки

Исходные коды программы микроконтроллера (Arduino скетч), которые помогут протестировать функционирование узлов робота и создать свой собственный прототип – скачать

open-electronics.org

На английском языке: Ardusumo: an Open Source Platform for Fighting Robots

Перевод: Vadim по заказу РадиоЛоцман

Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Римейк очень старой идеи. Кибернетическая черепаха Бета была сделана еще в 1951 году. Это устройство не может делать ничего большего, чем Бета.
  • В общем, публикация предназначена для привлечения молодых к данной науке, развития способности мыслить, а не тупо повторять чужие конструкции. Да, функциональность на минимуме, но ни кто не запрещает наращивать дополнительными функциями будущего робота.
Рекомендуемые публикации по теме:
Статьи  »
Открытая платформа Arduino высвобождает творческий потенциал. Часть 2 - Arduino Shields - расширение возможностей аппаратной платформы
Форум  »
Создание боевого робота
Форум  »
Создание боевого робота Mega Hurtz
Схемы  »
Arduino - открытая платформа для разработки ваших собственных прототипов
Статьи  »
Открытая платформа Arduino высвобождает творческий потенциал. Часть 1

При перепечатке материалов с сайта прямая ссылка на РадиоЛоцман обязательна.

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

Срезы ↓
USB осциллографы
Цена: от 52 $ (3 196 руб.)
Бесплатная доставка: Весь мир
Журнал РадиоЛоцман - последний номер
Измеритель-регистратор температуры
Цена: от 3 619 руб.
Доставка: Россия и страны СНГ
радиолоцман вконтакте радиолоцман одноклассники радиолоцман facebook радиолоцман twitter радиолоцман google плюс