Собираем простого робота на Arduino

Как сделать робота на Ардуино своими руками: самодельный robot Arduino в домашних условиях

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

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

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

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

  • Arduino UNO
  • Мини макетная плата
  • Драйвер двигателя L298N
  • Два электромотора с колесами
  • Ультразвуковой датчик измерения расстояния HC — SR04
  • Микросервопривод
  • Кнопка
  • Красный диод
  • Резистор 220 Ом
  • Отсек для элемента питания 9В (с/без коннектора)
  • 8 стоек для макетных плат с наружной и внутренней резьбой, 8 винтов и 8 гаек

Также вам понадобится одна большая металлическая скрепка и бусина (для заднего опорного колеса).

Для изготовления каркаса робота использован кусок плексигласа (оргстекла) 12х9,5 см. Можно сделать каркас из дерева или металла, или даже из компакт-дисков.

  • Дрель
  • Суперклей
  • Отвертка
  • Клеевой пистолет (опционально)

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

Шаг 2: Делаем каркас робота

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

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

Можно также просверлить отверстия под провода электромоторов и питания.

Шаг 3: Монтируем электронику

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

Теперь делаем заднее опорное колесо из скрепки и бусины (фото 2). Концы проволоки закрепите на нижней стороне каркаса суперклеем или термоклеем.

Шаг 4: Устанавливаем «глаза» робота

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

Шаг 5: Схема подключений

Теперь приступаем к подключению электронных компонентов. Подключение компонентов происходит согласно схеме на рисунке 1.

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

Шаг 6: Код

Код, который приведен ниже, сделан с помощью Codebender.

Codebender – это браузерный IDE, это самый простой способ программировать вашего робота из браузера. Нужно кликнуть на кнопку «Run on Arduino» и все, проще некуда.

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

Нажав кнопку «Edit», вы можете редактировать скетч для своих нужд.

Например, изменив значение «10» измеряемого расстояния до препятствия в см, вы уменьшите или увеличите дистанцию, которую будет сканировать robot Arduino в поисках препятствия.

Если робот не двигается, может изменить контакты электромоторов (motorA1 и motorA2 или motorB1 и motorB2).

Шаг 7: Завершенный робот

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

Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.

Делаем самобалансирующего робота на Ардуино

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

Как работает балансировка?

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

Читайте также:
Оригами лотос: как сделать из бумаги и из модулей с фото и видео

Вы когда-нибудь задумывались, как работает Сигвей? В этом уроке мы постараемся показать вам, как сделать робота Ардуино, который уравновешивает себя точно так же, как Segway.

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

Элемент обратной связи – гироскоп-акселерометр MPU6050, который обеспечивает как ускорение, так и вращение во всех трех осях (основы MP26050 I2C). Ардуино использует это, чтобы знать текущую ориентацию робота. Корректирующим элементом является комбинация двигателя и колеса.

В итоге должен получиться примерно такой друг:

Схема робота

Сначала подключите MPU6050 к Ардуино и проверьте соединение, используя коды в этом учебном руководстве по интерфейсу IMU. Если данные теперь отображаются на последовательном мониторе, вы молодец!

Продолжайте подключать остальные компоненты, как показано выше. Модуль L298N может обеспечить +5В, необходимый для Ардуино, если его входное напряжение составляет +7В или выше. Тем не менее, мы выбрали отдельные источники питания для двигателя и схемы.

Создание робота

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

Основная печатная плата, состоящая из Arduino Nano и MPU6050:

Модуль драйвера двигателя L298N:

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

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

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

Теория

В теории управления, удерживая некоторую переменную (в данном случае позицию робота), требуется специальный контроллер, называемый ПИД (пропорциональная интегральная производная). Каждый из этих параметров имеет «прирост», обычно называемый Kp, Ki и Kd. PID обеспечивает коррекцию между желаемым значением (или входом) и фактическим значением (или выходом). Разница между входом и выходом называется «ошибкой».

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

