La mayoría de los microcontroladores con ADC tienen una referencia de intervalo de banda interna con un voltaje de ~ 1V (consulte la hoja de datos para obtener valores y tolerancias más precisos; por ejemplo, STM32F415xx series tiene una referencia de banda prohibida de 1.21V). Esto aumenta efectivamente su resolución a 1253 pasos a escala completa al oprimir un interruptor de software.
Si quieres hacerlo aún mejor, tienes algunas opciones:
- Use un amplificador operacional para amplificar la salida de su sensor actual
- Utilice un ADC externo de mayor resolución
- Use una referencia externa de voltaje más bajo (por ejemplo, algo como this ). Tenga en cuenta que un simple divisor de voltaje directamente en el pin vref casi nunca es una buena idea.
En ninguno de estos casos, necesita cambiar el suministro de voltaje a su microcontrolador.
Como nota al margen, no entiendo su aversión a usar una resistencia de derivación. Para corrientes moderadamente bajas (pocos amperios) es la forma más precisa de medir corrientes.
Por ejemplo, el chip ACS712 que has enumerado tiene una precisión del 1%. Eso significa que obtienes una precisión de 6.64 bits (~ 100 pasos). Es muy fácil obtener resistencias en derivación con una precisión del 0.5%, lo que da una precisión de 7.64 bits (~ 200 pasos). El uso de una derivación precisa de 0.1% le da 9.97 bits de precisión (~ 1000 pasos).
Si utiliza una resistencia de derivación muy pequeña con un amplificador de instrumentación, la tensión de carga será despreciable.
Por ejemplo, supongamos que tiene un amplificador con una ganancia de 100x (muy factible). Una resistencia de derivación adecuada para obtener 0-1.21V
de escala completa necesita una resistencia de derivación de 6.05mOhms
, y tendrá una tensión de carga de 12.1mV
. Para todos los propósitos intensivos esto es despreciable. Puede reducir esto aún más utilizando un circuito de 1000x en amplificador (también muy factible).