Informe final de pasantía Jóven Investigador

107
Informe Final de Pasantía Joven Investigador Descripción de resultados y logros alcanzados en el cumplimiento de los objetivos y las actividades programadas Ing. Guillermo Alberto Camacho Tutor: Dr. Carlos Alberto Gaviria Universidad del Cauca Facultad de Ingeniería Electrónica y Telecomunicaciones Departamento de Electrónica Instrumentación y Control Línea de Investigación Automática Industrial Popayán, Julio de 2010

Transcript of Informe final de pasantía Jóven Investigador

Informe Final de Pasantía Joven Investigador 

 

Descripción de resultados y logros alcanzados en el cumplimiento de los objetivos y las actividades 

programadas    

Ing. Guillermo Alberto Camacho Tutor: Dr. Carlos Alberto Gaviria 

Universidad del Cauca       

Facultad de Ingeniería Electrónica y Telecomunicaciones 

Departamento de Electrónica Instrumentación y Control Línea de Investigación Automática Industrial 

Popayán, Julio de 2010  

Resumen 

El presente trabajo aborda el desarrollo de prótesis activas de mano, concentrándose en la etapa de adquisición de señales electromiográficas superficiales (sEMG). En la sección 1 del documento se presenta el enfoque adoptado por el grupo de investigación en Automática Industrial para el desarrollo de una prótesis activa de mano y se define el problema particular tratado en esta investigación. El problema definido conduce al objetivo general: Diseño y construcción de un módulo de adquisición de señales sEMG para el sistema Entrenador basado en Prótesis Virtual. Para abordar la consecución de este objetivo, inicialmente se busca delimitar el alcance del sistema de adquisición de señales, mediante especificación de la arquitectura de procesamiento de señales del sistema Entrenador. La arquitectura resultante documentada en la sección 2 es una adaptación de modelos utilizados en sistemas neuronales para prótesis [(1)] [(2)] que conduce a un esquema de cinco componentes funcionales. Una vez definidos los límites del sistema, con ayuda de los integrantes del grupo de investigación en Automática Industrial y mediante sesiones de lluvia de ideas, se establecen las metas de diseño de cada componente. Estas metas son documentadas en sección de Anexos 7.1.

Partiendo de los límites especificados en la sección 2 y de las metas de diseño para el caso particular del componente Acondicionamiento y Adquisición de señal sEMG, se inicia el proceso de diseño. Este proceso implica: definición de sub-bloques funcionales del componente, selección de plataformas, esquemas de circuitos y tecnología necesaria para implementar cada sub-bloque propuesto y dimensionamiento de los elementos constitutivos en cada uno de los sub-bloques. Los resultados de estos procesos se resumen en la sección 3 de este documento.

Una vez especificado el diseño del componente Acondicionamiento y Adquisición de señal sEMG, se inicia el proceso de construcción del prototipo bajo el nombre tarjeta de adquisición sEMG v1.0. El prototipo obtenido se describe en la sección 4, en donde, a modo de manual de usuario, se presentan los procedimientos necesarios para configurar la tarjeta, se describe el hardware de desarrollo utilizado para el prototipo y se definen los procedimientos para la modificación del firmware de la tarjeta de adquisición de señales. Finalmente, en la sección 5 se presentan las conclusiones y trabajos futuros necesarios para concluir el proceso de validación del sistema construido.

Palabras Clave: Entrenador basado en prótesisVirtual, Sistemas de adquisición de señales sEMG, Filtros Digitales Notch, Amplificadores de instrumentación.

Contenido 

Resumen ............................................................................................................................. 2 

1.  Introducción ................................................................................................................. 4 

1.1.  Marco Teórico ...................................................................................................... 5 

1.2.  Descripción del Problema .................................................................................... 6 

1.3.  Objetivos .............................................................................................................. 8 

2.  Arquitectura de Procesamiento de Señales .................................................................. 9 

2.1.  Usuario. .............................................................................................................. 10 

2.2.  Componentes del Sistema. ................................................................................. 10 

2.1.  Señales del sistema de entrenamiento ................................................................ 12 

3.  Especificación de Diseño del componente Acondicionamiento y Adquisición de señal sEMG. ..................................................................................................................... 14 

3.1.  Bloques en la etapa de Acondicionamiento Analógico. ..................................... 15 

3.2.  Requisitos de componentes en módulo MGA. ................................................... 26 

3.3.  Bloques en la etapa de Acondicionamiento Digital ........................................... 30 

4.  Implementación del Componente Acondicionamiento de señales sEMG ................. 41 

4.1.  Descripción de Componentes de la implementación ......................................... 41 

4.2.  Funcionalidades y características del Prototipo ................................................. 43 

4.3.  Programa de demostración de la tarjeta entrenadora. ........................................ 45 

4.4.  Procedimientos de Configuración de la tarjeta .................................................. 46 

4.5.  Hardware de desarrollo de la tarjeta. .................................................................. 51 

5.  Conclusiones y Trabajos Futuros .............................................................................. 56 

6.  Bibliografía ................................................................................................................ 59 

7.  Anexos ....................................................................................................................... 63 

7.1.  Requisitos del Entrenador .................................................................................. 63 

7.2.  Programación del dsPIC30F2010. ..................................................................... 75 

7.3.  Programa de demostración en el dsPIC30F2010. .............................................. 83 

7.4.  Planos y esquemáticos. ..................................................................................... 100 

7.5.  Lista de Partes .................................................................................................. 105 

 

1. Introducción 

En la actualidad, uno de los problemas que más llama la atención en la comunidad científica es el diseño de sistemas que asisten a pacientes con algún tipo de discapacidad. En Colombia, la discapacidad por amputación adquiere importancia debido a la gran cantidad de personas afectadas como consecuencia de la utilización de minas anti-personas como elemento de guerra en el conflicto interno. Según cifras del DANE, en nuestro país de cada 100 colombianos con limitaciones 14.9 presentan limitaciones permanentes para usar brazos y manos [(3)]. Las personas con este tipo de limitación experimentan diversos efectos físicos, psicológicos y sociológicos entre los que se destacan:

• Alteración del equilibrio del organismo que deteriora los grupos musculares asociados a la extremidad.

• Reducción de autoestima. • Pérdida de independencia para el desarrollo de actividades cotidianas.

El grupo de investigación en Automática Industrial consiente de la situación descrita plantea en el año 2006 el proyecto PROTESIS ROBÓTICA DE MANO. Este proyecto surge para tratar directamente el efecto descrito como: Pérdida de Independencia para el desarrollo de actividades cotidianas. Específicamente, el problema a abordar es el de ¿Cómo incrementar la independencia en personas con amputación de miembro superior?. La hipótesis planteada se fundamente en que: el incremento de independencia en una persona con amputación de miembro superior se logra al aumentar las posibilidades de movimiento en la extremidad pérdida; este incremento se cree posible mediante una prótesis activa de mano. Los sistemas prostéticos de este tipo, resultan altamente costosos para la mayoría de la población colombiana y aquellos que están al alcance del presupuesto de un ciudadano, en general, resultan poco funcionales. De otro lado, los sistemas más funcionales son de alta complejidad para el usuario, a tal punto que en algunos casos la persona con discapacidad al poco tiempo de adquirir su prótesis, termina por descartar el uso de la prótesis y continuar su vida sin este tipo de asistencia [(4)]. Una alternativa para evitar esta situación es el desarrollo de sistemas de entrenamiento basados en prótesis animadas o virtuales. Estos sistemas permiten que un usuario se conecte a un sistema de adquisición de datos y se entrene en la generación de movimientos con la extremidad perdida, teniendo como realimentación básica la animación de una prótesis virtual capaz de simular el comportamiento de una prótesis real. De esta manera es posible reducir la complejidad asociada al uso de los sistemas prostéticos.

1.1. Marco Teórico Desde el año 2006 el grupo en Automática Industrial en conjunto con los grupos GNTT1 y Movimiento Corporal Humano, dirigen esfuerzos a la construcción de una prótesis activa de mano. La metodología adoptada se fundamenta en tres etapas:

1. “Modelado, diseño y simulación de una mano virtual controlada a partir de señales electromiográficas”.

2. Diseño y construcción de un prototipo de prótesis robótica mioeléctrica. 3. Construcción de una prótesis activa de mano

La primera etapa busca un producto denominado Entrenador Virtual. El sistema Entrenador se basa en una prótesis virtual de 9 grados de libertad. A corto plazo se planea que este producto permita entrenar a un usuario en el desarrollo de posiciones y agarres básicos con la prótesis y en algunos casos interactuar con objetos virtuales. A largo plazo, se busca que el sistema brinde soporte para el desarrollo de terapias de recuperación de actividad motora básica y procedimientos de evaluación de factibilidad de acople de prótesis en pacientes con amputación de mano.

El entrenador virtual se concibe como un sistema que permite a una persona controlar los movimientos de una prótesis virtual mediante activación de los músculos en su antebrazo. La Prótesis virtual, es una mano animada en un ambiente 3D, capaz de ejecutar movimientos del tipo: Abrir mano, Cerrar mano, agarre plano, agarre cilíndrico y agarre gancho.

Hasta Marzo del 2009 la investigación arrojaba múltiples resultados relacionados entre los que se destacan:

• Selección de la arquitectura de la mano: Configuración de 3 dedos con 9 grados de libertad como se indica en la Figura 1[(5)].

Figura 1. Arquitectura de la prótesis de mano.

1 Grupo de Nuevas Tecnológias en Telecomunicaciones

• Adopción informal de una arquitectura de procesamiento de señales basada en 5 componentes (Ver Figura 2):

1. Adquisición EMG 2. Adecuación y Filtrado 3. Extracción y Clasificación. 4. Trayectorias de Agarre 5. Control y Modelo dinámico. 6. Ambiente virtual.

Figura 2. Arquitectura adoptada para el procesamiento de señales. Fuente [(6)]

• Algoritmos de procesamiento en los componentes 3 y 4 de la Figura 2[(7)]. • Modelos geométrico, cinemático y dinámico de la prótesis [(5)]. • Entorno gráfico de una prótesis de mano virtual [(8)].

1.2. Descripción del Problema 

Para esta época el grupo se enfrentaba al problema de validación e integración entre desarrollos. Los componentes del sistema habían sido abordados por los integrantes de manera autónoma e independiente y los desarrollos no eran inter operables entre componentes. Aun no se contaba con un prototipo de Entrenador Virtual que validase el desempeño de todo el sistema en interacción.

Esta situación genera inconvenientes internos y externos. Los internos relacionados directamente con los resultados de la investigación: generación de incertidumbre acerca de la utilidad de los módulos diseñados, desconocimiento de los problemas relevantes del sistema integrado e imposibilidad de evolución hacia la segunda fase “Diseño y construcción del Prototipo de prótesis”. De otro lado, un inconveniente externo relacionado con el sustento económico del proyecto es la imposibilidad de captación de recursos privados para sostenimiento, al no contar con un producto que permita la negociación con instituciones que potencialmente puedan beneficiarse de los resultados de la investigación (clínicas y/o centros de rehabilitación). En consecuencia, resulta pertinente dar solución a

los siguientes problemas: ¿Cuál es el desempeño del sistema de entrenamiento integrado? y ¿Cuál es la posibilidad de emplear al sistema de entrenamiento como captador de recursos de financiación de la investigación? Dentro del marco de trabajo presentado se plantean los siguientes objetivos para la ejecución del programa Joven Investigador: Objetivo General: Contribuir al logro de los objetivos de la fase “Modelado, diseño y simulación de una mano virtual controlada a partir de señales electromiográficas”, dentro del proyecto “Prótesis robótica de Mano” propuesto por el grupo de Automática Industrial.

Objetivos específicos.

1) Establecer el estado actual de la investigación adelantada por el grupo de Automática Industrial en cuanto al desarrollo de los módulos y sus interfaces.

2) Desarrollar la integración de los módulos que componen el sistema “Prótesis de Mano virtual controlada a partir de señales EMG”.

3) Medir indicadores de desempeño sobre el sistema y establecer aspectos de mejora.

Durante el desarrollo del primer objetivo específico se analizan los resultados recopilados por el grupo de investigación y se contrastan con los requisitos establecidos en cada componente. Como resultado principal de esta etapa se concluye la no viabilidad de objetivos planteados para el programa Joven Investigador siendo las causas principales:

• La inexistencia del módulo de adquisición de señales (MGA, MGD [1]). Se prevé que el diseño y construcción de este módulo involucra un periodo cercano al 70% del tiempo del proyecto, por tanto, los objetivos específicos restantes no pueden ser terminados a tiempo. (A esta fecha ya se habían cumplido cerca de 4 meses de proyecto (1 Julio 2009)).

• La falta de asesoría dentro del campo de análisis de sistemas en el contexto de ingeniería software. El proyecto involucra la creación de aplicaciones software con alto intercambio de información y requerimientos de operación en tiempo real, para ello resultan necesarias competencias en el campo de ingeniería software.

Con base en el Diagnóstico, se decide re-direccionar el proyecto proponiendo modificando los objetivos.

1.3. Objetivos 

Objetivo General. Diseño y construcción de un módulo de adquisición de señales Electromiográficas Superficiales (sEMG) para el sistema Entrenador de Prótesis Virtual.

Objetivos Específicos.

1) Diseñar el modulo de adquisición de señales sEMG.

2) Validar el desempeño del diseño respecto a los requisitos recogidos dentro del grupo de investigación.

3) Implementar el prototipo medidor de señales sEMG.

4) Documentar los procesos de diseño y procedimientos de uso del dispositivo diseñado

2. Arquitectura de Procesamiento de Señales 

Un aspecto de alto impacto en el desarrollo de un sistema prostético, es la arquitectura de procesamiento de señal adoptada. Esta arquitectura define las transformaciones y secuencias de operación sobre las señales desde que son capturadas en el paciente hasta que se genera una respuesta visual del sistema.

En [(1)] se aborda el problema de realizar comparaciones entre autores cuando se trata de confrontar diversas alternativas de solución a un mismo problema dentro del área BCI (Brain computer interface). Como aporte a la solución del problema, se plantean un conjunto de requisitos para la arquitectura de procesamiento en sistemas BCI junto con un modelo funcional para el diseño de estos sistemas. [(2)] toma como punto de partida los resultados publicados por [(1)] para establecer un conjunto de características de framework para prótesis neuronales. Adicionalmente, propone un modelo en bloques capaz de satisfacer los requisitos establecidos para el framework. Este modelo se caracteriza por presentar alta modularidad, reducido número de componentes e interfaces estándar entre módulos. Los beneficios derivados de las características mencionadas son:

• Poca dependencia entre componentes. • Facilidad de intercambio de tecnologías entre componentes. • Facilidad para aporte de investigadores en temas parciales del sistema.

Debido a las ventajas mencionadas, y a la similitud entre los sistemas neuronales para prótesis y las prótesis mio-eléctricas, resulta válido y conveniente partir del modelo funcional de [(1)] y los modelos de bloques de [[(2)] para establecer el esquema funcional de una prótesis robótica de mano. Una adaptación de estos modelos se presenta en la Figura 3.

Figura 3. Esquema de procesamiento de señal para prótesis de mano.

2.1. Usuario. El usuario es la persona que controla el sistema. Es decir, es el encargado de modificar intencionalmente el estado de los músculos en su antebrazo con el fin de generar las señales de control que operan el sistema de entrenamiento. El usuario al que está dirigido este primer prototipo puede ser caracterizado por los siguientes atributos:

Persona con: [(9)]

• Disposición para integración de prótesis en sus actividades. • Disposición para trabajar con personal especializado bajo procesos de diagnóstico,

terapia y tratamiento. • Buenas expectativas de vida. • Necesidad de mantener o recuperar la actividad motora básica2 en su extremidad

superior.

Tipo de amputación:

• Amputación por razones diferentes a: amputación desde nacimiento y amputación por higiene (tumoral).

• Amputación en el antebrazo, ya sea Tercio Medial (presente aproximadamente en el intermedio del radio y cubito) o Tercio Distal (cerca de la muñeca).

2.2. Componentes del Sistema. Desde una perspectiva funcional podemos dividir al sistema entrenador en 6 componentes. La función de estos componentes se resume en la Tabla 1.

# Nombre del componente

Especificación

1 Acondicionamiento y Adquisición de señal sEMG

La función básica de este componente es Adquirir y adecuar la señal emg superficial (sEMG). Estos procesos se realizan en dos etapas de procesamiento, la primera analógica (MGA) y la segunda digital (MGD).

2 Extractor de características

Se encarga de extraer un conjunto finito de características (temporales y espectrales) de la señal sEMG, que permita discriminar la intención de movimiento del usuario. Según lo concluido en [(10)], para aplicaciones de prótesis mioeléctricas, los parámetros temporales DT y los parámetros espectrales: DWT y WPT son los más representativos de las señales sEMG.

2 La actividad básica dentro de este proyecto se define como la capacidad de ejecutar seis intenciones de movimiento: Los agarres cilíndrico, gancho y lateral, junto con las posiciones reposo, mano abierta y mano cerrada

3 Traductor de características

Se encarga de traducir un vector de características en señales de control lógicas (independiente del bloque DISPOSITIVO). El Traductor funciona con base en un vector de características de referencia, generalmente adquirido offline durante la etapa de entrenamiento del sistema. En [(11)] se comparan cuatro técnicas inteligentes (MLP, PNN, SVM y FAM) respecto a los indicadores: Precisión, Velocidad, Potencia y Flexibilidad. Se concluye que no existe una técnica superior y que cada alternativa es fuerte en al menos un indicador. Se destaca el bajo consumo de recursos computacionales de la técnica SVM_RBF.

4 Interfaz de Control Su función es la de Convertir una señal de control lógica en una señal de control semántica, apropiada para el tipo de DISPOSITIVO bajo control. En [(7)] se desarrollan algoritmos para planificar la trayectoria de los dedos durante el agarre de un objeto cilíndrico. Dado el radio del objeto y la longitud de las falanges de la mano, se calculan los ángulos entre falanges necesarios para el agarre.

5 Controlador Se encarga de garantizar que la señal de control lógica sea ejecutada por el DISPOSITIVO. Para este propósito realiza una comparación entre las variables articulares en el DISPOSITIVO y la señal de control lógica. Finalmente concluye una acción de control representada por señales de control físicas. Adicionalmente, controla el comportamiento de la prótesis virtual en etapas de inicialización, reinicio y terminación. Es importante mencionar que el controlador resulta imprescindible en aplicaciones que aborden dinámicas reales de los mecanismos que constituyen la prótesis. Este no es el caso del entrenador virtual, razón por la cual es posible realizar un bypass del bloque controlador para el sistema Entrenador (Ver Figura 4).

6 Dispositivo Su función es la de presentar el estado de la prótesis y los objetos con los cuales ésta interactúa (objetos a agarrar). Esta información resulta útil para que el usuario asocie las intenciones de movimiento que genera en su antebrazo con las trayectorias que sigue la prótesis virtual. Se compone a partir de los bloques Modelo Dinámico Directo (MDD) y Presentación. Este último se encarga de actualizar gráficamente las posiciones de las falanges en pantalla. En aplicaciones con dinámicas reales, es necesario incluir el Modelo Dinámico Directo (MDD) del mecanismo para complementar la estrategia de control del sistema. El entrenador no incluye dinámicas de la prótesis, por lo tanto, es posible reemplazar el bloque MDD por un modelo Geométrico Directo (Ver Figura 4).

Tabla 1. Especificación componentes del Entrenador

En el anexo 7.1 se presenta un listado de metas de diseño para cada uno de los componentes del entrenador.

2.1. Señales del sistema de entrenamiento 

2.1.1. Señales de control directas.  

Señal electromiográfica superficial (sEMG). Señal que contiene información relacionada con la intención de movimiento del usuario. Esta señal se constituye a partir de potenciales de acción en unidades motoras del usuario combinadas con altos contenidos de ruido y contaminación del ambiente. Una revisión del origen fisiológico de estas señales enfocada al control de prótesis robóticas se realiza en [(12)].

Señal sEMG acondicionada. Señal Electromiográfica que ha sido muestreada y acondicionada. Esta señal se encuentra en el formato adecuado para ser entregada al componente que le sucede. En esta señal se ha reducido el contenido de ruido y contaminación respecto a la señal sEMG.

Vector de Características. Conjunto de características representativas de la señal sEMG. Las características pueden ser temporales, espectrales o una combinación entre las anteriores. Existe un patrón de características propio de cada intención de movimiento, por tanto, esta señal (en combinación con las características referencia) constituye la fuente de información para diferenciar entre diversas intenciones de movimiento generadas por el Usuario.

Características Referencia. Conjunto de características de la señal sEMG, obtenidas al ejecutar movimiento pre-definidos. Poseen el mismo formato que el vector de características. Son referencia de comparación durante el proceso de traducción del vector de características en intenciones de movimiento. Estas características se obtienen durante la etapa de entrenamiento del sistema y deben ser actualizadas periódicamente debido a la naturaleza variable de las señales sEMG.

Señal de control lógica. Señal de control que codifica la intención de movimiento de un usuario sin considerar el tipo de DISPOSITIVO del sistema. Esta señal puede ser representada por un código binario con seis estados correspondientes a las intenciones de movimiento consideradas como básicas (Ver nota al pie 2). Un ejemplo para la clasificación de agarres de Schelsinger se presenta en la Tabla 2.

Tabla 2. Codificación de las intenciones de Movimiento

Código Intención de Movimiento000 Reposo 001 Agarre Cilíndrico 010 Agarre Tipo Gancho 011 Agarre Lateral 100 Abrir Mano 101 Cerrar Mano

Señal de control semántica. Señal de control que representa la intención de movimiento de un usuario considerando el tipo de DISPOSITIVO en el sistema. En el caso particular de la prótesis Virtual, esta señal contiene información de las trayectorias articulares que ha de seguir cada falange a fin de satisfacer la intención de movimiento del usuario.

Señal de control Física. Esta señal dirige la posición de cada una de las articulaciones a fin de que se satisfaga la intención de movimiento del usuario. Esta señal interactúa directamente con el DISPOSITIVO. En el caso de la prótesis real, esta señal puede estar representada por:

• Torques que actúen sobre cada una de las falanges. • Voltajes que actúen sobre cada actuador en la prótesis robótica.

Señales de control realimentadas.  Estado de la prótesis. Señal con información del estado de las articulaciones de la prótesis virtual y de los objetos con que ésta interactúa. Esta señal permite que el usuario correlacione los cambios en sus articulaciones con las intenciones de movimiento que genera.

Variables articulares. Son variables calculadas por el Modelo Dinámico Directo. Esta señal es realimentada al componente controlador, para posteriormente ser comparada con la señal de control semántica.

Estado del controlador. Señal de realimentación empleada para sincronizar el funcionamiento entre los componentes INTERFAZ DE CONTROL y CONTROLADOR.

Figura 4. Esquema De procesamiento de señal para el Entrenador Virtual de Prótesis de Mano

 

3. Especificación  de  Diseño  del  componente Acondicionamiento y Adquisición de señal sEMG. 

El componente Acondicionamiento y Adquisición de señal sEMG debe satisfacer dos requisitos básicos: El primero es acondicionar la señal sEMG, es decir: adquirir, amplificar, filtrar, digitalizar, segmentar y transferir la señal de usuario hacia el PC. El segundo requisito incluye la definición de procedimientos para gestionar la señal adquirida, es decir: Transferencia de sEMG al componente EXTRACCIÓN DE CARACTERÍSTICAS, Registro de sEMG en memoria del PC, recuperación de registros desde PC y despliegue de señales sEMG entre otras. En la Figura 5 se presenta la estructura funcional bajo la cual se concibe el componente y la interacción entre sus etapas o sub-bloques.

Figura 5. Especificación Funcional Componente Acondicionamiento y Adquisición.

En esta sección se especifica el diseño y dimensionamiento de la etapa de Acondicionamiento. Esta etapa ha sido concebida como una entidad hardware fundamentada en circuitos analógicos, circuitos digitales y circuitos integrados programables por usuario (ASICs). Según [(6)] Las funciones desarrolladas en este bloque pueden ser segmentadas en dos módulos: 1) Módulo Gestor Analógico (MGA) con funciones de seguimiento, amplificación y filtrado. (2) Módulo Gestor Digital (MGD) encargado de la conversión A/D, filtrado digital y encapsulación de datos en un protocolo adecuado para intercambio de señales con el PC. En la Figura 6 se ilustra un esquema funcional del sub-bloque ACONDICIONAMIENTO.

