Вы находитесь на странице: 1из 6

FASE 3 - INTERFAZ CON SEÑALES

ELECTROMIOGRÁFICAS PARA BRAZO


(DIGITALIZACIÓN Y COMUNICACIÓN)
Joan Caicedo Vivas (joan.caicedo@correounivalle.edu.co). 1425624
Carlos Coy Calero (carlos.coy@correounivalle.edu.co). 1522622
Universidad del Valle.
Cali, Colombia

● El tamaño de la trama de datos enviada al PC es 7


Resumen — ​ En este informe se presenta la descripción de la bytes.
implementación del bloque de digitalización y comunicación, el ● La potencia consumida por este bloque debe ser de un
cual se encuentra dentro del sistema de interfaz con señales
valor adecuado con el fin de adaptarse al
electromiográficas para brazo. Para llevar esto a cabo, se hace
una presentación de los resultados y las modificaciones requerimiento de los 75 mW totales del sistema.
(justificadas) que se consideraron pertinentes con respecto a la ● La digitalización se debe realizar en un dispositivo
fase 2. Asimismo, se exponen algunos problemas de hardware que externo al PC donde se llevará a cabo el
se tuvieron al momento de soldar los componentes a la PCB procesamiento digital de la señal.
diseñada. ● Resolución de la señal análoga digitalizada de al
menos 10 µV.
Palabras claves ​— USB, lenguaje C, señales electromiográficas.
II. DESCRIPCIÓN DEL BLOQUE DE COMUNICACIÓN Y
I. INTRODUCCIÓN DIGITALIZACIÓN​.

En la primera fase el trabajo consistió en definir un esquema Las señales que se deben adquirir son de naturaleza análoga, y
general, mediante un diagrama de bloques, de la solución debido a que estas señales serán representadas gráficamente en
propuesta para el desarrollo de un sistema capaz de capturar un computador, tendrán que convertirse a un formato digital.
señales electromiográficas para brazo, y posteriormente Esta conversión se hará con la ayuda de un conversor análogo
identificar movimientos mediante una interfaz en un PC. Para digital (ADC) con resolución de 10 bits. Una vez los datos
la segunda fase se definió cómo sería cada bloque análogos se encuentran digitalizados, se enviarán al destino
internamente (hardware o software necesarios para cumplir (PC) utilizando la comunicación USB.
con los requerimientos propuestos).
En esta penúltima etapa se debe mostrar la implementación Es importante destacar que aunque parezcan partes diferentes,
final de cada bloque por separado, los cuales se integrarán tanto el conversor como el módulo USB se encuentran
entre sí para formar el sistema completo. En el caso del bloque integrados en el microcontrolador empleado; sin embargo, en
correspondiente a la digitalización y comunicación, el diseño el documento se trabajan como procesos separados para una
final consiste en la PCB con los componentes necesarios para mayor comprensión de las funciones correspondientes.
lograr la recepción de los datos análogos (señales de voltaje
provenientes de la etapa de sensado y adecuación), para su ● Hardware utilizado:
posterior digitalización y envío (usando el bus de 1. Microcontrolador ATMega32U4.
comunicaciones USB) a un PC, encargado de procesar los 2. Puerto Micro USB hembra.
datos recibidos.
Es importante tener en cuenta las características expuestas en ● Software utilizado:
fases anteriores, y en caso de ser necesaria alguna 1. Atmel Studio 7.
modificación, garantizar que no se afectará el funcionamiento 2. Proteus 8.
de otros bloques, y así tener altas probabilidades de éxito al 3. Arduino IDE.
unir las partes. 4. MATLAB R2018a
5. RealTerm: Serial Capture Program 2.0.0.70
A manera de contextualización, se presentan a continuación las
especificaciones iniciales para el bloque de digitalización y
comunicación:
III. MODIFICACIONES AL DISEÑO

1. Tamaño de la trama de datos​: ​Inicialmente se planteó


el uso de una trama de tamaño igual a 7 bytes (1 de
cabecera, 5 para el dato y 1 para el final de trama),
esto se modificó debido a que al hacer la adquisición
del dato este se procesa y se almacena en una variable
tipo flotante (32 bits o 4 bytes). Se realizó de esta
manera para reducir el tiempo de transmisión y para
facilitar la lectura desde la parte de procesamiento
con matlab. Por lo tanto para la transmisión del dato,
se utilizarán finalmente 6 bytes en total. El orden de
la trama será:

a. Byte de cabecera (‘C’ o 0x43)


b. 4 Bytes correspondientes al dato de tipo
flotante (desde el más significativo hasta el
menos significativo).
c. Byte de final de trama (‘F’ o 0x46)

2. Programación​: Inicialmente se utilizó FreeRTOS para


implementar dos tareas paralelas en el dispositivo; una
para la digitalización y otra para la comunicación. Sin
embargo, se concluyó que esto no era necesario pues
existe una dependencia entre el envío de los datos
digitalizados y la conversión del ADC, puesto que para
poder enviar el dato, correctamente, es necesario que este
se encuentre disponible en los registros de Fig 1.​ Diagrama de flujo.
almacenamiento del ADC. Por lo tanto, se optó por una
programación completamente secuencial, controlando la 3. Frecuencia del microcontrolador:​ Inicialmente se planteó
frecuencia del proceso mediante un timer, obteniendo el utilizar el ATmega32U4 a 4 MHz, sin embargo esto se
siguiente diagrama de flujo: modificó y se instaló un oscilador de 16 MHz que
permite aumentar la frecuencia efectiva del ADC y brinda
una velocidad más alta en la comunicación serial,
permitiendo usar tasas de baudios de hasta 500 kbps sin
error; sin embargo este aumento en la frecuencia implica
un mayor consumo de potencia, llegando a ser
aproximadamente 63 mW.
Fig 2​. Especificaciones de potencia del microcontrolador. Fig 4​. Especificaciones de PCB fase III.

Al consultar con el bloque de alimentación y de Finalmente, se realizó el nuevo diseño de la PCB a partir
adecuación, se aceptó este cambio debido a que no supera de la especificación de la Fig 4, haciendo una
el requerimiento inicial de potencia, y el consumo total consideración con respecto a la fase anterior; esta
del proyecto es aproximadamente 66 mW . consiste en ubicar las pistas de D+ y D- lo más juntas
posible entre sí y de longitudes similares. Se obtuvo el
4. Esquemático eléctrico​: En la fase 2 se planteó el siguiente diseño:
esquemático eléctrico disponible en la fig 1 del anexo 1.
Además de lo planteado en la fase anterior, se agregaron
capacitores para el filtrado de la alimentación desde USB,
se agregaron resistencias en los pines D+ y D- para
facilitar el acople de impedancias, se agregó el cristal de
16 MHz, y se colocaron headers para tener acceso al
puerto serial y a la comunicación por ISP, obteniendo el
esquemático eléctrico disponible en la fig 2 del anexo 1.

5. Especificaciones de PCB:​ En la fase anterior se planteó el


siguiente modelo de PCB:

Fig 5​. Top view PCB fase III.

IV. IMPLEMENTACIÓN FINAL

Se utilizó un arduino leonardo para realizar la validación


del funcionamiento del código antes de programar el
ATmega32U4 (ya que este arduino se basa en el
microcontrolador mencionado).
Fig 3​. Especificaciones de PCB fase II. Para la velocidad de comunicación, se utilizó 200 kbps ,
esto debido a que es la máxima tasa de baudios que
Sin embargo, debido a que los agujeros de sujeción se permite matlab dentro de su interfaz. Para verificar el
encontraban muy cerca del borde de la PCB, sumado a tiempo se utiliza un timer mediante la función micros()
que el módulo de adecuación no utilizó la totalidad del obteniendo el siguiente resultado:
espacio, se definió reducir el tamaño de la misma y ubicar
los agujeros de sujeción más hacia el centro, lo cual
facilita la construcción de la caja y reduce el tamaño total
del producto final. Se definió la siguiente especificación:
​Fig 6​. Tiempo necesario en microsegundos para cada medición
y envío de muestra.

De la fig 6 se ignora la primera muestra, debido a que se


considera un resultado atípico no relevante para el cálculo Fig 8​. Señal de 500 Hz recibida desde arduino reconstruida con
del tiempo del proceso, por tanto se repite el MATLAB.
procedimiento anterior para 100 tramas de datos y se
obtiene que el valor máximo de tiempo para el muestreo Después de realizar la validación software se soldaron los
y la comunicación se encuentra en 180 µs lo cual permite componentes a la plaqueta, se cargó el bootloader de
garantizar una frecuencia de muestreo estable en 5 kHz , arduino leonardo en el microcontrolador ATmega32U4
sin embargo se establece una frecuencia de 4 kHz por medio de la interfaz ISP y se conectó al PC
(solicitada por el bloque de procesamiento) agregando un obteniendo como resultado el reconocimiento de un
retardo que garantice un tiempo total de 250 µs . nuevo dispositivo por parte de windows, sin embargo no
lograba identificarlo como un arduino; el problema yacía
Se utiliza la herramienta software REALTEM en su en el microcontrolador, ya que al realizar pruebas y medir
version 2.0.0.7 para extraer las tramas en formato los voltajes en los pines, se llegó a la conclusión de que el
hexadecimal de la comunicación USB utilizando 3,3 V de regulador del voltaje interno para el USB presentaba
referencia (por facilidad debido a que la plaqueta arduino fallas, debido a que en el pin UCAP debería aparecer un
arroja este valor regulado) y un voltaje de 0,6 V en la voltaje de máximo 3,3 V. Sin embargo se encontraba al
entrada del ADC (este se logró utilizando un mismo voltaje de la fuente (5 V); esta medición permite
potenciómetro, por tanto se espera fluctuación en la reportar el daño.
medición).

Fig 7​. trama de datos recibida por USB vs voltaje equivalente


(Cabecera 0x43 y final de trama 0x46).

Luego de obtener la medición para un valor fijo, se


ingresa una onda senoidal de 2,44 Vpp sobre un nivel de
DC de 1,22 V a una frecuencia aproximada de 500 Hz y
Fig 9​. Especificaciones eléctricas de la interfaz USB .
se muestrea obteniendo el siguiente resultado:
Al realizar el diagnóstico de la falla, se atribuye el daño
al proceso de soldadura. Por este motivo se realizó el V. COSTO DE LA IMPLEMENTACIÓN
pedido de un segundo microcontrolador para verificar el
funcionamiento del software descrito anteriormente.
Elemento Precio (COP) Distribuidor
Después de recibir el segundo microcontrolador, se optó
por soldadura en horno para minimizar errores utilizando ATmega32U4 21100 Electrónica Plug
el siguiente perfil de temperatura: and Play

Puerto micro USB 1000 Electrónica San


hembra nicolás

PCB 70x45 mm 14300 Minialmacen


+ antisolder EIEE

Cristal 16 MHz 350 Vistrónica

Capacitor 22pF x 2 200 Electrónica San


nicolás

Capacitor 1uF 2453,65 Mouser


SMD 1206 Colombia

Fig 10​. Perfil de temperatura estándar para soldadura SMD . Capacitor 100nF 1698,68 Mouser
SMD 1206 Colombia
Se utilizó un horno disponible en el laboratorio de mecánica
Resistencias x5 2988,4 Mouser
de la universidad del valle, al programar la curva de la fig 10
SMD 1206 Colombia
e iniciar el horno no se obtuvo el tiempo esperado, tomando
alrededor de 15 minutos realizar la totalidad del proceso, al
finalizar este se observan daños por exceso de temperatura y Capacitor 100nF x5 500 Electrónica San
Cerámico nicolás
debido a esto se concluye que el panel de control del horno
no indicaba la temperatura real al interior del mismo; el Capacitor 10uF 200 Electrónica San
resultado del proceso fue un microcontrolador totalmente electrolítico nicolás
dañado y la plaqueta (en fibra de vidrio) derretida alrededor
de tres de las cuatro esquinas. Capacitor 1uF 150 Electrónica San
Debido al resultado descrito anteriormente, se opta por electrolítico nicolás
utilizar el arduino leonardo para el acople de los bloques en
Total 44940,73
la fase 4, ignorando el requerimiento de tamaño debido a que
las dimensiones de este corresponden a:

VI. REFERENCIAS

[1] ATMEL. 8-bit AVR microcontroller with 32 KB


in-System programmable flash ATmega32U4.

Fig 11​. Dimensiones del arduino leonardo.


ANEXO 1:

Fig 1.​ Esquemático eléctrico de la fase II.

Fig 2.​ Esquemático eléctrico de la fase III.

Вам также может понравиться