Оглавление:

Сборка сумобота 1 кг: 6 шагов
Сборка сумобота 1 кг: 6 шагов

Видео: Сборка сумобота 1 кг: 6 шагов

Видео: Сборка сумобота 1 кг: 6 шагов
Видео: Парктроник для РОБО-СУМО Часть 1 2024, Июнь
Anonim
Сборка сумобота 1 кг
Сборка сумобота 1 кг

Это руководство проведет вас через процесс проектирования и изготовления сумобота весом 1 кг.

Но сначала немного о том, почему я решил написать об этом. Я собирался отремонтировать свой старый сумобот для соревнований, когда понял, что никогда не делал инструкций по созданию сумобота. В течение прошлого года я молчал в Instructables, поэтому я решил, что вернусь с этим Руководством о том, как построить сумобот весом 1 кг.

Во-первых, многие из вас задаются вопросом: что такое сумобот?

По сути, сумобот - это своего рода робот, используемый в соревнованиях сумоботов или роботов-сумо. Как следует из названия, цель состоит в том, чтобы вытолкнуть друг друга за пределы ринга, как в борьбе сумо. Сам сумобот разработан с единственной целью - вытолкнуть другого сумобота за пределы ринга. Сумобот в этом Руководстве весит 1 килограмм. Однако есть и другие весовые категории, например, 500 граммов и 3 килограмма.

Необходимые навыки:

  • Знакомство с САПР (автоматизированное проектирование)
  • Пайка
  • Программирование в Arduino

Для этого проекта не требуется особых навыков. Простое освоение САПР, пайки и программирования имеет большое значение. Не пугайтесь того, насколько сложным может быть компьютерный дизайн. Autodesk предоставляет бесплатные исчерпывающие учебные пособия по собственному программному обеспечению (я сам использую Fusion 360), и это чрезвычайно полезно для новичков, изучающих основы. Для меня важнее желание и готовность учиться и, конечно же, получать удовольствие на этом пути.

Итак, приступим.

P. S. Я также участвую в этом учебном пособии в конкурсе «Сделай движение». Если вы сочтете это Учебное пособие отличным, проголосуйте и за меня. (Хочу футболку, выглядит круто:))

Шаг 1: Список деталей

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

Алюминиевый лист 6061 0,090 дюйма - 12 дюймов x 12 дюймов (или любой алюминиевый лист 0,090 дюйма / 2,2 мм, который можно обрабатывать с помощью ЧПУ. Я выбрал 6061, так как он будет использоваться для основного корпуса, а 6061 имеет изрядную прочность)

Алюминиевый лист 0,5 мм - 12 дюймов x 12 дюймов (подойдет любой сплав; это только для верхней крышки и лезвия. Я использовал запасные алюминиевые обрезки)

5-миллиметровый алюминиевый лист (опять же, подойдет любой сплав. У меня было 7075 алюминиевых ломов.)

2 двигателя с высоким крутящим моментом 12 В постоянного тока (подойдет любой двигатель с высоким крутящим моментом, например, от Amazon).

2 обода колеса (Опять же, любой обод колеса подойдет, в зависимости от вашего двигателя. Если у вас вал двигателя 5 мм, эти колеса будут работать нормально. На самом деле у меня есть старые силиконовые колеса, которые у меня были)

4 ИК-датчика расстояния (я использую ИК-датчики расстояния Sharp, которые можно приобрести в нескольких магазинах, например, в Pololu и в Sparkfun).

2 ИК-датчика (я снова получил их от Sparkfun.)

1 плата микроконтроллера (я использую ATX2 только потому, что он необходим. Обычная Arduino Uno была бы лучше из-за простоты использования).

1 литий-полимерный аккумулятор 3S (LiPo. 3S LiPo - 12 вольт. Подойдет емкость от 800 до 1400 мАч).

1 Драйвер двигателя (опять же, это зависит от того, сколько мощности может потреблять ваш двигатель. Он подключается непосредственно к Arduino Uno и может обеспечивать ток до 5 А).

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

Винты и гайки M3

Эпоксидная смола

Картон

Ноутбук (для программирования платы)

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

Шаг 2: Сборка шасси

Сборка шасси
Сборка шасси
Сборка шасси
Сборка шасси
Сборка шасси
Сборка шасси
Сборка шасси
Сборка шасси

Для проектирования корпуса я использовал Fusion 360, облачное программное обеспечение для 3D CAD / CAM. Autodesk предоставляет здесь прекрасные руководства. Я научился в основном просмотром видео, а затем попытался сделать их сам. Я не буду пытаться научить вас пользоваться Fusion 360; Я позволю профессионалам делать свое дело.

Сама конструкция состоит из одной основной базы, одного лезвия, одной верхней крышки, двух кронштейнов двигателя и двух (или четырех) скоб, напечатанных на 3D-принтере. Основное основание выполнено из алюминия 2,2 мм, кронштейны двигателя - из алюминия 5 мм, лезвие - из алюминия 0,5 мм, а верхняя крышка может быть из алюминия 0,5 мм или обычного картона. Я использовал картон, потому что алюминий весит на пару граммов больше, и я превысил ограничение в 1 килограмм на 10 граммов. С другой стороны, 3D-печатные скобы напечатаны из АБС-пластика с заполнением 50%.

Проекты, в которых использовался алюминий, были экспортированы в файлы.dxf и отправлены в местную компанию по лазерной резке здесь, на Филиппинах. Тем временем детали, напечатанные на 3D-принтере, были экспортированы в STL и снова отправлены в местную компанию, занимающуюся 3D-печатью.

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

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

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

