Com o que estou trabalhando: estou executando minha placa Arduino de fabricação própria (no sentido de usar o carregador de inicialização Arduino e o editor de código) a 3,3V e alimentada por uma bateria de íon de lítio, carregada por USB por um Microchip correspondente carregador IC.
O que estou tentando alcançar: quero medir a capacidade da bateria uma vez a cada minuto. Eu tenho um LCD conectado, então a idéia é que a configuração geral me informe como está a bateria em um determinado momento. A folha de dados da bateria possui uma curva de voltagem versus nível de descarga e, medindo a voltagem da bateria, posso estimar a capacidade restante (aproximadamente, mas o suficiente para mim!).
O que eu fiz:
(EDIT: valores do resistor atualizados e a chave P-MOSFET adicionada com base nas sugestões de @stevenvh e @ Jonny).
Conectei um divisor de tensão da bateria V_plus, com a "porção" maior indo para um pino de leitura analógica (ou seja, ADC) no chip Arduino / Atmega.
O divisor é de 33 KOhm a 10 KOhm, permitindo assim a medição de até 4,1 Volts no máximo da bateria de íon de lítio do meu microcontrolador de nível de 3,3V.
Além disso, usando um dos pinos de E / S conectados a um MOSFET de canal n, eu posso alternar a corrente através do divisor somente quando precisar da medição.
Aqui está um esquema aproximado (atualizado pela segunda vez com base nas sugestões de @stevenvh e @Nick):
Minha pergunta:
Como está minha configuração atual?
Minhas únicas restrições são: (1) gostaria de fazer uma medição aproximada da capacidade da bateria com base na leitura de tensão, conforme descrito acima. (2) Gostaria de impedir que o divisor de tensão interfira na leitura da presença de bateria do meu IC de carregamento (em minha configuração original, o divisor às vezes fazia com que o IC interpretasse mal a presença, mesmo quando a bateria estava ausente).
Respostas:
Isso parece ser muito parecido com o esquema de Nick, provavelmente estava ocupado desenhando quando ele postou :-).
Primeiro, por que você não pode usar o N-FET no lado alto: ele precisa de uma tensão de porta alguns volts mais alta que a fonte, e os 4,2 V são tudo o que você tem, nada mais alto, para que não funcione.
Eu tenho um valor mais alto para o pull-up, embora um valor de 100 kΩ também funcione. 10 kΩ causará uma corrente extra desnecessária de 400 µA quando você estiver medindo. Não é o fim do mundo, mas é um resistor em ambos os casos, então por que não usar um valor mais alto?
Para os MOSFETs, há uma variedade de peças para escolher, pois os requisitos não são tão rigorosos; você pode considerar os de baixo custo, como, por exemplo, Si2303 para o canal P e BSS138 para o canal N.
fonte
@Inga. Isso é mais um comentário do que uma resposta. Mas eu gostaria de postar uma foto, então estou postando como resposta.
Seu microcontrolador (uC) é alimentado com + 3.3V. O dreno do P-MOSFET proposto pode ser tão alto quanto + 4,1V. Como está desenhado atualmente, um sinal lógico de + 3.3V não poderá desligar completamente o P-MOSFET. Q6 no esquema abaixo forma uma saída de dreno aberto, que é tolerante a + 4.1V.
C14 diminui a impedância que o seu A / D verá.
Você pode achar que detectar a tensão da bateria não é uma maneira precisa de detectar a capacidade restante. Em equipamentos portáteis (telefones celulares, laptops), a capacidade da bateria é estimada medindo-se a corrente que entra e sai da bateria. Existem dezenas de ICs especializados para medidores de combustível de bateria ( bq27200 , por exemplo), que ajudam nessa tarefa.
Um interruptor do lado inferior apresenta problemas quando a tensão da bateria (V bat ) é maior que a tensão de alimentação do microcontrolador (V cc ). Quando o interruptor lateral baixo está desligado, a extremidade do terra do divisor de tensão flutua, o divisor não se divide mais, a tensão total da bateria aparece no pino ADC do microcontrolador. Isso pode danificar o uC. Também criará um caminho de vazamento através do qual a bateria descarregaria.
É necessário um interruptor do lado alto quando V bat > V cc .
1 Vou usar V cc para abreviar, mas essa discussão se aplica a V dd , AV cc , AV dd também. Em caso de dúvida, procure em uma folha de dados, é claro.
fonte
Ad.A: Eu acho justo usar um divisor de tensão simples para detectar a tensão da bateria. Embora, você deve escolher cuidadosamente a resistência. A impedância interna de suas entradas ADC é de 100kΩ, de acordo com a folha de dados do ATmega328 . Veja "Figura 23-8. Circuito de Entrada Analógica". Se o seu divisor tiver uma impedância comparável à entrada ADC, o circuito de entrada do ADC se comportará basicamente como outro nó no divisor. Pode fornecer compensações nas leituras do ADC.
O uso de um divisor de até 10kΩ através dos trilhos seria baixo o suficiente para ignorar a impedância de entrada do ADC, enquanto o uso de apenas 410µA seria suficiente. Se isso é demais para sua aplicação, é claro que você pode escolher resistências maiores, mas lembre-se de que o ADC está lá e está conectado ao Vcc / 2.
fonte