Pulsioxímetro casero V1

Bueno, ya ha llegado el momento de ir desarrollando el pulsioxímetro casero que tenía prometido. Para conocer la teoría sobre éste, me remito a la entrada pulsioximetría.

Dicho esto ya sabréis más o menos de dónde proviene la señal, cómo se mide y cómo se procesa. No se menciona en ningún punto las características de la señal porque:

  • En amplitud no va a estar claro por el hecho de que dependerá de la intensidad de los LED y de la sensibilidad del fotodiodo receptor. Lo ideal es que se tenga una ganancia conocida para poder conocer el valor de la señal a la entrada, ya sea fija o variable (potenciómetros digitales), pero eso lo dejaré para la siguiente versión. En esta pondremos un potenciómetro de precisión y ajustaremos según se visualice la señal.
  • En frecuencia dicen algunas fuentes (no todas se ponen de acuerdo) que de 0.5 a 5 Hz está el fotopletismograma. Yo soy más fan de poner el corte superior a 15 Hz. En el inferior, la idea es no filtrar y dejar los offset "naturales", que aunque son bastante grandes nos interesan para tomar la señal con un ADC típico como los de un Arduino, PIC, ARM, ... Claro que hay que poner un ajuste de offset. Cualquier otra cosa ya lo dejaría a los filtros digitales, por comodidad. Así los componentes son asequibles.

Veréis, la intención de esta primera versión no es conseguir medir algo similar al SpO2, sino hacer una aproximación al circuito analógico y conseguir medir el fotopletismograma con cierta calidad. Después, el circuito analógico se puede reutilizar y mejorar. Si todo saliese muy bien haría un encargo de PCBs a los chinos para tenerlo bonito.

Compré unos LED SMD para esto. Yo que puedo voy a usar el color verde. Mi intención es soldar el LED y el sensor cerquita (pero no mucho) en una placa y colocar el dedo encima de ambos. Por eso es SMD, porque es plano y será más cómodo poner el dedo. La historia aquí va a ser la dificultad de soldar el LED, pero como ya tengo algo de experiencia me apañaré en el asunto, si no os veis bien con esto, probáis con un LED normal y corriente o de 3 mm de diámetro, que son más pequeños, y levantar un poquito el sensor para no clavaros la punta del LED y que encima el dedo se quede mal colocado. En la V2 es casi seguro que acabaré con algo así, si no encuentro un SMD infrarrojo a un precio asequible.

Entre otros asuntos también quiero probar a hacer una fuente de corriente constante para el LED, a ver si así emite más o menos siempre a la misma intensidad.

En cuanto a la alimentación, ahí viene la mayor de las risas en cuanto a diseño. Me gustaría que la entrada ADC fuese a 3.3 V máximo, para poder aprovechar el mayor rango posible de microcontroladores del mercado, y ya de paso que funcione a pilas. Tengo unos portapilas de 2xAAA, convertidores boost de 1-4 a 5 voltios e inversores DC MAX1044. Ya veremos si lo uso todo, pero por ejemplo si queréis un máximo de 5 V aconsejaría usar el convertidor boost, que en principio yo lo quería para estabilizar la tensión de las pilas cuando empezase a caer por desgaste.

Vamos entonces por etapas: corriente constante en los LED, fotodiodo, convertidor corriente-tensión, ajuste de offset y ganancia, filtro paso bajo y ya el ADC.

Corriente constante

Para conseguir esto estaría bien usar el "ring of two", cuyo circuito es:

En la izquierda se usan dos diodos para referenciar, y en la derecha un transistor. La corriente Ic se calcula fácilmente Ic = 0.7/Re, con lo que para conseguir 20 mA se puede poner una resistencia de 35 Ω. Rb depende de la tensión de alimentación y podría valer entre 1 y 10 kΩ. Tampoco está muy claro eso de que la tensión en Re sea de 0.7V, depende de la tensión base-emisor del transistor. Supuestamente no debería ser demasiado dependiente de la tensión de alimentación.

Fotodiodo

Tengo unos bpw34 cuyo espectro de sensibilidad es el siguiente:

Parecen ser muy bien para el infrarrojo de 940 nm y relativamente bien para el rojo de 660 nm, mientras que presenta una baja sensibilidad (aprox 0.25) para el verde (aprox 510 nm). Bueno, el caso es que van polarizados en inversa.

Convertidor corriente-tensión

Aquí espero usar un convertidor de transimpedancia, simple como:

 Simplified transimpedance amplifier

Como la corriente inversa máxima por el fotodiodo va a ser de 50 μA, voy a probar primero con una resistencia Rf de 100 kΩ, si está muy bajito se puede subir sin muchos problemas, en el prototipo. Dicen que puede presentar oscilaciones, si eso ocurre espero poder verlo sólo por curiosidad, y se soluciona con algún condensador en la realimentación de valor previo cálculo.

Ganancia y offset

Se supone que en este punto me sobran 3 amplificadores operacionales, así que echando balones fuera voy a hacer el circuito más estúpidamente simple que hay, eso sí, es muy seguro.

 

 

Aquí la salida es la señal multiplicada por la ganancia, MENOS el offset dividido por el potenciómetro multiplicado por la ganancia.

Out = G(S-a*Vp)

Filtro paso bajo

Pues un filtro paso bajo normal y corriente. Quisiera probar el orden 1 y el 2, a ver las diferencias, que no deberían ser muchas. Para ajustar a unos 15 Hz, vale con unas resistencias de 100 kΩ y unos condensadores de 100 nF.

ADC

Hoy en día podemos usar tranquilamente cualquier ADC integrado en el microcontrolador, entre 8 y 12 bits irá perfectamente. Habrá que cuidar el rango de tensión.

Al final el circuito queda así:

El diodo D1 está ahí por la intención de proteger el ADC de posibles tensiones negativas al desajustar el offset/ganancia.

Primeros resultados

El circuito no está funcionando como debería. He tenido que hacer alguna pequeña modificación sobre la marcha, que editaré en su momento cuando esté plenamente funcional.

Descubrí que darle al LED 20 mA es realmente excesivo, el brillo es cegador y refleja demasiado sobre la piel, con su correspondiente reflejo en la respuesta del fotodiodo. Con unos 7-8 mA basta.

El problema principal lo tengo con los potenciómetros de ganancia y offset, que se comportan de una forma que no logro explicar, y quiero averiguar el por qué antes de desmontarlo y volverlo a montar.

Aún así he conseguido algunos resultados.

Segundos resultados

He modificado la resistencia del primer amplificador a 1 MΩ. También he modificado el circuito de ganancia y offset para que "deje de hacer cosas raras". Tal como esperaba, el offset y la ganancia se conjugan de tal forma que la señal satura por cualquier lado enseguida, resulta muy inestable. Otro problema que he visto, tal como está en la imagen de encima, es que el offset tiende a permanecer subiendo. Para solucionar las dos cosas molaría usar potenciómetros digitales y probar con un circuito adaptativo, pero eso no ocurrirá todavía. El resultado es el mismo que antes, pero la señal AC tiene más amplitud, he conseguido llevarla estable hasta 1 V pico a pico, aunque con cualquier movimiento se pierde.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *