sistema de control de movimiento para prótesis de mano.

Anuncio
SISTEMA DE CONTROL DE MOVIMIENTO PARA PRÓTESIS DE
MANO.
TRABAJO DE GRADO PARA OPTAR POR EL TÍTULO DE
INGENIERO MECATRÓNICO
AUTOR: WILLINGTON JAIME ARCOS LEGARDA
UNIVERSIDAD DE PAMPLONA
FACULTAD DE INGENIERÍAS Y ARQUITECTURA
PROGRAMA DE INGENIERÍA MECATRÓNICA
PAMPLONA COLOMBIA
MAYO DE 2005
TABLA DE CONTENIDO
INTRODUCCIÓN
I
OBJETIVOS
III
JUSTIFICACIÓN
IV
1. ANTECEDENTES.
1
2. SENSORES EN PRÓTESIS DE MANO.
5
2.1. Descripción Técnica de Los Sensores Artificiales.
10
2.2. Sensor de fuerza.
13
2.2.1. Galgas extensiométricas.
14
2.2.2. Diseño del Transductor.
16
2.2.3. Análisis de Resultados y Justificación de Decisiones.
31
2.3. Propioceptor Artificial.
33
2.4. Sensor De Sobrecorriente.
35
3. CONTROLADOR.
37
3.1. Controlador Digital.
43
3.2. Sistemas de Control con Lazo Cerrado.
47
4. INTERFAZ DE USUARIO.
54
4.1. Descripción.
54
4.2. Programa en Matlab para Interfaz.
56
4.3. Programa en Mplab Asm para Comunicación Serial.
64
5. MIOELECTRICIDAD.
66
5.1. Origen de los Potenciales Bioeléctricos.
66
5.2. Membrana Celular.
67
5.3. Potencial de Acción.
68
5.4. Electrodos para Biopotenciales.
70
5.5. Origen de las señales EMG,
73
5.6. Interfaz Hombre-Maquina
75
CONCLUSIONES.
84
BIBLIOGRAFÍA.
88
ÍNDICE DE FIGURAS
Figura 1.1. Prótesis convencional accionada por el cuerpo, Extraída de [16].
2
Figura 1.2. Prótesis controlada eléctricamente con señales bioeléctricas,
Extraída de [16].
2
Figura 1.3. Prótesis controlada por voz, Extraída de [16].
2
Figura 1.4. Prótesis hibrida, Extraída de [16].
3
Figura 2.1.Receptores Sensoriales de la piel, Extraída de [24].
7
Figura 2.2. Puente de Wheastone. [Autor]
14
Figura 2.3. Configuraciones de Strain Gages[vishay]
16
Figura 2.4. Diagrama típico para el diseño del transductor de presión. [vishay]. 20
Figura 2.5. a) Cuerpo Del Sensor De Fuerza. b) Pastilla De Presión.
c) Conjunto Del Sensor De Fuerza.[Autor(Solid edge)]
32
Figura 2.6. Amplificación y acondicionamiento de galga extensiométrica.
[Elaborada por el Autor (Proteus)]
33
Figura 2.7. Diagrama de Bloques Para Programación Directa.
[Elaborada por el Autor (Simulink)]
34
Figura 2.8.Circuito del Sensor de corriente para un Motor DC.
[Elaborada por el Autor (Proteus)].
Figura 3.1. Diagrama de Flujo del Controlador para UNPROT1.
36
[Elaborada por el Autor (Corel)]
41
Figura 3.2. Estructura básica del controlador. [Elaborada por el
Autor (Corel)]
43
Figura 3.3.Controlador Digital PID dado por la ecuación (3.4.).
[Elaborada por el Autor (Simulink)]
45
Figura 3.4.Controlador Digital P dado por la ecuación (3.5.).
[Elaborada por el Autor (Simulink)]
46
Figura 3.5.Controlador Digital PI dado por la ecuación (3.6.).
[Elaborada por el Autor (Simulink)]
46
Figura 3.6.Arquitectura Detallada del sistema Control con lazo cerrado.
[Elaborada por el Autor (Corel)]
47
Figura 4.1. Ventana de Interfaz de Comando para UNPROT1.
[Elaborada por el Autor (Guide)]
56
Figura 5.1 Estados Transitorios De Un Biopotencial, extraida y
adaptada de [1].
70
Figura 5.2. Electrodo Sobre La Piel, extraída de [1].
71
Figura 5.3. a) Configuración de los electrodos monofásica.
b) Configuración de los electrodos bifásica, extraída y adaptada de [13].
73
Figura 5.4. Diagrama de unidad motora, extraída [10].
75
Figura 5.5.Circuito de Amplificación para Señales Mioeléctricas,
Cuatro Canales [Elaborada por el Autor (Proteus)]
79
Figura 5.6. Respuesta en Frecuencia de los Filtros.
[Elaborada por el Autor (Matlab)]
80
Figura 5.7.Circuito de Interfaz PC – Tarjeta de Comunicación
con el Controlador de servos. [Elaborada por el Autor (Proteus)]
82
Figura 5.8. Tipos diferentes de agarres, extraída [18]
82
Figura 5.9. UNPROT2.
83
INTRODUCCION
En el presente trabajo, el lector encontrará información acerca de la Arquitectura de
Control, Sensórica e Interfaces para prótesis de mano. La información aquí expuesta ha
sido recogida del trabajo realizado con el grupo de Investigación en Biomecánica y
Optimización de la Universidad Nacional de Colombia, sede Bogotá, en los proyectos de
prótesis de mano UNPROT1 Y UNPROT2.
El proyecto UNPROT1 es una prótesis de un grado de libertad para amputación metacarpal.
Para ésta se diseñó una estrategia de control con un controlador embebido en un dsPIC, un
grupo de sensores que midan algunas de las variables que percibe una mano humana no
lesionada y una interfaz entre el PC y la prótesis con un entorno de Windows y bajo el
lenguaje de Matlab.
UNPROT2 es un proyecto de prótesis en el cual se trabajó con adquisición y
acondicionamiento de señales mioeléctricas para extraer órdenes de control para las que se
requieren siete comandos distintos para programar el posicionamiento de 10 servos. En
ambos proyectos se consideran amputaciones metacarpales y se comunica el PC con los
dispositivos por el puerto serial vía RS232.
En el proyecto se encuentra reflejado el esfuerzo por solventar necesidades que una persona
con amputación metacarpal tiene, tanto con su invalides, como con los problemas externos
I
que provoca el no tener acceso a una prótesis con una prestación de servicios más elevada y
facilidad de adaptación.
Hace parte de un trabajo conjunto del grupo de investigación en Biomecánica y
Optimización que busca obtener resultados que engrandezcan la funcionalidad de las
prótesis, con los mejores diseños Mecánicos, Electrónicos, Control y Biomecatrónicos en
general.
II
OBJETIVOS
Objetivo General:
Desarrollar un sistema de control de movimiento para prótesis de mano.
Objetivos Específicos:
1. Diseñar un sensor-transductor de movimiento.
2. Estructurar una estrategia de control de movimiento con un sistema embebido.
3. Construir una interfaz con entorno Windows para manejo de un prototipo de
prótesis de mano.
4. Implementar comandos de apertura y cierre de la prótesis de mano a partir de
señales mioeléctricas.
III
JUSTIFICACIÓN
Para entender los problemas que tiene una persona con amputación de mano, se requiere de
un cambio de paradigmas en el sentido de lo que significa acostumbrarse a vivir con la falta
de un órgano, y preguntarse: ¿Cuáles serán sus verdaderas discapacidades? ¿Se pueden
devolver algunas habilidades? Y, si pueden identificarse, ¿Cuáles escoger para solventar las
necesidades primarias?
En la actualidad es numerosa la población que sufre amputaciones por distintas razones
como diabetes, explosiones, conflictos bélicos y otras cuantas que nacen con amputaciones
congénitas. Es esta la población hacia quien se orienta este proyecto.
IV
1. ANTECEDENTES
Las prótesis de mano que en la actualidad existen pueden ser divididas en dos grupos: las
Funcionales o Activas y las Cosméticas o Pasivas. Las prótesis pasivas tienen como
finalidad reproducir el brazo o mano con la apariencia de los órganos reales y con el peso
aproximadamente igual al de la sección de extremidad perdida. Este tipo de prótesis tiene
un costo bajo y no requiere de mantenimiento muy seguido. También se pueden encontrar
prótesis pasivas que, en lugar de querer dar una mejor apariencia, se orientan a
proporcionar entre otras opciones una herramienta como una pinza o un garfio [28].
Las prótesis funcionales o activas se encuentran divididas por el tipo de comandos a los que
responden, como las accionadas por el cuerpo o mecánicas Figura 1.1, eléctricamente
como las bioeléctricas [17] Figura 1.2 y las gobernadas por voz [16] Figura 1.3. Finalmente
están las híbridas que son accionadas con controles eléctricos y mecánicos. Un ejemplo de
ellas son las utilizadas para amputados por encima del codo que lo flexionan mientras giran
la muñeca o accionan el agarre de un objeto Figura 1.4. Estas prótesis activas están en
desventaja con las pasivas en el sentido de que tienen mayores elementos que integrar para
elevar la funcionalidad característica que hace que se eleve el peso y el costo monetario.
1
Figura 1.1. Prótesis convencional accionada por el cuerpo, Extraída de [16].
Figura 1.2. Prótesis controlada eléctricamente con señales bioeléctricas, Extraída de [16].
Figura 1.3. Prótesis controlada por voz, Extraída de [16].
2
Figura 1.4. Prótesis hibrida, Extraída de [16].
En muchas ocasiones nos damos cuenta de que los pacientes no se sienten conformes con
las prótesis por muchas razones entre las que se distinguen las siguientes: sicológicas,
inconvenientes del manejo, dolor o poca funcionalidad, detalles que finalmente llevan al
paciente a pensar que esa dificultad para realizar las actividades distan mucho de las que
lograban con el miembro original. La cosmetología moderna y la Mecatrónica han logrado
disminuir la grotesca apariencia de las prótesis hasta llegar a poder reproducir en ellas
incluso el mismo tipo de piel, color, vello y anatomía en general [18].
Las prótesis con mejores prestaciones en la actualidad son las de OTTO BOCK que poseen
una gran fuerza de prensión, pero con un significativo peso y un costo que no se encuentra
al alcance de la población promedio.
En el año 2006 la Policía Nacional firmó la
continuación de un contrato para el suministro de prótesis y repuestos, con la asociación
OTTO BOCK HEALTH CARE ANDINA TD para los militares mutilados en el desarrollo de
3
los conflictos armados. En dicho contrato se encuentra que el costo de una prótesis
mioeléctrica debajo del codo con mano, unidad de giro y guante cosmético asciende a
$29’500.000 pesos y una por arriba del codo, con mano y guante cosmético $52’500.000
pesos.
En la actualidad existen asociaciones que trabajan en busca de soluciones eficaces a las
carencias de un amputado como en el caso de Cyberhand (Cibermano) quienes buscan
lograr comunicar el cerebro con la prótesis y viceversa.
4
2. SENSORES EN PRÓTESIS DE MANO
El sistema humano dispone de un conjunto muy completo de nervios y mecanismos
destinados a la adquisición de señales, con información sobre el entorno en el que se
encuentra un individuo y es claro que la información sensitiva es percibida en gran parte
por los tejidos superficiales de la mano, ya que es ésta la parte del cuerpo que más contacto
tiene con el exterior por ser un órgano-herramienta y con la cual puede llevarse a cabo la
manipulación de la mayoría de los objetos [28]. Así pues, de entre los mecanismos
sensoriales que están contenidos en la mano, nos centraremos en los denominados Sentidos
Somáticos [23], los cuales son capaces de detectar y/o estimar las sensaciones táctiles y de
posición de los tejidos humanos.
Los sensores artificiales instalados en prótesis de mano tienen como finalidad obtener
algunas señales, al igual que lo percibe el sistema fisiológico humano y que convierte
dichos estímulos externos en diferencia de potencial (voltaje), pues al igual que una mano
humana necesita de los receptores táctiles para controlar su movimiento y preservar su
existencia e integridad, una prótesis de mano necesitará de sensores que le indiquen las
variadas condiciones a las que se puede ver expuesta como son: la temperatura, la
humedad, la presión, la vibración, etc. Teniendo en cuenta que para el ser humano éstas son
actividades muy sencillas y que el sistema sensorial humano ha evolucionado y se ha
perfeccionado con el paso del tiempo nos damos cuenta de que el desarrollo de éstas
labores con sensores artificiales es mucho más complicado.
5
Entonces, además de los sensores para conocer las variables externas a las que se encuentra
expuesta la prótesis de mano, se requiere de un conjunto de otros que valoren los cambios
provocados en el entorno por la acción que la prótesis logra, e incluso por las variables
propias e internas, las cuales hacen parte del diseño intrínseco que tiene una prótesis activa
y entre las que se contemplan las siguientes: Contacto, Deslizamiento, Fuerza aplicada a un
objeto en el agarre, Velocidad de movimiento, Posición, etc. De esto se sigue que, el hecho
de considerar la medida de estas variables nos hace reconocer que son los mismos
fenómenos que siente un ser humano y que, precisamente, es esa la razón de la sensórica
para las prótesis en general, es decir, cubrir o solventar las habilidades que tenía el paciente
antes de tener una amputación.
Por otra parte los sentidos somáticos del sistema humano se dividen en tres grupos:
Mecanorreceptores, Termorreceptores y De dolor. La mayor parte de los receptores
sensoriales del sistema somático son los mecanorreceptores que están distribuidos por todo
el cuerpo y son sensibles a las deformaciones físicas. En el centro de cada mecanorreceptor
existen ramas de axones que poseen canales iónicos Mecanosensibles cuya apertura
depende de la tensión de la membrana o tejido que lo rodea. Por esto es posible distinguir
dos tipos de piel según los Mecanorreceptores predominantes en esa sección: los tipos de
piel lampiña o glabra, que es la piel sin pelo como la de las palmas de las manos, y el otro
es la hirsuta que aparece, por ejemplo, en el dorso de la mano y los brazos, en la figura 2.1.
Aparecen la mayoría de los Mecanorreceptores [23], [30].
6
Figura 2.1.Receptores Sensoriales de la piel, Extraída de [24].
Mecanorreceptores conocidos:
•
El corpúsculo de Pacini.
•
Terminal de Ruffini.
•
Corpúsculo de Meissner.
•
Mecanorreceptores de los Folículos Pilosos.
Todas las células del cuerpo son sensibles a la temperatura porque los cambios en ésta
provocan variaciones sustanciales en los procesos químicos que se efectúan dentro de la
célula y entre todas las células que componen los tejidos formadores del cuerpo, las
cerebrales son las más estrictas en cuanto a los niveles de temperatura se refiere ya que
estos niveles no puede salirse del margen de entre 37º C. y 40,5ºC. De esta manera, debido
a las actividades que llevan a cabo, requieren una estabilidad muy estricta porque existen
neuronas especializadas en ser receptoras de temperatura denominadas Termorreceptores y
7
que tienen la capacidad de distinguir cambios de por lo menos 0.01ºC. Estos receptores
están ubicados especialmente en la piel y detectan sobre todo cambios súbitos, además de
contar con la capacidad de adaptarse a estímulos de larga duración como sucede al meter la
mano en el agua que cae de la ducha. En este caso, en un principio puede parecer muy
caliente o fría según el caso, pero en un pequeño lapso de tiempo el cuerpo se adapta y
finalmente puede soportar la temperatura sin mayores molestias [30].
Los Nociceptores, más conocidos como los receptores de dolor, juegan un papel
trascendental en la supervivencia y el mantenimiento de la integridad del individuo y se los
puede encontrar como: receptores Mecánicos, para medir presiones excesivas, Térmicos,
para detectar calor o frió extremo y Químicos, que son los que perciben el ph excesivo y al
mismo tiempo determinados iones o sustancias neuroactivas, etc. Los Nociceptores se
encuentran presentes y repartidos por todo el cuerpo (piel, músculos, huesos, órganos
internos, vasos sanguíneos, corazón), excepto en el cerebro [30].
Pero hay que tener en cuenta que además de estos receptores en el sistema somato-sensorial
están otros como los Propioceptores que se encargan de la percepción de la posición
relativa de los miembros del cuerpo como los movimientos, la velocidad, etc.
En la implementación de sensores con características cercanas a las que tiene el cuerpo
humano se requiere una estrategia de instrumentación y sensórica artificial. Con una
instrumentación debida se logra replicar los sentidos Mecanorreceptores, Propioceptores y,
de cierta manera, también los Nociceptores para instalarlos en una prótesis de mano con lo
8
que se intenta brindar al paciente amputado facilidades en el manejo de su extensión
artificial y preservar el funcionamiento óptimo de la misma.
Pero para esto, primero hay que saber que los sensores se clasifican según el principio que
tenga su transductor para convertir la señal física medida y pasarla a diferencias de
potencial o códigos entendibles por el procesador. Los tipos de sensores artificiales que
cumplen algunas de las funciones de los Mecanorreceptores son las Galgas
Extensiométricas, Los Sensores Capacitivos, Resistivos, Piezoeléctrico, de Efecto Hall,
Celdas de Carga, Acelerómetros, Biopotenciales, Sensores Basados en Análisis de Color,
etc. En la tabla 2.1. aparece un paralelo entre algunos sensores artificiales y biológicos [22].
Tabla 2.1: Sensores Biológicos y Artificiales
Estímulo y
Características
Sensor
Biológico
Sensor
Artificial
Fuerza:
Medida
de
presión aplicada por una
zona del dispositivo de
agarre. Puede ser medida
con algún dispositivo
externo.
Terminales
Nerviosas, Merkel,
Ruffini, Paccini.
Galgas,
Piezoeléctricos,
Celdas de Carga.
Tacto: Medida continua
de las fuerzas ejercidas
en un vector. Proporciona
información muy difusa
sobre el contacto.
Terminales
Nerviosas, Merkel,
Ruffini.
Resistivos,
Capacitivos.
Contacto: Medida de
simples contactos, debida
a las fuerza ejercidas en
pocos puntos de la
superficie.
Permite
Meissner, Órgano
Terminal del pelo,
Paccini.
Resistivos,
Capacitivos,
Magnetoresistor.
9
determinar la distribución
de las fuerzas de contacto
e
identificar
características del objeto.
Deslizamiento: Medida
de la mínima fuerza que
hay que ejercer para
agarrar
un
objeto
produciendo la suficiente
fricción para detenerlo
entre las superficies de
contacto.
Meissner, Órgano
Terminal del pelo.
Acelerómetros,
Micrófonos,
Rodadores.
Posición: Medida de la
situación de los puntos
más característicos del
objeto en las superficies
táctiles
Meissner, Merkel.
Resistivos,
Capacitivos,
Ópticos.
2.1. Descripción Técnica de Los Sensores Artificiales.
Si partimos de que, un sensor está constituido por un transductor encargado de convertir la
variable medida en una diferencia de potencial encontraremos que los sensores artificiales
se caracterizan por encontrarse en contacto con el proceso mencionado y normalmente
extraen energía del mismo entendiendo que la diferencia de potencial es una señal de
voltaje, corriente o presión. Así las cosas, en el trabajo expuesto, se utilizan las señales de
voltaje de acuerdo a su relativa facilidad de manejo y fácil acceso a los dispositivos para
procesar la información contenida en la señal. Entonces, después del paso de la información
por un transductor, es sometida a una etapa de acondicionamiento en la cual se filtra el
ruido, se amplifican los niveles de voltaje para que estén dentro de un rango apreciable de
10
tal forma que el proceso de conversión análogo digital tenga mayor resolución. Pero es
pertinente tener en cuenta que la mayor importancia de la amplificación radica en que no se
pierda la señal en las líneas que la comunican con el resto del hardware por causa de caídas
de potencia en la resistencia de dichas líneas porque el proceso de conversión de análogo a
digital se realiza con el fin de codificar el valor medido para que un procesador digital
realice el computo concerniente para la toma de decisiones.
Los sensores tienen dos tipos de características: las Estáticas y las Dinámicas. Entre las
primeras se encuentran las siguientes:
Rango: Es el espectro continuo de valores de la variable que pertenece a los limites
superior e inferior de la capacidad del instrumento que viene expresado por dos valores
extremos y está acompañado de las unidades.
Alcance: Es la diferencia algebraica entre los valores superior e inferior.
Precisión: Es la tolerancia o desviación máxima entre el valor medido y el valor teórico.
Exactitud: Es la capacidad de obtener el valor más cercano al valor real de la magnitud
física.
Alinealidad: Máxima desviación de la respuesta real a la respuesta lineal deseada.
Sensibilidad: Partiendo desde una posición de reposo es la razón entre el incremento en la
lectura y el incremento en la señal que origina el cambio.
Histéresis:
Es la diferencia máxima que se observa en los valores indicados por el
instrumento para el mismo valor dentro del campo de medida cuando la variable recorre
toda la escala en los sentidos ascendente y descendente.
11
Entre las características Dinámicas de los sensores encontramos:
Tiempo de Respuesta: Es el tiempo que tarda el instrumento en alcanzar el 63% del
cambio de la señal de entrada que generalmente se representa con la letra tao.
Tiempo Muerto: Es el tiempo que tarda el instrumento en empezar a responder al nuevo
cambio de la variable.
Tiempo de Estabilización: Está entre 4 y 6 veces el tiempo de respuesta asumiendo que
no exista tiempo muerto. El tiempo de estabilización se da cuando se alcanza el 100% del
cambio.
Respuesta en Frecuencia: Son los límites superior e inferior de la frecuencia en la que la
medida del sensor corresponde a la realidad ya que cabe la posibilidad de que el transductor
siga obteniendo medidas de señales con frecuencias por encima de las estipuladas, pero
estos valores carecen de veracidad [31].
Según lo estudiado en los anteriores apartados sobre el sistema sensitivo humano y sensores
artificiales se decidió implementar un sensor de fuerza a partir de una galga
extensiométrica, un sensor para estimar contacto fuera de la localización del sensor de
fuerza y que identifique un bloqueo mecánico del sistema; tomando como medida la
corriente que el motor extrae de la fuente de poder, por último se decidió colocar un sensor
que simulara un Propioceptor humano con un potenciómetro lineal (elipot) que mide la
posición en la que se encuentra la articulación de la pinza de prótesis. Con el conocimiento
12
de esta variable y el uso de unos artificios matemáticos y de programación fue posible
conocer la velocidad angular.
2.2. Sensor de fuerza.
Como ya se mencionó anteriormente en el trabajo con la prótesis UNPROT1 se
implementó un sensor de fuerza. El uso de este sensor tiene como finalidad conocer la
fuerza con que se está sujetando un objeto. El conocimiento de esta información es de gran
importancia teniendo en cuenta la cantidad de tipos de objetos que pueden necesitar agarre,
con distintas texturas, pesos o resistencias, por ejemplo, podemos colocar un caso muy
sencillo que consiste en agarrar una esfera de metal y después sujetar un huevo.
2.2.1. Galgas extensiométricas.
Las galgas extensiométricas son un elemento que da gran flexibilidad a la construcción de
sensores de fuerza y de magnitudes que se puedan trasladar a la deformación de un
material. Una galga extensiométrica es básicamente una resistencia eléctrica que varía su
valor nominal con la deformación del alambre o lámina que la forma. Esta Resistencia está
formada, como ya se mencionó, por un fino alambre o una laminilla de metal que está
firmemente adherida a una superficie que es la que recibe la fuerza y por consiguiente sufre
una deformación. Como la galga está pegada al material que se deforma, también sufre una
deformación que alarga o contrae el material de la resistencia que generalmente está hecho
de constantan [vishay].
13
El cambio porcentual de la resistividad, para el cambio de longitud del material es
denominado factor de galga (K) y se expresa por la siguiente ecuación:
(2.1.)
En el trabajo con galgas extensiométricas se implementa un circuito denominado puente de
Wheastone el cuál está diseñado para mantener balanceado a pesar de los cambios en la
temperatura en vista de que la resistividad de un material depende de la temperatura a la
que se encuentre sometido en la figura 2.2. se muestra el diagrama de un puente de
Wheastone
Figura 2.2. Puente de Wheastone.
Cuando se desea implementar un sistema con una galga extensiométrica se debe primero
escoger entre los tipos de galgas a utilizar ya que comercialmente se pueden encontrar
galgas que solamente están constituidas por una resistencia, y otras que traen sobre una
pequeña laminilla plástica las múltiples resistencias integradas.
14
En las galgas del primer tipo se debe ubicar estratégicamente el dispositivo de tal forma que
la medida obtenida sea en el eje exacto de deformación y se completa el circuito puente con
resistencias externas de precisión. Este tipo de galgas son comúnmente dispuestas en un
arreglo denominado Roseta de Deformación que tiene como finalidad medir las
deformaciones en un plano, lo cual implica que se obtendrán datos de deformación normal
en “x”, deformación normal en “y” y deformación cortante en el plano “xy”, información
necesaria para dibujar el conocido Circulo de Mohr. Las rosetas pueden tener diversas
configuraciones pero entre las más conocidas tenemos la Rectangular y la Delta [vishay].
Entre las galgas que traen integradas varias resistencias comercialmente se encuentran las
de dos y cuatro resistencias. Para el presente texto es de mayor importancia las de cuatro
resistencias porque son éstas las que tienen la posibilidad de formar el puente de Wheastone
completo. Como las cuatro resistencias se encuentren tan cerca una de la otra se elimina la
posibilidad de desbalance por temperatura. Así se pueden encontrar distintas
configuraciones y perfiles de la rejilla que forma la galga. En la figura 2.3. se muestran
distintos tipos de configuraciones.
15
Rejilla Simple
Rejilla Doble
Puente Completo
Rejilla simple a 90º
Cuatro Rejillas Lineal
Rejilla doble a 90º
Cuatro Rejillas Circular
Figura 2.3. Configuraciones de Strain Gages [vishay].
2.2.2. Diseño del Transductor.
La construcción del transductor se la llevó a cabo con una galga extensiométrica (Strain
Gages) de cuatro rejillas circular de la siguiente referencia:
16
Tipo
N2A-06-S102H350
Resistencia en ohms a 350.0+1.0%
24ºC.
Factor de Galga a 24ºC
2.05
Diámetro en mm
6.35
Tabla 2.2. Datos técnicos de la galga utilizada.
Como consideraciones de diseño se destacaron algunos datos de importancia:
•
Mínimo tamaño.
•
Bajo peso.
•
Fuerza máxima de una mano promedio 80N.
•
Frecuencia de acción de aproximadamente 2 Hz.
•
Con un material que no se afecte en gran medida con la humedad.
Como guía para el diseño se decidió seguir los pasos que el fabricante (VISHAY)
recomienda en la nota TN-510-1 que indica las consideraciones de diseño del diafragma
para el transductor. El desarrollo del diseño del transductor de presión tiene claro que los
puntos como la sensibilidad, linealidad y respuesta de frecuencia, son características finales
conseguidas calculando el mejor diámetro y espesor del diafragma que contiene en su
superficie el Strain Gages. Las ecuaciones para el cálculo del diafragma son aceptables
bajo las siguientes asunciones:
•
Uniformidad en el espesor del diafragma.
17
•
Deflexiones pequeñas.
•
Con una abrazadera del diafragma que proporcione una total rigidez.
•
Comportamiento del material perfectamente elástico.
A pesar de estas consideraciones el cálculo realizado es una aproximación, hecha para la
construcción del transductor y así lograr finalmente poder caracterizar el sensor de forma
practica con una serie de pruebas. Este fenómeno se presenta por existir imprecisiones
físicas reales que se salen de la capacidad del diseño por factores como la inexactitud en el
mecanizado, materiales con propiedades no uniformes o datos técnicos sin la suficiente
exactitud como para el requerimiento [vishay].
La tensión del diafragma es máxima en el centro y disminuye rápidamente conforme el
radio aumenta convirtiéndose en cero en el extremo donde el diafragma se une con la
abrazadera. El fenómeno expuesto responde a las siguientes ecuaciones:
(2.2)
(2.3)
Donde:
P: Presión
(Pa).
Ro: Radio del diafragma
(mm).
t:
(mm).
Espesor del diafragma
v: Relación de Poisson
(adimensional).
18
E: Modulo de Elasticidad
(Pa).
Haciendo un promedio entre todos los elementos de medida se obtiene una salida de la
galga en milivoltios por voltio de excitación (eo) que se puede expresar por la siguiente
ecuación:
(2.4.)
A partir de la ecuación 2.4. se puede despejar el espesor del diafragma que es uno de los
valores que se desea averiguar para la construcción. La ecuación para el espesor queda de la
siguiente manera:
(2.5.)
De analizar la ecuación (2.5.) se puede extraer que la salida de la galga es proporcional a la
presión aplicada, lo que indica un comportamiento lineal del transductor, pero esta
consideración solamente es válida si se mantiene la deflexión máxima del diafragma por
debajo del 0.3% del espesor. Para calcular la deflexión máxima se requiere utilizar la mayor
presión a aplicar y se puede encontrar utilizando la siguiente ecuación.
(2.6.)
Donde:
Yc: Deflexión en el centro del diafragma en (mm).
19
Para que la respuesta obtenida sea fiel a la real se necesita que las fluctuaciones, o mejor
dicho, la frecuencia de cambio de presión, sea mucho menor que la frecuencia natural del
diafragma. La frecuencia resonante debe ser de por lo menos unas tres o cinco veces la
frecuencia más alta aplicada. La frecuencia natural del sistema esta dada por la ecuación
presentada a continuación.
(2.7.)
En la construcción del transductor es recomendable que el diafragma esté unido
integralmente al cuerpo del transductor o que ambos hagan parte de una sola pieza para así
obtener la mayor exactitud y minimizar la histéresis. No es deseable que las esquinas
internas del transductor sean agudas, razón por la cual se deja una pequeña curvatura con la
que se consigue evitar esfuerzos cortantes excesivos en los extremos del diafragma. La
figura 2.4. muestra una recomendación de la forma del cuerpo y diafragma del transductor
[vishay].
Figura 2.4. Diagrama típico para el diseño del transductor de presión [vishay].
20
A continuación se listan las constantes con las que el sensor debe trabajar. Ésta información
es imprescindible para el cálculo del espesor de la membrana porque hay razones que se
consideran para diseñar como el tamaño y peso del dispositivo. Éstas características son
necesarias porque la aplicación en una prótesis requiere que el tamaño y peso de la
extensión sea lo más próximo al del órgano real. De estos factores depende que el diseño
sea optimo o no.
Fuerza Máxima Fmax: 40 N
Radio del Diafragma Ro: 6.6 mm
Factor de Galga K: 2.0
eo:2mV/V
El fabricante del Strain Gages brinda un dato de mucha ayuda que es el mínimo radio del
diafragma para el tipo de galga del que se dispone.
Los datos de los materiales entre los cuáles se debe escoger se encuentran en la Tabla2.3.
21
Material
Modulo
de Coeficiente
de Densidad
Elasticidad
Poisson
Teflón (PTFE)
700 Mpa
0.46
2.18 g/cm3
Polietileno (PE)
950 Mpa
0.46
0.95 g/cm3
Delrín (Acetal)
2600 Mpa
0.35
1.4 g/cm3
Aluminio (Al)
72 GPa
0.33
2.7 g/cm3
0.27
7.8 g/cm3
Acero
Inoxidable 193 Gpa
304
Tabla2.3. Datos técnicos de materiales.
Adelante se muestran los respectivos cálculos realizados con ayuda de Matlab para las
distintas opciones de materiales.
>> %Teflón
clear
E=700*1000000 %Modulo de Elasticidad (Pa)
v=0.46
%Coeficiente de Poisson
22
p=2.18*1000000/1000 %Densidad (Kg/m3)
R=3.3*0.001
%Radio (m)
e=0.002/2
% (mV/V)
Fmax=40
%Fuerza Máxima (N)
A=pi*(R^2)
%Área (m2)
P=Fmax/A
%Presión (Pa)
t=((0.75*P*(R^2)*(1-(v^2)))/(e*E))^0.5 %Espesor (m)
Y=(3*P*(R^4)*(1-(v^2)))/(16*(t^3)*E)%Deformación(m)
F=((0.469*t)/(R^2))*((9.8*E)/(p*(1-(v^2))))^0.5 %Frecuencia(Hz)
E = 700000000
v=
0.4600
p=
2180
R=
0.0033
e = 1.0000e-003
Fmax =
40
A = 3.4211e-005
23
P = 1.1692e+006
t=
0.0571
Y = 1.5737e-010
F = 9.4814e+006
Máxima deformación permitida =1.7127e-004 m.
Peso del diafragma = 0.0085Kg
>> %Polietileno
clear
E=950*1000000 %Modulo de Elasticidad (Pa)
v=0.46
%Coeficiente de Poisson
p=0.95*1000000/1000 %Densidad (Kg/m3)
R=3.3*0.001
%Radio (m)
e=0.002/2
% (mV/V)
Fmax=40
%Fuerza Máxima (N)
A=pi*(R^2) %Área (m2)
P=Fmax/A
%Presión (Pa)
24
t=((0.75*P*(R^2)*(1-(v^2)))/(e*E))^0.5 %Espesor (m)
Y=(3*P*(R^4)*(1-(v^2)))/(16*(t^3)*E) %Deformación(m)
F=((0.469*t)/(R^2))*((9.8*E)/(p*(1-(v^2))))^0.5 %Frecuencia(Hz)
E = 950000000
v=
0.4600
p = 950
R=
0.0033
e = 1.0000e-003
Fmax =
40
A = 3.4211e-005
P = 1.1692e+006
t=
0.0490
Y = 1.8333e-010
F = 1.4363e+007
Máxima deformación permitida =1.4701e-004 m.
Peso del diafragma = 0.0032Kg
25
>> %Delrin
clear
E=2600*1000000 %Modulo de Elasticidad (Pa)
v=0.35
%Coeficiente de Poisson
p=1.4*1000000/1000 % Densidad (Kg/m3)
R=3.3*0.001
%Radio (m)
e=0.002/2
% (mV/V)
Fmax=40
%Fuerza Máxima (N)
A=pi*(R^2) %Área (m2)
P=Fmax/A
%Presión (Pa)
t=((0.75*P*(R^2)*(1-(v^2)))/(e*E))^0.5 %Espesor (m)
Y=(3*P*(R^4)*(1-(v^2)))/(16*(t^3)*E) %Deformación(m)
F=((0.469*t)/(R^2))*((9.8*E)/(p*(1-(v^2))))^0.5 %Frecuencia(Hz)
E = 2.6000e+009
v=
0.3500
p=
1400
26
R=
0.0033
e = 1.0000e-003
Fmax =
40
A = 3.4211e-005
P = 1.1692e+006
t=
0.0313
Y = 2.8749e-010
F = 1.6405e+007
Máxima deformación permitida =9.3753e-005 m.
Peso del diafragma = 0.0030Kg
>> %Alumino
clear
E=72000*1000000 %Modulo de Elasticidad (Pa)
v=0.33
%Coeficiente de Poisson
p=2.7*1000000/1000 % Densidad (Kg/m3)
R=3.3*0.001
%Radio (m)
27
e=0.002/2
% (mV/V)
Fmax=40
%Fuerza Máxima (N)
A=pi*(R^2) %Área (m2)
P=Fmax/A
%Presión (Pa)
t=((0.75*P*(R^2)*(1-(v^2)))/(e*E))^0.5 %Espesor (m)
Y=(3*P*(R^4)*(1-(v^2)))/(16*(t^3)*E) %Deformación(m)
F=((0.469*t)/(R^2))*((9.8*E)/(p*(1-(v^2))))^0.5 %Frecuencia(Hz)
E = 6.7000e+009
v=
0.3300
p=
2700
R=
0.0033
e = 1.0000e-003
Fmax =
40
A = 3.4211e-005
P = 1.1692e+006
t=
0.0060
28
Y = 1.5013e-009
F = 1.262e+007
Máxima deformación permitida =1.7953e-005 m.
Peso del diafragma = 0.0011Kg
>> % Acero Inoxidable 304
clear
E=193000*1000000 %Modulo de Elasticidad (Pa)
v=0.27
%Coeficiente de Poisson
p=7.8*1000000/1000 % Densidad (Kg/m3)
R=3.3*0.001
%Radio (m)
e=0.002/2
% (mV/V)
Fmax=40
%Fuerza Máxima (N)
A=pi*(R^2) %Área (m2)
P=Fmax/A
%Presión (Pa)
t=((0.75*P*(R^2)*(1-(v^2)))/(e*E))^0.5 %Espesor (m)
Y=(3*P*(R^4)*(1-(v^2)))/(16*(t^3)*E) %Deformación(m)
29
F=((0.469*t)/(R^2))*((9.8*E)/(p*(1-(v^2))))^0.5 %Frecuencia(Hz)
E = 1.9300e+011
v = 0.2700
p=
7800
R = 0.0033
e = 1.0000e-003
Fmax = 40
A = 3.4211e-005
P = 1.1692e+006
t = 0.0037
Y = 2.4097e-009
F = 9.2606e+006
Máxima deformación permitida =1.1185e-005 m.
Peso del diafragma = 0.0020 Kg
30
2.2.3. Análisis De Resultados Y Justificación De Las Decisiones.
Material.
Espesor (t).
m
Máxima
deformación (Y).
m
Teflón
0,0571
1.5737 * 10-10
1.7127 * 10-4
9.4814 * 106
0.0085
Polietileno
0,049
1,8333 * 10-10
1,4701 * 10-4
1,4363 * 107
0,0032
Delrin
0,0313
2,8749* 10-10
9,3753 * 10-5
1,6405 * 107
0,003
Aluminio
0,006
1,5013 * 10-9
1,7953 * 10-5
1,262 * 107
0,0011
Acero
0,0037
2,4097 * 10-9
1.1185 * 10-5
9,2606 * 106
0,002
Inoxidable
Máxima
deformación
permitida. m
Frecuencia natural
(F). Hz
Peso del
diafragma. Kg.
304
Tabla2.4. Resumen de Resultados.
Los valores de frecuencia natural del sensor para todos los materiales calculados están por
encima de la frecuencia con la que la prótesis se cerrará y abrirá, la cual es cercana a 2Hz.
Así pues, la frecuencia natural del sensor es mayor que la de trabajo con, por lo menos, un
factor de 10 veces, razón por la cual ésta variable no es útil para discriminar cuál es el
material más apto para la fabricación.
Según los parámetros de la asunción para la máxima deflexión todos los materiales siguen
siendo aptos y teniendo en cuenta esta condición, la decisión más acertada es la de utilizar
el Acero Inoxidable 304 ya que el espesor de su la membrana es menor, lo cual cumple con
la premisa de conservar el mínimo tamaño y peso posible.
En las siguientes figuras se encuentran ilustraciones del cuerpo del sensor y la pastilla de
presión, utilizada para que los objetos no tengan contacto directo con el cuerpo del sensor y
que la fuerza sea distribuida mejor.
31
(a)
(b)
(c)
Figura 2.5. a) Cuerpo Del Sensor De Fuerza. b) Pastilla De Presión. c) Conjunto Del
Sensor De Fuerza.
En la figura 2.6. se muestra el circuito del puente de Wheastone formado por la galga
extensiométrica y las etapas de amplificación implementada con un amplificador de
instrumentación AD620 y filtrado para el acondicionamiento de la señal del sensor de
fuerza que tiene como respuesta una oscilación de baja frecuencia ya que el nivel medido es
básicamente una componente de corriente directa. La ganancia del amplificador se escogió
según la relación entre la máxima salida deseada del sensor (5V) y la respuesta del
transductor ante la máxima fuerza (40 N). Así pues con los datos la que se encuentran el la
tabla de resumen se puede extraer que la ganancia del amplificador debe ser de 1000.
32
Figura 2.6. Amplificación y acondicionamiento de galga extensiométrica.
2.3. Propioceptor Artificial.
Para el conocimiento de variables propias de la prótesis, como la posición dónde se
encuentra o la velocidad con la que se mueve, se instaló un potenciómetro lineal en un eje
de rotación de uno de los dedos lo que conduce a conocer la velocidad con la que gira el
motor actuante en la prótesis con un sensor externo y proporciona la posibilidad de
controlar la velocidad de acción de las prótesis con un lazo retroalimentado, lo cual es de
mucha ayuda para dar mayor naturalidad a los movimientos de ésta.
La estrategia que se utiliza para sensar velocidad a partir de un potenciómetro que
generalmente otorga información sobre la posición, es incluir al hardware una sección de
33
software que haga la derivada de la posición ya que por definiciones físicas es conocido
que la derivada de la posición da como resultado la velocidad. En la siguiente ecuación se
registra el método descrito.
dθ (t )
= Vel (t )
dt
(2.8.)
De la ecuación 2.7. se puede deducir la programación, primero aplicando transformada Z al
lado izquierdo de la ecuación 2.7. se obtiene:
Z
dθ (t )
= θ ( z ) − θ ( z ) Z −1
dt
(2.9.)
En la figura 2.7. se muestra el diagrama de bloques con el método de programación directa.
Figura 2.7. Diagrama de Bloques Para Programación Directa.
Expresando la ecuación 2.9. en ecuaciones en diferencia queda como muestra la siguiente
ecuación:
θ (t ) − θ (t − 1) θ (τ ) − θ (τ − 1)
=
∆t
τ
(2.10.)
34
2.4. Sensor De Sobrecorriente.
El uso de un sensor de corriente es más una medida que se utiliza para conseguir la
seguridad y protección del motor, la electrónica de control y los mecanismos de
UNPROT1. Existe la posibilidad de que el sistema se vea expuesto a un excesivo par y una
corriente muy elevada por causa del motor cuando éste es frenado al aplicarle una carga
mayor a los valores nominales.
Para lograr medir la corriente se utilizó como transductor una resistencia de bajo ohmeaje
en serie con el motor, que convirtió la corriente en una diferencia de potencial. En la
ecuación 2.11. se muestra el comportamiento lineal que tiene el sensor que está regido por
la ley de Ohm. Sabiendo que es necesario que la potencia que se cae en el sensor sea baja,
se utilizó una resistencia del valor más bajo posible con respecto a la resistencia interna del
motor y para que el divisor de voltaje que se provoca no afecte en un valor considerable el
potencial que debe llegar al motor.
Vout = R * I motor
(2.11.)
La potencia disipada por el sensor esta regida por 2.12.
Potenciadisipada = R * I motor
2
(2.12.)
El valor de la resistencia para el transductor escogido es de 0.01 Ω , esta elección se realzo
teniendo en cuenta valores propios del motor actuante en la prótesis como Resistencia de
armadura (176 Ω ), voltaje de alimentación (12 V), corriente máxima con el rotor
bloqueado por carga (0.35 A) y, finalmente, corriente nominal (0.02 A). Así pues, la
35
potencia promedio disipada por el sensor se encuentra entre unos 2mW y la máxima de
35mW. Según el rango en el que se encuentra la corriente se encuentra el rango de el
transductor es (0 V, 0.0035 V) con un valor nominal de 0.0002 V.
En la figura 2.8. se puede encontrar el circuito de adquisición y acondicionamiento del
sensor de corriente que se encuentra dividido en una sección de amplificación realizada con
un amplificador de instrumentación AD 620 seguido de un filtro pasivo pasa bajos ya que
+88.8
la señal que se requiere con el sensor es una componente de directa.
U1
7
1
R2
10k
R1
0R1
3
6
C2
OUT
2
4
8
5
100u
AD620
R3
10k
SENSOR DE CORRIENTE POR UN MOTOR DC
Figura 2.8.Circuito del Sensor de corriente para un Motor DC.
36
3. CONTROLADOR
El diseño del controlador para UNPROT1 requiere un sistema embebido, que para este caso
es el dsPIC 30F2010 denominado por Microchip como controlador digital de señal DSC
(Digital Signal Controller). El dsPIC es un potente microcontrolador de 16bits que posee
las principales capacidades de un DSP. A continuación se describen las principales
características de los dsPIC.
Rango de funcionamiento
•
DC-30MIPS (30MIPS@ 4.5V-5.5V, -40ºC a 85ºC).
•
Voltaje de alimentación de 2.5V a 5.5V.
•
Temperatura: interna de -40ºC a 85ºC y externa de -40ºC a 125ºC
CPU de alto rendimiento
•
Núcleo RISC con arquitectura Harvard modificada.
•
Juego de instrucciones optimizado para el lenguaje C.
•
Bus de datos de 16 bits.
•
Repertorio de 84 instrucciones, la mayoría de una palabra de tamaño y ejecutable en
un ciclo.
•
Banco de 16 registros de propósito general de 16 bits.
•
2 acumuladores de 40 bits, con operaciones de redondeo y saturación.
•
Modos complejos de direccionamiento indirecto: modular o circular y de inversión
de bits.
•
Manejo de pila con software.
37
•
Multiplicador para enteros y fraccionarios de 16 X 16.
•
División de 32/16 y 16/16.
•
Operación de multiplicación y acumulación en un ciclo.
•
Registro de desplazamiento de 40 bits.
Controlador de interrupciones
•
Latencia de 5 ciclos.
•
Hasta 45 fuentes de interrupciones, 5 externas.
•
7 nivele de prioridad programable.
•
4 excepciones especiales.
Entradas y salidas digitales
•
Hasta 54 patitas programables de E/S digitales.
•
25 mA de consumo por cada patita de E/S.
Memorias
•
Memoria de programa FLASH de hasta 144 KB con 100.000 ciclos de
borrado/escritura.
•
Memoria de datos EEPROM de hasta 4 KB con 100.000 ciclos de borrado/escritura.
•
Memoria de datos SRAM de hasta 8 KB.
Manejo del sistema
•
Flexibles opciones para el reloj de trabajo (externo, cristal, resonador, RC interno,
totalmente integrado PLL, etc.).
•
Temporizador programable de power-up.
•
Temporizador/estabilizador del oscilador start-up.
•
Perro guardián con oscilador RC propio.
38
•
Monitor de fallo de reloj.
Control de alimentación
•
Conmutación entre fuentes de reloj en un tiempo real.
•
Manejo de consumo de lo periféricos.
•
Detector programable de voltaje bajo.
•
Reset programable de brow-out.
•
Modos de bajo consumo IDLE y SLEEP.
Temporizadores, módulos de captura, comparación y PWM.
•
Hasta 5 temporizadores de 16 bits, pudiendo concatenar parejas para alcanzar 32
bits y pudiendo trabajar en tiempo real con oscilador externo de 32KHz.
•
Módulo de entrada de 8 canales para la captura por flanco ascendente, descendente
o ambos.
•
Modulo de salida de comparación hasta 8 canales, en modo simple o doble de 16
bits
•
Modo PWM de 16 bits.
Módulos de comunicación
•
Hasta 2 módulos SPI de 3 líneas.
•
Interfaz I/O con CODEC.
•
I2CTM con modo multi-maestro esclavo, con 7 y 10 bits de dirección y con detección
y arbitraje de colisiones de bus.
•
Hasta 2 módulos UART.
•
Módulo de interfaz CODEC que soporta los protocolos I2S y AC97.
•
Hasta 2 módulos CAN 2-0B.
39
Periféricos para control de motores
•
PWM para control de motores de hasta 8 canales con 4 generadores de duity-cicle,
modo completo o independiente y tiempos muertos de programación.
•
Módulo de codificación de cuadratura.
Conversor analógico/digital
•
Módulo conversor A/D de 10 bits y 500Kbps, con 2 o 4 muestras simultáneas y
hasta 16 canales de entrada. Conversión posible en modo SLEEP.
La Arquitectura de Control se asemeja a algunas utilizadas en las pinzas de manipuladores
y pies de robots [21]. Después de analizar detalladamente las necesidades primarias de un
paciente con amputación metacarpal, se ha decidido implementar varios controladores que
están expuestos a continuación.
•
Control de Velocidad.
•
Control de Fuerza.
•
Medidas de Seguridad (corriente por el motor).
Estas tres medidas hacen parte de una estrategia de control integral y jerárquico en la que el
único valor de referencia es manipulado por el usuario es el set point de Fuerza porque las
otras referencias son introducidas en el programa como constantes.
El algoritmo del controlador está plasmado en la siguiente programación en bloques.
40
Inicio
Cargar los valores
de las tres variables
t=0;
corriente
>=cte1.
Si
Apagar
motor
No
Fuerza
>=cte2.
Si
Control de
fuerza
Manipulación
PWM
Control de
velocidad
Manipulación
PWM
No
t=
No
Si
Figura 3.1. Diagrama de Flujo del Controlador para UNPROT1.
El contenido textual de este algoritmo se encuentra explicado en los siguientes pasos.
1. Inicialización del programa y de variables.
2. Se lleva a cabo la adquisición de los datos que están siendo recogidos por tres
sensores explicados con más detalles en la sección de sensores en prótesis de mano.
3. Se reinicia el temporizador encargado de indicar el momento en que se debe realizar
el muestreo.
41
4. Se compara el nivel de corriente que fluye por el motor con una constante
preestablecida para identificar si hay un par excesivo.
En el caso de que la
respuesta nos indique que la corriente es mayor o igual, el flujo del programa se
dirige al paso siguiente, de lo contrario salta al paso 6.
5. Apaga el motor y va al paso 9.
6. Se verifica si la prótesis a hecho contacto con un objeto, comparando el valor que
entrega el sensor de fuerza y verificando si es superior o igual a un valor
determinado con anterioridad y puesto como constante en el programa. En el caso
de que la respuesta sea afirmativa continúa el siguiente, y si la respuesta es negativa,
salta al paso 8.
7. Actúa el control de fuerza y va al paso 9.
8. Actúa el control de velocidad.
9. Se queda en espera hasta que el temporizador indique que es tiempo de una nueva
adquisición de datos y finalmente salta al paso 1 para dar nuevamente el ciclo.
En la siguiente figura se encuentra un diagrama del controlador.
42
Figura 3.2. Estructura básica del controlador.
3.1. Controlador Digital.
Llevar a cabo la implementación de un controlador digital requiere de la combinación
apropiada de operaciones aritméticas y de almacenamiento en conjunto con un dispositivo
que actué como procesador digital y que tenga la capacidad de realizar sumas digitales,
multiplicaciones y elementos de retardo (almacenar datos en memoria). Un controlador
digital es un algoritmo de cálculo que, procesando en tiempo real, convierte una secuencia
de números de entrada en una salida que depende de la modificación que la función de
transferencia del controlador provoca en los valores de entrada [5].
43
Partiendo de un controlador PID análogo, descrito por la ecuación 3.1. se puede lograr
encontrar una referencia para realizar la programación. Al discretizar la ecuación 3.1
aproximando la acción integral a una sumatoria trapezoidal y la acción derivativa a la
diferencia entre dos puntos se llega a la ecuación 3.2.
m(t ) = k e(t ) +
1
Ti
t
0
e(t )dt + Td
de(t )
dt
(3.1.)
Donde:
k=Constante Proporcional.
Ti=Tiempo de Integración.
Td=Tiempo Derivativo.
e(t)=Error.
m(KT ) = k e(KT ) +
T
Ti
e((h − 1)T ) + e(hT ) Td
+ [e(KT ) − e((K − 1)T )]
2
T
h −1
K
(3.2.)
Donde:
T = Periodo de Muestreo.
Después de aplicar Transformada Z a la ecuación 5.2. y ordenar se obtiene:
M (z ) = K p +
(
)
Ki
+ K d 1 − Z −1 E ( z )
1 − Z −1
(3.3.)
Donde:
Kp= k −
kT
= Ganancia Proporcional del Controlador Discreto.
2Ti
Ki =
kT = Ganancia Integral del Controlador Discreto.
Ti
Kd =
kTd = Ganancia Derivativa del Controlador Discreto.
T
44
Reordenando la ecuación 3.3. la función de transferencia del controlador PID discreto se
convierte en:
−1
−2
M ( z ) (K p + K i + K d ) − (K p + 2 K d )Z + K d Z
=
E (z )
1 − Z −1
(3.4.)
Esta ecuación se puede expresar en diagramas de bloques para programación directa, tal
como se muestra en la siguiente figura.
Figura 3.3.Controlador Digital PID dado por la ecuación (3.4.)
Al analizar el controlador digital se puede observar que su estructura es la de un filtro
digital tipo IIR [2]. De igual manera que con el PID se puede realizar el proceso de
discretización para los controladores tipo Proporcional y Proporcional-Integral, los
resultados de dicho proceso se encuentran expuestos con sus funciones de transferencia en
las ecuaciones 3.5 y 3.6 con los diagramas de bloques para programación directa en las
figuras 3.3 y 3.4, respectivamente.
M (z )
= Kp = k
E (z )
(3.5.)
45
Figura 3.4.Controlador Digital P dado por la ecuación (3.5.)
−1
M ( z ) (K p + K i ) − (K p )Z
=
E (z )
1 − Z −1
(3.6.)
Donde:
Kp = k −
Ki =
kT
= Ganancia Proporcional del Controlador PI Discreto.
2Ti
kT
= Ganancia Integral del Controlador PI Discreto.
Ti
Figura 3.5.Controlador Digital PI dado por la ecuación (3.6.)
46
3.2. Sistemas de Control con Lazo Cerrado.
Una vez finalizada la acción del algoritmo que define qué tipo de estrategia se debe escoger
entre una Acción de Seguridad, Un control de Fuerza o un control de Velocidad, se entra a
manipular el elemento final de control. Si se opta por actuar con uno de los controles
regulatorios, el sistema se retroalimenta con la información que los sensores de Fuerza o
Velocidad entregan. Así el lazo de control se cierra al hacer pasar por el controlador el error
que se produce por la diferencia entre el estado actual de la planta y el valor deseado.
Finalmente, el diagrama completo del controlador en el dsPIC queda como muestra en la
siguiente figura:
Figura 3.6.Arquitectura Detallada del sistema Control con lazo cerrado.
47
A continuación se encuentra el código en C para la programación del dsPIC 30F2010 con el
controlador.
#include "p30f2010.h"
unsigned int ADResult1 = 0;
unsigned int setpointF;
unsigned int setpointV;
signed int errorF;
signed int errorV;
int flag;
void InicializaADC()
{
ADCSSL = 3;
ADPCFG = 0;
ADCON3 = 0x0016;
ADCON2 = 0x0300;
ADCON1 = 0x00E4;
IEC0bits.ADIE = 0;
}
void CONVERTIR__A_D(int a)
{
48
ADCHS = a;
ADCON1bits.ADON=1;
while(IFS0bits.ADIF==0)
{
asm("clrwdt"); //Esperamos en un bucle hasta finalizar la converción
}
ADResult1=ADCBUF0;
IFS0bits.ADIF=0;
ADCON1bits.ADON=0;
}
void InicializaOC1(void)
{
OC1RS = 0;
OC1R = 0;
OC2RS = 0;
OC2R = 0;
OC1CON = 0x0006;
OC2CON = 0x0006;
T2CON = 0x8010;
}
49
int main (void)
{
InicializaOC1();
InicializaADC();
LATE=0xFFFF;
TRISE=0x000F;
PR2=0x03FF;
while(1)
{
asm("clrwdt"); //Esperamos en un bucle infinito
//seguridad por sobrecorriente
do
{
flag=0;
if(PORTE==1)
{
setpointF=0x0300;//fuerza alta
setpointV=0x0200;//posicion maxima
}
if(PORTE==5)
{
setpointF=0x0243;//fuerza media alta
setpointV=0x0200;//posicion maxima
50
}
if(PORTE==9)
{
setpointF=0x0187;//fuerza media baja
setpointV=0x0200;//posicion maxima
}
if(PORTE==15)
{
setpointF=0x00CB;//fuerza baja
setpointV=0x0200;//posicion maxima
}
if(PORTE==2)
{
setpointF=0x0300;//fuerza alta
setpointV=0x0000;//posicion minima
}
if(PORTE==0)
{
flag=1;
OC1RS = 0;
OC2RS = 0;
}
}while(flag==1);
51
CONVERTIR__A_D(0);
if(ADResult1>=0x00F0)
{
OC1RS = 0;
OC2RS = 0;
}
else
{
//controlador proporcional
de fuerza
CONVERTIR__A_D(1);
if(ADResult1>=0x000F)
{
if(ADResult1>=setpointF)
{
errorF =ADResult1-setpointF;
OC1RS = 0;
OC2RS=errorF/2;
}
else
{
errorF =setpointF-ADResult1;
OC1RS=errorF/2;
52
OC2RS = 0;
}
}
else
{
//controlador proporcional
de velocidad
CONVERTIR__A_D(2);
if(ADResult1>=setpointV)
{
errorV =ADResult1-setpointV;
OC1RS = 0;
OC2RS=errorV*2;
}
else
{
errorV =setpointV-ADResult1;
OC1RS=errorV*2;
OC2RS = 0;
}
}
}
}
}
53
4. INTERFACE DE USUARIO
En el desarrollo de UNPROT1 se necesitó de una interface para el manejo desde un PC con
un entorno gráfico cómodo al usuario. A pesar de que el objetivo final de la prótesis sea
llegar ser un instrumento portátil con el mínimo volumen, en la etapa de desarrollo se
requiere de ésta para ayudar a comprobar el funcionamiento de secciones de control,
sensórica, mecánica y diseño en general.
El uso de una interface en este momento de la investigación es de una utilidad especial ya
que se pueden explorar las posibles órdenes de control y escoger las mejores para la
facilidad del paciente cuando necesite comandarla, además de poder encontrar la más
funcional entre las posibles.
4.1. Descripción.
Mediante el Toolbox de Matlab Guide se pueden crear conjuntos de pantallas con botones,
menús, ventanas, etc. Esta herramienta permite el manejo fácil de programas con entorno
Windows.
La interface realizada para la aplicación en este proyecto está compuesta por: un
encabezado con el título, una imagen de una prótesis, un cuadro de texto con información
del estado actual del proceso, un control de selección para apertura o cierre, un control de
54
selección para indicar el nivel de fuerza en el agarre y, finalmente, un botón de inicio y
parada.
Para ejecutar el programa se requiere elegir como dirección de ejecución de Matlab la
carpeta que contenga los ficheros, abrir el entorno de desarrollo del programa y, en la
página Comand Window digitar jj y enter, instrucción que abrirá la ventana de la interface
y da paso para dar las órdenes y escoger el tipo de acción a realizar dando click en el botón
de inicio marcado con “ON”.
Entonces la acción de iniciar el proceso entabla la
comunicación del PC con el microcontrolador PIC 16f877 encargado de recibir los códigos
enviados para el control de la prótesis. La transferencia de datos se realiza con la ayuda del
modulo UART del PIC configurado para comunicación asíncrona, con velocidad de 9600
baudios por segundo y con un bit de parada.
A continuación se presenta una imagen de la interface en la figura 4.1., el código en Matlab
para los ficheros y el código en asembler para el microcontrolador.
55
Figura 4.1. Ventana de Interfaz de Comando para UNPROT1.
4.2. Programa En Matlab Para Interfaz
%jj.m
function varargout = jj(varargin)
% JJ M-file for jj.fig
%
JJ, by itself, creates a new JJ or raises the existing
%
singleton*.
%
H = JJ returns the handle to a new JJ or the handle to
56
%
the existing singleton*.
%
JJ('
CALLBACK'
,hObject,eventData,handles,...) calls the local
%
function named CALLBACK in JJ.M with the given input arguments.
%
JJ('
Property'
,'
Value'
,...) creates a new JJ or raises the
%
existing singleton*. Starting from the left, property value pairs are
%
applied to the GUI before jj_OpeningFunction gets called. An
%
unrecognized property name or invalid value makes property application
%
stop. All inputs are passed to jj_OpeningFcn via varargin.
%
*See GUI Options on GUIDE'
s Tools menu. Choose "GUI allows only one
%
instance to run (singleton)".
% See also: GUIDE, GUIDATA, GUIHANDLES
% Copyright 2002-2003 The MathWorks, Inc.
% Edit the above text to modify the response to help jj
% Last Modified by GUIDE v2.5 24-Feb-2007 14:12:10
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('
gui_Name'
,
mfilename, ...
'
gui_Singleton'
, gui_Singleton, ...
'
gui_OpeningFcn'
, @jj_OpeningFcn, ...
'
gui_OutputFcn'
, @jj_OutputFcn, ...
'
gui_LayoutFcn'
, [] , ...
'
gui_Callback'
, []);
if nargin && ischar(varargin{1})
57
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before jj is made visible.
function jj_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% varargin command line arguments to jj (see VARARGIN)
% Choose default command line output for jj
%handles.output = hObject;
% Update handles structure
%guidata(hObject, handles);
% UIWAIT makes jj wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
%/////////////////////////////////////////insertar imagen/////////////////
58
background = imread('
otto_mano.jpg'
);
axes('
position'
,[.1 .42 .32 .45]'
)
image(background);
axis off,hold off
%/////////////////////////////////////////////////////////////////////////
handles.output = hObject;
guidata(hObject, handles);
function varargout = jj_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject
handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
set(handles.cw,'
enable'
,'
off'
)
set(handles.ccw,'
enable'
,'
off'
)
set(handles.A,'
enable'
,'
off'
)
set(handles.MA,'
enable'
,'
off'
)
59
set(handles.MB,'
enable'
,'
off'
)
set(handles.B,'
enable'
,'
off'
)
if get(handles.cw,'
value'
)
if get(handles.A,'
value'
)
set(handles.text1,'
String'
,'
Cerrando la mano (Nivel de fuerza Alto)'
);
valor=1;
serial_open;
elseif get(handles.MA,'
value'
)
set(handles.text1,'
String'
,'
Cerrando la mano (Nivel de fuerza Medio Alto)'
);
valor=5;
serial_open;
elseif get(handles.MB,'
value'
)
set(handles.text1,'
String'
,'
Cerrando la mano (Nivel de fuerza Medio Bajo)'
);
valor=9;
serial_open;
elseif get(handles.B,'
value'
)
set(handles.text1,'
String'
,'
Cerrando la mano (Nivel de fuerza Bajo)'
);
valor=13;
serial_open;
end
else
set(handles.text1,'
String'
,'
Abriendo la mano'
);
serial_close;
60
end
function edit1_Callback(hObject, eventdata, handles)
% hObject
handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'
String'
) returns contents of edit1 as text
% str2double(get(hObject,'
String'
)) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject
handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc
set(hObject,'
BackgroundColor'
,'
white'
);
else
set(hObject,'
BackgroundColor'
,get(0,'
defaultUicontrolBackgroundColor'
));
end
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject
handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
61
% handles
structure with handles and user data (see GUIDATA)
serial_stop;
set(handles.text1,'
String'
,'
STOP'
);
set(handles.cw,'
enable'
,'
on'
)
set(handles.ccw,'
enable'
,'
on'
)
enable'
,'
on'
)
set(handles.A,'
set(handles.MA,'
enable'
,'
on'
)
set(handles.MB,'
enable'
,'
on'
)
set(handles.B,'
enable'
,'
on'
)
% --- Executes on button press in radiobutton3.
function radiobutton3_Callback(hObject, eventdata, handles)
% hObject
handle to radiobutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'
Value'
) returns toggle state of radiobutton3
% --- Executes on button press in radiobutton4.
function radiobutton4_Callback(hObject, eventdata, handles)
% hObject
handle to radiobutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'
Value'
) returns toggle state of radiobutton4
% --- Executes on button press in radiobutton5.
function radiobutton5_Callback(hObject, eventdata, handles)
62
% hObject
handle to radiobutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'
Value'
) returns toggle state of radiobutton5
% --- Executes on button press in radiobutton6.
function radiobutton6_Callback(hObject, eventdata, handles)
% hObject
handle to radiobutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'
Value'
) returns toggle state of radiobutton6
%serial_close.m
puerto = serial('
COM1'
,'
BaudRate'
,9600,'
DataBits'
,7);%configuro el pueto
fopen (puerto);%abrir el puerto
int8'
);%escribiendo el numero 2 para cerrar
fwrite(puerto,2,'
fclose(puerto);%cerre el puerto
delete(puerto);%vacio el buffer
clear puerto;%clareo Puerto
%serial_open.m
puerto = serial('
COM1'
,'
BaudRate'
,9600,'
DataBits'
,7);%configuro el pueto
fopen (puerto);%abrir el puerto
fwrite(puerto,valor,'
int8'
);%escribiendo el numero que esta en valor para abrir
63
fclose(puerto);%cerre el puerto
delete(puerto);%vacio el buffer
clear puerto;%clareo puerto
%serial_stop.m
puerto = serial('
COM1'
,'
BaudRate'
,9600,'
DataBits'
,7);%configuro el pueto
fopen (puerto);%abrir el puerto
fwrite(puerto,0,'
int8'
);%escribiendo el numero 0 para parar
fclose(puerto);%cerre el puerto
delete(puerto);%vacio el buffer
clear puerto;%clareo puerto
4.3. Programa En Mplab Asm Para Comunicación Serial.
;Recibir datos provenientes de la computadora de forma serial y mostrarlos en el PORTB
include "p16f877a.inc"
org
0x00
bsf
STATUS,RP0 ;Ir banco 1
bcf
STATUS,RP1
movlw
b'
11111100'
movwf
TRISB
bsf
TRISC,7 ;RC7/Rx entrada, pin de recepción
64
movlw
d'
6';9600 baud rate Xtal=4Mhz
movwf
SPBRG
bcf
TXSTA,BRGH ;Selección de baja velocidad
bcf
TXSTA,SYNC ;Modo asíncrono
bcf
STATUS,RP0 ;Ir banco 0
bcf
STATUS,RP1
bsf
RCSTA,SPEN ;habilita el puerto serie
bcf
RCSTA,RX9 ;8 Bits de datos
bsf
RCSTA,CREN ;Para Rx Continuo
_espera
btfss
PIR1,RCIF ;Pregunta si el buffer de RX es full
goto
_espera ;No, ir _espera
movf
RCREG,W ;Si, W=RCREG y pone a cero el RCIF
movwf
PORTB ;PORTB = W
goto
_espera
end
65
5. MIOELECTRICIDAD
Dentro de la Biomecatrónica se contempla la idea de utilizar las señales eléctricas que
genera el cuerpo a voluntad y que se han convenido llamar Potenciales Bioeléctricos para
generar comandos de control para el manejo de prótesis activas. Las señales Bioeléctricas
más utilizadas en la actualidad para el manejo de prótesis comerciales son las señales
Mioeléctricas que son potenciales que se crean cuando se contrae o se relaja algún músculo.
En este capítulo se describe el origen de esas señales, el método de obtención,
acondicionamiento y procesamiento que se les pueden dar para lograr entablar una interfaz
hombre-máquina.
5.1. Origen de los Potenciales Bioeléctricos.
Los potenciales Bioeléctricos o biopotenciales son producidos por reacciones y cambios
químicos generados en células excitables como las nerviosas, las musculares y algunas
glándulas. La actividad electroquímica en las células origina voltajes iónicos, los cuales
para ser registrados requieren de transductores capaces de convertir el flujo de iones en
corrientes eléctricas que proporcionen información de las excitaciones realizadas.
La idea de la existencia de la electricidad en tejido vivo surgió en 1786, cuando el italiano
Luigi Galvani descubrió electricidad en el músculo del anca de una rana [1].
66
5.2. Membrana Celular.
La célula es la unidad anatómica y funcional de los seres vivos donde se inician los
Potenciales Bioeléctricos. Ésta posee entre sus partes una membrana en la que se destacan
las funciones de actuar como barrera selectiva para las diferentes sustancias internas y
externas. La membrana celular es semipermeable porque permite el paso de algunos tipos
de moléculas e impide el paso a otras. La permeabilidad selectiva de la membrana se ve
modificada por diversas circunstancias o estímulos que pueden ser distensiones mecánicas,
reacciones químicas o cambios en la temperatura [10]. Los estímulos se pueden ver como
los elementos de control de las acciones que realiza como el intercambio de energía, la
transferencia de información, la regulación de movimiento de sustancias, etc.
Otra de las funciones de la membrana celular es mantener en equilibrio la presión osmótica
de los líquidos dentro y fuera de la célula. Entre los líquidos que residen alrededor se
encuentran: el Sodio, Cloruro, Bicarbonato, Oxigeno, Glucosa, Ácidos Grasos y
Aminoácidos, mientras que el Potasio, el Magnesio y el Fosfato son líquidos que se
encuentran dentro de la célula [27].
La presencia de los anteriores líquidos origina una densidad de iones que son los que
provocan la diferencia de potencial. En estado de reposo la célula tiene una diferencia de
potencial entre -70mV y -95mV con un valor promedio de alrededor de unos -85mV [1],
[37].
67
Existen tres razones por las cuales pueden desarrollarse potenciales de membrana. La
primera es el transporte de iones activos mediante las bombas de Potasio y de Sodio, la
segunda la difusión de iones por la diferencia de concentración entre el interior y el exterior
de la célula, y por último, dentro de la unidad funcional existen aniones que no pueden salir
porque sus moléculas son demasiado grandes comparadas con el radio de los poros de la
membrana. Entre los aniones internos tenemos Fosfato y Sulfato Orgánico [27].
Es importante tener en cuenta que la permeabilidad de la membrana en reposo para el
Potasio es de 50 a 100 veces mayor que para el sodio.
5.3. Potencial de Acción.
Las células nerviosas y musculares tienen la capacidad de responder a estímulos, esto se
denomina excitabilidad y se manifiesta con una serie de cambios térmicos, iónicos,
metabólicos y eléctricos que se propagan por toda la célula. Cuando las células son
excitadas con estímulos provocan cambios en el potencial de la membrana que dura unos
pocos milisegundos antes de volver a su estado normal. Estos cambios se manifiestan con
dos fases separadas: la primera se denomina Despolarización y la segunda Repolarización
[32].
En la Despolarización la permeabilidad de la membrana aumenta para los iones de sodio,
permitiendo un brusco aumento de cargas positivas en el interior de la célula lo que
68
desencadena la segunda fase que es la Repolarización en la que se impide el paso de más
iones de sodio y deja que los iones de potasio fluyan hacia el exterior de la célula
recuperando de ésta manera el estado de reposo y equilibrio de la membrana [32].
Considerando un par de electrodos ubicados sobre una superficie muscular en reposo no se
encontrará una diferencia de potencial entre ellos que se pueda considerar como una
acción, en vista de que ambos son positivos con respecto al interior de las células, pero si
existen excitación en los músculos por una tensión se consigue una serie de variaciones con
múltiples crestas y con muy poca posibilidad de discriminar si es realmente una señal con
la información del cambio de potencial sobre el músculo. Suponiendo que se tiene la
capacidad de provocar un solo estimulo en el músculo o si se aísla uno, se obtiene una
respuesta como la mostrada en la figura 5.1. En la figura 5.1.a se muestran los momentos
importantes en el tránsito de la onda. Primero en total reposo, en el instante 1 un cambio de
polaridad en el electrodo G1 provoca una cambio en el potencial de neutro a positivo y en
el instante 2 el estimulo está entre los electrodos pero no provoca polaridad negativa en
ninguno, por lo que el potencial vuelve a ser neutro. Más adelante en el instante 3 el
estimulo sigue su curso a lo largo del músculo y llega al electrodo G2, lo que da como
resultado un potencial negativo y, finalmente, cuando el estimulo ya no está al alcance de
ningún electrodo, todo vuelve a su estado original de reposo [10].
69
Figura 5.1 Estados Transitorios De Un Biopotencial, extraída y adaptada de [1].
5.4. Electrodos para Biopotenciales.
Los electrodos para Biopotenciales son una parte crucial del trabajo que se lleva a cabo con
las señales EMG ya que son los encargados de la transducción de corrientes iónicas
celulares en corrientes eléctricas. Los bioelectrodos pueden ser un instrumento de
adquisición de señales y herramientas para estimular las células vivas. De ahí se puede
decir que pueden ser elementos bidireccionales. Existen dos tipos de electrodos que son los
superficiales y los de aguja que se insertan directamente al músculo, pero para la aplicación
con prótesis son poco cómodos para el paciente. Además, el uso de un electrodo de este
tipo convertiría el trabajo en un proceso invasivo y lo que se desea a toda costa es dar
comodidad y facilidad de manejo al discapacitado. Por eso los electrodos se deben escoger
según la aplicación para la que se los requiere ya que factores como la amplitud y la
frecuencia son variables distintas entre cada tipo de biopotenciales como los
70
Electromiográficos,
los
Electroencefalográficos,
los
Electrocardiográficos,
Electrorretinográficos, etc [33].
Los electrodos se diseñan tomando en cuenta unas limitaciones de gran importancia como
la toxicidad fisiológica y la tensión mecánica. Además, factores como el costo, la
disponibilidad del material y el tamaño son detalles que no se pueden pasar por alto. La
mayoría de los electrodos están hechos de materiales nobles como plata, platino, oro,
tantalio y acero templado, siendo de todos estos el último el mejor en la relación costoservicios.
Se habló anteriormente de que las corrientes en el cuerpo humano se dan con iones y no
con electrones que son los que los eléctrodos tienen capacidad de conducir. Es por esta
razón que se utiliza un componente extra para que el sistema actué como transductor
usando específicamente un electrólito en forma de gel con los electrodos superficiales. Este
material electrólito se encuentra entre la piel y el metal. En la siguiente figura se ilustra el
conjunto de la interfase de piel-electrodo [1], [34].
Figura 5.2. Electrodo Sobre La Piel, extraída de [1].
71
La distancia entre los electrodos afecta el ancho de banda y la amplitud de información. Se
ha encontrado en estudios realizados que la distancia óptima entre los electrodos es de 1cm
dependiendo del tamaño del electrodo.
La configuración de los electrodos para la colocación es de suma importancia. En este
sentido se dispone de dos maneras de colocar los electrodos: una monopolar y otra bipolar,
mismas que se encuentran ilustradas en la figura 5.3. La configuración monopolar la figura
5.3.a. consiste en colocar un electrodo en la superficie donde se quiere examinar el
potencial y medir con respecto al punto de referencia mientras que la configuración bipolar
la figura 5.3.b. se trata de la utilización de dos electrodos sobre el mismo músculo y
separados por una determinada distancia. Ésta forma de adquisición es mucho más
confiable porque la señal de salida de los electrodos es enviada a un amplificador
diferencial que, como su nombre lo dice, se encarga de amplificar la diferencia entre ellos.
Con esta estrategia de configuración se logra evitar el ruido ambiente común a los dos
electrodos y además se eliminan componentes comunes de DC. La posición del electrodo
de referencia es escogida teniendo en cuenta el lugar del cuerpo neutro, libre de potenciales
y para que no se vea afectado por la estimulación. La figura 5.3. se muestra la ubicación de
éste en el codo, pero existen otros lugares como la rodilla y el tobillo que también son
aptos. Estos lugares del cuerpo tienen en común que en su superficie existe muy poca
cantidad de tejidos, por lo tanto el potencial es despreciable comparado con las secciones
con volumen mayor de músculo [34].
72
a)
b)
Figura 5.3. a) Configuración de los electrodos monofásica. b) Configuración de los
electrodos bifásica, extraída y adaptada de [13].
5.5. Origen de las señales EMG
En los músculos se distinguen dos tipos de unidades: las anatómicas y las funcionales. La
unidad anatómica es la fibra muscular y la unidad funcional es la unidad motora, la cual
consiste en una motoneurona alfa de la médula espinal o de un núcleo motor del tallo
cerebral. Las ramificaciones del axón y el conjunto de fibras musculares sobre los que éstas
73
hacen contacto sináptico y todas las fibras musculares inervadas. Si existe algún tipo de
estimulo de control que sea provocado por el cerebro con el fin de conseguir un trabajo, la
motoneurona sufre un proceso descrito anteriormente en el que la despolarización de la
membrana celular corre como una corriente por todo el axón hasta las terminaciones
sinápticas y provoca la despolarización, casi sincrónica, en todo el conjunto de fibras
musculares de la unidad motora [29]. El elemento contráctil de los músculos es la fibra
muscular que es una célula cilíndrica de 50 pm de diámetro. La activación de cada fibra
muscular se hace a través del axón de la fibra nerviosa motriz que la inerva según la
posición y la función del músculo. El número de fibras musculares inervadas por un mismo
axón puede variar entre una o más de mil. El conjunto formado por la célula nerviosa
motriz en la espina dorsal, su axón y las fibras musculares que éste inerva constituye la
unidad funcional básica del sistema muscular y se conoce por unidad motora [10](UM)
(figura 5.4.)
Para mantener la contracción de los tejidos musculares se requiere que los impulsos
eléctricos se repitan y depende de la frecuencia de repetición de los impulsos eléctricos
contenidos en la fuerza que el músculo haga. Estos impulsos son conocidos como tren de
potenciales de acción de unidad motora.
Se conoce en la actualidad que el comportamiento de la amplitud de las señales
Mioeléctricas es aleatoria y está distribuida en forma gausiana con valores que se
encuentran entre 0mV y 6mV pico a pico [17]. La frecuencia de las señales EMG se
encuentra entre 0Hz y 500Hz con la información que tiene validez reconocible entre 0 y
74
200Hz pero con el mayor porcentaje de la energía entre 50Hz y 150Hz. Las características
de los potenciales Mioeléctricos impulsan a tomar medidas necesarias para que la
información contenida pueda ser procesada [17]. Estas medidas consisten en la
implementación de un banco de filtros que elimine las componentes de ruido sin perder
secciones de información valiosa y con la mejor relación señal-ruido.
Hay que tener claro que la amplitud del potencial no se altera directamente con la
intensidad de la fuerza de la contracción del músculo, como ya se mencionó, sino que la
variable que se modifica es la frecuencia con la que los estímulos llegan a la unidad motora
[27], [36].
Figura 5.4. Diagrama de unidad motora, extraída [10].
5.6. Interfaz Hombre-Maquina
Por medio de las señales mioeléctricas se hace posible desarrollar una interfaz hombremaquina, ya que de cierta manera son señales que el paciente puede activar a voluntad y
75
modificar su frecuencia según la intensidad de fuerza que realice el músculo del que se esté
extrayendo el biopotencial [13].
El primer paso a dar para crear una interfaz del tipo que se está tratando es adquirir la señal
EMG.
Los sensores utilizados para recoger las señales son electrodos estándar de
supervisión médica superficial conocidos como 3M, generalmente utilizados para
electrocardiograma. A pesar de que la calidad de la señal no es la que se podría conseguir
con mioelectrodos el costo elevado de ellos hace que en ésta etapa del desarrollo del
proyecto no sea posible adquirirlos. El uso de los electrodos estándar dio muy buen
resultado por el tipo de procesamiento que se aplicó.
Después de recoger la señal se requiere realizar un acondicionamiento que se divide en:
amplificación y filtrado. El proceso de amplificación es necesario porque el nivel de voltaje
de los potenciales mioeléctricos está por debajo de 100uV. De no realizar un adecuado
proceso de amplificación, la potencia de la señal se puede ver disipada en la resistencia de
los caminos de transmisión y puede distorsionarse por la presencia de componentes de
ruido y la resolución conseguida al digitalizar valores tan pequeños, situación que no es de
fácil apreciación. Para amplificar las cuatro señales se diseñó el circuito mostrado en la
figura 5.5. en el cual se utiliza un amplificador de instrumentación de Analog Devices por
cada señal, el circuito de amplificación utiliza un amplificador operacional más de
referencia LF353 con el fin de implementar una configuración recomendada por Analog
Devices para la adquisición de Biopotenciales.
76
Los amplificadores de instrumentación fueron escogidos teniendo en cuenta las necesidades
más importantes del sistema. Primero se decidió utilizar una configuración diferencial
empacada en un sólo dispositivo para eliminar las componentes de ruido común y reducir el
tamaño de la tarjeta de electrónica respectivamente con ganancia variable sin necesidad de
elementos electrónicos extras, con alta impedancia de entrada, baja impedancia de salida,
pero sobre todo que tenga un modo de rechazo común CMRR elevado. El amplificador
utilizado fue el de instrumentación presente en el comercio de fácil adquisición en
Colombia con una relación de prestaciones-costo favorables, es decir, el AD620.
Antes de digitalizar la información, las cuatro señales pasan por un filtro pasa bajos de tipo
pasivo, con frecuencia de corte en 200Hz. La frecuencia de corte se decidió en ese nivel
porque la información útil de la señal EMG para ésta aplicación está por debajo de dicha
frecuencia.
Las señales que han sido tomadas de los cuatro músculos distintos son
convertidas de análogo a digital por la tarjeta NI-DAQ 6014 de National Instruments con
una frecuencia configurada de 1KHz cumpliendo de esta manera con la teoría de muestreo
en la que se indica que la frecuencia debe ser mayor al doble de la menor frecuencia de la
señal para evitar el aliacing.
Con las herramientas de adquisición de datos en tiempo real de National Instruments con
Ladview y la tarjeta NI-DAQ 6014 se creó una interface para la comunicación de la
información de los músculos y el procesador que para este caso es el PC.
77
Antes de pensar en cualquier tipo de procesamiento se debe implementar otros filtros pero
esta vez con software. Primero un filtro pasa altos Butterworth de tercer orden con
frecuencia de corte en 5Hz para eliminar la componente de DC. La Etapa de filtrado
termina con un filtro en cascada tipo Notch que no es más que un retenedor de banda
encargado de atenuar los 60Hz que induce en los cuerpos la red eléctrica [36]. La respuesta
de estos filtros es similar a la mostrada en la Figura 5.6.
78
J1
1
2
3
R5
R4
15k
10k
10k
U3
7
1
R10
15k
3
6
2
R13
R14
100
100
3
6
2
AD620
R11
R12
15k
10k
5
100
R9
4
8
R8
100
4
R7
U2
1
10k
7
R3
15k
5
POWER
R6
8
SIL-100-03
AD620
J3
1
2
3
4
5
10k
U4
7
1
15k
3
6
2
R19
R20
100
100
AD620
R17
R18
15k
10k
OUT
3
6
2
5
10k
100
R15
4
8
R24
15k
R21
100
4
R25
R22
U5
1
10k
7
15k
CONN-SIL5
R16
5
R23
8
R26
AD620
C1
R2
10k
22n
R1
9
7
8
6
IN
4
5
J4
1
2
3
U1:A
2
1
4
1000k
1
3
CONN-SIL1
J2
8
CONN-SIL9
LF353
AMPLIFICACION SEÑALES MIOELECTRICAS
Figura 5.5.Circuito de Amplificación para Señales Mioeléctricas, Cuatro Canales.
79
Figura 5.6. Respuesta en Frecuencia de los Filtros.
El procesamiento tradicional de señales mioeléctricas consiste en extraer caracteristicas
estadísticas como la media, la varianza y la desviación estándar de las señales producidas
por cada músculo y un número determinado de niveles de fuerza, y finalmente un
reconocimiento de patrones que generalmente se realiza con una red neuronal o un sistema
experto. Este tipo de procesamiento tiene sus ventajas y desventajas. Entre sus ventajas se
encuentra la de minimizar en gran medida la cantidad de elementos físicos y, a pesar de que
el procesaminto se complique, esto es un tope superable aunque la dificultad que el
paciente experimenta al intentar adaptarce a la forma de enviar los comandos para controlar
la prótesis no sea la mejor. Ésta es una razón de por qué gran parte de los pacientes
rechazan las prótesis mioeléctricas, precisamente por no lograr aprender a manejarlas y ni
qué decir de cómo limita a la población que es apta para tal tipo de prótesis.
En este proyecto se decidió sacrificar un poco el tamaño del sistema al utilizar cuatro
canales de adquisición de señales EMG con la finalidad de conseguir facilidad de manejo
80
para el discapacitado y sin necesidad de largos períodos de adaptacion y aprendizaje. En el
sistema que propone este trabajo se decidió utilizar cada músculo como un interruptor
ON/OFF y, con las combinaciones de los cuatro, obtener una gama de comandos que como
mínimo alcancen los siete, seis para un igual número de agarres, y el séptimo para poder
abrirla.
El método utilizado para extraer los datos de cada músculo es detectar los cambios de
energía en las frecuencias que contienen la mayor densidad energética de las señales EMG
y con ello comparar frente a un umbral escogido mediante la experimentación y la
observación de los niveles promedio de la señal. Para realizar la comparación entre la
energía del potencial y los umbrales, que son distintos para cada músculo en observación,
se decidió enlazar el software hecho con Labview y el Matlab por la facilidad de
programación con esté tipo de código. Cuando las señales rebasan el umbral
correspondiente, Matlab envía un código a través del puerto serial, indicando cuál de las
señales está en alto. El código enviado por el puerto serial es recibido por un
microcontrolador PIC 16f877 que a su vez cada 100 ms muestra en el puerto B un código
que es interpretado por el microcontolador encargado del control de los diez servomotores
que accionan a UNPROT2. En la figura 5.7. se puede encontrar integrado el gráfico del
circuito de interfaz serial y la comunicación con el PIC encargado de los motores.
81
U2
7805
CONN-SIL2
VI
VO
GND
1
2
2
1
J1
3
R1
X1
X2
J2
10k
1
2
3
4
5
6
7
8
9
10
U1
CRYST AL 13
14
1
2
3
4
5
6
7
8
9
10
OSC1/CLKIN
OSC2/CLKOUT
MCLR/Vpp/T HV
33
34
35
36
37
38
39
40
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RA0/AN0
RA1/AN1
RA2/AN2/VREFRA3/AN3/VREF+
RA4/T 0CKI
RA5/AN4/SS
19
20
21
22
27
28
29
30
19
20
21
22
27
28
29
30
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
C1
PIC16F877
3
C5
1u
1u
1u
C1-
J3
C4
1
2
3
14
13
7
8
CONN-SIL3
2
6
C3
1u
15
16
17
18
23
24
25
26
Servos
15
16
17
18
23
24
25
26
RC0/T 1OSO/T 1CKI
RC1/T 1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/T X/CK
RC7/RX/DT
RE0/AN5/RD
RE1/AN6/WR
RE2/AN7/CS
U3
33
34
35
36
37
38
39
40
RC0/T 1OSO/T 1CKI
RC1/T 1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/T X/CK
RC7/RX/DT
OSC1/CLKIN
OSC2/CLKOUT
MCLR/Vpp/T HV
RA0/AN0
RA1/AN1
RA2/AN2/VREFRA3/AN3/VREF+
RA4/T 0CKI
RA5/AN4/SS
RE0/AN5/RD
RE1/AN6/WR
RE2/AN7/CS
13
14
1
2
3
4
5
6
7
CRYST AL
R2
10k
8
9
10
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
PIC16F877
1
U4
C1+
T 1OUT
R1IN
T 2OUT
R2IN
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
T 1IN
R1OUT
T 2IN
R2OUT
11
12
10
9
PC-SERIAL
VS+
VSC25
C2+
C2
4
MAX232
1u
INTERFAZ PC-SERIAL Y CONTROLADOR DE SERVOS
Figura 5.7.Circuito de Interfaz PC – Tarjeta de Comunicación con el Controlador de
servos.
En la figura 5.8. se encuentran los diferentes tipos de agarre que la protesis debe realizar.
Figura 5.8. Tipos diferentes de agarres, extraída [18]
82
Las siguientes son unas fotografías de UNPROT2.
Figura 5.9. UNPROT2.
83
CONCLUSIONES
1. En el manejo de una prótesis de mano se requiere controlar movimiento y responder
a múltiples perturbaciones que se presentan, además de tener que adaptarse a las
variables requeridas. Esto se logro dando autonomía a la prótesis con lazos de
retroalimentación, obteniendo una reducción en el número de señales de comando
necesarias para controlar el prototipo.
2. Querer reproducir todos los movimientos de la mano no es lo conveniente teniendo
en cuenta que, las prótesis no deben ser diseñadas enfocadas hacia la manipulación
sino exclusivamente a las acciones de agarre, luego en este momento lo
fundamental vendría a ser ahondar en la funcionalidad y no en las aproximaciones
más cercanas a las reales desde el punto de vista anatómico.
3. En la medición de velocidad utilizada normalmente, estos diseños usan
ENCODERS que ofrecen una resolución limitada por la cantidad de ranuras que
contienen. En este sentido se propone hacerlo con sistemas de sensores de posición
análogos que permiten calcular la razón de cambios en el tiempo y generan una
mayor resolución.
4. El implementar una interfaz de usuario con un entorno Windows para el manejo de
las prótesis ayudó a probar el funcionamiento de las etapas mecánicas y de control,
84
lo cual es una estrategia que permitió descartar errores en los módulos que
componen al prototipo.
5. La utilización de resortes en el diseño de mecanismos para las prótesis de mano
limita la estabilidad y convierte la planta en un sistema incontrolable por lo que, se
hace necesario usar mecanismos basados en eslabones para evitar oscilaciones
inadecuadas.
6. Las transmisiones que carecen de un freno mecánico o la baja impedancia mecánica
que éstas tengan implica un mayor consumo de energía al querer mantener la
posición comandada, razón por la cual se deben utilizar cajas de engranaje con alta
impedancia mecánica sin olvidar la implementación de una estrategia de control que
evite que el movimiento no se vea natural.
7. La implementación de señales mioeléctricas buscando el reconocimiento de
patrones para obtener comandos múltiples de control en las prótesis de manos no es
recomendable porque el paciente tiende a rechazarlas por el díficil manejo a que
tienen que enfrentarse. De esto se sigue que, es mejor darle al músculo la tarea de
enviar sólo dos comandos de control: uno en estado de relajación y otro en actividad
con energía superior a un umbral, acción que permite un mejor manejo de la
prótesis sin necesidad del largo período que implica la adaptación.
85
TRABAJO FUTURO
•
Implementar Biofeedback para variables de temperatura, presión, deslizamiento y
vibración.
•
Adicionar en el diseño un rotor de muñeca para amputación de antebrazo.
•
Buscar nuevas formas de controlarlo.
•
Estudiar los mioelectrodos implantables.
86
BIBLIOGRAFÍA.
1. Ma. Teresa García González, Aida Jiménez González, Rocío Ortiz Pedroza. Migel
Angel Peña Castillo. Potenciales Bioeléctricos Origen y Registro. (2001).
2. PROAKIS, John, MANOLAKIS, Dimitris. Tratamiento Digital de Señales:
Principios, Algoritmos y Aplicaciones. Prentice Hall. Tercera edición. (1997).
3. Alan V. Oppenheim, Alan S Willsky. Señales y Sistemas. Prentice Hall, (2º
Edición). (1997).
4. Alan V. Oppenheim, Ronald W. Schafer. Tratamiento de Señales en Tiempo
Discreto. Prentice Hall, (2º Edición). (2000).
5. K.Ogata. Sistemas de Control en Tiempo Discreto. Prentice Hall, (2º Edición).
(1996).
6. C.A. Smith, A.B. Corripio. Control Automático de Procesos. Teoría y Práctica. Ed.
Limusa (1999).
7. J. M. Angulo Usategui. Microcontroladores Dspic. Diseño Practico de
Aplicaciones. Mcgraw-Hill. (2006).
8. J. M. Angulo Usategui. Microcontroladores Avanzados Dspic. Thomson Paraninfo.
(2006).
9. Villena, José. Tarjeta de Sonido Vs. Tarjeta de Adquisición de Datos. (2006).
10. Juan Fernando Florez. Descripción de señales mioeléctricas
generadas por
movimiento del brazo humano. (2004).
11. Instrumentación Biomédica, Electromiografía. Universidad de Alcalá.(2001)
87
12. Joaquín Roca Dorda. Cantador para ayudas técnicas, a partir de señales de EMG,
con depuración de accionamientos involuntarios por la hipótesis temporal
extendida.(2000).
13. Oscar Hernán Paruma Pabón. Aplicaciones de Señales Mioeléctricas para el Control
de Interfaces Hombre – Máquina. (2005).
14. Victor Rodríguez Doncel. Entrenador para el Control de Prótesis Mioeléctricas.
(2001)
15. Alonso Alonso A. Myolectric prostheses trainer for hand and arm amputees. (2002).
16. León Escobar Moreira. Prótesis Inteligentes para Extremidades Superiores
Utilizando DSP. (2003).
17. Escudero Z. Prótesis para Extremidad Superior Controlada Mediante la
Interpretación de Señales Mioeléctricas en Músculos Remanentes. (1997)
18. D. Mesonero-Romanos. Arquitectura Electrónica para el Control de una Prótesis de
Mano.
19. Andrea Aparicio G., Luis Alejandro Caicedo D., José E. Cuy C. Prototipo de
Protesis para Mano Utilizando Músculos de Alambre (Nitinol) Para La Generación
De Movimiento.
20. Gámez García J., Robertsson A., Gómez Ortega J., Johansson R.
Calibración
Automática de un Observador de la Fuerza de Contacto para un Robot Manipulador.
21. J. L. Pedroño Molina, A. Guerrero González, J. Guerrero González, J. López
Coronado. Control de Agarre y Posicionamiento en una Plataforma Robot con
Sensores Táctiles. (2000).
88
22. J. L. Pedroño Molina, A. Guerrero González, J. López Coronado. Estudio de los
Sensores Táctiles Artificiales Aplicados a la Robótica de Agarre. (2006)
23. A. Varela, M. Vallés, J.L. Diez, R. Pizá, A. Sánchez. Utilización de Sensorización
externa en Robótica. (2005)
24. Jesús Ledesma Carballo. Sistema Somato-Sensorial. (2000)
25. Prótesis Mioeléctrica Industrial. Universidad Distrital. (2003)
26. Marcelo t. Piovan. Materiales y sus propiedades. (1998)
27. J. Pablo Rincón, Enrique Mendoza. Diseño e implementación de un sistema de
control electrónico para una prótesis robótica prototipo de miembro inferior. (2005).
28. R. Viladot, O. Cohi, S. Clavell. Ortesis y Prótesis del aparato locomotor, Tomo 3
Extremidad Superior. Editorial Masson. (1992).
29. Susan J. Garrison. Manual de Medicina Física y Rehabilitación. 2a Edición .
Editorial McGraw-Hill. (2005).
30. Carpenter RHS. Neurofisiología. Editorial El Manual Moderno. (1998).
31. Antonio Creus S. Instrumentación Industrial. 6a Edición. Editorial Alfaomega.
(2000).
32. Webster, J.G., Medical Instrumentation, Editorial John Wiley & Sons Inc., Tercera
Edición, (1998).
33. Alvaro Tucci Reali. El origen de los biopotenciales. Facultad de Medicina.
Universidad de Los Andes. Mérida. Venezuela. (1999).
34. A. Toboada Crispí. Algoritmos para Mejorar la Calidad de los Registros
Bioeléctricos. UCLV. (2005).
89
35. Barreda Luís Eduardo. Electromiógrafo. (2005)
36. B. Frankenhauser and A. F. Huxley. “The action potential in myelinated nerve fibre
of xenopus laevis as computed on the basis of voltage clamp data”. J. Physiol.
(1964).
37. KOSTYUK, P. G. Intracellular perfusion of nerve cells and its effects on membrane
currents. Physiol. (1984).
38. “Otto Bock System Electric Hand with DMC Plus”, Otto Bock Orthop ¨aedische
Industrie, November (1999).
www.microchif.com
www.ni.com
www.vishaymg.com
www.mathwork.com
90
Descargar