Распечатанная на 3D-принтере скоба крепится спереди с помощью винтов и используется для фиксации лезвия. Лезвие приклеивается к основанию эпоксидной смолой. Отверстия для винтов в лезвии и основной базе используются для позиционирования и обеспечения точного соединения. На основном основании есть круглые отверстия, которые вы можете заполнить эпоксидной смолой, чтобы прикрепить лезвие к основному основанию. Большая площадь отверстий позволяет эпоксидной смоле лучше удерживать лезвие и предотвращает его отрыв от основания. ИК-датчик также можно приклеить к нижней части лезвия с помощью эпоксидной смолы, как на фотографиях. Убедитесь, что нижняя часть датчика перпендикулярна полу.

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

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

Шаг 3: Электроника

Электроника
Электроника
Электроника
Электроника
Электроника
Электроника

Далее идет электроника, такая как датчики, драйвер двигателя и плата.

Если, опять же, вы используете драйвер двигателя, который не устанавливается поверх Arduino, начните подключать провода, необходимые для взаимодействия его с микроконтроллером. Для моего драйвера двигателя все, что мне нужно, это сигнальный (синий) и заземляющий (черный) провод. Это зависит от самого драйвера. Всем драйверам нужны провода для подключения к батарее или источнику питания. Провода, подключенные к моему XT-60 (такой же штекер на большинстве липо-аккумуляторов), были слишком толстыми, поэтому мне пришлось обрезать их, чтобы они соответствовали узким блокам разъемов.

Мой микроконтроллер также использует тот же источник питания, что и драйверы двигателей, поэтому мне пришлось припаять провода непосредственно к выводам разъема XT-60 на драйверах двигателей.

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

Вам также может потребоваться спаять провода вместе, чтобы подключить микроконтроллер к датчикам, как и мне. Датчик имеет собственный разъем; некоторые используют JST, а некоторые используют заголовки сервоприводов. С обычным Arduino вы можете прикрепить перемычки к Arduino, а затем припаять другой конец кабеля к кабелю, выходящему из датчика. То же самое происходит и с другими микроконтроллерами. Провода, идущие от микроконтроллера, припаиваются к проводам, идущим от датчика.

Шаг 4: Собираем все части вместе

Собираем все части вместе
Собираем все части вместе
Собираем все части вместе
Собираем все части вместе
Собираем все части вместе
Собираем все части вместе
Собираем все части вместе
Собираем все части вместе

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

Затем микроконтроллер прикрепляется к верхней пластине. Ничего особенного; Я просто проделал несколько отверстий в картоне и прикрутил всю плату к верхней пластине. Если вы используете алюминий, вам понадобится ручная дрель.

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

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

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

Шаг 5: программирование

Как только все будет собрано, осталось сделать последнее: запрограммировать своего робота.

Программирование вашего робота зависит от того, какую стратегию вы хотите. Я предполагаю, что вы компетентны в программировании, потому что мой драйвер двигателя использует последовательную (UART) связь, и поэтому моя программа не будет работать с другими драйверами двигателя. В конце концов, в программировании нет универсального решения.

Чтобы помочь вам, вот базовая блок-схема моей программы.

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

Вот вся программа, если вам интересно:

#включают

// A5 - левый датчик цвета // A4 - правый датчик цвета // A6 - задний датчик расстояния // A2 - левый датчик расстояния // A3 - правый датчик расстояния // A1 - передний датчик расстояния // двигатель 1 - правый // мотор 2 - настройка left void () {uart1_set_baud (9600); Serial1.write (64); Serial1.write (192); OK(); звуковой сигнал (2); setTextColor (GLCD_BLUE); glcd (1, 0, «Инициализировано»); задержка (4900); }

void loop () {

int frontDistanceValue = analogRead (A1); int leftDistanceValue = analogRead (A2); int rightDistanceValue = analogRead (A3); int RearDistanceValue = analogRead (A6); int leftColorValue = digitalRead (A5); int rightColorValue = digitalRead (A4); if (frontDistanceValue> 250) {// кто-то прямо впереди, максимальная мощность Serial1.write (127); Serial1.write (128); } else if (leftColorValue == 0) {// коснулся края // инвертировать Serial1.write (1); Serial1.write (255); задержка (400); Serial1.write (1); Serial1.write (128); задержка (300); } else if (rightColorValue == 0) {// коснулся края // инвертировать Serial1.write (1); Serial1.write (255); задержка (400); Serial1.write (127); Serial1.write (255); задержка (300); } else if (frontDistanceValue> 230) {// как бы далеко впереди Serial1.write (127); Serial1.write (128); } else if (leftDistanceValue> 250) {// повернуть налево Serial1.write (127); Serial1.write (255); задержка (450); } else if (rightDistanceValue> 250) {// повернуть направо Serial1.write (1); Serial1.write (128); задержка (450); } else if (rearDistanceValue> 150) {// рядом сзади Serial1.write (1); Serial1.write (128); задержка (1050); } else if (frontDistanceValue> 180) {// впереди Serial1.write (127); Serial1.write (128); } else {Serial1.write (100); Serial1.write (155); }}

Шаг 6: фотографии

Фото
Фото
Фото
Фото
Фото
Фото
Фото
Фото

Приведены фотографии готового сумобота.

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

Удачного обучения!

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