Оглавление:

Управление дешевым боевым роботом Arduino: 10 шагов (с изображениями)
Управление дешевым боевым роботом Arduino: 10 шагов (с изображениями)

Видео: Управление дешевым боевым роботом Arduino: 10 шагов (с изображениями)

Видео: Управление дешевым боевым роботом Arduino: 10 шагов (с изображениями)
Видео: Беспредел: Ученые ОБИЖАЮТ маленьких роботов 2024, Июль
Anonim
Дешевое управление боевым роботом Arduino
Дешевое управление боевым роботом Arduino
Дешевое управление боевым роботом Arduino
Дешевое управление боевым роботом Arduino
Дешевое управление боевым роботом Arduino
Дешевое управление боевым роботом Arduino

Возрождение Battlebots в Штатах и Robot Wars в Великобритании возродили мою любовь к боевой робототехнике. Итак, я нашел местную группу разработчиков ботов и сразу же погрузился в нее.

Мы сражаемся на весах для муравьев в Великобритании (ограничение веса 150 грамм), и я быстро понял, что традиционный способ создания бота включает радиоуправляемое оборудование: дорогой RC-передатчик, громоздкий или дорогой приемник и ESC (электронные регуляторы скорости), которые представляют собой волшебные коробки. который может обрабатывать намного больше тока, чем необходимо для бота такого размера.

Используя Arduino в прошлом, я хотел попробовать сделать что-то по-другому и поставил себе цель создать систему Arduino, которая может получать боевой законный сигнал и управлять двумя приводными двигателями примерно за 5 долларов США (половина стоимости дешевого ESC).

Чтобы достичь этой цели, я переделал эту радиоуправляемую машину, уменьшив вес / стоимость приемника и сгенерировав 4 сигнала ШИМ для запуска дешевого чипа с h-мостом.

В этом руководстве основное внимание будет уделено системе управления Arduino, но я добавлю дополнительную информацию, чтобы помочь новым людям создать своего первого бота.

Заявление об ограничении ответственности:

Даже в небольшом масштабе создание боевых роботов / борьба с ними может быть опасной, предпринимайте на свой страх и риск.

Шаг 1. Что вам нужно

Материалы:

Для системы управления:

  • 1x Arduino pro mini 5v (1,70 доллара США)
  • 1x модуль nRF24L01 (1,14 доллара США)
  • 1x модуль регулятора 3,3 В (0,32 доллара США)
  • 1x двойной модуль h-моста * (0,90 доллара США)

В остальном базовый бот-клин:

  • 2x микромотор-редуктора ** (дешевая версия, надежная версия)
  • 1x 2s литий-полимерный аккумулятор
  • 1x балансировочное зарядное устройство
  • 1x липо-зарядная сумка
  • 1x переключатель
  • 1x разъем для аккумулятора
  • разный провод (я использовал несколько перемычек Arduino, которые у меня были)
  • маленькие винты
  • (необязательно) эпоксидная смола
  • (необязательно) Алюминий (из банки для безалкогольных напитков)
  • (опционально) дополнительные светодиоды

Для базового контроллера:

  • 1x Arduino pro mini 5 В
  • 1x модуль nRF24L01
  • Модуль регулятора 1x 3.3v
  • 1x Arduino-джойстик

Инструменты:

  • Отвертка
  • Паяльник
  • Плоскогубцы
  • 3D-принтер (необязательно, но облегчает жизнь)

* при просмотре модулей h-bridge ищите модуль со всеми 4 сигнальными входами рядом друг с другом, это упростит подключение к Arduino позже

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

Шаг 2: Распечатайте шасси

Распечатать шасси
Распечатать шасси

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

Я разработал клин-бота: "Slightly Crude", который прошел боевые испытания как в бронированном, так и в небронированном виде. Это хороший первый бот, его легко распечатать и его можно собрать с помощью 8 винтов. Посмотрите его на Thingiverse, чтобы узнать о другом топовом дизайне

Если у вас нет 3D-принтера, попробуйте местную библиотеку, хакерское пространство или пространство для разработчиков.

Добавление дополнительной брони легко сделать прямо с принтера: отшлифуйте клин и алюминиевую банку для напитков с помощью шлифовальной бумаги, удалите пыль от шлифовки, нанесите эпоксидную смолу как на пластик, так и на алюминий, скрепите зажимами или резиновыми лентами на 12-24 часа

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

Шаг 3: Подготовьте H-образный мост

Подготовьте H-образный мост
Подготовьте H-образный мост

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

Самый простой способ сделать это - нагреть обе контактные площадки одновременно с помощью паяльника и осторожно вытащить блоки плоскогубцами.

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

Шаг 4: Подключение модулей