Figura 6. Esquema Funcional del sub-bloque ACONDICIONAMIENTO.

3.1. Bloques en la etapa de Acondicionamiento Analógico. 

3.1.1. Bloques Impulsar­Restar. En estos bloques se calcula la señal diferencial entre dos voltajes sEMG. Las señales de entrada se originan en los electrodos conectados al usuario o paciente. El propósito de esta resta es eliminar el ruido común a los dos sensores y recuperar la señal sEMG original. Generalmente, este bloque es implementado mediante un esquema de amplificador de instrumentación. Dicho esquema se divide en dos etapas: 1) Etapa impulsora: Se encarga de impulsar las señales de entrada a fin de dotarlas de suficiente corriente para que sean procesadas por las etapas siguientes. 2) Resta. Esta etapa calcula la señal diferencial en un canal mediante resta de voltajes impulsados.

En la salida se obtiene la señal diferencial (V2) como resultado de la resta entre las señales de entrada. Según lo reportado en la literatura, existen dos alternativas para la implementación de este bloque:

• Combinación de Amplificadores operacionales en modo seguidor y restador como se indica en la Figura 7.

• Amplificador de Instrumentación integrado. [(13)][(14)]. Esta alternativa presenta la ventaja de precisión en los elementos constitutivos del esquema como resistencias integradas.

El requisito funcional para el bloque es:

• Aportar una ganancia 6 (seis); • Evitar desfases sobre la señal. • Eliminar el componente DC en la señal de salida

Circuito DRL. Este circuito se encarga de calcular La señal útil para reducir el voltaje en modo común y con éste las posibles interferencias de señal [(15)]. Esta señal es calculada a partir del voltaje de modo común (VG) medido entre los terminales no inversores de los OPAMP de seguimiento (Ver Figura 7). La señal medida es impulsada, invertida y realimentada al usuario a través del electrodo común (DRL). Generalmente la salida impulsada (VSHIELD) es conectada al apantallamiento de los conductores que transportan la señal proveniente de los electrodos.

Figura 7. Implementación de los bloques: Impulsor, Resta y Circuito DRL. Nota, cambiar VG por VC (Voltaje de modo común).

Las expresiones que permiten modelar el procesamiento en el bloque DRL se presentan en la Ecuación 1.

Ecuación 1

 

 

Para el dimensionamiento de componentes se tomo en cuenta la necesidad de ganancia unitaria, con lo cual se seleccionaron:

10K10K

10K

En aplicaciones de más de un canal se suele utilizar un único electrodo DRL para entregar el voltaje de modo común de cada canal. Bajo estos esquemas es necesario calcular el valor medio del voltaje de modo común, antes de entregarlo al electrodo DRL. Un esquema de implementación basado en un circuito sumador-inversor se ilustra en la Figura 8, en donde VSHIELDx (x=1,2) corresponde a el voltaje de modo común impulsado y detectado en el canal x.

Figura 8. Cálculo del valor medio de VDRL e inversión de señal

Al considerar un amplificador ideal, el esquema de la Figura 8 puede ser modelado matemáticamente mediante la siguiente expresión:

Note que la función de invertir la señal que en la Figura 7 se asignaba a IC3C, ahora puede ser ejecutada por el sumador inversor. El requisito para el dimensionamiento del bloque es: Entregar a la salida el valor medio entre V_DRL1, V_DRL2. Los valores calculados son:

68K 68K 33K

22K

3.1.2. Bloque Filtro Pasa Altas. Este bloque se encarga de cortar los componentes de frecuencias por debajo de los 10 Hz en la señal impulsada (V2). Según [(16)] dichas componentes se encuentran fuera del ancho de banda de las señales sEMG y generalmente son originadas por movimientos de artefactos,

potenciales galvánicos de piel y potenciales DC half-cell [(17)]. Para la implementación se emplea un filtro ButterWorth3 de orden 4 con la estructura ilustrada en la Figura 9.

Figura 9. Implementación del bloque Filtro pasa Altas de cuarto orden. Nota.

Las ecuaciones que permiten modelar este bloque son [(18)]:

Ecuación 2

 

En donde:

1

2

1

; Para =

1

2

1

 

; Para =

 

3 La selección de la estructura Butterworth obedece a dos características: (1) La necesidad de un filtro con respuesta en fase de tipo Bessel que reduce retardos en los componentes espectrales de la señal [ (15)]. (2) La conservación de linealidad en amplitud dentro de la banda que pasa (passband) [ (22)].

Para dimensionar los componentes se toma en cuenta dos requisitos:

• Frecuencia de corte =10Hz. • Ganancia ( ) = 4.

Con base en el procedimiento de diseño presentado en [(18)] se obtiene los siguientes valores de componentes:

  Valor Calculado

Valor Comercial

1uF 1uF 1uF 1uF 15K 15K 34K 33K

17K 18K 34K 33K

1uF 1uF 1uF 1uF 20K 22K 24K 27K

12K 12K 24K 27K

3.1.3. Bloque Amplificación. La amplificación obedece a dos necesidades: (1) Se requieren señales de amplitud en el orden de los voltios para que el procesamiento sea adecuado. (2) Se ha de modificar el rango de variación de la señal sEMG amplificada a fin de hacerlo coincidir con el rango de entrada del convertidor A/D en la etapa de Acondicionamiento Digital (Ver Figura 6).

Según lo reportado en la literatura, existen dos alternativas de amplificación:

• Amplificación de señal bipolar. Bajo esta alternativa las señales en cada canal son referidas a un voltaje de magnitud cero [(19)]. Los esquemas bipolares requieren de fuentes de alimentación duales.

• Amplificación de señal unipolar. Bajo esta alternativa las señales en cada canal son referidas a un voltaje de magnitud positiva denominado tierra virtual [(20)]. Esta alternativa presenta la ventaja de requerir fuentes de alimentación unipolares para los circuitos integrados. Generalmente, esta amplificación es utilizada en esquemas en donde la fuente de alimentación presenta limitaciones, por ejemplo: circuitos alimentados por baterías, circuitos alimentados por terminales de potencia USB [(21)].

Para los propósitos del proyecto resulta conveniente utilizar la opción de amplificación unipolar. Como consecuencia, los integrados que procesen la señal sEMG, deben estar referidos a una tierra virtual (AVGND) (Para mayor información ver [(20)]).

Considerando amplificación unipolar se espera un rango de variación de la señal sin procesar (señal entregada por electrodos) entre [0 10]mV [(22)]. En tanto, se establece un rango de variación de la señal de salida entre [0 10]V. Con esta información, podemos calcular la ganancia total como se muestra en la Ecuación 3:

1010 10

1000 Ecuación 3

Para alcanzar la amplificación calculada se asigna a los bloques Resta, Pasa Altas, Amplificación, Pasa Bajas y Convertidor AD ganancias correspondientes a: , , ,

y respectivamente. Los valores se resumen en la siguiente tabla.

  Máximo 6 4 5.5 4 2 1064 Mínimo 6 4 1 4 2 192

Respecto a la segunda necesidad, se plantean dos estrategias: (1) Se implementa un amplificador con ganancia variable (potenciómetro (RF51_1)) bajo el esquema ilustrado en la Figura 10. (2) Se implementa el bloque de Ajuste de nivel DC (Bias Adjustment) descrito en la sección 3.1.5.

Figura 10. Implementación del bloque Amplificación.

El circuito de la Figura 10 puede ser modelado por la Ecuación 4:

1 Ecuación 4

En donde,

=porcentaje de apertura del potenciómetro

El único requisito considerado en el dimensionamiento de componentes es la obtención de una Ganancia 5.5. Por tanto, los valores a utilizar serán los especificados en la tabla:

10K 33K

150K

3.1.4. Bloque Filtro Pasa Bajas. Este bloque se encarga de cortar los componentes de frecuencias por encima de los 500 Hz. Según [(22)], [(16)], [(23)] dichas componentes se encuentran fuera del ancho de banda de las señales sEMG y generalmente se originan en fuentes externas o como resultado colateral de componentes agregados por la cadena de procesamiento de señal [(17)]. Es importante eliminar esta sección del espectro, a fin de evitar el fenómeno de aliasing o plegado (folded back) de componentes de alta frecuencia después del proceso de digitalización de la señal [(24)]. El esquema seleccionado para la implementación del bloque es el filtro ButterWorth3 de orden 4 (Ver Figura 11).

Figura 11. Implementación del Bloque Filtro Pasa Bajas de segundo orden o Filtro antialiasing.

Las expresiones que permiten modelar el filtro seleccionado según [(18)] se presentan en la Ecuación 5:

Ecuación 5

En donde,

1 1

1

1 1

1

1

1

Para dimensionar los elementos de la Figura 11 se considera:

• Frecuencia de corte: 500Hz • Ganancia ( )= 4

Con base en el procedimiento de diseño presentado en [(18)] se obtiene los siguientes valores de componentes:

  Valor Calculado

Valor Comercial

1uF 1uF 1uF 1uF

4.2K 3.9K 2.5K 2.7K

130K 120K 130K 120K 1uF 1uF

1uF 1uF 0.8K 820 6K 5.6K

150k 150k 150k 150k

3.1.5. Bloque Ajuste Bias. Este bloque se encarga de incrementar o decrementar el nivel de referencia de la señal resultante (V6). Con esto se busca evitar que la señal de salida se sature a niveles de alimentación de los amplificadores operacionales. Adicionalmente, el bloque permite ajustar el rango de variación de voltaje V6 para que este encaje con el rango de conversión del convertidor A/D y se optimice la resolución en la cuantización. La implementación se basa en el esquema de amplificador restador ilustrado en la Figura 12.

Figura 12. Implementación del bloque Ajuste Bias

Las expresiones que modelan este bloque se resumen en la Ecuación 6:

Ecuación 6

Para

1

En donde, =porcentaje de apertura del potenciómetro

 

Para el dimensionamiento se toma en cuenta el único requisito de ganancia unitaria. Con este se obtienen los valores en la Tabla:

1.3K 50K 10K 1K

3.1.6. Bloque Aislamiento eléctrico. Para satisfacer el requerimiento de seguridad definido en el sistema (Ver sección 7.1.1), es necesario contar con una barrera de aislamiento eléctrico. Al respecto se sabe que los medidores sEMG generalmente se dividen en dos partes [(17)]:

• Sección aislada. (o sección flotante). Conectada al paciente y generalmente alimentada por baterías.

• Sección no aislada. Conectada a la línea de potencia y/o a dispositivos externos como computadores, registradores, etc.

Una barrera de aislamiento eléctrico separa estas dos secciones con capacidad de aislamiento entre 4-6 KV, a fin de satisfacer los estándares de seguridad definidos sobre equipos médicos [(17)]. Para el componente MEDIDOR sEMG, se requiere una barrera que permita la transferencia de señales en el sentido aislado no aislado. Existen dos alternativas para la implementación del aislamiento requerido:

• Aislamiento analógico. Se basa en el uso de amplificadores de aislamiento en cada canal y bajo una estructura similar a la presentada en la Figura 13; Bajo este esquema es posible implementar el bloque Ajuste Bias sobre el amplificador de entrada del aislador (en el ejemplo AD210AN).

Figura 13. Alternativa de Implementación para bloques Ajuste Bias y Aislamiento Eléctrico.

• Aislamiento digital. Se basa en la utilización de un aislador digital capaz de transportar las señales físicas de un protocolo de comunicación digital (por ejemplo SPI, I2C). Para implementar esta opción es necesario digitalizar la señales correspondientes a cada canal (V7_1 y V7_2) antes de la etapa de aislamiento.

Una comparación entre estas alternativas indica que la opción de aislamiento digital es la más apropiada para el Medidor sEMG.

Aislamiento Costo Precisión AislamientoAnalógico Alto Baja Alto Digital Bajo Alta Alto

La principal ventaja del aislador digital frente al analógico radica en la precisión. Según [(25)] los aisladores analógicos basados en transformadores satisfacen la precisión de 16 bits necesaria en el proyecto (ver sección 3.3.1), sin embargo, una búsqueda inicial en los catálogos de fabricantes [(26)], [(27)], [(28)] indica que la máxima precisión comercial en la actualidad es de 12 bits, hecho que hace inviable esta alternativa. En la sección 3.3.2 se presenta el dimensionamiento del aislador digital. Como consecuencia, la frontera entre las secciones aislada y no aislada en el medidor sEMG será como se ilustra en la Figura 14

Figura 14. Esquema de procesamiento de señal con aislamiento eléctrico

Teóricamente, el diseño de la etapa de acondicionamiento analógica presenta una respuesta en frecuencia caracterizada por la Figura 15.

Figura 15. Respuesta en frecuencia de la etapa de acondicionamiento analógico.

En la Figura 12 se corrobora el cumplimiento teórico de requisitos en la etapa de acondicionamiento analógico. Es importante mencionar que este comportamiento en frecuencia se calcula bajo la máxima ganancia de la etapa de acondicionamiento, es posible realizar reducciones en la ganancia a través de la resistencia variable RF51.

Bode Diagram

Frequency (Hz)10

110

2-360

-180

0

180

360

System: gtotalFrequency (Hz): 59.7Phase (deg): 7.57

Phas

e (d

eg)

100

102

104 System: gtotal

Frequency (Hz): 9.94Magnitude (abs): 372

System: gtotalFrequency (Hz): 59.8Magnitude (abs): 521

System: gtotalFrequency (Hz): 501Magnitude (abs): 329

Mag

nitu

de (a

bs)

Con esta figura es posible realizar seguimiento sobre algunas componentes de frecuencia de interés. Por ejemplo, la componente en 60 Hz (debidas principalmente al ruido inducido por las líneas de potencia) se desfasa aproximadamente 7.5 grados. Esta información resulta necesaria al momento de diseñar el filtro digital notch encargado de eliminar el ruido de potencia.

3.2. Requisitos de componentes en módulo MGA. El desempeño de filtros, amplificadores y seguidores dimensionados hasta el momento es directamente proporcional a la calidad de los componentes utilizados en la implementación. Es por esta razón que resulta necesario definir especificaciones para selección de los mismos. Las especificaciones generales para la selección de componentes son:

• Montaje Superficial (Para el prototipo final) • Tensión de Alimentación en el rango [0-5]V • Alta disponibilidad • Bajo Costo

Adicionalmente, existen especificaciones particulares, definidas por la función que cada elemento cumple. En el caso de los amplificadores operacionales podemos reconocer tres categorías dentro del diseño:

• Amplificadores de instrumentación. • Amplificadores para impulsar e invertir señales. • Amplificadores para filtrado.

Recordando que el diseño considera fuentes unipolares, se establece un requisito común para los integrados: Amplificadores de tipo rail to rail. Si se utilizan amplificadores bipolares, las señales en la salida de las etapas que manejen voltajes mayores a 3.5V o menores a 1.5V serán saturadas.

3.2.1. Amplificadores de Instrumentación.  Los bloques Seguimiento y Resta (ver Figura 7) conforman lo que en la literatura se conoce como amplificador de instrumentación. Dentro de la literatura EMG el amplificador de instrumentación también es denominado amplificador frontal (front-end amplifier). Este tipo de amplificador es de alta popularidad y según [(17)] los requisitos generales para una aplicación de resta con señales sEMG son:

• Relación Rechazo a modo común (CMMR) en el rango [100 120]dB. • Impedancia de entrada mayor a 10exp7 ohm. • Ruido de Entrada

o Densidad de voltaje de ruido RMS ( ) en el rango [1-60]nV/sqrt(Hz) a 1KHz.

o Densidad de corriente de ruido RMS ( ) en el rango [1- 100]fA/sqrt(Hz) a 1KHz.

• Ganancia DC limitada con el fin de prevenir la saturación.

Las alternativas consideradas en el proyecto junto con las características de interés se listan en la Tabla 3. A un lado de la magnitud correspondiente a cada propiedad, se ha colocado en color gris una calificación relativa tomando como referencia los requisitos listados en el párrafo anterior.

Confrontando la Tabla 1 con los requisitos establecidos se establece que la opción AD620A es la más apropiada. En caso de que se dificulte la consecución de este integrado, es posible emplear el INA118 como sustituto. Al revisar las hojas de datos de estos integrados, se evidencia dos hechos:

• No es posible tener acceso a los terminales en donde se planeaba conectar el switch S12 (Ver Figura 8). Considerando la poca utilidad del switch en mención es posible descartarlo dentro de este prototipo.

• Las resistencias RF11, RF12, R21, RF21, R22 Y RA21 son elementos internos al circuito integrado.

Tabla 3. Comparación de alternativas para el amplificador frontal.

Producto CMRR (dB) Impedancia de

Entrada (ohm)

Ruido de Entrada [nV/sqrt(Hz) a

1KHz]  [fA/sqrt(Hz) a 1KHz]4

AD620A [90 130] 4 10exp9 5  9  5  100  5INA2128 [120 -

XX] 5 10exp10 5  8  5  300 10   1

INA118U [110 - XX]

5 10exp10 5  10  5  300 10   1

LF347 [70 100] 3 10exp12 5  18  5  10 10   1INA326 [100 -

114] 5 10exp10 5  33  5  150 10   1

Según la hoja de datos del integrado AD620A [(13)], la configuración de ganancia para el amplificador de instrumentación solo depende del valor de RG que se calcula con la siguiente ecuación:

49.41

4 Una deficiencia en este parámetro solo puede ser compensada por un convertidor A/D de resolución precisa. Pico=10exp-12; Fento=10exp-15

Retomando la Ganancia 6 definida en la sección 3.1.3, obtenemos un valor de 9.88K para . es aproximado a 10K. El esquema de conexión del AD620A se ilustra en la Figura 16.

El integrado seleccionado posee un terminal REF en donde se conecta la señal referencia para la medición del voltaje en los terminales de salida. Este terminal es empleado para reducir por completo el componente DC de la señal diferencial (V2). Basta con monitorear componentes DC en la señal diferencial y retórnalos al terminal REF del AD620AN. Para este monitoreo se implementa un sensor de nivel DC a través de un circuito integrador como se ilustra en la Figura 16. Bajo este esquema el capacitor C22 se ha de cargar a los niveles DC de la señal diferencial (V2).

Figura 16. Bloques Seguimiento y resta implementados con el AD620AN

3.2.2. Amplificadores para impulsar e invertir señal. El circuito DRL utiliza un amplificador seguidor para impulsar la señal de modo común y garantizar una señal apta para apantallar el conductor que transporta las señales desde los electrodos (Ver IC3A en Figura 7). El circuito DRL también utiliza un amplificador para sumar e invertir la señal de modo común (VG) antes de entregarla al paciente (Ver IC4A en Figura 7). Los amplificadores a considerar en estas etapas son:

• LM324. • TLCV2772: 8 terminales, tipo DIP y con 2 amplificadores. • TLC2274: 14 terminales, tipo DIP y 4 amplificadores. • AD8606. Montaje superficial. 8 terminales • AD8608. Montaje superficial. 14 terminales

 

3.2.3. Amplificadores para filtrado. Según [(29)] el amplificador apropiado para el filtro pasa bajas ha de cumplir dos condiciones: (1) El ancho de banda del amplificador ha de satisfacer la Ecuación 7. (2) La velocidad de cambio del voltaje de salida con respecto a las variaciones en el voltaje de entrada (SlewRate) ha de satisfacer la Ecuación 8.

