Maximize a vida útil da bateria para registradores de dados baseados em ATmega328P – Power Arduino por um ano em uma bateria de 2400mAH

Tempo de leitura: 3 minutes

Pesquisadores da Newcastle University apresentaram um novo método para maximizar a vida útil da bateria do circuito do microcontrolador Atmega328P para sistemas de registro de dados ambientais. A ideia era pesquisar os melhores métodos possíveis para minimizar o consumo atual do Arduino (microcontrolador ATmega328P) ao registrar dados em um cartão SD. Pela primeira vez, o consumo de energia exato do Arduino durante os eventos do cartão SD foi analisado e leva até 200 ms com picos de corrente de até 80 mA para cada inicialização. A nova técnica apresentada aqui usa inicialização e tempo adequados de eventos de salvamento em SD junto com um MOSFET para gravar valores no cartão SD da maneira mais eficiente possível. Verificou-se que o Atmega328P pode funcionar por um ano com uma bateria de 2400mAH ao registrar dados uma vez a cada dois segundos.

O consumo de energia foi medido e comparado entre três tipos de circuitos, ou seja, a placa Arduino UNO clássica foi comparada com a do ATmega328P nua rodando em 5V a 16MHz e em 3,3V a 8MHz. O sorteio atual do circuito foi determinado usando um script que possui a seguinte seqüência.

  1. Configurar pinos de entrada / saída (IO)
  2. Ligar LED
  3. Espere 1 segundo
  4. Desligue o LED
  5. Espere 1 segundo
  6. Vá dormir

A corrente foi medida nas etapas 5 e 6. Os pesquisadores também desativaram as entradas digitais, ADC e detecção de Brown out (BOD) para verificar a mudança no consumo de corrente. Os resultados são apresentados no gráfico a seguir.

Corrente retirada da fonte de alimentação do Arduino UNO (∘), Atmega328P a 5 V a 16 MHz () e do Atmega328P a 3,3 V a 8 MHz () durante o modo de espera (esquerda) e modo de espera “desligamento” (direito).

A partir deste conjunto experimental, o artigo conclui que “pode ser visto que definir os pinos IO não tem efeito sobre o consumo de corrente no modo de espera, mas desabilitar o BOD e o ADC reduz o consumo de corrente em 2 e 3 ordens de magnitude para o Atmega328P . Para o Arduino UNO, o vazamento parasita dos componentes discretos pode ser visto claramente. Mesmo quando todos os vários modos de espera são combinados, a corrente de saída mínima alcançável é limitada a 28 mA. Em contraste, ao combinar todas as técnicas de economia de energia, a corrente de sono mínima alcançável para o microcontrolador Atmega328P foi medida em 120 e 97 nA respectivamente, o que é ideal para aplicações de bateria”

Da mesma forma, para a mesma configuração, o consumo de energia dos eventos do cartão SD também foi medido quando o script do Arduino estava executando a seguinte sequência:

  1. Configure IO, RTC e inicialize o cartão SD
  2. Comece o loop principal:
    1. Leia a tensão em analogPin A0
    2. Salvar dados no cartão SD
    3. Vá dormir

A tensão transitória e a corrente transitória foram medidas para todos os três circuitos, usando os quais o artigo conclui que “há um claro atraso incorrido ao operar o microcontrolador a 8 MHz em oposição a 16 MHz. Os dispositivos de 16 MHz levam de 9 a 10 ms para completar a gravação no cartão SD, enquanto o dispositivo de 8 MHz leva 15 ms. Além da gravação no cartão SD, pode-se ver que há um atraso maior entre a borda descendente do gatilho RTC e a borda descendente do CS. Isso é esperado, já que o microcontrolador está funcionando na metade da velocidade do clock.

Observando as formas de onda da corrente transitória, as diferenças no consumo de corrente entre os três circuitos podem ser vistas claramente. Durante a fase de gravação, tanto o UNO quanto o Atmega328P consomem perto de 80 mA no pico, enquanto o Atmega328P operando a 3,3 V a 8 MHz consome 55 mA no pico. Além do consumo de corrente durante a fase de gravação SD, a vantagem de passar do UNO para o Atmega328P também está indicada nos dados. Embora o UNO tenha um dos tempos de gravação mais curtos, o nível de corrente permanece em 33 mA mesmo quando o dispositivo entra no modo de hibernação. Por outro lado, mesmo com a introdução do leitor de cartão SD, o Atmega328P a 5 V a 16 MHz e 3,3 V a 8 MHz tem correntes de sono de 0,8 e 0,75 mA, respectivamente.”

Para gráficos e explicações mais detalhados, você pode verificar o artigo de pesquisa do IEEE.