Como medir pequenas quantidades pontuais de corrente?


13

Vamos supor que eu tenho um microcontrolador com uma certa quantidade de periféricos conectados e gostaria de poder fazer uma estimativa razoável da vida útil da bateria. Como posso dormir algumas vezes e vários periféricos estariam em estados diferentes, meu consumo atual pode variar entre uA (no modo de suspensão) e cerca de 10s de mA (quando acordado).

Agora, eu poderia conectar uma bateria e deixá-la esgotar e medir o tempo, mas isso torna demorado e difícil (e possivelmente caro) comparar abordagens diferentes, tanto no firmware quanto no hardware.

Eu poderia colocar um multímetro em série, mas mesmo se ele tiver registro de dados, isso ocorre em algum intervalo e eu teria que interpolar e poderia perder inteiramente variações menores que o intervalo. (Mais tensão de carga e tudo isso.)

Se meu dispositivo dorme o suficiente , a corrente desperta se torna um pouco insignificante, mas isso pode exigir uma proporção de 1000: 1 entre o tempo de sono e o tempo de vigília, o que não é provável em todos os modelos.

Existe algum dispositivo que integra a corrente ao longo do tempo em quantidades muito pequenas (por exemplo, não o medidor de saída Kill-a-watt)? Basicamente, estou interessado em saber que "durante a última hora, 20mAh foram consumidos". Pontos de bônus se eu puder obter medições de corrente de precisão a qualquer momento, para comparar o consumo de corrente acordado e adormecido.


3
@ Sparky256 do que você está falando? Uma taxa de amostragem de 10 kHz provavelmente seria suficiente aqui, supondo que haja capacitores de desacoplamento suficientes envolvidos. Digamos que estamos usando 16 bits por amostra, que gera apenas 20 kB por segundo. Qualquer micrococontrolador moderno de 16 ou 32 bits pode gravar isso em um cartão SD sem muita demora, e meu PC pode armazenar anos disso na RAM, no SSD ou no disco rígido. Esta não é a década de 1960! Até o 1MS / s de Vince é ... risível para quem trabalha com rádio definido por software.
Marcus Müller

5
@ Sparky256, tenho um sistema NI Labview de 16 canais que pode gravar 16 canais de leituras DAC de 16 bits a 200 ksps até que o disco rígido de 1 TB esteja cheio. É tudo sobre quanto dinheiro você deseja pagar.
Vince Patron

3
@ Sparky256 certamente, os cartões DAQ de marca são caros. Para esse propósito, um dispositivo muito simples faria - potencialmente até uma placa de som (com tampas de acoplamento em ponte) com uma referência de tensão no outro canal estéreo.
Marcus Müller

4
Com licença, mas a integração não precisa armazenar as amostras de corrente digitalizadas. É o suficiente para salvar a integral acumulada - uma soma. 1MSa / segundo ou 1Sa / segundo, um segundo tempo de integração ou uma semana, poucos bytes de memória são suficientes.
precisa saber é o seguinte

6
Eu não vi contadores Coulomb ninguém mencionar, que parecem como um não-má idéia nesta situação
BeB00

Respostas:


13

Bem, certamente existem CIs com detecção de corrente específicos. No seu caso, eu "simplesmente" usaria algo como:

  • Use um pequeno resistor em série (por exemplo, 0,5 Ω) entre a bateria e seus componentes eletrônicos.
  • Amplifique a tensão nesse resistor com um amplificador de instrumentação
  • Registre essa tensão, por exemplo, usando um ADC

Problemas:

  1. correntes baixas · baixa resistência = baixa tensão: sua precisão de medição será ruim devido ao ruído
  2. Como os microcontroladores acordam muito rápido e dormem igualmente rápido, sua taxa de amostragem ADC necessariamente precisa ser muito alta.

Mas, como princípio, isso funciona e é certamente viável (embora o projeto de um amplificador de instrumentação estável, de baixo ruído e alta amplificação possa não ser trivial; mas: existem CIs instr.amp existentes que facilitam muito isso).