Por tanto, 100 y 0.015 100 Ecuación 7

En donde,

. Ancho de banda del amplificador . Frecuencia de corte del Pasa Bajas (500Hz)

. Ganancia del Pasabajas (2)

2     Ecuación 8

En donde,   , es el voltaje pico a pico a la salida del filtro. (5V)

Las alternativas de amplificador para la implementación del filtro pasa bajas junto con las características de interés se resumen en la Tabla 4:

Tabla 4. Amplificadores operacionales para el filtro pasa bajas

Fabricante Producto GBWP(MHz)

SlewRate (v/us) Corriente de alimentación

Montaje

Analog Devices AD8627ARZ 5 5 [630-785] uA Analog Devices AD8606 10 5 [1 – 1.2]mA SuperficialTexas Instruments TLC2274IN 2.2 3.6 6mA DIP Texas Instruments LM324 2.4 1 [0.8 – 1.2]mA DIP

Las cuatro alternativas cumplen con el requisito. Sin embargo, la opción LM324 presenta una ventaja al considerar la disponibilidad y el costo del integrado en el entorno comercial de la ciudad. Por tanto, se selecciona el LM324 para los filtros pasa altas y pasa bajas.

3.2.4. Resistencias.  • Tolerancias de 1%. • Composición: Película de metal. • Disipación < 1/8 de Vatio. • Instalación: En agujeros para prototipos iníciales y superficiales para prototipos

futuros.

 

3.2.5. Potenciomentros. • Ajuste: Lateral. A fin de facilitar la configuración de la tarjeta. • Instalación: En agujeros o superficiales. • Disipación: < 1/2 Vatio.

3.2.6. Condensadores. • Condensadores de Filtros para procesar señal sEMG.

o Composición: Cerámica (Clase I) o Mylar • Condensadores de filtros para procesar señal de potencia

o Composición: Cerámica • Condensadores de desacople:

o Composición: Tantalio. o Bajo ESR (Equivalent Series Resistor)

3.3. Bloques en la etapa de Acondicionamiento Digital 

3.3.1. Bloque Convertidor A/D,  La conversión analógica-digital de la señal que entrega la etapa de acondicionamiento analógico implica el uso de convertidores A/D. Para la selección de estos convertidores se toman en cuenta 3 aspectos:

1. Frecuencia de muestreo 2. Cuantización o Resolución 3. Número de canales.

Frecuencia de Muestreo. Las señales analógicas están definidas para cualquier instante de tiempo. Después de un proceso de muestreo, la señal resultante solo está definida para intervalos de tiempo con espaciamiento equidistante. El intervalo entre una muestra y la siguiente muestra se denomina Periodo de Muestreo ( ) y su inverso (1 ) es conocido

como frecuencia de muestreo ( ). El teorema de Nyquist indica que no existirá pérdida de información si y solo si la señal es muestreada a una frecuencia por lo menos de doble magnitud respecto a la máxima frecuencia de la señal analógica. En el caso de la señal sEMG, se considera que las máximas frecuencias con información de interés están en el orden de los 500Hz, por tanto 1000 Hz será suficiente. Adicionalmente, para facilitar el procesamiento digital de la señal se recomienda utilizar potencias de base dos en la frecuencia de muestreo, razón por la cual se propone una frecuencia de muestreo de

1024 Hz.

Cuantización de la señal. La cuantización es el proceso mediante el cual se codifica la amplitud de la señal. Durante este proceso, la señal analógica es transformada a un código binario (señal digital) que representa y aproxima la amplitud de la señal original. Cada código binario corresponde a una amplitud analógica. Para cada muestra, el convertidor

A/D encuentra el nivel más cercano a la entrada analógica y retorna el código binario correspondiente. Esta aproximación o redondeo introduce un error de cuantización que solo puede ser reducido al incrementar la cantidad de niveles analógicos del conversor. El número de niveles analógicos es una potencia de base 2 que depende de la cantidad de dígitos binarios en el código de salida (es decir, el número de bits del convertidor) y se calcula según la Ecuación 9.

2 Ecuación 9

Donde es la cantidad de niveles que el convertidor A/D puede discriminar dado un número de bits. El paso o resolución entre dos niveles adyacentes, dado un rango de entrada se define como:

2

Ecuación 10

En donde es la escala de voltaje de convertidor A/D.

Consideremos que la señal de usuario acondicionada ha sido amplificada con una ganancia 1000 y se espera una variación entre los límites [0, 10]V a la salida. Por tanto, su

rango es de 10V.

Para digitalizar esta señal requerimos de un convertidor con escala de voltaje 10 .

Consideremos un número de bits 12. Por tanto, la resolución del convertidor será:

 10/2    2.44 .

Al dividir la resolución entre la ganancia de la etapa de acondicionamiento analógico , obtenemos la resolución referida a la entrada ( ).

2.441000 2.44

Ahora, consideremos que el ruido de voltaje en la entrada de la etapa de adquisición es menor a 2.44 uV. Bajo este supuesto el diseño actuará como filtro del ruido referido a la entrada. Note que si el orden de ruido a la entrada es menor a 2.44uV y se incrementa el número de bits del convertidor (por ejemplo a 16), la información adicional que se captura estará relacionada con el ruido y no con la información útil en la señal sEMG. En consecuencia la restricción para la selección del número de bits será:

Resolución referida a la entrada ( ) del mismo orden del ruido de entrada.

En donde el ruido de entrada es función de: impedancia electrodo-piel y características del amplificador operacional. Las características del amplificador pueden ser determinadas de la hoja de datos que entrega el fabricante, pero la impedancia electrodo-piel es una

magnitud inherente al proceso de medición, dependiente de la preparación de piel en el paciente y del tipo de electrodo utilizado. Con base en la bibliografía consultada se sabe que:

• Según [(30)] el ruido del sensor DE-2.1 está entre: [1.2-1.5]uV RMS rti (refer to input)

• Según [(17)] para las magnitudes en la Tabla 5, el ruido esta en el orden de [1-2]uVRMS dentro de la banda 10-500Hz

Tabla 5. Magnitudes relacionadas con el ruido de entrada del sistema.

Impedancia electrodo piel

1 5

Densidad de voltaje de ruido

20√

Densidad de corriente de ruido

50√

 

• Según [(6)], el Dr De Luca recomienda considerar ruidos menores a 2uV en la

banda 20-400Hz.

Tomando en cuenta estas referencias, se espera un nivel de ruido referido a la entrada de 2uV. Por tanto, la resolución de entrada debe ser de este orden. En la Tabla 6 se compara la resolución de entrada para tres alternativas comerciales de número de bits.

Tabla 6. Resolución a la entrada de la etapa de acondicionamiento. Para un Rango 10, y una ganancia de la etapa analógica 1000.

Numero de Bits ( ) Resolución ( ) Resolución a la entrada ( ) 10 9.76mV 9.76uV 12 2.44mV 2.44uV 14 0.61mV 0.61uV 16 0.152mV 0.152uV 24 0.0006mV 0.0006uV

Con base en la Tabla 6, se establece que la resolución alcanzada por 14, 16 y 24 bits resulta adecuada al considerar ruido del orden 2uV a la entrada del sistema. Note que al emplear un convertidor de 12 bits se pierde un porcentaje de información (aprox 0.44mV en cada paso) a cambio de eliminar contenido de ruido de entrada. En la Tabla 7 se resumen las magnitudes seleccionadas para el convertidor.

5 Esta es la impedancia típica al utilizar electrodos secos (dry electrodes).

Tabla 7. Dimensionamiento del convertidor Analógico Digital para el medidor de sEMGs

Característica   Valor Observación Resolución a la entrada de la etapa de acondicionamiento

2 Calculada mediante:

Frecuencia de muestreo

1024 Hz o SPS6 Esta frecuencia se ha de garantizar en cada canal. Algunos fabricantes (ejm, TI) la definen como data rate.

Escala de voltaje 10 V Full Scale Range Número de bits ≥14 Número de canales # 2, Single ended

o Differential Diferencial: El convertidor entrega a la salida del canal 1 el código de: [(V1+) - (V1-)]. Presenta la ventaja de reducción de ruido común a dos conductores. Single Ended: El convertidor entrega a la salida del canal 1 el código de: [V1] (referido a tierra).

Protocolo de Comunicación

  SPI De Motorola

Después de consultar catálogos de fabricantes [(26)], [(27)], [(28)], en busca del convertidor, se concluye que los integrados ofertados a la fecha no cumplen con la especificación definida. En particular el requisito de frecuencia de muestreos fs=1024Hz no es satisfecho; las frecuencias de muestreo mínimas están por encima de los 6Khz. Los modelos consultados se resumen en la Tabla 8.

Tabla 8. Alternativas de implementación Convertidor Analógico Digital. Búsqueda I

Fabricante Producto min( ) (KSPS)

EscalaVoltaje ( )

NúmeroBits ( )

Núm.Canales (#)

Observaciones

Analog Devices

AD7367-5 100 ±5 V 14 2 Single. Nota7 No indica configuración de

. AD7707 6.25 Ch1,2: ±2.5 V

Ch3: ±5 V 16 3 Single.

AD7705 6.25 Ch1,2: ±2.5 V

16 2 Single.

Maxim Integrated Products

MAX1301 84 ±3 , ±6 V 16 2 Dif. 4 Single.

max( )=115KSPS

Texas Instruments

ADS8330 1000 Unipolar 16 2 ADS8328 500 Unipolar 16 2 ADS1205 40 ±2.5 V 16 2 Package: QFN24 (4x4)

Nota7

6 SPS: Samples per Second 7 Realiza Muestreo simultáneo. Requiere de un terminal adicional en la salida digital puesto que maneja salidas digitales independientes en cada canal.

Con base en los resultados en la Tabla 8 se decide modificar los criterios de búsqueda del modulador dando prioridad a la frecuencia de muestreo de 1024SPS. Una nueva búsqueda arroja los siguientes resultados

Tabla 9. Alternativas de implementación Convertidor Analógico Digital. Búsqueda II

Fabricante Producto min( ) (KSPS)

EscalaVoltaje ( )

NúmeroBits ( )

Núm.Canales (#)

Observaciones

Analog Devices

AD7711 1.5625 ±2.5V 24 2 Dif. 4 Single.

Considerando ganancia unitaria. Package: DIP Conversor Serial.

Texas Instruments

ADS1255/6 2.5 ±2.5V, ±5 V

24 2 Single Ganancia Configurable en el rango [1 64]. Conversor Serial. Utilizado en el proyecto EXG. Package: SOP

ADS1282 0.250 ±2.5V, ±5 V

24 2 Single max( )=4KSPS En modo de filtro FIR

Al considerar los criterios de desempeño, se concluye que los elementos listados en la Tabla 9 son apropiados para el proyecto, sin embargo, al considerar los costos existe una ventaja del ADS1255/6. Adicionalmente, en la literatura consultada [(21)], [(31)] se recomienda y se reporta la superioridad de este integrado sobre otros en especial, por el tipo de modulación sigma delta implementada en este integrado. Por lo tanto, se selecciona el integrado ADS1255/6; su esquema de conexión se ilustra en la Figura 17

Figura 17. Esquema de conexión del ADS1255.

Respecto al integrado seleccionado, se destacan las siguientes características:

• Permite configurar frecuencias de muestreo y Ganancias de amplificación en los rangos [2.5 30K]SPS y [1 64], respectivamente. Estas y otras configuraciones son almacenadas en registros internos del ADS1256.

• Implementa filtros digitales. Filtro pasabajas con efecto notch en múltiplos de la frecuencia de corte. Filtro programable del tipo averager; el número de promedios se fija a través del registro DRATE. Este último filtro también fija la frecuencia de muestreo.

• Selección de canal a digitalizar a través de escritura sobre registros internos del ADC.

• Desempeño proporcional a la calidad de la señal de voltaje referencia. En especial en aplicaciones de bajas frecuencias de muestreo.

Note que al utilizar 24bits no se está acatando la restricción impuesta: Resolución referida a la entrada ( ) del mismo orden del ruido de entrada. Por tanto, se estará capturando información adicional relacionada con el ruido referido a la entrada. Para evitar esta situación se propone redondear cada dato adquirido a 16 bits.

3.3.2. Bloque de aislamiento eléctrico  Como se mencionó en la sección 3.1.6 conviene utilizar la alternativa digital para el aislamiento eléctrico. Los requisitos para el dimensionamiento de este bloque son:

• Capacidad de aislamiento en el rango 4-6 KV. A fin de satisfacer los estándares de seguridad definidos sobre equipos médicos [(17)].

• Soporte para el aislamiento de 4 señales digitales. Señales definidas en el nivel físico del protocolo SPI: DIN, SCLK, DOUT y DRDY

Las alternativas consideradas en el proyecto son:

Fabricante Producto Aislamiento KV/us

Canales Alimentación Velocidad Observaciones

Analog Devices

ADUM1402BRWZ

[25 35] 4-Comunicación bidireccional (2/2)

5V, 3V DC-90Mbps

Aislamiento basado en transformadores

Texas Instruments

ISO7242MDW

[25 50] 4-Comunicación bidireccional (2/2)

5.5V, 3.15V 150Mbps Aislamiento basado en Capacitores

Las alternativas planteadas cumplen con los requisitos, sin embargo, el aislador de Analog Devices presenta un menor precio, razón por la cual es seleccionado para el Medidor de sEMG. El esquema de conexión de este integrado se ilustra en la Figura 18.

Figura 18. Esquema de conexión del ADUM1402

3.3.3. Bloque de Filtro Digital El propósito del filtro digital es eliminar el ruido debido a las señales de potencia. Las componentes de este ruido se localizan en 60 Hz y sus múltiplos. Según lo reportado en la literatura, la componente fundamental localizada en 60Hz es la más influyente sobre las etapas de procesamiento sub-siguientes. Es importante tener en cuenta los desfases a que ha sido sometida la señal, a fin de eliminar la banda adecuada.

Requisitos del Filtro digital Notch.

• Frecuencia de corte = 60Hz. • Factor de calidad ≥60 • Implementación en secciones de segundo orden (SOS Second Order Section

Filters). • Aritmética de Punto Fijo (WordLength=16bits). Con interpretación fraccional con

signo en complemento a 2.

La función de transferencia diseñada para el filtro es:

1

Los coeficientes calculados son:

Coeficiente Valor en formato Hexadecimal8 Valor en formato decimal 3fd9 0,49881

8946 -0,927551 76ba 0,927551

3fd9 0,49881 C04e -0,49762

8 Representación complemento a dos, punto fijo, 16 bits

3.3.4. Fuente De Alimentación. Al consultar las hojas de datos en busca de consumo para los elementos de la etapa aislada, se obtiene la lista en la Tabla 10. De modo que la alimentación del circuito analógico debe garantizar no menos de 80mA junto con potenciales de [0-5] V. El consumo para los elementos de la etapa no aislada, se resume en la Tabla 11. El consumo de la tarjeta de adquisición para el medidor sEMG será entonces: 330mA.

Tabla 10. Estudio de consumos para elementos del módulo gestor analógico

Componente Cantidad Consumo de Corriente Unitario

Consumo de corriente Total

IC[2-5] LM324 4 3mA 12mA IC1,IC12 LM358 2 1.2mA 2.4mA IC[5-6] AD620N 2 1.3mA 2.6mA

IC8 ADS1256 1 15mA 15mA IC9 ADUM1402 1 4.2mA 4.2mA *

Reg5V MCP1703-5002 1 2uA 0.002mA Reg3V MCP1703-3002 1 2uA 0.002mA

Reg2_5V REF3125 1 100uA 0.1mA PWR,LED LED 2 10mA 20mA

Total 56.304mA Total + 20% 67.56mA

(*) a 10Mbps.

Tabla 11. Estudio de consumos para elementos en la etapa de acondicionamiento no aislada

Componente Cantidad Consumo de Corriente Unitario

Consumo de corriente Total

IC9 ADUM1402 1 8.4mA 8.4mA IC10 PIC18F2455 1 70mA 70mA IC11 dsPIC30F2010 1 70mA 70mA IC13 DCH010505D 1 60mA 60mA IC14 MAX232 1 10mA 10mA

Total 218.4mA Total + 20% 262.08mA

Tomando en cuenta el estudio de consumos, se plantean dos alternativas para el suministro de potencia a la tarjeta de adquisición de señales sEMG: (1) El uso de baterías. (2) El uso de los terminales de potencia del puerto USB en el PC. Esta última implica la utilización de un convertidor DC/DC (IC10 en la Tabla 11) que permita aislar eléctricamente la potencia analógica y digital de la tarjeta.

Al evaluar los requisitos de bajo costo y comodidad del usuario final durante la interacción con el sistema resulta conveniente la alimentación por USB. Con esta alternativa se reducen gastos del usuario por compra de baterías, espacio en la tarjeta y se aporta a la facilidad y comodidad de interacción con el dispositivo, sin mencionar los efectos de conservación del ambiente por eficiencia en la conversión de energía.

Etapa de adecuación de potencia. El propósito de esta etapa es la generación de una fuente de potencia apropiada para alimentar la sección aislada de la tarjeta de adquisición sEMG. Los requisitos de la fuente son:

• Proveniente de los terminales de potencia USB del PC • Corriente de salida mayor a 80mA • Voltajes regulados para:

Símbolo Nombre Descripción

AVDD Voltaje positivo utilizado para alimentar elementos de la etapa analógica aislada. Magnitud = 5V respecto a AGND

AGND Voltaje de referencia 0 para la etapa analógica aislada.

AVGND

Tierra virtual que permite la amplificación unipolar en la etapa de adquisición analógica aislada. Esta señal es la referencia de medición para las señales procesadas en la etapa de adquisición analógica aislada. Magnitud = 2.5V respecto a AGND. AVGND será empleada como voltaje de referencia para el ADC, lo que implica alta precisión en la señal.

DVDD Voltaje para alimentación de circuitos digitales en la etapa de analógica aislada. Magnitud=3V respecto a AGND.

VDD Voltaje para alimentación de elementos en la etapa NO aislada. Este voltaje proviene de los terminales de potencia USB. Magnitud: 5V respecto a GND

GND Voltaje de referencia 0 para la etapa NO aislada.

• Capacidad de aislamiento entre fuentes de potencia de 3KV.

Para satisfacer los requisitos propuestos, se utilizará el esquema definido en [(21)] bajo algunas modificaciones en dispositivos (Ver Figura 19). El convertidor DC/DC seleccionado ha de satisfacer los requisitos en la Tabla 12; Una alternativa es el integrado DCH010505 de Texas Instruments. Por su parte, los reguladores de voltaje han de satisfacer los requisitos en la Tabla 13; En este caso conviene emplear la familia de reguladores MCP1703 de Microchip. En particular Los integrados 3002 y 5002 para 3V y 5V respectivamente.

El requerimiento de alta precisión para la tierra virtual (2.5 V) implica la utilización de un integrado de referencia (REF3125) junto con un amplificador en modo seguidor como se indica en la Figura 19 (Ver IC12, IC13A).

Tabla 12. Requisitos para el convertidor DC/DC

Voltaje de Entrada 5V Voltaje de Salida ±5V 9 Corriente de Salida >80mACapacidad de Aislamiento 3KV

Figura 19. Implementación del bloque de adecuación de Potencia

Tabla 13. Requisitos para los reguladores de voltaje

Bajas pérdidas de voltaje en la conversión <700mV Corriente de salida >80mA <250mA Protección por sobre-corrientes

3.3.5. Bloque de Comunicación (Interfaz de PC). Una vez se ha adquirido el código que representa a la señal sEMG, éste puede ser transferido al PC en donde se implementarán los procesamientos restantes para la adquisición. Para este fin, es necesario contar con un módulo de comunicaciones que permita el intercambio de datos entre PC y etapa de acondicionamiento. Los requisitos básicos de este módulo son:

9 Según [ (19)] resulta favorable utilizar un convertidor bipolar +-5V en lugar de un convertidor monopolar 10V. La justificación se relaciona con la disponibilidad en el mercado de los convertidores DC/DC.

• Transferencia de 256 muestras en cada canal dentro de un periodo de 250ms. • La latencia del bloque durante la lectura del ADC y la transmisión de una muestra

por canal no puede superar los 0.976ms (1/ ). • El módulo debe implementar un protocolo de comunicación estándar y difundido.

(por ejemplo: USB, USART).

 

4. Implementación del  Componente Acondicionamiento de señales sEMG 

Figura 20. Esquema de conexión de la tarjeta de adquisición sEMG v1.0

El componente Acondicionamiento de señales sEMG se implementa como una tarjeta de adquisición de señales compuesta por los siguientes elementos:

• La tarjeta de procesamiento. • Un procesador dsPIC30F2010 pre-programado. • Los electrodos de canal y DRL. • Los cables: USB (alimentación y datos) y RS232 (datos)

En la Figura 20 se ilustran estos componentes junto con el esquema de conexión entre ellos.

4.1.  Descripción de Componentes de la implementación 

4.1.1. La tarjeta de procesamiento. La tarjeta de procesamiento se encarga de recibir y acondicionar la señal detectada por los electrodos. La primera versión ha sido diseñada para procesar dos canales de información. Las funciones principales que se implementan en la tarjeta pueden ser resumidas para un canal en el diagrama de bloques de la Figura 21. Los bloques que componen el módulo MGA (Modulo Gestor Analógico) poseen hardware dedicado para cada canal, mientras que los bloques que componen el módulo MGD (Modulo Gestor Digital) comparten un único hardware para los dos canales.

Cada canal tiene un selector de ganancia para la Amplificación de señal, este selector permite modificar la amplificación en el rango [160 a 1000]. Adicionalmente, cada canal posee un selector de nivel DC implementado en el bloque Ajuste Bias.

Figura 21 Diagrama de Bloques de la Tarjeta de Procesamiento.

4.1.2. El Procesador dsPIC30F2010 Pre­Programado. El dsPIC30F2010 es el encargado de gestionar las funciones de filtrado digital y comunicación. El filtro digital fue diseñado para eliminar la componente de 60Hz debida al ruido de potencia. El algoritmo de comunicación se encarga de recibir muestras digitalizadas a través de una interfaz SPI y entregar muestras filtradas a través de una interfaz UART. Este procesador se alimenta de una fuente aislada respecto al módulo gestor analógico.

4.1.3. Los electrodos de canal y DRL con conectores tipo plug stereo 

a) b)

Figura 22 Electrodos. a) Electrodos de canal. b) Electrodo DRL (Driven Right Leg) La tarjeta de adquisición de señales EMG v1.0 está equipada con cinco receptores para electrodos 3M 222310. Estos receptores se conectan a 3 cables estéreo con apantallamiento formando los grupos. 10 Recomiendo utilizar la referencia 3M RED DOT

• Canal 1: Receptor Electrodo 1 Positivo, Receptor Electrodo 1 Negativo (Ver Figura 22a))

• Canal 2: Receptor Electrodo 2 Positivo, Receptor Electrodo 2 Negativo (Ver Figura 22a))

• DRL: Receptor Electrodo DRL (Ver Figura 22b))

4.1.4. Los cables: USB (alimentación y datos) y RS232 (datos) El cable USB. Este cable se encarga de entregar la tensión de alimentación a la tarjeta. Esta tensión es procesada dentro de la tarjeta para suplir las necesidades de alimentación en los módulos gestor analógico y gestor digital. Eventualmente, este cable puede ser utilizado para el intercambio de datos entre el PC y la tarjeta de procesamiento, para este fin, es necesario incluir el algoritmo11 de comunicación en el integrado IC10 (PIC18F2455).

El cable RS232. Este cable es la opción por defecto para el intercambio de datos entre PC y tarjeta. A través de este cable se envían las muestras procesadas hacia la aplicación en el PC.

Nota. La transferencia de muestras hacia el PC solo puede realizarse a través de uno de los dos cables.

a) b) Figura 23. Cables de datos USB y RS232.

4.2. Funcionalidades y características del Prototipo 

La tarjeta de adquisición de señales sEMG fue diseñada para aplicaciones de investigación en prótesis robóticas de mano, en especial para el proyecto Entrenador Virtual del grupo de investigación de Automática Industrial en la Universidad del Cauca. Algunas de sus características se resumen a continuación:

11 Este algoritmo no está incluido en el prototipo 1

Procesamiento de señal:

• Configuración de filtros analógicos formando un pasa-banda entre las frecuencias 10 y 500Hz. Pendientes de 40 db/década en cada extremo del pasa-banda.

• Digitalización de señales a 16 bits. Resolución de salida: 76.3uV12 • Frecuencia de muestreo de 1000Hz en cada canal • Barrera de aislamiento de señal de datos de 3 KV entre módulos MGA y MGD. • Filtro Digital para la componente de 60 Hz. • Ganancia configurable en el rango: [192 - 1064]. • Nivel DC configurable sobre la señal de salida. • Procesamiento simultaneo de dos canales de información.

Tensión de Alimentación de la tarjeta de adquisición de señales sEMG

• Diseño para tensión de alimentación unipolar. • Reguladores de voltaje de 5V, 3V y 2.5 V para las fuentes AVDD, DVDD y

AVGND respectivamente. • Aislamiento eléctrico de tensiones de alimentación de 3KV entre etapas analógica y

digital. • LED Indicador de Potencia.

Conexiones para Programación y Depuración

• Conector RJ11 para programación y depuración del dispositivo dsPIC30F2010. • Header con jumpers para selección de la funcionalidad programación/depuración

sobre el dsPIC30F2010. • Conector plano de seis terminales para la programación del dispositivo PIC18F2455

(ICD2/IC10).

Canales de Comunicación serial.

• Interfaz de comunicación serial compatible con el estándar RS232. • Interfaz de comunicación serial compatible con el estándar USB. • Selector de interfaz USB/RS232 mediante jumper.

Osciladores del Sistema.

• Cristal de 8 MHz para el procesador dsPIC30F2010. • Cristal de 8 MHz para el conversor A/D ADS1256. • Cristal de 20MHz para el procesador PCI18F2455.

12 La Resolución referida a la entrada puede ser calculada mediante ( / )

Periféricos y otros

• Botón de reset para el dsPIC30F2010. • Botón de entrada conectado al terminal RB5 del dsPIC30F2010. Reservado para

actualizaciones futuras de firmware. • LED Indicador conectado al terminal RB2 en el dsPIC30F2010. Reservado para

actualizaciones futuras de firmware • Trimmers para la configuración de ganancia y nivel DC independientes en los

canales 1 y 2. • Header de prueba para medición de salidas en cada una de las etapas de

procesamiento de señal de los canales 1 y 2.

4.3. Programa de demostración de la tarjeta entrenadora.  Los programas de demostración de la tarjeta entrenadora son: Aplicación de despliegue (scope_sEMG.vi) y Algoritmo de procesamiento embebido (adqsEMG_demo.rar). Estos programas permiten verificar la funcionalidad básica para la adquisición de señales sEMG. El primer programa es la aplicación para PC scope_sEMG.vi encargado de recibir y ensamblar los datos provenientes de la tarjeta de adquisición, interpretarlos como números fraccionarios en el rango [-1 1] y finalmente graficarlos en pantalla. Este programa esta implementado como un instrumento virtual editado con la aplicación LabView de National Instruments.

El segundo es el programa demo para el dsPIC. El proyecto fue desarrollado en el entorno MPLAB IDE de Microchip y está escrito en un 90% en lenguaje C y un 10% en lenguaje ensamblador. Este programa adquiere las muestras digitalizadas de las señales sEMG correspondientes a los canales 1 y 2, para posteriormente aplicar un filtro notch sobre ellas y enviar las muestras resultantes hacia el PC. Algunas de las características de diseño del algoritmo son:

• Comunicación con convertidor A/D (ADS1256) a través de interfaz SPI • Manejo de interrupciones con Timer2 para controlar la frecuencia de muestreo de

las señales sEMG. • Comunicación con PC a través de la interfaz serial implementada con terminales de

Tx/Rx alternativos (RS232) a una rata de 150000 baudios.

Refiérase al Anexo 7.3 para información complementaria acerca del código de prueba.

 

4.4. Procedimientos de Configuración de la tarjeta  Esta sección presenta un tutorial básico para iniciar pruebas con la tarjeta de adquisición sEMG v1.0. Los temas cubiertos son:

• Resumen de la configuración. • Equipos necesarios. • Conexiones. • Sintonización de la etapa Analógica • Configuración de la etapa Digital. • Despliegue de datos en pantalla del PC

4.4.1. Resumen de la configuración. El tutorial describe procedimientos para la configuración de las etapas de procesamiento analógico y digital. La etapa analógica es configurada mediante manipulación de electrodos y resistencias variables. La etapa digital se configura a partir de selección de opciones en la aplicación para PC.

Existen tres pasos para realizar la configuración

• Instalación de electrodos • Sintonización de la etapa analógica • Configuración de la etapa Digital.

4.4.2. Equipo necesario Para completar el tutorial se requiere de:

• Tarjeta de Procesamiento de señales • Cable de USB para potencia y datos (en este tutorial solo se utiliza el cable USB

para señal de potencia) • Cable RS232 • Electrodos sEMG. • PC con Puerto serial y aplicación LabView (v8 o superior) • Aplicación demo de despliegue (scope_sEMG.vi).

4.4.3. Conexiones. Los puertos de conexión de las entradas a la unidad de procesamiento de señal están ubicados en la sección frontal de la tarjeta. En la sección posterior se localizan los puertos de comunicación y de alimentación (Ver Figura 20).

Conexión de la fuente de Potencia.   La tensión de potencia de la tarjeta es suministrada por las señales de potencia del bus USB. Por lo tanto, para conectar la fuente, es suficiente conectar el cable USB entre el puerto etiquetado como USBTYPE_A y un puerto USB habilitado en un PC encendido. Al

realizar esta conexión se habilita la alimentación para el Módulo Gestor Digital (MGD). Como resultado, el LED indicador PWR se debe encender. Para habilitar la alimentación en el Módulo Gestor Analógico (MGA), es necesario conectar jumpers entre los terminales del header PWRJUMP como se indica en la Figura 24

Figura 24. Conexión de jumpers para habilitar potencia en el módulo MGA.

Conexión de los electrodos a la tarjeta.  La tarjeta utiliza cinco electrodos que se agrupan en tres cables: Canal1, Canal 2 y DRL. Cada grupo es un conductor con un conector estéreo de audio en un extremo y uno o dos plugs de electrodo en el otro extremo. El conector estéreo se conecta a un plug estéreo hembra en la tarjeta de procesamiento y el plug de electrodo se conecta directamente al electrodo (Ver Figura 25).

Figura 25. Conexión de los electrodos a la tarjeta.

Conexión del cable de datos (RS232‐USB).  La conexión para transmitir muestras procesadas hacia el PC puede realizarse a través de una interfaz RS232 o a través de una interfaz USB. En la Figura 26 se ilustra el esquema de conexión para las dos alternativas.

Figura 26. Esquema de conexión USB y RS232.

La tarjeta de Procesamiento contiene un selector de interfaz serial para la transmisión de muestras procesadas hacia el PC. El selector permite elegir entre la interfaz RS232 o USB. El selector se configura a partir de la posición de jumpers en el header SV2. En la Figura 27 se resumen las posiciones válidas para los jumper.

a) b)

Figura 27 Configuración de los Jumper para la transmisión de muestras hacia el PC. a) Transmisión a través de la interfaz serial RS232. b) Transmisión a través de la interfaz USB.

4.4.4. Sintonización de la Etapa Analógica.  Los bloques configurables en el Módulo Gestor Analógico son: Amplificación y Ajuste de Bias. Estos bloques se configuran de manera independiente para cada canal.

• Amplificación. Dentro de la amplificación es posible ajustar la ganancia en cada señal. La ganancia puede variar en el rango [192-1064]. El ajuste se realiza mediante manipulación de los trimmer RF51 de cada canal (Canal 1: RF51_1; Canal 2: RF51_2). La menor ganancia se alcanza con el trimmer en valor de resistencia 0 (Ver Figura 28a)). La mayor ganancia se alcanza con el trimmer en 200K (Ver Figura 28b)).

• Ajuste de Bias. El ajuste de nivel DC o Bias permite alterar la referencia sobre la cual se mide la amplitud como positiva o negativa en la señal EMG. Este ajuste se realiza mediante manipulación del trimmer R72 (canal 1: R72_1; canal 2: R72_2) (Ver Figura 29).

a) b)

Figura 28 Trimmer de Ajuste de Amplificación (RF51). a) 25 vueltas en el sentido de las manecillas del reloj para ajustar mínima ganancia. b) 25 vueltas en el sentido inverso de las manecillas del reloj para ajustar máxima ganancia.

a) b)

Figura 29 Trimmer de Ajuste de Nivel DC (R72). a) Vueltas en el sentido de las manecillas del reloj para reducir Nivel DC. b) Vueltas en el sentido inverso de las manecillas del reloj para incrementar nivel DC. 25 Vueltas para cubrir los rangos completos de modificación.

El propósito en el ajuste de la amplificación es el de lograr una señal con rango [0 a 5]V libre de saturaciones.

En el caso del nivel DC, se busca una señal con nivel de referencia igual a 2.5V. Cuando el nivel DC es igual a 2.5V antes de la etapa de ajuste de Bias (V6) el trimmer R72 debe estar en valor 0 (25 vueltas en el sentido inverso de las manecillas del reloj). De otro lado, cuando el nivel DC es mayor a 2.5V antes de la etapa de Ajuste de Bias (V6), se debe incrementar la resistencia del trimmer R72 (vueltas en el sentido de las manecillas del reloj) hasta lograr un nivel DC igual a 2.5V.

Nota. No se debe llevar el trimmer R72 a su máximo valor, pues esto ocasionaría saturación a 0V en la señal de salida.

Para monitorear la amplitud y el nivel DC durante la configuración, es necesario conectar un osciloscopio en las señales V6_1 y V7_1 (Ver Figura 30). Se recomienda el siguiente procedimiento:

• Monitorear el nivel DC de V6. • Si el nivel DC es igual a 2.5V, entonces, colocar en 0 ohmios el trimmer R72. Si el

nivel DC es mayor a 2.5V, entonces, incrementar la resistencia del trimmer R72 hasta obtener en V7 un nivel DC de 2.5V sin saturaciones.

• Monitorear la amplitud en V7. • Si los niveles de amplitud aparecen saturados, entonces, reducir la ganancia de

amplificación, disminuyendo la resistencia en el trimmer RF51. Si los niveles de

amplitud son muy bajos respecto al rango [0 5]V, entonces, incrementar la ganancia, aumentando la resistencia en el trimmer RF51, hasta obtener señales sin saturación dentro de los límites de 0 a 5 V.

Figura 30. Esquema de Monitoreo durante configuración de la etapa analógica. Ejemplo de configuración para el Canal 1.

4.4.5. Configuración de la Etapa Digital. La etapa digital debe ser reiniciada antes de proceder a capturar señales EMG. Esto se realiza mediante el switch de reset localizado en la tarjeta de procesamiento.

4.4.6. Despliegue de datos en Pantalla del PC Una vez configurada la tarjeta de adquisición de datos, se pasa a manipular la aplicación de despliegue de señales sEMG. Esta aplicación demo utiliza un bloque VISA para capturar los datos provenientes de la tarjeta de adquisición de señales sEMG. La comunicación seleccionada para el demo es del tipo serial.

En la Figura 31 se ilustra la ventana de despliegue de la señal sEMG. En la sección VISA resource name se configuran los parámetros de comunicación como se resume a continuación :

• I/O Port : COMx, donde x indica el puerto serial utilizado (generalmente 1 o 2) • Velocidad: 115000 baudios • Bits de datos=8 • Paridad= None • Bits de parada=1 • Control de flujo: None • Retardo antes de desplegar: 500ms

Figura 31. Ventana para el despliegue de la señal sEMG.

Una vez configurados los parámetros, se procede a presionar el botón de ejecución. Además de graficar las señales, la aplicación entrega una lista de los códigos que se reciben (ver sección readbuffer en Figura 31); esta lista es útil en procesos de depuración del algoritmo de adquisición en Labview.

4.5. Hardware de desarrollo de la tarjeta. Esta sección describe el hardware que compone la tarjeta de adquisición de señales sEMG v1.0.

1. Puerto Serial RS-232. 2. Puerto Serial USB 3. Conector MPLAB ICD2 / dsPIC30F2010 4. Conector MPLAB ICD/ PIC18F2455 5. LED indicador de Usuario. 6. Selector de Ganancia - Canal 1 7. LED indicador de Potencia. 8. Selector de nivel DC- Canal 1 9. Selector de Programación/Depuración. 10. dsPIC30F2010. Procesador 11. Procesador PIC18F2455 12. Selector de Interfaz. 13. Header de habilitación de Potencia. 14. Selector de Ganancia-Canal 2 15. Selector de nivel DC- Canal 2 16. Cabecera de muestra. 17. Botón de RESET 18. Botón de Usuario 19. Terminales de entrada.

Figura 32 Hardware de la Tarjeta de adquisición de señales sEMG. V1.0

4.5.1. Puerto Serial RS­232.  La tarjeta está provista con un canal de comunicación serial RS232. Esta interfaz se encarga de transmitir muestras procesadas en el dsPIC30F2010 hacia el PC. La interfaz se implementa con terminales de comunicación UART alternativos (U1ARX y U1ATX) y con el integrado MAX232.

4.5.2. Puerto Serial USB La tarjeta está provista con un canal de comunicación USB. La interfaz USB cumple dos funciones: Provee la tensión de alimentación a la tarjeta y está en capacidad de dar soporte a la transferencia de muestras digitalizadas hacia el PC. Los terminales de datos (D+, D-) USB están conectados al PIC18F2455. Para utilizar estos terminales en la transferencia de muestras hacia el PC, es necesario configurar el jumper de selección de interfaz (Ver Figura 27) y programar un algoritmo sobre el PIC18F2455 que gestione la transferencia.

16

6

16

8

15

2

14

1

17

18

9

13

12

5

7 11

10

3

4

19

19

19

4.5.3. Conector MPLAB ICD2 / dsPIC30F2010 A través del conector (RJ11) ICD2/IC11 es posible conectar el dsPIC30F2010 al MPLAB ICD2 para programación y depuración sobre la tarjeta de adquisición de señales sEMG. Debido a la dificultad en la consecución del RJ11, para diseños posteriores se recomienda utilizar un conector tipo RJ45.

4.5.4. Conector MPLAB ICD/ PIC18F2455 A través del conector (Header) ICD2/IC10 es posible conectar el PIC18F2455 al MPLAB ICD2 para programación y/o depuración. En la Figura 33 se ilustran los terminales utilizados

Figura 33. Terminales de conexión del header para programación en el PIC18F2455

4.5.5. LED indicador de Usuario. Este LED está conectado al terminal RB2 del dsPIC30F2010. EL LED de usuario ha sido dispuesto para posteriores actualizaciones de firmware que precisen de indicadores de operación durante el proceso de adquisición. En la Versión 1.0 no realiza ninguna función.

4.5.6. Selector de Ganancia ­ Canal 1 El trimmer RF51_1 corresponde al selector de ganancia para el canal 1. La posición de este trimmer permite configurar la ganancia en el rango [192 - 1064]. Para detalles de configuración ver sección 4.4.4 Sintonización de la Etapa Analógica.

4.5.7. LED indicador de Potencia. Este LED indica la habilitación de potencia para el módulo gestor digital (MGD) de la tarjeta.

4.5.8. Selector de nivel DC­ Canal 1 El trimmer de ajuste de Bias (R72_1) permite modificar el nivel DC de la señal adquirida en el canal 1. Para detalles de configuración ver sección 4.4.4 Sintonización de la Etapa Analógica.

4.5.9. Selector de Programación/Depuración. Este selector permite configurar una conexión para depuración o para programación en el dispositivo dsPIC30F2010. Indicaciones más precisas de configuración del jumper, programación y depuración se encuentran en el Anexo 7.2.

4.5.10. dsPIC30F2010. Procesador Este es el procesador principal en la tarjeta, se encarga de gestionar la comunicación con el convertidor A/D, filtrar las muestras adquiridas y entregar los resultados mediante la interfaz RS232. Una descripción adicional se realiza en la sección 4.1.2 El Procesador dsPIC30F2010 Pre-Programado. El algoritmo embebido se resume en el Anexo 7.3.

4.5.11. Procesador PIC18F2455  Este PIC no está programado en el firmware 1.0 de la tarjeta de adquisición. Fue previsto para versiones de firmware posteriores, capaces de disponer de una interfaz de datos USB con el PC.

4.5.12. Selector de Interfaz. Este selector permite habilitar la transmisión a través del puerto RS-232 o a través del puerto USB. Para indicaciones en la configuración ver Figura 27.

4.5.13. Header de habilitación de Potencia. A través de la conexión de jumpers en este header, se habilita la potencia para el módulo de procesamiento analógico de la tarjeta (MGA). Para indicaciones de conexión ver la Figura 24.

4.5.14. Selector de Ganancia­Canal 2 El trimmer RF51_2 corresponde al selector de ganancia para el canal 2. La posición de este trimmer permite configurar la ganancia en el rango [192-1064]. Para detalles de configuración ver sección 4.4.4 Sintonización de la Etapa Analógica.

4.5.15. Selector de nivel DC­ Canal 2 El trimmer R72_2 permite configurar el nivel DC de la señal capturada a través del canal 2. La configuración del trimmer se describe en la sección 4.4.4 Sintonización de la Etapa Analógica.

4.5.16. Cabecera de muestra. Es una cabecera desde la cual se puede acceder a la salida de cada uno de los bloques de procesamiento en el módulo gestor analógico (Ver Figura 21). Existe una cabecera por cada canal (TESTCH1, TESTCH2). Estos terminales de medición son útiles en los procesos de configuración del módulo gestor analógico (Ver Figura 30).

4.5.17. Botón de RESET Es un push button dispuesto para re-iniciar el algoritmo sobre el dsPIC30F2010.

4.5.18. Botón de Usuario Es un push-button dispuesto para uso en próximas versiones del firmware. Está conectado al puerto RB5 del dsPIC30F2010.

4.5.19. Terminales de entrada. Son los terminales que reciben las señales sEMG sin procesar. Estos terminales se implementan con conectores stereo de ¼ de pulgada.

 

5. Conclusiones y Trabajos Futuros 

Dentro del presente trabajo se aborda el desarrollo de un sistema de adquisición de señales electromiográficas superficiales (sEMG) para prestar servicios al macro sistema Entrenador de Prótesis Virtual definido dentro del grupo de Automática Industrial en la Universidad del Cauca. En el capítulo 1 se define el problema a tratar y los objetivos del proyecto de investigación. En el capítulo 2 se describe la arquitectura de procesamiento de señales adoptada para el sistema entrenador, con el propósito de establecer: Funciones de cada componente del sistema, Limites de cada componente del sistema y Señales básicas que se intercambian entre componentes. Adicionalmente, se identifican requisitos funcionales para cada uno de los componentes del sistema, estos requisitos son documentados en la sección 7.1(Anexos). A partir de estos procesos se concluye:

• Los modelos de bloques presentados en [(1)], [(2)] resultan apropiados para agrupar los desarrollos del grupo de investigación y para suplir los propósitos del entrenador virtual.

• Al adaptar el modelo en [(2)] a los requerimientos de procesamiento de señal propios del entrenador virtual solo se utilizan cinco de los seis componentes recomendados: Acondicionamiento y Adquisición de señal sEMG, Extractor de características, Traductor de características, Interfaz de Control, Prótesis Virtual; El componente controlador resulta innecesario puesto que no se identifica una ventaja en el proceso de entrenamiento al incluir las dinámicas de la prótesis robótica en la animación.

