Estou procurando criar um indicador de duração da bateria que possa ser usado em conjunto com um microcontrolador. Espero poder ler a vida útil restante da bateria atual e colocar cada vez mais o microcontrolador em suspensão para preservar a vida útil da bateria.
microcontroller
sleep
indicator
low-battery
littlebirdceo
fonte
fonte
Respostas:
Para a questão principal, sobre como medir a tensão de uma bateria, o método mais simples é usar um dos pinos ADC no arduino.
Se você estiver fornecendo 5v da bateria (improvável), poderá executar o + direto para um dos pinos analógicos e usar analogRead () - cada incremento no valor (de 0 a 1023) representará 4,9 mV. Portanto, multiplique o valor de leitura por 0,0049 para obter a leitura dos volts.
Se você estiver executando acima de 5v (mais provável), poderá usar um circuito divisor de tensão (consulte: http://en.wikipedia.org/wiki/Voltage_divider ) para aumentar a tensão que você está enviando para a entrada analógica. <= 5v. Se você estiver rodando 12V, convém dividir a tensão em aproximadamente 1/3. Depois de multiplicar o valor ADC, multiplique por 3 para obter a tensão real.
Portanto, se estiver usando 12V e um divisor de 1/3 de tensão:
! c
fonte
O tinker.it publicou um medidor de nível de tensão "secreto" no Atmega168 / atmega328. Com um pequeno truque, o Arduino pode comparar o VCC com uma referência de precisão interna de 1.1v. A explicação e o código estão aqui: https://provideyourown.com/2012/secret-arduino-voltmeter-measure-battery-voltage/
fonte
A sugestão do shutterdrone é muito boa, mas falta um detalhe, pois implica que a referência de tensão analógica é a mesma que a tensão que está sendo medida (além de supor que um Arduino esteja sendo usado, o que não é explicitamente declarado).
Você precisará de um ADC, seja parte integrante do seu uC ou de um componente externo. O ADC precisa de uma referência de tensão analógica (ARef) para comparar a entrada. Você não deseja que o ARef seja o mesmo que a tensão que você está sentindo, porque o ADC sempre verá as tensões de entrada e de referência como iguais, portanto o valor analógico da tensão detectada será sempre o máximo. O que você precisa é de uma referência de tensão analógica muito precisa que não seja alterada à medida que a tensão da fonte de alimentação for alterada. O ADC comparará essa tensão de referência com a tensão da bateria; você pode usar um divisor de voltagem para reduzir a voltagem da bateria detectada no alcance do ARef.
O Arduino (Atmega8 / 168/328 / etc.) Possui um ADC interno e uma referência analógica de 1.1V integrada, portanto, os únicos componentes externos necessários são resistores para o divisor de tensão. Eu acho que você também gostaria de usar valores muito altos para os resistores para reduzir o consumo de corrente da bateria.
fonte