Felizmente, seu problema é bastante comum. Portanto, muitos, incluindo a Texas Instruments, possuem um portfólio de amplificadores de detecção de corrente, alguns dos quais integram o resistor de derivação mencionado acima E uma interface digital. Consulte a lista de produtos da TI .

Na verdade, esses CIs são capazes de medir a corrente e a tensão de alimentação ao mesmo tempo - e isso é ótimo para medir a energia consumida, uma medida muito mais relevante para a vida útil da bateria do que a corrente consumida bruta, se houver elementos não lineares (por exemplo, , MCUs).

O INA233, por exemplo, pode ser conectado a um shunt externo (digamos, 0,3 Ω) e possui uma resolução de 2,5 µV por etapa ADC. Isso significa que uma única etapa ADC é I = U / R = 2,5 µV / 0,3 Ω = 8,333 µA em corrente.

Eu acho que esse dispositivo também possui um modo automático de amostragem e média, para que você possa facilmente obter boas aproximações, mesmo sob uma carga que muda rapidamente.

Além disso, como acabei de descobrir: a coisa tem um nível de "alerta", para que você possa ativar seu sistema de medição sempre que a corrente subir acima de um limite configurável. Agradável! Dessa forma, você só precisa provar ocasionalmente.


A necessidade de uma alta taxa de amostragem pode ser tratada alternadamente com um integrador analógico que é amostrado e redefinido a uma taxa mais baixa?
Phil Frost

Observe que nenhum fornecedor de bateria tem o mesmo vazamento, capacidade e efeito de camada dupla ou taxas ESR. Daí prever. Ah capacidade vs descarga atual é impossível generalizar. Ele deve ser testado, a menos que especificado precisamente pela folha de dados.
Tony Stewart Sunnyskyguy EE75

@PhilFrost Gosto dessa ideia, mas estou preocupado com as imprecisões que também integram! Mas tenho certeza de que isso, pelo menos em alguma escala, é viável!
Marcus Müller

7

Existe algum dispositivo que integra corrente ao longo do tempo em quantidades muito pequenas

Sim, existem vários; a mais antiga é uma célula de galvanoplastia (a massa de metal revestido representa as horas ampères) da patente Edison , e as células de eletrólise (acumulação de gás em um tubo capilar) foram usadas mais recentemente. Eles são exatamente equivalentes a analisar a bateria após um longo período de uso.

Atualmente, use a digitalização.

Se você espera flutuações mais rápidas que uma taxa de amostragem digital, isso é corrigível. Um caminho de corrente de duas ramificações pode ser arranjado, com condutância de alta frequência (um capacitor) que contorna o sensor de corrente e uma condutância de baixa frequência paralela (indutor e elemento sensor de corrente).

Se você espera uma corrente pequena de longa duração (que derrote a granularidade da amostragem digital), isso também pode ser corrigido. Adicione uma pequena fonte de ruído DC mais branco ao sinal de corrente DC, e uma quantidade de corrente de bit fracionário causará (estatisticamente) um acúmulo digital correto durante longos períodos de tempo. ADC com pontilhado fig. 5a Porém, a parte CC do sinal adicionado deve ser calibrada. Fontes de ruído pseudo-aleatórias são úteis para esse tipo de 'pontilhamento'.

A digitalização e a acumulação em um registro (como o Kill-a-watt) podem funcionar com componentes facilmente disponíveis, e alguns truques domam seu potencial de medição incorreta.


7

Rápido e sujo: SUPERCAPACITORES! (Pesquise também o ultracapacitor.) Eles ligarão seu sistema e exibirão a corrente integrada como uma queda de tensão com o tempo.

Que processador Vdd e / ou volts da bateria você estava pensando? Naturalmente, um capacitor integra corrente, é claro, e se você usar um supercapacitor de poucos farads em vez de uma fonte de bateria, poderá medir a tensão que cai ao longo do tempo e determinar com precisão os microamperes médios a longo prazo.

