nRF24L01 + RX en operación pulsada para ahorrar energía?

3

Estoy considerando construir un receptor de radio portátil basado en un nRF24L01 + y un chip ATtiny. Necesita recibir "continuamente", para recibir una señal de control que pueda operar algunos LEDs conectados o hacer un tono desde el controlador PWM. Sin embargo, debido a los problemas de energía de ser operado por batería, me pregunto si tiene sentido operar la recepción en pulsos, en lugar de hacerlo continuamente.

Por ejemplo, podría tener el receptor habilitado solo 1 ms, cada 20 ms, lo que reduce su requisito de energía a aproximadamente el 5% (con un leve impacto en la ejecución de un temporizador para realizar esto, pero eso sigue siendo un ahorro neto general ). Esto da una latencia en el peor de los casos al recibir una señal a aproximadamente 20 ms, lo cual está bien para mi propósito de controlar un LED. Esto significa que el transmisor debe ejecutar una estrategia de algo así como transmitir un paquete cada 500uSec por 25 ms, pero está bien porque este transmisor está alimentado por la red, por lo que no existe tal preocupación de alcanzar una potencia baja.

¿Es este un plan sensato? ¿Es probable que logre un buen ahorro de energía con una estrategia de este tipo, con el costo adicional de la complejidad del código en el ATtiny, y la congestión en el aire agregada al transmitir el mismo paquete 50 hasta la fecha?

(Consulte también mi pregunta relacionada ¿Cómo funciona el nRF24L01 + degradación del rendimiento con la tensión de alimentación? )

    
pregunta LeoNerd

1 respuesta

3

Observe cuánto está consumiendo el módulo ahora. Si consume una fracción de la potencia total del sistema, puede que no sea viable.

Compruebe si puede deshabilitar TX del receptor para ahorrar algo de energía. Ejecute el MCU usando el watchdog para que se despierte, haga el trabajo y vuelva a dormir.

Para sincronizar la comunicación, envíe un paquete de solicitud desde el receptor al transmisor para cada actualización. De esa manera, no transmitirá cuando el receptor esté fuera de línea y espere paquetes de prueba y de éxito; El receptor controla el flujo. Al cambiar la frecuencia de las solicitudes, usted controla la frecuencia de las actualizaciones y el consumo de energía.

Por lo tanto, de la manera más óptima, use el temporizador de vigilancia para reactivar la MCU. Después de la activación, habilite el módulo receptor (tanto RX como TX si pueden controlarse por separado). Enviar un paquete de solicitud. Espere el paquete con un tiempo de espera. Si se recibe un paquete antes del tiempo de espera, utilícelo para la actualización y el reposo. Si se agota el tiempo de espera, duerme.

    
respondido por el nvd

Lea otras preguntas en las etiquetas