Реклама ⓘ
Главная » Радиоуправление
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Робот-танк управляемый акселерометром

Сайт LMR  был одним из первых мест, которые познакомили меня с увлечением робототехникой. Занимаюсь строительством роботов каждое лето в течение последних нескольких лет, и этот робот является уже моим 4-тым или 5-тым. Я начал строить его в конце июня 2012 года и завершил около 80% работ к концу лета. Остальное доделывал с августа по ноябрь, в основном по выходным.

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

Робот управляемый акселерометром

Видео:

Для постройки мне понадобилось много труда, а также опыт в работе с акселерометром, беспроводной связью (XBee), Arduino, I2C, мультиплексированием, C + +, изготовлением печатных плат, использование ЖК-интерфейса, и так далее... Таким образом, всё было довольно весело.

Этот проект претерпел  многие изменения, прежде чем я  начал его строить, а также в процессе  создания. Честно говоря, я очень удивлен, что все получилось так хорошо.

Робот управляется с помощью беспроводного пульта управления, в котором установлен акселерометр. Контроллер  определяет наклон  и  передает информацию    роботу о том, как нужно управлять двигателями. Контроллер управления  также имеет круглый светодиодный дисплей, который отображает наклон пульта и    направление, в котором должен следовать робот.

Робот запрограммирован таким образом, что чем сильнее вы наклоните пульт вперёд /назад – тем быстрее он будет двигаться.

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

Спроектировал и построил все сам, но также реализовал некоторые идеи других людей. И именно поэтому я делюсь всем, что  сделал, если кто-то захочет повторить мой проект или что-то вроде его.

схема

Схема пульта управления и робота

Схема довольно проста и не нуждается в пояснениях. Двигатели робота рассчитаны на питание от аккумуляторов 3В, а вся схема робота на питание от 9В батареи. ATmega328P выступает в качестве мультиплексора для светодиодного дисплея. В роботе имеется два выключателя, первый нужен для отключения питания схемы, второй для отключения питания двигателей.

В контроллере содержится Arduino Pro Mini, которая вводит данные из акселерометра  ADXL335. ADXL335 выводит на контроллер различные напряжения в зависимости от  наклона осей X, Y, Z. Pro Mini вычисляет угол наклона и сохраняет  данные. После обработки  Pro Mini отправляет данные к модулю передатчику XBee и на ATmega328P через I2C. ATmega328P дальнейшем обрабатывает некоторые данные и определяет, какие светодиоды на индикаторе должны гореть.

Как уже было сказано робот и пульт общаются через радио модуль  XBee.

массив

Arduino Pro Mini обрабатывает большое количество данных, и может выводить данные последовательно к компьютеру. Этот скриншот показывает данные, отправленные Pro Mini на компьютер, данные  используются при отладке.

плоскость

В роботе использовано дифференцированное рулевое управление. Для поворота необходимо отключить один из двигателей или замедлить его скорость.

 Код управления двигателями несколько раз переделывался. Приводные двигатели, управляются с помощью трёх сигналов: PWM(ШИМ), A и B. Сигналы А и B определяют в какую сторону должен вращаться вал двигателя,  ШИМ-управляет скоростью вращения. Программа работает следующим образом: во-первых, Arduino определяет, в какую сторону наклонён контроллер в  вперед или назад, а двигатели направляют робота  в этом направлении. Далее определяется, наклонен ли контроллер влево или вправо. Вся эта информация хранится в двух  переменных, Xang и yAng, в них  содержатся данные расчёта наклона, в диапазоне от -90 до 90градусов. В Xang записываются данные по  'оси х', в то время как в  yAng по 'оси у'. Информация левого / правого наклона также используется для присвоения значений. Далее значения Xang и yAng перемножаются, и  произведение становится скоростью вращения двигателя.

график

Сборка

мотор-редуктор

В качестве привода я использовал сдвоенный мотор – редуктор Tamiya. Привод работает довольно хорошо, хотя не дает достаточно крутящего момента, что, вероятно, связано с низкопробными двигателями, идущими в комплекте.

ADXL335

Пайку электроники я начал с акселерометра ADXL335 3.  Я в первый раз использовал в своём устройстве акселерометр.    SparkFun для ADXL335 уже имеет необходимые конденсаторы, поэтому акселерометр не требует никакой внешней обвязки.

привод

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

платы

Вид сбоку- схема робота.

обратная сторона

 Два гнезда по краям платы  предназначены для подключения двигателей.

плата

На плате есть разъемы для радио модуля XBee, драйвера двигателя, а также ЖК-дисплея, хотя окончательно робот не содержит LCD из-за ограничений по размеру. Небольшая плата, крепится к основной через ленточный кабель, и имеет 2 ползунковых переключателя - один для полного отключения питания,  другой для отключения приводных двигателей.

XBEE

Первый прототип контроллера, на макетке. Справа Arduino Pro Mini, середина с акселерометром и XBee, все работает от 4.5V батареи. Перед окончательным монтажом я все схемы отлаживал на макетной плате. 

макетка

Для программирования ATmega328 у меня не оказалось  ISP программатора, поэтому для загрузки прошивки я использовал ARDUINO. Если честно я не помню, как я это сделал, поэтому почитайте материалы вот по этим ссылкам:   

http://petervanhoyweghen.wordpress.com/2012/09/16/arduinoisp-on-the-leonardo/

http://arduino.cc/forum/index.php?topic=108270

робот

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

контроллер

Печатные платы я приобрёл в магазине SparkFun. Они имеют очень интересный дизайн, каждая площадка  на самом деле имеет по 3 отверстия – одно большое  и два поменьше – что значительно мне пригодилось.

контроллер

Это почти законченный контроллер, в центре платы находится  акселерометр ADXL335. В левой части платы расположен  ATmega328P, который общается с Pro Mini по I2C и работает как драйвер для светодиодного индикатора наклона. Вдоль нижнего края установлены разъёмы для программирования микроконтроллера.

контроллер

ЛУТ

У светодиодного индикатора было не типичное расположение выводов, поэтому его не получилось припаять на макетку, мне пришлось сделать свою печатную плату, ЛУТ методом.

ЛУТ   

Для травления печатной платы я использовал смесь соляной кислоты и воды, поэтому процесс занял всего 10минут.

сверление ПП

Сверление печатной платы

Процесс изготовления печатной платы, был самым сложным в этом проекте, так-как я никогда раньше этим не занимался. 

Светодиодный дисплей

Светодиодный дисплей

Светодиодный дисплей

Это первое испытание светодиодного дисплея установленного на плате контроллера. Дисплей содержит 16 красных светодиодов, каждый светодиод освещает по 2 сегмента. Дисплеем управляет ATmega328P, который общается с Arduino Pro Mini через I2C.

бальза

Платформа робота выполнена из бальзы. Так - как это довольно крепкий и лёгкий в обработке материал.

распорки

Распорки осей крепятся на резьбовые шпильки к платформе.

Я потратил  довольно долгое  время  на то чтобы найти правильную длину гусениц, кроме того, их натяжение  -  должно быть не слишком свободным, но и не слишком тугим. Чтобы уменьшить трение гусениц, при развороте, я добавил 3 ​​комплекта колес посередине.

платформа

Шляпки винтов, на которые был прикручен мор-редуктор, мешали установке электроники и прочего оборудования. Поэтому было решено сделать промежуточную крышку. 

коврик

Промежуточная крышка вырезана из старого коврика для мышки.

платформа

Готовая робо-платформа

Обратите внимание, что чёрное покрытие немного уже чем сама платформа. Это необходимо для установки бортиков, из всё той же бальзы.  

бортики

бортики

Бортики приклеены с помощью обычного школьного клея.

Профиль верхней части переднего бортика слегка скошен, для того чтобы продолжить кривую боковых бортов. Задняя панель имеет небольшой, узкий слот для переключателей и  побольше для подключения USB.

сборка

сборка

На этом фото робот уже почти собран, нахватает только верхней крышки.

Батарея идеально вписывается в передней части робота, сверху устанавливаются платы электроники.

крыша

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

Готовый робот

робот

Готовый контроллер

контроллер

Лишние отверстия в центре индикатора, могут понадобиться, если будет нужно установить дополнительные элементы управления

Вероятно это лучшая вещь которую я когда либо сделал.

Контроллер

Небольшой переключатель в левой части платы, управляет подачей напряжения на схему.  Второй - позволяет выбирать между программированием Pro Mini и WTH XBee.

контроллер

Как вы можете видеть, контроллер получился очень эргономичным.

Возможные улучшения:
- Корпус для контроллера управления.
- Установка мотор – редукторов с большим крутящим моментом.
- Оптимизация кода, улучшить программу управления.
- Можно использовать круговые индикаторы других цветов.
- Заменить блок питания с 9V батареи на что-нибудь более надёжное.
- Заменить гусеницы на колёса, чтобы улучшить управление.

Создание этого робота было очень интересным и увлекательным, я планирую сделать ещё одного робота с подобным управлением.

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

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

Теги:

Опубликована: 01.02.2013 0 1
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (3) | Я собрал (0) | Подписаться

0
Pavel #
Не могу найти в продаже подобных круговых индикаторов, как подобные штуки правильно называются?
Ответить
0
u235 #
Circular LED Bargraphs. Но как мне кажется, проще самому 16 светодиодов распаять.
Ответить
0
Pavel #
Спасибо огромное, u235, несколько дней назад подсказали как искать в инете этот индикатор, но забыл здесь отписаться. Большой плюс в том, что индикатор имеет законченный вид и его не стыдно применить в любой конструкции. У самого так все равно не получится, да и время значительно экономится с применением готовых решений.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Набор 4WD Kit Bluetooth
Набор 4WD Kit Bluetooth
LC-измеритель LC100-A Модуль радиореле на 4 канала
вверх