Herramientas de usuario

Herramientas del sitio


Barra lateral

Traducciones de esta página:

Página principal

Análisis y comparativas

Eventos Guías Herramientas Información de interés Proyectos
> Usuarios Varios Wiki Privado

No hay páginas en esta sección.

old admin

No hay páginas en esta sección.

proyectos:capnografo_covid19

Capnógrafo COVID19

by TCRobotics

En esta página se exponen los resultados del proyecto Capnógrafo, que forma parte del movimiento maker Coronavirusmakers.org y ha sido desarrollado durante el confinamiento por la pandemia de COVID19. En este artículo se recoge el fruto del trabajo de todos los colaboradores del proyecto. Los materiales para la fabricación del prototipo “BricoLabs” han sido financiados por BricoLabs.

<note warning>El Capnógrafo derarrollado en este proyecto no es un dispositivo médico Actualmente no cuenta con ninguna certificación médica y no es previsible que la llegue a tener. La responsabilidad en el uso del dispositivo debe ser asumida por quien decida construirlo y usarlo.</note>

Historia

El 14 de Marzo de 2020 comienza el confinamiento por la crisis del COVID19 en España y se crea el grupo de telegram Coronavirus Makers. Los esfuerzos se centran en crear viseras impresas en 3D y un respirador. Mi impresora está parada por el fallo de una pieza y el grupo del respirador ya está cerrado, por lo que buscando otros proyectos donde colaborar encuentro el grupo de Capnógrafo. Me pongo a colaborar con la busqueda de sensores y entro en contacto con la empresa Gas Sensing Solutions UK. Después de decidirnos a comprar un sensor desde BricoLabs, Gas Sensing me comunica que nos envían uno sin coste! Compramos desde BricoLabs materiales accesorios y se fabrica el primer prototipo.​​​​

Que es un capnógrafo?

Un capnógrafo es un instrumento de medida para medir la concentración de CO2 expirado.

Este proyecto implementa alternativas a los capnógrafos comerciales, rápidas, de bajo coste y open source .

Más información sobre la capnografía: https://en.wikipedia.org/wiki/Capnography

Software

Toda la documentación del proyecto así como el software más actual se encuentra en GitHub. Hemos tenido problemas con los permisos de los diferentes repositorios por lo que hemos ido haciendo forks. Por ello la versión más actual es la marcada en rojo de TCRobotics.

El prototipo BricoLabs utiliza concretamente el siguiente proyecto realizado en Platformio: https://github.com/TCRobotics/capnograph/tree/sensor/Source%20simple/BricoCapnograph

Intentamos que el proyecto sea fácilmente replicable por lo que el código se ha hecho de manera que sea hackeable para utilizar los componentes hardware que tengas disponibles. Revisa la seccion de hardware para entender que materiales pueden funcionar antes de modificar el software o colaborar con el proyecto.

Estamos abiertos a la colaboración por lo que esperamos tus pull request en el git!

Hardware

En el proyecto se han explorado diferentes aproximaciones. La investigación sobre cada uno de los elementos también forma parte del proyecto por lo que también incluimos lo aprendido, pero lo particularizaremos para el prototipo BricoLabs

En general el hardware de un capnógrafo se compone de los siguientes elementos:

  • Sensor CO2
  • Microcontrolador
  • Display
  • Adquisición de aire
    • Tubos de aire
    • Trampa de agua
    • Filtro de partículas hidrofóbico
    • Bomba de aire

Sensor CO 2

Los sensores de CO2 para utilizar en un capnógrafo necesitan estas características:

  • Capacidad de medir directamente la concentración de CO2. Los sensores Non dispersive infrared sensors (NDIR) sirven, los Metal Oxide sensors (MOS) no, porque solo estiman la concentración del CO2 mediante medidas indirectas.
  • Deben tener un rango de medida de MÁS del 5% (MÁS de 50000ppm).
  • El tiempo de respuesta debe ser menos de 1s con un flujo de aire de 500ml/min.
  • El tiempo de muestreo debe ser menor o igual de 0.1s (10Hz)

Sensor prototipo BricoLabs

Para este prototipo hemos seleccionado el sensor SprintIR-R-20 por las siguientes razones:

  • Es el sensor tope de gama en velocidad de muestreo (50 muestras/s).
  • Tiene un buen rango para esta aplicación (20%).
  • Tamaño compacto con entrada y salida para tubos.
  • Posee salida digital con comunicación serie.Maybe slower versions (SprintIR-WF or SprintIR-6S) with 20Hz also work, but we have one shot ;)

Por lo experimentado durante este proyecto consideramos que el sensor SprintIR-6S-20 tambien puede funcionar correctamente. Este sensor se puede conseguir por menos de 100€ en pequeñas cantidades comprando directamente a su fabricante Gas Sensing.

