Робот машина как сделать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Как собрать робота самостоятельно в домашних условиях: от простого к сложному

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

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

Робот, реагирующий на источник света

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

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

Необходимые инструменты и детали

При сборке конструкции простого робота своими руками потребуются:

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

Процесс сборки

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

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

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

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

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

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

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

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

Когда все сделано правильно, двигатели на плате вращаются, меняя скорость в зависимости от степени освещения.

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

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

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

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

Робот, различающий препятствия

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

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

Инструменты и запчасти

Перед созданием робота следует подготовить:

Работа с платой

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

Далее осматривают корпус контроллера MK-Dip и выделяют в нем узлы:

Управление двигателями

В приспособлении используется микросхема L293D со встроенными диодами, которые защищают систему от перегрузки. Она имеет 2 канала, что позволяет подключить сразу 2 двигателя. Моторчики на плате запрещено присоединять напрямую к МК. Контакт обеспечивается с помощью ключевых транзисторов.

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

Установка датчиков препятствий

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

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

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

Прошивка робота

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

Прописывая команды, следует учесть, что по инструкции у робота 2 датчика. Если на 1 из фототранзисторов поступает свет от инфракрасного диода, механизм начинает движение назад, отъезжая от препятствия. Он разворачивается и снова едет вперед.

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

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

Роботы для детей

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

Ребятам будет интересно самостоятельно построить или поучаствовать в сборке:

Полезные роботизированные устройства для начинающих

Первые шаги в робототехнике можно начать:

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

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

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

Источник

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


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

Введение

Итак. Что же такое робот? В большинстве случаев это автоматическое устройство, которое реагирует на какие-либо действия окружающей среды. Роботы могут управляться человеком или выполнять заранее запрограммированные действия. Обычно на роботе располагают разнообразные датчики (расстояния, угла поворота, ускорения), видеокамеры, манипуляторы. Электронная часть робота состоит из микроконтроллера (МК) – микросхема, в которую заключён процессор, тактовый генератор, различная периферия, оперативная и постоянная память. В мире существует огромное количество разнообразных микроконтроллеров для разных областей применения и на их основе можно собирать мощных роботов. Для любительских построек широкое применение нашли микроконтроллеры AVR. Они, на сегодняшний день, самые доступные и в интернете можно найти много примеров на основе этих МК. Чтобы работать с микроконтроллерами тебе нужно уметь программировать на ассемблере или на Cи и иметь начальные знания в цифровой и аналоговой электронике. В нашем проекте мы будем использовать Cи. Программирование для МК мало чем отличается от программирования на компьютере, синтаксис языка такой же, большинство функций практически ничем не отличаются, а новые довольно легко освоить и ими удобно пользоваться.

Что нам нужно

Для начала наш робот будет уметь просто объезжать препятствия, то есть повторять нормальное поведение большинства животных в природе. Всё что нам потребуется для постройки такого робота можно будет найти в радиотехнических магазинах. Решим, как наш робот будет передвигаться. Самым удачным я считаю гусеницы, которые применяются в танках, это наиболее удобное решение, потому что гусеницы имеют большую проходимость, чем колёса машины и ими удобнее управлять (для поворота достаточно вращать гусеницы в разные стороны). Поэтому тебе понадобится любой игрушечный танк, у которого гусеницы вращаются независимо друг от друга, такой можно купить в любом магазине игрушек по разумной цене. От этого танка тебе понадобится только платформа с гусеницами и моторы с редукторами, остальное ты можешь смело открутить и выкинуть. Так же нам потребуется микроконтроллер, мой выбор пал на ATmega16 – у него достаточно портов для подключения датчиков и периферии и вообще он довольно удобный. Ещё тебе потребуется закупить немного радиодеталей, паяльник, мультиметр.

Делаем плату с МК


Схема робота