Se o seu projeto precisar de um Vdd constante, escolha um valor de supercap suficientemente grande para que a tensão diminua apenas XX por cento enquanto o teste estiver em execução. Dependendo da corrente média, você pode conseguir um capacitor de poucos dólares. Por exemplo, 4,7 farads a alguns volts é uma supercapitulação comum em catálogos excedentes. (O Sparkfun tem cerca de dez farad, e o tamanho máximo é o boostcaps de 3000 farad da Electronic Goldmine em 2,7V.) Empilhe-os em série para obter um limite de tensão mais alto.


3
As supercaps têm uma corrente de vazamento significativa, alterada com a tensão e a temperatura, que o OP terá que considerar.
Dmitry Grigoryev

2
@DmitryGrigoryev Good point. Execute o teste apenas com o capacitor vazio, calcule a corrente de vazamento e teste novamente com a placa da CPU conectada. Não se esqueça: rápido e sujo, não complicado e de alta precisão. Se ele precisa saber a resposta dentro de 1%, em seguida, ir para os integradores de ativos bem desenhados, etc.
wbeaty

Execute o teste várias vezes , algumas com e outras sem a placa da CPU conectada, em ordem aleatória; depois calcule a diferença média e seu intervalo de confiança. / estatístico
nekomatic

Em seguida, a metanálise de vários projetos de cpu amadores, para detectar se algum grupo estava criando viés ao descartar outliers.
wbeaty

4

Se você está esperando uma grande faixa dinâmica, uma opção pode estar usando um espelho de corrente fluído por um amplificador de impedância trans logarítmica como o LOG114 . Você pode obter mais de 6 décadas de alcance com um circuito bem ajustado. A integração pode ser ajustada com um capacitor após o espelho atual.

Essa é uma solução mais complexa e a resolução em alta corrente, quando a carga da bateria é significativamente alterada, é menor. A precisão versus a detecção proporcional e direta depende da fração do tempo que você gasta com baixa corrente.

Além disso, você pode simplesmente usar força bruta com a resolução ADC. 24 bits ou 32 bits poderia cobrir quatro décadas sem problemas.


3

Para suas medidas aproximadas (talvez +/- 10% ou 20%).

Basta colocar um resistor em série com a potência e paralelá-lo a um capacitor para produzir uma constante de tempo suficientemente grande para que sua taxa de amostragem não perca dados significativos. Por exemplo, se você estiver amostrando a 100Hz, poderá escolher uma constante de tempo de 0,2 segundo. Provavelmente será um capacitor eletrolítico e um tipo de baixa impedância é o melhor, e você pode paralelá-lo com cerâmica de 1uF-10uF se os pulsos forem mais curtos que cerca de 10us. O valor não é crítico, apenas precisa ser alto o suficiente. Escolha o resistor para que ele não caia muita tensão, a fim de afetar a operação, mas produz sinal suficiente para que você possa obter uma medida razoável.

Não há necessidade de analisar os tempos de subida e descida de amplificadores ou qualquer coisa desse tipo - o resistor e o capacitor farão o trabalho.

Lembre-se de que a operação que depende da bateria ser uma fonte de baixa impedância para seus pulsos "pontudos" falhará antes que a bateria esteja realmente esgotada - paralelamente à bateria com um capacitor pode (às vezes) prolongar significativamente a vida útil - a resistência interna da bateria aumenta à medida que se esgota.


Além disso, lembre-se de que, se os seus horários de funcionamento são curtos e a corrente de espera é baixa, será uma boa ideia medir a corrente sem o seu circuito conectado, apenas para zerar o vazamento da tampa eletrolítica - eu ' calculamos aproximadamente projetos de MCU de controladores esporadicamente ativos e o vazamento pela tampa de cerâmica de 100 nF foi superior ao consumo médio de energia do MCU.
Marcus Müller

@ MarcusMüller Surpreendentemente, os de alto padrão estão em 500Ω/ F, cerca de 500M por 1uF (máximo, típico deve ser muito menor). Gostaria de saber se foi danificado. Ou talvez você tenha um excelente MCU (sono profundo ou algo assim!). Acho que, na prática, não me preocupo muito com menos de alguns uA, porque mesmo uma célula de botão tem muito mais autodescarga do que isso.
Spehro Pefhany

