ШАГАЮЩИЙ РОБОТ С СЕРВОПРИВОДАМИ

Содержание

Четвероногий робот на базе Arduino

ШАГАЮЩИЙ РОБОТ С СЕРВОПРИВОДАМИ

Перевёл alexlevchenko для mozgochiny.ru 

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

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

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

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

Шаг 1: Как это работает?

Робот имеет 4 ноги, с 3 сервоприводами на каждой из них, что позволяют ему перемещать конечности в 3-х степенях свободы. Он передвигается «ползучей походкой». Пусть она медленная, зато одна из самых плавных.

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

Шаг 2: Необходимые детали

Скелет изготавливается из оргстекла толщиной 2 мм.

Электронная часть самоделки будет состоять из:

  • 12 сервоприводов;
  • arduino nano (можно заменить любой другой платой arduino);
  • Шилда для управления сервоприводами;
  • блока питания (в проекте использовался БП 5В 4А);
  • ультразвукового датчика;
  • hc 05 bluetooth модуля;

Для того, чтобы изготовить шилд понадобится:

  • монтажная плата (предпочтительно с общими линиями (шинами) питания и земли);
  • межплатные штыревые соединители — 30 шт;
  • гнезда на плату – 36 шт;

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

  • Лазерный резак (или умелые руки);
  • Суперклей;
  • Термоклей.

Шаг 3: Скелет

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

После этого в любой доступный способ вырезаем 30 деталей будущего робота.

Шаг 4: Сборка

После резки снимаем защитное бумажное покрытие с оргстекла.

Далее приступаем к сборке ног. Крепежные элементы встроенные в части скелета. Всё, что остаётся сделать — это соединить детали воедино. Соединение довольно плотное, но для большей надежности можно нанести по капле суперклея на элементы крепежа.

Затем нужно доработать сервоприводы (приклеить по винту напротив валов сервоприводов).

Этой доработкой мы сделаем робота более устойчивым. Доработку нужно выполнить только для 8 сервоприводов, остальные 4 будут крепиться непосредственно на тело.

Прикрепляем ноги к связующему элементу (изогнутая деталь), а его в свою очередь к сервоприводу на теле.

Шаг 5: Изготавливаем шилд

Изготовление платы довольно простое, если следовать представленным в шаге фотографиям.

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

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

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

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

ВАЖНО: Вам необходимо добавить дополнительную библиотеку в программную среду arduino IDE. Ссылка на библиотеку представлена ниже:

flexitimer2-master

Робот должен сделать 5 шагов вперед, 5 шагов назад, повернутся влево на 90 градусов, повернутся вправо на 90 градусов. Если Франкенштейн делает всё правильно, мы двигаемся в верном направлении.

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

Шаг 8: Инверсная кинематика

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

Простыми словами инверсная кинематика или сокращенно ик – «часть» тригонометрических уравнений, что определяют положение острого конца ноги, угла каждого сервоприводи и т.д., что в итоге определяют пару предварительных установочных параметров.

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

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

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

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

Шаг 9:

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

Для выполнения движений, вам нужно вызывать следующие функции.

  • для движения вперед — step_forward();
  • для движения назад — step_back();
  • для поворота налево — turn_left();
  • для поворота направо — turn_right();
  • стоять — stand();
  • сидеть — sit();

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

Шаг 10: QUATTRO готов!

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

(A-z Source)

Источник: http://mozgochiny.ru/electronics-2/chetveronogiy-robot-na-baze-arduino/

Двигатели для робота являются составной частью приводрв

ШАГАЮЩИЙ РОБОТ С СЕРВОПРИВОДАМИ

Двигатели для робота входят в состав приводов. Мы узнали о робототехнике в целом на шаге первом. На втором шаге решили, какого робота мы будем делать. Нам нужно установить приводы, которые заставят робота двигаться.

Что такое привод?

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

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

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

Двигатель переменного тока

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

Двигатели постоянного тока

Двигатели постоянного тока MotorDC моторы имеют разнообразные формы и размеры. Хотя большинство из них цилиндрические. Они имеют выходной вал, который вращается на высоких скоростях, обычно в 5 000 до 10 000 оборотов в минуту. Хотя двигатели постоянного тока очень быстро вращаются, большинство из них не очень мощные. Такие двигатели для робота имеют низкий крутящий момент.

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

