ВВЕДЕНИЕ
В настоящее время, вопрос потери конечностей стал очень актуален. Особенно это касается людей, которые прошли боевые действия. Многие из них потеряли руки, ноги. Кому-то везет и их конечность можно пришить, а у кого-то ситуация сложнее. Бывают случаи, когда приходится ставить искусственные конечности – протезы, но проблема заключается в том, что протез не может полностью заменить руку или ногу. Ученые на данный момент пока не придумали протез, который бы смог поочередно передвигать пальцами на руке. Чтобы управлять протезом, используется электромиография. В моем проекте я расскажу, что такое протез, как он работает, как происходит снятие сигнала с помощью электромиографии и покажу свои исследования, проведённые с помощью микроконтроллера 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
ВЫВОД
В проекте было рассказано про ЭМГ сигнал, протезы, было показано как работает ЭМГ сигнал, как его снять в виде графика, были выявлены «свои» точки рук, подходящие для лучшей четкости сигнала ЭМГ и что для этого нужно. Были выявлены приборы и материалы, которые подходят под данный проект экспериментальным путем. Была создана электрическая цепь. Была изучена возможность применения ЭМГ сигнала для управления протезом верхней конечности человека.
ИСТОЧНИКИ И ЛИТЕРАТУРА
Протезирование конечности, Бильгильдеев М.Г.; Осмоналиев И.Ж.; Байкеев Р.Ф. // Том 19, № 4. 2021
Культя, Википедия URL: https://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%BB%D1%8C%D1%82%D1%8F?ysclid=mlca2w8bv5798496711 (дата посещения 03.10)
Медицинская реабилитация и протезирование пациентов с ампутациями конечностей вследствие боевой травмы: Методические рекомендации / Тришкин Д.В., Крюков Е. В., Пономаренко; Г.Н. Санкт-Петербург: ВМедА, 2023. УДК [615.8+616-85] (035.3)
Как выбрать протез руки: советы для пациентов с ампутацией верхних конечностей URL: https://ortoprotez.ru/blog/sovety-po-protezirovaniyu/kak-vybrat-protez-ruki-sovety-dlya-patsientov-s-amputatsiey-verkhnikh-konechnostey/(дата посещения 06. 10. 2025)
Протезирование конечностей: что это такое, виды протезов, реабилитацияURL: https://motorica.org/blog/tpost/ay4sc18xx1-protezirovanie-konechnostei-chto-eto-tak (дата посещения 18. 10.2025)
Варианты прикрепления протеза к культе URL: https://rusmedserv.com/prostheticsextremities/variants-fastening-prosthesis-stump/ (дата посещения 07.11.2025)
Kaslar için EMG Sonuçlarına Göre En İyi Hareketler – SporsalBilgiler
Электромиография URL: https://yusupovs.com/articles/patients/myography/ (дата посещения 10.11.2025)
Ночная боль в кисти, снижение силы в кости, онемение в пальцах кисти URL: https://opora-clinica.ru/articles/travmatologiya-i-ortopediya/nochnaya-bol-v-kisti-snizhenie-sily-v-kosti-onemenie-v-paltsakh-kisti/ (дата посещения 21.11.2025)
Абрамов А. В. Аппаратно – программный комплекс для управления кисти для на основе сигналов электромиографии.
AD620 Модуль усилителя напряжения микровольт/милливольт URL: https://www.youbot.ru/product/ad620-modul-usilitelya-napryazheniya-mikrovoltmillivolt (дата посещения 29.11.2025)
Микросервопривод SG90 URL: https://3d-diy.ru/product/mikroservoprivod-sg90 (дата посещения 15.01.2026)
Сервопривод 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);
}
}