Применение ЭМГ сигнала для протезирования верхней конечности человека

XXVII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Применение ЭМГ сигнала для протезирования верхней конечности человека

Пестрецова М.Е. 1
1Школа № 1580
Гущенко А.П. 1
1МГТУ им Н. Э. Баумана
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

ВВЕДЕНИЕ

В настоящее время, вопрос потери конечностей стал очень актуален. Особенно это касается людей, которые прошли боевые действия. Многие из них потеряли руки, ноги. Кому-то везет и их конечность можно пришить, а у кого-то ситуация сложнее. Бывают случаи, когда приходится ставить искусственные конечности – протезы, но проблема заключается в том, что протез не может полностью заменить руку или ногу. Ученые на данный момент пока не придумали протез, который бы смог поочередно передвигать пальцами на руке. Чтобы управлять протезом, используется электромиография. В моем проекте я расскажу, что такое протез, как он работает, как происходит снятие сигнала с помощью электромиографии и покажу свои исследования, проведённые с помощью микроконтроллера Aduino Uno и двух модулей: AD8232 и AD620.

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

Задачи работы:

  • Изучить какие бывают протезы, виды;

  • Способы подключения протеза;

  • Изучить, что такое электромиография, как происходит снятие сигнала;

  • Снять сигнал с помощью электродов, Arduino Uno, и различных усилителей, модулей;

  • Изучить «свои» точки рук, подходящие для лучшей четкости сигнала ЭМГ;

  • Получить график зависимости сигнала от времени (y от x).

1.Теоретическая часть

1.1 Протезы

Протез – это искусственное устройство, которое используется для восполнения всей или части отсутствующей или утраченной конечности (Рис. 1) [1].

Основная цель протеза восстановить функциональность и подвижность отсутствующей конечности, облегчить участие в повседневной деятельности, хобби, выполнении рабочих задач [1].

Рис. 1. Внешний вид протеза

Люди, которые потеряли конечность, после ампутации имеют культю (Рис 2). Культя конечности – часть конечности, остающаяся после ампутации [2].

Рис. 2. Культя нижней конечности при ампутации выше колена

Существуют некоторые виды протезов:

  • Косметические – искусственные конечности, которые внешне максимально приближены к настоящим рукам или ногам. Такие протезы создаются для того, чтобы человек мог ощущать себя увереннее в обществе (Рис. 3) [3].

Рис. 3. Косметический протез

  • Механические – устройства, которые управляются собственной силой человека (Рис. 4) [4].

Рис. 4. Механический протез

  • Бионические (миоэлектрические) – работают от сигналов, которые поступают от мышц культи. Такие модели оснащаются датчиками, моторами и микропроцессорами (Рис. 5) [5].

Рис. 5. Бионический протез

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

Рис. 6. Процесс, происходящий в протезе во время движения руки

Существует несколько вариантов передачи сигнала из мозга в протез:

  • Электромиография – внутри протеза устанавливаются электроды, которые считывают пассивный электрический сигнал мышц, за счет этого протез выполняет действие [7].

  • Оптический – способ снятия сигнала, с помощью оптических датчиков, где установлены фотоизлучатели и приемники, которые улавливают свет, отправленный излучателями, после прохождения через ткани [7].

1.2 Электромиография

Электромиография(ЭМГ)– методдиагностики,которыйисследует электрическую активность мышц и нервов [8].

ЭМГ используется для диагностики нарушений нервно-мышечнойсистемы.Простымисловами,методпозволяетоценитьфункциональное состояние мышц и нервов [8].

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

Цель диагностического исследования ЭМГопределитьочаг,степеньраспространённости,характери тяжесть поражения мышечной ткани и нервных волокон [8].

СуществуетдваосновныхметодаЭМГ:

  • Поверхностная– электродынакладываютсянакожу(Рис. 7[8]);

  • Игольчатая – в мышцу вводится тонкий игольчатый электрод (Рис. 8 [8]).

Рис.7.Поверхностная ЭМГ

Рис.8. ИгольчатаяЭМГ

Дляэлектромиографии(ЭМГ)верхних конечностей исследуют мышцы и нервы:

  • Лучевойилоктевой нервы– управляют мышцамипредплечьяинекоторыми мышцами сгибателей пальцев (большой палец кисти);

  • Локтевой нерв – управляет не только сгибателями пальцев, но и запястье;

  • Лучевойнерв–отвечает за разгибание пальцев и запястья (Рис. 9) [9].

Рис.9. Нервы, используемые для ЭМГ исследований верхних конечностей

Выбормышцзависитоттипаисследования(поверхностнаяилиигольчатаяЭМГ) [10].

Важно,чтобымышцы,которыебудутисследоваться,находилисьврасслабленном состояниидля точной оценки их активности [10].

ПроисходитЭМГспомощьюэлектромиографа(Рис. 10).

Рис.10. Электромиограф

2. Практическая часть

2.1 Сборка макета