Двигатели постоянного тока могут работать по часовой стрелке (CW) и против вращения часовой стрелки. Угловое движение вала может быть измерено с помощью энкодеров или потенциометров.

Мотор редуктор постоянного тока

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

Например, двигатель постоянного тока вращается со скоростью 10000 оборотов в минуту и достигает 0.001 Н*м крутящего момента. Если добавить понижающую передачу 100:1 (сто к одному) мы снизим скорость в 100 раз.

В результате 10000 / 100 = 100 об / мин и увеличим крутящий момент в 100 раз (0.001 х 100 = 0.1 Н*м).

Основные виды понижающих передач это:

  1. зубчатая передача
  2. ременная
  3. планетарная
  4. червячная

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

Серводвигатель

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

R / C или хобби сервомотор

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

Теперь они используются в различных приложениях. Цены на эти сервоприводы значительно сократилось, и разнообразие (разные размеры, технологии и сила) увеличилось.

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

R / C сервомотор включает в себя двигатель постоянного тока, редуктор, электронику и роторный потенциометр, который и измеряет угол

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

Управляющий импульс, как правило, снимается с регулятора мотора сервопривода. Хобби сервомотор — это новый тип сервопривода.  Он предполагает непрерывное вращение и обратную связь по положению.

Все сервоприводы могут вращаться как вправо, так и влево.

Промышленные серводвигатели

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

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

Шаговые двигатели

Шаговый двигатель вращается на определенные “ступени” (на самом деле, конкретные градусы). Число ступеней и размер шага зависит от нескольких факторов. Большинство шаговых двигателей не включает в себя передачи. Так как это двигатели постоянного тока и вращающий момент низок.

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

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

Линейные приводы

Линейный привод производит линейное движение (движение вдоль одной прямой линии) и имеют три основные отличительные механические характеристики.

  1. Минимальное и максимальное расстояние, на которое стержень может сдвинуть вал (в мм или дюймах)
  2. Их сила (в кг или фунты)
  3. Их скорость (в м/с или дюйм/с)

DC Линейный Привод

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

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

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

Линейные приводы постоянного тока бывают в самых разнообразных размеров и типов.

Соленоиды

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

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

Пневматические и гидравлические приводы

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

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

Выбор привода

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

Роботы с колесами или гусеницами

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

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

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

Робот манипулятор

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

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

Сервоприводы двигателей

Используются если диапазон ограничен до 180 градусов и крутящий момент не является существенным. Р/С мотора сервопривода идеально подходит для таких задач. Серводвигатели предлагаются с различными крутящими моментами и размерами и обеспечивают угловые обратной связи по положению.

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

Практический пример

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

Для этого нужно ответить на пять вопросов:

  1. Это привод используется для перемещения колесного робота?
    Да. Нужен мотор-редуктор с управлением при помощи притормаживания одного борта. Это означает, что каждое колесо будет нужно оснастить собственным мотором.
  2. Двигатели для робота используются, чтобы поднять или повернуть тяжелый вес?
    Нет, настольная платформа не должна быть тяжелой.
  3. Диапазон движения ограничивается на 180 градусов?
    Нет, колеса могут постоянно вращаться.
  4. Угол должны быть точными?
    Нет, наш робот не требует позиционной обратной связи.
  5. Это движение по прямой?
    Нет, поскольку мы хотим, чтобы робот вращаться и двигаться во всех направлениях.

Всем этим требованиям соответствует большой мотор из базового набора LEGO MINDSTORMS Education EV3.

Технические характеристики большого мотора EV3

Источник: https://legoteacher.ru/10-pervyx-shagov/dvigateli-dlya-robota.html

Робот на Ардуино и машинка на Bluetooth своими руками

ШАГАЮЩИЙ РОБОТ С СЕРВОПРИВОДАМИ

Робот – машинка на Ардуино становятся одним из самым популярных инженерных проектов в школьной робототехнике. Именно с таких устройств, автономных или управляемых со смартфона и bluetooth, начинается путь в робототехнику “после Lego”.

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

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

Робот на ардуино своими руками

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

Робот машина на Ардуино

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

Контроллер Ардуино

Куда уж без него, если мы говорим о проектах на этой платформе. Как правило, роботы машины делают на базе плат Arduino Uno и Nano.

