Usando un Mosfet para controlar la corriente a través de una red resistiva

4

Estoy tratando de medir el nivel de voltaje de una batería con un microcontrolador y un poco de circuitos (ya que el nivel de voltaje estará por encima de 5 V). Se puede construir un circuito simple como este para medir el voltaje de la batería con las capacidades ADC de una MCU:

simular este circuito : esquema creado usando CircuitLab

Sin embargo, quiero que la batería sea cargada por este circuito externo solo cuando se están realizando mediciones. Los circuitos en el esquema anterior continuarán cargarán la batería con un flujo de corriente de fuga del diodo Zener (que está presente para garantizar que el nivel de voltaje nunca exceda los 5 V para medir de manera segura con el ADC de la MCU).

Entonces, pensé en usar un mosfet de mejora como un interruptor. La especificación de diseño sería tal que no exista carga en la batería a menos que el mosfet esté encendido. La única forma en que pude implementar con éxito un mosfet fue después de R2 ... pero eso realmente derrotó el propósito. De esta manera, sin flujo de corriente (mosfet apagado), V1 aparece a través del zener y el dispositivo conducirá significativamente la corriente si es > 5V (en este caso lo es). De modo que el diseño es en realidad peor que no usar un mosfet en absoluto. Sin el diodo Zener en su lugar, no hay protección contra la colocación de un alto voltaje (superior a 5 V) en los terminales de la MCU.

simular este circuito

Luego traté de colocar el mosfet antes de R1, pero experimenté una caída de voltaje significativa en el dispositivo que no pude explicar (no soy tan fluido con estos dispositivos).

Podría reemplazar el zener con un regulador integrado, pero tienen corrientes de carga también y el voltaje será inferior a 5 V en los momentos que causan una salida no lineal (en comparación con el zener que no alterar los voltajes bajo su ruptura).

¿Alguna idea?

    
pregunta sherrellbc

2 respuestas

5

Algo como esto debería funcionar para usted, al menos a menos de 7V de voltaje de la batería.

El zener que sugieres no es muy bueno, causará bastante error si el voltaje está cerca del valor nominal de 15. Una mejor manera podría ser un pequeño diodo schottky para el riel de + 5V, SI puede garantizar que hay más carga en el riel de 5V que la que puede fluir a través de R1. O simplemente divídalo a (digamos) 3 V y vive con la pérdida de un poco de resolución.

simular este circuito : esquema creado usando CircuitLab

Otra solución es utilizar un conmutador analógico con cambio de nivel, como DG447 / 448 Entonces solo necesitas el divisor, no hay cambio de nivel.

Andy, quien publicó su solución muy similar a la mía, siente que el divisor en la compuerta MOSFET no es necesario (el divisor se calcula para permitir que la línea de 15 V aumente a unos 30 V en lugar de a 20 V antes de violar la calificación máxima de abs. en la puerta MOSFET. No sabiendo de dónde viene el 15V (y temiendo que sea algo parecido a un sistema eléctrico automotriz con transitorios de 100V) podría usar el divisor y poner un Zener de 12 V a través del R3 en real vida. Las partes son casi gratis, e incluso una sola falla puede ser muy costosa. Hay un costo (no hay almuerzo gratis) - otra parte es no bastante gratis, y no funcionará tan bajo un nivel en el riel de 15 V. Tenga en cuenta que nada de esto se ha especificado explícitamente.

Menciono esto para darle una idea de cómo dos diseñadores pueden tomar la misma información e interpretarla de manera diferente para obtener dos respuestas competentes diferentes. (Por cierto, en realidad, la compuerta probablemente resistirá unos 60 V antes de perecer, pero podría fallar a 20.01 V).

La resistencia de la fuente vista en el microcontrolador es R1 || R2 = \ $ R1 \ cdot R2 \ sobre R1 + R2 \ $. Si su micro puede tolerar 2.5K o incluso 10K, al igual que muchos PIC, puede aumentar la resistencia de la red divisora. Con una relación de 4: 1 (dividiendo hasta 3V), podría usar 12.5K & 3.125K (2.5K) o 50K + 12.5K (10K). Eso carga menos el divisor y significa que obtendrá menos error de la resistencia del interruptor.

Para obtener una carga realmente baja, puede usar un circuito como el anterior (o más abajo) y seguirlo con un amplificador operacional seguidor de voltaje de riel a riel. Eso podría permitirle aumentar el divisor a cientos de K ohms o meg ohms (e incluso podría significar que podría perder el interruptor por completo).

    
respondido por el Spehro Pefhany
3

Lo que debes considerar es un mosfet de canal P en la parte superior y un transistor bipolar que lo enciende: -

Esteesuncircuitoantiguoperopara"batería", lea "fuente de alimentación de 15V". Elija un MOSFET de canal P con un bajo Vgs (umbral) para que aún se encienda hasta 5V. Asegúrese de que la tensión de su compuerta pueda manejar más de 15 voltios (bastantes están clasificados para un máximo de +/- 20V). Compruebe también la corriente de fuga especificada en la hoja de datos. El pull-up de 10k se puede aumentar a 100k si es necesario.

También elegiría valores de resistencia que alimenten el ADC, lo que siempre significó que el voltaje en el ADC no estaba por encima del riel de alimentación de la MCU. .

Una cosa más a tener en cuenta es la resistencia que afecta la precisión del divisor potencial. Aquí hay una característica P FET común que muestra la corriente de drenaje en el eje X y en la resistencia en el eje Y: -

En el extremo inferior de la tensión de alimentación de la batería (quizás 5 V), la resistencia de encendido puede ser de aproximadamente 7 a 10 ohmios y esto introduciría un error de aproximadamente el 1% en su lectura. Aconsejaría encontrar un FET que tuviera una resistencia de 1 ohm sub-1 para la mejor precisión. Esta también es una buena razón por la que debes elegir un FET con un bajo \ $ V_ {GS (umbral)} \ $

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas