Оглавление:
- Запасы
- Шаг 1. Как это работает?
- Шаг 2: Дизайн
- Шаг 3: 3D-печать рычага и расчет крутящего момента
- Шаг 4: Изготовление и сборка основания
- Шаг 5: Сборка роботизированной руки
- Шаг 6: Схема контроллера руки
- Шаг 7: Схема робота телеприсутствия
- Шаг 8: мобильное приложение
- Шаг 9. Создайте учетную запись на Pubnub и получите ключи
- Шаг 10: добавьте ключи в код и загрузите
- Шаг 11: Заключение
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Этот проект посвящен созданию робота, который может взаимодействовать с удаленной средой и управляться из любой точки мира с помощью Wi-Fi. Это мой инженерный проект в последний год, и я много узнал об электронике, IoT и программировании. Этот проект ориентирован на людей с нарушениями опорно-двигательного аппарата, поскольку им сложно передвигаться, поэтому робот телеприсутствия может легко им помочь.
В рамках проекта есть 2 системы, которые сделают его успешным. Управление движением руки для перемещения руки робота и мобильного приложения, которое управляет основанием двигателя.
Ниже представлены документ и презентация Telepresence V1, чтобы вы могли лучше понять его.
Время строить!
Запасы
Для этого проекта необходимо множество инструментов и компонентов. Это обошлось мне примерно в 1000 дирхамов ОАЭ (270 долларов США), поэтому убедитесь, что у вас есть такой бюджет. Вот компоненты, которые вам понадобятся: -
- Узел MCU x 3
- L298N Драйвер двигателя постоянного тока x 1
- Блок питания 12 В x 1
- LM2596 понижающий регулятор напряжения x 1
- Датчики MPU9250 IMU x 2
- Серводвигатели (крутящий момент 10-20 кг) x 4
- легкая древесина 1x1м
- Металлические стержни с резьбой 8M 1м x 2
- 3D-принтер (30x30 см)
- лесоруб и бурильщик
- Электрические провода, перемычки и макетная плата
- Полный рукав
- Двигатель постоянного тока 12 В (25 кг. См) x 2
- 3-дюймовое колесико x 1
- Резиновое колесо 6 см с винтовым креплением x 2
- Набор для пайки
Шаг 1. Как это работает?
Это блок-схема взаимодействия, которая поможет вам понять, как компоненты взаимодействуют друг с другом. Мы используем сеть передачи данных под названием PubNub в качестве платформы IoT, которая может отправлять сообщения в реальном времени всего за 0,5 секунды! Это самый быстрый ответ, который мы можем получить, и это даже более важно в нашем проекте, поскольку мы будем использовать свою руку, чтобы управлять рукой робота в режиме реального времени.
Все Nodemcu используются для отправки и получения данных. Здесь задействованы 2 отдельные системы, в которых Nodemcu на руке отправляет данные датчика движения в PubNub и которые получает Nodemcu на роботизированной руке. для базового движения мобильное приложение отправляет данные для координат x, y с джойстика, которые получает Nodemcu на базе, которая может управлять двигателем через драйвер. На этом пока все.
Шаг 2: Дизайн
Представленный выше дизайн даст вам представление о том, как выглядит конструкция. Вы можете скачать файлы cad, чтобы лучше их рассмотреть. Основание марсохода поддерживается 3 колесами, 2 из которых - двигатель постоянного тока сзади, а одно - переднее колесо. Из-за движения манипулятора я заметил нестабильность основания, поэтому вы можете подумать о том, чтобы добавить 2 колесика впереди. Нижнее и верхнее деревянное основание поддерживается шпильками с резьбой, зажатыми гайками. Убедитесь, что вы используете стопорную гайку, так как это обеспечит ее постоянную затяжку в течение длительного времени.
Скачать исходный файл дизайна - Telepresence Design
Шаг 3: 3D-печать рычага и расчет крутящего момента
Рука робота телеприсутствия представляет собой простую конструкцию в форме коробки, поэтому его можно легко напечатать на 3D-принтере с минимальным количеством нити. Его длина составляет около 40 см, что равняется длине руки человека. Длина манипулятора зависит от крутящего момента, создаваемого серводвигателями. Вы можете найти расчет крутящего момента на изображении выше вместе со спецификациями серводвигателя, который я использовал, чтобы вы могли настроить конструкцию в соответствии с вашими потребностями. Но избегайте использования максимального крутящего момента серводвигателя, поскольку это в конечном итоге приведет к его повреждению.
Загрузите файлы 3D-печати ниже, распечатайте их и продолжайте двигаться вперед.
Шаг 4: Изготовление и сборка основания
Вот шаги, которые вы можете выполнить для изготовления: -
- Обрежьте металлический стержень с резьбой посередине с помощью пилы.
- С помощью дровосека сделайте 2 куска дерева размером 40x30 см.
- Просверлите необходимые отверстия в верхней и нижней части основания, как показано на рисунке выше.
- Начните прикреплять двигатель постоянного тока и ролики на нижнем основании.
- Чтобы сделать прямоугольное отверстие на верхнем основании, сначала сделайте круглое отверстие сверлом, а затем вставьте дровосек через отверстие и обрежьте его по краям, чтобы получился прямоугольник.
Если вам интересно, почему правое верхнее отверстие расположено назад, то это потому, что я не был уверен, помещу ли я роботизированную руку в правый угол по центру. Размещение в центре было лучшим выбором из-за баланса веса.
Шаг 5: Сборка роботизированной руки
Особого внимания требует сборка роботизированной руки. Помимо механической сборки, вы должны убедиться, что серводвигатель находится под правильным углом при его сборке. Следуйте приведенной выше схеме, чтобы понять, под каким углом серводвигатель должен быть установлен на всех двигателях, прежде чем собирать что-либо сверху. Постарайтесь исправить эту деталь, иначе вам придется снова ее собирать.
Используйте приведенный ниже шаблон кода, чтобы установить точный угол сервопривода с помощью Arduino или Nodemcu. В сети уже есть много информации об этом, поэтому я не буду вдаваться в подробности.
#включают
Серво сервопривод;
int pin =; // указываем номер контакта, на который вывод данных сервопривода прикреплен на Arduino
void setup () {
сервопривод. прикрепить (штифт);
}
void loop () {
int angle =; // угол, под которым нужно установить
servo.write (угол);
}
Шаг 6: Схема контроллера руки
Сборка контроллера руки проста в изготовлении. Я использовал длинный рукав и прикрепил датчики, Nodemcu и макет с шитьем. Убедитесь, что датчик ориентирован в том же направлении, что и на изображении контроллера выше. Наконец, следуйте принципиальной схеме и загрузите приведенный ниже код.
Шаг 7: Схема робота телеприсутствия
Следуйте принципиальной схеме таким же образом. Перекрестно проверьте распиновку источника питания, который вы используете, чтобы избежать коротких замыканий. Установите выходное напряжение понижающего преобразователя на 7 В, поскольку это среднее напряжение для всех серводвигателей. Единственное место, которое вы можете припаять, - это клеммы базового двигателя постоянного тока, поскольку он потребляет много тока, поэтому его необходимо затянуть с помощью немного более толстого электрического провода. Как только схема будет завершена, позже вы загрузите arm_subscriber.ino в Nodemcu, который соединяется с arm и base.ino для загрузки на базу Nodemcu.
Шаг 8: мобильное приложение
Это мобильный телефон для управления движением. Когда вы перемещаете джойстик, он отправляет координаты X, Y на круге джойстика в Pubnub и принимает их Nodemcu на базе. Эти координаты X, Y преобразуются в угол, и с их помощью мы можем определить, в каком направлении будет двигаться робот. Движение осуществляется путем включения / выключения и изменения направления двух двигателей. Если команда «Вперед», то оба двигателя двигаются вперед на полной скорости, если левый, то левый двигатель будет двигаться назад, а правый двигатель - вперед и так далее.
Вышеупомянутую функцию можно просто выполнить с помощью кнопок, а не джойстика, но я также выбираю джойстик для управления скоростью двигателя. Однако мой пин-код включения не работал с Nodemcu, поэтому я оставил эту часть. Я добавил код контроля скорости в base.ino на всякий случай в качестве комментария.
Вы можете получить исходный файл.aia ниже, который можно редактировать с помощью изобретателя приложения MIT. Вам нужно будет выполнить базовую настройку в приложении, о чем я расскажу на следующем шаге.
Шаг 9. Создайте учетную запись на Pubnub и получите ключи
Теперь пришло время сделать последний шаг - настроить платформу IoT. Pubnub - лучший вариант, потому что передача данных происходит в режиме реального времени и занимает всего 0,5 секунды. Кроме того, вы можете отправлять 1 миллион точек данных в месяц, так что это моя любимая платформа.
Зайдите в PubNub и создайте свою учетную запись. Затем перейдите в меню «Приложения» в левом меню и нажмите кнопку «+ Создать новое приложение» справа. После присвоения имени вашему приложению вы увидите приведенное выше изображение ключа издателя и подписчика. Это то, что мы будем использовать для подключения устройств.
Шаг 10: добавьте ключи в код и загрузите
Нам нужно 4 вещи, чтобы устройства могли взаимодействовать друг с другом: - pubkey, subkey, channel и wifi.
pubkey и subkey останутся такими же во всех Nodemcu и мобильных приложениях. 2 устройства, которые взаимодействуют друг с другом, должны иметь одно и то же имя канала. Поскольку мобильное приложение и база обмениваются данными, поэтому у них будет одно и то же имя канала, одинаковое для контроллера и руки робота. Наконец, вы должны указать учетные данные Wi-Fi на каждом Nodemcu, чтобы он мог подключиться к Wi-Fi вначале. Я уже добавил название канала, так что Wi-Fi и pub / sub ключ - это то, что вам нужно будет добавить из своей учетной записи.
Примечание: - Nodemcu может подключаться только к Wi-Fi, к которому можно получить доступ без веб-страницы в качестве промежуточного. Даже для моей последней презентации мне пришлось использовать мобильную точку доступа, так как университетский Wi-Fi был перетянутым.
Шаг 11: Заключение
Если вы добрались до этого места, то УДИВИТЕЛЬНЫЙ! Я надеюсь, что вы получили что-то ценное из этой статьи. У этого проекта есть небольшие ограничения, о которых я хочу рассказать вам, прежде чем вы начнете его выполнять. Вот некоторые из них: -
Резкое движение манипулятора: -
Роботизированная рука часто движется внезапно. Это происходит из-за задержки в 0,5 секунды для передачи информации датчика в виде сервопривода. Я даже повредил 2 серводвигателя, так что не двигайте рукой слишком быстро. Вы можете решить эту проблему, добавив промежуточные шаги между исходным движением, чтобы создать плавное движение.
Без остановки движения базы: -
когда я заставляю робота двигаться в одном направлении через мобильное приложение, робот продолжает двигаться в том же направлении, даже когда я поднимаю пальцы. Это раздражало, так как мне всегда приходилось выключать питание, чтобы остановить движение. Я вставил код остановки в приложение, но он все равно не сработал. Проблема могла быть в самом приложении. Может быть, вы попытаетесь решить эту проблему и дадите мне знать.
Нет видеопотока: -
Без видеопотока, поступающего от робота к человеку, мы никогда не сможем развернуться далеко от пользователя. Я хотел добавить это изначально, но это потребовало бы больше времени и инвестиций, поэтому оставил это.
Вы, ребята, можете развить этот проект, решив указанную выше проблему. Когда вы это сделаете, дайте мне знать. Прощание
Чтобы увидеть больше проектов, посетите сайт моего портфолио.
Финалист конкурса робототехники