В нашем случае микроконтроллер будет выполнять функции мозга, но начнём мы не с него, а с питания мозга робота. Правильное питание – залог здоровья, поэтому мы начнём с того, как правильно кормить нашего робота, потому что на этом обычно ошибаются начинающие роботостроители. А для того, чтобы наш робот работал нормально нужно использовать стабилизатор напряжения. Я предпочитаю микросхему L7805 – она предназначена, чтобы на выходе выдавать стабильное напряжение 5В, которое и нужно нашему микроконтроллеру. Но из-за того, что падение напряжения на этой микросхеме составляет порядка 2,5В к нему нужно подавать минимум 7,5В. Вместе с этим стабилизатором используются электролитические конденсаторы, чтобы сгладить пульсации напряжения и в цепь обязательно включают диод, для защиты от переполюсовки.
Теперь мы можем заняться нашим микроконтроллером. Корпус у МК — DIP (так удобнее паять) и имеет сорок выводов. На борту имеется АЦП, ШИМ, USART и много другого, что мы пока использовать не будем. Рассмотрим несколько важных узлов. Вывод RESET (9-ая нога МК) подтянут резистором R1 к «плюсу» источника питания – это нужно делать обязательно! Иначе твой МК может непреднамеренно сбрасываться или, проще говоря – глючить. Так же желательной мерой, но не обязательной является подключение RESET’а через керамический конденсатор C1 к «земле». На схеме ты так же можешь увидеть электролит на 1000 мкФ, он спасает от провалов напряжения при работе двигателей, что тоже благоприятно скажется на работе микроконтроллера. Кварцевый резонатор X1 и конденсаторы C2, C3 нужно располагать как можно ближе к выводам XTAL1 и XTAL2.
О том, как прошивать МК, я рассказывать не буду, так как об этом можно прочитать в интернете. Писать программу мы будем на Cи, в качестве среды программирования я выбрал CodeVisionAVR. Это довольно удобная среда и полезна новичкам, потому что имеет встроенный мастер создания кода.


Плата моего робота

Управление двигателями

Не менее важным компонентом в нашем роботе является драйвер двигателей, который облегчает нам задачу в управлении им. Никогда и ни в коем случае нельзя подключать двигатели напрямую к МК! Вообще мощными нагрузками нельзя управлять с микроконтроллера напрямую, иначе он сгорит. Пользуйтесь ключевыми транзисторами. Для нашего случая есть специальная микросхема – L293D. В подобных несложных проектах всегда старайтесь использовать именно эту микросхему с индексом «D», так как она имеет встроенные диоды для защиты от перегрузок. Этой микросхемой очень легко управлять и её просто достать в радиотехнических магазинах. Она выпускается в двух корпусах DIP и SOIC. Мы будем использовать в корпусе DIP из-за удобства монтажа на плате. L293D имеет раздельное питание двигателей и логики. Поэтому саму микросхему мы будем питать от стабилизатора (вход VSS), а двигатели напрямую от аккумуляторов (вход VS). L293D выдерживает нагрузку 600 мА на каждый канал, а этих каналов у неё два, то есть к одной микросхеме можно подключить два двигателя. Но, чтобы перестраховаться, мы объединим каналы, и тогда потребуется по одной микре на каждый двигатель. Отсюда следует, что L293D сможет выдержать 1.2 А. Чтобы этого добиться нужно объединить ноги микры, как показано на схеме. Микросхема работает следующим образом: когда на IN1 и IN2 подаётся логический «0», а на IN3 и IN4 логическая единица, то двигатель вращается в одну сторону, а если инвертировать сигналы – подать логический ноль, тогда двигатель начнёт вращаться в другую сторону. Выводы EN1 и EN2 отвечают за включение каждого канала. Их мы соединяем и подключаем к «плюсу» питания от стабилизатора. Так как микросхема греется во время работы, а установка радиаторов проблематична на этот тип корпуса, то отвод тепла обеспечивается ногами GND — их лучше распаивать на широкой контактной площадке. Вот и всё, что на первое время тебе нужно знать о драйверах двигателей.

Датчики препятствий