Sim, já faz alguns anos. Mas, talvez, tenha sido danificado (embora não tenha certeza de que tipo de dano aumentaria o vazamento de maneira tão significativa. Faz você se perguntar se eu tive um erro sistemático em algum lugar). O MCU era uma coisa de baixa potência e baixa escala que estava na velocidade do relógio mais baixa por algumas dezenas de µs antes de desligar completamente (excluindo RAM e uma fonte de interrupção), principalmente por segundos a minutos. Protótipo nunca acabado para "jóias" comunicativas por IR.
Marcus Müller

3

O que proponho é provavelmente um exagero ... Mas se você achar que as soluções padrão / baratas simplesmente não têm faixa dinâmica suficiente, ou se você faz esses tipos de medições regularmente, pode querer olhar para este dispositivo muito interessante: RocketLogger .

Foi desenvolvido e de código aberto pela ETH Zurich. Eles chamam de "Registrador de dados de sinais mistos de precisão para medições portáteis". É um registrador de corrente e tensão portátil com uma faixa de corrente dinâmica muito alta, baseada em um SBC Beaglebone.

  • 2 × canais de corrente com alta faixa dinâmica de 4 nA a ± 500 mA
  • Canais de tensão × × medindo de 13 uV até ± 5,5 V
  • etc ...

Isenção de responsabilidade: não estou associado aos criadores do dispositivo.


3

A contagem de Coulomb pode ser feita medindo a mudança na carga armazenada pela queda de tensão de uma carga conhecida Q = CV durante o intervalo medido de pelo menos 1 ciclo repetitivo.

Em primeiro lugar, a vida da bateria deve ser definida em termos de um mínimo em unidades de watt-segundos ou Joules, para que a energia total da vida útil da carga necessária possa ser selecionada.

Em segundo lugar, o método de contagem de Coulomb deve ser suficientemente preciso por algum método de teste em intervalos curtos, como 1 hora ou mais, se isso puder gerar ciclos repetidos médios de sono e atividade pulsada, para que a eficiência do software seja otimizada em termos de energia.

o vida útil da bateria pode ou pode ser, por exemplo; 1 ano primário ou 1 dia secundário entre cobranças, mas deve ser especificado.

Em terceiro lugar , poderíamos usar uma tampa de baixo vazamento para contar Coulombs mais rapidamente? Como em 1 hora?
Se o dreno deveria ser de 20mA por hora e cair apenas 0,1V, que valor C é necessário? C = Ic * dt / dV = 20mA * 3600s / 0,1V = 700 Farads

Se possível, escolha uma peça com essa faixa de capacitância, como uma bateria CR123A de 3V, verifique o método de contagem de coulomb e a tensão do monitor.

Como alternativa, sinta a corrente e use o conteúdo atual para contar com precisão Coulombs separadamente do design.


3

A parte de uma hora da sua pergunta torna isso um pouco difícil - mas talvez você realmente não precise dela se o seu dispositivo estiver fazendo algo cíclico (como a maioria das coisas incorporadas).

Então vamos exagerar apenas para mostrar o que você poderia comprar. O Keysight CX3300 permitirá que você experimente formas de onda atuais com largura de banda analógica de até 200 MHz e 1 GSa / s. Combinado com 256 MSa de memória, você pode obter taxas de amostragem decentes mesmo em uma hora. É claro que o preço é um pouco alto a partir de US $ 33.000 e as sondas a partir de US $ 4.800.

Uma estrada um pouco mais barata que eu geralmente estou usando é o meu osciloscópio com uma sonda atual como a N2820A - isso custará US $ 4.200 e você não terá a largura de banda analógica (até 3 MHz), mas acho que realmente utilizável. Isso fornecerá um canal com medição de baixa corrente e um com medição de alta corrente; portanto, a análise precisa de um pouco de cálculo manual.

Tenho certeza de que existem ofertas semelhantes de fabricantes diferentes para algo como os produtos Keysight acima mencionados.

