Протез руки на ардуино своими руками

Добавил пользователь Алексей Ф.
Обновлено: 18.09.2024

Требуется помощь в сборке миоэлектрического протеза кисти на ардуино!

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

Я потерял обе кисти на руках. Занимаюсь 3д печатью. Хочу собрать печатные протезы на ардуино, проект EXXI.

Нуждаюсь в помощи специалистов по робототехнике.

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

Gippopotam аватар

Есть идеи, как это можно воплотить?

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

Gippopotam аватар

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

По электронике содействие не обещаю - там личное присутствие нужно. По программированию - обращайтесь.

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

Понял, хорошо. Спасибо!

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

не уверен что подойдёт, но зато просто и дёшево.

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

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

Судя по видео у протеза двигается всего 1 палец причем в одной степени свободы. Ну может быть еще немного два или три. Чем оличается такой протез от сервы установленной в корпус? Откуда приходит команда на движение?

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

Судя по видео у протеза двигается всего 1 палец причем в одной степени свободы. Ну может быть еще немного два или три. Чем оличается такой протез от сервы установленной в корпус? Откуда приходит команда на движение?

Управление там похоже через один тензодатчик. Можно только сжимать и разжимать все пальцы сразу.

С одним датчиком даже эмулировать движение курсора мышки не получится, только колёсико крутить.

Вообще интересно было бы сделать управление через десяток электродов, как у ЕЕГ, вделанных в браслет.

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

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

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

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

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

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

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

вот этот браслет бы адаптировать

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

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

Сообщите где ж ивете и свою почту, напишу подробности.

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

не уверен что подойдёт, но зато просто и дёшево.

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

Наши учёные из Нижнего Новгорода скопировали проект американских студентов. видел пару дней назад, показывали в новостяк ВГТРК как отечественное ноу-хау. Ей даже можно спину почесать.

Работает на тензодатчике - датчике напряжения мышц. Показывали ещё какого-то немца или австрийца который роборукой шнурки завязывает.


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

Я решил переделать управление на потенциометры. Взял 4 потенциометра на 10 кОм. Каждый потенциометр отвечает за свою серву.

Схема подключения получилась следующая:


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

В общем левая кнопка запоминает положение руки. А правая кнопка потом воспроизводит.

Ну а выглядит распечатанная рука вот так:


Ну и сборка и небольшое объяснение работы как и демонстрация. Это все можно посмотреть в видео ниже:

Arduino Robotic Arm - недорогой протез сделан на 3d принтере

У многих возникает вопрос — можно ли извлечь практическую пользу из 3d принтеров и заработать на 3d печати? Скептики пытаются развенчать мифы, как видно из предыдущей статьи, а практики доказывают обратное. 17-летний юноша из американского штата Колорадо создал прототип механического протеза для руки, который способен захватывать и удерживать предметы и управляется с помощью нейроинтерфеса. Стоимость подобного протеза от производителей протезов начинается с $10.000, тогда как молодой изобретатель использовал домашний 3д принтер и электронику на базе Arduino и уложился в $450. Высокие качества протеза высоко оценил президент Обама, с которым молодой человек встретился и показал своё изобретение.

Манипулятор рука на Arduino.

Рука манипулятор — это потрясающее устройство! Во всем мире их используют заводы, они красят, припаивают и перемещают вещи. Их также можно увидеть в космических исследованиях, подводных машинах и даже в медицинских целях!

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

В этом уроке мы покажем Вам, как собрать роботизированную руку и как ее запрограммировать с помощью Arduino Mega. Для этого проекта мы также испытаем другой метод управления манипулятором: используя контроллеры – Nintendo Nunchuk! Они дешевы, легкие в поиске и имеют множество датчиков.

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

Шаг 1. Инструменты и материалы

F2KBKAAJD4UIL3TLARGE

FKD2C9QJD4UILHSLARGE

FF9KFYKJD4UIL4CLARGE

FTMPY2XJD4UIL49LARGE

F7YTNRSJD4UIL3ZLARGE

В этом проекте Вам понадобятся следующие инструменты и материалы:

Информируем, что есть адаптер для контроллера Nunchuk, который упрощает подключение к плате ( WiiChuck Nunchuck Adapter shield Module Board For Arduino) Это хороший вариант, если Вы хотите подключить контроллер и не хотите разрушать оригинальный разъем, как описано на шаге 9.

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

