Anda di halaman 1dari 10

INFORME FINAL

SEÑALES ELECTROMIOGRAFICAS

PRESENTADO POR:

JUAN SEBASTIÁN VIVAS MERA

JUAN DAVID MENDEZ

WALTER ANDRES LEGARDA

PRESENTADO A:

ING. VLADIMIR TROCHEZ

TALLER DE SISTEMAS ELECTRONICOS

PROGRAMA DE INGENIERÍA EN AUTOMÁTICA INDUSTRIAL

FACULTAD DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES

UNIVERSIDAD DEL CAUCA

POPAYÁN

DICIEMBRE DE 2009
I. Introducción:

En la vida cotidiana de un ser humano es fundamental la utilización de su


cuerpo en una forma eficiente; una de las extremidades mas importantes es la
mano, y el hombre ha tratado de imitar los movimientos de esta, de la manera
mas exacta posible valiéndose de artefactos y artilugios para reemplazarla en
caso de perderla, aunque la implementación de un instrumento como este es
en extremo complejo debido a que no solo intervienen los músculos sino
también el cerebro, los ojos, los nervios y muchos otros factores difíciles de
imitar de una forma adecuada; nuestro proyecto pretende ayudar en la creación
de un dispositivo que imite la mano humana contribuyendo para ello en la
codificación de algunas señales recibidas por la mano en las pruebas que se
realizaran.

II. ANALISIS DE PROBLEMAS Y SOLUCIONES DADAS.

*Un problema a solucionar es muestrear una serie de cambios de voltaje


emitidos por electrodos, ya que se necesitara mucha exactitud y precisión para
lograr obtener una señal lo suficientemente fuerte y robusta para ser analizada,
ya que de lo contrario tendríamos una misma señal.

La solución basada en el muestreo del microcontrolador que registre 250


muestras, las almacene y luego las envíe al ordenador.

*Encontrar la forma para que el microcontrolador muestre la cantidad suficiente


de datos y los envíe a la memoria de almacenamiento que en este caso sería la
memoria RAM.

*Encontrar la forma de aislar el circuito montado inicialmente en la protoboard,


para que funcione adecuadamente sin ruido exterior, debido a que este altera la
señal de salida.

Una de las soluciones fue cubrir el circuito con una caja envuelta con aluminio
para minimizar el ruido.

Otra solución fue de colocar condensadores en las señales de salida de cada


parte del circuito.

*Consecución de los materiales necesarios para montar el circuito

La solución fue basada en la compra de integrados equivalentes mas


económicos para reducir costos.

*Problemas acerca del código e inquietudes presentadas a lo largo de la


creación de este
La solución basada en asesorías con el profesor centrada en la solución de
estos

Determinación del tiempo límite de entrega del proyecto.

Se diseño un cronograma donde se especifica cada tarea a realizar al igual que


el orden a llevarse a lo largo del proceso.

III. MANUAL DE USUARIO.

La interfaz diseñada para la manipulación del sistema por parte del usuario,
esta basado en una conexión USB y los siguientes botones:

CONECTAR: conecta el sistema al ordenador.

DESCONECTAR: desconecta el sistema del ordenador.

VERIFICAR: verifica si existe una conexión óptima del sistema.

TOMAR 1 MUESTRA: toma una nuestra de 256 datos y las muestra en una
lista.

GRAFICAR: grafica continuamente la señal hasta que el usuario la detenga.

Una barra horizontal indica la recepción de los datos, llenándose de izquierda a


derecha y tornándose de color verde; la conexión se hace por medio del puerto
USB.
IV. DIAGRAMA FINAL PIN A PIN
FIRMAWARE DEL MICROCONTROLADOR

#include "sEMG LAST.h"

#include "USB_definiciones.h"

#include <stdlib.h>

#include "lcd.c"

int muestra=0;

int16 resultado= 0;

#int_TIMER1

void TIMER1_isr(void)

set_timer1(64286);

read_adc(ADC_START_ONLY);

#int_AD

void AD_isr(void)

if(muestra<256){

resultado=read_adc(ADC_READ_ONLY);//Guardo el resultado de la conversión

output_toggle(PIN_B5);

muestra++;

else

muestra=0;

}
void inicializar()

usb_init(); //Inicializamos el dispositivo USB

usb_task(); //Controla la conexión USB

usb_wait_for_enumeration(); //Esperamos a ser Enumerados por el sistema

void main()

enable_interrupts(INT_TIMER1);

enable_interrupts(INT_AD);

enable_interrupts(GLOBAL);

output_low(PIN_B5);

output_low(PIN_B6);

output_low(PIN_D2);

//----------------------------------------------------------------------------------

setup_adc_ports(AN0);

setup_adc(ADC_CLOCK_DIV_32); //configura un tad de 1.6us*****

set_adc_channel(0);

//------------------------------------------------------------------------------------

set_timer1(64286);

setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);

//----------------------------------------------------------------------------------------

inicializar();

//----------------------------------------------------------------------------------------