Mega будут слишком большие, Pro Mini сложнее подключать к компьютеру и соединять с остальными компонентами, а Leonardo требуют дополнительных навыков в программировании, они дороже и их основное преимущество (тесная интеграция с компьютером в качестве периферийного устройства) в данном случае не слишком востребована.

Есть еще вариант использования плат ESP8266 или ESP32, тогда в проекте появляется возможность управления машиной через WiFi. Но и сами платы и их программирование требует определенных навыков, в этой статье мы будем говорить преимущественно об Uno или Nano.

Конструкция, шасси и двигатели робота на Ардуино

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

Двигатель, шасси и колеса машинки на ардуино

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

Драйвер двигателей

Драйвер двигателя L298N

Ардуино – достаточно ранимое устройство, не терпящее больших нагрузок по току. Соединяя его с “брутальными” мощными двигателями, не избежать беды.

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

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

Красивый корпус

Как правило, вся конструкция автомобиля строится вокруг его шасси. Если посмотреть примеры готовых проектов, то они часто выглядят как “провода на колесиках” – внешний вид их изобилует пучками соединительных проводов, ведущих от восседающего на троне контроллера Ардуино к драйверам, моторам и датчикам.

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

Питание робота

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

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

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

Питание робота на Ардуино

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

  • Обычные батарейки AA. Тут нужно понимать, что платы Arduino Uno, Nano и большинство двигателей, используемых в Ардуино-робототехнике, требуют напряжения в диапазоне 6-9 вольт. Поэтому придется собрать вместе последовательно не менее 4 батареек на 1,5 В, причем сами батарейки должны быть хорошего качества и обеспечивать работу с достаточно большим током. Например, большинство солевых батареек этим критериям не удовлетворяют. Батарейки AAA при создании ардуино-машинок практически не используются из-за своей пониженной емкости (хотя могут использоваться в миниатюрных моделях, где размер имеет первостепенное значение).
  • Аккумулятор AA. Здесь возникает еще большее ограничение по напряжению и току. Большинство аккумуляторов выдают напряжение 1,2 вольт, поэтому их требуется больше для “собирания” нужных нам 6-9 вольт. Несомненным плюсом является возможность перезарядки.
  • Литиевые аккумуляторы 18650. Это уже “серьезная артиллерия”, позволяющая получить большое время автономной работы, возможность подзарядки и приемлемые характеристики по току и напряжению. Рабочее напряжение для таких элементов питания – 3,7 В, что позволяет собирать готовую схему питания всего из двух элементов.
  • Другие источники питания. Сюда можно включить как более мощные и габаритные никель-металлгидридные, кадмиевые аккумуляторы, так и многочисленные литий-ионные “плоские” варианты, используемые в дронах, смартфонах или другой портативной цифровой технике.

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

Где купить платформу и запчасти

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

Инструкция по сборке робота-автомобиля

В этой статье расскажем вам о том, как по шагам собрать универсального робота на колесной или гусеничной платформе.  Управлять им будет микроконтроллер Ардуино нано. Если вам не нравится долго читать, посмотрите в конце статьи на видео, подготовленное нашими партнерами – каналом ArduMast Club.

Пример платформы робота-машины на Ардуино

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

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

Главное, чтобы число двигателей не превышало 4 и сами ни не были слишком мощными (тогда придется менять тип управления моторами – другой драйвер двигателя).

Робот на Ардуино

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

  • Контроллер Ардуино (в нашем случае, Arduino Nano).
  • Драйвер двигателя L298N.
  • Двигатели с редукторами.
  • Корпус и шасси для крепления колес и оборудования
  • Корпус для аккумуляторов 18650 с выключателем.
  • Коммутационные провода.

Дополнительное оборудование, которое потребуется для создания полноценного проекта:

  • Датчик расстояния и серво-мотор, на который он установлен.
  • Инфракрасные датчики линии.
  • Светодиоды для индикации и “красоты”.
  • Пьезодинамик – пищалка.
  • Bluetooth модуль (если собираетесь управлять машинкой дистанционно).
  • Sensor shield (упрощает коммутацию).
  • Модуль контроля заряда и подзарядки аккумуляторов.
  • Сами аккумуляторы.

Общая схема машинки на Ардуино

Схема электропитания робота автомобиля

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

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

Схема питания и подключения двигателей в ардуино автомобиле

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