Шаг 2. Сборка Манипулятора ч.1 – Основание

FDDR88NJDF2GANULARGE

FJDXGLTJDF2GAL9LARGE

Первая часть, которую мы соберём, будет – основа робота.

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

FGG1LS9JDF2GANVLARGE

FXX2USEJDF2GARKLARGE

F8P8H89JDF2GAT1LARGE

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

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

F1OUAYFJDF2GAUILARGE

F2S94XSJDF2GAVZLARGE

FMO8IM2JDF2GB0DLARGE

FEJRI99JDF2GAYWLARGE

FSDLCYQJDKKD7KELARGE

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

Затем кронштейн U крепится с помощью четырех болтов. Обратите внимание, что болт M3 используется опорой оси сервопривода. Это дает стабильность структуре. Подшипник подходит для этого болта, для фиксирования на месте, используйте другую гайку M3. Таким образом, кронштейн U плотно прикреплен к центральной оси сервопривода № 2.

FUDDM7AJDF2GD6ZLARGE

F61ENUJJDF2GD76LARGE

FI1M315JDKKD67WLARGE

FAK81CLJDKKD65YLARGE

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

На другом конце установлен сервопривод №3 с использованием круглого металлического рожка и четырех болтов. Сервопривод подключен к сервомотору, а профили L-образной формы соединены с кронштейном сервопривода с помощью нескольких болтов и гаек.

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

FPTHQ6HJDKKD692LARGE

FVYTJ5FJDKKE6RXLARGE

Другой U-образный кронштейн соединен с профилем L-образной формы с помощью набора из четырех болтов M3 и гаек. Как и в предыдущем шаге, сервомеханизм № 4 монтируется к кронштейну U с использованием четырех болтов. К сервоусилителю подключен другой кронштейн.

F29CKY3JDKKD69QLARGE

FLJOJY2JDKKE6TSLARGE

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

F5EOUMLJDKKD6DXLARGE

FRVFQ5RJDKKD6MZLARGE

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

Шаг 9. Подготовка контроллера Nunchuk

FGFEI1OJDKKD6ZOLARGE

FU731ZKJDKKD76OLARGE

FG8NRV6JDKKKYCMLARGE

F5U6DJVJDKKD776LARGE

F1I18AQJDKKD78ULARGE

Для этого проекта мы решили использовать контроллер Nintendo Nunchuk по ряду причин:

  1. Они дешевые! Реплики могут иметь низкое качество, но нам не нужен надежный контроллер для этого проекта;
  2. Их легко найти! В Интернете есть несколько оригинальных и недорогих реплик.
  3. В нем много датчиков! Каждый контроллер имеет две кнопки (кнопки Z и C), двухосный джойстик (X и Y) и трехосный акселерометр;
  4. Для него есть библиотека на Arduino. Роберт Эйзеле разработал удивительную и удобную библиотеку для чтения сенсора Nunchuk.

К несчастью, джойстики Nunchuk имеют неудобный разъем, который трудно соединить с другой электроникой. Чтобы подключить его к Arduino, нам пришлось разрезать кабель и разделить провода. Таким образом, он больше не будет работать с Nintendo Wii …: /

Сначала нам пришлось отрезать разъем джойстика и снять изоляцию провода. Используя мультиметр и исходя из цвета каждого провода, я определил функцию каждого провода (Vcc, GND, SCL и SDA) на основе схемы разъема, показанного на рисунке. Цвет проводов не имеет определённого стандарта. Мы уже сталкивались со следующими конфигурациями:

Оригинал:

  • SDA = зеленый
  • SCL = желтый
  • 3V3 = красный
  • GND = белый

Реплика 1:

  • SDA = желтый
  • SCL = белый
  • 3V3 = зеленый
  • GND = красный

Реплика 2:

  • SDA = blue
  • SCL = white
  • 3V3 = pink
  • GND = green

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

Позднее нам сообщили, что есть адаптер Nunchuk, который упрощает подключение к плате ( WiiChuck Nunchuck Adapter shield Module Board For Arduino). Это хороший вариант, если Вы хотите, сэкономить время на пайке и не хотите разрушать оригинальный разъем.

Шаг 10. Схема подключения

FSTNSW9JDKKOE3WLARGE

FJ86TQ9JDKKLQ5KLARGE

FQW7WDOJDKKLQ9OLARGE

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

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

Контроллер:

  • Контроллер контакт 6 (SCL) => Arduino Mega Контакт 21 (SCL) (на плате)
  • Контроллер контакт 1 (SDA) => Arduino Mega Контакт 20 (SDA) (на плате)
  • Контроллер контакт 3 (Vcc) => Ardino Mega Контакт 3V3 (на плате)
  • Контроллер контакт 4 (Gnd) => Arduino Mega Контакт Gnd (на плате)

Если вы используете Arduino Uno, контакты Nunchuk SCL и SDA должны быть подключены к контактам Arduino следующим образом:

  • Контроллер контакт 6 (SCL) => Arduino Uno контакт A5
  • Контроллер контакт 1 (SDA) => Arduino Uno контакт A4
  • Контроллер контакт 3 (Vcc) => Ardino Uno контакт 3V3
  • Контроллер контакт 4 (Gnd) => Arduino Uno контакт Gnd

Сервопривод:

  • Контакт Платы управления 11 => Сервопривод № 1
  • Контакт Платы управления 12 => Сервопривод №2
  • Контакт Платы управления 13 => Сервопривод № 3
  • Контакт Платы управления 8 => Сервопривод № 4
  • Контакт Платы управления 9 => Сервопривод №5
  • Контакт Платы управления 10 => Сервопривод №6

Если вы не используете плату управления, Вы должны использовать следующую конфигурацию контактов:

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

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

Подключите USB-кабель к Arduino и перейдите к следующему шагу.

Шаг 11 Настройка Arduino IDE

FZQXW7BJ8QGFW94.LARGE

Теперь, когда оборудование готово, пришло время поработать над кодом Arduino.

Вы можете найти последнюю версию для Windows, Linux или MAC OSX на веб-сайте Arduino.

Для этого проекта я использовал потрясающую библиотеку Nunchuk Arduino Роберта Эйзеля! Подробнее Вы можете узнать на его сайте:

Перейдите в Sketch-> Include Library -> Manage Libraries… на вашей Arduino IDE для добавления библиотеки.

Перейдите в Скетч-> Подключить Библиотеку -> Добавить Библиотеку… на вашей Arduino IDE для добавления библиотеки.

Как работает библиотека?

В библиотеке Nunchuk имеется набор функций для считывания датчиков контроллера:

nunchuk_buttonZ (): возвращает 1, если нажата кнопка Z, или 0, если это не так;

nunchuk_buttonC (): возвращает 1, если нажата кнопка C, или 0, если это не так;

nunchuk_joystickX (): возвращает значение x джойстика (от -127 до 127);

nunchuk_joystickY (): возвращает значение y джойстика (от -127 до 127);

nunchuk_pitch (): возвращает угол контроллера в радианах (от -180º до 180º);

nunchuk_roll (): возвращает угол наклона контроллера в радианах (от -180º до 180º).

Углы возвращаются в радианах. Мы преобразовали эти значения в градусы в коде Arduino.

Шаг 12. Код Arduino

FZQXW7BJ8QGFW94LARGE

FAMMALKJDKKLR8PLARGE

FNK1C8LJDKKLR8SLARGE

FPPWE45JDKKLR8ULARGE

F5DZE9HJDKKLR8VLARGE

F43ZR7XJDKKLR8WLARGE

Загрузите скетч файл Arduino.

Подключите USB-кабель к USB-порту вашего компьютера и загрузите код. Загрузка кода занимает время, Вам нужно проявить терпение.

После полной загрузки, отсоедините USB-кабель, подключите источник питания к Arduino и включите кнопку питания. Код начнет работать моментально.

Предупреждение: При запуске кода, манипулятор быстро переместится в исходное положение. Будьте осторожны, чтобы не пораниться или повредить оборудование во время запуска!

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

Объяснение кода:

Перед установкой кода импортируте библиотеки, используемые в эскизе (nunchuk.h, wire.h и servo.h).

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

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

Основной цикл повторяется снова и снова. Статус Nunchuk читается в каждом цикле. В зависимости от показаний выполняются разные команды.

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

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

Захват закрывается всякий раз, когда нажимаются кнопки C и Z. Когда какая-либо из этих кнопок будет не нажата, манипулятор откроет захват.

К концу эскиза есть блок кода. Он отобразит на Serial Monitor фактический угол каждого сервомотора. Может быть полезно выбрать начальный угол каждого двигателя.

Шаг 13. Использование

Загрузите скетч файл Arduino.

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

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

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

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