Подключение модулей
Подключение модулей
Подключение модулей
Подключение модулей
Подключение модулей
Подключение модулей

Подключение модулей может быть выполнено 3 различными способами, поэтому этап проектирования имеет решающее значение. Выбор оружия повлияет на форму бота и выбор проводки.

3 варианта:

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

независимо от сделанного выбора, фактические соединения одинаковы.

Выполните следующие подключения дважды (один раз для контроллера и один раз для приемника).

nRF24L01 (изображение нумерации контактов 4 **):

  • Контакт 1 -> GND
  • Контакт 2 -> выходной контакт модуля 3,3 В
  • Контакт 3 -> Контакт 9 Arduino
  • Контакт 4 -> контакт 10 Arduino
  • Вывод 5 -> вывод 13 Arduino
  • Контакт 6 -> контакт 11 Arduino
  • Контакт 7 -> контакт 12 Arduino

Модуль 3,3 В:

  • Вывод Vin -> Vcc *
  • Выходной контакт -> контакт 2 nRF (как указано выше)
  • Контакт GND -> GND

Ардуино:

  • Контакты 9-13 -> подключите к nRF, как указано выше
  • Raw -> Vcc *
  • GND -> GND

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

Для контроллера:

Джойстик:

  • + 5В -> Arduino 5В
  • vrx -> вывод Arduino A2
  • vry -> вывод Arduino A3
  • GND -> GND

Для приемника:

h-мостовой модуль:

  • Vcc -> Vcc *
  • B-IB -> вывод 2 Arduino
  • B-IA -> вывод 3 Arduino
  • A-IB -> вывод 4 Arduino
  • A-IA -> вывод 5 Arduino
  • GND -> GND

Проще всего это сделать, заменив контакты для Vcc и GND на провод, затем перевернув плату вверх дном и припаяв контакты непосредственно в Arduino, это упрощает пайку и создает надежное крепление для драйвера двигателя.

* для того, чтобы боевой робот был законным, необходимо добавить точку изоляции (выключатель или съемное звено) между аккумулятором и цепью. Это означает, что положительный полюс батареи должен быть подключен к переключателю, а затем переключатель подключен к Vcc.

** изображение с https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo, которое является отличным ресурсом для модуля nRF24L01

Шаг 5: Настройка контроллера

Настройка контроллера
Настройка контроллера

Как только все будет подключено, пришло время написать код.

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

Загрузите код "joystickTestVals2". Этот код используется для чтения значений потенциометра и отображения их через последовательный порт.

Когда код запущен и окно последовательного порта открыто, начните с просмотра значения «ВВЕРХ», переведите джойстик в крайнее переднее положение, значение «ВВЕРХ», скорее всего, перескочит между несколькими большими числами, выберите наименьшее из значений, которые вы видите, вычтите из него 10 (это гарантирует, что нажатие на джойстик до конца даст полную мощность) и запишите его как «Up Max», позволяя джойстику отскочить обратно в центр. Теперь выберите наибольшее значение, которое вы видите, добавьте к нему 20 и запишите его как «UpRestMax». Повторите процесс, нажав ручку вниз и изменив сложение / вычитание в обратном порядке, записав значения как «UpMin» и «UpRestMin».

Повторите весь процесс еще раз для левого и правого, начиная с нажатия ручки вправо, записывая «SideMax», затем «SideRestMax», когда он отскакивает, и нажимая влево, чтобы записать «SideMin» и «SideRestMin».

Эти ценности очень важны, особенно все значения, содержащие слово «Отдых». эти значения создают «мертвую зону» в центре стика, так что бот не будет двигаться, когда стик находится в центре, убедитесь, что когда стик отцентрирован, значения находятся между «restMin» и «restMax» для обеих осей

Шаг 6: Код

Код
Код
Код
Код

Приведенный код делает все для базового клин-бота со структурой, позволяющей также отправлять значение pwm оружия.

Необходимые библиотеки:

  • Библиотека nRF24L01 отсюда: GitHub
  • Программное обеспечение PWM отсюда: Google Code

Настройте свой контроллер:

откройте код txMix и измените значения пределов стикера на значения, которые вы записали на последнем шаге. Это обеспечит правильную реакцию кода на ваш джойстик (Изображение 1).

Настроить трубу:

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

На изображении выделены 2 шестнадцатеричные цифры трубы. Это две цифры, которые необходимо изменить, чтобы настроить трубу. Измените "E1" на любое другое двухзначное шестнадцатеричное значение и запишите его, чтобы вы могли легко проверить его по трубам противника на мероприятии.

Загрузить:

  • txMix к контроллеру
  • получать на приемный модуль

Выполните код:

txMix:

Код читается в положении джойстика как значение «ВВЕРХ» и значение «сбоку». эти значения ограничиваются максимальным значением, обеспечиваемым для обеспечения максимальной мощности при максимальном положении ручки.

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

Затем значения индивидуально смешиваются с двумя переменными: одна для скорости левого двигателя, а другая - для скорости правого двигателя. В этих переменных используется отрицательное значение, чтобы указать, что двигатель движется в обратном направлении, поскольку это упрощает перемешивание.

Значения левой и правой скорости затем разделяются на четыре значения pwm, по одному для каждого: двигатель вправо вперед, двигатель влево вперед, двигатель вправо назад, двигатель влево назад.

Затем получателю отправляются четыре значения ШИМ.

Получать:

Просто получает сигналы от контроллера, проверяет, не содержит ли сигнал значений ШИМ для прямого и обратного направления на одном двигателе, затем применяет ШИМ.

Приемник также отключает двигатели, когда сигнал не получен от контроллера.

Шаг 7: скрепляем все вместе

Болтать все тогхетер
Болтать все тогхетер
Болтать все тогхетер
Болтать все тогхетер
Болтать все тогхетер
Болтать все тогхетер

Припаяйте разъемы к двигателям или припаяйте двигатели непосредственно к h-мосту. (Я предпочитаю разъемы, чтобы я мог просто заменить вилки, если я неправильно подключил моторы)

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

Припаяйте отрицательный вывод от разъема аккумулятора к GND подключенных модулей.

(Необязательно) добавьте дополнительные светодиоды между Vcc и GND. Всем боевым роботам требуется свет, который горит, пока система находится под напряжением, в зависимости от компонентов, которые эта система имеет светодиоды на Arduino, модуле 3,3 В и h-мосту, если хотя бы один из них виден снаружи бот это правило соблюдается. Можно использовать дополнительные светодиоды, чтобы убедиться, что это правило соблюдается, и настроить внешний вид.

Slightly Crude просто скрепить болтами: сначала прикрутите крепления двигателя на место, добавьте электронику, затем прикрутите крышку на место, небольшое количество липучки поможет удерживать переключатель на крышке.

Контроллер - ваш дизайн и печать. Для тестирования я использовал подключенный контроллер, который был модифицирован из контроллера Джеймса Брутона BB8 V3.

Шаг 8: несколько слов о правилах боя роботов

Несколько слов о правилах боя роботов
Несколько слов о правилах боя роботов

В разных странах, штатах и группах проводятся боевые действия роботов по разным правилам.

Я создал эту систему и написал ее, чтобы она была как можно более общей, при этом соблюдая основные правила, относящиеся к RC-системам (в первую очередь, система должна быть цифровой на 2,4 ГГц и иметь точку изоляции батареи). Чтобы запустить эту систему или спроектировать своего первого бота, лучше всего связаться с вашей местной группой и получить копию их правил.

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

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

Шаг 9: Дополнительная информация о двигателях

Дополнительная информация о двигателях
Дополнительная информация о двигателях

Микродвигатели-редукторы, используемые в классе муравьев, имеют широкий диапазон скоростей и имеют маркировку об / мин или передаточное число. Ниже приводится приблизительное преобразование.

Большинство ботов используют моторы от 75: 1 до 30: 1 (с некоторыми исключениями, использующими 10: 1). Боты с большим вращающимся оружием могут извлечь выгоду из более медленных двигателей 75: 1, поскольку более низкая скорость дает больший контроль. Ловкие клинья, лифтеры и ласты лучше всего подходят при соотношении 30: 1 в руках опытного водителя. Я рекомендую двигатели 50: 1 в клине для первых нескольких боев, просто чтобы привыкнуть к системе и вождению.

  • 12 В 2000 об / мин (или 6 В 1000 об / мин) -> 30: 1
  • 6 В, 300 об / мин -> 50: 1

Шаг 10: Обновления и улучшения

Прошло пару лет с тех пор, как я опубликовал эту библиотеку, и я много узнал об этой системе, поэтому пришло время обновить их здесь. Наиболее важным является выбор компонентов, исходные компоненты работали относительно хорошо, но иногда могли выходить из строя во время боя. Два главных виновника - H-Bridge и модуль nrf24l01, потому что я выбрал самые дешевые детали, которые я смог найти. Это можно исправить:

  • Модернизация H-моста 0,5 A до H-моста 1,5 A, как этот: 1,5 A H-мост
  • Обновление модуля nrf24l01 до полностью SMD-дизайна: Откройте smart NRF24l01

Наряду с обновлением новых компонентов я разработал несколько новых печатных плат, которые помогают компактнее RX и добавляют дополнительные функции к TX.

У меня также есть некоторые изменения кода, так что следите за новостями

Рекомендуемые: