Interruptor de encendido con un solo botón y selector de modo

0

Actualmente estoy creando un proyecto integrado y me gustaría saber qué piensan ustedes que es la mejor manera de proceder.

Mi configuración más básica es un ATMEGA328P, un simple botón pulsador momentáneo, un 2500mAh 18650 y un anillo de 11 LED ejecutado por un WS2812.

Estoy usando la biblioteca FastLED para ejecutar el WS2812. Solo puedo tener un botón al que se le asignarán las funciones de encendido y modo (alternar entre 10 ajustes preestablecidos almacenados). La pulsación larga es encendido / apagado y la pulsación corta es el modo siguiente. ¿Sería apropiado colocar el ATMEGA328 en SLEEP_MODE_PWR_DOWN, apagar el BOD y el ADC, y dejarlo dormir esperando la interrupción del botón? Si se trata de un pedido del orden de 150 nA (que he visto en mi investigación), creo que esta sería una forma muy aceptable de proceder. Solo usaría un MOSFET de canal P activado por el ATMEGA328 para suministrar energía al anillo LED accionado por WS2812.

¿Hay otra y mejor manera de hacer esto? ¿Es un mal principio de diseño no tener una forma de cortar la energía del procesador en caso de que algo salga mal? (La batería será interna y no extraíble).

¡Gracias!

    
pregunta Eric

1 respuesta

0

Tu forma de pensar parece estar bien.

Recuerde que la tasa de auto descarga de la celda de Li-Ion es aproximadamente del 10% / mes, por lo que esto dominará su cálculo actual. Puede ser el equivalente a una corriente continua de 300-500 nA, por lo que luchar para obtener la corriente cada vez más baja puede no ayudarle mucho en términos de vida útil de la batería. Puede encontrar esta discusión útil.

Si está utilizando un interruptor Pchan para alimentar su WS2812b, asegúrese de configurar el puerto de salida para que ingrese a una entrada con un '1' en el registro de salida antes de dormir profundamente. Debería hacer lo mismo con el pin que controla la línea de datos WS2812b.

No hay nada de malo en dormir y esperar una interrupción de cambio de pin, recuerde medir el voltaje de la batería cuando vuelva a encenderla, ya que el WS2812b no funcionará por debajo de 3.5 V, por lo que necesita detectar este umbral crítico.

    
respondido por el Jack Creasey

Lea otras preguntas en las etiquetas