Машинка на Ардуино

Для добавления контроллера разряда придется внести следующие изменения в схему:

Схема питания с контролем разряда аккумулятора

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

Питание робота Ардуино

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

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

Для зарядки двух литий-ионных аккумуляторов необходимо настроить выходное напряжение на 8,4 Вольта.

Схема питания с модулем зарядки для ардуино робота машинки

Подключаем двигатели и плату

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

Монтируем драйвер двигателей на платформу так, чтобы его радиатор был спереди. ЭТО ВАЖНО! В противном случае, вам придется переписывать программу для микроконтроллера.

Драйвер двигателя для Ардуино робота

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

Питание для ардуино и других электронных компонентов мы возьмем от драйвера двигателей.

Подключаем Bluetooth к машинке

Мы собираемся использовать модуль Bluetooth через  SoftwareSerial (библиотеку SoftwareSerial.h), поэтому подключаем модуль блютуз к 3 и 4 цифровым пинам ардуино.  RX к D3,   TX к D4

Схема подключения Bluetooth к ардуино машинкеПодключаем BluetoothСхема подключения драйвера двигателя к роботу Схема подключения компонентов к Arduino Датчик расстояния машины

Платформа робота готова! Теперь осталось загрузить прошивку для контроллера Ардуино и программу для смартфона RC CAR. Вы можете посмотреть на нашем сайте обзор Android приложений для работы с Arduino.

Программирование робота на Ардуино

Так как мы делаем инструкцию по сборке универсального робота, то неплохо бы предусмотреть все необходимое для разных вариантов ее использования. Весь код вы можете найти в архиве: https://yadi.sk/d/jIYZQDI-GuytMw

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

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

Кроме того, мы разработали и протестировали схему, в которой будут одновременно использоваться и управление скоростью моторов по ШИМ, и серводвигатель.

инструкция по сборке робота на Ардуино

Предлагаем вашему вниманию подробную видео-инструкцию по сборке робота автомобиля на Ардуино от нашего партнера – канала ArduMast Club.

Источник: https://ArduinoMaster.ru/uroki-arduino/robot-mashinka-avtomobil-arduino/

Опыт создания первого робота на Ардуино (робот-«охотник»)

ШАГАЮЩИЙ РОБОТ С СЕРВОПРИВОДАМИ

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

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

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

Общее описание робота

Вначале несколько слов о самом роботе (идея). Собирать что-то типовое на старте не очень хотелось. В то же время, набор компонентов был довольно стандартным — шасси, двигатели, ультразвуковой датчик, датчик линии, светодиоды, пищалка.

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

Поэтому после некоторых обдумываний я несколько изменил идею и решил делать робота-«охотника». На старте он поворачивается вокруг своей оси, выбирая поблизости цель (человека). Если «жертва» обнаружена, «охотник» включает мигалку и сирену, и начинает ехать на нее.

Когда человек отходит/отбегает, робот выбирает новую цель и преследует ее, и так далее. Такому роботу не нужен ограниченный круг, и он может работать на открытой территории. Как видите, это во многом напоминает игру «догонялки».

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

Структура робота

Итак, мы определились с идеей, перейдем к компоновке. Список элементов формируется из того, что должен уметь робот. Тут всё вполне очевидно, поэтому сразу посмотрим на нумерацию: «Мозги» робота — плата arduino uno (1); была в заказанном из Китая наборе. Для наших целей ее вполне хватает (ориентируемся на количество используемых пинов).

Из этого же набора мы взяли готовое шасси (2), на которое крепятся два ведущих колеса (3) и одно заднее (свободно вращающееся) (4). Также в наборе был готовый батарейный отсек (5). Спереди у робота стоит ультразвуковой датчик (HC-SR04) (6), сзади — драйвер двигателей (L298N) (7), по центру — светодиод-мигалка (8), и чуть в стороне — пищалка (9).

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

Нюансы:

  1. В шасси из набора есть много заводских отверстий, но какая в них логика — я так и не разобрался. Двигатели и аккумуляторный блок закрепились без проблем, дальше началась «подгонка» со сверлением новых отверстий, чтобы закрепить ту или иную плату.
  2. Весьма выручили латунные стойки и прочий крепеж из запасников (иногда приходилось выкручиваться).

  3. Шины от каждой платы пропускал через зажимы (опять же нашел в запасниках). Весьма удобно, все провода лежат красиво и не болтаются.