Чтобы наш робот мог ориентироваться и не врезался во всё, мы установим на него два инфракрасных датчика. Самый простейший датчик состоит из ик-диода, который излучает в инфракрасном спектре и фототранзистор, который будет принимать сигнал с ик-диода. Принцип такой: когда перед датчиком нет преграды, то ик-лучи не попадают на фототранзистор и он не открывается. Если перед датчиком препятствие, тогда лучи от него отражаются и попадают на транзистор – он открывается и начинает течь ток. Недостаток таких датчиков в том, что они могут по-разному реагировать на различные поверхности и не защищены от помех — от посторонних сигналов других устройств датчик, случайно, может сработать. От помех может защитить модулирование сигнала, но пока мы этим заморачиватся не будем. Для начала, и этого хватит.


Первый вариант датчиков моего робота

Прошивка робота

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

Следующие строки условные, потому что значения PORTC зависят от того, как ты подключил драйвер двигателей к своему микроконтроллеру:

PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;

Значение 0xFF означает, что на выходе будет лог. «1», а 0x00 – лог. «0».

Следующей конструкцией мы проверяем, есть ли перед роботом препятствие и с какой оно стороны:

Если на фототранзистор попадает свет от ик-диода, то на ноге микроконтроллера устанавливается лог. «0» и робот начинает движение назад, чтобы отъехать от препятствия, потом разворачивается, чтобы снова не столкнуться с преградой и затем опять едет вперёд. Так как у нас два датчика, то мы проверяем наличие преграды два раза – справа и слева и потому можем узнать с какой стороны препятствие. Команда «delay_ms(1000)» указывает на то, что пройдёт одна секунда, прежде чем начнёт выполняться следующая команда.

Заключение

Я рассмотрел большинство аспектов, которые помогут тебе собрать твоего первого робота. Но на этом робототехника не заканчивается. Если ты соберёшь этого робота, то у тебя появится куча возможностей для его расширения. Можно усовершенствовать алгоритм робота, как например, что делать, если препятствие не с какой-то стороны, а прямо перед роботом. Так же не помешает установить энкодер – простое устройство, которое поможет точно располагать и знать расположение твоего робота в пространстве. Для наглядности возможна установка цветного или монохромного дисплея, который может показывать полезную информацию – уровень заряда аккумулятора, расстояние до препятствия, различную отладочную информацию. Не помешает и усовершенствование датчиков – установка TSOP (это ик-приёмники, которые воспринимают сигнал только определённой частоты) вместо обычных фототранзисторов. Помимо инфракрасных датчиков существуют ультразвуковые, стоят подороже, и тоже не лишены недостатков, но в последнее время набирают популярность у роботостроителей. Для того, чтобы робот мог реагировать на звук, было бы неплохо установить микрофоны с усилителем. Но по-настоящему интересным, я считаю, установка камеры и программирование на её основе машинного зрения. Есть набор специальных библиотек OpenCV, с помощью которых можно запрограммировать распознавание лиц, движения по цветным маякам и много всего интересного. Всё зависит только от твоей фантазии и умений.

Список компонентов:
Код прошивки:

void main(void)
<
//Настраиваем порты на вход
//Через эти порты мы получаем сигналы от датчиков
DDRB=0x00;
//Включаем подтягивающие резисторы
PORTB=0xFF;

//Настраиваем порты на выход
//Через эти порты мы управляем двигателями
DDRC=0xFF;

//Главный цикл программы. Здесь мы считываем значения с датчиков
//и управляем двигателями
while (1)
<
//Едем вперёд
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;
if (!(PINB & (1

О моём роботе

В данный момент мой робот практически завершён.

На нём установлена беспроводная камера, датчик расстояния (и камера и этот датчик установлены на поворотной башне), датчик препятствия, энкодер, приёмник сигналов с пульта и интерфейс RS-232 для соединения с компьютером. Работает в двух режимах: автономном и ручном (принимает сигналы управления с пульта ДУ), камера также может включаться/выключаться дистанционно или самим роботом для экономии заряда батарей. Пишу прошивку для охраны квартиры (передача изображения на компьютер, обнаружение движений, объезд помещения).

По пожеланиям выкладываю видео:

UPD. Перезалил фотографии и сделал небольшие поправки в тексте.

Статья была опубликована мною в журнале «Хакер» за август 2009 года.

Источник

Оцените статью
Добавить комментарий