El CR2477 tiene más de 3 veces la capacidad del CR2302, por lo que parece una batería ideal para su proyecto. Puede extraer muchos mA de la batería si está dispuesto a sacrificar tiempos de uso prolongados.
Aunque esté midiendo los parpadeos, parece que aún sería posible usar un modo de suspensión para su MCU y apagar el LED en el OPR5005 para reducir el consumo de energía.
Si saliera del modo de espera de la MCU a varios cientos de Hz, mida el estado de apertura / cierre del párpado (quizás no más de 50-100 a tiempo) y vuelva a dormir, es posible que pueda reducir su energía en casi 100: 1 .
Si caracteriza el par de LED / fototransistor, puede encontrar con mayor precisión la corriente que necesita para ejecutar el LED en. Quizás esto pueda estar más cerca de 10 mA que de 20 mA (y cualquier ganancia vale la pena).
Para lidiar con la corriente de pulso extraída de la batería, todo lo que necesita es un condensador de gran valor a través de ella. La batería mantiene el condensador completamente cargado y suministrará corriente más allá del uso de 1 mA para medir la longevidad de la carga.
Como ejemplo, la gente usa CR2302 con un LED atado directamente a través de ellos y obtiene una duración de 10 horas a pesar de que es un grave abuso de la batería.
Su consumo de energía es esencialmente una corriente constante cuando está encendido (dominado por el LED), por lo que puede usar una forma de descarga CC simple como dV = (I * t) / C para calcular el cambio en el voltaje del terminal (aquí I Simplemente estoy ignorando la corriente de la batería, y las condiciones iniciales están completamente cargadas C).
Entonces, para un MCU / LED en un tiempo de 1 ms y un cambio de voltaje en el terminal de, por ejemplo, 0,2 V a 20 mA, necesita un mínimo de 100 uf. Colocaría el condensador de mayor valor que pueda en su batería dado su espacio limitado.
Supongo que en todo esto desea transferir los datos desde la plataforma de medición (¿montada en la cabeza?) a su PC. Pasar la mayor parte de su tiempo de MCU en reposo probablemente signifique perder su conexión de BT, pero quizás pueda almacenar los datos de forma local durante la mayor parte del tiempo. En ocasiones, puede salir de la suspensión y encender la conexión de BT para transferir datos.
Sé que no son los componentes elegidos, pero me sentiría tentado a usar un NRF24L01 + en modo ráfaga para transferir datos. Estos son fáciles de inicializar y proporcionan un enlace confiable (retransmitir) sin necesidad de protocolos orientados a la conexión.
Para la MCU, un pequeño ATTiny85 podría ser suficiente, aunque no tengo idea de cuánto código necesita ejecutar en su MCU.
Actualizar desde la edición de la pregunta ....
Un intento mucho mejor en un circuito viable.
-
C13 debe ser de 100 uf como mínimo con una serie R de aproximadamente 270 ohmios. Esto asegurará que el Vbatt no se mantenga presionado o aumente demasiado lentamente durante el encendido inicial.
La tapa tardará menos de 100 ms en cargarse a un nivel de voltaje adecuado, pero estará en este nivel durante el resto del tiempo de encendido.
Podría ser aún más creativo y reducir la resistencia de la serie con otro TPS22860 una vez que se cargue la tapa y después de que se inicie la inicialización si se sentía inclinado (esto compartiría la corriente del sensor más con el suministro que de otra manera).
-
Conecte el colector del sensor al GPIO sensor con su resistencia de pull-up y conecte el emisor a tierra. No necesita ser alimentado como un seguidor de emisor, y no necesita estar apagado.
-
El OPR5005 no tiene que estar encendido por más de 500, como máximo.
Supongamos que usted sale del sueño cada 10 ms (100 Hz), encienda el sensor durante aproximadamente 50 -100, detecte el estado del párpado.
Si el párpado está cerrado, puede dormir durante unos 5 ms, o al menos apagar el sensor durante 5 ms.
El siguiente encendido o reactivación del sensor vuelve a ser igual. Si el párpado está abierto (después de haberlo cerrado), vuelva al estado de suspensión de 10 ms.
simular este circuito : esquema creado usando CircuitLab
Tienes un interruptor para apagar / encender tu unidad (no la mostré aquí). Con 100 uf directos a través del suministro de la batería y una alta resistencia de salida (relativamente) de la batería, la capacitancia es suficiente para hacer que la tensión de alimentación aumente lentamente.
En el extremo (ya que la batería se consume y la resistencia interna aumenta), esto puede ser suficiente para que la MCU se comporte mal en el encendido.
Si ambos interruptores están apagados en el encendido, la corriente para cargar la tapa es a través de la resistencia R1. Cuando la tapa está completamente cargada (¿podría usar el A / D para probarlo quizás?) Luego encienda el primer interruptor, U1. Ahora, cuando enciende el segundo interruptor (U2), la resistencia R1 está cortocircuitada (por U1) para compartir la corriente del sensor desde la tapa y la batería.