Робот Боб 2.0

Это улучшенная версия робота избегающего препятствия.  Я решил назвать этого робота Боб. Были исправлены недостатки и недочеты предыдущей версии. Было улучшено:

  • Система питания
  • Добавлены дополнительные датчики
  • Соединения были выполнены более качественно
  • Применен другой более быстрый контроллер

Для питания используется аккумулятор 9.6В и импульсный регулятор напряжения. Было улучшено крепление датчиков и добавлен дополнительный ИК датчик GP2D12. Ультразвуковой дальномер был установлен на сервопривод. На плату Arduino был установлен микроконтроллер ATmega168.

Я всегда любил проекты на микроконтроллерах, и проектирование робота на них – это лучший способ показать их возможности.

Список деталей

Сервоприводы:
1x Futaba S3003
2x Parallax Сервоприводы непрерывного вращения

Монтажные компоненты:
1x 3pin кабель для датчика
1х Макетная плата
1х Разъем для аккумулятора
Кабельные стяжки
Провода различной длины

Датчики:
3x ИК-датчики GP2D12
Ультразвуковой дальномер «Ping)))»

Питание:
1х Ni-Cd аккумулятор 9.6В
1х Импульсный стабилизатор напряжения 5В, 1А

Основа:
Arduino

Шасси:
Я использовал шасси из комплекта «BOE-Bot Kit» от Parallax. Вы можете использовать оргстекло, пластик или даже кусок дерева нужной формы.

Прочее:
1x Пьезо динамик — я использовал его для индикации начала работы программы.
1x Светодиод
1x 200 Ом резистор для светодиода

Установка ИК датчиков

На кронштейне датчика есть несколько отверстий, которые совпадают с отверстиями на шасси. Соедините их винтами.

Установка дальномера с сервоприводом

Серво привод служит для вращения дальномера по горизонтали для получения большего радиуса измерений.

Я использовал самодельную стойку из плексигласа для установки дальномера. Нужно вырезать два куска плексигласа размером на пару мм больше, чем размер дальномера, просверлить необходимые отверстия и склеит эти часть под прямым углом. Потом необходимо просверлить отверстие немного больше чем винт на сервомоторе, и при помощи него прикрепить сервомотор. Эта операция достаточно проста и вы с ней без проблем справитесь. Если у вас есть сервопривод который может повернуться на 180 градусов, то нет необходимости покупать S3003 Futaba. Настройте значения ШИМ в программе, если используете другой привод. Если их не настроить, он будет пытаться повернуться больше, чем может физически и выйдет из строя.

Установка Arduino

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

В интернете я нашел «Arduino Proto Shield » – макетную плату для установки на неё Arduino. Прикрепите её к Arduino и подключите провода к ней:
   Pin (АЦП) 0: Левый GP2D12
   Pin (АЦП) 1: Центральный GP2D12
   Pin (АЦП) 2: Правый GP2D12
   Pin 5: Сервопривод дальномера
   Pin 6: Левый сервопривод
   Pin 7: Ультразвуковой дальномер Ping
   Pin 9: Правый сервопривод
   Pin 11: Пьезо динамик

Я не использовал дополнительные фильтрующие конденсаторы, т.к. стабилизатор 5В имеет встроенные. Необходимо использовать 220 Ом резистор между светодиодом и VCC.

Программа

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

Заключение

Я буду расширять возможности Боба – скоро я добавлю  датчик звука и света, фоторезистор для обнаружения людей и некоторые другие датчики.

Сейчас Боб лишь избегает препятствий. 3 ИК датчика служат для обнаружения объектов на пути и ультразвуковой дальномер служит для  обнаружения объектов в слепых пятнах ИК-датчиков и для поиска пути при обнаружении большего количества объектов. Я думаю, что время его работы составляет около 1 часа 20 мин. при полном заряде батареи. Я также думаю над его внешним видом. 

Оригинал статьи

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.