while(1){

if (usb_enumerated()){ //Conectados al PC?


if (usb_kbhit(DESTINO_USB)){ //Dato recibido?

char recibe[12]="\0\0\0\0\0\0\0\0\0\0\0";

usb_get_packet(DESTINO_USB, recibe, 16); // Leer


hasta 15 Bytes del DESTINO_USB en Recibido

if (recibe[0]=='@'){

char envio[12]="\0\0\0\0\0\0\0\0\0\0\0";

itoa(resultado,10,envio);//convierto a
ascii para enviar vía bus USB

usb_puts(DESTINO_USB,envio,16,0); //La
envío al PC

output_toggle(PIN_B6); //Data I/O


USB - LED FLASHING

recibe[0]=" ";

if(recibe[1]=='$'){

output_toggle(PIN_D2);

recibe[1]=" ";

Bloque Eliminador de Componentes DC:


La función básica de este bloque es reducir componentes DC en la señal
proveniente de los electrodos de canal, manteniendo un alto CMRR para los
amplificadores que suceden este bloque.
Esta reducción permite el uso de altas ganancias en la etapa de procesamiento
de señal sin riesgos por saturación en la salida.
Las señales ELEC1, ELEC2 corresponden a las señales de voltaje
provenientes de los electrodos pertenecientes al canal 1. En el esquema de
medición diferencial un canal procesa la diferencia entre los potenciales en dos
electrodos referidos a un electrodo REF. En la salida se obtienen las señales
V01 y V02 como señales de voltaje con componente DC reducido.
Las señales de entrada (V01, V02) corresponden a las salidas del bloque
Eliminar Componentes DC. En la salida se obtienen las señales V11 y V12.

Impulsor: este bloque se encarga de impulsar las señales recibidas con el fin
de dotarlas de suficiente corriente para que sean procesadas por las etapas
subsiguientes

Resta: Este bloque se encarga de calcular la señal diferencial de un canal,


mediante resta de los voltajes sEMG correspondientes al mismo canal. La
señal de entrada corresponde a los voltajes de canal impulsados y con bajo
componente DC (V11, V12). En la salida se obtiene la señal diferencial (V2)
como resultado de la resta entre las señales de entrada.

Circuito DRL: Este circuito se encarga de calcular dos señales de


realimentación:
• La señal VSHIELD encargada de reducir las interferencias provocadas por la
línea de potencia. Esta se conecta a la malla protectora del conductor que
transporta las corrientes provenientes de los electrodos de canal y fue
calculada con un seguidor de voltaje.
• La señal VDRL útil para reducir el voltaje en modo común y con éste las
posibles interferencias de señal. Esta señal es calculada con un inversor de
voltaje.

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. Dichas
componentes se encuentran fuera del ancho de banda de las señales sEMG..

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.

Bloque Filtro Pasa Bajas: Este bloque se encarga de cortar los componentes
de frecuencias por encima de los 500 Hz. 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 los componentes de la cadena
de procesamiento de señal.
V. ANALISIS Y RESULTADO DEL PLAN DE PRUEBAS.

Las señales de salida se obtienen en la interfaz de usuario según el muestreo,


entre un rango de 10mV y –10mV.

VI. EXTENSION Y POSIBILIDADES DE OPTIMIZACION DEL SISTEMA.

Lograr digitalizar las señales que producen los músculos para poder utilizar
estas en la producción de una mano robótica.

Lograr compatibilizar el sistema operativo con otras plataformas minimizando


así el costo del sistema.

Aumentar su velocidad de muestreo al doble de velocidad muestreada por el


pic18f4550 desarrollando así un sistema más eficiente.

La mayor comodidad posible en el manejo del sistema por parte del usuario, al
igual que su instalación y desinstalación.

VII) RECOMENDACIONES Y CONCLUSIONES

Conclusiones:

La aplicación del lenguaje de bajo nivel ccs implementado en el


microcontrolador, tuvo un alto nivel de análisis ya que no fue fácil lograr una
interfaz adecuada para las tareas que requeríamos de dicho elemento.

La elaboración del proyecto requirió tanto de destreza como de sentido de


responsabilidad al momento de seguir los procedimientos estrictamente
establecidos en una guía y su respectiva entrega en el tiempo establecido.

Muchas cosas sobretodo en lo referente al circuito de filtrado parecían sencillas


pero al momento de trabajar se volvieron tediosas.

El ruido del ambiente puede causar serios cambios en la señal de salida,


particularmente el ruido del salón de taller de sistemas electrónicos debido a
que es un ambiente un poco diferente a cualquier otro por la cantidad de
instrumentos que hay.

Una forma muy eficaz y sencilla de evitar dichos ruidos es aislar el circuito del
exterior, lo cual es fácil de conseguir cubriéndolo con una caja de metal o
envuelta en aluminio, aunque también es posible aislarlo de forma eficaz
montando el circuito en una tarjeta

Recomendaciones:
Para evitar ruido del ambiente en el circuito que pueda alterar la señal de salida
es necesario montarlo en un circuito impreso siempre y cuando estén
correctamente insertados los integrados, así como también para la prueba
aislarlo con una caja envuelta en aluminio.

Revisar paso a paso los circuitos para evitar el potencial daño de alguno de
ellos.

Para montar el circuito de filtrado correctamente es recomendable ir probando


cada componente inmediatamente después de su montaje e ir haciéndole un
seguimiento a la señal para detectar posibles problemas y poder resolverlos
con eficacia y prontitud.

VIII) BIBLIOGRAFIA

• Manual del usuario de ccs compiler

• Wikipedia Enciclopedia Libre

• Todopic

• google

Anda mungkin juga menyukai