Шасси для робота своими руками

Добавил пользователь Alex
Обновлено: 18.09.2024

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

Данная статья устарела 1 января 2018 года. Есть смысл рассматривать её только как инструкцию по сборке. Вопросы программирования гораздо лучше освещены в новой статье.

Возникла задача реализовать роботизированную машинку на колёсах. Обзор опубликованных в свободном доступе решений позволил сразу отказаться от рудиментов и выработать уникальные технические требования:

  • Для всей системы должен быть только один источник питания. Желательно, аккумуляторы. Любимый формат - 18650.
  • Простая и надёжная силовая часть. Никаких гипер-сложных "силовых шилдов".
  • Поведение, целиком определяемое прошивкой
  • Отладка в результате натурных испытаний (смена режимов сопровождается звуковым сигналом).

Рассмотрим этапы решения.

В первую очередь был заказан набор для сборки механической части шасси из Китая. Через месяц пришёл хорошо укомплектованный набор.

  • Две акриловые пластины корпуса
  • Четыре мотора
  • Четыре колеса
  • Футляр для аккумуляторов
  • Метизы

Далее пришлось открывать верхний ящик стола и на ощупь искать дополнительные комплектующие. Нам пригодятся:

  • Микроконтроллерный модуль
  • Плата расширения Sensor Shield v.5
  • Модуль драйвера моторов на базе L298N
  • Сонар HC-SR04 с крепёжной скобой
  • Соединительные провода

В качестве микроконтроллерного модуля был выбран один из клонов платформы Arduino на базе Atmel ATmega 328/P. После долгих размышлений и взглядов в сторону Raspberry Pi или "голого" PIC16 с аскетичным ассемблером решено было остановиться именно на этой платформе, т.к. она обеспечивает простоту сопряжений с другими блоками, имеет массу примеров кода, опубликованных в свободном доступе, унифицирована с колоссальным количеством датчиков - другими словами, развязывает руки разработчику и позволяет сосредоточиться на воплощении задумки.

Более того, неоспоримый дополнительный плюс - это масштабируемость.

Исполнение выбиралось с точки зрения дизайна: я постарался выдержать всю конструкцию в жёлто-чёрной палитре.


Фактически, вся сборка начинается с модуля драйвера моторов на базе L298N и крутится вокруг него. На мой взгляд, именно этот модуль следовало бы назвать ядром всей системы. Фактически, это умощнённая версия выпускаемой ранее микросхемы/платы L293D. Совместимость сохранена.

L298N

Важно отметить, что входы ENABLE A/B отвечают за возможность вращения моторов, причём на них можно подавать как логические уровни ("низкий" - запрет, "высокий" - разрешено), так и аналоговые сигналы (например, посредством ШИМ) для регулировки скорости вращения. Разработчики предусмотрели два пятивольтовых вывода рядом с ENABLE A/B - они позволяют установить "намертво" перемычки на плату, тогда всегда будет разрешена полная скорость вращения; таким образом можно сэкономить две выходные линии микроконтроллера. Подавать отдельно +5В на эти вспомогательные выводы не требуется!

Ещё одна перемычка видна вблизи колодки питания, в глубине платы: она должна быть установлена, если питание модуля L298N будет превышать +12В. Можно запитывать модуль L298N и большим напряжением (вплоть до 30 вольт), тогда придётся снять данный джампер, а также придётся дополнительно подводить к модулю +5В. В моём случае планируется применение аккумуляторов на 7-8 вольт, поэтому я смело оставил джампер установленным и радостно воспользовался имеющимися пятью вольтами для питания логики.

Сборка робота начинается с подготовки модуля L298N: он с трудом влезает на шасси, а очень хочется установить его по центру. Кроме того, клеммы выходов на моторы оказываются расположены совершенно впритык к корпусам моторов, как туда впихнуть провода - остаётся загадкой. Было принято решение всё же зафиксировать драйвер строго по центру (радиатор будет смотреть назад), для чего пришлось выпаивать колодки, заменяя их проводами. В итоге вся силовая часть оказалась пропаяна, что лично меня весьма устраивает.

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


Все тонкости пайки показаны на рисунке выше. Моторы запаиваем крест-накрест между собой, затем припаиваем выходные (красные) провода от драйвера.

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

И, да, не забываем, что редукторы у нас не железные, колёса придётся насаживать нежно! Есть смысл капнуть каплю клея на оси, так как практика показала, что колёса имеют тенденцию отваливаться на поворотах по ковру.

Теперь выполняем соединения. Самое главное правило: присоединить шлейф красиво к драйверу - то есть все шесть проводов выстраиваются в ряд. Это очень важно, ибо туда мы больше не полезем, скорее всего.

Сведём все коммуникации в один понятный рисунок.


Собираем второй этаж.

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

  • При подаче питания исполняем патриотические ноты
  • Выполняем тестовые движения: вперёд, назад, разворот через правое плечо, разворот через левое плечо
  • Едем вперёд, пока не увидим перед собой препятствие на расстоянии 12 см или меньше
  • Меняем траекторию: немного откатываемся назад (на случайное расстояние) и выполняем разворот в случайную сторону на случайный угол.
  • см. (3)

Листинг программы для прошивки.

Фрагмент реального заезда на видео прекрасно иллюстрирует поведение подопытного.

В результате имеем работающую машинку, которая способна самостоятельно избегать соударения!

Хотелось бы отметить, что очень тщательно выбиралась пара переменных: критическое расстояние Distance и время движения вперёд, т.е. параметр для Forward(). Дело в том, что от пары этих переменных будет очень сильно зависеть поведение робота вблизи препятствий. Я постарался сделать максимально точный аппарат, который будет тормозить в самый последний миг, останавливаясь в миллиметрах от преграды. С другой стороны, ударов тоже допускать нельзя (домашнюю мебель жалко).

Для программирования и прошивки использовалась интегрированная среда разработки UECIDE. Крайне рекомендую данную ИСР, т.к. во-первых, она бесплатна. Во-вторых, она обладает развитым функционалом текстового редактора кода, после которого тяжело перейти на любой другой пакет. Иллюстрирую феноменальную разметку с помощью одного скриншота:

uecide

Не прошло и полгода, а уже захотелось доработать поделку.

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

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


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

Трехколесное шасси для робота RKP-202A-2WD поставляется в виде комплекта для сборки и совместимо с любыми Ардуино (Arduino) проектами.
Шасси это одно из простейших конструкций мобильной робоплатформы начального уровня для экспериментов в робототехнике.
Чтобы превратить ее в многофункционального программируемого робота, необходимо добавить различные сенсоры и датчики, драйвер управления электродвигателями и программируемый микроконтроллер (например Arduino).

Трехколесная мобильная платформа для Ардуино Arduino

Основные особенности платформы для робота:

  • Шасси для робота RKP-202A-2WD поставляется в разобранном виде в полиэтиленовой упаковке и представляет собой конструктор для самостоятельной сборки.
  • Два раздельных независимых ведущих колеса обеспечивают свободное перемещение платформы во всех направлениях движения, а также повороты робота вправо и влево на любой угол.
  • Каждое ведущее колесо приводится в движение двигателем постоянного тока (DC motor 6V) с редуктором. Передаточное соотношение каждого редуктора электродвигателя составляет 1:48
  • Каждый мотор редуктор имеет в комплекте механическую часть энкодера для определения реальной скорости вращения колес (датчики и сенсоры для энкодера приобретаются отдельно и в комплект конструктора шасси для робота не входят).
  • Также в комплект шасси для робота входит одно (пассивное) вспомогательное опорное колесо в виде ролика свободно вращающегося на 360 градусов.
  • В комплекте поставки имеется также батарейный блок на 4 шт. Аккумуляторов серии AA или батареи R6 (AA), выключатель бортового питания и крепеж для сборки шасси.

Характеристики моторов (в зависимости от напряжения питания):

Шасси RKP-202A-2WD для Ардуино Arduino

Коэффициент передачи редуктора - 48:1
Диаметр шины - 65 мм
Масса мотора - 50 гр
Размеры мотор редуктора - 70 x 22 x 18 мм
Шум -

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

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

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

Как предупреждает идеи, такие дешёвые детища китайской промышленности воняют аццки, потому жалко их не будет.

Итак, танки-доноры у нас есть. Поехали!

Снимаем крышки с танков-доноров.


Отсеки для батареек нам ещё пригодятся, потому просто очищаем их от лишней пластмассы.


