Con lo que estoy trabajando: estoy ejecutando mi placa Arduino hecha por mí mismo (en el sentido de que uso el cargador de arranque Arduino y el editor de código) a 3.3V, y alimentado por una batería de iones de litio, que se carga por USB mediante un Microchip correspondiente. IC del cargador.
Lo que estoy tratando de lograr: quiero medir la capacidad de la batería una vez cada minuto más o menos. Tengo una pantalla LCD adjunta, por lo que la idea es que la configuración general me permita saber cómo está funcionando la batería en un momento dado. La hoja de datos de la batería tiene una curva de voltaje versus nivel de descarga y, por lo tanto, al medir el voltaje de la batería, puedo estimar la capacidad restante (muy aproximada, ¡pero suficiente para mí!).
Lo que hice:
(EDITAR: valores de resistencia actualizados y interruptor P-MOSFET agregado según las sugerencias de @stevenvh y @Jonny).
Conecté un divisor de voltaje de la batería V_plus, con la "porción" más grande yendo a un pin de lectura analógica (es decir, ADC) en el chip Arduino/Atmega.
El divisor es de 33 KOhm a 10 KOhm, lo que permite medir hasta un máximo de 4,1 voltios de la batería de iones de litio de mi microcontrolador de nivel de 3,3 V.
Además, al usar uno de los pines de E/S conectados a un MOSFET de canal n, puedo cambiar la corriente a través del divisor solo cuando necesito la medición.
Aquí hay un esquema aproximado (actualizado por segunda vez según las sugerencias de @stevenvh y @Nick):
Mi pregunta:
¿Cómo es mi configuración actual?
Mis únicas limitaciones son: (1) Me gustaría hacer una medición aproximada de la capacidad de la batería en función de la lectura de voltaje, como se describe anteriormente. (2) Me gustaría evitar que el divisor de voltaje interfiera con la lectura de la presencia de la batería del IC de carga (en mi configuración original, el divisor a veces causaba que el IC leyera mal la presencia incluso cuando la batería estaba ausente).
Esto parece ser muy similar al esquema de Nick, probablemente estaba ocupado dibujándolo cuando lo publicó :-).
Primero, por qué no puede usar el N-FET en el lado alto: necesita un voltaje de compuerta unos pocos voltios más alto que la fuente, y los 4.2 V es todo lo que tiene, nada más alto, por lo que no funcionará.
Tengo un valor más alto para el pull-up, aunque también servirá un valor de 100 kΩ. 10 kΩ causarán una corriente adicional innecesaria de 400 µA cuando esté midiendo. No es el fin del mundo, pero es 1 resistencia en ambos casos, entonces, ¿por qué no usar un valor más alto?
Para los MOSFET, hay una variedad de piezas para elegir dado que los requisitos no son tan estrictos; puede considerar los económicos como, por ejemplo, Si2303 para el canal P y BSS138 para el canal N.
@Inga. Esto es más un comentario que una respuesta. Pero me gustaría publicar una imagen, así que la publico como respuesta.
Su microcontrolador (uC) se alimenta con +3.3V. El drenaje del P-MOSFET propuesto puede ser tan alto como +4.1V. Tal como está dibujado actualmente, una señal lógica de +3,3 V no podrá apagar completamente el P-MOSFET. Q6 en el siguiente esquema forma una salida de drenaje abierto, que es tolerante a +4.1V.
C14 reduce la impedancia, que verá su A/D.
voltaje de la batería (por lo tanto, capacidad restante)
Es posible que encuentre que detectar el voltaje de la batería no es una forma precisa de detectar la capacidad restante. En equipos portátiles (teléfonos celulares, computadoras portátiles), la capacidad de la batería se estima midiendo la corriente que entra y sale de la batería. Hay docenas de circuitos integrados de indicador de combustible de batería especializados ( bq27200 , por ejemplo), que ayudan con esta tarea.
¿Por qué no un solo MOSFET de canal N en el lado inferior y el divisor de dos resistencias en el lado superior?
[de un comentario a continuación]
Un interruptor de lado bajo tiene problemas cuando el voltaje de la batería (V bat ) es mayor que el voltaje de suministro del microcontrolador (V cc ). Cuando el interruptor del lado bajo está apagado, el extremo de tierra del divisor de voltaje flota, el divisor ya no divide, el voltaje completo de la batería aparece en el pin ADC del microcontrolador. Esto puede dañar el uC. También creará una ruta de fuga a través de la cual se descargaría la batería.
Se requiere un interruptor de lado alto cuando V bat > V cc .
1 Usaré V cc para abreviar, pero esta discusión también se aplica a V dd , AV cc , AV dd . En caso de duda, busque en una hoja de datos, por supuesto.
Ad.A: Creo que es justo usar un divisor de voltaje simple para detectar el voltaje de la batería. Aunque, debes elegir cuidadosamente la resistencia. La impedancia interna de sus entradas ADC es de 100 kΩ, según la hoja de datos de ATmega328 . Consulte la "Figura 23-8. Circuito de entrada analógica". Si su divisor tiene una impedancia comparable a la entrada de ADC, el circuito de entrada de ADC básicamente se comportará como otro nodo en el divisor. Podría darle compensaciones en las lecturas de ADC.
El uso de un divisor con hasta 10 kΩ en los rieles sería lo suficientemente bajo como para ignorar la impedancia de entrada del ADC, mientras que usaría solo 410 µA. Si eso es demasiado para su aplicación, por supuesto puede elegir resistencias más grandes, pero tenga en cuenta que el ADC está ahí y está conectado a Vcc/2.
stevenvh
mordedura de tablas
stevenvh
mordedura de tablas
stevenvh
mordedura de tablas
stevenvh
mordedura de tablas
mordedura de tablas