Top Banner
Alejandro M antas Ro mán Le ctura de señales bioeléctricas y control de bra zo prot és ic o me dia nte A rduino TR AB AJ O DE FI NAL DE GR ADO diri gido po r Alfons o J os é Rome ro Ne vado y J os é Luis Ra mír ez Fa lo Gra do de E le c trón ic a Industria l y Automática Ta rra gona 2018
50

Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Mar 26, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

A lejandro M antas Ro má n

Le c tura de s eñales bi oe léc tric as y c ont rol de bra zo prot és ic o me dia nte Arduino

TR A B A J O DE FI NA L DE GR A DO

diri gido po r A lfons o J os é Rome ro Ne vado y J os é Luis Ra mír ez Fa lo

Gra do de E lec trón ic a Industria l y A utomá tic a

Ta rra gona

2018

Page 2: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Lectura de señales bioeléctricas y control de brazo protésico Alejandro Mantas Román mediante Arduino

2

Agradecimientos

Me gustaría agradecer en este apartado a algunas personas que me han ayudado a la

realización de este proyecto de manera satisfactoria. A mis dos directores del Trabajo,

Alfonso Romero Nevado y José Luis Ramírez Falo, por sus consejos técnicos, su capacidad

de adaptación y, sobre todo, por su infinita paciencia; a Xavier Blanch y Ángel Fernández

por ayudarme en la impresión de la mano y prestarme los instrumentos e instalaciones

necesarias para llevar a cabo las pruebas; a mis familiares y amigos por darme apoyo y

animarme en los momentos menos fructíferos y, por último, a todas esas personas que en

algún punto del trabajo han aportado su granito de arena.

Page 3: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Lectura de señales bioeléctricas y control de brazo protésico Alejandro Mantas Román mediante Arduino

3

1. Memoria Descriptiva ______________________________________________________________________ 5

1.1. Objeto del proyecto ______________________________________________________________________ 5

1.2. Alcance ____________________________________________________________________________________ 5

2. Antecedentes ________________________________________________________________________________ 5

3. Estado del arte ______________________________________________________________________________ 6

4. Arduino _______________________________________________________________________________________ 7

4.1. Definición _________________________________________________________________________________ 7

4.2. Historia ____________________________________________________________________________________ 7

4.3. Características Arduino Uno ___________________________________________________________ 7

5. Señal Mioeléctrica __________________________________________________________________________ 8

5.1. Introducción ______________________________________________________________________________ 8

5.2. Origen y Generación _____________________________________________________________________ 8

6. Electromiografía Superficial _____________________________________________________________ 9

6.1. Pasado, presente y futuro ______________________________________________________________ 9 6.1.1. SEMG en el pasado ____________________________________________________________________________ 9 6.1.2. SEMG en el presente ________________________________________________________________________ 10 6.1.3. SEMG en el futuro ___________________________________________________________________________ 10

6.2. Estrategias para la colocación de electrodos _______________________________________ 10

6.3. Atlas para la colocación de electrodos ______________________________________________ 11

7. Adquisición señal EMG __________________________________________________________________ 12

7.1. Introducción _____________________________________________________________________________ 12

7.2. Electrodos ________________________________________________________________________________ 12 7.2.1. Interfase Electrodo-Electrolito _____________________________________________________________ 12 7.2.2. Modelo eléctrico de la fase electrodo-electrolito _________________________________________ 13 7.2.3. Interfase electrolito-piel ____________________________________________________________________ 14 7.2.4. Modelo electrico de la interfase electrolito-piel __________________________________________ 14

7.3. Electrodos para EMG ___________________________________________________________________ 15 7.3.1. Configuración, ubicación y colocación _____________________________________________________ 15

8. Diseño Hardware _________________________________________________________________________ 17

9. Acondicionamiento de la señal EMG __________________________________________________ 17

9.1. Introducción _____________________________________________________________________________ 17

9.2. Aislamiento ______________________________________________________________________________ 17

9.3. Amplificación ____________________________________________________________________________ 18

9.4. Filtrado de la señal _____________________________________________________________________ 18 9.4.1. Paso-banda___________________________________________________________________________________ 19 9.4.2. Notch _________________________________________________________________________________________ 21

10. Procesamiento de la señal EMG _____________________________________________________ 23

11. Motor y algoritmos de control ______________________________________________________ 24

Page 4: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Lectura de señales bioeléctricas y control de brazo protésico Alejandro Mantas Román mediante Arduino

4

11.1. Servomotor ___________________________________________________________________________ 24

11.2. Control del servomotor _____________________________________________________________ 25

12. Diseño y construcción de la placa PCB ____________________________________________ 25

12.1. Introducción __________________________________________________________________________ 25

12.2. Placa de prueba ______________________________________________________________________ 26 12.2.1. Introducción y diseño _______________________________________________________________________ 26 12.2.2. Fabricación, construcción y pruebas _______________________________________________________ 26

12.3. Placa final _____________________________________________________________________________ 26 12.3.1. Introducción y diseño _______________________________________________________________________ 26 12.3.2. Fabricación, construcción y pruebas _______________________________________________________ 27

13. Diseño y construcción de la mano robótica InMoov ____________________________ 27

13.1. Introducción __________________________________________________________________________ 27

13.2. Diseño e impresión __________________________________________________________________ 27 13.2.1. Materiales, Software e Impresora 3D ______________________________________________________ 27 13.2.2. Diseño e impresión de la mano y antebrazo _______________________________________________ 27 13.2.3. Montaje _______________________________________________________________________________________ 28

14. Presupuesto ____________________________________________________________________________ 29

15. Conclusiones ____________________________________________________________________________ 31

16. Anexos ___________________________________________________________________________________ 32

16.1. Diseño PCB ___________________________________________________________________________ 32

16.2. Montaje Inmoov _____________________________________________________________________ 36

17. Código Utilizado _______________________________________________________________________ 41

18. Ensayos __________________________________________________________________________________ 45

19. Tecnicismos _____________________________________________________________________________ 48

Referencias Bibliográficas y audiovisuales ______________________________________________ 49

Page 5: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Memoria Descriptiva y Antecedentes Alejandro Mantas Román

5

1. Memoria Descriptiva

1.1. Objeto del proyecto

El presente proyecto tiene como objetivo el control de un actuador mediante señales

mioeléctricas. Debido a la necesidad de ejemplificarlo, se llevará a cabo el desarrollo

y control de un brazo impreso con tecnología 3D mediante dichas señales.

El proyecto se dividirá en 3 fases.

En una primera fase, se analizará una solución para la adquisición y tratado de la

señal procedente del antebrazo mediante la EMG superficial.

En una segunda fase, se procederá a la impresión y montaje del brazo mediante una

impresora 3D así como a la elaboración del sistema de control y programación de los

servomotores gobernados por el entorno de desarrollo Arduino.

Finalmente, se fabricará una placa PCB para la captación de la señal y se llevarán a

cabo los ensayos y la presentación de resultados.

1.2. Alcance

En primer lugar, se estudiará y diseñará un circuito para poder ejercer una

Electromiografía Superficial sobre el antebrazo de un sujeto y de esta manera, captar

la señal necesaria para poder controlar el brazo robótico.

En segundo lugar, se construirá dicho brazo mediante una impresora 3D. Para esta

parte del proyecto se utilizarán los archivos Open Source del humanoide Inmoov. A

continuación, se procederá a la programación mediante el entorno de desarrollo

Arduino, de los servomotores utilizados para mover las articulaciones del brazo. Así

mismo, se mejorará la placa utilizada previamente mediante el software para diseño

electrónico OrCAD.

Con motivo del objeto principal de este proyecto, se fabricará una placa principal

que contendrá el movimiento más funcional de este tipo de actuadores, el

movimiento del pulgar y el incide, una pinza. A continuación, se podrán añadir tantas

señales como actuadores (en este caso dedos) tengamos, en otras placas adjuntas.

2. Antecedentes La Organización Mundial de la Salud (OMS) reportó en 2014 la cantidad de 382

millones de diabéticos en todo el mundo y se espera que llegue a casi los 590 millones

en los siguientes 25 años. La diabetes es una de las enfermedades que causa más

amputaciones, sobre todo a nivel inferior. Conforme un artículo de EUROPA PRESS

a principios de 2018, España es el segundo país, después de EEUU, con más

amputaciones de miembros inferiores por diabetes tipo 2 y la revista DIABETES

VOICE, en un artículo de junio de 2005, declaró que cada 30 segundos en algún lugar

del mundo se llevaba a cabo una amputación debida a esta enfermedad. Con la

intención de poder reemplazar el miembro perdido, ya sea inferior o superior, y poder

mejorar consigo la calidad de vida del usuario, surgen las prótesis.

Las primeras prótesis mecánicas más sencillas son las accionadas por el propio

cuerpo del usuario y su bajo coste representaba su mayor ventaja. Debido al impacto

de las guerras, así como de las epidemias sufridas a principios del siglo XX, el

desarrollo de este tipo de tecnología vio notables avances. Otro tipo de prótesis, el

Page 6: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Estado del Arte Alejandro Mantas Román

6

cuál es el objeto de nuestro análisis, es el de las prótesis o actuadores controlados

mediante señales eléctricas de los músculos del paciente o, lo que es lo mismo,

mediante señales electromiográficas (EMG). La actividad eléctrica del músculo es

amplificada, procesada y utilizada para controlar la prótesis. Este tipo de prótesis

conlleva un mayor entrenamiento por parte del usuario para su correcto

funcionamiento, pero una vez perfeccionado son más eficientes y cómodas.

Por lo que respecta a los grados de libertad de la prótesis lo estándar es poder

controlar como mínimo, un par de articulaciones, aunque es verdad que cada vez se

intentan fabricar con el máximo número de grados de libertad para la comodidad del

usuario. Esta información se ha recopilado del articulo traducido inMotion – A Brief

History of Prosthetics de Kim Norton (2007)

Como se ha mencionado anteriormente las señales electromiográficas (EMG) son

señales eléctricas producidas por un músculo durante el proceso de contracción y

relajación. Esta característica muscular se pretende aprovechar en el control por

computadora para conseguir crear interfaces de comunicación entre el usuario y la

máquina alternativos a los ya existentes. Un interfaz de este tipo permitiría a

cualquier usuario controlar sistemas informáticos y/o electrónicos mediante la

contracción de determinados músculos.

3. Estado del arte Con los años, la tecnología de las prótesis ha ido mejorando y cuando antes el perder

una pierna prácticamente te incapacitaba para el resto de tu vida, hoy en día, se

