PIC: ¿cómo eludir la impedancia de entrada ADC máxima baja?

Leer una batería de 9V en un PIC no es nada nuevo . La forma más simple y directa es con un divisor de voltaje. Me gustaría mantener las resistencias del divisor en cientos de kohms para no agotar mi batería innecesariamente, sin embargo, miré la hoja de datos para el PIC18F4550 y la impedancia de entrada analógica máxima "recomendada" es 2.5kohms. Esto significa que puedo colocar 2 5K para mi divisor, pero 900uA es mucho desperdicio solo para verificar la batería. ¿Qué puedo hacer con mi diseño (pasivamente) para minimizar el agotamiento de la batería? He considerado soluciones activas como un pfet controlado por software o un búfer, pero el espacio de la placa y el presupuesto son un lujo, así que solo lo haré si es necesario. También me pregunto si estoy preocupado por nada.

Acabo de encontrar esta publicación durante mi búsqueda en Google. Solo por decir que ha respondido a mi pregunta y me ha brindado mucha ayuda !!! Mi intento de leer ADC con mi PIC18 se bloqueó porque el valor leído por la MCU siempre varía ... ¡Puse el RC sugerido por Alex y todo el problema desapareció! Muchas gracias ! PD: Disculpe mi inglés, soy francés.

Respuestas (3)

La razón por la que el ADC necesita una impedancia de fuente baja es porque tiene una entrada de capacitor conmutada. Básicamente, cada vez que el ADC 'muestrea' el voltaje en el pin, se conecta un pequeño capacitor, se carga y luego se desconecta. Si la impedancia es demasiado grande, cargar el capacitor consumirá suficiente corriente para crear una caída de voltaje lo suficientemente grande como para afectar la lectura.

Si necesita leer una señal de alta velocidad, la mejor opción es agregar un amplificador de algún tipo para proporcionar una baja impedancia de fuente al ADC. Sin embargo, si está buscando una señal relativamente lenta, hay un par de otras opciones.

Una solución a esto es aumentar el tiempo de muestra: el tiempo que el capacitor está conectado al pin. Sin embargo, el chip generalmente tiene un límite sobre cuánto puede durar este tiempo.

Alternativamente, puede agregar un condensador de tamaño decente en paralelo con el pin de entrada ADC. Esto disminuirá la cantidad de caída que ocurre cuando el capacitor de muestreo del ADC se carga, ya que la mayor parte de su carga se extraerá del capacitor en lugar de a través de la resistencia.

El condensador es el camino a seguir. ADC especifica una fuente de impedancia , no de resistencia. Convierta su tiempo de muestreo en una frecuencia y use un límite con una impedancia mucho más baja en esa frecuencia.

Hay alrededor de 4 formas de conectar un divisor de voltaje a un A/D y lidiar con el requisito de impedancia de entrada máxima.

  1. Use una resistencia lo suficientemente pequeña. Esto es lo que ya está haciendo el OP.
  2. Coloque un búfer OpAmp entre el divisor y la entrada A/D. OpAmp debe tener una impedancia de entrada alta y una impedancia de salida baja. [Como ya lo mencionó Alex.]
  3. Use una resistencia más grande y agregue un capacitor desde la entrada analógica a tierra. [Como ya lo mencionó Alex.] El condensador debe ser más grande que el de muestra y retención. Inadvertidamente estará haciendo un filtro RC, pero esto aún funciona si la señal es lenta. Una combinación de 10kΩ y 0.1μF funcionó bien para mí.
  4. [por último, pero no menos importante] Apague el divisor de voltaje con un interruptor MOSFET y use resistencias relativamente pequeñas. De esta manera, puede eliminar la fuga casi por completo cuando no está midiendo. Esta es una técnica común para la medición de baterías.

Reemplace R1 y R2 con los valores que necesita. El esquema se publicó originalmente en este hilo .

¿Por qué no simplemente conectar el divisor de voltaje a un pin en el PIC? Conduzca el pin bajo para probar, configure High-Z para desconectar.
@Bitrex Suponga que hace un interruptor de lado bajo con un pin de salida digital como está describiendo. Se aplica +9V a la parte superior del divisor de voltaje. Cuando el pin del interruptor del lado bajo está bajo, todo está bien. Cuando lo configura en Z alto, aparecerá +9V en el pin A/D y también en el pin del interruptor. Los pines PIC no están clasificados para +9V.
Vaya, por alguna razón me perdí el requisito de "9V".
Una idea que podría funcionar con el esquema anterior que ahorra un MOSFET es conducir el PNP en la imagen de arriba directamente desde el mismo pin al que está conectado el divisor de resistencia; lleve a 0 para medir y a Vss para apagar. Con la selección adecuada de resistencias pullup/pulldown para el pfet, esto funcionará siempre que el voltaje de la batería de 9 voltios no baje lo suficiente como para polarizar hacia adelante el diodo del cuerpo del fet.

La idea de Bitrex funcionaría si el pin digital PIC se configurara como "drenaje abierto" y luego se sujetara a 2,7 V con un zener para protegerlo de los 9 V.

Para encenderlo y apagarlo, inicialice el pin escribiendo una lógica baja (y déjelo allí), luego encienda y apague el pin escribiendo en el pestillo TRIS, lo que hará que el pin sea ya sea una lógica baja o alta z respectivamente.

El pin cambiará de 0 a 2,7 V, lo que debería ser suficiente para impulsar un MOSFET de umbral de puerta bajo.