Arduino alimentado por bateria de 9V


16

Ontem à tarde, deixei meu Arduino funcionando com uma bateria alcalina de 9V nova (+ conectada a Vin, - conectada a GND). Hoje de manhã (16 horas depois), a tela LCD não estava mais visível e, quando medi a volatilidade, vi que a bateria estava descarregada para minha surpresa - sua tensão ociosa era de apenas 7 V.

Meu dispositivo é o Arduino Uno com LCD 2x16 com retroiluminação LCD e 2 sensores DS18B20. É normal que esse dispositivo esgote a bateria de 9V tão rápido?

Li uma resposta para Quais são (ou como uso) as opções de economia de energia do Arduino para prolongar a vida da bateria? pergunta e acho que o que vejo pode estar relacionado a isso, porém não tenho certeza. Se for, existem alguns esquemas comuns de como conectar o Arduino a uma bateria de forma eficiente?


Eu tentaria conectar um multímetro e medir a corrente da bateria com tudo e com a tela e os sensores desconectados. Não tente otimizar o arduino se for algo que está puxando a maior parte do poder.
precisa saber é o seguinte

@bowlofred "medindo a corrente da bateria" - Tudo bem, preciso comprar uma nova célula de 9V primeiro. :)
Suma

1
As baterias de 9V são pequenas, apenas cerca de 500mAh. Somente a luz de fundo do LCD a matará em poucas horas.
hobbs

Abordagem mais radical para economizar energia: 1. Usando a placa TI MSP430 em vez do Arduino; 2. Usando regulador não linear; 3. Usando o LCD sem luz de fundo (como em uma calculadora).
Vi.

@bowlofred A corrente total é de 61 mA. Sem luz de fundo, é de 57 mA, sem LCD e sem sensores, é de 56 mA.
Suma

Respostas:


21

Consumo de energia

As placas Arduino usam bastante poder em comparação com outros sistemas embarcados com funcionalidade semelhante.

Existem três fatores principais:

  • O regulador linear de 5V NCP1117 ( datasheet ) no Arduino UNO R3 ( esquemático ) tem uma corrente de repouso de cerca de 6mA.

  • O ATMega328P ( datasheet ) consome cerca de 5mA a 8MHz e 5V, e provavelmente mais do que o dobro a 16MHz.

  • user2973: O ATMega16U2 usado para comunicações USB também consome aproximadamente 13mA.

LEDs e outros periféricos também consomem alguma corrente. No seu circuito, a luz de fundo do LCD provavelmente também está consumindo 4mA.

Ao reduzir 9V para 5V através de um regulador linear, quase metade da energia é perdida pelo regulador devido à sua queda de 4V. Duncan comenta que isso quase dobra o consumo de energia inativo de 9V, bem como a energia necessária para cada mA de 5V, uma vez que 4/9 da energia é desperdiçada como calor pelo regulador de tensão. Um regulador de comutação eficiente usaria 5V com pouca energia desperdiçada, reduzindo efetivamente o consumo de corrente visto pela bateria em 4 / 9ths.

Uma bateria duracell 9V ( folha de dados ) cai de 9V para 7V em cerca de 7,5 horas com um consumo de corrente de 50mA. Portanto, um palpite aproximado é que o seu circuito consome cerca de 25mA, o que soa correto com base na descrição do seu circuito.

Observe que a vida útil da bateria alcalina não é linear em relação à corrente. Para correntes muito pequenas (<1mA), a vida útil de um alcalino se aproxima da vida útil de uma bateria de lítio.

Diminuindo a corrente

Aqui estão algumas dicas para reduzir o consumo atual:

  • Regulador: Substitua o regulador por um com baixa corrente inativa, ou melhor ainda, por um regulador de comutação (também com baixa corrente inativa). Um regulador de comutação usa 'pulsos' de corrente e alguns indutores e capacitores externos para fornecer uma saída de tensão constante razoável. Não desperdiça energia, como com a queda de tensão do regulador linear e a eficiência nos altos 90% é possível.

    • Existem conversores buck (step down) que recebem a bateria como entrada e depois se conectam diretamente a 5V e GND, ignorando o VIN e o regulador. Este da Pololu sobe e desce e possui corrente de repouso de 0,1mA.
    • Como alternativa, você pode usar algumas pilhas alcalinas de 1,5V e um conversor de aumento (intensificador) para aumentar a tensão em 5V (por exemplo, este produto da Sparkfun). Parece que os conversores de impulso são mais comumente estocados.
    • Por fim, você pode comprar uma bateria de lítio recarregável com blindagem de carregamento. Essa vantagem é não ter que comprar baterias novas e, para um pouquinho maior que uma bateria de 9V, a de lítio tem uma capacidade muito maior. Um produto muito legal é o kit à prova d'água seeeduino stalker, que inclui um circuito de carregamento, bateria, painel solar e outros itens.
  • ATmega328P: Ao invés de usar delaypara o sincronismo e girando em loopindefinidamente esperando que algo aconteça, re-escrever o seu código para que ele vai dormir em entre o sensor lê, etc. Existem algumas bibliotecas de baixa potência lá fora, que usam o watchdog timer para despertar periódico do sono, que são úteis. Você pode obter o consumo atual do ATMega328P abaixo de 0,1mA durante o sono.

  • LCD: desligue a luz de fundo ou até o LCD inteiro. Adicione um botão ao design que o usuário possa pressionar para ativar o LCD e desligá-lo após um período determinado de inatividade.

  • Periféricos: a maioria dos chips periféricos também possui um modo de suspensão que reduz drasticamente o consumo de energia. Remova os LEDs de energia e outros indicadores que não são necessários.

  • ATMegu16U2: user2973 comentários Parece que este chip está consumindo muita energia ( user2973 ). Ele pode ser removido para economizar energia e, em vez disso, basta usar o UART, mas isso parece um exagero. Existem placas Arduino Pro que são apenas o Arduino básico sem a interface USB que poderia ser usada em vez da UNO.

  • Baterias: Outras células alcalinas têm uma capacidade muito maior. Por exemplo, um 1.5V AA tem mais de 2000mAh para correntes baixas. O uso de células AA mais um conversor de impulso pode aumentar o tempo antes da substituição da bateria. Use células D (16000mAh) e ele funcionará por um bom tempo. : D

Sumário

Com a fonte de alimentação e a codificação adequadas, você pode obter uma quantidade razoável de vida útil da bateria. Usando os princípios acima, criei uma placa derivada do Arduino que mede alguns sensores e armazena as leituras em um cartão SD a cada meio segundo. Pode durar cerca de 4 meses com 2 pilhas AA, por isso é definitivamente possível ter pouca energia e permanecer no ecossistema do Arduino.

O chip que usei para a baixa potência na minha placa é o LTC3525-3.3V. Leva uma tensão de entrada tão baixa quanto 0.8V e aumenta até 3.3V e uma versão de 5V também está disponível. Eu projetei uma placa de circuito impresso para este chip, pois não havia fuga pronta e, na folha de dados, existem projetos de referência. O principal critério para a escolha desse chip foi que ele ainda possuía alta eficiência em correntes muito baixas. Alguns outros conversores precisam de um pequeno consumo mínimo de corrente.

O maior consumidor de energia da placa acabou sendo o cartão micro SD. Pode variar entre 0,1mA e 1,5mA de corrente inativa, dependendo do fabricante. Encontrei cartões Verbatim e Lexar para consumir a menor quantidade de energia. Vou fazer esta pergunta EE.SE atualizada com os resultados dos testes de consumo de energia do meu cartão micro SD.


1
Boa resposta completa. Nota: o consumo de energia do usb para serial atmega16u2, que será muito significativo depois de resolver os outros problemas.
user2973

@ user2973 você tem uma idéia do que pode ser? Posso tirar as características típicas da folha de dados, mas não a coloquei, pois não sei se o firmware está com algum conteúdo adormecido. Se estiver funcionando normalmente, é de 12mA a 5V, o que é um empate significativo.
geometrikal

@geometrikal, como você alimenta um Arduino com 2 pilhas AA? Isso é apenas 3 volts, o que está abaixo do mínimo. A fonte de alimentação que você mencionou é uma fonte buck / boost? (Resposta destacada da maneira <votada>.) #
224 Duncan C

1
@geometrikal, você se importaria de postar um link para uma das fontes de alimentação que você mencionou, como a do SparkFun? Acabei de pesquisar e não consigo encontrá-lo. Para uma vida útil prolongada, um suprimento do tipo buck parece crítico, pois a corrente inativa de um regulador de tensão convencional é significativa.
Duncan C

1
@geometrikal, você disse "... Além disso, ao reduzir 9V para 5V por meio de um regulador linear, quase toda a energia é perdida pelo regulador devido à sua queda em 4V". Isso quase o dobro da potência inativa de 9V, assim como a energia necessária para cada mA de 5V? (. Desde 4 / 9ths do poder é desperdiçada na forma de calor pelo regulador de tensão) Parece que executá-lo fora de um conversor buck como um TSR 1-2450 seria melhor
Duncan C

3

Eu acho que um Arduino Uno não é adequado para esses projetos. Alguns componentes no quadro consomem muitos amplificadores, como @geometrikal aponta corretamente. Se você estiver enfrentando um desafio, eu o aconselharia a levar o seu projeto para outro nível e se tornar um barebone.

O Sparkfun tem um bom artigo sobre como aumentar a vida útil da bateria, usando um ATmega328 que você também possui no seu Arduino Uno: https://www.sparkfun.com/tutorials/309

Procure maneiras de criar um circuito apenas com os componentes que você realmente precisa e faça com que seu microcontrolador durma o máximo possível.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.