adaptan a casi cualquier situación y permiten vivir con normalidad. Además, gracias

a la facilidad de los últimos tiempos para conseguir información y el bajo coste de

elementos “inteligentes”, aparecen casos como el de David Aguilar, María Casado o

Hugh Herr. A Maria, le amputaron la pierna izquierda debido a un cáncer de huesos.

Ahora, 4 años después de la operación, es una de las promesas para competir en

Tokio 2020 con el equipo paralímpico gracias a una prótesis, que hace unos años,

sólo estaba al alcance de poca gente ABC (2018). David perdió parte de su brazo,

pero ha sido capaz de construirse una prótesis por su cuenta a base de piezas de Lego

(nmas1.org, 2018). Hugh, ganador del premio Princesa de Asturias a la

Investiagación en 2016, se diseñó unas prótesis para sus dos piernas amputadas que

le permitieron volver a realizar su mayor afición, la escalada, e incluso batir alguna

de sus marcas El Español (2016). Desde china nos llega la noticia de un niño al que

le han trasplantado una mandíbula inferior hecha con tecnología 3-D ABC (2018).

El mundo de las prótesis avanza rápidamente y día a día se descubren nuevas

aplicaciones para las prótesis o nuevas formas para mejorar el control de estas. Un

caso es el del control de la prótesis mediante la médula espinal. A principios de 2017,

la revista científica Nature informó sobre una nueva tecnología que permite al brazo

protésico detectar señales provenientes de la médula espinal. El líder del equipo de

investigación (está compuesto por expertos de Europa, Estados Unidos y Canadá),

Darío Farina, considera que aún hay que refinar esta tecnología pero que abre la

puerta a que las prótesis sean mucho más intuitivas y sitúa en aproximadamente 3

años el lanzamiento al mercado de este tipo de prótesis

Page 7: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Arduino Alejandro Mantas Román

7

4. Arduino

4.1. Definición

Arduino es una compañía de hardware libre basada en una placa con un

microcontrolador y un entorno de desarrollo propio y open-source. Ofrece diferentes

herramientas de software, plataformas de hardware y documentación para facilitar el

uso a cualquiera con interés por esta tecnología.

4.2. Historia

Originalmente, empezó a principios de siglo como un proyecto de investigación

llevado a cabo por Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino

y David Mellis en el Interaction Design Institute of Ivrea.

La primera placa Arduino se introdujo en 2005 para ayudar a estudiantes de diseño,

sin previa experiencia en electrónica o programación de microcontroladores, a crear

prototipos de trabajo conectando el mundo físico con el digital. Desde entonces, se

ha convertido en una herramienta muy utilizada por ingenieros y empresas y ha

seguido desarrollándose, añadiendo nuevas librerías y placas de desarrollo.

Actualmente, se ha convertido también en una comunidad, en la que gente de todo el

mundo sube tutoriales, escribe ejemplos y ayuda a depurar código entre otras cosas.

(http://industrino.es/historia-de-arduino/ 2015)

4.3. Características Arduino Uno

Seguidamente detallaremos las características de la placa Arduino que hemos

utilizado para nuestro proyecto, la Arduino Uno.

Arduino Uno es un microcontrolador basado en ATmega328P. Dispone de 14 pines

de E/S digitales, de las cuales 6 son salidas PWM, 6 salidas analógicas, un cristal de

cuarzo de 16 MHz, 32 KB de memoria Flash + 2 KB de SRAM y 1 KB de EEPROM,

conexión USB, power Jack, cabezal ICSP, botón de reset y 25 g de peso.

Desde Arduino nos aseguran que es muy resistente y una de las placas con más

documentación y ejemplos.

El ATmega328P de Arduino Uno viene ya pre-programado por un bootloader[1] que

permite subir código sin la ayuda de un programador de hardware, se comunica

usando el protocolo STK500[2]. Aunque se puede ignorar y programar el

microcontrolador mediante el ICSP[3] utilizando Arduino ISP[4] o similar de igual

manera que se puede también cambiar el firmware que trae por defecto.

Arduino Uno dispone de un polifusible reseteable[5] que protege el puerto USB del

ordenador de cortocircuitos o aumentos de corriente. Además, se puede alimentar

tanto por el puerto USB del ordenador como con una fuente externa tal que una

batería o un adaptador AC-DC. Pero una de las grandes diferencias con respecto a

otras placas es que Uno no usa el FTDI USB-to-Serial driver chip, sino que está

programado como un convertidor USB-to-Serial.

(https://www.arduino.cc/ 2018)

Figura 1: Arduino

Page 8: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Señal mioeléctrica Alejandro Mantas Román

8

5. Señal Mioeléctrica

5.1. Introducción

La señal mioeléctrica es la representación de la actividad eléctrica resultante de

excitar las fibras musculares, debido a la contracción de los músculos. La amplitud

de esta señal puede variar desde 𝜇𝑉 a valores que rondan los 10 mV (sin

amplificación) dependiendo del músculo. El ancho de banda donde se encuentra la

información en este tipo de señales es entre 10 y 500 Hz aunque la mayor parte se

encuentra entre 50 y 150 Hz

5.2. Origen y Generación

En este apartado se estudia cómo se origina y genera la señal mioeléctrica. Para poder

entenderlo empezaremos hablando de las unidades motoras.

Es la unidad funcional más pequeña para describir el control neuronal en la

contracción de los músculos. Como se puede observar en la Figura 3, una unidad

motora está constituida por el cuerpo de una célula nerviosa, ubicado en la sustancia

gris de la médula espinal, más el largo del axón junto con sus ramas terminales y las

fibras musculares inervadas.

Figura 2: Ejemplo señal mioeléctrica

Figura 3: Unidad motora

Page 9: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Electromiografía Superficial Alejandro Mantas Román

9

Esa fibra muscular es la unidad estructural de los músculos esqueléticos. Su número

en una unidad motora es variable según la actividad que vaya a tener el músculo al

cual pertenecen y se han llegado a clasificar según su apariencia. Se distinguen fibras

rojas y fibras blancas. Numerosas investigaciones han demostrado que estimulando

la motoneurona[6] de una unidad motora consistente en fibras rojas, la fuerza de

contracción tiene un crecimiento más lento y duradero que en la de fibras blancas.

Las fibras rojas suelen predominar en músculos posturales (tronco), cuya actividad

es continua; mientras que las fibras blancas predominan en músculos que requieren

contraerse con mayor rapidez como los de las extremidades.

Durante la contracción, las fibras se contraen en pequeños grupos hasta un 57% de

su longitud de reposo. Por tanto, un impulso de la motoneurona hace que todas las

fibras musculares de la unidad motora se contraigan de manera prácticamente

simultánea.

La excitabilidad de las fibras musculares a partir del control neural puede explicarse

como un modelo de membrana semi-permeable que describe las propiedades

eléctricas. Es el movimiento de iones el responsable de generar los cambios de

potencial y su distribución no es simétrica. Se establecen gradientes de

concentración, los cuales, junto con la diferencia de potencial entre los espacios

intracelular y extracelular determinan la magnitud y sentido del flujo de iones.

(Lorena Álvarez Osorio, 2007)

6. Electromiografía Superficial

6.1. Pasado, presente y futuro

La electromiografía superficial (SEMG) puede estar agrupada en diferentes campos

como rehabilitación, seguimiento o dedicada a mecanismos psicológicos. En el

siguiente capítulo se trata el desarrollo de la electromiografía superficial desde un

punto de vista del pasado, presente y futuro según Jeffery R. Cram en el 2011.

6.1.1. SEMG en el pasado

De manera que se pueda plasmar de una manera clara la evolución de la

electromiografía superficial en los últimos años, se referirá al pasado como finales

del siglo XX.

Por entonces, la SEMG se combinaba con otros tratamientos experimentales como

el análisis de otro tipo de datos o técnicas: el criterio de selección de los participantes,

las condiciones de éstos, el número y duración de pruebas realizadas… Aún se utiliza

el campo como soporte e investigación en gran mayoría.

Algunos ejemplos de investigación en el área de los mecanismos psicológicos que se

llevaron a cabo (algunos aún se investigan a día de hoy) fueron la comparación entre

la IRM (Imagen por Resonancia Magnética) del cerebro y la actividad muscular, la

comparación de la IRM con la SEMG, la investigación de los músculos involucrados

en dirección de la mirada, el estrés, el dolor…

Por lo que respecta a pruebas en el ámbito de la rehabilitación, destacan algunos

como el rendimiento deportivo, distonía, migraña.

Page 10: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Electromiografía Superficial Alejandro Mantas Román

10

6.1.2. SEMG en el presente

Actualmente, las modalidades terapéuticas se mueven en dirección a una terapia

basada en pruebas y tratamiento para la evaluación e intervenciones terapéuticas.

Aún hace falta más investigación, pero cada vez más clínicos, educadores e

investigadores trabajan juntos para aumentar la investigación en las diferentes

aplicaciones del SEMG.

En un artículo de EEG/EMG/Brain Function Monitoring en el año 2007, Global

Industry Analysts informa que existen más de 66 fabricantes de instrumentos para

EEG/EMG/brain funcioning y muchos de ellos ofrecen SEMG como parte de su

sistema. A día de hoy, EEUU es el mercado más grande y Europa el que crece más

rápido.

6.1.3. SEMG en el futuro

En su libro Cram’s Introduction to Surface Electromiography, Jeffery R. Cram

vaticina para el futuro un incremento en la investigación de la IRM y la SEMG, un

incremento estadístico en el análisis de la amplitud y frecuencia de las formas de

onda de la SEMG y más investigación para poder combinar la SEMG con otros

sistemas de adquisición de datos.

Así mismo, en lo que respecta a aplicaciones y supervisión de la SEMG, futuras

aplicaciones incluyen el uso de la SEMG para educar a los niños a que tengan un

mayor conocimiento de sus cuerpos, el incremento del uso de la SEMG para mejorar

el rendimiento deportivo, su uso en medicina y educación…

Aun siendo éste un libro con edición de 2011, no se aleja mucho de la realidad actual,

ya que la EMGS sigue en la dirección que vaticinó el señor Cram. Cabe destacar que

en lo que concierne a la investigación acerca de prótesis y extremidades biónicas, no

se suele tener en cuenta la EMGS y se busca otro tipo de control.

6.2. Estrategias para la colocación de electrodos

Los electrodos son una parte vital en el proceso de captación de la señal y, por tanto,

es muy importante saber dónde colocarlos de la manera adecuada. Aunque no hay

mucha información al respecto, Jeffrey R. Cram destaca seis elementos que pueden

mejorar la fidelidad de la señal SEMG captada por los electrodos:

Seleccionar la proximidad de los electrodos apropiada dejando la mínima cantidad

de tejido entre los electrodos y las fibras musculares.

Seleccionar la posición adecuada de los electrodos con relación a las fibras

musculares. Siempre que sea posible, los electrodos deberían estar colocados en

paralelo para maximizar la sensibilidad. La colocación perpendicular tiende a tener

un mayor rechazo a modo común.

Page 11: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Electromiografía Superficial Alejandro Mantas Román

11

Figura 4: Colocación electrodos (paralelo y perpendicular)

Colocar los electrodos un poco fuera del centro del músculo para mejorar amplitud

debido a la amplificación diferencial.

Escoger sitios de fácil colocación. Escoger sitios que no impidan el movimiento y

evitar áreas que presentan problemas de piel, obstrucción ósea y otros

factoresEscoger la dimensión del electrodo y separación entre ellos adecuadas.

6.3. Atlas para la colocación de electrodos

En su libro “Cram’s Introduction to Surface Electromiography”, Jeffery R. Cram

proporciona ilustraciones e información sobre la colocación de los electrodos en

distintos lugares del cuerpo humano. En este proyecto solamente se dará información

acerca de la colocación en los músculos del antebrazo.

En la Figura 5 se ilustra cómo colocar los electrodos para hacer el seguimiento

general de la tensión muscular del flexor y extensor del antebrazo. Como se puede

comprobar, se colocan en perpendicular para poder captar la señal diferencial de los

dos músculos.

Figura 5: Colocación electrodos (flexor y extensor)

Por lo que respecta a la Figura 6, se trata del seguimiento del extensor del antebrazo.

Es decir, se mide la señal captada al extender la muñeca. Los electrodos se colocan

uno detrás del otro con una separación de 3-4 cm en la dirección del músculo.

Figura 6: Colocación electrodos (extensor) Figura 7: Colocación electrodos (flexor)

Page 12: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Adquisición señal EMG Alejandro Mantas Román

12

De la misma forma se trata el flexor del antebrazo. En la Figura 7 se observa la

colocación de los electrodos para seguir la señal de la flexión de la muñeca.

7. Adquisición señal EMG

7.1. Introducción

La adquisición de una señal EMG nítida es de vital importancia, no sólo en proyectos

como el que nos ocupa o investigaciones del ámbito robótico/protésico, sino también

áreas como fisioterapia, rehabilitación y otras ciencias del deporte.

Con relación a nuestro tema de investigación, la importancia de poder adquirir una

buena señal EMG nos permitirá realizar un mejor control sobre nuestra mano

robótica. Para detectar esta señal y poder tratarla posteriormente, utilizaremos un tipo

de sensor denominado electrodo.

7.2. Electrodos

El electrodo es un tipo de sensor que se encarga de transformar las corrientes iónicas

presentes en el cuerpo humano en corriente eléctrica.

Están formados por una superficie metálica y un electrolito [7] en contacto con la piel.

Debido a esto, se forman dos transiciones en el camino de la señal bioeléctrica del

cuerpo humano al sistema de tratamiento de la señal, una entre la piel y el electrolito

y otra entre el electrolito y la parte metálica del electrodo. Por tanto, se provoca una

diferencia de potencial como consecuencia del intercambio iónico.

Podemos observar en la Figura 8 un ejemplo de la diversidad de tipos de electrodos

utilizados hoy en día en el campo de la medicina.

Figura 8: Electrodos

7.2.1. Interfase Electrodo-Electrolito

Al colocar un electrodo en contacto con la piel a través de un electrolito se forma una

distribución de cargas entre la interfaz electrodo-electrolito que da lugar a la

aparición de un potencial conocido como “Potencial de media celda”.

Si el electrodo se mueve respecto al electrolito se producirá una alteración en la

distribución de la carga que provocará una variación transitoria del potencial de

media celda. Este problema se solventa fijando el electrodo a la piel, de modo que se

evite cualquier movimiento.

Tomando como ejemplo el electrodo de tipo Ag/Ag-Cl de la Figura 9 se puede

observar el movimiento de la corriente eléctrica en la interfase electrodo-electrolito.

Page 13: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Adquisición señal EMG Alejandro Mantas Román

13

Figura 9: Interfase electrodo-electrolito

Mediante la ayuda visual de la figura anterior se analizará esta interfase. El electrodo

está formado por átomos metálicos C y el electrolito es una solución acuosa que

contiene cationes del metal del electrodo C+ y aniones A-.

La corriente que atraviesa la interfase está compuesta por:

- Electrones y aniones moviéndose en dirección opuesta a la corriente I del

electrodo y el electrolito.

- Cationes moviéndose en la misma dirección que I.

Dado que no hay electrones libres en el electrolito y no hay cationes o aniones libres

en el electrodo, para que la carga pueda cruzar la interfase lo que ocurre es una

reacción química que permite la transferencia de portadores.

Como resultado de dichas reacciones se forma una distribución de carga en la

superficie de contacto electrodo-electrolito dando lugar al potencial anteriormente

mencionado, el “potencial de media celda”. Si la tasa de reacción de oxidación es

igual a la tasa de reducción, la transferencia

neta de carga a través de la interfase es nula. Cuando el flujo de corriente es

desde el electrodo a electrolito, tal como se indica en la Figura 9, las reacciones de

oxidación dominan. Cuando la corriente es en dirección opuesta, las que prevalecen

son las reacciones de reducción.) En el caso de que se aplique un flujo de corriente,

el potencial de media celda varía produciéndose la polarización del electrodo

Es destacable mencionar que dicho potencial de polarización presenta tanto

componente DC como AC. La componente AC se consigue minimizar en gran

medida con la incorporación de una interfase de intercambio de cloruro en el metal

del electrodo y la componente DC es anulada electronicamente cuando se trabaja con

electrodos de configuración bipolar. Un tipo de electrodos que tiene la configuración

mencionada es la de la Figura 9, los electrodos de tipo Ag/Ag-Cl. Éstos, son muy

utilizados y disponibles comercialmente. Asimismo, son muy populares en el ámbito

de estudio que se trata en este proyecto, la electromiografía, debido a su masa ligera,

pequeño diámetro, alta fiabilidad, durabilidad y la disminución del potencial de

polarización asociado. Mano controlada por señales musculares de Jorge Brazeiro,

Sabrina Petraccia y Matías Valdés (2015)

7.2.2. Modelo eléctrico de la fase electrodo-electrolito

A priori, la modelización de esta interfase se podría modelar como una serie de

resistencias y capacitancias en serie. Este modelo implicaría que a bajas frecuencias

la impedancia resultante tendería a infinito.

Page 14: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Adquisición señal EMG Alejandro Mantas Román

14

Para evitarlo se propone un circuito también RC pero en este caso, paralelo, donde,

cuando la frecuencia tienda a DC, se obtenga una impedancia puramente resistiva.

Añadiendo a esta configuración una fuente de voltaje E que pueda representar el

potencial a media celda y una resistencia Rs que modele los efectos de la interfase y

la resistencia del electrolito, obtenemos el circuito equivalente.

Figura 10: Modelo eléctrico interfase electrodo-electrolito

7.2.3. Interfase electrolito-piel

En esta interfase se estudia el rol que la piel y el electrolito tienen en la adquisición

de la señal. Generalmente, el electrodo dispone de un gel conductor que contiene

cloro como principal anión y se utiliza para mantener un buen contacto con la

epidermis. Ésta, tiene el papel más importante en la interfase electrolito-piel ya que

es una capa de la piel en cambio constante. Estudiar: En su capa interna, se generan

células jóvenes y estas se desplazan hacia la superficie perdiendo vitalidad, de forma

tal que su capa externa, denominada estrato córneo, es un mosaico de células muertas

con características eléctricas diferentes al tejido vivo.

7.2.4. Modelo electrico de la interfase electrolito-piel

A continuación, se estudia el modelo eléctrico electrolito-piel junto con el electrodo-

electrolito.

Figura 11: Circuito eléctrico equivlente electrodo sobre la piel

Podemos comprobar en la Figura 11 la representación de cada uno de los

componentes.

- La resistencia Rs representa la resistencia asociada a los efectos del electrolito

entre el electrodo y la piel.

- ESC es la diferencia de potencial entre los iones del Gel y la Epidermis.

Page 15: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Adquisición señal EMG Alejandro Mantas Román

15

- La capa epidérmica se comporta como un circuito RC en paralelo mientras

que la dermis y el tejido subcutáneo lo hacen como una resistencia pura Ru.

Estos, generan una serie de potenciales que podemos despreciar.

La razón por la que, antes de usar los electrodos, se suele frotar la zona de la

epidermis con acetona o alcohol es para remover las células muertas de debajo del

electrodo y lograr cortocircuitar Rs, ESC y Ce para conseguir una mejor estabilidad

de la señal.

El circuito mostrado en línea discontinua corresponde al modelo de las glándulas

sudoríparas. El fluido que estas glándulas segregan contiene iones que provocan una

diferencia de potencial con la capa dermis. Estos aportes, cuando trabajamos con

señales mioeléctricas para ejercer una electromiografía, normalmente se desprecian.

Mano controlada por señales musculares de Jorge Brazeiro, Sabrina Petraccia y

Matías Valdés (2015)

7.3. Electrodos para EMG

Hay dos tipos de electrodos que se utilizan más frecuentemente para obtener señales

electromiográficas, los de superficie y los intramusculares. En este estudio se incidirá

en los de superficie, que son los utilizados en el proyecto.

Los electrodos de superficie son preferibles por su comodidad a la hora de su uso y

su rapidez para aplicar a la piel. Por ello, suelen ser los elegidos para prótesis

mioeléctricas controladas. En cambio, una de las grandes desventajas que tienen es

que sólo se pueden utilizar eficazmente con músculos superficiales y presentan cierta

dificultad para captar las señales de músculos pequeños.

7.3.1. Configuración, ubicación y colocación

Existen dos tipos de configuración para la colocación de los electrodos superficiales.

- La primera, denominada monopolar, se trata de adquirir la señal situando un

electrodo en la zona de estudio y otro, de referencia, ubicado en otra zona

donde las señales eléctricas no estén relacionadas. Su desventaja es que se

pueden detectar otras señales mioeléctricas de las proximidades de la

superficie del electrodo.

- La segunda, denominada bipolar, mejora la desventaja de la monopolar con

la disposición de dos electrodos más el de referencia. Estos dos electrodos

detectan dos potenciales respecto a la señal de referencia que posteriormente

se amplificarán en un amplificador diferencial, eliminando el modo común.

La amplitud y el ancho de banda que captemos están determinados, aparte de causas

electrofisiológicas, por el tipo y tamaño de los electrodos, así como de la distancia

entre ellos.

Con el objetivo de normalizar estos factores mencionados, surge el SENIAM

(Surface ElectroMyoGraphy for the Non-Invasive Assessment of Muscles), un

proyecto que apoya el uso de la EMG Superficial, hace recomendaciones y

estandarizaciones sobre la colocación y uso de sensores como los electrodos en

diferentes músculos. Sin embargo, la EMGS es una técnica tan usada en diferentes

aplicaciones que dificulta su uso generalizado y, por tanto, la normalización de ésta.

- Tamaño: según el SENIAM, se define el tamaño ideal para el electrodo en

EMG como el tamaño de su zona conductora. En la práctica, a cambio, varía

de 1 mm2 a unos pocos cm2.

Para los sensores bipolares, se recomienda como máximo un diámetro de

10mm; lo suficientemente pequeño para evitar la diafonía [8] de otros

músculos y lo suficientemente grande para que sea capaz de detectar un

Page 16: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Adquisición señal EMG Alejandro Mantas Román

16

número razonable de unidades motoras. Cabe destacar que el tamaño de los

electrodos, tal y como se comentó anteriormente, influye directamente en la

señal adquirida. Al aumento se le relaciona un carácter integrador, ya que

incrementa la amplitud de la señal y disminuye los contenidos de alta

frecuencia.

Distancia entre electrodos: se define como “la distancia entre centros de las

áreas de conductividad de los electrodos” y se recomienda que:

La distancia entre los electrodos bipolares para EMG sea de entre 20

mm y 30 mm.

Cuando se aplican los electrodos bipolares sobre músculos pequeños,

la distancia no debe superar ¼ de la longitud de la fibra muscular.

Posición de los electrodos: se busca conseguir una posición estable de donde

obtener una señal EMG de calidad. Tanto longitudinalmente como

transversalmente, se intenta que el electrodo se ubique en la zona media del

músculo.

Acondicionamiento de Señales Bioeléctricas de Lorena Alvarez Osorio

(2007)

Basics of Surface Electromyography. Applied to Physical Rehabilitation and

Biomechanics. V. Florimond (2010)

Page 17: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Diseño Hardware y Acondicionamiento de la señal EMG Alejandro Mantas Román

17

8. Diseño Hardware En el presente apartado se muestra el diagrama de cómo opera el sistema.

Figura 12: Diagrama de bloques del Funcionamiento del Sistema

Tal y como se observa, el microcontrolador es el módulo encargado del control de

los dedos de la mano moviendo cada uno de los servomotores según la señal que

recibe el ADC. Por otro lado, el resto de módulos son los encargados del

acondicionamiento de la señal (amplificación y filtrado) que captamos del paciente

mediante los electrodos.

9. Acondicionamiento de la señal EMG

9.1. Introducción

Seguidamente se explicará el proceso del tratamiento o acondicionamiento de la

señal, una vez la hemos obtenido. La podemos dividir en tres etapas, una primera

etapa de amplificación, otra de filtrado y una última de amplificación.

9.2. Aislamiento

Previamente a la primera etapa de amplificación, se estudia incorporar un sistema de

aislamiento para proteger al circuito y a la persona como el de la Figura 13. Este

aislamiento rompe la continuidad óhmica entre la entrada y salida del amplificador.

Se dispone de un amplificador de aislamiento, pero debido al coste añadido al

presupuesto que supondría añadir uno por cada señal, se decide añadir solamente un

transformador de aislamiento TRACO Power a la entrada del circuito, ya que estaba

incluido previamente en el presupuesto. De esta forma, se incorpora al circuito para

mantener tanto a los elementos sensibles de éste, como a la persona que se conecta

los electrodos, protegidos. Este transformador reduce las sobretensiones y el ruido

que puedan provenir de la fuente de alimentación.

(John G. Webster, 2010)

Figura 13: Sistema de aislamiento Figura 14: TRACO Power

Page 18: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Acondicionamiento de la señal EMG Alejandro Mantas Román

18

9.3. Amplificación

Debido a la pequeña amplitud de las señales mioeléctricas, es claro que previamente

al proceso de filtrado, se tiene que amplificar la señal. Para ello se utiliza un

amplificador de instrumentación. Este tipo de amplificadores tiene algunas

características como puedan ser amplificación diferencial, alta impedancia de entrada

y baja impedancia de salida, pero también añade otras ventajas como el rechazo de

modo común, que su ganancia pude ser modificada fácilmente, que ésta es constante

sobre una amplia banda de frecuencias.

Para esta primera etapa se decide utilizar el Amplificador de Instrumentación Ina114

AP debido a la posesión de las características mencionadas anteriormente, como

pueden ser un CMRR alto, impedancia de entrada muy alta, impedancia de salida

baja y ganancia diferencial estable y ajustable mediante sólo un componente.

Figura 15: Esquema interno Ina114 AP

En la Figura 15 se puede observar el esquema interno del amplificador de

instrumentación Ina114 AP. La ganancia (G) del amplificador es de (50𝑘Ω

𝑅𝑔+ 1)

donde Rg es la resistencia que la ajusta.

En este proyecto se utiliza un potenciómetro para ajustar la ganancia según nuestro

interés y la señal obtenida. El valor necesario de nuestra ganancia es de 1000, por

tanto, nuestro potenciómetro tendrá un valor de:

𝑅𝑔 =50𝑘Ω

1000 − 1= 50.05 𝑘Ω (1)

La señal obtenida de los electrodos es de unos pocos mV y, debido a esto, se pretende

utilizar este amplificador de instrumentación para amplificarla y poder tratarla y

visualizarla con mayor precisión. Acondicionamiento de Señales Bioeléctricas de

Lorena Alvarez Osorio (2007)

9.4. Filtrado de la señal

La etapa de amplificación se debe diseñar con extremo cuidado para evitar influir en

la señal original y realizar una amplificación lo más fiel posible de la señal de entrada.

En la práctica, esto es complicado debido a que las señales EMG, al ser tan débiles,

son fácilmente sobremoduladas por otras señales que aumentan el ruido de la señal

original. Por tanto, una vez se ha amplificado la señal, se ha de tratar para poder

eliminar señales, ya sean biológicas o de otro tipo, que puedan provocar una

interferencia o sobremodulación [9]. Estas señales están distribuidas en distintas

frecuencias y con este fin, se diseña un filtro analógico paso-banda y un filtro Notch.

Page 19: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Acondicionamiento de la señal EMG Alejandro Mantas Román

19

9.4.1. Paso-banda

El filtro paso-banda, se compone de un filtro paso alto y otro paso bajo en cascada

con éste. Se implementa un filtro de segundo orden Butterworth con una estructura

Sallen-Key y un ancho de la banda de 0.4 a 200 Hz. Se escogen estos límites, por

una parte (mediante el paso bajo), para eliminar el ruido de altas frecuencias y evitar

medidas imprecisas o errores en la transmisión. Por otra parte (mediante paso alto),

para eliminar la corriente continua, que podría provocar una realimentación negativa.

De la misma forma, este ajuste a bajas frecuencias aporta un ajuste en 0 para que no

se produzca un pequeño offset de la señal.

Cabe destacar que la información en este tipo de señales se encuentra entre 10 y 500

Hz pero que la mayor concentración de la información se encuentra entre las

frecuencias de 50 y 150 Hz, por tanto, al hacer este filtro Paso-banda en las

frecuencias de 0.4-200 Hz no perdemos información relevante. A continuación, se

muestran los cálculos y un esquema del filtro:

Paso Alto

Primeramente, se calcula el filtro Paso Alto. Se utiliza una configuración Butterworth

con estructura Sallen Key, ganancia unidad y una frecuencia de corte e 0.4 Hz. A

continuación, se pueden ver los pasos a seguir, el esquema y el bode resultante de la

función de transferencia:

Figura 16: Esquema eléctrco Filtro Paso Alto

Función de transferencia:

𝑠2

𝑠2 + 𝑠 (1

𝐶2𝑅2 +1

𝐶1𝑅1) +1

𝐶1𝐶2𝑅1𝑅2

(2)

Donde:

𝑓𝑐 =1

2𝜋√𝐶1𝐶2𝑅1𝑅2 (3)

Y fijando una de las variables de la ecuación (3), se encuentran los valores de

nuestras resistencias y condensadores para una frecuencia de 0.05 Hz:

𝑓𝑐 = 0.4 𝐻𝑧

𝑅 = 39 𝑘Ω

𝐶 = 10 𝜇𝐹

Page 20: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Acondicionamiento de la señal EMG Alejandro Mantas Román

20

Figura 17: Diagrama de Bode Filtro Paso Alto

Paso Bajo

Una vez se tiene el filtro Paso Alto diseñado, se dimensiona el filtro Paso Bajo

siguiendo los mismos pasos, una configuración Butterworth con una estructura

Sallen Key, ganancia unidad y una frecuencia de corte de 200 Hz:

Figura 18: Esquema eléctrico Filtro Paso Bajo

Función de transferencia: 1

𝐶3𝐶4𝑅3𝑅4

𝑠2 + 𝑠 (1

𝐶3𝑅3 +1

𝐶4𝑅4) +1

𝐶3𝐶4𝑅3𝑅4

(4)

Donde:

𝑓𝑐 =1

2𝜋√𝐶3𝐶4𝑅3𝑅4 (5)

Por lo que, conociendo la frecuencia de corte deseada y fijando una de las variables,

se obtienen los valores de las resistencias y los condensadores mediante la ecuación

(5):

𝑓𝑐 = 200 𝐻𝑧

𝑅 = 800 Ω

𝐶 = 1 𝜇𝐹

Page 21: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Acondicionamiento de la señal EMG Alejandro Mantas Román

21

Figura 19: Diagrama de Bode Filtro Paso Bajo

El siguiente paso es el de poner los filtros en cascada para formar el filtro Paso-banda

entre las frecuencias de 0.05 Hz y la de 200 Hz como se puede observar en la Figura

20

Figura 20: Diagrama de Bode Filtro Paso Banda

9.4.2. Notch

El filtro Notch se diseña para que rechace una determinada banda de frecuencia o

una frecuencia en particular. En el proyecto objeto de nuestro análisis, es de interés

eliminar la señal de red (50 Hz) para evitar ruido e interferencias. Existen diferentes

configuraciones para el filtro Elimina-banda según su factor de calidad.

Primeramente, se diseñó una con un factor de calidad elevado, pero se observó que

hacía oscilar el filtro. Por ello se propone la siguiente configuración, con un factor

de calidad algo más pequeño, pero más estable:

Page 22: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Acondicionamiento de la señal EMG Alejandro Mantas Román

22

Figura 21: Esquema eléctrico Filtro Notch

De este circuito se extrae la función de transferencia y, mediante MATLAB, se dibuja

la respuesta en frecuencia para comprobar que, precisamente, nos elimina la señal en

50 Hz.

Para poder resolver el circuito se utilizan 2 tensiones auxiliares, Va y Vb:

𝑉𝑎 − 𝑉𝑖𝑛

𝑅+

𝑉𝑎 − 𝑉𝑏

𝑅 +1

𝐶𝑠

+𝑉𝑎

12𝐶𝑠

= 0 (6)

𝑉𝑏 − 𝑉𝑖𝑛

1𝐶𝑠

+𝑉𝑏 − 𝑉𝑎

𝑅 +1

𝐶𝑠

+𝑉𝑏

𝑅2

= 0 (7)

A continuación, encontramos el valor de las variables auxiliares:

𝑉𝑎 =𝑅𝐶𝑠 + 1

𝑅2𝐶2𝑠2 + 4𝑅𝐶𝑠 + 1∗ 𝑉𝑖𝑛 (8)

𝑉𝑏 =𝑅2𝐶2𝑠2 + 𝑅𝐶𝑠

𝑅2𝐶2𝑠2 + 4𝑅𝐶𝑠 + 1∗ 𝑉𝑖𝑛 (9)

Y una vez tenemos estos valores, podemos encontrar la función de transferencia:

𝑉𝑎 − 𝑉𝑜𝑢𝑡

𝑅=

𝑉𝑜𝑢𝑡 − 𝑉𝑏

1𝐶𝑠

→𝑉𝑜𝑢𝑡

𝑉𝑖𝑛=

𝑅2𝐶2𝑠2 + 1

𝑅2𝐶2𝑠2 + 𝑅𝐶𝑠 + 1 (10)

𝑓𝑜 =1

2𝜋𝑅𝐶 (11)

Fijando R=68 kΩ y fo=50 Hz obtenemos de la ecuación (11) que C=47 nF. El

resultado se comprueba con el diagrama de Bode.

Page 23: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Procesamiento de la señal EMG Alejandro Mantas Román

23

Figura 22: Diagrama de Bode Filtro Notch

10. Procesamiento de la señal EMG Una vez la señal ha sido filtrada y tratada de manera analógica, se adquiere por un

microcontrolador para procesarla digitalmente. Tal y como se explicó anteriormente,

para ello se utiliza una placa Arduino UNO versión 3 como la de la imagen inferior

y el entorno de programación propio de Arduino.

Figura 23: Arduino Uno v3

Se diseña un código mediante Arduino para captar la señal recibida y controlar los

servomotores de la mano. Para ello, primero se realiza un trabajo previo de

investigación para la captación de la señal de cada dedo y el giro de la muñeca como

se puede comprobar en el apartado de Ensayos. Finalmente se decide agrupar las 6

señales en 4 grupos. En el primer grupo se encuentra la señal del pulgar y el índice,

mediante la cual se realiza el movimiento de pinza. El segundo y tercer grupo

corresponden al movimiento del resto de dedos y el 4 grupo, al movimiento de la

muñeca. Debido a la dificultad de diferenciar las señales de los dedos con los de la

muñeca, se decidió que el movimiento de ésta se realizase mediante un joystick.

A continuación, se presenta el diagrama de bloques del control de los servomotores

y se explica la estrategia utilizada en cada uno de ellos.

Page 24: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Motor y Algoritmos de Control Alejandro Mantas Román

24

Figura 24: Diagrama de bloques del control de los servomotores

Como se observa en el diagrama de la Figura 24, captaremos la señal (ya filtrada

analógicamente) del ADC con una frecuencia de muestreo de 2.5 ms utilizando un

Timer del propio Arduino. Una vez captada, la compararemos con un límite superior

de éste para poder diferenciar el pico de la información del ruido del músculo o de

alguna interferencia de las otras señales. Una vez se lee esta información, se pasa a

un algoritmo para saber si el dedo de la mano estaba abierto o cerrado y así activar

los servomotores en consecuencia.

Se puede observar el código comentado en los anexos.

11. Motor y algoritmos de control En el siguiente apartado se analiza el tipo de motor utilizado para este proyecto, el

servomotor, describiendo características generales y señalando ventajas y

desventajas.

11.1. Servomotor

Para la realización del proyecto se utilizan 6 servomotores digitales MG946R, los

cuales pueden rotar entre 0-180º, tienen un voltaje nominal de 4.8 V a 7.2 V y un par

de rotación de hasta 13 kg/cm. Uno de ellos será el encargado de la rotación de la

muñeca y el resto corresponden al movimiento de cada uno de los dedos de la mano.

Page 25: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Diseño y Construcción de la Placa PCB Alejandro Mantas Román

25

Figura 25: Servomotor

La gran diferencia y ventaja de un servo digital con uno analógico es cómo trata la

señal de entrada y el control sobre el motor. El digital incorpora un microprocesador

que trata la señal recibida y controla el motor del mismo, lo que permite reducir la

“Deadband” [10] y, por tanto, proporcionar una respuesta más rápida. El único

inconveniente destacable de los servomotores digitales es su consumo de corriente

eléctrica, mucho mayor que los analógicos.

11.2. Control del servomotor

Para este proyecto se propone como método de control del servomotor, la librería

“Servo” de Arduino. Esta librería proporciona las instrucciones necesarias para

generar la señal PWM y controlar el motor. Las funciones que se utilizarán serán:

- attach (): con esta instrucción se indica el pin del microcontrolador que

controla el servo.

- write (): la siguiente instrucción mueve el servo un ángulo determinado,

siendo éste un entero entre 0º y 180º. En caso de tratarse de un servo continuo,

el valor 0-180 va relacionado con la velocidad de giro, siendo 0 la máxima

velocidad en un sentido, 180 la máxima velocidad en el otro sentido y 90,

stop.

- read (): indica el último ángulo que se ha enviado al servo.

- detach (): esta instrucción libera el pin del microcontrolador, pues ya no se

va a utilizar en adelante.

Debido a que el servo utilizado en este proyecto no es continuo, el valor enviado al

servo mediante la instrucción “write ()” será el ángulo de giro necesario. Para

determinar este ángulo, se asociarán los valores captados por el ADC con la señal

adquirida de la extensión-contracción de los músculos.

12. Diseño y construcción de la placa PCB

12.1. Introducción

Durante el diseño del circuito de amplificación y tratado de la señal se realizó el

montaje conectando el amplificador de instrumentación a una placa protoboard

donde se montó previamente el circuito con los filtros.

Una vez realizadas las pruebas y modificaciones necesarias, se decide combinar los

filtros y el amplificador en una PCB para tener todos los componentes en una misma

Page 26: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Diseño y Construcción de la Placa PCB Alejandro Mantas Román

26

placa. En el siguiente apartado se explicará todo el proceso llevado a cabo para

conseguirlo.

12.2. Placa de prueba

12.2.1. Introducción y diseño

La placa se diseñó mediante la versión Lite de OrCAD, un software que permite crear

un esquemático y diseñar tu PCB.

Inicialmente, se decidió hacer una primera PCB con sólo una señal para poder hacer

pruebas de captación de señal y control de servomotores. Para ello, se diseñó el

esquemático de todo el circuito tal y como se puede ver en los anexos. A continuación

se crearon los “Footprints” [11] y los “Pads” [12] para cada uno de los componentes

mediante las herramientas proporcionadas por OrCAD llamadas OrCAD PCB

Designer y Padstack Editor. Todos los “footprints” se han creado con tecnología

“Through hole” [13].

Una vez se tienen todos los footprints creados con sus respectivos pads, se dispone a

hacer el Layout de la PCB, lo cual significa colocar los distintos componentes dentro

del Outline en la mejor distribución posible. Se intentará colocarlos de una manera

lógica para que, una vez impresa la placa, las distintas estructuras que se han creado

sean lo más intuitivas posibles de localizar. De la misma manera, el “placing” [14] de

los componentes ayuda a hacer más fácil el “routing” [15] de los mismos.

Para acabar, el último paso en el diseño de la PCB se trata del “routing”, es decir, la

conexión entre los componentes. La estrategia que se utiliza consiste en realizar el

máximo de pistas posibles por la cara Bottom, especialmente en encapsulados y

condensadores, los cuales son más complicados de soldar por la cara Top. En la los

anexos se puede ver el “routing” y la diferencia entre las pistas de la cara Bottom

(amarillo) y las de la cara Top (verdes).

Se creará un plano de masa (copper pour) en la capa Bottom para ahorrar conexiones

y dejar el diseño más simple y con más posibilidades de conexión en el resto de redes.

12.2.2. Fabricación, construcción y pruebas

Tan pronto se tiene la placa impresa y se ha comprobado que no hay ningún error, se

procede a soldar los componentes. En este caso, la estrategia que se llevará a cabo

trata de soldar primero los componentes más bajos y los encapsulados dejando para

el final los elementos más grandes y aislados.

En los anexos, se puede ver el resultado con todos los componentes ya soldados.

12.3. Placa final

12.3.1. Introducción y diseño

Siguiendo los mismos pasos llevados a cabo durante la fabricación de la PCB de

prueba, se diseñan y fabrican las dos placas finales donde irán las distintas señales.

Caben destacar algunos cambios realizados en el diseño del circuito respecto a la

placa de prueba. En primer lugar, en vez de utilizar 3 amplificadores UA741 para los

filtros, se juntarán todos en el encapsulado LM124 para poder así ahorrar espacio.

En segundo lugar, se añadirá una última etapa de amplificación después de los filtros

de manera que sea más fácil de trabajar con la señal en su procesamiento.

Page 27: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Diseño y Construcción de la Mano Robótica InMoov Alejandro Mantas Román

27

Esta etapa también se incorpora en el LM124. Para acabar, se montarán unos

conectores para poder pasar la alimentación de una placa al resto.

En los anexos se observa el esquemático de la PCB que contiene las alimentaciones,

la protección (TRACO) y dos de las señales y en la otro esquemático, el resto de

señales que incorporamos con sus respectivos conectores.

12.3.2. Fabricación, construcción y pruebas

De la misma manera que en la anterior PCB, una vez tenemos los componentes y las

placas impresas, seguiremos la misma estrategia a la hora de soldar y comprobar su

funcionamiento.

Esta vez, uniremos las dos PCBs en modo “sandwitch” para una mayor comodidad

e imagen. El resultado final se demuestra en los anexos.

13. Diseño y construcción de la mano robótica InMoov

13.1. Introducción

En lo que respecta a la mano robótica que se utilizará como prótesis, se decidió

utilizar los diseños de la mano y antebrazo del robot InMoov. La razón se debe a que,

después de hacer un análisis del mercado se decidió que por las características que

presenta la mano (open source, múltiples movimientos, archivos para impresión

3D…), era la mejor opción.

InMoov es el primer robot humanoide a escala real impreso con una impresora 3-D

y completamente open source. Este robot es el proyecto personal de Gael Langevin,

un diseñador y escultor francés que ha creado una comunidad donde gente de todo el

mundo construye su robot y comparte sus experiencias y opiniones.

A continuación, se detalla el proceso de impresión y montaje así como la lista de

materiales y piezas utilizadas.

13.2. Diseño e impresión

13.2.1. Materiales, Software e Impresora 3D

En este apartado se explican las bases utilizadas para el diseño e impresión de las

piezas. El software utilizado para pasar los archivos STL a GCODE es el Cura, un

software libre para todo tipo de impresoras. En lo que respecta al material empleado

en todas las partes de la mano y antebrazo, se emplea PLA.

13.2.2. Diseño e impresión de la mano y antebrazo

Como se comentó previamente, el diseño de la mano y antebrazo se realiza mediante

el modelo proporcionado por InMoov. Una vez descargados los archivos necesarios,

se tratan e imprimen las piezas con la impresora 3D. En las Figuras 26 y 27 se pueden

observar un ejemplo de los archivos de impresión de los dedos y las piezas ya

impresas.

Page 28: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Diseño y Construcción de la Mano Robótica InMoov Alejandro Mantas Román

28

Figura 26: Diseño de los dedos en Cura

Figura 27: Dedos impresos

13.2.3. Montaje

Una vez se tienen todas las piezas impresas y preparadas, se procede a su montaje.

La estrategia utilizada en el ensamblaje será la siguiente: el montaje de la mano y del

antebrazo se harán por separado hasta llegar a la muñeca, donde se unen.

Mano

Primeramente, se procederá al montaje de los dedos. El siguiente paso es el montaje

de la palma de la mano y los tendones. La mano tiene 2 agujeros por cada dedo por

los que pasar los tendones. Incorpora también un tercer agujero por el que se pueden

pasar cables eléctricos si en un futuro se quieren añadir sensores en los dedos.

Una vez se tienen todas las piezas de la palma y los dedos unidas y se han pasado los

tendones, se une la mano a la muñeca e incorporamos los embellecedores de la mano.

Antebrazo

Por si hace falta realizar alguna modificación posterior, se monta sólo la parte

exterior del antebrazo ya que es donde van incorporados los servomotres.

Seguidamente, se fija en el antebrazo el soporte para los servomotores y los tensores

de los tendones y se acopla a la muñeca. El resultado final se muestra a continuación

en la Figura 28 y se puede consultar una descripción más detallada del proceso de

montaje en los anexos.

Page 29: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Presupuesto Alejandro Mantas Román

29

Figura 28: Brazo InMoov

14. Presupuesto A continuación, se mostrará el presupuesto del proyecto separando la construcción

de la mano de la parte de tratamiento de la señal. Los precios mostrados en el

presupuesto incluyen el 21% de IVA.

Unidades Descripción Precio/Unidad (€) Importe

(€)

Montaje mano

6 Servomotores 9.50 57

1 (20 piezas) Tornillos 2.13 2.13

2 (4 piezas) Resortes 2.53 5.06

1 .6 (1200kg) PLA 24.95 39.92

1 Hilo de pescar 1.99 1.99

Total Montaje Mano: 106.01

Recursos Hardware

1 Arduino Uno Rev 3 19 19

1 Placa de prueba 10.69 10.69

1 Placa con 2 señales 48.62 48.62

1 Placa con 3 señales 51.47 51.47

Total Recursos Hardware: 129.68

Componentes

20 Resistencia 1 kΩ 0.16 3.2

20 Resistencia 1.5 kΩ 0.124 2.48

10 Resistencia 33 Ω 0.122 2.44

20 Resistencia 38 kΩ 0.228 4.56

20 Resistencia 39 kΩ 0.296 5.92

20 Resistencia 68 kΩ 0.105 2.1

5 Resistencia 10 kΩ 0.16 0.8

5 Resistencia 100 Ω 0.039 0.16

10 Condensador película

de poliéster 1 µF

0.235 2.35

Page 30: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Presupuesto Alejandro Mantas Román

30

10 Condensador película

de poliéster 47 nF

0.228 2.28

20 Condensador película

de poliéster 10 nF

0.126 2.52

10 Condensador

electrolítico 10 µF

0.224 2.24

5 Lm 124 9.87 49.35

5 Ina 114 AP 13.60 68

5 Zócalo 8 contactos 0.594 2.97

5 Zócalo 14 contactos 0.63 3.15

5 Potenciómetro 2.26 11.3

3 Conector macho PCB 0.392 1.18

10 Terminal PCB 0.63 6.30

Total componentes: 173.3

TOTAL PRESUPUESTO PROYECTO: 408.99€

El presupuesto total del proyecto asciende a la cifra mencionada de

CUATROCIENTOS OCHO EUROS Y NOVENTA Y NUEVE CÉNTIMOS.

Page 31: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Conclusiones Alejandro Mantas Román

31

15. Conclusiones Se puede concluir que los objetivos planteados al principio del proyecto han sido

cumplidos parcialmente. Se ha montado una mano con tecnología 3-D, se ha creado

una placa PCB con el circuito de tratamiento de la señal y se ha controlado el

movimiento de los servomotores mediante señales mioeléctricas. Cabe destacar que

la idea principal era controlar cada uno de los dedos de la mano robótica con la señal

de cada uno de los músculos asociados a los dedos humanos, pero se encontraron

dificultades a la hora de diferenciar las señales y de diafonía muscular entre los

músculos. Se insiste en la dificultad añadida de trabajar con señales de este tipo y

utilizando electrodos ya que, además, los músculos que las activan y que se intentan

utilizar en este proyecto, son muy cercanos. Aun así, se ha conseguido controlar la

mano robótica con 2 señales diferentes realizando el movimiento de pinza con una y

añadiendo otras señales (dedos) a este movimiento con la otra.

Posibles aplicaciones para este proyecto podrían ser la de controlar brazos robóticos

en la industria transmitiendo la señal por Wifi o Bluetooth y que permita al operario

moverse cómodamente a la vez que controla al robot, en vez de estar frente a un

panel o con un display ocupando ambas manos. De la misma forma y, enfocado a la

industria, la posibilidad de controlar excavadoras o máquinas que dispongan de un

brazo robótico o múltiples actuadores.

De cara al futuro, se podría utilizar la información recogida en este proyecto para

realizar un mejor tratamiento de la señal de modo que se puedan diferenciar más

señales e incluso, sin centrarnos exclusivamente en el tema industrial, añadir sensores

de presión a los dedos y construir una prótesis de un brazo que se pudiera unir al

brazo amputado del paciente. Siguiendo con la idea de no utilizar electrodos de

punción, sólo superficiales, se podría hacer una base de datos con la información

recogida de cada señal y así generar un control más sofisticado de la mano. Otra

posible mejora sería encontrar la manera de que funcionase con una batería, para que

se pudiera transportar más fácilmente y diseñar una PCB más pequeña y con

componentes SMD [14] a “modo chip”. También la posibilidad que la señal llegase a

los servomotores por Wifi o Bluetooth.

Personalmente, opino que el control de la maquinaria y sistemas inteligentes

mediante señales producidas por el propio cuerpo humano (señales eléctricas de los

músculos, señales producidas por la médula espinal y las terminaciones nerviosas e

incluso algún tipo de sensor que capte las señales químicas) son el futuro de la

industria. En la actualidad se está llevando a cabo toda una renovación en el mundo

de la industria con la llamada “Industria 4.0”, que trata de conectar los sistemas

mediante internet, con este tipo de sistemas. El control de toda esta maquinaria sería

mucho más seguro, eficiente y seguramente abriría todo un mundo de nuevas

posibilidades utilizando el control por señales biológicas.

Page 32: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Anexos. Diseño PCB Alejandro Mantas Román

32

16. Anexos

16.1. Diseño PCB En este apartado se expondrán los esquemáticos y Layouts tanto de la PCB de prueba

como de las finales.

Figura 29: Esquemático Placa de Prueba

Figura 30: Routing Placa de Prueba

Page 33: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Anexos. Diseño PCB Alejandro Mantas Román

33

Figura 31: Routing con Copper Pour

Figura 32: Placa de Prueba Soldada

Page 34: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Anexos. Diseño PCB Alejandro Mantas Román

34

Figura 33: Esquemático 2 señales Placa Final

Figura 34: Esquemático 3 señales Placa Final

Page 35: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Anexos. Diseño PCB Alejandro Mantas Román

35

Figura 35: Placa Final 3 señales con Copper Pour

Figura 36: Placa Final 2 señales con Copper Pour

Page 36: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Montaje InMoov Alejandro Mantas Román

36

Figura 37: Planta Placa Final

Figura 38: Alzado Placa Final

16.2. Montaje Inmoov En este apartado se explica con más detalle el procedimiento seguido a la hora de

montar el brazo robótico. Tal y como se mencionó anteriormente, el proceso se divide

en el montaje de la mano por una parte y el montaje del antebrazo por la otra.

Mano

Primeramente, se realizará el montaje de los dedos. Para juntar las diferentes piezas

se utilizará pegamento y para sujetar las piezas que tienen que tener movimiento, se

decide utilizar ABS en vez de tornillos ya que queda más limpio y no se daña el

material.

Page 37: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Montaje InMoov Alejandro Mantas Román

37

Figura 40: Sujección con ABS

Cuando se tienen los dedos montados se continua por la palma de la mano. Se

vuelven a repasar todos los agujeros y a limar las partes que se consideren necesarias.

Después, se cortan 10 trozos de hilo de pescar de unos 75 cm de largo

aproximadamente que harán la función de los tendones para extender y contraer los

dedos. Se recomienda empezar a pasar los hilos por los agujeros antes de haber

incorporado los dedos a la mano.

Se unen entonces el resto de piezas de la palma de la mano y los dedos y se pasan los

hilos por dentro de estos.

Figura 41: Mano InMoov

Una vez se tienen todas las piezas de la palma y los dedos unidas y el hilo de pescar

pasado y atado para que no se suelte, se une la mano a la muñeca. Anteriormente, se

tiene que haber montado la muñeca. Se compone de únicamente de 3 piezas, 2 que

forman la estructura de la muñeca y la unen con la mano y el antebrazo y una tercera

que va por dentro que es un engranaje que hace rotar la muñeca y por la que se pasan

los tendones de la mano al antebrazo. Se recomienda aplicar un poco de grasa o aceite

al engranaje.

Figura 42: Aplicación de grasa al engranaje Figura 43: Construcción muñeca InMoov

Figura 39: Dedo InMoov

Page 38: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Montaje InMoov Alejandro Mantas Román

38

Por último, antes de pasar a montar el antebrazo, añadiremos los embellecedores de

la mano.

Figura 44: Embellecedores impresos Figura 45: Embellecedores mano InMoov

Antebrazo

El procedimiento de montaje del antebrazo es similar a la mano. En las Figuras 46 y

47 se observa el diseño del antebrazo en el progama Cura y su posterior impresión.

A continuación, ese empiezan a pegar las piezas del antebrazo. Se montará solamente

la cara exterior del antebrazo ya que es donde van insertados los servomotores y lo

dejaremos sin cerrar por si hay que hacer alguna modificación.

Figura 46: Diseño antebrazo con Cura Figura 47: Antebrazo Impreso

Seguidamente de pegar las piezas del antebrazo, se monta el soporte para los

servomotores y se fija con unos tornillos. Se monta también el soporte para los

tensores del hilo de pescar y añadimos los muelles.

Page 39: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Montaje InMoov Alejandro Mantas Román

39

Figura 48: Soporte Servomotores

Posteriormente, se pueden fijar los servomotores al soporte del antebrazo y al soporte

que incorpora la parte que une el antebrazo con la muñeca.

Figura 49: Servomotor muñeca

Finamente, cuando se tienen estas dos partes del brazo ensambladas por separado, se

unen mediante la muñeca y se pasan todos los hilos de pescar por los respectivos

agujeros hasta llevarlos a los servomotores, donde se atarán y fijarán para evitar que

se destensen.

Figura 50: Servomotores con hilo de pescar

Por último, se procede a cortar el resto de cable de pescar que sobra y se pega la parte

del antebrazo restante.

Page 40: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Montaje InMoov Alejandro Mantas Román

40

Figura 51: Brazo final InMoov

Page 41: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Código Utilizado Alejandro Mantas Román

41

17. Código Utilizado A continuación se presenta el código empleado para el procesamiento de la señal y

el control de los servomotores. //PROCESAMIENTO DE SEÑALES MIOELECTRICAS

// Y

// CONTROL DE SERVOMOTORES

//////////////////////////////////////////////////////////////////

//Información de utilidad a la hora de procesar la señal:

//Valores Threshold:

//1.1V=1023

//0.5V--->520-560

//0.4V--->420-480

//0.3V--->310-370

//0.2V--->240-270

//0.1V--->195

//Muestrear a 400 Hz (Paso Bajo a 200Hz) --> 2.5ms

//Inclusión de librerías que contienen las estructuras,

//variables y funciones para trabajar con servomotores y timers.

#include <SimpleTimer.h>

#include <Servo.h>

//Creación de los objetos de servomotores y timers

Servo myservo1, myservo2, myservo3, myservo4, myservo5, myservo6;

SimpleTimer timer;

//Inicialización variables

//Inicialización entradas pines analógicos

int signalpin[4] = 0, 1, 2, 3;

//Inicialización variables captación de la señal

int ADC_value_pinza =0, ADC_value_middle=0, ADC_value_ring_index=0,

ADC_value_Mu=0;

//Inicialización variable para el ángulo de los servomotores

int angulo=0;

//Inicialización variables para saber si la mano está abierta o

cerrada

int cerrado1 = 160, cerrado2 = 160, cerrado3 = 160;

//Inicialización variable inicio del programa

int inicio = 0;

//Inicialización del resto de variables del programa utilizadas

//para el contaje

int j = 0, k = 0, l = 0, i = 0, flag = 0;

//Fin inicialización variables

//Inicialización setup

void setup()

//Inicialización BAUD rate

Serial.begin (9600);

//Inicialización timer (Muestreo cada 2.5 ms).

Page 42: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Código Utilizado Alejandro Mantas Román

42

//Llama a la función "movefingers" cada 2.5 ms.

timer.setInterval (2.5, movefingers);

//Inicialización modo de referencia del ADC (5V)

analogReference (DEFAULT);

//Vinculación de pines a servomotores

myservo1.attach(2); //vincula el servo en el pin 2 al objeto

servo

myservo2.attach(3); //vincula el servo en el pin 3 al objeto

servo

myservo3.attach(4); //vincula el servo en el pin 4 al objeto

servo

myservo4.attach(5); //vincula el servo en el pin 5 al objeto

servo

myservo5.attach(6); //vincula el servo en el pin 6 al objeto

servo

myservo6.attach(7); //vincula el servo en el pin 7 al objeto

servo

//Fin setup

//Inicio función movimiento dedos

void movefingers()

//Lectura ADC para el movimiento de pinza

ADC_value_pinza = analogRead(signalpin[0]);

//Lectura ADC para el movimiento del dedo corazón

ADC_value_middle = analogRead(signalpin[1]);

//Lectura ADC para el movimiento del dedo anular y el meñique

ADC_value_ring_index = analogRead(signalpin[2]);

//Lectura ADC para el movimiento de la muñeca

ADC_value_Mu = analogRead (signalpin [3]);

//Comprobación señal adquirida en la pinza.

//Si el valor leído supera el threshold, nos

//mantenemos en el bucle hasta que vuelve a bajar de él

//para captar solamente el pico y evitar rebotes.

//Una vez sucede, se utiliza la variable "j" como flag.

if (ADC_value_pinza >= 100)

while (ADC_value_pinza<=100)

ADC_value_pinza = analogRead(signalpin[0]);

j=1;

//Comprobación señal adquirida en el dedo corazón.

//Si el valor leído supera el threshold, nos

//mantenemos en el bucle hasta que vuelve a bajar de él

//para captar solamente el pico y evitar rebotes.

//Una vez sucede, se utiliza la variable "k" como flag.

if (ADC_value_middle >= 100)

while (ADC_value_middle<=100)

ADC_value_middle = analogRead(signalpin[1]);

Page 43: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Código Utilizado Alejandro Mantas Román

43

k=1;

//Comprobación señal adquirida en el dedo anular e índice.

//Si el valor leído supera el threshold, nos

//mantenemos en el bucle hasta que vuelve a bajar de él

//para captar solamente el pico y evitar rebotes.

//Una vez sucede, se utiliza la variable "l" como flag.

if (ADC_value_ring_index >= 100)

while (ADC_value_ring_index<=100)

ADC_value_ring_index = analogRead(signalpin[2]);

l=1;

//Mapeo señal adquirida por ADC sobre la muñeca

//Se escribe el ángulo de rotación de esta según el joystick

angulo=map(ADC_value_Mu,0,1023,0,180);

myservo6.write (angulo);

//Movimiento dedos:

//Movemos servomotores de pinza.

//Si el flag está activo y los dedos están abiertos,

//Se escribe el ángulo de giro de los servomotores para

//cerrar los dedos pulgar e índice.

if ((j == 1) && (cerrado1 == 160))

myservo1.write (180);

myservo2.write(180);

//Reset de flag.

j=0;

//Dedos pasan a estar cerrados.

cerrado1 = 250;

//Si el flag está activo y los dedos están cerrados,

//Se escribe el ángulo de giro de los servomotores para

//abrir los dedos pulgar e índice.

if ((j == 1) && (cerrado1 == 250))

myservo1.write (0);

myservo2.write(0);

//Reset de flag.

j=0;

//Dedos pasan a estar abiertos.

cerrado1 = 160;

//Movemos servomotores de corazón

//Si el flag está activo y el dedo está abierto,

//Se escribe el ángulo de giro del servo para

//cerrar el dedo corazón.

if ((k == 1) && (cerrado2 == 160))

myservo2.write (180);

myservo3.write(180);

//Reset de flag.

k=0;

//Dedo pasa a estar cerrado

cerrado2 = 250;

Page 44: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Código Utilizado Alejandro Mantas Román

44

//Si el flag está activo y el dedo está cerrado,

//Se escribe el ángulo de giro del servo para

//abrir el dedo corazón.

if ((k == 1) && (cerrado2 == 250))

myservo2.write (0);

myservo3.write(0);

//Reset de flag

k=0;

//Dedo pasa a estar abierto

cerrado2 = 160;

//Movemos servomotores anular e índice

//Si el flag está activo y los dedos están abiertos,

//Se escribe el ángulo de giro de los servomotores para

//cerrar los dedos anular y meñique.

if ((l == 1) && (cerrado3 == 160))

myservo4.write (180);

myservo5.write(180);

//Reset flag

l=0;

//Dedos pasan a estar cerrados

cerrado3 = 250;

//Si el flag está activo y los dedos están cerrados,

//Se escribe el ángulo de giro de los servomotores para

//abrir los dedos anular y meñique.

if ((l == 1) && (cerrado3 == 250))

myservo4.write (0);

myservo5.write(0);

//Reset flag

l=0;

//Dedos pasan a estar abiertos

cerrado3 = 160;

//Fin movimiento dedos

//Fin función movimiento dedos

//Inicialización loop

void loop()

//Si es la primera vez que se ejecuta el programa,

//se mueven los dedos a un estado inicial por si en

//una anterior ejecución han quedado abiertos o cerrados.

if (inicio == 0)

myservo1.write (60);

//Ya se ha iniciado el programa

inicio = 1;

//Timer empieza a contar.

timer.run();

//Fin función loop

//Fin programa

Page 45: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Ensayos Alejandro Mantas Román

45

18. Ensayos En este apartado se mostrarán algunos de los ensayos realizados en el proyecto para

la captación de la señal. Cómo colocar los electrodos para diferenciar las señales y

las diferentes pruebas que se hicieron.

Primeramente, se utilizó un electroestmulador para intentar encontrar la posición

exacta de los electrodos para mover solamente uno de los dedos como se puede

observar en la Figura 52. Posteriormente, con la información adquirida por el

electroestimulador y utilizando la primera placa impresa, se realizaron pruebas para

encontrar una señal mioeléctrica lo más aislada posible del resto de señales del brazo.

Es decir, que solamente captase la señal de movimiento de uno de los dedos y que

cuando el resto se moviesen, no captase nada o señales de amplitud baja en

comparación, ya que en dedos como el corazón y el anular es difícil no mover el uno

sin el otro. A continuación se muestran algunas imágenes de las pruebas de captación

y el resultado mostrado por un osciloscopio:

Figura 52: Captación con Electroestimulador Figura 53: Captación de señal dedo índice

Figura 54: Resultados Señal Dedo Índice

Page 46: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Ensayos Alejandro Mantas Román

46

Figura 55: Captación Dedo Corazón

Figura 56: Resultados Señal Dedo Corazón

Figura 57: Captación Dedo Anular

Page 47: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Ensayos Alejandro Mantas Román

47

Figura 58: Resultados Dedo Anular

Como se puede comprobar las señales son muy diferentes dependiendo de los dedos.

Aunque se puede diferenciar el pico de la señal cuando se mueve un dedo del ruido,

aún tenemos mucho y hay señales que no se acaban de diferenciar lo bien que

deberían. Por ello, una vez aplicadas las mejoras explicadas en el apartado de

“Diseño y Construcción de una placa PCB” a la PCB final, somos capaces de hacer

pruebas con más de una señal y ver si realmente hay interferencias entre canales al

estar estos más cerca de lo deseado.

Figura 59: Resultado Dedo Anular y Meñique Figura 60: Captación Dedo Anular y Meñique

Se puede observar que la amplitud del ruido de la señal es mucho menor en relación

al pico de la señal, y que el movimiento de uno de los dedos provoca un pequeño

pico en la lectura de la otra señal, pero es fácil detectar que no es el correcto. También

se pudo comprobar que se puede mover tanto un dedo y luego el otro como ambos a

la vez, sin producir interferencias sustanciales en el otro canal.

Una vez realizadas todas las pruebas con las placas y ya se sabe dónde colocar los

electrodos para no tener interferencias de canal, se prueba con la mano InMoov.

Page 48: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Tecnicismos Alejandro Mantas Román

48

19. Tecnicismos [1] Bootloader: Es el gestor de arranque. Una parte de código que se ejecuta antes

que el sistema operativo corra y se utiliza para arrancar otro sistema operativo.

[2] Protocolo STK500: Es un protocolo serie propio de Atmel. El bootloader del

ATMega328p se comunica utilizando este protocolo.

[3] ICSP: In Circuit Serial Programming. Es un método de programación de

microcontroladores.

[4] Arduino ISP: Es un In System Programmer que es usado para programar

microcontroadores AVR (familia de microcontroladores de Atmel). Se utiliza para

subir los códigos (sketch) directamente a la placa sin necesidad de bootloader.

[5] Polifusible reseteable: componente electrónico pasivo utilizado para proteger

ante cortocircuitos.

[6] Motoneurona: neurona del sistema nerviso central que proyecta su axón hacia un

músculo o glándula.

[7] Electrolito: sustancia que contiene en su composición electrones libres y, por

tanto, hace que se comporte como un conductor eléctrico.

[8] Diafonía muscular: La diafonía muscular es causada por señales EMG

procedentes de otros músculos distintos de los que se está supervisando. Sucede

cuando una señal perturba a otra.

[9] Sobremodulación: fenómeno en el cuál la onda moduladora excede el nivel

máximo de modulación.

[10] Deadband: es una frecuencia o una banda de señales en la cual no hay acciones

y el sistema es inoperativo. Se utiliza en reguladores de voltaje y otros controladores.

[11] Footprint: “huella” del componente. Se crea un footprint del componente para

poder hacer las conexiones del circuito y tener las medidas reales de éste.

[12] Pad: una porción de material alrededor del orificio que nos permite soldar el

componente a la placa.

[13] Tecnología Through hole: tecnología donde los pines de los componentes

atraviesan la placa y pueden ser soldados en distintas caras.

[14] Tecnología SMD: tecnología donde los pines de los componentes no atraviesan

la placa y son soldados en la misma cara.

Page 49: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Referencias Bibliográficas y audiovisuales Alejandro Mantas Román

49

Referencias Bibliográficas y audiovisuales

Albino, Eutropio. (http://slideplayer.es/slide/2261867/). (2015). Bases de la electromedicina.

[Tipo: Presentación visual]. Espanya: SlidePlayer.

Larrubia, Rafa. (https://www.youtube.com/watch?v=P9nfWO4lWd8). (2014). Mano articulada

arduino. [Tipo: Presentación visual]. Espanya: Youtube.

Castillo, Elber. (https://www.youtube.com/watch?v=ndc6NyDmjcI). (2013). Identificación de

movimientos del antebrazo usando señales EMG). [Tipo: Presentación visual]. Colombia: Youtube.

TechRadar. (https://www.youtube.com/watch?v=3nnrstBxomk). (2016). 3D printing yourself a

hand: Deus Ex’s bionic limbs are being made for real by Open Bionics. [Tipo: Presentación visual].

UK: Youtube.

TEDx Talks. (https://www.youtube.com/watch?v=V4UQU4392wM). (2014). Bionic limbs

integrated to bone, nerves, and muscles | Max Ortiz Catalan | TEDxGöteborg. [Tipo: Presentación

visual]. EU: Youtube.

Kenneteh, V. (https://www.youtube.com/watch?v=KSP4o_WCqVs). (2015). (3D Printed

Controllable Prosthetic Hand via EMG). Youtube.

Europa press (25 Enero 2018). España, segundo país con más amputaciones de miembros inferiores

por diabetes tipo 2. El Norte de Castilla. Recuperado el día 23 de Marzo de 2018 de:

http://www.elnortedecastilla.es/sociedad/salud/espana-segundo-pais-20180125143229-ntrc.html#

Historia de Arduino (2015) Consultado el día 19 de Marzo de 2018 desde:

http://industrino.es/historia-de-arduino/

Arduino (2018). Arduino uno smd rev3 smd. Consultado el día 19 de Marzo de 2018 de:

https://store.arduino.cc/arduino-uno-smd-rev3

Masso, Núria; Rey, Ferra; Romero, Dani; Gual, Gabriel; Costa, Lluís; Germán, Ana. (2010).

Aplicaciones de la electromiografía de superficie en el deporte. Apunts: Medicina de l’esport, v.45

(165). Recuperado el 5 de Abril de 2018 desde:

http://appswl.elsevier.es/watermark/ctl_servlet?_f=10&pident_articulo=13151497&pident_usuari

o=0&pcontactid=&pident_revista=277&ty=58&accion=L&origen=bronco%20&web=www.apunts.o

rg&lan=es&fichero=278v45n166a13151509pdf001.pdf&anuncioPdf=ERROR_publi_pdf.

Gutiérrez-Rivas, E.; Jiménez, M.D.; Pardo, J.; Romero, M. (2013). Manual de Electromiografia

Basica para Neurologos. Axon. Recuperado el 9 de Abril de 2018 desde:

http://www.axon.es/axon/LibroFicha.asp?Libro=96377&T=MANUAL+DE+ELECTROMIOGRAFIA+BAS

ICA+PARA+NEUROLOGOS

Soderberg, GL; Knutson, LM. (2000). A guide for use and interpretation of kinesiologic

electromyographic data. NCBI: PhysTher, 80(5):485-98. Consultado el 9 de Abril de 2018 desde:

https://www.ncbi.nlm.nih.gov/pubmed/10792859

Fridlund, AJ; Cacioppo JT. (1986). Guidelines for human electromyographic research. NCBI:

Psychophysiology, vol. 23(5): 567-598. Recuperado el 9 de Abril de 2018 desde:

https://www.ncbi.nlm.nih.gov/pubmed/3809364

Campos, S. (2018). El día que Marta superó a su pierna. ABC. Recuperado el 15 de Abril desde:

http://www.abc.es/deportes/abci-marta-supero-pierna-201805110222_video.html

EFE. (2018). Trasplantan a un niño chino una mandíbula creada con una impresora 3D por primera

vez. ABC. Consultado el 15 de Abril desde: http://www.abc.es/sociedad/abci-trasplantan-nino-

chino-primera-mandibula-creada-impresora-201804182046_noticia.html

Page 50: Alejandro Mantas Román Lectura de señales bioeléctricas y ...deeea.urv.cat/public/PROPOSTES/pub/pdf/2517pub.pdf · Arduino Alejandro Mantas Román 7 4. Arduino 4.1. Definición

Referencias Bibliográficas y audiovisuales Alejandro Mantas Román

50

Meza, D. (2018). Joven construyó una prótesis de brazo para sí mismo de Lego. N+1. Consultado el

15 de Abril desde: https://nmas1.org/news/2018/03/15/lego-brazo

TeleSur. (2017). Científicos desarrollan prótesis que detecta señales neuronales. TeleSur.

Recuperado el 20 de Abril de 2018 desde: https://www.telesurtv.net/news/Cientificos-desarrollan-

protesis-que-detecta-senales-neuronales-20170206-0033.html

Gregori, J. (2017). Desarrollan el mejor brazo “artificial”. Ciencia y tecnología. Cadena Ser.

Recuperado el 20 de Abril de 2018 desde:

http://cadenaser.com/ser/2017/02/06/ciencia/1486401695_131109.html

Iriberri, A. (2016). Así es el Princesa de Asturias de Investigación Científica y Técnica 2016. El

Español. Consultado el 20 de Abril de 2018 desde:

https://www.elespanol.com/ciencia/20160601/129237199_0.html

Norton, K. (2007). Un breve recorrido por la historia de la protésica. Amputee coalition, 17,7

Webster, John G. (2010). MEDICAL INSTRUMENTATION. Application and Design (4a ed.) Estados

Unidos de América: John Wiley & Sons, INC

Lorena Alvarez Osorio (2007). Acondicionamiento de Señales Bioelécticas. Universidad Tecnológica

de Pereira.

Jorge Brazeiro, Sabrina Petracia y Matías Valdés (2015). Mano controlada por señales musculares.

Universidad de la República de Uruguay.

Jeffrey R. Cram (2011). Cram’s Introduction to Surface Electromyography (4ª ed.). Massachusetts:

Jones and Bartlett Pubishers.

V. Florimond. Basics of Surface Electromyography. Applied to Physical Rehabilitation and

Biomechanics (2010).

Comité español de Automática (CEA) (2011). Evaluación de la Función Neuromuscular del

Antebrazo durante contracciones isométricas mediante Electromiografía de Superficie Multicanal. 8,

2, 35-44.

Carlo J. De Luca (1997). The Use of Surface Electromuuography in Biomechanics. Journal of Applied

Biomechanics 13, 135-163.