En el capítulo 4 se describe el proceso de diseño para el componente Acondicionamiento y adquisición de señal sEMG. Se parte de las funcionalidades planteadas en el capítulo 1 y de los requisitos especificados en la sección 7.1, para:

• Especificar los sub-bloques funcionales del bloque Acondicionamiento y adquisición de señal sEMG

• Seleccionar las plataformas, esquemas de circuitos y tecnología necesaria para implementar cada sub-bloque propuesto.

• Dimensionar los elementos constitutivos de cada uno de los sub-bloques y contrastar las selecciones con los elementos actualmente disponibles en el mercado de circuitos electrónicos.

A partir de estos procesos se concluye:

• La conveniencia en el uso de filtros analógicos de segundo orden para el filtro antialiasing de la señal sEMG.

• La necesidad de resolución referida a la entrada del sistema del orden de: 2uV. Como consecuencia en el diseño particular, la necesidad de convertidores A/D con número de bits 14.

• La conveniencia en el uso de fuentes de alimentación unipolares. • La viabilidad en el uso del terminal USB del PC como fuente de tensiones de

alimentación para el circuito que implementa el componente Adquisición de señal sEMG.

• La factibilidad del uso de procesadores de 16 bits para la implementación del filtro digital notch para eliminar la componente de 60Hz.

En el capítulo 5 se presenta una descripción de los elementos que conforman el primer prototipo del componente adquisición de señal sEMG. Esta sección resume las características del prototipo y a modo de manual de usuario, presenta los procedimientos necesarios para configurar la tarjeta de adquisición de señales. Finalmente se describe el hardware de desarrollo utilizado para el prototipo.

Los trabajos futuros que se creen pertinentes sobre el prototipo desarrollado se listan a continuación:

• A fin de facilitar el uso del prototipo, resulta pertinente adicionar un algoritmo de gestión de comunicaciones a través del puerto USB. El procesador PIC18F2455 ha sido dimensionado para ejecutar dicho algoritmo.

• Resulta necesario desarrollar una aplicación software capaz de gestionar las señales sEMG en el PC, partiendo de los requisitos listados en la sección 7.1.2.

• El prototipo diseñado incluye dos procesadores, el primero de 16 bits, necesario esencialmente para realizar el filtraje digital de la señal y el segundo de 8 bits necesario para dar soporte a la comunicación con el PC a través de la interfaz USB. A fin de reducir los requerimientos de potencia del circuito y el tamaño del prototipo, se propone utilizar un único procesador 16 bits que incluya un modulo de comunicaciones USB, junto con los módulos SPI necesarios para la comunicación.

• El tamaño del prototipo puede ser reducido considerablemente al utilizar elementos de montaje superficial tanto en integrados como en resistencias y capacitores, sin embargo, para obtener este beneficio es necesario rediseñar los archivos de ruteo de manera conveniente.

• Es conveniente utilizar electrodos activos en la adquisición de la señal, esta estrategia reduce los efectos del ruido adicionado en el camino de la señal sEMG desde el antebrazo hacia la tarjeta de entrenamiento, mejorando el desempeño de esta última.

• Conviene actualizar el algoritmo de adquisición, adicionando un estado de reposo para reducir el consumo de potencia de la tarjeta. Este estado puede ser controlado por el botón de entrada dispuesto en la tarjeta. (Ver sección 4.2).

• El prototipo diseñado no incluye un chasis apropiado. Este resulta necesario para aislar la tarjeta de fuentes de ruido externas.   

Guillermo
Sticky Note
Adicionar un mecanismo de trigger para la adquisición de la señal. Es común utilizar un límite del valor medio de la señal para activar el proceso de adquisición. Este valor médio es calculado en ventanas de muestras. Sin este mecanismo la tarjeta estaría capturando y transfiriendo altas cantidades de ruido.

6. Bibliografía 

1. A General Framework for Brain–Computer Interface Design. Mason, Steven G. 2003, IEEE TRANSACTIONS ON NEURAL SYSTEMS AND REHABILITATION ENGINEERING, págs. 70-85.

2. William Bishop, Robert Armiger, James Burck, Michael Bridges, Markus Hauschild, Kevin Englehart, Erik Scheme, R. Jacob Vogelstein, James Beaty1, Stuart Harshbarger. A Real-Time Virtual Integration Environment for the Design and Development of Neural Prosthetic Systems. L. A. California : Johns Hopkins University Applied Physics Laboratory, 2009.

3. Estadística, Departamento Administrativo Nacional de. Censo General 2005 - Discapacidad, Personas con limitaciones Permanentes. Colombia : DANE, 2005.

4. The revolution will be prosthetized - Darpa's prosthetic arm gives amputees new hope. Adee, Sally. 2009, Spectrum, IEEE, págs. 44-48.

5. Modelado geométrico y dinámico de una prótesis de mano robótica. Aguilar, Eliana y Vivas, Andrés. Popayán : Universidad del Cauca, 2007, IEEE Colombian Workshop on Robotics and Automation.

6. Conjunto normalizado de interfaces para los componentes de un entrenador virtual de prótesis de mano robótica. Cabrera, Juan Sebastian. Pag 32, Popayán : Universidad del Cauca, 2009, Vol. Tesis para optar al titulo de Magister en Electrónica y Telecomunicaciones.

7. Carlos Gaviria, Jaime Diaz, Victor Mosquera. Agarres estable de objetos con una prótesis de mano robótica-Informe Final. Popayán : Universidad del Cauca, 2008.

8. JULIAN GARCÍA ORTIZ, DAVID ALEJANDRO VALLEJOS. Entorno gráfico de un entrenador virtual de prótesis de mano. Popayán : Monografía presentada para optar al título de Ingeniero en Automática Industrial, 2009.

9. Viladot, Ramon y Cohí, Oriol y Clavell, Salvador. Ortesis y prótesis del aparato locomotor. Barcelona : Masson, 1994.

10. Romo, Harold. Aplicación de Wavelets en el análisis y la extracción de características para la clasificación de señales EMGS. Popayán, Cauca : Universidad del Cauca, 2008. Tesis para optar al Título de Magister en Ingeniería.

11. Belalcazar Carlos Mario, Rengifo Zully Viviana. Clasificación de señales EMG para una prótesis de Mano. Popayán : Universidad del Cauca, 2007. Tesis para optar al título de Ingeniero en Automática Industrial.

12. Análisis de señales EMG superficiales y su aplicaición en control de prótesis de mano. Harold Romo, Judy C Realpe, Pablo Jojoa. 1, Medellín : Revista Avances en Sistemas e Informática, 2007, Vol. 4. ISSN 1657 7663.

13. AD620 Low Cost Low Power Instrumentation Amplifier. Devices, Analog. USA : Datasheet, 2004.

14. INA118 Precision, Low Power Instrumentation Amplifier. Corporation, Burr Brown. USA : s.n., 1994.

15. Driven-Right-Leg Circuit Design. BRUCE B. WINTER, JOHN G. WEBSTER,. No 1, Wisconsin, Madison : IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING,, 1982, Vols. VOL. BME-30,.

16. R. Merletti, A. Rainoldi, and D. Farina. Surface Electromyography for Noninvasive Characterization of Muscle. Torino, Italia : Exercise and Sport Sciences Reviews, October 24, 2000. Vols. 0091-6631/2901/20–25.

17. Technology and instrumentation for detection and conditioning of the surface EMG signal: state of the art. Merletti, Roberto, y otros. Italia : Elsevier, 20 Agosto, 2008.

18. Huilburn, John y Johnson, David. Manual of active filter design. s.l. : McGraw Hill, 1973.

19. Siriprayoonsak, Saksit. Real-Time Measurement of Prehensile EMG signals. San Diego, CA : San Diego State University, 2005. Tesis para optar al título de Maestria..

20. A single supply biopotential amplifier. Enrique M. Spinelli, Nolberto H. Martinez, Miguel Angel Mayosky. La Plata, Argentina : Elsevier, 2001.

21. Gerhard., Stephan. OpenEXG-2 project . OpenEXG-2 project . [En línea] 21 de Abril de 2009. [Citado el: 15 de Septiembre de 2009.] https://sites.google.com/site/openexg/Home.

22. ROMO, Harold. Aplicación de wavelets en el análisis y la extracción de características para la clasificación de señales EMGS. Popayán : Universidad del Cauca, 2008. Tesis para optar al título de Maestria en Ingeniería.

23. Denoising of surface EMG with a modified Wiener filtering approach. Giovanni Aschero, and Paolo Gizdulicha. Italia : Journal of Electromyography and Kinesiology, Elsevier, 2009.

24. Luca, Gianluca De. Fundamental Concepts in EMG Signal Acquisition. s.l. : Delsys, 2001. Rev2003.

25. Analog Isolation Amplifiers. Tutorials, Analog Devices. s.l. : TUTORIAL, 2009. MT-071.

26. Analog Devices. Analog Devices. [En línea] 2009. [Citado el: 02 de 09 de 2009.] http://www.analog.com/en/index.html.

27. Texas Instruments. [En línea] 2009. [Citado el: 02 de 09 de 2009.] http://www.ti.com/.

28. National Semiconductor. [En línea] 2009. [Citado el: 02 de 09 de 2009.] http://www.national.com/analog.

29. Select the Right Operational Amplifier for your Filtering Circuits. Baker, Bonnie C. ADN003, s.l. : Microchip Technology Inc., 2003, Vol. Analog Design Note.

30. Luca, De. Products. [En línea] DELSYS. [Citado el: 31 de Agosto de 2009.] http://www.delsys.com/Products/EMGSensors_Specifications.html.

31. An Investigation of the use of a High Resolution ADC as a Digital Biopotential Amplifier. D. Berry, F. Duignan and R. Hayes. ECIFMBE 2008, Dublin, Ireland : IFMBE Proceedings 22, 2008, Vols. pp. 142–147.

32. Camacho, Guillermo. Arquitectura de Procesamiento de Señales para el entrenador Virtual-Grupo de Automática Industrial. Informe interno de la Pasantia Jovén Investigador : Universidad del Cauca, 2009.

33. Camacho, Guillermo y Carlos, Gaviria. Integración del sistema “Prótesis de Mano virtual controlada a partir de señales EMG”. Popayán : s.n., Mayo 2009. Anteproyecto de Investigación.

34. OpenSurg. OpenSurg, Docencia e investigación en robótica médica utilizando recursos software de código abierto. [En línea] Marzo de 2009. [Citado el: 17 de Julio de 2009.] http://www.isa.umh.es/vr2/research/opensurg/guiones.htm.

35. Romo, Harold. Aplicación de Wavelets en el análisis y extracción de características para la clasificación de señales EMG. Popayán : Tesis para optar al titulo de Maestría en Ingeniería, Universidad del Cauca, 2008.

36. Air Guitar hero: a real-time video game interface for training and evaluation of dexterous upper-extremity. Vogelstein, Robert S. Armiger and R. Jacob.

37. Gavira, Carlos, Diaz, Jaime y Mosquera, Victor H. Agarre estable de objetos con una prótesis de mano robótica. Popayán : Grupo de Investigación en Automática Industrial, Universidad del Cauca, 2008.

38. AC-Coupled Front-End for Biopotential Measurements. Enrique Mario Spinelli, Ramon Pallàs-Areny and Miguel Angel Mayosky. NO. 3, Argentina-España : IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, Marzo 2003, Vol. VOL. 50.

 

7. Anexos 

7.1. Requisitos del Entrenador Dentro del sistema entrenador virtual para prótesis de mano se reconocen dos tipos de metas de diseño: Generales y Particulares. Las primeras como su nombre lo indica, son generales y aplicables a todos los módulos del sistema entrenador, es decir, el diseño de cada componente se ha de realizar garantizando un aporte a las metas de diseño Generales. De otro lado, las metas particulares son propias de cada componente y están definidas por la naturaleza del procesamiento desarrollado en cada módulo del sistema. A continuación se resumen las metas de diseño.

7.1.1. Metas de Diseño Generales. 

1. Sistema útil para el entrenamiento de usuarios con amputación de mano. El sistema debe dar soporte a procesos de entrenamiento de usuarios que requieran recuperar o mantener actividad motora en sus extremidades superiores (para mayor especificación del usuario refiérase a [(32)]). Esta meta ha sido dividida en sub-metas: 1.1. Interacción cómoda y amigable con el usuario. Una de las principales causas de

fracaso en sistemas de prótesis es la complejidad que representa para el usuario, el uso de la prótesis. En el momento en que dicha complejidad no compensa el beneficio adquirido por el paciente, éste último termina por descartar el uso de la prótesis y continuar su vida sin este tipo de asistencia [(4)]. En consecuencia, resulta indispensable dirigir esfuerzos para la obtención de un sistema cómodo, de baja complejidad y fácil utilización tanto para el paciente como para el personal encargado de dirigir sus terapias.

1.2. Operación en tiempo real. La realimentación visual del estado de la prótesis en tiempo real, busca favorecer el aspecto de concentración del usuario en las terapias y con este los resultados en su tratamiento. En consecuencia, el sistema ha de responder a una intención de movimiento del usuario dentro de un rango acotado de tiempo. Tentativamente se considera como apropiado un retardo de 100 ms.

1.3. Inclusión de protocolos de entrenamiento. Los procesos de adaptación de prótesis a personas con amputación siguen protocolos bien definidos que garantizan tratamientos con mayor efectividad y en menores tiempos. Puesto que el sistema entrenador dará soporte a este tipo de procesos, éste ha de ser diseñado tomando en cuenta un protocolo de entrenamiento como referencia.

2. Sistema de Bajo Costo económico. Se sabe que el Sistema está dirigido a poblaciones de bajos recursos pero este aspecto no ha sido caracterizado formalmente dentro del grupo de investigación. No obstante, para el alcance de esta meta se trazan las siguientes sub-metas.

Guillermo
Sticky Note
Retardo del sistema prótesis

2.1

2.2

2.33. Sis

limcrovir

4. Sisobresinv

A cont

Figura 3

COMP El pu•

1. Formato dtrabajo de

2. Desarrollorestricción

3. Desarrollostema Alcan

mitado hastaonograma esrtual controlstema capa

bedece a la sultados) apvestigación.

tinuación se

34. Árbol de met

7.1.2. Me

PONENTE 1.

rol que cuuede dividir e

Por un ladoel usuarioanalógica adquirir, afiltrar, segm

de datos coe desarrollado basado enn la compatibo en entornonzable a cor

a Enero de 2stablecido paada a partir 

az de atraenecesidad d

poyo financi

ilustra el ár

tas generales par

etas de Dise

. Adquisició

umple el comen dos. o actúa com. Bajo este (MGA) y el

amplificar y mentar y tran

Metas de disSistema Entren

omún entre ores implemn compiladobilidad con e

os de IDEs librto plazo. E

2010, fecha ara el proyecde señales Er recursos

de adquirir (iero para el

rbol de metas

ra el sistema ENT

eño Específi

ón y acondic

mponente A

mo interfaz enrol sus fun

l módulo defiltrar la se

nsferir la señ

seño nador

e

am

Baj

Alca

Atfina

componentementando inteores libres yel sistema opbres.

El tiempo de en la que tecto, IntegracEMG” [(33)]para finan

(por parte dl desarrollo

s generales p

TRENADOR.

icas. 

cionamiento

ADQUISICIÓ

ntre los comnciones se re gestión digeñal de usuañal de usuari

Útil para el entrenamiento de 

usuarios con mputación de mano

jo costo económico

anzable a corto plazo

trae recursos para anciar proyectos de investigación.

es. Este asperfaces entrey multiplataperativo Ubu

desarrollo yermina el proción    del  sis]. nciamiento de los poten

de futuros

para el sistem

o de señal sE

ÓN Y ACO

mponentes funreparten ent

gital (MGD)ario. MGD io hacia el P

Interacción cusuario‐entr

Operación enreal

Inclusión de prde entrenam

pecto reducee diversos tipaforma. Se untu versión

y prueba deloceso de destema  “Prót

de proyectnciales benefs proyectos

ma ENTREN

EMG 

ONDICIONA

ncionales detre el módu. MGA estáse encarga

PC entre otra

cómoda eandor

 tiempo 

rotocolos miento.

e las horas pos de datosplantea com

n 8.10.

prototipo esesarrollo segtesis  de Ma

tos. Esta meficiaros de ldel grupo

NADOR.

AMIENTO

el entrenadorulo de gestiá encargado

de digitalizas funciones.

de .

mo

stá gún no 

eta los de

se

r y ión de ar,

• De otro lado, sirve como interfaz de configuración entre el usuario y el sistema entrenador. Bajo este rol debe definir los medios para dar soporte a procesos de posicionamiento de electrodos, registro de señales en memoria del PC, recuperación de registros desde PC y despliegue de señales sEMG entre otras.

A continuación se especifican las metas de diseño que ha de cumplir este componente, a fin de aportar al alcance de los requerimientos en la sección 7.1.1.

1. Este componente puede aportar al alcance de utilidad definido para el sistema ENTRENADOR desde dos perspectivas, el usuario y el propio sistema entrenador: 1.1. Las metas de diseño derivadas de la Utilidad tomando como referencia al usuario

son: 1.1.1. Operación en tiempo real. Se considera que los usuarios prefieren un

sistema que responda a sus intenciones de movimiento dentro de rangos de tiempos acotados y cortos.

1.1.2. Seguridad física del usuario. Al definir esta meta se pretende reducir al máximo posibilidades de daños sobre la integridad física del usuario originados por choques eléctricos o por acoples mecánicos en la interacción usuario-componente.

1.1.3. Capacidad de procesamiento sobre señales en miembro superior izquierdo o derecho. Esta meta se define para permitir que el componente esté disponible para la mano en que el usuario requiera entrenamiento (derecha o izquierda)

1.1.4. Interacción amigable entre usuario-componente. Se considera que al definir una interacción cómoda entre usuario y sistema entrenador los resultados del proceso de rehabilitación pueden mejorar, al garantizar un ambiente de entrenamiento sin complejidades extremas, rutinas incomodas y/o aburridas

1.2. Útil para el sistema entrenador 1.2.1. Información válida a la salida. Esta meta busca garantizar una señal de

usuario acondicionada con información relevante y válida para el sistema. El alcance de esta meta influye directamente sobre el desempeño de los componentes subsecuentes. Esta meta se ha de alcanzar garantizando algunas restricciones para el diseño:

1.2.1.1. Canales con información relevante de intención de movimiento. 1.2.1.2. Relación S/N < 16dB, en señal de usuario acondicionada. 1.2.1.3. Tiempo mínimo para la generación de respuestas (o salidas) = 250ms. 1.2.1.4. Como mínimo dos canales de información. 1.2.1.5. Muestreo a 1024Hz.

1.2.2. Compatibilidad entre componentes relacionados. Según lo definido en [(32)], el componente adquisición y acondicionamiento de señal sEMG debe comunicarse y estar sincronizado con el componente que le sucede. En consecuencia resulta necesario prestar atención al aspecto de compatibilidad

en el diseño. Según entrevistas con investigadores, las especificaciones de sincronismo incluyen:

1.2.2.1. Registros de señal sEMG acondicionada con 256 muestras. 1.2.2.2. Transferencia simultanea de información en los dos canales hacia el

componente EXTRACTOR DE CARACTERÍSTICAS. 1.2.3. Capacidad de registro y recuperación de señal sEMG acondicionada. El

componente debe ser capaz de registrar en memoria, muestras de la señal de usuario acondicionada. Igualmente, el sistema ha de ser capaz de recuperar registros almacenados para que sean procesados por los componentes restantes.

2. El aporte de este componente al alcance de un sistema de entrenamiento de Bajo costo

dependerá de las siguientes metas: 2.1. Desarrollo de aplicaciones bajo licencia libre. Con esta meta se busca reducir el

costo del componente y del entrenador al evitar que el usuario final page altos costos por licencias de operación para ejecutar este componente.

2.2. Capacidad de re-utilizabilidad del sistema. Esta meta permite que un paciente emplee varias veces el mismo sistema y que más de un paciente se entrene con el mismo artefacto. Esta característica del componente permite dividir su costo económico entre la cantidad de reutilizaciones y/o el conjunto de usuarios beneficiarios.

2.3. Sistema no invasivo. Esta meta reduce el costo económico del componente al reducir la complejidad en la toma de muestras de la señal de usuario al tiempo que favorece la comodidad del usuario en la interacción con el componente.

3. Con el fin de garantizar un Alcance del producto en el corto plazo (Agosto 2009) se establecen las siguientes metas de diseño. 3.1. Reutilización de los desarrollos generados al interior del grupo de investigación. 3.2. Componente implementado como combinación de: Circuitos analógicos, Circuitos

digitales y aplicaciones para PC. 3.3. Codificación en ambiente de desarrollo común al seleccionado para los

componentes restantes. 4. Finalmente, el componente aportará al alcance de un sistema de entrenamiento capaz

de atraer recursos al grupo de investigación, mediante el alcance de las siguientes metas: 4.1. Cumplimiento de las metas establecidas previamente. 4.2. Compatibilidad con el sistema operativo UBUNTU 8.10. Esta restricción de diseño

se establece tomando en cuenta la pertenencia del grupo de investigación de automática Industrial al proyecto OpenSurg [(34)] el cual recomienda la utilización de software de código abierto en los desarrollos.

4.3. Adición de valor agregado sobre el componente garantizando las sub-metas: 4.3.1. Comodidad del usuario final durante la interacción con el componente.

A conAcond

Figura 3

COMP Coseñcardeputem

Ú

4.3.1.14.3.1.2

4.3.2. Po

ntinuación sedicionamient

35. Árbol de Met

PONENTE 2.

omo su nomñal de usuracterísticas finidas para

uede ser limimporales y

Útil.

Para e

Para eentre

Alcance del produen el corto plaz

. Implem2. Implemacondicionartabilidad pa

e ilustra el áto.

tas de diseño par

. Extractor d

mbre lo indicaario acondiservirán pael usuario.

itada a un mespectrales.

el usuario

Operacióreal.

Seguridad

Procesar miembro o derecho

Interaccióusuario‐c

el enador

Informaciválida a lasalida. 

Compatibentre componerelaciona

ucto o. 

Redesade

impleco

bloq

Coa

desa

entación de entación d

ada. ara el sistem

árbol de me

ra el component

de caracterí

a, este compicionada. Enara discriminSegún la inv

máximo de d. Esta ope

n en tiempo 

d física del usuario. 

señales de superior izquierdo o. 

ón amigable entre omponente. 

ión a 

Relación   S/N>16dB

Tiempo mínimgeneración derespuestas = 

Dos canales dinformación.  

Canales con inrelevante de ide movimient

bilidad 

entes dos.

Registros de t256.

Procesamientsimultaneo encanales. 

Capacidad derecuperación sEMG. 

eutilización de arrollos del grupo e investigación. 

ementación como ombinación de ques funcionales HW y SW. 

odificación en ambientes de arrollo comunes. 

indicadores de desplieg

ma.

etas de diseñ

e ADQUISICIÓ

ísticas. 

ponente se en etapas denar entre lasvestigación edoce (12) eneración perm

mo para la e 166ms.

de 

nformación intención to.

tamaño 

to n los dos 

e registro y de datos 

Caprecgruinv

de operaciógues para

ño para el c

ÓN Y ACONDIC

encarga de exe procesams diversas inen [(35)] la

ntre las que smite reducir

Bajo costo  económico. 

paz de atraer cursos al upo de vestigación.

Cumpmetas

Adicióagreg

Comcon

n. la señal

omponente

CIONAMIENTO

xtraer caractmiento postentenciones dcantidad de se incluyen r el volume

Imdete

Cautsis

Sis

plimiento de s de diseño.

ón de valor gado:

Comodiusuario duranteinteraccel comp

Portabilpara el s

mpatibilidad n UBUNTU 8.10

de usuar

Adquisición

O.

terísticas deeriores, dichde movimiencaracterísticcaracterístic

en de datos

mplementación el sistema con ecnologías libres.  

apacidad de re‐tilizabilidad del stema. 

stema no invasivo

dad del final e la ción con ponente.

Implementde indicadde operaci

Implementde despliegpara la señsEMG adq

idad sistema

rio

n y

la has nto cas cas s a

tación ores ón.   

tación gues ñal uirida. 

procesar por los componentes del sistema entrenador, favoreciendo el uso de recursos de procesamiento y el desempeño del sistema. A continuación se especifican las metas de diseño que ha de cumplir el componente, a fin de aportar al alcance de los requerimientos en la sección 7.1.1.

1. Las metas de diseño con que se busca satisfacer la Utilidad para el sistema entrenador son: 1.1. Extracción de las características con mayor capacidad de discriminación de

intenciones de movimiento. 1.2. Independencia entre la operación del componente y la fuente de señal de usuario

acondicionada. Resulta conveniente que el sistema opere sobre datos (señal de usuario acondicionada) provenientes de diversas fuentes, por ejemplo: brazo derecho, brazo izquierdo, señales recopilados con anterioridad (offline), sistemas de simulación etc.

1.3. Generación de respuestas en instantes adecuados 1.3.1. Tiempo máximo de respuesta de 100 ms. 1.3.2. Entrega simultanea de vector de características en los dos canales.

1.4. Compatibilidad con el componente TRADUCTOR DE CARACTERÍSITICAS. 1.5. Sincronización con el componente ADQUISICIÓN Y ADECUACIÓN DE SEÑAL

sEMG 2. El aporte de este componente a la meta de Bajo costo.

2.1. Ejecución sobre compiladores libres y multiplataforma 2.2. Desarrollo en IDEs libres.

3. El aporte a la meta de alcanzable a corto plazo 3.1. Componente implementado como servicio software ejecutándose en un PC. Al

considerar que resulta más sencillo alcanzar una operación en tiempo real con mayor cantidad de recursos de procesamiento, se concluye la implementación de este componente como algoritmo ejecutándose sobre PC.

3.2. Reutilización de desarrollos en [(35)]. 3.2.1. Procesamiento de registros de tamaño 256. 3.2.2. Operación sobre la sección estacionaria de la señal sEMG. 3.2.3. Extracción de N características temporales y espectrales (con Nmax=12)

3.3. Durante el diagnóstico no se identificaron metas relacionadas directamente con el alcance de un sistema entrenador capaz de atraer recursos para el financiamiento de proyectos.

En la Figura 36 se presenta el árbol de metas para el componente EXTRACTOR DE CARACTERÍSTICAS.

Guillermo
Sticky Note
Latency time on the feature extractor

Figura 3

COMP EsdedeLaco

36. Árbol de met

PONENTE 3.

ste componennominado cl usuario.

as intencionenocen de

tas de diseño par

. Traductor 

nte se encararacterística

es de movimantemano.

Utilidad para  el sistema entrenador.

Alcanzable a corto 

ra el componente

de caracter

rga de correlas de referen

miento asocEste vecto

Bajo costo.

Extcaracte

capacidadintencion

Independcompone

d

Generaciinsta

Compcompone

CAR

SincrcomponeADECUAC

plazo

Componco

ejecut

Reutiliz

e EXTRACTOR

rísticas 

lacionar el vncia, a fin d

ciadas al ver debe ser

Componeejecutánd

Implemencompiladmultip

Codifientornos 

l

tracción de las erísticas con mayor  de discriminación de nes de movimiento. 

dizar la operación del ente de la fuente de datos sEMG.  

ón de respuestas en ntes adecuados. 

patibilidad con el ente TRADUCTOR DE RACTERÍSITICAS.

ronización con el ente ADQUISICIÓN Y CIÓN DE SEÑAL sEMG

nente implementado omo Software tándose en un PC. 

ación de desarrollos en [2‐2].

R DE CARACTE

ector de carde traducir la

ector caracter actualizad

ente Software dose sobre PC. 

ntación sobre dores libres y plataforma

icación en de desarrollo ibres

Tiempo máximo de de 166 ms

Extracción simultacaracterísticas en

canales. 

Procesamiento de regide tamaño 256.

Operación sobre la secestacionaria de la señ

sEMG.

Extracción de N características temporaespectrales (con Nmax

ERÍSTICAS

racterísticas a intención d

erísticas de do para cad

respuesta .

anea de  los dos 

stros 

cción ñal 

ales y x=12)

con un vectde movimien

referenciada sesión

tor nto

se de

entrenamiento del usuario, esto como consecuencia de la alta variabilidad de las señales sEMG. La actualización se ejecuta durante la etapa de entrenamiento del sistema. A continuación se especifican las metas de diseño que ha de cumplir el componente, a fin de aportar al alcance de los requerimientos en la sección 7.1.1.

1. El componente Traductor de características aporta al alcance de utilidad definido para el sistema ENTRENADOR desde dos perspectivas: 1.1. Útil para el usuario.

1.1.1. Rutinas de entrenamiento del sistema cortas y cómodas. Cada sesión de entrenamiento de usuario requiere de una etapa de entrenamiento de sistema. Durante esta etapa se ajustan los criterios de traducción de intenciones de movimiento. Generalmente esta etapa no permite realimentación visual de movimientos, por lo cual se torna aburrida provocando desconcentración en el usuario [(36)]. Este hecho perjudica el ajuste del sistema y compromete el desempeño del mismo. Para evitar dichos efectos es necesario prestar atención a la comodidad y el tiempo de entrenamiento del sistema.

1.1.2. Implementación de Indicadores de error en la traducción. Es conveniente que el asistente de terapias del usuario cuente con información cuantitativa de la calidad en el ajuste del componente durante la etapa de entrenamiento del sistema.

1.2. Útil para el sistema entrenador. 1.2.1. Generación de señales de control lógicas relacionadas con las intenciones de

movimiento básicas. Para el desarrollo del proyecto se definieron 6 intenciones de movimiento [(32)], en consecuencia, este componente debe generar una señal lógica de por lo menos 6 estados.

1.2.2. Bajos índices de error en la traducción. Se requiere de un error de clasificación por debajo del 3%. Esta meta se define dentro del límite de operación del componente, es decir, considerando un vector de características con suficiente información para discriminar entre las alternativas de movimiento.

1.2.3. Máximo tiempo de respuesta del componente de 100ms. 1.2.4. Operación sincronizada y en línea con los componentes extractor de

características e interfaz de control. 1.2.5. Rutinas de entrenamiento de sistema apropiadas. La capacidad de traducción

de este componente depende (entre otros) de la cantidad y calidad de información que se pueda extraer durante la rutina de entrenamiento o configuración del entrenador virtual. Por tanto, es necesario definir rutinas que permitan extraer información relevante de las intenciones de movimiento.

1.2.6. Capacidad para registrar y recargar vectores de características. El componente debe ser capaz de registrar en memoria un vector de

2. El 2.12.2

3. El 3.13.2

4. El 4.1

En la CARA

Util

caracalmac

aporte de es1. Desarrollo2. Codificacaporte a la m

1. Reutilizac2. Implemen

sobre PC tiempo reofrecidos

aporte a la m1. Realiment

sistema. Setapa de elas posibilatributo at

Figura 37 ACTERÍSTI

idad

cterísticas dcenado en mste componeo en plataforión en ambiemeta de alcación de desarntación como

se reducen eal, puesto qpor un DSP meta de atratación visua

Se define conentrenamientlidades de étractivo para

se presenta CAS.

Útil para el usuario

Útil para el sistema

de referencimemoria. ente a la metarmas de uso entes de desanzable a corrollos en [(3o servicio so

los esfuerzque se cuent

o micro-conacción de rel de evolución el ánimo dto del sistemxito del entr

a el usuario a

el árbol de

o.

Rutinas de edel compon

cóm

ImplemeIndicadores

trad

a.

Generacióncontro

relacionaintenc

movimie

Bajos índicela trad

Máximorespu

componen

Rutinas de ede sistema

Capacidad precargar 

caract

ia y de reu

a de Bajo colibre. arrollo de us

orto plazo 35)]. oftware sobrzos para logrta con recurntrolador. ecursos paraón en señalede garantizar

ma. Con un srenador. De al mejorar el

e metas par

entrenamiento nente cortas y modas. 

entación de s de error en la ucción. 

 de señales de ol lógicas adas con las ciones de nto básicas. 

es de error en ducción. 

o tiempo de uesta del nte de 166ms.

entrenamiento a apropiadas.

para registrar y vectores de terísticas

utilizar un

osto económ

so libre.

re PC. Al rearar un comprsos de proc

a el financiaes sEMG dur concentracsistema bien esta manera

l desempeño

ra el compo

Bajo costo econ

vector de

mico.

alizar una imponente concesamiento m

amiento de prante el entr

ción del usuaentrenado s

a se pretendeo del entrena

nente TRAD

nómico. pla

am

característic

mplementacin operación mayores a l

proyectos. renamiento dario durantese incremente establecer dor.

DUCTOR D

Implementación Software sobre PC. 

Desarrollo en ataformas de uso libre. 

Codificación en mbientes de desarrollo 

de uso libre. 

cas

ión en los

del la tan un

DE

Figura 3

COMPEsSusemvirartbajA fin

1. El en1.1

1.2

1.31.41.51.61.7

1.82. El

2.12.22.3

3. El 3.1

Alco

37 Árbol de meta

PONENTE 4.ste componeu labor princmántica. Parrtual puesto ticulares par

ajo el supuestcontinuació

n de aportar a

componentntrenador cum1. Útil para

definida e2. Útil para

básicas de3. Útil para l4. Compatib5. Operación6. Tiempo m7. Cálculo d

instantáne8. Cálculo daporte de es

1. Implemen2. Operación3. Codificacaporte a la m

1. Reutilizac3.1.1. Su3.1.2. Ab

preve

canzable a orto plazo

as de diseño para

.Interfaz dente sirve de

cipal es la dra ello debeque a partir

ra cada una dto de que la n se especifal alcance de

te Interfaz mpliendo las

la generacien [(5)]. la generació

e la mano [(3la generación

ble con el comn sincronizad

máximo para de trayectoreo según [(1)e trayectoriaste componentación comon bajo compiión en ambiemeta de alcación de desarponer que la

bordar la faención de col

Reude

ImpSof

a el componente

 Control interfaz ent

de traducir lae conocer co

de ellos y dde las falangfase de pre-

fican las mete los requeri

de Controls siguientes mión de traye

ón de trayect32)] n de trayectomponente COda con el comla generació

rias a partir)]). as a partir deente a la metao entidad sofiladores mulentes de desanzable a corrollos en [(3a fase de prease de agarlisiones

utilización de esarrollos en 

[8].

plementaciónftware sobre 

PC. 

e TRADUCTOR

tre el traducta señal de con detalle lode la señal deges virtuales agarre ya hatas de diseñoimientos en l

aporta al ametas de disectorias arti

torias que re

orias en manONTROLADmponente Cón de trayectr de la señ

el estado de ra de Bajo coftware ejecultiplataformaarrollo de us

orto plazo 37)]. -agarre de orre estable

R DE CARACTE

tor de caractcontrol lógicos modelos ge control lógconsiderada

a sido abordao que ha de la sección 7.

alcance de seño: culares en

epresenten in

no derecha oDOR. ONTROLAtorias = 100m

ñal de contr

reposo de la osto económ

utándose sobra y de uso libso libre.

bjeto ya ha sde objetos

Atracciónrecursos pafinanciamie

proyecto

ERÍSTICAS.

terísticas y eca en una segeométricos gica, calcularas. Este comada. cumplir el c

.1.1.

utilidad pa

cada falang

ntenciones d

o izquierda.

DOR. ms. rol lógica a

prótesis (mamico.

re PC. bre.

sido abordadmediante a

n de ara el nto de os. e

el controladoeñal de contr

de la próterá trayectori

mponente ope

componente

ara el sistem

ge de la ma

de movimien

actual (map

apeo estático

da algoritmos

Realimentación visual de 

evolución en señales sEMG durante el 

ntrenamiento del sistema

or. rol sis ias era

, a

ma

ano

nto

peo

o).

de

3.2. Generación de trayectorias de velocidad constante para cada señal de control lógica.

3.3. Considera igual longitud de falanges en dedos meñique anular y medio. 3.4. Cálculo de trayectorias en dedos meñique y anular mediante duplicación de

trayectorias del dedo medio. 3.5. Codificación en ambiente de desarrollo común.

4. El aporte a la meta de atracción de recursos para el financiamiento de proyectos. 4.1. Diseñado para la mano virtual definida en [(5)]. 4.2. Agregar trayectorias para dedos anular y meñique como duplicación de trayectorias

en dedo corazón.

COMPONENTE 5.Controlador de Prótesis Este componente es el encargado de garantizar que la prótesis virtual siga fielmente las trayectorias articulares contenidas en la señal de control semántica. Para ello, implementa un controlador de posición por par calculado el cual computa los torques en cada articulación como función de: la posición articular real, la posición articular deseada y el modelo dinámico inverso de la prótesis. Aunque en [(32)] se establece que por las características del entrenador virtual, no es necesario implementar el componente controlador, en este documento se trazan algunas metas de diseño que este componente debe satisfacer en una implementación que incluya dinámicas de la prótesis.

1. El aporte a la meta de utilidad. 1.1. Garantizar un desempeño similar al de una mano real.

1.1.1. Operar en tiempo real. 1.1.2. Garantizar bajos errores en el seguimiento de trayectorias.

1.2. Controlar trayectorias para mano derecha o mano izquierda. 1.3. Coordinar operaciones con los componentes interfaz de control y Prótesis Virtual

2. El aporte a la meta alcanzable a corto plazo 2.1. Reutilice al máximo los desarrollos originados hasta la fecha en el interior del

grupo de investigación. 2.1.1. Opera sin considerar información visual como entrada directa al sistema 2.1.2. Supone velocidad constante en las trayectorias de la prótesis. 2.1.3. Considera dinámicas equivalentes en los dedos meñique, anular y medio.

COMPONENTE 6. Mano Virtual Este componente es el dispositivo final del sistema. Tiene dos funciones básicas: (1) Calcular las variables articulares generadas en la prótesis virtual, como resultado de la aplicación de torques. El resultado de este cálculo es realimentado al componente controlador y es utilizado por una animación gráfica en 3D. (2) Desplegar gráficamente

los objetos con que interactúa la mano virtual y la evolución en el espacio de las falanges que conforman la mano virtual. A continuación se especifican las metas de diseño que ha de cumplir el componente, a fin de aportar al alcance de los requerimientos en la sección 7.1.1.

1. El aporte a la meta de utilidad. 1.1. Capturar la atención del usuario.

1.1.1. Operación en tiempo real. 1.1.2. Interfaz amigable para el usuario.

1.1.2.1. Texturas y formas naturales de la mano. 1.1.2.2. Entornos naturales para la mano.

1.1.3. Movimientos Naturales. 1.1.4. Presentación de alta calidad, alta resolución y mínimos retardos. 1.1.5. Permitir alternativas de visualización desde diferentes ángulos

1.2. Capaz de Reproducir mano izquierda o mano derecha 1.3. Flexible a modificaciones y actualizaciones.

2. El aporte a la meta de bajos costo económico 2.1. Fundamentado en herramientas software de licencia libre. 2.2. Operación multiplataforma.

3. El aporte a la meta de alcanzable a corto plazo 3.1. Reutilizar desarrollos o avances del grupo de investigación. 3.2. Reutilizar librerías o aplicaciones compatibles.

4. El aporte a la meta de atracción de recursos para financiamiento. 4.1. Personalizar los atributos de la mano (textura, color, tamaño, etc. ) 4.2. Respetar las políticas del proyecto Open Surg

Figura 3

7.2En esembeb

• • • • •

Para c

u

Alcan

38.Árbol de meta

2. Programste anexo sebido en la tar

Equipos neCreación dProgramacDepuraciónResumen.

7.2.1. Equcompletar el

utilidad.

nzable a corto plazo

as del componen

mación del de presenta urjeta de adqu

ecesarios del Proyecto ción del dsPIn de código

uipo necesatutorial se re

Tarjeta Cable d

de p

Garantizadesempeño side una mano

Ejecutar trayepara mano de

mano izqui

Coordinar opecon los compointerfaz de coPrótesis Vi

Reutilizar desaavances del g

investigac

Reutilizar libraplicaciocompatib

nte Mano Virtual

 dsPIC30F20un tutorial uisición sEM

IC30F2010.

ario equiere de:

de procesamde USB (en epotencia)

r un imilar al o real.

O

ectorias erecha o erda.

raciones onentes ontrol y rtual

arrollos o grupo de ción.

rerías o nes bles.

l

010. básico para

MG v1.0. Los

miento. este tutorial

Operar en tiempo rea

Garantizar bajos errores en el 

seguimiento de trayectorias.

a programars temas cubi

solo se utiliz

al.

bajo costo e

Atracción depara financ

r y depurariertos en el c

za el cable U

económico

e recursos ciamiento. 

r el algoritmcapítulo son:

USB para señ

Fundamentado eherramientas softw

de licencia libre

Operación multiplataforma

Personalizar losatributos de la ma

(textura, color,tamaño, etc. )

Respetar las polítidel proyecto Ope

Surg

mo

ñal

en ware e.

a.

s ano , 

cas en 

Programador y depurador MPLAB ICD2 (con cables USB y RJ11) Cable RS232 Electrodos sEMG. PC con MPLAB IDE (v8 o superior), MPLAB C30 (v3.20 o

superior) y LabView (v8 o superior) Proyecto con algoritmos embebidos (adqsEMG_demo.rar) Aplicación demo de despliegue (scope_sEMG.vi).

7.2.2. Creación del Proyecto Al crear un proyecto, se generan dos archivos: El proyecto y el workspace. El proyecto contiene los archivos necesarios para compilar la aplicación junto con las asociaciones con herramientas de compilación y sus opciones. El workspace contiene uno o más proyectos e información del dispositivo a programar (en este caso dsPIC30F2010).

El MPLAB IDE permite el uso de un wizard para facilitar la creación de un proyecto. Antes de comenzar, cree una carpeta con nombre sEMGProject. Posteriormente descomprima los archivos adqsEMG_demo.rar en la carpeta que creó. Estos archivos los encuentra en el CD de que acompaña la tarjeta. La ruta final de sus archivos puede ser C:\sEMGProject

Selección del dispositivo Inicie el MPLAB IDE Si existe un workspace abierto, ciérrelo. (File/Close Workspace) Desde el menú Project, seleccione la opción Project Wizard En la ventana Welcome seleccione siguiente, para desplegar la

ventana con nombre Step One (Ver Figura 39. Paso uno en la creación del proyecto.).

Figura 39. Paso uno en la creación del proyecto.

En el Menú con etiqueta Device seleccione dsPIC30F2010 y presione Next. Se desplegará la ventana Step Two (Ver Figura 40).

Figura 40. Paso 2 en la creación del Proyecto

Selección del toolsuit de lenguajes 

Del menú desplegable con etiqueta Active Toolsuite (Figura 40) seleccione Microchip C30 ToolSuite.

En la Barra de selección con etiqueta Toolsuite Contents seleccione MPLAB ASM30 Assembler (pic30-as.exe).

En la Sección de ruta con etiqueta Location de clic sobre el botón browse y direccione la siguiente ruta: C:\Program Files\Microchip\MPLAB C30\bin\pic30-as.exe

Realice asignaciones en los Toolsuit Contents restantes como se resume en la siguiente tabla:

Tabla 14. Localización de los ToolSuite.

MPLAB C30 Compiler (pic30-gcc.exe).

C:\Program Files\Microchip\MPLAB C30\bin\pic30-gcc.exe

MPLAB LINK 30 Object Linker (pic30-ld.exe)

C:\Program Files\Microchip\MPLAB C30\bin\pic30-ld.exe

LIB30 Archiver (pic30-ar.exe) C:\Program Files\Microchip\MPLAB C30\bin\pic30-ar.exe

Presione siguiente para desplegar la ventana Step three. (Ver Figura 41a) )

a) b)

Figura 41. Paso 3 en la creación del proyecto. a) Selección de carpeta para el proyecto. b) Asignación de Nombre al proyecto

Bautice su proyecto Presione el botón browse y diríjase hacia la carpeta que reservó para

el proyecto (Ver Figura 41a)). Una vez seleccionada la carpeta, asigne nombre al proyecto por ejemplo: Adquiere_sEMG (Ver Figura 41b)).

Presione Siguiente para desplegar la ventana Step Four. (Ver Figura 42)

Figura 42. Paso 4 en la creación del Proyecto

Adicione archivos al proyecto. Localice la carpeta del proyecto y seleccione el archivo main.c (Ver

Figura 42) De clic sobre el botón Add>> para incluir este archivo al proyecto Repita los pasos 1 y 2 para los archivos: ADS1256.h,

gestionEstados.h, myCommon.h, myInit.h y myNotches.h Expanda la ruta: C:\Program Files\Microchip\MPLAB

C30\support\dsPIC30F\gld e incluya el archivo p30f2010.gld

Finalmente diríjase a la ruta: C:\Program Files\Microchip\MPLAB C30\lib e incluya el archivo libc-coff.a. Presione Siguiente.

Cuando la ventana de resumen del proyecto se despliegue presione finalizar.

Una vez terminado este proceso, se despliega la ventana del proyecto en donde aparecen todos los archivos incluidos. Ver Figura 43.

Figura 43. Resumen de componentes del Proyecto

Acaba de crear un proyecto y un workspace en el MPLAB IDE. El archivo Adquiere_sEMG.mcw corresponde al workspace y el archivo Adquiere_sEMG.mcp corresponde al proyecto. Dé doble clic sobre main.c, para desplegar el código fuente del archivo main.c (Ver Figura 44)

Figura 44. Pantallazo del Código fuente main.c

7.2.3. Compilación y Construcción (Building)del Proyecto. La compilación del código consiste en el ensamble de los archivos myNotches.s y main.c para crear los archivos object (myNotches.o, main.o) y posteriormente enlazar los archivos object para crear los archivos de salida (Adquiere_sEMG.hex y Adquiere_sEMG.cof). El archivo .hex contiene los datos necesarios para programar el dispositivo y el .cof contiene información adicional para depurar el dispositivo a nivel de código fuente. Note que estos archivos comparten el mismo nombre que se seleccionó para el proyecto. En este proyecto, la compilación y construcción son transparentes al usuario y se realizan presionando el icono Build All (Ver Figura 45a)). Al final del proceso, se despliega en la venta de salida el mensaje BUILD SUCCEDED indicando el éxito de la compilación. (VerFigura 45 b)).

a) b)

Figura 45 Compilación del Proyecto. a) Icono de Compilación. b) Resultado de la compilación.

7.2.4. Programación del CHIP El Programador MPLAB ICD2 puede ser utilizado para programar y depurar el dsPIC30F2010 en la tarjeta de adquisición sEMG. En la siguiente sección se indican los pasos a seguir para estas dos funciones.

Secuencia de Programación  Aplique potencia a la tarjeta de adquisición de señales sEMG. Asegúrese de conectar el

cable USB y los cuatro jumper de potencia en la bornera PWRJUMP. Los terminales a cortocircuitar son: 8-7, 6-5, 4-3 y 2-1.

Conecte el MPLAB ICD2 al PC con el cable USB. (Asegúrese de haber instalado los drivers del MPLAB ICD2 sobre el equipo)

Conecte el MPLAB ICD2 al conector RJ11 etiquetado como ICD2/IC11 en la tarjeta entrenadora. Utilice el cable con conectores RJ11 de seis terminales.

En la PCB asegúrese de que los jumper en SV1 estén cortocircuitando los terminales: 3-5 y 4-6. Esta posición conecta el ICD2 a los terminales PGD y PGC del dsPIC30F2010.

Del menú Programmer seleccione la opción Select Programmer/ MPLAB ICD2.

Del Menú Programmer seleccione la opción Connect. La ventana de salida deberá mostrar un mensaje de identificación del dsPIC30F2010.

Del Menú Programmer seleccione la opción Program. La ventana de salida despliega los pasos que se ejecutan durante la programación.

Desconecte el cable del conector ICD2/IC11.

Depuración del CHIP Diríjase a la opción Configure/Configuration Bits para desplegar las opciones de configuración. (Ver Figura 46)

Figura 46 Ventana de Bits de Configuración

Los bits de configuración determinan los parámetros de configuración global del dispositivo, tales como fuente de reloj, terminales de depuración, voltajes de límite, etc. Para el código demo, los valores de estos bits han sido asignados utilizando sentencias especiales en el código fuente. Si estas sentencias no se hubiesen colocado, usted debería asignar los valores manualmente en la ventana de la Figura 46. Para este proyecto, se ha seleccionado el oscilador primario junto con el modo de oscilador 16X PLL. Un cristal de 8 MHz ha sido instalado en la tarjeta. Con el modo 16X PLL habilitado la frecuencia de instrucción del dispositivo (FCY) es de 32MHz.

Selección de los terminales de comunicación con el MPLAB ICD2.  Todos los dispositivos utilizan un par de terminales I/O para comunicarse con el MPLAB ICD2 y para cargar el programa en memoria (PGC/EMUC, PGD/EMUD). Dentro del

programa demo, estos terminales cumplen dos roles: (1) Terminales I/O durante programación, (2) Terminales de interfaz SPI una vez el código ha sido cargado en el dispositivo. Debido a este compartimiento de roles, no es posible utilizar los terminales (PGC/EMUC, PGD/EMUD) para depurar el código (los terminales no pueden cumplir simultáneamente las funciones depuración e interfaz SPI).

Para solventar el problema se seleccionaron terminales alternativos para la depuración del dsPIC30F2010. Al seleccionar estos terminales, las funciones relacionadas con la interfaz SPI podrán ser probadas mediante depuración. La tarjeta de adquisición sEMG v1.0 utiliza un par de jumpers en SV1 para seleccionar entre terminales de comunicación para depuración o terminales de comunicación para programación. La selección se resume en la siguiente tabla:

Terminales de comunicación para Corto circuito Programación 3-5 y 4-6 Depuración 3-1 y 4-2

En síntesis, en el programa demo los pines de comunicación alternativos EMUC3 y EMUD3 son utilizados para depuración, puesto que los terminales PGC/EMUC, PGD/EMUD comparten funciones con la interfaz de comunicación SPI implementada entre el ADS1256 y el dsPIC30F2010.

Para seleccionar los pines de comunicación con el MPLAB ICD2:

En la ventana Configuration Bits vaya a la categoría Comm Channel Select.(Ver Figura 46)

En el menú desplegable seleccione la opción Use EMUC3 and EMUD3.

Conexión del MPLAB ICD2. Aplique potencia a la tarjeta de adquisición de señales sEMG.

Asegúrese de conectar el cable USB y de DESCONECTAR los cuatro jumper de potencia en la bornera PWRJUMP.

Conecte el MPLAB ICD2 al PC con el cable USB. (Asegúrese de haber instalado los drivers del MPLAB)

Conecte el MPLAB ICD2 al conector RJ11 etiquetado como ICD2/IC11 en la tarjeta entrenadora. Utilice el cable con conectores RJ11 de seis terminales.

En la PCB asegúrese de que los jumper en SV1 estén cortocircuitando los terminales: 3-5 y 4-6. Esta posición conecta el ICD2 a los terminales PGD y PGC del dsPIC30F2010.

Programe el dsPIC30F2010 para depuración Del menú Debugger seleccione la opción Select Tool/MPLAB ICD

2.

Del menú Debugger seleccione la opción Connect. La ventana de salida deberá mostrar un mensaje de identificación exitosa con el dsPIC30F2010 (Ver Figura 47 b).

a) b)

Figura 47. Identificación del dsPIC30F2010. a) Error de Identificación (Este mensaje suele aparecer cuando los jumper de alimentación de la etapa analógica están conectados) b) Identificación exitosa.

Del menú Debugger seleccione la opción Program. La ventana de salida despliega los pasos que se ejecutan durante la programación.

Cuando termine la programación, se desplegará el mensaje “Target not in debug mode” lo cual es normal. Este mensaje se despliega puesto que el dispositivo ha sido programado para utilizar los terminales EMUC3 y EMUD3. Mueva los jumpers en SV1 a la posición de corto circuito entre los terminales: 3-1 y 4-2

Conecte los jumpers de potencia en la cabecera PWRJMP. Los terminales a cortocircuitar son: 8-7, 6-5, 4-3 y 2-1.

Realice la depuración del código.13

7.3. Programa de demostración en el dsPIC30F2010. 

En este Anexo se describe el programa de demostración en la tarjeta de adquisición de datos sEMG v1.0. Los aspectos a abordar son:

• Resumen del programa de demostración. • Descripción del programa de demostración.

7.3.1. Resumen del programa de demostración. El dsPIC30F2010 en la tarjeta de adquisición de señales sEMG v1.0, viene cargado con una aplicación de adquisición y procesamiento de señales. Esta aplicación se encarga de

13 Durante depuración se recomienda controlar el evento actualiza muestra de manera manual, para lograr realizar el seguimiento al código fuente. De lo contrario, el tiempo de muestreo no permitirá realizar el seguimiento al código.

gestionar la conversión con el integrado ADS1256, filtrar las muestras adquiridas y entregar las muestras filtradas por la interfaz serial UART.

Cuando se aplica potencia a la tarjeta de adquisición de señales sEMG (etapas analógica y digital), el dsPIC comienza a ejecutar el programa de demostración descrito por el diagrama de estados en la Figura 48.

Figura 48. Diagrama de Estados del sistema

Eventos del sistema A continuación se describen los cinco eventos que componen el sistema:

Tabla 15. Resumen de los eventos del sistema

Evento Descripción ModConfigured Se trata de una variable que toma valor 1 cuando han sido configurados

con éxito los módulos del dsPIC ADSConfigured Es una variable que toma el valor 1 cuando se ha configurado con éxito

el integrado ADS1256. actualizaMuestra Se trata de una variable que toma el valor 1 cada vez que se debe

actualizar las muestras de la señal analógica. La frecuencia de muestreo es de 1000 Hz.

muestraAdquirida Es una variable que toma el valor 1 cuando se han adquirido y filtrado con éxito las muestras correspondientes al canal 1 y canal 2.

muestraTxed Es una variable que toma el valor 1 cuando se han transmitido con éxito las muestras hacia el PC

Estados del sistema  

Estado 0. configureModulos(); Es la rutina encargada de configurar los módulos internos del dsPIC. Dentro de la configuración se incluye:

• Configuración de puertos I/O, • Configuración de la interfaz SPI, • Configuración de la interfaz UART, • Configuración de Temporizadores,

Estado 1. Configuración del Convertidor A/D. Durante este estado se utilizan los comandos de configuración para el ADS1256 a través de la interfaz SPI. El ADS1256 es configurado respecto a la ganancia, frecuencia de muestreo y número de canales a digitalizar, entre otras. Al finalizar esta configuración se enciende el Temporizador encargado de controlar los muestreos de la señal sEMG analógica (Timer2).

Estado 2. Reposo El estado dos se puede considerar un estado de reposo. La única acción que se asigna a este estado es la de limpiar el evento de muestra transmitida (muestra_Txed=0).

Estado 3. Actualiza Muestras En este estado se realizan dos funciones básicas: La lectura del dato digitalizado en el ADS1256 y el filtrado de la muestra recibida. Este proceso se realiza para los canales 1 y 2.

Estado 4. Enviar muestras al PC En este estado se realiza el envío de muestras hacia el PC. La transferencia se hace a través de la interfaz UART. Debido a las características de esta interfaz, es necesario segmentar en dos partes el código de cada muestra, antes de realizar la transmisión.

7.3.2. Descripción del Programa de demostración. 

Definiciones Previas. La comunicación entre el ADS1256 yel dsPIC30F2010 se basa en un esquema de comunicación Maestro Esclavo. El dispositivo Maestro es el procesador dsPIC30F2010 de Microchip y el esclavo es el convertidor ADS1256. El protocolo de comunicación empleado es el SPI con una rata de transferencia de 2MHz14.

La interfaz serial física SPI del convertidor ADS1256 posee cinco terminales: entrada de reloj (SCLK), entrada de datos (DIN), Selección de dispositivo (CS), salida de datos (DOUT) y estado de bandera interna (DRDY). De este conjunto de entradas solo se utilizan

14 Solo cuando fSCK=fCLK/4 son válidos los tiempos en la hoja de datos del ADS1256.

cuatro; El terminal CS se coloca en tierra para habilitar permanentemente la comunicación con el ADS1256.

La interfaz serial física SPI del dsPIC30F2010 se compone de cuatro terminales: Entrada de datos (SDI), salida de datos (SDO), salida de reloj (SCK) y selección de esclavo (SS). Del conjunto de entradas, se descarta el uso del terminal SS por tratarse de una comunicación con único esclavo; adicionalmente, se reserva un terminal de entrada en el puerto B (RB4) para recibir la bandera interna generada por el esclavo (NDRDY).

La comunicación digital entre el maestro y el esclavo cuenta con una barrera de aislamiento eléctrico implementada con en el integrado ADUM1402 (ver Anexo 7.4 Planos y esquemáticos.).

Para monitorear la digitalización, se dispone de una interfaz serial RS232 con PC y de una interfaz USB. La interfaz RS232 se construye a partir de dos componentes: (1) el módulo alterno de transmisión UART en el dsPIC y (2) el IC transceiver MAX232. La recepción de datos en el PC esta a cargo la aplicación scope_sEMG.vi implementada en LabView 8.0.

Especificación de Funciones  En esta sección se describen las funciones invocadas en cada uno de los estados del sistema (Ver Anexo 0 Estados del sistema )

Estado 0. Configuración de Módulos 1. configPuertosIO(). En esta función se configura la dirección de flujo para los

terminales de los puertos B, C, E y F. Los valores a asignar a los registros TRISx, correspondientes se resumen en las tablas siguientes. Una especificación gráfica se ilustra en la Figura 49.

Figura 49. Distribución de terminales del dsPIC30F2010

Puerto B: En este puerto se utilizan los terminales RB0 y RB1 para realizar depuración mediante el ICD2. La configuración de estos bits se realiza desde la opción configuration bits en el MPLAB, seleccionando EMUC3 y EMUD3 como terminales de depuración. Adicionalmente, se reserva el terminal RB4 para monitorear el flag generado en el ADS1256; este flag indica entre otros, la finalización de una conversión A/D. Para reducir posibilidades de ruido, se recomienda configurar los terminales restantes como salidas. Con este propósito, se asignan los siguientes valores a los registros relacionados:

ADCON1 = 0x00; Configura terminales para señales digitales TRISB = 0x1015; Selecciona RB4 como entrada y RB3, RB2 como salida. CNPU1 = 0x0010; Habilita resistencia de pull up para el terminal RB4.

15 Nota. Al realizar configuración de bits desde la barra de herramientas del MPLAB se sobre-escriben los valores de TRISBbits.RB0/RB1. Por tanto, es válido en este punto colocar todos los bits en 0. Note que RB5 no fue considerado como entrada en el firmware 1.0

Puerto C: RC13 como salida. Es el terminal de Transmisión alternativo UART RC14 como entrada. Es el terminal de Recepción alternativo UART TRISC = 0x4000

Puerto D: Este puerto se reserva para conexión de indicadores visuales (LEDs). RD0, RD1, como salida.

TRISD = 0x00

Puerto E: En este puerto se dejan libres los seis terminales PWM para próximas versiones del firmware. Solo se considera el terminal RE8 como salida, este terminal entrega la señal de reloj para la transmisión SPI.

TRISE = 0x00

Puerto F: RF2 cumple dos papeles: (1) Terminal de programación PGC y (2) entrada SPI. Bajo sus dos roles se debe comportar como una entrada.

RF3 cumple dos papeles: (1) Terminal de Programación PGD y (2) salida SPI. Se configura como salida. La configuración como entrada que necesita PGD es gestionada directamente por la aplicación MPLAB. Por tanto, solo programamos la configuración de salida.

TRISF=0x0004

El código de configuración en lenguaje C es:

void configPuertosIO(void){ ADCON1 = Ox0000; //Configura terminales del puerto B para señales digitales TRISB = 0x0010; //RB4 como entrada—NDRDY; los demás como salida CNPU1 = 0x0010; //Habilita resistencias de pull up en el terminal RB4 TRISC = 0x4000; //RC13-TXUART_ALT-output //RC14-RXUART_ALT-input; RC15, salida disponible para indicadores. TRISD = 0x0000; //Salidas disponibles para indicadores RD0,RD1. TRISE = 0x0000; //RE8- SCLK_SPI-output; los restantes como salidas. TRISF = 0x0004; //RF2-SDI1_SPI-input //RF3_SDO1_SPI-output }

2. configSPI().

Figura 50. Esquema de comunicación SPI. Maestro: dsPIC30F2010, Esclavo: ADS1256

La función del módulo SPI dentro de la prueba es la de dar soporte a la lectura y escritura de datos desde y hacia el conversor ADC. La escritura de datos hacia el ADC es necesaria durante tareas de configuración del esclavo y durante tareas de selección de canal a digitalizar en cada periodo de muestreo. La lectura de datos desde el ADC solo se utiliza durante tareas de recepción de muestras digitalizadas desde el ADC. Por tanto, la configuración de la interfaz SPI es una pre-condición para el uso del convertidor ADC.

La mayoría de fabricantes de integrados con perfil de maestro en interfaces SPI incluyen 4 alternativas para el modo de operación. De otro lado, la mayoría de los fabricantes de integrados con perfil de esclavo solo incluyen un modo de operación. Es responsabilidad del diseñador del sistema estudiar en detalle las características del esclavo y el maestro para seleccionar (en el maestro) el modo de comunicación compatible con el esclavo. De esto depende el éxito en la comunicación entre dsPIC y ADS1256.

Algunas de las características de interés del módulo SPI en el maestro son:

• Posee 4 modos de operación, los cuales determinan:

o Niveles lógicos de la señal de reloj, Instantes de muestreo de los bits de entrada respecto a la señal de reloj e Instantes de actualización de los bits de salida respecto a la señal de reloj.

• Funciona bajo un esquema de comunicación full dúplex. Es decir, las lecturas del puerto de entrada (SDI) se realizan simultáneamente con las escrituras sobre el puerto de salida (SDO).

• Todos los datos en el buffer de entrada deben ser transferidos a un registro interno (copiados mediante software), de lo contrario, se activa un indicador de overflow y el comportamiento del módulo se vuelve incierto.

Según la hoja de datos del esclavo se sabe que:

• Aunque dispone de terminales independientes para la entrada y salida de datos, maneja un esquema de comunicación half-duplex que impone un tiempo de espera t6 entre entrada y salida de datos (ver Figura 51).

• DIN se utiliza junto con SCLK para ingresar datos al ADS. Los datos en DIN son muestreados en los flancos de bajada de SCLK. No se especifica su estado cuando DOUT está entregando datos.

• DOUT también se utiliza con SCLK para extraer datos del ADS. Los datos en DOUT son shifted hacia el exterior en los flancos de subida de SCLK. Este terminal se pone en alta impedancia cuando no está en uso. Esta característica permite conectar DIN y DOUT juntos y controlar la transferencia con un bus bi-direccional. (Si se habla de un bus bidireccional, se espera que DIN quede en alta impedancia cuando DOUT está transmitiendo datos)

Figura 51. Diagrama de tiempos para la interfaz SPI en el ADS1256. Fuente: datasheet ADS1256

Según las características listadas, es necesario prestar especial atención a la sincronización dentro de la comunicación entre maestro y esclavo. El maestro maneja un esquema de comunicación full dúplex, por tanto, cada vez que va a configurar un registro en el ADS (escritura) simultáneamente estará muestreando (lectura) su terminal de entrada (SDI), es decir, estará muestreando un terminal en alta impedancia (recuerde que DOUT se pone en alta impedancia cuando no se utiliza). De otro lado, cuando se requiera leer las muestras que ha procesado el ADS será necesario: Solicitar el envío de muestras desde el ADS (escritura de comando RDATA y lectura simultanea de terminal en alta impedancia), esperar durante t6 y finalmente escribir (se espera que el terminal DIN ahora este en alta impedancia) en el ADS, a fin de provocar una lectura de los datos que el esclavo está colocando sobre la línea DOUT. Esta ultima escritura tiene como propósito provocar que el modulo SPI en el maestro muestree la señal en su terminal de entrada o en otras palabras “escribir para leer”.

Después de estudiar los modos de operación del maestro, se decide seleccionar el modo 00; Las características de este modo se resumen a continuación:

• El estado inactivo del reloj se representa mediante un 0 lógico, el estado activo se representa mediante un 1 lógico, (CKP=0)

• Los datos de salida son shifted hacia el exterior en transiciones inactivo-activo del reloj (CKE=0).

• Los datos de entrada son muestreados a la mitad del periodo de los datos de salida (SMP=0).

En la Figura 52 se ilustra gráficamente la configuración de modo 00 para los terminales SPI. Para configurar este modo de operación, es necesario asignar valores adecuados al registro SPICON1 del dsPIC30F2010. Finalmente, para terminar de configurar el módulo, será necesario seleccionar la frecuencia de la señal de reloj para SPI. La frecuencia calculada es de 2 MHz, la cual se alcanza con un pre-escalador de 16 para el módulo SPI. En la Tabla 16 se resumen los valores del registro SPICON1:

Figura 52. Diagrama de tiempos para la interfaz SPI en el dsPIC30F2010. Fuente: datasheet dsPIC30F2010

Tabla 16. Tareas relacionadas con el registro SPICON1

Tarea Número de bit

Nombre de Bit

Valor

1. Deshabilitar el soporte para entramado SPI <14> FRMEN 0 2. Establecer dirección o flujo de salida para el

terminal SS1 (SelectSlave1). Aunque este terminal no se va a utilizar.

<13> SPIFSD 0

3. Habilitar el terminal SDO1. <RF2> <11> DISSDO 0 4. Establecer comunicación a 8 bits <10> MODE16 0 5. Establecer los instantes de muestreo del terminal

SDI a la mitad del periodo de los datos de salida <9> SMP 0

6. Alinear los bits de salida con las transiciones idle to active del reloj

<8> CKE 0

7. Deshabilitar el modo esclavo <7> SSEN 0 8. Configurar niveles lógicos: idle=0, active=1 <6> CKP 0 9. Habilitar el modo Maestro <5> MSTEN 1

10. Pre escalador Secundario=1 <2:0> SPRE 111 11. Pre escalador Primario=1616 <1:0> PPRE 01 Tabla 17 Tareas relacionadas con el registro SPISTAT

Tarea Número de bit

Nombre de Bit

Valor

12. Limpiar el bit de overflow <6> SPIROV 0 13. Habilitar módulo SPI <15> SPIEN 1 Utilizando la librería C30 el código de configuración se implementa como:

void configSPI(void) { unsigned int SPICONValue, SPISTATValue; CloseSPI1(); SPICONValue = FRAME_ENABLE_OFF & //deshabilita soporte para entramado SPI FRAME_SYNC_OUTPUT & //Terminal NSS1 con flujo de salida- ENABLE_SDO_PIN & //Terminal SDOx controlado por el módulo SPI SPI_MODE16_OFF & //comunicación de 8 bits SPI_SMP_OFF & //-(SMP=0)-muestrea SDI a la mitad del periodo de los bits de salida SPI_CKE_OFF & //-(CKE=0)-Alinear bits de salida con transiciones idle2active del reloj SLAVE_ENABLE_OFF & //Terminal NSS1 no utilizado por el modulo CLK_POL_ACTIVE_HIGH & //---(CKP=0)--- Configurar niveles lógicos: idle=0, active=1 MASTER_ENABLE_ON & //habilita el modo maestro SEC_PRESCAL_1_1 & //Preescalador secundario 1:1 PRI_PRESCAL_16_1; //Preascalador primario 16:1 SPISTATValue = SPI_ENABLE & //Habilitacion del modulo SPI; configuracion de SCKx, SDOx, SDIx and SSx como terminales seriales SPI_IDLE_CON & //el modulo NO se detiene en modo idle SPI_RX_OVFLOW_CLR; // limpia el bit de overflow OpenSPI1(SPICONValue,SPISTATValue); }

16 Este parámetro establece la rata de comunicación para el protocolo SPI. Ver Anexos.

3. configUART().

La función de este módulo es dar soporte a la transferencia de muestras digitalizadas hacia el exterior. La recepción de las muestras digitalizadas es función del PC y puede implementarse de manera directa o de manera indirecta. Directa cuando se utiliza la interfaz RS232 (PC con puerto Serial RS232) o indirecta cuando se utiliza la interfaz USB. La opción USB se denomina indirecta porque bajo esta configuración las muestras deben entrar al PIC18F2455 antes de llegar al PC.

Los procesos de configuración de este módulo están definidos en las hojas de datos del dsPIC30F2010. A continuación se resumen las tareas más representativas durante la configuración del módulo.

Tarea 1: Inicializar el registro U1BRG para una rata de baudios adecuada. Según la hoja de datos del dsPIC, el registro que configura esta propiedad responde a la siguiente ecuación.

1 16 1

El volumen de datos a transferir corresponde a: dos muestras por mili-segundo; es decir, cuatro tramas por milisegundo. La trama UART configurada utiliza 1 bit de inicio, 8 bits de datos, no paridad y 1 bit de parada, por tanto, cada trama se compone de 10 bits. En consecuencia, se requiere transferir 36bits por ms o lo q es lo mismo 36000 bits por segundo. Para dar soporte a esta transferencia son válidos los siguientes baudrate:

Tabla 18. Alternativas de configuración del Baudrate UART

Baudrate U1BREG Error Latencia Medida 38400 51 0.040 56000 35 1.858 115000 16 1.927 362 us

Por tanto y considerando una frecuencia de oscilador fCY = 32MHz, este registro debe valer=51.

Tabla 19. Tareas relacionadas con el registro U1MODE

Tarea Número de bit

Nombre de Bit

Valor

2. Habilitar terminales alternativos para transmisión UART. Esto se hace porque los terminales normales ya han sido ocupados con la función SPI.

<10> ALTIO 1

3. Selección de: 8 bits de datos, No paridad <2:1> PDSEL<1:0> 00 4. Establecer un único bit de stop <0> STSEL 0

5. Operación continua durante modo IDLE <13> USIDL 0 6. Deshabilitar wakeUP durante modo sleep <7> WAKE 0 7. Deshabilitar modo loopback <6> LPBACK 0 8. Deshabilitar modo autobaud <5> ABAUD 0 9. Habilitación del módulo UART.17 <15> UARTEN 1

Tareas relacionadas con el registro de estado U1STA

Tarea Número de bit

Nombre de Bit

Valor

10. Habilitar interrupciones cuando se ha terminado de transmitir y el buffer de Tx queda vacío.

<15> UTXISEL 1

11. Operación normal en el terminal U1TX <11> UTXBRK 0 12. Deshabilitar el modo de detección de carácter de

dirección. <5> ADDEN 0

13. Habilitación del terminal de transmisión UART17 <10> UTXEN 1 Siguiendo las librerías de C30 se implementó el siguiente código:

void configUART(void) { unsigned int baud, U1MODEvalue, U1STAvalue; CloseUART1(); baud = 207;//--1 U1MODEvalue = UART_EN & //habilitacion del módulo -9 UART_IDLE_CON & //operacion continua durante modo idle--5 UART_ALTRX_ALTTX &//habilitacion de terminales alternativos UART--2 UART_DIS_WAKE & // deshabilita bit de deteccion wakeup en modo SLEEP--6 UART_DIS_LOOPBACK &//deshabilita modo loopback (pg485-FamilyReference)--7 UART_DIS_ABAUD & //Deshabilita soporte Autobaud--8 UART_NO_PAR_8BIT &//Modo 8 bits, sin paridad--3 UART_1STOPBIT;//selecciona 1 bit de stop--4 U1STAvalue = UART_INT_TX_BUF_EMPTY &//Activa bit de interrupcion cuando el buffer qda vacío--10 UART_TX_PIN_NORMAL &//terminal U1TX en operacion normal--11 UART_TX_ENABLE &//terminal U1TX controlado por el módulo--13 UART_ADR_DETECT_DIS & //deshabilita modo de dteccion de direcciones--12 OpenUART1(U1MODEvalue, U1STAvalue, baud); }

4. configTimer1().

El Timer 1 se encarga de temporizar los retardos necesarios para la comunicación SPI con el ADS1256. Estos tiempos son del orden de los nano segundos, razón por la cual el pre-escalador del temporizador se configura en 1:1. El preset del temporizador se configura al valor 0xFF.

La finalización de los retardos no requiere servicios de interrupción por tanto, no se habilitan las interrupciones. El código a utilizar empleando la librería timer.h del C30 es:

17 Estas habilitaciones configuran los terminales de Tx y Rx como salida y entrada respectivamente, sobre-escribiendo los valores existentes en los registros TRIS y PORT.

void configTimer1(){ CloseTimer1(); OpenTimer1( T1_OFF & T1_GATE_OFF & T1_PS_1_1 & T1_SYNC_EXT_OFF & T1_SOURCE_INT, 0xFF); }

5. configTimer2().

El timer 2 se encarga de temporizar los instantes de muestreo del ADS. Es decir, es el encargado de activar un indicador cada 1/1000 seg. En este módulo se ha de configurar una rutina de interrupción que se encargue de activar el evento actualizaMuestra. El código de implementación utilizado es:

void configTimer2(){ CloseTimer2(); ConfigIntTimer2(T2_INT_PRIOR_1 & T2_INT_ON);//configuracion de la interrupción OpenTimer2( T2_OFF & T2_GATE_OFF & T2_PS_1_8 & T2_SOURCE_INT, 0xFF); } void __attribute__((__interrupt__, auto_psv)) _T2Interrupt(void) { IFS0bits.T2IF=0; actualizaMuestra=1; WriteTimer2(Ts); }

Estado 1. Configuración del convertidor A/D 6. configADS();

Esta función se encarga de configurar el ADS1256. Los valores en los registros de configuración se resumen a continuación.

Tabla 20. Registros de Configuración en el ADS1256

Registro Valor Observaciones STATUS 0x04 Bit MSB de primero en la trama de salida

Habilitación de la funcionalidad AUTO CALIBRACIÓN. Deshabilitación de la funcionalidad BUFFERIN

MUX 0x01 Selección de canal 1 para la conversión. AIN(+) = AIN0; AIN(-) =AIN1

ADCON 0X01 Deshabilita la salida D0/CLKOUT, apaga detectores de corto circutio, Asigna ganancia PGA=2.

DRATE 0xF0 Configura la frecuencia de muestreo (30000SPS). GPIO 0xF0 Configura los cuatro terminales I/O del ADS1256 como entrada Cada uno de los parámetros listados, es asignado mediante ejecución del comando WREG sobre el registro adecuado. En la hoja de datos del ADS1256 se explica el formato a seguir

para el uso de este comando18. A fin de facilitar el proceso de escritura se implementa la función:

WREG_ADS1256(value, addres).

En donde, value: Es el valor a colocar en el registro. addres: es la dirección del registro, con base en la numeración presentada en la hoja de datos. Utilizando esta función y etiquetas definidas en la librería ADS1256.h, el código de configuración puede ser: void configADS(void){ int i, j; //retardo de 500ms for (i=0;i<243;++i){// for (j=0;j<16535;j++){ Nop(); } } WREG_ADS1256(MUX_CH2, MUX);// seleccion: AIN(+) = AIN0; AIN(-) =AIN1 WREG_ADS1256(0x01, ADCON);//deshabilita D0/CLKOUT, apaga sens.corto_circuito, PGA=2 WREG_ADS1256(0xF0, GPIO);//Los cuatro terminales I/O como entrada. WREG_ADS1256(0x04, STATUS);//bit MSB at first, habilita autocal, deshabilita bufferin WREG_ADS1256(SPS30000, DRATE);//30000 SPS myWriteSPI(SELFCAL); while(NDRDY); }

Adicional a los valores en los registros se inserta un retardo de aproximadamente 500ms, tiempo de espera mientras se estabiliza la fuente de alimentación.

Estado 3. Actualizar Muestras. 7. adquirirMuestra();

El proceso de adquisición de muestras, consiste en la lectura de muestras que ya han sido digitalizadas por el ADS1256. La hoja de datos de este integrado recomienda desarrollar una lectura de datos secuenciada cuando se requiere utilizar múltiples canales. El proceso se puede dividir en tres etapas: (A) Espere a que el dato digitalizado del canal esté listo, (B) dé inicio a la digitalización del canal y finalmente (C) recoja el dato digitalizado del canal . La lectura se resume en el siguiente esquema:

18 En el anexo 2 se describen los formatos empleados para ingresar estas configuraciones.

Figura 53. Secuencia recomendada para la lectura de múltiples canales. Fuente: datasheet ADS1256

El flujo-grama utilizado para reconstruir el esquema de lectura secuenciada se ilustra en la Figura 54. La implementación de este flujo-grama considerando la librería ADS2156.h puede ser:

void adquirirMuestra(){ static unsigned char SPIdata[3]; char i; //---------lectura de canal 1 while(NDRDY); WREG_ADS1256(0x23, MUX); myTimer(TaoCLK4); //4Taoclk myWriteSPI(SYNC); myTimer(TaoCLK24); //24Taoclk myWriteSPI(WAKEUP); myWriteSPI(RDATA); myTimer(TaoCLK50); //50Taoclk for(i=0;i<2;i++) { SPI_data[i]= myReadSPI();// dentro de la funcion se maneja el flag de Rx SPI } ch1_sample = SPIdata[0]; ch1_sample = ch1_sample << 8 // equate CH1 to MSB-byte ch1_sample = ch1_sample | (SPIdata[1]); // add MID-byte to above //---------lectura de canal 2 while (NDRDY); // wait for DRDY to go low WREG_ADS1256(0x01, MUX); myTimer(TaoCLK4); //4Taoclk myWriteSPI(SYNC); myTimer(TaoCLK24); //24Taoclk myWriteSPI(WAKEUP); myWriteSPI(RDATA); myTimer(TaoCLK50); //50Taoclk for(i=0;i<2;i++) { SPI_data[i]= myReadSPI();// dentro de la funcion se maneja el flag de Rx SPI } ch2_sample = SPIdata[0]; ch2_sample = ch2_sample << 8 // equate CH2 to MSB-byte ch2_sample = ch2_sample | (SPIdata[1]); }

Figura 54. Flujo-grama para la lectura secuenciada de muestras en el ADS1256.

Es importante considerar la frecuencia de muestreo del ADS1256. Si esta frecuencia es tan pequeña que el muestreo de los dos canales se realiza en un tiempo mayor a 1/1000 seg, entonces, el sistema no estará cumpliendo con el requerimiento establecido. La latencia permitida en esta conversión estará impuesta por los retardos que adicionen las etapas de: transmisión UART y transmisión SPI (luego filtro digital). La suma de esas latencias no puede superar los 1/1024 seg. Según la hoja de datos, para la frecuencia de muestreo establecida, la latencia de conversión A/D es 2*t19 (ver Figura 53).

Estado 4. Enviar Muestras al PC 8. enviarMuestras_a_PC()

Esta función se encarga de enviar las muestras digitalizadas hacia el PC. La precondición de esta función es que el modulo UART este configurado. La latencia permitida en esta función está determinada por las latencias de: comunicación SPI, comunicación USB y filtro digital. La suma de las anteriores no puede superar los 1/1000 seg. El código empleado es:

void sendSamples2PC (void){ U1TXREG=(char)(outputSignal_ch1>>8);//MSByte U1TXREG=(char)(outputSignal_ch1);//LSByte while(BusyUART1()); U1TXREG=(char)(outputSignal_ch2>>8);//MSByte U1TXREG=(char)(outputSignal_ch2);//LSByte while(BusyUART1()); IFS0bits.U1TXIF=0;//limpio el bit de interrupcion por Tx UART }

Las muestras digitalizadas, son enviadas en paquetes de 8 bits, por tanto, la aplicación que las reciba debe reconstruir el dato correspondiente a los canales 1 y 2.

7.4. Planos y esquemáticos. 

7.5. Lista de Partes Proveedor Qty Value Device- Eagle Parts

Local 1 DB9 X1 Mouser Mfr. #: SSF-LX3P74SRD-99

2 LEDB155 LED, PWR

Local 1 M06SIP ICD2/IC10 Local 2 MA03-2 SV1, SV2 Local 1 MA04-2 PWRJUMP Digikey Part #: 151-1080-ND

1 USB-787616 USB-TYPEA

Digikey Part #: BC1154CT-ND

28 0.1uF C-EU050-024X044 C2, CA1_1, CA1_2, CA2_1, CA2_2, CA3_1, CA3_2, CA7, CA8, CA9, CA10, CA11, CA12, CA13, CA14, CA15, CA16, CA61_1, CA61_2, CA62_1, CA62_2, CF61_1, CF61_2, CF62_1, CF62_2, CP14, CP15, CP18

Digikey Part #: BC1103CT-ND

4 0.22uF C-EU050-024X044 CP12, CP13, CP19, CP20

Mouser Mfr. #: 270-1.3K-RC

2 1.3K R-US_0204/5 RA71_1, RA71_2

Mouser Mfr. #: 270-1K-RC

3 1K R-US_0204/5 RF71_1, RF71_2, RP1

Digikey Part #: 445-2852-ND

12 1uF C-EU050-024X044 C21_1, C21_2, C41_1, C41_2, C42_1, C42_2, C43_1, C43_2, C44_1, C44_2, CP11, CP16

Digikey Part #: 478-1833-ND

3 1uF C-US050-024X044 CPT6, CPT8, CPT10

Digikey Part #: 445-3761-1-ND

1 1uH TSL1112 L1

Mouser Mfr. #: 270-2.7K-RC

2 2.7K R-US_0204/5 R62_1, R62_2

Local 2 3.3M R-US_0204/5 R21_1, R21_2 Mouser Mfr. #: 270-3.9K-RC

2 3.9K R-US_0204/5 R61_1, R61_2

Mouser Mfr. #: 270-5.6K-RC

2 5.6K R-US_0204/5 R64_1, R64_2

Mouser Mfr. #: RN55D5001FB14

4 5K R-US_0204/5 RG11_1, RG11_2, RG12_1, RG12_2

Digikey Part #: X056-ND

2 8MHz CRYSTALHC49US Q2, Q3

Mouser Mfr. #: 270-10K-RC

12 10K R-US_0204/5 R7, R9, R22_1, R22_2, R31_1, R31_2, R33,

R51_1, R51_2, R71_1, R71_2

Local 1 10nF C-EU050-024X044 CP1 Digikey Part #: 399-3548-ND

6 10uF C-US050-024X044 C5, C6, C7, C8, C20, CPT7

Mouser Mfr. #: 270-12K-RC

2 12K R-US_0204/5 RA43_1, RA43_2

Mouser Mfr. #: CMF5015K000FHEK

2 15K R-US_0204/5 RF41_1, RF41_2

Digikey Part #: 478-3161-ND

2 15pF C-EU050-024X044 C14, C15

Mouser Mfr. #: 270-18K-RC

2 18K R-US_0204/5 RA41_1, RA41_2

Local 2 18pF C-EU050-024X044 C10, C11 Mouser Mfr. #: 270-20K-RC

2 20K R-US_0204/5 RF43_1, RF43_2

Digikey Part #: X438-ND

1 20MHz CRYSTALHC49US Q1

Mouser Mfr. #: 270-22K-RC

2 22K R-US_0204/5 RA31, RP2

Local 2 22pF C-EU050-024X044 C3, C4 Local 1 22uF C-US050-024X044 CPT1 Mouser Mfr. #: 270-24K-RC

4 24K R-US_0204/5 RA44_1, RA44_2, RF44_1, RF44_2

Mouser Mfr. #: 270-33K-RC

7 33K R-US_0204/5 RA42_1, RA42_2, RA51_1, RA51_2, RF31, RF42_1, RF42_2

Local 1 47uF C-US050-024X044 CPT2 Digikey Part #: 490-2946-ND

2 50K TRIMMER_PV36X R72_1, R72_2

Mouser Mfr. #: 270-68K-RC

2 68K R-US_0204/5 R31, R32

Mouser Mfr. #: 270-100-RC

5 100 R-US_0204/5 R10, R11, R12, R13, RP3

Local 1 100K R-US_0204/5 R5 Mouser Mfr. #: 270-130K-RC

4 130K R-US_0204/5 RA61_1, RF61_1, RA61_2, RF61_2

Mouser Mfr.#:RN60C1503FB1419

4 150K R-US_0204/5 RA62_1, RA62_2, RF62_1, RF62_2

Digikey Part #: 490-2901-ND

2 200K TRIMMER_PV36X RF51_1, RF51_2

Local 4 470 R-US_0204/5 R3, R6, RLED, R_PWR

Local 1 470nF C-EU050-024X044 C9 Local 2 750pF C-EU050-024X044 C22_1, C22_2 Mouser Mfr. #: 270-820-RC

2 820 R-US_0204/5 R63_1, R63_2

Digikey Part #: AD620ANZ-ND

2 AD620AN AD620N IC6, IC7

Mouser Mfr. #: ADS1256IDBT

1 ADS1256 ADS1256 IC8

19 Cambiar por resistencias de menor tamaño.

Digikey Part#: ADUM1402CRWZ- RLCT-ND

1 ADUM1402 ADUM1402 IC9

Digikey Part#:BAV199LT1GOSCT-ND

5 BAV199 BAV199 D1_1, D1_2, D2_1, D2_2, D5

Digikey Part#: 296-20637-ND

1 DCH010505 DC/DC_CONVERTER IC13

Local 1 DSPIC30F2010/SPG DSPIC30F2010/SPG IC11 Local 1 ZÓCALO DSPIC Local 4 LM324N LM324N IC2, IC3, IC4, IC5 Local 4 ZÓCALO LM324 Local 2 LM358N LM358N IC1, IC12 Local 2 ZÓCALO LM358 Local 1 MAX232PTH MAX232PTH IC14 Digikey Part#: MCP1703T-3002E/CBCT-ND

1 MCP1703-3002 MCP1703-XXXX REG3V

Digikey Part#: MCP1703T-5002E/CBCT-ND

1 MCP1703-5002 MCP1703-XXXX REG5V

Digikey Part#: SW402-ND

2 MYPUSH_BUTTON MYPUSH_BUTTON RESET, SW1

Digikey Part#: PIC18F2455-I/SP-ND

1 PIC18F2455 PIC18F2455 IC10

Mouser Mfr. #: REF3125AIDBZT

1 REF3125 REF3125 REG2_5V

No conseguido 1 RJ11-6PTH RJ11-6PTH ICD2/IC11 Digikey Part#: CP1-3514SJCT-ND

3 SJ1-3514-SMT SJ1-3514-SMT S1, S2, SDRL

Local 1 TESTCH1 MA04-2 H3_1 Local 1 TESTCH2 MA04-2 H3_2