Indicador de falha de energia em NRF24LE1
Hoje em dia a maioria dos nossos dispositivos são portáteis e funcionam com baterias. Muitas vezes não sabemos quando a bateria está prestes a descarregar. Muitos sistemas possuem o display de voltagem da bateria para indicar a voltagem da bateria, mas e se não tivermos o display em nosso sistema. Nesse caso, usar um pequeno LED para indicar bateria fraca é muito útil para os usuários saberem sobre o status da bateria.
Neste artigo, discutiremos um recurso muito importante do NR24LE1 que permite o indicador de falha de energia.

Fig. 1: Protótipo de indicador de falha de energia baseado em NRF24LE1
O módulo NRF vem com um comparador embutido conhecido como Comparador de Falha de Energia (POF). Este comparador fornece ao MCU (Unidade Microcontroladora) um aviso antecipado de falha de energia. O comparador compara VDD (tensão de alimentação) e tensão limite. Ele emite um aviso quando a tensão do VDD cai abaixo de um nível limite. Sabemos que o nível limite é um nível de tensão que pode ser definido pelo usuário conforme a necessidade. Existem quatro níveis de limite oferecidos pelo módulo NRF: 2,1, 2,3, 2,4 e 2,5V.
O registro através do qual podemos acessar a funcionalidade é o registro POFCON (Power Failure Control). É um registro de 8 bits. As funções de vários bits do registro são fornecidas abaixo:
• Bit 7 – habilita/desabilita comparador POF. 0: desabilitar, 1: habilitar
• Bit 6:5 – definir nível limite. 00: 2,1 V, 01: 2,3 V, 10: 2,5 V, 11: 2,7 V
• Bit 4 – aviso. 0: VDD acima do limite, 1: VDD abaixo do limite

| FUNÇÃO | PARÂMETRO DE ENTRADA | SAÍDA | DESCRIÇÃO |
|---|---|---|---|
| hal_pof_enable | 0/1 | – | Para habilitar o POF
0: Desativar 1: Habilitar |
| hal_pof_set_threshold | HAL_POF_THRESHOLD_2_1V
HAL_POF_THRESHOLD_2_3V HAL_POF_THRESHOLD_2_5V HAL_POF_THRESHOLD_2_7V |
– | Para definir o nível limite:
2,1 V, 2,3 V, 2,5 V ou 2,7 V |
| hal_pof_warning | – | 0/1 | Para verificar o aviso POF
0 – Sem aviso 1 – Aviso |
Código fonte do projeto
###
#include"reg24le1.h" // I/O header file for NRF24LE1 // main function void main { POFCON = 0xe0; // POF enable with threshold at 2.7V P0DIR = 0; // set PORT0 as output P0 = 1; // Port 0 high // infinite loop while(1) { if(POFCON & 0x10) // check for warning P00 = 0; // make Pin 0 of Port 0 low } } ###
Diagramas de circuito
| Diagrama de circuito-indicador de falha de energia baseado em NRF24LE1 | ![]() |
Vídeo do projeto