Отдельные блоки

Теперь пройдусь по блокам и расскажу персонально про каждый.

Батарейный отсек

Понятно, что робот должен иметь хороший источник энергии. Варианты могут быть разные, я выбрал вариант с 4 аккумуляторами АА. В сумме они дают примерно 5 В, и такое напряжение можно прямо подать на пин 5V платы arduino (минуя стабилизатор). Некоторая настороженность, конечно, у меня была, но это решение вполне работоспособно. Так как питание нужно везде, то для удобства я сделал по центру робота два разъема: один «раздает» землю (справа), а второй — 5 В (слева).

Двигатели и драйвер

Сначала про крепление двигателей. Крепление заводское, но сделано с большими допусками. Другими словами, двигатели могут «вихлять» на пару миллиметров влево-вправо. Для нашей задачи это не критично, а вот где-то может и влиять (робота начнет уводить в сторону). На всякий случай я выставил двигатели строго параллельно и зафиксировал клеем. Для управления двигателями, как я писал выше, используется драйвер L298N. По документации у него три пина на каждый двигатель: один для изменения скорости и пара пинов для направления вращения. Тут есть один важный момент. Оказывается, если напряжение питания 5 В, то регулировка скорости просто не работает! То есть либо совсем не крутит, либо крутит по максимуму. Вот такая особенность, из-за которой я «убил» пару вечеров. В конце концов, нашел упоминание где-то на одном из форумов. Вообще говоря, низкая скорость вращения мне требовалась при развороте робота — чтобы он имел запас времени просканировать пространство. Но, так как с такой задумкой ничего не вышло, пришлось делать по другому: небольшой поворот — остановка — поворот — остановка и т. д. Опять же, не столь изящно, но работоспособно. Еще здесь добавлю, что после каждого преследования робот выбирает случайное направление нового поворота (по или против часовой стрелки).

Ультразвуковой датчик

Еще одна железяка, где пришлось искать компромиссное решение. Ультразвуковой датчик на реальных препятствиях дает нестабильные цифры. Собственно, это было ожидаемо. Идеально он работает где-нибудь на соревнованиях, где есть гладкие, ровные и перпендикулярные поверхности, а вот если перед ним «мелькают» чьи-то ноги — тут нужно вводить дополнительную обработку.

В качестве такой обработки я поставил медианный фильтр на три отсчета. Исходя из тестов на реальных детях (во время тестов ни один ребенок не пострадал!), его оказалось вполне достаточно для нормализации данных.

Физика здесь простая: у нас есть сигналы, отраженные от нужных объектов (дающие требуемое расстояние) и отраженные от более далеких, например, стен.

Вторые представляют собой случайные выбросы в измерениях вида 45, 46, 230, 46, 46, 45, 45, 310, 46… Именно их медианный фильтр и отсекает.

После всей обработки у нас получается расстояние до ближайшего объекта. Если оно меньше некоторой пороговой величины — тогда мы включаем сигнализацию и едем прямо на «нарушителя». Мигалка и сирена

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

Программа управления

Расписывать детально код я смысла не вижу, кому нужно — ссылка в конце статьи, там всё достаточно читабельно. А вот общую структуру было бы неплохо объяснить.

Первое, что пришлось осмыслить: робот — это устройство реального времени. Точнее, вспомнить, потому что и раньше, и сейчас все равно занимаюсь электроникой.

Значит, сразу забываем про вызов delay(), который очень любят использовать в скетчах-примерах, и который просто «замораживает» программу на указанный промежуток времени. Вместо этого, как советуют опытные люди, вводим таймеры на каждый блок.

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

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

Нюансы педагогики

Все, что было описано выше, я делал в свободное время по вечерам. В неспешном режиме я потратил на робота где-то недели три. На этом можно было бы и завершиться, но я еще обещал вам рассказать о работе с ребенком. Что выполнимо в таком возрасте?

Работа по инструкции

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

Порядок работы («от частного к общему»)

Вот это сложный пункт. Нужно приучать, что большой проект («сделать робота») состоит из мелких задач («подключить датчик», «подключить моторы»…), а те, в свою очередь, из еще более мелких шагов («найти программу», «подключить плату», «загрузить прошивку»…). Выполняя более-менее понятные задачи нижнего уровня, мы «закрываем» задачи среднего уровня, а из них уже складывается общий результат. Объяснял, но, думаю, осознание придет еще не скоро. Где-то, наверное, к подростковому возрасту.

Монтаж

Сверление, резьбы, винты, гайки, пайка и запах канифоли — куда же без этого. Ребенок получил базовый скилл «Работа с паяльником» — удалось спаять несколько соединений (я чуть-чуть помогал, не скрою). Не забывайте про объяснение техники безопасности.

Работа на компьютере

Программу для робота писал я, но каких-то попутных результатов все-таки удалось достичь. Первое: английский. В школе его только-только начали, поэтому мы «со скрипом» разбирали, что такое pishalka, migalka, yarkost и прочий транслит. Поняли хотя бы это. Я осознанно не стал использовать родные английские слова, так как до этого уровня мы еще не дошли. Второе: эффективная работа. Учили горячие комбинации клавиш, как быстро выполнять типовые операции. Периодически, когда писали программу, мы менялись с сыном местами, и я говорил, что нужно сделать (замену, поиск и т.д.). Приходилось повторять снова и снова: «выдели двойным кликом», «зажми Shift», «зажми Ctrl» и так далее. Процесс обучения здесь не быстрый, но, я думаю, навыки постепенно отложатся «в подкорку». Скрытый текст

Источник: https://habr.com/post/436118/

Роботы на сервоприводах Dynamixel

ШАГАЮЩИЙ РОБОТ С СЕРВОПРИВОДАМИ

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

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

Манипулятор AX-12 Robot Arm

Для создания манипулятора и захвата в роботе используются 5 сервоприводов Dynamixel AX-12+ . Рука имеет 4 степени свободы, а захват 1 степень свободы. Для управления сервоприводами используется микроконтроллер Arduino Mega. Для управления всеми приводами требуется только один UART (RX,TX) порт. Захват делается из подручных материалов.

AX-12 Robot Arm (изображение взято с сайта http://letsmakerobots.com)

Основные характеристики:

* затраты на изготовление: 200$;* время изготовления: 20 часов;* вес: 500 г;* приводы / устройства вывода: 5 сервоприводов Dynamixel AX-12+;* управление: дистанционное;* процессор: Atmega1280;* операционная система: нет;* источник питания: электропитание;* язык программирования: C++/Python;* датчики / устройства ввода: нет;

* требования к окружающей среде: использовать внутри помещения на ровной поверхности.

Этого робота не требуется по-настоящему программировать. Для его управления используется ПО проекта PyPose (который входит в проект Arbotix) без каких-либо изменений. При помощи редактора PyPose можно легко задать положение манипулятору. Также, с помощью нескольких кликов мыши, можно указать последовательность положений манипулятора.

Паукообразный робот Dragoon – RX-64 Quadruped

В роботе используется открытое ПО, называемое PyPose и NUKE для управления и расчетов обратной кинематики походки робота.

Простой в использовании графический интерфейс позволяет вставить параметры четырехногого робота с 3мя степенями свободы и экспортировать их в эскиз проекта Arduino для использования в ArbotiX.

Удобная система, которая легко настраивается и запускается. Создание робота занимает 10 часов, а написание программного обеспечения занимает около часа.

Dragoon – RX-64 Quadruped

 (изображение взято с сайта http://letsmakerobots.com)

Человекоподобный робот Giger

В роботе Giger используются сервоприводы EX-106+. Этот робот был разработан в Autodesk Inventor. Конструкция изготовлена из алюминиевого сплава 5052. Высота робота составляет 60 см. Вес робота около 5 кг. И в нем используется 10xEX-106+, 6x RX-64 и 8x RX-28 сервоприводов.

Giger(изображение взято с сайта http://letsmakerobots.com)

Человекоподобный робот Giger v4

Это робот представляет собой более новую версию предыдущего робота. В нем используется 14 сервоприводов EX-106 Dynamixel, 8 сервоприводов RX-64 Dynamixel, 2 сервопривода RX-24F Dynamixel. Он более стабилен по сравнению со своим предшественником. В нем используется бортовой компьютер Gumstix. Голова печатается на 3D принтере.

Giger v4(изображение взято с сайта http://letsmakerobots.com)

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.