Проектбудетвыполнятьсяспомощьюмикроконтроллера ArduinoUNO,датчиковЭМГ и программы Arduino IDE. AD8232 предназначен для получения, усиления и фильтрации слабых биопотенциальных сигналов в условиях сильных помех. Это означает что модуль AD8232 не является медицинским прибором, предназначен для экспериментов. Модуль состоит из платы AD8232, набора электродов и кабеля для их подключения к плате (Рис.11, 12).

Рис.11.ДатчикиЭМГ

Рис. 12. Соединение модуля с ArduinoUno

Датчик улавливает биоэлектрические потенциалы мышц с помощью одноразовых поверхностных электродов (поверхностная ЭМГ). Сокращение и расслабление мышц производят ЭМГ-потенциалы, которые датчик усиливает до измеримого диапазона. Выходной сигнал распознаётся платформой Arduino [10]. При достижении сигналом порога формируется управляющее воздействие в виде графика. График показывает сигнал. Таким образом, у нас получается график зависимости сигнала от времени (y от x) (Рис. 13).

Рис.13. График зависимости сигнала от времени

Из-за того, что не получилось обработать сигнал с помощью модуля AD8232, была начата работа с модулем AD620. AD620 – это усилитель напряжения, который позволяет преобразовать напряжение сигнала, чтобы его можно было считывать с помощью микроконтроллеров или входных контактов отладочных плат (Рис. 14) [11].

Рис. 14. Модуль AD620

После выбора этого устройства был снят сигнал и удалось получить его в виде графика (Рис. 15, 16).

Рис. 15. График, снятый с помощью усилителя AD620

Рис. 16. Снятие сигнала в виде графика

Далее был взят сервопривод micro servo 9g, угол поворота которого ограничен диапазоном от 90 до 180 градусов [12], далее соединила рукав, усилитель, плату и сервопривод, он предназначен для того, чтобы заставить вращаться какой-либо предмет (Рис. 17).

Рис. 17. Сервопривод micro serv0 9g

После была куплена перчатка, отрезаны пальцы, вшиты внутрь 3 электрода: 2 электрода на мышцу, один – на точку, который обозначается как ноль (Рис. 18).

Рис. 18. Соединение перчатки, платы, усилителя

После соединения всего были взяты ножницы, закрывающиеся без усилия, и скреплены с сервоприводом. Внутри ножниц (между кольцами) была поставлена пружина для того, чтобы эта пружина делала ‘обратную’ работу. При подаче напряжения 6 В и управляющего сигнала 1,3 В, сервопривод начинает вращаться, и через шток, второй конец ножниц начинает двигаться. После полного раскрытия ножниц сервопривод со штоком начинает двигаться в обратную сторону, и этот конец ножниц под действием пружины действует обратно (Рис. 19).

Рис. 19. Ножницы, шток, пружина, сервопривод

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

Принцип работы этой конструкции:

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

Далее сервопривод был запрограммирован.

В ходе работы было отмечено, что данная конструкция не подойдет для макета, так как мощности сервопривода не хватает для раздвижения ножниц. Поэтому были заказаны ножницы, которые были уже с пружиной, потому что этот вариант будет более удобный по сравнению с прошлым макетом. Пришлось изготавливать подставку для ножниц с сервоприводом, так как необходимо оптимизировать крепление. Чертеж смоделирован в программе «КОМПАС – 3D v24» (Рис. 20).

Рис. 20. Чертеж для подставки

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

Рис. 21. Оборудование для вырезки деталей из фанеры

Рис. 22. Подставки для ножниц и сервопривода

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

Рис. 23. Припаяны гальванические элементы, плата и сервопривод

Рис. 24. Собранная конструкция с ножницами и подставкой

В ходе работы было выявлено, что сервопривод micro servo 9g не подходит для ножниц, которые изначально с пружиной, из-за маленькой мощности. Поэтому было принято решение взять более мощный сервопривод mg996r (Рис. 25). Данный сервопривод способен установить и удерживать заданный угол в диапазоне от 0 до 180°. За обработку сигнала отвечает цифровой блок управления на микроконтроллере, который сравнивает текущее и необходимое положения вала, и на основании разницы даёт команду изменить угол. А встроенный редуктор из металлических шестерней позволяет развить приводу крутящий момент до 10 кг·см [13].

Рис. 25. Сервопривод mg996r

ВЫВОД

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

ИСТОЧНИКИ И ЛИТЕРАТУРА

  1. Протезирование конечности, Бильгильдеев М.Г.; Осмоналиев И.Ж.; Байкеев Р.Ф. // Том 19, № 4. 2021

  2. Культя, Википедия URL: https://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%BB%D1%8C%D1%82%D1%8F?ysclid=mlca2w8bv5798496711 (дата посещения 03.10)

  3. Медицинская реабилитация и протезирование пациентов с ампутациями конечностей вследствие боевой травмы: Методические рекомендации / Тришкин Д.В., Крюков Е. В., Пономаренко; Г.Н. Санкт-Петербург: ВМедА, 2023. УДК [615.8+616-85] (035.3)

  4. Как выбрать протез руки: советы для пациентов с ампутацией верхних конечностей URL: https://ortoprotez.ru/blog/sovety-po-protezirovaniyu/kak-vybrat-protez-ruki-sovety-dlya-patsientov-s-amputatsiey-verkhnikh-konechnostey/(дата посещения 06. 10. 2025)

  5. Протезирование конечностей: что это такое, виды протезов, реабилитацияURL: https://motorica.org/blog/tpost/ay4sc18xx1-protezirovanie-konechnostei-chto-eto-tak (дата посещения 18. 10.2025)

  6. Варианты прикрепления протеза к культе URL: https://rusmedserv.com/prostheticsextremities/variants-fastening-prosthesis-stump/ (дата посещения 07.11.2025)

  7. Kaslar için EMG Sonuçlarına Göre En İyi Hareketler – SporsalBilgiler

  8. Электромиография URL: https://yusupovs.com/articles/patients/myography/ (дата посещения 10.11.2025)

  9. Ночная боль в кисти, снижение силы в кости, онемение в пальцах кисти URL: https://opora-clinica.ru/articles/travmatologiya-i-ortopediya/nochnaya-bol-v-kisti-snizhenie-sily-v-kosti-onemenie-v-paltsakh-kisti/ (дата посещения 21.11.2025)

  10. Абрамов А. В. Аппаратно – программный комплекс для управления кисти для на основе сигналов электромиографии.

  11. AD620 Модуль усилителя напряжения микровольт/милливольт URL: https://www.youbot.ru/product/ad620-modul-usilitelya-napryazheniya-mikrovoltmillivolt (дата посещения 29.11.2025)

  12. Микросервопривод SG90 URL: https://3d-diy.ru/product/mikroservoprivod-sg90 (дата посещения 15.01.2026)

  13. Сервопривод Tower Pro MG996R URL: https://iarduino.ru/shop/Mehanika/mg995r-pro-servo.html (дата посещения 20.01.2026)

ПРИЛОЖЕНИЕ А

Код для AD8232:

#define korector 12

int val[3]; // Первый этап очистки (Массив)

byte index; // Первый этап очистки (Индекс)

int val_2[2]; // Второй этап очистки (Массив)

byte index_2; // Второй этап очистки (Индекс)

int X; // Первое

int Y; // Второе

boolean ismenilos; // Корректирующийфлаг

boolean flex;

boolean flex_2;

void setup() {

Serial.begin(9600);

pinMode(10, INPUT);

pinMode(11, INPUT);

}

void loop() {

proverka();

logika();

chistka_1();

Serial.println(flex_2);

}

void proverka() {

if ((digitalRead(10) == 1) || (digitalRead(11) == 1)) {

Serial.println('Opa! Ne podkluchil elektrodi');

}

}

void chistka_1() {

if (index > 2) index = 0; // переключаеминдексс 0 до 2 (0, 1, 2, 0, 1, 2…)

val[index] = ismenilos; // записываем значение с датчика в массив

index = index + 1;

if (index_2 > 1) index_2 = 0; // переключаем индекс с 0 до 1 (0, 1, 0, 1…)

val_2[index_2] = flex; // записываем значение с датчика в массив

index_2 = index_2 + 1;

X = Y;

Y = analogRead(A0);

}

void logika() {

if ((X >= Y + korector) || (X <= Y - korector)) {

ismenilos = true;

if ((val[0] + val[1] + val[2] >= 1)) {

flex = true;

if (val_2[0] + val_2[1] >= 1) {

flex_2 = true;

}

else {

flex_2 = false;

}

}

else {

flex = false;

}

}

else {

ismenilos = false;

}

}

Коды для AD620:

Код для отправления данных компьютера в Arduino:

import serial

import time

# Открываем Serial порт ('COMX' замените на имя вашего порта)

ser = serial.Serial('COM3', 9600)

time.sleep(2)

# Отправляем строку "Hello, Arduino!" на Arduino, предварительно преобразовав ее в байты

ser.write(b'Hello, Arduino!')

# Читаем ответ от Arduino через Serial порт

while True:

if ser.in_waiting > 0:

line = ser.readline().decode('utf-8').rstrip()

print(line)

ser.close()

# response = ser.readline()

# # Декодируем ответ из байтов в строку с использованием UTF-8

# decoded_response = response.decode('utf-8')

# # Закрываемпорт

# print(decoded_response)

Код для отдачи данных Arduino в компьютер:

void setup() {

// Начинаем работу с Serial портом на скорости 9600 бит/с

Serial.begin(9600);

}

void loop() {

// Проверяем, есть ли данные из Serial порта

if (Serial.available() > 0) {

// Читаем полученные данные и сохраняем их в переменной

String receivedData = Serial.readString();

// Serial.print("Hello world.");

// Отправляем ответ обратно в Serial порт

Serial.println("Получено: " + receivedData);

}

}

Просмотров работы: 5