Así que "construí" un sensor de voltaje para un Arduino usando dos resistencias. La configuración actual es la que se muestra en el cismático y los pines Arduino solo son tolerantes a 5 V.
La precisión del sensor es correcta cuando hay poco consumo de corriente en la batería. Pero cuando la batería está alimentando motores, la tensión tiende a saltar mucho. Lo primero que haré con esta configuración es aumentar el valor de R2 de 100K a 330K. Esto disminuirá el voltaje máximo de 55V a 20V, pero de todos modos nunca debería estar presionando más de 20V. Eso aumentará la resolución a la que puedo medir la batería, pero creo que para obtener datos muy precisos, debo agregar condensadores de suavizado en algún lugar del circuito para asegurarme de que el voltaje no "salte" tanto. ¿Algún pensamiento?
EDITAR:
Entonces, después de escuchar algunas recomendaciones en este post, decidí hacer algunas pruebas. Decidí cambiar la resistencia de 1M y 100K con 10K y 1K respectivamente. Luego utilicé una batería lipo de 2 celdas completamente cargada y ejecuté 4 motores continuamente durante unos 25 minutos hasta que la batería se agotó. Los datos se registraron en Serial Mointor y se graficaron en Excel. No arranqué los motores hasta que pasaron 20 segundos para la grabación. Aquí están mis conclusiones.
Comosepuedeverenlosgráficos,losdatosdelosdosprimerosestánportodaspartes.La"estabilidad" de la señal que se está grabando no parece depender de la impedancia de esa señal (al menos para el Atmega32u4). Un promedio de 20 muestras a la vez mostró datos utilizables que parecen consistentes con otras curvas de descarga de la batería lipo.
La estabilidad de los siguientes gráficos podría mejorarse reduciendo la proporción de R1 y R2, y sospecho que agregar un límite de filtrado en R2 también aumentaría la precisión de la medición.