PID требует, чтобы значения Kp, Ki и Kd были настроены на оптимальные значения. Инженеры используют программное обеспечение, такое как MATLAB, для автоматического вычисления этих значений. К сожалению, мы не можем использовать MATLAB в нашем случае, потому что это еще больше усложнит проект. Вместо этого мы будем настраивать значения PID. Вот как это сделать:

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

Поведение робота можно посмотреть ниже на видео:

Код Ардуино самобалансирующего робота

Нам понадобилось четыре внешних библиотеки, для создания нашего робота. Библиотека PID упрощает вычисление значений P, I и D. Библиотека LMotorController используется для управления двумя двигателями с модулем L298N. Библиотека I2Cdev и библиотека MPU6050_6_Axis_MotionApps20 предназначены для чтения данных с MPU6050. Вы можете загрузить код, включая библиотеки в этом репозитории.

Читайте также:
Правила проведения ремонта кровли и реконструкции – нюансы проводимых работ

Значения Kp, Ki, Kd могут работать или не работать. Если они этого не делают, выполните шаги, описанные выше. Обратите внимание, что наклона в коде установлен на 173 градуса.

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

  1. motorSpeedFactorLeft
  2. motorSpeedFactorRight

Автономные роботы на контроллере Arduino

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

Что такое Ардуино?

С этим названием чаще всего ассоциируют программируемые печатные платы. Ардуино — это бренд, который принадлежит компании Arduino AG. Она основана в 2016 году, однако началом ее работы принято считать 2003 год. Тогда команда энтузиастов создала форк программно-аппаратной платформы Wiring, который был назван Arduino.

Справка! Основной разработчик и автор Arduino — Массимо Банци. Система написана на «С++». Аппаратная платформа — AVR.

Основные разработчики компании Arduino AG

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

  • открытой программной оболочки (IDE);
  • аппаратной части, состоящей из готовых смонтированных печатных плат.

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

Роботы на Arduino: описание и назначение

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

Arduino Uno. Простая плата, которая подойдет для начального уровня. Очень простая и надежная. В качестве основы используется чип ATmega328 на тактовой частоте 16 МГц, 2 Кб оперативной памяти. 1 Кб EEPROM, 32 Кб на флеш. На плате распаяны 14 входов (выходов) для подключения сенсоров, приводов и других устройств в цифровом формате, а также 6 аналоговых входов. Этот контроллер подойдет для сборки простых роботов: пауков, машинок, манипуляторов и прочих.

Arduino Mega / Mega 2560. Подойдет для более сложных проектов. В данной плате есть большее количество входов и выходов: 48 и 54 (для Mega и Mega 2560 соответственно). Для нужд оперативной памяти отведено 8 Кб, 4 Кб EEPROM. Количество флеш-памяти: 128 Кб или 256 Кб (Mega 2560). Этот контроллер используют в сложных проектах, например для построения робота-пылесоса с несколькими датчиками ориентира в пространстве.

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

Готовые роботы на базе Arduino

Сегодня рынок радиоэлектроники переживает второе рождение. Это происходит не без участия компании Arduino AG. «Ардуино» внесла огромный вклад в развитие и продажу разных сервоприводов, датчиков, контроллеров и прочих элементов для сборки автономных систем. И, естественно, без нее практически невозможно представить современный мир робототехники. Готовые роботы на базе Arduino можно найти:

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

2. В интернет-магазинах. Часто это киты-конструкторы в комплекте с обучающей литературой. Набор помогает разобраться в базовых принципах аппаратной и софтовой части Ардуино.

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

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

Интересно! Ардуино имеет огромный успех именно в форме конструктора. Являясь основным контролером, он позволяет собирать сложные автономные системы, которые можно настроить под собственные нужды.

Проекты Arduino Robot

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

Интересно! В 2020 году группа энтузиастов запустила самодельный «черный ящик» на орбиту земли. В основе устройства лежал контроллер Arduino Mega 2560. Аппарат успешно выдержал испытание вакуумом, работая при температуре -50 °С.

Устройство «черного ящика» на орбите земли

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

Читайте также:
Особенности вагонки из сосны: объясняем развернуто

Устройство и особенности механизма автономного робота на Ардуино

При разработке или сборке робота на Ардуино, нужно учесть ряд особенностей:

  1. Контроллер не переносит большие нагрузки по току. Это нужно учитывать, например, при подключении мощного двигателя. Специально для этих целей используют «драйверы двигателя». Этот компонент поможет избежать перегрузок на основной плате.
  2. Питание. Чтобы робот был по-настоящему автономным, нужно подобрать правильный элемент питания. Здесь нужно отталкиваться от реального потребления всех компонентов, плюс учитывать параметры тока.
  3. Комплектующие. Все компоненты автономной системы должны быть рассчитаны заранее. То есть они должны работать в одной электросхеме с заданными параметрами. Данный фактор нужно учесть еще на этапе проектирования.

Это основные характеристики, которые стоит учесть при проектировании автономного робота на Ардуино.

Преимущества и перспектива роботов Ардуино

Платформа ежегодно развивается и растет. Компания разрабатывает новые печатные платы, сенсоры и датчики. К достоинствам Ардуино можно отнести:

  1. Низкую стоимость разработки. Основная плата обойдется в $20 — $25.
  2. Простой вход в теоретическую часть. Изучить базовые принципы программирования может даже школьник.
  3. Проект Ардуино полностью открыт. Его можно изменять и дополнять.
  4. Для постройки робота не нужен программатор.
  5. Кроссплатформенная среда разработки.

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

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

  • 20 декабря 2020
  • 285

Arduino.ru

Ардуино робот для начинающих

Собрал робота на Ардуино Уно с ИК дальномером. Так как являюсь новичком в програмировании и робототехнике, то и проект соответственно для начинающих.

Статья с кодом на него и описанием деталей для сборки blogs.servodroid.ru/blog/arduino/41.html

Не понял как вставить видео и отредактировать сообщение выкладываю ссылку на ютуб youtu.be/k5TQm1x-VE8

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

Написал алгоритм для поиска предметов.

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

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

Изменения: переписал программу для поиска предметов. Впереди установил две оптопары, в качестве датчиков поверхности. Теперь робот сам может убирать со стола. Голос роботу вырезал из мультфильма робот Wall-e (робот уборщик). Код откомментирован, но возможно не идеальный. . Так как опыт программирования не большой.

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

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

А ты в конкурсе не желаешь поучаствовать?

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

в конкурсе не желаешь поучаствовать?

Как буду готов маякну.

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

tu plastik . Нуу пока это обычная тележка с колесами. Четыре мотор редуктора лишнее, аккумов надолго не хватит, ведь еще датчики навешивать, а они тоже потребители. Цены в магазине по вашей ссылке вполне приемлимы. Мне лично драйвер моторов калининградский больше нравиться, на нем сразу выведены разъемы под 4 сервы, есть функция электротормоза, и под него написана библиотека., хотя он и на 1 А.

Подпрограмму движения, в приведенном вами коде, проще занести в void setup(), а в void loop() уже ее вызывать, код будет намного меньше в дальнейшем при “навешивании датчиков”.

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

Подпрограмму движения, в приведенном вами коде, проще занести в void setup(), а в void loop() уже ее вызывать, код будет намного меньше в дальнейшем при “навешивании датчиков”.

Спасибо за ответ. В написании кода не селен. Поэтому мне даже не понятен ваш совет с void loop() если не трудно поисните.

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

Ок . Все понял разобрался сам. Евгений подскажите а почему при компилировании вашего кодаа у меня появляется ошибка ?

LMotorShield does not name a type

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

подскажите а почему при компилировании вашего кодаа у меня появляется ошибка ?

LMotorShield does not name a type

Потому что у вас не загружена библиотека для мотор шилда. Я использовал http://robocraft.ru/blog/arduino/657.html такой. Под него написана библиотека LMotorShield.h. В своем коде я ее использовал для управления сервами и использовал функцию электротормоза. Можно обойтись и без нее, нужнно будет только переписать команды на сервы и MotorStop, MotorRun.

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

Спасибо Евгений. А вы еще случаем не подскажете гдеможно взять библиотеку для серводвигателей. Задача такова.

– серва в положении ноль .

– две кнопки право лево

– жму вправо серва в право

– – жму лево соответственно влево.

не чего нежму останавливается в свободном положении .

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

гдеможно взять библиотеку для серводвигателей.

Дак прямо в arduino 1.0 есть библиотека серво, и примеры должны быть. sketch/import Library/servo

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

А какую роль играют функции
motorStop и motorRun?

Я так понимаю можно и так записать, суть та же?

Что эти функции обеспечивают? Можно ли без них обойтись?

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

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

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

Спаибо зо хорошее описание.

А ссылку можете обновить?

Старая не открывается- “Статья с кодом на него и описанием деталей для сборки blogs.servodroid.ru/blog/arduino/41.html”

Хотелось бы посмотреть и схему.

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

Извеняюсь за поздний ответ. http://www.servodroid.ru/forum/48-608-1 Здесь описаны комплектующие на него, будут вопросы спрашивайте.

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

круто, как для новичка офигенно круто

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

если заменить с ИК на ультрозвук что там нужно поменять в коде подскажи ?

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

Извеняюсь за поздний ответ. http://www.servodroid.ru/forum/48-608-1 Здесь описаны комплектующие на него, будут вопросы спрашивайте.

если заменить с ИК на ультрозвук что там нужно поменять в коде подскажи ?

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

если заменить с ИК на ультрозвук что там нужно поменять в коде подскажи ?

Если пойти дальше, то окажется, что ультразвуковой датчик имеет гораздо более широкую диаграмму направленности, а потому снимать расстояние для 18 разных углов бессмысленно – достаточно 3-5.

Ну и желательно бы поправить ошибки в коде, например, если мы поворачиваем серву на некоторый угол, то следует СНАЧАЛА подождать, пока она повернется, и только ПОТОМ измерять расстояние, а не наоборот.

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

если заменить с ИК на ультрозвук что там нужно поменять в коде подскажи ?

Если пойти дальше, то окажется, что ультразвуковой датчик имеет гораздо более широкую диаграмму направленности, а потому снимать расстояние для 18 разных углов бессмысленно – достаточно 3-5.

Ну и желательно бы поправить ошибки в коде, например, если мы поворачиваем серву на некоторый угол, то следует СНАЧАЛА подождать, пока она повернется, и только ПОТОМ измерять расстояние, а не наоборот.

Слабо все это сделать для навичка

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

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

Приветствую всех. Попытался повторить робота-уборщика представленного здесь. Сразу скажу не хочет РОБОТяга работать как у автора. Естественно это моя первая попытка разобраться в программировании Ардуино и пару месяцев изучения темы не смогли внести ясность в понимании того что я делаю не так. Питание силовой части организовал отдельно от Ардуинки.

Немного изменил компоненты робота:

1. Вместо LMotorShield подключил движки к драйверу на L298N

2. Вместо ИК дальномера SHARP GP2D120 использовал SHARP GP2Y0A41SK аналогичный по техническим характеристикам (дальность от 4 до 30 сантиметров).

3. Подключал всё к Ардуино UNO для удобства через Arduino Sensor Shield v 5.0

Вот данные подключения:

Analog 0 – ИК радар Sharp

Analog 1 – 1-й ИК датчик поверхности

Analog 2 – 2-й ИК датчик поверхности

Digital 2 и 7 – мотор А вращение

Digital 3 – ШИМ мотора А

Digital 2 и 7 – мотор В вращение

Digital 3 – ШИМ мотора В

Digital 6 – серва головы

Digital 10 – серва левой лапки

Digital 9 – серва правой лапки

Вот скетч от автора, немного неумело переделанный мной под мою распиновку:

