Cómo usar un ADC con una entrada de voltaje de referencia inferior a cero

4

Necesito convertir, linealmente, un voltaje en el rango de aproximadamente 1v a 2v en el rango de 0 a 1v para la entrada a un ADC.

Este es el trasfondo: juego con la electrónica y la programación como un hobby para darme proyectos interesantes y desafiantes, pero en este caso estoy perplejo.

He construido una fuente de alimentación para darme de 0 a 1 amperio, aprox., y quiero agregarle un amperímetro. Usaré una placa de ruptura del sensor de baja corriente Sparkfun ACS712 que puedo ajustar para proporcionar un rango de salida de voltaje de 1.000 a 2.024 voltios sobre el rango de entrada de 0 a 1024 mA, de modo que un ADC de 10 bits con estos como su referencia inferior y superior Los voltajes me darán una buena salida de 1 mV por mA por bit. Estaré contento con un 1% de precisión.

Tengo la intención, si puedo, de usar un Microchip PIC12F675 para hacer esta conversión, pero solo permite el ajuste del valor de referencia superior. Para mostrar la lectura actual, usaré un enlace I2C a una pantalla serial de 7 segmentos Sparkfun COM-11442.

Entonces, mi pregunta es: por favor, ¿cómo convierto el rango de voltaje de 1.000 a 2.024 en 0.000 a 1.024 para adaptarse al ADC?

Como alternativa, ¿hay un PIC pequeño diferente que pueda usar, que tenga un ADC con un Vref inferior variable a un ADC de 10 bits, y también un módulo serial I2C? He buscado en el sitio web de Microchip, pero la aguja, si está allí, está en un pajar de datos desconcertantemente impenetrable.

Quiero usar un PIC porque puedo programarlos fácilmente en Assembler, que es un proceso que veo en algún lugar entre el disfrute y el amor, y tengo el software y el hardware para hacerlo.

Esta es una pregunta específica, por favor, no sugiera otras formas en las que pueda probar la corriente, puedo hacerlo yo mismo. Gracias.

    
pregunta Harry Weston

1 respuesta

5

Dijiste que solo te importa un 1% de precisión, que es menos de 7 bits del rango completo. Por lo tanto, puede utilizar el voltaje 1.000-2.024 directamente. Incluso si tiene un A / D de 10 bits con un rango completo de 0-3.3 V, todavía obtiene aproximadamente 320 conteos, lo que es más de 3 veces su requerimiento. No hay necesidad de cambiar o escalar nada.

Si usa un divisor para crear Vref + en lugar de usar el suministro de 3.3 V internamente, obtendrá una resolución aún mayor. Si puede reducirlo a 2.1 V, por ejemplo, para dejar un pequeño margen, entonces obtiene 500 cuentas sobre su rango. Eso es mucha más resolución que precisión a menos que use una referencia de precisión por separado. Tenga en cuenta que un divisor hecho de resistencias del 1% causará un error significativamente mayor que un A / D de 10 bits utilizando la referencia. Para obtener un 1% de precisión, el uso de una referencia externa fija es probablemente la forma más sencilla. Una referencia de 2.048 V es casi perfecta aquí.

Algunos PIC tienen una entrada Vref opcional, pero atarlo a otra cosa que no sea tierra disminuirá la precisión. Básicamente, estarías intercambiando precisión para obtener más resolución, lo cual no tiene sentido cuando ya tienes mucha resolución y la precisión está al límite.

Su deseo de obtener los recuentos de A / D en bruto para representar un valor "redondo" arbitrario es tonto. No cargue a su sistema de medición con la necesidad de cumplir con esta especificación arbitraria. Haga el mejor trabajo de tomar la medida, luego el resto es una simple conversión en el firmware. Tiene un procesador digital que puede aplicar fácilmente una escala y compensar instantáneamente en el tiempo humano. La conversión a decimal probablemente tomará más ciclos, aunque eso también será instantáneo en el tiempo humano.

Básicamente, piense en lo que realmente desea obtener, proritice sus requisitos en consecuencia y no especifique los detalles de implementación (como lo que debe representar un recuento A / D). Su prioridad principal debe ser la precisión, dadas sus especificaciones, ya que todo lo demás se cae con un A / D de 10 bits.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas