¿Cómo mido un voltaje negativo con un ADC?

47

Estoy trabajando con un microcontrolador PIC con un ADC de 10 bits incorporado y quiero medir un voltaje en el rango de -1 a -3 voltios.
Pensé en usar un amplificador operacional en el modo de inversión para hacer que el voltaje fuera positivo y luego alimentarlo al controlador del microcontrolador. Sin embargo, aquí tendría que alimentar el opamp con una fuente de alimentación negativa, ¿no? No quiero usar una fuente de alimentación negativa en este momento y me preguntaba si era posible lograr esta configuración. ¿Puedes ayudar?

    
pregunta Kevin Boyd

7 respuestas

39

Un amplificador de inversión no necesita un riel negativo para invertir el voltaje.

Intente pensar en sus rieles de alimentación como lo que suministra su salida. Si observa el circuito, todos los pines del amplificador operacional están conectados a una tensión de 0 V o más. Cuando llegue su rango de -1 a -3, aparecerá exactamente el opuesto de 1 a 3 en la salida. Esto también le brinda algunas ventajas como búfer, ya que la impedancia de entrada de su pin no afectará mucho a este circuito (siempre que R in || R f sea grande ).

Estoy de acuerdo en que un simple divisor de resistencia hace el trabajo, solo te hago saber que esto también funciona.

    
respondido por el Kortuk
15

Podría usar un divisor de voltaje, con un extremo colgando del riel de suministro positivo. Digamos que tienes uno con resistencias iguales y una fuente de alimentación de 5V, esto resultará en un voltaje entre + 2V y + 1V para tu rango de -1 a -3V.

+5V +
    |
    R
    |
    +-- OUT
    |
    R
    |
IN -+
    
respondido por el Wim
7

La idea del divisor de voltaje es agradable, barata, pero le da el problema de un cambio en el voltaje que se medirá y se verá como la mitad del cambio en la entrada ADC. Si las mediciones precisas son de interés, la solución es un diodo Zener como la mitad inferior del divisor. Si lo que se mide puede tolerar perder un poco de corriente, esto funcionará muy bien. Los zeners no son absolutamente planos en su voltaje de ruptura inversa, especialmente para corrientes muy pequeñas, así que no hagas que R1 sea demasiado grande.

Ahora, para ver si este sitio de stackexchange me permite agregar imágenes ...

    
respondido por el DarenW
4

Este es el circuito estándar para ese tipo de conversión. Lo simulé para demostrarle a alguien que funcionó, de ahí el esquema SPICE. Debe elegir los valores de resistencia apropiados, funciona siempre que sean 2R, 2R y R.

    
respondido por el Leon Heller
3

Estoy en el trabajo (no electrónico) en este momento, sin manuales electrónicos o libros, por lo que esto será solo una idea aproximada. Quizás alguien más pueda completar los detalles ...

Pruebe un espejo actual utilizando un par de transistores PNP que cuelgan del riel Vcc. Alimente la señal de voltaje negativo al lado de entrada del espejo a través de una resistencia apropiada. La misma corriente debe fluir a través del transistor de salida del espejo. Con una resistencia bien elegida usted crea un rango de voltaje dentro de 0V a Vcc.

EDITAR - NUEVO: Aquí está el esquema del espejo actual. Cualquiera que sea la corriente que pase a través del transistor T1, T2 intentará hacer el mismo flujo de corriente. El voltaje negativo que se va a medir, en relación con la fuente de alimentación que elegí al azar para ser 15v, crea cierto goteo de corriente a través de R1 (medido en simulación como "corriente de entrada"). Si R2 fuera igual a R1, encontraría el mismo voltaje a través de él, si se lo permitiera. Pero se conecta a 0V (gnd): nuestro circuito se basa únicamente en un suministro positivo. No funcionará a menos que hagamos R2 más pequeño, digamos 1/2 de R1, entonces el voltaje a través de él será 1/2 de lo que sea a través de R1. Mídelo, haz matemáticas (whoo, multiplica por 2, ¡duro!) Y ahí estás. El esquema tiene diferentes valores, una relación diferente ,perocreoquetodospodemosmanejarlasmatemáticasparaesto.

Laventajadeestosobreunsimpledivisordevoltajeesque1)parecemáscomplicado,2)esuntrucocomúneneldiseñodeICanalógico.YaqueescribíotrarespuestausandoundiodoZener,noestoysegurodeporquéestoesmejor,peroesunaalternativaaundivisordevoltajeypuedepermitirllegaradiferentesrangosdevoltajesoalgoasí.Ahoradejoqueotroscomentensobrelasabiduríaolatonteríadeestaidea...

    
respondido por el DarenW
0

Es posible que ni siquiera necesites un amplificador operacional. Algunos ADC (como el MCP3304, consulte la hoja de datos: enlace tienen un modo diferencial incorporado, donde El ADC devuelve la diferencia de dos canales, que puede ser un número negativo. Si vincula un canal a tierra (llamado modo pseudo-diferencial), el ADC puede aceptar un voltaje de entrada negativo en el otro y lo convierte en un número negativo. todo sin necesidad de una tensión negativa.

Por supuesto, esto solo se aplica si su ADC admite este tipo de cosas. Muchos no tienen modo diferencial en absoluto.

    
respondido por el dpdt
-2

Creo que ya hay muy buenas respuestas, pero me gusta publicar otro enfoque, que me estoy usando para hacer básicamente lo mismo.

¿Podría usar un amplificador operacional de instrumentación (como un LT1167)? Sin embargo, necesitarías el carril negativo, pero ¿esto no daría más precisión? y también mejores formas de amplificar el voltaje si se desea, simplemente agregando una resistencia.

agregar el carril negativo es tan fácil como agregar algo como un minmax MCW03-05D05.

El problema que tengo con el uso de resistencias es que es muy difícil encontrar resistencias idénticas, lo que te daría un error que deberías corregir.

    
respondido por el Nisse

Lea otras preguntas en las etiquetas

Comentarios Recientes

He usado la aplicación accel_test para eso, y he usado pi como referencia al medir voltajes. ¡Use el cálculo de Pi-K para voltajes de CA! (Linux no le permitirá hacer eso) Edite este documento, instale ApcuGraph, instale algunas partes y ejecute install.sh Una vez instalado, instale en Linux, intente usar la aplicación accel_test, ya que se proporciona con un chip ADC Pi-K y Esta es la referencia. Entonces, puede dibujar, no hay problema. ¿Cómo borro la lógica de las funciones ADC no esenciales? Edita este documento.... Lees verder