Нам пригодятся оба отсека (от каждого танка).


Склеиваем отсеки для батареек вместе.


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


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

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


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

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

Шаг 1: Алюминиевая рама

Для сборки рамы нам понадобится:





Шаг 2: Подготовка рамы







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

Шаг 3: Сборка рамы













На кронштейны монтируем двигатели, размещая их как можно ниже. Затем длинные уголки скрепляем, друг с другом двумя короткими (которые разрезали ранее), в местах показанными красным цветом.

После этого на алюминиевый лист монтируем 8 распорок, и с помощью них крепим его к раме из уголков.

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






















Данный шаг подразумевает у вас мозгоопыт работы в области электроники, в частности сборки цепи с Arduino и XBee.

Для сборки электроцепи поделки необходимо:

Литиевая батарея 3S на 4000 мАч
цифровой электронный переключатель – нужен для возможного последующего апгрейда, и его можно заменить на простой переключатель, рассчитанный на ток не более 10 ампер.
модуль Arduino Mega 2560
плата XBee Explorer
передатчик XBee Pro 60 мВт с антенной
плата управления Sabertooth 12А на два двигателя
ULN 2803 и IC разъем

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

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

На плату для XBee монтируем сам XBee модуль и делаем 4 соединения: 5В к 5В, GND к заземлению, DIN к TX3 (14 контакт) и Dout к RX3(15 контакт).

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

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



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

Помимо знаний нам понадобится:

Плата USB XBee explorer
USB-кабель

После установки и обновления программы X_CTU настраиваем каждый XBee модуль как приемник и передатчик одновременно. Задаем три мозгопараметра :
Для приемника: DL=321, MY=123 and BD = 3 (9600 baud).
Для передатчика: DL=123, MY=321 and BD = 3 (9600 baud).

Шаг 6: Сборка пульта управления

Литиевая батарея 3S на 800 мАч
Arduino Nano 5В, 16 МГц или аналогичный
плата XBee Explorer
модуль XBee Pro 60 мВт с антенной
джойстик
LED
резистор 220 Ом
два миниатюрных переключателей
пластиковый корпус




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

Шаг 7: И в заключение

Собранная мозгоподелка имеет следующие характеристики: длина — 42 см, ширина — 32см, высота — 12,5см, вес — 3.430 кг.

Скорость зависит от выбранных двигателей, у моего мозгоробота с передаточным числом 100: 1, она достигает 0,7 м / с (2,4 км / час). Если уменьшить передаточное число, скорость увеличится с уменьшением тяги. Напротив, если увеличить передаточное число: скорость уменьшится, но повысится тяга.

На видео показаны внедорожные качества самоделки .


Важные моменты:
при монтаже светодиодов соблюдайте полярность;
если колесо вращается в обратную сторону, то просто поменяйте полярность двигателя;
если вся группа колес вращается в обратную сторону, то полярность поменяйте на плате Sabertooth;
если все колеса вращаются в обратную сторону, то поменяйте полярность питающих проводов платы Sabertooth.

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

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

Но это в планах, а пока благодарю за внимание и удачи в творчестве!


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

Идея в первом приближении выглядит следующим образом: автономный робот, обладающий следующими особенностями:

Шасси робота

В качестве шасси я решил использовать покупную четырехколесную платформу из чисто экономических соображений (как ни считал, по частям получалось дороже, а эта одна из самых дешевых, которую удалось найти). Мой выбор пал на шасси DAGU 4WD chasis kit, представляющее из себя 4-х колесную платформу с моторами. Вот так выглядит комплект поставки.


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

Размеры: 175 х 109 х 3 мм

Расстояние между платами (высота идущих в комплекте стоек): 24мм

Диаметр колес: 67 мм

Ширина обода: 26 мм

Напряжение: 4.5 — 7.2 В

Обороты холостого хода: 90 ± 10 об/мин

Ток холостого хода: 190 мА (макс. 250 мА)

Крутящий момент: 0.8 кг · см

Максимальный ток: 1 А

На сборку уходит минут двадцать. В собранном виде шасси выглядит вот так:




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

В целом, собранная платформа выглядит достаточно симпатично. Если бы не проблема с энкодерами, я был бы доволен на 100%.

Читайте также: