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?
Respostas:
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.
ATmega328P: Ao invés de usar
delay
para o sincronismo e girando emloop
indefinidamente 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.
fonte
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.
fonte
Outra opção é procurar um hardware (Arduino Clone) projetado para isso, como esta placa: https://bitbucket.org/talk2/whisper-node-avr/overview
Combinando esse hardware com técnicas de código de economia de energia, você poderá executar projetos por muito tempo com baterias!
fonte