Como meu osciloscópio não vem com uma quantidade enorme de memória, o que eu costumo fazer é medir um ciclo da atividade e calcular a partir daí - nossos dispositivos não têm ciclos longos, o que funciona muito bem.

Se eu precisar fazer uma medição de longo prazo com o cálculo automático de Wh, utilizarei minha confiável Gossen Metrahit Energy , que faz um ótimo trabalho mesmo com correntes baixas. Mas o registro de dados não é adequado para correntes altamente variáveis, pois a taxa de amostragem não é tão boa.

Por favor, não entenda esta resposta como eu me gabando de alguns equipamentos caros; é um indicador de que existem equipamentos de teste profissionais por aí que podem lidar com os requisitos - já que a maioria das outras respostas se concentra em fazê-lo por conta própria (o que pode causar problemas se você não está apenas realizando testes felizes por conta própria).

Não sou afiliado à Keysight ou à Gossen de forma alguma, sou apenas um usuário feliz de seus produtos.


2

Pegue a excelente resposta do @ marcusmuller e alimente a saída em um integrador. zere a tampa antes de começar e meça o mAh ou uAh acumulado como uma tensão CC.

Pode ser necessário experimentar a seleção do capacitor do integrador; alguns projetos de capacitores são ruins para absorver ou têm resistência interna, o que os impede de zerar corretamente.


2

Eu poderia colocar um multímetro em série, mas mesmo se ele tiver registro de dados, isso ocorre em algum intervalo e eu teria que interpolar e poderia perder inteiramente variações menores que o intervalo.

Portanto, você pode colocar um filtro passa-baixo em sua cadeia de medidas para registrar o valor médio em uma frequência razoavelmente baixa:

esquemático

simular este circuito - esquemático criado usando o CircuitLab


2

Para durações mais curtas (segundos), você pode usar um dispositivo como o μCurrent conectado a um osciloscópio.

Se o seu pico de corrente for relativamente sem importância (por exemplo, porque é muito curto ou dominado por um valor mais ou menos fixo e conhecido como o pico de corrente do seu microcontrolador), você pode usar um resistor de derivação com um diodo em paralelo para limitar a queda de tensão. Com uma derivação de 100Ω e um diodo SI em paralelo, você pode medir até ~ 7mA e obter precisão nas dezenas de μA.


É muito melhor que segundos. A largura de banda analógica é de 8 kHz para a μCurrent original e 300 kHz para μCurrent GOLD (a do Kickstarter). Eu medi transientes de corrente de 1 ms para um Raspberry Pi usando essa configuração.
Peter Mortensen

1
@ PeterMortensen: eu quis dizer a duração total que você pode medir para estimar o tempo de execução da bateria (ou seja, a energia média ao longo do tempo). Se o dispositivo do OP executa coisas como, por exemplo, medições periódicas em intervalos de 0,5 s, seria suficiente medir por alguns segundos. Se o dispositivo do OP executar tarefas mais complexas por mais tempo, ele / ela precisará de uma abordagem diferente.
Michael Michael

0

Acho que sua ideia de usar uma bateria pode ser a melhor abordagem, mas não sei por que você diz que é difícil ou cara? Tenho certeza de que existem medidores A-Hr que você pode comprar, mas eles podem não medir com precisão os curtos intervalos de corrente nos quais você está interessado. Outra abordagem seria uma sonda de corrente conectada a um osciloscópio. Essa provavelmente seria a maneira mais precisa de caracterizar a corrente em termos de amplitude e tempo, mas não daria A-Hrs a menos que sua forma de onda atual seja periódica.


Digamos que eu queira ver o impacto do código mais recente na vida da bateria em um dispositivo projetado para funcionar por ~ 2 meses em uma única bateria. Eu preciso sentar lá e deixar a bateria descarregar por um bom tempo. :) ( "Caro" é para alguma definição se células primárias estão em uso.)
David

Uma opção seria usar uma bateria muito menor. Desde que a hora da bateria seja conhecida, você poderá dimensionar os resultados para qualquer tamanho de bateria.
EE_socal

As baterias não são equipamentos de medição calibrados. Tudo o que você sabe sobre uma bateria de 1Ah é que há pelo menos 1Ah nela.
Dmitry Grigoryev

A bateria pode ser calibrada colocando uma carga conhecida nela e ver quanto tempo leva para descarregar. Concordo que não é o método mais preciso, mas talvez seja bom o suficiente.
EE_socal

@EE_socal Em um projeto de hobby, com certeza. No trabalho, prefiro comprar equipamentos de medição adequados do que pagar a um engenheiro por fazer algo tão fascinante quanto calibrar uma bateria. As baterias novas podem mudar suas características após alguns ciclos, portanto, calibrar uma não é tão rápida.
Dmitry Grigoryev

0

Eu tive que resolver esse problema há muito tempo com baterias de lítio. O dispositivo acordou por um período muito pequeno, uma vez por minuto. Eu poderia experimentar a voltagem na bateria. O problema com as baterias de lítio nessa situação é que elas têm um 'joelho' muito repentino no ciclo de descarga e, quando atingem esse ponto, você está com o tempo esgotado e o valor é pequeno.


0

Na verdade, peguei um analisador lógico / analógico (Saleae Logic 8) e o liguei a um µCurrent Gold e medi toda a plotagem de corrente e a tensão da bateria, desde totalmente carregada até a descarregada. Você pode simplesmente executar um script python que se conecta à interface de desenvolvimento para pesquisar e armazenar valores. Isso cria uma tonelada de dados e muitas vezes não pode ser facilmente manipulado no Excel, mas você pode pelo menos abrir um pedaço de tempo para ver qual era a corrente instantânea naquele momento específico.

Aqui está uma captura de tela de alguma validação de duração da bateria que eu estava fazendo, semelhante à que você está procurando:

Captura atual usando Saleae Logic 8

O sinal amarelo é a corrente (V traduz para A). Você pode ver a resposta da bateria (neste caso, a bateria está acima dos 5V máximos do Logic 8). Em seguida, o mais importante é que você vê os trilhos de energia sendo ligados e desligados para as medições (na verdade, eu estava enviando dados via CAT -M para nossos servidores em nuvem). Para o seu caso, você provavelmente não veria tanta coisa empolgante devido ao fato de seu ciclo de trabalho ser muito menor (eu estava fazendo alguns testes acelerados da bateria aqui, por isso é tão frequente)

Se você quiser ver como era minha configuração, escrevi recentemente um artigo sobre como fazer medições com o equipamento que produzi a captura acima.

Provavelmente, você pode fazer algo semelhante com um osciliscópio controlado por GPIB ou um registrador de dados de marca diferente. Só fiquei feliz em usar o que tinha em mãos.

Para capturas estendidas, você também pode verificar a referência de programação Saleae para seus analisadores lógicos. Também criei uma essência do código que usei para criar essa captura também aqui.


0

Todas essas respostas e apenas @wbeaty mencionaram a óbvia. Um dispositivo que integra corrente com o tempo? E quanto a I = C dV / dt?

Se o consumo atual for baixo o suficiente, alguns capacitores podem ser mais que suficientes, mas seria necessário um super capacitor para correntes mais altas. Ajuste dos capacitores para obter uma queda razoável em um período de tempo razoável. Um circuito como o abaixo faria o truque.

schematic

simular este circuito - esquemático criado usando o CircuitLab

O divisor capacitivo existe para evitar a remoção de corrente do nó. Ele pode ser pré-carregado no fornecimento do uC através do pino periférico para estabelecer a condição inicial e depois medido periodicamente para ler a taxa de descarga. Um problema com este circuito é que a tensão de saída muda, o que pode significar uma carga variável.

Para evitar esse problema, e para um circuito multifuncional ajustável com componentes de tamanho razoável, um multiplicador de capacitância ativo poderia ser usado, como o esquema conceitual abaixo. Alguma calibração com cargas conhecidas e você tem um medidor de consumo personalizado.

schematic

simule este circuito

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.