Otros sensores válidos

En el proyecto otros miembros han intentado realizar otros prototipoc con el sensor I2C Pyreos epy12231. Otro grupo también ha trabajado con el sensor analógico Pyreos PY2343. Estas otras opciones son más complejas ya que requieren el desarrollo de PCBs, circuiteria adicional y la integración mecánica en el canal de ventilación. Puedes encontrar más información el los canales de Slack #sensor-epy12231 and #py2343_sensor

Sensores comprobados

En esta tabla se muestran los sensores evaludados y sus características:

ModeloRangoMuestras/sCalentamientoRespuestaExactitudValido?Precio
SprintIR-W-55%0.05s<30s 3s 70ppm+5%NO ?
SprintIR-WF-2020%0.05s<30s 3s 70ppm+5%maybe 270€
SprintIR-W-2020%0.05s<30s 3s 70ppm+5%maybe 138€
SprintIR-W-6060%0.05s<30s 3s 70ppm+5%maybe 138€
SprintIR-W-100100%0.05s<30s 3s 70ppm+5%maybe 138€
SprintIR-6S-55%0.05s<30s <1s 70ppm+5%NO 231€
SprintIR-6S-20 20% 0.05s <30s <1s 70ppm+5% SI 231€
SprintIR-6S-6060%0.05s<30s <1s 70ppm+5%SI 231€
SprintIR-6S-100100%0.05s<30s <1s 70ppm+5%SI 231€
SprintIR-R-55%0.02s?<1s 70ppm+5%NO 370€
SprintIR-R-20 20% 0.02s ? <1s 70ppm+5% SI 370€
SprintIR-R-6060%0.02s?<1s 70ppm+5%SI 370€
SprintIR-R-100100%0.02s?<1s 70ppm+5%SI 370€
ExploIR-W-55%0.5s<10s 10s70ppm+5%NO 101€
ExploIR-W-2020%0.5s<10s 10s70ppm+5%NO 101€
ExploIR-W-6060%0.5s<10s 10s70ppm+5%NO 101€
ExploIR-W-100100%0.5s<10s 10s70ppm+5%NO 101€
ExploIR-M-2020%0.5s<10s 10s70ppm+5%NO 222€
ePY12231?0.001s? ? ?? 30€
PY2343??? ? ?? 60€
K300.5%0.5s60s 20s 30ppm+3%NO 79€
MH-Z190.5%5s180s <60s 50ppm+5%NO 27€
MH-Z14A1%?189s <120s 10%NO 37€
LI-8202%?90m ? ?NO ?
DS-CO2-200.5%?? ? ?NO 27€
SGP-30MOS1s? ? ?NO 20€
MQ-135MOS?? ? ?NO 6€
CCS811MOS1s? ? ?NO 21€

Enlaces a las datasheets en: https://github.com/TCRobotics/capnograph/blob/sensor/HW_co2sensors.md

Microcontrolador

No se necesitan especiales características ya que solo se necesitaría un puerto serie y comunicación SPI para la pantalla. Pero la velocidad de procesamiento si que puede ser un cuello de botella para poder tratar cada una de las puestras del sensor. Por si acaso en el prototipo BricoLabs elegimos utilizar el ESP32 que tiene todo lo necesario con una velocidad buena y además dispone de WiFi y Bluetooth para posibles expansiones.

Display

Es necesario un display para mostrar el gráfico de CO2 y las medidas de respiraciones por minuto (bpm) y End Tidal CO2 (etCO2). Se planteó prescindir del display y utilizar un ordenador portatil para mostrar la información, y aunque se podría utilizar facilmente, se descartó por sencillez de uso y ahorro de coste.

La elección del display se realizó por la facilidad de adquirir rapidamente y la universalidad de la libreria Adafruit_GFX y Adafruit_ST77XX que los soporta, al usar esta librería cualquier pantalla con driver ST77XX puede ser utilizada con pequeños cambios en el código.

El software https://github.com/TCRobotics/capnograph/tree/sensor utiliza por defecto el display FeiYang TFT LCD IPS GMT130-V1.0

Displays Soportados

Pinado

ST7735 pinFunctionESP32 pin
VCCPower3V3
GNDPowerGND
SCKSPI clock18
SDASPI data23
DCSPI Data Command2
CSChip select5
RSTReset4
BLKBack light3V3/NC
ST7789 pinFunctionESP32 pin
VCCPower3V3
GNDPowerGND
SCKSPI clock18
SDASPI data23
DCSPI Data Command2
RESReset4
BLKBack light3V3

Adquisición de Aire

Hay dos métodos para acceder a la respiración del paciente y poder medir:

  • Main-stream
  • Side-sream

Main stream

En este método el sensor está localizado entre el paciente y el circuito de respiración. El sensor “ve” a través de unas ventanas transparentes de un adaptador especial, la luz infraroja de un emisor situado en el lado opuesto. para prevenir la condensación, el aire es calentado un poco más que la temperatura del cuerpo humano.

Ventajas

  • No hay obstrucción
  • No crea cambios de presión
  • Normalmente no hay problemas con la esterilizaciión ya que el sensor no tiene contacto con la respiración
  • No introduce polución
  • No hay retardo en el gráfico
  • Adecuado para uso en niños

Desventajas

  • Las ventanas del sensor se pueden ensuciar con las secreciones
  • Dificil de utilizar en posiciones inusuales como (prono)
  • Algunos modelos son pesados
  • Solo puede ser utilizado en pacientes intubados
  • Dificil de crear un adaptador y ventanas de manera DiY

Algunos miembros del proyecto están intentando utilizar este método con los sensores epy12231 y py2343. Más información el los canales de Slack #sensor-epy12231 and #py2343_sensor

Side stream

Este método utiliza un tubo de muestra conectado a un a pieza en forma de T. El sensor está localiazado en la unidad principal y una pequeña boma aspira una pequeña muestra de la expiración para medirla. Si el paciente tiene una enfermedad contagiosa por la respiración como COVID19 o tiene gases anestésicos en el canal de aire, la salida de la bomba de aire debe ser devuelta al canal de aire o llevada a un filtro de gases.

Ventajas

  • Fácil de conectar
  • Puede ser utilizada en pacientes despiertos y no intubados
  • Facil de utilizar en posiciones inusuales (prono)

Desventajas

  • Posible obstrucción del tubo
  • El vapor de agua puede afectar a la medida del sensor si llega al mismo
  • Algo de retraso en el gráfico debido al transporte de gases

Adquisición de aire en el prototipo "BricoLabs"

En el prototipo se utiliza el método de side stream de la siguiente manera:

PACIENTE > FILTRO DE PARTÍCULAS > TRAMPA DE AGUA > FILTRO HIDROFÓBICO > SENSOR > BOMBA

Toda la sección de adquisición de aire debe ser esteril y no compartirse entre pacientes. Habitualmente todos sus elementos (salvo el sensor y la bomba que no se cambiarían) suelen estar disponibles en los hospitales por que se utilizan para los sistemas de respiración, anestesia etc. Por lo que no entrarían en el alcance del proyecto, sin embargo para realizar pruebas hemos tenido que conseguir este material, por lo que a continuación se expone lo que hemos utilizado.

Tubos

Utilizamos principalmente tubos de diámetro interno 6mm para la linea de aire y de 8mm para usarlos como adaptadores para las entradas de filtros y bomba.

Trampa de agua

La trampa de agua es necesaria para eliminar tanto vapor de agua como sea posible por que afecta al correcto funcionamiento del sensor. No encontramos ninguna trampa de agua que pudieramos comprar a nivel particular pero puede realizarse con un pequeño tarro de cristal con un par de agujeros en su tapa donde entran y salen dos tubos.

Filtro de partículas hidrofóbico

Parece que es necesario primero un filtro de partículas de 150 micrones y despues de la trampa de agua un filtro hidrofóbico de 0.22 micrones. Para el prototipo de BricoLabs no encontramos filtro de particulas, pero encontramos un filtro de 1 micron con membrana hidrofóbica de EPTFE. En los test sin trampa de agua vimos que casi todo el vapor de agua se contenía en el filtro, pero definitivamente se necesita una filtración correcta.

Bomba

Es recomendable una bomba de succión de 500ml/min, pero solo conseguimos rapidamente con envio local una de Sparkfun que tiene 12-15l/min. Para conseguir menos caudal la alimentamos con menos voltaje.

Lista de materiales prototipo "BricoLabs"

Pinado

Pin ESP32FunciónPin dispositivo
3V3LCD PowerLCD VCC
3V3LCD Back lightLCD BLK
GNDLCD PowerLCD GND
18LCD SPI clockLCD SCK
23LCD SPI dataLCD SDA
2LCD SPI Data CommandLCD DC
4LCD ResetLCD RES
3V3CO2 Sensor PowerLCD VCC
GNDCO2 Sensor PowerLCD GND
16CO2 Sensor TXSensor TX
17CO2 Sensor RXSensor RX


Equipo

Recursos externos del proyecto

Enlaces de interés

Agradecimientos

Gas Sensing Solutions UK por proporcionarnos de manera gratuita un sensor para este proyecto.
Om Prakash Singh por su investigación en instrumentación médica low cost y su ayuda personal.
A todos los miembros del grupo de Telegram CoronavirusMakers Capnógrafo por todas sus contribuciones

proyectos/capnografo_covid19.txt · Última modificación: 2021/04/16 20:41 (editor externo)