¿Cuál es un buen valor de resistencia para el divisor de voltaje para medir el voltaje de LiPo con Arduino?

(Divulgación completa: soy un novato).

Estoy tratando de medir los voltajes de las celdas de mi 4S lipo usando un Arduino Mega. Sé que debería usar un divisor de voltaje (en realidad, varios de ellos) y creo que entiendo cómo funciona. También sé que la diferencia de voltaje en relación con GND aumentaría hasta 4,2 V para cada celda, y en la cuarta celda, puede ser superior a 16 V, por lo que debería dividirla de manera segura hasta un máximo de 5 V. Sin embargo, estoy confundido con los valores de resistencia que debo usar para los divisores. ¿No significaría un valor de resistencia bajo acortar efectivamente la lipo? ¿Un valor de resistencia demasiado alto causaría lecturas incorrectas? En este contexto, ¿qué es un valor de resistencia "bajo" y qué es un valor de resistencia "alto"? ¿O todas las resistencias ya están muy por encima de ese límite y puedo usarlas de manera segura? Tengo todo tipo de resistencias desde 47R hasta 1M, pero no

Hágalo lo suficientemente pequeño para que no se vea influenciado por la impedancia de entrada de los dispositivos de medición, hágalo lo suficientemente grande para que no consuma demasiada corriente.
@PlasmaHH, ¿cómo determino eso? por ejemplo, ¿1K está bien o 470K está bien?
Obviamente, eso depende de la impedancia de entrada y de su juicio de "demasiada corriente" y "no estar demasiado influenciado", de lo cual no tenemos idea.
@PlasmaHH bueno, la batería volará un quadcopter (y alimentará el arduino y algunos componentes electrónicos, pero todos son insignificantes en comparación con el consumo actual de los ESC). dividirán 16,8 voltios al máximo, y debería consumir la menor cantidad de corriente posible para medir con una precisión de ~ 0,1 V.
Sin consultar la hoja de datos, si no le importa tener que desconectarlo cuando no esté en uso, es decir, en el lado de carga del interruptor de encendido/apagado o en el enchufe, entonces un rango total de 10k-20k será muy seguro. Si la escala completa es, por ejemplo, 20 V, entonces desea un divisor 4: 1 a 5 V, por lo que 3R: R, por lo tanto, diga 15k Bat a ARduino y 4k y Arduino a tierra. Podría usar un potenciómetro para parte de eso O ajustar en software o recortar con resistencias paralelas. || Lo más probable es que pueda ir a 50k o incluso a 100k y no ser demasiado impreciso, pero cuanto más bajo, mejor. Arduino uP tendrá una especificación ADC Rinmax en alguna parte. A 20 V y 10 =bits = 1024:1 se divide...
... obtenga aproximadamente 20 mV por bit, por lo que la precisión de aproximadamente 0.1V permite más de 1 bits de error. El error es causado tanto por Verror = Rin x (Ibias + Ioffset) MÁS por problemas de constante de tiempo donde la entrada c toma tiempo para cargarse y si R es demasiado grande, el límite no se cargará lo suficiente para el siguiente tiempo de muestra de ADC.
Gran explicación de @RussellMcMahon, exactamente lo que necesitaba. ¿Podría publicar esto como una respuesta para que pueda aceptar?
@RussellMcMahon y, por último, ¿qué pasa si no puedo desconectarlo?
Ibat ~= Vbat/Rdiv. Suponga que dice 16V y 20k =~~ 0.8 mA. Eso consume alrededor de 20 mAh/día o 140 mAh/semana. Dependiendo del tamaño de la batería y el tiempo y la profundidad de descarga en uso, eso importará o no. 20 mAh generalmente serán soportables, 140 generalmente no. El método estándar usa las resistencias más altas que funcionan y luego usa el interruptor lateral ALTO para desconectar. Este DEBE ser un transistor pnp fet o pnp desconectando la conexión Vin +. Al desconectar la parte inferior, se detiene el flujo a tierra, PERO el ping ascendente se eleva a ~= Vbat+, generalmente fatal...
... También puede usar un búfer opamp que puede tolerar un Rin muy alto. En decir 1M, el drenaje generalmente no importa durante los períodos de tiempo habituales. || (Ya pasó la hora de acostarse en Nueva Zelanda. 4:15 a. m. y tengo que levantarme a las 8:15, así que... TTFN).

Respuestas (1)

¿No significaría un valor de resistencia bajo acortar efectivamente la lipo? ¿Un valor de resistencia demasiado alto causaría lecturas incorrectas?

Tiene toda la razón, algunas personas usan un divisor de potencial de bajo valor (para obtener una precisión decente), pero desconectan este divisor de potencial del LiPo cuando no requieren una medición. En efecto, la medición del ciclo de trabajo bajo aumenta drásticamente la resistencia efectiva del divisor de potencial.

Puede desconectar el divisor de potencial con un MOSFET de canal P y un BJT; el BJT se activa desde una línea de E/S de repuesto. No estoy diciendo que esto se adapte a su aplicación, por supuesto.

Gracias, creo que sería una exageración, pero tengo la idea. No tengo un MOSFET, pero tengo muchos transistores NPN simples, creo que también puedo usarlos para obtener el mismo efecto. Por último, si no lo hago y sigo recto, ¿cuál sería un buen valor de resistencia?
Debe verificar la hoja de datos del Arduino, específicamente la entrada ADC: puede tener un búfer de alta impedancia que le permite tener valores de resistencia de alrededor de 100k O puede especificar algo como la impedancia de fuente máxima para lograr una cierta precisión. Las corrientes de polarización de los pines de entrada del ADC también son muy relevantes para esto.
Bien, lo investigaré, gracias por la explicación detallada.