Tabla de contenido:
- Paso 1: Breve descripción
- Paso 2: Fuente de alimentación LiPo - Esquemas, piezas y ensamblaje
- Paso 3: Receptor de recursos humanos y registrador de datos: esquemas, piezas y ensamblaje
- Paso 4: Receptor de recursos humanos - Simulación de especias
- Paso 5: software
- Paso 6: Configuración y prueba iniciales
- Paso 7: Uso: análisis de señales médicas
Video: Registrador de datos cardio: 7 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Aunque hoy en día se encuentran disponibles muchos dispositivos portátiles (pulseras inteligentes, relojes inteligentes, teléfonos inteligentes, …) que pueden detectar la frecuencia cardíaca (FC) y realizar análisis de trazas, los sistemas basados en cinturones de pecho (como el de la parte superior de la imagen) todavía están disponibles. generalizado y utilizado, pero sin la posibilidad de registrar y exportar la traza de las mediciones.
En mi anterior Instructable Cardiosim, presenté un simulador de cinturón con correa para el pecho (Cardio) que explica que uno de mis próximos pasos fue desarrollar un registrador de datos de frecuencia cardíaca. Ahora estoy listo para presentarlo en este Instructable. La función de esta unidad portátil es recibir la señal de frecuencia cardíaca enviada por un cinturón pectoral (o el simulador Cardiosim) durante una sesión de entrenamiento (entrenamiento / ciclismo / carrera, …) y registrar la traza en una tarjeta SD, con el fin de realizar un análisis de rendimiento después del entrenamiento (ver detalles en el último capítulo).
La unidad está alimentada por un sistema de batería recargable, que incluye un circuito de carga y un regulador de refuerzo de CC.
De mi "almacén" de material no utilizado saqué una caja de plástico adecuada (135mm x 45mm x 20mm) y le adapté el trazado del circuito para que encajara, haciendo un prototipo funcional que satisface mis necesidades (pero cuya realización deja espacio para mejora:-))
Paso 1: Breve descripción
Consulte el Paso 1 del Instructable Cardiosim para obtener una introducción rápida sobre la tecnología LFMC (comunicación magnética de baja frecuencia) utilizada por este tipo de dispositivos.
Mi primera intención fue utilizar el módulo Sparkfun RMCM01 como interfaz de receptor, pero este producto ya no está disponible (y mucho menos que era bastante caro).
Sin embargo, mirando en la WEB, encontré este interesante Tutorial, que muestra algunas soluciones alternativas para reemplazar el RMCM01. Elegí la tercera opción ("Peter Borst Design", ¡gracias Peter!), Logrando un resultado excelente utilizando los mismos componentes L / C del Cardiosim, sin embargo conectados aquí como tanque resonante paralelo. La señal detectada se amplifica, "limpia", decodifica y envía a un microcontrolador Arduino Pro Mini. El programa valida los pulsos recibidos, mide la frecuencia cardíaca (o mejor, el intervalo entre dos pulsos sucesivos) y almacena todos los intervalos medidos en un archivo de texto ASCII (una línea por pulso válido, 16 caracteres cada uno, incluido el intervalo, la marca de tiempo y LF / CR) en la tarjeta microSD. Suponiendo una frecuencia cardíaca promedio de 80 bpm, solo se necesita una hora de grabación (4800 líneas de texto x 16 caracteres) = 76800/1024 = 75 kBytes, por lo tanto, incluso una tarjeta SD barata de 1 GB ofrece una gran capacidad de grabación.
Durante la grabación, puede insertar líneas de marcador para dividir la traza y evaluar por separado las diferentes fases de la sesión.
Paso 2: Fuente de alimentación LiPo - Esquemas, piezas y ensamblaje
La fuente de alimentación ocupa la parte inferior de la caja. A excepción del trimpot, ningún componente supera los 7 mm de altura, lo que da espacio para montar el circuito del microcontrolador y el receptor de frecuencia cardíaca por encima de la fuente de alimentación.
Usé las siguientes partes:
- Batería LiPo de 3,7 V (cualquier batería de teléfono se puede reciclar, la capacidad reducida no es un problema aquí)
- Módulo de carga USB TP4056, lo compré aquí
- Convertidor elevador de CC SX1308, lo compré aquí
- Tablero de prototipos pequeño 40 x 30 mm
- Cable con conector JST 2, 54mm 2 pines, como este
- (opcional) Conector JST de 2 mm y 2 pines, como éste
-
(opcional) Cable con conector JST 2mm 2 pin, como este
El uso de los dos últimos elementos depende de la batería que utilizará y de la forma en que piensa conectarla al módulo cargador. Sugiero el conector JST de 2 mm porque muchas baterías se entregan con un cable ya conectado y un enchufe de 2 mm, cualquier otra solución es adecuada siempre que permita un fácil reemplazo de la batería si es necesario. En cualquier caso, tenga cuidado de evitar cortocircuitos entre los polos de la batería durante el montaje.
El módulo TP4056 se alimenta desde un puerto micro USB y está diseñado para cargar baterías de litio recargables utilizando el método de carga de corriente constante / voltaje constante (CC / CV). Además de cargar de forma segura una batería de litio, el módulo también proporciona la protección necesaria que requieren las baterías de litio.
El SX1308 es un convertidor ajustable elevador CC / CC de alta eficiencia que mantiene constante el voltaje de salida a + 5 V con un voltaje de entrada mínimo de 3 V, lo que permite la explotación completa de la capacidad de la batería. ¡Ajuste el voltaje de salida con el trimpot a + 5V antes de conectar el circuito del microcontrolador!
El consumo total del registrador de datos es de alrededor de 20 mA, por lo que incluso una batería usada con una capacidad residual de 200 mAh (<20% de la capacidad inicial de una batería de teléfono nueva) permitirá 10 horas de grabación. El único inconveniente es que la corriente de reposo del SX1308 es de alrededor de 2 mA, por lo que es mejor que desconecte la batería si no usa el registrador de datos durante mucho tiempo.
Debido al pequeño tamaño, ambos módulos deben fijarse utilizando los orificios de conexión tanto para la conexión eléctrica como mecánica con la placa de prototipos, a través de pequeños trozos de alambre de cobre. A su vez, la placa se fija a la base de la caja con un tornillo de 3 mm x 15 mm (la longitud es suficiente para sujetar el circuito del microcontrolador de arriba con el mismo tornillo). La placa aloja el conector JST de 2mm para la batería (disponible solo en versión SMD, pero doblando los pines verticalmente se puede "girar" en una versión PTH) y todos los cableados según los esquemas. Solo para estar seguro, pegué el cuerpo del conector a la placa logrando un buen sello mecánico.
La batería se coloca plana en el área restante de la parte inferior de la caja, y detrás de ella hay un segundo tornillo de 3 mm x 15 mm con un espaciador vertical de 8 mm para evitar contactos entre la parte superior de la batería (que de todos modos está aislada) y la parte inferior de la circuito superior.
Paso 3: Receptor de recursos humanos y registrador de datos: esquemas, piezas y ensamblaje
La placa principal consta de:
- Tablero de prototipos de 40 mm x 120 mm
- Inductancia 39mH, utilicé BOURNS RLB0913-393K
- 2 x condensador 22nF
- Condensador 4.7nF
- Condensador 47nF
- Condensador 39pF
- Condensador electrolítico 10uF / 25V
- Condensador electrolítico 1uF / 50V
- 3 x resistencia 10K
- 2 x resistencia 100K
- 3 x resistencia 1K
- 4 x resistencia 220R
- Resistencia 1M
- Resistencia 47K
- Resistencia 22K
- Trimpot 50K
- Diodo 1N4148
- LED 3 mm Azul
- 2 x LED de 3 mm verde
- LED 3mm Amarillo
- LED de 3 mm rojo
- Amplificadores operacionales duales de entrada JFET de bajo ruido TL072P
- Gatillo Schmitt de inversión hexagonal 74HC14
- Conector JST de 2,54 mm de 2 pines, como éste
- 2 x microinterruptores, tipo Alcoswitch
- Microcontrolador Arduino Pro Mini, 16MHz 5V
- Módulo de tarjeta micro SD SPI 5V de DFRobots
La frecuencia de resonancia del tanque resonante paralelo compuesto por L1 y C1 es de alrededor de 5.4kHz, que coincide lo suficientemente cerca de los 5.3kHz del portador del campo magnético de la señal transmitida para convertirlo en voltaje. Recuerde que, en la mayoría de los casos, la portadora se modula sobre la base de un formato simple OOK (On-OFF Keying), donde cada pulso del corazón activa la portadora durante unos 10 ms. La señal detectada es muy débil (típicamente una onda sinusoidal de 1 mV a una distancia de 60-80 cm de la fuente, siempre que el eje de la inductancia esté correctamente alineado con el campo magnético), por lo que debe amplificarse cuidadosamente para evitar interferencias y falsificaciones. detecciones. El circuito propuesto es el resultado de mis mejores esfuerzos y de horas de pruebas en diferentes condiciones. Si está interesado en profundizar en este aspecto, y tal vez mejorarlo, eche un vistazo al siguiente paso; de lo contrario, puede omitirlo.
Las siguientes puertas Schmitt Trigger realizan la digitalización y una función de detección de picos, restaurando la señal moduladora original, que se reenvía al Arduino Pro Mini.
La placa del microcontrolador Pro Mini es perfecta para este proyecto porque el cristal a bordo permite una alta precisión de las medidas (que son imprescindibles bajo el punto de vista "médico", ver último paso), y al mismo tiempo está libre de cualquier otro. dispositivo no necesario, lo que se traduce en un bajo consumo de energía. El único inconveniente es que para cargar el código necesitará una interfaz FTDI para conectar el Pro Mini al puerto USB de su computadora. El Pro Mini está conectado a:
- Switch S1: iniciar la grabación
- Switch S2: insertar marcador
- LED azul: parpadea cuando se detecta un pulso válido
- LED verde: grabación iniciada
- LED amarillo: marcador insertado (parpadeo corto) / tiempo de espera (fijo)
- Módulo de tarjeta microSD (a través del bus SPI)
A diferencia de muchos módulos de tarjetas SD que funcionan a 3,3 V, el módulo DFRobot funciona a 5 V, por lo que no se necesita un cambiador de nivel.
En cuanto al montaje, puedes notar que he dividido la placa de prototipos en dos piezas, conectadas con dos pequeños "puentes" de alambre de cobre rígido de 1 mm. Esto ha sido necesario para elevar el módulo de la tarjeta MicroSD a un tercer "nivel de construcción" y alinearlo con el hueco que he tallado en la carcasa, justo encima de la ranura para el puerto USB. Además, tallé tres huecos en la propia placa, uno para acceder al potenciómetro del convertidor DC / DC, otro para acceder al conector del bus serie del Arduino Pro Mini (montado "boca abajo"), y el tercero para el inductancia.
Paso 4: Receptor de recursos humanos - Simulación de especias
Partiendo del diseño de Peter Borst que he mencionado antes, mi objetivo era intentar extender el rango de detección tanto como fuera posible, limitando al mismo tiempo la sensibilidad a las interferencias y la generación de pulsos falsos.
Decidí cambiar la solución de amplificador operacional único original porque ha demostrado ser demasiado sensible a las interferencias, probablemente porque el valor de la resistencia de retroalimentación de 10M es demasiado alto y para dividir la ganancia general en dos etapas.
Ambas etapas tienen una ganancia de CC G = 100, disminuyendo alrededor de 70 a 5,4 KHz, pero con diferente impedancia de entrada para optimizar la sensibilidad.
Así que supongamos que el voltaje de la señal más débil generada por el tanque LC es de 1 mV.
Si transponemos todo el circuito del receptor en un entorno Spice (yo uso ADIsimPE) reemplazando el circuito paralelo LC con un generador sinusoidal con el mismo voltaje y frecuencia (5.4KHz) y ejecutamos la simulación, notamos que el voltaje de salida V1 del 1er. El amplificador sigue siendo una onda sinusoidal (debido al factor de escala, la onda sinusoidal de entrada no es apreciable), si el amplificador está funcionando en la zona lineal. Pero después de la segunda etapa, el voltaje de salida V2 muestra que ahora estamos alcanzando la saturación (Vhigh = Vcc-1.5V / Vlow = 1.5V). De hecho, la familia TL07x no está diseñada para un rango de salida de riel a riel, pero esto es suficiente para superar con un margen seguro ambos niveles de umbral de la puerta Schmitt Trigger y generar una onda cuadrada limpia (V3).
Paso 5: software
Debido a la alta ganancia de la etapa del receptor, y a pesar de que la etapa del detector de picos actúa básicamente como un filtro de paso bajo, la señal de entrada en el pin D3 del Arduino Pro Mini aún puede estar fuertemente perturbada y necesita ser preprocesada digitalmente a través de un comprobación de validez contra falsas detecciones. El código asegura que se cumplan dos condiciones para considerar un pulso como válido:
- El pulso debe durar al menos 5 ms
- El intervalo mínimo aceptable entre dos pulsos sucesivos es de 100 ms (correspondiente a 600 lpm, ¡mucho más allá del límite de una taquicardia severa!)
Una vez validado el pulso, se mide el intervalo (en ms) del anterior y se almacena en la tarjeta SD en un archivo "datalog.txt", junto con una marca de tiempo en formato hh: mm: ss, donde 00:00: 00 representa la hora del último reinicio del microcontrolador. Si falta la tarjeta SD, el LED rojo se enciende para indicar un error.
Una nueva traza de grabación se puede iniciar / detener con el interruptor Start / Stop S1, y se identificará con una línea de marcador "; Start" y "; Stop" respectivamente al principio y al final del archivo de texto.
Si no se detecta ningún pulso durante un tiempo superior a 2400 ms (25 bpm), se coloca una línea de marcador "; Timeout" en el archivo y se enciende el LED amarillo D4.
Si se presiona el interruptor de marcador S2 durante la grabación, se escribe en el archivo una línea de marcador adicional en el formato "; MarkerNumber", con incremento automático del número de marcador a partir de 0, y el LED amarillo parpadea brevemente.
Adjunto el código completo de Arduino.
Paso 6: Configuración y prueba iniciales
Paso 7: Uso: análisis de señales médicas
La forma de la carcasa que utilicé es lo suficientemente parecida a la de un teléfono inteligente, por lo que puede encontrar en el mercado muchos accesorios para usarlo o montarlo en un equipo de entrenamiento. En particular para la bicicleta, puedo sugerir el soporte universal para teléfono inteligente llamado "Finn", producido por la empresa austriaca Bike Citizens. Barato (15, 00 €) y fácil de montar, es realmente universal y como puedes ver en la imagen perfecto también para el Cardio Data Logger
La forma más sencilla de utilizar los datos brutos registrados por el registrador de datos es trazarlos en un gráfico utilizando programas de PC estándar (por ejemplo, Excel). Comparando los gráficos obtenidos repitiendo el mismo ejercicio, o analizando la correlación entre las variaciones de FC y los esfuerzos físicos, se puede optimizar la dosificación de fuerzas durante la actividad.
Pero de mayor interés es el estudio de la FC, y en particular de la Variabilidad de la FC (VFC), con fines médicos. A diferencia de un seguimiento de ECG, el trazado de FC no contiene información directa sobre el funcionamiento del músculo cardíaco. Sin embargo, su análisis desde un punto de vista estadístico permite obtener otra información de interés clínico.
La fuente de conocimiento más completa sobre HRV es la empresa finlandesa KUBIOS. En su sitio puede encontrar mucha información sobre señales biomédicas y puede descargar "KUBIOS HRV Standard", un software gratuito de análisis de la variabilidad de la frecuencia cardíaca para investigación no comercial y uso personal. Esta herramienta no solo le permite trazar gráficos de un archivo de texto simple (debe eliminar las marcas de tiempo), sino también realizar evaluaciones estadísticas y matemáticas (incluido FFT) y producir un informe increíblemente detallado y valioso, como el que se adjunta a continuación.
Recuerde que solo un médico especializado es capaz de decidir qué exámenes son necesarios para la práctica deportiva a cualquier nivel y evaluar sus resultados.
Este Instructable ha sido escrito con la única intención de crear interés y diversión en la aplicación de la electrónica al cuidado de la salud.
Espero que les haya gustado, ¡los comentarios son bienvenidos!
Recomendado:
Registrador de datos GPS Cap: 7 pasos (con imágenes)
Registrador de datos GPS Cap: este es un gran proyecto de fin de semana, si le gustan las caminatas o los paseos largos en bicicleta y necesita un registrador de datos GPS para realizar un seguimiento de todas sus caminatas / paseos que realizó … Una vez que haya completado la construcción y descargado los datos del módulo GPS del tr
Cómo hacer un registrador de datos en tiempo real de humedad y temperatura con Arduino UNO y tarjeta SD - Simulación del registrador de datos DHT11 en Proteus: 5 pasos
Cómo hacer un registrador de datos en tiempo real de humedad y temperatura con Arduino UNO y tarjeta SD | Simulación del registrador de datos DHT11 en Proteus: Introducción: hola, soy Liono Maker, aquí está el enlace de YouTube. Estamos haciendo un proyecto creativo con Arduino y trabajamos en sistemas embebidos. Data-Logger: Un registrador de datos (también registrador de datos o registrador de datos) es un dispositivo electrónico que registra datos a lo largo del tiempo w
Registrador de datos GPS de bricolaje para su próximo viaje / ruta de senderismo: 11 pasos (con imágenes)
Registrador de datos GPS de bricolaje para su próxima unidad / ruta de senderismo: este es un registrador de datos GPS que puede usar para múltiples propósitos, digamos si desea registrar su viaje largo que tomó durante el fin de semana para ver los colores del otoño. o tiene un sendero favorito que visita durante el otoño todos los años y
Registrador de datos de monitoreo de corriente CA: 9 pasos (con imágenes)
Registrador de datos de monitoreo de corriente CA: Hola a todos, ¡bienvenidos a mi primer instructable! De día soy un ingeniero de pruebas para una empresa que suministra equipos de calefacción industrial, de noche soy un ávido aficionado a la tecnología y aficionado al bricolaje. Parte de mi trabajo consiste en probar el rendimiento de los calentadores, o
Hacer un registrador de datos con Raspberry Pi: 3 pasos (con imágenes)
Hacer un registrador de datos con la Raspberry Pi: este registrador de datos simple toma medidas de luz regulares con un LDR (fotorresistor) analógico y las almacena en un archivo de texto en su Raspberry Pi. Este registrador de datos medirá y registrará el nivel de luz cada 60 segundos, lo que le permitirá monitorear ho