Теперь о грустном, о проблемах с которыми я столкнулся: Если отключить двигатели и двигать робота руками, то всё работает отлично. Он вертит головой, как увидит препятствие перестаёт “оглядываться”, далее поворачиваешь его к нему и продвигаешь вперёд. Далее он отворачивает голову, захватывает лапами предмет и после дальнейшего его продвижения вперёд отпускает предмет у края стола.

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

Чаще всего просто не замечает никаких предметов, а проносится мимо до края стола (грешу на дальность ИК дальномера Sharp (от 4 до 30 сантиметров)), срабатывают датчики поверхности, он резко рвёт немного назад разворачивается. При повторном подъезде к краю он уже не останавливается а падает в пропасть.

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

Не стал смотреть код, поскольку ваше описание проблем полностью подпадает под понятие “разводка питания и помехи”. :)

1. L298N “жрет” примерно 1-1.5в от батареек. Соответственно, для полноценного управления моторами ему надо поднять питание. Скажем так: 6-вольтовые моторые при питании через L298N от 6в .. “еде шевелятся” под нагрузкой. Соответсвенно, смотрите какие у вас моторы и повышайте питание с учетом потерь на драйвере.

2. “живет сам по себе” указывает на прохождение помех от двигателей в каналы управления Дуньки. В частности, возможны варианты:

а) помех от искрения коллекторов – лечится напаиванием кондесаторов примерно 10н х 25в непосредственно на коллектор двигателя. Лучше 3шт: между щетками и с каждой щетки на корпус двигателя.

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

У меня на входе стабилизатора стоит 1000.0х25в, а на шине +5в дополнительно напаяна пара 470.0х10в + 100н х 15в. Входной электролит поставлен за входным диодом от разъема внешнего питания и питание от аккумуляторов подается на этот разъем. При просадке аккумов от включения моторов диод блокирует разрядку входного конденсатора на моторы и держит напряжение на входе стабилизатора, а внутренняя пара конденсаторов блокирует просадки питания от управления серводвигателями (их у нас бывает до 12шт одноовременно) и снижает наводки по питанию внешних датчиков (дальности, препятствия, узв, аналоговые, цвета и т.д. .. до 6-8шт используется одновременно тоже). Это все на Мега2560 крутится ежели вчё.

Процесс создания Робота Манипулятора на Arduino (Часть 1)

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

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

Для начала были куплены 3 сервомотора Tower pro 9g (160 руб. каждый) и доска бальзы (из неё вроде делают модели самолетов). Не берите бальзу для такого! Я, конечно, этого не знал, поэтому пытался сделать что-то из нее, благо материал был мягкий и легко резался канцелярским ножом. Но обработка бальзы это ад, мягкость это и плюс, и огромный минус. Намучившись с этим материалом (знатоки не ругайтесь, бальза хороша для других задач), было принято решение печатать детали на 3D принтере (можно было резать и оргстекло, но очень хотелось попробовать 3D печать). Детали моделились в SketchUp, и экспортировались в .stl с помощью расширения.

В итоге получилось следующее:

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

В качестве прообраза был взят проект uArm и meArm. В первом использовались сервы u-servo us-d150a, а второй я увидел, когда уже смоделил свои детали, поэтому вышел некий гибрид .

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

p.s. баянометр ругается на господина и лигу инженеров

Найдены дубликаты

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

ванильная цитатка из втентаклей, без тегов ВК, ВАНИЛЬ, ЯПИДОР. 7 тысяч плюсов лайков от целевой аудитории. А у этого поста 10. Его никто не увидит.

Листаешь, листаешь, говно, говно, говно, хуйня, говно. Пиздец, блять.

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

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

А не цитатки, блядь, вконтактовские.

@moderator, добавьте,пожалуйста тэг “Arduino”, заранее спасибо :)

Бро, а почему печать такая дорогая? И на каком принтере печатал?

Гусеничное шасси-робот на базе Arduino

Проект был подготовлен студией droidbot.store

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

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

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

Корпус проектировал в SketchUp, получился немного угловатый, но мне все равно нравится, ибо все идеально выверенно, до 10-ых миллиметра (спасибо штангенциркулю) и напечаталось все очень круто. Пластик использовал PLA.

Как итог, готовая модель у меня выглядит вот так:

А это все комплектующие для сборки:

Видео сборки:

На видео не показано подключение серво и HC-SR04, так как в моем скетче они не используются, но место на крышке я под них все равно предусмотрел.

Инструкция по сборке:

Проект “Bluetooth машинка 2WD на Arduino UNO”

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

Требуемые компоненты для проекта

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

Две батарейки 18650

Схема подключения

Скетч для Arduino

Во время записи скетча не забудьте отключить HC-05, а то выдаст ошибку!
https://wiki.droidbot.store/doku.php?id=машинка_на_arduino

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

На правах рекламы

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

Если будут заинтересованные статьей, то в общий доступ на thingiverse добавлю модель.

Шлем из картона своими руками

Приветствую уважаемые. Эх давно я не рукожопил. :)))

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

Сам процесс от начала и до конца, к сожалению, заснять не получилось. Занял где-то около часа не более.

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

Затем заделка прорех и дыр в верхней части шлема.

В качестве клея – мои любимые “горячие сопли” ;)

В данный момент готовность его составляет в районе 50-60 процентов. Обклеен малярным скотчем, обмазан на один слой клеем ПВА.

В дальнейшем вижу несколько вариантов развития событий:

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

2 линия реальности – после высыхания пройтись шкаклевкой, затереть, пройтись еще раз клеем или грунтовкой и опять же, покрасить аэрозольными красками.

3 линия реальности – вместо газет и шпаклевки использовать массу папье маше из ПВА и туалетной бумаги. Далее аэрозольная краска.

Вы мне плитку бракованную продали

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

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

В телефонном режиме выясняю детали, клиент говорит, что укладка плитки выполнена по технологии квалифицированным мастером, использовался клей “Ц. зит” СМ-11.

Ок, выезжаю к клиенту для осмотра и составления акта.

Приехал смотрю на “коцки” плитки

Посмотрел, нашел мешки от клея. Клиент не врет. Вот только толщина клея и технология укладки меня удивила. Думал, уже никто так не делает. Однако, я ошибся. Так делает “квалифицированный” мастер моего клиента.

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

Увеличение количества пинов NodeMCU с помощью сдвигового регистра

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

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

Все исходные материалы к уроку можно найти на сайте>>

Надеюсь моя информация будет полезной.

Спасибо! Всем добра!

Дисплей Nextion и NRF24 беспроводное управлении реле

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

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

На основе данной системы можно сделать беспроводное управление освещением в доме.

Надеюсь моя информация будет полезной.

Спасибо! Всем добра!

Как я делал ремонт в кухне

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

Самое простое дистанционное управление компьютером

Сегодня расскажу, как я делал удалённое управление ПК с помощью пульта ДУ. Реализовывал я это года 3-4 назад для переключения мультиков для ребёнка на YouTube.

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

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

Так выглядит переключение композиций в ВК. А также регулирование громкости.

Надеюсь моя информация будет полезной.

Спасибо! Всем добра!

Как сделать тетрис классический

Дисплей от Nokia 5110 – это наверное самый дешевый дисплей который можно найти для своих проектов на Arduino. На базе него мы разберемся с вопросом: “Как же сделать тетрис-игру?@

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

Избалованные i2c шиной скажут “фу”, ведь у нас 4 провода управления SCLK, DIN, DC, CE и RTS которые соответственно подключаются к Arduino, 3, 4, 5, 6, 7. Не забываем подключить питание 3.3 вольта, и землю.

Для рисования будем использовать библиотеку Adafruit GFX Library. В архиве с ней есть примеры использования.

Для управления игрой используем ИК пульт от телевизора. Сигнал будет принимать датчик TL1838.

Я использовал Arduino Uno, т.к. она уже имеет стабилизатор на 3.3 вольт.

Подключение IR приемника:

pin 8 — IR (управляющий). Питание на +5V и GND.

pin 9 — speaker, Земля на GND.

При «проваливании» на собранную строку будет воспроизводиться писк. Он реализован на особенности нескольких пинов Ардуино (в нашем случае 9) выдавать ШИМ с заданной частотой. Игра поддерживает все атрибуты нормальной игры. Ту и подсказка следующей фигуры и текущий счет. Игра ведет учет рекордов. Это значение хранится в энергонезависимой памяти Ардуино. Чтобы сбросить рекорд, достаточно изменить в скетче значение flfirst=1234 на любое другое. В игре также идет автоувеличение скорости падения через каждые 30 списанных строчек, так что, бесконечно долго поиграть не получится ). Скетч не оптимизировался и тщательно не прогонялся, а был написан на досуге в свое удовольствие. Если кто обнаружит ошибку — пишите. О ©. Скетч разрешается править для себя как угодно. Только при публикации где-либо своих вариантов ссылку на первоисточник-муську указывайте ). Для чего делал — длинные выходные + «из любви к искусству». Была бы дочка маленькой, сделал бы ей, наверное, мини игровой автомат для кукольной комнатки на 8 марта, как раз успел бы. Добавил бы несколько игр типа Змейки и Арканоида, а корпус вырезал бы из текстолита, наверное. Только дочка в этом году уже докторскую защищает, так, что мимо, но может кому еще эта идея пригодится ).

Простой робот Buck своими руками

Материалы и инструменты для изготовления:
– серводвигатель, работающий только на вращение;
– один пластиковый контейнер (размеры 4″ x 3″ x 2″);
– один отсек для установки четырех батарей типа ААА;
– металлическая цилиндрическая опора для тяги размером в 5 дюймов (можно использовать металлическую ручку от дверей);
– один болт на 8-32″ x 2″;
– три гайки 8-32;
– два болта 4-40 x 3/4″;
– четыре гайки 4-40;
– пластиковая прокладка 1/8″ x 1/2″;
– пружина от 3/4″ к 1″;
– два болта с гайками 4-40 x 1/4″;
– комплект стяжек.














После этого можно устанавливать металлическую опору, она вставляется в просверленные отверстия размером 1/2 “. Ручки опоры нужно развернуть таким образом, чтобы они торчали из банки вверх, это и будут ноги робота. Помимо этого ножки опоры должны выходить за пределы пластикового контейнера в задней части.
В качестве опоры автор использовал съемную ручку. При необходимости ее можно разобрать, а это значительно ускоряет процесс сборки.

Шаг четвертый. Подключаем пружину
Пружину нужно разместить таким образом, чтобы она смотрела в нижнюю часть контейнера. Далее в этом месте делаются две отметки для установки хомута, который и будет держать пружину. Отметки должны быть просверлены сверлом диаметром 1/8 “.





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

Шаг пятый. Установка двигателя
Нужно взять серводвигатель и приложить его к внутренней части контейнера, сделав необходимые пометки. Двигатель должен располагаться параллельно относительно основания банки, то есть все его края должны быть на одном уровне. После того как пометки сделаны, нужно просверлить четыре отверстия диаметром 1/8 “.



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

Шаг шестой. Установка источника питания
Напротив серводвигателя нужно просверлить отверстие 1/8 ” и вывести из него провода. При этом проводку нужно провести так, чтобы она не мешала работе устройства.

Теперь нужно установить отсек для батареек. Крепиться он будет к нижней части контейнера по центру. Для этого нужно просверлить два отверстия 1/8 “. Отсек фиксируем при помощи болтов с гайками 4-40 х 1/4 “.

Теперь нужно спаять и хорошо заизолировать провода. Важно не перепутать полярность. В заключение проводка фиксируется при помощи пластиковых стяжек.

Структура образовательной программы Лиги Роботов

Структура образовательной программы Лиги Роботов

Каждый из шестнадцати уровней образовательной программы Лиги Роботов — это 48-часовой курс (16 занятий) со своими целями, задачами и достижениями для каждого нашего ученика.

Программа Лиги Роботов решит одновременно несколько задач:

  1. Обучим робототехнике. Ребята узнают об устройстве и принципах работы техники, учатся проектировать, программировать и автоматизировать ее работу. От простых роботов к более сложным.
  2. Разовьем любознательность и прививаем любовь к наукам. Наши преподаватели подогреют интерес к математике, физике, химии, географии и даже истории и биологии.
  3. Научим детей мыслить проектно, работая в команде. Чтобы реализовать свой проект по робототехнике, ребятам потребуется не только приготовить необходимую документацию, но и продумать теоретическую и практическую части. И, конечно, выступить с докладом, презентовать свои идеи. Вот оно — настоящее техническое творчество!

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

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

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

Как сделать лабораторный источник питания своими руками

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

Программируемые и управляемые модули для ЛБП

Простой способ собрать для себя лабораторный источник питания — это взять управляемый модуль-преобразователь со стабилизацией питания. Одни из самых мощных на Алиэкспресс — это модули RD DPS5015 и DPS5020, с выходными токами 15 и 20 Ампер соответственно. Для удаленного управления выбирайте версии «С» — communication для работы через USB/Bluetooth/Wi-Fi. Модули RD DPH5005 имеют встроенный Buck Boost конвертер для повышения напряжения (можно питать 12/24 вольта и получить на выходе, 30-40-50В. Один из самых продвинутых программируемых преобразователей питания — это модель RD 6006 (подробный обзор). Предыдущий список модулей с интересными вариантами.

Компактные преобразователи питания

Не всегда нужны громоздкие источники и приборы, но достаточно бывает компактного преобразователя для подключения и быстрого теста самоделок. На выбор могу предложить несколько вариантов. Например, простой карманный источник питания, который работает от USB зарядки или павербанка — DP3A, с поддержкой быстрой зарядки QC3.0 и возможностью выставить нужный ток или напряжение со стабилизацией до 15W. Подробный обзор DP3A по ссылке. Чуть мощнее и в отдельном корпусе под блочный монтаж — преобразователь 32В/4А с встроенными защитами (OVP/OСР/ОРР) и стабилизацией тока и напряжения CC/CV, а также возможностью поднять выходное напряжение (Buck Boost). Еще один полезный для домашних самоделок источник — простой блок питания наподобие ноутбучного, но со встроенным показометром и регулировкой. Заявлена стабилизация напряжения мощность до 72W (максимум 3А на выходе).

Стационарные источники питания все-в-одном

Для стационарной работы я бы рекомендовал иметь дома хотя бы один мощный источник типа KORAD. Цифры в названии подобных ЛБП обычно показывают максимальные режимы питания: 30/60 Вольт и 5/10 Ампер. То есть KORAD KA3005 — это 30В/5А, модели 6005 стабилизирует большее выходное напряжение, а типа 3010 — больший ток (до 10 А). Плюс подобных источников — встроенный сетевой преобразователь на 220В.

Модули сетевого питания для сборки ЛБП

Для питания управляемых модулей нужен сетевой преобразователь. Я бы не рекомендовал брать дешевые «народные» платы питания, а предложил бы посмотреть в сторону корпусных БП. В таких уже продумано охлаждение и монтаж, присутствует некоторая регулировка выхода. На выбор предлагаются источники с выходным напряжением на 5V, 12V, 24V, 36V, 48V, 60V и мощностью до 400 Вт. Конечно, можно использовать и компьютерные источники питания АТХ (с выходом 12В и преобразователем типа DPH5005, или с переделкой для повышения выходного напряжения), и другие от старой аппаратуры.

Таким образом, можно на базе готовых модулей и источников тока создать свой удобный и точный блок лабораторного питания. За основу можно взять как старую технику, так и полностью готовые комплектующие с Алиэкспресс и радиомагазинов. Цены варьируются от $5 за простой преобразователь с экраном и стабилизацией, и до $100 за мощное устройство. Из полезных функций — наличие Buck Boost конвертера, который помогает повышать напряжение при недостатке входного, функция заряда аккумуляторов (с наличием встроенной защиты и счетчиков емкости), функция стабилизации тока, функции удаленного управления.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: